/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: pmsg.proto */

#ifndef PROTOBUF_C_pmsg_2eproto__INCLUDED
#define PROTOBUF_C_pmsg_2eproto__INCLUDED

#include "protobuf-c/protobuf-c.h"

PROTOBUF_C__BEGIN_DECLS

#if PROTOBUF_C_VERSION_NUMBER < 1000000
# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
#elif 1003003 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
#endif

struct Wa__ADVDeviceIdentity;
struct Wa__ADVKeyIndexList;
struct Wa__ADVSignedDeviceIdentity;
struct Wa__ADVSignedDeviceIdentityHMAC;
struct Wa__ADVSignedKeyIndexList;
struct Wa__ActionLink;
struct Wa__AutoDownloadSettings;
struct Wa__BizAccountLinkInfo;
struct Wa__BizAccountPayload;
struct Wa__BizIdentityInfo;
struct Wa__CertChain;
struct Wa__CertChain__NoiseCertificate;
struct Wa__CertChain__NoiseCertificate__Details;
struct Wa__Chain;
struct Wa__ChainKey;
struct Wa__ClientPayload;
struct Wa__ClientPayload__DNSSource;
struct Wa__ClientPayload__DevicePairingRegistrationData;
struct Wa__ClientPayload__UserAgent;
struct Wa__ClientPayload__UserAgent__AppVersion;
struct Wa__ClientPayload__WebInfo;
struct Wa__ClientPayload__WebInfo__WebdPayload;
struct Wa__ContextInfo;
struct Wa__ContextInfo__AdReplyInfo;
struct Wa__ContextInfo__ExternalAdReplyInfo;
struct Wa__Conversation;
struct Wa__DeviceListMetadata;
struct Wa__DeviceProps;
struct Wa__DeviceProps__AppVersion;
struct Wa__DisappearingMode;
struct Wa__EphemeralSetting;
struct Wa__ExitCode;
struct Wa__ExternalBlobReference;
struct Wa__GlobalSettings;
struct Wa__GroupParticipant;
struct Wa__HandshakeMessage;
struct Wa__HandshakeMessage__ClientFinish;
struct Wa__HandshakeMessage__ClientHello;
struct Wa__HandshakeMessage__ServerHello;
struct Wa__HistorySync;
struct Wa__HistorySyncMsg;
struct Wa__HydratedTemplateButton;
struct Wa__HydratedTemplateButton__HydratedCallButton;
struct Wa__HydratedTemplateButton__HydratedQuickReplyButton;
struct Wa__HydratedTemplateButton__HydratedURLButton;
struct Wa__IdentityKeyPairStructure;
struct Wa__InteractiveAnnotation;
struct Wa__KeepInChat;
struct Wa__KeyId;
struct Wa__LocalizedName;
struct Wa__Location;
struct Wa__MediaData;
struct Wa__MediaRetryNotification;
struct Wa__Message;
struct Wa__Message__AppStateFatalExceptionNotification;
struct Wa__Message__AppStateSyncKeyData;
struct Wa__Message__AppStateSyncKeyFingerprint;
struct Wa__Message__AppStateSyncKeyId;
struct Wa__Message__AppStateSyncKeyRequest;
struct Wa__Message__AppStateSyncKeyShare;
struct Wa__Message__AppStateSyncKey;
struct Wa__Message__AudioMessage;
struct Wa__Message__ButtonsMessage;
struct Wa__Message__ButtonsMessage__Button;
struct Wa__Message__ButtonsMessage__Button__ButtonText;
struct Wa__Message__ButtonsMessage__Button__NativeFlowInfo;
struct Wa__Message__ButtonsResponseMessage;
struct Wa__Message__Call;
struct Wa__Message__CancelPaymentRequestMessage;
struct Wa__Message__Chat;
struct Wa__Message__ContactMessage;
struct Wa__Message__ContactsArrayMessage;
struct Wa__Message__DeclinePaymentRequestMessage;
struct Wa__Message__DeviceSentMessage;
struct Wa__Message__DocumentMessage;
struct Wa__Message__ExtendedTextMessage;
struct Wa__Message__FutureProofMessage;
struct Wa__Message__GroupInviteMessage;
struct Wa__Message__HighlyStructuredMessage;
struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter;
struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency;
struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime;
struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent;
struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch;
struct Wa__Message__HistorySyncNotification;
struct Wa__Message__ImageMessage;
struct Wa__Message__InitialSecurityNotificationSettingSync;
struct Wa__Message__InteractiveMessage;
struct Wa__Message__InteractiveMessage__Body;
struct Wa__Message__InteractiveMessage__CollectionMessage;
struct Wa__Message__InteractiveMessage__Footer;
struct Wa__Message__InteractiveMessage__Header;
struct Wa__Message__InteractiveMessage__NativeFlowMessage;
struct Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton;
struct Wa__Message__InteractiveMessage__ShopMessage;
struct Wa__Message__InteractiveResponseMessage;
struct Wa__Message__InteractiveResponseMessage__Body;
struct Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage;
struct Wa__Message__InvoiceMessage;
struct Wa__Message__KeepInChatMessage;
struct Wa__Message__ListMessage;
struct Wa__Message__ListMessage__ProductListHeaderImage;
struct Wa__Message__ListMessage__ProductListInfo;
struct Wa__Message__ListMessage__ProductSection;
struct Wa__Message__ListMessage__Product;
struct Wa__Message__ListMessage__Row;
struct Wa__Message__ListMessage__Section;
struct Wa__Message__ListResponseMessage;
struct Wa__Message__ListResponseMessage__SingleSelectReply;
struct Wa__Message__LiveLocationMessage;
struct Wa__Message__LocationMessage;
struct Wa__Message__OrderMessage;
struct Wa__Message__PaymentInviteMessage;
struct Wa__Message__PollCreationMessage;
struct Wa__Message__PollCreationMessage__Option;
struct Wa__Message__PollEncValue;
struct Wa__Message__PollUpdateMessageMetadata;
struct Wa__Message__PollUpdateMessage;
struct Wa__Message__PollVoteMessage;
struct Wa__Message__ProductMessage;
struct Wa__Message__ProductMessage__CatalogSnapshot;
struct Wa__Message__ProductMessage__ProductSnapshot;
struct Wa__Message__ProtocolMessage;
struct Wa__Message__ReactionMessage;
struct Wa__Message__RequestMediaUploadMessage;
struct Wa__Message__RequestMediaUploadResponseMessage;
struct Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult;
struct Wa__Message__RequestPaymentMessage;
struct Wa__Message__RequestPhoneNumberMessage;
struct Wa__Message__SendPaymentMessage;
struct Wa__Message__SenderKeyDistributionMessage;
struct Wa__Message__StickerMessage;
struct Wa__Message__StickerSyncRMRMessage;
struct Wa__Message__TemplateButtonReplyMessage;
struct Wa__Message__TemplateMessage;
struct Wa__Message__TemplateMessage__FourRowTemplate;
struct Wa__Message__TemplateMessage__HydratedFourRowTemplate;
struct Wa__Message__VideoMessage;
struct Wa__MessageContextInfo;
struct Wa__MessageKey;
struct Wa__Money;
struct Wa__MsgOpaqueData;
struct Wa__MsgOpaqueData__PollOption;
struct Wa__MsgRowOpaqueData;
struct Wa__NoiseCertificate;
struct Wa__NoiseCertificate__Details;
struct Wa__NotificationMessageInfo;
struct Wa__PastParticipant;
struct Wa__PastParticipants;
struct Wa__PaymentBackground;
struct Wa__PaymentBackground__MediaData;
struct Wa__PaymentInfo;
struct Wa__PendingKeyExchange;
struct Wa__PendingPreKey;
struct Wa__PhotoChange;
struct Wa__Point;
struct Wa__PollAdditionalMetadata;
struct Wa__PollEncValue;
struct Wa__PollUpdate;
struct Wa__PreKeyRecordStructure;
struct Wa__Pushname;
struct Wa__Reaction;
struct Wa__RecentEmojiWeight;
struct Wa__RecordStructure;
struct Wa__SenderChainKey;
struct Wa__SenderKeyRecordStructure;
struct Wa__SenderKeyStateStructure;
struct Wa__SenderMessageKey;
struct Wa__SenderSigningKey;
struct Wa__ServerErrorReceipt;
struct Wa__SessionStructure;
struct Wa__SignedPreKeyRecordStructure;
struct Wa__StatusPSA;
struct Wa__StickerMetadata;
struct Wa__SyncActionData;
struct Wa__SyncActionValue;
struct Wa__SyncActionValue__AgentAction;
struct Wa__SyncActionValue__AndroidUnsupportedActions;
struct Wa__SyncActionValue__ArchiveChatAction;
struct Wa__SyncActionValue__ClearChatAction;
struct Wa__SyncActionValue__ContactAction;
struct Wa__SyncActionValue__DeleteChatAction;
struct Wa__SyncActionValue__DeleteMessageForMeAction;
struct Wa__SyncActionValue__KeyExpiration;
struct Wa__SyncActionValue__LabelAssociationAction;
struct Wa__SyncActionValue__LabelEditAction;
struct Wa__SyncActionValue__LocaleSetting;
struct Wa__SyncActionValue__MarkChatAsReadAction;
struct Wa__SyncActionValue__MuteAction;
struct Wa__SyncActionValue__NuxAction;
struct Wa__SyncActionValue__PinAction;
struct Wa__SyncActionValue__PrimaryFeature;
struct Wa__SyncActionValue__PrimaryVersionAction;
struct Wa__SyncActionValue__PushNameSetting;
struct Wa__SyncActionValue__QuickReplyAction;
struct Wa__SyncActionValue__RecentEmojiWeightsAction;
struct Wa__SyncActionValue__SecurityNotificationSetting;
struct Wa__SyncActionValue__StarAction;
struct Wa__SyncActionValue__StickerAction;
struct Wa__SyncActionValue__SubscriptionAction;
struct Wa__SyncActionValue__SyncActionMessageRange;
struct Wa__SyncActionValue__SyncActionMessage;
struct Wa__SyncActionValue__TimeFormatAction;
struct Wa__SyncActionValue__UnarchiveChatsSetting;
struct Wa__SyncActionValue__UserStatusMuteAction;
struct Wa__SyncdIndex;
struct Wa__SyncdMutation;
struct Wa__SyncdMutations;
struct Wa__SyncdPatch;
struct Wa__SyncdRecord;
struct Wa__SyncdSnapshot;
struct Wa__SyncdValue;
struct Wa__SyncdVersion;
struct Wa__TemplateButton;
struct Wa__TemplateButton__CallButton;
struct Wa__TemplateButton__QuickReplyButton;
struct Wa__TemplateButton__URLButton;
struct Wa__UserReceipt;
struct Wa__VerifiedNameCertificate;
struct Wa__VerifiedNameCertificate__Details;
struct Wa__WallpaperSettings;
struct Wa__WebFeatures;
struct Wa__WebMessageInfo;
struct Wa__WebNotificationsInfo;

/* --- enums --- */

typedef enum _Wa__BizAccountLinkInfo__AccountType
{
	WA__BIZ_ACCOUNT_LINK_INFO__ACCOUNT_TYPE__ENTERPRISE = 0
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__BIZ_ACCOUNT_LINK_INFO__ACCOUNT_TYPE)
} Wa__BizAccountLinkInfo__AccountType;
typedef enum _Wa__BizAccountLinkInfo__HostStorageType
{
	WA__BIZ_ACCOUNT_LINK_INFO__HOST_STORAGE_TYPE__ON_PREMISE = 0,
	WA__BIZ_ACCOUNT_LINK_INFO__HOST_STORAGE_TYPE__FACEBOOK = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__BIZ_ACCOUNT_LINK_INFO__HOST_STORAGE_TYPE)
} Wa__BizAccountLinkInfo__HostStorageType;
typedef enum _Wa__BizIdentityInfo__ActualActorsType
{
	WA__BIZ_IDENTITY_INFO__ACTUAL_ACTORS_TYPE__SELF = 0,
	WA__BIZ_IDENTITY_INFO__ACTUAL_ACTORS_TYPE__BSP = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__BIZ_IDENTITY_INFO__ACTUAL_ACTORS_TYPE)
} Wa__BizIdentityInfo__ActualActorsType;
typedef enum _Wa__BizIdentityInfo__HostStorageType
{
	WA__BIZ_IDENTITY_INFO__HOST_STORAGE_TYPE__ON_PREMISE = 0,
	WA__BIZ_IDENTITY_INFO__HOST_STORAGE_TYPE__FACEBOOK = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__BIZ_IDENTITY_INFO__HOST_STORAGE_TYPE)
} Wa__BizIdentityInfo__HostStorageType;
typedef enum _Wa__BizIdentityInfo__VerifiedLevelValue
{
	WA__BIZ_IDENTITY_INFO__VERIFIED_LEVEL_VALUE__UNKNOWN = 0,
	WA__BIZ_IDENTITY_INFO__VERIFIED_LEVEL_VALUE__LOW = 1,
	WA__BIZ_IDENTITY_INFO__VERIFIED_LEVEL_VALUE__HIGH = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__BIZ_IDENTITY_INFO__VERIFIED_LEVEL_VALUE)
} Wa__BizIdentityInfo__VerifiedLevelValue;
typedef enum _Wa__ClientPayload__DNSSource__DNSResolutionMethod
{
	WA__CLIENT_PAYLOAD__DNSSOURCE__DNSRESOLUTION_METHOD__SYSTEM = 0,
	WA__CLIENT_PAYLOAD__DNSSOURCE__DNSRESOLUTION_METHOD__GOOGLE = 1,
	WA__CLIENT_PAYLOAD__DNSSOURCE__DNSRESOLUTION_METHOD__HARDCODED = 2,
	WA__CLIENT_PAYLOAD__DNSSOURCE__DNSRESOLUTION_METHOD__OVERRIDE = 3,
	WA__CLIENT_PAYLOAD__DNSSOURCE__DNSRESOLUTION_METHOD__FALLBACK = 4
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__DNSSOURCE__DNSRESOLUTION_METHOD)
} Wa__ClientPayload__DNSSource__DNSResolutionMethod;
typedef enum _Wa__ClientPayload__UserAgent__Platform
{
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__ANDROID = 0,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__IOS = 1,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__WINDOWS_PHONE = 2,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__BLACKBERRY = 3,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__BLACKBERRYX = 4,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__S40 = 5,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__S60 = 6,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__PYTHON_CLIENT = 7,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__TIZEN = 8,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__ENTERPRISE = 9,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__SMB_ANDROID = 10,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__KAIOS = 11,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__SMB_IOS = 12,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__WINDOWS = 13,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__WEB = 14,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__PORTAL = 15,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__GREEN_ANDROID = 16,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__GREEN_IPHONE = 17,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__BLUE_ANDROID = 18,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__BLUE_IPHONE = 19,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__FBLITE_ANDROID = 20,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__MLITE_ANDROID = 21,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__IGLITE_ANDROID = 22,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__PAGE = 23,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__MACOS = 24,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__OCULUS_MSG = 25,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__OCULUS_CALL = 26,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__MILAN = 27,
	WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM__CAPI = 28
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__USER_AGENT__PLATFORM)
} Wa__ClientPayload__UserAgent__Platform;
typedef enum _Wa__ClientPayload__UserAgent__ReleaseChannel
{
	WA__CLIENT_PAYLOAD__USER_AGENT__RELEASE_CHANNEL__RELEASE = 0,
	WA__CLIENT_PAYLOAD__USER_AGENT__RELEASE_CHANNEL__BETA = 1,
	WA__CLIENT_PAYLOAD__USER_AGENT__RELEASE_CHANNEL__ALPHA = 2,
	WA__CLIENT_PAYLOAD__USER_AGENT__RELEASE_CHANNEL__DEBUG = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__USER_AGENT__RELEASE_CHANNEL)
} Wa__ClientPayload__UserAgent__ReleaseChannel;
typedef enum _Wa__ClientPayload__WebInfo__WebSubPlatform
{
	WA__CLIENT_PAYLOAD__WEB_INFO__WEB_SUB_PLATFORM__WEB_BROWSER = 0,
	WA__CLIENT_PAYLOAD__WEB_INFO__WEB_SUB_PLATFORM__APP_STORE = 1,
	WA__CLIENT_PAYLOAD__WEB_INFO__WEB_SUB_PLATFORM__WIN_STORE = 2,
	WA__CLIENT_PAYLOAD__WEB_INFO__WEB_SUB_PLATFORM__DARWIN = 3,
	WA__CLIENT_PAYLOAD__WEB_INFO__WEB_SUB_PLATFORM__WINDA = 4
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__WEB_INFO__WEB_SUB_PLATFORM)
} Wa__ClientPayload__WebInfo__WebSubPlatform;
typedef enum _Wa__ClientPayload__ConnectReason
{
	WA__CLIENT_PAYLOAD__CONNECT_REASON__PUSH = 0,
	WA__CLIENT_PAYLOAD__CONNECT_REASON__USER_ACTIVATED = 1,
	WA__CLIENT_PAYLOAD__CONNECT_REASON__SCHEDULED = 2,
	WA__CLIENT_PAYLOAD__CONNECT_REASON__ERROR_RECONNECT = 3,
	WA__CLIENT_PAYLOAD__CONNECT_REASON__NETWORK_SWITCH = 4,
	WA__CLIENT_PAYLOAD__CONNECT_REASON__PING_RECONNECT = 5
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__CONNECT_REASON)
} Wa__ClientPayload__ConnectReason;
typedef enum _Wa__ClientPayload__ConnectType
{
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_UNKNOWN = 0,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__WIFI_UNKNOWN = 1,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_EDGE = 100,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_IDEN = 101,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_UMTS = 102,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_EVDO = 103,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_GPRS = 104,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_HSDPA = 105,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_HSUPA = 106,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_HSPA = 107,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_CDMA = 108,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_1XRTT = 109,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_EHRPD = 110,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_LTE = 111,
	WA__CLIENT_PAYLOAD__CONNECT_TYPE__CELLULAR_HSPAP = 112
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__CONNECT_TYPE)
} Wa__ClientPayload__ConnectType;
typedef enum _Wa__ClientPayload__IOSAppExtension
{
	WA__CLIENT_PAYLOAD__IOSAPP_EXTENSION__SHARE_EXTENSION = 0,
	WA__CLIENT_PAYLOAD__IOSAPP_EXTENSION__SERVICE_EXTENSION = 1,
	WA__CLIENT_PAYLOAD__IOSAPP_EXTENSION__INTENTS_EXTENSION = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__IOSAPP_EXTENSION)
} Wa__ClientPayload__IOSAppExtension;
typedef enum _Wa__ClientPayload__Product
{
	WA__CLIENT_PAYLOAD__PRODUCT__WHATSAPP = 0,
	WA__CLIENT_PAYLOAD__PRODUCT__MESSENGER = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CLIENT_PAYLOAD__PRODUCT)
} Wa__ClientPayload__Product;
typedef enum _Wa__ContextInfo__AdReplyInfo__MediaType
{
	WA__CONTEXT_INFO__AD_REPLY_INFO__MEDIA_TYPE__NONE = 0,
	WA__CONTEXT_INFO__AD_REPLY_INFO__MEDIA_TYPE__IMAGE = 1,
	WA__CONTEXT_INFO__AD_REPLY_INFO__MEDIA_TYPE__VIDEO = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CONTEXT_INFO__AD_REPLY_INFO__MEDIA_TYPE)
} Wa__ContextInfo__AdReplyInfo__MediaType;
typedef enum _Wa__ContextInfo__ExternalAdReplyInfo__MediaType
{
	WA__CONTEXT_INFO__EXTERNAL_AD_REPLY_INFO__MEDIA_TYPE__NONE = 0,
	WA__CONTEXT_INFO__EXTERNAL_AD_REPLY_INFO__MEDIA_TYPE__IMAGE = 1,
	WA__CONTEXT_INFO__EXTERNAL_AD_REPLY_INFO__MEDIA_TYPE__VIDEO = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CONTEXT_INFO__EXTERNAL_AD_REPLY_INFO__MEDIA_TYPE)
} Wa__ContextInfo__ExternalAdReplyInfo__MediaType;
typedef enum _Wa__Conversation__EndOfHistoryTransferType
{
	WA__CONVERSATION__END_OF_HISTORY_TRANSFER_TYPE__COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0,
	WA__CONVERSATION__END_OF_HISTORY_TRANSFER_TYPE__COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__CONVERSATION__END_OF_HISTORY_TRANSFER_TYPE)
} Wa__Conversation__EndOfHistoryTransferType;
typedef enum _Wa__DeviceProps__PlatformType
{
	WA__DEVICE_PROPS__PLATFORM_TYPE__UNKNOWN = 0,
	WA__DEVICE_PROPS__PLATFORM_TYPE__CHROME = 1,
	WA__DEVICE_PROPS__PLATFORM_TYPE__FIREFOX = 2,
	WA__DEVICE_PROPS__PLATFORM_TYPE__IE = 3,
	WA__DEVICE_PROPS__PLATFORM_TYPE__OPERA = 4,
	WA__DEVICE_PROPS__PLATFORM_TYPE__SAFARI = 5,
	WA__DEVICE_PROPS__PLATFORM_TYPE__EDGE = 6,
	WA__DEVICE_PROPS__PLATFORM_TYPE__DESKTOP = 7,
	WA__DEVICE_PROPS__PLATFORM_TYPE__IPAD = 8,
	WA__DEVICE_PROPS__PLATFORM_TYPE__ANDROID_TABLET = 9,
	WA__DEVICE_PROPS__PLATFORM_TYPE__OHANA = 10,
	WA__DEVICE_PROPS__PLATFORM_TYPE__ALOHA = 11,
	WA__DEVICE_PROPS__PLATFORM_TYPE__CATALINA = 12,
	WA__DEVICE_PROPS__PLATFORM_TYPE__TCL_TV = 13
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__DEVICE_PROPS__PLATFORM_TYPE)
} Wa__DeviceProps__PlatformType;
typedef enum _Wa__DisappearingMode__Initiator
{
	WA__DISAPPEARING_MODE__INITIATOR__CHANGED_IN_CHAT = 0,
	WA__DISAPPEARING_MODE__INITIATOR__INITIATED_BY_ME = 1,
	WA__DISAPPEARING_MODE__INITIATOR__INITIATED_BY_OTHER = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__DISAPPEARING_MODE__INITIATOR)
} Wa__DisappearingMode__Initiator;
typedef enum _Wa__GroupParticipant__Rank
{
	WA__GROUP_PARTICIPANT__RANK__REGULAR = 0,
	WA__GROUP_PARTICIPANT__RANK__ADMIN = 1,
	WA__GROUP_PARTICIPANT__RANK__SUPERADMIN = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__GROUP_PARTICIPANT__RANK)
} Wa__GroupParticipant__Rank;
typedef enum _Wa__HistorySync__HistorySyncType
{
	WA__HISTORY_SYNC__HISTORY_SYNC_TYPE__INITIAL_BOOTSTRAP = 0,
	WA__HISTORY_SYNC__HISTORY_SYNC_TYPE__INITIAL_STATUS_V3 = 1,
	WA__HISTORY_SYNC__HISTORY_SYNC_TYPE__FULL = 2,
	WA__HISTORY_SYNC__HISTORY_SYNC_TYPE__RECENT = 3,
	WA__HISTORY_SYNC__HISTORY_SYNC_TYPE__PUSH_NAME = 4,
	WA__HISTORY_SYNC__HISTORY_SYNC_TYPE__UNBLOCKING_DATA = 5
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__HISTORY_SYNC__HISTORY_SYNC_TYPE)
} Wa__HistorySync__HistorySyncType;
typedef enum _Wa__MediaRetryNotification__ResultType
{
	WA__MEDIA_RETRY_NOTIFICATION__RESULT_TYPE__GENERAL_ERROR = 0,
	WA__MEDIA_RETRY_NOTIFICATION__RESULT_TYPE__SUCCESS = 1,
	WA__MEDIA_RETRY_NOTIFICATION__RESULT_TYPE__NOT_FOUND = 2,
	WA__MEDIA_RETRY_NOTIFICATION__RESULT_TYPE__DECRYPTION_ERROR = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MEDIA_RETRY_NOTIFICATION__RESULT_TYPE)
} Wa__MediaRetryNotification__ResultType;
typedef enum _Wa__Message__ButtonsMessage__Button__Type
{
	WA__MESSAGE__BUTTONS_MESSAGE__BUTTON__TYPE__UNKNOWN = 0,
	WA__MESSAGE__BUTTONS_MESSAGE__BUTTON__TYPE__RESPONSE = 1,
	WA__MESSAGE__BUTTONS_MESSAGE__BUTTON__TYPE__NATIVE_FLOW = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__BUTTONS_MESSAGE__BUTTON__TYPE)
} Wa__Message__ButtonsMessage__Button__Type;
typedef enum _Wa__Message__ButtonsMessage__HeaderType
{
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE__UNKNOWN = 0,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE__EMPTY = 1,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE__TEXT = 2,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE__DOCUMENT = 3,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE__IMAGE = 4,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE__VIDEO = 5,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE__LOCATION = 6
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TYPE)
} Wa__Message__ButtonsMessage__HeaderType;
typedef enum _Wa__Message__ButtonsResponseMessage__Type
{
	WA__MESSAGE__BUTTONS_RESPONSE_MESSAGE__TYPE__UNKNOWN = 0,
	WA__MESSAGE__BUTTONS_RESPONSE_MESSAGE__TYPE__DISPLAY_TEXT = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__BUTTONS_RESPONSE_MESSAGE__TYPE)
} Wa__Message__ButtonsResponseMessage__Type;
typedef enum _Wa__Message__ExtendedTextMessage__FontType
{
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__FONT_TYPE__SANS_SERIF = 0,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__FONT_TYPE__SERIF = 1,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__FONT_TYPE__NORICAN_REGULAR = 2,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__FONT_TYPE__BRYNDAN_WRITE = 3,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__FONT_TYPE__BEBASNEUE_REGULAR = 4,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__FONT_TYPE__OSWALD_HEAVY = 5
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__EXTENDED_TEXT_MESSAGE__FONT_TYPE)
} Wa__Message__ExtendedTextMessage__FontType;
typedef enum _Wa__Message__ExtendedTextMessage__InviteLinkGroupType
{
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__INVITE_LINK_GROUP_TYPE__DEFAULT = 0,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__INVITE_LINK_GROUP_TYPE__PARENT = 1,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__INVITE_LINK_GROUP_TYPE__SUB = 2,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__INVITE_LINK_GROUP_TYPE__DEFAULT_SUB = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__EXTENDED_TEXT_MESSAGE__INVITE_LINK_GROUP_TYPE)
} Wa__Message__ExtendedTextMessage__InviteLinkGroupType;
typedef enum _Wa__Message__ExtendedTextMessage__PreviewType
{
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__PREVIEW_TYPE__NONE = 0,
	WA__MESSAGE__EXTENDED_TEXT_MESSAGE__PREVIEW_TYPE__VIDEO = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__EXTENDED_TEXT_MESSAGE__PREVIEW_TYPE)
} Wa__Message__ExtendedTextMessage__PreviewType;
typedef enum _Wa__Message__GroupInviteMessage__GroupType
{
	WA__MESSAGE__GROUP_INVITE_MESSAGE__GROUP_TYPE__DEFAULT = 0,
	WA__MESSAGE__GROUP_INVITE_MESSAGE__GROUP_TYPE__PARENT = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__GROUP_INVITE_MESSAGE__GROUP_TYPE)
} Wa__Message__GroupInviteMessage__GroupType;
typedef enum _Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent__CalendarType
{
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__CALENDAR_TYPE__GREGORIAN = 1,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__CALENDAR_TYPE__SOLAR_HIJRI = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__CALENDAR_TYPE)
} Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent__CalendarType;
typedef enum _Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent__DayOfWeekType
{
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE__MONDAY = 1,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE__TUESDAY = 2,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE__WEDNESDAY = 3,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE__THURSDAY = 4,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE__FRIDAY = 5,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE__SATURDAY = 6,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE__SUNDAY = 7
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__HSMDATE_TIME_COMPONENT__DAY_OF_WEEK_TYPE)
} Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent__DayOfWeekType;
typedef enum _Wa__Message__HistorySyncNotification__HistorySyncType
{
	WA__MESSAGE__HISTORY_SYNC_NOTIFICATION__HISTORY_SYNC_TYPE__INITIAL_BOOTSTRAP = 0,
	WA__MESSAGE__HISTORY_SYNC_NOTIFICATION__HISTORY_SYNC_TYPE__INITIAL_STATUS_V3 = 1,
	WA__MESSAGE__HISTORY_SYNC_NOTIFICATION__HISTORY_SYNC_TYPE__FULL = 2,
	WA__MESSAGE__HISTORY_SYNC_NOTIFICATION__HISTORY_SYNC_TYPE__RECENT = 3,
	WA__MESSAGE__HISTORY_SYNC_NOTIFICATION__HISTORY_SYNC_TYPE__PUSH_NAME = 4
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__HISTORY_SYNC_NOTIFICATION__HISTORY_SYNC_TYPE)
} Wa__Message__HistorySyncNotification__HistorySyncType;
typedef enum _Wa__Message__InteractiveMessage__ShopMessage__Surface
{
	WA__MESSAGE__INTERACTIVE_MESSAGE__SHOP_MESSAGE__SURFACE__UNKNOWN_SURFACE = 0,
	WA__MESSAGE__INTERACTIVE_MESSAGE__SHOP_MESSAGE__SURFACE__FB = 1,
	WA__MESSAGE__INTERACTIVE_MESSAGE__SHOP_MESSAGE__SURFACE__IG = 2,
	WA__MESSAGE__INTERACTIVE_MESSAGE__SHOP_MESSAGE__SURFACE__WA = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__INTERACTIVE_MESSAGE__SHOP_MESSAGE__SURFACE)
} Wa__Message__InteractiveMessage__ShopMessage__Surface;
typedef enum _Wa__Message__InvoiceMessage__AttachmentType
{
	WA__MESSAGE__INVOICE_MESSAGE__ATTACHMENT_TYPE__IMAGE = 0,
	WA__MESSAGE__INVOICE_MESSAGE__ATTACHMENT_TYPE__PDF = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__INVOICE_MESSAGE__ATTACHMENT_TYPE)
} Wa__Message__InvoiceMessage__AttachmentType;
typedef enum _Wa__Message__ListMessage__ListType
{
	WA__MESSAGE__LIST_MESSAGE__LIST_TYPE__UNKNOWN = 0,
	WA__MESSAGE__LIST_MESSAGE__LIST_TYPE__SINGLE_SELECT = 1,
	WA__MESSAGE__LIST_MESSAGE__LIST_TYPE__PRODUCT_LIST = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__LIST_MESSAGE__LIST_TYPE)
} Wa__Message__ListMessage__ListType;
typedef enum _Wa__Message__ListResponseMessage__ListType
{
	WA__MESSAGE__LIST_RESPONSE_MESSAGE__LIST_TYPE__UNKNOWN = 0,
	WA__MESSAGE__LIST_RESPONSE_MESSAGE__LIST_TYPE__SINGLE_SELECT = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__LIST_RESPONSE_MESSAGE__LIST_TYPE)
} Wa__Message__ListResponseMessage__ListType;
typedef enum _Wa__Message__OrderMessage__OrderStatus
{
	WA__MESSAGE__ORDER_MESSAGE__ORDER_STATUS__INQUIRY = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__ORDER_MESSAGE__ORDER_STATUS)
} Wa__Message__OrderMessage__OrderStatus;
typedef enum _Wa__Message__OrderMessage__OrderSurface
{
	WA__MESSAGE__ORDER_MESSAGE__ORDER_SURFACE__CATALOG = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__ORDER_MESSAGE__ORDER_SURFACE)
} Wa__Message__OrderMessage__OrderSurface;
typedef enum _Wa__Message__PaymentInviteMessage__ServiceType
{
	WA__MESSAGE__PAYMENT_INVITE_MESSAGE__SERVICE_TYPE__UNKNOWN = 0,
	WA__MESSAGE__PAYMENT_INVITE_MESSAGE__SERVICE_TYPE__FBPAY = 1,
	WA__MESSAGE__PAYMENT_INVITE_MESSAGE__SERVICE_TYPE__NOVI = 2,
	WA__MESSAGE__PAYMENT_INVITE_MESSAGE__SERVICE_TYPE__UPI = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__PAYMENT_INVITE_MESSAGE__SERVICE_TYPE)
} Wa__Message__PaymentInviteMessage__ServiceType;
typedef enum _Wa__Message__ProtocolMessage__Type
{
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__REVOKE = 0,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__EPHEMERAL_SETTING = 3,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__EPHEMERAL_SYNC_RESPONSE = 4,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__HISTORY_SYNC_NOTIFICATION = 5,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__APP_STATE_SYNC_KEY_SHARE = 6,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__APP_STATE_SYNC_KEY_REQUEST = 7,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__MSG_FANOUT_BACKFILL_REQUEST = 8,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__SHARE_PHONE_NUMBER = 11,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__REQUEST_MEDIA_UPLOAD_MESSAGE = 12,
	WA__MESSAGE__PROTOCOL_MESSAGE__TYPE__REQUEST_MEDIA_UPLOAD_RESPONSE_MESSAGE = 13
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__PROTOCOL_MESSAGE__TYPE)
} Wa__Message__ProtocolMessage__Type;
typedef enum _Wa__Message__VideoMessage__Attribution
{
	WA__MESSAGE__VIDEO_MESSAGE__ATTRIBUTION__NONE = 0,
	WA__MESSAGE__VIDEO_MESSAGE__ATTRIBUTION__GIPHY = 1,
	WA__MESSAGE__VIDEO_MESSAGE__ATTRIBUTION__TENOR = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__VIDEO_MESSAGE__ATTRIBUTION)
} Wa__Message__VideoMessage__Attribution;
typedef enum _Wa__Message__RmrSource
{
	WA__MESSAGE__RMR_SOURCE__FAVORITE_STICKER = 0,
	WA__MESSAGE__RMR_SOURCE__RECENT_STICKER = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__RMR_SOURCE)
} Wa__Message__RmrSource;
typedef enum _Wa__PastParticipant__LeaveReason
{
	WA__PAST_PARTICIPANT__LEAVE_REASON__LEFT = 0,
	WA__PAST_PARTICIPANT__LEAVE_REASON__REMOVED = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__PAST_PARTICIPANT__LEAVE_REASON)
} Wa__PastParticipant__LeaveReason;
typedef enum _Wa__PaymentBackground__Type
{
	WA__PAYMENT_BACKGROUND__TYPE__UNKNOWN = 0,
	WA__PAYMENT_BACKGROUND__TYPE__DEFAULT = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__PAYMENT_BACKGROUND__TYPE)
} Wa__PaymentBackground__Type;
typedef enum _Wa__PaymentInfo__Currency
{
	WA__PAYMENT_INFO__CURRENCY__UNKNOWN_CURRENCY = 0,
	WA__PAYMENT_INFO__CURRENCY__INR = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__PAYMENT_INFO__CURRENCY)
} Wa__PaymentInfo__Currency;
typedef enum _Wa__PaymentInfo__Status
{
	WA__PAYMENT_INFO__STATUS__UNKNOWN_STATUS = 0,
	WA__PAYMENT_INFO__STATUS__PROCESSING = 1,
	WA__PAYMENT_INFO__STATUS__SENT = 2,
	WA__PAYMENT_INFO__STATUS__NEED_TO_ACCEPT = 3,
	WA__PAYMENT_INFO__STATUS__COMPLETE = 4,
	WA__PAYMENT_INFO__STATUS__COULD_NOT_COMPLETE = 5,
	WA__PAYMENT_INFO__STATUS__REFUNDED = 6,
	WA__PAYMENT_INFO__STATUS__EXPIRED = 7,
	WA__PAYMENT_INFO__STATUS__REJECTED = 8,
	WA__PAYMENT_INFO__STATUS__CANCELLED = 9,
	WA__PAYMENT_INFO__STATUS__WAITING_FOR_PAYER = 10,
	WA__PAYMENT_INFO__STATUS__WAITING = 11
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__PAYMENT_INFO__STATUS)
} Wa__PaymentInfo__Status;
typedef enum _Wa__PaymentInfo__TxnStatus
{
	WA__PAYMENT_INFO__TXN_STATUS__UNKNOWN = 0,
	WA__PAYMENT_INFO__TXN_STATUS__PENDING_SETUP = 1,
	WA__PAYMENT_INFO__TXN_STATUS__PENDING_RECEIVER_SETUP = 2,
	WA__PAYMENT_INFO__TXN_STATUS__INIT = 3,
	WA__PAYMENT_INFO__TXN_STATUS__SUCCESS = 4,
	WA__PAYMENT_INFO__TXN_STATUS__COMPLETED = 5,
	WA__PAYMENT_INFO__TXN_STATUS__FAILED = 6,
	WA__PAYMENT_INFO__TXN_STATUS__FAILED_RISK = 7,
	WA__PAYMENT_INFO__TXN_STATUS__FAILED_PROCESSING = 8,
	WA__PAYMENT_INFO__TXN_STATUS__FAILED_RECEIVER_PROCESSING = 9,
	WA__PAYMENT_INFO__TXN_STATUS__FAILED_DA = 10,
	WA__PAYMENT_INFO__TXN_STATUS__FAILED_DA_FINAL = 11,
	WA__PAYMENT_INFO__TXN_STATUS__REFUNDED_TXN = 12,
	WA__PAYMENT_INFO__TXN_STATUS__REFUND_FAILED = 13,
	WA__PAYMENT_INFO__TXN_STATUS__REFUND_FAILED_PROCESSING = 14,
	WA__PAYMENT_INFO__TXN_STATUS__REFUND_FAILED_DA = 15,
	WA__PAYMENT_INFO__TXN_STATUS__EXPIRED_TXN = 16,
	WA__PAYMENT_INFO__TXN_STATUS__AUTH_CANCELED = 17,
	WA__PAYMENT_INFO__TXN_STATUS__AUTH_CANCEL_FAILED_PROCESSING = 18,
	WA__PAYMENT_INFO__TXN_STATUS__AUTH_CANCEL_FAILED = 19,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_INIT = 20,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_SUCCESS = 21,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_FAILED = 22,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_FAILED_RISK = 23,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_REJECTED = 24,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_EXPIRED = 25,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_CANCELED = 26,
	WA__PAYMENT_INFO__TXN_STATUS__COLLECT_CANCELLING = 27,
	WA__PAYMENT_INFO__TXN_STATUS__IN_REVIEW = 28,
	WA__PAYMENT_INFO__TXN_STATUS__REVERSAL_SUCCESS = 29,
	WA__PAYMENT_INFO__TXN_STATUS__REVERSAL_PENDING = 30,
	WA__PAYMENT_INFO__TXN_STATUS__REFUND_PENDING = 31
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__PAYMENT_INFO__TXN_STATUS)
} Wa__PaymentInfo__TxnStatus;
typedef enum _Wa__SyncdMutation__SyncdOperation
{
	WA__SYNCD_MUTATION__SYNCD_OPERATION__SET = 0,
	WA__SYNCD_MUTATION__SYNCD_OPERATION__REMOVE = 1
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__SYNCD_MUTATION__SYNCD_OPERATION)
} Wa__SyncdMutation__SyncdOperation;
typedef enum _Wa__WebFeatures__Flag
{
	WA__WEB_FEATURES__FLAG__NOT_STARTED = 0,
	WA__WEB_FEATURES__FLAG__FORCE_UPGRADE = 1,
	WA__WEB_FEATURES__FLAG__DEVELOPMENT = 2,
	WA__WEB_FEATURES__FLAG__PRODUCTION = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__WEB_FEATURES__FLAG)
} Wa__WebFeatures__Flag;
typedef enum _Wa__WebMessageInfo__BizPrivacyStatus
{
	WA__WEB_MESSAGE_INFO__BIZ_PRIVACY_STATUS__E2EE = 0,
	WA__WEB_MESSAGE_INFO__BIZ_PRIVACY_STATUS__FB = 2,
	WA__WEB_MESSAGE_INFO__BIZ_PRIVACY_STATUS__BSP = 1,
	WA__WEB_MESSAGE_INFO__BIZ_PRIVACY_STATUS__BSP_AND_FB = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__WEB_MESSAGE_INFO__BIZ_PRIVACY_STATUS)
} Wa__WebMessageInfo__BizPrivacyStatus;
typedef enum _Wa__WebMessageInfo__Status
{
	WA__WEB_MESSAGE_INFO__STATUS__ERROR = 0,
	WA__WEB_MESSAGE_INFO__STATUS__PENDING = 1,
	WA__WEB_MESSAGE_INFO__STATUS__SERVER_ACK = 2,
	WA__WEB_MESSAGE_INFO__STATUS__DELIVERY_ACK = 3,
	WA__WEB_MESSAGE_INFO__STATUS__READ = 4,
	WA__WEB_MESSAGE_INFO__STATUS__PLAYED = 5
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__WEB_MESSAGE_INFO__STATUS)
} Wa__WebMessageInfo__Status;
typedef enum _Wa__WebMessageInfo__StubType
{
	WA__WEB_MESSAGE_INFO__STUB_TYPE__UNKNOWN = 0,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__REVOKE = 1,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__CIPHERTEXT = 2,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__FUTUREPROOF = 3,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__NON_VERIFIED_TRANSITION = 4,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__UNVERIFIED_TRANSITION = 5,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION = 6,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_LOW_UNKNOWN = 7,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_HIGH = 8,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_INITIAL_UNKNOWN = 9,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_INITIAL_LOW = 10,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_INITIAL_HIGH = 11,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_ANY_TO_NONE = 12,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_ANY_TO_HIGH = 13,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_HIGH_TO_LOW = 14,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_HIGH_TO_UNKNOWN = 15,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_UNKNOWN_TO_LOW = 16,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_LOW_TO_UNKNOWN = 17,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_NONE_TO_LOW = 18,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VERIFIED_TRANSITION_NONE_TO_UNKNOWN = 19,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CREATE = 20,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CHANGE_SUBJECT = 21,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CHANGE_ICON = 22,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CHANGE_INVITE_LINK = 23,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CHANGE_DESCRIPTION = 24,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CHANGE_RESTRICT = 25,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CHANGE_ANNOUNCE = 26,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_ADD = 27,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_REMOVE = 28,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_PROMOTE = 29,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_DEMOTE = 30,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_INVITE = 31,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_LEAVE = 32,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_CHANGE_NUMBER = 33,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BROADCAST_CREATE = 34,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BROADCAST_ADD = 35,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BROADCAST_REMOVE = 36,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GENERIC_NOTIFICATION = 37,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__E2E_IDENTITY_CHANGED = 38,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__E2E_ENCRYPTED = 39,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__CALL_MISSED_VOICE = 40,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__CALL_MISSED_VIDEO = 41,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__INDIVIDUAL_CHANGE_NUMBER = 42,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_DELETE = 43,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE = 44,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__CALL_MISSED_GROUP_VOICE = 45,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__CALL_MISSED_GROUP_VIDEO = 46,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_CIPHERTEXT = 47,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_FUTUREPROOF = 48,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED = 49,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED = 50,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED = 51,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP = 52,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP = 53,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER = 54,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_ACTION_SEND_PAYMENT_REMINDER = 55,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_ACTION_SEND_PAYMENT_INVITATION = 56,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_ACTION_REQUEST_DECLINED = 57,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_ACTION_REQUEST_EXPIRED = 58,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__PAYMENT_ACTION_REQUEST_CANCELLED = 59,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM = 60,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP = 61,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_INTRO_TOP = 62,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_INTRO_BOTTOM = 63,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_NAME_CHANGE = 64,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_MOVE_TO_CONSUMER_APP = 65,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_TWO_TIER_MIGRATION_TOP = 66,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_TWO_TIER_MIGRATION_BOTTOM = 67,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__OVERSIZED = 68,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CHANGE_NO_FREQUENTLY_FORWARDED = 69,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_V4_ADD_INVITE_SENT = 70,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_ADD_REQUEST_JOIN = 71,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__CHANGE_EPHEMERAL_SETTING = 72,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__E2E_DEVICE_CHANGED = 73,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__VIEWED_ONCE = 74,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__E2E_ENCRYPTED_NOW = 75,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_TO_BSP_PREMISE = 76,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_TO_SELF_FB = 77,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_TO_SELF_PREMISE = 78,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_UNVERIFIED = 79,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 80,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_VERIFIED = 81,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 82,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE = 83,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_PREMISE_UNVERIFIED = 84,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 85,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_PREMISE_VERIFIED = 86,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 87,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED = 88,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED = 89,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED = 90,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED = 91,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_TO_BSP_PREMISE = 92,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_TO_SELF_PREMISE = 93,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_UNVERIFIED = 94,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 95,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_VERIFIED = 96,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 97,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE = 98,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_PREMISE_UNVERIFIED = 99,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_PREMISE_VERIFIED = 100,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_TO_BSP_FB = 101,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_TO_CONSUMER = 102,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_TO_SELF_FB = 103,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED = 104,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 105,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED = 106,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_UNVERIFIED_TO_VERIFIED = 107,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED = 108,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 109,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED = 110,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_VERIFIED_TO_UNVERIFIED = 111,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 112,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED = 113,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 114,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED = 115,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 116,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 117,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__E2E_IDENTITY_UNAVAILABLE = 118,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CREATING = 119,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_CREATE_FAILED = 120,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_BOUNCED = 121,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BLOCK_CONTACT = 122,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__EPHEMERAL_SETTING_NOT_APPLIED = 123,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__SYNC_FAILED = 124,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__SYNCING = 125,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_PRIVACY_MODE_INIT_FB = 126,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_PRIVACY_MODE_INIT_BSP = 127,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_PRIVACY_MODE_TO_FB = 128,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__BIZ_PRIVACY_MODE_TO_BSP = 129,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__DISAPPEARING_MODE = 130,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__E2E_DEVICE_FETCH_FAILED = 131,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__ADMIN_REVOKE = 132,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_INVITE_LINK_GROWTH_LOCKED = 133,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_LINK_PARENT_GROUP = 134,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_LINK_SIBLING_GROUP = 135,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_LINK_SUB_GROUP = 136,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_UNLINK_PARENT_GROUP = 137,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_UNLINK_SIBLING_GROUP = 138,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_UNLINK_SUB_GROUP = 139,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_ACCEPT = 140,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_PARTICIPANT_LINKED_GROUP_JOIN = 141,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_CREATE = 142,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__EPHEMERAL_KEEP_IN_CHAT = 143,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST = 144,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE = 145,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__INTEGRITY_UNLINK_PARENT_GROUP = 146,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_PARTICIPANT_PROMOTE = 147,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_PARTICIPANT_DEMOTE = 148,
	WA__WEB_MESSAGE_INFO__STUB_TYPE__COMMUNITY_PARENT_GROUP_DELETED = 149
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__WEB_MESSAGE_INFO__STUB_TYPE)
} Wa__WebMessageInfo__StubType;
typedef enum _Wa__KeepType
{
	WA__KEEP_TYPE__UNKNOWN = 0,
	WA__KEEP_TYPE__KEEP_FOR_ALL = 1,
	WA__KEEP_TYPE__UNDO_KEEP_FOR_ALL = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__KEEP_TYPE)
} Wa__KeepType;
typedef enum _Wa__MediaVisibility
{
	WA__MEDIA_VISIBILITY__DEFAULT = 0,
	WA__MEDIA_VISIBILITY__OFF = 1,
	WA__MEDIA_VISIBILITY__ON = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MEDIA_VISIBILITY)
} Wa__MediaVisibility;

