diff --git a/.tool-versions b/.tool-versions index 5c185ad3..5df0ec7c 100644 --- a/.tool-versions +++ b/.tool-versions @@ -2,7 +2,7 @@ # https://github.com/berty/weshnet/blame/main/.tool-versions #----- -# This is simply the most recent version available to date of the lowest +# This is simply the most recent version available to date of the lowest # major version of Go which is allowed by kubo. # There is no contraindication for updating it. #----- diff --git a/api/protocol/errcode/errcode.proto b/api/protocol/errcode/errcode.proto index 08dd43cf..4d6b6254 100644 --- a/api/protocol/errcode/errcode.proto +++ b/api/protocol/errcode/errcode.proto @@ -157,20 +157,6 @@ enum ErrCode { ErrServicesDirectoryInvalidVerifiedCredential = 4205; ErrServicesDirectoryExpiredVerifiedCredential = 4206; ErrServicesDirectoryInvalidVerifiedCredentialID = 4207; - - // Services Push - - ErrPush = 6000; - ErrPushWrongAccount = 6001; - ErrPushUnableToDecrypt = 6002; - ErrPushInvalidPayload = 6003; - ErrPushInvalidServerConfig = 6004; - ErrPushMissingBundleID = 6005; - ErrPushUnknownDestination = 6006; - ErrPushProvider = 6007; - ErrPushUnknownProvider = 6008; - ErrNoProvidersConfigured = 6009; - ErrInvalidPrivateKey = 6010; } message ErrDetails { repeated ErrCode codes = 1; } diff --git a/api/protocol/protocoltypes.proto b/api/protocol/protocoltypes.proto index 4da5d717..21f88dc4 100644 --- a/api/protocol/protocoltypes.proto +++ b/api/protocol/protocoltypes.proto @@ -3,7 +3,6 @@ syntax = "proto3"; package weshnet.protocol.v1; import "gogoproto/gogo.proto"; -import "pushtypes/pushtypes.proto"; option go_package = "berty.tech/weshnet/pkg/protocoltypes"; @@ -242,15 +241,6 @@ enum EventType { // EventTypeGroupReplicating indicates that the group has been registered for replication on a server EventTypeGroupReplicating = 403; - // EventTypePushMemberTokenUpdate - EventTypePushMemberTokenUpdate = 404; - - // EventTypePushDeviceTokenRegistered - EventTypePushDeviceTokenRegistered = 405; - - // EventTypePushDeviceServerRegistered - EventTypePushDeviceServerRegistered = 406; - // EventTypeAccountVerifiedCredentialRegistered EventTypeAccountVerifiedCredentialRegistered = 500; @@ -691,8 +681,6 @@ message ServiceGetConfiguration { SettingState wifi_p2p_enabled = 7; // MultiPeerConnectivity for Darwin and Nearby for Android SettingState mdns_enabled = 8; SettingState relay_enabled = 9; - PushServiceReceiver device_push_token = 10; - PushServer device_push_server = 11; } } @@ -1380,11 +1368,6 @@ message Progress { uint64 delay = 6; } -message MemberWithDevices { - bytes member_pk = 1 [(gogoproto.customname) = "MemberPK"]; - repeated bytes devices_pks = 2 [(gogoproto.customname) = "DevicePKs"]; -} - message OutOfStoreMessage { bytes cid = 1 [(gogoproto.customname) = "CID"]; bytes device_pk = 2 [(gogoproto.customname) = "DevicePK"]; @@ -1395,63 +1378,10 @@ message OutOfStoreMessage { bytes nonce = 7; } -message PushServiceReceiver { - // token_type is the type of the token used, it allows us to act as a proxy to the appropriate push server - push.v1.PushServiceTokenType token_type = 1; - - // bundle_id is the app identifier - string bundle_id = 2 [(gogoproto.customname) = "BundleID"]; - - // token is the device identifier used - bytes token = 3; - - // recipient_public_key is the public key which will be used to encrypt the payload - bytes recipient_public_key = 4; -} - -message PushServer { - bytes server_key = 1; - string service_addr = 2; -} - -message PushDeviceTokenRegistered { - PushServiceReceiver token = 1; - - // device_pk is the public key of the device sending the message - bytes device_pk = 2 [(gogoproto.customname) = "DevicePK"]; -} - -message PushDeviceServerRegistered { - PushServer server = 1; - - // device_pk is the public key of the device sending the message - bytes device_pk = 2 [(gogoproto.customname) = "DevicePK"]; -} - -message AccountVerifiedCredentialRegistered { - // device_pk is the public key of the device sending the message - bytes device_pk = 1 [(gogoproto.customname) = "DevicePK"]; - - bytes signed_identity_public_key = 2; - - string verified_credential = 3; - - int64 registration_date = 4; - - int64 expiration_date = 5; - - string identifier = 6; - - string issuer = 7; -} - -message PushMemberTokenUpdate { - PushServer server = 1; - - bytes token = 2; - - // device_pk is the public key of the device sending the message - bytes device_pk = 3 [(gogoproto.customname) = "DevicePK"]; +message OutOfStoreMessageEnvelope { + bytes nonce = 1; + bytes box = 2; + bytes group_reference = 3; } message OutOfStoreReceive { @@ -1476,6 +1406,23 @@ message OutOfStoreSeal { } } +message AccountVerifiedCredentialRegistered { + // device_pk is the public key of the device sending the message + bytes device_pk = 1 [(gogoproto.customname) = "DevicePK"]; + + bytes signed_identity_public_key = 2; + + string verified_credential = 3; + + int64 registration_date = 4; + + int64 expiration_date = 5; + + string identifier = 6; + + string issuer = 7; +} + message FirstLastCounters { uint64 first = 1; uint64 last = 2; diff --git a/api/protocol/pushtypes/pushtypes.proto b/api/protocol/pushtypes/pushtypes.proto deleted file mode 100644 index 3d5e8285..00000000 --- a/api/protocol/pushtypes/pushtypes.proto +++ /dev/null @@ -1,135 +0,0 @@ -syntax = "proto3"; - -package weshnet.push.v1; - -import "gogoproto/gogo.proto"; - -option go_package = "berty.tech/weshnet/pkg/pushtypes"; - -option (gogoproto.marshaler_all) = true; -option (gogoproto.unmarshaler_all) = true; -option (gogoproto.sizer_all) = true; - -// PushService -service PushService { - // ServerInfo retrieves metadata about the current push service - rpc ServerInfo (PushServiceServerInfo.Request) returns (PushServiceServerInfo.Reply); - - // Send dispatch a push payload to one or multiple recipients - rpc Send(PushServiceSend.Request) returns (PushServiceSend.Reply); -} - -message PushServiceServerInfo { - message Request {} - - message Reply { - // public_key the public key used to encrypt data to the server (ie. a PushServiceReceiver), - // to be used with NaCl's Seal and Open - bytes public_key = 1; - - // supported_token_types list of token types supported by the server - repeated PushServiceSupportedTokenType supported_token_types = 2; - } -} - -message PushServiceSupportedTokenType { - string app_bundle_id = 1 [(gogoproto.customname) = "AppBundleID"]; - PushServiceTokenType token_type = 2; -} - -enum PushServiceTokenType { - PushTokenUndefined = 0; - - // PushTokenMQTT: Platform independent - PushTokenMQTT = 1; - - // PushTokenApplePushNotificationService: iOS, iPadOS, tvOS, macOS - PushTokenApplePushNotificationService = 2; - - // PushTokenFirebaseCloudMessaging: Android with GMS, Chrome OS - PushTokenFirebaseCloudMessaging = 3; - - // PushTokenWindowsPushNotificationService: Windows, XBox - PushTokenWindowsPushNotificationService = 4; - - // PushTokenHuaweiPushKit: Huawei Android devices with AppGallery - PushTokenHuaweiPushKit = 5; - - // PushTokenAmazonDeviceMessaging: Fire OS devices - PushTokenAmazonDeviceMessaging = 6; -} - -message PushServiceSend { - message Request { - OutOfStoreMessageEnvelope envelope = 1; - - PushServicePriority priority = 2; - - repeated PushServiceOpaqueReceiver receivers = 3; - } - - message Reply {} -} - -message OutOfStoreMessageEnvelope { - bytes nonce = 1; - bytes box = 2; - bytes group_reference = 4 [(gogoproto.customname) = "GroupReference"]; -} - -message OutOfStoreExposedData { - bytes nonce = 1; - bytes box = 2; -} - - -enum PushServicePriority { - PushPriorityUndefined = 0; - PushPriorityLow = 1; - PushPriorityNormal = 2; -} - -message PushServiceOpaqueReceiver { - bytes opaque_token = 1; - string service_addr = 2; -} - - -message DecryptedPush { - enum PushType { - Unknown = 0; - Message = 1; - reserved 2; // Reaction = 2; - reserved 3, 4, 5, 6; // Media, Photo, Gif, VoiceMessage - GroupInvitation = 7; - ConversationNameChanged = 8; - MemberNameChanged = 9; - reserved 10; // MemberPictureChanged - MemberDetailsChanged = 11; - } - - string account_id = 1 [(gogoproto.customname) = "AccountID"]; - string account_name = 2; - string conversation_public_key = 3; - string conversation_display_name = 4; - string member_public_key = 5; - string member_display_name = 6; - PushType push_type = 7; - string payload_attrs_json = 8 [(gogoproto.customname) = "PayloadAttrsJSON"]; - string deep_link = 9; - bool already_received = 10; - bool account_muted = 11; - bool conversation_muted = 12; - bool hide_preview = 13; -} - -message FormatedPush { - DecryptedPush.PushType push_type = 1; - string title = 2; - string subtitle = 3; - string body = 4; - string deep_link = 5; - bool muted = 6; - bool hide_preview = 7; - string conversation_identifier = 8; -} diff --git a/api_app.go b/api_app.go index 00bf504c..9dc3ec07 100644 --- a/api_app.go +++ b/api_app.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "fmt" + "github.com/ipfs/go-cid" "go.uber.org/zap" "berty.tech/weshnet/pkg/errcode" @@ -48,6 +49,48 @@ func (s *service) AppMessageSend(ctx context.Context, req *protocoltypes.AppMess return &protocoltypes.AppMessageSend_Reply{CID: op.GetEntry().GetHash().Bytes()}, nil } +// OutOfStoreReceive parses a payload received outside a synchronized store +func (s *service) OutOfStoreReceive(ctx context.Context, request *protocoltypes.OutOfStoreReceive_Request) (*protocoltypes.OutOfStoreReceive_Reply, error) { + outOfStoreMessage, group, clearPayload, alreadyDecrypted, err := s.secretStore.OpenOutOfStoreMessage(ctx, request.Payload) + if err != nil { + return nil, errcode.ErrCryptoDecrypt.Wrap(err) + } + + return &protocoltypes.OutOfStoreReceive_Reply{ + Message: outOfStoreMessage, + Cleartext: clearPayload, + GroupPublicKey: group.PublicKey, + AlreadyReceived: alreadyDecrypted, + }, nil +} + +// OutOfStoreSeal creates a payload of a message present in store to be sent outside a synchronized store +func (s *service) OutOfStoreSeal(ctx context.Context, request *protocoltypes.OutOfStoreSeal_Request) (*protocoltypes.OutOfStoreSeal_Reply, error) { + gc, err := s.GetContextGroupForID(request.GroupPublicKey) + if err != nil { + return nil, err + } + + _, c, err := cid.CidFromBytes(request.CID) + if err != nil { + return nil, errcode.ErrInvalidInput.Wrap(err) + } + + sealedMessageEnvelope, err := gc.messageStore.GetOutOfStoreMessageEnvelope(ctx, c) + if err != nil { + return nil, errcode.ErrInternal.Wrap(err) + } + + sealedMessageEnvelopeBytes, err := sealedMessageEnvelope.Marshal() + if err != nil { + return nil, errcode.ErrSerialization.Wrap(err) + } + + return &protocoltypes.OutOfStoreSeal_Reply{ + Encrypted: sealedMessageEnvelopeBytes, + }, nil +} + func tyberLogGroupContext(ctx context.Context, logger *zap.Logger, gc *GroupContext) { memberPK, err := gc.MemberPubKey().Raw() if err != nil { diff --git a/api_client.go b/api_client.go index 8a475d0a..48d93ecd 100644 --- a/api_client.go +++ b/api_client.go @@ -88,12 +88,10 @@ func (s *service) ServiceGetConfiguration(ctx context.Context, req *protocoltype } return &protocoltypes.ServiceGetConfiguration_Reply{ - AccountPK: member, - DevicePK: device, - AccountGroupPK: accountGroup.Group().PublicKey, - PeerID: key.ID().Pretty(), - Listeners: listeners, - DevicePushToken: accountGroup.metadataStore.getCurrentDevicePushToken(), - DevicePushServer: accountGroup.metadataStore.getCurrentDevicePushServer(), + AccountPK: member, + DevicePK: device, + AccountGroupPK: accountGroup.Group().PublicKey, + PeerID: key.ID().Pretty(), + Listeners: listeners, }, nil } diff --git a/api_event.go b/api_event.go index 558766c0..a98466eb 100644 --- a/api_event.go +++ b/api_event.go @@ -87,6 +87,8 @@ func (s *service) GroupMetadataList(req *protocoltypes.GroupMetadataList_Request previousEvents <- protocoltypes.GroupMetadataEvent{EventContext: nil} } + cg.logger.Debug("GroupMetadataList: previous events stream ended") + return } @@ -172,6 +174,8 @@ func (s *service) GroupMessageList(req *protocoltypes.GroupMessageList_Request, previousEvents <- protocoltypes.GroupMessageEvent{EventContext: nil} } + cg.logger.Debug("GroupMessageList: previous events stream ended") + return } diff --git a/api_push.go b/api_push.go deleted file mode 100644 index 83919fde..00000000 --- a/api_push.go +++ /dev/null @@ -1,122 +0,0 @@ -package weshnet - -import ( - "context" - "crypto/tls" - "time" - - "github.com/ipfs/go-cid" - "go.uber.org/zap" - "google.golang.org/grpc" - "google.golang.org/grpc/backoff" - "google.golang.org/grpc/credentials" - "google.golang.org/grpc/credentials/insecure" - - "berty.tech/weshnet/pkg/errcode" - "berty.tech/weshnet/pkg/logutil" - "berty.tech/weshnet/pkg/protocoltypes" - "berty.tech/weshnet/pkg/pushtypes" -) - -func (s *service) getPushClient(host string) (pushtypes.PushServiceClient, error) { - s.muPushClients.Lock() - defer s.muPushClients.Unlock() - - if cc, ok := s.pushClients[host]; ok { - return pushtypes.NewPushServiceClient(cc), nil - } - - var creds grpc.DialOption - if s.grpcInsecure { - creds = grpc.WithTransportCredentials(insecure.NewCredentials()) - } else { - tlsconfig := credentials.NewTLS(&tls.Config{ - MinVersion: tls.VersionTLS12, - }) - creds = grpc.WithTransportCredentials(tlsconfig) - } - - // retry policies - connectParams := grpc.WithConnectParams(grpc.ConnectParams{ - Backoff: backoff.Config{ - BaseDelay: 1.0 * time.Second, - Multiplier: 1.5, - Jitter: 0.2, - MaxDelay: 60 * time.Second, - }, - MinConnectTimeout: time.Second * 10, - }) - - cc, err := grpc.DialContext(s.ctx, host, creds, connectParams) - if err != nil { - return nil, err - } - s.pushClients[host] = cc - - // monitor push client state - go monitorPushServer(s.ctx, cc, s.logger) - - return pushtypes.NewPushServiceClient(cc), err -} - -func (s *service) OutOfStoreReceive(ctx context.Context, request *protocoltypes.OutOfStoreReceive_Request) (*protocoltypes.OutOfStoreReceive_Reply, error) { - outOfStoreMessage, group, clearPayload, alreadyDecrypted, err := s.secretStore.OpenOutOfStoreMessage(ctx, request.Payload) - if err != nil { - return nil, errcode.ErrCryptoDecrypt.Wrap(err) - } - - return &protocoltypes.OutOfStoreReceive_Reply{ - Message: outOfStoreMessage, - Cleartext: clearPayload, - GroupPublicKey: group.PublicKey, - AlreadyReceived: alreadyDecrypted, - }, nil -} - -func (s *service) OutOfStoreSeal(ctx context.Context, request *protocoltypes.OutOfStoreSeal_Request) (*protocoltypes.OutOfStoreSeal_Reply, error) { - gc, err := s.GetContextGroupForID(request.GroupPublicKey) - if err != nil { - return nil, err - } - - _, c, err := cid.CidFromBytes(request.CID) - if err != nil { - return nil, errcode.ErrInvalidInput.Wrap(err) - } - - sealedMessageEnvelope, err := gc.messageStore.GetOutOfStoreMessageEnvelope(ctx, c) - if err != nil { - return nil, errcode.ErrInternal.Wrap(err) - } - - sealedMessageEnvelopeBytes, err := sealedMessageEnvelope.Marshal() - if err != nil { - return nil, errcode.ErrSerialization.Wrap(err) - } - - return &protocoltypes.OutOfStoreSeal_Reply{ - Encrypted: sealedMessageEnvelopeBytes, - }, nil -} - -func (s *service) GetCurrentDevicePushConfig() (*protocoltypes.PushServiceReceiver, *protocoltypes.PushServer) { - accountGroup := s.getAccountGroup() - if accountGroup == nil { - return nil, nil - } - - currentToken := accountGroup.metadataStore.getCurrentDevicePushToken() - currentServer := accountGroup.metadataStore.getCurrentDevicePushServer() - - return currentToken, currentServer -} - -func monitorPushServer(ctx context.Context, cc *grpc.ClientConn, logger *zap.Logger) { - currentState := cc.GetState() - for cc.WaitForStateChange(ctx, currentState) { - currentState = cc.GetState() - logger.Debug("push grpc client state updated", - logutil.PrivateString("target", cc.Target()), - logutil.PrivateString("state", currentState.String())) - } -} diff --git a/api_services_auth.go b/api_services_auth.go index 0ce0afcb..630748c7 100644 --- a/api_services_auth.go +++ b/api_services_auth.go @@ -17,7 +17,6 @@ import ( "berty.tech/weshnet/pkg/errcode" "berty.tech/weshnet/pkg/logutil" "berty.tech/weshnet/pkg/protocoltypes" - "berty.tech/weshnet/pkg/pushtypes" ) func (s *service) authInitURL(baseURL string, services ...string) (string, error) { @@ -169,21 +168,21 @@ func (s *service) AuthServiceCompleteFlow(ctx context.Context, request *protocol continue } - s.logger.Debug("registering push server", logutil.PrivateString("endpoint", service.GetServiceEndpoint())) - client, err := s.getPushClient(service.ServiceEndpoint) - if err != nil { - s.logger.Warn("unable to connect to push server", logutil.PrivateString("endpoint", service.ServiceEndpoint), zap.Error(err)) - continue - } + // s.logger.Debug("registering push server", logutil.PrivateString("endpoint", service.GetServiceEndpoint())) + // client, err := s.getPushClient(service.ServiceEndpoint) + // if err != nil { + // s.logger.Warn("unable to connect to push server", logutil.PrivateString("endpoint", service.ServiceEndpoint), zap.Error(err)) + // continue + // } - repl, err := client.ServerInfo(ctx, &pushtypes.PushServiceServerInfo_Request{}) + // repl, err := client.ServerInfo(ctx, &pushtypes.PushServiceServerInfo_Request{}) - s.logger.Debug("server info", zap.Int("supported push services ", len(repl.GetSupportedTokenTypes()))) + // s.logger.Debug("server info", zap.Int("supported push services ", len(repl.GetSupportedTokenTypes()))) - if err != nil { - s.logger.Warn("unable to get server info from push server", logutil.PrivateString("endpoint", service.ServiceEndpoint), zap.Error(err)) - continue - } + // if err != nil { + // s.logger.Warn("unable to get server info from push server", logutil.PrivateString("endpoint", service.ServiceEndpoint), zap.Error(err)) + // continue + // } // _, err = s.PushSetServer(ctx, &protocoltypes.PushSetServer_Request{ // Server: &protocoltypes.PushServer{ diff --git a/docs/apis/protocoltypes.md b/docs/apis/protocoltypes.md index 264dd172..47c92556 100644 --- a/docs/apis/protocoltypes.md +++ b/docs/apis/protocoltypes.md @@ -121,7 +121,6 @@ - [GroupMetadataPayloadSent](#weshnet-protocol-v1-GroupMetadataPayloadSent) - [GroupRemoveAdditionalRendezvousSeed](#weshnet-protocol-v1-GroupRemoveAdditionalRendezvousSeed) - [GroupReplicating](#weshnet-protocol-v1-GroupReplicating) - - [MemberWithDevices](#weshnet-protocol-v1-MemberWithDevices) - [MessageEnvelope](#weshnet-protocol-v1-MessageEnvelope) - [MessageHeaders](#weshnet-protocol-v1-MessageHeaders) - [MessageHeaders.MetadataEntry](#weshnet-protocol-v1-MessageHeaders-MetadataEntry) @@ -149,6 +148,7 @@ - [OrbitDBMessageHeads](#weshnet-protocol-v1-OrbitDBMessageHeads) - [OrbitDBMessageHeads.Box](#weshnet-protocol-v1-OrbitDBMessageHeads-Box) - [OutOfStoreMessage](#weshnet-protocol-v1-OutOfStoreMessage) + - [OutOfStoreMessageEnvelope](#weshnet-protocol-v1-OutOfStoreMessageEnvelope) - [OutOfStoreReceive](#weshnet-protocol-v1-OutOfStoreReceive) - [OutOfStoreReceive.Reply](#weshnet-protocol-v1-OutOfStoreReceive-Reply) - [OutOfStoreReceive.Request](#weshnet-protocol-v1-OutOfStoreReceive-Request) @@ -163,11 +163,6 @@ - [PeerList.Stream](#weshnet-protocol-v1-PeerList-Stream) - [Progress](#weshnet-protocol-v1-Progress) - [ProtocolMetadata](#weshnet-protocol-v1-ProtocolMetadata) - - [PushDeviceServerRegistered](#weshnet-protocol-v1-PushDeviceServerRegistered) - - [PushDeviceTokenRegistered](#weshnet-protocol-v1-PushDeviceTokenRegistered) - - [PushMemberTokenUpdate](#weshnet-protocol-v1-PushMemberTokenUpdate) - - [PushServer](#weshnet-protocol-v1-PushServer) - - [PushServiceReceiver](#weshnet-protocol-v1-PushServiceReceiver) - [RefreshContactRequest](#weshnet-protocol-v1-RefreshContactRequest) - [RefreshContactRequest.Peer](#weshnet-protocol-v1-RefreshContactRequest-Peer) - [RefreshContactRequest.Reply](#weshnet-protocol-v1-RefreshContactRequest-Reply) @@ -1126,15 +1121,6 @@ GroupRemoveAdditionalRendezvousSeed indicates that a previously added rendezvous | authentication_url | [string](#string) | | authentication_url indicates which server has been used for authentication | | replication_server | [string](#string) | | replication_server indicates which server will be used for replication | - - -### MemberWithDevices - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| member_pk | [bytes](#bytes) | | | -| devices_pks | [bytes](#bytes) | repeated | | - ### MessageEnvelope @@ -1333,6 +1319,16 @@ OrbitDBMessageHeads is the payload sent on orbitdb to share peer's heads | encrypted_payload | [bytes](#bytes) | | | | nonce | [bytes](#bytes) | | | + + +### OutOfStoreMessageEnvelope + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| nonce | [bytes](#bytes) | | | +| box | [bytes](#bytes) | | | +| group_reference | [bytes](#bytes) | | | + ### OutOfStoreReceive @@ -1445,54 +1441,6 @@ Progress define a generic object that can be used to display a progress bar for ### ProtocolMetadata - - -### PushDeviceServerRegistered - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| server | [PushServer](#weshnet-protocol-v1-PushServer) | | | -| device_pk | [bytes](#bytes) | | device_pk is the public key of the device sending the message | - - - -### PushDeviceTokenRegistered - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| token | [PushServiceReceiver](#weshnet-protocol-v1-PushServiceReceiver) | | | -| device_pk | [bytes](#bytes) | | device_pk is the public key of the device sending the message | - - - -### PushMemberTokenUpdate - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| server | [PushServer](#weshnet-protocol-v1-PushServer) | | | -| token | [bytes](#bytes) | | | -| device_pk | [bytes](#bytes) | | device_pk is the public key of the device sending the message | - - - -### PushServer - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| server_key | [bytes](#bytes) | | | -| service_addr | [string](#string) | | | - - - -### PushServiceReceiver - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| token_type | [weshnet.push.v1.PushServiceTokenType](#weshnet-push-v1-PushServiceTokenType) | | token_type is the type of the token used, it allows us to act as a proxy to the appropriate push server | -| bundle_id | [string](#string) | | bundle_id is the app identifier | -| token | [bytes](#bytes) | | token is the device identifier used | -| recipient_public_key | [bytes](#bytes) | | recipient_public_key is the public key which will be used to encrypt the payload | - ### RefreshContactRequest @@ -1595,8 +1543,6 @@ Progress define a generic object that can be used to display a progress bar for | wifi_p2p_enabled | [ServiceGetConfiguration.SettingState](#weshnet-protocol-v1-ServiceGetConfiguration-SettingState) | | MultiPeerConnectivity for Darwin and Nearby for Android | | mdns_enabled | [ServiceGetConfiguration.SettingState](#weshnet-protocol-v1-ServiceGetConfiguration-SettingState) | | | | relay_enabled | [ServiceGetConfiguration.SettingState](#weshnet-protocol-v1-ServiceGetConfiguration-SettingState) | | | -| device_push_token | [PushServiceReceiver](#weshnet-protocol-v1-PushServiceReceiver) | | | -| device_push_server | [PushServer](#weshnet-protocol-v1-PushServer) | | | @@ -1837,9 +1783,6 @@ Progress define a generic object that can be used to display a progress bar for | EventTypeAccountServiceTokenAdded | 401 | EventTypeAccountServiceTokenAdded indicates that a new service provider has been registered for this account | | EventTypeAccountServiceTokenRemoved | 402 | EventTypeAccountServiceTokenRemoved indicates that a service provider is not available anymore | | EventTypeGroupReplicating | 403 | EventTypeGroupReplicating indicates that the group has been registered for replication on a server | -| EventTypePushMemberTokenUpdate | 404 | EventTypePushMemberTokenUpdate | -| EventTypePushDeviceTokenRegistered | 405 | EventTypePushDeviceTokenRegistered | -| EventTypePushDeviceServerRegistered | 406 | EventTypePushDeviceServerRegistered | | EventTypeAccountVerifiedCredentialRegistered | 500 | EventTypeAccountVerifiedCredentialRegistered | | EventTypeGroupMetadataPayloadSent | 1001 | EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key | diff --git a/docs/apis/protocoltypes.swagger.json b/docs/apis/protocoltypes.swagger.json index c1b74fd8..7a4b365e 100644 --- a/docs/apis/protocoltypes.swagger.json +++ b/docs/apis/protocoltypes.swagger.json @@ -566,14 +566,11 @@ "EventTypeAccountServiceTokenAdded", "EventTypeAccountServiceTokenRemoved", "EventTypeGroupReplicating", - "EventTypePushMemberTokenUpdate", - "EventTypePushDeviceTokenRegistered", - "EventTypePushDeviceServerRegistered", "EventTypeAccountVerifiedCredentialRegistered", "EventTypeGroupMetadataPayloadSent" ], "default": "EventTypeUndefined", - "title": "- EventTypeUndefined: EventTypeUndefined indicates that the value has not been set. Should not happen.\n - EventTypeGroupMemberDeviceAdded: EventTypeGroupMemberDeviceAdded indicates the payload includes that a member has added their device to the group\n - EventTypeGroupDeviceChainKeyAdded: EventTypeGroupDeviceChainKeyAdded indicates the payload includes that a member has sent their device chain key to another member\n - EventTypeAccountGroupJoined: EventTypeAccountGroupJoined indicates the payload includes that the account has joined a group\n - EventTypeAccountGroupLeft: EventTypeAccountGroupLeft indicates the payload includes that the account has left a group\n - EventTypeAccountContactRequestDisabled: EventTypeAccountContactRequestDisabled indicates the payload includes that the account has disabled incoming contact requests\n - EventTypeAccountContactRequestEnabled: EventTypeAccountContactRequestEnabled indicates the payload includes that the account has enabled incoming contact requests\n - EventTypeAccountContactRequestReferenceReset: EventTypeAccountContactRequestReferenceReset indicates the payload includes that the account has a new contact request rendezvous seed\n - EventTypeAccountContactRequestOutgoingEnqueued: EventTypeAccountContactRequestOutgoingEnqueued indicates the payload includes that the account will attempt to send a new contact request\n - EventTypeAccountContactRequestOutgoingSent: EventTypeAccountContactRequestOutgoingSent indicates the payload includes that the account has sent a contact request\n - EventTypeAccountContactRequestIncomingReceived: EventTypeAccountContactRequestIncomingReceived indicates the payload includes that the account has received a contact request\n - EventTypeAccountContactRequestIncomingDiscarded: EventTypeAccountContactRequestIncomingDiscarded indicates the payload includes that the account has ignored a contact request\n - EventTypeAccountContactRequestIncomingAccepted: EventTypeAccountContactRequestIncomingAccepted indicates the payload includes that the account has accepted a contact request\n - EventTypeAccountContactBlocked: EventTypeAccountContactBlocked indicates the payload includes that the account has blocked a contact\n - EventTypeAccountContactUnblocked: EventTypeAccountContactUnblocked indicates the payload includes that the account has unblocked a contact\n - EventTypeContactAliasKeyAdded: EventTypeContactAliasKeyAdded indicates the payload includes that the contact group has received an alias key\n - EventTypeMultiMemberGroupAliasResolverAdded: EventTypeMultiMemberGroupAliasResolverAdded indicates the payload includes that a member of the group sent their alias proof\n - EventTypeMultiMemberGroupInitialMemberAnnounced: EventTypeMultiMemberGroupInitialMemberAnnounced indicates the payload includes that a member has authenticated themselves as the group owner\n - EventTypeMultiMemberGroupAdminRoleGranted: EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin\n - EventTypeAccountServiceTokenAdded: EventTypeAccountServiceTokenAdded indicates that a new service provider has been registered for this account\n - EventTypeAccountServiceTokenRemoved: EventTypeAccountServiceTokenRemoved indicates that a service provider is not available anymore\n - EventTypeGroupReplicating: EventTypeGroupReplicating indicates that the group has been registered for replication on a server\n - EventTypePushMemberTokenUpdate: EventTypePushMemberTokenUpdate\n - EventTypePushDeviceTokenRegistered: EventTypePushDeviceTokenRegistered\n - EventTypePushDeviceServerRegistered: EventTypePushDeviceServerRegistered\n - EventTypeAccountVerifiedCredentialRegistered: EventTypeAccountVerifiedCredentialRegistered\n - EventTypeGroupMetadataPayloadSent: EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key" + "title": "- EventTypeUndefined: EventTypeUndefined indicates that the value has not been set. Should not happen.\n - EventTypeGroupMemberDeviceAdded: EventTypeGroupMemberDeviceAdded indicates the payload includes that a member has added their device to the group\n - EventTypeGroupDeviceChainKeyAdded: EventTypeGroupDeviceChainKeyAdded indicates the payload includes that a member has sent their device chain key to another member\n - EventTypeAccountGroupJoined: EventTypeAccountGroupJoined indicates the payload includes that the account has joined a group\n - EventTypeAccountGroupLeft: EventTypeAccountGroupLeft indicates the payload includes that the account has left a group\n - EventTypeAccountContactRequestDisabled: EventTypeAccountContactRequestDisabled indicates the payload includes that the account has disabled incoming contact requests\n - EventTypeAccountContactRequestEnabled: EventTypeAccountContactRequestEnabled indicates the payload includes that the account has enabled incoming contact requests\n - EventTypeAccountContactRequestReferenceReset: EventTypeAccountContactRequestReferenceReset indicates the payload includes that the account has a new contact request rendezvous seed\n - EventTypeAccountContactRequestOutgoingEnqueued: EventTypeAccountContactRequestOutgoingEnqueued indicates the payload includes that the account will attempt to send a new contact request\n - EventTypeAccountContactRequestOutgoingSent: EventTypeAccountContactRequestOutgoingSent indicates the payload includes that the account has sent a contact request\n - EventTypeAccountContactRequestIncomingReceived: EventTypeAccountContactRequestIncomingReceived indicates the payload includes that the account has received a contact request\n - EventTypeAccountContactRequestIncomingDiscarded: EventTypeAccountContactRequestIncomingDiscarded indicates the payload includes that the account has ignored a contact request\n - EventTypeAccountContactRequestIncomingAccepted: EventTypeAccountContactRequestIncomingAccepted indicates the payload includes that the account has accepted a contact request\n - EventTypeAccountContactBlocked: EventTypeAccountContactBlocked indicates the payload includes that the account has blocked a contact\n - EventTypeAccountContactUnblocked: EventTypeAccountContactUnblocked indicates the payload includes that the account has unblocked a contact\n - EventTypeContactAliasKeyAdded: EventTypeContactAliasKeyAdded indicates the payload includes that the contact group has received an alias key\n - EventTypeMultiMemberGroupAliasResolverAdded: EventTypeMultiMemberGroupAliasResolverAdded indicates the payload includes that a member of the group sent their alias proof\n - EventTypeMultiMemberGroupInitialMemberAnnounced: EventTypeMultiMemberGroupInitialMemberAnnounced indicates the payload includes that a member has authenticated themselves as the group owner\n - EventTypeMultiMemberGroupAdminRoleGranted: EventTypeMultiMemberGroupAdminRoleGranted indicates the payload includes that an admin of the group granted another member as an admin\n - EventTypeAccountServiceTokenAdded: EventTypeAccountServiceTokenAdded indicates that a new service provider has been registered for this account\n - EventTypeAccountServiceTokenRemoved: EventTypeAccountServiceTokenRemoved indicates that a service provider is not available anymore\n - EventTypeGroupReplicating: EventTypeGroupReplicating indicates that the group has been registered for replication on a server\n - EventTypeAccountVerifiedCredentialRegistered: EventTypeAccountVerifiedCredentialRegistered\n - EventTypeGroupMetadataPayloadSent: EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key" }, "v1Group": { "type": "object", @@ -904,55 +901,6 @@ "v1ProtocolMetadata": { "type": "object" }, - "v1PushServer": { - "type": "object", - "properties": { - "server_key": { - "type": "string", - "format": "byte" - }, - "service_addr": { - "type": "string" - } - } - }, - "v1PushServiceReceiver": { - "type": "object", - "properties": { - "token_type": { - "$ref": "#/definitions/v1PushServiceTokenType", - "title": "token_type is the type of the token used, it allows us to act as a proxy to the appropriate push server" - }, - "bundle_id": { - "type": "string", - "title": "bundle_id is the app identifier" - }, - "token": { - "type": "string", - "format": "byte", - "title": "token is the device identifier used" - }, - "recipient_public_key": { - "type": "string", - "format": "byte", - "title": "recipient_public_key is the public key which will be used to encrypt the payload" - } - } - }, - "v1PushServiceTokenType": { - "type": "string", - "enum": [ - "PushTokenUndefined", - "PushTokenMQTT", - "PushTokenApplePushNotificationService", - "PushTokenFirebaseCloudMessaging", - "PushTokenWindowsPushNotificationService", - "PushTokenHuaweiPushKit", - "PushTokenAmazonDeviceMessaging" - ], - "default": "PushTokenUndefined", - "title": "- PushTokenMQTT: PushTokenMQTT: Platform independent\n - PushTokenApplePushNotificationService: PushTokenApplePushNotificationService: iOS, iPadOS, tvOS, macOS\n - PushTokenFirebaseCloudMessaging: PushTokenFirebaseCloudMessaging: Android with GMS, Chrome OS\n - PushTokenWindowsPushNotificationService: PushTokenWindowsPushNotificationService: Windows, XBox\n - PushTokenHuaweiPushKit: PushTokenHuaweiPushKit: Huawei Android devices with AppGallery\n - PushTokenAmazonDeviceMessaging: PushTokenAmazonDeviceMessaging: Fire OS devices" - }, "v1RefreshContactRequestPeer": { "type": "object", "properties": { @@ -1033,12 +981,6 @@ }, "relay_enabled": { "$ref": "#/definitions/ServiceGetConfigurationSettingState" - }, - "device_push_token": { - "$ref": "#/definitions/v1PushServiceReceiver" - }, - "device_push_server": { - "$ref": "#/definitions/v1PushServer" } } }, diff --git a/events.go b/events.go index 1fa8f958..f9332ad1 100644 --- a/events.go +++ b/events.go @@ -39,9 +39,6 @@ var eventTypesMapper = map[protocoltypes.EventType]struct { protocoltypes.EventTypeAccountServiceTokenAdded: {Message: &protocoltypes.AccountServiceTokenAdded{}, SigChecker: sigCheckerDeviceSigned}, protocoltypes.EventTypeAccountServiceTokenRemoved: {Message: &protocoltypes.AccountServiceTokenRemoved{}, SigChecker: sigCheckerDeviceSigned}, protocoltypes.EventTypeGroupReplicating: {Message: &protocoltypes.GroupReplicating{}, SigChecker: sigCheckerDeviceSigned}, - protocoltypes.EventTypePushDeviceServerRegistered: {Message: &protocoltypes.PushDeviceServerRegistered{}, SigChecker: sigCheckerDeviceSigned}, - protocoltypes.EventTypePushDeviceTokenRegistered: {Message: &protocoltypes.PushDeviceTokenRegistered{}, SigChecker: sigCheckerDeviceSigned}, - protocoltypes.EventTypePushMemberTokenUpdate: {Message: &protocoltypes.PushMemberTokenUpdate{}, SigChecker: sigCheckerDeviceSigned}, protocoltypes.EventTypeAccountVerifiedCredentialRegistered: {Message: &protocoltypes.AccountVerifiedCredentialRegistered{}, SigChecker: sigCheckerDeviceSigned}, } diff --git a/pkg/errcode/errcode.pb.go b/pkg/errcode/errcode.pb.go index f468f7bf..f96368f3 100644 --- a/pkg/errcode/errcode.pb.go +++ b/pkg/errcode/errcode.pb.go @@ -122,17 +122,6 @@ const ( ErrServicesDirectoryInvalidVerifiedCredential ErrCode = 4205 ErrServicesDirectoryExpiredVerifiedCredential ErrCode = 4206 ErrServicesDirectoryInvalidVerifiedCredentialID ErrCode = 4207 - ErrPush ErrCode = 6000 - ErrPushWrongAccount ErrCode = 6001 - ErrPushUnableToDecrypt ErrCode = 6002 - ErrPushInvalidPayload ErrCode = 6003 - ErrPushInvalidServerConfig ErrCode = 6004 - ErrPushMissingBundleID ErrCode = 6005 - ErrPushUnknownDestination ErrCode = 6006 - ErrPushProvider ErrCode = 6007 - ErrPushUnknownProvider ErrCode = 6008 - ErrNoProvidersConfigured ErrCode = 6009 - ErrInvalidPrivateKey ErrCode = 6010 ) var ErrCode_name = map[int32]string{ @@ -232,17 +221,6 @@ var ErrCode_name = map[int32]string{ 4205: "ErrServicesDirectoryInvalidVerifiedCredential", 4206: "ErrServicesDirectoryExpiredVerifiedCredential", 4207: "ErrServicesDirectoryInvalidVerifiedCredentialID", - 6000: "ErrPush", - 6001: "ErrPushWrongAccount", - 6002: "ErrPushUnableToDecrypt", - 6003: "ErrPushInvalidPayload", - 6004: "ErrPushInvalidServerConfig", - 6005: "ErrPushMissingBundleID", - 6006: "ErrPushUnknownDestination", - 6007: "ErrPushProvider", - 6008: "ErrPushUnknownProvider", - 6009: "ErrNoProvidersConfigured", - 6010: "ErrInvalidPrivateKey", } var ErrCode_value = map[string]int32{ @@ -342,17 +320,6 @@ var ErrCode_value = map[string]int32{ "ErrServicesDirectoryInvalidVerifiedCredential": 4205, "ErrServicesDirectoryExpiredVerifiedCredential": 4206, "ErrServicesDirectoryInvalidVerifiedCredentialID": 4207, - "ErrPush": 6000, - "ErrPushWrongAccount": 6001, - "ErrPushUnableToDecrypt": 6002, - "ErrPushInvalidPayload": 6003, - "ErrPushInvalidServerConfig": 6004, - "ErrPushMissingBundleID": 6005, - "ErrPushUnknownDestination": 6006, - "ErrPushProvider": 6007, - "ErrPushUnknownProvider": 6008, - "ErrNoProvidersConfigured": 6009, - "ErrInvalidPrivateKey": 6010, } func (x ErrCode) String() string { @@ -418,104 +385,96 @@ func init() { func init() { proto.RegisterFile("errcode/errcode.proto", fileDescriptor_fb5abb189af31c1a) } var fileDescriptor_fb5abb189af31c1a = []byte{ - // 1552 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0xdb, 0x6f, 0x9c, 0x47, - 0x15, 0xef, 0x36, 0xd4, 0x97, 0x71, 0x1b, 0x9f, 0x4c, 0x9c, 0xc4, 0x49, 0x5b, 0xef, 0x36, 0x14, - 0x28, 0x95, 0xba, 0x86, 0x52, 0x21, 0x21, 0xf1, 0xb2, 0xde, 0xdd, 0x24, 0x2b, 0xc7, 0x17, 0xed, - 0xda, 0x54, 0xe2, 0x6d, 0xfc, 0xcd, 0xf1, 0xb7, 0x53, 0x7f, 0x3b, 0xf3, 0x75, 0xbe, 0xd9, 0x8d, - 0xb7, 0xc0, 0x1b, 0x20, 0xf1, 0x06, 0x52, 0xb9, 0x95, 0xfb, 0x1d, 0x24, 0x90, 0xb8, 0xfd, 0x11, - 0x05, 0xda, 0xc4, 0x09, 0xbc, 0x20, 0x81, 0x04, 0x79, 0xca, 0x8d, 0xfb, 0x2d, 0xf0, 0x84, 0xe6, - 0xb2, 0xeb, 0x6f, 0xed, 0x75, 0x10, 0x4f, 0xf6, 0x77, 0xce, 0xef, 0xdc, 0xe6, 0x9c, 0xf9, 0xcd, - 0x59, 0x72, 0x0a, 0xb5, 0x8e, 0x14, 0xc7, 0xc5, 0xf0, 0xb7, 0x9c, 0x6a, 0x65, 0x14, 0x9d, 0xbd, - 0x82, 0x59, 0x5b, 0xa2, 0x29, 0x07, 0xf1, 0xb9, 0xb9, 0x58, 0xc5, 0xca, 0xe9, 0x16, 0xed, 0x7f, - 0x1e, 0x76, 0xfe, 0xfd, 0x84, 0xd4, 0xb5, 0xae, 0xa1, 0x61, 0x22, 0xc9, 0x68, 0x99, 0x3c, 0x62, - 0xb1, 0xd9, 0x7c, 0xa1, 0x74, 0xec, 0x99, 0xe3, 0xcf, 0xcf, 0x97, 0x0f, 0x38, 0x29, 0xd7, 0xb5, - 0xae, 0x2a, 0x8e, 0x4d, 0x0f, 0x7b, 0xf6, 0xd7, 0xf3, 0x64, 0x32, 0x88, 0xe8, 0x63, 0x64, 0x7a, - 0x53, 0x72, 0xdc, 0x16, 0x12, 0x39, 0x3c, 0x44, 0xa7, 0xc9, 0x5b, 0x36, 0xd6, 0x6a, 0x6b, 0xf0, - 0xda, 0x23, 0xf4, 0x34, 0x39, 0x51, 0xd7, 0x7a, 0x55, 0x99, 0x46, 0x27, 0x4d, 0xb0, 0x83, 0xd2, - 0x20, 0x87, 0x4f, 0x4c, 0x50, 0x20, 0x33, 0x75, 0xad, 0x1b, 0xd2, 0xa0, 0x96, 0x2c, 0x81, 0xfb, - 0x13, 0xf4, 0x24, 0x99, 0x75, 0x92, 0x1e, 0x4b, 0x04, 0x6f, 0xc8, 0xb4, 0x6b, 0x80, 0x8f, 0x0a, - 0x9b, 0x4c, 0xc6, 0x08, 0x18, 0x84, 0x2b, 0x22, 0xcb, 0x84, 0x8c, 0x3d, 0x72, 0x9b, 0xce, 0x11, - 0xa8, 0x6b, 0xdd, 0x42, 0x2d, 0x58, 0x22, 0x5e, 0x61, 0x46, 0x28, 0x09, 0x31, 0x3d, 0x4d, 0xa8, - 0x2b, 0x31, 0x1b, 0x91, 0xb7, 0xe9, 0x09, 0xf2, 0x98, 0x45, 0x1b, 0x8d, 0xac, 0xd3, 0x44, 0xc6, - 0x41, 0x50, 0x4a, 0x8e, 0x0f, 0x45, 0x2f, 0x6a, 0x61, 0x10, 0x5e, 0x0a, 0xe6, 0x5e, 0xb6, 0xa1, - 0x99, 0xcc, 0xb6, 0x95, 0xee, 0x80, 0xa4, 0x67, 0xc9, 0xa9, 0xa1, 0xbc, 0x85, 0x92, 0x57, 0x24, - 0xaf, 0x26, 0x2a, 0x43, 0x50, 0x74, 0x9e, 0xcc, 0x0d, 0x55, 0x97, 0x90, 0x71, 0xd4, 0xde, 0x59, - 0x4a, 0xcf, 0x90, 0x93, 0x07, 0x34, 0x2e, 0x72, 0x36, 0x92, 0x4c, 0x4b, 0xc8, 0x1d, 0x78, 0x79, - 0x24, 0x80, 0xf3, 0x5c, 0x91, 0xbc, 0x89, 0x51, 0x0f, 0x74, 0x28, 0x34, 0x54, 0xbf, 0xc2, 0xd2, - 0x65, 0xec, 0xc3, 0x0e, 0x3d, 0xee, 0x7b, 0xb9, 0xe4, 0x83, 0x25, 0xb6, 0x23, 0xee, 0xdb, 0x85, - 0xe8, 0x50, 0x20, 0x8f, 0xba, 0xcf, 0x1a, 0x66, 0x46, 0xab, 0x3e, 0xec, 0x0e, 0x25, 0x2b, 0x22, - 0xd6, 0xcc, 0x20, 0xf4, 0xe9, 0xac, 0x6b, 0x89, 0x35, 0x49, 0x13, 0xd6, 0x87, 0x57, 0x86, 0x90, - 0x26, 0x66, 0x46, 0x69, 0x84, 0x0f, 0x0d, 0xbd, 0xae, 0xa5, 0x28, 0xe1, 0xc3, 0xc3, 0xa0, 0xbe, - 0xf6, 0x8f, 0xd0, 0x05, 0x72, 0xd6, 0x4e, 0x84, 0xee, 0xa7, 0x46, 0x35, 0x99, 0xe4, 0xaa, 0x73, - 0x11, 0x25, 0x6a, 0x7f, 0xe8, 0xaf, 0x17, 0xe8, 0xe3, 0xe4, 0xf4, 0x50, 0xbf, 0x8c, 0xfd, 0x9c, - 0xf2, 0x67, 0x05, 0xfa, 0x24, 0x99, 0x1f, 0x2a, 0x57, 0x95, 0x8c, 0x30, 0xa7, 0xfe, 0x79, 0x81, - 0x9e, 0x71, 0xad, 0xf0, 0xea, 0x96, 0x88, 0x25, 0x33, 0x5d, 0x8d, 0xf0, 0x8b, 0x02, 0x7d, 0x2b, - 0x59, 0x38, 0xac, 0xf8, 0x00, 0x6a, 0xb1, 0x2d, 0x22, 0x6f, 0xfd, 0x46, 0x81, 0x9e, 0x72, 0x87, - 0xe6, 0x41, 0x35, 0x8c, 0xec, 0x5f, 0x78, 0xb3, 0x40, 0x9f, 0x20, 0x67, 0x0e, 0x8a, 0xd7, 0x59, - 0x3f, 0x51, 0x8c, 0xc3, 0xd5, 0x51, 0xa3, 0xba, 0xf4, 0x46, 0xd7, 0x0e, 0x55, 0x51, 0x55, 0xb2, - 0x87, 0x3a, 0xb3, 0x81, 0xf6, 0x0a, 0x74, 0xde, 0x35, 0xd9, 0x2b, 0xab, 0x22, 0x6d, 0xa3, 0x6e, - 0x48, 0x61, 0xe0, 0xfa, 0x21, 0xb3, 0x1a, 0x6a, 0xd1, 0xf3, 0xf9, 0xdd, 0x28, 0xd0, 0x19, 0x32, - 0x61, 0x9b, 0xca, 0x52, 0xf8, 0xfe, 0xc3, 0x74, 0xd6, 0x1d, 0xeb, 0x05, 0xa5, 0xeb, 0x2c, 0x6a, - 0xc3, 0x0f, 0x1e, 0xa6, 0x27, 0xdd, 0x68, 0x2e, 0x63, 0xdf, 0xf5, 0xe1, 0x22, 0x1a, 0xf8, 0xe4, - 0xb1, 0x03, 0xc2, 0xf5, 0xae, 0x81, 0x4f, 0x1d, 0x0b, 0xd7, 0x6a, 0x55, 0x99, 0x0b, 0xaa, 0x2b, - 0x39, 0xbc, 0x3a, 0x80, 0xad, 0xe9, 0x2d, 0x61, 0x6a, 0x4b, 0x2e, 0x97, 0x5b, 0x93, 0xa3, 0x42, - 0xd7, 0xcc, 0xdb, 0x93, 0xa1, 0xdc, 0x20, 0xac, 0xa4, 0x29, 0x4a, 0x0e, 0x77, 0x26, 0x43, 0x53, - 0x83, 0xf8, 0xe0, 0x4d, 0xba, 0x3b, 0x19, 0x2a, 0x0e, 0xfa, 0x96, 0xcd, 0xa5, 0xca, 0x32, 0x03, - 0xf7, 0x26, 0xe9, 0x3b, 0xc8, 0xf9, 0xba, 0xd6, 0x97, 0x98, 0xe4, 0x59, 0x9b, 0xed, 0xe0, 0xda, - 0x15, 0x59, 0x4f, 0xdb, 0xd8, 0x41, 0xcd, 0x12, 0xdf, 0x7d, 0x7b, 0x75, 0xe0, 0x8d, 0x29, 0xfa, - 0x36, 0x52, 0xca, 0x03, 0xd7, 0x11, 0x75, 0x1e, 0xe9, 0x06, 0xff, 0xcd, 0x29, 0xba, 0x48, 0x9e, - 0xcd, 0xc3, 0x9a, 0xf8, 0x72, 0x17, 0x33, 0x83, 0xba, 0xd2, 0x35, 0x6d, 0x94, 0xc6, 0xb6, 0x1b, - 0x97, 0xd4, 0xae, 0xf7, 0x0d, 0x57, 0xa7, 0xe8, 0x3b, 0xc9, 0xd3, 0xa3, 0x06, 0x59, 0xaa, 0x24, - 0x47, 0x5d, 0x89, 0x22, 0x4c, 0xcd, 0x3e, 0xf4, 0xda, 0x14, 0x2d, 0x92, 0x73, 0x63, 0x7d, 0x5f, - 0xc2, 0x24, 0x51, 0xb0, 0x37, 0x06, 0x10, 0x7c, 0x79, 0xc0, 0xf5, 0x29, 0xfa, 0x76, 0xf2, 0xd4, - 0xff, 0xcc, 0x0e, 0x6e, 0x4c, 0xd1, 0x12, 0x79, 0xfc, 0x01, 0x49, 0xc1, 0x2f, 0x0f, 0x1d, 0xc7, - 0xbe, 0xa7, 0x68, 0x47, 0xaa, 0x2b, 0x09, 0xf2, 0x18, 0xe1, 0x57, 0x53, 0xf4, 0x29, 0xf2, 0x84, - 0xe3, 0x5f, 0x69, 0x58, 0x64, 0x02, 0xa8, 0xc5, 0x3a, 0x58, 0x89, 0x22, 0xd5, 0x95, 0x06, 0x7e, - 0x38, 0x1d, 0x0e, 0x60, 0x14, 0x12, 0xbe, 0x2a, 0x89, 0x46, 0xc6, 0xfb, 0x15, 0xce, 0x91, 0xc3, - 0x8f, 0xa6, 0xe9, 0xd3, 0xa4, 0x78, 0x14, 0x74, 0x29, 0x51, 0xd1, 0x0e, 0x72, 0xf8, 0xf1, 0x74, - 0x28, 0x72, 0x2c, 0x6a, 0xff, 0x01, 0xf8, 0xc9, 0x34, 0x7d, 0x8e, 0x3c, 0x73, 0x08, 0xd7, 0x90, - 0x91, 0xea, 0x08, 0x19, 0x87, 0xc8, 0x4d, 0x8c, 0x50, 0xf4, 0x90, 0xc3, 0x4f, 0xa7, 0xc3, 0xe1, - 0x5e, 0xd4, 0xaa, 0x9b, 0xae, 0x60, 0x67, 0x0b, 0xf5, 0x65, 0x15, 0xd7, 0x7b, 0x28, 0x8d, 0x9b, - 0xcd, 0x57, 0x49, 0xc8, 0x6e, 0x0c, 0x60, 0x9f, 0x0a, 0x3e, 0x4d, 0xc2, 0x89, 0xe4, 0x50, 0x9b, - 0xd2, 0x9e, 0x98, 0x74, 0x92, 0x46, 0x0d, 0x3e, 0x43, 0xe8, 0x79, 0xf2, 0xe4, 0x00, 0xd2, 0xc2, - 0x48, 0xa3, 0x59, 0x33, 0x6d, 0xb4, 0x0f, 0x84, 0xf1, 0x16, 0xf0, 0x59, 0x12, 0x8a, 0xcc, 0x61, - 0x42, 0xc6, 0x2d, 0x94, 0x66, 0x43, 0x05, 0xdc, 0xe7, 0x48, 0x98, 0x7c, 0xef, 0xdc, 0xbf, 0x50, - 0x1b, 0xfd, 0x14, 0xe1, 0xf3, 0x84, 0xce, 0xb9, 0x17, 0xca, 0x27, 0xe2, 0x89, 0x1a, 0x5e, 0x23, - 0xe1, 0x82, 0x39, 0x69, 0x25, 0x32, 0xf6, 0xf6, 0x23, 0x7c, 0x81, 0x04, 0x66, 0x73, 0xe2, 0x1a, - 0xb2, 0x81, 0xe2, 0x8b, 0x84, 0x9e, 0x70, 0xfc, 0x1b, 0xfc, 0x6f, 0x2b, 0xf8, 0xd2, 0x88, 0xe3, - 0x50, 0x1b, 0x7c, 0x79, 0x04, 0xe8, 0x0e, 0xec, 0x2b, 0x24, 0x4c, 0xd9, 0x0a, 0x66, 0x19, 0x8b, - 0x71, 0x19, 0xfb, 0xeb, 0x96, 0xa2, 0x32, 0x83, 0x32, 0x72, 0x54, 0xf1, 0x9b, 0x99, 0x07, 0x21, - 0x2c, 0xc3, 0xfc, 0x76, 0x26, 0x04, 0x6b, 0xa1, 0xee, 0x89, 0x08, 0x33, 0x3b, 0xc7, 0xf0, 0xd5, - 0x62, 0x38, 0xc1, 0xbc, 0xd4, 0xbe, 0xee, 0x52, 0x18, 0x47, 0x0b, 0xc8, 0xe1, 0x6b, 0xc5, 0xc0, - 0x19, 0x79, 0xcc, 0x8b, 0x5a, 0xc9, 0xb8, 0x65, 0x6c, 0x65, 0x5f, 0x2f, 0x06, 0xce, 0xce, 0xeb, - 0x07, 0x4f, 0xbc, 0xbb, 0x0d, 0x19, 0xc2, 0x37, 0x8a, 0xf4, 0x9c, 0x7f, 0x03, 0x73, 0x20, 0xfb, - 0x3f, 0x6a, 0xf8, 0x66, 0x31, 0x74, 0x3a, 0xaf, 0xb3, 0x7b, 0x48, 0xb5, 0xcd, 0x92, 0x04, 0xed, - 0x92, 0xf0, 0xad, 0x62, 0x60, 0x9f, 0x83, 0xe6, 0x22, 0xc2, 0x41, 0xaf, 0xd4, 0x0e, 0x4a, 0xf8, - 0xf6, 0x03, 0x80, 0xab, 0xca, 0xb4, 0xba, 0x69, 0xaa, 0xb4, 0xdd, 0x59, 0xbe, 0x53, 0x0c, 0x27, - 0x96, 0x07, 0x86, 0x1e, 0x78, 0x57, 0xdf, 0x1d, 0x57, 0x77, 0x08, 0xb6, 0xd9, 0xbc, 0x0c, 0xdf, - 0x3b, 0x50, 0x92, 0x7d, 0x67, 0x07, 0x4f, 0xd4, 0x47, 0x4b, 0xa3, 0xde, 0x73, 0xba, 0x50, 0xf4, - 0xc7, 0x4a, 0xe1, 0x36, 0x1f, 0x46, 0x84, 0x11, 0xab, 0x4b, 0x9e, 0x2a, 0x21, 0x0d, 0x7c, 0xbc, - 0x44, 0xcf, 0xfa, 0x2d, 0x24, 0x24, 0x52, 0x13, 0x1a, 0x23, 0xa3, 0x74, 0x1f, 0x6e, 0x95, 0xe8, - 0xfb, 0xc8, 0x0b, 0xe3, 0x54, 0x21, 0x51, 0xff, 0x70, 0x22, 0xaf, 0x6a, 0xe4, 0x96, 0xb5, 0x58, - 0xd2, 0xea, 0x6e, 0xbd, 0x84, 0x91, 0x81, 0xdb, 0xa5, 0x40, 0xc0, 0x87, 0x4c, 0xeb, 0xbb, 0x22, - 0x33, 0x42, 0xc6, 0x4d, 0x8c, 0x94, 0xe6, 0xc3, 0xc7, 0xe7, 0x4e, 0x89, 0xbe, 0x97, 0xbc, 0x7b, - 0x9c, 0x81, 0x07, 0x5e, 0x76, 0xac, 0x62, 0x57, 0x27, 0x26, 0xcd, 0x92, 0x2b, 0x88, 0x45, 0xc8, - 0xe1, 0x6e, 0x89, 0xbe, 0x40, 0x16, 0xc7, 0x07, 0xb2, 0x35, 0x0b, 0x13, 0xa0, 0x17, 0x12, 0x16, - 0x5b, 0x6e, 0x11, 0x1a, 0x39, 0xdc, 0x2b, 0xd1, 0xe7, 0xc9, 0x73, 0xff, 0x57, 0x65, 0xf0, 0x87, - 0x23, 0x6d, 0xea, 0xbb, 0xa9, 0xf5, 0x3a, 0xc6, 0xe6, 0x8f, 0x47, 0x66, 0x77, 0x64, 0x9c, 0x46, - 0x0d, 0xfe, 0x54, 0xa2, 0x8f, 0xba, 0x75, 0x79, 0xbd, 0x9b, 0xb5, 0xe1, 0xcf, 0xe5, 0xc0, 0x1d, - 0xf6, 0xcb, 0xdd, 0x8c, 0x01, 0x67, 0xff, 0xa5, 0x1c, 0xf6, 0x04, 0xab, 0xd9, 0x94, 0x6c, 0x2b, - 0xc1, 0x8d, 0xe1, 0xc2, 0xf2, 0xd7, 0x72, 0x18, 0x20, 0xab, 0x0c, 0xd1, 0x06, 0xeb, 0xca, 0xdf, - 0xca, 0x81, 0x44, 0x73, 0x3a, 0x3f, 0x39, 0x55, 0x25, 0xb7, 0x45, 0x0c, 0x7f, 0xcf, 0x7b, 0x0e, - 0x13, 0xb3, 0xd4, 0x95, 0x3c, 0xc1, 0x46, 0x0d, 0xfe, 0x51, 0x0e, 0xa3, 0xeb, 0xc3, 0xba, 0xa1, - 0xb6, 0x9c, 0x28, 0xa4, 0x1f, 0xcf, 0x7f, 0x96, 0x03, 0x19, 0x58, 0xfd, 0xba, 0x56, 0x3d, 0xc1, - 0x51, 0xc3, 0xbf, 0x46, 0x93, 0x75, 0x56, 0x43, 0xe5, 0xfd, 0x72, 0xd8, 0xe8, 0x56, 0xd5, 0x40, - 0x96, 0xf9, 0x54, 0xba, 0xb6, 0x5d, 0xff, 0x2e, 0x87, 0x19, 0x1d, 0xd4, 0xe1, 0xb6, 0x21, 0xcb, - 0x43, 0xf0, 0x9f, 0xf2, 0xd2, 0xbb, 0xf6, 0x7e, 0xbf, 0xf0, 0xd0, 0xeb, 0x37, 0x17, 0x0a, 0x7b, - 0x37, 0x17, 0x0a, 0xbf, 0xbb, 0xb9, 0x50, 0xf8, 0xe0, 0xc2, 0x16, 0x6a, 0xd3, 0x2f, 0x1b, 0x8c, - 0xda, 0x8b, 0xe1, 0x87, 0xc9, 0x62, 0xba, 0x13, 0x0f, 0x7e, 0xf8, 0x6c, 0x4d, 0xb8, 0x9f, 0x34, - 0xef, 0xf9, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x32, 0x17, 0x7f, 0x89, 0x12, 0x0d, 0x00, 0x00, + // 1413 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xc9, 0x6f, 0x54, 0x47, + 0x1a, 0xa7, 0x61, 0xf0, 0x52, 0x1e, 0xf0, 0x47, 0x61, 0x8c, 0xd9, 0xdc, 0x0d, 0xc3, 0xcc, 0x30, + 0x48, 0xd8, 0x33, 0x0c, 0x1a, 0x69, 0xa4, 0x5c, 0xda, 0xee, 0x06, 0x2c, 0xe3, 0x45, 0xdd, 0x26, + 0x48, 0xb9, 0x95, 0x5f, 0x7d, 0x7e, 0x5d, 0xf8, 0x75, 0xd5, 0xa3, 0x5e, 0xb5, 0x71, 0x93, 0xe4, + 0x96, 0x44, 0xca, 0x2d, 0x91, 0xc8, 0x46, 0xf6, 0x3d, 0x91, 0x82, 0x94, 0xed, 0x8f, 0x20, 0x09, + 0x8b, 0x21, 0x39, 0x26, 0x52, 0xc2, 0x89, 0x2d, 0xc9, 0x35, 0xc7, 0xa8, 0xea, 0x95, 0xdb, 0xdd, + 0x76, 0x9b, 0x28, 0xa7, 0xee, 0xf7, 0xfb, 0x7e, 0xdf, 0x5e, 0xf5, 0x7d, 0x45, 0x76, 0xa0, 0xd6, + 0x81, 0xe2, 0x38, 0xec, 0x7f, 0x87, 0x62, 0xad, 0x8c, 0xa2, 0xbd, 0xe7, 0x31, 0xa9, 0x48, 0x34, + 0x43, 0x1e, 0xde, 0xdd, 0x17, 0xaa, 0x50, 0x39, 0xd9, 0xb0, 0xfd, 0x97, 0xd2, 0x0e, 0x3c, 0x42, + 0x48, 0x51, 0xeb, 0x02, 0x1a, 0x26, 0xa2, 0x84, 0x0e, 0x91, 0xcd, 0x96, 0x9b, 0x0c, 0x64, 0x72, + 0x9b, 0x0e, 0x6d, 0x3d, 0x3a, 0x30, 0xb4, 0xca, 0xc8, 0x50, 0x51, 0xeb, 0x51, 0xc5, 0xb1, 0x94, + 0xd2, 0x0e, 0x5f, 0xee, 0x27, 0x9d, 0x1e, 0xa2, 0x5b, 0x48, 0xf7, 0x69, 0xc9, 0x71, 0x4e, 0x48, + 0xe4, 0xb0, 0x81, 0x76, 0x93, 0xbf, 0xcc, 0x4c, 0x15, 0xa6, 0xe0, 0xd2, 0x66, 0xda, 0x4f, 0xb6, + 0x15, 0xb5, 0x9e, 0x54, 0x66, 0xac, 0x1a, 0x47, 0x58, 0x45, 0x69, 0x90, 0xc3, 0xb3, 0x1d, 0x14, + 0x48, 0x4f, 0x51, 0xeb, 0x31, 0x69, 0x50, 0x4b, 0x16, 0xc1, 0x6f, 0x1d, 0x74, 0x3b, 0xe9, 0x75, + 0xc8, 0x02, 0x8b, 0x04, 0x1f, 0x93, 0x71, 0xcd, 0x00, 0x6f, 0x05, 0x4b, 0x4c, 0x86, 0x08, 0xe8, + 0xc1, 0x09, 0x91, 0x24, 0x42, 0x86, 0x29, 0x73, 0x8e, 0xf6, 0x11, 0x28, 0x6a, 0x5d, 0x46, 0x2d, + 0x58, 0x24, 0x2e, 0x30, 0x23, 0x94, 0x84, 0x90, 0xf6, 0x13, 0xea, 0x52, 0x4c, 0x5a, 0xf0, 0x0a, + 0xdd, 0x46, 0xb6, 0x58, 0xb6, 0xd1, 0xc8, 0xaa, 0x25, 0x64, 0x1c, 0x04, 0xa5, 0x64, 0x6b, 0x03, + 0x3a, 0xa3, 0x85, 0x41, 0x38, 0xeb, 0xd5, 0x53, 0x6c, 0x46, 0x33, 0x99, 0xcc, 0x29, 0x5d, 0x05, + 0x49, 0x77, 0x91, 0x1d, 0x0d, 0xbc, 0x8c, 0x92, 0xe7, 0x25, 0x1f, 0x8d, 0x54, 0x82, 0xa0, 0xe8, + 0x00, 0xe9, 0x6b, 0x88, 0x4e, 0x22, 0xe3, 0xa8, 0x53, 0x63, 0x31, 0xdd, 0x49, 0xb6, 0xaf, 0x92, + 0x38, 0xcf, 0x49, 0x4b, 0x30, 0x65, 0x21, 0xe7, 0xe1, 0x5c, 0x8b, 0x03, 0x67, 0x39, 0x2f, 0x79, + 0x09, 0x83, 0x05, 0xd0, 0x3e, 0x51, 0x9f, 0xfd, 0x04, 0x8b, 0xc7, 0xb1, 0x0e, 0xf3, 0x74, 0x6b, + 0xda, 0xcb, 0x91, 0xd4, 0x59, 0x64, 0x3b, 0xe2, 0xbe, 0x9d, 0x8b, 0x2a, 0x05, 0xf2, 0x57, 0xf7, + 0x59, 0xc0, 0xc4, 0x68, 0x55, 0x87, 0xc5, 0x06, 0x32, 0x21, 0x42, 0xcd, 0x0c, 0x42, 0x9d, 0xf6, + 0xba, 0x96, 0x58, 0x95, 0x38, 0x62, 0x75, 0xb8, 0xd0, 0xa0, 0x94, 0x30, 0x31, 0x4a, 0x23, 0x3c, + 0xde, 0xb0, 0x3a, 0x15, 0xa3, 0x84, 0x27, 0x1a, 0x4e, 0xd3, 0xdc, 0x9f, 0xa4, 0x83, 0x64, 0x97, + 0x3d, 0x11, 0xba, 0x1e, 0x1b, 0x55, 0x62, 0x92, 0xab, 0xea, 0x09, 0x94, 0xa8, 0xd3, 0xa2, 0x5f, + 0xc9, 0xd0, 0x3d, 0xa4, 0xbf, 0x21, 0x1f, 0xc7, 0x7a, 0x93, 0xf0, 0xab, 0x0c, 0xdd, 0x47, 0x06, + 0x1a, 0xc2, 0x49, 0x25, 0x03, 0x6c, 0x12, 0x7f, 0x9d, 0xa1, 0x3b, 0x5d, 0x2b, 0x52, 0x71, 0x59, + 0x84, 0x92, 0x99, 0x9a, 0x46, 0xf8, 0x26, 0x43, 0xff, 0x46, 0x06, 0xd7, 0x0a, 0x1e, 0x45, 0x2d, + 0xe6, 0x44, 0x90, 0x6a, 0x5f, 0xcd, 0xd0, 0x1d, 0xae, 0x68, 0x29, 0xa9, 0x80, 0x81, 0xfd, 0x85, + 0x6b, 0x19, 0xba, 0x97, 0xec, 0x5c, 0x0d, 0x4f, 0xb3, 0x7a, 0xa4, 0x18, 0x87, 0xeb, 0xad, 0x4a, + 0x45, 0x99, 0x2a, 0xdd, 0x58, 0x93, 0xc5, 0xa8, 0x92, 0x0b, 0xa8, 0x13, 0xeb, 0x68, 0x29, 0x43, + 0x07, 0x5c, 0x93, 0x53, 0xe1, 0xa8, 0x88, 0x2b, 0xa8, 0xc7, 0xa4, 0x30, 0x70, 0x73, 0x8d, 0x5a, + 0x01, 0xb5, 0x58, 0x48, 0xe3, 0xbb, 0x95, 0xa1, 0x3d, 0xa4, 0xc3, 0x36, 0x95, 0xc5, 0xf0, 0xc9, + 0x46, 0xda, 0xeb, 0xca, 0x7a, 0x5c, 0xe9, 0x22, 0x0b, 0x2a, 0x70, 0x79, 0x23, 0xdd, 0xee, 0x8e, + 0xe6, 0x38, 0xd6, 0x5d, 0x1f, 0x4e, 0xa0, 0x81, 0xe7, 0x36, 0xad, 0x02, 0xa7, 0x6b, 0x06, 0x9e, + 0xdf, 0xe4, 0xaf, 0xd5, 0xa4, 0x32, 0xc7, 0x55, 0x4d, 0x72, 0xb8, 0xb8, 0x4c, 0x9b, 0xd2, 0xb3, + 0xc2, 0x14, 0x46, 0x5c, 0x2c, 0x77, 0x3a, 0x5b, 0x41, 0xd7, 0xcc, 0xbb, 0x9d, 0x3e, 0x5d, 0x0f, + 0xe6, 0xe3, 0x18, 0x25, 0x87, 0x7b, 0x9d, 0xbe, 0xa9, 0x1e, 0x5e, 0x7d, 0x93, 0xee, 0x77, 0xfa, + 0x8c, 0xbd, 0xbc, 0x6c, 0x63, 0x19, 0x65, 0x89, 0x81, 0x07, 0x9d, 0xf4, 0x9f, 0xe4, 0x40, 0x51, + 0xeb, 0x93, 0x4c, 0xf2, 0xa4, 0xc2, 0xe6, 0x71, 0xea, 0xbc, 0x2c, 0xc6, 0x15, 0xac, 0xa2, 0x66, + 0x51, 0xda, 0x7d, 0x7b, 0x75, 0xe0, 0x6a, 0x17, 0xfd, 0x3b, 0xc9, 0x35, 0x13, 0xa7, 0x11, 0x75, + 0x33, 0xd3, 0x1d, 0xfc, 0x6b, 0x5d, 0x74, 0x98, 0x1c, 0x6e, 0xa6, 0x95, 0xf0, 0x5c, 0x0d, 0x13, + 0x83, 0x3a, 0x5f, 0x33, 0x15, 0x94, 0xc6, 0xb6, 0x1b, 0x47, 0xd4, 0x62, 0x6a, 0x1b, 0xae, 0x77, + 0xd1, 0x7f, 0x91, 0x83, 0xad, 0x0a, 0x49, 0xac, 0x24, 0x47, 0x9d, 0x0f, 0x02, 0x8c, 0xcd, 0x0a, + 0xf5, 0x46, 0x17, 0xcd, 0x92, 0xdd, 0x6d, 0x6d, 0x9f, 0xc4, 0x28, 0x52, 0xb0, 0xd4, 0x86, 0xe0, + 0x6d, 0xa5, 0x84, 0x9b, 0x5d, 0xf4, 0x1f, 0x64, 0xff, 0x1f, 0x46, 0x07, 0xb7, 0xba, 0x68, 0x8e, + 0xec, 0x79, 0x48, 0x50, 0xf0, 0xed, 0x9a, 0x72, 0xac, 0x58, 0x0a, 0xe6, 0xa5, 0x3a, 0x1f, 0x21, + 0x0f, 0x11, 0xbe, 0xeb, 0xa2, 0xfb, 0xc9, 0x5e, 0x37, 0x7f, 0xa5, 0x61, 0x81, 0xf1, 0xa4, 0x32, + 0xab, 0x62, 0x3e, 0x08, 0x54, 0x4d, 0x1a, 0xf8, 0xb4, 0xdb, 0x17, 0xa0, 0x95, 0xe2, 0xbf, 0xf2, + 0x91, 0x46, 0xc6, 0xeb, 0x79, 0xce, 0x91, 0xc3, 0x67, 0xdd, 0xf4, 0x20, 0xc9, 0xae, 0x47, 0x1d, + 0x89, 0x54, 0x30, 0x8f, 0x1c, 0x3e, 0xef, 0xf6, 0x49, 0xb6, 0x65, 0xad, 0x2c, 0x80, 0x2f, 0xba, + 0xe9, 0x11, 0x72, 0x68, 0x0d, 0x6f, 0x4c, 0x06, 0xaa, 0x2a, 0x64, 0xe8, 0x3d, 0x97, 0x30, 0x40, + 0xb1, 0x80, 0x1c, 0xbe, 0xec, 0xf6, 0xc5, 0x3d, 0xa1, 0x55, 0x2d, 0x9e, 0xc0, 0xea, 0x2c, 0xea, + 0x53, 0x2a, 0x2c, 0x2e, 0xa0, 0x34, 0xee, 0x6c, 0x5e, 0x24, 0x3e, 0xba, 0x36, 0x84, 0x95, 0x51, + 0xf0, 0x02, 0xf1, 0x15, 0x69, 0x62, 0x9d, 0x96, 0xb6, 0x62, 0xd2, 0x21, 0x63, 0x05, 0x78, 0x91, + 0xd0, 0x03, 0x64, 0xdf, 0x32, 0xa5, 0x8c, 0x81, 0x46, 0x33, 0x65, 0x2a, 0x68, 0x17, 0x84, 0x49, + 0x35, 0xe0, 0x25, 0xe2, 0x93, 0x6c, 0xe2, 0xf8, 0x88, 0xcb, 0x28, 0xcd, 0x8c, 0xf2, 0xbc, 0x97, + 0x89, 0x3f, 0xf9, 0xa9, 0xf1, 0x74, 0x43, 0xcd, 0xd4, 0x63, 0x84, 0x57, 0x08, 0xed, 0x73, 0x1b, + 0x2a, 0x0d, 0x24, 0x1d, 0xd4, 0x70, 0x89, 0xf8, 0x0b, 0xe6, 0xd0, 0x7c, 0x60, 0xec, 0xed, 0x47, + 0x78, 0x95, 0xf8, 0xc9, 0xe6, 0xe0, 0x02, 0xb2, 0x65, 0xc1, 0x6b, 0x84, 0x6e, 0x73, 0xf3, 0xd7, + 0xdb, 0x9f, 0x53, 0xf0, 0x7a, 0x8b, 0x61, 0x9f, 0x1b, 0xbc, 0xd1, 0x42, 0x74, 0x05, 0x7b, 0x93, + 0xf8, 0x53, 0x36, 0x81, 0x49, 0xc2, 0x42, 0x1c, 0xc7, 0xfa, 0xb4, 0x1d, 0x51, 0x89, 0x41, 0x19, + 0xb8, 0x51, 0xf1, 0x7d, 0xcf, 0xc3, 0x18, 0x76, 0xc2, 0xfc, 0xd0, 0xe3, 0x9d, 0x95, 0x51, 0x2f, + 0x88, 0x00, 0x13, 0x7b, 0x8e, 0xe1, 0xad, 0xac, 0xaf, 0x60, 0x33, 0x6a, 0xb7, 0xbb, 0x14, 0xc6, + 0x8d, 0x05, 0xe4, 0xf0, 0x76, 0xd6, 0xcf, 0x8c, 0x66, 0xce, 0x19, 0xad, 0x64, 0x58, 0x36, 0x36, + 0xb3, 0x77, 0xb2, 0x7e, 0x66, 0x37, 0xcb, 0x97, 0x57, 0xbc, 0xbb, 0x0d, 0x09, 0xc2, 0xbb, 0x59, + 0xba, 0x3b, 0xdd, 0x81, 0x4d, 0x24, 0xfb, 0x1f, 0x35, 0xbc, 0x97, 0xf5, 0x9d, 0x6e, 0x96, 0xd9, + 0x77, 0xc8, 0x68, 0x85, 0x45, 0x11, 0xda, 0x47, 0xc2, 0xfb, 0x59, 0x3f, 0x7d, 0x56, 0xab, 0x8b, + 0x00, 0x97, 0x7b, 0xa5, 0xe6, 0x51, 0xc2, 0x07, 0x0f, 0x21, 0x4e, 0x2a, 0x53, 0xae, 0xc5, 0xb1, + 0xd2, 0xf6, 0xcd, 0xf2, 0x61, 0xd6, 0x57, 0xac, 0x99, 0xe8, 0x7b, 0x90, 0x9a, 0xfa, 0xa8, 0x5d, + 0xde, 0xde, 0xd9, 0xe9, 0xd2, 0x29, 0xf8, 0x78, 0x55, 0x4a, 0x76, 0xcf, 0x2e, 0xaf, 0xa8, 0xa7, + 0x72, 0xad, 0xd6, 0x9b, 0x64, 0x3e, 0xe9, 0xa7, 0x73, 0xfe, 0x36, 0xaf, 0x65, 0xf8, 0x23, 0x56, + 0x94, 0x3c, 0x56, 0x42, 0x1a, 0x78, 0x26, 0x47, 0x77, 0xa5, 0xaf, 0x10, 0x1f, 0x48, 0x41, 0x68, + 0x0c, 0x8c, 0xd2, 0x75, 0xb8, 0x93, 0xa3, 0xff, 0x27, 0xc7, 0xda, 0x89, 0x7c, 0xa0, 0xe9, 0xe2, + 0x44, 0x3e, 0xaa, 0x91, 0xdb, 0xa9, 0xc5, 0xa2, 0x72, 0x6d, 0xf6, 0x2c, 0x06, 0x06, 0xee, 0xe6, + 0xfc, 0x00, 0x5e, 0xa3, 0x5a, 0x5c, 0x14, 0x89, 0x11, 0x32, 0x2c, 0x61, 0xa0, 0x34, 0x6f, 0x2c, + 0x9f, 0x7b, 0x39, 0xfa, 0x3f, 0xf2, 0x9f, 0x76, 0x0a, 0x29, 0xf1, 0x94, 0x9b, 0x2a, 0xf6, 0xe9, + 0xc4, 0xa4, 0x19, 0x71, 0x09, 0xb1, 0x00, 0x39, 0xdc, 0xcf, 0xd1, 0x63, 0x64, 0xb8, 0xbd, 0x23, + 0x9b, 0xb3, 0x30, 0x9e, 0x7a, 0x3c, 0x62, 0xa1, 0x9d, 0x2d, 0x42, 0x23, 0x87, 0x07, 0x39, 0x7a, + 0x94, 0x1c, 0xf9, 0x53, 0x99, 0xc1, 0xcf, 0xeb, 0xea, 0x14, 0x17, 0x63, 0x6b, 0xb5, 0x8d, 0xce, + 0x2f, 0xeb, 0x46, 0xb7, 0xae, 0x9f, 0xb1, 0x02, 0xfc, 0x9a, 0x1b, 0xf9, 0xf7, 0xd2, 0x4f, 0x83, + 0x1b, 0xae, 0xdc, 0x1e, 0xcc, 0x2c, 0xdd, 0x1e, 0xcc, 0xfc, 0x78, 0x7b, 0x30, 0xf3, 0xd8, 0xe0, + 0x2c, 0x6a, 0x53, 0x1f, 0x32, 0x18, 0x54, 0x86, 0xfd, 0x63, 0x7b, 0x38, 0x9e, 0x0f, 0x97, 0x1f, + 0xf3, 0xb3, 0x1d, 0xee, 0x99, 0xfe, 0xdf, 0xdf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x7c, 0x5d, 0x98, + 0xbc, 0xe6, 0x0b, 0x00, 0x00, } func (m *ErrDetails) Marshal() (dAtA []byte, err error) { diff --git a/pkg/protocoltypes/events_account.go b/pkg/protocoltypes/events_account.go index d88dfb30..6b6e681b 100644 --- a/pkg/protocoltypes/events_account.go +++ b/pkg/protocoltypes/events_account.go @@ -100,18 +100,6 @@ func (m *GroupReplicating) SetDevicePK(pk []byte) { m.DevicePK = pk } -func (m *PushDeviceTokenRegistered) SetDevicePK(pk []byte) { - m.DevicePK = pk -} - -func (m *PushDeviceServerRegistered) SetDevicePK(pk []byte) { - m.DevicePK = pk -} - -func (m *PushMemberTokenUpdate) SetDevicePK(pk []byte) { - m.DevicePK = pk -} - func (m *AccountVerifiedCredentialRegistered) SetDevicePK(pk []byte) { m.DevicePK = pk } diff --git a/pkg/protocoltypes/protocoltypes.pb.go b/pkg/protocoltypes/protocoltypes.pb.go index 0c91fa3d..6264695f 100644 --- a/pkg/protocoltypes/protocoltypes.pb.go +++ b/pkg/protocoltypes/protocoltypes.pb.go @@ -4,7 +4,6 @@ package protocoltypes import ( - pushtypes "berty.tech/weshnet/pkg/pushtypes" encoding_binary "encoding/binary" fmt "fmt" _ "github.com/gogo/protobuf/gogoproto" @@ -107,12 +106,6 @@ const ( EventTypeAccountServiceTokenRemoved EventType = 402 // EventTypeGroupReplicating indicates that the group has been registered for replication on a server EventTypeGroupReplicating EventType = 403 - // EventTypePushMemberTokenUpdate - EventTypePushMemberTokenUpdate EventType = 404 - // EventTypePushDeviceTokenRegistered - EventTypePushDeviceTokenRegistered EventType = 405 - // EventTypePushDeviceServerRegistered - EventTypePushDeviceServerRegistered EventType = 406 // EventTypeAccountVerifiedCredentialRegistered EventTypeAccountVerifiedCredentialRegistered EventType = 500 // EventTypeGroupMetadataPayloadSent indicates the payload includes an app specific event, unlike messages stored on the message store it is encrypted using a static key @@ -142,9 +135,6 @@ var EventType_name = map[int32]string{ 401: "EventTypeAccountServiceTokenAdded", 402: "EventTypeAccountServiceTokenRemoved", 403: "EventTypeGroupReplicating", - 404: "EventTypePushMemberTokenUpdate", - 405: "EventTypePushDeviceTokenRegistered", - 406: "EventTypePushDeviceServerRegistered", 500: "EventTypeAccountVerifiedCredentialRegistered", 1001: "EventTypeGroupMetadataPayloadSent", } @@ -172,9 +162,6 @@ var EventType_value = map[string]int32{ "EventTypeAccountServiceTokenAdded": 401, "EventTypeAccountServiceTokenRemoved": 402, "EventTypeGroupReplicating": 403, - "EventTypePushMemberTokenUpdate": 404, - "EventTypePushDeviceTokenRegistered": 405, - "EventTypePushDeviceServerRegistered": 406, "EventTypeAccountVerifiedCredentialRegistered": 500, "EventTypeGroupMetadataPayloadSent": 1001, } @@ -2853,8 +2840,6 @@ type ServiceGetConfiguration_Reply struct { WifiP2PEnabled ServiceGetConfiguration_SettingState `protobuf:"varint,7,opt,name=wifi_p2p_enabled,json=wifiP2pEnabled,proto3,enum=weshnet.protocol.v1.ServiceGetConfiguration_SettingState" json:"wifi_p2p_enabled,omitempty"` MdnsEnabled ServiceGetConfiguration_SettingState `protobuf:"varint,8,opt,name=mdns_enabled,json=mdnsEnabled,proto3,enum=weshnet.protocol.v1.ServiceGetConfiguration_SettingState" json:"mdns_enabled,omitempty"` RelayEnabled ServiceGetConfiguration_SettingState `protobuf:"varint,9,opt,name=relay_enabled,json=relayEnabled,proto3,enum=weshnet.protocol.v1.ServiceGetConfiguration_SettingState" json:"relay_enabled,omitempty"` - DevicePushToken *PushServiceReceiver `protobuf:"bytes,10,opt,name=device_push_token,json=devicePushToken,proto3" json:"device_push_token,omitempty"` - DevicePushServer *PushServer `protobuf:"bytes,11,opt,name=device_push_server,json=devicePushServer,proto3" json:"device_push_server,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2956,20 +2941,6 @@ func (m *ServiceGetConfiguration_Reply) GetRelayEnabled() ServiceGetConfiguratio return Unknown } -func (m *ServiceGetConfiguration_Reply) GetDevicePushToken() *PushServiceReceiver { - if m != nil { - return m.DevicePushToken - } - return nil -} - -func (m *ServiceGetConfiguration_Reply) GetDevicePushServer() *PushServer { - if m != nil { - return m.DevicePushServer - } - return nil -} - type ContactRequestReference struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -9761,61 +9732,6 @@ func (m *Progress) GetDelay() uint64 { return 0 } -type MemberWithDevices struct { - MemberPK []byte `protobuf:"bytes,1,opt,name=member_pk,json=memberPk,proto3" json:"member_pk,omitempty"` - DevicePKs [][]byte `protobuf:"bytes,2,rep,name=devices_pks,json=devicesPks,proto3" json:"devices_pks,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *MemberWithDevices) Reset() { *m = MemberWithDevices{} } -func (m *MemberWithDevices) String() string { return proto.CompactTextString(m) } -func (*MemberWithDevices) ProtoMessage() {} -func (*MemberWithDevices) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{85} -} -func (m *MemberWithDevices) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MemberWithDevices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MemberWithDevices.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MemberWithDevices) XXX_Merge(src proto.Message) { - xxx_messageInfo_MemberWithDevices.Merge(m, src) -} -func (m *MemberWithDevices) XXX_Size() int { - return m.Size() -} -func (m *MemberWithDevices) XXX_DiscardUnknown() { - xxx_messageInfo_MemberWithDevices.DiscardUnknown(m) -} - -var xxx_messageInfo_MemberWithDevices proto.InternalMessageInfo - -func (m *MemberWithDevices) GetMemberPK() []byte { - if m != nil { - return m.MemberPK - } - return nil -} - -func (m *MemberWithDevices) GetDevicePKs() [][]byte { - if m != nil { - return m.DevicePKs - } - return nil -} - type OutOfStoreMessage struct { CID []byte `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` DevicePK []byte `protobuf:"bytes,2,opt,name=device_pk,json=devicePk,proto3" json:"device_pk,omitempty"` @@ -9833,7 +9749,7 @@ func (m *OutOfStoreMessage) Reset() { *m = OutOfStoreMessage{} } func (m *OutOfStoreMessage) String() string { return proto.CompactTextString(m) } func (*OutOfStoreMessage) ProtoMessage() {} func (*OutOfStoreMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{86} + return fileDescriptor_8aa93e54ccb19003, []int{85} } func (m *OutOfStoreMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9911,32 +9827,27 @@ func (m *OutOfStoreMessage) GetNonce() []byte { return nil } -type PushServiceReceiver struct { - // token_type is the type of the token used, it allows us to act as a proxy to the appropriate push server - TokenType pushtypes.PushServiceTokenType `protobuf:"varint,1,opt,name=token_type,json=tokenType,proto3,enum=weshnet.push.v1.PushServiceTokenType" json:"token_type,omitempty"` - // bundle_id is the app identifier - BundleID string `protobuf:"bytes,2,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"` - // token is the device identifier used - Token []byte `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` - // recipient_public_key is the public key which will be used to encrypt the payload - RecipientPublicKey []byte `protobuf:"bytes,4,opt,name=recipient_public_key,json=recipientPublicKey,proto3" json:"recipient_public_key,omitempty"` +type OutOfStoreMessageEnvelope struct { + Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + Box []byte `protobuf:"bytes,2,opt,name=box,proto3" json:"box,omitempty"` + GroupReference []byte `protobuf:"bytes,3,opt,name=group_reference,json=groupReference,proto3" json:"group_reference,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *PushServiceReceiver) Reset() { *m = PushServiceReceiver{} } -func (m *PushServiceReceiver) String() string { return proto.CompactTextString(m) } -func (*PushServiceReceiver) ProtoMessage() {} -func (*PushServiceReceiver) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{87} +func (m *OutOfStoreMessageEnvelope) Reset() { *m = OutOfStoreMessageEnvelope{} } +func (m *OutOfStoreMessageEnvelope) String() string { return proto.CompactTextString(m) } +func (*OutOfStoreMessageEnvelope) ProtoMessage() {} +func (*OutOfStoreMessageEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{86} } -func (m *PushServiceReceiver) XXX_Unmarshal(b []byte) error { +func (m *OutOfStoreMessageEnvelope) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *PushServiceReceiver) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *OutOfStoreMessageEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_PushServiceReceiver.Marshal(b, m, deterministic) + return xxx_messageInfo_OutOfStoreMessageEnvelope.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -9946,66 +9857,97 @@ func (m *PushServiceReceiver) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *PushServiceReceiver) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceReceiver.Merge(m, src) +func (m *OutOfStoreMessageEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutOfStoreMessageEnvelope.Merge(m, src) } -func (m *PushServiceReceiver) XXX_Size() int { +func (m *OutOfStoreMessageEnvelope) XXX_Size() int { return m.Size() } -func (m *PushServiceReceiver) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceReceiver.DiscardUnknown(m) +func (m *OutOfStoreMessageEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_OutOfStoreMessageEnvelope.DiscardUnknown(m) } -var xxx_messageInfo_PushServiceReceiver proto.InternalMessageInfo +var xxx_messageInfo_OutOfStoreMessageEnvelope proto.InternalMessageInfo -func (m *PushServiceReceiver) GetTokenType() pushtypes.PushServiceTokenType { +func (m *OutOfStoreMessageEnvelope) GetNonce() []byte { if m != nil { - return m.TokenType + return m.Nonce } - return pushtypes.PushServiceTokenType_PushTokenUndefined + return nil } -func (m *PushServiceReceiver) GetBundleID() string { +func (m *OutOfStoreMessageEnvelope) GetBox() []byte { if m != nil { - return m.BundleID + return m.Box } - return "" + return nil } -func (m *PushServiceReceiver) GetToken() []byte { +func (m *OutOfStoreMessageEnvelope) GetGroupReference() []byte { if m != nil { - return m.Token + return m.GroupReference } return nil } -func (m *PushServiceReceiver) GetRecipientPublicKey() []byte { - if m != nil { - return m.RecipientPublicKey +type OutOfStoreReceive struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OutOfStoreReceive) Reset() { *m = OutOfStoreReceive{} } +func (m *OutOfStoreReceive) String() string { return proto.CompactTextString(m) } +func (*OutOfStoreReceive) ProtoMessage() {} +func (*OutOfStoreReceive) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{87} +} +func (m *OutOfStoreReceive) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OutOfStoreReceive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OutOfStoreReceive.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return nil } +func (m *OutOfStoreReceive) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutOfStoreReceive.Merge(m, src) +} +func (m *OutOfStoreReceive) XXX_Size() int { + return m.Size() +} +func (m *OutOfStoreReceive) XXX_DiscardUnknown() { + xxx_messageInfo_OutOfStoreReceive.DiscardUnknown(m) +} + +var xxx_messageInfo_OutOfStoreReceive proto.InternalMessageInfo -type PushServer struct { - ServerKey []byte `protobuf:"bytes,1,opt,name=server_key,json=serverKey,proto3" json:"server_key,omitempty"` - ServiceAddr string `protobuf:"bytes,2,opt,name=service_addr,json=serviceAddr,proto3" json:"service_addr,omitempty"` +type OutOfStoreReceive_Request struct { + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *PushServer) Reset() { *m = PushServer{} } -func (m *PushServer) String() string { return proto.CompactTextString(m) } -func (*PushServer) ProtoMessage() {} -func (*PushServer) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{88} +func (m *OutOfStoreReceive_Request) Reset() { *m = OutOfStoreReceive_Request{} } +func (m *OutOfStoreReceive_Request) String() string { return proto.CompactTextString(m) } +func (*OutOfStoreReceive_Request) ProtoMessage() {} +func (*OutOfStoreReceive_Request) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{87, 0} } -func (m *PushServer) XXX_Unmarshal(b []byte) error { +func (m *OutOfStoreReceive_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *PushServer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *OutOfStoreReceive_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_PushServer.Marshal(b, m, deterministic) + return xxx_messageInfo_OutOfStoreReceive_Request.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -10015,53 +9957,114 @@ func (m *PushServer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *PushServer) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServer.Merge(m, src) +func (m *OutOfStoreReceive_Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutOfStoreReceive_Request.Merge(m, src) } -func (m *PushServer) XXX_Size() int { +func (m *OutOfStoreReceive_Request) XXX_Size() int { return m.Size() } -func (m *PushServer) XXX_DiscardUnknown() { - xxx_messageInfo_PushServer.DiscardUnknown(m) +func (m *OutOfStoreReceive_Request) XXX_DiscardUnknown() { + xxx_messageInfo_OutOfStoreReceive_Request.DiscardUnknown(m) } -var xxx_messageInfo_PushServer proto.InternalMessageInfo +var xxx_messageInfo_OutOfStoreReceive_Request proto.InternalMessageInfo -func (m *PushServer) GetServerKey() []byte { +func (m *OutOfStoreReceive_Request) GetPayload() []byte { if m != nil { - return m.ServerKey + return m.Payload } return nil } -func (m *PushServer) GetServiceAddr() string { +type OutOfStoreReceive_Reply struct { + Message *OutOfStoreMessage `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Cleartext []byte `protobuf:"bytes,2,opt,name=cleartext,proto3" json:"cleartext,omitempty"` + GroupPublicKey []byte `protobuf:"bytes,3,opt,name=group_public_key,json=groupPublicKey,proto3" json:"group_public_key,omitempty"` + AlreadyReceived bool `protobuf:"varint,4,opt,name=already_received,json=alreadyReceived,proto3" json:"already_received,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OutOfStoreReceive_Reply) Reset() { *m = OutOfStoreReceive_Reply{} } +func (m *OutOfStoreReceive_Reply) String() string { return proto.CompactTextString(m) } +func (*OutOfStoreReceive_Reply) ProtoMessage() {} +func (*OutOfStoreReceive_Reply) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{87, 1} +} +func (m *OutOfStoreReceive_Reply) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OutOfStoreReceive_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OutOfStoreReceive_Reply.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *OutOfStoreReceive_Reply) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutOfStoreReceive_Reply.Merge(m, src) +} +func (m *OutOfStoreReceive_Reply) XXX_Size() int { + return m.Size() +} +func (m *OutOfStoreReceive_Reply) XXX_DiscardUnknown() { + xxx_messageInfo_OutOfStoreReceive_Reply.DiscardUnknown(m) +} + +var xxx_messageInfo_OutOfStoreReceive_Reply proto.InternalMessageInfo + +func (m *OutOfStoreReceive_Reply) GetMessage() *OutOfStoreMessage { if m != nil { - return m.ServiceAddr + return m.Message } - return "" + return nil } -type PushDeviceTokenRegistered struct { - Token *PushServiceReceiver `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - // device_pk is the public key of the device sending the message - DevicePK []byte `protobuf:"bytes,2,opt,name=device_pk,json=devicePk,proto3" json:"device_pk,omitempty"` +func (m *OutOfStoreReceive_Reply) GetCleartext() []byte { + if m != nil { + return m.Cleartext + } + return nil +} + +func (m *OutOfStoreReceive_Reply) GetGroupPublicKey() []byte { + if m != nil { + return m.GroupPublicKey + } + return nil +} + +func (m *OutOfStoreReceive_Reply) GetAlreadyReceived() bool { + if m != nil { + return m.AlreadyReceived + } + return false +} + +type OutOfStoreSeal struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *PushDeviceTokenRegistered) Reset() { *m = PushDeviceTokenRegistered{} } -func (m *PushDeviceTokenRegistered) String() string { return proto.CompactTextString(m) } -func (*PushDeviceTokenRegistered) ProtoMessage() {} -func (*PushDeviceTokenRegistered) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{89} +func (m *OutOfStoreSeal) Reset() { *m = OutOfStoreSeal{} } +func (m *OutOfStoreSeal) String() string { return proto.CompactTextString(m) } +func (*OutOfStoreSeal) ProtoMessage() {} +func (*OutOfStoreSeal) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{88} } -func (m *PushDeviceTokenRegistered) XXX_Unmarshal(b []byte) error { +func (m *OutOfStoreSeal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *PushDeviceTokenRegistered) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *OutOfStoreSeal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_PushDeviceTokenRegistered.Marshal(b, m, deterministic) + return xxx_messageInfo_OutOfStoreSeal.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -10071,53 +10074,92 @@ func (m *PushDeviceTokenRegistered) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *PushDeviceTokenRegistered) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushDeviceTokenRegistered.Merge(m, src) +func (m *OutOfStoreSeal) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutOfStoreSeal.Merge(m, src) } -func (m *PushDeviceTokenRegistered) XXX_Size() int { +func (m *OutOfStoreSeal) XXX_Size() int { return m.Size() } -func (m *PushDeviceTokenRegistered) XXX_DiscardUnknown() { - xxx_messageInfo_PushDeviceTokenRegistered.DiscardUnknown(m) +func (m *OutOfStoreSeal) XXX_DiscardUnknown() { + xxx_messageInfo_OutOfStoreSeal.DiscardUnknown(m) } -var xxx_messageInfo_PushDeviceTokenRegistered proto.InternalMessageInfo +var xxx_messageInfo_OutOfStoreSeal proto.InternalMessageInfo -func (m *PushDeviceTokenRegistered) GetToken() *PushServiceReceiver { +type OutOfStoreSeal_Request struct { + CID []byte `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` + GroupPublicKey []byte `protobuf:"bytes,2,opt,name=group_public_key,json=groupPublicKey,proto3" json:"group_public_key,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OutOfStoreSeal_Request) Reset() { *m = OutOfStoreSeal_Request{} } +func (m *OutOfStoreSeal_Request) String() string { return proto.CompactTextString(m) } +func (*OutOfStoreSeal_Request) ProtoMessage() {} +func (*OutOfStoreSeal_Request) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{88, 0} +} +func (m *OutOfStoreSeal_Request) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OutOfStoreSeal_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OutOfStoreSeal_Request.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *OutOfStoreSeal_Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutOfStoreSeal_Request.Merge(m, src) +} +func (m *OutOfStoreSeal_Request) XXX_Size() int { + return m.Size() +} +func (m *OutOfStoreSeal_Request) XXX_DiscardUnknown() { + xxx_messageInfo_OutOfStoreSeal_Request.DiscardUnknown(m) +} + +var xxx_messageInfo_OutOfStoreSeal_Request proto.InternalMessageInfo + +func (m *OutOfStoreSeal_Request) GetCID() []byte { if m != nil { - return m.Token + return m.CID } return nil } -func (m *PushDeviceTokenRegistered) GetDevicePK() []byte { +func (m *OutOfStoreSeal_Request) GetGroupPublicKey() []byte { if m != nil { - return m.DevicePK + return m.GroupPublicKey } return nil } -type PushDeviceServerRegistered struct { - Server *PushServer `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` - // device_pk is the public key of the device sending the message - DevicePK []byte `protobuf:"bytes,2,opt,name=device_pk,json=devicePk,proto3" json:"device_pk,omitempty"` +type OutOfStoreSeal_Reply struct { + Encrypted []byte `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *PushDeviceServerRegistered) Reset() { *m = PushDeviceServerRegistered{} } -func (m *PushDeviceServerRegistered) String() string { return proto.CompactTextString(m) } -func (*PushDeviceServerRegistered) ProtoMessage() {} -func (*PushDeviceServerRegistered) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{90} +func (m *OutOfStoreSeal_Reply) Reset() { *m = OutOfStoreSeal_Reply{} } +func (m *OutOfStoreSeal_Reply) String() string { return proto.CompactTextString(m) } +func (*OutOfStoreSeal_Reply) ProtoMessage() {} +func (*OutOfStoreSeal_Reply) Descriptor() ([]byte, []int) { + return fileDescriptor_8aa93e54ccb19003, []int{88, 1} } -func (m *PushDeviceServerRegistered) XXX_Unmarshal(b []byte) error { +func (m *OutOfStoreSeal_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *PushDeviceServerRegistered) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *OutOfStoreSeal_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_PushDeviceServerRegistered.Marshal(b, m, deterministic) + return xxx_messageInfo_OutOfStoreSeal_Reply.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -10127,28 +10169,21 @@ func (m *PushDeviceServerRegistered) XXX_Marshal(b []byte, deterministic bool) ( return b[:n], nil } } -func (m *PushDeviceServerRegistered) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushDeviceServerRegistered.Merge(m, src) +func (m *OutOfStoreSeal_Reply) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutOfStoreSeal_Reply.Merge(m, src) } -func (m *PushDeviceServerRegistered) XXX_Size() int { +func (m *OutOfStoreSeal_Reply) XXX_Size() int { return m.Size() } -func (m *PushDeviceServerRegistered) XXX_DiscardUnknown() { - xxx_messageInfo_PushDeviceServerRegistered.DiscardUnknown(m) +func (m *OutOfStoreSeal_Reply) XXX_DiscardUnknown() { + xxx_messageInfo_OutOfStoreSeal_Reply.DiscardUnknown(m) } -var xxx_messageInfo_PushDeviceServerRegistered proto.InternalMessageInfo - -func (m *PushDeviceServerRegistered) GetServer() *PushServer { - if m != nil { - return m.Server - } - return nil -} +var xxx_messageInfo_OutOfStoreSeal_Reply proto.InternalMessageInfo -func (m *PushDeviceServerRegistered) GetDevicePK() []byte { +func (m *OutOfStoreSeal_Reply) GetEncrypted() []byte { if m != nil { - return m.DevicePK + return m.Encrypted } return nil } @@ -10171,7 +10206,7 @@ func (m *AccountVerifiedCredentialRegistered) Reset() { *m = AccountVeri func (m *AccountVerifiedCredentialRegistered) String() string { return proto.CompactTextString(m) } func (*AccountVerifiedCredentialRegistered) ProtoMessage() {} func (*AccountVerifiedCredentialRegistered) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{91} + return fileDescriptor_8aa93e54ccb19003, []int{89} } func (m *AccountVerifiedCredentialRegistered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10249,368 +10284,6 @@ func (m *AccountVerifiedCredentialRegistered) GetIssuer() string { return "" } -type PushMemberTokenUpdate struct { - Server *PushServer `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` - Token []byte `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` - // device_pk is the public key of the device sending the message - DevicePK []byte `protobuf:"bytes,3,opt,name=device_pk,json=devicePk,proto3" json:"device_pk,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushMemberTokenUpdate) Reset() { *m = PushMemberTokenUpdate{} } -func (m *PushMemberTokenUpdate) String() string { return proto.CompactTextString(m) } -func (*PushMemberTokenUpdate) ProtoMessage() {} -func (*PushMemberTokenUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{92} -} -func (m *PushMemberTokenUpdate) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushMemberTokenUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushMemberTokenUpdate.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushMemberTokenUpdate) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushMemberTokenUpdate.Merge(m, src) -} -func (m *PushMemberTokenUpdate) XXX_Size() int { - return m.Size() -} -func (m *PushMemberTokenUpdate) XXX_DiscardUnknown() { - xxx_messageInfo_PushMemberTokenUpdate.DiscardUnknown(m) -} - -var xxx_messageInfo_PushMemberTokenUpdate proto.InternalMessageInfo - -func (m *PushMemberTokenUpdate) GetServer() *PushServer { - if m != nil { - return m.Server - } - return nil -} - -func (m *PushMemberTokenUpdate) GetToken() []byte { - if m != nil { - return m.Token - } - return nil -} - -func (m *PushMemberTokenUpdate) GetDevicePK() []byte { - if m != nil { - return m.DevicePK - } - return nil -} - -type OutOfStoreReceive struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreReceive) Reset() { *m = OutOfStoreReceive{} } -func (m *OutOfStoreReceive) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreReceive) ProtoMessage() {} -func (*OutOfStoreReceive) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{93} -} -func (m *OutOfStoreReceive) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreReceive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreReceive.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreReceive) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreReceive.Merge(m, src) -} -func (m *OutOfStoreReceive) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreReceive) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreReceive.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreReceive proto.InternalMessageInfo - -type OutOfStoreReceive_Request struct { - Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreReceive_Request) Reset() { *m = OutOfStoreReceive_Request{} } -func (m *OutOfStoreReceive_Request) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreReceive_Request) ProtoMessage() {} -func (*OutOfStoreReceive_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{93, 0} -} -func (m *OutOfStoreReceive_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreReceive_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreReceive_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreReceive_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreReceive_Request.Merge(m, src) -} -func (m *OutOfStoreReceive_Request) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreReceive_Request) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreReceive_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreReceive_Request proto.InternalMessageInfo - -func (m *OutOfStoreReceive_Request) GetPayload() []byte { - if m != nil { - return m.Payload - } - return nil -} - -type OutOfStoreReceive_Reply struct { - Message *OutOfStoreMessage `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - Cleartext []byte `protobuf:"bytes,2,opt,name=cleartext,proto3" json:"cleartext,omitempty"` - GroupPublicKey []byte `protobuf:"bytes,3,opt,name=group_public_key,json=groupPublicKey,proto3" json:"group_public_key,omitempty"` - AlreadyReceived bool `protobuf:"varint,4,opt,name=already_received,json=alreadyReceived,proto3" json:"already_received,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreReceive_Reply) Reset() { *m = OutOfStoreReceive_Reply{} } -func (m *OutOfStoreReceive_Reply) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreReceive_Reply) ProtoMessage() {} -func (*OutOfStoreReceive_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{93, 1} -} -func (m *OutOfStoreReceive_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreReceive_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreReceive_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreReceive_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreReceive_Reply.Merge(m, src) -} -func (m *OutOfStoreReceive_Reply) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreReceive_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreReceive_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreReceive_Reply proto.InternalMessageInfo - -func (m *OutOfStoreReceive_Reply) GetMessage() *OutOfStoreMessage { - if m != nil { - return m.Message - } - return nil -} - -func (m *OutOfStoreReceive_Reply) GetCleartext() []byte { - if m != nil { - return m.Cleartext - } - return nil -} - -func (m *OutOfStoreReceive_Reply) GetGroupPublicKey() []byte { - if m != nil { - return m.GroupPublicKey - } - return nil -} - -func (m *OutOfStoreReceive_Reply) GetAlreadyReceived() bool { - if m != nil { - return m.AlreadyReceived - } - return false -} - -type OutOfStoreSeal struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreSeal) Reset() { *m = OutOfStoreSeal{} } -func (m *OutOfStoreSeal) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreSeal) ProtoMessage() {} -func (*OutOfStoreSeal) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{94} -} -func (m *OutOfStoreSeal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreSeal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreSeal.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreSeal) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreSeal.Merge(m, src) -} -func (m *OutOfStoreSeal) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreSeal) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreSeal.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreSeal proto.InternalMessageInfo - -type OutOfStoreSeal_Request struct { - CID []byte `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` - GroupPublicKey []byte `protobuf:"bytes,2,opt,name=group_public_key,json=groupPublicKey,proto3" json:"group_public_key,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreSeal_Request) Reset() { *m = OutOfStoreSeal_Request{} } -func (m *OutOfStoreSeal_Request) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreSeal_Request) ProtoMessage() {} -func (*OutOfStoreSeal_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{94, 0} -} -func (m *OutOfStoreSeal_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreSeal_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreSeal_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreSeal_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreSeal_Request.Merge(m, src) -} -func (m *OutOfStoreSeal_Request) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreSeal_Request) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreSeal_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreSeal_Request proto.InternalMessageInfo - -func (m *OutOfStoreSeal_Request) GetCID() []byte { - if m != nil { - return m.CID - } - return nil -} - -func (m *OutOfStoreSeal_Request) GetGroupPublicKey() []byte { - if m != nil { - return m.GroupPublicKey - } - return nil -} - -type OutOfStoreSeal_Reply struct { - Encrypted []byte `protobuf:"bytes,1,opt,name=encrypted,proto3" json:"encrypted,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreSeal_Reply) Reset() { *m = OutOfStoreSeal_Reply{} } -func (m *OutOfStoreSeal_Reply) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreSeal_Reply) ProtoMessage() {} -func (*OutOfStoreSeal_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{94, 1} -} -func (m *OutOfStoreSeal_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreSeal_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreSeal_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreSeal_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreSeal_Reply.Merge(m, src) -} -func (m *OutOfStoreSeal_Reply) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreSeal_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreSeal_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreSeal_Reply proto.InternalMessageInfo - -func (m *OutOfStoreSeal_Reply) GetEncrypted() []byte { - if m != nil { - return m.Encrypted - } - return nil -} - type FirstLastCounters struct { First uint64 `protobuf:"varint,1,opt,name=first,proto3" json:"first,omitempty"` Last uint64 `protobuf:"varint,2,opt,name=last,proto3" json:"last,omitempty"` @@ -10623,7 +10296,7 @@ func (m *FirstLastCounters) Reset() { *m = FirstLastCounters{} } func (m *FirstLastCounters) String() string { return proto.CompactTextString(m) } func (*FirstLastCounters) ProtoMessage() {} func (*FirstLastCounters) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{95} + return fileDescriptor_8aa93e54ccb19003, []int{90} } func (m *FirstLastCounters) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10681,7 +10354,7 @@ func (m *OrbitDBMessageHeads) Reset() { *m = OrbitDBMessageHeads{} } func (m *OrbitDBMessageHeads) String() string { return proto.CompactTextString(m) } func (*OrbitDBMessageHeads) ProtoMessage() {} func (*OrbitDBMessageHeads) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{96} + return fileDescriptor_8aa93e54ccb19003, []int{91} } func (m *OrbitDBMessageHeads) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10738,7 +10411,7 @@ func (m *OrbitDBMessageHeads_Box) Reset() { *m = OrbitDBMessageHeads_Box func (m *OrbitDBMessageHeads_Box) String() string { return proto.CompactTextString(m) } func (*OrbitDBMessageHeads_Box) ProtoMessage() {} func (*OrbitDBMessageHeads_Box) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{96, 0} + return fileDescriptor_8aa93e54ccb19003, []int{91, 0} } func (m *OrbitDBMessageHeads_Box) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10805,7 +10478,7 @@ func (m *RefreshContactRequest) Reset() { *m = RefreshContactRequest{} } func (m *RefreshContactRequest) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest) ProtoMessage() {} func (*RefreshContactRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{97} + return fileDescriptor_8aa93e54ccb19003, []int{92} } func (m *RefreshContactRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10848,7 +10521,7 @@ func (m *RefreshContactRequest_Peer) Reset() { *m = RefreshContactReques func (m *RefreshContactRequest_Peer) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Peer) ProtoMessage() {} func (*RefreshContactRequest_Peer) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{97, 0} + return fileDescriptor_8aa93e54ccb19003, []int{92, 0} } func (m *RefreshContactRequest_Peer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10904,7 +10577,7 @@ func (m *RefreshContactRequest_Request) Reset() { *m = RefreshContactReq func (m *RefreshContactRequest_Request) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Request) ProtoMessage() {} func (*RefreshContactRequest_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{97, 1} + return fileDescriptor_8aa93e54ccb19003, []int{92, 1} } func (m *RefreshContactRequest_Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10959,7 +10632,7 @@ func (m *RefreshContactRequest_Reply) Reset() { *m = RefreshContactReque func (m *RefreshContactRequest_Reply) String() string { return proto.CompactTextString(m) } func (*RefreshContactRequest_Reply) ProtoMessage() {} func (*RefreshContactRequest_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_8aa93e54ccb19003, []int{97, 2} + return fileDescriptor_8aa93e54ccb19003, []int{92, 2} } func (m *RefreshContactRequest_Reply) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11184,20 +10857,15 @@ func init() { proto.RegisterType((*PeerList_Route)(nil), "weshnet.protocol.v1.PeerList.Route") proto.RegisterType((*PeerList_Stream)(nil), "weshnet.protocol.v1.PeerList.Stream") proto.RegisterType((*Progress)(nil), "weshnet.protocol.v1.Progress") - proto.RegisterType((*MemberWithDevices)(nil), "weshnet.protocol.v1.MemberWithDevices") proto.RegisterType((*OutOfStoreMessage)(nil), "weshnet.protocol.v1.OutOfStoreMessage") - proto.RegisterType((*PushServiceReceiver)(nil), "weshnet.protocol.v1.PushServiceReceiver") - proto.RegisterType((*PushServer)(nil), "weshnet.protocol.v1.PushServer") - proto.RegisterType((*PushDeviceTokenRegistered)(nil), "weshnet.protocol.v1.PushDeviceTokenRegistered") - proto.RegisterType((*PushDeviceServerRegistered)(nil), "weshnet.protocol.v1.PushDeviceServerRegistered") - proto.RegisterType((*AccountVerifiedCredentialRegistered)(nil), "weshnet.protocol.v1.AccountVerifiedCredentialRegistered") - proto.RegisterType((*PushMemberTokenUpdate)(nil), "weshnet.protocol.v1.PushMemberTokenUpdate") + proto.RegisterType((*OutOfStoreMessageEnvelope)(nil), "weshnet.protocol.v1.OutOfStoreMessageEnvelope") proto.RegisterType((*OutOfStoreReceive)(nil), "weshnet.protocol.v1.OutOfStoreReceive") proto.RegisterType((*OutOfStoreReceive_Request)(nil), "weshnet.protocol.v1.OutOfStoreReceive.Request") proto.RegisterType((*OutOfStoreReceive_Reply)(nil), "weshnet.protocol.v1.OutOfStoreReceive.Reply") proto.RegisterType((*OutOfStoreSeal)(nil), "weshnet.protocol.v1.OutOfStoreSeal") proto.RegisterType((*OutOfStoreSeal_Request)(nil), "weshnet.protocol.v1.OutOfStoreSeal.Request") proto.RegisterType((*OutOfStoreSeal_Reply)(nil), "weshnet.protocol.v1.OutOfStoreSeal.Reply") + proto.RegisterType((*AccountVerifiedCredentialRegistered)(nil), "weshnet.protocol.v1.AccountVerifiedCredentialRegistered") proto.RegisterType((*FirstLastCounters)(nil), "weshnet.protocol.v1.FirstLastCounters") proto.RegisterType((*OrbitDBMessageHeads)(nil), "weshnet.protocol.v1.OrbitDBMessageHeads") proto.RegisterType((*OrbitDBMessageHeads_Box)(nil), "weshnet.protocol.v1.OrbitDBMessageHeads.Box") @@ -11210,411 +10878,392 @@ func init() { func init() { proto.RegisterFile("protocoltypes.proto", fileDescriptor_8aa93e54ccb19003) } var fileDescriptor_8aa93e54ccb19003 = []byte{ - // 6449 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x4b, 0x6c, 0x1c, 0xd9, - 0x75, 0xe8, 0x54, 0x37, 0xc9, 0xee, 0x3e, 0x6c, 0x36, 0x8b, 0x57, 0x94, 0xd4, 0xea, 0x91, 0x44, - 0x4d, 0x69, 0xf4, 0x9d, 0x19, 0x4a, 0xc3, 0x99, 0xe7, 0xf1, 0x58, 0x9e, 0xb1, 0x29, 0x52, 0x92, - 0x39, 0xfa, 0xf5, 0x14, 0x45, 0x8f, 0xc7, 0x18, 0xbc, 0x72, 0xb1, 0xea, 0xb2, 0x59, 0x66, 0x75, - 0x55, 0x4d, 0x55, 0x35, 0x25, 0x1a, 0xf6, 0x83, 0x9f, 0xed, 0xf1, 0xf3, 0x03, 0x6c, 0xc7, 0x9f, - 0xfc, 0x80, 0x18, 0x59, 0x65, 0x11, 0x20, 0x70, 0x02, 0x18, 0x81, 0x81, 0x00, 0x59, 0x65, 0x15, - 0x07, 0x89, 0xe1, 0x55, 0x16, 0x59, 0x30, 0x0e, 0xb3, 0x71, 0x80, 0x20, 0x08, 0x10, 0x3b, 0x59, - 0x18, 0x08, 0x82, 0xfb, 0xab, 0xba, 0xd5, 0xac, 0xea, 0x8f, 0xa4, 0x41, 0x16, 0x59, 0xa9, 0xef, - 0xa9, 0xf3, 0xbb, 0xe7, 0xfe, 0xce, 0x3d, 0xf7, 0x1c, 0x0a, 0x8e, 0x04, 0xa1, 0x1f, 0xfb, 0x96, - 0xef, 0xc6, 0x7b, 0x01, 0x8e, 0x16, 0x69, 0x0b, 0x1d, 0x79, 0x88, 0xa3, 0x6d, 0x0f, 0xc7, 0x8b, - 0xe2, 0xe3, 0xe2, 0xee, 0xcb, 0xad, 0xf9, 0x8e, 0xdf, 0xf1, 0x29, 0xe0, 0x0a, 0xf9, 0xc5, 0xbe, - 0xb5, 0x4e, 0x04, 0xbd, 0x68, 0x9b, 0xd2, 0x5e, 0x49, 0x7e, 0xb1, 0x4f, 0xda, 0xdf, 0x28, 0x50, - 0x59, 0xb6, 0x2c, 0xbf, 0xe7, 0xc5, 0xe8, 0x2a, 0x4c, 0x76, 0x42, 0xbf, 0x17, 0x34, 0x95, 0x33, - 0xca, 0xc5, 0xe9, 0xa5, 0xd6, 0x62, 0x8e, 0x84, 0xc5, 0x5b, 0x04, 0x43, 0x67, 0x88, 0x68, 0x11, - 0x8e, 0x98, 0x8c, 0xd8, 0x08, 0x42, 0x67, 0xd7, 0x8c, 0xb1, 0xb1, 0x83, 0xf7, 0x9a, 0xa5, 0x33, - 0xca, 0xc5, 0xba, 0x3e, 0xc7, 0x3f, 0xb5, 0xd9, 0x97, 0xdb, 0x78, 0x0f, 0x5d, 0x86, 0x39, 0xd3, - 0x75, 0xcc, 0x28, 0x83, 0x5d, 0xa6, 0xd8, 0xb3, 0xf4, 0x83, 0x84, 0xfb, 0x2a, 0x1c, 0x0b, 0x7a, - 0x9b, 0xae, 0x63, 0x19, 0x21, 0xf6, 0x6c, 0xfc, 0x85, 0x5d, 0xbf, 0x17, 0x19, 0x11, 0xc6, 0x76, - 0x73, 0x82, 0x12, 0xcc, 0xb3, 0xaf, 0x7a, 0xf2, 0x71, 0x1d, 0x63, 0x5b, 0xfb, 0xa5, 0x02, 0x93, - 0x54, 0x45, 0x74, 0x0a, 0x80, 0xd3, 0x13, 0x21, 0x0a, 0xa5, 0xa9, 0x31, 0x08, 0x61, 0x7f, 0x0c, - 0xa6, 0x22, 0x6c, 0x85, 0x38, 0xe6, 0xda, 0xf2, 0x16, 0x21, 0x63, 0xbf, 0x8c, 0xc8, 0xe9, 0x70, - 0xdd, 0x6a, 0x0c, 0xb2, 0xee, 0x74, 0xd0, 0x1b, 0x00, 0xb4, 0xeb, 0x06, 0x31, 0x22, 0xd5, 0xa4, - 0xb1, 0x74, 0xba, 0xd8, 0x50, 0x0f, 0xf6, 0x02, 0xac, 0xd7, 0x3a, 0xe2, 0x27, 0x3a, 0x01, 0xd5, - 0xc8, 0xe9, 0x78, 0x46, 0xd0, 0xdb, 0x6c, 0x4e, 0x52, 0xde, 0x15, 0xd2, 0x6e, 0xf7, 0x36, 0xc9, - 0x27, 0xd7, 0xf1, 0x76, 0xa8, 0xb6, 0x53, 0xec, 0x13, 0x69, 0x13, 0x5d, 0xcf, 0x40, 0x5d, 0x7c, - 0xa2, 0x5a, 0x55, 0xe8, 0x67, 0xe0, 0x9f, 0xd7, 0x9d, 0x8e, 0xf6, 0x2b, 0x05, 0x54, 0x2a, 0xf0, - 0x53, 0xd8, 0xb4, 0xa3, 0x1b, 0x8f, 0x02, 0x3f, 0x8c, 0x87, 0x59, 0x40, 0xd6, 0xa5, 0x94, 0xd5, - 0xe5, 0x06, 0x1c, 0xe9, 0xe2, 0xd8, 0xb4, 0xcd, 0xd8, 0x34, 0xb6, 0x09, 0x47, 0xc3, 0x72, 0xec, - 0xa8, 0x59, 0x3e, 0x53, 0xbe, 0x58, 0xbf, 0x7e, 0xf4, 0x60, 0x7f, 0x61, 0xee, 0x2e, 0xff, 0x4c, - 0xe5, 0xad, 0xac, 0xad, 0x46, 0xfa, 0x5c, 0x37, 0x03, 0x72, 0xec, 0x88, 0xb1, 0x89, 0x22, 0xb3, - 0x83, 0x23, 0x99, 0xcd, 0x84, 0xcc, 0x86, 0x7d, 0xce, 0xb0, 0x91, 0x41, 0x84, 0x8d, 0x6c, 0x99, - 0xc9, 0x8c, 0x65, 0xb4, 0x9f, 0x2a, 0x30, 0x43, 0xfb, 0x2d, 0xf4, 0x21, 0x03, 0x84, 0x77, 0xb1, - 0x17, 0xb3, 0x01, 0x52, 0x06, 0x0c, 0xd0, 0x0d, 0x82, 0xc6, 0x06, 0x08, 0x8b, 0x9f, 0xa8, 0x09, - 0x95, 0xc0, 0xdc, 0x73, 0x7d, 0xd3, 0x16, 0x36, 0xe1, 0x4d, 0xa4, 0x42, 0x39, 0x9d, 0x11, 0xe4, - 0x27, 0xd2, 0x61, 0x4e, 0xf0, 0x33, 0x44, 0xe7, 0xe9, 0x94, 0x98, 0x5e, 0x3a, 0x97, 0x2b, 0xb1, - 0xcd, 0x7f, 0x0b, 0x65, 0x75, 0x35, 0xe8, 0x83, 0x68, 0xcb, 0xbc, 0x3f, 0x37, 0xbc, 0x5d, 0xec, - 0xfa, 0x01, 0x46, 0xf3, 0x30, 0xe9, 0xf9, 0x9e, 0x85, 0xf9, 0xf8, 0xb1, 0x06, 0x81, 0x52, 0x9d, - 0xb9, 0x92, 0xac, 0xf1, 0xd6, 0x44, 0xb5, 0xac, 0x4e, 0x68, 0xff, 0xa6, 0x40, 0x83, 0xdb, 0x95, - 0xd8, 0x10, 0x87, 0x11, 0xe9, 0x15, 0x5d, 0x8a, 0x38, 0xa4, 0x6c, 0x26, 0x74, 0xd1, 0x44, 0x97, - 0xa0, 0x66, 0xe3, 0x5d, 0xc7, 0xc2, 0x46, 0xb0, 0xc3, 0x98, 0x5d, 0xaf, 0x1f, 0xec, 0x2f, 0x54, - 0x57, 0x29, 0xb0, 0x7d, 0x5b, 0xaf, 0xb2, 0xcf, 0xed, 0x9d, 0x1c, 0x03, 0xdc, 0x85, 0xaa, 0xd4, - 0xef, 0xf2, 0xc5, 0xe9, 0xa5, 0x97, 0x73, 0xfb, 0x9d, 0xd5, 0x66, 0x51, 0x74, 0xf6, 0x86, 0x17, - 0x87, 0x7b, 0x7a, 0xc2, 0xa2, 0x75, 0x0d, 0x66, 0x32, 0x9f, 0x88, 0x44, 0x31, 0x73, 0x6b, 0x3a, - 0xf9, 0x49, 0xfa, 0xbd, 0x6b, 0xba, 0x3d, 0x4c, 0x55, 0xad, 0xe9, 0xac, 0xf1, 0xb1, 0xd2, 0x47, - 0x15, 0xad, 0x09, 0x6a, 0xbf, 0x79, 0xdf, 0x9a, 0xa8, 0x2a, 0x6a, 0x49, 0xfb, 0x9a, 0x02, 0xea, - 0x0d, 0xcf, 0x0a, 0xf7, 0x82, 0x18, 0xdb, 0x5c, 0x15, 0x74, 0x12, 0x6a, 0x81, 0x6b, 0x3a, 0x5e, - 0x8c, 0x1f, 0xc5, 0xc9, 0xd2, 0x10, 0x80, 0xfc, 0x91, 0x2d, 0x3d, 0xd9, 0xc8, 0x06, 0x30, 0xcb, - 0x85, 0x27, 0x63, 0x7b, 0x01, 0x66, 0xf9, 0x6c, 0xa7, 0xcb, 0x03, 0x87, 0x11, 0x57, 0xa5, 0xd1, - 0x3d, 0x34, 0x7e, 0x1c, 0x22, 0x66, 0x25, 0x6f, 0xa6, 0xd3, 0xa3, 0x2c, 0x4d, 0x8f, 0xb7, 0x26, - 0xaa, 0x13, 0xea, 0xa4, 0xf6, 0x15, 0x05, 0xea, 0x74, 0x92, 0xaf, 0xf8, 0xac, 0x5b, 0xc7, 0xa0, - 0xe4, 0xd8, 0x4c, 0xc4, 0xf5, 0xa9, 0x83, 0xfd, 0x85, 0xd2, 0xda, 0xaa, 0x5e, 0x72, 0x6c, 0xf4, - 0x22, 0x40, 0x60, 0x86, 0x64, 0xd1, 0x90, 0xe5, 0x59, 0xa2, 0xcb, 0x73, 0xe6, 0x60, 0x7f, 0xa1, - 0xd6, 0xa6, 0x50, 0xb2, 0x2c, 0x6b, 0x0c, 0x61, 0xcd, 0x8e, 0xd0, 0x79, 0xa8, 0xb2, 0x2d, 0x30, - 0xd8, 0x61, 0x52, 0xaf, 0x4f, 0x1f, 0xec, 0x2f, 0x54, 0xe8, 0xb4, 0x6d, 0xdf, 0xd6, 0x2b, 0xf4, - 0x63, 0x7b, 0x87, 0x2b, 0x61, 0x40, 0x33, 0xb3, 0x40, 0xdb, 0x6c, 0x39, 0xad, 0x63, 0x2f, 0xce, - 0x4e, 0x3e, 0x65, 0xe0, 0xe4, 0x2b, 0xb4, 0x80, 0xe6, 0xc0, 0x3c, 0xe9, 0x9f, 0x69, 0xc5, 0xcb, - 0xe4, 0x04, 0xb9, 0x8d, 0xf7, 0x96, 0x6d, 0x1b, 0xdb, 0xe3, 0x30, 0x3f, 0x0f, 0x55, 0x7e, 0x2c, - 0x89, 0x35, 0x40, 0x7b, 0x44, 0xf9, 0x91, 0x1e, 0xb1, 0xa3, 0x69, 0x47, 0xfb, 0x96, 0x02, 0xc7, - 0x78, 0x67, 0xba, 0x9b, 0x38, 0x64, 0x9c, 0x12, 0x69, 0x5d, 0x0a, 0xec, 0x93, 0xc6, 0x30, 0x89, - 0x34, 0xf6, 0xb9, 0xbd, 0x33, 0xce, 0x92, 0x3b, 0x05, 0xc0, 0xb9, 0x4a, 0x87, 0x11, 0x83, 0x90, - 0x5d, 0xff, 0x16, 0x34, 0x18, 0xd1, 0xca, 0xb6, 0xe9, 0x78, 0x64, 0x4f, 0x7f, 0x16, 0x6a, 0x16, - 0xf9, 0x2d, 0xed, 0xf8, 0x55, 0x4b, 0x7c, 0x94, 0x76, 0x81, 0x52, 0x66, 0x17, 0xd0, 0x7e, 0x47, - 0xe1, 0xa3, 0x94, 0x65, 0x37, 0xb6, 0x21, 0x3f, 0x02, 0x0d, 0x1b, 0x47, 0xb1, 0x91, 0x9a, 0x82, - 0xf5, 0x4f, 0x3d, 0xd8, 0x5f, 0xa8, 0xaf, 0xe2, 0x28, 0x4e, 0xcc, 0x51, 0xb7, 0xd3, 0xd6, 0x8e, - 0xbc, 0xeb, 0x96, 0x33, 0xbb, 0x2e, 0xd1, 0x4c, 0xbb, 0xdb, 0x73, 0x63, 0x87, 0xe1, 0x52, 0x25, - 0xe9, 0xb8, 0xe8, 0x38, 0xf2, 0xdd, 0x5d, 0x1c, 0x8e, 0xad, 0xe3, 0x39, 0x68, 0xb0, 0xc1, 0x0e, - 0x39, 0x07, 0x3e, 0xa1, 0x66, 0x4c, 0x99, 0x2d, 0x5a, 0x80, 0x69, 0xe1, 0xaa, 0xf8, 0xfe, 0x16, - 0x57, 0x0b, 0xb8, 0x93, 0xe2, 0xfb, 0x5b, 0xda, 0xb7, 0x15, 0x38, 0x73, 0x48, 0x33, 0xbb, 0xeb, - 0x78, 0xba, 0xef, 0xe2, 0x5b, 0xa1, 0xe9, 0xc5, 0xe3, 0xe9, 0xf5, 0x09, 0x98, 0xeb, 0x50, 0x2a, - 0x7c, 0xc8, 0x7c, 0x47, 0x0e, 0xf6, 0x17, 0x66, 0x19, 0x4b, 0x9c, 0x58, 0x70, 0xb6, 0x93, 0x01, - 0xec, 0x68, 0xeb, 0x70, 0xbe, 0x5f, 0x9f, 0x35, 0xcf, 0x89, 0x1d, 0xd3, 0x65, 0x90, 0x65, 0xcf, - 0xf3, 0x7b, 0x9e, 0x35, 0xd6, 0x64, 0xd5, 0x4c, 0x38, 0xc3, 0x7b, 0x66, 0x2f, 0xdb, 0xb6, 0x13, - 0x3b, 0xbe, 0x67, 0xba, 0x59, 0x9f, 0x6b, 0x9c, 0x4e, 0x22, 0x98, 0xa0, 0x2e, 0x1c, 0x33, 0x39, - 0xfd, 0xad, 0xd9, 0x70, 0x96, 0x39, 0x95, 0xb8, 0xeb, 0xef, 0xe2, 0x0f, 0x4b, 0xca, 0xfb, 0x80, - 0xb8, 0x9f, 0x4b, 0x85, 0xbd, 0xe5, 0x3b, 0xde, 0x78, 0x4c, 0x13, 0xef, 0xb8, 0x34, 0xa2, 0x77, - 0xac, 0x61, 0x50, 0x65, 0x91, 0x77, 0xf0, 0x56, 0x3c, 0xe6, 0xae, 0x94, 0xec, 0xb3, 0xa5, 0xe2, - 0x7d, 0x56, 0x7b, 0x0b, 0x4e, 0x71, 0x31, 0x7c, 0x1f, 0xd4, 0xf1, 0xfb, 0x3d, 0x1c, 0xc5, 0xab, - 0x4e, 0x64, 0x6e, 0xba, 0x63, 0x75, 0x52, 0x5b, 0x83, 0x93, 0xb9, 0xbc, 0x6e, 0x78, 0x63, 0xb3, - 0xfa, 0xba, 0x02, 0x67, 0x73, 0x79, 0xe9, 0x78, 0x0b, 0x87, 0xd8, 0xb3, 0xb0, 0x8e, 0x23, 0x3c, - 0x96, 0x45, 0x8a, 0xaf, 0x04, 0xa5, 0x01, 0x57, 0x82, 0x7d, 0x05, 0xce, 0xe5, 0x2a, 0x72, 0xbf, - 0x17, 0x77, 0x7c, 0xc7, 0xeb, 0xdc, 0xf0, 0xde, 0xef, 0xe1, 0xde, 0xd8, 0x47, 0xc6, 0x28, 0x83, - 0x83, 0x3e, 0x41, 0xf6, 0x5c, 0x2a, 0x94, 0x6e, 0x21, 0x45, 0xfe, 0xc3, 0xfa, 0xb6, 0x19, 0x62, - 0x62, 0x62, 0xa1, 0xa1, 0xa0, 0x42, 0xcf, 0x41, 0xdd, 0x7f, 0xe8, 0x65, 0xfd, 0xcb, 0xba, 0x3e, - 0xed, 0x3f, 0xf4, 0x12, 0xcf, 0xe2, 0x8b, 0xf0, 0xdc, 0xc0, 0xfe, 0x8d, 0x7b, 0xd6, 0xbe, 0x08, - 0xc0, 0xa5, 0xa7, 0xbd, 0xa3, 0xee, 0x00, 0x67, 0xdf, 0xbe, 0xad, 0xd7, 0x38, 0x42, 0x7b, 0x47, - 0xfb, 0xc7, 0x22, 0xf3, 0xae, 0x79, 0x96, 0xdf, 0x75, 0xbc, 0x8e, 0x8e, 0x2d, 0xec, 0xec, 0x8e, - 0x67, 0xde, 0xb1, 0x54, 0x40, 0x1f, 0x81, 0xe3, 0x02, 0xbb, 0x7f, 0x62, 0xb0, 0x7d, 0xfb, 0xa8, - 0x25, 0x34, 0xeb, 0xdb, 0x52, 0x54, 0x41, 0xd7, 0x67, 0xdf, 0x59, 0x0e, 0x4f, 0x6c, 0xfc, 0x7f, - 0x15, 0x38, 0x3f, 0xb0, 0x97, 0xab, 0x4e, 0x64, 0x99, 0xa1, 0xfd, 0x21, 0x76, 0x53, 0xfb, 0xc3, - 0x61, 0x96, 0x5e, 0xb6, 0x2c, 0x1c, 0xc4, 0x1f, 0xa6, 0xa5, 0x47, 0xf4, 0xfd, 0xb4, 0x00, 0x8e, - 0x66, 0x35, 0xbd, 0xee, 0xfa, 0xd6, 0xce, 0x87, 0x69, 0x9c, 0x10, 0x8e, 0x67, 0x25, 0x6e, 0x78, - 0x9b, 0x1f, 0xb6, 0xcc, 0x6f, 0x29, 0xd0, 0xe4, 0x42, 0xd7, 0x71, 0x48, 0x58, 0x3c, 0xf0, 0x77, - 0xb0, 0x37, 0xb6, 0x4b, 0x72, 0x13, 0x66, 0x22, 0x46, 0x6f, 0xc4, 0x84, 0x01, 0x3f, 0x62, 0x9e, - 0xcb, 0xdf, 0x2a, 0x24, 0x49, 0x7a, 0x3d, 0x92, 0x5a, 0x9a, 0x0f, 0xad, 0x1c, 0x75, 0xd8, 0xb9, - 0x3a, 0xee, 0xee, 0x46, 0x15, 0x31, 0x1c, 0xb6, 0xb5, 0xd6, 0xd8, 0x30, 0x53, 0x76, 0x6b, 0xab, - 0x7a, 0x85, 0x7e, 0x5c, 0xb3, 0xb5, 0x1f, 0x89, 0xb0, 0x83, 0x8e, 0x03, 0xd7, 0xb1, 0xcc, 0xd8, - 0xf1, 0x3a, 0xe3, 0xc8, 0x59, 0x05, 0x64, 0xf6, 0xe2, 0x6d, 0xec, 0xc5, 0x94, 0xd8, 0xf7, 0x8c, - 0x5e, 0xe8, 0x72, 0x89, 0x34, 0x3e, 0xb0, 0x9c, 0xf9, 0xba, 0xa1, 0xdf, 0xd1, 0xe7, 0xb2, 0x04, - 0x1b, 0xa1, 0x8b, 0x5e, 0x02, 0x14, 0x0a, 0xf9, 0xbe, 0x67, 0x10, 0x93, 0xe0, 0x90, 0x4e, 0xcf, - 0x9a, 0x3e, 0x27, 0x7d, 0x59, 0xa7, 0x1f, 0xb4, 0x3b, 0x30, 0xc7, 0xcd, 0xc3, 0xe2, 0x24, 0xab, - 0xe4, 0xee, 0x59, 0x83, 0x0a, 0x5f, 0x4c, 0xad, 0x17, 0x61, 0x92, 0x74, 0x67, 0x0f, 0x9d, 0x85, - 0x19, 0x4c, 0x31, 0xb0, 0x6d, 0xd0, 0xbd, 0x81, 0x39, 0xd4, 0x75, 0x01, 0x24, 0x84, 0xda, 0xaf, - 0xa6, 0xe0, 0x38, 0x67, 0x77, 0x0b, 0x93, 0xb9, 0xb7, 0xe5, 0x74, 0x7a, 0x21, 0x95, 0x27, 0x33, - 0xfd, 0x60, 0x4a, 0x70, 0x7d, 0x11, 0x20, 0x89, 0x99, 0x09, 0xfb, 0xd0, 0x29, 0xc6, 0x87, 0x8e, - 0x4c, 0x31, 0x11, 0x39, 0x1b, 0xeb, 0xb2, 0xf0, 0x71, 0x50, 0x05, 0xe3, 0xbe, 0x35, 0x8a, 0x0e, - 0xf6, 0x17, 0x1a, 0xb2, 0x2b, 0xd2, 0xbe, 0xad, 0x37, 0x4c, 0xb9, 0xbd, 0x83, 0xce, 0x42, 0x25, - 0xc0, 0x38, 0x24, 0x23, 0x3e, 0x41, 0xed, 0x0f, 0x07, 0xfb, 0x0b, 0x53, 0x6d, 0x8c, 0xc3, 0xb5, - 0x55, 0x7d, 0x8a, 0x7c, 0x5a, 0xb3, 0xc9, 0xad, 0xd9, 0x75, 0xa2, 0x18, 0x7b, 0xe4, 0xaa, 0x3a, - 0x79, 0xa6, 0x7c, 0xb1, 0xa6, 0xa7, 0x00, 0xf4, 0x59, 0x98, 0xde, 0x74, 0xb1, 0x81, 0x99, 0xaf, - 0x40, 0x83, 0x58, 0x8d, 0xa5, 0xd7, 0x07, 0x4d, 0xe2, 0x7e, 0x8b, 0x2d, 0xae, 0xe3, 0x98, 0xcc, - 0xa1, 0xf5, 0xd8, 0x8c, 0xb1, 0x0e, 0x9b, 0x2e, 0x16, 0x8e, 0x87, 0x05, 0xea, 0x43, 0x67, 0xcb, - 0x31, 0x82, 0xa5, 0x20, 0x11, 0x50, 0x79, 0x52, 0x01, 0x0d, 0xc2, 0xb2, 0xbd, 0x14, 0x08, 0x21, - 0xef, 0x41, 0xbd, 0x6b, 0x7b, 0x51, 0x22, 0xa0, 0xfa, 0xa4, 0x02, 0xa6, 0x09, 0x3b, 0xc1, 0xfd, - 0x7f, 0xc3, 0x4c, 0x88, 0x5d, 0x73, 0x2f, 0x61, 0x5f, 0x7b, 0x52, 0xf6, 0x75, 0xca, 0x4f, 0xf0, - 0x7f, 0x00, 0x73, 0x62, 0xaa, 0xf4, 0xa2, 0x6d, 0xbe, 0x93, 0x00, 0xdd, 0x49, 0x2e, 0xe6, 0x07, - 0x2d, 0x7a, 0xd1, 0x36, 0x97, 0xc3, 0xcf, 0xe8, 0x50, 0x9f, 0xe5, 0xd3, 0xa9, 0x17, 0x6d, 0xd3, - 0xd5, 0x8e, 0xee, 0x02, 0x92, 0xb9, 0xf2, 0xc5, 0x35, 0x4d, 0xd9, 0x2e, 0x0c, 0x64, 0x8b, 0x43, - 0x5d, 0x4d, 0xb9, 0xf1, 0xc5, 0x77, 0x0b, 0xea, 0x72, 0x17, 0xd0, 0x34, 0x54, 0x36, 0xbc, 0x1d, - 0xcf, 0x7f, 0xe8, 0xa9, 0xcf, 0x90, 0x06, 0xef, 0x8c, 0xaa, 0xa0, 0x3a, 0x54, 0x85, 0x07, 0xab, - 0x96, 0xd0, 0x2c, 0x4c, 0x6f, 0x78, 0xe6, 0xae, 0xe9, 0xb8, 0x04, 0xa2, 0x96, 0xb5, 0x2f, 0xc1, - 0xf1, 0x02, 0xb7, 0x52, 0x5e, 0x76, 0xef, 0x88, 0x55, 0x57, 0xec, 0x3a, 0x2a, 0xc5, 0xae, 0x23, - 0xb9, 0x97, 0x8a, 0xc1, 0x22, 0x6b, 0xaf, 0xaa, 0x8b, 0xa6, 0xf6, 0x02, 0x1c, 0xcd, 0xf5, 0xb6, - 0x65, 0xe1, 0x15, 0x2e, 0x5c, 0xfb, 0x5c, 0x12, 0xa2, 0xc8, 0xb8, 0xd3, 0x32, 0xee, 0x1b, 0x4f, - 0xa4, 0xa8, 0xb6, 0x0d, 0x27, 0xfb, 0xad, 0x11, 0xe1, 0x7c, 0x93, 0x3c, 0xa1, 0xa4, 0x6f, 0x2a, - 0x80, 0xb2, 0xa2, 0xd6, 0xb1, 0x67, 0xb7, 0xba, 0x89, 0x00, 0xd9, 0xe5, 0x55, 0x9e, 0x8a, 0xcb, - 0x5b, 0x3a, 0xe4, 0xf2, 0xa6, 0xa6, 0xfd, 0x4c, 0xbf, 0x69, 0x99, 0x0f, 0xd4, 0x7a, 0x2d, 0xd5, - 0x27, 0x7b, 0xa6, 0x2b, 0x83, 0xcf, 0xf4, 0x94, 0xf3, 0xbb, 0x39, 0x23, 0x4c, 0x3c, 0xbc, 0xa7, - 0xc0, 0xfa, 0x36, 0xd4, 0x69, 0xef, 0x39, 0x96, 0x3c, 0x3a, 0x57, 0xc5, 0xe8, 0x5c, 0x80, 0x59, - 0xec, 0x59, 0xbe, 0x8d, 0x6d, 0x43, 0xb6, 0x66, 0x5d, 0x6f, 0x70, 0x30, 0x27, 0x26, 0x4e, 0xc8, - 0xcc, 0x2a, 0x26, 0x20, 0xc1, 0x6e, 0x29, 0x55, 0x70, 0x54, 0x2e, 0xad, 0x4f, 0x09, 0xb9, 0x4f, - 0x3a, 0x7a, 0x5a, 0x1b, 0xea, 0xb2, 0xcf, 0xf7, 0x14, 0xcc, 0xa5, 0x43, 0x23, 0xeb, 0xd3, 0x3d, - 0x05, 0x9e, 0x6f, 0xc3, 0x91, 0xbe, 0xa8, 0x21, 0x9d, 0xc6, 0x2f, 0xa7, 0x8c, 0x65, 0x57, 0x57, - 0x29, 0x76, 0x75, 0x53, 0x96, 0x0f, 0xe0, 0x58, 0x7f, 0xfc, 0x65, 0x25, 0xc4, 0x66, 0x9c, 0x59, - 0x7d, 0x57, 0x84, 0x9d, 0x47, 0x64, 0xaf, 0xbd, 0x07, 0xf3, 0xfd, 0x5c, 0xdf, 0xf2, 0x1d, 0xaf, - 0x75, 0x2d, 0xd5, 0x74, 0xec, 0x77, 0xbb, 0x54, 0xe7, 0x75, 0x38, 0xda, 0xcf, 0xfd, 0x0e, 0x36, - 0x77, 0xf1, 0x13, 0x19, 0xc2, 0x82, 0x73, 0x03, 0x43, 0x76, 0x64, 0x21, 0xb9, 0x7e, 0xf4, 0x64, - 0x42, 0xfe, 0x9f, 0x02, 0xa7, 0x07, 0x87, 0xdf, 0x5a, 0xef, 0x8d, 0xcd, 0x3e, 0x1b, 0x19, 0x2b, - 0x0d, 0x8a, 0x8c, 0xa5, 0x9a, 0x7c, 0x27, 0x27, 0x10, 0xb8, 0xe6, 0xed, 0x3a, 0x31, 0x3d, 0xb1, - 0xf9, 0x14, 0x78, 0x8c, 0xae, 0xbe, 0x2e, 0xa6, 0xca, 0xd8, 0xe3, 0xab, 0x7d, 0x43, 0x81, 0xd9, - 0xe5, 0x20, 0x89, 0xb9, 0xd3, 0xa9, 0xfd, 0xf6, 0xf8, 0xd6, 0x28, 0x7c, 0x0c, 0x63, 0x2f, 0x4d, - 0x2d, 0x4d, 0x68, 0x78, 0x02, 0xca, 0x56, 0xf2, 0xb2, 0x50, 0x39, 0xd8, 0x5f, 0x28, 0xaf, 0xac, - 0xad, 0xea, 0x04, 0x46, 0xc6, 0xa9, 0x41, 0x55, 0xa1, 0xd1, 0xfa, 0xff, 0x4e, 0x4d, 0x7e, 0xa4, - 0x00, 0xca, 0x3c, 0x45, 0xd0, 0xb7, 0x11, 0x72, 0xf9, 0x62, 0x0f, 0x86, 0x96, 0x9f, 0xbe, 0x06, - 0x15, 0x5d, 0xbe, 0xe4, 0xe7, 0x14, 0xbd, 0x8e, 0xe5, 0xc7, 0x95, 0x37, 0xa5, 0xc7, 0x30, 0x76, - 0x7f, 0xd3, 0x8a, 0x07, 0x2a, 0x79, 0x27, 0x4a, 0x68, 0xd2, 0x27, 0xbd, 0xb2, 0xf4, 0xa4, 0xa7, - 0xfd, 0xa9, 0x02, 0x73, 0x9c, 0x82, 0xbd, 0x1d, 0x3d, 0x55, 0x9d, 0xdf, 0x80, 0x8a, 0x78, 0x78, - 0x62, 0x2a, 0x9f, 0x1d, 0xe1, 0xfd, 0x4e, 0x17, 0x34, 0xf2, 0xa3, 0x4c, 0x39, 0xfb, 0x28, 0xf3, - 0xef, 0xa9, 0xda, 0xac, 0x7b, 0x77, 0x9c, 0x28, 0x6e, 0xfd, 0x5c, 0x19, 0x7f, 0xe4, 0xcf, 0x43, - 0x35, 0x72, 0x3c, 0x0b, 0x8b, 0xab, 0x28, 0xc7, 0x5b, 0x27, 0x30, 0x72, 0x15, 0xa5, 0x1f, 0xd7, - 0x6c, 0xf4, 0x2c, 0xd4, 0x18, 0x9e, 0xe7, 0x3f, 0xa4, 0xda, 0x54, 0x75, 0x46, 0x78, 0xcf, 0x7f, - 0x48, 0x98, 0xf4, 0xbc, 0xd8, 0x71, 0xc5, 0xed, 0x86, 0x33, 0xd9, 0x20, 0x30, 0xc2, 0x84, 0x7e, - 0x64, 0x4c, 0x18, 0x1e, 0x61, 0x32, 0xc9, 0x98, 0x50, 0x00, 0x61, 0x72, 0x96, 0xf8, 0xef, 0xbb, - 0x38, 0x8c, 0xb0, 0xe1, 0x87, 0x36, 0x0e, 0xe9, 0x05, 0xa7, 0x4a, 0x9c, 0x70, 0x0a, 0xbc, 0x4f, - 0x60, 0xe9, 0x43, 0x3c, 0xb7, 0xd9, 0xff, 0x94, 0x7e, 0xff, 0xa7, 0x02, 0x35, 0xbe, 0xf3, 0x6d, - 0xf9, 0x2d, 0x63, 0xfc, 0xfe, 0x8e, 0x15, 0x79, 0x69, 0xfd, 0x86, 0xf2, 0xd8, 0x9b, 0xe3, 0x18, - 0x7b, 0x7c, 0xf6, 0xf6, 0x5d, 0x1e, 0x18, 0xee, 0xfe, 0x3c, 0xcc, 0x2c, 0x5b, 0x31, 0xcd, 0x5e, - 0xa1, 0xd2, 0x5a, 0xed, 0xf1, 0x6d, 0x70, 0x0a, 0xc0, 0xf5, 0x2d, 0xd3, 0x35, 0x7c, 0xcf, 0xdd, - 0xe3, 0x37, 0x8e, 0x1a, 0x85, 0xdc, 0xf7, 0xdc, 0xbd, 0xf4, 0xc4, 0xb9, 0x0b, 0xb3, 0xab, 0xd8, - 0xcc, 0x48, 0x7b, 0x92, 0xa3, 0xf4, 0x3b, 0x93, 0x7c, 0xb1, 0xb2, 0x6e, 0x91, 0x8b, 0x59, 0x2f, - 0x7a, 0x1c, 0x8e, 0x3f, 0x28, 0xa7, 0x5e, 0xe4, 0x84, 0x94, 0x7f, 0xf1, 0x42, 0xf1, 0xa0, 0xc8, - 0x22, 0x17, 0x69, 0x32, 0x06, 0x25, 0xcc, 0x4f, 0x70, 0x68, 0xfd, 0x44, 0x81, 0x99, 0x36, 0xc6, - 0xe1, 0x8a, 0xef, 0x79, 0xd8, 0x8a, 0xb1, 0x2d, 0x87, 0x2d, 0x94, 0xc2, 0xb0, 0xc5, 0x18, 0x41, - 0x94, 0x36, 0x40, 0x1c, 0x9a, 0x5e, 0x14, 0xf8, 0x61, 0xcc, 0x12, 0x5e, 0x1a, 0x4b, 0x57, 0x47, - 0x55, 0x5f, 0x10, 0xea, 0x12, 0x0f, 0x74, 0x0c, 0xa6, 0xba, 0xa6, 0x6d, 0x87, 0x2c, 0xef, 0xa5, - 0xa6, 0xf3, 0x56, 0xeb, 0x35, 0x50, 0x89, 0x9a, 0x3a, 0xb6, 0x58, 0x67, 0x1c, 0xaf, 0x33, 0x52, - 0x6f, 0x04, 0x21, 0xf1, 0xa2, 0xc6, 0x32, 0x83, 0xb6, 0x09, 0x13, 0x34, 0xc7, 0x65, 0x16, 0xa6, - 0xc9, 0xbf, 0xe9, 0xbd, 0xbb, 0x09, 0xf3, 0x04, 0xd0, 0xcf, 0x55, 0x55, 0xd0, 0x51, 0x98, 0x13, - 0x5f, 0x12, 0x9b, 0xab, 0x25, 0x99, 0x40, 0xd6, 0x5f, 0x2d, 0x6b, 0x37, 0xa0, 0x96, 0x98, 0x01, - 0x35, 0x00, 0x1e, 0x04, 0x71, 0x2a, 0x07, 0x60, 0xea, 0x41, 0x10, 0xdf, 0x59, 0xbe, 0xa7, 0x2a, - 0xfc, 0xf7, 0x3b, 0xcb, 0xf7, 0xd4, 0x12, 0x52, 0xa1, 0xfe, 0x20, 0x88, 0xdb, 0xa1, 0xff, 0xc8, - 0xe9, 0x3a, 0xf1, 0x9e, 0x5a, 0xd6, 0xfe, 0x4a, 0x21, 0x53, 0x7c, 0xb3, 0xd7, 0x21, 0xfb, 0x27, - 0xb5, 0x74, 0x24, 0x7b, 0xd1, 0x7f, 0xa4, 0x8c, 0xe9, 0x46, 0xa3, 0x3b, 0x99, 0xbc, 0xad, 0xd2, - 0x28, 0x79, 0x5b, 0x6c, 0xfb, 0xc9, 0x4d, 0xe3, 0xca, 0x6e, 0x56, 0xe5, 0x21, 0x61, 0xe2, 0x6f, - 0x97, 0xe1, 0x18, 0xed, 0xcc, 0x9a, 0x17, 0x05, 0xd8, 0x62, 0xfd, 0x59, 0x8f, 0xfd, 0x10, 0xb7, - 0xbe, 0xf1, 0x18, 0x27, 0xc3, 0x06, 0x54, 0x5d, 0xbf, 0x23, 0x77, 0xe4, 0xa5, 0xdc, 0x8e, 0x1c, - 0x12, 0x79, 0xc7, 0xef, 0xd0, 0x7e, 0x51, 0xb6, 0xbc, 0xa1, 0x57, 0x5c, 0xf6, 0xa3, 0xf5, 0x0b, - 0x65, 0xb8, 0x0f, 0x85, 0xae, 0xc0, 0x34, 0xcf, 0x14, 0xb1, 0xd2, 0x54, 0x91, 0xc6, 0xc1, 0xfe, - 0x02, 0xb0, 0x54, 0x11, 0x9a, 0xc2, 0xc5, 0x93, 0x49, 0x68, 0xee, 0xd6, 0x3d, 0x29, 0x93, 0x4c, - 0xca, 0xcb, 0x2a, 0x8f, 0x94, 0x97, 0x95, 0xa4, 0x94, 0x25, 0xa0, 0xec, 0x52, 0x9e, 0x18, 0x96, - 0x32, 0x22, 0x7c, 0xc6, 0xa9, 0x6c, 0x52, 0x41, 0x00, 0x40, 0x8d, 0xf3, 0xd8, 0x5b, 0xa7, 0x7c, - 0x8b, 0xe3, 0xeb, 0x2e, 0x6a, 0x2a, 0x64, 0x79, 0x33, 0x02, 0xb6, 0xf0, 0x22, 0xbd, 0xc2, 0x56, - 0x5e, 0xa4, 0xfd, 0x41, 0x09, 0xe6, 0x97, 0x7b, 0xf1, 0xf6, 0x8d, 0x47, 0xd6, 0xb6, 0xe9, 0x75, - 0xb0, 0x8e, 0xa3, 0xc0, 0xf7, 0x22, 0x8c, 0x9e, 0x83, 0xba, 0x69, 0x59, 0x38, 0x8a, 0x78, 0xbc, - 0x8e, 0xe5, 0x3a, 0x4d, 0x33, 0x18, 0x8b, 0xc0, 0xcd, 0xc3, 0x64, 0x64, 0xf9, 0x41, 0x92, 0xf3, - 0x44, 0x1b, 0x74, 0x83, 0x0c, 0x43, 0x5f, 0xc4, 0xb9, 0x59, 0x03, 0xbd, 0x00, 0x73, 0xf4, 0x87, - 0x61, 0xe3, 0xc8, 0x0a, 0x9d, 0x80, 0xdc, 0x40, 0x58, 0x3c, 0x57, 0x57, 0xe9, 0x87, 0xd5, 0x14, - 0x8e, 0xd6, 0xa1, 0xca, 0x9f, 0x0f, 0x58, 0x30, 0x77, 0x7a, 0xe9, 0xb5, 0xdc, 0x01, 0xc9, 0x53, - 0x5c, 0x04, 0x28, 0x23, 0x9e, 0xc4, 0x25, 0x18, 0xb5, 0xae, 0xc1, 0x4c, 0xe6, 0xd3, 0x58, 0x49, - 0x5c, 0x3f, 0x56, 0xa0, 0x49, 0x47, 0x86, 0x88, 0xe4, 0x6c, 0xd6, 0x71, 0x4c, 0xed, 0xd0, 0xfa, - 0x8e, 0x22, 0xc7, 0x98, 0x26, 0x53, 0x7b, 0x4d, 0x2f, 0x5d, 0x1a, 0x59, 0x6f, 0x9d, 0xd1, 0x3d, - 0x9d, 0x97, 0x87, 0xf4, 0x08, 0xfd, 0x22, 0xa8, 0xfd, 0x11, 0x11, 0x74, 0x0c, 0x4a, 0xc9, 0x34, - 0xa2, 0xd9, 0x56, 0xed, 0xdb, 0x7a, 0x29, 0x78, 0xcc, 0x57, 0x6c, 0xd4, 0x92, 0xae, 0x17, 0xcc, - 0xd9, 0x4e, 0xda, 0x9a, 0x0b, 0x27, 0xe5, 0x07, 0x9f, 0xf5, 0x5e, 0xc0, 0x1e, 0x28, 0x38, 0x90, - 0x4c, 0xb2, 0xe4, 0x7d, 0x49, 0x9c, 0xca, 0x35, 0x7d, 0x5a, 0xbc, 0x1d, 0xb1, 0x75, 0xa5, 0x0a, - 0x14, 0xec, 0xd9, 0x81, 0xef, 0xf0, 0xa3, 0xb7, 0xa6, 0xcf, 0x72, 0xf8, 0x0d, 0x0e, 0xd6, 0xfe, - 0x59, 0x81, 0xba, 0x2c, 0x8e, 0x8c, 0xa7, 0x3c, 0x79, 0x9f, 0xa6, 0x85, 0xd1, 0xe7, 0x00, 0x45, - 0xa2, 0x3b, 0x46, 0x32, 0x5b, 0xcb, 0x03, 0x92, 0x0d, 0x07, 0x59, 0x42, 0x9f, 0x8b, 0xfa, 0x20, - 0x11, 0x3a, 0x0d, 0x80, 0x1f, 0x05, 0x0e, 0x8b, 0xaf, 0xd3, 0xb5, 0x52, 0xd6, 0x25, 0x88, 0xf6, - 0xff, 0x15, 0x38, 0x2e, 0x4d, 0xc7, 0x15, 0xbf, 0x1b, 0xb8, 0x38, 0xc6, 0x37, 0x5d, 0xff, 0x61, - 0xeb, 0x8d, 0x74, 0x46, 0x2e, 0x41, 0xdd, 0x32, 0x5d, 0x77, 0xd3, 0xb4, 0x76, 0x68, 0x47, 0xd9, - 0x31, 0x3c, 0x7b, 0xb0, 0xbf, 0x30, 0xbd, 0xc2, 0xe1, 0xa4, 0x8b, 0xd3, 0x02, 0x89, 0x4c, 0x1f, - 0x79, 0x1b, 0x49, 0xde, 0xdb, 0x94, 0x01, 0xef, 0x6d, 0x3f, 0x56, 0xe0, 0x88, 0xa4, 0xcb, 0x9a, - 0xe7, 0xc4, 0x54, 0x8f, 0xbb, 0x99, 0x2d, 0x8c, 0x58, 0x51, 0xd2, 0x81, 0xe5, 0xb2, 0xf5, 0xe2, - 0x6d, 0x22, 0xbf, 0x42, 0x3e, 0x12, 0xc3, 0xb6, 0xa4, 0xc5, 0x5f, 0xa6, 0x8e, 0x49, 0xba, 0x86, - 0xdb, 0xd2, 0x49, 0x90, 0xf2, 0xa1, 0x27, 0x01, 0xe1, 0x41, 0x60, 0xe4, 0x08, 0x8c, 0xb0, 0xd5, - 0x0b, 0x71, 0x32, 0xac, 0x55, 0x76, 0x04, 0xae, 0x53, 0x28, 0xc1, 0xab, 0x31, 0x84, 0x8d, 0xd0, - 0xd5, 0x7e, 0xa1, 0xc0, 0xb9, 0x95, 0x10, 0xdb, 0x64, 0x70, 0x4d, 0xf7, 0xd3, 0x38, 0x74, 0xb6, - 0xa4, 0x47, 0x39, 0xb9, 0x2b, 0x52, 0x20, 0xf9, 0x0a, 0x88, 0x29, 0x2a, 0xf5, 0x86, 0x1e, 0x36, - 0x9c, 0x88, 0x08, 0x01, 0x8e, 0x42, 0xfa, 0x94, 0x4d, 0x78, 0x2e, 0xf5, 0x27, 0x3c, 0x23, 0x98, - 0x70, 0x1d, 0x6f, 0x87, 0xef, 0x98, 0xf4, 0xf7, 0x87, 0xd0, 0xd5, 0xef, 0x2b, 0x70, 0x69, 0x60, - 0x57, 0x47, 0x9b, 0x41, 0x4e, 0xfe, 0x0c, 0x5a, 0x93, 0x67, 0x90, 0xd3, 0xba, 0x20, 0xd4, 0x3f, - 0x0d, 0xe0, 0x50, 0x91, 0x5b, 0x0e, 0x4f, 0xf2, 0xad, 0xe9, 0x12, 0x44, 0xfb, 0x6a, 0x09, 0x8e, - 0x33, 0x5d, 0xb0, 0x9d, 0x6a, 0x17, 0xd1, 0xeb, 0xe9, 0xd7, 0xa4, 0x8d, 0xf5, 0x05, 0x98, 0xdb, - 0x72, 0xdc, 0x98, 0x1e, 0x69, 0x7d, 0xec, 0x54, 0xf6, 0x61, 0x2d, 0x81, 0x93, 0x9b, 0xa1, 0x40, - 0x8e, 0xa2, 0x1e, 0xcf, 0xa4, 0xab, 0xe9, 0x75, 0x8e, 0x48, 0x61, 0x34, 0x04, 0xfd, 0xc8, 0x72, - 0x7b, 0x36, 0x36, 0xe8, 0xaa, 0xe2, 0x49, 0x19, 0x55, 0xbd, 0xc1, 0xc1, 0x37, 0x18, 0xb4, 0x65, - 0x8a, 0xbe, 0x7c, 0x06, 0xc0, 0x4a, 0x54, 0xe4, 0x3b, 0xfc, 0x47, 0xf3, 0x77, 0x78, 0xf6, 0x86, - 0x79, 0xb8, 0x63, 0x3a, 0xee, 0x38, 0x51, 0x8c, 0x43, 0x6c, 0xeb, 0x12, 0x2f, 0xed, 0x9b, 0x4a, - 0xf2, 0xf6, 0xcb, 0x0e, 0x57, 0xda, 0x7f, 0xc9, 0xb1, 0x74, 0xc7, 0x5c, 0x91, 0xe8, 0x1a, 0x54, - 0xf8, 0x04, 0x1c, 0xfd, 0xd1, 0x5e, 0x50, 0x68, 0xff, 0xa7, 0x4f, 0x9b, 0x15, 0xdf, 0xc6, 0x99, - 0x85, 0xa9, 0x64, 0x17, 0x26, 0x3a, 0x07, 0x0d, 0xcb, 0xb7, 0xb1, 0x61, 0x6d, 0x9b, 0xae, 0x8b, - 0xbd, 0x8e, 0x38, 0x42, 0x67, 0x68, 0xf8, 0x5f, 0x00, 0x33, 0xca, 0x97, 0x07, 0x6c, 0x27, 0x1f, - 0x28, 0xb0, 0xa0, 0x67, 0xdf, 0xc7, 0xe9, 0x5b, 0x20, 0xb3, 0x1d, 0xf3, 0x8e, 0xde, 0xcd, 0x6c, - 0x2d, 0x23, 0xd9, 0x64, 0xc4, 0xdc, 0xa8, 0xf4, 0xf4, 0xfc, 0xb2, 0x02, 0x67, 0xf2, 0xf4, 0x60, - 0x10, 0x7e, 0xc3, 0x7d, 0xa2, 0x80, 0xf7, 0x82, 0x18, 0xd7, 0x63, 0x50, 0xf2, 0xd9, 0xa1, 0x5c, - 0x65, 0x87, 0xf2, 0xfd, 0xdb, 0x7a, 0xc9, 0xdf, 0xd1, 0x7e, 0x0c, 0x00, 0xeb, 0x7b, 0x51, 0x8c, - 0xbb, 0x34, 0x80, 0x21, 0x4d, 0x89, 0x7f, 0x4d, 0xfc, 0xe2, 0x65, 0xa8, 0x04, 0xa1, 0x4f, 0x1c, - 0x33, 0x2e, 0xf8, 0x42, 0xfe, 0x58, 0x27, 0x6c, 0x16, 0xdb, 0x0c, 0x5d, 0x17, 0x74, 0xe8, 0x4d, - 0x28, 0x07, 0x4b, 0xc1, 0xc0, 0x60, 0x9b, 0x4c, 0xbe, 0xd4, 0x66, 0x5b, 0x51, 0x7b, 0xa9, 0xad, - 0x13, 0x42, 0x74, 0x0f, 0x2a, 0x7e, 0xb8, 0xe9, 0xc4, 0xf6, 0x26, 0x4f, 0x27, 0x1b, 0xaa, 0xc2, - 0x7d, 0x82, 0xbe, 0x7a, 0x9d, 0x0d, 0x01, 0x6f, 0xe8, 0x82, 0x09, 0x39, 0xba, 0x1f, 0x9a, 0xa1, - 0x27, 0xee, 0xa6, 0xac, 0xd1, 0xfa, 0x17, 0x05, 0x04, 0x2a, 0xb2, 0xd3, 0xac, 0x82, 0xc4, 0xff, - 0x60, 0xbd, 0x7f, 0x7d, 0x44, 0xd1, 0x8b, 0xf2, 0xd0, 0xd2, 0x9b, 0xb2, 0x3e, 0xcb, 0x59, 0x26, - 0xef, 0x79, 0x5f, 0x82, 0xb9, 0x43, 0x58, 0x64, 0x25, 0x04, 0xa1, 0xdf, 0x09, 0x85, 0xc1, 0xcb, - 0x7a, 0xd2, 0xa6, 0xa1, 0x47, 0xf3, 0x91, 0xd3, 0xed, 0x75, 0xa9, 0x31, 0xcb, 0xba, 0x68, 0x12, - 0xaa, 0xcd, 0xde, 0xd6, 0x16, 0x16, 0x1b, 0x4d, 0x59, 0x4f, 0xda, 0xe4, 0x2e, 0xce, 0x52, 0xfd, - 0xf8, 0x39, 0xcf, 0x5b, 0xad, 0x45, 0x20, 0x26, 0x26, 0x5b, 0x55, 0x72, 0xf9, 0x35, 0x88, 0xeb, - 0x2e, 0xe4, 0x36, 0x12, 0x30, 0xf1, 0xec, 0xa3, 0xd6, 0x37, 0xa6, 0xa0, 0xc2, 0xc7, 0x96, 0x68, - 0xb2, 0x8b, 0xc3, 0x88, 0x38, 0x0f, 0x6c, 0x9f, 0x14, 0x4d, 0x74, 0x1c, 0x2a, 0xbb, 0x56, 0x64, - 0x84, 0x78, 0x8b, 0x2f, 0xd3, 0xa9, 0x5d, 0x2b, 0xd2, 0xf1, 0x16, 0xb9, 0xc4, 0xf4, 0x82, 0xd8, - 0xe9, 0x62, 0xa3, 0x1b, 0x31, 0x1d, 0xd9, 0x25, 0x66, 0x83, 0x02, 0xef, 0xae, 0xeb, 0x55, 0xf6, - 0xf9, 0x6e, 0x84, 0x3e, 0x06, 0x6a, 0x2f, 0xc2, 0xa1, 0x61, 0x05, 0x3d, 0x43, 0x50, 0x00, 0xa5, - 0x98, 0x3b, 0xd8, 0x5f, 0x98, 0xd9, 0x88, 0x70, 0xb8, 0xd2, 0xde, 0x78, 0xc0, 0xc8, 0x66, 0x08, - 0xea, 0x4a, 0xd0, 0x7b, 0xc0, 0x68, 0x3f, 0x09, 0x28, 0xa2, 0xa3, 0x91, 0xa1, 0x9e, 0xa6, 0xd4, - 0x34, 0xa5, 0x98, 0x8d, 0x55, 0x4a, 0x3f, 0xcb, 0xd0, 0x53, 0x0e, 0xa7, 0x00, 0xa2, 0xd8, 0xa4, - 0xbe, 0x97, 0x19, 0x37, 0xeb, 0xd4, 0x16, 0x35, 0x0e, 0x59, 0xa6, 0x05, 0x46, 0xa1, 0x4b, 0xae, - 0xec, 0x86, 0xd5, 0x0b, 0x9b, 0x33, 0x34, 0xa7, 0xbc, 0xc6, 0x20, 0x2b, 0x3d, 0x7a, 0x3c, 0x78, - 0xbd, 0xae, 0xd1, 0xf1, 0x43, 0xbf, 0x17, 0x3b, 0x1e, 0x6e, 0x36, 0x28, 0x83, 0xba, 0xd7, 0xeb, - 0xde, 0x12, 0x30, 0x32, 0x24, 0x9e, 0xbf, 0xe5, 0xb8, 0xb8, 0x39, 0xcb, 0x86, 0x84, 0xb5, 0xd0, - 0x4b, 0x70, 0x24, 0xf6, 0x7d, 0xa3, 0x6b, 0x7a, 0x7b, 0x86, 0x1f, 0x60, 0xcf, 0x20, 0xd0, 0xa8, - 0xa9, 0xd2, 0xa3, 0x43, 0x8d, 0x7d, 0xff, 0xae, 0xe9, 0xed, 0xdd, 0x0f, 0xb0, 0x77, 0x93, 0xc0, - 0xd1, 0x59, 0xa8, 0x10, 0x59, 0x56, 0xd0, 0x6b, 0xce, 0xd1, 0x0e, 0xd2, 0x00, 0xc8, 0xbd, 0x1e, - 0xe9, 0x9d, 0x3e, 0xe5, 0xf5, 0x48, 0xa7, 0x88, 0xbe, 0x1d, 0xdf, 0x10, 0xa3, 0x85, 0xe8, 0x98, - 0xd4, 0x3a, 0xfe, 0xa7, 0xf9, 0x78, 0x5d, 0x02, 0xd5, 0x0f, 0x70, 0x48, 0xb3, 0x98, 0x0c, 0x66, - 0x8a, 0xe6, 0x11, 0xe6, 0x03, 0x27, 0x70, 0x66, 0x32, 0xf4, 0x2c, 0xd4, 0xb6, 0xfd, 0x28, 0x36, - 0x3c, 0xb3, 0x8b, 0x9b, 0xf3, 0x14, 0xa7, 0x4a, 0x00, 0xf7, 0xcc, 0x2e, 0x26, 0x7e, 0x86, 0x19, - 0x5a, 0xdb, 0xcd, 0xa3, 0xcc, 0xcf, 0x20, 0xbf, 0x25, 0x53, 0x75, 0xcd, 0x47, 0xcd, 0x63, 0xb2, - 0xa9, 0xee, 0x9a, 0x8f, 0x88, 0xf7, 0x11, 0x38, 0x76, 0xf3, 0x38, 0x55, 0x9d, 0x2d, 0x79, 0x72, - 0xe5, 0x0e, 0x1c, 0x1b, 0x9d, 0x84, 0x89, 0x80, 0x7c, 0x6b, 0xd2, 0x6f, 0xd5, 0x83, 0xfd, 0x85, - 0x89, 0x36, 0xf9, 0x48, 0xa1, 0x6c, 0x8d, 0x38, 0x7e, 0xe8, 0xc4, 0x7b, 0xcd, 0x13, 0x62, 0x8d, - 0xb0, 0x36, 0x75, 0x69, 0x1c, 0xbb, 0xd9, 0x4a, 0x99, 0x6e, 0x10, 0xa6, 0x3d, 0xc7, 0x46, 0x0b, - 0x30, 0xfd, 0xd0, 0x0f, 0x77, 0x48, 0x47, 0x6d, 0x27, 0x6c, 0x3e, 0xcb, 0xfc, 0x05, 0x0e, 0x5a, - 0x75, 0xe8, 0xa9, 0xcd, 0xe7, 0x0e, 0x99, 0x53, 0xb4, 0x9b, 0x27, 0x29, 0x52, 0x83, 0x81, 0x37, - 0x38, 0x54, 0xfb, 0xf5, 0x24, 0x54, 0xc9, 0xa2, 0xe8, 0x3f, 0x49, 0x97, 0xc5, 0xae, 0xf9, 0x51, - 0x98, 0x14, 0x4b, 0xa9, 0x5c, 0xf8, 0x28, 0x22, 0x38, 0xd0, 0x1f, 0x3a, 0x23, 0x68, 0xfd, 0xa8, - 0x04, 0x13, 0xa4, 0x2d, 0xd5, 0xad, 0xd4, 0x32, 0x75, 0x2b, 0xd7, 0x60, 0x8a, 0x4c, 0x23, 0xcc, - 0x02, 0x11, 0x45, 0x1b, 0x6a, 0xc2, 0x5b, 0x27, 0xb8, 0x3a, 0x27, 0x21, 0x13, 0x8f, 0xde, 0x88, - 0x85, 0xfb, 0xcb, 0x5b, 0x68, 0x19, 0xaa, 0x5b, 0xd8, 0x8c, 0x7b, 0x21, 0x66, 0xbb, 0x62, 0xa3, - 0xa8, 0xe4, 0x47, 0xb0, 0xbd, 0xc9, 0xb0, 0xf5, 0x84, 0x8c, 0x58, 0xb7, 0xeb, 0x78, 0x86, 0x6b, - 0xc6, 0xd8, 0xb3, 0x58, 0xcd, 0x5a, 0x59, 0x87, 0xae, 0xe3, 0xdd, 0x61, 0x10, 0x32, 0x7d, 0x9c, - 0xc8, 0xa0, 0x11, 0x5c, 0xcc, 0xc3, 0xe9, 0x55, 0x27, 0xa2, 0xf1, 0x63, 0x8c, 0x3e, 0x0e, 0x35, - 0xdb, 0x09, 0xb1, 0x45, 0xef, 0x23, 0x95, 0x01, 0x81, 0x92, 0x55, 0x81, 0xa5, 0xa7, 0x04, 0xad, - 0xbf, 0x25, 0xc7, 0x15, 0xe9, 0x61, 0x56, 0x88, 0xd2, 0x27, 0xa4, 0x09, 0x15, 0xd3, 0xb6, 0xe9, - 0xd6, 0xca, 0xf6, 0x26, 0xd1, 0xcc, 0x8a, 0x2f, 0x8f, 0x29, 0x9e, 0xf0, 0x15, 0xdd, 0x66, 0x5b, - 0xac, 0x68, 0xa2, 0x37, 0xa1, 0x12, 0xc5, 0x21, 0x36, 0xbb, 0x22, 0xd8, 0xf0, 0xfc, 0x60, 0xb3, - 0xae, 0x53, 0x64, 0x5d, 0x10, 0xb5, 0xce, 0xc0, 0x14, 0x03, 0x15, 0x4d, 0x07, 0xed, 0x7d, 0xa8, - 0xf0, 0xb1, 0x40, 0x08, 0x1a, 0x3c, 0xec, 0xc8, 0x21, 0xea, 0x33, 0x68, 0x16, 0xa6, 0xdf, 0xc1, - 0xd1, 0xb6, 0x00, 0x28, 0xa8, 0x01, 0x70, 0xfd, 0xce, 0x0d, 0xd1, 0xa6, 0x61, 0xc8, 0x3b, 0xbe, - 0x65, 0xba, 0x02, 0x52, 0xa6, 0x01, 0x4c, 0x3f, 0x14, 0xed, 0x09, 0xc2, 0xe2, 0xed, 0x9e, 0x63, - 0x09, 0xc0, 0xa4, 0xf6, 0x03, 0x05, 0xaa, 0x6d, 0x71, 0x26, 0xcd, 0xc3, 0x64, 0x14, 0x9b, 0xb1, - 0xb8, 0x5f, 0xb3, 0x06, 0x81, 0xda, 0xbe, 0xe3, 0x75, 0x44, 0xb4, 0x83, 0x36, 0x32, 0x67, 0x1b, - 0x31, 0x72, 0x49, 0x3a, 0xdb, 0x4e, 0x42, 0xcd, 0xe2, 0x77, 0x04, 0x76, 0x50, 0x4d, 0xe8, 0x29, - 0x80, 0xdd, 0xb6, 0x63, 0xd3, 0xa5, 0xd3, 0x6a, 0x42, 0x67, 0x0d, 0x2a, 0x05, 0xbb, 0x26, 0x2b, - 0x1d, 0x9d, 0xd0, 0x59, 0x43, 0xf3, 0x60, 0x8e, 0xbd, 0x6a, 0xbc, 0xe3, 0xc4, 0xdb, 0x2c, 0x44, - 0x16, 0x8d, 0x53, 0xaa, 0xb4, 0x08, 0xd3, 0x2c, 0x9c, 0x16, 0x19, 0xc1, 0x4e, 0xa6, 0x32, 0x4c, - 0xc4, 0xdb, 0x22, 0x1d, 0x38, 0x46, 0x7b, 0x27, 0xd2, 0xf6, 0x15, 0x98, 0xbb, 0xdf, 0x8b, 0xef, - 0x6f, 0xd1, 0xe8, 0xa6, 0xa8, 0xb5, 0x1b, 0x10, 0x4f, 0x1c, 0x23, 0x32, 0x2f, 0x55, 0x2f, 0x11, - 0x83, 0x4d, 0xa5, 0x35, 0x8c, 0xbc, 0x30, 0x71, 0x22, 0x2d, 0x4c, 0x9c, 0x87, 0xc9, 0x2d, 0xd7, - 0xec, 0x44, 0xd4, 0x46, 0x15, 0x9d, 0x35, 0x68, 0x70, 0x4c, 0xd4, 0x01, 0x1a, 0xd9, 0xd0, 0xa0, - 0x9a, 0x7c, 0xe0, 0xf5, 0x69, 0x69, 0x61, 0x5d, 0x45, 0x2a, 0xac, 0xd3, 0x7e, 0xaa, 0xc0, 0x91, - 0x9c, 0xb4, 0x39, 0xb4, 0x0a, 0xc0, 0x5c, 0x63, 0xe9, 0xd5, 0x43, 0xda, 0x36, 0x7a, 0xd1, 0x76, - 0x5f, 0xc2, 0x1d, 0x75, 0x9a, 0x59, 0x58, 0x39, 0x16, 0x3f, 0x89, 0x35, 0x36, 0x7b, 0x9e, 0xed, - 0xe2, 0x34, 0xef, 0x96, 0x5a, 0xe3, 0x3a, 0x05, 0xae, 0xad, 0x12, 0x4f, 0x86, 0xfe, 0xb2, 0xd3, - 0x98, 0x0b, 0x7f, 0x2d, 0x66, 0x31, 0x97, 0xab, 0x30, 0x1f, 0x62, 0xcb, 0x09, 0x1c, 0xec, 0xc5, - 0x86, 0x74, 0x15, 0x66, 0xa6, 0x41, 0xc9, 0xb7, 0xb6, 0xb8, 0x13, 0x6b, 0xf7, 0x00, 0xd2, 0xec, - 0x3c, 0x56, 0xfc, 0x4c, 0x7e, 0xc9, 0x15, 0xc3, 0x0c, 0x42, 0x2e, 0xd0, 0x52, 0x1c, 0x89, 0xec, - 0x16, 0x7c, 0x46, 0x8b, 0x4b, 0xfa, 0xb2, 0x6d, 0x87, 0xda, 0xd7, 0x15, 0x38, 0x41, 0x18, 0xb2, - 0x01, 0xe4, 0xf9, 0xc7, 0xe2, 0x2e, 0x86, 0xde, 0xcc, 0x86, 0xed, 0x46, 0x4f, 0x4b, 0xe4, 0xfd, - 0x1b, 0x7d, 0xba, 0x90, 0x3b, 0x45, 0x2b, 0x55, 0x84, 0xe7, 0x23, 0xa6, 0x9a, 0xbc, 0x06, 0x53, - 0x3c, 0x95, 0x51, 0x19, 0x2d, 0x95, 0x91, 0xa3, 0x8f, 0xa3, 0xc2, 0x5f, 0x97, 0x92, 0x0a, 0x98, - 0x41, 0x37, 0xd4, 0x71, 0x12, 0xa6, 0xaf, 0x41, 0x2b, 0x72, 0x3a, 0x1e, 0xb6, 0xf9, 0xf5, 0x3c, - 0xde, 0x33, 0x0e, 0x45, 0x3c, 0x8e, 0x33, 0x8c, 0x35, 0x8e, 0x90, 0x8c, 0x35, 0xba, 0x02, 0x47, - 0x76, 0xb9, 0x1e, 0x86, 0x74, 0xc1, 0x66, 0xe1, 0x10, 0xb4, 0x7b, 0x48, 0x45, 0xb2, 0x60, 0x42, - 0xaa, 0x26, 0x0b, 0x85, 0x19, 0x36, 0xd9, 0xdc, 0xd8, 0xb6, 0xae, 0xca, 0x1f, 0x56, 0xc9, 0x3e, - 0x47, 0xef, 0xf9, 0x22, 0x6a, 0xc6, 0x50, 0xd9, 0xc1, 0xd7, 0x48, 0xc1, 0x14, 0x31, 0x1b, 0xaa, - 0x98, 0xea, 0x0f, 0x55, 0x90, 0x83, 0x99, 0x87, 0x13, 0x2a, 0xcc, 0x6b, 0x66, 0x2d, 0xed, 0xbb, - 0x0a, 0x1c, 0x25, 0x03, 0xc2, 0xf6, 0x29, 0x3a, 0xb5, 0x36, 0x02, 0x22, 0xe7, 0xf1, 0x07, 0x33, - 0x59, 0x45, 0x25, 0x79, 0x15, 0x8d, 0xf1, 0xea, 0xfb, 0x1f, 0x99, 0x0d, 0x8f, 0x4f, 0xd7, 0xd6, - 0xd9, 0xf4, 0xaa, 0x2a, 0x3d, 0x42, 0x28, 0x99, 0x47, 0x88, 0xd6, 0x9f, 0x27, 0xf7, 0xca, 0x4f, - 0xa6, 0x69, 0x14, 0x4c, 0xff, 0xf3, 0xb9, 0xfa, 0x1f, 0xda, 0x58, 0xd3, 0x2a, 0x60, 0x72, 0x62, - 0xb8, 0x98, 0xb8, 0xe5, 0x8f, 0xc4, 0x8b, 0x69, 0x0a, 0x40, 0x17, 0x41, 0xe5, 0xf7, 0xf1, 0x74, - 0xaa, 0xb0, 0x6d, 0xa3, 0xc1, 0xae, 0xe2, 0xc9, 0x0c, 0xb9, 0x04, 0xaa, 0xe9, 0x86, 0xd8, 0xb4, - 0xf7, 0x8c, 0x90, 0x57, 0xed, 0xd0, 0xf1, 0xae, 0xea, 0xb3, 0x1c, 0x2e, 0x8a, 0x79, 0x68, 0x5e, - 0x4f, 0xaa, 0xd1, 0x3a, 0x36, 0xdd, 0xd6, 0xbd, 0xb4, 0xdb, 0x03, 0xb6, 0xfc, 0x3c, 0x6d, 0x4a, - 0x79, 0xda, 0xb4, 0xce, 0x09, 0x03, 0x9d, 0x84, 0x5a, 0xb2, 0x3f, 0x8b, 0x5d, 0x29, 0x01, 0x68, - 0x6f, 0xc0, 0xdc, 0x4d, 0x27, 0x8c, 0xe2, 0x3b, 0x66, 0x14, 0xaf, 0xb0, 0x23, 0x81, 0x9e, 0xc5, - 0x5b, 0x04, 0xc8, 0xeb, 0xdd, 0x59, 0x83, 0x46, 0x00, 0xcd, 0x28, 0xe6, 0xe5, 0xaf, 0xf4, 0xb7, - 0xf6, 0xf7, 0x0a, 0x1c, 0xe1, 0x37, 0x55, 0x29, 0xcf, 0x85, 0xdd, 0x7d, 0xb0, 0xe9, 0x62, 0xdb, - 0xd8, 0xf4, 0x1f, 0x09, 0xa3, 0x32, 0xc8, 0x75, 0xff, 0x11, 0xd9, 0x0b, 0x43, 0xf3, 0xa1, 0x11, - 0xfa, 0x2c, 0xcd, 0x8b, 0x1b, 0x74, 0x3a, 0x34, 0x1f, 0xea, 0x1c, 0xd4, 0xfa, 0x40, 0x81, 0x32, - 0x41, 0x95, 0x7c, 0x2d, 0x25, 0xeb, 0x6b, 0xcd, 0xc3, 0x24, 0xfd, 0xbb, 0x08, 0x62, 0xfe, 0xd1, - 0xc6, 0x18, 0xf3, 0xaf, 0x3f, 0x6b, 0xbf, 0x9e, 0xfb, 0xee, 0xfb, 0x6b, 0x05, 0x8e, 0xea, 0x78, - 0x2b, 0xc4, 0xd1, 0x76, 0x36, 0xa3, 0xb5, 0xf5, 0xea, 0x10, 0x07, 0x7b, 0x1e, 0x26, 0xd9, 0xd3, - 0x75, 0x89, 0x85, 0x07, 0xd8, 0xcb, 0xf5, 0xdb, 0x8f, 0x99, 0x7d, 0x49, 0x0c, 0x41, 0x6e, 0xa1, - 0x7e, 0x2f, 0x16, 0x97, 0x76, 0xde, 0x6c, 0xbd, 0x2b, 0x86, 0xba, 0x0d, 0xd3, 0xd4, 0xf9, 0x37, - 0xb6, 0xfc, 0x9e, 0x67, 0xf3, 0x3b, 0xc3, 0x95, 0xdc, 0xf5, 0x90, 0xdb, 0x25, 0x76, 0x81, 0x00, - 0xca, 0xe3, 0x26, 0x61, 0x71, 0xd9, 0x81, 0xf4, 0x0d, 0x17, 0x1d, 0xe3, 0x29, 0x60, 0xec, 0xfd, - 0xdb, 0xc6, 0x5b, 0x8e, 0x87, 0x6d, 0xf5, 0x19, 0x34, 0xcf, 0xb3, 0x76, 0x08, 0x9c, 0x6f, 0xd9, - 0xaa, 0x92, 0x81, 0x72, 0x31, 0xec, 0xf1, 0x3b, 0x81, 0x4a, 0x79, 0x7f, 0x6a, 0xf9, 0xf2, 0xd7, - 0x6a, 0x50, 0x4b, 0x9f, 0x2a, 0x8f, 0x01, 0x4a, 0x1a, 0xb2, 0xac, 0xb3, 0xb0, 0x90, 0xc0, 0xf3, - 0xab, 0xc9, 0x55, 0x05, 0x9d, 0x83, 0xe7, 0xb2, 0x48, 0x39, 0x95, 0xd9, 0x6a, 0x09, 0x2d, 0xc0, - 0xb3, 0x09, 0xda, 0xe1, 0xf2, 0x56, 0x15, 0xa3, 0x53, 0x70, 0x22, 0x17, 0xe1, 0x0e, 0xde, 0x8a, - 0xd5, 0x2d, 0x74, 0x19, 0xce, 0xf7, 0x7f, 0xce, 0x2f, 0x22, 0x55, 0x3b, 0xe8, 0x12, 0x9c, 0x1b, - 0x8c, 0x2b, 0x72, 0xf7, 0xb7, 0xd1, 0x55, 0x78, 0x71, 0x30, 0x6a, 0xb6, 0x06, 0x54, 0x75, 0xd0, - 0x12, 0x2c, 0x0e, 0xa6, 0xe8, 0x2f, 0xd6, 0x54, 0x3f, 0x8f, 0x16, 0xe1, 0xf2, 0x68, 0x34, 0xeb, - 0xd8, 0x8b, 0xd5, 0x9d, 0xe1, 0x32, 0xfa, 0x2b, 0x16, 0x55, 0x17, 0xbd, 0x02, 0x57, 0x46, 0xa3, - 0x49, 0xea, 0xff, 0xd4, 0xee, 0xe8, 0x82, 0x44, 0xc1, 0x9e, 0xea, 0x21, 0x0d, 0x4e, 0x17, 0xd0, - 0xf0, 0xd2, 0x39, 0xd5, 0x47, 0xcf, 0xc3, 0x99, 0x02, 0x9c, 0xa4, 0xd8, 0x4d, 0x0d, 0x90, 0x06, - 0xa7, 0x12, 0xac, 0xbc, 0xbf, 0x8c, 0xa0, 0xfe, 0x44, 0x41, 0x57, 0xe1, 0x85, 0x04, 0x67, 0x78, - 0x79, 0xbd, 0xfa, 0xc3, 0x12, 0x7a, 0x55, 0x32, 0xc4, 0x68, 0x65, 0xe6, 0xea, 0x1f, 0x97, 0xd0, - 0x22, 0x5c, 0x2a, 0x96, 0xd3, 0x57, 0x2c, 0xaf, 0xfe, 0x49, 0x09, 0x9d, 0x97, 0xa6, 0x7d, 0x51, - 0x65, 0x9d, 0xfa, 0xdd, 0x32, 0xba, 0x08, 0x67, 0x07, 0xe1, 0xf1, 0x92, 0x37, 0xf5, 0x7b, 0x65, - 0x74, 0x5a, 0x5a, 0x00, 0xfd, 0xa5, 0x6a, 0xea, 0xf7, 0xcb, 0xe8, 0xac, 0x64, 0xf7, 0x5c, 0xef, - 0x42, 0xfd, 0xcd, 0x32, 0xba, 0x00, 0x5a, 0x06, 0x29, 0xd7, 0xbb, 0x55, 0x7f, 0x2b, 0xab, 0x57, - 0xb1, 0xf7, 0xa9, 0xfe, 0x76, 0x19, 0xbd, 0x7c, 0x78, 0x89, 0x0c, 0x72, 0x12, 0xd5, 0x5f, 0x96, - 0x33, 0xc6, 0x29, 0xfa, 0x9b, 0x1a, 0xea, 0x3f, 0x55, 0x2e, 0x7f, 0x53, 0xbc, 0xa2, 0xe7, 0x24, - 0x7f, 0x90, 0x8d, 0xa5, 0xe8, 0x5b, 0xdf, 0x26, 0x55, 0x84, 0xc6, 0x4f, 0x49, 0x55, 0x21, 0xf3, - 0xb1, 0x18, 0x89, 0xa9, 0xa6, 0x96, 0x2e, 0xff, 0x85, 0x92, 0x54, 0x04, 0xb0, 0x9a, 0x9f, 0x13, - 0x49, 0x65, 0x05, 0x6d, 0xcb, 0x62, 0xfb, 0x3e, 0x3d, 0xf0, 0xf9, 0x82, 0x51, 0x15, 0xb2, 0xed, - 0xca, 0x9f, 0x92, 0x35, 0x5a, 0x42, 0x47, 0x61, 0x4e, 0xfe, 0xc2, 0x26, 0x49, 0x19, 0x1d, 0x4f, - 0x52, 0xfc, 0x39, 0x01, 0x9b, 0x13, 0x13, 0xfd, 0x42, 0xd2, 0x95, 0x3b, 0xd9, 0x4f, 0x23, 0x96, - 0xde, 0xd4, 0xe5, 0x5b, 0x50, 0x4b, 0xe2, 0x1d, 0xa8, 0x01, 0xc0, 0xa3, 0x0b, 0xab, 0x4e, 0xa8, - 0x3e, 0x43, 0xda, 0x6b, 0xde, 0x26, 0x39, 0x6d, 0x48, 0x5b, 0x41, 0xb3, 0x30, 0x7d, 0xbf, 0x17, - 0x27, 0x80, 0x12, 0xaa, 0xc1, 0xe4, 0x75, 0x87, 0xfc, 0x2c, 0x2f, 0xfd, 0xdd, 0x65, 0x98, 0x15, - 0x7f, 0x2d, 0x46, 0xbc, 0xcf, 0x47, 0x39, 0x15, 0x89, 0x68, 0x71, 0xd0, 0x43, 0x52, 0x8a, 0xb7, - 0x98, 0x94, 0x2d, 0x8e, 0x8c, 0x1f, 0xb8, 0x7b, 0x57, 0x15, 0xf4, 0x55, 0xa5, 0xb0, 0x70, 0x11, - 0xbd, 0x3a, 0x56, 0x4d, 0x9a, 0xd0, 0x60, 0x69, 0x4c, 0x2a, 0x72, 0xde, 0x13, 0x2d, 0x0a, 0x8e, - 0x86, 0x02, 0x2d, 0x0a, 0xb0, 0x87, 0x68, 0x51, 0x4c, 0x45, 0xb4, 0xf8, 0x52, 0x41, 0x35, 0x17, - 0x1a, 0x85, 0x19, 0xc7, 0x4d, 0x14, 0xb8, 0x3a, 0x16, 0x0d, 0x11, 0xff, 0x85, 0xfc, 0xfa, 0x30, - 0xf4, 0xf2, 0x08, 0x9c, 0x18, 0x6a, 0x22, 0xfc, 0xca, 0x38, 0x24, 0x44, 0xf6, 0xf7, 0x94, 0xc1, - 0xa5, 0x63, 0xe8, 0xf5, 0x91, 0xec, 0x29, 0x93, 0x24, 0xca, 0xbc, 0xf6, 0x38, 0xa4, 0x44, 0xa9, - 0x38, 0xaf, 0xc6, 0x0c, 0x8d, 0xd2, 0x37, 0x82, 0x98, 0xc8, 0x7f, 0x69, 0x74, 0x82, 0xdc, 0x61, - 0x60, 0xc7, 0xf3, 0x48, 0xc3, 0xc0, 0x50, 0xc7, 0x1a, 0x86, 0x84, 0xa4, 0x68, 0x06, 0x92, 0x5d, - 0x69, 0xd4, 0x19, 0x48, 0x70, 0xc7, 0x9d, 0x81, 0x9c, 0x86, 0x88, 0xdf, 0xcc, 0x56, 0xa4, 0xa1, - 0x4b, 0xc5, 0x45, 0x5f, 0x1c, 0x25, 0x11, 0x76, 0x61, 0x14, 0x54, 0x22, 0x03, 0xf7, 0xd5, 0xa9, - 0xa1, 0xcb, 0x05, 0x69, 0x8b, 0x12, 0x4e, 0x22, 0xe5, 0xe2, 0x48, 0xb8, 0xbc, 0x2b, 0xb2, 0xe3, - 0x54, 0xd0, 0x15, 0x19, 0x65, 0x48, 0x57, 0xfa, 0x50, 0x89, 0x8c, 0xed, 0xfe, 0x8a, 0x34, 0xf4, - 0xc2, 0x20, 0x52, 0x8e, 0x94, 0xc8, 0xb9, 0x34, 0x1a, 0x32, 0x91, 0xf4, 0x30, 0xb7, 0x4e, 0x0d, - 0x0d, 0x1c, 0x61, 0x19, 0x33, 0x91, 0xb9, 0x38, 0x06, 0x05, 0x11, 0xfc, 0x65, 0xa5, 0xa8, 0x9c, - 0x0d, 0xbd, 0x92, 0x5f, 0x24, 0x92, 0x8b, 0x9c, 0xc8, 0x7f, 0x79, 0x3c, 0x22, 0xbe, 0x1e, 0xf3, - 0x4a, 0xdf, 0xd0, 0x68, 0xac, 0x08, 0xea, 0x90, 0xf5, 0x58, 0x40, 0xc2, 0xd7, 0x63, 0x6e, 0x61, - 0x5c, 0xc1, 0x7a, 0xcc, 0xc5, 0x1d, 0xb2, 0x1e, 0x8b, 0x68, 0x88, 0xf8, 0x1f, 0x2a, 0x23, 0xd6, - 0xd0, 0xa1, 0xeb, 0x23, 0xf1, 0xce, 0xa5, 0x4d, 0xf4, 0xfb, 0xe4, 0x13, 0xf1, 0x20, 0xfa, 0xfe, - 0xee, 0xd0, 0x6a, 0x3c, 0x74, 0x6d, 0x34, 0x21, 0x19, 0xa2, 0x44, 0xc3, 0xd7, 0x1f, 0x8f, 0x98, - 0xa8, 0xf6, 0xfb, 0x23, 0x94, 0xe7, 0xa1, 0x37, 0x46, 0xe2, 0xdf, 0x4f, 0x96, 0xa8, 0x77, 0xed, - 0x71, 0xc9, 0x89, 0x82, 0x3b, 0x87, 0x6a, 0xf5, 0x50, 0xbe, 0x2f, 0xd7, 0x87, 0x95, 0x48, 0xbf, - 0x3c, 0x22, 0x36, 0xdf, 0xb9, 0xb2, 0xd5, 0x78, 0x05, 0x3b, 0x57, 0x16, 0x69, 0xc8, 0xce, 0x75, - 0x08, 0x99, 0x48, 0xf2, 0x72, 0x2a, 0xc0, 0x0a, 0x9c, 0xda, 0x43, 0x78, 0x43, 0x76, 0xe4, 0xc3, - 0x55, 0x7c, 0x57, 0x15, 0xb4, 0x73, 0xb8, 0xf0, 0x0a, 0xbd, 0x34, 0x88, 0x3c, 0x41, 0x4b, 0xa4, - 0x9d, 0x1f, 0x8a, 0x2e, 0x84, 0xbd, 0x2b, 0x55, 0x3b, 0xa1, 0x01, 0x64, 0x34, 0x0f, 0x46, 0xb0, - 0x7f, 0x7e, 0x28, 0x1e, 0x3f, 0x26, 0x33, 0x85, 0x44, 0x05, 0xc7, 0x64, 0x06, 0x67, 0xc8, 0x31, - 0xd9, 0x8f, 0xcb, 0x67, 0x5d, 0x5f, 0x0d, 0x51, 0xc1, 0xac, 0xeb, 0xc3, 0x1a, 0x32, 0xeb, 0x0e, - 0x63, 0x13, 0x61, 0x51, 0x4e, 0x81, 0xd1, 0xa0, 0xb9, 0x90, 0x29, 0xab, 0x19, 0x7c, 0xc1, 0xc9, - 0xc3, 0x67, 0x17, 0x9c, 0xee, 0xa1, 0x12, 0x92, 0xc2, 0x1e, 0x66, 0xb0, 0x86, 0xf6, 0xb0, 0x1f, - 0x9b, 0x89, 0xfb, 0x8a, 0x52, 0x54, 0xe5, 0x51, 0x70, 0x60, 0xe6, 0x23, 0x0f, 0x39, 0x30, 0x0b, - 0x89, 0x98, 0x12, 0xef, 0xc9, 0x95, 0x0d, 0xe8, 0x42, 0x31, 0x8b, 0xec, 0x58, 0x9e, 0x1b, 0x8e, - 0x48, 0x86, 0xf1, 0xeb, 0x03, 0xd2, 0xf3, 0xd1, 0xff, 0x2a, 0xe6, 0x91, 0x83, 0x9e, 0x88, 0x7e, - 0x65, 0x5c, 0x32, 0xa2, 0xc8, 0x7b, 0x72, 0xb2, 0x1e, 0x1a, 0x9a, 0x03, 0x37, 0xb8, 0x9b, 0x19, - 0x44, 0xee, 0x73, 0xe5, 0x24, 0x59, 0x17, 0xf8, 0x5c, 0x39, 0x98, 0x43, 0x7c, 0xae, 0x7c, 0x0a, - 0x71, 0x19, 0x2e, 0x48, 0x35, 0x2f, 0xb8, 0x0c, 0x17, 0x60, 0x0f, 0xb9, 0x0c, 0x17, 0x53, 0x09, - 0xdf, 0x63, 0xa4, 0x5c, 0xed, 0x02, 0xdf, 0x63, 0x24, 0xda, 0x21, 0xbe, 0xc7, 0xa8, 0x3c, 0x88, - 0xbe, 0x7f, 0x36, 0x4e, 0xc2, 0x35, 0xba, 0x39, 0xbe, 0xbc, 0x5c, 0xcb, 0xae, 0x3e, 0x31, 0x1f, - 0xa2, 0xfb, 0x07, 0x4a, 0x61, 0x5a, 0x76, 0xc1, 0x88, 0x17, 0x60, 0x0f, 0x19, 0xf1, 0x62, 0x2a, - 0xb6, 0x6f, 0x44, 0x39, 0x79, 0xd1, 0x83, 0x23, 0x50, 0x29, 0xde, 0x68, 0x11, 0xa8, 0x0c, 0x3e, - 0x13, 0xfa, 0x7b, 0xc3, 0xd3, 0x8f, 0xd1, 0xc7, 0x0b, 0x9e, 0x7e, 0x06, 0x52, 0x25, 0x1a, 0x7d, - 0xec, 0x31, 0xa9, 0xc9, 0xd0, 0x7c, 0x3a, 0xcd, 0x6b, 0x43, 0x43, 0x32, 0xc0, 0x84, 0xb8, 0x61, - 0xf9, 0x67, 0x94, 0xef, 0xfb, 0x39, 0x2f, 0xc6, 0x05, 0xa6, 0x3e, 0x84, 0x37, 0xc4, 0xd4, 0x79, - 0xf8, 0xdc, 0xe9, 0xcb, 0x3e, 0xd5, 0x16, 0x38, 0x7d, 0x59, 0xa4, 0x21, 0x4e, 0xdf, 0x21, 0x64, - 0x7e, 0x6d, 0xca, 0x7d, 0x96, 0x2b, 0xb8, 0x36, 0xe5, 0x3f, 0xe1, 0x0d, 0xbe, 0x36, 0x15, 0xd1, - 0x04, 0xee, 0xde, 0xf5, 0x8f, 0xfc, 0xec, 0x1f, 0x4e, 0x3f, 0xf3, 0x97, 0x07, 0xa7, 0x95, 0x9f, - 0x1d, 0x9c, 0x56, 0x7e, 0x7e, 0x70, 0x5a, 0xf9, 0xec, 0xf3, 0x9b, 0x38, 0x8c, 0xf7, 0x16, 0x63, - 0x6c, 0x6d, 0x5f, 0xe1, 0xdc, 0xae, 0x04, 0x3b, 0x9d, 0x2b, 0x99, 0xff, 0x51, 0x61, 0x73, 0x8a, - 0x36, 0x5f, 0xf9, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf9, 0xeb, 0xa0, 0xf4, 0x69, 0x61, 0x00, - 0x00, + // 6158 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0x5d, 0x6c, 0x1c, 0xd7, + 0x75, 0xb0, 0x67, 0x97, 0xe4, 0xee, 0x1e, 0x2e, 0x97, 0xc3, 0x2b, 0x4a, 0x5a, 0xaf, 0x25, 0x51, + 0x1e, 0x59, 0xb2, 0x24, 0xdb, 0x94, 0x4c, 0xfb, 0x8b, 0xe3, 0x28, 0x4e, 0x42, 0x91, 0x94, 0x42, + 0x8b, 0x92, 0xd6, 0x43, 0x31, 0x89, 0x03, 0xe3, 0x9b, 0x0c, 0x67, 0xee, 0x2e, 0x27, 0x9c, 0x9d, + 0x19, 0xcf, 0xcc, 0x92, 0x62, 0x90, 0x14, 0x69, 0xfe, 0x9a, 0x02, 0x4e, 0x9a, 0x26, 0x0f, 0x2d, + 0xd0, 0xa0, 0x4f, 0x7d, 0x28, 0x50, 0xa4, 0x05, 0x82, 0x22, 0x40, 0x81, 0x3e, 0xf5, 0xa9, 0x29, + 0xda, 0x22, 0x4f, 0x7d, 0xe8, 0x03, 0x9b, 0xb2, 0x2f, 0x29, 0x50, 0x14, 0x05, 0x9a, 0xb6, 0x0f, + 0x01, 0x8a, 0xe2, 0xfe, 0xcd, 0xcf, 0x72, 0x66, 0x77, 0x47, 0x94, 0xd1, 0x87, 0x3e, 0x71, 0xef, + 0x99, 0xf3, 0x77, 0xcf, 0xfd, 0x3b, 0xf7, 0xdc, 0x73, 0x08, 0xa7, 0x3c, 0xdf, 0x0d, 0x5d, 0xc3, + 0xb5, 0xc3, 0x03, 0x0f, 0x07, 0x8b, 0xb4, 0x85, 0x4e, 0xed, 0xe3, 0x60, 0xc7, 0xc1, 0xe1, 0xa2, + 0xf8, 0xb8, 0xb8, 0xf7, 0x6a, 0x6b, 0xbe, 0xeb, 0x76, 0x5d, 0x0a, 0xb8, 0x41, 0x7e, 0xb1, 0x6f, + 0xca, 0xdf, 0x48, 0x50, 0x59, 0x36, 0x0c, 0xb7, 0xef, 0x84, 0xe8, 0x26, 0x4c, 0x76, 0x7d, 0xb7, + 0xef, 0x35, 0xa5, 0x8b, 0xd2, 0xd5, 0xe9, 0xa5, 0xd6, 0x62, 0x06, 0x9b, 0xc5, 0xbb, 0x04, 0x43, + 0x65, 0x88, 0x68, 0x11, 0x4e, 0xe9, 0x8c, 0x58, 0xf3, 0x7c, 0x6b, 0x4f, 0x0f, 0xb1, 0xb6, 0x8b, + 0x0f, 0x9a, 0xa5, 0x8b, 0xd2, 0xd5, 0xba, 0x3a, 0xc7, 0x3f, 0xb5, 0xd9, 0x97, 0x7b, 0xf8, 0x00, + 0x5d, 0x87, 0x39, 0xdd, 0xb6, 0xf4, 0x20, 0x85, 0x5d, 0xa6, 0xd8, 0xb3, 0xf4, 0x43, 0x02, 0xf7, + 0x75, 0x38, 0xe3, 0xf5, 0xb7, 0x6d, 0xcb, 0xd0, 0x7c, 0xec, 0x98, 0xf8, 0x4b, 0x7b, 0x6e, 0x3f, + 0xd0, 0x02, 0x8c, 0xcd, 0xe6, 0x04, 0x25, 0x98, 0x67, 0x5f, 0xd5, 0xe8, 0xe3, 0x26, 0xc6, 0xa6, + 0xf2, 0x4b, 0x09, 0x26, 0xa9, 0x8a, 0xe8, 0x3c, 0x00, 0xa7, 0x27, 0x42, 0x24, 0x4a, 0x53, 0x63, + 0x10, 0xc2, 0xfe, 0x0c, 0x4c, 0x05, 0xd8, 0xf0, 0x71, 0xc8, 0xb5, 0xe5, 0x2d, 0x42, 0xc6, 0x7e, + 0x69, 0x81, 0xd5, 0xe5, 0xba, 0xd5, 0x18, 0x64, 0xd3, 0xea, 0xa2, 0xb7, 0x00, 0x68, 0xd7, 0x35, + 0x62, 0x6f, 0xaa, 0x49, 0x63, 0xe9, 0x42, 0xbe, 0xa1, 0x1e, 0x1d, 0x78, 0x58, 0xad, 0x75, 0xc5, + 0x4f, 0xf4, 0x2c, 0x54, 0x03, 0xab, 0xeb, 0x68, 0x5e, 0x7f, 0xbb, 0x39, 0x49, 0x79, 0x57, 0x48, + 0xbb, 0xdd, 0xdf, 0x26, 0x9f, 0x6c, 0xcb, 0xd9, 0xa5, 0xda, 0x4e, 0xb1, 0x4f, 0xa4, 0x4d, 0x74, + 0xbd, 0x08, 0x75, 0xf1, 0x89, 0x6a, 0x55, 0xa1, 0x9f, 0x81, 0x7f, 0xde, 0xb4, 0xba, 0xca, 0x7f, + 0x48, 0x20, 0x53, 0x81, 0x9f, 0xc6, 0xba, 0x19, 0xac, 0x3d, 0xf6, 0x5c, 0x3f, 0x1c, 0x65, 0x81, + 0xa4, 0x2e, 0xa5, 0xb4, 0x2e, 0x6b, 0x70, 0xaa, 0x87, 0x43, 0xdd, 0xd4, 0x43, 0x5d, 0xdb, 0x21, + 0x1c, 0x35, 0xc3, 0x32, 0x83, 0x66, 0xf9, 0x62, 0xf9, 0x6a, 0xfd, 0xf6, 0xe9, 0xa3, 0xc3, 0x85, + 0xb9, 0xfb, 0xfc, 0x33, 0x95, 0xb7, 0xb2, 0xbe, 0x1a, 0xa8, 0x73, 0xbd, 0x14, 0xc8, 0x32, 0x03, + 0xc6, 0x26, 0x08, 0xf4, 0x2e, 0x0e, 0x92, 0x6c, 0x26, 0x92, 0x6c, 0xd8, 0xe7, 0x14, 0x9b, 0x24, + 0x88, 0xb0, 0x49, 0x5a, 0x66, 0x32, 0x65, 0x19, 0xe5, 0x6f, 0x25, 0x98, 0xa1, 0xfd, 0x16, 0xfa, + 0x90, 0x01, 0xc2, 0x7b, 0xd8, 0x09, 0xd9, 0x00, 0x49, 0x43, 0x06, 0x68, 0x8d, 0xa0, 0xb1, 0x01, + 0xc2, 0xe2, 0x27, 0x6a, 0x42, 0xc5, 0xd3, 0x0f, 0x6c, 0x57, 0x37, 0x85, 0x4d, 0x78, 0x13, 0xc9, + 0x50, 0x8e, 0x67, 0x04, 0xf9, 0x89, 0x54, 0x98, 0x13, 0xfc, 0x34, 0xd1, 0x79, 0x3a, 0x25, 0xa6, + 0x97, 0x2e, 0x67, 0x4a, 0x6c, 0xf3, 0xdf, 0x42, 0x59, 0x55, 0xf6, 0x06, 0x20, 0xca, 0x32, 0xef, + 0xcf, 0x9a, 0xb3, 0x87, 0x6d, 0xd7, 0xc3, 0x68, 0x1e, 0x26, 0x1d, 0xd7, 0x31, 0x30, 0x1f, 0x3f, + 0xd6, 0x20, 0x50, 0xaa, 0x33, 0x57, 0x92, 0x35, 0xde, 0x9e, 0xa8, 0x96, 0xe5, 0x09, 0xe5, 0xdf, + 0x25, 0x68, 0x70, 0xbb, 0x12, 0x1b, 0x62, 0x3f, 0x20, 0xbd, 0xa2, 0x4b, 0x11, 0xfb, 0x94, 0xcd, + 0x84, 0x2a, 0x9a, 0xe8, 0x1a, 0xd4, 0x4c, 0xbc, 0x67, 0x19, 0x58, 0xf3, 0x76, 0x19, 0xb3, 0xdb, + 0xf5, 0xa3, 0xc3, 0x85, 0xea, 0x2a, 0x05, 0xb6, 0xef, 0xa9, 0x55, 0xf6, 0xb9, 0xbd, 0x9b, 0x61, + 0x80, 0xfb, 0x50, 0x4d, 0xf4, 0xbb, 0x7c, 0x75, 0x7a, 0xe9, 0xd5, 0xcc, 0x7e, 0xa7, 0xb5, 0x59, + 0x14, 0x9d, 0x5d, 0x73, 0x42, 0xff, 0x40, 0x8d, 0x58, 0xb4, 0x6e, 0xc1, 0x4c, 0xea, 0x13, 0x91, + 0x28, 0x66, 0x6e, 0x4d, 0x25, 0x3f, 0x49, 0xbf, 0xf7, 0x74, 0xbb, 0x8f, 0xa9, 0xaa, 0x35, 0x95, + 0x35, 0x3e, 0x56, 0xfa, 0xa8, 0xa4, 0x34, 0x41, 0x1e, 0x34, 0xef, 0xdb, 0x13, 0x55, 0x49, 0x2e, + 0x29, 0xdf, 0x90, 0x40, 0x5e, 0x73, 0x0c, 0xff, 0xc0, 0x0b, 0xb1, 0xc9, 0x55, 0x41, 0xe7, 0xa0, + 0xe6, 0xd9, 0xba, 0xe5, 0x84, 0xf8, 0x71, 0x18, 0x2d, 0x0d, 0x01, 0xc8, 0x1e, 0xd9, 0xd2, 0xc9, + 0x46, 0xd6, 0x83, 0x59, 0x2e, 0x3c, 0x1a, 0xdb, 0x17, 0x61, 0x96, 0xcf, 0x76, 0xba, 0x3c, 0xb0, + 0x1f, 0x70, 0x55, 0x1a, 0xbd, 0x63, 0xe3, 0xc7, 0x21, 0x62, 0x56, 0xf2, 0x66, 0x3c, 0x3d, 0xca, + 0x89, 0xe9, 0xf1, 0xf6, 0x44, 0x75, 0x42, 0x9e, 0x54, 0xbe, 0x26, 0x41, 0x9d, 0x4e, 0xf2, 0x15, + 0x97, 0x75, 0xeb, 0x0c, 0x94, 0x2c, 0x93, 0x89, 0xb8, 0x3d, 0x75, 0x74, 0xb8, 0x50, 0x5a, 0x5f, + 0x55, 0x4b, 0x96, 0x89, 0x5e, 0x06, 0xf0, 0x74, 0x9f, 0x2c, 0x1a, 0xb2, 0x3c, 0x4b, 0x74, 0x79, + 0xce, 0x1c, 0x1d, 0x2e, 0xd4, 0xda, 0x14, 0x4a, 0x96, 0x65, 0x8d, 0x21, 0xac, 0x9b, 0x01, 0xba, + 0x02, 0x55, 0xb6, 0x05, 0x7a, 0xbb, 0x4c, 0xea, 0xed, 0xe9, 0xa3, 0xc3, 0x85, 0x0a, 0x9d, 0xb6, + 0xed, 0x7b, 0x6a, 0x85, 0x7e, 0x6c, 0xef, 0x72, 0x25, 0x34, 0x68, 0xa6, 0x16, 0x68, 0x9b, 0x2d, + 0xa7, 0x4d, 0xec, 0x84, 0xe9, 0xc9, 0x27, 0x0d, 0x9d, 0x7c, 0xb9, 0x16, 0x50, 0x2c, 0x98, 0x27, + 0xfd, 0xd3, 0x8d, 0x70, 0x99, 0x9c, 0x20, 0xf7, 0xf0, 0xc1, 0xb2, 0x69, 0x62, 0xb3, 0x08, 0xf3, + 0x2b, 0x50, 0xe5, 0xc7, 0x92, 0x58, 0x03, 0xb4, 0x47, 0x94, 0x1f, 0xe9, 0x11, 0x3b, 0x9a, 0x76, + 0x95, 0xef, 0x48, 0x70, 0x86, 0x77, 0xa6, 0xb7, 0x8d, 0x7d, 0xc6, 0x29, 0x92, 0xd6, 0xa3, 0xc0, + 0x01, 0x69, 0x0c, 0x93, 0x48, 0x63, 0x9f, 0xdb, 0xbb, 0x45, 0x96, 0xdc, 0x79, 0x00, 0xce, 0x35, + 0x71, 0x18, 0x31, 0x08, 0xd9, 0xf5, 0xef, 0x42, 0x83, 0x11, 0xad, 0xec, 0xe8, 0x96, 0x43, 0xf6, + 0xf4, 0xe7, 0xa0, 0x66, 0x90, 0xdf, 0x89, 0x1d, 0xbf, 0x6a, 0x88, 0x8f, 0x89, 0x5d, 0xa0, 0x94, + 0xda, 0x05, 0x94, 0xdf, 0x91, 0xf8, 0x28, 0xa5, 0xd9, 0x15, 0x36, 0xe4, 0x47, 0xa0, 0x61, 0xe2, + 0x20, 0xd4, 0x62, 0x53, 0xb0, 0xfe, 0xc9, 0x47, 0x87, 0x0b, 0xf5, 0x55, 0x1c, 0x84, 0x91, 0x39, + 0xea, 0x66, 0xdc, 0xda, 0x4d, 0xee, 0xba, 0xe5, 0xd4, 0xae, 0x4b, 0x34, 0x53, 0xee, 0xf7, 0xed, + 0xd0, 0x62, 0xb8, 0x54, 0x49, 0x3a, 0x2e, 0x2a, 0x0e, 0x5c, 0x7b, 0x0f, 0xfb, 0x85, 0x75, 0xbc, + 0x0c, 0x0d, 0x36, 0xd8, 0x3e, 0xe7, 0xc0, 0x27, 0xd4, 0x8c, 0x9e, 0x64, 0x8b, 0x16, 0x60, 0x5a, + 0xb8, 0x2a, 0xae, 0xdb, 0xe1, 0x6a, 0x01, 0x77, 0x52, 0x5c, 0xb7, 0xa3, 0x7c, 0x57, 0x82, 0x8b, + 0xc7, 0x34, 0x33, 0x7b, 0x96, 0xa3, 0xba, 0x36, 0xbe, 0xeb, 0xeb, 0x4e, 0x58, 0x4c, 0xaf, 0x4f, + 0xc2, 0x5c, 0x97, 0x52, 0xe1, 0x63, 0xe6, 0x3b, 0x75, 0x74, 0xb8, 0x30, 0xcb, 0x58, 0xe2, 0xc8, + 0x82, 0xb3, 0xdd, 0x14, 0x60, 0x57, 0xd9, 0x84, 0x2b, 0x83, 0xfa, 0xac, 0x3b, 0x56, 0x68, 0xe9, + 0x36, 0x83, 0x2c, 0x3b, 0x8e, 0xdb, 0x77, 0x8c, 0x42, 0x93, 0x55, 0xd1, 0xe1, 0x22, 0xef, 0x99, + 0xb9, 0x6c, 0x9a, 0x56, 0x68, 0xb9, 0x8e, 0x6e, 0xa7, 0x7d, 0xae, 0x22, 0x9d, 0x44, 0x30, 0x41, + 0x5d, 0x38, 0x66, 0x72, 0xfa, 0x5b, 0x31, 0xe1, 0x12, 0x73, 0x2a, 0x71, 0xcf, 0xdd, 0xc3, 0x1f, + 0x96, 0x94, 0xf7, 0x01, 0x71, 0x3f, 0x97, 0x0a, 0x7b, 0xdb, 0xb5, 0x9c, 0x62, 0x4c, 0x23, 0xef, + 0xb8, 0x34, 0xa6, 0x77, 0xac, 0x60, 0x90, 0x93, 0x22, 0x37, 0x70, 0x27, 0x2c, 0xb8, 0x2b, 0x45, + 0xfb, 0x6c, 0x29, 0x7f, 0x9f, 0x55, 0xde, 0x86, 0xf3, 0x5c, 0x0c, 0xdf, 0x07, 0x55, 0xfc, 0x7e, + 0x1f, 0x07, 0xe1, 0xaa, 0x15, 0xe8, 0xdb, 0x76, 0xa1, 0x4e, 0x2a, 0xeb, 0x70, 0x2e, 0x93, 0xd7, + 0x9a, 0x53, 0x98, 0xd5, 0xb7, 0x24, 0xb8, 0x94, 0xc9, 0x4b, 0xc5, 0x1d, 0xec, 0x63, 0xc7, 0xc0, + 0x2a, 0x0e, 0x70, 0x21, 0x8b, 0xe4, 0x5f, 0x09, 0x4a, 0x43, 0xae, 0x04, 0x87, 0x12, 0x5c, 0xce, + 0x54, 0xe4, 0x61, 0x3f, 0xec, 0xba, 0x96, 0xd3, 0x5d, 0x73, 0xde, 0xef, 0xe3, 0x7e, 0xe1, 0x23, + 0x63, 0x9c, 0xc1, 0x41, 0x9f, 0x24, 0x7b, 0x2e, 0x15, 0x4a, 0xb7, 0x90, 0x3c, 0xff, 0x61, 0x73, + 0x47, 0xf7, 0x31, 0x31, 0xb1, 0xd0, 0x50, 0x50, 0xa1, 0xe7, 0xa1, 0xee, 0xee, 0x3b, 0x69, 0xff, + 0xb2, 0xae, 0x4e, 0xbb, 0xfb, 0x4e, 0xe4, 0x59, 0x7c, 0x19, 0x9e, 0x1f, 0xda, 0xbf, 0xa2, 0x67, + 0xed, 0xcb, 0x00, 0x5c, 0x7a, 0xdc, 0x3b, 0xea, 0x0e, 0x70, 0xf6, 0xed, 0x7b, 0x6a, 0x8d, 0x23, + 0xb4, 0x77, 0x95, 0x7f, 0xca, 0x33, 0xef, 0xba, 0x63, 0xb8, 0x3d, 0xcb, 0xe9, 0xaa, 0xd8, 0xc0, + 0xd6, 0x5e, 0x31, 0xf3, 0x16, 0x52, 0x01, 0x7d, 0x04, 0xce, 0x0a, 0xec, 0xc1, 0x89, 0xc1, 0xf6, + 0xed, 0xd3, 0x86, 0xd0, 0x6c, 0x60, 0x4b, 0x91, 0x05, 0xdd, 0x80, 0x7d, 0x67, 0x39, 0x3c, 0xb2, + 0xf1, 0xaf, 0x4b, 0x70, 0x65, 0x68, 0x2f, 0x57, 0xad, 0xc0, 0xd0, 0x7d, 0xf3, 0x43, 0xec, 0xa6, + 0xf2, 0x87, 0xa3, 0x2c, 0xbd, 0x6c, 0x18, 0xd8, 0x0b, 0x3f, 0x4c, 0x4b, 0x8f, 0xe9, 0xfb, 0x29, + 0x1e, 0x9c, 0x4e, 0x6b, 0x7a, 0xdb, 0x76, 0x8d, 0xdd, 0x0f, 0xd3, 0x38, 0x3e, 0x9c, 0x4d, 0x4b, + 0xdc, 0x72, 0xb6, 0x3f, 0x6c, 0x99, 0xdf, 0x91, 0xa0, 0xc9, 0x85, 0x6e, 0x62, 0x9f, 0xb0, 0x78, + 0xe4, 0xee, 0x62, 0xa7, 0xb0, 0x4b, 0x72, 0x07, 0x66, 0x02, 0x46, 0xaf, 0x85, 0x84, 0x01, 0x3f, + 0x62, 0x9e, 0xcf, 0xde, 0x2a, 0x12, 0x92, 0xd4, 0x7a, 0x90, 0x68, 0x29, 0x2e, 0xb4, 0x32, 0xd4, + 0x61, 0xe7, 0x6a, 0xd1, 0xdd, 0x8d, 0x2a, 0xa2, 0x59, 0x6c, 0x6b, 0xad, 0xb1, 0x61, 0xa6, 0xec, + 0xd6, 0x57, 0xd5, 0x0a, 0xfd, 0xb8, 0x6e, 0x2a, 0x3f, 0x16, 0x61, 0x07, 0x15, 0x7b, 0xb6, 0x65, + 0xe8, 0xa1, 0xe5, 0x74, 0x8b, 0xc8, 0x59, 0x05, 0xa4, 0xf7, 0xc3, 0x1d, 0xec, 0x84, 0x94, 0xd8, + 0x75, 0xb4, 0xbe, 0x6f, 0x73, 0x89, 0x34, 0x3e, 0xb0, 0x9c, 0xfa, 0xba, 0xa5, 0x6e, 0xa8, 0x73, + 0x69, 0x82, 0x2d, 0xdf, 0x46, 0xaf, 0x00, 0xf2, 0x85, 0x7c, 0xd7, 0xd1, 0x88, 0x49, 0xb0, 0x4f, + 0xa7, 0x67, 0x4d, 0x9d, 0x4b, 0x7c, 0xd9, 0xa4, 0x1f, 0x94, 0x0d, 0x98, 0xe3, 0xe6, 0x61, 0x71, + 0x92, 0x55, 0x72, 0xf7, 0xac, 0x41, 0x85, 0x2f, 0xa6, 0xd6, 0xcb, 0x30, 0x49, 0xba, 0x73, 0x80, + 0x2e, 0xc1, 0x0c, 0xa6, 0x18, 0xd8, 0xd4, 0xe8, 0xde, 0xc0, 0x1c, 0xea, 0xba, 0x00, 0x12, 0x42, + 0xe5, 0x67, 0x93, 0x70, 0x96, 0xb3, 0xbb, 0x8b, 0xc9, 0xdc, 0xeb, 0x58, 0xdd, 0xbe, 0x4f, 0xe5, + 0x25, 0x99, 0xfe, 0x7c, 0x42, 0x70, 0x7d, 0x19, 0x20, 0x8a, 0x99, 0x09, 0xfb, 0xd0, 0x29, 0xc6, + 0x87, 0x8e, 0x4c, 0x31, 0x11, 0x39, 0x2b, 0x74, 0x59, 0xf8, 0x38, 0xc8, 0x82, 0xf1, 0xc0, 0x1a, + 0x45, 0x47, 0x87, 0x0b, 0x8d, 0xa4, 0x2b, 0xd2, 0xbe, 0xa7, 0x36, 0xf4, 0x64, 0x7b, 0x17, 0x5d, + 0x82, 0x8a, 0x87, 0xb1, 0x4f, 0x46, 0x7c, 0x82, 0xda, 0x1f, 0x8e, 0x0e, 0x17, 0xa6, 0xda, 0x18, + 0xfb, 0xeb, 0xab, 0xea, 0x14, 0xf9, 0xb4, 0x6e, 0x92, 0x5b, 0xb3, 0x6d, 0x05, 0x21, 0x76, 0xc8, + 0x55, 0x75, 0xf2, 0x62, 0xf9, 0x6a, 0x4d, 0x8d, 0x01, 0xe8, 0xf3, 0x30, 0xbd, 0x6d, 0x63, 0x0d, + 0x33, 0x5f, 0x81, 0x06, 0xb1, 0x1a, 0x4b, 0x6f, 0x0e, 0x9b, 0xc4, 0x83, 0x16, 0x5b, 0xdc, 0xc4, + 0x21, 0x99, 0x43, 0x9b, 0xa1, 0x1e, 0x62, 0x15, 0xb6, 0x6d, 0x2c, 0x1c, 0x0f, 0x03, 0xe4, 0x7d, + 0xab, 0x63, 0x69, 0xde, 0x92, 0x17, 0x09, 0xa8, 0x9c, 0x54, 0x40, 0x83, 0xb0, 0x6c, 0x2f, 0x79, + 0x42, 0xc8, 0x7b, 0x50, 0xef, 0x99, 0x4e, 0x10, 0x09, 0xa8, 0x9e, 0x54, 0xc0, 0x34, 0x61, 0x27, + 0xb8, 0xff, 0x7f, 0x98, 0xf1, 0xb1, 0xad, 0x1f, 0x44, 0xec, 0x6b, 0x27, 0x65, 0x5f, 0xa7, 0xfc, + 0x38, 0x7f, 0xe5, 0x2e, 0xd4, 0x93, 0x5f, 0xd1, 0x34, 0x54, 0xb6, 0x9c, 0x5d, 0xc7, 0xdd, 0x77, + 0xe4, 0x67, 0x48, 0x83, 0xe3, 0xc9, 0x12, 0xaa, 0x43, 0x55, 0x38, 0x87, 0x72, 0x09, 0xcd, 0xc2, + 0xf4, 0x96, 0xa3, 0xef, 0xe9, 0x96, 0x4d, 0x20, 0x72, 0x59, 0xf9, 0x0a, 0x9c, 0xcd, 0xf1, 0xd8, + 0x92, 0x33, 0xfa, 0xb3, 0x62, 0x42, 0xe7, 0x7b, 0x65, 0x52, 0xbe, 0x57, 0x46, 0xae, 0x7c, 0xc2, + 0x0e, 0x64, 0x5a, 0x57, 0x55, 0xd1, 0x54, 0x5e, 0x82, 0xd3, 0x99, 0x8e, 0x6c, 0x52, 0x78, 0x85, + 0x0b, 0x57, 0xbe, 0x10, 0xdd, 0xfe, 0x53, 0x9e, 0x6a, 0x12, 0xf7, 0xad, 0x13, 0x29, 0xaa, 0xec, + 0xc0, 0xb9, 0x41, 0x6b, 0x04, 0x38, 0xdb, 0x24, 0x27, 0x94, 0xf4, 0x81, 0x04, 0x28, 0x2d, 0x6a, + 0x13, 0x3b, 0x66, 0xab, 0x17, 0x09, 0x48, 0x7a, 0x93, 0xd2, 0x53, 0xf1, 0x26, 0x4b, 0xc7, 0xbc, + 0xc9, 0xd8, 0xb4, 0x9f, 0x1b, 0x34, 0x2d, 0x73, 0x2f, 0x5a, 0x6f, 0xc4, 0xfa, 0xa4, 0x8f, 0x4b, + 0x69, 0xf8, 0x71, 0x19, 0x73, 0x7e, 0x37, 0x63, 0x84, 0x89, 0xf3, 0xf4, 0x14, 0x58, 0xdf, 0x83, + 0x3a, 0xed, 0x3d, 0xc7, 0x4a, 0x8e, 0xce, 0x4d, 0x31, 0x3a, 0x2f, 0xc2, 0x2c, 0x76, 0x0c, 0xd7, + 0xc4, 0xa6, 0x96, 0xb4, 0x66, 0x5d, 0x6d, 0x70, 0x30, 0x27, 0x26, 0xe7, 0xfb, 0xcc, 0x2a, 0x26, + 0x20, 0xc1, 0x6e, 0x29, 0x56, 0x70, 0x5c, 0x2e, 0xad, 0x4f, 0x0b, 0xb9, 0x27, 0x1d, 0x3d, 0xa5, + 0x0d, 0xf5, 0xa4, 0x3b, 0xf5, 0x14, 0xcc, 0xa5, 0x42, 0x23, 0xed, 0x2e, 0x3d, 0x05, 0x9e, 0xef, + 0xc0, 0xa9, 0x81, 0x80, 0x1c, 0x9d, 0xc6, 0xaf, 0xc6, 0x8c, 0x93, 0x5e, 0xa4, 0x94, 0xef, 0x45, + 0xc6, 0x2c, 0x1f, 0xc1, 0x99, 0xc1, 0xd0, 0xc6, 0x8a, 0x8f, 0xf5, 0x30, 0xb5, 0xfa, 0x6e, 0x08, + 0x3b, 0x8f, 0xc9, 0x5e, 0x79, 0x0f, 0xe6, 0x07, 0xb9, 0xbe, 0xed, 0x5a, 0x4e, 0xeb, 0x56, 0xac, + 0x69, 0xe1, 0x27, 0xb1, 0x58, 0xe7, 0x4d, 0x38, 0x3d, 0xc8, 0x7d, 0x03, 0xeb, 0x7b, 0xf8, 0x44, + 0x86, 0x30, 0xe0, 0xf2, 0xd0, 0x68, 0x18, 0x59, 0x48, 0xb6, 0x1b, 0x9c, 0x4c, 0xc8, 0x6f, 0x48, + 0x70, 0x61, 0x78, 0x64, 0xab, 0xf5, 0x5e, 0x61, 0xf6, 0xe9, 0xa0, 0x53, 0x69, 0x58, 0xd0, 0x29, + 0xd6, 0xe4, 0x7b, 0x19, 0x31, 0xb6, 0x75, 0x67, 0xcf, 0x0a, 0xe9, 0x61, 0xc8, 0xa7, 0xc0, 0x13, + 0x74, 0xf5, 0x4d, 0x31, 0x55, 0x0a, 0x8f, 0xaf, 0xf2, 0x6d, 0x09, 0x66, 0x97, 0xbd, 0x28, 0x9c, + 0x4d, 0xa7, 0xf6, 0x3b, 0xc5, 0xad, 0x91, 0xfb, 0xce, 0xc4, 0x1e, 0x71, 0x5a, 0x8a, 0xd0, 0xf0, + 0x59, 0x28, 0x1b, 0x51, 0xd0, 0xbe, 0x72, 0x74, 0xb8, 0x50, 0x5e, 0x59, 0x5f, 0x55, 0x09, 0x8c, + 0x8c, 0x53, 0x83, 0xaa, 0x42, 0x03, 0xe1, 0xff, 0x9b, 0x9a, 0xfc, 0x58, 0x02, 0x94, 0x8a, 0xf2, + 0xd3, 0x67, 0x07, 0x72, 0xaf, 0x61, 0x6f, 0x71, 0x86, 0x1b, 0x3f, 0xb4, 0xe4, 0xdd, 0x6b, 0x92, + 0x2f, 0x15, 0x6a, 0x1d, 0x27, 0xdf, 0x2d, 0x3e, 0x91, 0x78, 0x67, 0x62, 0x57, 0x23, 0x25, 0x7f, + 0xa0, 0xa2, 0x27, 0x98, 0x88, 0x26, 0x7e, 0x2d, 0x2b, 0x27, 0x5e, 0xcb, 0x94, 0x3f, 0x95, 0x60, + 0x8e, 0x53, 0xb0, 0x67, 0x99, 0xa7, 0xaa, 0xf3, 0x5b, 0x50, 0x11, 0x6f, 0x3a, 0x4c, 0xe5, 0x4b, + 0x63, 0x3c, 0x8d, 0xa9, 0x82, 0x26, 0xf9, 0xde, 0x51, 0x4e, 0xbf, 0x77, 0xfc, 0x67, 0xac, 0x36, + 0xeb, 0xde, 0x86, 0x45, 0xee, 0x17, 0x52, 0xf1, 0x91, 0xbf, 0x02, 0xd5, 0xc0, 0x72, 0x0c, 0x2c, + 0x6e, 0x79, 0x1c, 0x6f, 0x93, 0xc0, 0xc8, 0x2d, 0x8f, 0x7e, 0x5c, 0x37, 0xd1, 0x73, 0x50, 0x63, + 0x78, 0x8e, 0xbb, 0x4f, 0xb5, 0xa9, 0xaa, 0x8c, 0xf0, 0x81, 0xbb, 0x4f, 0x98, 0xf4, 0x9d, 0xd0, + 0xb2, 0xc5, 0xc5, 0x81, 0x33, 0xd9, 0x22, 0x30, 0xc2, 0x84, 0x7e, 0x64, 0x4c, 0x18, 0x1e, 0x61, + 0x32, 0xc9, 0x98, 0x50, 0x00, 0x61, 0x72, 0x89, 0xb8, 0xc6, 0x7b, 0xd8, 0x0f, 0xb0, 0xe6, 0xfa, + 0x26, 0xf6, 0xe9, 0xdd, 0xa1, 0x4a, 0xfc, 0x5b, 0x0a, 0x7c, 0x48, 0x60, 0xf1, 0x1b, 0x37, 0xb7, + 0xd9, 0xff, 0x95, 0x7e, 0xff, 0xb7, 0x04, 0x35, 0xbe, 0xf3, 0x75, 0xdc, 0x96, 0x56, 0xbc, 0xbf, + 0x85, 0x82, 0x1a, 0xad, 0xdf, 0x92, 0x9e, 0x78, 0x73, 0x2c, 0xb0, 0xc7, 0xa7, 0x2f, 0xb6, 0xe5, + 0xa1, 0x91, 0xe4, 0x2f, 0xc2, 0xcc, 0xb2, 0x11, 0xd2, 0xc4, 0x10, 0x2a, 0xad, 0xd5, 0x2e, 0x6e, + 0x83, 0xf3, 0x00, 0xb6, 0x6b, 0xe8, 0xb6, 0xe6, 0x3a, 0xf6, 0x01, 0xbf, 0x71, 0xd4, 0x28, 0xe4, + 0xa1, 0x63, 0x1f, 0xc4, 0x27, 0xce, 0x7d, 0x98, 0x5d, 0xc5, 0x7a, 0x4a, 0xda, 0x49, 0x8e, 0xd2, + 0xef, 0x4d, 0xf2, 0xc5, 0xca, 0xba, 0x45, 0x2e, 0x66, 0xfd, 0xe0, 0x49, 0x38, 0xfe, 0xb0, 0x1c, + 0x7b, 0x91, 0x13, 0x89, 0xd4, 0x86, 0x97, 0xf2, 0x07, 0x25, 0x29, 0x72, 0x91, 0xe6, 0x39, 0x50, + 0xc2, 0xec, 0xdc, 0x81, 0xd6, 0x4f, 0x25, 0x98, 0x21, 0xb7, 0xfd, 0x15, 0xd7, 0x71, 0xb0, 0x11, + 0x62, 0x33, 0x19, 0x11, 0x90, 0x72, 0x23, 0x02, 0x05, 0xe2, 0x13, 0x6d, 0x80, 0xd0, 0xd7, 0x9d, + 0xc0, 0x73, 0xfd, 0x90, 0xe5, 0x92, 0x34, 0x96, 0x6e, 0x8e, 0xab, 0xbe, 0x20, 0x54, 0x13, 0x3c, + 0xd0, 0x19, 0x98, 0xea, 0xe9, 0xa6, 0xe9, 0xb3, 0x94, 0x92, 0x9a, 0xca, 0x5b, 0xad, 0x37, 0x40, + 0x26, 0x6a, 0xaa, 0xd8, 0x60, 0x9d, 0xb1, 0x9c, 0xee, 0x58, 0xbd, 0x11, 0x84, 0xc4, 0x8b, 0x2a, + 0x64, 0x06, 0x65, 0x1b, 0x26, 0x68, 0xfa, 0xc8, 0x2c, 0x4c, 0x93, 0xbf, 0xf1, 0xbd, 0xbb, 0x09, + 0xf3, 0x04, 0x30, 0xc8, 0x55, 0x96, 0xd0, 0x69, 0x98, 0x13, 0x5f, 0x22, 0x9b, 0xcb, 0xa5, 0x24, + 0x41, 0x52, 0x7f, 0xb9, 0xac, 0xac, 0x41, 0x2d, 0x32, 0x03, 0x6a, 0x00, 0x3c, 0xf2, 0xc2, 0x58, + 0x0e, 0xc0, 0xd4, 0x23, 0x2f, 0xdc, 0x58, 0x7e, 0x20, 0x4b, 0xfc, 0xf7, 0x67, 0x97, 0x1f, 0xc8, + 0x25, 0x24, 0x43, 0xfd, 0x91, 0x17, 0xb6, 0x7d, 0xf7, 0xb1, 0xd5, 0xb3, 0xc2, 0x03, 0xb9, 0xac, + 0xfc, 0x95, 0x44, 0xa6, 0xf8, 0x76, 0xbf, 0x4b, 0xf6, 0x4f, 0x6a, 0xe9, 0x20, 0xe9, 0x45, 0xff, + 0x91, 0x54, 0xd0, 0x8d, 0x46, 0x1b, 0xa9, 0x94, 0xa8, 0xd2, 0x38, 0x29, 0x51, 0x6c, 0xfb, 0xc9, + 0xcc, 0x90, 0x4a, 0x6f, 0x56, 0xe5, 0x11, 0x11, 0xd8, 0xef, 0x96, 0xe1, 0x0c, 0xed, 0xcc, 0xba, + 0x13, 0x78, 0xd8, 0x60, 0xfd, 0xd9, 0x0c, 0x5d, 0x1f, 0xb7, 0xbe, 0xfd, 0x04, 0x27, 0xc3, 0x16, + 0x54, 0x6d, 0xb7, 0x9b, 0xec, 0xc8, 0x2b, 0x99, 0x1d, 0x39, 0x26, 0x72, 0xc3, 0xed, 0xd2, 0x7e, + 0x51, 0xb6, 0xbc, 0xa1, 0x56, 0x6c, 0xf6, 0xa3, 0xf5, 0x0b, 0x69, 0xb4, 0x0f, 0x85, 0x6e, 0xc0, + 0x34, 0x4f, 0xc2, 0x30, 0xe2, 0x2c, 0x8c, 0xc6, 0xd1, 0xe1, 0x02, 0xb0, 0x2c, 0x0c, 0x9a, 0x1d, + 0xc5, 0xf3, 0x34, 0x68, 0x5a, 0xd4, 0x83, 0x44, 0x92, 0x56, 0x22, 0xe5, 0xa9, 0x3c, 0x56, 0xca, + 0x53, 0x94, 0xad, 0x15, 0x81, 0xd2, 0x4b, 0x79, 0x62, 0x54, 0x36, 0x86, 0xf0, 0x19, 0xa7, 0xd2, + 0xef, 0xf5, 0x1e, 0x00, 0x35, 0xce, 0x13, 0x6f, 0x9d, 0xc9, 0x5b, 0x1c, 0x5f, 0x77, 0x41, 0x53, + 0x22, 0xcb, 0x9b, 0x11, 0xb0, 0x85, 0x17, 0xa8, 0x15, 0xb6, 0xf2, 0x02, 0xe5, 0x0f, 0x4a, 0x30, + 0xbf, 0xdc, 0x0f, 0x77, 0xd6, 0x1e, 0x1b, 0x3b, 0xba, 0xd3, 0xc5, 0x2a, 0x0e, 0x3c, 0xd7, 0x09, + 0x30, 0x7a, 0x1e, 0xea, 0xba, 0x61, 0xe0, 0x20, 0xe0, 0x41, 0x75, 0x96, 0x46, 0x34, 0xcd, 0x60, + 0x34, 0x94, 0x4d, 0xb6, 0xc2, 0xc0, 0x70, 0xbd, 0x28, 0x9d, 0x88, 0x36, 0xe8, 0x06, 0xe9, 0xfb, + 0xae, 0x08, 0x21, 0xb3, 0x06, 0x7a, 0x09, 0xe6, 0xe8, 0x0f, 0xcd, 0xc4, 0x81, 0xe1, 0x5b, 0x1e, + 0xb9, 0x81, 0xb0, 0x50, 0xa9, 0x2a, 0xd3, 0x0f, 0xab, 0x31, 0x1c, 0x6d, 0x42, 0x95, 0x47, 0xe6, + 0x59, 0x9c, 0x74, 0x7a, 0xe9, 0x8d, 0xcc, 0x01, 0xc9, 0x52, 0x5c, 0xc4, 0xfe, 0x02, 0x9e, 0x1f, + 0x25, 0x18, 0xb5, 0x6e, 0xc1, 0x4c, 0xea, 0x53, 0xa1, 0xfc, 0xa8, 0x9f, 0x48, 0xd0, 0xa4, 0x23, + 0x43, 0x44, 0x72, 0x36, 0x9b, 0x38, 0xa4, 0x76, 0x68, 0x7d, 0x4f, 0x4a, 0xc6, 0x98, 0x26, 0x63, + 0x7b, 0x4d, 0x2f, 0x5d, 0x1b, 0x5b, 0x6f, 0x95, 0xd1, 0x3d, 0x9d, 0xa0, 0x7e, 0x7c, 0x84, 0x7e, + 0x19, 0xe4, 0xc1, 0x88, 0x08, 0x3a, 0x03, 0xa5, 0x68, 0x1a, 0xd1, 0x44, 0xa6, 0xf6, 0x3d, 0xb5, + 0xe4, 0x3d, 0xe1, 0x03, 0x31, 0x6a, 0x25, 0xae, 0x17, 0xcc, 0xd9, 0x8e, 0xda, 0x8a, 0x0d, 0xe7, + 0x92, 0x6f, 0x29, 0x9b, 0x7d, 0x8f, 0xc5, 0xfe, 0x39, 0x90, 0x4c, 0xb2, 0xe8, 0xe9, 0x46, 0x9c, + 0xca, 0x35, 0x75, 0x5a, 0x3c, 0xcb, 0xb0, 0x75, 0x25, 0x0b, 0x14, 0xec, 0x98, 0x9e, 0x6b, 0xf1, + 0xa3, 0xb7, 0xa6, 0xce, 0x72, 0xf8, 0x1a, 0x07, 0x2b, 0xff, 0x22, 0x41, 0x3d, 0x29, 0x8e, 0x8c, + 0x67, 0x72, 0xf2, 0x3e, 0x4d, 0x0b, 0xa3, 0x2f, 0x00, 0x0a, 0x44, 0x77, 0xb4, 0x68, 0xb6, 0x96, + 0x87, 0xe4, 0xf1, 0x0d, 0xb3, 0x84, 0x3a, 0x17, 0x0c, 0x40, 0x02, 0x74, 0x01, 0x00, 0x3f, 0xf6, + 0x2c, 0x16, 0xba, 0xa6, 0x6b, 0xa5, 0xac, 0x26, 0x20, 0xca, 0x6f, 0x4a, 0x70, 0x36, 0x31, 0x1d, + 0x57, 0xdc, 0x9e, 0x67, 0xe3, 0x10, 0xdf, 0xb1, 0xdd, 0xfd, 0xd6, 0x5b, 0xf1, 0x8c, 0x5c, 0x82, + 0xba, 0xa1, 0xdb, 0xf6, 0xb6, 0x6e, 0xec, 0xd2, 0x8e, 0xb2, 0x63, 0x78, 0xf6, 0xe8, 0x70, 0x61, + 0x7a, 0x85, 0xc3, 0x49, 0x17, 0xa7, 0x05, 0x12, 0x99, 0x3e, 0xc9, 0x6d, 0x24, 0x7a, 0xca, 0x92, + 0x86, 0x3c, 0x65, 0xfd, 0x44, 0x82, 0x53, 0x09, 0x5d, 0xd6, 0x1d, 0x2b, 0xa4, 0x7a, 0xdc, 0x4f, + 0x6d, 0x61, 0xc4, 0x8a, 0x09, 0x1d, 0x58, 0x9a, 0x58, 0x3f, 0xdc, 0x21, 0xf2, 0x2b, 0xe4, 0x23, + 0x31, 0x6c, 0x2b, 0xb1, 0xf8, 0xcb, 0xd4, 0x31, 0x89, 0xd7, 0x70, 0x3b, 0x71, 0x12, 0xc4, 0x7c, + 0xe8, 0x49, 0x40, 0x78, 0x10, 0x18, 0x39, 0x02, 0x03, 0x6c, 0xf4, 0x7d, 0x1c, 0x0d, 0x6b, 0x95, + 0x1d, 0x81, 0x9b, 0x14, 0x4a, 0xf0, 0x6a, 0x0c, 0x61, 0xcb, 0xb7, 0x95, 0x5f, 0x48, 0x70, 0x79, + 0xc5, 0xc7, 0x26, 0x19, 0x5c, 0xdd, 0xfe, 0x0c, 0xf6, 0xad, 0x4e, 0xe2, 0xbd, 0x2b, 0xd9, 0x95, + 0x44, 0x20, 0xf9, 0x06, 0x88, 0x29, 0x9a, 0xe8, 0x0d, 0x3d, 0x6c, 0x38, 0x11, 0x11, 0x02, 0x1c, + 0x85, 0xf4, 0x29, 0x9d, 0x4b, 0x5c, 0x1a, 0xcc, 0x25, 0x46, 0x30, 0x61, 0x5b, 0xce, 0x2e, 0xdf, + 0x31, 0xe9, 0xef, 0x0f, 0xa1, 0xab, 0x3f, 0x90, 0xe0, 0xda, 0xd0, 0xae, 0x8e, 0x37, 0x83, 0xac, + 0xec, 0x19, 0xb4, 0x9e, 0x9c, 0x41, 0x56, 0xeb, 0x45, 0xa1, 0xfe, 0x05, 0x00, 0x8b, 0x8a, 0xec, + 0x58, 0x3c, 0x7f, 0xb6, 0xa6, 0x26, 0x20, 0xca, 0xd7, 0x4b, 0x70, 0x96, 0xe9, 0x82, 0xcd, 0x58, + 0xbb, 0x80, 0x5e, 0x4f, 0xbf, 0x91, 0xd8, 0x58, 0x5f, 0x82, 0xb9, 0x8e, 0x65, 0x87, 0xf4, 0x48, + 0x1b, 0x60, 0x27, 0xb3, 0x0f, 0xeb, 0x11, 0x9c, 0xdc, 0x0c, 0x05, 0x72, 0x10, 0xf4, 0x79, 0x92, + 0x5a, 0x4d, 0xad, 0x73, 0x44, 0x0a, 0xa3, 0x21, 0xe8, 0xc7, 0x86, 0xdd, 0x37, 0xb1, 0x46, 0x57, + 0x15, 0xcf, 0x77, 0xa8, 0xaa, 0x0d, 0x0e, 0x5e, 0x63, 0xd0, 0x96, 0x2e, 0xfa, 0xf2, 0x39, 0x00, + 0x23, 0x52, 0x91, 0xef, 0xf0, 0x1f, 0xcd, 0xde, 0xe1, 0xd9, 0xf3, 0xe0, 0xf1, 0x8e, 0xa9, 0xb8, + 0x6b, 0x05, 0x21, 0xf6, 0xb1, 0xa9, 0x26, 0x78, 0x29, 0x1f, 0x48, 0xd1, 0xb3, 0x2a, 0x3b, 0x5c, + 0x69, 0xff, 0x13, 0x8e, 0xa5, 0x5d, 0x70, 0x45, 0xa2, 0x5b, 0x50, 0xe1, 0x13, 0x70, 0xfc, 0xf7, + 0x70, 0x41, 0xa1, 0xfc, 0xda, 0x80, 0x36, 0x2b, 0xae, 0x89, 0x53, 0x0b, 0x53, 0x4a, 0x2f, 0x4c, + 0x74, 0x19, 0x1a, 0x86, 0x6b, 0x62, 0xcd, 0xd8, 0xd1, 0x6d, 0x1b, 0x3b, 0x5d, 0x71, 0x84, 0xce, + 0xd0, 0xf0, 0xbf, 0x00, 0xa6, 0x94, 0x2f, 0x0f, 0xd9, 0x4e, 0xbe, 0x29, 0xc1, 0x82, 0x9a, 0x7e, + 0x7a, 0x26, 0x9b, 0x24, 0xb7, 0x1d, 0xf3, 0x8e, 0xde, 0x4d, 0x6d, 0x2d, 0x63, 0xd9, 0x64, 0xcc, + 0xb4, 0xa3, 0xf8, 0xf4, 0xfc, 0xaa, 0x04, 0x17, 0xb3, 0xf4, 0x60, 0x10, 0x7e, 0xc3, 0x3d, 0x51, + 0xc0, 0x7b, 0x41, 0x8c, 0xeb, 0x19, 0x28, 0xb9, 0xec, 0x50, 0xae, 0xb2, 0x43, 0xf9, 0xe1, 0x3d, + 0xb5, 0xe4, 0xee, 0x2a, 0x3f, 0x01, 0x80, 0xcd, 0x83, 0x20, 0xc4, 0x3d, 0x1a, 0xc0, 0x48, 0x4c, + 0x89, 0x7f, 0x8b, 0xfc, 0xe2, 0x65, 0xa8, 0x78, 0xbe, 0x4b, 0x1c, 0x33, 0x2e, 0xf8, 0xc5, 0xec, + 0xb1, 0x8e, 0xd8, 0x2c, 0xb6, 0x19, 0xba, 0x2a, 0xe8, 0xd0, 0x27, 0xa0, 0xec, 0x2d, 0x79, 0x43, + 0x83, 0x6d, 0x49, 0xf2, 0xa5, 0x36, 0xdb, 0x8a, 0xda, 0x4b, 0x6d, 0x95, 0x10, 0xa2, 0x07, 0x50, + 0x71, 0xfd, 0x6d, 0x2b, 0x34, 0xb7, 0x79, 0xa6, 0xd6, 0x48, 0x15, 0x1e, 0x12, 0xf4, 0xd5, 0xdb, + 0x6c, 0x08, 0x78, 0x43, 0x15, 0x4c, 0xc8, 0xd1, 0xbd, 0xaf, 0xfb, 0x8e, 0xb8, 0x9b, 0xb2, 0x46, + 0xeb, 0x5f, 0x25, 0x10, 0xa8, 0xc8, 0x8c, 0x1f, 0xec, 0x23, 0xff, 0x83, 0xf5, 0xfe, 0xcd, 0x31, + 0x45, 0x2f, 0x26, 0x87, 0x96, 0xde, 0x94, 0xd5, 0x59, 0xce, 0x32, 0x7a, 0xcf, 0xfb, 0x0a, 0xcc, + 0x1d, 0xc3, 0x22, 0x2b, 0xc1, 0xf3, 0xdd, 0xae, 0x2f, 0x0c, 0x5e, 0x56, 0xa3, 0x36, 0x0d, 0x3d, + 0xea, 0x8f, 0xad, 0x5e, 0xbf, 0x47, 0x8d, 0x59, 0x56, 0x45, 0x93, 0x50, 0x6d, 0xf7, 0x3b, 0x1d, + 0x2c, 0x36, 0x9a, 0xb2, 0x1a, 0xb5, 0xc9, 0x5d, 0x9c, 0x65, 0xd1, 0xf1, 0x73, 0x9e, 0xb7, 0x5a, + 0x8b, 0x40, 0x4c, 0x4c, 0xb6, 0xaa, 0xe8, 0xf2, 0xab, 0x11, 0xd7, 0x5d, 0xc8, 0x6d, 0x44, 0x60, + 0xe2, 0xd9, 0x07, 0xad, 0x6f, 0x4f, 0x41, 0x85, 0x8f, 0x2d, 0xd1, 0x64, 0x0f, 0xfb, 0x01, 0x71, + 0x1e, 0xd8, 0x3e, 0x29, 0x9a, 0xe8, 0x2c, 0x54, 0xf6, 0x8c, 0x40, 0xf3, 0x71, 0x87, 0x2f, 0xd3, + 0xa9, 0x3d, 0x23, 0x50, 0x71, 0x87, 0x5c, 0x62, 0xfa, 0x5e, 0x68, 0xf5, 0xb0, 0xd6, 0x0b, 0x98, + 0x8e, 0xec, 0x12, 0xb3, 0x45, 0x81, 0xf7, 0x37, 0xd5, 0x2a, 0xfb, 0x7c, 0x3f, 0x40, 0x1f, 0x03, + 0xb9, 0x1f, 0x60, 0x5f, 0x33, 0xbc, 0xbe, 0x26, 0x28, 0x80, 0x52, 0xcc, 0x1d, 0x1d, 0x2e, 0xcc, + 0x6c, 0x05, 0xd8, 0x5f, 0x69, 0x6f, 0x3d, 0x62, 0x64, 0x33, 0x04, 0x75, 0xc5, 0xeb, 0x3f, 0x62, + 0xb4, 0x9f, 0x02, 0x14, 0xd0, 0xd1, 0x48, 0x51, 0x4f, 0x53, 0x6a, 0x9a, 0xad, 0xcb, 0xc6, 0x2a, + 0xa6, 0x9f, 0x65, 0xe8, 0x31, 0x87, 0xf3, 0x00, 0x41, 0xa8, 0x53, 0xdf, 0x4b, 0x0f, 0x9b, 0x75, + 0x6a, 0x8b, 0x1a, 0x87, 0x2c, 0xd3, 0xda, 0x1d, 0xdf, 0x26, 0x57, 0x76, 0xcd, 0xe8, 0xfb, 0xcd, + 0x19, 0x9a, 0xae, 0x5d, 0x63, 0x90, 0x95, 0x3e, 0x3d, 0x1e, 0x9c, 0x7e, 0x4f, 0xeb, 0xba, 0xbe, + 0xdb, 0x0f, 0x2d, 0x07, 0x37, 0x1b, 0x94, 0x41, 0xdd, 0xe9, 0xf7, 0xee, 0x0a, 0x18, 0x19, 0x12, + 0xc7, 0xed, 0x58, 0x36, 0x6e, 0xce, 0xb2, 0x21, 0x61, 0x2d, 0xf4, 0x0a, 0x9c, 0x0a, 0x5d, 0x57, + 0xeb, 0xe9, 0xce, 0x81, 0xe6, 0x7a, 0xd8, 0xd1, 0x08, 0x34, 0x68, 0xca, 0xf4, 0xe8, 0x90, 0x43, + 0xd7, 0xbd, 0xaf, 0x3b, 0x07, 0x0f, 0x3d, 0xec, 0xdc, 0x21, 0x70, 0x74, 0x09, 0x2a, 0x44, 0x96, + 0xe1, 0xf5, 0x9b, 0x73, 0xb4, 0x83, 0x34, 0x00, 0xf2, 0xa0, 0x4f, 0x7a, 0xa7, 0x4e, 0x39, 0x7d, + 0xd2, 0x29, 0xa2, 0x6f, 0xd7, 0xd5, 0xc4, 0x68, 0x21, 0x3a, 0x26, 0xb5, 0xae, 0xfb, 0x19, 0x3e, + 0x5e, 0xd7, 0x40, 0x76, 0x3d, 0xec, 0xd3, 0x04, 0x21, 0x8d, 0x99, 0xa2, 0x79, 0x8a, 0xf9, 0xc0, + 0x11, 0x9c, 0x99, 0x0c, 0x3d, 0x07, 0xb5, 0x1d, 0x37, 0x08, 0x35, 0x47, 0xef, 0xe1, 0xe6, 0x3c, + 0xc5, 0xa9, 0x12, 0xc0, 0x03, 0xbd, 0x87, 0x89, 0x9f, 0xa1, 0xfb, 0xc6, 0x4e, 0xf3, 0x34, 0xf3, + 0x33, 0xc8, 0xef, 0x84, 0xa9, 0x7a, 0xfa, 0xe3, 0xe6, 0x99, 0xa4, 0xa9, 0xee, 0xeb, 0x8f, 0x89, + 0xf7, 0xe1, 0x59, 0x66, 0xf3, 0x2c, 0x55, 0x9d, 0x2d, 0x79, 0x72, 0xe5, 0xf6, 0x2c, 0x13, 0x9d, + 0x83, 0x09, 0x8f, 0x7c, 0x6b, 0xd2, 0x6f, 0xd5, 0xa3, 0xc3, 0x85, 0x89, 0x36, 0xf9, 0x48, 0xa1, + 0x6c, 0x8d, 0x58, 0xae, 0x6f, 0x85, 0x07, 0xcd, 0x67, 0xc5, 0x1a, 0x61, 0x6d, 0xea, 0xd2, 0x58, + 0x66, 0xb3, 0x15, 0x33, 0xdd, 0x22, 0x4c, 0xfb, 0x96, 0x89, 0x16, 0x60, 0x7a, 0xdf, 0xf5, 0x77, + 0x49, 0x47, 0x4d, 0xcb, 0x6f, 0x3e, 0xc7, 0xfc, 0x05, 0x0e, 0x5a, 0xb5, 0xe8, 0xa9, 0xcd, 0xe7, + 0x0e, 0x99, 0x53, 0xb4, 0x9b, 0xe7, 0x28, 0x52, 0x83, 0x81, 0xb7, 0x38, 0x54, 0xf9, 0xd5, 0x24, + 0x54, 0xc9, 0xa2, 0x18, 0x3c, 0x49, 0x97, 0xc5, 0xae, 0xf9, 0x51, 0x98, 0x14, 0x4b, 0xa9, 0x9c, + 0xfb, 0x28, 0x22, 0x38, 0xd0, 0x1f, 0x2a, 0x23, 0x68, 0xfd, 0xb8, 0x04, 0x13, 0xa4, 0x9d, 0x28, + 0x09, 0xa9, 0xa5, 0x4a, 0x42, 0x6e, 0xc1, 0x14, 0x99, 0x46, 0x98, 0x05, 0x22, 0xf2, 0x36, 0xd4, + 0x88, 0xb7, 0x4a, 0x70, 0x55, 0x4e, 0x42, 0x26, 0x1e, 0xbd, 0x11, 0x0b, 0xf7, 0x97, 0xb7, 0xd0, + 0x32, 0x54, 0x3b, 0x58, 0x0f, 0xfb, 0x3e, 0x66, 0xbb, 0x62, 0x23, 0xaf, 0x9a, 0x46, 0xb0, 0xbd, + 0xc3, 0xb0, 0xd5, 0x88, 0x8c, 0x58, 0xb7, 0x67, 0x39, 0x9a, 0xad, 0x87, 0xd8, 0x31, 0x58, 0x39, + 0x58, 0x59, 0x85, 0x9e, 0xe5, 0x6c, 0x30, 0x08, 0x99, 0x3e, 0x56, 0xa0, 0xd1, 0x08, 0x2e, 0xe6, + 0xe1, 0xf4, 0xaa, 0x15, 0xd0, 0xf8, 0x31, 0x46, 0x1f, 0x87, 0x9a, 0x69, 0xf9, 0xd8, 0xa0, 0xf7, + 0x91, 0xca, 0x90, 0x40, 0xc9, 0xaa, 0xc0, 0x52, 0x63, 0x82, 0xd6, 0xdf, 0x91, 0xe3, 0x8a, 0xf4, + 0x30, 0x2d, 0x44, 0x1a, 0x10, 0xd2, 0x84, 0x8a, 0x6e, 0x9a, 0x74, 0x6b, 0x65, 0x7b, 0x93, 0x68, + 0xa6, 0xc5, 0x97, 0x0b, 0x8a, 0x27, 0x7c, 0x45, 0xb7, 0xd9, 0x16, 0x2b, 0x9a, 0xe8, 0x13, 0x50, + 0x09, 0x42, 0x1f, 0xeb, 0x3d, 0x11, 0x6c, 0x78, 0x61, 0xb8, 0x59, 0x37, 0x29, 0xb2, 0x2a, 0x88, + 0x5a, 0x17, 0x61, 0x8a, 0x81, 0xf2, 0xa6, 0x83, 0xf2, 0x3e, 0x54, 0xf8, 0x58, 0x20, 0x04, 0x0d, + 0x1e, 0x76, 0xe4, 0x10, 0xf9, 0x19, 0x34, 0x0b, 0xd3, 0x9f, 0xc5, 0xc1, 0x8e, 0x00, 0x48, 0xa8, + 0x01, 0x70, 0x7b, 0x63, 0x4d, 0xb4, 0x69, 0x18, 0x72, 0xc3, 0x35, 0x74, 0x5b, 0x40, 0xca, 0x34, + 0x80, 0xe9, 0xfa, 0xa2, 0x3d, 0x41, 0x58, 0xbc, 0xd3, 0xb7, 0x0c, 0x01, 0x98, 0x54, 0x7e, 0x28, + 0x41, 0xb5, 0x2d, 0xce, 0xa4, 0x79, 0x98, 0x0c, 0x42, 0x3d, 0x14, 0xf7, 0x6b, 0xd6, 0x20, 0x50, + 0xd3, 0xb5, 0x9c, 0xae, 0x88, 0x76, 0xd0, 0x46, 0xea, 0x6c, 0x23, 0x46, 0x2e, 0x25, 0xce, 0xb6, + 0x73, 0x50, 0x33, 0xf8, 0x1d, 0x81, 0x1d, 0x54, 0x13, 0x6a, 0x0c, 0x60, 0xb7, 0xed, 0x50, 0xb7, + 0xe9, 0xb4, 0x9a, 0x50, 0x59, 0x83, 0x4a, 0xc1, 0xb6, 0xce, 0xaa, 0x32, 0x27, 0x54, 0xd6, 0x50, + 0x0e, 0x25, 0x98, 0x7b, 0xd8, 0x0f, 0x1f, 0x76, 0x68, 0xb4, 0x51, 0x94, 0x95, 0x0d, 0x89, 0xef, + 0x15, 0x88, 0x94, 0x27, 0x0a, 0x75, 0x48, 0x07, 0xa6, 0xe2, 0x72, 0x3d, 0x5e, 0x83, 0x37, 0x11, + 0xd7, 0xe0, 0xcd, 0xc3, 0x64, 0xc7, 0xd6, 0xbb, 0x01, 0xd5, 0xb9, 0xa2, 0xb2, 0x06, 0x0d, 0x56, + 0x89, 0x92, 0x37, 0x2d, 0x1d, 0xaa, 0x93, 0xa3, 0x0f, 0xbc, 0x14, 0x2b, 0xae, 0x21, 0xab, 0x24, + 0x6a, 0xc8, 0x14, 0x1b, 0x9e, 0x3d, 0xd6, 0xbf, 0x11, 0x55, 0x89, 0x32, 0x94, 0xb7, 0xdd, 0xc7, + 0xfc, 0x76, 0x48, 0x7e, 0x92, 0xbd, 0x8e, 0xf9, 0xab, 0xbe, 0xc8, 0x97, 0xe2, 0x11, 0x96, 0x46, + 0x97, 0xa5, 0x8d, 0x72, 0xa8, 0xf2, 0x5f, 0x29, 0x73, 0xf2, 0x94, 0xf1, 0xd6, 0xa5, 0xd8, 0x31, + 0x4d, 0x84, 0x1c, 0xa5, 0x54, 0xc8, 0xb1, 0xf5, 0xe7, 0x91, 0x17, 0xf9, 0xa9, 0xf8, 0xd1, 0x94, + 0xf9, 0x51, 0x57, 0x32, 0xd7, 0xc1, 0xb1, 0x6e, 0xc5, 0xe5, 0x74, 0x64, 0x7e, 0xd8, 0x98, 0x1c, + 0xc2, 0x8f, 0xc5, 0xfb, 0x48, 0x0c, 0x40, 0x57, 0x41, 0xe6, 0xde, 0x77, 0x7c, 0x15, 0x4e, 0x76, + 0xa7, 0x1d, 0xdd, 0x87, 0xaf, 0x81, 0xac, 0xdb, 0x3e, 0xd6, 0xcd, 0x03, 0xcd, 0xe7, 0xe9, 0xef, + 0x74, 0xd0, 0xaa, 0xea, 0x2c, 0x87, 0x8b, 0xac, 0x78, 0xfa, 0x8a, 0x1f, 0x6b, 0xb4, 0x89, 0x75, + 0xbb, 0xf5, 0x20, 0xee, 0xf6, 0x90, 0x09, 0x95, 0xa5, 0x4d, 0x29, 0x4b, 0x9b, 0xd6, 0x65, 0x61, + 0xa0, 0x73, 0x50, 0x8b, 0x46, 0x5f, 0x54, 0x3d, 0x46, 0x00, 0xe5, 0xaf, 0x4b, 0x51, 0xc5, 0xc6, + 0xb0, 0x6b, 0x5f, 0x91, 0x04, 0xdf, 0x5b, 0xd0, 0x0a, 0xac, 0xae, 0x83, 0x4d, 0x7e, 0xe7, 0x0d, + 0x0f, 0x8e, 0x6b, 0x7b, 0x96, 0x61, 0xac, 0x73, 0x84, 0xd8, 0x88, 0x37, 0xe0, 0xd4, 0x1e, 0xd7, + 0x43, 0x4b, 0xdc, 0x5a, 0x59, 0x8c, 0x01, 0xed, 0x1d, 0x53, 0x91, 0xcc, 0x7a, 0x9f, 0xaa, 0xc9, + 0xe2, 0x4b, 0x9a, 0x49, 0x76, 0x0c, 0xb6, 0x57, 0xca, 0xc9, 0x0f, 0xab, 0x64, 0xf3, 0xa0, 0x97, + 0x67, 0x11, 0x8a, 0x62, 0xa8, 0xec, 0x34, 0x69, 0xc4, 0x60, 0x8a, 0x98, 0xbe, 0xff, 0x4f, 0x0d, + 0xde, 0xff, 0xc9, 0x69, 0xc7, 0xef, 0xe8, 0x15, 0xe6, 0x8a, 0xb2, 0x96, 0xf2, 0x16, 0xcc, 0xdd, + 0xb1, 0xfc, 0x20, 0xdc, 0xd0, 0x83, 0x70, 0x85, 0xad, 0x5f, 0xba, 0x91, 0x75, 0x08, 0x90, 0xd7, + 0xe1, 0xb2, 0x06, 0x0d, 0x9f, 0xe8, 0x41, 0xc8, 0xcb, 0xf2, 0xe8, 0x6f, 0xe5, 0x1f, 0x24, 0x38, + 0xc5, 0xdd, 0xfc, 0x44, 0x92, 0x00, 0x73, 0x1c, 0xb1, 0x6e, 0x63, 0x53, 0x8b, 0xd7, 0x5a, 0x8d, + 0x41, 0x6e, 0xbb, 0x8f, 0xd1, 0xf3, 0x50, 0xf7, 0xf5, 0x7d, 0xcd, 0x77, 0x59, 0x8e, 0x0c, 0x9f, + 0x9f, 0xd3, 0xbe, 0xbe, 0xaf, 0x72, 0x50, 0xeb, 0x9b, 0x12, 0x94, 0x09, 0x6a, 0xe2, 0xa0, 0x92, + 0xd2, 0x07, 0xd5, 0x3c, 0x4c, 0xd2, 0x7a, 0x6d, 0xf1, 0x44, 0x48, 0x1b, 0x05, 0x9e, 0x6c, 0x07, + 0xb3, 0x89, 0xeb, 0x99, 0x8f, 0x66, 0xbf, 0x92, 0xe0, 0xb4, 0x8a, 0x3b, 0x3e, 0x0e, 0x76, 0xd2, + 0xe9, 0x80, 0xad, 0xd7, 0x47, 0x78, 0x27, 0xf3, 0x30, 0xc9, 0xde, 0xfd, 0x4a, 0xec, 0x6e, 0xc5, + 0x9e, 0xfd, 0xde, 0x79, 0xc2, 0xd4, 0x35, 0x62, 0x08, 0xe2, 0xc2, 0xbb, 0xfd, 0x50, 0xdc, 0x78, + 0x78, 0xb3, 0xf5, 0xae, 0x58, 0x39, 0x6d, 0x98, 0xa6, 0x9e, 0x93, 0xd6, 0x71, 0xfb, 0x8e, 0xc9, + 0x1d, 0xae, 0x1b, 0x99, 0xdb, 0x4b, 0x66, 0x97, 0x98, 0xf7, 0x05, 0x94, 0xc7, 0x1d, 0xc2, 0xe2, + 0xba, 0x05, 0xf1, 0x03, 0x18, 0x3a, 0xc3, 0xf3, 0x67, 0xd8, 0xe3, 0xa1, 0x89, 0x3b, 0x96, 0x83, + 0x4d, 0xf9, 0x19, 0x34, 0xcf, 0x53, 0x1e, 0x08, 0x9c, 0x2f, 0x4d, 0x59, 0x4a, 0x41, 0xb9, 0x18, + 0xf6, 0x72, 0x18, 0x41, 0x13, 0x49, 0x53, 0x72, 0xf9, 0xfa, 0x07, 0x55, 0xa8, 0xc5, 0xef, 0x3c, + 0x67, 0x00, 0x45, 0x8d, 0xa4, 0xac, 0x4b, 0xb0, 0x10, 0xc1, 0xb3, 0xab, 0x5c, 0x65, 0x09, 0x5d, + 0x86, 0xe7, 0xd3, 0x48, 0x19, 0x15, 0xa3, 0x72, 0x09, 0x2d, 0xc0, 0x73, 0x11, 0xda, 0xf1, 0xb2, + 0x3b, 0x19, 0xa3, 0xf3, 0xf0, 0x6c, 0x26, 0xc2, 0x06, 0xee, 0x84, 0x72, 0x07, 0x5d, 0x87, 0x2b, + 0x83, 0x9f, 0xb3, 0x8b, 0xdb, 0xe4, 0x2e, 0xba, 0x06, 0x97, 0x87, 0xe3, 0x8a, 0xc4, 0xe7, 0x1d, + 0x74, 0x13, 0x5e, 0x1e, 0x8e, 0x9a, 0xae, 0x4d, 0x93, 0x2d, 0xb4, 0x04, 0x8b, 0xc3, 0x29, 0x06, + 0x8b, 0xc8, 0xe4, 0x2f, 0xa2, 0x45, 0xb8, 0x3e, 0x1e, 0xcd, 0x26, 0x76, 0x42, 0x79, 0x77, 0xb4, + 0x8c, 0xc1, 0x4a, 0x2a, 0xd9, 0x46, 0xaf, 0xc1, 0x8d, 0xf1, 0x68, 0xa2, 0xba, 0x24, 0xb9, 0x37, + 0xbe, 0x20, 0x51, 0x48, 0x24, 0x3b, 0x48, 0x81, 0x0b, 0x39, 0x34, 0xbc, 0xa4, 0x47, 0x76, 0xd1, + 0x0b, 0x70, 0x31, 0x07, 0x27, 0x2a, 0xc2, 0x91, 0x3d, 0xa4, 0xc0, 0xf9, 0x08, 0x2b, 0xab, 0x62, + 0x5b, 0xfe, 0xa9, 0x84, 0x6e, 0xc2, 0x4b, 0x11, 0xce, 0xe8, 0xb2, 0x5f, 0xf9, 0x47, 0x25, 0xf4, + 0x7a, 0xc2, 0x10, 0xe3, 0x95, 0xbf, 0xca, 0x7f, 0x5c, 0x42, 0x8b, 0x70, 0x2d, 0x5f, 0xce, 0x40, + 0x11, 0xaf, 0xfc, 0x27, 0x25, 0x74, 0x25, 0x31, 0xed, 0xf3, 0x2a, 0x7e, 0xe4, 0xdf, 0x2e, 0xa3, + 0xab, 0x70, 0x69, 0x18, 0x1e, 0x2f, 0xc5, 0x91, 0xbf, 0x5f, 0x46, 0x17, 0x12, 0x0b, 0x60, 0xb0, + 0x84, 0x46, 0xfe, 0x41, 0x19, 0xbd, 0x7a, 0x7c, 0xaa, 0x0e, 0x3b, 0x94, 0xe5, 0x5f, 0x96, 0x53, + 0x4a, 0xe6, 0xd5, 0xdc, 0xcb, 0xff, 0x5c, 0xb9, 0xfe, 0x81, 0x78, 0x0a, 0xcc, 0x78, 0xc1, 0x26, + 0x0b, 0x3c, 0xef, 0xdb, 0xc0, 0x66, 0x91, 0x87, 0xc6, 0x4f, 0x2b, 0x59, 0x22, 0xf3, 0x22, 0x1f, + 0x89, 0xa9, 0x26, 0x97, 0xae, 0xff, 0x85, 0x14, 0xa5, 0x35, 0xb3, 0xc2, 0x85, 0x67, 0xa3, 0xf4, + 0x70, 0xda, 0x4e, 0x8a, 0x1d, 0xf8, 0xf4, 0xc8, 0xe5, 0x13, 0x57, 0x96, 0xc8, 0xf6, 0x97, 0xfc, + 0x14, 0xad, 0x95, 0x12, 0x3a, 0x0d, 0x73, 0xc9, 0x2f, 0x6c, 0xb0, 0xca, 0xe8, 0x6c, 0x94, 0xa7, + 0xcc, 0x09, 0xd8, 0xd8, 0x4c, 0x0c, 0x0a, 0x89, 0x57, 0xd0, 0xe4, 0x20, 0x8d, 0x58, 0x02, 0x53, + 0xd7, 0xef, 0x42, 0x2d, 0xba, 0xb4, 0x91, 0xbb, 0x0d, 0xbf, 0x22, 0xad, 0x5a, 0xbe, 0xfc, 0x0c, + 0x69, 0xaf, 0x3b, 0xdb, 0x64, 0xd7, 0x27, 0x6d, 0x89, 0xdc, 0x75, 0x1e, 0xf6, 0xc3, 0x08, 0x50, + 0x42, 0x35, 0x98, 0xbc, 0x6d, 0x91, 0x9f, 0xe5, 0xa5, 0xbf, 0xbf, 0x0e, 0xb3, 0xe2, 0xbf, 0x49, + 0x88, 0x47, 0xc6, 0x20, 0xa3, 0x62, 0x09, 0x2d, 0x0e, 0x8b, 0x86, 0xc7, 0x78, 0x8b, 0x51, 0x59, + 0xd3, 0xd8, 0xf8, 0x9e, 0x7d, 0x70, 0x53, 0x42, 0x5f, 0x97, 0x72, 0x0b, 0x9b, 0xd0, 0xeb, 0x85, + 0x6a, 0x56, 0x84, 0x06, 0x4b, 0x05, 0xa9, 0xc8, 0xb9, 0x4b, 0xb4, 0xc8, 0xd9, 0xa2, 0x73, 0xb4, + 0xc8, 0xc1, 0x1e, 0xa1, 0x45, 0x3e, 0x15, 0xd1, 0xe2, 0x2b, 0x39, 0x25, 0x29, 0x68, 0x1c, 0x66, + 0x1c, 0x37, 0x52, 0xe0, 0x66, 0x21, 0x1a, 0x22, 0xfe, 0x4b, 0xd9, 0x45, 0x2e, 0xe8, 0xd5, 0x31, + 0x38, 0x31, 0xd4, 0x48, 0xf8, 0x8d, 0x22, 0x24, 0x44, 0xf6, 0xf7, 0xa5, 0xe1, 0xf5, 0x2f, 0xe8, + 0xcd, 0xb1, 0xec, 0x99, 0x24, 0x89, 0x94, 0x79, 0xe3, 0x49, 0x48, 0x89, 0x52, 0x61, 0x56, 0xa1, + 0x0c, 0x1a, 0xa7, 0x6f, 0x04, 0x31, 0x92, 0xff, 0xca, 0xf8, 0x04, 0x99, 0xc3, 0xc0, 0x8e, 0xc9, + 0xb1, 0x86, 0x81, 0xa1, 0x16, 0x1a, 0x86, 0x88, 0x24, 0x6f, 0x06, 0x92, 0x5d, 0x69, 0xdc, 0x19, + 0x48, 0x70, 0x8b, 0xce, 0x40, 0x4e, 0x43, 0xc4, 0x6f, 0xa7, 0xcb, 0x6a, 0xd0, 0xb5, 0xfc, 0xca, + 0x15, 0x8e, 0x12, 0x09, 0x7b, 0x71, 0x1c, 0x54, 0x22, 0x03, 0x0f, 0x14, 0xdb, 0xa0, 0xeb, 0x39, + 0xb9, 0x57, 0x09, 0x9c, 0x48, 0xca, 0xd5, 0xb1, 0x70, 0x79, 0x57, 0x92, 0x0e, 0x4c, 0x4e, 0x57, + 0x92, 0x28, 0x23, 0xba, 0x32, 0x80, 0x4a, 0x64, 0xec, 0x0c, 0x96, 0xd5, 0xa0, 0x97, 0x86, 0x91, + 0x72, 0xa4, 0x48, 0xce, 0xb5, 0xf1, 0x90, 0x89, 0xa4, 0xfd, 0xcc, 0x62, 0x1b, 0x34, 0x74, 0x84, + 0x93, 0x98, 0x91, 0xcc, 0xc5, 0x02, 0x14, 0x44, 0xf0, 0x57, 0xa5, 0xbc, 0x9a, 0x1c, 0xf4, 0x5a, + 0x76, 0xa6, 0x7b, 0x26, 0x72, 0x24, 0xff, 0xd5, 0x62, 0x44, 0x7c, 0x3d, 0x66, 0xd5, 0xef, 0xa0, + 0xf1, 0x58, 0x11, 0xd4, 0x11, 0xeb, 0x31, 0x87, 0x84, 0xaf, 0xc7, 0xcc, 0xea, 0x9e, 0x9c, 0xf5, + 0x98, 0x89, 0x3b, 0x62, 0x3d, 0xe6, 0xd1, 0x10, 0xf1, 0x3f, 0x92, 0xc6, 0x2c, 0x04, 0x42, 0xb7, + 0xc7, 0xe2, 0x9d, 0x49, 0x1b, 0xe9, 0xf7, 0xa9, 0x13, 0xf1, 0x20, 0xfa, 0xfe, 0xee, 0xc8, 0x92, + 0x22, 0x74, 0x6b, 0x3c, 0x21, 0x29, 0xa2, 0x48, 0xc3, 0x37, 0x9f, 0x8c, 0x98, 0xa8, 0xf6, 0xfb, + 0x63, 0xd4, 0x18, 0xa1, 0xb7, 0xc6, 0xe2, 0x3f, 0x48, 0x16, 0xa9, 0x77, 0xeb, 0x49, 0xc9, 0x89, + 0x82, 0xbb, 0xc7, 0x0a, 0x8e, 0x50, 0xb6, 0x2f, 0x37, 0x80, 0x15, 0x49, 0xbf, 0x3e, 0x26, 0x36, + 0xdf, 0xb9, 0xd2, 0x25, 0x45, 0x39, 0x3b, 0x57, 0x1a, 0x69, 0xc4, 0xce, 0x75, 0x0c, 0x99, 0x48, + 0x72, 0x32, 0xca, 0x58, 0x72, 0x9c, 0xda, 0x63, 0x78, 0x23, 0x76, 0xe4, 0xe3, 0xa5, 0x48, 0x37, + 0x25, 0xb4, 0x7b, 0xbc, 0x7a, 0x04, 0xbd, 0x32, 0x8c, 0x3c, 0x42, 0x8b, 0xa4, 0x5d, 0x19, 0x89, + 0x2e, 0x84, 0xbd, 0x9b, 0x28, 0xd9, 0x40, 0x43, 0xc8, 0xe8, 0x63, 0xbe, 0x60, 0xff, 0xc2, 0x48, + 0x3c, 0x7e, 0x4c, 0xa6, 0xaa, 0x21, 0x72, 0x8e, 0xc9, 0x14, 0xce, 0x88, 0x63, 0x72, 0x10, 0x97, + 0xcf, 0xba, 0x81, 0x42, 0x88, 0x9c, 0x59, 0x37, 0x80, 0x35, 0x62, 0xd6, 0x1d, 0xc7, 0x26, 0xc2, + 0x82, 0x8c, 0x2a, 0x89, 0x61, 0x73, 0x21, 0x55, 0x1b, 0x30, 0xfc, 0x82, 0x93, 0x85, 0xcf, 0x2e, + 0x38, 0xbd, 0x63, 0x79, 0xf0, 0xb9, 0x3d, 0x4c, 0x61, 0x8d, 0xec, 0xe1, 0x20, 0x36, 0x13, 0xf7, + 0x35, 0x29, 0x2f, 0x55, 0x3d, 0xe7, 0xc0, 0xcc, 0x46, 0x1e, 0x71, 0x60, 0xe6, 0x12, 0x31, 0x25, + 0xde, 0x4b, 0xa6, 0x67, 0xa3, 0x17, 0xf3, 0x59, 0xa4, 0xc7, 0xf2, 0xf2, 0x68, 0x44, 0x32, 0x8c, + 0xdf, 0x1a, 0x92, 0x63, 0x8c, 0xfe, 0x5f, 0x3e, 0x8f, 0x0c, 0xf4, 0x48, 0xf4, 0x6b, 0x45, 0xc9, + 0x88, 0x22, 0xef, 0x25, 0x33, 0x8e, 0xd0, 0xc8, 0x44, 0x9e, 0xe1, 0xdd, 0x4c, 0x21, 0x72, 0x9f, + 0x2b, 0x23, 0x53, 0x34, 0xc7, 0xe7, 0xca, 0xc0, 0x1c, 0xe1, 0x73, 0x65, 0x53, 0x88, 0xcb, 0x70, + 0x4e, 0xbe, 0x6c, 0xce, 0x65, 0x38, 0x07, 0x7b, 0xc4, 0x65, 0x38, 0x9f, 0x4a, 0xf8, 0x1e, 0x63, + 0x25, 0x9c, 0xe6, 0xf8, 0x1e, 0x63, 0xd1, 0x8e, 0xf0, 0x3d, 0xc6, 0xe5, 0x41, 0xf4, 0xfd, 0xb3, + 0x22, 0x59, 0xa3, 0xe8, 0x4e, 0x71, 0x79, 0x99, 0x96, 0x5d, 0x3d, 0x31, 0x1f, 0xa2, 0xfb, 0x37, + 0xa5, 0xdc, 0xdc, 0xd2, 0x9c, 0x11, 0xcf, 0xc1, 0x1e, 0x31, 0xe2, 0xf9, 0x54, 0x6c, 0xdf, 0x08, + 0x32, 0x92, 0x3b, 0x87, 0x47, 0xa0, 0x62, 0xbc, 0xf1, 0x22, 0x50, 0x29, 0x7c, 0x26, 0xf4, 0xf7, + 0x46, 0xe7, 0x50, 0xa2, 0x8f, 0xe7, 0x3c, 0xc1, 0x0c, 0xa5, 0x8a, 0x34, 0xfa, 0xd8, 0x13, 0x52, + 0x93, 0xa1, 0xf9, 0x4c, 0x9c, 0x9c, 0x83, 0x46, 0xa4, 0xb1, 0x08, 0x71, 0xa3, 0x92, 0x68, 0x28, + 0xdf, 0xf7, 0x33, 0x1e, 0xc2, 0x73, 0x4c, 0x7d, 0x0c, 0x6f, 0x84, 0xa9, 0xb3, 0xf0, 0xb9, 0xd3, + 0x97, 0x7e, 0x81, 0xce, 0x71, 0xfa, 0xd2, 0x48, 0x23, 0x9c, 0xbe, 0x63, 0xc8, 0xfc, 0xda, 0x94, + 0xf9, 0x3c, 0x96, 0x73, 0x6d, 0xca, 0x7e, 0x4a, 0x1b, 0x7e, 0x6d, 0xca, 0xa3, 0xf1, 0xec, 0x83, + 0xdb, 0x1f, 0xf9, 0xd9, 0x3f, 0x5e, 0x78, 0xe6, 0x2f, 0x8f, 0x2e, 0x48, 0x3f, 0x3b, 0xba, 0x20, + 0xfd, 0xfc, 0xe8, 0x82, 0xf4, 0xf9, 0x17, 0xb6, 0xb1, 0x1f, 0x1e, 0x2c, 0x86, 0xd8, 0xd8, 0xb9, + 0xc1, 0xb9, 0xdd, 0xf0, 0x76, 0xbb, 0x37, 0x52, 0xff, 0x56, 0x7d, 0x7b, 0x8a, 0x36, 0x5f, 0xfb, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x27, 0xb2, 0x61, 0x6e, 0x5d, 0x00, 0x00, } func (m *Account) Marshal() (dAtA []byte, err error) { @@ -13398,30 +13047,6 @@ func (m *ServiceGetConfiguration_Reply) MarshalToSizedBuffer(dAtA []byte) (int, i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if m.DevicePushServer != nil { - { - size, err := m.DevicePushServer.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x5a - } - if m.DevicePushToken != nil { - { - size, err := m.DevicePushToken.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - } if m.RelayEnabled != 0 { i = encodeVarintProtocoltypes(dAtA, i, uint64(m.RelayEnabled)) i-- @@ -16088,20 +15713,20 @@ func (m *GroupDeviceStatus_Reply_PeerConnected) MarshalToSizedBuffer(dAtA []byte } } if len(m.Transports) > 0 { - dAtA19 := make([]byte, len(m.Transports)*10) - var j18 int + dAtA17 := make([]byte, len(m.Transports)*10) + var j16 int for _, num := range m.Transports { for num >= 1<<7 { - dAtA19[j18] = uint8(uint64(num)&0x7f | 0x80) + dAtA17[j16] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j18++ + j16++ } - dAtA19[j18] = uint8(num) - j18++ + dAtA17[j16] = uint8(num) + j16++ } - i -= j18 - copy(dAtA[i:], dAtA19[:j18]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(j18)) + i -= j16 + copy(dAtA[i:], dAtA17[:j16]) + i = encodeVarintProtocoltypes(dAtA, i, uint64(j16)) i-- dAtA[i] = 0x1a } @@ -18294,20 +17919,20 @@ func (m *PeerList_Peer) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x28 } if len(m.Features) > 0 { - dAtA29 := make([]byte, len(m.Features)*10) - var j28 int + dAtA27 := make([]byte, len(m.Features)*10) + var j26 int for _, num := range m.Features { for num >= 1<<7 { - dAtA29[j28] = uint8(uint64(num)&0x7f | 0x80) + dAtA27[j26] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j28++ + j26++ } - dAtA29[j28] = uint8(num) - j28++ + dAtA27[j26] = uint8(num) + j26++ } - i -= j28 - copy(dAtA[i:], dAtA29[:j28]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(j28)) + i -= j26 + copy(dAtA[i:], dAtA27[:j26]) + i = encodeVarintProtocoltypes(dAtA, i, uint64(j26)) i-- dAtA[i] = 0x22 } @@ -18508,49 +18133,6 @@ func (m *Progress) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MemberWithDevices) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MemberWithDevices) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MemberWithDevices) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.DevicePKs) > 0 { - for iNdEx := len(m.DevicePKs) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.DevicePKs[iNdEx]) - copy(dAtA[i:], m.DevicePKs[iNdEx]) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePKs[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.MemberPK) > 0 { - i -= len(m.MemberPK) - copy(dAtA[i:], m.MemberPK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.MemberPK))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *OutOfStoreMessage) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -18625,147 +18207,7 @@ func (m *OutOfStoreMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *PushServiceReceiver) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceReceiver) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceReceiver) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.RecipientPublicKey) > 0 { - i -= len(m.RecipientPublicKey) - copy(dAtA[i:], m.RecipientPublicKey) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.RecipientPublicKey))) - i-- - dAtA[i] = 0x22 - } - if len(m.Token) > 0 { - i -= len(m.Token) - copy(dAtA[i:], m.Token) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Token))) - i-- - dAtA[i] = 0x1a - } - if len(m.BundleID) > 0 { - i -= len(m.BundleID) - copy(dAtA[i:], m.BundleID) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.BundleID))) - i-- - dAtA[i] = 0x12 - } - if m.TokenType != 0 { - i = encodeVarintProtocoltypes(dAtA, i, uint64(m.TokenType)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *PushServer) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServer) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServer) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.ServiceAddr) > 0 { - i -= len(m.ServiceAddr) - copy(dAtA[i:], m.ServiceAddr) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ServiceAddr))) - i-- - dAtA[i] = 0x12 - } - if len(m.ServerKey) > 0 { - i -= len(m.ServerKey) - copy(dAtA[i:], m.ServerKey) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.ServerKey))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PushDeviceTokenRegistered) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushDeviceTokenRegistered) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushDeviceTokenRegistered) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.DevicePK) > 0 { - i -= len(m.DevicePK) - copy(dAtA[i:], m.DevicePK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePK))) - i-- - dAtA[i] = 0x12 - } - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PushDeviceServerRegistered) Marshal() (dAtA []byte, err error) { +func (m *OutOfStoreMessageEnvelope) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -18775,12 +18217,12 @@ func (m *PushDeviceServerRegistered) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PushDeviceServerRegistered) MarshalTo(dAtA []byte) (int, error) { +func (m *OutOfStoreMessageEnvelope) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *PushDeviceServerRegistered) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *OutOfStoreMessageEnvelope) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -18789,147 +18231,24 @@ func (m *PushDeviceServerRegistered) MarshalToSizedBuffer(dAtA []byte) (int, err i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.DevicePK) > 0 { - i -= len(m.DevicePK) - copy(dAtA[i:], m.DevicePK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePK))) - i-- - dAtA[i] = 0x12 - } - if m.Server != nil { - { - size, err := m.Server.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *AccountVerifiedCredentialRegistered) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *AccountVerifiedCredentialRegistered) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AccountVerifiedCredentialRegistered) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Issuer))) - i-- - dAtA[i] = 0x3a - } - if len(m.Identifier) > 0 { - i -= len(m.Identifier) - copy(dAtA[i:], m.Identifier) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Identifier))) - i-- - dAtA[i] = 0x32 - } - if m.ExpirationDate != 0 { - i = encodeVarintProtocoltypes(dAtA, i, uint64(m.ExpirationDate)) - i-- - dAtA[i] = 0x28 - } - if m.RegistrationDate != 0 { - i = encodeVarintProtocoltypes(dAtA, i, uint64(m.RegistrationDate)) - i-- - dAtA[i] = 0x20 - } - if len(m.VerifiedCredential) > 0 { - i -= len(m.VerifiedCredential) - copy(dAtA[i:], m.VerifiedCredential) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.VerifiedCredential))) - i-- - dAtA[i] = 0x1a - } - if len(m.SignedIdentityPublicKey) > 0 { - i -= len(m.SignedIdentityPublicKey) - copy(dAtA[i:], m.SignedIdentityPublicKey) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.SignedIdentityPublicKey))) - i-- - dAtA[i] = 0x12 - } - if len(m.DevicePK) > 0 { - i -= len(m.DevicePK) - copy(dAtA[i:], m.DevicePK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePK))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PushMemberTokenUpdate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushMemberTokenUpdate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushMemberTokenUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.DevicePK) > 0 { - i -= len(m.DevicePK) - copy(dAtA[i:], m.DevicePK) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePK))) + if len(m.GroupReference) > 0 { + i -= len(m.GroupReference) + copy(dAtA[i:], m.GroupReference) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.GroupReference))) i-- dAtA[i] = 0x1a } - if len(m.Token) > 0 { - i -= len(m.Token) - copy(dAtA[i:], m.Token) - i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Token))) + if len(m.Box) > 0 { + i -= len(m.Box) + copy(dAtA[i:], m.Box) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Box))) i-- dAtA[i] = 0x12 } - if m.Server != nil { - { - size, err := m.Server.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintProtocoltypes(dAtA, i, uint64(size)) - } + if len(m.Nonce) > 0 { + i -= len(m.Nonce) + copy(dAtA[i:], m.Nonce) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Nonce))) i-- dAtA[i] = 0xa } @@ -19162,6 +18481,78 @@ func (m *OutOfStoreSeal_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *AccountVerifiedCredentialRegistered) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AccountVerifiedCredentialRegistered) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AccountVerifiedCredentialRegistered) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Issuer))) + i-- + dAtA[i] = 0x3a + } + if len(m.Identifier) > 0 { + i -= len(m.Identifier) + copy(dAtA[i:], m.Identifier) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.Identifier))) + i-- + dAtA[i] = 0x32 + } + if m.ExpirationDate != 0 { + i = encodeVarintProtocoltypes(dAtA, i, uint64(m.ExpirationDate)) + i-- + dAtA[i] = 0x28 + } + if m.RegistrationDate != 0 { + i = encodeVarintProtocoltypes(dAtA, i, uint64(m.RegistrationDate)) + i-- + dAtA[i] = 0x20 + } + if len(m.VerifiedCredential) > 0 { + i -= len(m.VerifiedCredential) + copy(dAtA[i:], m.VerifiedCredential) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.VerifiedCredential))) + i-- + dAtA[i] = 0x1a + } + if len(m.SignedIdentityPublicKey) > 0 { + i -= len(m.SignedIdentityPublicKey) + copy(dAtA[i:], m.SignedIdentityPublicKey) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.SignedIdentityPublicKey))) + i-- + dAtA[i] = 0x12 + } + if len(m.DevicePK) > 0 { + i -= len(m.DevicePK) + copy(dAtA[i:], m.DevicePK) + i = encodeVarintProtocoltypes(dAtA, i, uint64(len(m.DevicePK))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *FirstLastCounters) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -20346,14 +19737,6 @@ func (m *ServiceGetConfiguration_Reply) Size() (n int) { if m.RelayEnabled != 0 { n += 1 + sovProtocoltypes(uint64(m.RelayEnabled)) } - if m.DevicePushToken != nil { - l = m.DevicePushToken.Size() - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.DevicePushServer != nil { - l = m.DevicePushServer.Size() - n += 1 + l + sovProtocoltypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -22654,28 +22037,6 @@ func (m *Progress) Size() (n int) { return n } -func (m *MemberWithDevices) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.MemberPK) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if len(m.DevicePKs) > 0 { - for _, b := range m.DevicePKs { - l = len(b) - n += 1 + l + sovProtocoltypes(uint64(l)) - } - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - func (m *OutOfStoreMessage) Size() (n int) { if m == nil { return 0 @@ -22714,24 +22075,21 @@ func (m *OutOfStoreMessage) Size() (n int) { return n } -func (m *PushServiceReceiver) Size() (n int) { +func (m *OutOfStoreMessageEnvelope) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.TokenType != 0 { - n += 1 + sovProtocoltypes(uint64(m.TokenType)) - } - l = len(m.BundleID) + l = len(m.Nonce) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.Token) + l = len(m.Box) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.RecipientPublicKey) + l = len(m.GroupReference) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -22741,37 +22099,25 @@ func (m *PushServiceReceiver) Size() (n int) { return n } -func (m *PushServer) Size() (n int) { +func (m *OutOfStoreReceive) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.ServerKey) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.ServiceAddr) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *PushDeviceTokenRegistered) Size() (n int) { +func (m *OutOfStoreReceive_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.DevicePK) + l = len(m.Payload) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -22781,79 +22127,56 @@ func (m *PushDeviceTokenRegistered) Size() (n int) { return n } -func (m *PushDeviceServerRegistered) Size() (n int) { +func (m *OutOfStoreReceive_Reply) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Server != nil { - l = m.Server.Size() + if m.Message != nil { + l = m.Message.Size() n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.DevicePK) + l = len(m.Cleartext) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } + l = len(m.GroupPublicKey) + if l > 0 { + n += 1 + l + sovProtocoltypes(uint64(l)) + } + if m.AlreadyReceived { + n += 2 + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *AccountVerifiedCredentialRegistered) Size() (n int) { +func (m *OutOfStoreSeal) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.DevicePK) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.SignedIdentityPublicKey) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.VerifiedCredential) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - if m.RegistrationDate != 0 { - n += 1 + sovProtocoltypes(uint64(m.RegistrationDate)) - } - if m.ExpirationDate != 0 { - n += 1 + sovProtocoltypes(uint64(m.ExpirationDate)) - } - l = len(m.Identifier) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.Issuer) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) - } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } -func (m *PushMemberTokenUpdate) Size() (n int) { +func (m *OutOfStoreSeal_Request) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Server != nil { - l = m.Server.Size() - n += 1 + l + sovProtocoltypes(uint64(l)) - } - l = len(m.Token) + l = len(m.CID) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.DevicePK) + l = len(m.GroupPublicKey) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -22863,25 +22186,13 @@ func (m *PushMemberTokenUpdate) Size() (n int) { return n } -func (m *OutOfStoreReceive) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *OutOfStoreReceive_Request) Size() (n int) { +func (m *OutOfStoreSeal_Reply) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Payload) + l = len(m.Encrypted) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -22891,72 +22202,35 @@ func (m *OutOfStoreReceive_Request) Size() (n int) { return n } -func (m *OutOfStoreReceive_Reply) Size() (n int) { +func (m *AccountVerifiedCredentialRegistered) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Message != nil { - l = m.Message.Size() + l = len(m.DevicePK) + if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.Cleartext) + l = len(m.SignedIdentityPublicKey) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - l = len(m.GroupPublicKey) + l = len(m.VerifiedCredential) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - if m.AlreadyReceived { - n += 2 - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *OutOfStoreSeal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *OutOfStoreSeal_Request) Size() (n int) { - if m == nil { - return 0 + if m.RegistrationDate != 0 { + n += 1 + sovProtocoltypes(uint64(m.RegistrationDate)) } - var l int - _ = l - l = len(m.CID) - if l > 0 { - n += 1 + l + sovProtocoltypes(uint64(l)) + if m.ExpirationDate != 0 { + n += 1 + sovProtocoltypes(uint64(m.ExpirationDate)) } - l = len(m.GroupPublicKey) + l = len(m.Identifier) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *OutOfStoreSeal_Reply) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Encrypted) + l = len(m.Issuer) if l > 0 { n += 1 + l + sovProtocoltypes(uint64(l)) } @@ -28547,78 +27821,6 @@ func (m *ServiceGetConfiguration_Reply) Unmarshal(dAtA []byte) error { break } } - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePushToken", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.DevicePushToken == nil { - m.DevicePushToken = &PushServiceReceiver{} - } - if err := m.DevicePushToken.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePushServer", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.DevicePushServer == nil { - m.DevicePushServer = &PushServer{} - } - if err := m.DevicePushServer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProtocoltypes(dAtA[iNdEx:]) @@ -40743,123 +39945,6 @@ func (m *Progress) Unmarshal(dAtA []byte) error { } return nil } -func (m *MemberWithDevices) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MemberWithDevices: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MemberWithDevices: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MemberPK", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.MemberPK = append(m.MemberPK[:0], dAtA[iNdEx:postIndex]...) - if m.MemberPK == nil { - m.MemberPK = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePKs", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DevicePKs = append(m.DevicePKs, make([]byte, postIndex-iNdEx)) - copy(m.DevicePKs[len(m.DevicePKs)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *OutOfStoreMessage) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -41101,415 +40186,7 @@ func (m *OutOfStoreMessage) Unmarshal(dAtA []byte) error { } return nil } -func (m *PushServiceReceiver) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushServiceReceiver: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushServiceReceiver: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenType", wireType) - } - m.TokenType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TokenType |= pushtypes.PushServiceTokenType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BundleID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BundleID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Token = append(m.Token[:0], dAtA[iNdEx:postIndex]...) - if m.Token == nil { - m.Token = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RecipientPublicKey", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.RecipientPublicKey = append(m.RecipientPublicKey[:0], dAtA[iNdEx:postIndex]...) - if m.RecipientPublicKey == nil { - m.RecipientPublicKey = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServer) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushServer: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushServer: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServerKey", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ServerKey = append(m.ServerKey[:0], dAtA[iNdEx:postIndex]...) - if m.ServerKey == nil { - m.ServerKey = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServiceAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ServiceAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushDeviceTokenRegistered) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushDeviceTokenRegistered: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushDeviceTokenRegistered: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Token == nil { - m.Token = &PushServiceReceiver{} - } - if err := m.Token.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePK", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DevicePK = append(m.DevicePK[:0], dAtA[iNdEx:postIndex]...) - if m.DevicePK == nil { - m.DevicePK = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushDeviceServerRegistered) Unmarshal(dAtA []byte) error { +func (m *OutOfStoreMessageEnvelope) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -41532,170 +40209,15 @@ func (m *PushDeviceServerRegistered) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: PushDeviceServerRegistered: wiretype end group for non-group") + return fmt.Errorf("proto: OutOfStoreMessageEnvelope: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: PushDeviceServerRegistered: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: OutOfStoreMessageEnvelope: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Server", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Server == nil { - m.Server = &PushServer{} - } - if err := m.Server.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePK", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DevicePK = append(m.DevicePK[:0], dAtA[iNdEx:postIndex]...) - if m.DevicePK == nil { - m.DevicePK = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AccountVerifiedCredentialRegistered) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: AccountVerifiedCredentialRegistered: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AccountVerifiedCredentialRegistered: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePK", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DevicePK = append(m.DevicePK[:0], dAtA[iNdEx:postIndex]...) - if m.DevicePK == nil { - m.DevicePK = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SignedIdentityPublicKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -41722,235 +40244,14 @@ func (m *AccountVerifiedCredentialRegistered) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SignedIdentityPublicKey = append(m.SignedIdentityPublicKey[:0], dAtA[iNdEx:postIndex]...) - if m.SignedIdentityPublicKey == nil { - m.SignedIdentityPublicKey = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VerifiedCredential", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.VerifiedCredential = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RegistrationDate", wireType) - } - m.RegistrationDate = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RegistrationDate |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpirationDate", wireType) - } - m.ExpirationDate = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpirationDate |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Identifier", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Identifier = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Issuer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProtocoltypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthProtocoltypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushMemberTokenUpdate) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushMemberTokenUpdate: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushMemberTokenUpdate: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Server", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowProtocoltypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthProtocoltypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthProtocoltypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Server == nil { - m.Server = &PushServer{} - } - if err := m.Server.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.Nonce = append(m.Nonce[:0], dAtA[iNdEx:postIndex]...) + if m.Nonce == nil { + m.Nonce = []byte{} } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Box", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -41977,14 +40278,14 @@ func (m *PushMemberTokenUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Token = append(m.Token[:0], dAtA[iNdEx:postIndex]...) - if m.Token == nil { - m.Token = []byte{} + m.Box = append(m.Box[:0], dAtA[iNdEx:postIndex]...) + if m.Box == nil { + m.Box = []byte{} } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DevicePK", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GroupReference", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -42011,9 +40312,9 @@ func (m *PushMemberTokenUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DevicePK = append(m.DevicePK[:0], dAtA[iNdEx:postIndex]...) - if m.DevicePK == nil { - m.DevicePK = []byte{} + m.GroupReference = append(m.GroupReference[:0], dAtA[iNdEx:postIndex]...) + if m.GroupReference == nil { + m.GroupReference = []byte{} } iNdEx = postIndex default: @@ -42604,6 +40905,259 @@ func (m *OutOfStoreSeal_Reply) Unmarshal(dAtA []byte) error { } return nil } +func (m *AccountVerifiedCredentialRegistered) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AccountVerifiedCredentialRegistered: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AccountVerifiedCredentialRegistered: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DevicePK", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DevicePK = append(m.DevicePK[:0], dAtA[iNdEx:postIndex]...) + if m.DevicePK == nil { + m.DevicePK = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedIdentityPublicKey", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SignedIdentityPublicKey = append(m.SignedIdentityPublicKey[:0], dAtA[iNdEx:postIndex]...) + if m.SignedIdentityPublicKey == nil { + m.SignedIdentityPublicKey = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VerifiedCredential", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VerifiedCredential = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RegistrationDate", wireType) + } + m.RegistrationDate = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RegistrationDate |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpirationDate", wireType) + } + m.ExpirationDate = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpirationDate |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identifier", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identifier = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProtocoltypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProtocoltypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProtocoltypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Issuer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProtocoltypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProtocoltypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *FirstLastCounters) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/pkg/pushtypes/consts.go b/pkg/pushtypes/consts.go deleted file mode 100644 index 015a611b..00000000 --- a/pkg/pushtypes/consts.go +++ /dev/null @@ -1,3 +0,0 @@ -package pushtypes - -const ServicePushPayloadKey = "p" diff --git a/pkg/pushtypes/pushtypes.pb.go b/pkg/pushtypes/pushtypes.pb.go deleted file mode 100644 index d096d977..00000000 --- a/pkg/pushtypes/pushtypes.pb.go +++ /dev/null @@ -1,3594 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: pushtypes/pushtypes.proto - -package pushtypes - -import ( - fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type PushServiceTokenType int32 - -const ( - PushServiceTokenType_PushTokenUndefined PushServiceTokenType = 0 - // PushTokenMQTT: Platform independent - PushServiceTokenType_PushTokenMQTT PushServiceTokenType = 1 - // PushTokenApplePushNotificationService: iOS, iPadOS, tvOS, macOS - PushServiceTokenType_PushTokenApplePushNotificationService PushServiceTokenType = 2 - // PushTokenFirebaseCloudMessaging: Android with GMS, Chrome OS - PushServiceTokenType_PushTokenFirebaseCloudMessaging PushServiceTokenType = 3 - // PushTokenWindowsPushNotificationService: Windows, XBox - PushServiceTokenType_PushTokenWindowsPushNotificationService PushServiceTokenType = 4 - // PushTokenHuaweiPushKit: Huawei Android devices with AppGallery - PushServiceTokenType_PushTokenHuaweiPushKit PushServiceTokenType = 5 - // PushTokenAmazonDeviceMessaging: Fire OS devices - PushServiceTokenType_PushTokenAmazonDeviceMessaging PushServiceTokenType = 6 -) - -var PushServiceTokenType_name = map[int32]string{ - 0: "PushTokenUndefined", - 1: "PushTokenMQTT", - 2: "PushTokenApplePushNotificationService", - 3: "PushTokenFirebaseCloudMessaging", - 4: "PushTokenWindowsPushNotificationService", - 5: "PushTokenHuaweiPushKit", - 6: "PushTokenAmazonDeviceMessaging", -} - -var PushServiceTokenType_value = map[string]int32{ - "PushTokenUndefined": 0, - "PushTokenMQTT": 1, - "PushTokenApplePushNotificationService": 2, - "PushTokenFirebaseCloudMessaging": 3, - "PushTokenWindowsPushNotificationService": 4, - "PushTokenHuaweiPushKit": 5, - "PushTokenAmazonDeviceMessaging": 6, -} - -func (x PushServiceTokenType) String() string { - return proto.EnumName(PushServiceTokenType_name, int32(x)) -} - -func (PushServiceTokenType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{0} -} - -type PushServicePriority int32 - -const ( - PushServicePriority_PushPriorityUndefined PushServicePriority = 0 - PushServicePriority_PushPriorityLow PushServicePriority = 1 - PushServicePriority_PushPriorityNormal PushServicePriority = 2 -) - -var PushServicePriority_name = map[int32]string{ - 0: "PushPriorityUndefined", - 1: "PushPriorityLow", - 2: "PushPriorityNormal", -} - -var PushServicePriority_value = map[string]int32{ - "PushPriorityUndefined": 0, - "PushPriorityLow": 1, - "PushPriorityNormal": 2, -} - -func (x PushServicePriority) String() string { - return proto.EnumName(PushServicePriority_name, int32(x)) -} - -func (PushServicePriority) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{1} -} - -type DecryptedPush_PushType int32 - -const ( - DecryptedPush_Unknown DecryptedPush_PushType = 0 - DecryptedPush_Message DecryptedPush_PushType = 1 - DecryptedPush_GroupInvitation DecryptedPush_PushType = 7 - DecryptedPush_ConversationNameChanged DecryptedPush_PushType = 8 - DecryptedPush_MemberNameChanged DecryptedPush_PushType = 9 - DecryptedPush_MemberDetailsChanged DecryptedPush_PushType = 11 -) - -var DecryptedPush_PushType_name = map[int32]string{ - 0: "Unknown", - 1: "Message", - 7: "GroupInvitation", - 8: "ConversationNameChanged", - 9: "MemberNameChanged", - 11: "MemberDetailsChanged", -} - -var DecryptedPush_PushType_value = map[string]int32{ - "Unknown": 0, - "Message": 1, - "GroupInvitation": 7, - "ConversationNameChanged": 8, - "MemberNameChanged": 9, - "MemberDetailsChanged": 11, -} - -func (x DecryptedPush_PushType) String() string { - return proto.EnumName(DecryptedPush_PushType_name, int32(x)) -} - -func (DecryptedPush_PushType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{6, 0} -} - -type PushServiceServerInfo struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceServerInfo) Reset() { *m = PushServiceServerInfo{} } -func (m *PushServiceServerInfo) String() string { return proto.CompactTextString(m) } -func (*PushServiceServerInfo) ProtoMessage() {} -func (*PushServiceServerInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{0} -} -func (m *PushServiceServerInfo) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceServerInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceServerInfo.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceServerInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceServerInfo.Merge(m, src) -} -func (m *PushServiceServerInfo) XXX_Size() int { - return m.Size() -} -func (m *PushServiceServerInfo) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceServerInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceServerInfo proto.InternalMessageInfo - -type PushServiceServerInfo_Request struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceServerInfo_Request) Reset() { *m = PushServiceServerInfo_Request{} } -func (m *PushServiceServerInfo_Request) String() string { return proto.CompactTextString(m) } -func (*PushServiceServerInfo_Request) ProtoMessage() {} -func (*PushServiceServerInfo_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{0, 0} -} -func (m *PushServiceServerInfo_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceServerInfo_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceServerInfo_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceServerInfo_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceServerInfo_Request.Merge(m, src) -} -func (m *PushServiceServerInfo_Request) XXX_Size() int { - return m.Size() -} -func (m *PushServiceServerInfo_Request) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceServerInfo_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceServerInfo_Request proto.InternalMessageInfo - -type PushServiceServerInfo_Reply struct { - // public_key the public key used to encrypt data to the server (ie. a PushServiceReceiver), - // to be used with NaCl's Seal and Open - PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` - // supported_token_types list of token types supported by the server - SupportedTokenTypes []*PushServiceSupportedTokenType `protobuf:"bytes,2,rep,name=supported_token_types,json=supportedTokenTypes,proto3" json:"supported_token_types,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceServerInfo_Reply) Reset() { *m = PushServiceServerInfo_Reply{} } -func (m *PushServiceServerInfo_Reply) String() string { return proto.CompactTextString(m) } -func (*PushServiceServerInfo_Reply) ProtoMessage() {} -func (*PushServiceServerInfo_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{0, 1} -} -func (m *PushServiceServerInfo_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceServerInfo_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceServerInfo_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceServerInfo_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceServerInfo_Reply.Merge(m, src) -} -func (m *PushServiceServerInfo_Reply) XXX_Size() int { - return m.Size() -} -func (m *PushServiceServerInfo_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceServerInfo_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceServerInfo_Reply proto.InternalMessageInfo - -func (m *PushServiceServerInfo_Reply) GetPublicKey() []byte { - if m != nil { - return m.PublicKey - } - return nil -} - -func (m *PushServiceServerInfo_Reply) GetSupportedTokenTypes() []*PushServiceSupportedTokenType { - if m != nil { - return m.SupportedTokenTypes - } - return nil -} - -type PushServiceSupportedTokenType struct { - AppBundleID string `protobuf:"bytes,1,opt,name=app_bundle_id,json=appBundleId,proto3" json:"app_bundle_id,omitempty"` - TokenType PushServiceTokenType `protobuf:"varint,2,opt,name=token_type,json=tokenType,proto3,enum=weshnet.push.v1.PushServiceTokenType" json:"token_type,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceSupportedTokenType) Reset() { *m = PushServiceSupportedTokenType{} } -func (m *PushServiceSupportedTokenType) String() string { return proto.CompactTextString(m) } -func (*PushServiceSupportedTokenType) ProtoMessage() {} -func (*PushServiceSupportedTokenType) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{1} -} -func (m *PushServiceSupportedTokenType) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceSupportedTokenType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceSupportedTokenType.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceSupportedTokenType) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceSupportedTokenType.Merge(m, src) -} -func (m *PushServiceSupportedTokenType) XXX_Size() int { - return m.Size() -} -func (m *PushServiceSupportedTokenType) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceSupportedTokenType.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceSupportedTokenType proto.InternalMessageInfo - -func (m *PushServiceSupportedTokenType) GetAppBundleID() string { - if m != nil { - return m.AppBundleID - } - return "" -} - -func (m *PushServiceSupportedTokenType) GetTokenType() PushServiceTokenType { - if m != nil { - return m.TokenType - } - return PushServiceTokenType_PushTokenUndefined -} - -type PushServiceSend struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceSend) Reset() { *m = PushServiceSend{} } -func (m *PushServiceSend) String() string { return proto.CompactTextString(m) } -func (*PushServiceSend) ProtoMessage() {} -func (*PushServiceSend) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{2} -} -func (m *PushServiceSend) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceSend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceSend.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceSend) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceSend.Merge(m, src) -} -func (m *PushServiceSend) XXX_Size() int { - return m.Size() -} -func (m *PushServiceSend) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceSend.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceSend proto.InternalMessageInfo - -type PushServiceSend_Request struct { - Envelope *OutOfStoreMessageEnvelope `protobuf:"bytes,1,opt,name=envelope,proto3" json:"envelope,omitempty"` - Priority PushServicePriority `protobuf:"varint,2,opt,name=priority,proto3,enum=weshnet.push.v1.PushServicePriority" json:"priority,omitempty"` - Receivers []*PushServiceOpaqueReceiver `protobuf:"bytes,3,rep,name=receivers,proto3" json:"receivers,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceSend_Request) Reset() { *m = PushServiceSend_Request{} } -func (m *PushServiceSend_Request) String() string { return proto.CompactTextString(m) } -func (*PushServiceSend_Request) ProtoMessage() {} -func (*PushServiceSend_Request) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{2, 0} -} -func (m *PushServiceSend_Request) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceSend_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceSend_Request.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceSend_Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceSend_Request.Merge(m, src) -} -func (m *PushServiceSend_Request) XXX_Size() int { - return m.Size() -} -func (m *PushServiceSend_Request) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceSend_Request.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceSend_Request proto.InternalMessageInfo - -func (m *PushServiceSend_Request) GetEnvelope() *OutOfStoreMessageEnvelope { - if m != nil { - return m.Envelope - } - return nil -} - -func (m *PushServiceSend_Request) GetPriority() PushServicePriority { - if m != nil { - return m.Priority - } - return PushServicePriority_PushPriorityUndefined -} - -func (m *PushServiceSend_Request) GetReceivers() []*PushServiceOpaqueReceiver { - if m != nil { - return m.Receivers - } - return nil -} - -type PushServiceSend_Reply struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceSend_Reply) Reset() { *m = PushServiceSend_Reply{} } -func (m *PushServiceSend_Reply) String() string { return proto.CompactTextString(m) } -func (*PushServiceSend_Reply) ProtoMessage() {} -func (*PushServiceSend_Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{2, 1} -} -func (m *PushServiceSend_Reply) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceSend_Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceSend_Reply.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceSend_Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceSend_Reply.Merge(m, src) -} -func (m *PushServiceSend_Reply) XXX_Size() int { - return m.Size() -} -func (m *PushServiceSend_Reply) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceSend_Reply.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceSend_Reply proto.InternalMessageInfo - -type OutOfStoreMessageEnvelope struct { - Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"` - Box []byte `protobuf:"bytes,2,opt,name=box,proto3" json:"box,omitempty"` - GroupReference []byte `protobuf:"bytes,4,opt,name=group_reference,json=groupReference,proto3" json:"group_reference,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreMessageEnvelope) Reset() { *m = OutOfStoreMessageEnvelope{} } -func (m *OutOfStoreMessageEnvelope) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreMessageEnvelope) ProtoMessage() {} -func (*OutOfStoreMessageEnvelope) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{3} -} -func (m *OutOfStoreMessageEnvelope) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreMessageEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreMessageEnvelope.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreMessageEnvelope) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreMessageEnvelope.Merge(m, src) -} -func (m *OutOfStoreMessageEnvelope) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreMessageEnvelope) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreMessageEnvelope.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreMessageEnvelope proto.InternalMessageInfo - -func (m *OutOfStoreMessageEnvelope) GetNonce() []byte { - if m != nil { - return m.Nonce - } - return nil -} - -func (m *OutOfStoreMessageEnvelope) GetBox() []byte { - if m != nil { - return m.Box - } - return nil -} - -func (m *OutOfStoreMessageEnvelope) GetGroupReference() []byte { - if m != nil { - return m.GroupReference - } - return nil -} - -type OutOfStoreExposedData struct { - Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"` - Box []byte `protobuf:"bytes,2,opt,name=box,proto3" json:"box,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OutOfStoreExposedData) Reset() { *m = OutOfStoreExposedData{} } -func (m *OutOfStoreExposedData) String() string { return proto.CompactTextString(m) } -func (*OutOfStoreExposedData) ProtoMessage() {} -func (*OutOfStoreExposedData) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{4} -} -func (m *OutOfStoreExposedData) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *OutOfStoreExposedData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_OutOfStoreExposedData.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *OutOfStoreExposedData) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutOfStoreExposedData.Merge(m, src) -} -func (m *OutOfStoreExposedData) XXX_Size() int { - return m.Size() -} -func (m *OutOfStoreExposedData) XXX_DiscardUnknown() { - xxx_messageInfo_OutOfStoreExposedData.DiscardUnknown(m) -} - -var xxx_messageInfo_OutOfStoreExposedData proto.InternalMessageInfo - -func (m *OutOfStoreExposedData) GetNonce() []byte { - if m != nil { - return m.Nonce - } - return nil -} - -func (m *OutOfStoreExposedData) GetBox() []byte { - if m != nil { - return m.Box - } - return nil -} - -type PushServiceOpaqueReceiver struct { - OpaqueToken []byte `protobuf:"bytes,1,opt,name=opaque_token,json=opaqueToken,proto3" json:"opaque_token,omitempty"` - ServiceAddr string `protobuf:"bytes,2,opt,name=service_addr,json=serviceAddr,proto3" json:"service_addr,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PushServiceOpaqueReceiver) Reset() { *m = PushServiceOpaqueReceiver{} } -func (m *PushServiceOpaqueReceiver) String() string { return proto.CompactTextString(m) } -func (*PushServiceOpaqueReceiver) ProtoMessage() {} -func (*PushServiceOpaqueReceiver) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{5} -} -func (m *PushServiceOpaqueReceiver) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *PushServiceOpaqueReceiver) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_PushServiceOpaqueReceiver.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *PushServiceOpaqueReceiver) XXX_Merge(src proto.Message) { - xxx_messageInfo_PushServiceOpaqueReceiver.Merge(m, src) -} -func (m *PushServiceOpaqueReceiver) XXX_Size() int { - return m.Size() -} -func (m *PushServiceOpaqueReceiver) XXX_DiscardUnknown() { - xxx_messageInfo_PushServiceOpaqueReceiver.DiscardUnknown(m) -} - -var xxx_messageInfo_PushServiceOpaqueReceiver proto.InternalMessageInfo - -func (m *PushServiceOpaqueReceiver) GetOpaqueToken() []byte { - if m != nil { - return m.OpaqueToken - } - return nil -} - -func (m *PushServiceOpaqueReceiver) GetServiceAddr() string { - if m != nil { - return m.ServiceAddr - } - return "" -} - -type DecryptedPush struct { - AccountID string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` - AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` - ConversationPublicKey string `protobuf:"bytes,3,opt,name=conversation_public_key,json=conversationPublicKey,proto3" json:"conversation_public_key,omitempty"` - ConversationDisplayName string `protobuf:"bytes,4,opt,name=conversation_display_name,json=conversationDisplayName,proto3" json:"conversation_display_name,omitempty"` - MemberPublicKey string `protobuf:"bytes,5,opt,name=member_public_key,json=memberPublicKey,proto3" json:"member_public_key,omitempty"` - MemberDisplayName string `protobuf:"bytes,6,opt,name=member_display_name,json=memberDisplayName,proto3" json:"member_display_name,omitempty"` - PushType DecryptedPush_PushType `protobuf:"varint,7,opt,name=push_type,json=pushType,proto3,enum=weshnet.push.v1.DecryptedPush_PushType" json:"push_type,omitempty"` - PayloadAttrsJSON string `protobuf:"bytes,8,opt,name=payload_attrs_json,json=payloadAttrsJson,proto3" json:"payload_attrs_json,omitempty"` - DeepLink string `protobuf:"bytes,9,opt,name=deep_link,json=deepLink,proto3" json:"deep_link,omitempty"` - AlreadyReceived bool `protobuf:"varint,10,opt,name=already_received,json=alreadyReceived,proto3" json:"already_received,omitempty"` - AccountMuted bool `protobuf:"varint,11,opt,name=account_muted,json=accountMuted,proto3" json:"account_muted,omitempty"` - ConversationMuted bool `protobuf:"varint,12,opt,name=conversation_muted,json=conversationMuted,proto3" json:"conversation_muted,omitempty"` - HidePreview bool `protobuf:"varint,13,opt,name=hide_preview,json=hidePreview,proto3" json:"hide_preview,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DecryptedPush) Reset() { *m = DecryptedPush{} } -func (m *DecryptedPush) String() string { return proto.CompactTextString(m) } -func (*DecryptedPush) ProtoMessage() {} -func (*DecryptedPush) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{6} -} -func (m *DecryptedPush) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DecryptedPush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DecryptedPush.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *DecryptedPush) XXX_Merge(src proto.Message) { - xxx_messageInfo_DecryptedPush.Merge(m, src) -} -func (m *DecryptedPush) XXX_Size() int { - return m.Size() -} -func (m *DecryptedPush) XXX_DiscardUnknown() { - xxx_messageInfo_DecryptedPush.DiscardUnknown(m) -} - -var xxx_messageInfo_DecryptedPush proto.InternalMessageInfo - -func (m *DecryptedPush) GetAccountID() string { - if m != nil { - return m.AccountID - } - return "" -} - -func (m *DecryptedPush) GetAccountName() string { - if m != nil { - return m.AccountName - } - return "" -} - -func (m *DecryptedPush) GetConversationPublicKey() string { - if m != nil { - return m.ConversationPublicKey - } - return "" -} - -func (m *DecryptedPush) GetConversationDisplayName() string { - if m != nil { - return m.ConversationDisplayName - } - return "" -} - -func (m *DecryptedPush) GetMemberPublicKey() string { - if m != nil { - return m.MemberPublicKey - } - return "" -} - -func (m *DecryptedPush) GetMemberDisplayName() string { - if m != nil { - return m.MemberDisplayName - } - return "" -} - -func (m *DecryptedPush) GetPushType() DecryptedPush_PushType { - if m != nil { - return m.PushType - } - return DecryptedPush_Unknown -} - -func (m *DecryptedPush) GetPayloadAttrsJSON() string { - if m != nil { - return m.PayloadAttrsJSON - } - return "" -} - -func (m *DecryptedPush) GetDeepLink() string { - if m != nil { - return m.DeepLink - } - return "" -} - -func (m *DecryptedPush) GetAlreadyReceived() bool { - if m != nil { - return m.AlreadyReceived - } - return false -} - -func (m *DecryptedPush) GetAccountMuted() bool { - if m != nil { - return m.AccountMuted - } - return false -} - -func (m *DecryptedPush) GetConversationMuted() bool { - if m != nil { - return m.ConversationMuted - } - return false -} - -func (m *DecryptedPush) GetHidePreview() bool { - if m != nil { - return m.HidePreview - } - return false -} - -type FormatedPush struct { - PushType DecryptedPush_PushType `protobuf:"varint,1,opt,name=push_type,json=pushType,proto3,enum=weshnet.push.v1.DecryptedPush_PushType" json:"push_type,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Subtitle string `protobuf:"bytes,3,opt,name=subtitle,proto3" json:"subtitle,omitempty"` - Body string `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"` - DeepLink string `protobuf:"bytes,5,opt,name=deep_link,json=deepLink,proto3" json:"deep_link,omitempty"` - Muted bool `protobuf:"varint,6,opt,name=muted,proto3" json:"muted,omitempty"` - HidePreview bool `protobuf:"varint,7,opt,name=hide_preview,json=hidePreview,proto3" json:"hide_preview,omitempty"` - ConversationIdentifier string `protobuf:"bytes,8,opt,name=conversation_identifier,json=conversationIdentifier,proto3" json:"conversation_identifier,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *FormatedPush) Reset() { *m = FormatedPush{} } -func (m *FormatedPush) String() string { return proto.CompactTextString(m) } -func (*FormatedPush) ProtoMessage() {} -func (*FormatedPush) Descriptor() ([]byte, []int) { - return fileDescriptor_6b0fb36a3e3f285e, []int{7} -} -func (m *FormatedPush) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *FormatedPush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_FormatedPush.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *FormatedPush) XXX_Merge(src proto.Message) { - xxx_messageInfo_FormatedPush.Merge(m, src) -} -func (m *FormatedPush) XXX_Size() int { - return m.Size() -} -func (m *FormatedPush) XXX_DiscardUnknown() { - xxx_messageInfo_FormatedPush.DiscardUnknown(m) -} - -var xxx_messageInfo_FormatedPush proto.InternalMessageInfo - -func (m *FormatedPush) GetPushType() DecryptedPush_PushType { - if m != nil { - return m.PushType - } - return DecryptedPush_Unknown -} - -func (m *FormatedPush) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *FormatedPush) GetSubtitle() string { - if m != nil { - return m.Subtitle - } - return "" -} - -func (m *FormatedPush) GetBody() string { - if m != nil { - return m.Body - } - return "" -} - -func (m *FormatedPush) GetDeepLink() string { - if m != nil { - return m.DeepLink - } - return "" -} - -func (m *FormatedPush) GetMuted() bool { - if m != nil { - return m.Muted - } - return false -} - -func (m *FormatedPush) GetHidePreview() bool { - if m != nil { - return m.HidePreview - } - return false -} - -func (m *FormatedPush) GetConversationIdentifier() string { - if m != nil { - return m.ConversationIdentifier - } - return "" -} - -func init() { - proto.RegisterEnum("weshnet.push.v1.PushServiceTokenType", PushServiceTokenType_name, PushServiceTokenType_value) - proto.RegisterEnum("weshnet.push.v1.PushServicePriority", PushServicePriority_name, PushServicePriority_value) - proto.RegisterEnum("weshnet.push.v1.DecryptedPush_PushType", DecryptedPush_PushType_name, DecryptedPush_PushType_value) - proto.RegisterType((*PushServiceServerInfo)(nil), "weshnet.push.v1.PushServiceServerInfo") - proto.RegisterType((*PushServiceServerInfo_Request)(nil), "weshnet.push.v1.PushServiceServerInfo.Request") - proto.RegisterType((*PushServiceServerInfo_Reply)(nil), "weshnet.push.v1.PushServiceServerInfo.Reply") - proto.RegisterType((*PushServiceSupportedTokenType)(nil), "weshnet.push.v1.PushServiceSupportedTokenType") - proto.RegisterType((*PushServiceSend)(nil), "weshnet.push.v1.PushServiceSend") - proto.RegisterType((*PushServiceSend_Request)(nil), "weshnet.push.v1.PushServiceSend.Request") - proto.RegisterType((*PushServiceSend_Reply)(nil), "weshnet.push.v1.PushServiceSend.Reply") - proto.RegisterType((*OutOfStoreMessageEnvelope)(nil), "weshnet.push.v1.OutOfStoreMessageEnvelope") - proto.RegisterType((*OutOfStoreExposedData)(nil), "weshnet.push.v1.OutOfStoreExposedData") - proto.RegisterType((*PushServiceOpaqueReceiver)(nil), "weshnet.push.v1.PushServiceOpaqueReceiver") - proto.RegisterType((*DecryptedPush)(nil), "weshnet.push.v1.DecryptedPush") - proto.RegisterType((*FormatedPush)(nil), "weshnet.push.v1.FormatedPush") -} - -func init() { proto.RegisterFile("pushtypes/pushtypes.proto", fileDescriptor_6b0fb36a3e3f285e) } - -var fileDescriptor_6b0fb36a3e3f285e = []byte{ - // 1213 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x6e, 0xdb, 0xc6, - 0x16, 0x0e, 0x25, 0x4a, 0xa6, 0x8e, 0xec, 0x88, 0x1e, 0xcb, 0x89, 0xac, 0x20, 0xb6, 0xc3, 0xdc, - 0xdc, 0x38, 0xbe, 0xb9, 0x32, 0xae, 0x03, 0xdc, 0x02, 0xed, 0xa2, 0xb5, 0xa3, 0xa4, 0x71, 0x13, - 0xff, 0x94, 0x71, 0xd0, 0xa2, 0x40, 0x41, 0x50, 0x9a, 0x63, 0x99, 0x31, 0x35, 0x33, 0xe1, 0x8f, - 0x1d, 0x76, 0xd5, 0x75, 0x1f, 0xa1, 0x2f, 0x50, 0x14, 0x5d, 0xf4, 0x35, 0xba, 0x2c, 0xd0, 0x75, - 0x8d, 0x42, 0x8f, 0xd1, 0x45, 0x51, 0xcc, 0xf0, 0x47, 0x52, 0x9c, 0x18, 0x41, 0x57, 0x9a, 0xf3, - 0x9d, 0xef, 0xfc, 0x68, 0xce, 0x77, 0xc0, 0x81, 0x25, 0x11, 0x87, 0xc7, 0x51, 0x22, 0x30, 0xdc, - 0x28, 0x4e, 0x1d, 0x11, 0xf0, 0x88, 0x93, 0xc6, 0x19, 0x86, 0xc7, 0x0c, 0xa3, 0x8e, 0x74, 0x74, - 0x4e, 0xff, 0xd7, 0x6e, 0x0e, 0xf8, 0x80, 0x2b, 0xdf, 0x86, 0x3c, 0xa5, 0x34, 0xeb, 0x67, 0x0d, - 0x16, 0x0f, 0xe2, 0xf0, 0xf8, 0x39, 0x06, 0xa7, 0x5e, 0x1f, 0xe5, 0x0f, 0x06, 0x3b, 0xec, 0x88, - 0xb7, 0x6b, 0x30, 0x63, 0xe3, 0xab, 0x18, 0xc3, 0xa8, 0xfd, 0x9d, 0x06, 0x15, 0x1b, 0x85, 0x9f, - 0x90, 0x9b, 0x00, 0x22, 0xee, 0xf9, 0x5e, 0xdf, 0x39, 0xc1, 0xa4, 0xa5, 0xad, 0x6a, 0x6b, 0xb3, - 0x76, 0x2d, 0x45, 0x9e, 0x62, 0x42, 0x7a, 0xb0, 0x18, 0xc6, 0x42, 0xf0, 0x20, 0x42, 0xea, 0x44, - 0xfc, 0x04, 0x99, 0xa3, 0x7a, 0x6a, 0x95, 0x56, 0xcb, 0x6b, 0xf5, 0xcd, 0x4e, 0xe7, 0x8d, 0xa6, - 0x3a, 0x93, 0xa5, 0xf3, 0xc0, 0x43, 0x19, 0x77, 0x98, 0x08, 0xb4, 0x17, 0xc2, 0x0b, 0x58, 0x68, - 0x7d, 0xaf, 0xc1, 0xcd, 0x4b, 0xc3, 0xc8, 0x03, 0x98, 0x73, 0x85, 0x70, 0x7a, 0x31, 0xa3, 0x3e, - 0x3a, 0x1e, 0x55, 0x7d, 0xd6, 0xb6, 0x1b, 0xa3, 0xf3, 0x95, 0xfa, 0x96, 0x10, 0xdb, 0x0a, 0xdf, - 0xe9, 0xda, 0x75, 0xb7, 0x30, 0x28, 0xe9, 0x02, 0x8c, 0x1b, 0x6e, 0x95, 0x56, 0xb5, 0xb5, 0xab, - 0x9b, 0x77, 0x2e, 0xeb, 0x77, 0xdc, 0x66, 0x2d, 0xca, 0x8f, 0xd6, 0x9f, 0x1a, 0x34, 0xa6, 0xae, - 0x93, 0xd1, 0xf6, 0xef, 0x5a, 0x71, 0x93, 0xe4, 0x31, 0x18, 0xc8, 0x4e, 0xd1, 0xe7, 0x02, 0x55, - 0x57, 0xf5, 0xcd, 0xf5, 0x0b, 0x35, 0xf6, 0xe3, 0x68, 0xff, 0xe8, 0x79, 0xc4, 0x03, 0xdc, 0xc5, - 0x30, 0x74, 0x07, 0xf8, 0x28, 0x8b, 0xb0, 0x8b, 0x58, 0xf2, 0x09, 0x18, 0x22, 0xf0, 0x78, 0xe0, - 0x45, 0x49, 0xd6, 0xeb, 0xbf, 0x2e, 0xeb, 0xf5, 0x20, 0xe3, 0xda, 0x45, 0x14, 0x79, 0x02, 0xb5, - 0x00, 0xfb, 0xe8, 0x9d, 0x62, 0x10, 0xb6, 0xca, 0x6a, 0x3c, 0xeb, 0x97, 0xa5, 0xd8, 0x17, 0xee, - 0xab, 0x18, 0xed, 0x2c, 0xc4, 0x1e, 0x07, 0xb7, 0x67, 0x32, 0x71, 0x58, 0xdf, 0x6a, 0xb0, 0xf4, - 0xce, 0xe6, 0x49, 0x13, 0x2a, 0x8c, 0xb3, 0x3e, 0x66, 0xaa, 0x49, 0x0d, 0x62, 0x42, 0xb9, 0xc7, - 0x5f, 0xab, 0xff, 0x30, 0x6b, 0xcb, 0x23, 0xf9, 0x08, 0x1a, 0x83, 0x80, 0xc7, 0xc2, 0x09, 0xf0, - 0x08, 0x03, 0x94, 0x11, 0xba, 0xf4, 0x6e, 0x93, 0xd1, 0xf9, 0xca, 0xd5, 0x4f, 0xa5, 0xcb, 0xce, - 0x3d, 0xf6, 0xd5, 0xc1, 0x94, 0x6d, 0x7d, 0x0c, 0x8b, 0xe3, 0x0e, 0x1e, 0xbd, 0x16, 0x3c, 0x44, - 0xda, 0x75, 0x23, 0xf7, 0x7d, 0xab, 0x5b, 0x2e, 0x2c, 0xbd, 0xf3, 0x4f, 0x93, 0x5b, 0x30, 0xcb, - 0x15, 0x92, 0x6a, 0x3b, 0xcb, 0x55, 0x4f, 0x31, 0xa5, 0x07, 0x49, 0x09, 0xd3, 0x58, 0xc7, 0xa5, - 0x34, 0x50, 0xa9, 0x6b, 0x76, 0x3d, 0xc3, 0xb6, 0x28, 0x0d, 0xac, 0x1f, 0xaa, 0x30, 0xd7, 0xc5, - 0x7e, 0x90, 0x88, 0x08, 0xa9, 0x2c, 0x46, 0xee, 0x03, 0xb8, 0xfd, 0x3e, 0x8f, 0x59, 0x34, 0x56, - 0xeb, 0xdc, 0xe8, 0x7c, 0xa5, 0xb6, 0x95, 0xa2, 0x3b, 0x5d, 0xbb, 0x96, 0x11, 0x76, 0xa8, 0x2c, - 0x91, 0xb3, 0x99, 0x3b, 0xc4, 0xbc, 0x44, 0x86, 0xed, 0xb9, 0x43, 0x24, 0xff, 0x87, 0xeb, 0x7d, - 0xce, 0xe4, 0x74, 0xdc, 0xc8, 0xe3, 0xcc, 0x99, 0xd8, 0xd9, 0xb2, 0x62, 0x2f, 0x4e, 0xba, 0x0f, - 0x8a, 0xfd, 0xfd, 0x10, 0x96, 0xa6, 0xe2, 0xa8, 0x17, 0x0a, 0xdf, 0x4d, 0xd2, 0x3a, 0xba, 0x8a, - 0x9c, 0x4a, 0xdc, 0x4d, 0xfd, 0xaa, 0xe6, 0x3a, 0xcc, 0x0f, 0x71, 0xd8, 0xc3, 0x60, 0xb2, 0x5a, - 0x45, 0xc5, 0x34, 0x52, 0xc7, 0xb8, 0x4e, 0x07, 0x16, 0x32, 0xee, 0x54, 0x85, 0xaa, 0x62, 0x67, - 0x69, 0x26, 0x73, 0x77, 0xa1, 0x26, 0x25, 0x99, 0xee, 0xe6, 0x8c, 0xd2, 0xfb, 0xdd, 0x0b, 0x62, - 0x9d, 0xba, 0x53, 0x25, 0x5d, 0xb5, 0x9d, 0x86, 0xc8, 0x4e, 0x64, 0x1b, 0x88, 0x70, 0x13, 0x9f, - 0xbb, 0xd4, 0x71, 0xa3, 0x28, 0x08, 0x9d, 0x97, 0x21, 0x67, 0x2d, 0x43, 0x5d, 0x77, 0x73, 0x74, - 0xbe, 0x62, 0x1e, 0xa4, 0xde, 0x2d, 0xe9, 0xfc, 0xec, 0xf9, 0xfe, 0x9e, 0x6d, 0x8a, 0x49, 0x24, - 0xe4, 0x8c, 0xdc, 0x80, 0x1a, 0x45, 0x14, 0x8e, 0xef, 0xb1, 0x93, 0x56, 0x4d, 0xf5, 0x6b, 0x48, - 0xe0, 0x99, 0xc7, 0x4e, 0xc8, 0x3d, 0x30, 0x5d, 0x3f, 0x40, 0x97, 0x26, 0x4e, 0xb6, 0x1e, 0xb4, - 0x05, 0xab, 0xda, 0x9a, 0x61, 0x37, 0x32, 0x3c, 0x93, 0x12, 0x25, 0xb7, 0x61, 0x2e, 0x1f, 0xe2, - 0x30, 0x8e, 0x90, 0xb6, 0xea, 0x8a, 0x97, 0x4f, 0x76, 0x57, 0x62, 0xe4, 0xbf, 0x40, 0xa6, 0xc6, - 0x91, 0x32, 0x67, 0x15, 0x73, 0x7e, 0xd2, 0x93, 0xd2, 0x6f, 0xc1, 0xec, 0xb1, 0x47, 0xd1, 0x11, - 0x01, 0x9e, 0x7a, 0x78, 0xd6, 0x9a, 0x53, 0xc4, 0xba, 0xc4, 0x0e, 0x52, 0xc8, 0xfa, 0x49, 0x03, - 0x23, 0xbf, 0x19, 0x52, 0x87, 0x99, 0x17, 0xec, 0x84, 0xf1, 0x33, 0x66, 0x5e, 0x91, 0x46, 0xb6, - 0xb1, 0xa6, 0x46, 0x16, 0xa0, 0xa1, 0x16, 0x6d, 0x87, 0x9d, 0x7a, 0x91, 0xaa, 0x60, 0xce, 0x90, - 0x1b, 0x70, 0xfd, 0xe1, 0x44, 0x4d, 0x39, 0x98, 0x87, 0xc7, 0x2e, 0x1b, 0x20, 0x35, 0x0d, 0xb2, - 0x08, 0xf3, 0xbb, 0x6a, 0x6c, 0x93, 0x70, 0x8d, 0xb4, 0xa0, 0x99, 0xc2, 0x5d, 0x8c, 0x5c, 0xcf, - 0x0f, 0x73, 0x4f, 0xdd, 0xd2, 0x8d, 0x92, 0x59, 0xb2, 0x74, 0xa3, 0x6c, 0x96, 0x2d, 0xdd, 0xd0, - 0x4d, 0xdd, 0xd2, 0x8d, 0x8a, 0x59, 0xb1, 0x74, 0xa3, 0x6a, 0x56, 0x2d, 0xdd, 0x00, 0x13, 0xac, - 0x1f, 0x4b, 0x30, 0xfb, 0x98, 0x07, 0x43, 0x37, 0x5f, 0x94, 0x29, 0x1d, 0x68, 0xff, 0x54, 0x07, - 0x4d, 0xa8, 0x44, 0x5e, 0xe4, 0xe7, 0x9b, 0x93, 0x1a, 0xa4, 0x0d, 0x46, 0x18, 0xf7, 0x52, 0x47, - 0xba, 0x24, 0x85, 0x4d, 0x08, 0xe8, 0x3d, 0x4e, 0x93, 0x6c, 0x05, 0xd4, 0x79, 0x5a, 0x09, 0x95, - 0x37, 0x94, 0xd0, 0x84, 0x4a, 0x3a, 0xac, 0xaa, 0x9a, 0x41, 0x6a, 0x5c, 0x18, 0xd0, 0xcc, 0x85, - 0x01, 0x91, 0x0f, 0xde, 0xd8, 0x5c, 0x8f, 0x22, 0x8b, 0xbc, 0x23, 0x0f, 0x83, 0x54, 0xa8, 0xf6, - 0xb5, 0x49, 0xf7, 0x4e, 0xe1, 0x5d, 0xff, 0x4b, 0x83, 0xe6, 0xdb, 0xbe, 0x4e, 0xe4, 0x1a, 0x10, - 0x75, 0x07, 0x12, 0x78, 0xc1, 0x28, 0x1e, 0x79, 0x0c, 0xa9, 0x79, 0x85, 0xcc, 0xc3, 0x5c, 0x81, - 0xef, 0x7e, 0x7e, 0x78, 0x68, 0x6a, 0xe4, 0x1e, 0xdc, 0x29, 0xa0, 0x2d, 0x21, 0x7c, 0x94, 0xd6, - 0x1e, 0x97, 0x15, 0xfa, 0xaa, 0x5e, 0x96, 0xdc, 0x2c, 0x91, 0xdb, 0xb0, 0x52, 0x50, 0x1f, 0x7b, - 0x01, 0xf6, 0xdc, 0x10, 0x1f, 0xfa, 0x3c, 0xa6, 0xa9, 0x88, 0x3c, 0x36, 0x30, 0xcb, 0xe4, 0x3f, - 0x70, 0xb7, 0x20, 0x7d, 0xe1, 0x31, 0xca, 0xcf, 0xc2, 0x77, 0x65, 0xd4, 0x49, 0x1b, 0xae, 0x15, - 0xe4, 0x27, 0xb1, 0x7b, 0x86, 0x9e, 0x34, 0x9f, 0x7a, 0x91, 0x59, 0x21, 0x16, 0x2c, 0x8f, 0x1b, - 0x1b, 0xba, 0xdf, 0x70, 0xd6, 0x45, 0x19, 0x36, 0x2e, 0x56, 0x5d, 0xff, 0x1a, 0x16, 0xde, 0xf2, - 0xc5, 0x23, 0x4b, 0xe9, 0xfb, 0x26, 0xb7, 0x27, 0x6f, 0x60, 0x21, 0xfd, 0x56, 0xe7, 0xae, 0x67, - 0xfc, 0xcc, 0xd4, 0xf2, 0xeb, 0xca, 0xc1, 0x3d, 0x29, 0x3f, 0xdf, 0x2c, 0x6d, 0xfe, 0xa6, 0x41, - 0x7d, 0x22, 0x3f, 0x79, 0x09, 0x30, 0x7e, 0x2c, 0x91, 0xcb, 0x5f, 0x36, 0x05, 0xaf, 0x93, 0xbf, - 0xa8, 0xee, 0xbf, 0x37, 0x5f, 0xbe, 0xba, 0xbe, 0x04, 0x5d, 0xbe, 0x24, 0xc8, 0xda, 0xe5, 0x51, - 0x8c, 0x16, 0xf9, 0xff, 0xfd, 0x1e, 0x4c, 0xe1, 0x27, 0xdb, 0x9d, 0x5f, 0x46, 0xcb, 0xda, 0xaf, - 0xa3, 0x65, 0xed, 0x8f, 0xd1, 0xb2, 0xf6, 0xd5, 0x6a, 0x0f, 0x83, 0x28, 0xe9, 0x44, 0xd8, 0x3f, - 0xde, 0xc8, 0xe2, 0x37, 0xc4, 0xc9, 0x60, 0xfc, 0xb6, 0xec, 0x55, 0xd5, 0xab, 0xf1, 0xc1, 0xdf, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x23, 0xe0, 0x7f, 0x2c, 0x79, 0x0a, 0x00, 0x00, -} - -func (m *PushServiceServerInfo) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceServerInfo) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceServerInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *PushServiceServerInfo_Request) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceServerInfo_Request) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceServerInfo_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *PushServiceServerInfo_Reply) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceServerInfo_Reply) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceServerInfo_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.SupportedTokenTypes) > 0 { - for iNdEx := len(m.SupportedTokenTypes) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.SupportedTokenTypes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintPushtypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if len(m.PublicKey) > 0 { - i -= len(m.PublicKey) - copy(dAtA[i:], m.PublicKey) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.PublicKey))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PushServiceSupportedTokenType) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceSupportedTokenType) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceSupportedTokenType) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if m.TokenType != 0 { - i = encodeVarintPushtypes(dAtA, i, uint64(m.TokenType)) - i-- - dAtA[i] = 0x10 - } - if len(m.AppBundleID) > 0 { - i -= len(m.AppBundleID) - copy(dAtA[i:], m.AppBundleID) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.AppBundleID))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PushServiceSend) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceSend) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceSend) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *PushServiceSend_Request) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceSend_Request) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceSend_Request) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.Receivers) > 0 { - for iNdEx := len(m.Receivers) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Receivers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintPushtypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - } - if m.Priority != 0 { - i = encodeVarintPushtypes(dAtA, i, uint64(m.Priority)) - i-- - dAtA[i] = 0x10 - } - if m.Envelope != nil { - { - size, err := m.Envelope.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintPushtypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PushServiceSend_Reply) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceSend_Reply) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceSend_Reply) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - return len(dAtA) - i, nil -} - -func (m *OutOfStoreMessageEnvelope) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *OutOfStoreMessageEnvelope) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OutOfStoreMessageEnvelope) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.GroupReference) > 0 { - i -= len(m.GroupReference) - copy(dAtA[i:], m.GroupReference) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.GroupReference))) - i-- - dAtA[i] = 0x22 - } - if len(m.Box) > 0 { - i -= len(m.Box) - copy(dAtA[i:], m.Box) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.Box))) - i-- - dAtA[i] = 0x12 - } - if len(m.Nonce) > 0 { - i -= len(m.Nonce) - copy(dAtA[i:], m.Nonce) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.Nonce))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *OutOfStoreExposedData) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *OutOfStoreExposedData) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OutOfStoreExposedData) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.Box) > 0 { - i -= len(m.Box) - copy(dAtA[i:], m.Box) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.Box))) - i-- - dAtA[i] = 0x12 - } - if len(m.Nonce) > 0 { - i -= len(m.Nonce) - copy(dAtA[i:], m.Nonce) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.Nonce))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PushServiceOpaqueReceiver) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PushServiceOpaqueReceiver) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *PushServiceOpaqueReceiver) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.ServiceAddr) > 0 { - i -= len(m.ServiceAddr) - copy(dAtA[i:], m.ServiceAddr) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.ServiceAddr))) - i-- - dAtA[i] = 0x12 - } - if len(m.OpaqueToken) > 0 { - i -= len(m.OpaqueToken) - copy(dAtA[i:], m.OpaqueToken) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.OpaqueToken))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *DecryptedPush) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *DecryptedPush) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DecryptedPush) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if m.HidePreview { - i-- - if m.HidePreview { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x68 - } - if m.ConversationMuted { - i-- - if m.ConversationMuted { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x60 - } - if m.AccountMuted { - i-- - if m.AccountMuted { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x58 - } - if m.AlreadyReceived { - i-- - if m.AlreadyReceived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x50 - } - if len(m.DeepLink) > 0 { - i -= len(m.DeepLink) - copy(dAtA[i:], m.DeepLink) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.DeepLink))) - i-- - dAtA[i] = 0x4a - } - if len(m.PayloadAttrsJSON) > 0 { - i -= len(m.PayloadAttrsJSON) - copy(dAtA[i:], m.PayloadAttrsJSON) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.PayloadAttrsJSON))) - i-- - dAtA[i] = 0x42 - } - if m.PushType != 0 { - i = encodeVarintPushtypes(dAtA, i, uint64(m.PushType)) - i-- - dAtA[i] = 0x38 - } - if len(m.MemberDisplayName) > 0 { - i -= len(m.MemberDisplayName) - copy(dAtA[i:], m.MemberDisplayName) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.MemberDisplayName))) - i-- - dAtA[i] = 0x32 - } - if len(m.MemberPublicKey) > 0 { - i -= len(m.MemberPublicKey) - copy(dAtA[i:], m.MemberPublicKey) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.MemberPublicKey))) - i-- - dAtA[i] = 0x2a - } - if len(m.ConversationDisplayName) > 0 { - i -= len(m.ConversationDisplayName) - copy(dAtA[i:], m.ConversationDisplayName) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.ConversationDisplayName))) - i-- - dAtA[i] = 0x22 - } - if len(m.ConversationPublicKey) > 0 { - i -= len(m.ConversationPublicKey) - copy(dAtA[i:], m.ConversationPublicKey) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.ConversationPublicKey))) - i-- - dAtA[i] = 0x1a - } - if len(m.AccountName) > 0 { - i -= len(m.AccountName) - copy(dAtA[i:], m.AccountName) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.AccountName))) - i-- - dAtA[i] = 0x12 - } - if len(m.AccountID) > 0 { - i -= len(m.AccountID) - copy(dAtA[i:], m.AccountID) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.AccountID))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *FormatedPush) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *FormatedPush) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *FormatedPush) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.ConversationIdentifier) > 0 { - i -= len(m.ConversationIdentifier) - copy(dAtA[i:], m.ConversationIdentifier) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.ConversationIdentifier))) - i-- - dAtA[i] = 0x42 - } - if m.HidePreview { - i-- - if m.HidePreview { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 - } - if m.Muted { - i-- - if m.Muted { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.DeepLink) > 0 { - i -= len(m.DeepLink) - copy(dAtA[i:], m.DeepLink) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.DeepLink))) - i-- - dAtA[i] = 0x2a - } - if len(m.Body) > 0 { - i -= len(m.Body) - copy(dAtA[i:], m.Body) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.Body))) - i-- - dAtA[i] = 0x22 - } - if len(m.Subtitle) > 0 { - i -= len(m.Subtitle) - copy(dAtA[i:], m.Subtitle) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.Subtitle))) - i-- - dAtA[i] = 0x1a - } - if len(m.Title) > 0 { - i -= len(m.Title) - copy(dAtA[i:], m.Title) - i = encodeVarintPushtypes(dAtA, i, uint64(len(m.Title))) - i-- - dAtA[i] = 0x12 - } - if m.PushType != 0 { - i = encodeVarintPushtypes(dAtA, i, uint64(m.PushType)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintPushtypes(dAtA []byte, offset int, v uint64) int { - offset -= sovPushtypes(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *PushServiceServerInfo) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *PushServiceServerInfo_Request) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *PushServiceServerInfo_Reply) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.PublicKey) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if len(m.SupportedTokenTypes) > 0 { - for _, e := range m.SupportedTokenTypes { - l = e.Size() - n += 1 + l + sovPushtypes(uint64(l)) - } - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *PushServiceSupportedTokenType) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AppBundleID) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.TokenType != 0 { - n += 1 + sovPushtypes(uint64(m.TokenType)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *PushServiceSend) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *PushServiceSend_Request) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Envelope != nil { - l = m.Envelope.Size() - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.Priority != 0 { - n += 1 + sovPushtypes(uint64(m.Priority)) - } - if len(m.Receivers) > 0 { - for _, e := range m.Receivers { - l = e.Size() - n += 1 + l + sovPushtypes(uint64(l)) - } - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *PushServiceSend_Reply) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *OutOfStoreMessageEnvelope) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Nonce) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.Box) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.GroupReference) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *OutOfStoreExposedData) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Nonce) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.Box) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *PushServiceOpaqueReceiver) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.OpaqueToken) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.ServiceAddr) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *DecryptedPush) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AccountID) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.AccountName) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.ConversationPublicKey) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.ConversationDisplayName) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.MemberPublicKey) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.MemberDisplayName) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.PushType != 0 { - n += 1 + sovPushtypes(uint64(m.PushType)) - } - l = len(m.PayloadAttrsJSON) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.DeepLink) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.AlreadyReceived { - n += 2 - } - if m.AccountMuted { - n += 2 - } - if m.ConversationMuted { - n += 2 - } - if m.HidePreview { - n += 2 - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func (m *FormatedPush) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PushType != 0 { - n += 1 + sovPushtypes(uint64(m.PushType)) - } - l = len(m.Title) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.Subtitle) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.Body) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - l = len(m.DeepLink) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.Muted { - n += 2 - } - if m.HidePreview { - n += 2 - } - l = len(m.ConversationIdentifier) - if l > 0 { - n += 1 + l + sovPushtypes(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func sovPushtypes(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozPushtypes(x uint64) (n int) { - return sovPushtypes(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *PushServiceServerInfo) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushServiceServerInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushServiceServerInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServiceServerInfo_Request) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServiceServerInfo_Reply) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PublicKey = append(m.PublicKey[:0], dAtA[iNdEx:postIndex]...) - if m.PublicKey == nil { - m.PublicKey = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SupportedTokenTypes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SupportedTokenTypes = append(m.SupportedTokenTypes, &PushServiceSupportedTokenType{}) - if err := m.SupportedTokenTypes[len(m.SupportedTokenTypes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServiceSupportedTokenType) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushServiceSupportedTokenType: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushServiceSupportedTokenType: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AppBundleID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AppBundleID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenType", wireType) - } - m.TokenType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TokenType |= PushServiceTokenType(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServiceSend) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushServiceSend: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushServiceSend: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServiceSend_Request) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Request: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Envelope", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Envelope == nil { - m.Envelope = &OutOfStoreMessageEnvelope{} - } - if err := m.Envelope.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) - } - m.Priority = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Priority |= PushServicePriority(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receivers", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Receivers = append(m.Receivers, &PushServiceOpaqueReceiver{}) - if err := m.Receivers[len(m.Receivers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServiceSend_Reply) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Reply: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Reply: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *OutOfStoreMessageEnvelope) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: OutOfStoreMessageEnvelope: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: OutOfStoreMessageEnvelope: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Nonce = append(m.Nonce[:0], dAtA[iNdEx:postIndex]...) - if m.Nonce == nil { - m.Nonce = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Box", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Box = append(m.Box[:0], dAtA[iNdEx:postIndex]...) - if m.Box == nil { - m.Box = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GroupReference", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.GroupReference = append(m.GroupReference[:0], dAtA[iNdEx:postIndex]...) - if m.GroupReference == nil { - m.GroupReference = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *OutOfStoreExposedData) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: OutOfStoreExposedData: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: OutOfStoreExposedData: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Nonce = append(m.Nonce[:0], dAtA[iNdEx:postIndex]...) - if m.Nonce == nil { - m.Nonce = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Box", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Box = append(m.Box[:0], dAtA[iNdEx:postIndex]...) - if m.Box == nil { - m.Box = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PushServiceOpaqueReceiver) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PushServiceOpaqueReceiver: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PushServiceOpaqueReceiver: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OpaqueToken", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OpaqueToken = append(m.OpaqueToken[:0], dAtA[iNdEx:postIndex]...) - if m.OpaqueToken == nil { - m.OpaqueToken = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ServiceAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ServiceAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DecryptedPush) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: DecryptedPush: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DecryptedPush: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AccountID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AccountName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConversationPublicKey", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ConversationPublicKey = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConversationDisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ConversationDisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MemberPublicKey", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.MemberPublicKey = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MemberDisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.MemberDisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PushType", wireType) - } - m.PushType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PushType |= DecryptedPush_PushType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PayloadAttrsJSON", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PayloadAttrsJSON = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DeepLink", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DeepLink = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AlreadyReceived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.AlreadyReceived = bool(v != 0) - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountMuted", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.AccountMuted = bool(v != 0) - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ConversationMuted", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.ConversationMuted = bool(v != 0) - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HidePreview", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.HidePreview = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *FormatedPush) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: FormatedPush: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: FormatedPush: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PushType", wireType) - } - m.PushType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PushType |= DecryptedPush_PushType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Title = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Subtitle", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Subtitle = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Body = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DeepLink", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DeepLink = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Muted", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Muted = bool(v != 0) - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HidePreview", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.HidePreview = bool(v != 0) - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConversationIdentifier", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowPushtypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthPushtypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthPushtypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ConversationIdentifier = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipPushtypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthPushtypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipPushtypes(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowPushtypes - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowPushtypes - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowPushtypes - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthPushtypes - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupPushtypes - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthPushtypes - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthPushtypes = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowPushtypes = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupPushtypes = fmt.Errorf("proto: unexpected end of group") -) diff --git a/pkg/pushtypes/pushtypes.pb.gw.go b/pkg/pushtypes/pushtypes.pb.gw.go deleted file mode 100644 index 5ace938d..00000000 --- a/pkg/pushtypes/pushtypes.pb.gw.go +++ /dev/null @@ -1,250 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: pushtypes/pushtypes.proto - -/* -Package pushtypes is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package pushtypes - -import ( - "context" - "io" - "net/http" - - "github.com/golang/protobuf/descriptor" - "github.com/golang/protobuf/proto" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/grpc-ecosystem/grpc-gateway/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = descriptor.ForMessage -var _ = metadata.Join - -func request_PushService_ServerInfo_0(ctx context.Context, marshaler runtime.Marshaler, client PushServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PushServiceServerInfo_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ServerInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PushService_ServerInfo_0(ctx context.Context, marshaler runtime.Marshaler, server PushServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PushServiceServerInfo_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ServerInfo(ctx, &protoReq) - return msg, metadata, err - -} - -func request_PushService_Send_0(ctx context.Context, marshaler runtime.Marshaler, client PushServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PushServiceSend_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.Send(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PushService_Send_0(ctx context.Context, marshaler runtime.Marshaler, server PushServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PushServiceSend_Request - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.Send(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterPushServiceHandlerServer registers the http handlers for service PushService to "mux". -// UnaryRPC :call PushServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPushServiceHandlerFromEndpoint instead. -func RegisterPushServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PushServiceServer) error { - - mux.Handle("POST", pattern_PushService_ServerInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PushService_ServerInfo_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PushService_ServerInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PushService_Send_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PushService_Send_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PushService_Send_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterPushServiceHandlerFromEndpoint is same as RegisterPushServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterPushServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterPushServiceHandler(ctx, mux, conn) -} - -// RegisterPushServiceHandler registers the http handlers for service PushService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterPushServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterPushServiceHandlerClient(ctx, mux, NewPushServiceClient(conn)) -} - -// RegisterPushServiceHandlerClient registers the http handlers for service PushService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PushServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PushServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "PushServiceClient" to call the correct interceptors. -func RegisterPushServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PushServiceClient) error { - - mux.Handle("POST", pattern_PushService_ServerInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PushService_ServerInfo_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PushService_ServerInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PushService_Send_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PushService_Send_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_PushService_Send_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_PushService_ServerInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.push.v1.PushService", "ServerInfo"}, "", runtime.AssumeColonVerbOpt(true))) - - pattern_PushService_Send_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"weshnet.push.v1.PushService", "Send"}, "", runtime.AssumeColonVerbOpt(true))) -) - -var ( - forward_PushService_ServerInfo_0 = runtime.ForwardResponseMessage - - forward_PushService_Send_0 = runtime.ForwardResponseMessage -) diff --git a/pkg/pushtypes/pushtypes_grpc.pb.go b/pkg/pushtypes/pushtypes_grpc.pb.go deleted file mode 100644 index 274fadb8..00000000 --- a/pkg/pushtypes/pushtypes_grpc.pb.go +++ /dev/null @@ -1,150 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc (unknown) -// source: pushtypes/pushtypes.proto - -package pushtypes - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -const ( - PushService_ServerInfo_FullMethodName = "/weshnet.push.v1.PushService/ServerInfo" - PushService_Send_FullMethodName = "/weshnet.push.v1.PushService/Send" -) - -// PushServiceClient is the client API for PushService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type PushServiceClient interface { - // ServerInfo retrieves metadata about the current push service - ServerInfo(ctx context.Context, in *PushServiceServerInfo_Request, opts ...grpc.CallOption) (*PushServiceServerInfo_Reply, error) - // Send dispatch a push payload to one or multiple recipients - Send(ctx context.Context, in *PushServiceSend_Request, opts ...grpc.CallOption) (*PushServiceSend_Reply, error) -} - -type pushServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewPushServiceClient(cc grpc.ClientConnInterface) PushServiceClient { - return &pushServiceClient{cc} -} - -func (c *pushServiceClient) ServerInfo(ctx context.Context, in *PushServiceServerInfo_Request, opts ...grpc.CallOption) (*PushServiceServerInfo_Reply, error) { - out := new(PushServiceServerInfo_Reply) - err := c.cc.Invoke(ctx, PushService_ServerInfo_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *pushServiceClient) Send(ctx context.Context, in *PushServiceSend_Request, opts ...grpc.CallOption) (*PushServiceSend_Reply, error) { - out := new(PushServiceSend_Reply) - err := c.cc.Invoke(ctx, PushService_Send_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// PushServiceServer is the server API for PushService service. -// All implementations must embed UnimplementedPushServiceServer -// for forward compatibility -type PushServiceServer interface { - // ServerInfo retrieves metadata about the current push service - ServerInfo(context.Context, *PushServiceServerInfo_Request) (*PushServiceServerInfo_Reply, error) - // Send dispatch a push payload to one or multiple recipients - Send(context.Context, *PushServiceSend_Request) (*PushServiceSend_Reply, error) - mustEmbedUnimplementedPushServiceServer() -} - -// UnimplementedPushServiceServer must be embedded to have forward compatible implementations. -type UnimplementedPushServiceServer struct { -} - -func (UnimplementedPushServiceServer) ServerInfo(context.Context, *PushServiceServerInfo_Request) (*PushServiceServerInfo_Reply, error) { - return nil, status.Errorf(codes.Unimplemented, "method ServerInfo not implemented") -} -func (UnimplementedPushServiceServer) Send(context.Context, *PushServiceSend_Request) (*PushServiceSend_Reply, error) { - return nil, status.Errorf(codes.Unimplemented, "method Send not implemented") -} -func (UnimplementedPushServiceServer) mustEmbedUnimplementedPushServiceServer() {} - -// UnsafePushServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to PushServiceServer will -// result in compilation errors. -type UnsafePushServiceServer interface { - mustEmbedUnimplementedPushServiceServer() -} - -func RegisterPushServiceServer(s grpc.ServiceRegistrar, srv PushServiceServer) { - s.RegisterService(&PushService_ServiceDesc, srv) -} - -func _PushService_ServerInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PushServiceServerInfo_Request) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PushServiceServer).ServerInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: PushService_ServerInfo_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PushServiceServer).ServerInfo(ctx, req.(*PushServiceServerInfo_Request)) - } - return interceptor(ctx, in, info, handler) -} - -func _PushService_Send_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PushServiceSend_Request) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PushServiceServer).Send(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: PushService_Send_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PushServiceServer).Send(ctx, req.(*PushServiceSend_Request)) - } - return interceptor(ctx, in, info, handler) -} - -// PushService_ServiceDesc is the grpc.ServiceDesc for PushService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var PushService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "weshnet.push.v1.PushService", - HandlerType: (*PushServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "ServerInfo", - Handler: _PushService_ServerInfo_Handler, - }, - { - MethodName: "Send", - Handler: _PushService_Send_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "pushtypes/pushtypes.proto", -} diff --git a/pkg/secretstore/secret_store.go b/pkg/secretstore/secret_store.go index 3ae12961..777d9572 100644 --- a/pkg/secretstore/secret_store.go +++ b/pkg/secretstore/secret_store.go @@ -17,7 +17,6 @@ import ( "berty.tech/weshnet/pkg/errcode" "berty.tech/weshnet/pkg/ipfsutil" "berty.tech/weshnet/pkg/protocoltypes" - "berty.tech/weshnet/pkg/pushtypes" ) const ( @@ -140,7 +139,7 @@ func (s *secretStore) GetOwnMemberDeviceForGroup(g *protocoltypes.Group) (OwnMem } func (s *secretStore) OpenOutOfStoreMessage(ctx context.Context, payload []byte) (*protocoltypes.OutOfStoreMessage, *protocoltypes.Group, []byte, bool, error) { - oosMessageEnv := &pushtypes.OutOfStoreMessageEnvelope{} + oosMessageEnv := &protocoltypes.OutOfStoreMessageEnvelope{} if err := oosMessageEnv.Unmarshal(payload); err != nil { return nil, nil, nil, false, errcode.ErrDeserialization.Wrap(err) } @@ -170,7 +169,7 @@ func (s *secretStore) OpenOutOfStoreMessage(ctx context.Context, payload []byte) return oosMessage, group, clear, !newlyDecrypted, nil } -func (s *secretStore) decryptOutOfStoreMessageEnv(ctx context.Context, env *pushtypes.OutOfStoreMessageEnvelope, groupPK crypto.PubKey) (*protocoltypes.OutOfStoreMessage, error) { +func (s *secretStore) decryptOutOfStoreMessageEnv(ctx context.Context, env *protocoltypes.OutOfStoreMessageEnvelope, groupPK crypto.PubKey) (*protocoltypes.OutOfStoreMessage, error) { nonce, err := cryptoutil.NonceSliceToArray(env.Nonce) if err != nil { return nil, errcode.ErrInvalidInput.Wrap(err) @@ -329,7 +328,7 @@ func (s *secretStore) OpenEnvelopeHeaders(data []byte, g *protocoltypes.Group) ( return env, headers, nil } -func (s *secretStore) SealOutOfStoreMessageEnvelope(id cid.Cid, env *protocoltypes.MessageEnvelope, headers *protocoltypes.MessageHeaders, g *protocoltypes.Group) (*pushtypes.OutOfStoreMessageEnvelope, error) { +func (s *secretStore) SealOutOfStoreMessageEnvelope(id cid.Cid, env *protocoltypes.MessageEnvelope, headers *protocoltypes.MessageHeaders, group *protocoltypes.Group) (*protocoltypes.OutOfStoreMessageEnvelope, error) { oosMessage := &protocoltypes.OutOfStoreMessage{ CID: id.Bytes(), DevicePK: headers.DevicePK, @@ -349,19 +348,19 @@ func (s *secretStore) SealOutOfStoreMessageEnvelope(id cid.Cid, env *protocoltyp return nil, errcode.ErrCryptoNonceGeneration.Wrap(err) } - secret, err := cryptoutil.KeySliceToArray(g.Secret) + secret, err := cryptoutil.KeySliceToArray(group.Secret) if err != nil { return nil, errcode.ErrCryptoKeyConversion.Wrap(fmt.Errorf("unable to convert slice to array: %w", err)) } encryptedData := secretbox.Seal(nil, data, nonce, secret) - pushGroupRef, err := createOutOfStoreGroupReference(g, headers.DevicePK, headers.Counter) + pushGroupRef, err := createOutOfStoreGroupReference(group, headers.DevicePK, headers.Counter) if err != nil { return nil, errcode.ErrCryptoKeyGeneration.Wrap(err) } - return &pushtypes.OutOfStoreMessageEnvelope{ + return &protocoltypes.OutOfStoreMessageEnvelope{ Nonce: nonce[:], Box: encryptedData, GroupReference: pushGroupRef, diff --git a/pkg/secretstore/secret_store_interfaces.go b/pkg/secretstore/secret_store_interfaces.go index 5291db7f..9840187d 100644 --- a/pkg/secretstore/secret_store_interfaces.go +++ b/pkg/secretstore/secret_store_interfaces.go @@ -8,9 +8,7 @@ import ( "github.com/libp2p/go-libp2p/core/crypto" "go.uber.org/zap" - "berty.tech/weshnet/pkg/cryptoutil" "berty.tech/weshnet/pkg/protocoltypes" - "berty.tech/weshnet/pkg/pushtypes" ) const ( @@ -91,7 +89,7 @@ type SecretStore interface { // // SealOutOfStoreMessageEnvelope encrypts a message to be sent outside a synchronized store - SealOutOfStoreMessageEnvelope(id cid.Cid, env *protocoltypes.MessageEnvelope, headers *protocoltypes.MessageHeaders, group *protocoltypes.Group) (*pushtypes.OutOfStoreMessageEnvelope, error) + SealOutOfStoreMessageEnvelope(id cid.Cid, env *protocoltypes.MessageEnvelope, headers *protocoltypes.MessageHeaders, group *protocoltypes.Group) (*protocoltypes.OutOfStoreMessageEnvelope, error) // OpenOutOfStoreMessage opens a message received outside a synchronized store OpenOutOfStoreMessage(ctx context.Context, payload []byte) (outOfStoreMessage *protocoltypes.OutOfStoreMessage, group *protocoltypes.Group, clearPayload []byte, alreadyDecrypted bool, err error) @@ -124,11 +122,6 @@ type NewSecretStoreOptions struct { // DisableOutOfStoreSupport explicitly disables support of out-of-store // payloads DisableOutOfStoreSupport bool - - // OutOfStorePrivateKey sets the out-of-store key to decrypt payloads - // received via a server, alternatively you can use - // SecretStore.SetOutOfStoreDevicePrivateKey to set it - OutOfStorePrivateKey *[cryptoutil.KeySize]byte } // MemberDevice is the public keys of a device and its member diff --git a/pkg/testutil/push.go b/pkg/testutil/push.go deleted file mode 100644 index 314f2825..00000000 --- a/pkg/testutil/push.go +++ /dev/null @@ -1,78 +0,0 @@ -package testutil - -import ( - "fmt" - "sync" - - "berty.tech/weshnet/pkg/protocoltypes" - "berty.tech/weshnet/pkg/pushtypes" -) - -const ( - DummyPushServerAddr = "server.test" - PushMockBundleID = "tech.berty.mock" -) - -type PushMockedDispatcher struct { - mu sync.RWMutex - bundleID string - queue map[string][][]byte -} - -func (d *PushMockedDispatcher) TokenType() pushtypes.PushServiceTokenType { - return pushtypes.PushServiceTokenType_PushTokenMQTT -} - -func (d *PushMockedDispatcher) Dispatch(data []byte, receiver *protocoltypes.PushServiceReceiver) error { - d.mu.Lock() - defer d.mu.Unlock() - - d.queue[string(receiver.Token)] = append(d.queue[string(receiver.Token)], data) - - return nil -} - -func (d *PushMockedDispatcher) BundleID() string { - return d.bundleID -} - -func (d *PushMockedDispatcher) Shift(token []byte) []byte { - d.mu.Lock() - defer d.mu.Unlock() - - if len(d.queue[string(token)]) == 0 { - return nil - } - - var payload []byte - payload, d.queue[string(token)] = d.queue[string(token)][0], d.queue[string(token)][1:] - - return payload -} - -func (d *PushMockedDispatcher) Len(token []byte) int { - d.mu.RLock() - defer d.mu.RUnlock() - - return len(d.queue[string(token)]) -} - -func (d *PushMockedDispatcher) Debug() string { - d.mu.RLock() - defer d.mu.RUnlock() - - out := "Showing contents of the push dispatcher:\n\n" - - for k, v := range d.queue { - out = fmt.Sprintf("%s%s: %d entrie(s)\n", out, k, len(v)) - } - - return out -} - -func NewPushMockedDispatcher(bundleID string) *PushMockedDispatcher { - return &PushMockedDispatcher{ - bundleID: bundleID, - queue: map[string][][]byte{}, - } -} diff --git a/service.go b/service.go index c7169f6e..0307b563 100644 --- a/service.go +++ b/service.go @@ -26,7 +26,6 @@ import ( "github.com/prometheus/client_golang/prometheus" "go.uber.org/multierr" "go.uber.org/zap" - "google.golang.org/grpc" "moul.io/srand" "berty.tech/go-orbit-db/baseorbitdb" @@ -36,7 +35,6 @@ import ( "berty.tech/weshnet/internal/bertyversion" "berty.tech/weshnet/internal/datastoreutil" "berty.tech/weshnet/pkg/bertyvcissuer" - "berty.tech/weshnet/pkg/cryptoutil" "berty.tech/weshnet/pkg/errcode" "berty.tech/weshnet/pkg/ipfsutil" ipfs_mobile "berty.tech/weshnet/pkg/ipfsutil/mobile" @@ -71,8 +69,6 @@ type service struct { close func() error startedAt time.Time host host.Host - pushClients map[string]*grpc.ClientConn - muPushClients sync.RWMutex grpcInsecure bool refreshprocess map[string]context.CancelFunc muRefreshprocess sync.RWMutex @@ -88,22 +84,19 @@ type service struct { // Opts contains optional configuration flags for building a new Client type Opts struct { - Logger *zap.Logger - IpfsCoreAPI ipfsutil.ExtendedCoreAPI - DatastoreDir string - RootDatastore ds.Batching - AccountCache ds.Batching - OrbitDB *WeshOrbitDB - TinderService *tinder.Service - Host host.Host - PubSub *pubsub.PubSub - GRPCInsecureMode bool - LocalOnly bool - close func() error - PushKey *[cryptoutil.KeySize]byte - SecretStore secretstore.SecretStore - OutOfStorePrivateKey *[cryptoutil.KeySize]byte - PrometheusRegister prometheus.Registerer + Logger *zap.Logger + IpfsCoreAPI ipfsutil.ExtendedCoreAPI + DatastoreDir string + RootDatastore ds.Batching + OrbitDB *WeshOrbitDB + TinderService *tinder.Service + Host host.Host + PubSub *pubsub.PubSub + GRPCInsecureMode bool + LocalOnly bool + close func() error + SecretStore secretstore.SecretStore + PrometheusRegister prometheus.Registerer // These are used if OrbitDB is nil. GroupMetadataStoreType string @@ -149,8 +142,7 @@ func (opts *Opts) applyDefaults(ctx context.Context) error { if opts.SecretStore == nil { secretStore, err := secretstore.NewSecretStore(opts.RootDatastore, &secretstore.NewSecretStoreOptions{ - Logger: opts.Logger, - OutOfStorePrivateKey: opts.OutOfStorePrivateKey, + Logger: opts.Logger, }) if err != nil { return errcode.ErrInternal.Wrap(err) @@ -361,7 +353,6 @@ func NewService(opts Opts) (_ Service, err error) { string(accountGroupCtx.Group().PublicKey): accountGroupCtx, }, secretStore: opts.SecretStore, - pushClients: make(map[string]*grpc.ClientConn), grpcInsecure: opts.GRPCInsecureMode, refreshprocess: make(map[string]context.CancelFunc), peerStatusManager: NewConnectednessManager(), diff --git a/store_message.go b/store_message.go index 01f53302..a60baa85 100644 --- a/store_message.go +++ b/store_message.go @@ -25,7 +25,6 @@ import ( "berty.tech/weshnet/pkg/errcode" "berty.tech/weshnet/pkg/logutil" "berty.tech/weshnet/pkg/protocoltypes" - "berty.tech/weshnet/pkg/pushtypes" "berty.tech/weshnet/pkg/secretstore" "berty.tech/weshnet/pkg/tyber" ) @@ -497,7 +496,7 @@ func (m *MessageStore) GetMessageByCID(c cid.Cid) (operation.Operation, error) { return op, nil } -func (m *MessageStore) GetOutOfStoreMessageEnvelope(ctx context.Context, c cid.Cid) (*pushtypes.OutOfStoreMessageEnvelope, error) { +func (m *MessageStore) GetOutOfStoreMessageEnvelope(ctx context.Context, c cid.Cid) (*protocoltypes.OutOfStoreMessageEnvelope, error) { op, err := m.GetMessageByCID(c) if err != nil { return nil, errcode.ErrInvalidInput.Wrap(err) diff --git a/store_metadata.go b/store_metadata.go index bf0d4bf2..172d998b 100644 --- a/store_metadata.go +++ b/store_metadata.go @@ -24,7 +24,6 @@ import ( "berty.tech/go-orbit-db/stores/basestore" "berty.tech/go-orbit-db/stores/operation" "berty.tech/weshnet/pkg/errcode" - "berty.tech/weshnet/pkg/logutil" "berty.tech/weshnet/pkg/protocoltypes" "berty.tech/weshnet/pkg/secretstore" "berty.tech/weshnet/pkg/tyber" @@ -1081,62 +1080,6 @@ func constructorFactoryGroupMetadata(s *WeshOrbitDB, logger *zap.Logger) iface.S } } -func (m *MetadataStore) SendPushToken(ctx context.Context, t *protocoltypes.PushMemberTokenUpdate) (operation.Operation, error) { - m.logger.Debug("sending push token to device", logutil.PrivateString("server", t.Server.ServiceAddr)) - return m.attributeSignAndAddEvent(ctx, &protocoltypes.PushMemberTokenUpdate{ - Server: t.Server, - Token: t.Token, - }, protocoltypes.EventTypePushMemberTokenUpdate) -} - -func (m *MetadataStore) RegisterDevicePushToken(ctx context.Context, token *protocoltypes.PushServiceReceiver) (operation.Operation, error) { - m.logger.Debug("register push token") - return m.attributeSignAndAddEvent(ctx, &protocoltypes.PushDeviceTokenRegistered{ - Token: token, - }, protocoltypes.EventTypePushDeviceTokenRegistered) -} - -func (m *MetadataStore) RegisterDevicePushServer(ctx context.Context, server *protocoltypes.PushServer) (operation.Operation, error) { - return m.attributeSignAndAddEvent(ctx, &protocoltypes.PushDeviceServerRegistered{ - Server: server, - }, protocoltypes.EventTypePushDeviceServerRegistered) -} - -func (m *MetadataStore) getCurrentDevicePushToken() *protocoltypes.PushServiceReceiver { - receiver := m.Index().(*metadataStoreIndex).getCurrentDevicePushToken() - if receiver == nil { - return nil - } - - return receiver.Token -} - -func (m *MetadataStore) getCurrentDevicePushServer() *protocoltypes.PushServer { - registration := m.Index().(*metadataStoreIndex).getCurrentDevicePushServer() - if registration == nil { - return nil - } - - return registration.Server -} - -func (m *MetadataStore) GetPushTokenForDevice(d crypto.PubKey) (*protocoltypes.PushMemberTokenUpdate, error) { - m.Index().(*metadataStoreIndex).lock.RLock() - defer m.Index().(*metadataStoreIndex).lock.RUnlock() - - pk, err := d.Raw() - if err != nil { - return nil, errcode.ErrSerialization.Wrap(err) - } - - token, ok := m.Index().(*metadataStoreIndex).membersPushTokens[string(pk)] - if !ok { - return nil, errcode.ErrInvalidInput.Wrap(fmt.Errorf("token not found")) - } - - return token, nil -} - func (m *MetadataStore) initEmitter() (err error) { if m.emitters.metadataReceived, err = m.eventBus.Emitter(new(EventMetadataReceived)); err != nil { return diff --git a/store_metadata_index.go b/store_metadata_index.go index 8e869892..51f74e4d 100644 --- a/store_metadata_index.go +++ b/store_metadata_index.go @@ -1,7 +1,6 @@ package weshnet import ( - "bytes" "context" "fmt" "sync" @@ -29,9 +28,6 @@ type metadataStoreIndex struct { contactsFromGroupPK map[string]*AccountContact groups map[string]*accountGroup serviceTokens map[string]*protocoltypes.ServiceToken - devicePushToken *protocoltypes.PushDeviceTokenRegistered - devicePushServer *protocoltypes.PushDeviceServerRegistered - membersPushTokens map[string]*protocoltypes.PushMemberTokenUpdate contactRequestMetadata map[string][]byte verifiedCredentials []*protocoltypes.AccountVerifiedCredentialRegistered contactRequestSeed []byte @@ -75,10 +71,7 @@ func (m *metadataStoreIndex) UpdateIndex(log ipfslog.Log, _ []ipfslog.Entry) err m.contactRequestMetadata = map[string][]byte{} m.contactRequestEnabled = nil m.contactRequestSeed = []byte(nil) - m.devicePushToken = nil - m.devicePushServer = nil m.verifiedCredentials = nil - m.membersPushTokens = map[string]*protocoltypes.PushMemberTokenUpdate{} m.handledEvents = map[string]struct{}{} for i := len(entries) - 1; i >= 0; i-- { @@ -699,73 +692,10 @@ func (m *metadataStoreIndex) handleMultiMemberGrantAdminRole(event proto.Message return nil } -func (m *metadataStoreIndex) handlePushMemberTokenUpdate(event proto.Message) error { - e, ok := event.(*protocoltypes.PushMemberTokenUpdate) - if !ok { - return errcode.ErrInvalidInput - } - - if _, ok := m.membersPushTokens[string(e.DevicePK)]; ok { - return nil - } - - m.membersPushTokens[string(e.DevicePK)] = e - - return nil -} - -func (m *metadataStoreIndex) handlePushDeviceTokenRegistered(event proto.Message) error { - e, ok := event.(*protocoltypes.PushDeviceTokenRegistered) - if !ok { - return errcode.ErrInvalidInput - } - - devicePK, err := m.ownMemberDevice.Device().Raw() - if err != nil { - return errcode.ErrSerialization.Wrap(err) - } - - if !bytes.Equal(devicePK, e.DevicePK) { - return nil - } - - if m.devicePushToken != nil { - return nil - } - - m.devicePushToken = e - - return nil -} - func (m *metadataStoreIndex) handleGroupMetadataPayloadSent(_ proto.Message) error { return nil } -func (m *metadataStoreIndex) handlePushServerTokenRegistered(event proto.Message) error { - e, ok := event.(*protocoltypes.PushDeviceServerRegistered) - if !ok { - return errcode.ErrInvalidInput - } - - devicePK, err := m.ownMemberDevice.Device().Raw() - if err != nil { - return errcode.ErrSerialization.Wrap(err) - } - - if !bytes.Equal(devicePK, e.DevicePK) { - return nil - } - - if m.devicePushServer != nil { - return nil - } - - m.devicePushServer = e - - return nil -} - func (m *metadataStoreIndex) handleAccountVerifiedCredentialRegistered(event proto.Message) error { e, ok := event.(*protocoltypes.AccountVerifiedCredentialRegistered) if !ok { @@ -851,20 +781,6 @@ func (m *metadataStoreIndex) getContact(pk crypto.PubKey) (*AccountContact, erro return contact, nil } -func (m *metadataStoreIndex) getCurrentDevicePushToken() *protocoltypes.PushDeviceTokenRegistered { - m.lock.RLock() - defer m.lock.RUnlock() - - return m.devicePushToken -} - -func (m *metadataStoreIndex) getCurrentDevicePushServer() *protocoltypes.PushDeviceServerRegistered { - m.lock.RLock() - defer m.lock.RUnlock() - - return m.devicePushServer -} - func (m *metadataStoreIndex) postHandlerSentAliases() error { for _, evt := range m.eventsContactAddAliasKey { memberPublicKey, err := m.unsafeGetMemberByDevice(evt.DevicePK) @@ -904,7 +820,6 @@ func newMetadataIndex(ctx context.Context, g *protocoltypes.Group, md secretstor groups: map[string]*accountGroup{}, serviceTokens: map[string]*protocoltypes.ServiceToken{}, contactRequestMetadata: map[string][]byte{}, - membersPushTokens: map[string]*protocoltypes.PushMemberTokenUpdate{}, group: g, ownMemberDevice: md, secretStore: secretStore, @@ -932,9 +847,6 @@ func newMetadataIndex(ctx context.Context, g *protocoltypes.Group, md secretstor protocoltypes.EventTypeMultiMemberGroupInitialMemberAnnounced: {m.handleMultiMemberInitialMember}, protocoltypes.EventTypeAccountServiceTokenAdded: {m.handleAccountServiceTokenAdded}, protocoltypes.EventTypeAccountServiceTokenRemoved: {m.handleAccountServiceTokenRemoved}, - protocoltypes.EventTypePushMemberTokenUpdate: {m.handlePushMemberTokenUpdate}, - protocoltypes.EventTypePushDeviceTokenRegistered: {m.handlePushDeviceTokenRegistered}, - protocoltypes.EventTypePushDeviceServerRegistered: {m.handlePushServerTokenRegistered}, protocoltypes.EventTypeGroupMetadataPayloadSent: {m.handleGroupMetadataPayloadSent}, protocoltypes.EventTypeAccountVerifiedCredentialRegistered: {m.handleAccountVerifiedCredentialRegistered}, } diff --git a/testing.go b/testing.go index 27e6c97a..5e2d8e1d 100644 --- a/testing.go +++ b/testing.go @@ -102,7 +102,6 @@ type TestingOpts struct { CoreAPIMock ipfsutil.CoreAPIMock OrbitDB *WeshOrbitDB ConnectFunc ConnectTestingProtocolFunc - PushSK *[32]byte } func NewTestingProtocol(ctx context.Context, t testing.TB, opts *TestingOpts, ds datastore.Batching) (*TestingProtocol, func()) { @@ -130,9 +129,7 @@ func NewTestingProtocol(ctx context.Context, t testing.TB, opts *TestingOpts, ds secretStore := opts.SecretStore if secretStore == nil { var err error - secretStore, err = secretstore.NewInMemSecretStore(&secretstore.NewSecretStoreOptions{ - OutOfStorePrivateKey: opts.PushSK, - }) + secretStore, err = secretstore.NewInMemSecretStore(&secretstore.NewSecretStoreOptions{}) require.NoError(t, err) } @@ -154,15 +151,14 @@ func NewTestingProtocol(ctx context.Context, t testing.TB, opts *TestingOpts, ds } serviceOpts := Opts{ - Host: node.MockNode().PeerHost, - PubSub: node.PubSub(), - Logger: opts.Logger, - RootDatastore: ds, - IpfsCoreAPI: node.API(), - OrbitDB: odb, - TinderService: node.Tinder(), - OutOfStorePrivateKey: opts.PushSK, - SecretStore: secretStore, + Host: node.MockNode().PeerHost, + PubSub: node.PubSub(), + Logger: opts.Logger, + RootDatastore: ds, + IpfsCoreAPI: node.API(), + OrbitDB: odb, + TinderService: node.Tinder(), + SecretStore: secretStore, } service, cleanupService := TestingService(ctx, t, serviceOpts) @@ -481,7 +477,6 @@ func dropPeers(t *testing.T, mockedPeers []*mockedPeer) { type ServiceMethods interface { GetContextGroupForID(id []byte) (*GroupContext, error) - GetCurrentDevicePushConfig() (*protocoltypes.PushServiceReceiver, *protocoltypes.PushServer) } func GetRootDatastoreForPath(dir string, key []byte, salt []byte, logger *zap.Logger) (datastore.Batching, error) {