/* --- descriptors --- */

extern const ProtobufCEnumDescriptor    wa__keep_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__media_visibility__descriptor;
extern const ProtobufCMessageDescriptor wa__advdevice_identity__descriptor;
extern const ProtobufCMessageDescriptor wa__advkey_index_list__descriptor;
extern const ProtobufCMessageDescriptor wa__advsigned_device_identity__descriptor;
extern const ProtobufCMessageDescriptor wa__advsigned_device_identity_hmac__descriptor;
extern const ProtobufCMessageDescriptor wa__advsigned_key_index_list__descriptor;
extern const ProtobufCMessageDescriptor wa__action_link__descriptor;
extern const ProtobufCMessageDescriptor wa__auto_download_settings__descriptor;
extern const ProtobufCMessageDescriptor wa__biz_account_link_info__descriptor;
extern const ProtobufCEnumDescriptor    wa__biz_account_link_info__account_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__biz_account_link_info__host_storage_type__descriptor;
extern const ProtobufCMessageDescriptor wa__biz_account_payload__descriptor;
extern const ProtobufCMessageDescriptor wa__biz_identity_info__descriptor;
extern const ProtobufCEnumDescriptor    wa__biz_identity_info__actual_actors_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__biz_identity_info__host_storage_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__biz_identity_info__verified_level_value__descriptor;
extern const ProtobufCMessageDescriptor wa__cert_chain__descriptor;
extern const ProtobufCMessageDescriptor wa__cert_chain__noise_certificate__descriptor;
extern const ProtobufCMessageDescriptor wa__cert_chain__noise_certificate__details__descriptor;
extern const ProtobufCMessageDescriptor wa__chain__descriptor;
extern const ProtobufCMessageDescriptor wa__chain_key__descriptor;
extern const ProtobufCMessageDescriptor wa__client_payload__descriptor;
extern const ProtobufCMessageDescriptor wa__client_payload__dnssource__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__dnssource__dnsresolution_method__descriptor;
extern const ProtobufCMessageDescriptor wa__client_payload__device_pairing_registration_data__descriptor;
extern const ProtobufCMessageDescriptor wa__client_payload__user_agent__descriptor;
extern const ProtobufCMessageDescriptor wa__client_payload__user_agent__app_version__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__user_agent__platform__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__user_agent__release_channel__descriptor;
extern const ProtobufCMessageDescriptor wa__client_payload__web_info__descriptor;
extern const ProtobufCMessageDescriptor wa__client_payload__web_info__webd_payload__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__web_info__web_sub_platform__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__connect_reason__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__connect_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__iosapp_extension__descriptor;
extern const ProtobufCEnumDescriptor    wa__client_payload__product__descriptor;
extern const ProtobufCMessageDescriptor wa__context_info__descriptor;
extern const ProtobufCMessageDescriptor wa__context_info__ad_reply_info__descriptor;
extern const ProtobufCEnumDescriptor    wa__context_info__ad_reply_info__media_type__descriptor;
extern const ProtobufCMessageDescriptor wa__context_info__external_ad_reply_info__descriptor;
extern const ProtobufCEnumDescriptor    wa__context_info__external_ad_reply_info__media_type__descriptor;
extern const ProtobufCMessageDescriptor wa__conversation__descriptor;
extern const ProtobufCEnumDescriptor    wa__conversation__end_of_history_transfer_type__descriptor;
extern const ProtobufCMessageDescriptor wa__device_list_metadata__descriptor;
extern const ProtobufCMessageDescriptor wa__device_props__descriptor;
extern const ProtobufCMessageDescriptor wa__device_props__app_version__descriptor;
extern const ProtobufCEnumDescriptor    wa__device_props__platform_type__descriptor;
extern const ProtobufCMessageDescriptor wa__disappearing_mode__descriptor;
extern const ProtobufCEnumDescriptor    wa__disappearing_mode__initiator__descriptor;
extern const ProtobufCMessageDescriptor wa__ephemeral_setting__descriptor;
extern const ProtobufCMessageDescriptor wa__exit_code__descriptor;
extern const ProtobufCMessageDescriptor wa__external_blob_reference__descriptor;
extern const ProtobufCMessageDescriptor wa__global_settings__descriptor;
extern const ProtobufCMessageDescriptor wa__group_participant__descriptor;
extern const ProtobufCEnumDescriptor    wa__group_participant__rank__descriptor;
extern const ProtobufCMessageDescriptor wa__handshake_message__descriptor;
extern const ProtobufCMessageDescriptor wa__handshake_message__client_finish__descriptor;
extern const ProtobufCMessageDescriptor wa__handshake_message__client_hello__descriptor;
extern const ProtobufCMessageDescriptor wa__handshake_message__server_hello__descriptor;
extern const ProtobufCMessageDescriptor wa__history_sync__descriptor;
extern const ProtobufCEnumDescriptor    wa__history_sync__history_sync_type__descriptor;
extern const ProtobufCMessageDescriptor wa__history_sync_msg__descriptor;
extern const ProtobufCMessageDescriptor wa__hydrated_template_button__descriptor;
extern const ProtobufCMessageDescriptor wa__hydrated_template_button__hydrated_call_button__descriptor;
extern const ProtobufCMessageDescriptor wa__hydrated_template_button__hydrated_quick_reply_button__descriptor;
extern const ProtobufCMessageDescriptor wa__hydrated_template_button__hydrated_urlbutton__descriptor;
extern const ProtobufCMessageDescriptor wa__identity_key_pair_structure__descriptor;
extern const ProtobufCMessageDescriptor wa__interactive_annotation__descriptor;
extern const ProtobufCMessageDescriptor wa__keep_in_chat__descriptor;
extern const ProtobufCMessageDescriptor wa__key_id__descriptor;
extern const ProtobufCMessageDescriptor wa__localized_name__descriptor;
extern const ProtobufCMessageDescriptor wa__location__descriptor;
extern const ProtobufCMessageDescriptor wa__media_data__descriptor;
extern const ProtobufCMessageDescriptor wa__media_retry_notification__descriptor;
extern const ProtobufCEnumDescriptor    wa__media_retry_notification__result_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__app_state_fatal_exception_notification__descriptor;
extern const ProtobufCMessageDescriptor wa__message__app_state_sync_key_data__descriptor;
extern const ProtobufCMessageDescriptor wa__message__app_state_sync_key_fingerprint__descriptor;
extern const ProtobufCMessageDescriptor wa__message__app_state_sync_key_id__descriptor;
extern const ProtobufCMessageDescriptor wa__message__app_state_sync_key_request__descriptor;
extern const ProtobufCMessageDescriptor wa__message__app_state_sync_key_share__descriptor;
extern const ProtobufCMessageDescriptor wa__message__app_state_sync_key__descriptor;
extern const ProtobufCMessageDescriptor wa__message__audio_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__buttons_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__buttons_message__button__descriptor;
extern const ProtobufCMessageDescriptor wa__message__buttons_message__button__button_text__descriptor;
extern const ProtobufCMessageDescriptor wa__message__buttons_message__button__native_flow_info__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__buttons_message__button__type__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__buttons_message__header_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__buttons_response_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__buttons_response_message__type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__call__descriptor;
extern const ProtobufCMessageDescriptor wa__message__cancel_payment_request_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__chat__descriptor;
extern const ProtobufCMessageDescriptor wa__message__contact_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__contacts_array_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__decline_payment_request_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__device_sent_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__document_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__extended_text_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__extended_text_message__font_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__extended_text_message__invite_link_group_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__extended_text_message__preview_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__future_proof_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__group_invite_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__group_invite_message__group_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__highly_structured_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__highly_structured_message__hsmlocalizable_parameter__descriptor;
extern const ProtobufCMessageDescriptor wa__message__highly_structured_message__hsmlocalizable_parameter__hsmcurrency__descriptor;
extern const ProtobufCMessageDescriptor wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__descriptor;
extern const ProtobufCMessageDescriptor wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_component__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_component__calendar_type__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_component__day_of_week_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_unix_epoch__descriptor;
extern const ProtobufCMessageDescriptor wa__message__history_sync_notification__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__history_sync_notification__history_sync_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__image_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__initial_security_notification_setting_sync__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__body__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__collection_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__footer__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__header__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__native_flow_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__native_flow_message__native_flow_button__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_message__shop_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__interactive_message__shop_message__surface__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_response_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_response_message__body__descriptor;
extern const ProtobufCMessageDescriptor wa__message__interactive_response_message__native_flow_response_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__invoice_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__invoice_message__attachment_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__keep_in_chat_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_message__product_list_header_image__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_message__product_list_info__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_message__product_section__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_message__product__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_message__row__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_message__section__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__list_message__list_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_response_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__list_response_message__single_select_reply__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__list_response_message__list_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__live_location_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__location_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__order_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__order_message__order_status__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__order_message__order_surface__descriptor;
extern const ProtobufCMessageDescriptor wa__message__payment_invite_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__payment_invite_message__service_type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__poll_creation_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__poll_creation_message__option__descriptor;
extern const ProtobufCMessageDescriptor wa__message__poll_enc_value__descriptor;
extern const ProtobufCMessageDescriptor wa__message__poll_update_message_metadata__descriptor;
extern const ProtobufCMessageDescriptor wa__message__poll_update_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__poll_vote_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__product_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__product_message__catalog_snapshot__descriptor;
extern const ProtobufCMessageDescriptor wa__message__product_message__product_snapshot__descriptor;
extern const ProtobufCMessageDescriptor wa__message__protocol_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__protocol_message__type__descriptor;
extern const ProtobufCMessageDescriptor wa__message__reaction_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__request_media_upload_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__request_media_upload_response_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__request_media_upload_response_message__request_media_upload_result__descriptor;
extern const ProtobufCMessageDescriptor wa__message__request_payment_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__request_phone_number_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__send_payment_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__sender_key_distribution_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__sticker_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__sticker_sync_rmrmessage__descriptor;
extern const ProtobufCMessageDescriptor wa__message__template_button_reply_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__template_message__descriptor;
extern const ProtobufCMessageDescriptor wa__message__template_message__four_row_template__descriptor;
extern const ProtobufCMessageDescriptor wa__message__template_message__hydrated_four_row_template__descriptor;
extern const ProtobufCMessageDescriptor wa__message__video_message__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__video_message__attribution__descriptor;
extern const ProtobufCEnumDescriptor    wa__message__rmr_source__descriptor;
extern const ProtobufCMessageDescriptor wa__message_context_info__descriptor;
extern const ProtobufCMessageDescriptor wa__message_key__descriptor;
extern const ProtobufCMessageDescriptor wa__money__descriptor;
extern const ProtobufCMessageDescriptor wa__msg_opaque_data__descriptor;
extern const ProtobufCMessageDescriptor wa__msg_opaque_data__poll_option__descriptor;
extern const ProtobufCMessageDescriptor wa__msg_row_opaque_data__descriptor;
extern const ProtobufCMessageDescriptor wa__noise_certificate__descriptor;
extern const ProtobufCMessageDescriptor wa__noise_certificate__details__descriptor;
extern const ProtobufCMessageDescriptor wa__notification_message_info__descriptor;
extern const ProtobufCMessageDescriptor wa__past_participant__descriptor;
extern const ProtobufCEnumDescriptor    wa__past_participant__leave_reason__descriptor;
extern const ProtobufCMessageDescriptor wa__past_participants__descriptor;
extern const ProtobufCMessageDescriptor wa__payment_background__descriptor;
extern const ProtobufCMessageDescriptor wa__payment_background__media_data__descriptor;
extern const ProtobufCEnumDescriptor    wa__payment_background__type__descriptor;
extern const ProtobufCMessageDescriptor wa__payment_info__descriptor;
extern const ProtobufCEnumDescriptor    wa__payment_info__currency__descriptor;
extern const ProtobufCEnumDescriptor    wa__payment_info__status__descriptor;
extern const ProtobufCEnumDescriptor    wa__payment_info__txn_status__descriptor;
extern const ProtobufCMessageDescriptor wa__pending_key_exchange__descriptor;
extern const ProtobufCMessageDescriptor wa__pending_pre_key__descriptor;
extern const ProtobufCMessageDescriptor wa__photo_change__descriptor;
extern const ProtobufCMessageDescriptor wa__point__descriptor;
extern const ProtobufCMessageDescriptor wa__poll_additional_metadata__descriptor;
extern const ProtobufCMessageDescriptor wa__poll_enc_value__descriptor;
extern const ProtobufCMessageDescriptor wa__poll_update__descriptor;
extern const ProtobufCMessageDescriptor wa__pre_key_record_structure__descriptor;
extern const ProtobufCMessageDescriptor wa__pushname__descriptor;
extern const ProtobufCMessageDescriptor wa__reaction__descriptor;
extern const ProtobufCMessageDescriptor wa__recent_emoji_weight__descriptor;
extern const ProtobufCMessageDescriptor wa__record_structure__descriptor;
extern const ProtobufCMessageDescriptor wa__sender_chain_key__descriptor;
extern const ProtobufCMessageDescriptor wa__sender_key_record_structure__descriptor;
extern const ProtobufCMessageDescriptor wa__sender_key_state_structure__descriptor;
extern const ProtobufCMessageDescriptor wa__sender_message_key__descriptor;
extern const ProtobufCMessageDescriptor wa__sender_signing_key__descriptor;
extern const ProtobufCMessageDescriptor wa__server_error_receipt__descriptor;
extern const ProtobufCMessageDescriptor wa__session_structure__descriptor;
extern const ProtobufCMessageDescriptor wa__signed_pre_key_record_structure__descriptor;
extern const ProtobufCMessageDescriptor wa__status_psa__descriptor;
extern const ProtobufCMessageDescriptor wa__sticker_metadata__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_data__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__agent_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__android_unsupported_actions__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__archive_chat_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__clear_chat_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__contact_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__delete_chat_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__delete_message_for_me_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__key_expiration__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__label_association_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__label_edit_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__locale_setting__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__mark_chat_as_read_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__mute_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__nux_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__pin_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__primary_feature__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__primary_version_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__push_name_setting__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__quick_reply_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__recent_emoji_weights_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__security_notification_setting__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__star_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__sticker_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__subscription_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__sync_action_message_range__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__sync_action_message__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__time_format_action__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__unarchive_chats_setting__descriptor;
extern const ProtobufCMessageDescriptor wa__sync_action_value__user_status_mute_action__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_index__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_mutation__descriptor;
extern const ProtobufCEnumDescriptor    wa__syncd_mutation__syncd_operation__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_mutations__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_patch__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_record__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_snapshot__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_value__descriptor;
extern const ProtobufCMessageDescriptor wa__syncd_version__descriptor;
extern const ProtobufCMessageDescriptor wa__template_button__descriptor;
extern const ProtobufCMessageDescriptor wa__template_button__call_button__descriptor;
extern const ProtobufCMessageDescriptor wa__template_button__quick_reply_button__descriptor;
extern const ProtobufCMessageDescriptor wa__template_button__urlbutton__descriptor;
extern const ProtobufCMessageDescriptor wa__user_receipt__descriptor;
extern const ProtobufCMessageDescriptor wa__verified_name_certificate__descriptor;
extern const ProtobufCMessageDescriptor wa__verified_name_certificate__details__descriptor;
extern const ProtobufCMessageDescriptor wa__wallpaper_settings__descriptor;
extern const ProtobufCMessageDescriptor wa__web_features__descriptor;
extern const ProtobufCEnumDescriptor    wa__web_features__flag__descriptor;
extern const ProtobufCMessageDescriptor wa__web_message_info__descriptor;
extern const ProtobufCEnumDescriptor    wa__web_message_info__biz_privacy_status__descriptor;
extern const ProtobufCEnumDescriptor    wa__web_message_info__status__descriptor;
extern const ProtobufCEnumDescriptor    wa__web_message_info__stub_type__descriptor;
extern const ProtobufCMessageDescriptor wa__web_notifications_info__descriptor;

/* --- messages --- */

extern "C" void message_init_generic(const ProtobufCMessageDescriptor * desc, ProtobufCMessage * message);

struct ProtobufCppMessage : public ProtobufCMessage
{
	ProtobufCppMessage(const ProtobufCMessageDescriptor &descr)
	{
		message_init_generic(&descr, this);
	}
};

struct Wa__ADVDeviceIdentity : public ProtobufCppMessage
{
	Wa__ADVDeviceIdentity()	:
		ProtobufCppMessage(wa__advdevice_identity__descriptor)
	{}

	protobuf_c_boolean has_rawid;
	uint32_t rawid;
	protobuf_c_boolean has_timestamp;
	uint64_t timestamp;
	protobuf_c_boolean has_keyindex;
	uint32_t keyindex;
};

struct Wa__ADVKeyIndexList : public ProtobufCppMessage
{
	Wa__ADVKeyIndexList() :
		ProtobufCppMessage(wa__advkey_index_list__descriptor)
	{}

	protobuf_c_boolean has_rawid;
	uint32_t rawid;
	protobuf_c_boolean has_timestamp;
	uint64_t timestamp;
	protobuf_c_boolean has_currentindex;
	uint32_t currentindex;
	size_t n_validindexes;
	uint32_t *validindexes;
};

struct Wa__ADVSignedDeviceIdentity : public ProtobufCppMessage
{
	Wa__ADVSignedDeviceIdentity() :
		ProtobufCppMessage(wa__advsigned_device_identity__descriptor)
	{}

	protobuf_c_boolean has_details;
	ProtobufCBinaryData details;
	protobuf_c_boolean has_accountsignaturekey;
	ProtobufCBinaryData accountsignaturekey;
	protobuf_c_boolean has_accountsignature;
	ProtobufCBinaryData accountsignature;
	protobuf_c_boolean has_devicesignature;
	ProtobufCBinaryData devicesignature;
};

struct Wa__ADVSignedDeviceIdentityHMAC : public ProtobufCppMessage
{
	Wa__ADVSignedDeviceIdentityHMAC() :
		ProtobufCppMessage(wa__advsigned_device_identity_hmac__descriptor)
	{}

	protobuf_c_boolean has_details;
	ProtobufCBinaryData details;
	protobuf_c_boolean has_hmac;
	ProtobufCBinaryData hmac;
};

struct Wa__ADVSignedKeyIndexList : public ProtobufCppMessage
{
	Wa__ADVSignedKeyIndexList() :
		ProtobufCppMessage(wa__advsigned_key_index_list__descriptor)
	{}

	protobuf_c_boolean has_details;
	ProtobufCBinaryData details;
	protobuf_c_boolean has_accountsignature;
	ProtobufCBinaryData accountsignature;
};

struct Wa__ActionLink : public ProtobufCppMessage
{
	Wa__ActionLink() :
		ProtobufCppMessage(wa__action_link__descriptor)
	{}

	char *url;
	char *buttontitle;
};

struct Wa__AutoDownloadSettings : public ProtobufCppMessage
{
	Wa__AutoDownloadSettings() :
		ProtobufCppMessage(wa__auto_download_settings__descriptor)
	{}

	protobuf_c_boolean has_downloadimages;
	protobuf_c_boolean downloadimages;
	protobuf_c_boolean has_downloadaudio;
	protobuf_c_boolean downloadaudio;
	protobuf_c_boolean has_downloadvideo;
	protobuf_c_boolean downloadvideo;
	protobuf_c_boolean has_downloaddocuments;
	protobuf_c_boolean downloaddocuments;
};

struct Wa__BizAccountLinkInfo : public ProtobufCppMessage
{
	Wa__BizAccountLinkInfo() :
		ProtobufCppMessage(wa__biz_account_link_info__descriptor)
	{}

	protobuf_c_boolean has_whatsappbizacctfbid;
	uint64_t whatsappbizacctfbid;
	char *whatsappacctnumber;
	protobuf_c_boolean has_issuetime;
	uint64_t issuetime;
	protobuf_c_boolean has_hoststorage;
	Wa__BizAccountLinkInfo__HostStorageType hoststorage;
	protobuf_c_boolean has_accounttype;
	Wa__BizAccountLinkInfo__AccountType accounttype;
};

struct Wa__BizAccountPayload : public ProtobufCppMessage
{
	Wa__BizAccountPayload() :
		ProtobufCppMessage(wa__biz_account_payload__descriptor)
	{}

	Wa__VerifiedNameCertificate *vnamecert;
	protobuf_c_boolean has_bizacctlinkinfo;
	ProtobufCBinaryData bizacctlinkinfo;
};

struct Wa__BizIdentityInfo : public ProtobufCppMessage
{
	Wa__BizIdentityInfo() :
		ProtobufCppMessage(wa__biz_identity_info__descriptor)
	{}

	protobuf_c_boolean has_vlevel;
	Wa__BizIdentityInfo__VerifiedLevelValue vlevel;
	Wa__VerifiedNameCertificate *vnamecert;
	protobuf_c_boolean has_signed_;
	protobuf_c_boolean signed_;
	protobuf_c_boolean has_revoked;
	protobuf_c_boolean revoked;
	protobuf_c_boolean has_hoststorage;
	Wa__BizIdentityInfo__HostStorageType hoststorage;
	protobuf_c_boolean has_actualactors;
	Wa__BizIdentityInfo__ActualActorsType actualactors;
	protobuf_c_boolean has_privacymodets;
	uint64_t privacymodets;
	protobuf_c_boolean has_featurecontrols;
	uint64_t featurecontrols;
};

struct Wa__CertChain__NoiseCertificate__Details : public ProtobufCppMessage
{
	Wa__CertChain__NoiseCertificate__Details() :
		ProtobufCppMessage(wa__cert_chain__noise_certificate__details__descriptor)
	{}

	protobuf_c_boolean has_serial;
	uint32_t serial;
	protobuf_c_boolean has_issuerserial;
	uint32_t issuerserial;
	protobuf_c_boolean has_key;
	ProtobufCBinaryData key;
	protobuf_c_boolean has_notbefore;
	uint64_t notbefore;
	protobuf_c_boolean has_notafter;
	uint64_t notafter;
};

struct Wa__CertChain__NoiseCertificate : public ProtobufCppMessage
{
	Wa__CertChain__NoiseCertificate() :
		ProtobufCppMessage(wa__cert_chain__noise_certificate__descriptor)
	{}

	protobuf_c_boolean has_details;
	ProtobufCBinaryData details;
	protobuf_c_boolean has_signature;
	ProtobufCBinaryData signature;
};

struct Wa__CertChain : public ProtobufCppMessage
{
	Wa__CertChain() :
		ProtobufCppMessage(wa__cert_chain__descriptor)
	{}

	Wa__CertChain__NoiseCertificate *leaf;
	Wa__CertChain__NoiseCertificate *intermediate;
};

struct Wa__Chain : public ProtobufCppMessage
{
	Wa__Chain() :
		ProtobufCppMessage(wa__chain__descriptor)
	{}

	protobuf_c_boolean has_senderratchetkey;
	ProtobufCBinaryData senderratchetkey;
	protobuf_c_boolean has_senderratchetkeyprivate;
	ProtobufCBinaryData senderratchetkeyprivate;
	Wa__ChainKey *chainkey;
	size_t n_messagekeys;
	Wa__MessageKey **messagekeys;
};

struct Wa__ChainKey : public ProtobufCppMessage
{
	Wa__ChainKey() :
		ProtobufCppMessage(wa__chain_key__descriptor)
	{}

	protobuf_c_boolean has_index;
	uint32_t index;
	protobuf_c_boolean has_key;
	ProtobufCBinaryData key;
};

struct Wa__ClientPayload__DNSSource : public ProtobufCppMessage
{
	Wa__ClientPayload__DNSSource() :
		ProtobufCppMessage(wa__client_payload__dnssource__descriptor)
	{}

	protobuf_c_boolean has_dnsmethod;
	Wa__ClientPayload__DNSSource__DNSResolutionMethod dnsmethod;
	protobuf_c_boolean has_appcached;
	protobuf_c_boolean appcached;
};

struct Wa__ClientPayload__DevicePairingRegistrationData : public ProtobufCppMessage
{
	Wa__ClientPayload__DevicePairingRegistrationData() :
		ProtobufCppMessage(wa__client_payload__device_pairing_registration_data__descriptor)
	{}

	protobuf_c_boolean has_eregid;
	ProtobufCBinaryData eregid;
	protobuf_c_boolean has_ekeytype;
	ProtobufCBinaryData ekeytype;
	protobuf_c_boolean has_eident;
	ProtobufCBinaryData eident;
	protobuf_c_boolean has_eskeyid;
	ProtobufCBinaryData eskeyid;
	protobuf_c_boolean has_eskeyval;
	ProtobufCBinaryData eskeyval;
	protobuf_c_boolean has_eskeysig;
	ProtobufCBinaryData eskeysig;
	protobuf_c_boolean has_buildhash;
	ProtobufCBinaryData buildhash;
	protobuf_c_boolean has_deviceprops;
	ProtobufCBinaryData deviceprops;
};

struct Wa__ClientPayload__UserAgent__AppVersion : public ProtobufCppMessage
{
	Wa__ClientPayload__UserAgent__AppVersion() :
		ProtobufCppMessage(wa__client_payload__user_agent__app_version__descriptor)
	{}

	protobuf_c_boolean has_primary;
	uint32_t primary;
	protobuf_c_boolean has_secondary;
	uint32_t secondary;
	protobuf_c_boolean has_tertiary;
	uint32_t tertiary;
	protobuf_c_boolean has_quaternary;
	uint32_t quaternary;
	protobuf_c_boolean has_quinary;
	uint32_t quinary;
};

struct Wa__ClientPayload__UserAgent : public ProtobufCppMessage
{
	Wa__ClientPayload__UserAgent() :
		ProtobufCppMessage(wa__client_payload__user_agent__descriptor)
	{}

	protobuf_c_boolean has_platform;
	Wa__ClientPayload__UserAgent__Platform platform;
	Wa__ClientPayload__UserAgent__AppVersion *appversion;
	char *mcc;
	char *mnc;
	char *osversion;
	char *manufacturer;
	char *device;
	char *osbuildnumber;
	char *phoneid;
	protobuf_c_boolean has_releasechannel;
	Wa__ClientPayload__UserAgent__ReleaseChannel releasechannel;
	char *localelanguageiso6391;
	char *localecountryiso31661alpha2;
	char *deviceboard;
};

struct Wa__ClientPayload__WebInfo__WebdPayload : public ProtobufCppMessage
{
	Wa__ClientPayload__WebInfo__WebdPayload() :
		ProtobufCppMessage(wa__client_payload__web_info__webd_payload__descriptor)
	{}

	protobuf_c_boolean has_usesparticipantinkey;
	protobuf_c_boolean usesparticipantinkey;
	protobuf_c_boolean has_supportsstarredmessages;
	protobuf_c_boolean supportsstarredmessages;
	protobuf_c_boolean has_supportsdocumentmessages;
	protobuf_c_boolean supportsdocumentmessages;
	protobuf_c_boolean has_supportsurlmessages;
	protobuf_c_boolean supportsurlmessages;
	protobuf_c_boolean has_supportsmediaretry;
	protobuf_c_boolean supportsmediaretry;
	protobuf_c_boolean has_supportse2eimage;
	protobuf_c_boolean supportse2eimage;
	protobuf_c_boolean has_supportse2evideo;
	protobuf_c_boolean supportse2evideo;
	protobuf_c_boolean has_supportse2eaudio;
	protobuf_c_boolean supportse2eaudio;
	protobuf_c_boolean has_supportse2edocument;
	protobuf_c_boolean supportse2edocument;
	char *documenttypes;
	protobuf_c_boolean has_features;
	ProtobufCBinaryData features;
};

struct Wa__ClientPayload__WebInfo : public ProtobufCppMessage
{
	Wa__ClientPayload__WebInfo() :
		ProtobufCppMessage(wa__client_payload__web_info__descriptor)
	{}

	char *reftoken;
	char *version;
	Wa__ClientPayload__WebInfo__WebdPayload *webdpayload;
	protobuf_c_boolean has_websubplatform;
	Wa__ClientPayload__WebInfo__WebSubPlatform websubplatform;
};

struct Wa__ClientPayload : public ProtobufCppMessage
{
	Wa__ClientPayload() :
		ProtobufCppMessage(wa__client_payload__descriptor)
	{}

	protobuf_c_boolean has_username;
	uint64_t username;
	protobuf_c_boolean has_passive;
	protobuf_c_boolean passive;
	Wa__ClientPayload__UserAgent *useragent;
	Wa__ClientPayload__WebInfo *webinfo;
	char *pushname;
	protobuf_c_boolean has_sessionid;
	int32_t sessionid;
	protobuf_c_boolean has_shortconnect;
	protobuf_c_boolean shortconnect;
	protobuf_c_boolean has_connecttype;
	Wa__ClientPayload__ConnectType connecttype;
	protobuf_c_boolean has_connectreason;
	Wa__ClientPayload__ConnectReason connectreason;
	size_t n_shards;
	int32_t *shards;
	Wa__ClientPayload__DNSSource *dnssource;
	protobuf_c_boolean has_connectattemptcount;
	uint32_t connectattemptcount;
	protobuf_c_boolean has_device;
	uint32_t device;
	Wa__ClientPayload__DevicePairingRegistrationData *devicepairingdata;
	protobuf_c_boolean has_product;
	Wa__ClientPayload__Product product;
	protobuf_c_boolean has_fbcat;
	ProtobufCBinaryData fbcat;
	protobuf_c_boolean has_fbuseragent;
	ProtobufCBinaryData fbuseragent;
	protobuf_c_boolean has_oc;
	protobuf_c_boolean oc;
	protobuf_c_boolean has_lc;
	int32_t lc;
	protobuf_c_boolean has_iosappextension;
	Wa__ClientPayload__IOSAppExtension iosappextension;
	protobuf_c_boolean has_fbappid;
	uint64_t fbappid;
	protobuf_c_boolean has_fbdeviceid;
	ProtobufCBinaryData fbdeviceid;
	protobuf_c_boolean has_pull;
	protobuf_c_boolean pull;
	protobuf_c_boolean has_paddingbytes;
	ProtobufCBinaryData paddingbytes;
};

struct Wa__ContextInfo__AdReplyInfo : public ProtobufCppMessage
{
	Wa__ContextInfo__AdReplyInfo() :
		ProtobufCppMessage(wa__context_info__ad_reply_info__descriptor)
	{}

	char *advertisername;
	protobuf_c_boolean has_mediatype;
	Wa__ContextInfo__AdReplyInfo__MediaType mediatype;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	char *caption;
};

struct Wa__ContextInfo__ExternalAdReplyInfo : public ProtobufCppMessage
{
	Wa__ContextInfo__ExternalAdReplyInfo() :
		ProtobufCppMessage(wa__context_info__external_ad_reply_info__descriptor)
	{}

	char *title;
	char *body;
	protobuf_c_boolean has_mediatype;
	Wa__ContextInfo__ExternalAdReplyInfo__MediaType mediatype;
	char *thumbnailurl;
	char *mediaurl;
	protobuf_c_boolean has_thumbnail;
	ProtobufCBinaryData thumbnail;
	char *sourcetype;
	char *sourceid;
	char *sourceurl;
	protobuf_c_boolean has_containsautoreply;
	protobuf_c_boolean containsautoreply;
	protobuf_c_boolean has_renderlargerthumbnail;
	protobuf_c_boolean renderlargerthumbnail;
	protobuf_c_boolean has_showadattribution;
	protobuf_c_boolean showadattribution;
};

struct Wa__ContextInfo : public ProtobufCppMessage
{
	Wa__ContextInfo() :
		ProtobufCppMessage(wa__context_info__descriptor)
	{}

	char *stanzaid;
	char *participant;
	Wa__Message *quotedmessage;
	char *remotejid;
	size_t n_mentionedjid;
	char **mentionedjid;
	char *conversionsource;
	protobuf_c_boolean has_conversiondata;
	ProtobufCBinaryData conversiondata;
	protobuf_c_boolean has_conversiondelayseconds;
	uint32_t conversiondelayseconds;
	protobuf_c_boolean has_forwardingscore;
	uint32_t forwardingscore;
	protobuf_c_boolean has_isforwarded;
	protobuf_c_boolean isforwarded;
	Wa__ContextInfo__AdReplyInfo *quotedad;
	Wa__MessageKey *placeholderkey;
	protobuf_c_boolean has_expiration;
	uint32_t expiration;
	protobuf_c_boolean has_ephemeralsettingtimestamp;
	int64_t ephemeralsettingtimestamp;
	protobuf_c_boolean has_ephemeralsharedsecret;
	ProtobufCBinaryData ephemeralsharedsecret;
	Wa__ContextInfo__ExternalAdReplyInfo *externaladreply;
	char *entrypointconversionsource;
	char *entrypointconversionapp;
	protobuf_c_boolean has_entrypointconversiondelayseconds;
	uint32_t entrypointconversiondelayseconds;
	Wa__DisappearingMode *disappearingmode;
	Wa__ActionLink *actionlink;
	char *groupsubject;
	char *parentgroupjid;
};

struct Wa__Conversation : public ProtobufCppMessage
{
	Wa__Conversation() :
		ProtobufCppMessage(wa__conversation__descriptor)
	{}

	char *id;
	size_t n_messages;
	Wa__HistorySyncMsg **messages;
	char *newjid;
	char *oldjid;
	protobuf_c_boolean has_lastmsgtimestamp;
	uint64_t lastmsgtimestamp;
	protobuf_c_boolean has_unreadcount;
	uint32_t unreadcount;
	protobuf_c_boolean has_readonly;
	protobuf_c_boolean readonly;
	protobuf_c_boolean has_endofhistorytransfer;
	protobuf_c_boolean endofhistorytransfer;
	protobuf_c_boolean has_ephemeralexpiration;
	uint32_t ephemeralexpiration;
	protobuf_c_boolean has_ephemeralsettingtimestamp;
	int64_t ephemeralsettingtimestamp;
	protobuf_c_boolean has_endofhistorytransfertype;
	Wa__Conversation__EndOfHistoryTransferType endofhistorytransfertype;
	protobuf_c_boolean has_conversationtimestamp;
	uint64_t conversationtimestamp;
	char *name;
	char *phash;
	protobuf_c_boolean has_notspam;
	protobuf_c_boolean notspam;
	protobuf_c_boolean has_archived;
	protobuf_c_boolean archived;
	Wa__DisappearingMode *disappearingmode;
	protobuf_c_boolean has_unreadmentioncount;
	uint32_t unreadmentioncount;
	protobuf_c_boolean has_markedasunread;
	protobuf_c_boolean markedasunread;
	size_t n_participant;
	Wa__GroupParticipant **participant;
	protobuf_c_boolean has_tctoken;
	ProtobufCBinaryData tctoken;
	protobuf_c_boolean has_tctokentimestamp;
	uint64_t tctokentimestamp;
	protobuf_c_boolean has_contactprimaryidentitykey;
	ProtobufCBinaryData contactprimaryidentitykey;
	protobuf_c_boolean has_pinned;
	uint32_t pinned;
	protobuf_c_boolean has_muteendtime;
	uint64_t muteendtime;
	Wa__WallpaperSettings *wallpaper;
	protobuf_c_boolean has_mediavisibility;
	Wa__MediaVisibility mediavisibility;
	protobuf_c_boolean has_tctokensendertimestamp;
	uint64_t tctokensendertimestamp;
	protobuf_c_boolean has_suspended;
	protobuf_c_boolean suspended;
	protobuf_c_boolean has_terminated;
	protobuf_c_boolean terminated;
	protobuf_c_boolean has_createdat;
	uint64_t createdat;
	char *createdby;
	char *description;
	protobuf_c_boolean has_support;
	protobuf_c_boolean support;
	protobuf_c_boolean has_isparentgroup;
	protobuf_c_boolean isparentgroup;
	protobuf_c_boolean has_isdefaultsubgroup;
	protobuf_c_boolean isdefaultsubgroup;
	char *parentgroupid;
	char *displayname;
	char *pnjid;
	protobuf_c_boolean has_selfpnexposed;
	protobuf_c_boolean selfpnexposed;
};

struct Wa__DeviceListMetadata : public ProtobufCppMessage
{
	Wa__DeviceListMetadata() :
		ProtobufCppMessage(wa__device_list_metadata__descriptor)
	{}

	protobuf_c_boolean has_senderkeyhash;
	ProtobufCBinaryData senderkeyhash;
	protobuf_c_boolean has_sendertimestamp;
	uint64_t sendertimestamp;
	size_t n_senderkeyindexes;
	uint32_t *senderkeyindexes;
	protobuf_c_boolean has_recipientkeyhash;
	ProtobufCBinaryData recipientkeyhash;
	protobuf_c_boolean has_recipienttimestamp;
	uint64_t recipienttimestamp;
	size_t n_recipientkeyindexes;
	uint32_t *recipientkeyindexes;
};

struct Wa__DeviceProps__AppVersion : public ProtobufCppMessage
{
	Wa__DeviceProps__AppVersion() :
		ProtobufCppMessage(wa__device_props__app_version__descriptor)
	{}

	protobuf_c_boolean has_primary;
	uint32_t primary;
	protobuf_c_boolean has_secondary;
	uint32_t secondary;
	protobuf_c_boolean has_tertiary;
	uint32_t tertiary;
	protobuf_c_boolean has_quaternary;
	uint32_t quaternary;
	protobuf_c_boolean has_quinary;
	uint32_t quinary;
};

struct Wa__DeviceProps : public ProtobufCppMessage
{
	Wa__DeviceProps() :
		ProtobufCppMessage(wa__device_props__descriptor)
	{}

	char *os;
	Wa__DeviceProps__AppVersion *version;
	protobuf_c_boolean has_platformtype;
	Wa__DeviceProps__PlatformType platformtype;
	protobuf_c_boolean has_requirefullsync;
	protobuf_c_boolean requirefullsync;
};

struct Wa__DisappearingMode : public ProtobufCppMessage
{
	Wa__DisappearingMode() :
		ProtobufCppMessage(wa__disappearing_mode__descriptor)
	{}

	protobuf_c_boolean has_initiator;
	Wa__DisappearingMode__Initiator initiator;
};

struct Wa__EphemeralSetting : public ProtobufCppMessage
{
	Wa__EphemeralSetting() :
		ProtobufCppMessage(wa__ephemeral_setting__descriptor)
	{}

	protobuf_c_boolean has_duration;
	int32_t duration;
	protobuf_c_boolean has_timestamp;
	int64_t timestamp;
};

struct Wa__ExitCode : public ProtobufCppMessage
{
	Wa__ExitCode() :
		ProtobufCppMessage(wa__exit_code__descriptor)
	{}

	protobuf_c_boolean has_code;
	uint64_t code;
	char *text;
};

struct Wa__ExternalBlobReference : public ProtobufCppMessage
{
	Wa__ExternalBlobReference() :
		ProtobufCppMessage(wa__external_blob_reference__descriptor)
	{}

	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	char *directpath;
	char *handle;
	protobuf_c_boolean has_filesizebytes;
	uint64_t filesizebytes;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
};

struct Wa__GlobalSettings : public ProtobufCppMessage
{
	Wa__GlobalSettings() :
		ProtobufCppMessage(wa__global_settings__descriptor)
	{}

	Wa__WallpaperSettings *lightthemewallpaper;
	protobuf_c_boolean has_mediavisibility;
	Wa__MediaVisibility mediavisibility;
	Wa__WallpaperSettings *darkthemewallpaper;
	Wa__AutoDownloadSettings *autodownloadwifi;
	Wa__AutoDownloadSettings *autodownloadcellular;
	Wa__AutoDownloadSettings *autodownloadroaming;
	protobuf_c_boolean has_showindividualnotificationspreview;
	protobuf_c_boolean showindividualnotificationspreview;
	protobuf_c_boolean has_showgroupnotificationspreview;
	protobuf_c_boolean showgroupnotificationspreview;
	protobuf_c_boolean has_disappearingmodeduration;
	int32_t disappearingmodeduration;
	protobuf_c_boolean has_disappearingmodetimestamp;
	int64_t disappearingmodetimestamp;
};

struct Wa__GroupParticipant : public ProtobufCppMessage
{
	Wa__GroupParticipant() :
		ProtobufCppMessage(wa__group_participant__descriptor)
	{}

	char *userjid;
	protobuf_c_boolean has_rank;
	Wa__GroupParticipant__Rank rank;
};

struct Wa__HandshakeMessage__ClientFinish : public ProtobufCppMessage
{
	Wa__HandshakeMessage__ClientFinish() :
		ProtobufCppMessage(wa__handshake_message__client_finish__descriptor)
	{}

	protobuf_c_boolean has_static_;
	ProtobufCBinaryData static_;
	protobuf_c_boolean has_payload;
	ProtobufCBinaryData payload;
};

struct Wa__HandshakeMessage__ClientHello : public ProtobufCppMessage
{
	Wa__HandshakeMessage__ClientHello() :
		ProtobufCppMessage(wa__handshake_message__client_hello__descriptor)
	{}

	protobuf_c_boolean has_ephemeral;
	ProtobufCBinaryData ephemeral;
	protobuf_c_boolean has_static_;
	ProtobufCBinaryData static_;
	protobuf_c_boolean has_payload;
	ProtobufCBinaryData payload;
};

struct Wa__HandshakeMessage__ServerHello : public ProtobufCppMessage
{
	Wa__HandshakeMessage__ServerHello() :
		ProtobufCppMessage(wa__handshake_message__server_hello__descriptor)
	{}

	protobuf_c_boolean has_ephemeral;
	ProtobufCBinaryData ephemeral;
	protobuf_c_boolean has_static_;
	ProtobufCBinaryData static_;
	protobuf_c_boolean has_payload;
	ProtobufCBinaryData payload;
};

struct Wa__HandshakeMessage : public ProtobufCppMessage
{
	Wa__HandshakeMessage() :
		ProtobufCppMessage(wa__handshake_message__descriptor)
	{}

	Wa__HandshakeMessage__ClientHello *clienthello;
	Wa__HandshakeMessage__ServerHello *serverhello;
	Wa__HandshakeMessage__ClientFinish *clientfinish;
};

struct Wa__HistorySync : public ProtobufCppMessage
{
	Wa__HistorySync() :
		ProtobufCppMessage(wa__history_sync__descriptor)
	{}

	Wa__HistorySync__HistorySyncType synctype;
	size_t n_conversations;
	Wa__Conversation **conversations;
	size_t n_statusv3messages;
	Wa__WebMessageInfo **statusv3messages;
	protobuf_c_boolean has_chunkorder;
	uint32_t chunkorder;
	protobuf_c_boolean has_progress;
	uint32_t progress;
	size_t n_pushnames;
	Wa__Pushname **pushnames;
	Wa__GlobalSettings *globalsettings;
	protobuf_c_boolean has_threadidusersecret;
	ProtobufCBinaryData threadidusersecret;
	protobuf_c_boolean has_threaddstimeframeoffset;
	uint32_t threaddstimeframeoffset;
	size_t n_recentstickers;
	Wa__StickerMetadata **recentstickers;
	size_t n_pastparticipants;
	Wa__PastParticipants **pastparticipants;
};

struct Wa__HistorySyncMsg : public ProtobufCppMessage
{
	Wa__HistorySyncMsg() :
		ProtobufCppMessage(wa__history_sync_msg__descriptor)
	{}

	Wa__WebMessageInfo *message;
	protobuf_c_boolean has_msgorderid;
	uint64_t msgorderid;
};

struct Wa__HydratedTemplateButton__HydratedCallButton : public ProtobufCppMessage
{
	Wa__HydratedTemplateButton__HydratedCallButton() :
		ProtobufCppMessage(wa__hydrated_template_button__hydrated_call_button__descriptor)
	{}

	char *displaytext;
	char *phonenumber;
};

struct Wa__HydratedTemplateButton__HydratedQuickReplyButton : public ProtobufCppMessage
{
	Wa__HydratedTemplateButton__HydratedQuickReplyButton() :
		ProtobufCppMessage(wa__hydrated_template_button__hydrated_quick_reply_button__descriptor)
	{}

	char *displaytext;
	char *id;
};

struct Wa__HydratedTemplateButton__HydratedURLButton : public ProtobufCppMessage
{
	Wa__HydratedTemplateButton__HydratedURLButton() :
		ProtobufCppMessage(wa__hydrated_template_button__hydrated_urlbutton__descriptor)
	{}

	char *displaytext;
	char *url;
};

typedef enum
{
	WA__HYDRATED_TEMPLATE_BUTTON__HYDRATED_BUTTON__NOT_SET = 0,
	WA__HYDRATED_TEMPLATE_BUTTON__HYDRATED_BUTTON_QUICK_REPLY_BUTTON = 1,
	WA__HYDRATED_TEMPLATE_BUTTON__HYDRATED_BUTTON_URL_BUTTON = 2,
	WA__HYDRATED_TEMPLATE_BUTTON__HYDRATED_BUTTON_CALL_BUTTON = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__HYDRATED_TEMPLATE_BUTTON__HYDRATED_BUTTON)
} Wa__HydratedTemplateButton__HydratedButtonCase;

struct Wa__HydratedTemplateButton : public ProtobufCppMessage
{
	Wa__HydratedTemplateButton() :
		ProtobufCppMessage(wa__hydrated_template_button__descriptor)
	{}

	protobuf_c_boolean has_index;
	uint32_t index;
	Wa__HydratedTemplateButton__HydratedButtonCase hydrated_button_case;
	union
	{
		Wa__HydratedTemplateButton__HydratedQuickReplyButton *quickreplybutton;
		Wa__HydratedTemplateButton__HydratedURLButton *urlbutton;
		Wa__HydratedTemplateButton__HydratedCallButton *callbutton;
	};
};

struct Wa__IdentityKeyPairStructure : public ProtobufCppMessage
{
	Wa__IdentityKeyPairStructure() :
		ProtobufCppMessage(wa__identity_key_pair_structure__descriptor)
	{}

	protobuf_c_boolean has_publickey;
	ProtobufCBinaryData publickey;
	protobuf_c_boolean has_privatekey;
	ProtobufCBinaryData privatekey;
};

typedef enum
{
	WA__INTERACTIVE_ANNOTATION__ACTION__NOT_SET = 0,
	WA__INTERACTIVE_ANNOTATION__ACTION_LOCATION = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__INTERACTIVE_ANNOTATION__ACTION)
} Wa__InteractiveAnnotation__ActionCase;

struct Wa__InteractiveAnnotation : public ProtobufCppMessage
{
	Wa__InteractiveAnnotation() :
		ProtobufCppMessage(wa__interactive_annotation__descriptor)
	{}

	size_t n_polygonvertices;
	Wa__Point **polygonvertices;
	Wa__InteractiveAnnotation__ActionCase action_case;
	union
	{
		Wa__Location *location;
	};
};

struct Wa__KeepInChat : public ProtobufCppMessage
{
	Wa__KeepInChat() :
		ProtobufCppMessage(wa__keep_in_chat__descriptor)
	{}

	protobuf_c_boolean has_keeptype;
	Wa__KeepType keeptype;
	protobuf_c_boolean has_servertimestamp;
	int64_t servertimestamp;
	Wa__MessageKey *key;
	char *devicejid;
};

struct Wa__KeyId : public ProtobufCppMessage
{
	Wa__KeyId() :
		ProtobufCppMessage(wa__key_id__descriptor)
	{}

	protobuf_c_boolean has_id;
	ProtobufCBinaryData id;
};

struct Wa__LocalizedName : public ProtobufCppMessage
{
	Wa__LocalizedName() :
		ProtobufCppMessage(wa__localized_name__descriptor)
	{}

	char *lg;
	char *lc;
	char *verifiedname;
};

struct Wa__Location : public ProtobufCppMessage
{
	Wa__Location() :
		ProtobufCppMessage(wa__location__descriptor)
	{}

	protobuf_c_boolean has_degreeslatitude;
	double degreeslatitude;
	protobuf_c_boolean has_degreeslongitude;
	double degreeslongitude;
	char *name;
};

struct Wa__MediaData : public ProtobufCppMessage
{
	Wa__MediaData() :
		ProtobufCppMessage(wa__media_data__descriptor)
	{}

	char *localpath;
};

struct Wa__MediaRetryNotification : public ProtobufCppMessage
{
	Wa__MediaRetryNotification() :
		ProtobufCppMessage(wa__media_retry_notification__descriptor)
	{}

	char *stanzaid;
	char *directpath;
	protobuf_c_boolean has_result;
	Wa__MediaRetryNotification__ResultType result;
};

struct Wa__Message__AppStateFatalExceptionNotification : public ProtobufCppMessage
{
	Wa__Message__AppStateFatalExceptionNotification() :
		ProtobufCppMessage(wa__message__app_state_fatal_exception_notification__descriptor)
	{}

	size_t n_collectionnames;
	char **collectionnames;
	protobuf_c_boolean has_timestamp;
	int64_t timestamp;
};

struct Wa__Message__AppStateSyncKeyData : public ProtobufCppMessage
{
	Wa__Message__AppStateSyncKeyData() :
		ProtobufCppMessage(wa__message__app_state_sync_key_data__descriptor)
	{}

	protobuf_c_boolean has_keydata;
	ProtobufCBinaryData keydata;
	Wa__Message__AppStateSyncKeyFingerprint *fingerprint;
	protobuf_c_boolean has_timestamp;
	int64_t timestamp;
};

struct Wa__Message__AppStateSyncKeyFingerprint : public ProtobufCppMessage
{
	Wa__Message__AppStateSyncKeyFingerprint() :
		ProtobufCppMessage(wa__message__app_state_sync_key_fingerprint__descriptor)
	{}

	protobuf_c_boolean has_rawid;
	uint32_t rawid;
	protobuf_c_boolean has_currentindex;
	uint32_t currentindex;
	size_t n_deviceindexes;
	uint32_t *deviceindexes;
};

struct Wa__Message__AppStateSyncKeyId : public ProtobufCppMessage
{
	Wa__Message__AppStateSyncKeyId() :
		ProtobufCppMessage(wa__message__app_state_sync_key_id__descriptor)
	{}

	protobuf_c_boolean has_keyid;
	ProtobufCBinaryData keyid;
};

struct Wa__Message__AppStateSyncKeyRequest : public ProtobufCppMessage
{
	Wa__Message__AppStateSyncKeyRequest() :
		ProtobufCppMessage(wa__message__app_state_sync_key_request__descriptor)
	{}

	size_t n_keyids;
	Wa__Message__AppStateSyncKeyId **keyids;
};

struct Wa__Message__AppStateSyncKeyShare : public ProtobufCppMessage
{
	Wa__Message__AppStateSyncKeyShare() :
		ProtobufCppMessage(wa__message__app_state_sync_key_share__descriptor)
	{}

	size_t n_keys;
	Wa__Message__AppStateSyncKey **keys;
};

struct Wa__Message__AppStateSyncKey : public ProtobufCppMessage
{
	Wa__Message__AppStateSyncKey() :
		ProtobufCppMessage(wa__message__app_state_sync_key__descriptor)
	{}

	Wa__Message__AppStateSyncKeyId *keyid;
	Wa__Message__AppStateSyncKeyData *keydata;
};

struct Wa__Message__AudioMessage : public ProtobufCppMessage
{
	Wa__Message__AudioMessage() :
		ProtobufCppMessage(wa__message__audio_message__descriptor)
	{}

	char *url;
	char *mimetype;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_seconds;
	uint32_t seconds;
	protobuf_c_boolean has_ptt;
	protobuf_c_boolean ptt;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	char *directpath;
	protobuf_c_boolean has_mediakeytimestamp;
	int64_t mediakeytimestamp;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_streamingsidecar;
	ProtobufCBinaryData streamingsidecar;
	protobuf_c_boolean has_waveform;
	ProtobufCBinaryData waveform;
};

struct Wa__Message__ButtonsMessage__Button__ButtonText : public ProtobufCppMessage
{
	Wa__Message__ButtonsMessage__Button__ButtonText() :
		ProtobufCppMessage(wa__message__buttons_message__button__button_text__descriptor)
	{}

	char *displaytext;
};

struct Wa__Message__ButtonsMessage__Button__NativeFlowInfo : public ProtobufCppMessage
{
	Wa__Message__ButtonsMessage__Button__NativeFlowInfo() :
		ProtobufCppMessage(wa__message__buttons_message__button__native_flow_info__descriptor)
	{}

	char *name;
	char *paramsjson;
};

struct Wa__Message__ButtonsMessage__Button : public ProtobufCppMessage
{
	Wa__Message__ButtonsMessage__Button() :
		ProtobufCppMessage(wa__message__buttons_message__button__descriptor)
	{}

	char *buttonid;
	Wa__Message__ButtonsMessage__Button__ButtonText *buttontext;
	protobuf_c_boolean has_type;
	Wa__Message__ButtonsMessage__Button__Type type;
	Wa__Message__ButtonsMessage__Button__NativeFlowInfo *nativeflowinfo;
};

typedef enum
{
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER__NOT_SET = 0,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_TEXT = 1,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_DOCUMENT_MESSAGE = 2,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_IMAGE_MESSAGE = 3,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_VIDEO_MESSAGE = 4,
	WA__MESSAGE__BUTTONS_MESSAGE__HEADER_LOCATION_MESSAGE = 5
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__BUTTONS_MESSAGE__HEADER)
} Wa__Message__ButtonsMessage__HeaderCase;

struct Wa__Message__ButtonsMessage : public ProtobufCppMessage
{
	Wa__Message__ButtonsMessage() :
		ProtobufCppMessage(wa__message__buttons_message__descriptor)
	{}

	char *contenttext;
	char *footertext;
	Wa__ContextInfo *contextinfo;
	size_t n_buttons;
	Wa__Message__ButtonsMessage__Button **buttons;
	protobuf_c_boolean has_headertype;
	Wa__Message__ButtonsMessage__HeaderType headertype;
	Wa__Message__ButtonsMessage__HeaderCase header_case;
	union
	{
		char *text;
		Wa__Message__DocumentMessage *documentmessage;
		Wa__Message__ImageMessage *imagemessage;
		Wa__Message__VideoMessage *videomessage;
		Wa__Message__LocationMessage *locationmessage;
	};
};

typedef enum
{
	WA__MESSAGE__BUTTONS_RESPONSE_MESSAGE__RESPONSE__NOT_SET = 0,
	WA__MESSAGE__BUTTONS_RESPONSE_MESSAGE__RESPONSE_SELECTED_DISPLAY_TEXT = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__BUTTONS_RESPONSE_MESSAGE__RESPONSE)
} Wa__Message__ButtonsResponseMessage__ResponseCase;

struct Wa__Message__ButtonsResponseMessage : public ProtobufCppMessage
{
	Wa__Message__ButtonsResponseMessage() :
		ProtobufCppMessage(wa__message__buttons_response_message__descriptor)
	{}

	char *selectedbuttonid;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_type;
	Wa__Message__ButtonsResponseMessage__Type type;
	Wa__Message__ButtonsResponseMessage__ResponseCase response_case;
	union
	{
		char *selecteddisplaytext;
	};
};

struct Wa__Message__Call : public ProtobufCppMessage
{
	Wa__Message__Call() :
		ProtobufCppMessage(wa__message__call__descriptor)
	{}

	protobuf_c_boolean has_callkey;
	ProtobufCBinaryData callkey;
	char *conversionsource;
	protobuf_c_boolean has_conversiondata;
	ProtobufCBinaryData conversiondata;
	protobuf_c_boolean has_conversiondelayseconds;
	uint32_t conversiondelayseconds;
};

struct Wa__Message__CancelPaymentRequestMessage : public ProtobufCppMessage
{
	Wa__Message__CancelPaymentRequestMessage() :
		ProtobufCppMessage(wa__message__cancel_payment_request_message__descriptor)
	{}

	Wa__MessageKey *key;
};

struct Wa__Message__Chat : public ProtobufCppMessage
{
	Wa__Message__Chat() :
		ProtobufCppMessage(wa__message__chat__descriptor)
	{}

	char *displayname;
	char *id;
};

struct Wa__Message__ContactMessage : public ProtobufCppMessage
{
	Wa__Message__ContactMessage() :
		ProtobufCppMessage(wa__message__contact_message__descriptor)
	{}

	char *displayname;
	char *vcard;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__ContactsArrayMessage : public ProtobufCppMessage
{
	Wa__Message__ContactsArrayMessage() :
		ProtobufCppMessage(wa__message__contacts_array_message__descriptor)
	{}

	char *displayname;
	size_t n_contacts;
	Wa__Message__ContactMessage **contacts;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__DeclinePaymentRequestMessage : public ProtobufCppMessage
{
	Wa__Message__DeclinePaymentRequestMessage() :
		ProtobufCppMessage(wa__message__decline_payment_request_message__descriptor)
	{}

	Wa__MessageKey *key;
};

struct Wa__Message__DeviceSentMessage : public ProtobufCppMessage
{
	Wa__Message__DeviceSentMessage() :
		ProtobufCppMessage(wa__message__device_sent_message__descriptor)
	{}

	char *destinationjid;
	Wa__Message *message;
	char *phash;
};

struct Wa__Message__DocumentMessage : public ProtobufCppMessage
{
	Wa__Message__DocumentMessage() :
		ProtobufCppMessage(wa__message__document_message__descriptor)
	{}

	char *url;
	char *mimetype;
	char *title;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_pagecount;
	uint32_t pagecount;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	char *filename;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	char *directpath;
	protobuf_c_boolean has_mediakeytimestamp;
	int64_t mediakeytimestamp;
	protobuf_c_boolean has_contactvcard;
	protobuf_c_boolean contactvcard;
	char *thumbnaildirectpath;
	protobuf_c_boolean has_thumbnailsha256;
	ProtobufCBinaryData thumbnailsha256;
	protobuf_c_boolean has_thumbnailencsha256;
	ProtobufCBinaryData thumbnailencsha256;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_thumbnailheight;
	uint32_t thumbnailheight;
	protobuf_c_boolean has_thumbnailwidth;
	uint32_t thumbnailwidth;
	char *caption;
};

struct Wa__Message__ExtendedTextMessage : public ProtobufCppMessage
{
	Wa__Message__ExtendedTextMessage() :
		ProtobufCppMessage(wa__message__extended_text_message__descriptor)
	{}

	char *text;
	char *matchedtext;
	char *canonicalurl;
	char *description;
	char *title;
	protobuf_c_boolean has_textargb;
	uint32_t textargb;
	protobuf_c_boolean has_backgroundargb;
	uint32_t backgroundargb;
	protobuf_c_boolean has_font;
	Wa__Message__ExtendedTextMessage__FontType font;
	protobuf_c_boolean has_previewtype;
	Wa__Message__ExtendedTextMessage__PreviewType previewtype;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_donotplayinline;
	protobuf_c_boolean donotplayinline;
	char *thumbnaildirectpath;
	protobuf_c_boolean has_thumbnailsha256;
	ProtobufCBinaryData thumbnailsha256;
	protobuf_c_boolean has_thumbnailencsha256;
	ProtobufCBinaryData thumbnailencsha256;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	protobuf_c_boolean has_mediakeytimestamp;
	int64_t mediakeytimestamp;
	protobuf_c_boolean has_thumbnailheight;
	uint32_t thumbnailheight;
	protobuf_c_boolean has_thumbnailwidth;
	uint32_t thumbnailwidth;
	protobuf_c_boolean has_invitelinkgrouptype;
	Wa__Message__ExtendedTextMessage__InviteLinkGroupType invitelinkgrouptype;
	char *invitelinkparentgroupsubjectv2;
	protobuf_c_boolean has_invitelinkparentgroupthumbnailv2;
	ProtobufCBinaryData invitelinkparentgroupthumbnailv2;
	protobuf_c_boolean has_invitelinkgrouptypev2;
	Wa__Message__ExtendedTextMessage__InviteLinkGroupType invitelinkgrouptypev2;
};

struct Wa__Message__FutureProofMessage : public ProtobufCppMessage
{
	Wa__Message__FutureProofMessage() :
		ProtobufCppMessage(wa__message__future_proof_message__descriptor)
	{}

	Wa__Message *message;
};

struct Wa__Message__GroupInviteMessage : public ProtobufCppMessage
{
	Wa__Message__GroupInviteMessage() :
		ProtobufCppMessage(wa__message__group_invite_message__descriptor)
	{}

	char *groupjid;
	char *invitecode;
	protobuf_c_boolean has_inviteexpiration;
	int64_t inviteexpiration;
	char *groupname;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	char *caption;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_grouptype;
	Wa__Message__GroupInviteMessage__GroupType grouptype;
};

struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency : public ProtobufCppMessage
{
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency() :
		ProtobufCppMessage(wa__message__highly_structured_message__hsmlocalizable_parameter__hsmcurrency__descriptor)
	{}

	char *currencycode;
	protobuf_c_boolean has_amount1000;
	int64_t amount1000;
};

struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent : public ProtobufCppMessage
{
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent() :
		ProtobufCppMessage(wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_component__descriptor)
	{}

	protobuf_c_boolean has_dayofweek;
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent__DayOfWeekType dayofweek;
	protobuf_c_boolean has_year;
	uint32_t year;
	protobuf_c_boolean has_month;
	uint32_t month;
	protobuf_c_boolean has_dayofmonth;
	uint32_t dayofmonth;
	protobuf_c_boolean has_hour;
	uint32_t hour;
	protobuf_c_boolean has_minute;
	uint32_t minute;
	protobuf_c_boolean has_calendar;
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent__CalendarType calendar;
};

struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch : public ProtobufCppMessage
{
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch() :
		ProtobufCppMessage(wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_unix_epoch__descriptor)
	{}

	protobuf_c_boolean has_timestamp;
	int64_t timestamp;
};

typedef enum
{
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__DATETIME_ONEOF__NOT_SET = 0,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__DATETIME_ONEOF_COMPONENT = 1,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__DATETIME_ONEOF_UNIX_EPOCH = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__HSMDATE_TIME__DATETIME_ONEOF)
} Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__DatetimeOneofCase;

struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime : public ProtobufCppMessage
{
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime() :
		ProtobufCppMessage(wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__descriptor)
	{}

	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__DatetimeOneofCase datetime_oneof_case;
	union
	{
		Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent *component;
		Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch *unixepoch;
	};
};

typedef enum
{
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__PARAM_ONEOF__NOT_SET = 0,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__PARAM_ONEOF_CURRENCY = 2,
	WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__PARAM_ONEOF_DATE_TIME = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__HIGHLY_STRUCTURED_MESSAGE__HSMLOCALIZABLE_PARAMETER__PARAM_ONEOF)
} Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__ParamOneofCase;

struct Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter : public ProtobufCppMessage
{
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter() :
		ProtobufCppMessage(wa__message__highly_structured_message__hsmlocalizable_parameter__descriptor)
	{}

	char *default_;
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__ParamOneofCase param_oneof_case;
	union
	{
		Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency *currency;
		Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime *datetime;
	};
};

struct Wa__Message__HighlyStructuredMessage : public ProtobufCppMessage
{
	Wa__Message__HighlyStructuredMessage() :
		ProtobufCppMessage(wa__message__highly_structured_message__descriptor)
	{}

	char *namespace_;
	char *elementname;
	size_t n_params;
	char **params;
	char *fallbacklg;
	char *fallbacklc;
	size_t n_localizableparams;
	Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter **localizableparams;
	char *deterministiclg;
	char *deterministiclc;
	Wa__Message__TemplateMessage *hydratedhsm;
};

struct Wa__Message__HistorySyncNotification : public ProtobufCppMessage
{
	Wa__Message__HistorySyncNotification() :
		ProtobufCppMessage(wa__message__history_sync_notification__descriptor)
	{}

	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	char *directpath;
	protobuf_c_boolean has_synctype;
	Wa__Message__HistorySyncNotification__HistorySyncType synctype;
	protobuf_c_boolean has_chunkorder;
	uint32_t chunkorder;
	char *originalmessageid;
	protobuf_c_boolean has_progress;
	uint32_t progress;
};

struct Wa__Message__ImageMessage : public ProtobufCppMessage
{
	Wa__Message__ImageMessage() :
		ProtobufCppMessage(wa__message__image_message__descriptor)
	{}

	char *url;
	char *mimetype;
	char *caption;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_height;
	uint32_t height;
	protobuf_c_boolean has_width;
	uint32_t width;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	size_t n_interactiveannotations;
	Wa__InteractiveAnnotation **interactiveannotations;
	char *directpath;
	protobuf_c_boolean has_mediakeytimestamp;
	int64_t mediakeytimestamp;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_firstscansidecar;
	ProtobufCBinaryData firstscansidecar;
	protobuf_c_boolean has_firstscanlength;
	uint32_t firstscanlength;
	protobuf_c_boolean has_experimentgroupid;
	uint32_t experimentgroupid;
	protobuf_c_boolean has_scanssidecar;
	ProtobufCBinaryData scanssidecar;
	size_t n_scanlengths;
	uint32_t *scanlengths;
	protobuf_c_boolean has_midqualityfilesha256;
	ProtobufCBinaryData midqualityfilesha256;
	protobuf_c_boolean has_midqualityfileencsha256;
	ProtobufCBinaryData midqualityfileencsha256;
	protobuf_c_boolean has_viewonce;
	protobuf_c_boolean viewonce;
	char *thumbnaildirectpath;
	protobuf_c_boolean has_thumbnailsha256;
	ProtobufCBinaryData thumbnailsha256;
	protobuf_c_boolean has_thumbnailencsha256;
	ProtobufCBinaryData thumbnailencsha256;
	char *staticurl;
};

struct Wa__Message__InitialSecurityNotificationSettingSync : public ProtobufCppMessage
{
	Wa__Message__InitialSecurityNotificationSettingSync() :
		ProtobufCppMessage(wa__message__initial_security_notification_setting_sync__descriptor)
	{}

	protobuf_c_boolean has_securitynotificationenabled;
	protobuf_c_boolean securitynotificationenabled;
};

struct Wa__Message__InteractiveMessage__Body : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage__Body() :
		ProtobufCppMessage(wa__message__interactive_message__body__descriptor)
	{}

	char *text;
};

struct Wa__Message__InteractiveMessage__CollectionMessage : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage__CollectionMessage() :
		ProtobufCppMessage(wa__message__interactive_message__collection_message__descriptor)
	{}

	char *bizjid;
	char *id;
	protobuf_c_boolean has_messageversion;
	int32_t messageversion;
};

struct Wa__Message__InteractiveMessage__Footer : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage__Footer() :
		ProtobufCppMessage(wa__message__interactive_message__footer__descriptor)
	{}

	char *text;
};

typedef enum
{
	WA__MESSAGE__INTERACTIVE_MESSAGE__HEADER__MEDIA__NOT_SET = 0,
	WA__MESSAGE__INTERACTIVE_MESSAGE__HEADER__MEDIA_DOCUMENT_MESSAGE = 3,
	WA__MESSAGE__INTERACTIVE_MESSAGE__HEADER__MEDIA_IMAGE_MESSAGE = 4,
	WA__MESSAGE__INTERACTIVE_MESSAGE__HEADER__MEDIA_JPEG_THUMBNAIL = 6,
	WA__MESSAGE__INTERACTIVE_MESSAGE__HEADER__MEDIA_VIDEO_MESSAGE = 7
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__INTERACTIVE_MESSAGE__HEADER__MEDIA)
} Wa__Message__InteractiveMessage__Header__MediaCase;

struct Wa__Message__InteractiveMessage__Header : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage__Header() :
		ProtobufCppMessage(wa__message__interactive_message__header__descriptor)
	{}

	char *title;
	char *subtitle;
	protobuf_c_boolean has_hasmediaattachment;
	protobuf_c_boolean hasmediaattachment;
	Wa__Message__InteractiveMessage__Header__MediaCase media_case;
	union
	{
		Wa__Message__DocumentMessage *documentmessage;
		Wa__Message__ImageMessage *imagemessage;
		ProtobufCBinaryData jpegthumbnail;
		Wa__Message__VideoMessage *videomessage;
	};
};

struct Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton() :
		ProtobufCppMessage(wa__message__interactive_message__native_flow_message__native_flow_button__descriptor)
	{}

	char *name;
	char *buttonparamsjson;
};

struct Wa__Message__InteractiveMessage__NativeFlowMessage : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage__NativeFlowMessage() :
		ProtobufCppMessage(wa__message__interactive_message__native_flow_message__descriptor)
	{}

	size_t n_buttons;
	Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton **buttons;
	char *messageparamsjson;
	protobuf_c_boolean has_messageversion;
	int32_t messageversion;
};

struct Wa__Message__InteractiveMessage__ShopMessage : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage__ShopMessage() :
		ProtobufCppMessage(wa__message__interactive_message__shop_message__descriptor)
	{}

	char *id;
	protobuf_c_boolean has_surface;
	Wa__Message__InteractiveMessage__ShopMessage__Surface surface;
	protobuf_c_boolean has_messageversion;
	int32_t messageversion;
};

typedef enum
{
	WA__MESSAGE__INTERACTIVE_MESSAGE__INTERACTIVE_MESSAGE__NOT_SET = 0,
	WA__MESSAGE__INTERACTIVE_MESSAGE__INTERACTIVE_MESSAGE_SHOP_STOREFRONT_MESSAGE = 4,
	WA__MESSAGE__INTERACTIVE_MESSAGE__INTERACTIVE_MESSAGE_COLLECTION_MESSAGE = 5,
	WA__MESSAGE__INTERACTIVE_MESSAGE__INTERACTIVE_MESSAGE_NATIVE_FLOW_MESSAGE = 6
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__INTERACTIVE_MESSAGE__INTERACTIVE_MESSAGE)
} Wa__Message__InteractiveMessage__InteractiveMessageCase;

struct Wa__Message__InteractiveMessage : public ProtobufCppMessage
{
	Wa__Message__InteractiveMessage() :
		ProtobufCppMessage(wa__message__interactive_message__descriptor)
	{}

	Wa__Message__InteractiveMessage__Header *header;
	Wa__Message__InteractiveMessage__Body *body;
	Wa__Message__InteractiveMessage__Footer *footer;
	Wa__ContextInfo *contextinfo;
	Wa__Message__InteractiveMessage__InteractiveMessageCase interactive_message_case;
	union
	{
		Wa__Message__InteractiveMessage__ShopMessage *shopstorefrontmessage;
		Wa__Message__InteractiveMessage__CollectionMessage *collectionmessage;
		Wa__Message__InteractiveMessage__NativeFlowMessage *nativeflowmessage;
	};
};

struct Wa__Message__InteractiveResponseMessage__Body : public ProtobufCppMessage
{
	Wa__Message__InteractiveResponseMessage__Body() :
		ProtobufCppMessage(wa__message__interactive_response_message__body__descriptor)
	{}

	char *text;
};

struct Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage : public ProtobufCppMessage
{
	Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage() :
		ProtobufCppMessage(wa__message__interactive_response_message__native_flow_response_message__descriptor)
	{}

	char *name;
	char *paramsjson;
	protobuf_c_boolean has_version;
	int32_t version;
};

typedef enum
{
	WA__MESSAGE__INTERACTIVE_RESPONSE_MESSAGE__INTERACTIVE_RESPONSE_MESSAGE__NOT_SET = 0,
	WA__MESSAGE__INTERACTIVE_RESPONSE_MESSAGE__INTERACTIVE_RESPONSE_MESSAGE_NATIVE_FLOW_RESPONSE_MESSAGE = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__INTERACTIVE_RESPONSE_MESSAGE__INTERACTIVE_RESPONSE_MESSAGE)
} Wa__Message__InteractiveResponseMessage__InteractiveResponseMessageCase;

struct Wa__Message__InteractiveResponseMessage : public ProtobufCppMessage
{
	Wa__Message__InteractiveResponseMessage() :
		ProtobufCppMessage(wa__message__interactive_response_message__descriptor)
	{}

	Wa__Message__InteractiveResponseMessage__Body *body;
	Wa__ContextInfo *contextinfo;
	Wa__Message__InteractiveResponseMessage__InteractiveResponseMessageCase interactive_response_message_case;
	union
	{
		Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage *nativeflowresponsemessage;
	};
};

struct Wa__Message__InvoiceMessage : public ProtobufCppMessage
{
	Wa__Message__InvoiceMessage() :
		ProtobufCppMessage(wa__message__invoice_message__descriptor)
	{}

	char *note;
	char *token;
	protobuf_c_boolean has_attachmenttype;
	Wa__Message__InvoiceMessage__AttachmentType attachmenttype;
	char *attachmentmimetype;
	protobuf_c_boolean has_attachmentmediakey;
	ProtobufCBinaryData attachmentmediakey;
	protobuf_c_boolean has_attachmentmediakeytimestamp;
	int64_t attachmentmediakeytimestamp;
	protobuf_c_boolean has_attachmentfilesha256;
	ProtobufCBinaryData attachmentfilesha256;
	protobuf_c_boolean has_attachmentfileencsha256;
	ProtobufCBinaryData attachmentfileencsha256;
	char *attachmentdirectpath;
	protobuf_c_boolean has_attachmentjpegthumbnail;
	ProtobufCBinaryData attachmentjpegthumbnail;
};

struct Wa__Message__KeepInChatMessage : public ProtobufCppMessage
{
	Wa__Message__KeepInChatMessage() :
		ProtobufCppMessage(wa__message__keep_in_chat_message__descriptor)
	{}

	Wa__MessageKey *key;
	protobuf_c_boolean has_keeptype;
	Wa__KeepType keeptype;
	protobuf_c_boolean has_timestampms;
	int64_t timestampms;
};
#define WA__MESSAGE__KEEP_IN_CHAT_MESSAGE__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&wa__message__keep_in_chat_message__descriptor) \
    , NULL, 0, WA__KEEP_TYPE__UNKNOWN, 0, 0 }


struct Wa__Message__ListMessage__ProductListHeaderImage : public ProtobufCppMessage
{
	Wa__Message__ListMessage__ProductListHeaderImage() :
		ProtobufCppMessage(wa__message__list_message__product_list_header_image__descriptor)
	{}

	char *productid;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
};

struct Wa__Message__ListMessage__ProductListInfo : public ProtobufCppMessage
{
	Wa__Message__ListMessage__ProductListInfo() :
		ProtobufCppMessage(wa__message__list_message__product_list_info__descriptor)
	{}

	size_t n_productsections;
	Wa__Message__ListMessage__ProductSection **productsections;
	Wa__Message__ListMessage__ProductListHeaderImage *headerimage;
	char *businessownerjid;
};

struct Wa__Message__ListMessage__ProductSection : public ProtobufCppMessage
{
	Wa__Message__ListMessage__ProductSection() :
		ProtobufCppMessage(wa__message__list_message__product_section__descriptor)
	{}

	char *title;
	size_t n_products;
	Wa__Message__ListMessage__Product **products;
};

struct Wa__Message__ListMessage__Product : public ProtobufCppMessage
{
	Wa__Message__ListMessage__Product() :
		ProtobufCppMessage(wa__message__list_message__product__descriptor)
	{}

	char *productid;
};

struct Wa__Message__ListMessage__Row : public ProtobufCppMessage
{
	Wa__Message__ListMessage__Row() :
		ProtobufCppMessage(wa__message__list_message__row__descriptor)
	{}

	char *title;
	char *description;
	char *rowid;
};

struct Wa__Message__ListMessage__Section : public ProtobufCppMessage
{
	Wa__Message__ListMessage__Section() :
		ProtobufCppMessage(wa__message__list_message__section__descriptor)
	{}

	char *title;
	size_t n_rows;
	Wa__Message__ListMessage__Row **rows;
};

struct Wa__Message__ListMessage : public ProtobufCppMessage
{
	Wa__Message__ListMessage() :
		ProtobufCppMessage(wa__message__list_message__descriptor)
	{}

	char *title;
	char *description;
	char *buttontext;
	protobuf_c_boolean has_listtype;
	Wa__Message__ListMessage__ListType listtype;
	size_t n_sections;
	Wa__Message__ListMessage__Section **sections;
	Wa__Message__ListMessage__ProductListInfo *productlistinfo;
	char *footertext;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__ListResponseMessage__SingleSelectReply : public ProtobufCppMessage
{
	Wa__Message__ListResponseMessage__SingleSelectReply() :
		ProtobufCppMessage(wa__message__list_response_message__single_select_reply__descriptor)
	{}

	char *selectedrowid;
};

struct Wa__Message__ListResponseMessage : public ProtobufCppMessage
{
	Wa__Message__ListResponseMessage() :
		ProtobufCppMessage(wa__message__list_response_message__descriptor)
	{}

	char *title;
	protobuf_c_boolean has_listtype;
	Wa__Message__ListResponseMessage__ListType listtype;
	Wa__Message__ListResponseMessage__SingleSelectReply *singleselectreply;
	Wa__ContextInfo *contextinfo;
	char *description;
};

struct Wa__Message__LiveLocationMessage : public ProtobufCppMessage
{
	Wa__Message__LiveLocationMessage() :
		ProtobufCppMessage(wa__message__live_location_message__descriptor)
	{}

	protobuf_c_boolean has_degreeslatitude;
	double degreeslatitude;
	protobuf_c_boolean has_degreeslongitude;
	double degreeslongitude;
	protobuf_c_boolean has_accuracyinmeters;
	uint32_t accuracyinmeters;
	protobuf_c_boolean has_speedinmps;
	float speedinmps;
	protobuf_c_boolean has_degreesclockwisefrommagneticnorth;
	uint32_t degreesclockwisefrommagneticnorth;
	char *caption;
	protobuf_c_boolean has_sequencenumber;
	int64_t sequencenumber;
	protobuf_c_boolean has_timeoffset;
	uint32_t timeoffset;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__LocationMessage : public ProtobufCppMessage
{
	Wa__Message__LocationMessage() :
		ProtobufCppMessage(wa__message__location_message__descriptor)
	{}

	protobuf_c_boolean has_degreeslatitude;
	double degreeslatitude;
	protobuf_c_boolean has_degreeslongitude;
	double degreeslongitude;
	char *name;
	char *address;
	char *url;
	protobuf_c_boolean has_islive;
	protobuf_c_boolean islive;
	protobuf_c_boolean has_accuracyinmeters;
	uint32_t accuracyinmeters;
	protobuf_c_boolean has_speedinmps;
	float speedinmps;
	protobuf_c_boolean has_degreesclockwisefrommagneticnorth;
	uint32_t degreesclockwisefrommagneticnorth;
	char *comment;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__OrderMessage : public ProtobufCppMessage
{
	Wa__Message__OrderMessage() :
		ProtobufCppMessage(wa__message__order_message__descriptor)
	{}

	char *orderid;
	protobuf_c_boolean has_thumbnail;
	ProtobufCBinaryData thumbnail;
	protobuf_c_boolean has_itemcount;
	int32_t itemcount;
	protobuf_c_boolean has_status;
	Wa__Message__OrderMessage__OrderStatus status;
	protobuf_c_boolean has_surface;
	Wa__Message__OrderMessage__OrderSurface surface;
	char *message;
	char *ordertitle;
	char *sellerjid;
	char *token;
	protobuf_c_boolean has_totalamount1000;
	int64_t totalamount1000;
	char *totalcurrencycode;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__PaymentInviteMessage : public ProtobufCppMessage
{
	Wa__Message__PaymentInviteMessage() :
		ProtobufCppMessage(wa__message__payment_invite_message__descriptor)
	{}

	protobuf_c_boolean has_servicetype;
	Wa__Message__PaymentInviteMessage__ServiceType servicetype;
	protobuf_c_boolean has_expirytimestamp;
	int64_t expirytimestamp;
};

struct Wa__Message__PollCreationMessage__Option : public ProtobufCppMessage
{
	Wa__Message__PollCreationMessage__Option() :
		ProtobufCppMessage(wa__message__poll_creation_message__option__descriptor)
	{}

	char *optionname;
};

struct Wa__Message__PollCreationMessage : public ProtobufCppMessage
{
	Wa__Message__PollCreationMessage() :
		ProtobufCppMessage(wa__message__poll_creation_message__descriptor)
	{}

	protobuf_c_boolean has_enckey;
	ProtobufCBinaryData enckey;
	char *name;
	size_t n_options;
	Wa__Message__PollCreationMessage__Option **options;
	protobuf_c_boolean has_selectableoptionscount;
	uint32_t selectableoptionscount;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__PollEncValue : public ProtobufCppMessage
{
	Wa__Message__PollEncValue() :
		ProtobufCppMessage(wa__message__poll_enc_value__descriptor)
	{}

	protobuf_c_boolean has_encpayload;
	ProtobufCBinaryData encpayload;
	protobuf_c_boolean has_enciv;
	ProtobufCBinaryData enciv;
};

struct Wa__Message__PollUpdateMessageMetadata : public ProtobufCppMessage
{
	Wa__Message__PollUpdateMessageMetadata() :
		ProtobufCppMessage(wa__message__poll_update_message_metadata__descriptor)
	{}
};

struct Wa__Message__PollUpdateMessage : public ProtobufCppMessage
{
	Wa__Message__PollUpdateMessage() :
		ProtobufCppMessage(wa__message__poll_update_message__descriptor)
	{}

	Wa__MessageKey *pollcreationmessagekey;
	Wa__Message__PollEncValue *vote;
	Wa__Message__PollUpdateMessageMetadata *metadata;
	protobuf_c_boolean has_sendertimestampms;
	int64_t sendertimestampms;
};

struct Wa__Message__PollVoteMessage : public ProtobufCppMessage
{
	Wa__Message__PollVoteMessage() :
		ProtobufCppMessage(wa__message__poll_vote_message__descriptor)
	{}

	size_t n_selectedoptions;
	ProtobufCBinaryData *selectedoptions;
};

struct Wa__Message__ProductMessage__CatalogSnapshot : public ProtobufCppMessage
{
	Wa__Message__ProductMessage__CatalogSnapshot() :
		ProtobufCppMessage(wa__message__product_message__catalog_snapshot__descriptor)
	{}

	Wa__Message__ImageMessage *catalogimage;
	char *title;
	char *description;
};

struct Wa__Message__ProductMessage__ProductSnapshot : public ProtobufCppMessage
{
	Wa__Message__ProductMessage__ProductSnapshot() :
		ProtobufCppMessage(wa__message__product_message__product_snapshot__descriptor)
	{}

	Wa__Message__ImageMessage *productimage;
	char *productid;
	char *title;
	char *description;
	char *currencycode;
	protobuf_c_boolean has_priceamount1000;
	int64_t priceamount1000;
	char *retailerid;
	char *url;
	protobuf_c_boolean has_productimagecount;
	uint32_t productimagecount;
	char *firstimageid;
	protobuf_c_boolean has_salepriceamount1000;
	int64_t salepriceamount1000;
};

struct Wa__Message__ProductMessage : public ProtobufCppMessage
{
	Wa__Message__ProductMessage() :
		ProtobufCppMessage(wa__message__product_message__descriptor)
	{}

	Wa__Message__ProductMessage__ProductSnapshot *product;
	char *businessownerjid;
	Wa__Message__ProductMessage__CatalogSnapshot *catalog;
	char *body;
	char *footer;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__ProtocolMessage : public ProtobufCppMessage
{
	Wa__Message__ProtocolMessage() :
		ProtobufCppMessage(wa__message__protocol_message__descriptor)
	{}

	Wa__MessageKey *key;
	protobuf_c_boolean has_type;
	Wa__Message__ProtocolMessage__Type type;
	protobuf_c_boolean has_ephemeralexpiration;
	uint32_t ephemeralexpiration;
	protobuf_c_boolean has_ephemeralsettingtimestamp;
	int64_t ephemeralsettingtimestamp;
	Wa__Message__HistorySyncNotification *historysyncnotification;
	Wa__Message__AppStateSyncKeyShare *appstatesynckeyshare;
	Wa__Message__AppStateSyncKeyRequest *appstatesynckeyrequest;
	Wa__Message__InitialSecurityNotificationSettingSync *initialsecuritynotificationsettingsync;
	Wa__Message__AppStateFatalExceptionNotification *appstatefatalexceptionnotification;
	Wa__DisappearingMode *disappearingmode;
	Wa__Message__RequestMediaUploadMessage *requestmediauploadmessage;
	Wa__Message__RequestMediaUploadResponseMessage *requestmediauploadresponsemessage;
};

struct Wa__Message__ReactionMessage : public ProtobufCppMessage
{
	Wa__Message__ReactionMessage() :
		ProtobufCppMessage(wa__message__reaction_message__descriptor)
	{}

	Wa__MessageKey *key;
	char *text;
	char *groupingkey;
	protobuf_c_boolean has_sendertimestampms;
	int64_t sendertimestampms;
};

struct Wa__Message__RequestMediaUploadMessage : public ProtobufCppMessage
{
	Wa__Message__RequestMediaUploadMessage() :
		ProtobufCppMessage(wa__message__request_media_upload_message__descriptor)
	{}

	size_t n_filesha256;
	char **filesha256;
	protobuf_c_boolean has_rmrsource;
	Wa__Message__RmrSource rmrsource;
};

struct Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult : public ProtobufCppMessage
{
	Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult() :
		ProtobufCppMessage(wa__message__request_media_upload_response_message__request_media_upload_result__descriptor)
	{}

	char *filesha256;
	protobuf_c_boolean has_mediauploadresult;
	Wa__MediaRetryNotification__ResultType mediauploadresult;
	Wa__Message__StickerMessage *stickermessage;
};

struct Wa__Message__RequestMediaUploadResponseMessage : public ProtobufCppMessage
{
	Wa__Message__RequestMediaUploadResponseMessage() :
		ProtobufCppMessage(wa__message__request_media_upload_response_message__descriptor)
	{}

	protobuf_c_boolean has_rmrsource;
	Wa__Message__RmrSource rmrsource;
	char *stanzaid;
	size_t n_reuploadresult;
	Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult **reuploadresult;
};

struct Wa__Message__RequestPaymentMessage : public ProtobufCppMessage
{
	Wa__Message__RequestPaymentMessage() :
		ProtobufCppMessage(wa__message__request_payment_message__descriptor)
	{}

	Wa__Message *notemessage;
	char *currencycodeiso4217;
	protobuf_c_boolean has_amount1000;
	uint64_t amount1000;
	char *requestfrom;
	protobuf_c_boolean has_expirytimestamp;
	int64_t expirytimestamp;
	Wa__Money *amount;
	Wa__PaymentBackground *background;
};

struct Wa__Message__RequestPhoneNumberMessage : public ProtobufCppMessage
{
	Wa__Message__RequestPhoneNumberMessage() :
		ProtobufCppMessage(wa__message__request_phone_number_message__descriptor)
	{}

	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__SendPaymentMessage : public ProtobufCppMessage
{
	Wa__Message__SendPaymentMessage() :
		ProtobufCppMessage(wa__message__send_payment_message__descriptor)
	{}

	Wa__Message *notemessage;
	Wa__MessageKey *requestmessagekey;
	Wa__PaymentBackground *background;
};

struct Wa__Message__SenderKeyDistributionMessage : public ProtobufCppMessage
{
	Wa__Message__SenderKeyDistributionMessage() :
		ProtobufCppMessage(wa__message__sender_key_distribution_message__descriptor)
	{}

	char *groupid;
	protobuf_c_boolean has_axolotlsenderkeydistributionmessage;
	ProtobufCBinaryData axolotlsenderkeydistributionmessage;
};

struct Wa__Message__StickerMessage : public ProtobufCppMessage
{
	Wa__Message__StickerMessage() :
		ProtobufCppMessage(wa__message__sticker_message__descriptor)
	{}

	char *url;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	char *mimetype;
	protobuf_c_boolean has_height;
	uint32_t height;
	protobuf_c_boolean has_width;
	uint32_t width;
	char *directpath;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_mediakeytimestamp;
	int64_t mediakeytimestamp;
	protobuf_c_boolean has_firstframelength;
	uint32_t firstframelength;
	protobuf_c_boolean has_firstframesidecar;
	ProtobufCBinaryData firstframesidecar;
	protobuf_c_boolean has_isanimated;
	protobuf_c_boolean isanimated;
	protobuf_c_boolean has_pngthumbnail;
	ProtobufCBinaryData pngthumbnail;
	Wa__ContextInfo *contextinfo;
};

struct Wa__Message__StickerSyncRMRMessage : public ProtobufCppMessage
{
	Wa__Message__StickerSyncRMRMessage() :
		ProtobufCppMessage(wa__message__sticker_sync_rmrmessage__descriptor)
	{}

	size_t n_filehash;
	char **filehash;
	char *rmrsource;
	protobuf_c_boolean has_requesttimestamp;
	int64_t requesttimestamp;
};

struct Wa__Message__TemplateButtonReplyMessage : public ProtobufCppMessage
{
	Wa__Message__TemplateButtonReplyMessage() :
		ProtobufCppMessage(wa__message__template_button_reply_message__descriptor)
	{}

	char *selectedid;
	char *selecteddisplaytext;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_selectedindex;
	uint32_t selectedindex;
};

typedef enum
{
	WA__MESSAGE__TEMPLATE_MESSAGE__FOUR_ROW_TEMPLATE__TITLE__NOT_SET = 0,
	WA__MESSAGE__TEMPLATE_MESSAGE__FOUR_ROW_TEMPLATE__TITLE_DOCUMENT_MESSAGE = 1,
	WA__MESSAGE__TEMPLATE_MESSAGE__FOUR_ROW_TEMPLATE__TITLE_HIGHLY_STRUCTURED_MESSAGE = 2,
	WA__MESSAGE__TEMPLATE_MESSAGE__FOUR_ROW_TEMPLATE__TITLE_IMAGE_MESSAGE = 3,
	WA__MESSAGE__TEMPLATE_MESSAGE__FOUR_ROW_TEMPLATE__TITLE_VIDEO_MESSAGE = 4,
	WA__MESSAGE__TEMPLATE_MESSAGE__FOUR_ROW_TEMPLATE__TITLE_LOCATION_MESSAGE = 5
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__TEMPLATE_MESSAGE__FOUR_ROW_TEMPLATE__TITLE)
} Wa__Message__TemplateMessage__FourRowTemplate__TitleCase;

struct Wa__Message__TemplateMessage__FourRowTemplate : public ProtobufCppMessage
{
	Wa__Message__TemplateMessage__FourRowTemplate() :
		ProtobufCppMessage(wa__message__template_message__four_row_template__descriptor)
	{}

	Wa__Message__HighlyStructuredMessage *content;
	Wa__Message__HighlyStructuredMessage *footer;
	size_t n_buttons;
	Wa__TemplateButton **buttons;
	Wa__Message__TemplateMessage__FourRowTemplate__TitleCase title_case;
	union
	{
		Wa__Message__DocumentMessage *documentmessage;
		Wa__Message__HighlyStructuredMessage *highlystructuredmessage;
		Wa__Message__ImageMessage *imagemessage;
		Wa__Message__VideoMessage *videomessage;
		Wa__Message__LocationMessage *locationmessage;
	};
};

typedef enum
{
	WA__MESSAGE__TEMPLATE_MESSAGE__HYDRATED_FOUR_ROW_TEMPLATE__TITLE__NOT_SET = 0,
	WA__MESSAGE__TEMPLATE_MESSAGE__HYDRATED_FOUR_ROW_TEMPLATE__TITLE_DOCUMENT_MESSAGE = 1,
	WA__MESSAGE__TEMPLATE_MESSAGE__HYDRATED_FOUR_ROW_TEMPLATE__TITLE_HYDRATED_TITLE_TEXT = 2,
	WA__MESSAGE__TEMPLATE_MESSAGE__HYDRATED_FOUR_ROW_TEMPLATE__TITLE_IMAGE_MESSAGE = 3,
	WA__MESSAGE__TEMPLATE_MESSAGE__HYDRATED_FOUR_ROW_TEMPLATE__TITLE_VIDEO_MESSAGE = 4,
	WA__MESSAGE__TEMPLATE_MESSAGE__HYDRATED_FOUR_ROW_TEMPLATE__TITLE_LOCATION_MESSAGE = 5
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__TEMPLATE_MESSAGE__HYDRATED_FOUR_ROW_TEMPLATE__TITLE)
} Wa__Message__TemplateMessage__HydratedFourRowTemplate__TitleCase;

struct Wa__Message__TemplateMessage__HydratedFourRowTemplate : public ProtobufCppMessage
{
	Wa__Message__TemplateMessage__HydratedFourRowTemplate() :
		ProtobufCppMessage(wa__message__template_message__hydrated_four_row_template__descriptor)
	{}

	char *hydratedcontenttext;
	char *hydratedfootertext;
	size_t n_hydratedbuttons;
	Wa__HydratedTemplateButton **hydratedbuttons;
	char *templateid;
	Wa__Message__TemplateMessage__HydratedFourRowTemplate__TitleCase title_case;
	union
	{
		Wa__Message__DocumentMessage *documentmessage;
		char *hydratedtitletext;
		Wa__Message__ImageMessage *imagemessage;
		Wa__Message__VideoMessage *videomessage;
		Wa__Message__LocationMessage *locationmessage;
	};
};

typedef enum
{
	WA__MESSAGE__TEMPLATE_MESSAGE__FORMAT__NOT_SET = 0,
	WA__MESSAGE__TEMPLATE_MESSAGE__FORMAT_FOUR_ROW_TEMPLATE = 1,
	WA__MESSAGE__TEMPLATE_MESSAGE__FORMAT_HYDRATED_FOUR_ROW_TEMPLATE = 2
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__MESSAGE__TEMPLATE_MESSAGE__FORMAT)
} Wa__Message__TemplateMessage__FormatCase;

struct Wa__Message__TemplateMessage : public ProtobufCppMessage
{
	Wa__Message__TemplateMessage() :
		ProtobufCppMessage(wa__message__template_message__descriptor)
	{}

	Wa__ContextInfo *contextinfo;
	Wa__Message__TemplateMessage__HydratedFourRowTemplate *hydratedtemplate;
	Wa__Message__TemplateMessage__FormatCase format_case;
	union
	{
		Wa__Message__TemplateMessage__FourRowTemplate *fourrowtemplate;
		Wa__Message__TemplateMessage__HydratedFourRowTemplate *hydratedfourrowtemplate;
	};
};

struct Wa__Message__VideoMessage : public ProtobufCppMessage
{
	Wa__Message__VideoMessage() :
		ProtobufCppMessage(wa__message__video_message__descriptor)
	{}

	char *url;
	char *mimetype;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_seconds;
	uint32_t seconds;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	char *caption;
	protobuf_c_boolean has_gifplayback;
	protobuf_c_boolean gifplayback;
	protobuf_c_boolean has_height;
	uint32_t height;
	protobuf_c_boolean has_width;
	uint32_t width;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	size_t n_interactiveannotations;
	Wa__InteractiveAnnotation **interactiveannotations;
	char *directpath;
	protobuf_c_boolean has_mediakeytimestamp;
	int64_t mediakeytimestamp;
	protobuf_c_boolean has_jpegthumbnail;
	ProtobufCBinaryData jpegthumbnail;
	Wa__ContextInfo *contextinfo;
	protobuf_c_boolean has_streamingsidecar;
	ProtobufCBinaryData streamingsidecar;
	protobuf_c_boolean has_gifattribution;
	Wa__Message__VideoMessage__Attribution gifattribution;
	protobuf_c_boolean has_viewonce;
	protobuf_c_boolean viewonce;
	char *thumbnaildirectpath;
	protobuf_c_boolean has_thumbnailsha256;
	ProtobufCBinaryData thumbnailsha256;
	protobuf_c_boolean has_thumbnailencsha256;
	ProtobufCBinaryData thumbnailencsha256;
	char *staticurl;
};

struct Wa__Message : public ProtobufCppMessage
{
	Wa__Message() :
		ProtobufCppMessage(wa__message__descriptor)
	{}

	char *conversation;
	Wa__Message__SenderKeyDistributionMessage *senderkeydistributionmessage;
	Wa__Message__ImageMessage *imagemessage;
	Wa__Message__ContactMessage *contactmessage;
	Wa__Message__LocationMessage *locationmessage;
	Wa__Message__ExtendedTextMessage *extendedtextmessage;
	Wa__Message__DocumentMessage *documentmessage;
	Wa__Message__AudioMessage *audiomessage;
	Wa__Message__VideoMessage *videomessage;
	Wa__Message__Call *call;
	Wa__Message__Chat *chat;
	Wa__Message__ProtocolMessage *protocolmessage;
	Wa__Message__ContactsArrayMessage *contactsarraymessage;
	Wa__Message__HighlyStructuredMessage *highlystructuredmessage;
	Wa__Message__SenderKeyDistributionMessage *fastratchetkeysenderkeydistributionmessage;
	Wa__Message__SendPaymentMessage *sendpaymentmessage;
	Wa__Message__LiveLocationMessage *livelocationmessage;
	Wa__Message__RequestPaymentMessage *requestpaymentmessage;
	Wa__Message__DeclinePaymentRequestMessage *declinepaymentrequestmessage;
	Wa__Message__CancelPaymentRequestMessage *cancelpaymentrequestmessage;
	Wa__Message__TemplateMessage *templatemessage;
	Wa__Message__StickerMessage *stickermessage;
	Wa__Message__GroupInviteMessage *groupinvitemessage;
	Wa__Message__TemplateButtonReplyMessage *templatebuttonreplymessage;
	Wa__Message__ProductMessage *productmessage;
	Wa__Message__DeviceSentMessage *devicesentmessage;
	Wa__MessageContextInfo *messagecontextinfo;
	Wa__Message__ListMessage *listmessage;
	Wa__Message__FutureProofMessage *viewoncemessage;
	Wa__Message__OrderMessage *ordermessage;
	Wa__Message__ListResponseMessage *listresponsemessage;
	Wa__Message__FutureProofMessage *ephemeralmessage;
	Wa__Message__InvoiceMessage *invoicemessage;
	Wa__Message__ButtonsMessage *buttonsmessage;
	Wa__Message__ButtonsResponseMessage *buttonsresponsemessage;
	Wa__Message__PaymentInviteMessage *paymentinvitemessage;
	Wa__Message__InteractiveMessage *interactivemessage;
	Wa__Message__ReactionMessage *reactionmessage;
	Wa__Message__StickerSyncRMRMessage *stickersyncrmrmessage;
	Wa__Message__InteractiveResponseMessage *interactiveresponsemessage;
	Wa__Message__PollCreationMessage *pollcreationmessage;
	Wa__Message__PollUpdateMessage *pollupdatemessage;
	Wa__Message__KeepInChatMessage *keepinchatmessage;
	Wa__Message__FutureProofMessage *documentwithcaptionmessage;
	Wa__Message__RequestPhoneNumberMessage *requestphonenumbermessage;
	Wa__Message__FutureProofMessage *viewoncemessagev2;
};

struct Wa__MessageContextInfo : public ProtobufCppMessage
{
	Wa__MessageContextInfo() :
		ProtobufCppMessage(wa__message_context_info__descriptor)
	{}

	Wa__DeviceListMetadata *devicelistmetadata;
	protobuf_c_boolean has_devicelistmetadataversion;
	int32_t devicelistmetadataversion;
	protobuf_c_boolean has_messagesecret;
	ProtobufCBinaryData messagesecret;
	protobuf_c_boolean has_paddingbytes;
	ProtobufCBinaryData paddingbytes;
};

struct Wa__MessageKey : public ProtobufCppMessage
{
	Wa__MessageKey() :
		ProtobufCppMessage(wa__message_key__descriptor)
	{}

	char *remotejid;
	protobuf_c_boolean has_fromme;
	protobuf_c_boolean fromme;
	char *id;
	char *participant;
};

struct Wa__Money : public ProtobufCppMessage
{
	Wa__Money() :
		ProtobufCppMessage(wa__money__descriptor)
	{}

	protobuf_c_boolean has_value;
	int64_t value;
	protobuf_c_boolean has_offset;
	uint32_t offset;
	char *currencycode;
};

struct Wa__MsgOpaqueData__PollOption : public ProtobufCppMessage
{
	Wa__MsgOpaqueData__PollOption() :
		ProtobufCppMessage(wa__msg_opaque_data__poll_option__descriptor)
	{}

	char *name;
};

struct Wa__MsgOpaqueData : public ProtobufCppMessage
{
	Wa__MsgOpaqueData() :
		ProtobufCppMessage(wa__msg_opaque_data__descriptor)
	{}

	char *body;
	char *caption;
	protobuf_c_boolean has_lng;
	double lng;
	protobuf_c_boolean has_islive;
	protobuf_c_boolean islive;
	protobuf_c_boolean has_lat;
	double lat;
	protobuf_c_boolean has_paymentamount1000;
	int32_t paymentamount1000;
	char *paymentnotemsgbody;
	char *canonicalurl;
	char *matchedtext;
	char *title;
	char *description;
	protobuf_c_boolean has_futureproofbuffer;
	ProtobufCBinaryData futureproofbuffer;
	char *clienturl;
	char *loc;
	char *pollname;
	size_t n_polloptions;
	Wa__MsgOpaqueData__PollOption **polloptions;
	protobuf_c_boolean has_pollselectableoptionscount;
	uint32_t pollselectableoptionscount;
	protobuf_c_boolean has_messagesecret;
	ProtobufCBinaryData messagesecret;
	protobuf_c_boolean has_sendertimestampms;
	int64_t sendertimestampms;
	char *pollupdateparentkey;
	Wa__PollEncValue *encpollvote;
};

struct Wa__MsgRowOpaqueData : public ProtobufCppMessage
{
	Wa__MsgRowOpaqueData() :
		ProtobufCppMessage(wa__msg_row_opaque_data__descriptor)
	{}

	Wa__MsgOpaqueData *currentmsg;
	Wa__MsgOpaqueData *quotedmsg;
};

struct Wa__NoiseCertificate__Details : public ProtobufCppMessage
{
	Wa__NoiseCertificate__Details() :
		ProtobufCppMessage(wa__noise_certificate__details__descriptor)
	{}

	protobuf_c_boolean has_serial;
	uint32_t serial;
	char *issuer;
	protobuf_c_boolean has_expires;
	uint64_t expires;
	char *subject;
	protobuf_c_boolean has_key;
	ProtobufCBinaryData key;
};

struct Wa__NoiseCertificate : public ProtobufCppMessage
{
	Wa__NoiseCertificate() :
		ProtobufCppMessage(wa__noise_certificate__descriptor)
	{}

	protobuf_c_boolean has_details;
	ProtobufCBinaryData details;
	protobuf_c_boolean has_signature;
	ProtobufCBinaryData signature;
};

struct Wa__NotificationMessageInfo : public ProtobufCppMessage
{
	Wa__NotificationMessageInfo() :
		ProtobufCppMessage(wa__notification_message_info__descriptor)
	{}

	Wa__MessageKey *key;
	Wa__Message *message;
	protobuf_c_boolean has_messagetimestamp;
	uint64_t messagetimestamp;
	char *participant;
};

struct Wa__PastParticipant : public ProtobufCppMessage
{
	Wa__PastParticipant() :
		ProtobufCppMessage(wa__past_participant__descriptor)
	{}

	char *userjid;
	Wa__PastParticipant__LeaveReason leavereason;
	uint64_t leavets;
};

struct Wa__PastParticipants : public ProtobufCppMessage
{
	Wa__PastParticipants() :
		ProtobufCppMessage(wa__past_participants__descriptor)
	{}

	char *groupjid;
	size_t n_pastparticipants;
	Wa__PastParticipant **pastparticipants;
};

struct Wa__PaymentBackground__MediaData : public ProtobufCppMessage
{
	Wa__PaymentBackground__MediaData() :
		ProtobufCppMessage(wa__payment_background__media_data__descriptor)
	{}

	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	protobuf_c_boolean has_mediakeytimestamp;
	int64_t mediakeytimestamp;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	char *directpath;
};

struct Wa__PaymentBackground : public ProtobufCppMessage
{
	Wa__PaymentBackground() :
		ProtobufCppMessage(wa__payment_background__descriptor)
	{}

	char *id;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_width;
	uint32_t width;
	protobuf_c_boolean has_height;
	uint32_t height;
	char *mimetype;
	protobuf_c_boolean has_placeholderargb;
	uint32_t placeholderargb;
	protobuf_c_boolean has_textargb;
	uint32_t textargb;
	protobuf_c_boolean has_subtextargb;
	uint32_t subtextargb;
	Wa__PaymentBackground__MediaData *mediadata;
	protobuf_c_boolean has_type;
	Wa__PaymentBackground__Type type;
};

struct Wa__PaymentInfo : public ProtobufCppMessage
{
	Wa__PaymentInfo() :
		ProtobufCppMessage(wa__payment_info__descriptor)
	{}

	protobuf_c_boolean has_currencydeprecated;
	Wa__PaymentInfo__Currency currencydeprecated;
	protobuf_c_boolean has_amount1000;
	uint64_t amount1000;
	char *receiverjid;
	protobuf_c_boolean has_status;
	Wa__PaymentInfo__Status status;
	protobuf_c_boolean has_transactiontimestamp;
	uint64_t transactiontimestamp;
	Wa__MessageKey *requestmessagekey;
	protobuf_c_boolean has_expirytimestamp;
	uint64_t expirytimestamp;
	protobuf_c_boolean has_futureproofed;
	protobuf_c_boolean futureproofed;
	char *currency;
	protobuf_c_boolean has_txnstatus;
	Wa__PaymentInfo__TxnStatus txnstatus;
	protobuf_c_boolean has_usenovifiatformat;
	protobuf_c_boolean usenovifiatformat;
	Wa__Money *primaryamount;
	Wa__Money *exchangeamount;
};

struct Wa__PendingKeyExchange : public ProtobufCppMessage
{
	Wa__PendingKeyExchange() :
		ProtobufCppMessage(wa__pending_key_exchange__descriptor)
	{}

	protobuf_c_boolean has_sequence;
	uint32_t sequence;
	protobuf_c_boolean has_localbasekey;
	ProtobufCBinaryData localbasekey;
	protobuf_c_boolean has_localbasekeyprivate;
	ProtobufCBinaryData localbasekeyprivate;
	protobuf_c_boolean has_localratchetkey;
	ProtobufCBinaryData localratchetkey;
	protobuf_c_boolean has_localratchetkeyprivate;
	ProtobufCBinaryData localratchetkeyprivate;
	protobuf_c_boolean has_localidentitykey;
	ProtobufCBinaryData localidentitykey;
	protobuf_c_boolean has_localidentitykeyprivate;
	ProtobufCBinaryData localidentitykeyprivate;
};

struct Wa__PendingPreKey : public ProtobufCppMessage
{
	Wa__PendingPreKey() :
		ProtobufCppMessage(wa__pending_pre_key__descriptor)
	{}

	protobuf_c_boolean has_prekeyid;
	uint32_t prekeyid;
	protobuf_c_boolean has_signedprekeyid;
	int32_t signedprekeyid;
	protobuf_c_boolean has_basekey;
	ProtobufCBinaryData basekey;
};

struct Wa__PhotoChange : public ProtobufCppMessage
{
	Wa__PhotoChange() :
		ProtobufCppMessage(wa__photo_change__descriptor)
	{}

	protobuf_c_boolean has_oldphoto;
	ProtobufCBinaryData oldphoto;
	protobuf_c_boolean has_newphoto;
	ProtobufCBinaryData newphoto;
	protobuf_c_boolean has_newphotoid;
	uint32_t newphotoid;
};

struct Wa__Point : public ProtobufCppMessage
{
	Wa__Point() :
		ProtobufCppMessage(wa__point__descriptor)
	{}

	protobuf_c_boolean has_xdeprecated;
	int32_t xdeprecated;
	protobuf_c_boolean has_ydeprecated;
	int32_t ydeprecated;
	protobuf_c_boolean has_x;
	double x;
	protobuf_c_boolean has_y;
	double y;
};

struct Wa__PollAdditionalMetadata : public ProtobufCppMessage
{
	Wa__PollAdditionalMetadata() :
		ProtobufCppMessage(wa__poll_additional_metadata__descriptor)
	{}

	protobuf_c_boolean has_pollinvalidated;
	protobuf_c_boolean pollinvalidated;
};

struct Wa__PollEncValue : public ProtobufCppMessage
{
	Wa__PollEncValue() :
		ProtobufCppMessage(wa__poll_enc_value__descriptor)
	{}

	protobuf_c_boolean has_encpayload;
	ProtobufCBinaryData encpayload;
	protobuf_c_boolean has_enciv;
	ProtobufCBinaryData enciv;
};

struct Wa__PollUpdate : public ProtobufCppMessage
{
	Wa__PollUpdate() :
		ProtobufCppMessage(wa__poll_update__descriptor)
	{}

	Wa__MessageKey *pollupdatemessagekey;
	Wa__Message__PollVoteMessage *vote;
	protobuf_c_boolean has_sendertimestampms;
	int64_t sendertimestampms;
};

struct Wa__PreKeyRecordStructure : public ProtobufCppMessage
{
	Wa__PreKeyRecordStructure() :
		ProtobufCppMessage(wa__pre_key_record_structure__descriptor)
	{}

	protobuf_c_boolean has_id;
	uint32_t id;
	protobuf_c_boolean has_publickey;
	ProtobufCBinaryData publickey;
	protobuf_c_boolean has_privatekey;
	ProtobufCBinaryData privatekey;
};

struct Wa__Pushname : public ProtobufCppMessage
{
	Wa__Pushname() :
		ProtobufCppMessage(wa__pushname__descriptor)
	{}

	char *id;
	char *pushname;
};

struct Wa__Reaction : public ProtobufCppMessage
{
	Wa__Reaction() :
		ProtobufCppMessage(wa__reaction__descriptor)
	{}

	Wa__MessageKey *key;
	char *text;
	char *groupingkey;
	protobuf_c_boolean has_sendertimestampms;
	int64_t sendertimestampms;
	protobuf_c_boolean has_unread;
	protobuf_c_boolean unread;
};

struct Wa__RecentEmojiWeight : public ProtobufCppMessage
{
	Wa__RecentEmojiWeight() :
		ProtobufCppMessage(wa__recent_emoji_weight__descriptor)
	{}

	char *emoji;
	protobuf_c_boolean has_weight;
	float weight;
};

struct Wa__RecordStructure : public ProtobufCppMessage
{
	Wa__RecordStructure() :
		ProtobufCppMessage(wa__record_structure__descriptor)
	{}

	Wa__SessionStructure *currentsession;
	size_t n_previoussessions;
	Wa__SessionStructure **previoussessions;
};

struct Wa__SenderChainKey : public ProtobufCppMessage
{
	Wa__SenderChainKey() :
		ProtobufCppMessage(wa__sender_chain_key__descriptor)
	{}

	protobuf_c_boolean has_iteration;
	uint32_t iteration;
	protobuf_c_boolean has_seed;
	ProtobufCBinaryData seed;
};

struct Wa__SenderKeyRecordStructure : public ProtobufCppMessage
{
	Wa__SenderKeyRecordStructure() :
		ProtobufCppMessage(wa__sender_key_record_structure__descriptor)
	{}

	size_t n_senderkeystates;
	Wa__SenderKeyStateStructure **senderkeystates;
};

struct Wa__SenderKeyStateStructure : public ProtobufCppMessage
{
	Wa__SenderKeyStateStructure() :
		ProtobufCppMessage(wa__sender_key_state_structure__descriptor)
	{}

	protobuf_c_boolean has_senderkeyid;
	uint32_t senderkeyid;
	Wa__SenderChainKey *senderchainkey;
	Wa__SenderSigningKey *sendersigningkey;
	size_t n_sendermessagekeys;
	Wa__SenderMessageKey **sendermessagekeys;
};

struct Wa__SenderMessageKey : public ProtobufCppMessage
{
	Wa__SenderMessageKey() :
		ProtobufCppMessage(wa__sender_message_key__descriptor)
	{}

	protobuf_c_boolean has_iteration;
	uint32_t iteration;
	protobuf_c_boolean has_seed;
	ProtobufCBinaryData seed;
};

struct Wa__SenderSigningKey : public ProtobufCppMessage
{
	Wa__SenderSigningKey() :
		ProtobufCppMessage(wa__sender_signing_key__descriptor)
	{}

	protobuf_c_boolean has_public_;
	ProtobufCBinaryData public_;
	protobuf_c_boolean has_private_;
	ProtobufCBinaryData private_;
};

struct Wa__ServerErrorReceipt : public ProtobufCppMessage
{
	Wa__ServerErrorReceipt() :
		ProtobufCppMessage(wa__server_error_receipt__descriptor)
	{}

	char *stanzaid;
};

struct Wa__SessionStructure : public ProtobufCppMessage
{
	Wa__SessionStructure() :
		ProtobufCppMessage(wa__session_structure__descriptor)
	{}

	protobuf_c_boolean has_sessionversion;
	uint32_t sessionversion;
	protobuf_c_boolean has_localidentitypublic;
	ProtobufCBinaryData localidentitypublic;
	protobuf_c_boolean has_remoteidentitypublic;
	ProtobufCBinaryData remoteidentitypublic;
	protobuf_c_boolean has_rootkey;
	ProtobufCBinaryData rootkey;
	protobuf_c_boolean has_previouscounter;
	uint32_t previouscounter;
	Wa__Chain *senderchain;
	size_t n_receiverchains;
	Wa__Chain **receiverchains;
	Wa__PendingKeyExchange *pendingkeyexchange;
	Wa__PendingPreKey *pendingprekey;
	protobuf_c_boolean has_remoteregistrationid;
	uint32_t remoteregistrationid;
	protobuf_c_boolean has_localregistrationid;
	uint32_t localregistrationid;
	protobuf_c_boolean has_needsrefresh;
	protobuf_c_boolean needsrefresh;
	protobuf_c_boolean has_alicebasekey;
	ProtobufCBinaryData alicebasekey;
};

struct Wa__SignedPreKeyRecordStructure : public ProtobufCppMessage
{
	Wa__SignedPreKeyRecordStructure() :
		ProtobufCppMessage(wa__signed_pre_key_record_structure__descriptor)
	{}

	protobuf_c_boolean has_id;
	uint32_t id;
	protobuf_c_boolean has_publickey;
	ProtobufCBinaryData publickey;
	protobuf_c_boolean has_privatekey;
	ProtobufCBinaryData privatekey;
	protobuf_c_boolean has_signature;
	ProtobufCBinaryData signature;
	protobuf_c_boolean has_timestamp;
	uint64_t timestamp;
};

struct Wa__StatusPSA : public ProtobufCppMessage
{
	Wa__StatusPSA() :
		ProtobufCppMessage(wa__status_psa__descriptor)
	{}

	uint64_t campaignid;
	protobuf_c_boolean has_campaignexpirationtimestamp;
	uint64_t campaignexpirationtimestamp;
};

struct Wa__StickerMetadata : public ProtobufCppMessage
{
	Wa__StickerMetadata() :
		ProtobufCppMessage(wa__sticker_metadata__descriptor)
	{}

	char *url;
	protobuf_c_boolean has_filesha256;
	ProtobufCBinaryData filesha256;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	char *mimetype;
	protobuf_c_boolean has_height;
	uint32_t height;
	protobuf_c_boolean has_width;
	uint32_t width;
	char *directpath;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_weight;
	float weight;
};

struct Wa__SyncActionData : public ProtobufCppMessage
{
	Wa__SyncActionData() :
		ProtobufCppMessage(wa__sync_action_data__descriptor)
	{}

	protobuf_c_boolean has_index;
	ProtobufCBinaryData index;
	Wa__SyncActionValue *value;
	protobuf_c_boolean has_padding;
	ProtobufCBinaryData padding;
	protobuf_c_boolean has_version;
	int32_t version;
};

struct Wa__SyncActionValue__AgentAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__AgentAction() :
		ProtobufCppMessage(wa__sync_action_value__agent_action__descriptor)
	{}

	char *name;
	protobuf_c_boolean has_deviceid;
	int32_t deviceid;
	protobuf_c_boolean has_isdeleted;
	protobuf_c_boolean isdeleted;
};

struct Wa__SyncActionValue__AndroidUnsupportedActions : public ProtobufCppMessage
{
	Wa__SyncActionValue__AndroidUnsupportedActions() :
		ProtobufCppMessage(wa__sync_action_value__android_unsupported_actions__descriptor)
	{}

	protobuf_c_boolean has_allowed;
	protobuf_c_boolean allowed;
};

struct Wa__SyncActionValue__ArchiveChatAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__ArchiveChatAction() :
		ProtobufCppMessage(wa__sync_action_value__archive_chat_action__descriptor)
	{}

	protobuf_c_boolean has_archived;
	protobuf_c_boolean archived;
	Wa__SyncActionValue__SyncActionMessageRange *messagerange;
};

struct Wa__SyncActionValue__ClearChatAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__ClearChatAction() :
		ProtobufCppMessage(wa__sync_action_value__clear_chat_action__descriptor)
	{}

	Wa__SyncActionValue__SyncActionMessageRange *messagerange;
};

struct Wa__SyncActionValue__ContactAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__ContactAction() :
		ProtobufCppMessage(wa__sync_action_value__contact_action__descriptor)
	{}

	char *fullname;
	char *firstname;
};

struct Wa__SyncActionValue__DeleteChatAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__DeleteChatAction() :
		ProtobufCppMessage(wa__sync_action_value__delete_chat_action__descriptor)
	{}

	Wa__SyncActionValue__SyncActionMessageRange *messagerange;
};

struct Wa__SyncActionValue__DeleteMessageForMeAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__DeleteMessageForMeAction() :
		ProtobufCppMessage(wa__sync_action_value__delete_message_for_me_action__descriptor)
	{}

	protobuf_c_boolean has_deletemedia;
	protobuf_c_boolean deletemedia;
	protobuf_c_boolean has_messagetimestamp;
	int64_t messagetimestamp;
};

struct Wa__SyncActionValue__KeyExpiration : public ProtobufCppMessage
{
	Wa__SyncActionValue__KeyExpiration() :
		ProtobufCppMessage(wa__sync_action_value__key_expiration__descriptor)
	{}

	protobuf_c_boolean has_expiredkeyepoch;
	int32_t expiredkeyepoch;
};

struct Wa__SyncActionValue__LabelAssociationAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__LabelAssociationAction() :
		ProtobufCppMessage(wa__sync_action_value__label_association_action__descriptor)
	{}

	protobuf_c_boolean has_labeled;
	protobuf_c_boolean labeled;
};

struct Wa__SyncActionValue__LabelEditAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__LabelEditAction() :
		ProtobufCppMessage(wa__sync_action_value__label_edit_action__descriptor)
	{}

	char *name;
	protobuf_c_boolean has_color;
	int32_t color;
	protobuf_c_boolean has_predefinedid;
	int32_t predefinedid;
	protobuf_c_boolean has_deleted;
	protobuf_c_boolean deleted;
};

struct Wa__SyncActionValue__LocaleSetting : public ProtobufCppMessage
{
	Wa__SyncActionValue__LocaleSetting() :
		ProtobufCppMessage(wa__sync_action_value__locale_setting__descriptor)
	{}

	char *locale;
};

struct Wa__SyncActionValue__MarkChatAsReadAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__MarkChatAsReadAction() :
		ProtobufCppMessage(wa__sync_action_value__mark_chat_as_read_action__descriptor)
	{}

	protobuf_c_boolean has_read;
	protobuf_c_boolean read;
	Wa__SyncActionValue__SyncActionMessageRange *messagerange;
};

struct Wa__SyncActionValue__MuteAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__MuteAction() :
		ProtobufCppMessage(wa__sync_action_value__mute_action__descriptor)
	{}

	protobuf_c_boolean has_muted;
	protobuf_c_boolean muted;
	protobuf_c_boolean has_muteendtimestamp;
	int64_t muteendtimestamp;
};

struct Wa__SyncActionValue__NuxAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__NuxAction() :
		ProtobufCppMessage(wa__sync_action_value__nux_action__descriptor)
	{}

	protobuf_c_boolean has_acknowledged;
	protobuf_c_boolean acknowledged;
};

struct Wa__SyncActionValue__PinAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__PinAction() :
		ProtobufCppMessage(wa__sync_action_value__pin_action__descriptor)
	{}

	protobuf_c_boolean has_pinned;
	protobuf_c_boolean pinned;
};

struct Wa__SyncActionValue__PrimaryFeature : public ProtobufCppMessage
{
	Wa__SyncActionValue__PrimaryFeature() :
		ProtobufCppMessage(wa__sync_action_value__primary_feature__descriptor)
	{}

	size_t n_flags;
	char **flags;
};

struct Wa__SyncActionValue__PrimaryVersionAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__PrimaryVersionAction() :
		ProtobufCppMessage(wa__sync_action_value__primary_version_action__descriptor)
	{}

	char *version;
};

struct Wa__SyncActionValue__PushNameSetting : public ProtobufCppMessage
{
	Wa__SyncActionValue__PushNameSetting() :
		ProtobufCppMessage(wa__sync_action_value__push_name_setting__descriptor)
	{}

	char *name;
};

struct Wa__SyncActionValue__QuickReplyAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__QuickReplyAction() :
		ProtobufCppMessage(wa__sync_action_value__quick_reply_action__descriptor)
	{}

	char *shortcut;
	char *message;
	size_t n_keywords;
	char **keywords;
	protobuf_c_boolean has_count;
	int32_t count;
	protobuf_c_boolean has_deleted;
	protobuf_c_boolean deleted;
};

struct Wa__SyncActionValue__RecentEmojiWeightsAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__RecentEmojiWeightsAction() :
		ProtobufCppMessage(wa__sync_action_value__recent_emoji_weights_action__descriptor)
	{}

	size_t n_weights;
	Wa__RecentEmojiWeight **weights;
};

struct Wa__SyncActionValue__SecurityNotificationSetting : public ProtobufCppMessage
{
	Wa__SyncActionValue__SecurityNotificationSetting() :
		ProtobufCppMessage(wa__sync_action_value__security_notification_setting__descriptor)
	{}

	protobuf_c_boolean has_shownotification;
	protobuf_c_boolean shownotification;
};

struct Wa__SyncActionValue__StarAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__StarAction() :
		ProtobufCppMessage(wa__sync_action_value__star_action__descriptor)
	{}

	protobuf_c_boolean has_starred;
	protobuf_c_boolean starred;
};

struct Wa__SyncActionValue__StickerAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__StickerAction() :
		ProtobufCppMessage(wa__sync_action_value__sticker_action__descriptor)
	{}

	char *url;
	protobuf_c_boolean has_fileencsha256;
	ProtobufCBinaryData fileencsha256;
	protobuf_c_boolean has_mediakey;
	ProtobufCBinaryData mediakey;
	char *mimetype;
	protobuf_c_boolean has_height;
	uint32_t height;
	protobuf_c_boolean has_width;
	uint32_t width;
	char *directpath;
	protobuf_c_boolean has_filelength;
	uint64_t filelength;
	protobuf_c_boolean has_isfavorite;
	protobuf_c_boolean isfavorite;
	protobuf_c_boolean has_deviceidhint;
	uint32_t deviceidhint;
};

struct Wa__SyncActionValue__SubscriptionAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__SubscriptionAction() :
		ProtobufCppMessage(wa__sync_action_value__subscription_action__descriptor)
	{}

	protobuf_c_boolean has_isdeactivated;
	protobuf_c_boolean isdeactivated;
	protobuf_c_boolean has_isautorenewing;
	protobuf_c_boolean isautorenewing;
	protobuf_c_boolean has_expirationdate;
	int64_t expirationdate;
};

struct Wa__SyncActionValue__SyncActionMessageRange : public ProtobufCppMessage
{
	Wa__SyncActionValue__SyncActionMessageRange() :
		ProtobufCppMessage(wa__sync_action_value__sync_action_message_range__descriptor)
	{}

	protobuf_c_boolean has_lastmessagetimestamp;
	int64_t lastmessagetimestamp;
	protobuf_c_boolean has_lastsystemmessagetimestamp;
	int64_t lastsystemmessagetimestamp;
	size_t n_messages;
	Wa__SyncActionValue__SyncActionMessage **messages;
};

struct Wa__SyncActionValue__SyncActionMessage : public ProtobufCppMessage
{
	Wa__SyncActionValue__SyncActionMessage() :
		ProtobufCppMessage(wa__sync_action_value__sync_action_message__descriptor)
	{}

	Wa__MessageKey *key;
	protobuf_c_boolean has_timestamp;
	int64_t timestamp;
};

struct Wa__SyncActionValue__TimeFormatAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__TimeFormatAction() :
		ProtobufCppMessage(wa__sync_action_value__time_format_action__descriptor)
	{}

	protobuf_c_boolean has_istwentyfourhourformatenabled;
	protobuf_c_boolean istwentyfourhourformatenabled;
};

struct Wa__SyncActionValue__UnarchiveChatsSetting : public ProtobufCppMessage
{
	Wa__SyncActionValue__UnarchiveChatsSetting() :
		ProtobufCppMessage(wa__sync_action_value__unarchive_chats_setting__descriptor)
	{}

	protobuf_c_boolean has_unarchivechats;
	protobuf_c_boolean unarchivechats;
};

struct Wa__SyncActionValue__UserStatusMuteAction : public ProtobufCppMessage
{
	Wa__SyncActionValue__UserStatusMuteAction() :
		ProtobufCppMessage(wa__sync_action_value__user_status_mute_action__descriptor)
	{}

	protobuf_c_boolean has_muted;
	protobuf_c_boolean muted;
};

struct Wa__SyncActionValue : public ProtobufCppMessage
{
	Wa__SyncActionValue() :
		ProtobufCppMessage(wa__sync_action_value__descriptor)
	{}

	protobuf_c_boolean has_timestamp;
	int64_t timestamp;
	Wa__SyncActionValue__StarAction *staraction;
	Wa__SyncActionValue__ContactAction *contactaction;
	Wa__SyncActionValue__MuteAction *muteaction;
	Wa__SyncActionValue__PinAction *pinaction;
	Wa__SyncActionValue__SecurityNotificationSetting *securitynotificationsetting;
	Wa__SyncActionValue__PushNameSetting *pushnamesetting;
	Wa__SyncActionValue__QuickReplyAction *quickreplyaction;
	Wa__SyncActionValue__RecentEmojiWeightsAction *recentemojiweightsaction;
	Wa__SyncActionValue__LabelEditAction *labeleditaction;
	Wa__SyncActionValue__LabelAssociationAction *labelassociationaction;
	Wa__SyncActionValue__LocaleSetting *localesetting;
	Wa__SyncActionValue__ArchiveChatAction *archivechataction;
	Wa__SyncActionValue__DeleteMessageForMeAction *deletemessageformeaction;
	Wa__SyncActionValue__KeyExpiration *keyexpiration;
	Wa__SyncActionValue__MarkChatAsReadAction *markchatasreadaction;
	Wa__SyncActionValue__ClearChatAction *clearchataction;
	Wa__SyncActionValue__DeleteChatAction *deletechataction;
	Wa__SyncActionValue__UnarchiveChatsSetting *unarchivechatssetting;
	Wa__SyncActionValue__PrimaryFeature *primaryfeature;
	Wa__SyncActionValue__AndroidUnsupportedActions *androidunsupportedactions;
	Wa__SyncActionValue__AgentAction *agentaction;
	Wa__SyncActionValue__SubscriptionAction *subscriptionaction;
	Wa__SyncActionValue__UserStatusMuteAction *userstatusmuteaction;
	Wa__SyncActionValue__TimeFormatAction *timeformataction;
	Wa__SyncActionValue__NuxAction *nuxaction;
	Wa__SyncActionValue__PrimaryVersionAction *primaryversionaction;
	Wa__SyncActionValue__StickerAction *stickeraction;
};

struct Wa__SyncdIndex : public ProtobufCppMessage
{
	Wa__SyncdIndex() :
		ProtobufCppMessage(wa__syncd_index__descriptor)
	{}

	protobuf_c_boolean has_blob;
	ProtobufCBinaryData blob;
};

struct Wa__SyncdMutation : public ProtobufCppMessage
{
	Wa__SyncdMutation() :
		ProtobufCppMessage(wa__syncd_mutation__descriptor)
	{}

	protobuf_c_boolean has_operation;
	Wa__SyncdMutation__SyncdOperation operation;
	Wa__SyncdRecord *record;
};

struct Wa__SyncdMutations : public ProtobufCppMessage
{
	Wa__SyncdMutations() :
		ProtobufCppMessage(wa__syncd_mutations__descriptor)
	{}

	size_t n_mutations;
	Wa__SyncdMutation **mutations;
};

struct Wa__SyncdPatch : public ProtobufCppMessage
{
	Wa__SyncdPatch() :
		ProtobufCppMessage(wa__syncd_patch__descriptor)
	{}

	Wa__SyncdVersion *version;
	size_t n_mutations;
	Wa__SyncdMutation **mutations;
	Wa__ExternalBlobReference *externalmutations;
	protobuf_c_boolean has_snapshotmac;
	ProtobufCBinaryData snapshotmac;
	protobuf_c_boolean has_patchmac;
	ProtobufCBinaryData patchmac;
	Wa__KeyId *keyid;
	Wa__ExitCode *exitcode;
	protobuf_c_boolean has_deviceindex;
	uint32_t deviceindex;
};

struct Wa__SyncdRecord : public ProtobufCppMessage
{
	Wa__SyncdRecord() :
		ProtobufCppMessage(wa__syncd_record__descriptor)
	{}

	Wa__SyncdIndex *index;
	Wa__SyncdValue *value;
	Wa__KeyId *keyid;
};

struct Wa__SyncdSnapshot : public ProtobufCppMessage
{
	Wa__SyncdSnapshot() :
		ProtobufCppMessage(wa__syncd_snapshot__descriptor)
	{}

	Wa__SyncdVersion *version;
	size_t n_records;
	Wa__SyncdRecord **records;
	protobuf_c_boolean has_mac;
	ProtobufCBinaryData mac;
	Wa__KeyId *keyid;
};

struct Wa__SyncdValue : public ProtobufCppMessage
{
	Wa__SyncdValue() :
		ProtobufCppMessage(wa__syncd_value__descriptor)
	{}

	protobuf_c_boolean has_blob;
	ProtobufCBinaryData blob;
};

struct Wa__SyncdVersion : public ProtobufCppMessage
{
	Wa__SyncdVersion() :
		ProtobufCppMessage(wa__syncd_version__descriptor)
	{}

	protobuf_c_boolean has_version;
	uint64_t version;
};

struct Wa__TemplateButton__CallButton : public ProtobufCppMessage
{
	Wa__TemplateButton__CallButton() :
		ProtobufCppMessage(wa__template_button__call_button__descriptor)
	{}

	Wa__Message__HighlyStructuredMessage *displaytext;
	Wa__Message__HighlyStructuredMessage *phonenumber;
};

struct Wa__TemplateButton__QuickReplyButton : public ProtobufCppMessage
{
	Wa__TemplateButton__QuickReplyButton() :
		ProtobufCppMessage(wa__template_button__quick_reply_button__descriptor)
	{}

	Wa__Message__HighlyStructuredMessage *displaytext;
	char *id;
};

struct Wa__TemplateButton__URLButton : public ProtobufCppMessage
{
	Wa__TemplateButton__URLButton() :
		ProtobufCppMessage(wa__template_button__urlbutton__descriptor)
	{}

	Wa__Message__HighlyStructuredMessage *displaytext;
	Wa__Message__HighlyStructuredMessage *url;
};

typedef enum
{
	WA__TEMPLATE_BUTTON__BUTTON__NOT_SET = 0,
	WA__TEMPLATE_BUTTON__BUTTON_QUICK_REPLY_BUTTON = 1,
	WA__TEMPLATE_BUTTON__BUTTON_URL_BUTTON = 2,
	WA__TEMPLATE_BUTTON__BUTTON_CALL_BUTTON = 3
	PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(WA__TEMPLATE_BUTTON__BUTTON)
} Wa__TemplateButton__ButtonCase;

struct Wa__TemplateButton : public ProtobufCppMessage
{
	Wa__TemplateButton() :
		ProtobufCppMessage(wa__template_button__descriptor)
	{}

	protobuf_c_boolean has_index;
	uint32_t index;
	Wa__TemplateButton__ButtonCase button_case;
	union
	{
		Wa__TemplateButton__QuickReplyButton *quickreplybutton;
		Wa__TemplateButton__URLButton *urlbutton;
		Wa__TemplateButton__CallButton *callbutton;
	};
};

struct Wa__UserReceipt : public ProtobufCppMessage
{
	Wa__UserReceipt() :
		ProtobufCppMessage(wa__user_receipt__descriptor)
	{}

	char *userjid;
	protobuf_c_boolean has_receipttimestamp;
	int64_t receipttimestamp;
	protobuf_c_boolean has_readtimestamp;
	int64_t readtimestamp;
	protobuf_c_boolean has_playedtimestamp;
	int64_t playedtimestamp;
	size_t n_pendingdevicejid;
	char **pendingdevicejid;
	size_t n_delivereddevicejid;
	char **delivereddevicejid;
};

struct Wa__VerifiedNameCertificate__Details : public ProtobufCppMessage
{
	Wa__VerifiedNameCertificate__Details() :
		ProtobufCppMessage(wa__verified_name_certificate__details__descriptor)
	{}

	protobuf_c_boolean has_serial;
	uint64_t serial;
	char *issuer;
	char *verifiedname;
	size_t n_localizednames;
	Wa__LocalizedName **localizednames;
	protobuf_c_boolean has_issuetime;
	uint64_t issuetime;
};

struct Wa__VerifiedNameCertificate : public ProtobufCppMessage
{
	Wa__VerifiedNameCertificate() :
		ProtobufCppMessage(wa__verified_name_certificate__descriptor)
	{}

	protobuf_c_boolean has_details;
	ProtobufCBinaryData details;
	protobuf_c_boolean has_signature;
	ProtobufCBinaryData signature;
	protobuf_c_boolean has_serversignature;
	ProtobufCBinaryData serversignature;
};

struct Wa__WallpaperSettings : public ProtobufCppMessage
{
	Wa__WallpaperSettings() :
		ProtobufCppMessage(wa__wallpaper_settings__descriptor)
	{}

	char *filename;
	protobuf_c_boolean has_opacity;
	uint32_t opacity;
};

struct Wa__WebFeatures : public ProtobufCppMessage
{
	Wa__WebFeatures() :
		ProtobufCppMessage(wa__web_features__descriptor)
	{}

	protobuf_c_boolean has_labelsdisplay;
	Wa__WebFeatures__Flag labelsdisplay;
	protobuf_c_boolean has_voipindividualoutgoing;
	Wa__WebFeatures__Flag voipindividualoutgoing;
	protobuf_c_boolean has_groupsv3;
	Wa__WebFeatures__Flag groupsv3;
	protobuf_c_boolean has_groupsv3create;
	Wa__WebFeatures__Flag groupsv3create;
	protobuf_c_boolean has_changenumberv2;
	Wa__WebFeatures__Flag changenumberv2;
	protobuf_c_boolean has_querystatusv3thumbnail;
	Wa__WebFeatures__Flag querystatusv3thumbnail;
	protobuf_c_boolean has_livelocations;
	Wa__WebFeatures__Flag livelocations;
	protobuf_c_boolean has_queryvname;
	Wa__WebFeatures__Flag queryvname;
	protobuf_c_boolean has_voipindividualincoming;
	Wa__WebFeatures__Flag voipindividualincoming;
	protobuf_c_boolean has_quickrepliesquery;
	Wa__WebFeatures__Flag quickrepliesquery;
	protobuf_c_boolean has_payments;
	Wa__WebFeatures__Flag payments;
	protobuf_c_boolean has_stickerpackquery;
	Wa__WebFeatures__Flag stickerpackquery;
	protobuf_c_boolean has_livelocationsfinal;
	Wa__WebFeatures__Flag livelocationsfinal;
	protobuf_c_boolean has_labelsedit;
	Wa__WebFeatures__Flag labelsedit;
	protobuf_c_boolean has_mediaupload;
	Wa__WebFeatures__Flag mediaupload;
	protobuf_c_boolean has_mediauploadrichquickreplies;
	Wa__WebFeatures__Flag mediauploadrichquickreplies;
	protobuf_c_boolean has_vnamev2;
	Wa__WebFeatures__Flag vnamev2;
	protobuf_c_boolean has_videoplaybackurl;
	Wa__WebFeatures__Flag videoplaybackurl;
	protobuf_c_boolean has_statusranking;
	Wa__WebFeatures__Flag statusranking;
	protobuf_c_boolean has_voipindividualvideo;
	Wa__WebFeatures__Flag voipindividualvideo;
	protobuf_c_boolean has_thirdpartystickers;
	Wa__WebFeatures__Flag thirdpartystickers;
	protobuf_c_boolean has_frequentlyforwardedsetting;
	Wa__WebFeatures__Flag frequentlyforwardedsetting;
	protobuf_c_boolean has_groupsv4joinpermission;
	Wa__WebFeatures__Flag groupsv4joinpermission;
	protobuf_c_boolean has_recentstickers;
	Wa__WebFeatures__Flag recentstickers;
	protobuf_c_boolean has_catalog;
	Wa__WebFeatures__Flag catalog;
	protobuf_c_boolean has_starredstickers;
	Wa__WebFeatures__Flag starredstickers;
	protobuf_c_boolean has_voipgroupcall;
	Wa__WebFeatures__Flag voipgroupcall;
	protobuf_c_boolean has_templatemessage;
	Wa__WebFeatures__Flag templatemessage;
	protobuf_c_boolean has_templatemessageinteractivity;
	Wa__WebFeatures__Flag templatemessageinteractivity;
	protobuf_c_boolean has_ephemeralmessages;
	Wa__WebFeatures__Flag ephemeralmessages;
	protobuf_c_boolean has_e2enotificationsync;
	Wa__WebFeatures__Flag e2enotificationsync;
	protobuf_c_boolean has_recentstickersv2;
	Wa__WebFeatures__Flag recentstickersv2;
	protobuf_c_boolean has_recentstickersv3;
	Wa__WebFeatures__Flag recentstickersv3;
	protobuf_c_boolean has_usernotice;
	Wa__WebFeatures__Flag usernotice;
	protobuf_c_boolean has_support;
	Wa__WebFeatures__Flag support;
	protobuf_c_boolean has_groupuiicleanup;
	Wa__WebFeatures__Flag groupuiicleanup;
	protobuf_c_boolean has_groupdogfoodinginternalonly;
	Wa__WebFeatures__Flag groupdogfoodinginternalonly;
	protobuf_c_boolean has_settingssync;
	Wa__WebFeatures__Flag settingssync;
	protobuf_c_boolean has_archivev2;
	Wa__WebFeatures__Flag archivev2;
	protobuf_c_boolean has_ephemeralallowgroupmembers;
	Wa__WebFeatures__Flag ephemeralallowgroupmembers;
	protobuf_c_boolean has_ephemeral24hduration;
	Wa__WebFeatures__Flag ephemeral24hduration;
	protobuf_c_boolean has_mdforceupgrade;
	Wa__WebFeatures__Flag mdforceupgrade;
	protobuf_c_boolean has_disappearingmode;
	Wa__WebFeatures__Flag disappearingmode;
	protobuf_c_boolean has_externalmdoptinavailable;
	Wa__WebFeatures__Flag externalmdoptinavailable;
	protobuf_c_boolean has_nodeletemessagetimelimit;
	Wa__WebFeatures__Flag nodeletemessagetimelimit;
};

struct Wa__WebMessageInfo : public ProtobufCppMessage
{
	Wa__WebMessageInfo() :
		ProtobufCppMessage(wa__web_message_info__descriptor)
	{}

	Wa__MessageKey *key;
	Wa__Message *message;
	protobuf_c_boolean has_messagetimestamp;
	uint64_t messagetimestamp;
	protobuf_c_boolean has_status;
	Wa__WebMessageInfo__Status status;
	char *participant;
	protobuf_c_boolean has_messagec2stimestamp;
	uint64_t messagec2stimestamp;
	protobuf_c_boolean has_ignore;
	protobuf_c_boolean ignore;
	protobuf_c_boolean has_starred;
	protobuf_c_boolean starred;
	protobuf_c_boolean has_broadcast;
	protobuf_c_boolean broadcast;
	char *pushname;
	protobuf_c_boolean has_mediaciphertextsha256;
	ProtobufCBinaryData mediaciphertextsha256;
	protobuf_c_boolean has_multicast;
	protobuf_c_boolean multicast;
	protobuf_c_boolean has_urltext;
	protobuf_c_boolean urltext;
	protobuf_c_boolean has_urlnumber;
	protobuf_c_boolean urlnumber;
	protobuf_c_boolean has_messagestubtype;
	Wa__WebMessageInfo__StubType messagestubtype;
	protobuf_c_boolean has_clearmedia;
	protobuf_c_boolean clearmedia;
	size_t n_messagestubparameters;
	char **messagestubparameters;
	protobuf_c_boolean has_duration;
	uint32_t duration;
	size_t n_labels;
	char **labels;
	Wa__PaymentInfo *paymentinfo;
	Wa__Message__LiveLocationMessage *finallivelocation;
	Wa__PaymentInfo *quotedpaymentinfo;
	protobuf_c_boolean has_ephemeralstarttimestamp;
	uint64_t ephemeralstarttimestamp;
	protobuf_c_boolean has_ephemeralduration;
	uint32_t ephemeralduration;
	protobuf_c_boolean has_ephemeralofftoon;
	protobuf_c_boolean ephemeralofftoon;
	protobuf_c_boolean has_ephemeraloutofsync;
	protobuf_c_boolean ephemeraloutofsync;
	protobuf_c_boolean has_bizprivacystatus;
	Wa__WebMessageInfo__BizPrivacyStatus bizprivacystatus;
	char *verifiedbizname;
	Wa__MediaData *mediadata;
	Wa__PhotoChange *photochange;
	size_t n_userreceipt;
	Wa__UserReceipt **userreceipt;
	size_t n_reactions;
	Wa__Reaction **reactions;
	Wa__MediaData *quotedstickerdata;
	protobuf_c_boolean has_futureproofdata;
	ProtobufCBinaryData futureproofdata;
	Wa__StatusPSA *statuspsa;
	size_t n_pollupdates;
	Wa__PollUpdate **pollupdates;
	Wa__PollAdditionalMetadata *polladditionalmetadata;
	char *agentid;
	protobuf_c_boolean has_statusalreadyviewed;
	protobuf_c_boolean statusalreadyviewed;
	protobuf_c_boolean has_messagesecret;
	ProtobufCBinaryData messagesecret;
	Wa__KeepInChat *keepinchat;
	char *originalselfauthoruserjidstring;
	protobuf_c_boolean has_revokemessagetimestamp;
	uint64_t revokemessagetimestamp;
};

struct Wa__WebNotificationsInfo : public ProtobufCppMessage
{
	Wa__WebNotificationsInfo() :
		ProtobufCppMessage(wa__web_notifications_info__descriptor)
	{}

	protobuf_c_boolean has_timestamp;
	uint64_t timestamp;
	protobuf_c_boolean has_unreadchats;
	uint32_t unreadchats;
	protobuf_c_boolean has_notifymessagecount;
	uint32_t notifymessagecount;
	size_t n_notifymessages;
	Wa__WebMessageInfo **notifymessages;
};

/* Wa__ADVDeviceIdentity methods */
void   wa__advdevice_identity__init
(Wa__ADVDeviceIdentity *message);
size_t wa__advdevice_identity__get_packed_size
(const Wa__ADVDeviceIdentity *message);
size_t wa__advdevice_identity__pack
(const Wa__ADVDeviceIdentity *message,
	uint8_t *out);
size_t wa__advdevice_identity__pack_to_buffer
(const Wa__ADVDeviceIdentity *message,
	ProtobufCBuffer *buffer);
Wa__ADVDeviceIdentity *
wa__advdevice_identity__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__advdevice_identity__free_unpacked
(Wa__ADVDeviceIdentity *message,
	ProtobufCAllocator *allocator);
/* Wa__ADVKeyIndexList methods */
void   wa__advkey_index_list__init
(Wa__ADVKeyIndexList *message);
size_t wa__advkey_index_list__get_packed_size
(const Wa__ADVKeyIndexList *message);
size_t wa__advkey_index_list__pack
(const Wa__ADVKeyIndexList *message,
	uint8_t *out);
size_t wa__advkey_index_list__pack_to_buffer
(const Wa__ADVKeyIndexList *message,
	ProtobufCBuffer *buffer);
Wa__ADVKeyIndexList *
wa__advkey_index_list__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__advkey_index_list__free_unpacked
(Wa__ADVKeyIndexList *message,
	ProtobufCAllocator *allocator);
/* Wa__ADVSignedDeviceIdentity methods */
void   wa__advsigned_device_identity__init
(Wa__ADVSignedDeviceIdentity *message);
size_t wa__advsigned_device_identity__get_packed_size
(const Wa__ADVSignedDeviceIdentity *message);
size_t wa__advsigned_device_identity__pack
(const Wa__ADVSignedDeviceIdentity *message,
	uint8_t *out);
size_t wa__advsigned_device_identity__pack_to_buffer
(const Wa__ADVSignedDeviceIdentity *message,
	ProtobufCBuffer *buffer);
Wa__ADVSignedDeviceIdentity *
wa__advsigned_device_identity__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__advsigned_device_identity__free_unpacked
(Wa__ADVSignedDeviceIdentity *message,
	ProtobufCAllocator *allocator);
/* Wa__ADVSignedDeviceIdentityHMAC methods */
void   wa__advsigned_device_identity_hmac__init
(Wa__ADVSignedDeviceIdentityHMAC *message);
size_t wa__advsigned_device_identity_hmac__get_packed_size
(const Wa__ADVSignedDeviceIdentityHMAC *message);
size_t wa__advsigned_device_identity_hmac__pack
(const Wa__ADVSignedDeviceIdentityHMAC *message,
	uint8_t *out);
size_t wa__advsigned_device_identity_hmac__pack_to_buffer
(const Wa__ADVSignedDeviceIdentityHMAC *message,
	ProtobufCBuffer *buffer);
Wa__ADVSignedDeviceIdentityHMAC *
wa__advsigned_device_identity_hmac__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__advsigned_device_identity_hmac__free_unpacked
(Wa__ADVSignedDeviceIdentityHMAC *message,
	ProtobufCAllocator *allocator);
/* Wa__ADVSignedKeyIndexList methods */
void   wa__advsigned_key_index_list__init
(Wa__ADVSignedKeyIndexList *message);
size_t wa__advsigned_key_index_list__get_packed_size
(const Wa__ADVSignedKeyIndexList *message);
size_t wa__advsigned_key_index_list__pack
(const Wa__ADVSignedKeyIndexList *message,
	uint8_t *out);
size_t wa__advsigned_key_index_list__pack_to_buffer
(const Wa__ADVSignedKeyIndexList *message,
	ProtobufCBuffer *buffer);
Wa__ADVSignedKeyIndexList *
wa__advsigned_key_index_list__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__advsigned_key_index_list__free_unpacked
(Wa__ADVSignedKeyIndexList *message,
	ProtobufCAllocator *allocator);
/* Wa__ActionLink methods */
void   wa__action_link__init
(Wa__ActionLink *message);
size_t wa__action_link__get_packed_size
(const Wa__ActionLink *message);
size_t wa__action_link__pack
(const Wa__ActionLink *message,
	uint8_t *out);
size_t wa__action_link__pack_to_buffer
(const Wa__ActionLink *message,
	ProtobufCBuffer *buffer);
Wa__ActionLink *
wa__action_link__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__action_link__free_unpacked
(Wa__ActionLink *message,
	ProtobufCAllocator *allocator);
/* Wa__AutoDownloadSettings methods */
void   wa__auto_download_settings__init
(Wa__AutoDownloadSettings *message);
size_t wa__auto_download_settings__get_packed_size
(const Wa__AutoDownloadSettings *message);
size_t wa__auto_download_settings__pack
(const Wa__AutoDownloadSettings *message,
	uint8_t *out);
size_t wa__auto_download_settings__pack_to_buffer
(const Wa__AutoDownloadSettings *message,
	ProtobufCBuffer *buffer);
Wa__AutoDownloadSettings *
wa__auto_download_settings__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__auto_download_settings__free_unpacked
(Wa__AutoDownloadSettings *message,
	ProtobufCAllocator *allocator);
/* Wa__BizAccountLinkInfo methods */
void   wa__biz_account_link_info__init
(Wa__BizAccountLinkInfo *message);
size_t wa__biz_account_link_info__get_packed_size
(const Wa__BizAccountLinkInfo *message);
size_t wa__biz_account_link_info__pack
(const Wa__BizAccountLinkInfo *message,
	uint8_t *out);
size_t wa__biz_account_link_info__pack_to_buffer
(const Wa__BizAccountLinkInfo *message,
	ProtobufCBuffer *buffer);
Wa__BizAccountLinkInfo *
wa__biz_account_link_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__biz_account_link_info__free_unpacked
(Wa__BizAccountLinkInfo *message,
	ProtobufCAllocator *allocator);
/* Wa__BizAccountPayload methods */
void   wa__biz_account_payload__init
(Wa__BizAccountPayload *message);
size_t wa__biz_account_payload__get_packed_size
(const Wa__BizAccountPayload *message);
size_t wa__biz_account_payload__pack
(const Wa__BizAccountPayload *message,
	uint8_t *out);
size_t wa__biz_account_payload__pack_to_buffer
(const Wa__BizAccountPayload *message,
	ProtobufCBuffer *buffer);
Wa__BizAccountPayload *
wa__biz_account_payload__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__biz_account_payload__free_unpacked
(Wa__BizAccountPayload *message,
	ProtobufCAllocator *allocator);
/* Wa__BizIdentityInfo methods */
void   wa__biz_identity_info__init
(Wa__BizIdentityInfo *message);
size_t wa__biz_identity_info__get_packed_size
(const Wa__BizIdentityInfo *message);
size_t wa__biz_identity_info__pack
(const Wa__BizIdentityInfo *message,
	uint8_t *out);
size_t wa__biz_identity_info__pack_to_buffer
(const Wa__BizIdentityInfo *message,
	ProtobufCBuffer *buffer);
Wa__BizIdentityInfo *
wa__biz_identity_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__biz_identity_info__free_unpacked
(Wa__BizIdentityInfo *message,
	ProtobufCAllocator *allocator);
/* Wa__CertChain__NoiseCertificate__Details methods */
void   wa__cert_chain__noise_certificate__details__init
(Wa__CertChain__NoiseCertificate__Details *message);
/* Wa__CertChain__NoiseCertificate methods */
void   wa__cert_chain__noise_certificate__init
(Wa__CertChain__NoiseCertificate *message);
/* Wa__CertChain methods */
void   wa__cert_chain__init
(Wa__CertChain *message);
size_t wa__cert_chain__get_packed_size
(const Wa__CertChain *message);
size_t wa__cert_chain__pack
(const Wa__CertChain *message,
	uint8_t *out);
size_t wa__cert_chain__pack_to_buffer
(const Wa__CertChain *message,
	ProtobufCBuffer *buffer);
Wa__CertChain *
wa__cert_chain__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__cert_chain__free_unpacked
(Wa__CertChain *message,
	ProtobufCAllocator *allocator);
/* Wa__Chain methods */
void   wa__chain__init
(Wa__Chain *message);
size_t wa__chain__get_packed_size
(const Wa__Chain *message);
size_t wa__chain__pack
(const Wa__Chain *message,
	uint8_t *out);
size_t wa__chain__pack_to_buffer
(const Wa__Chain *message,
	ProtobufCBuffer *buffer);
Wa__Chain *
wa__chain__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__chain__free_unpacked
(Wa__Chain *message,
	ProtobufCAllocator *allocator);
/* Wa__ChainKey methods */
void   wa__chain_key__init
(Wa__ChainKey *message);
size_t wa__chain_key__get_packed_size
(const Wa__ChainKey *message);
size_t wa__chain_key__pack
(const Wa__ChainKey *message,
	uint8_t *out);
size_t wa__chain_key__pack_to_buffer
(const Wa__ChainKey *message,
	ProtobufCBuffer *buffer);
Wa__ChainKey *
wa__chain_key__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__chain_key__free_unpacked
(Wa__ChainKey *message,
	ProtobufCAllocator *allocator);
/* Wa__ClientPayload__DNSSource methods */
void   wa__client_payload__dnssource__init
(Wa__ClientPayload__DNSSource *message);
/* Wa__ClientPayload__DevicePairingRegistrationData methods */
void   wa__client_payload__device_pairing_registration_data__init
(Wa__ClientPayload__DevicePairingRegistrationData *message);
/* Wa__ClientPayload__UserAgent__AppVersion methods */
void   wa__client_payload__user_agent__app_version__init
(Wa__ClientPayload__UserAgent__AppVersion *message);
/* Wa__ClientPayload__UserAgent methods */
void   wa__client_payload__user_agent__init
(Wa__ClientPayload__UserAgent *message);
/* Wa__ClientPayload__WebInfo__WebdPayload methods */
void   wa__client_payload__web_info__webd_payload__init
(Wa__ClientPayload__WebInfo__WebdPayload *message);
/* Wa__ClientPayload__WebInfo methods */
void   wa__client_payload__web_info__init
(Wa__ClientPayload__WebInfo *message);
/* Wa__ClientPayload methods */
void   wa__client_payload__init
(Wa__ClientPayload *message);
size_t wa__client_payload__get_packed_size
(const Wa__ClientPayload *message);
size_t wa__client_payload__pack
(const Wa__ClientPayload *message,
	uint8_t *out);
size_t wa__client_payload__pack_to_buffer
(const Wa__ClientPayload *message,
	ProtobufCBuffer *buffer);
Wa__ClientPayload *
wa__client_payload__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__client_payload__free_unpacked
(Wa__ClientPayload *message,
	ProtobufCAllocator *allocator);
/* Wa__ContextInfo__AdReplyInfo methods */
void   wa__context_info__ad_reply_info__init
(Wa__ContextInfo__AdReplyInfo *message);
/* Wa__ContextInfo__ExternalAdReplyInfo methods */
void   wa__context_info__external_ad_reply_info__init
(Wa__ContextInfo__ExternalAdReplyInfo *message);
/* Wa__ContextInfo methods */
void   wa__context_info__init
(Wa__ContextInfo *message);
size_t wa__context_info__get_packed_size
(const Wa__ContextInfo *message);
size_t wa__context_info__pack
(const Wa__ContextInfo *message,
	uint8_t *out);
size_t wa__context_info__pack_to_buffer
(const Wa__ContextInfo *message,
	ProtobufCBuffer *buffer);
Wa__ContextInfo *
wa__context_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__context_info__free_unpacked
(Wa__ContextInfo *message,
	ProtobufCAllocator *allocator);
/* Wa__Conversation methods */
void   wa__conversation__init
(Wa__Conversation *message);
size_t wa__conversation__get_packed_size
(const Wa__Conversation *message);
size_t wa__conversation__pack
(const Wa__Conversation *message,
	uint8_t *out);
size_t wa__conversation__pack_to_buffer
(const Wa__Conversation *message,
	ProtobufCBuffer *buffer);
Wa__Conversation *
wa__conversation__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__conversation__free_unpacked
(Wa__Conversation *message,
	ProtobufCAllocator *allocator);
/* Wa__DeviceListMetadata methods */
void   wa__device_list_metadata__init
(Wa__DeviceListMetadata *message);
size_t wa__device_list_metadata__get_packed_size
(const Wa__DeviceListMetadata *message);
size_t wa__device_list_metadata__pack
(const Wa__DeviceListMetadata *message,
	uint8_t *out);
size_t wa__device_list_metadata__pack_to_buffer
(const Wa__DeviceListMetadata *message,
	ProtobufCBuffer *buffer);
Wa__DeviceListMetadata *
wa__device_list_metadata__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__device_list_metadata__free_unpacked
(Wa__DeviceListMetadata *message,
	ProtobufCAllocator *allocator);
/* Wa__DeviceProps__AppVersion methods */
void   wa__device_props__app_version__init
(Wa__DeviceProps__AppVersion *message);
/* Wa__DeviceProps methods */
void   wa__device_props__init
(Wa__DeviceProps *message);
size_t wa__device_props__get_packed_size
(const Wa__DeviceProps *message);
size_t wa__device_props__pack
(const Wa__DeviceProps *message,
	uint8_t *out);
size_t wa__device_props__pack_to_buffer
(const Wa__DeviceProps *message,
	ProtobufCBuffer *buffer);
Wa__DeviceProps *
wa__device_props__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__device_props__free_unpacked
(Wa__DeviceProps *message,
	ProtobufCAllocator *allocator);
/* Wa__DisappearingMode methods */
void   wa__disappearing_mode__init
(Wa__DisappearingMode *message);
size_t wa__disappearing_mode__get_packed_size
(const Wa__DisappearingMode *message);
size_t wa__disappearing_mode__pack
(const Wa__DisappearingMode *message,
	uint8_t *out);
size_t wa__disappearing_mode__pack_to_buffer
(const Wa__DisappearingMode *message,
	ProtobufCBuffer *buffer);
Wa__DisappearingMode *
wa__disappearing_mode__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__disappearing_mode__free_unpacked
(Wa__DisappearingMode *message,
	ProtobufCAllocator *allocator);
/* Wa__EphemeralSetting methods */
void   wa__ephemeral_setting__init
(Wa__EphemeralSetting *message);
size_t wa__ephemeral_setting__get_packed_size
(const Wa__EphemeralSetting *message);
size_t wa__ephemeral_setting__pack
(const Wa__EphemeralSetting *message,
	uint8_t *out);
size_t wa__ephemeral_setting__pack_to_buffer
(const Wa__EphemeralSetting *message,
	ProtobufCBuffer *buffer);
Wa__EphemeralSetting *
wa__ephemeral_setting__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__ephemeral_setting__free_unpacked
(Wa__EphemeralSetting *message,
	ProtobufCAllocator *allocator);
/* Wa__ExitCode methods */
void   wa__exit_code__init
(Wa__ExitCode *message);
size_t wa__exit_code__get_packed_size
(const Wa__ExitCode *message);
size_t wa__exit_code__pack
(const Wa__ExitCode *message,
	uint8_t *out);
size_t wa__exit_code__pack_to_buffer
(const Wa__ExitCode *message,
	ProtobufCBuffer *buffer);
Wa__ExitCode *
wa__exit_code__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__exit_code__free_unpacked
(Wa__ExitCode *message,
	ProtobufCAllocator *allocator);
/* Wa__ExternalBlobReference methods */
void   wa__external_blob_reference__init
(Wa__ExternalBlobReference *message);
size_t wa__external_blob_reference__get_packed_size
(const Wa__ExternalBlobReference *message);
size_t wa__external_blob_reference__pack
(const Wa__ExternalBlobReference *message,
	uint8_t *out);
size_t wa__external_blob_reference__pack_to_buffer
(const Wa__ExternalBlobReference *message,
	ProtobufCBuffer *buffer);
Wa__ExternalBlobReference *
wa__external_blob_reference__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__external_blob_reference__free_unpacked
(Wa__ExternalBlobReference *message,
	ProtobufCAllocator *allocator);
/* Wa__GlobalSettings methods */
void   wa__global_settings__init
(Wa__GlobalSettings *message);
size_t wa__global_settings__get_packed_size
(const Wa__GlobalSettings *message);
size_t wa__global_settings__pack
(const Wa__GlobalSettings *message,
	uint8_t *out);
size_t wa__global_settings__pack_to_buffer
(const Wa__GlobalSettings *message,
	ProtobufCBuffer *buffer);
Wa__GlobalSettings *
wa__global_settings__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__global_settings__free_unpacked
(Wa__GlobalSettings *message,
	ProtobufCAllocator *allocator);
/* Wa__GroupParticipant methods */
void   wa__group_participant__init
(Wa__GroupParticipant *message);
size_t wa__group_participant__get_packed_size
(const Wa__GroupParticipant *message);
size_t wa__group_participant__pack
(const Wa__GroupParticipant *message,
	uint8_t *out);
size_t wa__group_participant__pack_to_buffer
(const Wa__GroupParticipant *message,
	ProtobufCBuffer *buffer);
Wa__GroupParticipant *
wa__group_participant__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__group_participant__free_unpacked
(Wa__GroupParticipant *message,
	ProtobufCAllocator *allocator);
/* Wa__HandshakeMessage__ClientFinish methods */
void   wa__handshake_message__client_finish__init
(Wa__HandshakeMessage__ClientFinish *message);
/* Wa__HandshakeMessage__ClientHello methods */
void   wa__handshake_message__client_hello__init
(Wa__HandshakeMessage__ClientHello *message);
/* Wa__HandshakeMessage__ServerHello methods */
void   wa__handshake_message__server_hello__init
(Wa__HandshakeMessage__ServerHello *message);
/* Wa__HandshakeMessage methods */
void   wa__handshake_message__init
(Wa__HandshakeMessage *message);
size_t wa__handshake_message__get_packed_size
(const Wa__HandshakeMessage *message);
size_t wa__handshake_message__pack
(const Wa__HandshakeMessage *message,
	uint8_t *out);
size_t wa__handshake_message__pack_to_buffer
(const Wa__HandshakeMessage *message,
	ProtobufCBuffer *buffer);
Wa__HandshakeMessage *
wa__handshake_message__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__handshake_message__free_unpacked
(Wa__HandshakeMessage *message,
	ProtobufCAllocator *allocator);
/* Wa__HistorySync methods */
void   wa__history_sync__init
(Wa__HistorySync *message);
size_t wa__history_sync__get_packed_size
(const Wa__HistorySync *message);
size_t wa__history_sync__pack
(const Wa__HistorySync *message,
	uint8_t *out);
size_t wa__history_sync__pack_to_buffer
(const Wa__HistorySync *message,
	ProtobufCBuffer *buffer);
Wa__HistorySync *
wa__history_sync__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__history_sync__free_unpacked
(Wa__HistorySync *message,
	ProtobufCAllocator *allocator);
/* Wa__HistorySyncMsg methods */
void   wa__history_sync_msg__init
(Wa__HistorySyncMsg *message);
size_t wa__history_sync_msg__get_packed_size
(const Wa__HistorySyncMsg *message);
size_t wa__history_sync_msg__pack
(const Wa__HistorySyncMsg *message,
	uint8_t *out);
size_t wa__history_sync_msg__pack_to_buffer
(const Wa__HistorySyncMsg *message,
	ProtobufCBuffer *buffer);
Wa__HistorySyncMsg *
wa__history_sync_msg__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__history_sync_msg__free_unpacked
(Wa__HistorySyncMsg *message,
	ProtobufCAllocator *allocator);
/* Wa__HydratedTemplateButton__HydratedCallButton methods */
void   wa__hydrated_template_button__hydrated_call_button__init
(Wa__HydratedTemplateButton__HydratedCallButton *message);
/* Wa__HydratedTemplateButton__HydratedQuickReplyButton methods */
void   wa__hydrated_template_button__hydrated_quick_reply_button__init
(Wa__HydratedTemplateButton__HydratedQuickReplyButton *message);
/* Wa__HydratedTemplateButton__HydratedURLButton methods */
void   wa__hydrated_template_button__hydrated_urlbutton__init
(Wa__HydratedTemplateButton__HydratedURLButton *message);
/* Wa__HydratedTemplateButton methods */
void   wa__hydrated_template_button__init
(Wa__HydratedTemplateButton *message);
size_t wa__hydrated_template_button__get_packed_size
(const Wa__HydratedTemplateButton *message);
size_t wa__hydrated_template_button__pack
(const Wa__HydratedTemplateButton *message,
	uint8_t *out);
size_t wa__hydrated_template_button__pack_to_buffer
(const Wa__HydratedTemplateButton *message,
	ProtobufCBuffer *buffer);
Wa__HydratedTemplateButton *
wa__hydrated_template_button__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__hydrated_template_button__free_unpacked
(Wa__HydratedTemplateButton *message,
	ProtobufCAllocator *allocator);
/* Wa__IdentityKeyPairStructure methods */
void   wa__identity_key_pair_structure__init
(Wa__IdentityKeyPairStructure *message);
size_t wa__identity_key_pair_structure__get_packed_size
(const Wa__IdentityKeyPairStructure *message);
size_t wa__identity_key_pair_structure__pack
(const Wa__IdentityKeyPairStructure *message,
	uint8_t *out);
size_t wa__identity_key_pair_structure__pack_to_buffer
(const Wa__IdentityKeyPairStructure *message,
	ProtobufCBuffer *buffer);
Wa__IdentityKeyPairStructure *
wa__identity_key_pair_structure__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__identity_key_pair_structure__free_unpacked
(Wa__IdentityKeyPairStructure *message,
	ProtobufCAllocator *allocator);
/* Wa__InteractiveAnnotation methods */
void   wa__interactive_annotation__init
(Wa__InteractiveAnnotation *message);
size_t wa__interactive_annotation__get_packed_size
(const Wa__InteractiveAnnotation *message);
size_t wa__interactive_annotation__pack
(const Wa__InteractiveAnnotation *message,
	uint8_t *out);
size_t wa__interactive_annotation__pack_to_buffer
(const Wa__InteractiveAnnotation *message,
	ProtobufCBuffer *buffer);
Wa__InteractiveAnnotation *
wa__interactive_annotation__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__interactive_annotation__free_unpacked
(Wa__InteractiveAnnotation *message,
	ProtobufCAllocator *allocator);
/* Wa__KeepInChat methods */
void   wa__keep_in_chat__init
(Wa__KeepInChat *message);
size_t wa__keep_in_chat__get_packed_size
(const Wa__KeepInChat *message);
size_t wa__keep_in_chat__pack
(const Wa__KeepInChat *message,
	uint8_t *out);
size_t wa__keep_in_chat__pack_to_buffer
(const Wa__KeepInChat *message,
	ProtobufCBuffer *buffer);
Wa__KeepInChat *
wa__keep_in_chat__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__keep_in_chat__free_unpacked
(Wa__KeepInChat *message,
	ProtobufCAllocator *allocator);
/* Wa__KeyId methods */
void   wa__key_id__init
(Wa__KeyId *message);
size_t wa__key_id__get_packed_size
(const Wa__KeyId *message);
size_t wa__key_id__pack
(const Wa__KeyId *message,
	uint8_t *out);
size_t wa__key_id__pack_to_buffer
(const Wa__KeyId *message,
	ProtobufCBuffer *buffer);
Wa__KeyId *
wa__key_id__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__key_id__free_unpacked
(Wa__KeyId *message,
	ProtobufCAllocator *allocator);
/* Wa__LocalizedName methods */
void   wa__localized_name__init
(Wa__LocalizedName *message);
size_t wa__localized_name__get_packed_size
(const Wa__LocalizedName *message);
size_t wa__localized_name__pack
(const Wa__LocalizedName *message,
	uint8_t *out);
size_t wa__localized_name__pack_to_buffer
(const Wa__LocalizedName *message,
	ProtobufCBuffer *buffer);
Wa__LocalizedName *
wa__localized_name__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__localized_name__free_unpacked
(Wa__LocalizedName *message,
	ProtobufCAllocator *allocator);
/* Wa__Location methods */
void   wa__location__init
(Wa__Location *message);
size_t wa__location__get_packed_size
(const Wa__Location *message);
size_t wa__location__pack
(const Wa__Location *message,
	uint8_t *out);
size_t wa__location__pack_to_buffer
(const Wa__Location *message,
	ProtobufCBuffer *buffer);
Wa__Location *
wa__location__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__location__free_unpacked
(Wa__Location *message,
	ProtobufCAllocator *allocator);
/* Wa__MediaData methods */
void   wa__media_data__init
(Wa__MediaData *message);
size_t wa__media_data__get_packed_size
(const Wa__MediaData *message);
size_t wa__media_data__pack
(const Wa__MediaData *message,
	uint8_t *out);
size_t wa__media_data__pack_to_buffer
(const Wa__MediaData *message,
	ProtobufCBuffer *buffer);
Wa__MediaData *
wa__media_data__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__media_data__free_unpacked
(Wa__MediaData *message,
	ProtobufCAllocator *allocator);
/* Wa__MediaRetryNotification methods */
void   wa__media_retry_notification__init
(Wa__MediaRetryNotification *message);
size_t wa__media_retry_notification__get_packed_size
(const Wa__MediaRetryNotification *message);
size_t wa__media_retry_notification__pack
(const Wa__MediaRetryNotification *message,
	uint8_t *out);
size_t wa__media_retry_notification__pack_to_buffer
(const Wa__MediaRetryNotification *message,
	ProtobufCBuffer *buffer);
Wa__MediaRetryNotification *
wa__media_retry_notification__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__media_retry_notification__free_unpacked
(Wa__MediaRetryNotification *message,
	ProtobufCAllocator *allocator);
/* Wa__Message__AppStateFatalExceptionNotification methods */
void   wa__message__app_state_fatal_exception_notification__init
(Wa__Message__AppStateFatalExceptionNotification *message);
/* Wa__Message__AppStateSyncKeyData methods */
void   wa__message__app_state_sync_key_data__init
(Wa__Message__AppStateSyncKeyData *message);
/* Wa__Message__AppStateSyncKeyFingerprint methods */
void   wa__message__app_state_sync_key_fingerprint__init
(Wa__Message__AppStateSyncKeyFingerprint *message);
/* Wa__Message__AppStateSyncKeyId methods */
void   wa__message__app_state_sync_key_id__init
(Wa__Message__AppStateSyncKeyId *message);
/* Wa__Message__AppStateSyncKeyRequest methods */
void   wa__message__app_state_sync_key_request__init
(Wa__Message__AppStateSyncKeyRequest *message);
/* Wa__Message__AppStateSyncKeyShare methods */
void   wa__message__app_state_sync_key_share__init
(Wa__Message__AppStateSyncKeyShare *message);
/* Wa__Message__AppStateSyncKey methods */
void   wa__message__app_state_sync_key__init
(Wa__Message__AppStateSyncKey *message);
/* Wa__Message__AudioMessage methods */
void   wa__message__audio_message__init
(Wa__Message__AudioMessage *message);
/* Wa__Message__ButtonsMessage__Button__ButtonText methods */
void   wa__message__buttons_message__button__button_text__init
(Wa__Message__ButtonsMessage__Button__ButtonText *message);
/* Wa__Message__ButtonsMessage__Button__NativeFlowInfo methods */
void   wa__message__buttons_message__button__native_flow_info__init
(Wa__Message__ButtonsMessage__Button__NativeFlowInfo *message);
/* Wa__Message__ButtonsMessage__Button methods */
void   wa__message__buttons_message__button__init
(Wa__Message__ButtonsMessage__Button *message);
/* Wa__Message__ButtonsMessage methods */
void   wa__message__buttons_message__init
(Wa__Message__ButtonsMessage *message);
/* Wa__Message__ButtonsResponseMessage methods */
void   wa__message__buttons_response_message__init
(Wa__Message__ButtonsResponseMessage *message);
/* Wa__Message__Call methods */
void   wa__message__call__init
(Wa__Message__Call *message);
/* Wa__Message__CancelPaymentRequestMessage methods */
void   wa__message__cancel_payment_request_message__init
(Wa__Message__CancelPaymentRequestMessage *message);
/* Wa__Message__Chat methods */
void   wa__message__chat__init
(Wa__Message__Chat *message);
/* Wa__Message__ContactMessage methods */
void   wa__message__contact_message__init
(Wa__Message__ContactMessage *message);
/* Wa__Message__ContactsArrayMessage methods */
void   wa__message__contacts_array_message__init
(Wa__Message__ContactsArrayMessage *message);
/* Wa__Message__DeclinePaymentRequestMessage methods */
void   wa__message__decline_payment_request_message__init
(Wa__Message__DeclinePaymentRequestMessage *message);
/* Wa__Message__DeviceSentMessage methods */
void   wa__message__device_sent_message__init
(Wa__Message__DeviceSentMessage *message);
/* Wa__Message__DocumentMessage methods */
void   wa__message__document_message__init
(Wa__Message__DocumentMessage *message);
/* Wa__Message__ExtendedTextMessage methods */
void   wa__message__extended_text_message__init
(Wa__Message__ExtendedTextMessage *message);
/* Wa__Message__FutureProofMessage methods */
void   wa__message__future_proof_message__init
(Wa__Message__FutureProofMessage *message);
/* Wa__Message__GroupInviteMessage methods */
void   wa__message__group_invite_message__init
(Wa__Message__GroupInviteMessage *message);
/* Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency methods */
void   wa__message__highly_structured_message__hsmlocalizable_parameter__hsmcurrency__init
(Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency *message);
/* Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent methods */
void   wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_component__init
(Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent *message);
/* Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch methods */
void   wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__hsmdate_time_unix_epoch__init
(Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch *message);
/* Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime methods */
void   wa__message__highly_structured_message__hsmlocalizable_parameter__hsmdate_time__init
(Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime *message);
/* Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter methods */
void   wa__message__highly_structured_message__hsmlocalizable_parameter__init
(Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter *message);
/* Wa__Message__HighlyStructuredMessage methods */
void   wa__message__highly_structured_message__init
(Wa__Message__HighlyStructuredMessage *message);
/* Wa__Message__HistorySyncNotification methods */
void   wa__message__history_sync_notification__init
(Wa__Message__HistorySyncNotification *message);
/* Wa__Message__ImageMessage methods */
void   wa__message__image_message__init
(Wa__Message__ImageMessage *message);
/* Wa__Message__InitialSecurityNotificationSettingSync methods */
void   wa__message__initial_security_notification_setting_sync__init
(Wa__Message__InitialSecurityNotificationSettingSync *message);
/* Wa__Message__InteractiveMessage__Body methods */
void   wa__message__interactive_message__body__init
(Wa__Message__InteractiveMessage__Body *message);
/* Wa__Message__InteractiveMessage__CollectionMessage methods */
void   wa__message__interactive_message__collection_message__init
(Wa__Message__InteractiveMessage__CollectionMessage *message);
/* Wa__Message__InteractiveMessage__Footer methods */
void   wa__message__interactive_message__footer__init
(Wa__Message__InteractiveMessage__Footer *message);
/* Wa__Message__InteractiveMessage__Header methods */
void   wa__message__interactive_message__header__init
(Wa__Message__InteractiveMessage__Header *message);
/* Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton methods */
void   wa__message__interactive_message__native_flow_message__native_flow_button__init
(Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton *message);
/* Wa__Message__InteractiveMessage__NativeFlowMessage methods */
void   wa__message__interactive_message__native_flow_message__init
(Wa__Message__InteractiveMessage__NativeFlowMessage *message);
/* Wa__Message__InteractiveMessage__ShopMessage methods */
void   wa__message__interactive_message__shop_message__init
(Wa__Message__InteractiveMessage__ShopMessage *message);
/* Wa__Message__InteractiveMessage methods */
void   wa__message__interactive_message__init
(Wa__Message__InteractiveMessage *message);
/* Wa__Message__InteractiveResponseMessage__Body methods */
void   wa__message__interactive_response_message__body__init
(Wa__Message__InteractiveResponseMessage__Body *message);
/* Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage methods */
void   wa__message__interactive_response_message__native_flow_response_message__init
(Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage *message);
/* Wa__Message__InteractiveResponseMessage methods */
void   wa__message__interactive_response_message__init
(Wa__Message__InteractiveResponseMessage *message);
/* Wa__Message__InvoiceMessage methods */
void   wa__message__invoice_message__init
(Wa__Message__InvoiceMessage *message);
/* Wa__Message__KeepInChatMessage methods */
void   wa__message__keep_in_chat_message__init
(Wa__Message__KeepInChatMessage *message);
/* Wa__Message__ListMessage__ProductListHeaderImage methods */
void   wa__message__list_message__product_list_header_image__init
(Wa__Message__ListMessage__ProductListHeaderImage *message);
/* Wa__Message__ListMessage__ProductListInfo methods */
void   wa__message__list_message__product_list_info__init
(Wa__Message__ListMessage__ProductListInfo *message);
/* Wa__Message__ListMessage__ProductSection methods */
void   wa__message__list_message__product_section__init
(Wa__Message__ListMessage__ProductSection *message);
/* Wa__Message__ListMessage__Product methods */
void   wa__message__list_message__product__init
(Wa__Message__ListMessage__Product *message);
/* Wa__Message__ListMessage__Row methods */
void   wa__message__list_message__row__init
(Wa__Message__ListMessage__Row *message);
/* Wa__Message__ListMessage__Section methods */
void   wa__message__list_message__section__init
(Wa__Message__ListMessage__Section *message);
/* Wa__Message__ListMessage methods */
void   wa__message__list_message__init
(Wa__Message__ListMessage *message);
/* Wa__Message__ListResponseMessage__SingleSelectReply methods */
void   wa__message__list_response_message__single_select_reply__init
(Wa__Message__ListResponseMessage__SingleSelectReply *message);
/* Wa__Message__ListResponseMessage methods */
void   wa__message__list_response_message__init
(Wa__Message__ListResponseMessage *message);
/* Wa__Message__LiveLocationMessage methods */
void   wa__message__live_location_message__init
(Wa__Message__LiveLocationMessage *message);
/* Wa__Message__LocationMessage methods */
void   wa__message__location_message__init
(Wa__Message__LocationMessage *message);
/* Wa__Message__OrderMessage methods */
void   wa__message__order_message__init
(Wa__Message__OrderMessage *message);
/* Wa__Message__PaymentInviteMessage methods */
void   wa__message__payment_invite_message__init
(Wa__Message__PaymentInviteMessage *message);
/* Wa__Message__PollCreationMessage__Option methods */
void   wa__message__poll_creation_message__option__init
(Wa__Message__PollCreationMessage__Option *message);
/* Wa__Message__PollCreationMessage methods */
void   wa__message__poll_creation_message__init
(Wa__Message__PollCreationMessage *message);
/* Wa__Message__PollEncValue methods */
void   wa__message__poll_enc_value__init
(Wa__Message__PollEncValue *message);
/* Wa__Message__PollUpdateMessageMetadata methods */
void   wa__message__poll_update_message_metadata__init
(Wa__Message__PollUpdateMessageMetadata *message);
/* Wa__Message__PollUpdateMessage methods */
void   wa__message__poll_update_message__init
(Wa__Message__PollUpdateMessage *message);
/* Wa__Message__PollVoteMessage methods */
void   wa__message__poll_vote_message__init
(Wa__Message__PollVoteMessage *message);
/* Wa__Message__ProductMessage__CatalogSnapshot methods */
void   wa__message__product_message__catalog_snapshot__init
(Wa__Message__ProductMessage__CatalogSnapshot *message);
/* Wa__Message__ProductMessage__ProductSnapshot methods */
void   wa__message__product_message__product_snapshot__init
(Wa__Message__ProductMessage__ProductSnapshot *message);
/* Wa__Message__ProductMessage methods */
void   wa__message__product_message__init
(Wa__Message__ProductMessage *message);
/* Wa__Message__ProtocolMessage methods */
void   wa__message__protocol_message__init
(Wa__Message__ProtocolMessage *message);
/* Wa__Message__ReactionMessage methods */
void   wa__message__reaction_message__init
(Wa__Message__ReactionMessage *message);
/* Wa__Message__RequestMediaUploadMessage methods */
void   wa__message__request_media_upload_message__init
(Wa__Message__RequestMediaUploadMessage *message);
/* Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult methods */
void   wa__message__request_media_upload_response_message__request_media_upload_result__init
(Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult *message);
/* Wa__Message__RequestMediaUploadResponseMessage methods */
void   wa__message__request_media_upload_response_message__init
(Wa__Message__RequestMediaUploadResponseMessage *message);
/* Wa__Message__RequestPaymentMessage methods */
void   wa__message__request_payment_message__init
(Wa__Message__RequestPaymentMessage *message);
/* Wa__Message__RequestPhoneNumberMessage methods */
void   wa__message__request_phone_number_message__init
(Wa__Message__RequestPhoneNumberMessage *message);
/* Wa__Message__SendPaymentMessage methods */
void   wa__message__send_payment_message__init
(Wa__Message__SendPaymentMessage *message);
/* Wa__Message__SenderKeyDistributionMessage methods */
void   wa__message__sender_key_distribution_message__init
(Wa__Message__SenderKeyDistributionMessage *message);
/* Wa__Message__StickerMessage methods */
void   wa__message__sticker_message__init
(Wa__Message__StickerMessage *message);
/* Wa__Message__StickerSyncRMRMessage methods */
void   wa__message__sticker_sync_rmrmessage__init
(Wa__Message__StickerSyncRMRMessage *message);
/* Wa__Message__TemplateButtonReplyMessage methods */
void   wa__message__template_button_reply_message__init
(Wa__Message__TemplateButtonReplyMessage *message);
/* Wa__Message__TemplateMessage__FourRowTemplate methods */
void   wa__message__template_message__four_row_template__init
(Wa__Message__TemplateMessage__FourRowTemplate *message);
/* Wa__Message__TemplateMessage__HydratedFourRowTemplate methods */
void   wa__message__template_message__hydrated_four_row_template__init
(Wa__Message__TemplateMessage__HydratedFourRowTemplate *message);
/* Wa__Message__TemplateMessage methods */
void   wa__message__template_message__init
(Wa__Message__TemplateMessage *message);
/* Wa__Message__VideoMessage methods */
void   wa__message__video_message__init
(Wa__Message__VideoMessage *message);
/* Wa__Message methods */
void   wa__message__init
(Wa__Message *message);
size_t wa__message__get_packed_size
(const Wa__Message *message);
size_t wa__message__pack
(const Wa__Message *message,
	uint8_t *out);
size_t wa__message__pack_to_buffer
(const Wa__Message *message,
	ProtobufCBuffer *buffer);
Wa__Message *
wa__message__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__message__free_unpacked
(Wa__Message *message,
	ProtobufCAllocator *allocator);
/* Wa__MessageContextInfo methods */
void   wa__message_context_info__init
(Wa__MessageContextInfo *message);
size_t wa__message_context_info__get_packed_size
(const Wa__MessageContextInfo *message);
size_t wa__message_context_info__pack
(const Wa__MessageContextInfo *message,
	uint8_t *out);
size_t wa__message_context_info__pack_to_buffer
(const Wa__MessageContextInfo *message,
	ProtobufCBuffer *buffer);
Wa__MessageContextInfo *
wa__message_context_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__message_context_info__free_unpacked
(Wa__MessageContextInfo *message,
	ProtobufCAllocator *allocator);
/* Wa__MessageKey methods */
void   wa__message_key__init
(Wa__MessageKey *message);
size_t wa__message_key__get_packed_size
(const Wa__MessageKey *message);
size_t wa__message_key__pack
(const Wa__MessageKey *message,
	uint8_t *out);
size_t wa__message_key__pack_to_buffer
(const Wa__MessageKey *message,
	ProtobufCBuffer *buffer);
Wa__MessageKey *
wa__message_key__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__message_key__free_unpacked
(Wa__MessageKey *message,
	ProtobufCAllocator *allocator);
/* Wa__Money methods */
void   wa__money__init
(Wa__Money *message);
size_t wa__money__get_packed_size
(const Wa__Money *message);
size_t wa__money__pack
(const Wa__Money *message,
	uint8_t *out);
size_t wa__money__pack_to_buffer
(const Wa__Money *message,
	ProtobufCBuffer *buffer);
Wa__Money *
wa__money__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__money__free_unpacked
(Wa__Money *message,
	ProtobufCAllocator *allocator);
/* Wa__MsgOpaqueData__PollOption methods */
void   wa__msg_opaque_data__poll_option__init
(Wa__MsgOpaqueData__PollOption *message);
/* Wa__MsgOpaqueData methods */
void   wa__msg_opaque_data__init
(Wa__MsgOpaqueData *message);
size_t wa__msg_opaque_data__get_packed_size
(const Wa__MsgOpaqueData *message);
size_t wa__msg_opaque_data__pack
(const Wa__MsgOpaqueData *message,
	uint8_t *out);
size_t wa__msg_opaque_data__pack_to_buffer
(const Wa__MsgOpaqueData *message,
	ProtobufCBuffer *buffer);
Wa__MsgOpaqueData *
wa__msg_opaque_data__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__msg_opaque_data__free_unpacked
(Wa__MsgOpaqueData *message,
	ProtobufCAllocator *allocator);
/* Wa__MsgRowOpaqueData methods */
void   wa__msg_row_opaque_data__init
(Wa__MsgRowOpaqueData *message);
size_t wa__msg_row_opaque_data__get_packed_size
(const Wa__MsgRowOpaqueData *message);
size_t wa__msg_row_opaque_data__pack
(const Wa__MsgRowOpaqueData *message,
	uint8_t *out);
size_t wa__msg_row_opaque_data__pack_to_buffer
(const Wa__MsgRowOpaqueData *message,
	ProtobufCBuffer *buffer);
Wa__MsgRowOpaqueData *
wa__msg_row_opaque_data__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__msg_row_opaque_data__free_unpacked
(Wa__MsgRowOpaqueData *message,
	ProtobufCAllocator *allocator);
/* Wa__NoiseCertificate__Details methods */
void   wa__noise_certificate__details__init
(Wa__NoiseCertificate__Details *message);
/* Wa__NoiseCertificate methods */
void   wa__noise_certificate__init
(Wa__NoiseCertificate *message);
size_t wa__noise_certificate__get_packed_size
(const Wa__NoiseCertificate *message);
size_t wa__noise_certificate__pack
(const Wa__NoiseCertificate *message,
	uint8_t *out);
size_t wa__noise_certificate__pack_to_buffer
(const Wa__NoiseCertificate *message,
	ProtobufCBuffer *buffer);
Wa__NoiseCertificate *
wa__noise_certificate__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__noise_certificate__free_unpacked
(Wa__NoiseCertificate *message,
	ProtobufCAllocator *allocator);
/* Wa__NotificationMessageInfo methods */
void   wa__notification_message_info__init
(Wa__NotificationMessageInfo *message);
size_t wa__notification_message_info__get_packed_size
(const Wa__NotificationMessageInfo *message);
size_t wa__notification_message_info__pack
(const Wa__NotificationMessageInfo *message,
	uint8_t *out);
size_t wa__notification_message_info__pack_to_buffer
(const Wa__NotificationMessageInfo *message,
	ProtobufCBuffer *buffer);
Wa__NotificationMessageInfo *
wa__notification_message_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__notification_message_info__free_unpacked
(Wa__NotificationMessageInfo *message,
	ProtobufCAllocator *allocator);
/* Wa__PastParticipant methods */
void   wa__past_participant__init
(Wa__PastParticipant *message);
size_t wa__past_participant__get_packed_size
(const Wa__PastParticipant *message);
size_t wa__past_participant__pack
(const Wa__PastParticipant *message,
	uint8_t *out);
size_t wa__past_participant__pack_to_buffer
(const Wa__PastParticipant *message,
	ProtobufCBuffer *buffer);
Wa__PastParticipant *
wa__past_participant__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__past_participant__free_unpacked
(Wa__PastParticipant *message,
	ProtobufCAllocator *allocator);
/* Wa__PastParticipants methods */
void   wa__past_participants__init
(Wa__PastParticipants *message);
size_t wa__past_participants__get_packed_size
(const Wa__PastParticipants *message);
size_t wa__past_participants__pack
(const Wa__PastParticipants *message,
	uint8_t *out);
size_t wa__past_participants__pack_to_buffer
(const Wa__PastParticipants *message,
	ProtobufCBuffer *buffer);
Wa__PastParticipants *
wa__past_participants__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__past_participants__free_unpacked
(Wa__PastParticipants *message,
	ProtobufCAllocator *allocator);
/* Wa__PaymentBackground__MediaData methods */
void   wa__payment_background__media_data__init
(Wa__PaymentBackground__MediaData *message);
/* Wa__PaymentBackground methods */
void   wa__payment_background__init
(Wa__PaymentBackground *message);
size_t wa__payment_background__get_packed_size
(const Wa__PaymentBackground *message);
size_t wa__payment_background__pack
(const Wa__PaymentBackground *message,
	uint8_t *out);
size_t wa__payment_background__pack_to_buffer
(const Wa__PaymentBackground *message,
	ProtobufCBuffer *buffer);
Wa__PaymentBackground *
wa__payment_background__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__payment_background__free_unpacked
(Wa__PaymentBackground *message,
	ProtobufCAllocator *allocator);
/* Wa__PaymentInfo methods */
void   wa__payment_info__init
(Wa__PaymentInfo *message);
size_t wa__payment_info__get_packed_size
(const Wa__PaymentInfo *message);
size_t wa__payment_info__pack
(const Wa__PaymentInfo *message,
	uint8_t *out);
size_t wa__payment_info__pack_to_buffer
(const Wa__PaymentInfo *message,
	ProtobufCBuffer *buffer);
Wa__PaymentInfo *
wa__payment_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__payment_info__free_unpacked
(Wa__PaymentInfo *message,
	ProtobufCAllocator *allocator);
/* Wa__PendingKeyExchange methods */
void   wa__pending_key_exchange__init
(Wa__PendingKeyExchange *message);
size_t wa__pending_key_exchange__get_packed_size
(const Wa__PendingKeyExchange *message);
size_t wa__pending_key_exchange__pack
(const Wa__PendingKeyExchange *message,
	uint8_t *out);
size_t wa__pending_key_exchange__pack_to_buffer
(const Wa__PendingKeyExchange *message,
	ProtobufCBuffer *buffer);
Wa__PendingKeyExchange *
wa__pending_key_exchange__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__pending_key_exchange__free_unpacked
(Wa__PendingKeyExchange *message,
	ProtobufCAllocator *allocator);
/* Wa__PendingPreKey methods */
void   wa__pending_pre_key__init
(Wa__PendingPreKey *message);
size_t wa__pending_pre_key__get_packed_size
(const Wa__PendingPreKey *message);
size_t wa__pending_pre_key__pack
(const Wa__PendingPreKey *message,
	uint8_t *out);
size_t wa__pending_pre_key__pack_to_buffer
(const Wa__PendingPreKey *message,
	ProtobufCBuffer *buffer);
Wa__PendingPreKey *
wa__pending_pre_key__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__pending_pre_key__free_unpacked
(Wa__PendingPreKey *message,
	ProtobufCAllocator *allocator);
/* Wa__PhotoChange methods */
void   wa__photo_change__init
(Wa__PhotoChange *message);
size_t wa__photo_change__get_packed_size
(const Wa__PhotoChange *message);
size_t wa__photo_change__pack
(const Wa__PhotoChange *message,
	uint8_t *out);
size_t wa__photo_change__pack_to_buffer
(const Wa__PhotoChange *message,
	ProtobufCBuffer *buffer);
Wa__PhotoChange *
wa__photo_change__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__photo_change__free_unpacked
(Wa__PhotoChange *message,
	ProtobufCAllocator *allocator);
/* Wa__Point methods */
void   wa__point__init
(Wa__Point *message);
size_t wa__point__get_packed_size
(const Wa__Point *message);
size_t wa__point__pack
(const Wa__Point *message,
	uint8_t *out);
size_t wa__point__pack_to_buffer
(const Wa__Point *message,
	ProtobufCBuffer *buffer);
Wa__Point *
wa__point__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__point__free_unpacked
(Wa__Point *message,
	ProtobufCAllocator *allocator);
/* Wa__PollAdditionalMetadata methods */
void   wa__poll_additional_metadata__init
(Wa__PollAdditionalMetadata *message);
size_t wa__poll_additional_metadata__get_packed_size
(const Wa__PollAdditionalMetadata *message);
size_t wa__poll_additional_metadata__pack
(const Wa__PollAdditionalMetadata *message,
	uint8_t *out);
size_t wa__poll_additional_metadata__pack_to_buffer
(const Wa__PollAdditionalMetadata *message,
	ProtobufCBuffer *buffer);
Wa__PollAdditionalMetadata *
wa__poll_additional_metadata__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__poll_additional_metadata__free_unpacked
(Wa__PollAdditionalMetadata *message,
	ProtobufCAllocator *allocator);
/* Wa__PollEncValue methods */
void   wa__poll_enc_value__init
(Wa__PollEncValue *message);
size_t wa__poll_enc_value__get_packed_size
(const Wa__PollEncValue *message);
size_t wa__poll_enc_value__pack
(const Wa__PollEncValue *message,
	uint8_t *out);
size_t wa__poll_enc_value__pack_to_buffer
(const Wa__PollEncValue *message,
	ProtobufCBuffer *buffer);
Wa__PollEncValue *
wa__poll_enc_value__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__poll_enc_value__free_unpacked
(Wa__PollEncValue *message,
	ProtobufCAllocator *allocator);
/* Wa__PollUpdate methods */
void   wa__poll_update__init
(Wa__PollUpdate *message);
size_t wa__poll_update__get_packed_size
(const Wa__PollUpdate *message);
size_t wa__poll_update__pack
(const Wa__PollUpdate *message,
	uint8_t *out);
size_t wa__poll_update__pack_to_buffer
(const Wa__PollUpdate *message,
	ProtobufCBuffer *buffer);
Wa__PollUpdate *
wa__poll_update__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__poll_update__free_unpacked
(Wa__PollUpdate *message,
	ProtobufCAllocator *allocator);
/* Wa__PreKeyRecordStructure methods */
void   wa__pre_key_record_structure__init
(Wa__PreKeyRecordStructure *message);
size_t wa__pre_key_record_structure__get_packed_size
(const Wa__PreKeyRecordStructure *message);
size_t wa__pre_key_record_structure__pack
(const Wa__PreKeyRecordStructure *message,
	uint8_t *out);
size_t wa__pre_key_record_structure__pack_to_buffer
(const Wa__PreKeyRecordStructure *message,
	ProtobufCBuffer *buffer);
Wa__PreKeyRecordStructure *
wa__pre_key_record_structure__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__pre_key_record_structure__free_unpacked
(Wa__PreKeyRecordStructure *message,
	ProtobufCAllocator *allocator);
/* Wa__Pushname methods */
void   wa__pushname__init
(Wa__Pushname *message);
size_t wa__pushname__get_packed_size
(const Wa__Pushname *message);
size_t wa__pushname__pack
(const Wa__Pushname *message,
	uint8_t *out);
size_t wa__pushname__pack_to_buffer
(const Wa__Pushname *message,
	ProtobufCBuffer *buffer);
Wa__Pushname *
wa__pushname__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__pushname__free_unpacked
(Wa__Pushname *message,
	ProtobufCAllocator *allocator);
/* Wa__Reaction methods */
void   wa__reaction__init
(Wa__Reaction *message);
size_t wa__reaction__get_packed_size
(const Wa__Reaction *message);
size_t wa__reaction__pack
(const Wa__Reaction *message,
	uint8_t *out);
size_t wa__reaction__pack_to_buffer
(const Wa__Reaction *message,
	ProtobufCBuffer *buffer);
Wa__Reaction *
wa__reaction__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__reaction__free_unpacked
(Wa__Reaction *message,
	ProtobufCAllocator *allocator);
/* Wa__RecentEmojiWeight methods */
void   wa__recent_emoji_weight__init
(Wa__RecentEmojiWeight *message);
size_t wa__recent_emoji_weight__get_packed_size
(const Wa__RecentEmojiWeight *message);
size_t wa__recent_emoji_weight__pack
(const Wa__RecentEmojiWeight *message,
	uint8_t *out);
size_t wa__recent_emoji_weight__pack_to_buffer
(const Wa__RecentEmojiWeight *message,
	ProtobufCBuffer *buffer);
Wa__RecentEmojiWeight *
wa__recent_emoji_weight__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__recent_emoji_weight__free_unpacked
(Wa__RecentEmojiWeight *message,
	ProtobufCAllocator *allocator);
/* Wa__RecordStructure methods */
void   wa__record_structure__init
(Wa__RecordStructure *message);
size_t wa__record_structure__get_packed_size
(const Wa__RecordStructure *message);
size_t wa__record_structure__pack
(const Wa__RecordStructure *message,
	uint8_t *out);
size_t wa__record_structure__pack_to_buffer
(const Wa__RecordStructure *message,
	ProtobufCBuffer *buffer);
Wa__RecordStructure *
wa__record_structure__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__record_structure__free_unpacked
(Wa__RecordStructure *message,
	ProtobufCAllocator *allocator);
/* Wa__SenderChainKey methods */
void   wa__sender_chain_key__init
(Wa__SenderChainKey *message);
size_t wa__sender_chain_key__get_packed_size
(const Wa__SenderChainKey *message);
size_t wa__sender_chain_key__pack
(const Wa__SenderChainKey *message,
	uint8_t *out);
size_t wa__sender_chain_key__pack_to_buffer
(const Wa__SenderChainKey *message,
	ProtobufCBuffer *buffer);
Wa__SenderChainKey *
wa__sender_chain_key__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sender_chain_key__free_unpacked
(Wa__SenderChainKey *message,
	ProtobufCAllocator *allocator);
/* Wa__SenderKeyRecordStructure methods */
void   wa__sender_key_record_structure__init
(Wa__SenderKeyRecordStructure *message);
size_t wa__sender_key_record_structure__get_packed_size
(const Wa__SenderKeyRecordStructure *message);
size_t wa__sender_key_record_structure__pack
(const Wa__SenderKeyRecordStructure *message,
	uint8_t *out);
size_t wa__sender_key_record_structure__pack_to_buffer
(const Wa__SenderKeyRecordStructure *message,
	ProtobufCBuffer *buffer);
Wa__SenderKeyRecordStructure *
wa__sender_key_record_structure__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sender_key_record_structure__free_unpacked
(Wa__SenderKeyRecordStructure *message,
	ProtobufCAllocator *allocator);
/* Wa__SenderKeyStateStructure methods */
void   wa__sender_key_state_structure__init
(Wa__SenderKeyStateStructure *message);
size_t wa__sender_key_state_structure__get_packed_size
(const Wa__SenderKeyStateStructure *message);
size_t wa__sender_key_state_structure__pack
(const Wa__SenderKeyStateStructure *message,
	uint8_t *out);
size_t wa__sender_key_state_structure__pack_to_buffer
(const Wa__SenderKeyStateStructure *message,
	ProtobufCBuffer *buffer);
Wa__SenderKeyStateStructure *
wa__sender_key_state_structure__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sender_key_state_structure__free_unpacked
(Wa__SenderKeyStateStructure *message,
	ProtobufCAllocator *allocator);
/* Wa__SenderMessageKey methods */
void   wa__sender_message_key__init
(Wa__SenderMessageKey *message);
size_t wa__sender_message_key__get_packed_size
(const Wa__SenderMessageKey *message);
size_t wa__sender_message_key__pack
(const Wa__SenderMessageKey *message,
	uint8_t *out);
size_t wa__sender_message_key__pack_to_buffer
(const Wa__SenderMessageKey *message,
	ProtobufCBuffer *buffer);
Wa__SenderMessageKey *
wa__sender_message_key__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sender_message_key__free_unpacked
(Wa__SenderMessageKey *message,
	ProtobufCAllocator *allocator);
/* Wa__SenderSigningKey methods */
void   wa__sender_signing_key__init
(Wa__SenderSigningKey *message);
size_t wa__sender_signing_key__get_packed_size
(const Wa__SenderSigningKey *message);
size_t wa__sender_signing_key__pack
(const Wa__SenderSigningKey *message,
	uint8_t *out);
size_t wa__sender_signing_key__pack_to_buffer
(const Wa__SenderSigningKey *message,
	ProtobufCBuffer *buffer);
Wa__SenderSigningKey *
wa__sender_signing_key__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sender_signing_key__free_unpacked
(Wa__SenderSigningKey *message,
	ProtobufCAllocator *allocator);
/* Wa__ServerErrorReceipt methods */
void   wa__server_error_receipt__init
(Wa__ServerErrorReceipt *message);
size_t wa__server_error_receipt__get_packed_size
(const Wa__ServerErrorReceipt *message);
size_t wa__server_error_receipt__pack
(const Wa__ServerErrorReceipt *message,
	uint8_t *out);
size_t wa__server_error_receipt__pack_to_buffer
(const Wa__ServerErrorReceipt *message,
	ProtobufCBuffer *buffer);
Wa__ServerErrorReceipt *
wa__server_error_receipt__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__server_error_receipt__free_unpacked
(Wa__ServerErrorReceipt *message,
	ProtobufCAllocator *allocator);
/* Wa__SessionStructure methods */
void   wa__session_structure__init
(Wa__SessionStructure *message);
size_t wa__session_structure__get_packed_size
(const Wa__SessionStructure *message);
size_t wa__session_structure__pack
(const Wa__SessionStructure *message,
	uint8_t *out);
size_t wa__session_structure__pack_to_buffer
(const Wa__SessionStructure *message,
	ProtobufCBuffer *buffer);
Wa__SessionStructure *
wa__session_structure__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__session_structure__free_unpacked
(Wa__SessionStructure *message,
	ProtobufCAllocator *allocator);
/* Wa__SignedPreKeyRecordStructure methods */
void   wa__signed_pre_key_record_structure__init
(Wa__SignedPreKeyRecordStructure *message);
size_t wa__signed_pre_key_record_structure__get_packed_size
(const Wa__SignedPreKeyRecordStructure *message);
size_t wa__signed_pre_key_record_structure__pack
(const Wa__SignedPreKeyRecordStructure *message,
	uint8_t *out);
size_t wa__signed_pre_key_record_structure__pack_to_buffer
(const Wa__SignedPreKeyRecordStructure *message,
	ProtobufCBuffer *buffer);
Wa__SignedPreKeyRecordStructure *
wa__signed_pre_key_record_structure__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__signed_pre_key_record_structure__free_unpacked
(Wa__SignedPreKeyRecordStructure *message,
	ProtobufCAllocator *allocator);
/* Wa__StatusPSA methods */
void   wa__status_psa__init
(Wa__StatusPSA *message);
size_t wa__status_psa__get_packed_size
(const Wa__StatusPSA *message);
size_t wa__status_psa__pack
(const Wa__StatusPSA *message,
	uint8_t *out);
size_t wa__status_psa__pack_to_buffer
(const Wa__StatusPSA *message,
	ProtobufCBuffer *buffer);
Wa__StatusPSA *
wa__status_psa__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__status_psa__free_unpacked
(Wa__StatusPSA *message,
	ProtobufCAllocator *allocator);
/* Wa__StickerMetadata methods */
void   wa__sticker_metadata__init
(Wa__StickerMetadata *message);
size_t wa__sticker_metadata__get_packed_size
(const Wa__StickerMetadata *message);
size_t wa__sticker_metadata__pack
(const Wa__StickerMetadata *message,
	uint8_t *out);
size_t wa__sticker_metadata__pack_to_buffer
(const Wa__StickerMetadata *message,
	ProtobufCBuffer *buffer);
Wa__StickerMetadata *
wa__sticker_metadata__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sticker_metadata__free_unpacked
(Wa__StickerMetadata *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncActionData methods */
void   wa__sync_action_data__init
(Wa__SyncActionData *message);
size_t wa__sync_action_data__get_packed_size
(const Wa__SyncActionData *message);
size_t wa__sync_action_data__pack
(const Wa__SyncActionData *message,
	uint8_t *out);
size_t wa__sync_action_data__pack_to_buffer
(const Wa__SyncActionData *message,
	ProtobufCBuffer *buffer);
Wa__SyncActionData *
wa__sync_action_data__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sync_action_data__free_unpacked
(Wa__SyncActionData *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncActionValue__AgentAction methods */
void   wa__sync_action_value__agent_action__init
(Wa__SyncActionValue__AgentAction *message);
/* Wa__SyncActionValue__AndroidUnsupportedActions methods */
void   wa__sync_action_value__android_unsupported_actions__init
(Wa__SyncActionValue__AndroidUnsupportedActions *message);
/* Wa__SyncActionValue__ArchiveChatAction methods */
void   wa__sync_action_value__archive_chat_action__init
(Wa__SyncActionValue__ArchiveChatAction *message);
/* Wa__SyncActionValue__ClearChatAction methods */
void   wa__sync_action_value__clear_chat_action__init
(Wa__SyncActionValue__ClearChatAction *message);
/* Wa__SyncActionValue__ContactAction methods */
void   wa__sync_action_value__contact_action__init
(Wa__SyncActionValue__ContactAction *message);
/* Wa__SyncActionValue__DeleteChatAction methods */
void   wa__sync_action_value__delete_chat_action__init
(Wa__SyncActionValue__DeleteChatAction *message);
/* Wa__SyncActionValue__DeleteMessageForMeAction methods */
void   wa__sync_action_value__delete_message_for_me_action__init
(Wa__SyncActionValue__DeleteMessageForMeAction *message);
/* Wa__SyncActionValue__KeyExpiration methods */
void   wa__sync_action_value__key_expiration__init
(Wa__SyncActionValue__KeyExpiration *message);
/* Wa__SyncActionValue__LabelAssociationAction methods */
void   wa__sync_action_value__label_association_action__init
(Wa__SyncActionValue__LabelAssociationAction *message);
/* Wa__SyncActionValue__LabelEditAction methods */
void   wa__sync_action_value__label_edit_action__init
(Wa__SyncActionValue__LabelEditAction *message);
/* Wa__SyncActionValue__LocaleSetting methods */
void   wa__sync_action_value__locale_setting__init
(Wa__SyncActionValue__LocaleSetting *message);
/* Wa__SyncActionValue__MarkChatAsReadAction methods */
void   wa__sync_action_value__mark_chat_as_read_action__init
(Wa__SyncActionValue__MarkChatAsReadAction *message);
/* Wa__SyncActionValue__MuteAction methods */
void   wa__sync_action_value__mute_action__init
(Wa__SyncActionValue__MuteAction *message);
/* Wa__SyncActionValue__NuxAction methods */
void   wa__sync_action_value__nux_action__init
(Wa__SyncActionValue__NuxAction *message);
/* Wa__SyncActionValue__PinAction methods */
void   wa__sync_action_value__pin_action__init
(Wa__SyncActionValue__PinAction *message);
/* Wa__SyncActionValue__PrimaryFeature methods */
void   wa__sync_action_value__primary_feature__init
(Wa__SyncActionValue__PrimaryFeature *message);
/* Wa__SyncActionValue__PrimaryVersionAction methods */
void   wa__sync_action_value__primary_version_action__init
(Wa__SyncActionValue__PrimaryVersionAction *message);
/* Wa__SyncActionValue__PushNameSetting methods */
void   wa__sync_action_value__push_name_setting__init
(Wa__SyncActionValue__PushNameSetting *message);
/* Wa__SyncActionValue__QuickReplyAction methods */
void   wa__sync_action_value__quick_reply_action__init
(Wa__SyncActionValue__QuickReplyAction *message);
/* Wa__SyncActionValue__RecentEmojiWeightsAction methods */
void   wa__sync_action_value__recent_emoji_weights_action__init
(Wa__SyncActionValue__RecentEmojiWeightsAction *message);
/* Wa__SyncActionValue__SecurityNotificationSetting methods */
void   wa__sync_action_value__security_notification_setting__init
(Wa__SyncActionValue__SecurityNotificationSetting *message);
/* Wa__SyncActionValue__StarAction methods */
void   wa__sync_action_value__star_action__init
(Wa__SyncActionValue__StarAction *message);
/* Wa__SyncActionValue__StickerAction methods */
void   wa__sync_action_value__sticker_action__init
(Wa__SyncActionValue__StickerAction *message);
/* Wa__SyncActionValue__SubscriptionAction methods */
void   wa__sync_action_value__subscription_action__init
(Wa__SyncActionValue__SubscriptionAction *message);
/* Wa__SyncActionValue__SyncActionMessageRange methods */
void   wa__sync_action_value__sync_action_message_range__init
(Wa__SyncActionValue__SyncActionMessageRange *message);
/* Wa__SyncActionValue__SyncActionMessage methods */
void   wa__sync_action_value__sync_action_message__init
(Wa__SyncActionValue__SyncActionMessage *message);
/* Wa__SyncActionValue__TimeFormatAction methods */
void   wa__sync_action_value__time_format_action__init
(Wa__SyncActionValue__TimeFormatAction *message);
/* Wa__SyncActionValue__UnarchiveChatsSetting methods */
void   wa__sync_action_value__unarchive_chats_setting__init
(Wa__SyncActionValue__UnarchiveChatsSetting *message);
/* Wa__SyncActionValue__UserStatusMuteAction methods */
void   wa__sync_action_value__user_status_mute_action__init
(Wa__SyncActionValue__UserStatusMuteAction *message);
/* Wa__SyncActionValue methods */
void   wa__sync_action_value__init
(Wa__SyncActionValue *message);
size_t wa__sync_action_value__get_packed_size
(const Wa__SyncActionValue *message);
size_t wa__sync_action_value__pack
(const Wa__SyncActionValue *message,
	uint8_t *out);
size_t wa__sync_action_value__pack_to_buffer
(const Wa__SyncActionValue *message,
	ProtobufCBuffer *buffer);
Wa__SyncActionValue *
wa__sync_action_value__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__sync_action_value__free_unpacked
(Wa__SyncActionValue *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdIndex methods */
void   wa__syncd_index__init
(Wa__SyncdIndex *message);
size_t wa__syncd_index__get_packed_size
(const Wa__SyncdIndex *message);
size_t wa__syncd_index__pack
(const Wa__SyncdIndex *message,
	uint8_t *out);
size_t wa__syncd_index__pack_to_buffer
(const Wa__SyncdIndex *message,
	ProtobufCBuffer *buffer);
Wa__SyncdIndex *
wa__syncd_index__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_index__free_unpacked
(Wa__SyncdIndex *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdMutation methods */
void   wa__syncd_mutation__init
(Wa__SyncdMutation *message);
size_t wa__syncd_mutation__get_packed_size
(const Wa__SyncdMutation *message);
size_t wa__syncd_mutation__pack
(const Wa__SyncdMutation *message,
	uint8_t *out);
size_t wa__syncd_mutation__pack_to_buffer
(const Wa__SyncdMutation *message,
	ProtobufCBuffer *buffer);
Wa__SyncdMutation *
wa__syncd_mutation__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_mutation__free_unpacked
(Wa__SyncdMutation *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdMutations methods */
void   wa__syncd_mutations__init
(Wa__SyncdMutations *message);
size_t wa__syncd_mutations__get_packed_size
(const Wa__SyncdMutations *message);
size_t wa__syncd_mutations__pack
(const Wa__SyncdMutations *message,
	uint8_t *out);
size_t wa__syncd_mutations__pack_to_buffer
(const Wa__SyncdMutations *message,
	ProtobufCBuffer *buffer);
Wa__SyncdMutations *
wa__syncd_mutations__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_mutations__free_unpacked
(Wa__SyncdMutations *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdPatch methods */
void   wa__syncd_patch__init
(Wa__SyncdPatch *message);
size_t wa__syncd_patch__get_packed_size
(const Wa__SyncdPatch *message);
size_t wa__syncd_patch__pack
(const Wa__SyncdPatch *message,
	uint8_t *out);
size_t wa__syncd_patch__pack_to_buffer
(const Wa__SyncdPatch *message,
	ProtobufCBuffer *buffer);
Wa__SyncdPatch *
wa__syncd_patch__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_patch__free_unpacked
(Wa__SyncdPatch *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdRecord methods */
void   wa__syncd_record__init
(Wa__SyncdRecord *message);
size_t wa__syncd_record__get_packed_size
(const Wa__SyncdRecord *message);
size_t wa__syncd_record__pack
(const Wa__SyncdRecord *message,
	uint8_t *out);
size_t wa__syncd_record__pack_to_buffer
(const Wa__SyncdRecord *message,
	ProtobufCBuffer *buffer);
Wa__SyncdRecord *
wa__syncd_record__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_record__free_unpacked
(Wa__SyncdRecord *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdSnapshot methods */
void   wa__syncd_snapshot__init
(Wa__SyncdSnapshot *message);
size_t wa__syncd_snapshot__get_packed_size
(const Wa__SyncdSnapshot *message);
size_t wa__syncd_snapshot__pack
(const Wa__SyncdSnapshot *message,
	uint8_t *out);
size_t wa__syncd_snapshot__pack_to_buffer
(const Wa__SyncdSnapshot *message,
	ProtobufCBuffer *buffer);
Wa__SyncdSnapshot *
wa__syncd_snapshot__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_snapshot__free_unpacked
(Wa__SyncdSnapshot *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdValue methods */
void   wa__syncd_value__init
(Wa__SyncdValue *message);
size_t wa__syncd_value__get_packed_size
(const Wa__SyncdValue *message);
size_t wa__syncd_value__pack
(const Wa__SyncdValue *message,
	uint8_t *out);
size_t wa__syncd_value__pack_to_buffer
(const Wa__SyncdValue *message,
	ProtobufCBuffer *buffer);
Wa__SyncdValue *
wa__syncd_value__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_value__free_unpacked
(Wa__SyncdValue *message,
	ProtobufCAllocator *allocator);
/* Wa__SyncdVersion methods */
void   wa__syncd_version__init
(Wa__SyncdVersion *message);
size_t wa__syncd_version__get_packed_size
(const Wa__SyncdVersion *message);
size_t wa__syncd_version__pack
(const Wa__SyncdVersion *message,
	uint8_t *out);
size_t wa__syncd_version__pack_to_buffer
(const Wa__SyncdVersion *message,
	ProtobufCBuffer *buffer);
Wa__SyncdVersion *
wa__syncd_version__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__syncd_version__free_unpacked
(Wa__SyncdVersion *message,
	ProtobufCAllocator *allocator);
/* Wa__TemplateButton__CallButton methods */
void   wa__template_button__call_button__init
(Wa__TemplateButton__CallButton *message);
/* Wa__TemplateButton__QuickReplyButton methods */
void   wa__template_button__quick_reply_button__init
(Wa__TemplateButton__QuickReplyButton *message);
/* Wa__TemplateButton__URLButton methods */
void   wa__template_button__urlbutton__init
(Wa__TemplateButton__URLButton *message);
/* Wa__TemplateButton methods */
void   wa__template_button__init
(Wa__TemplateButton *message);
size_t wa__template_button__get_packed_size
(const Wa__TemplateButton *message);
size_t wa__template_button__pack
(const Wa__TemplateButton *message,
	uint8_t *out);
size_t wa__template_button__pack_to_buffer
(const Wa__TemplateButton *message,
	ProtobufCBuffer *buffer);
Wa__TemplateButton *
wa__template_button__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__template_button__free_unpacked
(Wa__TemplateButton *message,
	ProtobufCAllocator *allocator);
/* Wa__UserReceipt methods */
void   wa__user_receipt__init
(Wa__UserReceipt *message);
size_t wa__user_receipt__get_packed_size
(const Wa__UserReceipt *message);
size_t wa__user_receipt__pack
(const Wa__UserReceipt *message,
	uint8_t *out);
size_t wa__user_receipt__pack_to_buffer
(const Wa__UserReceipt *message,
	ProtobufCBuffer *buffer);
Wa__UserReceipt *
wa__user_receipt__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__user_receipt__free_unpacked
(Wa__UserReceipt *message,
	ProtobufCAllocator *allocator);
/* Wa__VerifiedNameCertificate__Details methods */
void   wa__verified_name_certificate__details__init
(Wa__VerifiedNameCertificate__Details *message);
/* Wa__VerifiedNameCertificate methods */
void   wa__verified_name_certificate__init
(Wa__VerifiedNameCertificate *message);
size_t wa__verified_name_certificate__get_packed_size
(const Wa__VerifiedNameCertificate *message);
size_t wa__verified_name_certificate__pack
(const Wa__VerifiedNameCertificate *message,
	uint8_t *out);
size_t wa__verified_name_certificate__pack_to_buffer
(const Wa__VerifiedNameCertificate *message,
	ProtobufCBuffer *buffer);
Wa__VerifiedNameCertificate *
wa__verified_name_certificate__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__verified_name_certificate__free_unpacked
(Wa__VerifiedNameCertificate *message,
	ProtobufCAllocator *allocator);
/* Wa__WallpaperSettings methods */
void   wa__wallpaper_settings__init
(Wa__WallpaperSettings *message);
size_t wa__wallpaper_settings__get_packed_size
(const Wa__WallpaperSettings *message);
size_t wa__wallpaper_settings__pack
(const Wa__WallpaperSettings *message,
	uint8_t *out);
size_t wa__wallpaper_settings__pack_to_buffer
(const Wa__WallpaperSettings *message,
	ProtobufCBuffer *buffer);
Wa__WallpaperSettings *
wa__wallpaper_settings__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__wallpaper_settings__free_unpacked
(Wa__WallpaperSettings *message,
	ProtobufCAllocator *allocator);
/* Wa__WebFeatures methods */
void   wa__web_features__init
(Wa__WebFeatures *message);
size_t wa__web_features__get_packed_size
(const Wa__WebFeatures *message);
size_t wa__web_features__pack
(const Wa__WebFeatures *message,
	uint8_t *out);
size_t wa__web_features__pack_to_buffer
(const Wa__WebFeatures *message,
	ProtobufCBuffer *buffer);
Wa__WebFeatures *
wa__web_features__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__web_features__free_unpacked
(Wa__WebFeatures *message,
	ProtobufCAllocator *allocator);
/* Wa__WebMessageInfo methods */
void   wa__web_message_info__init
(Wa__WebMessageInfo *message);
size_t wa__web_message_info__get_packed_size
(const Wa__WebMessageInfo *message);
size_t wa__web_message_info__pack
(const Wa__WebMessageInfo *message,
	uint8_t *out);
size_t wa__web_message_info__pack_to_buffer
(const Wa__WebMessageInfo *message,
	ProtobufCBuffer *buffer);
Wa__WebMessageInfo *
wa__web_message_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__web_message_info__free_unpacked
(Wa__WebMessageInfo *message,
	ProtobufCAllocator *allocator);
/* Wa__WebNotificationsInfo methods */
void   wa__web_notifications_info__init
(Wa__WebNotificationsInfo *message);
size_t wa__web_notifications_info__get_packed_size
(const Wa__WebNotificationsInfo *message);
size_t wa__web_notifications_info__pack
(const Wa__WebNotificationsInfo *message,
	uint8_t *out);
size_t wa__web_notifications_info__pack_to_buffer
(const Wa__WebNotificationsInfo *message,
	ProtobufCBuffer *buffer);
Wa__WebNotificationsInfo *
wa__web_notifications_info__unpack
(ProtobufCAllocator *allocator,
	size_t               len,
	const uint8_t *data);
void   wa__web_notifications_info__free_unpacked
(Wa__WebNotificationsInfo *message,
	ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*Wa__ADVDeviceIdentity_Closure)
(const Wa__ADVDeviceIdentity *message,
	void *closure_data);
typedef void (*Wa__ADVKeyIndexList_Closure)
(const Wa__ADVKeyIndexList *message,
	void *closure_data);
typedef void (*Wa__ADVSignedDeviceIdentity_Closure)
(const Wa__ADVSignedDeviceIdentity *message,
	void *closure_data);
typedef void (*Wa__ADVSignedDeviceIdentityHMAC_Closure)
(const Wa__ADVSignedDeviceIdentityHMAC *message,
	void *closure_data);
typedef void (*Wa__ADVSignedKeyIndexList_Closure)
(const Wa__ADVSignedKeyIndexList *message,
	void *closure_data);
typedef void (*Wa__ActionLink_Closure)
(const Wa__ActionLink *message,
	void *closure_data);
typedef void (*Wa__AutoDownloadSettings_Closure)
(const Wa__AutoDownloadSettings *message,
	void *closure_data);
typedef void (*Wa__BizAccountLinkInfo_Closure)
(const Wa__BizAccountLinkInfo *message,
	void *closure_data);
typedef void (*Wa__BizAccountPayload_Closure)
(const Wa__BizAccountPayload *message,
	void *closure_data);
typedef void (*Wa__BizIdentityInfo_Closure)
(const Wa__BizIdentityInfo *message,
	void *closure_data);
typedef void (*Wa__CertChain__NoiseCertificate__Details_Closure)
(const Wa__CertChain__NoiseCertificate__Details *message,
	void *closure_data);
typedef void (*Wa__CertChain__NoiseCertificate_Closure)
(const Wa__CertChain__NoiseCertificate *message,
	void *closure_data);
typedef void (*Wa__CertChain_Closure)
(const Wa__CertChain *message,
	void *closure_data);
typedef void (*Wa__Chain_Closure)
(const Wa__Chain *message,
	void *closure_data);
typedef void (*Wa__ChainKey_Closure)
(const Wa__ChainKey *message,
	void *closure_data);
typedef void (*Wa__ClientPayload__DNSSource_Closure)
(const Wa__ClientPayload__DNSSource *message,
	void *closure_data);
typedef void (*Wa__ClientPayload__DevicePairingRegistrationData_Closure)
(const Wa__ClientPayload__DevicePairingRegistrationData *message,
	void *closure_data);
typedef void (*Wa__ClientPayload__UserAgent__AppVersion_Closure)
(const Wa__ClientPayload__UserAgent__AppVersion *message,
	void *closure_data);
typedef void (*Wa__ClientPayload__UserAgent_Closure)
(const Wa__ClientPayload__UserAgent *message,
	void *closure_data);
typedef void (*Wa__ClientPayload__WebInfo__WebdPayload_Closure)
(const Wa__ClientPayload__WebInfo__WebdPayload *message,
	void *closure_data);
typedef void (*Wa__ClientPayload__WebInfo_Closure)
(const Wa__ClientPayload__WebInfo *message,
	void *closure_data);
typedef void (*Wa__ClientPayload_Closure)
(const Wa__ClientPayload *message,
	void *closure_data);
typedef void (*Wa__ContextInfo__AdReplyInfo_Closure)
(const Wa__ContextInfo__AdReplyInfo *message,
	void *closure_data);
typedef void (*Wa__ContextInfo__ExternalAdReplyInfo_Closure)
(const Wa__ContextInfo__ExternalAdReplyInfo *message,
	void *closure_data);
typedef void (*Wa__ContextInfo_Closure)
(const Wa__ContextInfo *message,
	void *closure_data);
typedef void (*Wa__Conversation_Closure)
(const Wa__Conversation *message,
	void *closure_data);
typedef void (*Wa__DeviceListMetadata_Closure)
(const Wa__DeviceListMetadata *message,
	void *closure_data);
typedef void (*Wa__DeviceProps__AppVersion_Closure)
(const Wa__DeviceProps__AppVersion *message,
	void *closure_data);
typedef void (*Wa__DeviceProps_Closure)
(const Wa__DeviceProps *message,
	void *closure_data);
typedef void (*Wa__DisappearingMode_Closure)
(const Wa__DisappearingMode *message,
	void *closure_data);
typedef void (*Wa__EphemeralSetting_Closure)
(const Wa__EphemeralSetting *message,
	void *closure_data);
typedef void (*Wa__ExitCode_Closure)
(const Wa__ExitCode *message,
	void *closure_data);
typedef void (*Wa__ExternalBlobReference_Closure)
(const Wa__ExternalBlobReference *message,
	void *closure_data);
typedef void (*Wa__GlobalSettings_Closure)
(const Wa__GlobalSettings *message,
	void *closure_data);
typedef void (*Wa__GroupParticipant_Closure)
(const Wa__GroupParticipant *message,
	void *closure_data);
typedef void (*Wa__HandshakeMessage__ClientFinish_Closure)
(const Wa__HandshakeMessage__ClientFinish *message,
	void *closure_data);
typedef void (*Wa__HandshakeMessage__ClientHello_Closure)
(const Wa__HandshakeMessage__ClientHello *message,
	void *closure_data);
typedef void (*Wa__HandshakeMessage__ServerHello_Closure)
(const Wa__HandshakeMessage__ServerHello *message,
	void *closure_data);
typedef void (*Wa__HandshakeMessage_Closure)
(const Wa__HandshakeMessage *message,
	void *closure_data);
typedef void (*Wa__HistorySync_Closure)
(const Wa__HistorySync *message,
	void *closure_data);
typedef void (*Wa__HistorySyncMsg_Closure)
(const Wa__HistorySyncMsg *message,
	void *closure_data);
typedef void (*Wa__HydratedTemplateButton__HydratedCallButton_Closure)
(const Wa__HydratedTemplateButton__HydratedCallButton *message,
	void *closure_data);
typedef void (*Wa__HydratedTemplateButton__HydratedQuickReplyButton_Closure)
(const Wa__HydratedTemplateButton__HydratedQuickReplyButton *message,
	void *closure_data);
typedef void (*Wa__HydratedTemplateButton__HydratedURLButton_Closure)
(const Wa__HydratedTemplateButton__HydratedURLButton *message,
	void *closure_data);
typedef void (*Wa__HydratedTemplateButton_Closure)
(const Wa__HydratedTemplateButton *message,
	void *closure_data);
typedef void (*Wa__IdentityKeyPairStructure_Closure)
(const Wa__IdentityKeyPairStructure *message,
	void *closure_data);
typedef void (*Wa__InteractiveAnnotation_Closure)
(const Wa__InteractiveAnnotation *message,
	void *closure_data);
typedef void (*Wa__KeepInChat_Closure)
(const Wa__KeepInChat *message,
	void *closure_data);
typedef void (*Wa__KeyId_Closure)
(const Wa__KeyId *message,
	void *closure_data);
typedef void (*Wa__LocalizedName_Closure)
(const Wa__LocalizedName *message,
	void *closure_data);
typedef void (*Wa__Location_Closure)
(const Wa__Location *message,
	void *closure_data);
typedef void (*Wa__MediaData_Closure)
(const Wa__MediaData *message,
	void *closure_data);
typedef void (*Wa__MediaRetryNotification_Closure)
(const Wa__MediaRetryNotification *message,
	void *closure_data);
typedef void (*Wa__Message__AppStateFatalExceptionNotification_Closure)
(const Wa__Message__AppStateFatalExceptionNotification *message,
	void *closure_data);
typedef void (*Wa__Message__AppStateSyncKeyData_Closure)
(const Wa__Message__AppStateSyncKeyData *message,
	void *closure_data);
typedef void (*Wa__Message__AppStateSyncKeyFingerprint_Closure)
(const Wa__Message__AppStateSyncKeyFingerprint *message,
	void *closure_data);
typedef void (*Wa__Message__AppStateSyncKeyId_Closure)
(const Wa__Message__AppStateSyncKeyId *message,
	void *closure_data);
typedef void (*Wa__Message__AppStateSyncKeyRequest_Closure)
(const Wa__Message__AppStateSyncKeyRequest *message,
	void *closure_data);
typedef void (*Wa__Message__AppStateSyncKeyShare_Closure)
(const Wa__Message__AppStateSyncKeyShare *message,
	void *closure_data);
typedef void (*Wa__Message__AppStateSyncKey_Closure)
(const Wa__Message__AppStateSyncKey *message,
	void *closure_data);
typedef void (*Wa__Message__AudioMessage_Closure)
(const Wa__Message__AudioMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ButtonsMessage__Button__ButtonText_Closure)
(const Wa__Message__ButtonsMessage__Button__ButtonText *message,
	void *closure_data);
typedef void (*Wa__Message__ButtonsMessage__Button__NativeFlowInfo_Closure)
(const Wa__Message__ButtonsMessage__Button__NativeFlowInfo *message,
	void *closure_data);
typedef void (*Wa__Message__ButtonsMessage__Button_Closure)
(const Wa__Message__ButtonsMessage__Button *message,
	void *closure_data);
typedef void (*Wa__Message__ButtonsMessage_Closure)
(const Wa__Message__ButtonsMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ButtonsResponseMessage_Closure)
(const Wa__Message__ButtonsResponseMessage *message,
	void *closure_data);
typedef void (*Wa__Message__Call_Closure)
(const Wa__Message__Call *message,
	void *closure_data);
typedef void (*Wa__Message__CancelPaymentRequestMessage_Closure)
(const Wa__Message__CancelPaymentRequestMessage *message,
	void *closure_data);
typedef void (*Wa__Message__Chat_Closure)
(const Wa__Message__Chat *message,
	void *closure_data);
typedef void (*Wa__Message__ContactMessage_Closure)
(const Wa__Message__ContactMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ContactsArrayMessage_Closure)
(const Wa__Message__ContactsArrayMessage *message,
	void *closure_data);
typedef void (*Wa__Message__DeclinePaymentRequestMessage_Closure)
(const Wa__Message__DeclinePaymentRequestMessage *message,
	void *closure_data);
typedef void (*Wa__Message__DeviceSentMessage_Closure)
(const Wa__Message__DeviceSentMessage *message,
	void *closure_data);
typedef void (*Wa__Message__DocumentMessage_Closure)
(const Wa__Message__DocumentMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ExtendedTextMessage_Closure)
(const Wa__Message__ExtendedTextMessage *message,
	void *closure_data);
typedef void (*Wa__Message__FutureProofMessage_Closure)
(const Wa__Message__FutureProofMessage *message,
	void *closure_data);
typedef void (*Wa__Message__GroupInviteMessage_Closure)
(const Wa__Message__GroupInviteMessage *message,
	void *closure_data);
typedef void (*Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency_Closure)
(const Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMCurrency *message,
	void *closure_data);
typedef void (*Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent_Closure)
(const Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeComponent *message,
	void *closure_data);
typedef void (*Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch_Closure)
(const Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime__HSMDateTimeUnixEpoch *message,
	void *closure_data);
typedef void (*Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime_Closure)
(const Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter__HSMDateTime *message,
	void *closure_data);
typedef void (*Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter_Closure)
(const Wa__Message__HighlyStructuredMessage__HSMLocalizableParameter *message,
	void *closure_data);
typedef void (*Wa__Message__HighlyStructuredMessage_Closure)
(const Wa__Message__HighlyStructuredMessage *message,
	void *closure_data);
typedef void (*Wa__Message__HistorySyncNotification_Closure)
(const Wa__Message__HistorySyncNotification *message,
	void *closure_data);
typedef void (*Wa__Message__ImageMessage_Closure)
(const Wa__Message__ImageMessage *message,
	void *closure_data);
typedef void (*Wa__Message__InitialSecurityNotificationSettingSync_Closure)
(const Wa__Message__InitialSecurityNotificationSettingSync *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage__Body_Closure)
(const Wa__Message__InteractiveMessage__Body *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage__CollectionMessage_Closure)
(const Wa__Message__InteractiveMessage__CollectionMessage *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage__Footer_Closure)
(const Wa__Message__InteractiveMessage__Footer *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage__Header_Closure)
(const Wa__Message__InteractiveMessage__Header *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton_Closure)
(const Wa__Message__InteractiveMessage__NativeFlowMessage__NativeFlowButton *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage__NativeFlowMessage_Closure)
(const Wa__Message__InteractiveMessage__NativeFlowMessage *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage__ShopMessage_Closure)
(const Wa__Message__InteractiveMessage__ShopMessage *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveMessage_Closure)
(const Wa__Message__InteractiveMessage *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveResponseMessage__Body_Closure)
(const Wa__Message__InteractiveResponseMessage__Body *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage_Closure)
(const Wa__Message__InteractiveResponseMessage__NativeFlowResponseMessage *message,
	void *closure_data);
typedef void (*Wa__Message__InteractiveResponseMessage_Closure)
(const Wa__Message__InteractiveResponseMessage *message,
	void *closure_data);
typedef void (*Wa__Message__InvoiceMessage_Closure)
(const Wa__Message__InvoiceMessage *message,
	void *closure_data);
typedef void (*Wa__Message__KeepInChatMessage_Closure)
(const Wa__Message__KeepInChatMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ListMessage__ProductListHeaderImage_Closure)
(const Wa__Message__ListMessage__ProductListHeaderImage *message,
	void *closure_data);
typedef void (*Wa__Message__ListMessage__ProductListInfo_Closure)
(const Wa__Message__ListMessage__ProductListInfo *message,
	void *closure_data);
typedef void (*Wa__Message__ListMessage__ProductSection_Closure)
(const Wa__Message__ListMessage__ProductSection *message,
	void *closure_data);
typedef void (*Wa__Message__ListMessage__Product_Closure)
(const Wa__Message__ListMessage__Product *message,
	void *closure_data);
typedef void (*Wa__Message__ListMessage__Row_Closure)
(const Wa__Message__ListMessage__Row *message,
	void *closure_data);
typedef void (*Wa__Message__ListMessage__Section_Closure)
(const Wa__Message__ListMessage__Section *message,
	void *closure_data);
typedef void (*Wa__Message__ListMessage_Closure)
(const Wa__Message__ListMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ListResponseMessage__SingleSelectReply_Closure)
(const Wa__Message__ListResponseMessage__SingleSelectReply *message,
	void *closure_data);
typedef void (*Wa__Message__ListResponseMessage_Closure)
(const Wa__Message__ListResponseMessage *message,
	void *closure_data);
typedef void (*Wa__Message__LiveLocationMessage_Closure)
(const Wa__Message__LiveLocationMessage *message,
	void *closure_data);
typedef void (*Wa__Message__LocationMessage_Closure)
(const Wa__Message__LocationMessage *message,
	void *closure_data);
typedef void (*Wa__Message__OrderMessage_Closure)
(const Wa__Message__OrderMessage *message,
	void *closure_data);
typedef void (*Wa__Message__PaymentInviteMessage_Closure)
(const Wa__Message__PaymentInviteMessage *message,
	void *closure_data);
typedef void (*Wa__Message__PollCreationMessage__Option_Closure)
(const Wa__Message__PollCreationMessage__Option *message,
	void *closure_data);
typedef void (*Wa__Message__PollCreationMessage_Closure)
(const Wa__Message__PollCreationMessage *message,
	void *closure_data);
typedef void (*Wa__Message__PollEncValue_Closure)
(const Wa__Message__PollEncValue *message,
	void *closure_data);
typedef void (*Wa__Message__PollUpdateMessageMetadata_Closure)
(const Wa__Message__PollUpdateMessageMetadata *message,
	void *closure_data);
typedef void (*Wa__Message__PollUpdateMessage_Closure)
(const Wa__Message__PollUpdateMessage *message,
	void *closure_data);
typedef void (*Wa__Message__PollVoteMessage_Closure)
(const Wa__Message__PollVoteMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ProductMessage__CatalogSnapshot_Closure)
(const Wa__Message__ProductMessage__CatalogSnapshot *message,
	void *closure_data);
typedef void (*Wa__Message__ProductMessage__ProductSnapshot_Closure)
(const Wa__Message__ProductMessage__ProductSnapshot *message,
	void *closure_data);
typedef void (*Wa__Message__ProductMessage_Closure)
(const Wa__Message__ProductMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ProtocolMessage_Closure)
(const Wa__Message__ProtocolMessage *message,
	void *closure_data);
typedef void (*Wa__Message__ReactionMessage_Closure)
(const Wa__Message__ReactionMessage *message,
	void *closure_data);
typedef void (*Wa__Message__RequestMediaUploadMessage_Closure)
(const Wa__Message__RequestMediaUploadMessage *message,
	void *closure_data);
typedef void (*Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult_Closure)
(const Wa__Message__RequestMediaUploadResponseMessage__RequestMediaUploadResult *message,
	void *closure_data);
typedef void (*Wa__Message__RequestMediaUploadResponseMessage_Closure)
(const Wa__Message__RequestMediaUploadResponseMessage *message,
	void *closure_data);
typedef void (*Wa__Message__RequestPaymentMessage_Closure)
(const Wa__Message__RequestPaymentMessage *message,
	void *closure_data);
typedef void (*Wa__Message__RequestPhoneNumberMessage_Closure)
(const Wa__Message__RequestPhoneNumberMessage *message,
	void *closure_data);
typedef void (*Wa__Message__SendPaymentMessage_Closure)
(const Wa__Message__SendPaymentMessage *message,
	void *closure_data);
typedef void (*Wa__Message__SenderKeyDistributionMessage_Closure)
(const Wa__Message__SenderKeyDistributionMessage *message,
	void *closure_data);
typedef void (*Wa__Message__StickerMessage_Closure)
(const Wa__Message__StickerMessage *message,
	void *closure_data);
typedef void (*Wa__Message__StickerSyncRMRMessage_Closure)
(const Wa__Message__StickerSyncRMRMessage *message,
	void *closure_data);
typedef void (*Wa__Message__TemplateButtonReplyMessage_Closure)
(const Wa__Message__TemplateButtonReplyMessage *message,
	void *closure_data);
typedef void (*Wa__Message__TemplateMessage__FourRowTemplate_Closure)
(const Wa__Message__TemplateMessage__FourRowTemplate *message,
	void *closure_data);
typedef void (*Wa__Message__TemplateMessage__HydratedFourRowTemplate_Closure)
(const Wa__Message__TemplateMessage__HydratedFourRowTemplate *message,
	void *closure_data);
typedef void (*Wa__Message__TemplateMessage_Closure)
(const Wa__Message__TemplateMessage *message,
	void *closure_data);
typedef void (*Wa__Message__VideoMessage_Closure)
(const Wa__Message__VideoMessage *message,
	void *closure_data);
typedef void (*Wa__Message_Closure)
(const Wa__Message *message,
	void *closure_data);
typedef void (*Wa__MessageContextInfo_Closure)
(const Wa__MessageContextInfo *message,
	void *closure_data);
typedef void (*Wa__MessageKey_Closure)
(const Wa__MessageKey *message,
	void *closure_data);
typedef void (*Wa__Money_Closure)
(const Wa__Money *message,
	void *closure_data);
typedef void (*Wa__MsgOpaqueData__PollOption_Closure)
(const Wa__MsgOpaqueData__PollOption *message,
	void *closure_data);
typedef void (*Wa__MsgOpaqueData_Closure)
(const Wa__MsgOpaqueData *message,
	void *closure_data);
typedef void (*Wa__MsgRowOpaqueData_Closure)
(const Wa__MsgRowOpaqueData *message,
	void *closure_data);
typedef void (*Wa__NoiseCertificate__Details_Closure)
(const Wa__NoiseCertificate__Details *message,
	void *closure_data);
typedef void (*Wa__NoiseCertificate_Closure)
(const Wa__NoiseCertificate *message,
	void *closure_data);
typedef void (*Wa__NotificationMessageInfo_Closure)
(const Wa__NotificationMessageInfo *message,
	void *closure_data);
typedef void (*Wa__PastParticipant_Closure)
(const Wa__PastParticipant *message,
	void *closure_data);
typedef void (*Wa__PastParticipants_Closure)
(const Wa__PastParticipants *message,
	void *closure_data);
typedef void (*Wa__PaymentBackground__MediaData_Closure)
(const Wa__PaymentBackground__MediaData *message,
	void *closure_data);
typedef void (*Wa__PaymentBackground_Closure)
(const Wa__PaymentBackground *message,
	void *closure_data);
typedef void (*Wa__PaymentInfo_Closure)
(const Wa__PaymentInfo *message,
	void *closure_data);
typedef void (*Wa__PendingKeyExchange_Closure)
(const Wa__PendingKeyExchange *message,
	void *closure_data);
typedef void (*Wa__PendingPreKey_Closure)
(const Wa__PendingPreKey *message,
	void *closure_data);
typedef void (*Wa__PhotoChange_Closure)
(const Wa__PhotoChange *message,
	void *closure_data);
typedef void (*Wa__Point_Closure)
(const Wa__Point *message,
	void *closure_data);
typedef void (*Wa__PollAdditionalMetadata_Closure)
(const Wa__PollAdditionalMetadata *message,
	void *closure_data);
typedef void (*Wa__PollEncValue_Closure)
(const Wa__PollEncValue *message,
	void *closure_data);
typedef void (*Wa__PollUpdate_Closure)
(const Wa__PollUpdate *message,
	void *closure_data);
typedef void (*Wa__PreKeyRecordStructure_Closure)
(const Wa__PreKeyRecordStructure *message,
	void *closure_data);
typedef void (*Wa__Pushname_Closure)
(const Wa__Pushname *message,
	void *closure_data);
typedef void (*Wa__Reaction_Closure)
(const Wa__Reaction *message,
	void *closure_data);
typedef void (*Wa__RecentEmojiWeight_Closure)
(const Wa__RecentEmojiWeight *message,
	void *closure_data);
typedef void (*Wa__RecordStructure_Closure)
(const Wa__RecordStructure *message,
	void *closure_data);
typedef void (*Wa__SenderChainKey_Closure)
(const Wa__SenderChainKey *message,
	void *closure_data);
typedef void (*Wa__SenderKeyRecordStructure_Closure)
(const Wa__SenderKeyRecordStructure *message,
	void *closure_data);
typedef void (*Wa__SenderKeyStateStructure_Closure)
(const Wa__SenderKeyStateStructure *message,
	void *closure_data);
typedef void (*Wa__SenderMessageKey_Closure)
(const Wa__SenderMessageKey *message,
	void *closure_data);
typedef void (*Wa__SenderSigningKey_Closure)
(const Wa__SenderSigningKey *message,
	void *closure_data);
typedef void (*Wa__ServerErrorReceipt_Closure)
(const Wa__ServerErrorReceipt *message,
	void *closure_data);
typedef void (*Wa__SessionStructure_Closure)
(const Wa__SessionStructure *message,
	void *closure_data);
typedef void (*Wa__SignedPreKeyRecordStructure_Closure)
(const Wa__SignedPreKeyRecordStructure *message,
	void *closure_data);
typedef void (*Wa__StatusPSA_Closure)
(const Wa__StatusPSA *message,
	void *closure_data);
typedef void (*Wa__StickerMetadata_Closure)
(const Wa__StickerMetadata *message,
	void *closure_data);
typedef void (*Wa__SyncActionData_Closure)
(const Wa__SyncActionData *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__AgentAction_Closure)
(const Wa__SyncActionValue__AgentAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__AndroidUnsupportedActions_Closure)
(const Wa__SyncActionValue__AndroidUnsupportedActions *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__ArchiveChatAction_Closure)
(const Wa__SyncActionValue__ArchiveChatAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__ClearChatAction_Closure)
(const Wa__SyncActionValue__ClearChatAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__ContactAction_Closure)
(const Wa__SyncActionValue__ContactAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__DeleteChatAction_Closure)
(const Wa__SyncActionValue__DeleteChatAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__DeleteMessageForMeAction_Closure)
(const Wa__SyncActionValue__DeleteMessageForMeAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__KeyExpiration_Closure)
(const Wa__SyncActionValue__KeyExpiration *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__LabelAssociationAction_Closure)
(const Wa__SyncActionValue__LabelAssociationAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__LabelEditAction_Closure)
(const Wa__SyncActionValue__LabelEditAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__LocaleSetting_Closure)
(const Wa__SyncActionValue__LocaleSetting *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__MarkChatAsReadAction_Closure)
(const Wa__SyncActionValue__MarkChatAsReadAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__MuteAction_Closure)
(const Wa__SyncActionValue__MuteAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__NuxAction_Closure)
(const Wa__SyncActionValue__NuxAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__PinAction_Closure)
(const Wa__SyncActionValue__PinAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__PrimaryFeature_Closure)
(const Wa__SyncActionValue__PrimaryFeature *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__PrimaryVersionAction_Closure)
(const Wa__SyncActionValue__PrimaryVersionAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__PushNameSetting_Closure)
(const Wa__SyncActionValue__PushNameSetting *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__QuickReplyAction_Closure)
(const Wa__SyncActionValue__QuickReplyAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__RecentEmojiWeightsAction_Closure)
(const Wa__SyncActionValue__RecentEmojiWeightsAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__SecurityNotificationSetting_Closure)
(const Wa__SyncActionValue__SecurityNotificationSetting *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__StarAction_Closure)
(const Wa__SyncActionValue__StarAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__StickerAction_Closure)
(const Wa__SyncActionValue__StickerAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__SubscriptionAction_Closure)
(const Wa__SyncActionValue__SubscriptionAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__SyncActionMessageRange_Closure)
(const Wa__SyncActionValue__SyncActionMessageRange *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__SyncActionMessage_Closure)
(const Wa__SyncActionValue__SyncActionMessage *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__TimeFormatAction_Closure)
(const Wa__SyncActionValue__TimeFormatAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__UnarchiveChatsSetting_Closure)
(const Wa__SyncActionValue__UnarchiveChatsSetting *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue__UserStatusMuteAction_Closure)
(const Wa__SyncActionValue__UserStatusMuteAction *message,
	void *closure_data);
typedef void (*Wa__SyncActionValue_Closure)
(const Wa__SyncActionValue *message,
	void *closure_data);
typedef void (*Wa__SyncdIndex_Closure)
(const Wa__SyncdIndex *message,
	void *closure_data);
typedef void (*Wa__SyncdMutation_Closure)
(const Wa__SyncdMutation *message,
	void *closure_data);
typedef void (*Wa__SyncdMutations_Closure)
(const Wa__SyncdMutations *message,
	void *closure_data);
typedef void (*Wa__SyncdPatch_Closure)
(const Wa__SyncdPatch *message,
	void *closure_data);
typedef void (*Wa__SyncdRecord_Closure)
(const Wa__SyncdRecord *message,
	void *closure_data);
typedef void (*Wa__SyncdSnapshot_Closure)
(const Wa__SyncdSnapshot *message,
	void *closure_data);
typedef void (*Wa__SyncdValue_Closure)
(const Wa__SyncdValue *message,
	void *closure_data);
typedef void (*Wa__SyncdVersion_Closure)
(const Wa__SyncdVersion *message,
	void *closure_data);
typedef void (*Wa__TemplateButton__CallButton_Closure)
(const Wa__TemplateButton__CallButton *message,
	void *closure_data);
typedef void (*Wa__TemplateButton__QuickReplyButton_Closure)
(const Wa__TemplateButton__QuickReplyButton *message,
	void *closure_data);
typedef void (*Wa__TemplateButton__URLButton_Closure)
(const Wa__TemplateButton__URLButton *message,
	void *closure_data);
typedef void (*Wa__TemplateButton_Closure)
(const Wa__TemplateButton *message,
	void *closure_data);
typedef void (*Wa__UserReceipt_Closure)
(const Wa__UserReceipt *message,
	void *closure_data);
typedef void (*Wa__VerifiedNameCertificate__Details_Closure)
(const Wa__VerifiedNameCertificate__Details *message,
	void *closure_data);
typedef void (*Wa__VerifiedNameCertificate_Closure)
(const Wa__VerifiedNameCertificate *message,
	void *closure_data);
typedef void (*Wa__WallpaperSettings_Closure)
(const Wa__WallpaperSettings *message,
	void *closure_data);
typedef void (*Wa__WebFeatures_Closure)
(const Wa__WebFeatures *message,
	void *closure_data);
typedef void (*Wa__WebMessageInfo_Closure)
(const Wa__WebMessageInfo *message,
	void *closure_data);
typedef void (*Wa__WebNotificationsInfo_Closure)
(const Wa__WebNotificationsInfo *message,
	void *closure_data);

/* --- services --- */

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_pmsg_2eproto__INCLUDED */