pub const FILE_DESCRIPTOR_SET: &'static [u8] = b"\n\xcd\x0c\n message_contents/signature.proto\x12\x15xmtp.message_contents\"\xdd\x02\n\tSignature\x12T\n\recdsa_compact\x18\x01 \x01(\x0b2-.xmtp.message_contents.Signature.ECDSACompactH\x00R\x0cecdsaCompact\x12g\n\x14wallet_ecdsa_compact\x18\x02 \x01(\x0b23.xmtp.message_contents.Signature.WalletECDSACompactH\x00R\x12walletEcdsaCompact\x1a@\n\x0cECDSACompact\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\x12\x1a\n\x08recovery\x18\x02 \x01(\rR\x08recovery\x1aF\n\x12WalletECDSACompact\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\x12\x1a\n\x08recovery\x18\x02 \x01(\rR\x08recoveryB\x07\n\x05unionBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xd8\x08\n\x06\x12\x04\x01\x00\x1c\x01\nG\n\x01\x0c\x12\x03\x01\x00\x12\x1a= Signature is a generic structure for public key signatures.\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\x08\n\x01\x08\x12\x03\x05\x00C\n\t\n\x02\x08\x0b\x12\x03\x05\x00C\n\x08\n\x01\x08\x12\x03\x06\x008\n\t\n\x02\x08\x01\x12\x03\x06\x008\n\x86\x01\n\x02\x04\x00\x12\x04\n\x00\x1c\x01\x1az Signature represents a generalized public key signature,\n defined as a union to support cryptographic algorithm agility.\n\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x11\n:\n\x04\x04\x00\x03\x00\x12\x04\x0c\x02\x0f\x03\x1a, ECDSA signature bytes and the recovery bit\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x0c\n\x16\n<\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\r\x04\x14\"- compact representation [ R || S ], 64 bytes\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\r\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\r\n\x0f\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\r\x12\x13\n\x1d\n\x06\x04\x00\x03\x00\x02\x01\x12\x03\x0e\x04\x18\"\x0e recovery bit\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x03\x0e\x04\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03\x0e\x0b\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03\x0e\x16\x17\n\xdf\x01\n\x04\x04\x00\x03\x01\x12\x04\x14\x02\x17\x03\x1a\xd0\x01 ECDSA signature bytes and the recovery bit\n produced by xmtp-js::PublicKey.signWithWallet function, i.e.\n EIP-191 signature of a \"Create Identity\" message with the key embedded.\n Used to sign identity keys.\n\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03\x14\n\x1c\n<\n\x06\x04\x00\x03\x01\x02\x00\x12\x03\x15\x04\x14\"- compact representation [ R || S ], 64 bytes\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x03\x15\x04\t\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03\x15\n\x0f\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03\x15\x12\x13\n\x1d\n\x06\x04\x00\x03\x01\x02\x01\x12\x03\x16\x04\x18\"\x0e recovery bit\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x05\x12\x03\x16\x04\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x03\x16\x0b\x13\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x03\x16\x16\x17\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x18\x02\x1b\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x18\x08\r\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x19\x04#\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x19\x04\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x19\x11\x1e\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x19!\"\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x1a\x040\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x1a\x04\x16\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x1a\x17+\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x1a./b\x06proto3\n\x99\x19\n!message_contents/public_key.proto\x12\x15xmtp.message_contents\x1a message_contents/signature.proto\"\xe3\x01\n\x11UnsignedPublicKey\x12\x1d\n\ncreated_ns\x18\x01 \x01(\x04R\tcreatedNs\x12w\n\x16secp256k1_uncompressed\x18\x03 \x01(\x0b2>.xmtp.message_contents.UnsignedPublicKey.Secp256k1UncompressedH\x00R\x15secp256k1Uncompressed\x1a-\n\x15Secp256k1Uncompressed\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytesB\x07\n\x05union\"n\n\x0fSignedPublicKey\x12\x1b\n\tkey_bytes\x18\x01 \x01(\x0cR\x08keyBytes\x12>\n\tsignature\x18\x02 \x01(\x0b2 .xmtp.message_contents.SignatureR\tsignature\"\xa3\x01\n\x15SignedPublicKeyBundle\x12I\n\x0cidentity_key\x18\x01 \x01(\x0b2&.xmtp.message_contents.SignedPublicKeyR\x0bidentityKey\x12?\n\x07pre_key\x18\x02 \x01(\x0b2&.xmtp.message_contents.SignedPublicKeyR\x06preKey\"\xa5\x02\n\tPublicKey\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12C\n\tsignature\x18\x02 \x01(\x0b2 .xmtp.message_contents.SignatureH\x01R\tsignature\x88\x01\x01\x12o\n\x16secp256k1_uncompressed\x18\x03 \x01(\x0b26.xmtp.message_contents.PublicKey.Secp256k1UncompressedH\x00R\x15secp256k1Uncompressed\x1a-\n\x15Secp256k1Uncompressed\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytesB\x07\n\x05unionB\x0c\n\n_signature\"\x91\x01\n\x0fPublicKeyBundle\x12C\n\x0cidentity_key\x18\x01 \x01(\x0b2 .xmtp.message_contents.PublicKeyR\x0bidentityKey\x129\n\x07pre_key\x18\x02 \x01(\x0b2 .xmtp.message_contents.PublicKeyR\x06preKeyBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xa9\x10\n\x06\x12\x04\x02\x00B\x01\n{\n\x01\x0c\x12\x03\x02\x00\x12\x1aq Structure for representing public keys of different types,\n including signatures used to authenticate the keys.\n\n\x08\n\x01\x02\x12\x03\x04\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x06\x00*\n\x08\n\x01\x08\x12\x03\x08\x00C\n\t\n\x02\x08\x0b\x12\x03\x08\x00C\n\x08\n\x01\x08\x12\x03\t\x008\n\t\n\x02\x08\x01\x12\x03\t\x008\n\x84\x01\n\x02\x04\x00\x12\x04\r\x00\x1a\x01\x1ax UnsignedPublicKey represents a generalized public key,\n defined as a union to support cryptographic algorithm agility.\n\n\n\n\x03\x04\x00\x01\x12\x03\r\x08\x19\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x02\x18\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\t\x13\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\x16\x17\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x0f\x02\x11\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x0f\x08\r\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x10\x045\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x10\x04\x19\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x10\x1a0\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x1034\n4\n\x04\x04\x00\x03\x00\x12\x04\x16\x02\x19\x03\x1a\x0f EC: SECP256k1\n2\x15 Supported key types\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x16\n\x1f\nP\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x18\x04\x14\x1aA uncompressed point with prefix (0x04) [ P || X || Y ], 65 bytes\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x18\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x18\n\x0f\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x18\x12\x13\n\x1d\n\x02\x04\x01\x12\x04\x1d\x00 \x01\x1a\x11 SignedPublicKey\n\n\n\n\x03\x04\x01\x01\x12\x03\x1d\x08\x17\n*\n\x04\x04\x01\x02\x00\x12\x03\x1e\x02\x16\"\x1d embeds an UnsignedPublicKey\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x1e\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1e\x08\x11\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1e\x14\x15\n\x1e\n\x04\x04\x01\x02\x01\x12\x03\x1f\x02\x1a\"\x11 signs key_bytes\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x1f\x02\x0b\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1f\x0c\x15\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1f\x18\x19\nW\n\x02\x04\x02\x12\x04#\x00(\x01\x1aK PublicKeyBundle packages the cryptographic keys associated with a wallet.\n\n\n\n\x03\x04\x02\x01\x12\x03#\x08\x1d\n9\n\x04\x04\x02\x02\x00\x12\x03%\x02#\x1a, Identity key MUST be signed by the wallet.\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03%\x02\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03%\x12\x1e\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03%!\"\n:\n\x04\x04\x02\x02\x01\x12\x03\'\x02\x1e\x1a- Pre-key MUST be signed by the identity key.\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\'\x02\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\'\x12\x19\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\'\x1c\x1d\n\x86\x01\n\x02\x04\x03\x12\x04.\x009\x01\x1ap PublicKey represents a generalized public key,\n defined as a union to support cryptographic algorithm agility.\n2\x08 LEGACY\n\n\n\n\x03\x04\x03\x01\x12\x03.\x08\x11\n\x1d\n\x04\x04\x03\x03\x00\x12\x040\x023\x03\x1a\x0f The key bytes\n\n\x0c\n\x05\x04\x03\x03\x00\x01\x12\x030\n\x1f\nP\n\x06\x04\x03\x03\x00\x02\x00\x12\x032\x04\x14\x1aA uncompressed point with prefix (0x04) [ P || X || Y ], 65 bytes\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x032\x04\t\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x032\n\x0f\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x032\x12\x13\n\x0b\n\x04\x04\x03\x02\x00\x12\x034\x02\x17\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x034\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x034\t\x12\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x034\x15\x16\n\x0b\n\x04\x04\x03\x02\x01\x12\x035\x02#\n\x0c\n\x05\x04\x03\x02\x01\x04\x12\x035\x02\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x035\x0b\x14\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x035\x15\x1e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x035!\"\n\x0c\n\x04\x04\x03\x08\x00\x12\x046\x028\x03\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x036\x08\r\n\x0b\n\x04\x04\x03\x02\x02\x12\x037\x045\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x037\x04\x19\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x037\x1a0\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03734\n\x9a\x01\n\x02\x04\x04\x12\x04=\x00B\x01\x1a\x8d\x01 PublicKeyBundle packages the cryptographic keys associated with a wallet,\n both senders and recipients are identified by their key bundles.\n\n\n\n\x03\x04\x04\x01\x12\x03=\x08\x17\n9\n\x04\x04\x04\x02\x00\x12\x03?\x02\x1d\x1a, Identity key MUST be signed by the wallet.\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03?\x02\x0b\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03?\x0c\x18\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03?\x1b\x1c\n:\n\x04\x04\x04\x02\x01\x12\x03A\x02\x18\x1a- Pre-key MUST be signed by the identity key.\n\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03A\x02\x0b\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03A\x0c\x13\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03A\x16\x17b\x06proto3\n\x8e\x1d\n%identity/associations/signature.proto\x12\x1axmtp.identity.associations\x1a!message_contents/public_key.proto\"1\n\x19RecoverableEcdsaSignature\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"R\n\x1bRecoverableEd25519Signature\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\x12\x1d\n\npublic_key\x18\x02 \x01(\x0cR\tpublicKey\"~\n\x1cSmartContractWalletSignature\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\x12!\n\x0cblock_number\x18\x02 \x01(\x04R\x0bblockNumber\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature\"\xb3\x01\n\x1bRecoverablePasskeySignature\x12\x1d\n\npublic_key\x18\x01 \x01(\x0cR\tpublicKey\x12\x1c\n\tsignature\x18\x02 \x01(\x0cR\tsignature\x12-\n\x12authenticator_data\x18\x03 \x01(\x0cR\x11authenticatorData\x12(\n\x10client_data_json\x18\x04 \x01(\x0cR\x0eclientDataJson\"\xbc\x01\n\x18LegacyDelegatedSignature\x12K\n\rdelegated_key\x18\x01 \x01(\x0b2&.xmtp.message_contents.SignedPublicKeyR\x0cdelegatedKey\x12S\n\tsignature\x18\x02 \x01(\x0b25.xmtp.identity.associations.RecoverableEcdsaSignatureR\tsignature\"\xe0\x03\n\tSignature\x12P\n\x07erc_191\x18\x01 \x01(\x0b25.xmtp.identity.associations.RecoverableEcdsaSignatureH\x00R\x06erc191\x12U\n\x08erc_6492\x18\x02 \x01(\x0b28.xmtp.identity.associations.SmartContractWalletSignatureH\x00R\x07erc6492\x12d\n\x10installation_key\x18\x03 \x01(\x0b27.xmtp.identity.associations.RecoverableEd25519SignatureH\x00R\x0finstallationKey\x12b\n\x11delegated_erc_191\x18\x04 \x01(\x0b24.xmtp.identity.associations.LegacyDelegatedSignatureH\x00R\x0fdelegatedErc191\x12S\n\x07passkey\x18\x05 \x01(\x0b27.xmtp.identity.associations.RecoverablePasskeySignatureH\x00R\x07passkeyB\x0b\n\tsignatureBY\n$org.xmtp.proto.identity.associationsZ1github.com/xmtp/proto/v3/go/identity/associationsJ\xe3\x12\n\x06\x12\x04\x01\x00D\x01\n5\n\x01\x0c\x12\x03\x01\x00\x12\x1a+ Signing methods for identity associations\n\n\x08\n\x01\x02\x12\x03\x03\x00#\n\t\n\x02\x03\x00\x12\x03\x05\x00+\n\x08\n\x01\x08\x12\x03\x07\x00H\n\t\n\x02\x08\x0b\x12\x03\x07\x00H\n\x08\n\x01\x08\x12\x03\x08\x00=\n\t\n\x02\x08\x01\x12\x03\x08\x00=\nE\n\x02\x04\x00\x12\x04\x0b\x00\x0e\x01\x1a9 RecoverableEcdsaSignature for EIP-191 and V2 signatures\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08!\nJ\n\x04\x04\x00\x02\x00\x12\x03\r\x02\x12\x1a= 65-bytes [ R || S || V ], with recovery id as the last byte\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\x10\x11\n\'\n\x02\x04\x01\x12\x04\x11\x00\x16\x01\x1a\x1b EdDSA signature for 25519\n\n\n\n\x03\x04\x01\x01\x12\x03\x11\x08#\n4\n\x04\x04\x01\x02\x00\x12\x03\x13\x02\x12\x1a\' 64 bytes [R(32 bytes) || S(32 bytes)]\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x13\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x13\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x13\x10\x11\n\x17\n\x04\x04\x01\x02\x01\x12\x03\x15\x02\x17\x1a\n 32 bytes\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x15\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x15\x08\x12\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x15\x15\x16\n-\n\x02\x04\x02\x12\x04\x19\x00!\x01\x1a! Smart Contract Wallet signature\n\n\n\n\x03\x04\x02\x01\x12\x03\x19\x08$\n`\n\x04\x04\x02\x02\x00\x12\x03\x1c\x02\x18\x1aS CAIP-10 string\n https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-10.md\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x1c\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1c\t\x13\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1c\x16\x17\nG\n\x04\x04\x02\x02\x01\x12\x03\x1e\x02\x1a\x1a: Specify the block number to verify the signature against\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1e\t\x15\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1e\x18\x19\n)\n\x04\x04\x02\x02\x02\x12\x03 \x02\x16\x1a\x1c The actual signature bytes\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03 \x02\x07\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03 \x08\x11\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03 \x14\x15\n\x1f\n\x02\x04\x03\x12\x04$\x00)\x01\x1a\x13 Passkey signature\n\n\n\n\x03\x04\x03\x01\x12\x03$\x08#\n\x0b\n\x04\x04\x03\x02\x00\x12\x03%\x02\x17\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03%\x02\x07\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03%\x08\x12\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03%\x15\x16\n\x0b\n\x04\x04\x03\x02\x01\x12\x03&\x02\x16\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03&\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03&\x08\x11\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03&\x14\x15\n\x0b\n\x04\x04\x03\x02\x02\x12\x03\'\x02\x1f\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03\'\x02\x07\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03\'\x08\x1a\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03\'\x1d\x1e\n\x0b\n\x04\x04\x03\x02\x03\x12\x03(\x02\x1d\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x03(\x02\x07\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03(\x08\x18\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03(\x1b\x1c\n\x95\x03\n\x02\x04\x04\x12\x041\x004\x01\x1a\x88\x03 An existing address on xmtpv2 may have already signed a legacy identity key\n of type SignedPublicKey via the \'Create Identity\' signature.\n For migration to xmtpv3, the legacy key is permitted to sign on behalf of the\n address to create a matching xmtpv3 installation key.\n This signature type can ONLY be used for CreateXid and AddAssociation\n payloads, and can only be used once in xmtpv3.\n\n\n\n\x03\x04\x04\x01\x12\x031\x08 \n\x0b\n\x04\x04\x04\x02\x00\x12\x032\x02:\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x032\x02\'\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x032(5\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03289\n\x0b\n\x04\x04\x04\x02\x01\x12\x033\x02*\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x033\x02\x1b\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x033\x1c%\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x033()\n8\n\x02\x04\x05\x12\x047\x00D\x01\x1a, A wrapper for all possible signature types\n\n\n\n\x03\x04\x05\x01\x12\x037\x08\x11\n\xb0\x02\n\x04\x04\x05\x08\x00\x12\x04=\x02C\x03\x1a\xa1\x02 Must have two properties:\n 1. An identifier (address or public key) for the signer must either be\n recoverable, or specified as a field.\n 2. The signer certifies that the signing payload is correct. The payload\n must be inferred from the context in which the signature is provided.\n\n\x0c\n\x05\x04\x05\x08\x00\x01\x12\x03=\x08\x11\n\x0b\n\x04\x04\x05\x02\x00\x12\x03>\x04*\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03>\x04\x1d\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03>\x1e%\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03>()\n\x0b\n\x04\x04\x05\x02\x01\x12\x03?\x04.\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03?\x04 \n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03?!)\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03?,-\n\x0b\n\x04\x04\x05\x02\x02\x12\x03@\x045\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03@\x04\x1f\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03@ 0\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03@34\n\x0b\n\x04\x04\x05\x02\x03\x12\x03A\x043\n\x0c\n\x05\x04\x05\x02\x03\x06\x12\x03A\x04\x1c\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03A\x1d.\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03A12\n\x0b\n\x04\x04\x05\x02\x04\x12\x03B\x04,\n\x0c\n\x05\x04\x05\x02\x04\x06\x12\x03B\x04\x1f\n\x0c\n\x05\x04\x05\x02\x04\x01\x12\x03B \'\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x03B*+b\x06proto3\n\xc3A\n\'identity/associations/association.proto\x12\x1axmtp.identity.associations\x1a%identity/associations/signature.proto\"\xc2\x01\n\x10MemberIdentifier\x12+\n\x10ethereum_address\x18\x01 \x01(\tH\x00R\x0fethereumAddress\x128\n\x17installation_public_key\x18\x02 \x01(\x0cH\x00R\x15installationPublicKey\x12?\n\x07passkey\x18\x03 \x01(\x0b2#.xmtp.identity.associations.PasskeyH\x00R\x07passkeyB\x06\n\x04kind\"W\n\x07Passkey\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12(\n\rrelying_party\x18\x02 \x01(\tH\x00R\x0crelyingParty\x88\x01\x01B\x10\n\x0e_relying_party\"\xd8\x02\n\x06Member\x12L\n\nidentifier\x18\x01 \x01(\x0b2,.xmtp.identity.associations.MemberIdentifierR\nidentifier\x12Y\n\x0fadded_by_entity\x18\x02 \x01(\x0b2,.xmtp.identity.associations.MemberIdentifierH\x00R\raddedByEntity\x88\x01\x01\x123\n\x13client_timestamp_ns\x18\x03 \x01(\x04H\x01R\x11clientTimestampNs\x88\x01\x01\x12.\n\x11added_on_chain_id\x18\x04 \x01(\x04H\x02R\x0eaddedOnChainId\x88\x01\x01B\x12\n\x10_added_by_entityB\x16\n\x14_client_timestamp_nsB\x14\n\x12_added_on_chain_id\"\xdb\x02\n\x0bCreateInbox\x12-\n\x12initial_identifier\x18\x01 \x01(\tR\x11initialIdentifier\x12\x14\n\x05nonce\x18\x02 \x01(\x04R\x05nonce\x12g\n\x1cinitial_identifier_signature\x18\x03 \x01(\x0b2%.xmtp.identity.associations.SignatureR\x1ainitialIdentifierSignature\x12b\n\x17initial_identifier_kind\x18\x04 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x15initialIdentifierKind\x12(\n\rrelying_party\x18\x05 \x01(\tH\x00R\x0crelyingParty\x88\x01\x01B\x10\n\x0e_relying_party\"\xea\x02\n\x0eAddAssociation\x12`\n\x15new_member_identifier\x18\x01 \x01(\x0b2,.xmtp.identity.associations.MemberIdentifierR\x13newMemberIdentifier\x12a\n\x19existing_member_signature\x18\x02 \x01(\x0b2%.xmtp.identity.associations.SignatureR\x17existingMemberSignature\x12W\n\x14new_member_signature\x18\x03 \x01(\x0b2%.xmtp.identity.associations.SignatureR\x12newMemberSignature\x12(\n\rrelying_party\x18\x04 \x01(\tH\x00R\x0crelyingParty\x88\x01\x01B\x10\n\x0e_relying_party\"\xd6\x01\n\x11RevokeAssociation\x12V\n\x10member_to_revoke\x18\x01 \x01(\x0b2,.xmtp.identity.associations.MemberIdentifierR\x0ememberToRevoke\x12i\n\x1drecovery_identifier_signature\x18\x02 \x01(\x0b2%.xmtp.identity.associations.SignatureR\x1brecoveryIdentifierSignature\"\xf4\x02\n\x15ChangeRecoveryAddress\x126\n\x17new_recovery_identifier\x18\x01 \x01(\tR\x15newRecoveryIdentifier\x12z\n&existing_recovery_identifier_signature\x18\x02 \x01(\x0b2%.xmtp.identity.associations.SignatureR#existingRecoveryIdentifierSignature\x12k\n\x1cnew_recovery_identifier_kind\x18\x03 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x19newRecoveryIdentifierKind\x12(\n\rrelying_party\x18\x04 \x01(\tH\x00R\x0crelyingParty\x88\x01\x01B\x10\n\x0e_relying_party\"\xdc\x02\n\x0eIdentityAction\x12L\n\x0ccreate_inbox\x18\x01 \x01(\x0b2\'.xmtp.identity.associations.CreateInboxH\x00R\x0bcreateInbox\x12>\n\x03add\x18\x02 \x01(\x0b2*.xmtp.identity.associations.AddAssociationH\x00R\x03add\x12G\n\x06revoke\x18\x03 \x01(\x0b2-.xmtp.identity.associations.RevokeAssociationH\x00R\x06revoke\x12k\n\x17change_recovery_address\x18\x04 \x01(\x0b21.xmtp.identity.associations.ChangeRecoveryAddressH\x00R\x15changeRecoveryAddressB\x06\n\x04kind\"\xa1\x01\n\x0eIdentityUpdate\x12D\n\x07actions\x18\x01 \x03(\x0b2*.xmtp.identity.associations.IdentityActionR\x07actions\x12.\n\x13client_timestamp_ns\x18\x02 \x01(\x04R\x11clientTimestampNs\x12\x19\n\x08inbox_id\x18\x03 \x01(\tR\x07inboxId\"\x85\x01\n\tMemberMap\x12>\n\x03key\x18\x01 \x01(\x0b2,.xmtp.identity.associations.MemberIdentifierR\x03key\x128\n\x05value\x18\x02 \x01(\x0b2\".xmtp.identity.associations.MemberR\x05value\"\xea\x02\n\x10AssociationState\x12\x19\n\x08inbox_id\x18\x01 \x01(\tR\x07inboxId\x12?\n\x07members\x18\x02 \x03(\x0b2%.xmtp.identity.associations.MemberMapR\x07members\x12/\n\x13recovery_identifier\x18\x03 \x01(\tR\x12recoveryIdentifier\x12\'\n\x0fseen_signatures\x18\x04 \x03(\x0cR\x0eseenSignatures\x12d\n\x18recovery_identifier_kind\x18\x05 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x16recoveryIdentifierKind\x12(\n\rrelying_party\x18\x06 \x01(\tH\x00R\x0crelyingParty\x88\x01\x01B\x10\n\x0e_relying_party\"\xbc\x01\n\x14AssociationStateDiff\x12M\n\x0bnew_members\x18\x01 \x03(\x0b2,.xmtp.identity.associations.MemberIdentifierR\nnewMembers\x12U\n\x0fremoved_members\x18\x02 \x03(\x0b2,.xmtp.identity.associations.MemberIdentifierR\x0eremovedMembers*l\n\x0eIdentifierKind\x12\x1f\n\x1bIDENTIFIER_KIND_UNSPECIFIED\x10\x00\x12\x1c\n\x18IDENTIFIER_KIND_ETHEREUM\x10\x01\x12\x1b\n\x17IDENTIFIER_KIND_PASSKEY\x10\x02BY\n$org.xmtp.proto.identity.associationsZ1github.com/xmtp/proto/v3/go/identity/associationsJ\xb8&\n\x06\x12\x04\x01\x00~\x01\n;\n\x01\x0c\x12\x03\x01\x00\x12\x1a1 Payloads to be signed for identity associations\n\n\x08\n\x01\x02\x12\x03\x03\x00#\n\t\n\x02\x03\x00\x12\x03\x05\x00/\n\x08\n\x01\x08\x12\x03\x07\x00H\n\t\n\x02\x08\x0b\x12\x03\x07\x00H\n\x08\n\x01\x08\x12\x03\x08\x00=\n\t\n\x02\x08\x01\x12\x03\x08\x00=\n3\n\x02\x04\x00\x12\x04\x0b\x00\x11\x01\x1a\' The identifier for a member of an XID\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x18\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x0c\x02\x10\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x0c\x08\x0c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\r\x04 \n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x04\n\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\x0b\x1b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\x1e\x1f\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0e\x04&\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0e\x04\t\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\n!\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e$%\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x0f\x04\x18\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x0f\x04\x0b\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0f\x0c\x13\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0f\x16\x17\n \n\x02\x04\x01\x12\x04\x14\x00\x17\x01\x1a\x14 Passkey identifier\n\n\n\n\x03\x04\x01\x01\x12\x03\x14\x08\x0f\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x15\x02\x10\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x15\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x15\x08\x0b\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x15\x0e\x0f\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x16\x02$\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03\x16\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x16\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x16\x12\x1f\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x16\"#\n$\n\x02\x05\x00\x12\x04\x1a\x00\x1e\x01\x1a\x18 List of identity kinds\n\n\n\n\x03\x05\x00\x01\x12\x03\x1a\x05\x13\n&\n\x04\x05\x00\x02\x00\x12\x03\x1b\x02\"\"\x19 Ethereum on old clients\n\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x1b\x02\x1d\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x1b !\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x1c\x02\x1f\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x1c\x02\x1a\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x1c\x1d\x1e\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x1d\x02\x1e\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x1d\x02\x19\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x1d\x1c\x1d\nP\n\x02\x04\x02\x12\x04!\x00&\x01\x1aD single member that optionally indicates the member that added them\n\n\n\n\x03\x04\x02\x01\x12\x03!\x08\x0e\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\"\x02\"\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\"\x02\x12\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\"\x13\x1d\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\" !\n\x0b\n\x04\x04\x02\x02\x01\x12\x03#\x020\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03#\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03#\x0b\x1b\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03#\x1c+\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03#./\n\x0b\n\x04\x04\x02\x02\x02\x12\x03$\x02*\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03$\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03$\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03$\x12%\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03$()\n\x0b\n\x04\x04\x02\x02\x03\x12\x03%\x02(\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\x03%\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03%\x0b\x11\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03%\x12#\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03%&\'\n\xf8\x01\n\x02\x04\x03\x12\x04,\x003\x01\x1a\xeb\x01 The first entry of any XID log. The XID must be deterministically derivable\n from the address and nonce.\n The recovery address defaults to the initial associated_address unless\n there is a subsequent ChangeRecoveryAddress in the log.\n\n\n\n\x03\x04\x03\x01\x12\x03,\x08\x13\n\x0b\n\x04\x04\x03\x02\x00\x12\x03-\x02 \n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03-\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03-\t\x1b\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03-\x1e\x1f\n\x0b\n\x04\x04\x03\x02\x01\x12\x03.\x02\x13\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03.\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03.\t\x0e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03.\x11\x12\n,\n\x04\x04\x03\x02\x02\x12\x03/\x02-\"\x1f Must be an addressable member\n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03/\x02\x0b\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03/\x0c(\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03/+,\n\x0b\n\x04\x04\x03\x02\x03\x12\x030\x02-\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x030\x02\x10\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x030\x11(\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x030+,\n?\n\x04\x04\x03\x02\x04\x12\x032\x02$\x1a2 Should be provided if identifier kind is passkey\n\n\x0c\n\x05\x04\x03\x02\x04\x04\x12\x032\x02\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x032\x0b\x11\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x032\x12\x1f\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x032\"#\n\x82\x02\n\x02\x04\x04\x12\x049\x00?\x01\x1a\xf5\x01 Adds a new member for an XID - either an addressable member such as a\n wallet, or an installation acting on behalf of an address.\n A key-pair that has been associated with one role MUST not be permitted to be\n associated with a different role.\n\n\n\n\x03\x04\x04\x01\x12\x039\x08\x16\n\x0b\n\x04\x04\x04\x02\x00\x12\x03:\x02-\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03:\x02\x12\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03:\x13(\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03:+,\n\x0b\n\x04\x04\x04\x02\x01\x12\x03;\x02*\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03;\x02\x0b\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03;\x0c%\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03;()\n\x0b\n\x04\x04\x04\x02\x02\x12\x03<\x02%\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03<\x02\x0b\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03<\x0c \n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03<#$\n?\n\x04\x04\x04\x02\x03\x12\x03>\x02$\x1a2 Should be provided if identifier kind is passkey\n\n\x0c\n\x05\x04\x04\x02\x03\x04\x12\x03>\x02\n\n\x0c\n\x05\x04\x04\x02\x03\x05\x12\x03>\x0b\x11\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03>\x12\x1f\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03>\"#\nZ\n\x02\x04\x05\x12\x04B\x00E\x01\x1aN Revokes a member from an XID. The recovery address must sign the revocation.\n\n\n\n\x03\x04\x05\x01\x12\x03B\x08\x19\n\x0b\n\x04\x04\x05\x02\x00\x12\x03C\x02(\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03C\x02\x12\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03C\x13#\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03C&\'\n\x0b\n\x04\x04\x05\x02\x01\x12\x03D\x02.\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03D\x02\x0b\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03D\x0c)\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03D,-\n\xda\x01\n\x02\x04\x06\x12\x04J\x00P\x01\x1a\xcd\x01 Changes the recovery identifier for an XID. The recovery identifier is not required\n to be a member of the XID. In addition to being able to add members, the\n recovery identifier can also revoke members.\n\n\n\n\x03\x04\x06\x01\x12\x03J\x08\x1d\n\x0b\n\x04\x04\x06\x02\x00\x12\x03K\x02%\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03K\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03K\t \n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03K#$\n\x0b\n\x04\x04\x06\x02\x01\x12\x03L\x027\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03L\x02\x0b\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03L\x0c2\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03L56\n\x0b\n\x04\x04\x06\x02\x02\x12\x03M\x022\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03M\x02\x10\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03M\x11-\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03M01\n?\n\x04\x04\x06\x02\x03\x12\x03O\x02$\x1a2 Should be provided if identifier kind is passkey\n\n\x0c\n\x05\x04\x06\x02\x03\x04\x12\x03O\x02\n\n\x0c\n\x05\x04\x06\x02\x03\x05\x12\x03O\x0b\x11\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03O\x12\x1f\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03O\"#\n)\n\x02\x04\x07\x12\x04S\x00Z\x01\x1a\x1d A single identity operation\n\n\n\n\x03\x04\x07\x01\x12\x03S\x08\x16\n\x0c\n\x04\x04\x07\x08\x00\x12\x04T\x02Y\x03\n\x0c\n\x05\x04\x07\x08\x00\x01\x12\x03T\x08\x0c\n\x0b\n\x04\x04\x07\x02\x00\x12\x03U\x04!\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03U\x04\x0f\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03U\x10\x1c\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03U\x1f \n\x0b\n\x04\x04\x07\x02\x01\x12\x03V\x04\x1b\n\x0c\n\x05\x04\x07\x02\x01\x06\x12\x03V\x04\x12\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03V\x13\x16\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03V\x19\x1a\n\x0b\n\x04\x04\x07\x02\x02\x12\x03W\x04!\n\x0c\n\x05\x04\x07\x02\x02\x06\x12\x03W\x04\x15\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03W\x16\x1c\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03W\x1f \n\x0b\n\x04\x04\x07\x02\x03\x12\x03X\x046\n\x0c\n\x05\x04\x07\x02\x03\x06\x12\x03X\x04\x19\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03X\x1a1\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03X45\n\xd5\x03\n\x02\x04\x08\x12\x04c\x00g\x01\x1a\xc8\x03 One or more identity actions that were signed together.\n Example: [CreateXid, AddAssociation, ChangeRecoveryAddress]\n 1. The batched signature text is created by concatenating the signature text\n of each association together with a separator, \'\\n\\n\\n\'.\n 2. The user signs this concatenated result.\n 3. The resulting signature is added to each association proto where relevant.\n The same signature may be used for multiple associations in the array.\n\n\n\n\x03\x04\x08\x01\x12\x03c\x08\x16\n\x0b\n\x04\x04\x08\x02\x00\x12\x03d\x02&\n\x0c\n\x05\x04\x08\x02\x00\x04\x12\x03d\x02\n\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03d\x0b\x19\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03d\x1a!\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03d$%\n\x0b\n\x04\x04\x08\x02\x01\x12\x03e\x02!\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03e\x02\x08\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03e\t\x1c\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03e\x1f \n\x0b\n\x04\x04\x08\x02\x02\x12\x03f\x02\x16\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03f\x02\x08\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03f\t\x11\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03f\x14\x15\n5\n\x02\x04\t\x12\x04j\x00m\x01\x1a) Map of members belonging to an inbox_id\n\n\n\n\x03\x04\t\x01\x12\x03j\x08\x11\n\x0b\n\x04\x04\t\x02\x00\x12\x03k\x02\x1b\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03k\x02\x12\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03k\x13\x16\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03k\x19\x1a\n\x0b\n\x04\x04\t\x02\x01\x12\x03l\x02\x13\n\x0c\n\x05\x04\t\x02\x01\x06\x12\x03l\x02\x08\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03l\t\x0e\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03l\x11\x12\nQ\n\x02\x04\n\x12\x04p\x00x\x01\x1aE A final association state resulting from multiple `IdentityUpdates`\n\n\n\n\x03\x04\n\x01\x12\x03p\x08\x18\n\x0b\n\x04\x04\n\x02\x00\x12\x03q\x02\x16\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03q\x02\x08\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03q\t\x11\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03q\x14\x15\n\x0b\n\x04\x04\n\x02\x01\x12\x03r\x02!\n\x0c\n\x05\x04\n\x02\x01\x04\x12\x03r\x02\n\n\x0c\n\x05\x04\n\x02\x01\x06\x12\x03r\x0b\x14\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03r\x15\x1c\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03r\x1f \n\x0b\n\x04\x04\n\x02\x02\x12\x03s\x02!\n\x0c\n\x05\x04\n\x02\x02\x05\x12\x03s\x02\x08\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03s\t\x1c\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03s\x1f \n\x0b\n\x04\x04\n\x02\x03\x12\x03t\x02%\n\x0c\n\x05\x04\n\x02\x03\x04\x12\x03t\x02\n\n\x0c\n\x05\x04\n\x02\x03\x05\x12\x03t\x0b\x10\n\x0c\n\x05\x04\n\x02\x03\x01\x12\x03t\x11 \n\x0c\n\x05\x04\n\x02\x03\x03\x12\x03t#$\n\x0b\n\x04\x04\n\x02\x04\x12\x03u\x02.\n\x0c\n\x05\x04\n\x02\x04\x06\x12\x03u\x02\x10\n\x0c\n\x05\x04\n\x02\x04\x01\x12\x03u\x11)\n\x0c\n\x05\x04\n\x02\x04\x03\x12\x03u,-\n?\n\x04\x04\n\x02\x05\x12\x03w\x02$\x1a2 Should be provided if identifier kind is passkey\n\n\x0c\n\x05\x04\n\x02\x05\x04\x12\x03w\x02\n\n\x0c\n\x05\x04\n\x02\x05\x05\x12\x03w\x0b\x11\n\x0c\n\x05\x04\n\x02\x05\x01\x12\x03w\x12\x1f\n\x0c\n\x05\x04\n\x02\x05\x03\x12\x03w\"#\n=\n\x02\x04\x0b\x12\x04{\x00~\x01\x1a1/ state diff between two final AssociationStates\n\n\n\n\x03\x04\x0b\x01\x12\x03{\x08\x1c\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03|\x02,\n\x0c\n\x05\x04\x0b\x02\x00\x04\x12\x03|\x02\n\n\x0c\n\x05\x04\x0b\x02\x00\x06\x12\x03|\x0b\x1b\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03|\x1c\'\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03|*+\n\x0b\n\x04\x04\x0b\x02\x01\x12\x03}\x020\n\x0c\n\x05\x04\x0b\x02\x01\x04\x12\x03}\x02\n\n\x0c\n\x05\x04\x0b\x02\x01\x06\x12\x03}\x0b\x1b\n\x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03}\x1c+\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03}./b\x06proto3\n\xf9\x02\n\x19identity/credential.proto\x12\rxmtp.identity\"*\n\rMlsCredential\x12\x19\n\x08inbox_id\x18\x01 \x01(\tR\x07inboxIdB?\n\x17org.xmtp.proto.identityZ$github.com/xmtp/proto/v3/go/identityJ\xd7\x01\n\x06\x12\x04\x01\x00\x0b\x01\n\x17\n\x01\x0c\x12\x03\x01\x00\x12\x1a\r Credentials\n\n\x08\n\x01\x02\x12\x03\x03\x00\x16\n\x08\n\x01\x08\x12\x03\x05\x00;\n\t\n\x02\x08\x0b\x12\x03\x05\x00;\n\x08\n\x01\x08\x12\x03\x06\x000\n\t\n\x02\x08\x01\x12\x03\x06\x000\n=\n\x02\x04\x00\x12\x04\t\x00\x0b\x01\x1a1 A credential that can be used in MLS leaf nodes\n\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\x15\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\n\x02\x16\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\n\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n\t\x11\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n\x14\x15b\x06proto3\n\x95x\n\x15google/api/http.proto\x12\ngoogle.api\"y\n\x04Http\x12*\n\x05rules\x18\x01 \x03(\x0b2\x14.google.api.HttpRuleR\x05rules\x12E\n\x1ffully_decode_reserved_expansion\x18\x02 \x01(\x08R\x1cfullyDecodeReservedExpansion\"\xda\x02\n\x08HttpRule\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12\x12\n\x03get\x18\x02 \x01(\tH\x00R\x03get\x12\x12\n\x03put\x18\x03 \x01(\tH\x00R\x03put\x12\x14\n\x04post\x18\x04 \x01(\tH\x00R\x04post\x12\x18\n\x06delete\x18\x05 \x01(\tH\x00R\x06delete\x12\x16\n\x05patch\x18\x06 \x01(\tH\x00R\x05patch\x127\n\x06custom\x18\x08 \x01(\x0b2\x1d.google.api.CustomHttpPatternH\x00R\x06custom\x12\x12\n\x04body\x18\x07 \x01(\tR\x04body\x12#\n\rresponse_body\x18\x0c \x01(\tR\x0cresponseBody\x12E\n\x13additional_bindings\x18\x0b \x03(\x0b2\x14.google.api.HttpRuleR\x12additionalBindingsB\t\n\x07pattern\";\n\x11CustomHttpPattern\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x12\n\x04path\x18\x02 \x01(\tR\x04pathBg\n\x0ecom.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIJ\xe9r\n\x07\x12\x05\x0e\x00\xf1\x02\x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\x00\x122\xb1\x04 Copyright 2025 Google LLC\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\x08\n\x01\x02\x12\x03\x10\x00\x13\n\x08\n\x01\x08\x12\x03\x12\x00X\n\t\n\x02\x08\x0b\x12\x03\x12\x00X\n\x08\n\x01\x08\x12\x03\x13\x00\"\n\t\n\x02\x08\n\x12\x03\x13\x00\"\n\x08\n\x01\x08\x12\x03\x14\x00*\n\t\n\x02\x08\x08\x12\x03\x14\x00*\n\x08\n\x01\x08\x12\x03\x15\x00\'\n\t\n\x02\x08\x01\x12\x03\x15\x00\'\n\x08\n\x01\x08\x12\x03\x16\x00\"\n\t\n\x02\x08$\x12\x03\x16\x00\"\n\xcd\x01\n\x02\x04\x00\x12\x04\x1b\x00(\x01\x1a\xc0\x01 Defines the HTTP configuration for an API service. It contains a list of\n [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method\n to one or more HTTP REST API methods.\n\n\n\n\x03\x04\x00\x01\x12\x03\x1b\x08\x0c\n\xa2\x01\n\x04\x04\x00\x02\x00\x12\x03\x1f\x02\x1e\x1a\x94\x01 A list of HTTP configuration rules that apply to individual API methods.\n\n **NOTE:** All service configuration rules follow \"last one wins\" order.\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x1f\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x1f\x0b\x13\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x1f\x14\x19\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x1f\x1c\x1d\n\x94\x02\n\x04\x04\x00\x02\x01\x12\x03\'\x02+\x1a\x86\x02 When set to true, URL path parameters will be fully URI-decoded except in\n cases of single segment matches in reserved expansion, where \"%2F\" will be\n left encoded.\n\n The default behavior is to not decode RFC 6570 reserved characters in multi\n segment matches.\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\'\x02\x06\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\'\x07&\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\')*\n\x87S\n\x02\x04\x01\x12\x06\xb2\x02\x00\xe8\x02\x01\x1a\xf8R gRPC Transcoding\n\n gRPC Transcoding is a feature for mapping between a gRPC method and one or\n more HTTP REST endpoints. It allows developers to build a single API service\n that supports both gRPC APIs and REST APIs. Many systems, including [Google\n APIs](https://github.com/googleapis/googleapis),\n [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC\n Gateway](https://github.com/grpc-ecosystem/grpc-gateway),\n and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature\n and use it for large scale production services.\n\n `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies\n how different portions of the gRPC request message are mapped to the URL\n path, URL query parameters, and HTTP request body. It also controls how the\n gRPC response message is mapped to the HTTP response body. `HttpRule` is\n typically specified as an `google.api.http` annotation on the gRPC method.\n\n Each mapping specifies a URL path template and an HTTP method. The path\n template may refer to one or more fields in the gRPC request message, as long\n as each field is a non-repeated field with a primitive (non-message) type.\n The path template controls how fields of the request message are mapped to\n the URL path.\n\n Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/{name=messages/*}\"\n };\n }\n }\n message GetMessageRequest {\n string name = 1; // Mapped to URL path.\n }\n message Message {\n string text = 1; // The resource content.\n }\n\n This enables an HTTP REST to gRPC mapping as below:\n\n - HTTP: `GET /v1/messages/123456`\n - gRPC: `GetMessage(name: \"messages/123456\")`\n\n Any fields in the request message which are not bound by the path template\n automatically become HTTP query parameters if there is no HTTP request body.\n For example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get:\"/v1/messages/{message_id}\"\n };\n }\n }\n message GetMessageRequest {\n message SubMessage {\n string subfield = 1;\n }\n string message_id = 1; // Mapped to URL path.\n int64 revision = 2; // Mapped to URL query parameter `revision`.\n SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.\n }\n\n This enables a HTTP JSON to RPC mapping as below:\n\n - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo`\n - gRPC: `GetMessage(message_id: \"123456\" revision: 2 sub:\n SubMessage(subfield: \"foo\"))`\n\n Note that fields which are mapped to URL query parameters must have a\n primitive type or a repeated primitive type or a non-repeated message type.\n In the case of a repeated type, the parameter can be repeated in the URL\n as `...?param=A¶m=B`. In the case of a message type, each field of the\n message is mapped to a separate parameter, such as\n `...?foo.a=A&foo.b=B&foo.c=C`.\n\n For HTTP methods that allow a request body, the `body` field\n specifies the mapping. Consider a REST update method on the\n message resource collection:\n\n service Messaging {\n rpc UpdateMessage(UpdateMessageRequest) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"message\"\n };\n }\n }\n message UpdateMessageRequest {\n string message_id = 1; // mapped to the URL\n Message message = 2; // mapped to the body\n }\n\n The following HTTP JSON to RPC mapping is enabled, where the\n representation of the JSON in the request body is determined by\n protos JSON encoding:\n\n - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }`\n - gRPC: `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })`\n\n The special name `*` can be used in the body mapping to define that\n every field not bound by the path template should be mapped to the\n request body. This enables the following alternative definition of\n the update method:\n\n service Messaging {\n rpc UpdateMessage(Message) returns (Message) {\n option (google.api.http) = {\n patch: \"/v1/messages/{message_id}\"\n body: \"*\"\n };\n }\n }\n message Message {\n string message_id = 1;\n string text = 2;\n }\n\n\n The following HTTP JSON to RPC mapping is enabled:\n\n - HTTP: `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }`\n - gRPC: `UpdateMessage(message_id: \"123456\" text: \"Hi!\")`\n\n Note that when using `*` in the body mapping, it is not possible to\n have HTTP parameters, as all fields not bound by the path end in\n the body. This makes this option more rarely used in practice when\n defining REST APIs. The common usage of `*` is in custom methods\n which don\'t use the URL at all for transferring data.\n\n It is possible to define multiple HTTP methods for one RPC by using\n the `additional_bindings` option. Example:\n\n service Messaging {\n rpc GetMessage(GetMessageRequest) returns (Message) {\n option (google.api.http) = {\n get: \"/v1/messages/{message_id}\"\n additional_bindings {\n get: \"/v1/users/{user_id}/messages/{message_id}\"\n }\n };\n }\n }\n message GetMessageRequest {\n string message_id = 1;\n string user_id = 2;\n }\n\n This enables the following two alternative HTTP JSON to RPC mappings:\n\n - HTTP: `GET /v1/messages/123456`\n - gRPC: `GetMessage(message_id: \"123456\")`\n\n - HTTP: `GET /v1/users/me/messages/123456`\n - gRPC: `GetMessage(user_id: \"me\" message_id: \"123456\")`\n\n Rules for HTTP mapping\n\n 1. Leaf request fields (recursive expansion nested messages in the request\n message) are classified into three categories:\n - Fields referred by the path template. They are passed via the URL path.\n - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They\n are passed via the HTTP\n request body.\n - All other fields are passed via the URL query parameters, and the\n parameter name is the field path in the request message. A repeated\n field can be represented as multiple query parameters under the same\n name.\n 2. If [HttpRule.body][google.api.HttpRule.body] is \"*\", there is no URL\n query parameter, all fields\n are passed via URL path and HTTP request body.\n 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP\n request body, all\n fields are passed via URL path and URL query parameters.\n\n Path template syntax\n\n Template = \"/\" Segments [ Verb ] ;\n Segments = Segment { \"/\" Segment } ;\n Segment = \"*\" | \"**\" | LITERAL | Variable ;\n Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ;\n FieldPath = IDENT { \".\" IDENT } ;\n Verb = \":\" LITERAL ;\n\n The syntax `*` matches a single URL path segment. The syntax `**` matches\n zero or more URL path segments, which must be the last part of the URL path\n except the `Verb`.\n\n The syntax `Variable` matches part of the URL path as specified by its\n template. A variable template must not contain other variables. If a variable\n matches a single path segment, its template may be omitted, e.g. `{var}`\n is equivalent to `{var=*}`.\n\n The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`\n contains any reserved character, such characters should be percent-encoded\n before the matching.\n\n If a variable contains exactly one path segment, such as `\"{var}\"` or\n `\"{var=*}\"`, when such a variable is expanded into a URL path on the client\n side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The\n server side does the reverse decoding. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{var}`.\n\n If a variable contains multiple path segments, such as `\"{var=foo/*}\"`\n or `\"{var=**}\"`, when such a variable is expanded into a URL path on the\n client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.\n The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left\n unchanged. Such variables show up in the\n [Discovery\n Document](https://developers.google.com/discovery/v1/reference/apis) as\n `{+var}`.\n\n Using gRPC API Service Configuration\n\n gRPC API Service Configuration (service config) is a configuration language\n for configuring a gRPC service to become a user-facing product. The\n service config is simply the YAML representation of the `google.api.Service`\n proto message.\n\n As an alternative to annotating your proto file, you can configure gRPC\n transcoding in your service config YAML files. You do this by specifying a\n `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same\n effect as the proto annotation. This can be particularly useful if you\n have a proto that is reused in multiple services. Note that any transcoding\n specified in the service config will override any matching transcoding\n configuration in the proto.\n\n The following example selects a gRPC method and applies an `HttpRule` to it:\n\n http:\n rules:\n - selector: example.v1.Messaging.GetMessage\n get: /v1/messages/{message_id}/{sub.subfield}\n\n Special notes\n\n When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the\n proto to JSON conversion must follow the [proto3\n specification](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\n While the single segment variable follows the semantics of\n [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String\n Expansion, the multi segment variable **does not** follow RFC 6570 Section\n 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion\n does not expand special characters like `?` and `#`, which would lead\n to invalid URLs. As the result, gRPC Transcoding uses a custom encoding\n for multi segment variables.\n\n The path variables **must not** refer to any repeated or mapped field,\n because client libraries are not capable of handling such variable expansion.\n\n The path variables **must not** capture the leading \"/\" character. The reason\n is that the most common use case \"{var}\" does not capture the leading \"/\"\n character. For consistency, all path variables must share the same behavior.\n\n Repeated message fields must not be mapped to URL query parameters, because\n no client library can support such complicated mapping.\n\n If an API needs to use a JSON array for request or response body, it can map\n the request or response body to a repeated field. However, some gRPC\n Transcoding implementations may not support this feature.\n\n\x0b\n\x03\x04\x01\x01\x12\x04\xb2\x02\x08\x10\n\x8f\x01\n\x04\x04\x01\x02\x00\x12\x04\xb7\x02\x02\x16\x1a\x80\x01 Selects a method to which this rule applies.\n\n Refer to [selector][google.api.DocumentationRule.selector] for syntax\n details.\n\n\r\n\x05\x04\x01\x02\x00\x05\x12\x04\xb7\x02\x02\x08\n\r\n\x05\x04\x01\x02\x00\x01\x12\x04\xb7\x02\t\x11\n\r\n\x05\x04\x01\x02\x00\x03\x12\x04\xb7\x02\x14\x15\n\xd0\x01\n\x04\x04\x01\x08\x00\x12\x06\xbc\x02\x02\xd2\x02\x03\x1a\xbf\x01 Determines the URL pattern is matched by this rules. This pattern can be\n used with any of the {get|put|post|delete|patch} methods. A custom method\n can be defined using the \'custom\' field.\n\n\r\n\x05\x04\x01\x08\x00\x01\x12\x04\xbc\x02\x08\x0f\n\\\n\x04\x04\x01\x02\x01\x12\x04\xbf\x02\x04\x13\x1aN Maps to HTTP GET. Used for listing and getting information about\n resources.\n\n\r\n\x05\x04\x01\x02\x01\x05\x12\x04\xbf\x02\x04\n\n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\xbf\x02\x0b\x0e\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\xbf\x02\x11\x12\n@\n\x04\x04\x01\x02\x02\x12\x04\xc2\x02\x04\x13\x1a2 Maps to HTTP PUT. Used for replacing a resource.\n\n\r\n\x05\x04\x01\x02\x02\x05\x12\x04\xc2\x02\x04\n\n\r\n\x05\x04\x01\x02\x02\x01\x12\x04\xc2\x02\x0b\x0e\n\r\n\x05\x04\x01\x02\x02\x03\x12\x04\xc2\x02\x11\x12\nX\n\x04\x04\x01\x02\x03\x12\x04\xc5\x02\x04\x14\x1aJ Maps to HTTP POST. Used for creating a resource or performing an action.\n\n\r\n\x05\x04\x01\x02\x03\x05\x12\x04\xc5\x02\x04\n\n\r\n\x05\x04\x01\x02\x03\x01\x12\x04\xc5\x02\x0b\x0f\n\r\n\x05\x04\x01\x02\x03\x03\x12\x04\xc5\x02\x12\x13\nB\n\x04\x04\x01\x02\x04\x12\x04\xc8\x02\x04\x16\x1a4 Maps to HTTP DELETE. Used for deleting a resource.\n\n\r\n\x05\x04\x01\x02\x04\x05\x12\x04\xc8\x02\x04\n\n\r\n\x05\x04\x01\x02\x04\x01\x12\x04\xc8\x02\x0b\x11\n\r\n\x05\x04\x01\x02\x04\x03\x12\x04\xc8\x02\x14\x15\nA\n\x04\x04\x01\x02\x05\x12\x04\xcb\x02\x04\x15\x1a3 Maps to HTTP PATCH. Used for updating a resource.\n\n\r\n\x05\x04\x01\x02\x05\x05\x12\x04\xcb\x02\x04\n\n\r\n\x05\x04\x01\x02\x05\x01\x12\x04\xcb\x02\x0b\x10\n\r\n\x05\x04\x01\x02\x05\x03\x12\x04\xcb\x02\x13\x14\n\x98\x02\n\x04\x04\x01\x02\x06\x12\x04\xd1\x02\x04!\x1a\x89\x02 The custom pattern is used for specifying an HTTP method that is not\n included in the `pattern` field, such as HEAD, or \"*\" to leave the\n HTTP method unspecified for this rule. The wild-card rule is useful\n for services that provide content to Web (HTML) clients.\n\n\r\n\x05\x04\x01\x02\x06\x06\x12\x04\xd1\x02\x04\x15\n\r\n\x05\x04\x01\x02\x06\x01\x12\x04\xd1\x02\x16\x1c\n\r\n\x05\x04\x01\x02\x06\x03\x12\x04\xd1\x02\x1f \n\xc4\x02\n\x04\x04\x01\x02\x07\x12\x04\xda\x02\x02\x12\x1a\xb5\x02 The name of the request field whose value is mapped to the HTTP request\n body, or `*` for mapping all request fields not captured by the path\n pattern to the HTTP body, or omitted for not having any HTTP request body.\n\n NOTE: the referred field must be present at the top-level of the request\n message type.\n\n\r\n\x05\x04\x01\x02\x07\x05\x12\x04\xda\x02\x02\x08\n\r\n\x05\x04\x01\x02\x07\x01\x12\x04\xda\x02\t\r\n\r\n\x05\x04\x01\x02\x07\x03\x12\x04\xda\x02\x10\x11\n\x99\x02\n\x04\x04\x01\x02\x08\x12\x04\xe2\x02\x02\x1c\x1a\x8a\x02 Optional. The name of the response field whose value is mapped to the HTTP\n response body. When omitted, the entire response message will be used\n as the HTTP response body.\n\n NOTE: The referred field must be present at the top-level of the response\n message type.\n\n\r\n\x05\x04\x01\x02\x08\x05\x12\x04\xe2\x02\x02\x08\n\r\n\x05\x04\x01\x02\x08\x01\x12\x04\xe2\x02\t\x16\n\r\n\x05\x04\x01\x02\x08\x03\x12\x04\xe2\x02\x19\x1b\n\xbb\x01\n\x04\x04\x01\x02\t\x12\x04\xe7\x02\x02-\x1a\xac\x01 Additional HTTP bindings for the selector. Nested bindings must\n not contain an `additional_bindings` field themselves (that is,\n the nesting may only be one level deep).\n\n\r\n\x05\x04\x01\x02\t\x04\x12\x04\xe7\x02\x02\n\n\r\n\x05\x04\x01\x02\t\x06\x12\x04\xe7\x02\x0b\x13\n\r\n\x05\x04\x01\x02\t\x01\x12\x04\xe7\x02\x14\'\n\r\n\x05\x04\x01\x02\t\x03\x12\x04\xe7\x02*,\nG\n\x02\x04\x02\x12\x06\xeb\x02\x00\xf1\x02\x01\x1a9 A custom pattern is used for defining custom HTTP verb.\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xeb\x02\x08\x19\n2\n\x04\x04\x02\x02\x00\x12\x04\xed\x02\x02\x12\x1a$ The name of this custom HTTP verb.\n\n\r\n\x05\x04\x02\x02\x00\x05\x12\x04\xed\x02\x02\x08\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\xed\x02\t\r\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\xed\x02\x10\x11\n5\n\x04\x04\x02\x02\x01\x12\x04\xf0\x02\x02\x12\x1a\' The path matched by this custom verb.\n\n\r\n\x05\x04\x02\x02\x01\x05\x12\x04\xf0\x02\x02\x08\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\xf0\x02\t\r\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\xf0\x02\x10\x11b\x06proto3\n\xec\xa2\x04\n google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\n\x11FileDescriptorSet\x128\n\x04file\x18\x01 \x03(\x0b2$.google.protobuf.FileDescriptorProtoR\x04file*\x0c\x08\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\x98\x05\n\x13FileDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x1e\n\ndependency\x18\x03 \x03(\tR\ndependency\x12+\n\x11public_dependency\x18\n \x03(\x05R\x10publicDependency\x12\'\n\x0fweak_dependency\x18\x0b \x03(\x05R\x0eweakDependency\x12C\n\x0cmessage_type\x18\x04 \x03(\x0b2 .google.protobuf.DescriptorProtoR\x0bmessageType\x12A\n\tenum_type\x18\x05 \x03(\x0b2$.google.protobuf.EnumDescriptorProtoR\x08enumType\x12A\n\x07service\x18\x06 \x03(\x0b2\'.google.protobuf.ServiceDescriptorProtoR\x07service\x12C\n\textension\x18\x07 \x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\textension\x126\n\x07options\x18\x08 \x01(\x0b2\x1c.google.protobuf.FileOptionsR\x07options\x12I\n\x10source_code_info\x18\t \x01(\x0b2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n\x06syntax\x18\x0c \x01(\tR\x06syntax\x122\n\x07edition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\x07edition\"\xb9\x06\n\x0fDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12;\n\x05field\x18\x02 \x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n\textension\x18\x06 \x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\textension\x12A\n\x0bnested_type\x18\x03 \x03(\x0b2 .google.protobuf.DescriptorProtoR\nnestedType\x12A\n\tenum_type\x18\x04 \x03(\x0b2$.google.protobuf.EnumDescriptorProtoR\x08enumType\x12X\n\x0fextension_range\x18\x05 \x03(\x0b2/.google.protobuf.DescriptorProto.ExtensionRangeR\x0eextensionRange\x12D\n\noneof_decl\x18\x08 \x03(\x0b2%.google.protobuf.OneofDescriptorProtoR\toneofDecl\x129\n\x07options\x18\x07 \x01(\x0b2\x1f.google.protobuf.MessageOptionsR\x07options\x12U\n\x0ereserved_range\x18\t \x03(\x0b2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n\rreserved_name\x18\n \x03(\tR\x0creservedName\x1az\n\x0eExtensionRange\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03end\x12@\n\x07options\x18\x03 \x01(\x0b2&.google.protobuf.ExtensionRangeOptionsR\x07options\x1a7\n\rReservedRange\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03end\"\xcc\x04\n\x15ExtensionRangeOptions\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\x12Y\n\x0bdeclaration\x18\x02 \x03(\x0b22.google.protobuf.ExtensionRangeOptions.DeclarationB\x03\x88\x01\x02R\x0bdeclaration\x127\n\x08features\x182 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12m\n\x0cverification\x18\x03 \x01(\x0e28.google.protobuf.ExtensionRangeOptions.VerificationState:\nUNVERIFIEDB\x03\x88\x01\x02R\x0cverification\x1a\x94\x01\n\x0bDeclaration\x12\x16\n\x06number\x18\x01 \x01(\x05R\x06number\x12\x1b\n\tfull_name\x18\x02 \x01(\tR\x08fullName\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x1a\n\x08reserved\x18\x05 \x01(\x08R\x08reserved\x12\x1a\n\x08repeated\x18\x06 \x01(\x08R\x08repeatedJ\x04\x08\x04\x10\x05\"4\n\x11VerificationState\x12\x0f\n\x0bDECLARATION\x10\x00\x12\x0e\n\nUNVERIFIED\x10\x01*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xc1\x06\n\x14FieldDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06number\x18\x03 \x01(\x05R\x06number\x12A\n\x05label\x18\x04 \x01(\x0e2+.google.protobuf.FieldDescriptorProto.LabelR\x05label\x12>\n\x04type\x18\x05 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\x04type\x12\x1b\n\ttype_name\x18\x06 \x01(\tR\x08typeName\x12\x1a\n\x08extendee\x18\x02 \x01(\tR\x08extendee\x12#\n\rdefault_value\x18\x07 \x01(\tR\x0cdefaultValue\x12\x1f\n\x0boneof_index\x18\t \x01(\x05R\noneofIndex\x12\x1b\n\tjson_name\x18\n \x01(\tR\x08jsonName\x127\n\x07options\x18\x08 \x01(\x0b2\x1d.google.protobuf.FieldOptionsR\x07options\x12\'\n\x0fproto3_optional\x18\x11 \x01(\x08R\x0eproto3Optional\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REPEATED\x10\x03\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\"c\n\x14OneofDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x127\n\x07options\x18\x02 \x01(\x0b2\x1d.google.protobuf.OneofOptionsR\x07options\"\xe3\x02\n\x13EnumDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12?\n\x05value\x18\x02 \x03(\x0b2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n\x07options\x18\x03 \x01(\x0b2\x1c.google.protobuf.EnumOptionsR\x07options\x12]\n\x0ereserved_range\x18\x04 \x03(\x0b26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n\rreserved_name\x18\x05 \x03(\tR\x0creservedName\x1a;\n\x11EnumReservedRange\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n\x18EnumValueDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06number\x18\x02 \x01(\x05R\x06number\x12;\n\x07options\x18\x03 \x01(\x0b2!.google.protobuf.EnumValueOptionsR\x07options\"\xa7\x01\n\x16ServiceDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12>\n\x06method\x18\x02 \x03(\x0b2&.google.protobuf.MethodDescriptorProtoR\x06method\x129\n\x07options\x18\x03 \x01(\x0b2\x1f.google.protobuf.ServiceOptionsR\x07options\"\x89\x02\n\x15MethodDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\ninput_type\x18\x02 \x01(\tR\tinputType\x12\x1f\n\x0boutput_type\x18\x03 \x01(\tR\noutputType\x128\n\x07options\x18\x04 \x01(\x0b2\x1e.google.protobuf.MethodOptionsR\x07options\x120\n\x10client_streaming\x18\x05 \x01(\x08:\x05falseR\x0fclientStreaming\x120\n\x10server_streaming\x18\x06 \x01(\x08:\x05falseR\x0fserverStreaming\"\xad\t\n\x0bFileOptions\x12!\n\x0cjava_package\x18\x01 \x01(\tR\x0bjavaPackage\x120\n\x14java_outer_classname\x18\x08 \x01(\tR\x12javaOuterClassname\x125\n\x13java_multiple_files\x18\n \x01(\x08:\x05falseR\x11javaMultipleFiles\x12D\n\x1djava_generate_equals_and_hash\x18\x14 \x01(\x08B\x02\x18\x01R\x19javaGenerateEqualsAndHash\x12:\n\x16java_string_check_utf8\x18\x1b \x01(\x08:\x05falseR\x13javaStringCheckUtf8\x12S\n\x0coptimize_for\x18\t \x01(\x0e2).google.protobuf.FileOptions.OptimizeMode:\x05SPEEDR\x0boptimizeFor\x12\x1d\n\ngo_package\x18\x0b \x01(\tR\tgoPackage\x125\n\x13cc_generic_services\x18\x10 \x01(\x08:\x05falseR\x11ccGenericServices\x129\n\x15java_generic_services\x18\x11 \x01(\x08:\x05falseR\x13javaGenericServices\x125\n\x13py_generic_services\x18\x12 \x01(\x08:\x05falseR\x11pyGenericServices\x12%\n\ndeprecated\x18\x17 \x01(\x08:\x05falseR\ndeprecated\x12.\n\x10cc_enable_arenas\x18\x1f \x01(\x08:\x04trueR\x0eccEnableArenas\x12*\n\x11objc_class_prefix\x18$ \x01(\tR\x0fobjcClassPrefix\x12)\n\x10csharp_namespace\x18% \x01(\tR\x0fcsharpNamespace\x12!\n\x0cswift_prefix\x18\' \x01(\tR\x0bswiftPrefix\x12(\n\x10php_class_prefix\x18( \x01(\tR\x0ephpClassPrefix\x12#\n\rphp_namespace\x18) \x01(\tR\x0cphpNamespace\x124\n\x16php_metadata_namespace\x18, \x01(\tR\x14phpMetadataNamespace\x12!\n\x0cruby_package\x18- \x01(\tR\x0brubyPackage\x127\n\x08features\x182 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\":\n\x0cOptimizeMode\x12\t\n\x05SPEED\x10\x01\x12\r\n\tCODE_SIZE\x10\x02\x12\x10\n\x0cLITE_RUNTIME\x10\x03*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08*\x10+J\x04\x08&\x10\'R\x14php_generic_services\"\xf4\x03\n\x0eMessageOptions\x12<\n\x17message_set_wire_format\x18\x01 \x01(\x08:\x05falseR\x14messageSetWireFormat\x12L\n\x1fno_standard_descriptor_accessor\x18\x02 \x01(\x08:\x05falseR\x1cnoStandardDescriptorAccessor\x12%\n\ndeprecated\x18\x03 \x01(\x08:\x05falseR\ndeprecated\x12\x1b\n\tmap_entry\x18\x07 \x01(\x08R\x08mapEntry\x12V\n&deprecated_legacy_json_field_conflicts\x18\x0b \x01(\x08B\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n\x08features\x18\x0c \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\x9d\r\n\x0cFieldOptions\x12A\n\x05ctype\x18\x01 \x01(\x0e2#.google.protobuf.FieldOptions.CType:\x06STRINGR\x05ctype\x12\x16\n\x06packed\x18\x02 \x01(\x08R\x06packed\x12G\n\x06jstype\x18\x06 \x01(\x0e2$.google.protobuf.FieldOptions.JSType:\tJS_NORMALR\x06jstype\x12\x19\n\x04lazy\x18\x05 \x01(\x08:\x05falseR\x04lazy\x12.\n\x0funverified_lazy\x18\x0f \x01(\x08:\x05falseR\x0eunverifiedLazy\x12%\n\ndeprecated\x18\x03 \x01(\x08:\x05falseR\ndeprecated\x12\x19\n\x04weak\x18\n \x01(\x08:\x05falseR\x04weak\x12(\n\x0cdebug_redact\x18\x10 \x01(\x08:\x05falseR\x0bdebugRedact\x12K\n\tretention\x18\x11 \x01(\x0e2-.google.protobuf.FieldOptions.OptionRetentionR\tretention\x12H\n\x07targets\x18\x13 \x03(\x0e2..google.protobuf.FieldOptions.OptionTargetTypeR\x07targets\x12W\n\x10edition_defaults\x18\x14 \x03(\x0b2,.google.protobuf.FieldOptions.EditionDefaultR\x0feditionDefaults\x127\n\x08features\x18\x15 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12U\n\x0ffeature_support\x18\x16 \x01(\x0b2,.google.protobuf.FieldOptions.FeatureSupportR\x0efeatureSupport\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\x1aZ\n\x0eEditionDefault\x122\n\x07edition\x18\x03 \x01(\x0e2\x18.google.protobuf.EditionR\x07edition\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\x1a\x96\x02\n\x0eFeatureSupport\x12G\n\x12edition_introduced\x18\x01 \x01(\x0e2\x18.google.protobuf.EditionR\x11editionIntroduced\x12G\n\x12edition_deprecated\x18\x02 \x01(\x0e2\x18.google.protobuf.EditionR\x11editionDeprecated\x12/\n\x13deprecation_warning\x18\x03 \x01(\tR\x12deprecationWarning\x12A\n\x0fedition_removed\x18\x04 \x01(\x0e2\x18.google.protobuf.EditionR\x0eeditionRemoved\"/\n\x05CType\x12\n\n\x06STRING\x10\x00\x12\x08\n\x04CORD\x10\x01\x12\x10\n\x0cSTRING_PIECE\x10\x02\"5\n\x06JSType\x12\r\n\tJS_NORMAL\x10\x00\x12\r\n\tJS_STRING\x10\x01\x12\r\n\tJS_NUMBER\x10\x02\"U\n\x0fOptionRetention\x12\x15\n\x11RETENTION_UNKNOWN\x10\x00\x12\x15\n\x11RETENTION_RUNTIME\x10\x01\x12\x14\n\x10RETENTION_SOURCE\x10\x02\"\x8c\x02\n\x10OptionTargetType\x12\x17\n\x13TARGET_TYPE_UNKNOWN\x10\x00\x12\x14\n\x10TARGET_TYPE_FILE\x10\x01\x12\x1f\n\x1bTARGET_TYPE_EXTENSION_RANGE\x10\x02\x12\x17\n\x13TARGET_TYPE_MESSAGE\x10\x03\x12\x15\n\x11TARGET_TYPE_FIELD\x10\x04\x12\x15\n\x11TARGET_TYPE_ONEOF\x10\x05\x12\x14\n\x10TARGET_TYPE_ENUM\x10\x06\x12\x1a\n\x16TARGET_TYPE_ENUM_ENTRY\x10\x07\x12\x17\n\x13TARGET_TYPE_SERVICE\x10\x08\x12\x16\n\x12TARGET_TYPE_METHOD\x10\t*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05J\x04\x08\x12\x10\x13\"\xac\x01\n\x0cOneofOptions\x127\n\x08features\x18\x01 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xd1\x02\n\x0bEnumOptions\x12\x1f\n\x0ballow_alias\x18\x02 \x01(\x08R\nallowAlias\x12%\n\ndeprecated\x18\x03 \x01(\x08:\x05falseR\ndeprecated\x12V\n&deprecated_legacy_json_field_conflicts\x18\x06 \x01(\x08B\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n\x08features\x18\x07 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x05\x10\x06\"\xd8\x02\n\x10EnumValueOptions\x12%\n\ndeprecated\x18\x01 \x01(\x08:\x05falseR\ndeprecated\x127\n\x08features\x18\x02 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12(\n\x0cdebug_redact\x18\x03 \x01(\x08:\x05falseR\x0bdebugRedact\x12U\n\x0ffeature_support\x18\x04 \x01(\x0b2,.google.protobuf.FieldOptions.FeatureSupportR\x0efeatureSupport\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xd5\x01\n\x0eServiceOptions\x127\n\x08features\x18\" \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12%\n\ndeprecated\x18! \x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x99\x03\n\rMethodOptions\x12%\n\ndeprecated\x18! \x01(\x08:\x05falseR\ndeprecated\x12q\n\x11idempotency_level\x18\" \x01(\x0e2/.google.protobuf.MethodOptions.IdempotencyLevel:\x13IDEMPOTENCY_UNKNOWNR\x10idempotencyLevel\x127\n\x08features\x18# \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\"P\n\x10IdempotencyLevel\x12\x17\n\x13IDEMPOTENCY_UNKNOWN\x10\x00\x12\x13\n\x0fNO_SIDE_EFFECTS\x10\x01\x12\x0e\n\nIDEMPOTENT\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9a\x03\n\x13UninterpretedOption\x12A\n\x04name\x18\x02 \x03(\x0b2-.google.protobuf.UninterpretedOption.NamePartR\x04name\x12)\n\x10identifier_value\x18\x03 \x01(\tR\x0fidentifierValue\x12,\n\x12positive_int_value\x18\x04 \x01(\x04R\x10positiveIntValue\x12,\n\x12negative_int_value\x18\x05 \x01(\x03R\x10negativeIntValue\x12!\n\x0cdouble_value\x18\x06 \x01(\x01R\x0bdoubleValue\x12!\n\x0cstring_value\x18\x07 \x01(\x0cR\x0bstringValue\x12\'\n\x0faggregate_value\x18\x08 \x01(\tR\x0eaggregateValue\x1aJ\n\x08NamePart\x12\x1b\n\tname_part\x18\x01 \x02(\tR\x08namePart\x12!\n\x0cis_extension\x18\x02 \x02(\x08R\x0bisExtension\"\xa7\n\n\nFeatureSet\x12\x91\x01\n\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\x08EXPLICIT\x18\x84\x07\xa2\x01\r\x12\x08IMPLICIT\x18\xe7\x07\xa2\x01\r\x12\x08EXPLICIT\x18\xe8\x07\xb2\x01\x03\x08\xe8\x07R\rfieldPresence\x12l\n\tenum_type\x18\x02 \x01(\x0e2$.google.protobuf.FeatureSet.EnumTypeB)\x88\x01\x01\x98\x01\x06\x98\x01\x01\xa2\x01\x0b\x12\x06CLOSED\x18\x84\x07\xa2\x01\t\x12\x04OPEN\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07R\x08enumType\x12\x98\x01\n\x17repeated_field_encoding\x18\x03 \x01(\x0e21.google.protobuf.FeatureSet.RepeatedFieldEncodingB-\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\x08EXPANDED\x18\x84\x07\xa2\x01\x0b\x12\x06PACKED\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07R\x15repeatedFieldEncoding\x12~\n\x0futf8_validation\x18\x04 \x01(\x0e2*.google.protobuf.FeatureSet.Utf8ValidationB)\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\t\x12\x04NONE\x18\x84\x07\xa2\x01\x0b\x12\x06VERIFY\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07R\x0eutf8Validation\x12~\n\x10message_encoding\x18\x05 \x01(\x0e2+.google.protobuf.FeatureSet.MessageEncodingB&\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\x14\x12\x0fLENGTH_PREFIXED\x18\x84\x07\xb2\x01\x03\x08\xe8\x07R\x0fmessageEncoding\x12\x82\x01\n\x0bjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\x07\xa2\x01\n\x12\x05ALLOW\x18\xe7\x07\xb2\x01\x03\x08\xe8\x07R\njsonFormat\"\\\n\rFieldPresence\x12\x1a\n\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\x0c\n\x08EXPLICIT\x10\x01\x12\x0c\n\x08IMPLICIT\x10\x02\x12\x13\n\x0fLEGACY_REQUIRED\x10\x03\"7\n\x08EnumType\x12\x15\n\x11ENUM_TYPE_UNKNOWN\x10\x00\x12\x08\n\x04OPEN\x10\x01\x12\n\n\x06CLOSED\x10\x02\"V\n\x15RepeatedFieldEncoding\x12#\n\x1fREPEATED_FIELD_ENCODING_UNKNOWN\x10\x00\x12\n\n\x06PACKED\x10\x01\x12\x0c\n\x08EXPANDED\x10\x02\"I\n\x0eUtf8Validation\x12\x1b\n\x17UTF8_VALIDATION_UNKNOWN\x10\x00\x12\n\n\x06VERIFY\x10\x02\x12\x08\n\x04NONE\x10\x03\"\x04\x08\x01\x10\x01\"S\n\x0fMessageEncoding\x12\x1c\n\x18MESSAGE_ENCODING_UNKNOWN\x10\x00\x12\x13\n\x0fLENGTH_PREFIXED\x10\x01\x12\r\n\tDELIMITED\x10\x02\"H\n\nJsonFormat\x12\x17\n\x13JSON_FORMAT_UNKNOWN\x10\x00\x12\t\n\x05ALLOW\x10\x01\x12\x16\n\x12LEGACY_BEST_EFFORT\x10\x02*\x06\x08\xe8\x07\x10\x8bN*\x06\x08\x8bN\x10\x90N*\x06\x08\x90N\x10\x91NJ\x06\x08\xe7\x07\x10\xe8\x07\"\xef\x03\n\x12FeatureSetDefaults\x12X\n\x08defaults\x18\x01 \x03(\x0b2<.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefaultR\x08defaults\x12A\n\x0fminimum_edition\x18\x04 \x01(\x0e2\x18.google.protobuf.EditionR\x0eminimumEdition\x12A\n\x0fmaximum_edition\x18\x05 \x01(\x0e2\x18.google.protobuf.EditionR\x0emaximumEdition\x1a\xf8\x01\n\x18FeatureSetEditionDefault\x122\n\x07edition\x18\x03 \x01(\x0e2\x18.google.protobuf.EditionR\x07edition\x12N\n\x14overridable_features\x18\x04 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x13overridableFeatures\x12B\n\x0efixed_features\x18\x05 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\rfixedFeaturesJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x08features\"\xb5\x02\n\x0eSourceCodeInfo\x12D\n\x08location\x18\x01 \x03(\x0b2(.google.protobuf.SourceCodeInfo.LocationR\x08location\x1a\xce\x01\n\x08Location\x12\x16\n\x04path\x18\x01 \x03(\x05B\x02\x10\x01R\x04path\x12\x16\n\x04span\x18\x02 \x03(\x05B\x02\x10\x01R\x04span\x12)\n\x10leading_comments\x18\x03 \x01(\tR\x0fleadingComments\x12+\n\x11trailing_comments\x18\x04 \x01(\tR\x10trailingComments\x12:\n\x19leading_detached_comments\x18\x06 \x03(\tR\x17leadingDetachedComments*\x0c\x08\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\xd0\x02\n\x11GeneratedCodeInfo\x12M\n\nannotation\x18\x01 \x03(\x0b2-.google.protobuf.GeneratedCodeInfo.AnnotationR\nannotation\x1a\xeb\x01\n\nAnnotation\x12\x16\n\x04path\x18\x01 \x03(\x05B\x02\x10\x01R\x04path\x12\x1f\n\x0bsource_file\x18\x02 \x01(\tR\nsourceFile\x12\x14\n\x05begin\x18\x03 \x01(\x05R\x05begin\x12\x10\n\x03end\x18\x04 \x01(\x05R\x03end\x12R\n\x08semantic\x18\x05 \x01(\x0e26.google.protobuf.GeneratedCodeInfo.Annotation.SemanticR\x08semantic\"(\n\x08Semantic\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03SET\x10\x01\x12\t\n\x05ALIAS\x10\x02*\xa7\x02\n\x07Edition\x12\x13\n\x0fEDITION_UNKNOWN\x10\x00\x12\x13\n\x0eEDITION_LEGACY\x10\x84\x07\x12\x13\n\x0eEDITION_PROTO2\x10\xe6\x07\x12\x13\n\x0eEDITION_PROTO3\x10\xe7\x07\x12\x11\n\x0cEDITION_2023\x10\xe8\x07\x12\x11\n\x0cEDITION_2024\x10\xe9\x07\x12\x17\n\x13EDITION_1_TEST_ONLY\x10\x01\x12\x17\n\x13EDITION_2_TEST_ONLY\x10\x02\x12\x1d\n\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n\x0bEDITION_MAX\x10\xff\xff\xff\xff\x07B~\n\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.ReflectionJ\xe0\xc2\x03\n\x07\x12\x05&\x00\x9a\n\x01\n\xaa\x0f\n\x01\x0c\x12\x03&\x00\x122\xc1\x0c Protocol Buffers - Google\'s data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n2\xdb\x02 Author: kenton@google.com (Kenton Varda)\n Based on original Protocol Buffers design by\n Sanjay Ghemawat, Jeff Dean, and others.\n\n The messages in this file describe the definitions found in .proto files.\n A valid .proto file can be translated directly to a FileDescriptorProto\n without any other information (e.g. without reading its imports).\n\n\x08\n\x01\x02\x12\x03(\x00\x18\n\x08\n\x01\x08\x12\x03*\x00D\n\t\n\x02\x08\x0b\x12\x03*\x00D\n\x08\n\x01\x08\x12\x03+\x00,\n\t\n\x02\x08\x01\x12\x03+\x00,\n\x08\n\x01\x08\x12\x03,\x001\n\t\n\x02\x08\x08\x12\x03,\x001\n\x08\n\x01\x08\x12\x03-\x007\n\t\n\x02\x08%\x12\x03-\x007\n\x08\n\x01\x08\x12\x03.\x00!\n\t\n\x02\x08$\x12\x03.\x00!\n\x08\n\x01\x08\x12\x03/\x00\x1f\n\t\n\x02\x08\x1f\x12\x03/\x00\x1f\n\x08\n\x01\x08\x12\x033\x00\x1c\n\x7f\n\x02\x08\t\x12\x033\x00\x1c\x1at descriptor.proto must be optimized for speed because reflection-based\n algorithms don\'t work during bootstrapping.\n\nj\n\x02\x04\x00\x12\x047\x00@\x01\x1a^ The protocol compiler can output a FileDescriptorSet containing the .proto\n files it parses.\n\n\n\n\x03\x04\x00\x01\x12\x037\x08\x19\n\x0b\n\x04\x04\x00\x02\x00\x12\x038\x02(\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x038\x0b\x1e\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x038\x1f#\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x038&\'\n&\n\x03\x04\x00\x05\x12\x04;\x02?\x05\x1a\x19 Extensions for tooling.\n\n\x0b\n\x04\x04\x00\x05\x00\x12\x03;\r\x16\n\x0c\n\x05\x04\x00\x05\x00\x01\x12\x03;\r\x16\n\x0c\n\x05\x04\x00\x05\x00\x02\x12\x03;\r\x16\n-\n\x02\x05\x00\x12\x04C\x00d\x01\x1a! The full set of known editions.\n\n\n\n\x03\x05\x00\x01\x12\x03C\x05\x0c\n:\n\x04\x05\x00\x02\x00\x12\x03E\x02\x16\x1a- A placeholder for an unknown edition value.\n\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03E\x02\x11\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03E\x14\x15\n\x99\x01\n\x04\x05\x00\x02\x01\x12\x03I\x02\x17\x1a\x8b\x01 A placeholder edition for specifying default behaviors *before* a feature\n was first introduced. This is effectively an \"infinite past\".\n\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03I\x02\x10\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03I\x13\x16\n\x82\x02\n\x04\x05\x00\x02\x02\x12\x03O\x02\x17\x1a\xf4\x01 Legacy syntax \"editions\". These pre-date editions, but behave much like\n distinct editions. These can\'t be used to specify the edition of proto\n files, but feature definitions must supply proto2/proto3 defaults for\n backwards compatibility.\n\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03O\x02\x10\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03O\x13\x16\n\x0b\n\x04\x05\x00\x02\x03\x12\x03P\x02\x17\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03P\x02\x10\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03P\x13\x16\n\xaf\x01\n\x04\x05\x00\x02\x04\x12\x03U\x02\x16\x1a\xa1\x01 Editions that have been released. The specific values are arbitrary and\n should not be depended on, but they will always be time-ordered for easy\n comparison.\n\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03U\x02\x0e\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03U\x11\x15\n\x0b\n\x04\x05\x00\x02\x05\x12\x03V\x02\x16\n\x0c\n\x05\x05\x00\x02\x05\x01\x12\x03V\x02\x0e\n\x0c\n\x05\x05\x00\x02\x05\x02\x12\x03V\x11\x15\n}\n\x04\x05\x00\x02\x06\x12\x03Z\x02\x1a\x1ap Placeholder editions for testing feature resolution. These should not be\n used or relied on outside of tests.\n\n\x0c\n\x05\x05\x00\x02\x06\x01\x12\x03Z\x02\x15\n\x0c\n\x05\x05\x00\x02\x06\x02\x12\x03Z\x18\x19\n\x0b\n\x04\x05\x00\x02\x07\x12\x03[\x02\x1a\n\x0c\n\x05\x05\x00\x02\x07\x01\x12\x03[\x02\x15\n\x0c\n\x05\x05\x00\x02\x07\x02\x12\x03[\x18\x19\n\x0b\n\x04\x05\x00\x02\x08\x12\x03\\\x02\"\n\x0c\n\x05\x05\x00\x02\x08\x01\x12\x03\\\x02\x19\n\x0c\n\x05\x05\x00\x02\x08\x02\x12\x03\\\x1c!\n\x0b\n\x04\x05\x00\x02\t\x12\x03]\x02\"\n\x0c\n\x05\x05\x00\x02\t\x01\x12\x03]\x02\x19\n\x0c\n\x05\x05\x00\x02\t\x02\x12\x03]\x1c!\n\x0b\n\x04\x05\x00\x02\n\x12\x03^\x02\"\n\x0c\n\x05\x05\x00\x02\n\x01\x12\x03^\x02\x19\n\x0c\n\x05\x05\x00\x02\n\x02\x12\x03^\x1c!\n\xb8\x01\n\x04\x05\x00\x02\x0b\x12\x03c\x02\x1b\x1a\xaa\x01 Placeholder for specifying unbounded edition support. This should only\n ever be used by plugins that can expect to never require any changes to\n support a new edition.\n\n\x0c\n\x05\x05\x00\x02\x0b\x01\x12\x03c\x02\r\n\x0c\n\x05\x05\x00\x02\x0b\x02\x12\x03c\x10\x1a\n0\n\x02\x04\x01\x12\x05g\x00\x89\x01\x01\x1a# Describes a complete .proto file.\n\n\n\n\x03\x04\x01\x01\x12\x03g\x08\x1b\n9\n\x04\x04\x01\x02\x00\x12\x03h\x02\x1b\", file name, relative to root of source tree\n\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03h\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03h\x0b\x11\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03h\x12\x16\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03h\x19\x1a\n*\n\x04\x04\x01\x02\x01\x12\x03i\x02\x1e\"\x1d e.g. \"foo\", \"foo.bar\", etc.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03i\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03i\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03i\x12\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03i\x1c\x1d\n4\n\x04\x04\x01\x02\x02\x12\x03l\x02!\x1a\' Names of files imported by this file.\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03l\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03l\x12\x1c\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03l\x1f \nQ\n\x04\x04\x01\x02\x03\x12\x03n\x02(\x1aD Indexes of the public imported files in the dependency list above.\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03n\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03n\x11\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03n%\'\nz\n\x04\x04\x01\x02\x04\x12\x03q\x02&\x1am Indexes of the weak imported files in the dependency list.\n For Google-internal migration only. Do not use.\n\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x03q\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03q\x0b\x10\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03q\x11 \n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03q#%\n6\n\x04\x04\x01\x02\x05\x12\x03t\x02,\x1a) All top-level definitions in this file.\n\n\x0c\n\x05\x04\x01\x02\x05\x04\x12\x03t\x02\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03t\x0b\x1a\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03t\x1b\'\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03t*+\n\x0b\n\x04\x04\x01\x02\x06\x12\x03u\x02-\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03u\x02\n\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03u\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03u\x1f(\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03u+,\n\x0b\n\x04\x04\x01\x02\x07\x12\x03v\x02.\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x03v\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x03v\x0b!\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03v\")\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03v,-\n\x0b\n\x04\x04\x01\x02\x08\x12\x03w\x02.\n\x0c\n\x05\x04\x01\x02\x08\x04\x12\x03w\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03w\x0b\x1f\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03w )\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03w,-\n\x0b\n\x04\x04\x01\x02\t\x12\x03y\x02#\n\x0c\n\x05\x04\x01\x02\t\x04\x12\x03y\x02\n\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x03y\x0b\x16\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03y\x17\x1e\n\x0c\n\x05\x04\x01\x02\t\x03\x12\x03y!\"\n\xf4\x01\n\x04\x04\x01\x02\n\x12\x03\x7f\x02/\x1a\xe6\x01 This field contains optional information about the original source code.\n You may safely remove this entire field without harming runtime\n functionality of the descriptors -- the information is needed only by\n development tools.\n\n\x0c\n\x05\x04\x01\x02\n\x04\x12\x03\x7f\x02\n\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x03\x7f\x0b\x19\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03\x7f\x1a*\n\x0c\n\x05\x04\x01\x02\n\x03\x12\x03\x7f-.\n\xa6\x01\n\x04\x04\x01\x02\x0b\x12\x04\x85\x01\x02\x1e\x1a\x97\x01 The syntax of the proto file.\n The supported values are \"proto2\", \"proto3\", and \"editions\".\n\n If `edition` is present, this value must be \"editions\".\n\n\r\n\x05\x04\x01\x02\x0b\x04\x12\x04\x85\x01\x02\n\n\r\n\x05\x04\x01\x02\x0b\x05\x12\x04\x85\x01\x0b\x11\n\r\n\x05\x04\x01\x02\x0b\x01\x12\x04\x85\x01\x12\x18\n\r\n\x05\x04\x01\x02\x0b\x03\x12\x04\x85\x01\x1b\x1d\n.\n\x04\x04\x01\x02\x0c\x12\x04\x88\x01\x02 \x1a The edition of the proto file.\n\n\r\n\x05\x04\x01\x02\x0c\x04\x12\x04\x88\x01\x02\n\n\r\n\x05\x04\x01\x02\x0c\x06\x12\x04\x88\x01\x0b\x12\n\r\n\x05\x04\x01\x02\x0c\x01\x12\x04\x88\x01\x13\x1a\n\r\n\x05\x04\x01\x02\x0c\x03\x12\x04\x88\x01\x1d\x1f\n)\n\x02\x04\x02\x12\x06\x8c\x01\x00\xac\x01\x01\x1a\x1b Describes a message type.\n\n\x0b\n\x03\x04\x02\x01\x12\x04\x8c\x01\x08\x17\n\x0c\n\x04\x04\x02\x02\x00\x12\x04\x8d\x01\x02\x1b\n\r\n\x05\x04\x02\x02\x00\x04\x12\x04\x8d\x01\x02\n\n\r\n\x05\x04\x02\x02\x00\x05\x12\x04\x8d\x01\x0b\x11\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\x8d\x01\x12\x16\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\x8d\x01\x19\x1a\n\x0c\n\x04\x04\x02\x02\x01\x12\x04\x8f\x01\x02*\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04\x8f\x01\x02\n\n\r\n\x05\x04\x02\x02\x01\x06\x12\x04\x8f\x01\x0b\x1f\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\x8f\x01 %\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\x8f\x01()\n\x0c\n\x04\x04\x02\x02\x02\x12\x04\x90\x01\x02.\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04\x90\x01\x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\x04\x90\x01\x0b\x1f\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\x90\x01 )\n\r\n\x05\x04\x02\x02\x02\x03\x12\x04\x90\x01,-\n\x0c\n\x04\x04\x02\x02\x03\x12\x04\x92\x01\x02+\n\r\n\x05\x04\x02\x02\x03\x04\x12\x04\x92\x01\x02\n\n\r\n\x05\x04\x02\x02\x03\x06\x12\x04\x92\x01\x0b\x1a\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\x92\x01\x1b&\n\r\n\x05\x04\x02\x02\x03\x03\x12\x04\x92\x01)*\n\x0c\n\x04\x04\x02\x02\x04\x12\x04\x93\x01\x02-\n\r\n\x05\x04\x02\x02\x04\x04\x12\x04\x93\x01\x02\n\n\r\n\x05\x04\x02\x02\x04\x06\x12\x04\x93\x01\x0b\x1e\n\r\n\x05\x04\x02\x02\x04\x01\x12\x04\x93\x01\x1f(\n\r\n\x05\x04\x02\x02\x04\x03\x12\x04\x93\x01+,\n\x0e\n\x04\x04\x02\x03\x00\x12\x06\x95\x01\x02\x9a\x01\x03\n\r\n\x05\x04\x02\x03\x00\x01\x12\x04\x95\x01\n\x18\n\x1c\n\x06\x04\x02\x03\x00\x02\x00\x12\x04\x96\x01\x04\x1d\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x04\x12\x04\x96\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x04\x96\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x04\x96\x01\x13\x18\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x04\x96\x01\x1b\x1c\n\x1c\n\x06\x04\x02\x03\x00\x02\x01\x12\x04\x97\x01\x04\x1b\"\x0c Exclusive.\n\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x04\x12\x04\x97\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x04\x97\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x04\x97\x01\x13\x16\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x04\x97\x01\x19\x1a\n\x0e\n\x06\x04\x02\x03\x00\x02\x02\x12\x04\x99\x01\x04/\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x04\x12\x04\x99\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x06\x12\x04\x99\x01\r\"\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x01\x12\x04\x99\x01#*\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x03\x12\x04\x99\x01-.\n\x0c\n\x04\x04\x02\x02\x05\x12\x04\x9b\x01\x02.\n\r\n\x05\x04\x02\x02\x05\x04\x12\x04\x9b\x01\x02\n\n\r\n\x05\x04\x02\x02\x05\x06\x12\x04\x9b\x01\x0b\x19\n\r\n\x05\x04\x02\x02\x05\x01\x12\x04\x9b\x01\x1a)\n\r\n\x05\x04\x02\x02\x05\x03\x12\x04\x9b\x01,-\n\x0c\n\x04\x04\x02\x02\x06\x12\x04\x9d\x01\x02/\n\r\n\x05\x04\x02\x02\x06\x04\x12\x04\x9d\x01\x02\n\n\r\n\x05\x04\x02\x02\x06\x06\x12\x04\x9d\x01\x0b\x1f\n\r\n\x05\x04\x02\x02\x06\x01\x12\x04\x9d\x01 *\n\r\n\x05\x04\x02\x02\x06\x03\x12\x04\x9d\x01-.\n\x0c\n\x04\x04\x02\x02\x07\x12\x04\x9f\x01\x02&\n\r\n\x05\x04\x02\x02\x07\x04\x12\x04\x9f\x01\x02\n\n\r\n\x05\x04\x02\x02\x07\x06\x12\x04\x9f\x01\x0b\x19\n\r\n\x05\x04\x02\x02\x07\x01\x12\x04\x9f\x01\x1a!\n\r\n\x05\x04\x02\x02\x07\x03\x12\x04\x9f\x01$%\n\xac\x01\n\x04\x04\x02\x03\x01\x12\x06\xa4\x01\x02\xa7\x01\x03\x1a\x9b\x01 Range of reserved tag numbers. Reserved tag numbers may not be used by\n fields or extension ranges in the same message. Reserved ranges may\n not overlap.\n\n\r\n\x05\x04\x02\x03\x01\x01\x12\x04\xa4\x01\n\x17\n\x1c\n\x06\x04\x02\x03\x01\x02\x00\x12\x04\xa5\x01\x04\x1d\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x04\x12\x04\xa5\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x05\x12\x04\xa5\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x04\xa5\x01\x13\x18\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x04\xa5\x01\x1b\x1c\n\x1c\n\x06\x04\x02\x03\x01\x02\x01\x12\x04\xa6\x01\x04\x1b\"\x0c Exclusive.\n\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x04\x12\x04\xa6\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x05\x12\x04\xa6\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x04\xa6\x01\x13\x16\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x04\xa6\x01\x19\x1a\n\x0c\n\x04\x04\x02\x02\x08\x12\x04\xa8\x01\x02,\n\r\n\x05\x04\x02\x02\x08\x04\x12\x04\xa8\x01\x02\n\n\r\n\x05\x04\x02\x02\x08\x06\x12\x04\xa8\x01\x0b\x18\n\r\n\x05\x04\x02\x02\x08\x01\x12\x04\xa8\x01\x19\'\n\r\n\x05\x04\x02\x02\x08\x03\x12\x04\xa8\x01*+\n\x83\x01\n\x04\x04\x02\x02\t\x12\x04\xab\x01\x02%\x1au Reserved field names, which may not be used by fields in the same message.\n A given name may only be reserved once.\n\n\r\n\x05\x04\x02\x02\t\x04\x12\x04\xab\x01\x02\n\n\r\n\x05\x04\x02\x02\t\x05\x12\x04\xab\x01\x0b\x11\n\r\n\x05\x04\x02\x02\t\x01\x12\x04\xab\x01\x12\x1f\n\r\n\x05\x04\x02\x02\t\x03\x12\x04\xab\x01\"$\n\x0c\n\x02\x04\x03\x12\x06\xae\x01\x00\xe2\x01\x01\n\x0b\n\x03\x04\x03\x01\x12\x04\xae\x01\x08\x1d\nO\n\x04\x04\x03\x02\x00\x12\x04\xb0\x01\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x03\x02\x00\x04\x12\x04\xb0\x01\x02\n\n\r\n\x05\x04\x03\x02\x00\x06\x12\x04\xb0\x01\x0b\x1e\n\r\n\x05\x04\x03\x02\x00\x01\x12\x04\xb0\x01\x1f3\n\r\n\x05\x04\x03\x02\x00\x03\x12\x04\xb0\x0169\n\x0e\n\x04\x04\x03\x03\x00\x12\x06\xb2\x01\x02\xc9\x01\x03\n\r\n\x05\x04\x03\x03\x00\x01\x12\x04\xb2\x01\n\x15\nK\n\x06\x04\x03\x03\x00\x02\x00\x12\x04\xb4\x01\x04\x1e\x1a; The extension number declared within the extension range.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x04\x12\x04\xb4\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x04\xb4\x01\r\x12\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x04\xb4\x01\x13\x19\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x04\xb4\x01\x1c\x1d\nz\n\x06\x04\x03\x03\x00\x02\x01\x12\x04\xb8\x01\x04\"\x1aj The fully-qualified name of the extension field. There must be a leading\n dot in front of the full name.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x04\x12\x04\xb8\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x05\x12\x04\xb8\x01\r\x13\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x01\x12\x04\xb8\x01\x14\x1d\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x03\x12\x04\xb8\x01 !\n\xa1\x01\n\x06\x04\x03\x03\x00\x02\x02\x12\x04\xbd\x01\x04\x1d\x1a\x90\x01 The fully-qualified type name of the extension field. Unlike\n Metadata.type, Declaration.type must have a leading dot for messages\n and enums.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x04\x12\x04\xbd\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x05\x12\x04\xbd\x01\r\x13\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x01\x12\x04\xbd\x01\x14\x18\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x03\x12\x04\xbd\x01\x1b\x1c\n\xce\x01\n\x06\x04\x03\x03\x00\x02\x03\x12\x04\xc2\x01\x04\x1f\x1a\xbd\x01 If true, indicates that the number is reserved in the extension range,\n and any extension field with the number will fail to compile. Set this\n when a declared extension field is deleted.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x04\x12\x04\xc2\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x05\x12\x04\xc2\x01\r\x11\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x01\x12\x04\xc2\x01\x12\x1a\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x03\x12\x04\xc2\x01\x1d\x1e\n\x8a\x01\n\x06\x04\x03\x03\x00\x02\x04\x12\x04\xc6\x01\x04\x1f\x1az If true, indicates that the extension must be defined as repeated.\n Otherwise the extension must be defined as optional.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x04\x12\x04\xc6\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x05\x12\x04\xc6\x01\r\x11\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x01\x12\x04\xc6\x01\x12\x1a\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x03\x12\x04\xc6\x01\x1d\x1e\n$\n\x05\x04\x03\x03\x00\t\x12\x04\xc8\x01\x04\x0f\"\x15 removed is_repeated\n\n\x0e\n\x06\x04\x03\x03\x00\t\x00\x12\x04\xc8\x01\r\x0e\n\x0f\n\x07\x04\x03\x03\x00\t\x00\x01\x12\x04\xc8\x01\r\x0e\n\x0f\n\x07\x04\x03\x03\x00\t\x00\x02\x12\x04\xc8\x01\r\x0e\n\xb1\x01\n\x04\x04\x03\x02\x01\x12\x04\xce\x01\x02F\x1a\xa2\x01 For external users: DO NOT USE. We are in the process of open sourcing\n extension declaration and executing internal cleanups before it can be\n used externally.\n\n\r\n\x05\x04\x03\x02\x01\x04\x12\x04\xce\x01\x02\n\n\r\n\x05\x04\x03\x02\x01\x06\x12\x04\xce\x01\x0b\x16\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\xce\x01\x17\"\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\xce\x01%&\n\r\n\x05\x04\x03\x02\x01\x08\x12\x04\xce\x01\'E\n\x0e\n\x06\x04\x03\x02\x01\x08\x11\x12\x04\xce\x01(D\n=\n\x04\x04\x03\x02\x02\x12\x04\xd1\x01\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x03\x02\x02\x04\x12\x04\xd1\x01\x02\n\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\xd1\x01\x0b\x15\n\r\n\x05\x04\x03\x02\x02\x01\x12\x04\xd1\x01\x16\x1e\n\r\n\x05\x04\x03\x02\x02\x03\x12\x04\xd1\x01!#\n@\n\x04\x04\x03\x04\x00\x12\x06\xd4\x01\x02\xd8\x01\x03\x1a0 The verification state of the extension range.\n\n\r\n\x05\x04\x03\x04\x00\x01\x12\x04\xd4\x01\x07\x18\nC\n\x06\x04\x03\x04\x00\x02\x00\x12\x04\xd6\x01\x04\x14\x1a3 All the extensions of the range must be declared.\n\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x01\x12\x04\xd6\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x02\x12\x04\xd6\x01\x12\x13\n\x0e\n\x06\x04\x03\x04\x00\x02\x01\x12\x04\xd7\x01\x04\x13\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x01\x12\x04\xd7\x01\x04\x0e\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x02\x12\x04\xd7\x01\x11\x12\n\x8e\x01\n\x04\x04\x03\x02\x03\x12\x06\xdd\x01\x02\xde\x01;\x1a~ The verification state of the range.\n TODO: flip the default to DECLARATION once all empty ranges\n are marked as UNVERIFIED.\n\n\r\n\x05\x04\x03\x02\x03\x04\x12\x04\xdd\x01\x02\n\n\r\n\x05\x04\x03\x02\x03\x06\x12\x04\xdd\x01\x0b\x1c\n\r\n\x05\x04\x03\x02\x03\x01\x12\x04\xdd\x01\x1d)\n\r\n\x05\x04\x03\x02\x03\x03\x12\x04\xdd\x01,-\n\r\n\x05\x04\x03\x02\x03\x08\x12\x04\xde\x01\x06:\n\r\n\x05\x04\x03\x02\x03\x07\x12\x04\xde\x01\x11\x1b\n\x0e\n\x06\x04\x03\x02\x03\x08\x11\x12\x04\xde\x01\x1d9\nZ\n\x03\x04\x03\x05\x12\x04\xe1\x01\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x03\x05\x00\x12\x04\xe1\x01\r\x18\n\r\n\x05\x04\x03\x05\x00\x01\x12\x04\xe1\x01\r\x11\n\r\n\x05\x04\x03\x05\x00\x02\x12\x04\xe1\x01\x15\x18\n3\n\x02\x04\x04\x12\x06\xe5\x01\x00\xcd\x02\x01\x1a% Describes a field within a message.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xe5\x01\x08\x1c\n\x0e\n\x04\x04\x04\x04\x00\x12\x06\xe6\x01\x02\x86\x02\x03\n\r\n\x05\x04\x04\x04\x00\x01\x12\x04\xe6\x01\x07\x0b\nS\n\x06\x04\x04\x04\x00\x02\x00\x12\x04\xe9\x01\x04\x14\x1aC 0 is reserved for errors.\n Order is weird for historical reasons.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x00\x01\x12\x04\xe9\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x00\x02\x12\x04\xe9\x01\x12\x13\n\x0e\n\x06\x04\x04\x04\x00\x02\x01\x12\x04\xea\x01\x04\x13\n\x0f\n\x07\x04\x04\x04\x00\x02\x01\x01\x12\x04\xea\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x01\x02\x12\x04\xea\x01\x11\x12\nw\n\x06\x04\x04\x04\x00\x02\x02\x12\x04\xed\x01\x04\x13\x1ag Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n negative values are likely.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x02\x01\x12\x04\xed\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x02\x02\x12\x04\xed\x01\x11\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x03\x12\x04\xee\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\x00\x02\x03\x01\x12\x04\xee\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x03\x02\x12\x04\xee\x01\x12\x13\nw\n\x06\x04\x04\x04\x00\x02\x04\x12\x04\xf1\x01\x04\x13\x1ag Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n negative values are likely.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x04\x01\x12\x04\xf1\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x04\x02\x12\x04\xf1\x01\x11\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x05\x12\x04\xf2\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x05\x01\x12\x04\xf2\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\x05\x02\x12\x04\xf2\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\x06\x12\x04\xf3\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x06\x01\x12\x04\xf3\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\x06\x02\x12\x04\xf3\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\x07\x12\x04\xf4\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x00\x02\x07\x01\x12\x04\xf4\x01\x04\r\n\x0f\n\x07\x04\x04\x04\x00\x02\x07\x02\x12\x04\xf4\x01\x10\x11\n\x0e\n\x06\x04\x04\x04\x00\x02\x08\x12\x04\xf5\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\x00\x02\x08\x01\x12\x04\xf5\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x08\x02\x12\x04\xf5\x01\x12\x13\n\xc6\x02\n\x06\x04\x04\x04\x00\x02\t\x12\x04\xfb\x01\x04\x14\x1a\xb5\x02 Tag-delimited aggregate.\n Group type is deprecated and not supported after google.protobuf. However, Proto3\n implementations should still be able to parse the group wire format and\n treat group fields as unknown fields. In Editions, the group wire format\n can be enabled via the `message_encoding` feature.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\t\x01\x12\x04\xfb\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\t\x02\x12\x04\xfb\x01\x11\x13\n-\n\x06\x04\x04\x04\x00\x02\n\x12\x04\xfc\x01\x04\x16\"\x1d Length-delimited aggregate.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\n\x01\x12\x04\xfc\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\n\x02\x12\x04\xfc\x01\x13\x15\n#\n\x06\x04\x04\x04\x00\x02\x0b\x12\x04\xff\x01\x04\x14\x1a\x13 New in version 2.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x0b\x01\x12\x04\xff\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x0b\x02\x12\x04\xff\x01\x11\x13\n\x0e\n\x06\x04\x04\x04\x00\x02\x0c\x12\x04\x80\x02\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x0c\x01\x12\x04\x80\x02\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x0c\x02\x12\x04\x80\x02\x12\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\r\x12\x04\x81\x02\x04\x13\n\x0f\n\x07\x04\x04\x04\x00\x02\r\x01\x12\x04\x81\x02\x04\r\n\x0f\n\x07\x04\x04\x04\x00\x02\r\x02\x12\x04\x81\x02\x10\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x0e\x12\x04\x82\x02\x04\x17\n\x0f\n\x07\x04\x04\x04\x00\x02\x0e\x01\x12\x04\x82\x02\x04\x11\n\x0f\n\x07\x04\x04\x04\x00\x02\x0e\x02\x12\x04\x82\x02\x14\x16\n\x0e\n\x06\x04\x04\x04\x00\x02\x0f\x12\x04\x83\x02\x04\x17\n\x0f\n\x07\x04\x04\x04\x00\x02\x0f\x01\x12\x04\x83\x02\x04\x11\n\x0f\n\x07\x04\x04\x04\x00\x02\x0f\x02\x12\x04\x83\x02\x14\x16\n\'\n\x06\x04\x04\x04\x00\x02\x10\x12\x04\x84\x02\x04\x15\"\x17 Uses ZigZag encoding.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x10\x01\x12\x04\x84\x02\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x10\x02\x12\x04\x84\x02\x12\x14\n\'\n\x06\x04\x04\x04\x00\x02\x11\x12\x04\x85\x02\x04\x15\"\x17 Uses ZigZag encoding.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x11\x01\x12\x04\x85\x02\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x11\x02\x12\x04\x85\x02\x12\x14\n\x0e\n\x04\x04\x04\x04\x01\x12\x06\x88\x02\x02\x90\x02\x03\n\r\n\x05\x04\x04\x04\x01\x01\x12\x04\x88\x02\x07\x0c\n*\n\x06\x04\x04\x04\x01\x02\x00\x12\x04\x8a\x02\x04\x17\x1a\x1a 0 is reserved for errors\n\n\x0f\n\x07\x04\x04\x04\x01\x02\x00\x01\x12\x04\x8a\x02\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x00\x02\x12\x04\x8a\x02\x15\x16\n\x0e\n\x06\x04\x04\x04\x01\x02\x01\x12\x04\x8b\x02\x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x01\x12\x04\x8b\x02\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x02\x12\x04\x8b\x02\x15\x16\n\xcc\x01\n\x06\x04\x04\x04\x01\x02\x02\x12\x04\x8f\x02\x04\x17\x1a\xbb\x01 The required label is only allowed in google.protobuf. In proto3 and Editions\n it\'s explicitly prohibited. In Editions, the `field_presence` feature\n can be used to get this behavior.\n\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x01\x12\x04\x8f\x02\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x02\x12\x04\x8f\x02\x15\x16\n\x0c\n\x04\x04\x04\x02\x00\x12\x04\x92\x02\x02\x1b\n\r\n\x05\x04\x04\x02\x00\x04\x12\x04\x92\x02\x02\n\n\r\n\x05\x04\x04\x02\x00\x05\x12\x04\x92\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\x92\x02\x12\x16\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\x92\x02\x19\x1a\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\x93\x02\x02\x1c\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04\x93\x02\x02\n\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\x93\x02\x0b\x10\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\x93\x02\x11\x17\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\x93\x02\x1a\x1b\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\x94\x02\x02\x1b\n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\x94\x02\x02\n\n\r\n\x05\x04\x04\x02\x02\x06\x12\x04\x94\x02\x0b\x10\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\x94\x02\x11\x16\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\x94\x02\x19\x1a\n\x9c\x01\n\x04\x04\x04\x02\x03\x12\x04\x98\x02\x02\x19\x1a\x8d\x01 If type_name is set, this need not be set. If both this and type_name\n are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04\x98\x02\x02\n\n\r\n\x05\x04\x04\x02\x03\x06\x12\x04\x98\x02\x0b\x0f\n\r\n\x05\x04\x04\x02\x03\x01\x12\x04\x98\x02\x10\x14\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\x98\x02\x17\x18\n\xb7\x02\n\x04\x04\x04\x02\x04\x12\x04\x9f\x02\x02 \x1a\xa8\x02 For message and enum types, this is the name of the type. If the name\n starts with a \'.\', it is fully-qualified. Otherwise, C++-like scoping\n rules are used to find the type (i.e. first the nested types within this\n message are searched, then within the parent, on up to the root\n namespace).\n\n\r\n\x05\x04\x04\x02\x04\x04\x12\x04\x9f\x02\x02\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\x9f\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x04\x01\x12\x04\x9f\x02\x12\x1b\n\r\n\x05\x04\x04\x02\x04\x03\x12\x04\x9f\x02\x1e\x1f\n~\n\x04\x04\x04\x02\x05\x12\x04\xa3\x02\x02\x1f\x1ap For extensions, this is the name of the type being extended. It is\n resolved in the same manner as type_name.\n\n\r\n\x05\x04\x04\x02\x05\x04\x12\x04\xa3\x02\x02\n\n\r\n\x05\x04\x04\x02\x05\x05\x12\x04\xa3\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x05\x01\x12\x04\xa3\x02\x12\x1a\n\r\n\x05\x04\x04\x02\x05\x03\x12\x04\xa3\x02\x1d\x1e\n\x91\x02\n\x04\x04\x04\x02\x06\x12\x04\xa9\x02\x02$\x1a\x82\x02 For numeric types, contains the original text representation of the value.\n For booleans, \"true\" or \"false\".\n For strings, contains the default text contents (not escaped in any way).\n For bytes, contains the C escaped value. All bytes >= 128 are escaped.\n\n\r\n\x05\x04\x04\x02\x06\x04\x12\x04\xa9\x02\x02\n\n\r\n\x05\x04\x04\x02\x06\x05\x12\x04\xa9\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x06\x01\x12\x04\xa9\x02\x12\x1f\n\r\n\x05\x04\x04\x02\x06\x03\x12\x04\xa9\x02\"#\n\x84\x01\n\x04\x04\x04\x02\x07\x12\x04\xad\x02\x02!\x1av If set, gives the index of a oneof in the containing type\'s oneof_decl\n list. This field is a member of that oneof.\n\n\r\n\x05\x04\x04\x02\x07\x04\x12\x04\xad\x02\x02\n\n\r\n\x05\x04\x04\x02\x07\x05\x12\x04\xad\x02\x0b\x10\n\r\n\x05\x04\x04\x02\x07\x01\x12\x04\xad\x02\x11\x1c\n\r\n\x05\x04\x04\x02\x07\x03\x12\x04\xad\x02\x1f \n\xfa\x01\n\x04\x04\x04\x02\x08\x12\x04\xb3\x02\x02!\x1a\xeb\x01 JSON name of this field. The value is set by protocol compiler. If the\n user has set a \"json_name\" option on this field, that option\'s value\n will be used. Otherwise, it\'s deduced from the field\'s name by converting\n it to camelCase.\n\n\r\n\x05\x04\x04\x02\x08\x04\x12\x04\xb3\x02\x02\n\n\r\n\x05\x04\x04\x02\x08\x05\x12\x04\xb3\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x08\x01\x12\x04\xb3\x02\x12\x1b\n\r\n\x05\x04\x04\x02\x08\x03\x12\x04\xb3\x02\x1e \n\x0c\n\x04\x04\x04\x02\t\x12\x04\xb5\x02\x02$\n\r\n\x05\x04\x04\x02\t\x04\x12\x04\xb5\x02\x02\n\n\r\n\x05\x04\x04\x02\t\x06\x12\x04\xb5\x02\x0b\x17\n\r\n\x05\x04\x04\x02\t\x01\x12\x04\xb5\x02\x18\x1f\n\r\n\x05\x04\x04\x02\t\x03\x12\x04\xb5\x02\"#\n\xb0\t\n\x04\x04\x04\x02\n\x12\x04\xcc\x02\x02%\x1a\xa1\t If true, this is a proto3 \"optional\". When a proto3 field is optional, it\n tracks presence regardless of field type.\n\n When proto3_optional is true, this field must belong to a oneof to signal\n to old proto3 clients that presence is tracked for this field. This oneof\n is known as a \"synthetic\" oneof, and this field must be its sole member\n (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs\n exist in the descriptor only, and do not generate any API. Synthetic oneofs\n must be ordered after all \"real\" oneofs.\n\n For message fields, proto3_optional doesn\'t create any semantic change,\n since non-repeated message fields always track presence. However it still\n indicates the semantic detail of whether the user wrote \"optional\" or not.\n This can be useful for round-tripping the .proto file. For consistency we\n give message fields a synthetic oneof also, even though it is not required\n to track presence. This is especially important because the parser can\'t\n tell if a field is a message or an enum, so it must always create a\n synthetic oneof.\n\n Proto2 optional fields do not set this flag, because they already indicate\n optional with `LABEL_OPTIONAL`.\n\n\r\n\x05\x04\x04\x02\n\x04\x12\x04\xcc\x02\x02\n\n\r\n\x05\x04\x04\x02\n\x05\x12\x04\xcc\x02\x0b\x0f\n\r\n\x05\x04\x04\x02\n\x01\x12\x04\xcc\x02\x10\x1f\n\r\n\x05\x04\x04\x02\n\x03\x12\x04\xcc\x02\"$\n\"\n\x02\x04\x05\x12\x06\xd0\x02\x00\xd3\x02\x01\x1a\x14 Describes a oneof.\n\n\x0b\n\x03\x04\x05\x01\x12\x04\xd0\x02\x08\x1c\n\x0c\n\x04\x04\x05\x02\x00\x12\x04\xd1\x02\x02\x1b\n\r\n\x05\x04\x05\x02\x00\x04\x12\x04\xd1\x02\x02\n\n\r\n\x05\x04\x05\x02\x00\x05\x12\x04\xd1\x02\x0b\x11\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\xd1\x02\x12\x16\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\xd1\x02\x19\x1a\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xd2\x02\x02$\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04\xd2\x02\x02\n\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\xd2\x02\x0b\x17\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xd2\x02\x18\x1f\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xd2\x02\"#\n\'\n\x02\x04\x06\x12\x06\xd6\x02\x00\xf0\x02\x01\x1a\x19 Describes an enum type.\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xd6\x02\x08\x1b\n\x0c\n\x04\x04\x06\x02\x00\x12\x04\xd7\x02\x02\x1b\n\r\n\x05\x04\x06\x02\x00\x04\x12\x04\xd7\x02\x02\n\n\r\n\x05\x04\x06\x02\x00\x05\x12\x04\xd7\x02\x0b\x11\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xd7\x02\x12\x16\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xd7\x02\x19\x1a\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xd9\x02\x02.\n\r\n\x05\x04\x06\x02\x01\x04\x12\x04\xd9\x02\x02\n\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\xd9\x02\x0b#\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xd9\x02$)\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xd9\x02,-\n\x0c\n\x04\x04\x06\x02\x02\x12\x04\xdb\x02\x02#\n\r\n\x05\x04\x06\x02\x02\x04\x12\x04\xdb\x02\x02\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\xdb\x02\x0b\x16\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xdb\x02\x17\x1e\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xdb\x02!\"\n\xaf\x02\n\x04\x04\x06\x03\x00\x12\x06\xe3\x02\x02\xe6\x02\x03\x1a\x9e\x02 Range of reserved numeric values. Reserved values may not be used by\n entries in the same enum. Reserved ranges may not overlap.\n\n Note that this is distinct from DescriptorProto.ReservedRange in that it\n is inclusive such that it can appropriately represent the entire int32\n domain.\n\n\r\n\x05\x04\x06\x03\x00\x01\x12\x04\xe3\x02\n\x1b\n\x1c\n\x06\x04\x06\x03\x00\x02\x00\x12\x04\xe4\x02\x04\x1d\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x04\x12\x04\xe4\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x05\x12\x04\xe4\x02\r\x12\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x04\xe4\x02\x13\x18\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x04\xe4\x02\x1b\x1c\n\x1c\n\x06\x04\x06\x03\x00\x02\x01\x12\x04\xe5\x02\x04\x1b\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x04\x12\x04\xe5\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x04\xe5\x02\r\x12\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x04\xe5\x02\x13\x16\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x04\xe5\x02\x19\x1a\n\xaa\x01\n\x04\x04\x06\x02\x03\x12\x04\xeb\x02\x020\x1a\x9b\x01 Range of reserved numeric values. Reserved numeric values may not be used\n by enum values in the same enum declaration. Reserved ranges may not\n overlap.\n\n\r\n\x05\x04\x06\x02\x03\x04\x12\x04\xeb\x02\x02\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\xeb\x02\x0b\x1c\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\xeb\x02\x1d+\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\xeb\x02./\nl\n\x04\x04\x06\x02\x04\x12\x04\xef\x02\x02$\x1a^ Reserved enum value names, which may not be reused. A given name may only\n be reserved once.\n\n\r\n\x05\x04\x06\x02\x04\x04\x12\x04\xef\x02\x02\n\n\r\n\x05\x04\x06\x02\x04\x05\x12\x04\xef\x02\x0b\x11\n\r\n\x05\x04\x06\x02\x04\x01\x12\x04\xef\x02\x12\x1f\n\r\n\x05\x04\x06\x02\x04\x03\x12\x04\xef\x02\"#\n1\n\x02\x04\x07\x12\x06\xf3\x02\x00\xf8\x02\x01\x1a# Describes a value within an enum.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xf3\x02\x08 \n\x0c\n\x04\x04\x07\x02\x00\x12\x04\xf4\x02\x02\x1b\n\r\n\x05\x04\x07\x02\x00\x04\x12\x04\xf4\x02\x02\n\n\r\n\x05\x04\x07\x02\x00\x05\x12\x04\xf4\x02\x0b\x11\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\xf4\x02\x12\x16\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\xf4\x02\x19\x1a\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\xf5\x02\x02\x1c\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\xf5\x02\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xf5\x02\x0b\x10\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xf5\x02\x11\x17\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xf5\x02\x1a\x1b\n\x0c\n\x04\x04\x07\x02\x02\x12\x04\xf7\x02\x02(\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xf7\x02\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\xf7\x02\x0b\x1b\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xf7\x02\x1c#\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xf7\x02&\'\n$\n\x02\x04\x08\x12\x06\xfb\x02\x00\x80\x03\x01\x1a\x16 Describes a service.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xfb\x02\x08\x1e\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\xfc\x02\x02\x1b\n\r\n\x05\x04\x08\x02\x00\x04\x12\x04\xfc\x02\x02\n\n\r\n\x05\x04\x08\x02\x00\x05\x12\x04\xfc\x02\x0b\x11\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\xfc\x02\x12\x16\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\xfc\x02\x19\x1a\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\xfd\x02\x02,\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\xfd\x02\x02\n\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\xfd\x02\x0b \n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\xfd\x02!\'\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xfd\x02*+\n\x0c\n\x04\x04\x08\x02\x02\x12\x04\xff\x02\x02&\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xff\x02\x02\n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\xff\x02\x0b\x19\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\xff\x02\x1a!\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xff\x02$%\n0\n\x02\x04\t\x12\x06\x83\x03\x00\x91\x03\x01\x1a\" Describes a method of a service.\n\n\x0b\n\x03\x04\t\x01\x12\x04\x83\x03\x08\x1d\n\x0c\n\x04\x04\t\x02\x00\x12\x04\x84\x03\x02\x1b\n\r\n\x05\x04\t\x02\x00\x04\x12\x04\x84\x03\x02\n\n\r\n\x05\x04\t\x02\x00\x05\x12\x04\x84\x03\x0b\x11\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x84\x03\x12\x16\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x84\x03\x19\x1a\n\x97\x01\n\x04\x04\t\x02\x01\x12\x04\x88\x03\x02!\x1a\x88\x01 Input and output type names. These are resolved in the same way as\n FieldDescriptorProto.type_name, but must refer to a message type.\n\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\x88\x03\x02\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\x88\x03\x0b\x11\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x88\x03\x12\x1c\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x88\x03\x1f \n\x0c\n\x04\x04\t\x02\x02\x12\x04\x89\x03\x02\"\n\r\n\x05\x04\t\x02\x02\x04\x12\x04\x89\x03\x02\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\x89\x03\x0b\x11\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\x89\x03\x12\x1d\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\x89\x03 !\n\x0c\n\x04\x04\t\x02\x03\x12\x04\x8b\x03\x02%\n\r\n\x05\x04\t\x02\x03\x04\x12\x04\x8b\x03\x02\n\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\x8b\x03\x0b\x18\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\x8b\x03\x19 \n\r\n\x05\x04\t\x02\x03\x03\x12\x04\x8b\x03#$\nE\n\x04\x04\t\x02\x04\x12\x04\x8e\x03\x027\x1a7 Identifies if client streams multiple client messages\n\n\r\n\x05\x04\t\x02\x04\x04\x12\x04\x8e\x03\x02\n\n\r\n\x05\x04\t\x02\x04\x05\x12\x04\x8e\x03\x0b\x0f\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\x8e\x03\x10 \n\r\n\x05\x04\t\x02\x04\x03\x12\x04\x8e\x03#$\n\r\n\x05\x04\t\x02\x04\x08\x12\x04\x8e\x03%6\n\r\n\x05\x04\t\x02\x04\x07\x12\x04\x8e\x0305\nE\n\x04\x04\t\x02\x05\x12\x04\x90\x03\x027\x1a7 Identifies if server streams multiple server messages\n\n\r\n\x05\x04\t\x02\x05\x04\x12\x04\x90\x03\x02\n\n\r\n\x05\x04\t\x02\x05\x05\x12\x04\x90\x03\x0b\x0f\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\x90\x03\x10 \n\r\n\x05\x04\t\x02\x05\x03\x12\x04\x90\x03#$\n\r\n\x05\x04\t\x02\x05\x08\x12\x04\x90\x03%6\n\r\n\x05\x04\t\x02\x05\x07\x12\x04\x90\x0305\n\xaf\x0e\n\x02\x04\n\x12\x06\xb3\x03\x00\xaf\x04\x012N ===================================================================\n Options\n2\xd0\r Each of the definitions above may have \"options\" attached. These are\n just annotations which may cause code to be generated slightly differently\n or may contain hints for code that manipulates protocol messages.\n\n Clients may define custom options as extensions of the *Options messages.\n These extensions may not yet be known at parsing time, so the parser cannot\n store the values in them. Instead it stores them in a field in the *Options\n message called uninterpreted_option. This field must have the same name\n across all *Options messages. We then use this field to populate the\n extensions when we build a descriptor, at which point all protos have been\n parsed and so all extensions are known.\n\n Extension numbers for custom options may be chosen as follows:\n * For options which will only be used within a single application or\n organization, or for experimental options, use field numbers 50000\n through 99999. It is up to you to ensure that you do not use the\n same number for multiple options.\n * For options which will be published and used publicly by multiple\n independent entities, e-mail protobuf-global-extension-registry@google.com\n to reserve extension numbers. Simply provide your project name (e.g.\n Objective-C plugin) and your project website (if available) -- there\'s no\n need to explain how you intend to use them. Usually you only need one\n extension number. You can declare multiple options with only one extension\n number by putting them in a sub-message. See the Custom Options section of\n the docs for examples:\n https://developers.google.com/protocol-buffers/docs/proto#options\n If this turns out to be popular, a web service will be set up\n to automatically assign option numbers.\n\n\x0b\n\x03\x04\n\x01\x12\x04\xb3\x03\x08\x13\n\xf4\x01\n\x04\x04\n\x02\x00\x12\x04\xb9\x03\x02#\x1a\xe5\x01 Sets the Java package where classes generated from this .proto will be\n placed. By default, the proto package is used, but this is often\n inappropriate because proto packages do not normally start with backwards\n domain names.\n\n\r\n\x05\x04\n\x02\x00\x04\x12\x04\xb9\x03\x02\n\n\r\n\x05\x04\n\x02\x00\x05\x12\x04\xb9\x03\x0b\x11\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xb9\x03\x12\x1e\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xb9\x03!\"\n\xf1\x02\n\x04\x04\n\x02\x01\x12\x04\xc0\x03\x02+\x1a\xe2\x02 Controls the name of the wrapper Java class generated for the .proto file.\n That class will always contain the .proto file\'s getDescriptor() method as\n well as any top-level extensions defined in the .proto file.\n If java_multiple_files is disabled, then all the other classes from the\n .proto file will be nested inside the single wrapper outer class.\n\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\xc0\x03\x02\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xc0\x03\x0b\x11\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xc0\x03\x12&\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xc0\x03)*\n\xa6\x03\n\x04\x04\n\x02\x02\x12\x04\xc8\x03\x02;\x1a\x97\x03 If enabled, then the Java code generator will generate a separate .java\n file for each top-level message, enum, and service defined in the .proto\n file. Thus, these types will *not* be nested inside the wrapper class\n named by java_outer_classname. However, the wrapper class will still be\n generated to contain the file\'s getDescriptor() method as well as any\n top-level extensions defined in the file.\n\n\r\n\x05\x04\n\x02\x02\x04\x12\x04\xc8\x03\x02\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xc8\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xc8\x03\x10#\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xc8\x03&(\n\r\n\x05\x04\n\x02\x02\x08\x12\x04\xc8\x03):\n\r\n\x05\x04\n\x02\x02\x07\x12\x04\xc8\x0349\n)\n\x04\x04\n\x02\x03\x12\x04\xcb\x03\x02E\x1a\x1b This option does nothing.\n\n\r\n\x05\x04\n\x02\x03\x04\x12\x04\xcb\x03\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xcb\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xcb\x03\x10-\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xcb\x0302\n\r\n\x05\x04\n\x02\x03\x08\x12\x04\xcb\x033D\n\x0e\n\x06\x04\n\x02\x03\x08\x03\x12\x04\xcb\x034C\n\xcf\x03\n\x04\x04\n\x02\x04\x12\x04\xd7\x03\x02>\x1a\xc0\x03 A proto2 file can set this to true to opt in to UTF-8 checking for Java,\n which will throw an exception if invalid UTF-8 is parsed from the wire or\n assigned to a string field.\n\n TODO: clarify exactly what kinds of field types this option\n applies to, and update these docs accordingly.\n\n Proto3 files already perform these checks. Setting the option explicitly to\n false has no effect: it cannot be used to opt proto3 files out of UTF-8\n checks.\n\n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xd7\x03\x02\n\n\r\n\x05\x04\n\x02\x04\x05\x12\x04\xd7\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xd7\x03\x10&\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xd7\x03)+\n\r\n\x05\x04\n\x02\x04\x08\x12\x04\xd7\x03,=\n\r\n\x05\x04\n\x02\x04\x07\x12\x04\xd7\x037<\nL\n\x04\x04\n\x04\x00\x12\x06\xda\x03\x02\xdf\x03\x03\x1a< Generated classes can be optimized for speed or code size.\n\n\r\n\x05\x04\n\x04\x00\x01\x12\x04\xda\x03\x07\x13\nD\n\x06\x04\n\x04\x00\x02\x00\x12\x04\xdb\x03\x04\x0e\"4 Generate complete code for parsing, serialization,\n\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x01\x12\x04\xdb\x03\x04\t\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x02\x12\x04\xdb\x03\x0c\r\nG\n\x06\x04\n\x04\x00\x02\x01\x12\x04\xdd\x03\x04\x12\x1a\x06 etc.\n\"/ Use ReflectionOps to implement these methods.\n\n\x0f\n\x07\x04\n\x04\x00\x02\x01\x01\x12\x04\xdd\x03\x04\r\n\x0f\n\x07\x04\n\x04\x00\x02\x01\x02\x12\x04\xdd\x03\x10\x11\nG\n\x06\x04\n\x04\x00\x02\x02\x12\x04\xde\x03\x04\x15\"7 Generate code using MessageLite and the lite runtime.\n\n\x0f\n\x07\x04\n\x04\x00\x02\x02\x01\x12\x04\xde\x03\x04\x10\n\x0f\n\x07\x04\n\x04\x00\x02\x02\x02\x12\x04\xde\x03\x13\x14\n\x0c\n\x04\x04\n\x02\x05\x12\x04\xe0\x03\x02;\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\xe0\x03\x02\n\n\r\n\x05\x04\n\x02\x05\x06\x12\x04\xe0\x03\x0b\x17\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xe0\x03\x18$\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xe0\x03\'(\n\r\n\x05\x04\n\x02\x05\x08\x12\x04\xe0\x03):\n\r\n\x05\x04\n\x02\x05\x07\x12\x04\xe0\x0349\n\xe2\x02\n\x04\x04\n\x02\x06\x12\x04\xe7\x03\x02\"\x1a\xd3\x02 Sets the Go package where structs generated from this .proto will be\n placed. If omitted, the Go package will be derived from the following:\n - The basename of the package import path, if provided.\n - Otherwise, the package statement in the .proto file, if present.\n - Otherwise, the basename of the .proto file, without extension.\n\n\r\n\x05\x04\n\x02\x06\x04\x12\x04\xe7\x03\x02\n\n\r\n\x05\x04\n\x02\x06\x05\x12\x04\xe7\x03\x0b\x11\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\xe7\x03\x12\x1c\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xe7\x03\x1f!\n\xd4\x04\n\x04\x04\n\x02\x07\x12\x04\xf3\x03\x02;\x1a\xc5\x04 Should generic services be generated in each language? \"Generic\" services\n are not specific to any particular RPC system. They are generated by the\n main code generators in each language (without additional plugins).\n Generic services were the only kind of service generation supported by\n early versions of google.protobuf.\n\n Generic services are now considered deprecated in favor of using plugins\n that generate code specific to your particular RPC system. Therefore,\n these default to false. Old code which depends on generic services should\n explicitly set them to true.\n\n\r\n\x05\x04\n\x02\x07\x04\x12\x04\xf3\x03\x02\n\n\r\n\x05\x04\n\x02\x07\x05\x12\x04\xf3\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x07\x01\x12\x04\xf3\x03\x10#\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\xf3\x03&(\n\r\n\x05\x04\n\x02\x07\x08\x12\x04\xf3\x03):\n\r\n\x05\x04\n\x02\x07\x07\x12\x04\xf3\x0349\n\x0c\n\x04\x04\n\x02\x08\x12\x04\xf4\x03\x02=\n\r\n\x05\x04\n\x02\x08\x04\x12\x04\xf4\x03\x02\n\n\r\n\x05\x04\n\x02\x08\x05\x12\x04\xf4\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\xf4\x03\x10%\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\xf4\x03(*\n\r\n\x05\x04\n\x02\x08\x08\x12\x04\xf4\x03+<\n\r\n\x05\x04\n\x02\x08\x07\x12\x04\xf4\x036;\n\x0c\n\x04\x04\n\x02\t\x12\x04\xf5\x03\x02;\n\r\n\x05\x04\n\x02\t\x04\x12\x04\xf5\x03\x02\n\n\r\n\x05\x04\n\x02\t\x05\x12\x04\xf5\x03\x0b\x0f\n\r\n\x05\x04\n\x02\t\x01\x12\x04\xf5\x03\x10#\n\r\n\x05\x04\n\x02\t\x03\x12\x04\xf5\x03&(\n\r\n\x05\x04\n\x02\t\x08\x12\x04\xf5\x03):\n\r\n\x05\x04\n\x02\t\x07\x12\x04\xf5\x0349\n+\n\x03\x04\n\t\x12\x04\xf6\x03\x02\x0e\"\x1e removed php_generic_services\n\n\x0c\n\x04\x04\n\t\x00\x12\x04\xf6\x03\x0b\r\n\r\n\x05\x04\n\t\x00\x01\x12\x04\xf6\x03\x0b\r\n\r\n\x05\x04\n\t\x00\x02\x12\x04\xf6\x03\x0b\r\n\x0b\n\x03\x04\n\n\x12\x04\xf7\x03\x02\"\n\x0c\n\x04\x04\n\n\x00\x12\x04\xf7\x03\x0b!\n\xf3\x01\n\x04\x04\n\x02\n\x12\x04\xfd\x03\x022\x1a\xe4\x01 Is this file deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for everything in the file, or it will be completely ignored; in the very\n least, this is a formalization for deprecating files.\n\n\r\n\x05\x04\n\x02\n\x04\x12\x04\xfd\x03\x02\n\n\r\n\x05\x04\n\x02\n\x05\x12\x04\xfd\x03\x0b\x0f\n\r\n\x05\x04\n\x02\n\x01\x12\x04\xfd\x03\x10\x1a\n\r\n\x05\x04\n\x02\n\x03\x12\x04\xfd\x03\x1d\x1f\n\r\n\x05\x04\n\x02\n\x08\x12\x04\xfd\x03 1\n\r\n\x05\x04\n\x02\n\x07\x12\x04\xfd\x03+0\n\x7f\n\x04\x04\n\x02\x0b\x12\x04\x81\x04\x027\x1aq Enables the use of arenas for the proto messages in this file. This applies\n only to generated classes for C++.\n\n\r\n\x05\x04\n\x02\x0b\x04\x12\x04\x81\x04\x02\n\n\r\n\x05\x04\n\x02\x0b\x05\x12\x04\x81\x04\x0b\x0f\n\r\n\x05\x04\n\x02\x0b\x01\x12\x04\x81\x04\x10 \n\r\n\x05\x04\n\x02\x0b\x03\x12\x04\x81\x04#%\n\r\n\x05\x04\n\x02\x0b\x08\x12\x04\x81\x04&6\n\r\n\x05\x04\n\x02\x0b\x07\x12\x04\x81\x0415\n\x92\x01\n\x04\x04\n\x02\x0c\x12\x04\x85\x04\x02)\x1a\x83\x01 Sets the objective c class prefix which is prepended to all objective c\n generated classes from this .proto. There is no default.\n\n\r\n\x05\x04\n\x02\x0c\x04\x12\x04\x85\x04\x02\n\n\r\n\x05\x04\n\x02\x0c\x05\x12\x04\x85\x04\x0b\x11\n\r\n\x05\x04\n\x02\x0c\x01\x12\x04\x85\x04\x12#\n\r\n\x05\x04\n\x02\x0c\x03\x12\x04\x85\x04&(\nI\n\x04\x04\n\x02\r\x12\x04\x88\x04\x02(\x1a; Namespace for generated classes; defaults to the package.\n\n\r\n\x05\x04\n\x02\r\x04\x12\x04\x88\x04\x02\n\n\r\n\x05\x04\n\x02\r\x05\x12\x04\x88\x04\x0b\x11\n\r\n\x05\x04\n\x02\r\x01\x12\x04\x88\x04\x12\"\n\r\n\x05\x04\n\x02\r\x03\x12\x04\x88\x04%\'\n\x91\x02\n\x04\x04\n\x02\x0e\x12\x04\x8e\x04\x02$\x1a\x82\x02 By default Swift generators will take the proto package and CamelCase it\n replacing \'.\' with underscore and use that to prefix the types/symbols\n defined. When this options is provided, they will use this value instead\n to prefix the types/symbols defined.\n\n\r\n\x05\x04\n\x02\x0e\x04\x12\x04\x8e\x04\x02\n\n\r\n\x05\x04\n\x02\x0e\x05\x12\x04\x8e\x04\x0b\x11\n\r\n\x05\x04\n\x02\x0e\x01\x12\x04\x8e\x04\x12\x1e\n\r\n\x05\x04\n\x02\x0e\x03\x12\x04\x8e\x04!#\n~\n\x04\x04\n\x02\x0f\x12\x04\x92\x04\x02(\x1ap Sets the php class prefix which is prepended to all php generated classes\n from this .proto. Default is empty.\n\n\r\n\x05\x04\n\x02\x0f\x04\x12\x04\x92\x04\x02\n\n\r\n\x05\x04\n\x02\x0f\x05\x12\x04\x92\x04\x0b\x11\n\r\n\x05\x04\n\x02\x0f\x01\x12\x04\x92\x04\x12\"\n\r\n\x05\x04\n\x02\x0f\x03\x12\x04\x92\x04%\'\n\xbe\x01\n\x04\x04\n\x02\x10\x12\x04\x97\x04\x02%\x1a\xaf\x01 Use this option to change the namespace of php generated classes. Default\n is empty. When this option is empty, the package name will be used for\n determining the namespace.\n\n\r\n\x05\x04\n\x02\x10\x04\x12\x04\x97\x04\x02\n\n\r\n\x05\x04\n\x02\x10\x05\x12\x04\x97\x04\x0b\x11\n\r\n\x05\x04\n\x02\x10\x01\x12\x04\x97\x04\x12\x1f\n\r\n\x05\x04\n\x02\x10\x03\x12\x04\x97\x04\"$\n\xca\x01\n\x04\x04\n\x02\x11\x12\x04\x9c\x04\x02.\x1a\xbb\x01 Use this option to change the namespace of php generated metadata classes.\n Default is empty. When this option is empty, the proto file name will be\n used for determining the namespace.\n\n\r\n\x05\x04\n\x02\x11\x04\x12\x04\x9c\x04\x02\n\n\r\n\x05\x04\n\x02\x11\x05\x12\x04\x9c\x04\x0b\x11\n\r\n\x05\x04\n\x02\x11\x01\x12\x04\x9c\x04\x12(\n\r\n\x05\x04\n\x02\x11\x03\x12\x04\x9c\x04+-\n\xc2\x01\n\x04\x04\n\x02\x12\x12\x04\xa1\x04\x02$\x1a\xb3\x01 Use this option to change the package of ruby generated classes. Default\n is empty. When this option is not set, the package name will be used for\n determining the ruby package.\n\n\r\n\x05\x04\n\x02\x12\x04\x12\x04\xa1\x04\x02\n\n\r\n\x05\x04\n\x02\x12\x05\x12\x04\xa1\x04\x0b\x11\n\r\n\x05\x04\n\x02\x12\x01\x12\x04\xa1\x04\x12\x1e\n\r\n\x05\x04\n\x02\x12\x03\x12\x04\xa1\x04!#\n=\n\x04\x04\n\x02\x13\x12\x04\xa4\x04\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\n\x02\x13\x04\x12\x04\xa4\x04\x02\n\n\r\n\x05\x04\n\x02\x13\x06\x12\x04\xa4\x04\x0b\x15\n\r\n\x05\x04\n\x02\x13\x01\x12\x04\xa4\x04\x16\x1e\n\r\n\x05\x04\n\x02\x13\x03\x12\x04\xa4\x04!#\n|\n\x04\x04\n\x02\x14\x12\x04\xa8\x04\x02:\x1an The parser stores options it doesn\'t recognize here.\n See the documentation for the \"Options\" section above.\n\n\r\n\x05\x04\n\x02\x14\x04\x12\x04\xa8\x04\x02\n\n\r\n\x05\x04\n\x02\x14\x06\x12\x04\xa8\x04\x0b\x1e\n\r\n\x05\x04\n\x02\x14\x01\x12\x04\xa8\x04\x1f3\n\r\n\x05\x04\n\x02\x14\x03\x12\x04\xa8\x0469\n\x87\x01\n\x03\x04\n\x05\x12\x04\xac\x04\x02\x19\x1az Clients can define custom options in extensions of this message.\n See the documentation for the \"Options\" section above.\n\n\x0c\n\x04\x04\n\x05\x00\x12\x04\xac\x04\r\x18\n\r\n\x05\x04\n\x05\x00\x01\x12\x04\xac\x04\r\x11\n\r\n\x05\x04\n\x05\x00\x02\x12\x04\xac\x04\x15\x18\n\x0b\n\x03\x04\n\t\x12\x04\xae\x04\x02\x0e\n\x0c\n\x04\x04\n\t\x01\x12\x04\xae\x04\x0b\r\n\r\n\x05\x04\n\t\x01\x01\x12\x04\xae\x04\x0b\r\n\r\n\x05\x04\n\t\x01\x02\x12\x04\xae\x04\x0b\r\n\x0c\n\x02\x04\x0b\x12\x06\xb1\x04\x00\x81\x05\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xb1\x04\x08\x16\n\xd8\x05\n\x04\x04\x0b\x02\x00\x12\x04\xc4\x04\x02>\x1a\xc9\x05 Set true to use the old proto1 MessageSet wire format for extensions.\n This is provided for backwards-compatibility with the MessageSet wire\n format. You should not use this for any other reason: It\'s less\n efficient, has fewer features, and is more complicated.\n\n The message must be defined exactly as follows:\n message Foo {\n option message_set_wire_format = true;\n extensions 4 to max;\n }\n Note that the message cannot have any defined fields; MessageSets only\n have extensions.\n\n All extensions of your type must be singular messages; e.g. they cannot\n be int32s, enums, or repeated messages.\n\n Because this is an option, the above two restrictions are not enforced by\n the protocol compiler.\n\n\r\n\x05\x04\x0b\x02\x00\x04\x12\x04\xc4\x04\x02\n\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\xc4\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xc4\x04\x10\'\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xc4\x04*+\n\r\n\x05\x04\x0b\x02\x00\x08\x12\x04\xc4\x04,=\n\r\n\x05\x04\x0b\x02\x00\x07\x12\x04\xc4\x047<\n\xeb\x01\n\x04\x04\x0b\x02\x01\x12\x04\xc9\x04\x02F\x1a\xdc\x01 Disables the generation of the standard \"descriptor()\" accessor, which can\n conflict with a field of the same name. This is meant to make migration\n from proto1 easier; new code should avoid fields named \"descriptor\".\n\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xc9\x04\x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xc9\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xc9\x04\x10/\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xc9\x0423\n\r\n\x05\x04\x0b\x02\x01\x08\x12\x04\xc9\x044E\n\r\n\x05\x04\x0b\x02\x01\x07\x12\x04\xc9\x04?D\n\xee\x01\n\x04\x04\x0b\x02\x02\x12\x04\xcf\x04\x021\x1a\xdf\x01 Is this message deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the message, or it will be completely ignored; in the very least,\n this is a formalization for deprecating messages.\n\n\r\n\x05\x04\x0b\x02\x02\x04\x12\x04\xcf\x04\x02\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xcf\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xcf\x04\x10\x1a\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xcf\x04\x1d\x1e\n\r\n\x05\x04\x0b\x02\x02\x08\x12\x04\xcf\x04\x1f0\n\r\n\x05\x04\x0b\x02\x02\x07\x12\x04\xcf\x04*/\n\x0b\n\x03\x04\x0b\t\x12\x04\xd1\x04\x02\x13\n\x0c\n\x04\x04\x0b\t\x00\x12\x04\xd1\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x00\x01\x12\x04\xd1\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x00\x02\x12\x04\xd1\x04\x0b\x0c\n\x0c\n\x04\x04\x0b\t\x01\x12\x04\xd1\x04\x0e\x0f\n\r\n\x05\x04\x0b\t\x01\x01\x12\x04\xd1\x04\x0e\x0f\n\r\n\x05\x04\x0b\t\x01\x02\x12\x04\xd1\x04\x0e\x0f\n\x0c\n\x04\x04\x0b\t\x02\x12\x04\xd1\x04\x11\x12\n\r\n\x05\x04\x0b\t\x02\x01\x12\x04\xd1\x04\x11\x12\n\r\n\x05\x04\x0b\t\x02\x02\x12\x04\xd1\x04\x11\x12\n\xa0\x06\n\x04\x04\x0b\x02\x03\x12\x04\xe8\x04\x02\x1e\x1a\x91\x06 Whether the message is an automatically generated map entry type for the\n maps field.\n\n For maps fields:\n map<KeyType, ValueType> map_field = 1;\n The parsed descriptor looks like:\n message MapFieldEntry {\n option map_entry = true;\n optional KeyType key = 1;\n optional ValueType value = 2;\n }\n repeated MapFieldEntry map_field = 1;\n\n Implementations may choose not to generate the map_entry=true message, but\n use a native map in the target language to hold the keys and values.\n The reflection APIs in such implementations still need to work as\n if the field is a repeated message field.\n\n NOTE: Do not set the option in .proto files. Always use the maps syntax\n instead. The option should only be implicitly set by the proto compiler\n parser.\n\n\r\n\x05\x04\x0b\x02\x03\x04\x12\x04\xe8\x04\x02\n\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xe8\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xe8\x04\x10\x19\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\xe8\x04\x1c\x1d\n$\n\x03\x04\x0b\t\x12\x04\xea\x04\x02\r\"\x17 javalite_serializable\n\n\x0c\n\x04\x04\x0b\t\x03\x12\x04\xea\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\x01\x12\x04\xea\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\x02\x12\x04\xea\x04\x0b\x0c\n\x1f\n\x03\x04\x0b\t\x12\x04\xeb\x04\x02\r\"\x12 javanano_as_lite\n\n\x0c\n\x04\x04\x0b\t\x04\x12\x04\xeb\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x04\x01\x12\x04\xeb\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x04\x02\x12\x04\xeb\x04\x0b\x0c\n\xdd\x03\n\x04\x04\x0b\x02\x04\x12\x04\xf7\x04\x02P\x1a\xce\x03 Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n\n This should only be used as a temporary measure against broken builds due\n to the change in behavior for JSON field name conflicts.\n\n TODO This is legacy behavior we plan to remove once downstream\n teams have had time to migrate.\n\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\xf7\x04\x02\n\n\r\n\x05\x04\x0b\x02\x04\x05\x12\x04\xf7\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\xf7\x04\x106\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\xf7\x049;\n\r\n\x05\x04\x0b\x02\x04\x08\x12\x04\xf7\x04<O\n\x0e\n\x06\x04\x0b\x02\x04\x08\x03\x12\x04\xf7\x04=N\n=\n\x04\x04\x0b\x02\x05\x12\x04\xfa\x04\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0b\x02\x05\x04\x12\x04\xfa\x04\x02\n\n\r\n\x05\x04\x0b\x02\x05\x06\x12\x04\xfa\x04\x0b\x15\n\r\n\x05\x04\x0b\x02\x05\x01\x12\x04\xfa\x04\x16\x1e\n\r\n\x05\x04\x0b\x02\x05\x03\x12\x04\xfa\x04!#\nO\n\x04\x04\x0b\x02\x06\x12\x04\xfd\x04\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0b\x02\x06\x04\x12\x04\xfd\x04\x02\n\n\r\n\x05\x04\x0b\x02\x06\x06\x12\x04\xfd\x04\x0b\x1e\n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\xfd\x04\x1f3\n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\xfd\x0469\nZ\n\x03\x04\x0b\x05\x12\x04\x80\x05\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0b\x05\x00\x12\x04\x80\x05\r\x18\n\r\n\x05\x04\x0b\x05\x00\x01\x12\x04\x80\x05\r\x11\n\r\n\x05\x04\x0b\x05\x00\x02\x12\x04\x80\x05\x15\x18\n\x0c\n\x02\x04\x0c\x12\x06\x83\x05\x00\xa6\x06\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\x83\x05\x08\x14\n\xc2\x03\n\x04\x04\x0c\x02\x00\x12\x04\x8b\x05\x02E\x1a\xb3\x03 NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.\n The ctype option instructs the C++ code generator to use a different\n representation of the field than it normally would. See the specific\n options below. This option is only implemented to support use of\n [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of\n type \"bytes\" in the open source release.\n TODO: make ctype actually deprecated.\n\n\r\n\x05\x04\x0c\x02\x00\x04\x12\x04\x8b\x05\x02\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\x8b\x05\x0b\x10\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x8b\x05\x11\x16\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x8b\x05\x19\x1a\n\r\n\x05\x04\x0c\x02\x00\x08\x12\x04\x8b\x05\x1bD\n\r\n\x05\x04\x0c\x02\x00\x07\x12\x04\x8b\x05=C\n\x0e\n\x04\x04\x0c\x04\x00\x12\x06\x8c\x05\x02\x99\x05\x03\n\r\n\x05\x04\x0c\x04\x00\x01\x12\x04\x8c\x05\x07\x0c\n\x1f\n\x06\x04\x0c\x04\x00\x02\x00\x12\x04\x8e\x05\x04\x0f\x1a\x0f Default mode.\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x01\x12\x04\x8e\x05\x04\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x02\x12\x04\x8e\x05\r\x0e\n\x96\x03\n\x06\x04\x0c\x04\x00\x02\x01\x12\x04\x96\x05\x04\r\x1a\x85\x03 The option [ctype=CORD] may be applied to a non-repeated field of type\n \"bytes\". It indicates that in C++, the data should be stored in a Cord\n instead of a string. For very large strings, this may reduce memory\n fragmentation. It may also allow better performance when parsing from a\n Cord, or when parsing with aliasing enabled, as the parsed Cord may then\n alias the original buffer.\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x01\x12\x04\x96\x05\x04\x08\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x02\x12\x04\x96\x05\x0b\x0c\n\x0e\n\x06\x04\x0c\x04\x00\x02\x02\x12\x04\x98\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x01\x12\x04\x98\x05\x04\x10\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x02\x12\x04\x98\x05\x13\x14\n\xd3\x03\n\x04\x04\x0c\x02\x01\x12\x04\xa1\x05\x02\x1b\x1a\xc4\x03 The packed option can be enabled for repeated primitive fields to enable\n a more efficient representation on the wire. Rather than repeatedly\n writing the tag and type for each element, the entire array is encoded as\n a single length-delimited blob. In proto3, only explicit setting it to\n false will avoid using packed encoding. This option is prohibited in\n Editions, but the `repeated_field_encoding` feature can be used to control\n the behavior.\n\n\r\n\x05\x04\x0c\x02\x01\x04\x12\x04\xa1\x05\x02\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\xa1\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa1\x05\x10\x16\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xa1\x05\x19\x1a\n\x9a\x05\n\x04\x04\x0c\x02\x02\x12\x04\xae\x05\x023\x1a\x8b\x05 The jstype option determines the JavaScript type used for values of the\n field. The option is permitted only for 64 bit integral and fixed types\n (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING\n is represented as JavaScript string, which avoids loss of precision that\n can happen when a large value is converted to a floating point JavaScript.\n Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n use the JavaScript \"number\" type. The behavior of the default option\n JS_NORMAL is implementation dependent.\n\n This option is an enum to permit additional types to be added, e.g.\n goog.math.Integer.\n\n\r\n\x05\x04\x0c\x02\x02\x04\x12\x04\xae\x05\x02\n\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\xae\x05\x0b\x11\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\xae\x05\x12\x18\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xae\x05\x1b\x1c\n\r\n\x05\x04\x0c\x02\x02\x08\x12\x04\xae\x05\x1d2\n\r\n\x05\x04\x0c\x02\x02\x07\x12\x04\xae\x05(1\n\x0e\n\x04\x04\x0c\x04\x01\x12\x06\xaf\x05\x02\xb8\x05\x03\n\r\n\x05\x04\x0c\x04\x01\x01\x12\x04\xaf\x05\x07\r\n\'\n\x06\x04\x0c\x04\x01\x02\x00\x12\x04\xb1\x05\x04\x12\x1a\x17 Use the default type.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x00\x01\x12\x04\xb1\x05\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x00\x02\x12\x04\xb1\x05\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x01\x12\x04\xb4\x05\x04\x12\x1a\x19 Use JavaScript strings.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x01\x01\x12\x04\xb4\x05\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x01\x02\x12\x04\xb4\x05\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x02\x12\x04\xb7\x05\x04\x12\x1a\x19 Use JavaScript numbers.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x01\x12\x04\xb7\x05\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x02\x12\x04\xb7\x05\x10\x11\n\x99\n\n\x04\x04\x0c\x02\x03\x12\x04\xd0\x05\x02+\x1a\x8a\n Should this field be parsed lazily? Lazy applies only to message-type\n fields. It means that when the outer message is initially parsed, the\n inner message\'s contents will not be parsed but instead stored in encoded\n form. The inner message will actually be parsed when it is first accessed.\n\n This is only a hint. Implementations are free to choose whether to use\n eager or lazy parsing regardless of the value of this option. However,\n setting this option true suggests that the protocol author believes that\n using lazy parsing on this field is worth the additional bookkeeping\n overhead typically needed to implement it.\n\n This option does not affect the public interface of any generated code;\n all method signatures remain the same. Furthermore, thread-safety of the\n interface is not affected by this option; const methods remain safe to\n call from multiple threads concurrently, while non-const methods continue\n to require exclusive access.\n\n Note that lazy message fields are still eagerly verified to check\n ill-formed wireformat or missing required fields. Calling IsInitialized()\n on the outer message would fail if the inner message has missing required\n fields. Failed verification would result in parsing failure (except when\n uninitialized messages are acceptable).\n\n\r\n\x05\x04\x0c\x02\x03\x04\x12\x04\xd0\x05\x02\n\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\xd0\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xd0\x05\x10\x14\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xd0\x05\x17\x18\n\r\n\x05\x04\x0c\x02\x03\x08\x12\x04\xd0\x05\x19*\n\r\n\x05\x04\x0c\x02\x03\x07\x12\x04\xd0\x05$)\n\xaf\x01\n\x04\x04\x0c\x02\x04\x12\x04\xd5\x05\x027\x1a\xa0\x01 unverified_lazy does no correctness checks on the byte stream. This should\n only be used where lazy with verification is prohibitive for performance\n reasons.\n\n\r\n\x05\x04\x0c\x02\x04\x04\x12\x04\xd5\x05\x02\n\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\xd5\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xd5\x05\x10\x1f\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xd5\x05\"$\n\r\n\x05\x04\x0c\x02\x04\x08\x12\x04\xd5\x05%6\n\r\n\x05\x04\x0c\x02\x04\x07\x12\x04\xd5\x0505\n\xe8\x01\n\x04\x04\x0c\x02\x05\x12\x04\xdb\x05\x021\x1a\xd9\x01 Is this field deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for accessors, or it will be completely ignored; in the very least, this\n is a formalization for deprecating fields.\n\n\r\n\x05\x04\x0c\x02\x05\x04\x12\x04\xdb\x05\x02\n\n\r\n\x05\x04\x0c\x02\x05\x05\x12\x04\xdb\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xdb\x05\x10\x1a\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xdb\x05\x1d\x1e\n\r\n\x05\x04\x0c\x02\x05\x08\x12\x04\xdb\x05\x1f0\n\r\n\x05\x04\x0c\x02\x05\x07\x12\x04\xdb\x05*/\n?\n\x04\x04\x0c\x02\x06\x12\x04\xde\x05\x02,\x1a1 For Google-internal migration only. Do not use.\n\n\r\n\x05\x04\x0c\x02\x06\x04\x12\x04\xde\x05\x02\n\n\r\n\x05\x04\x0c\x02\x06\x05\x12\x04\xde\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x06\x01\x12\x04\xde\x05\x10\x14\n\r\n\x05\x04\x0c\x02\x06\x03\x12\x04\xde\x05\x17\x19\n\r\n\x05\x04\x0c\x02\x06\x08\x12\x04\xde\x05\x1a+\n\r\n\x05\x04\x0c\x02\x06\x07\x12\x04\xde\x05%*\n\x97\x01\n\x04\x04\x0c\x02\x07\x12\x04\xe2\x05\x024\x1a\x88\x01 Indicate that the field value should not be printed out when using debug\n formats, e.g. when the field contains sensitive credentials.\n\n\r\n\x05\x04\x0c\x02\x07\x04\x12\x04\xe2\x05\x02\n\n\r\n\x05\x04\x0c\x02\x07\x05\x12\x04\xe2\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x07\x01\x12\x04\xe2\x05\x10\x1c\n\r\n\x05\x04\x0c\x02\x07\x03\x12\x04\xe2\x05\x1f!\n\r\n\x05\x04\x0c\x02\x07\x08\x12\x04\xe2\x05\"3\n\r\n\x05\x04\x0c\x02\x07\x07\x12\x04\xe2\x05-2\nY\n\x04\x04\x0c\x04\x02\x12\x06\xe5\x05\x02\xe9\x05\x03\x1aI If set to RETENTION_SOURCE, the option will be omitted from the binary.\n\n\r\n\x05\x04\x0c\x04\x02\x01\x12\x04\xe5\x05\x07\x16\n\x0e\n\x06\x04\x0c\x04\x02\x02\x00\x12\x04\xe6\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x02\x02\x00\x01\x12\x04\xe6\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x02\x02\x00\x02\x12\x04\xe6\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x02\x02\x01\x12\x04\xe7\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x02\x02\x01\x01\x12\x04\xe7\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x02\x02\x01\x02\x12\x04\xe7\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x02\x02\x02\x12\x04\xe8\x05\x04\x19\n\x0f\n\x07\x04\x0c\x04\x02\x02\x02\x01\x12\x04\xe8\x05\x04\x14\n\x0f\n\x07\x04\x0c\x04\x02\x02\x02\x02\x12\x04\xe8\x05\x17\x18\n\x0c\n\x04\x04\x0c\x02\x08\x12\x04\xeb\x05\x02*\n\r\n\x05\x04\x0c\x02\x08\x04\x12\x04\xeb\x05\x02\n\n\r\n\x05\x04\x0c\x02\x08\x06\x12\x04\xeb\x05\x0b\x1a\n\r\n\x05\x04\x0c\x02\x08\x01\x12\x04\xeb\x05\x1b$\n\r\n\x05\x04\x0c\x02\x08\x03\x12\x04\xeb\x05\')\n\xc3\x01\n\x04\x04\x0c\x04\x03\x12\x06\xf0\x05\x02\xfb\x05\x03\x1a\xb2\x01 This indicates the types of entities that the field may apply to when used\n as an option. If it is unset, then the field may be freely used as an\n option on any kind of entity.\n\n\r\n\x05\x04\x0c\x04\x03\x01\x12\x04\xf0\x05\x07\x17\n\x0e\n\x06\x04\x0c\x04\x03\x02\x00\x12\x04\xf1\x05\x04\x1c\n\x0f\n\x07\x04\x0c\x04\x03\x02\x00\x01\x12\x04\xf1\x05\x04\x17\n\x0f\n\x07\x04\x0c\x04\x03\x02\x00\x02\x12\x04\xf1\x05\x1a\x1b\n\x0e\n\x06\x04\x0c\x04\x03\x02\x01\x12\x04\xf2\x05\x04\x19\n\x0f\n\x07\x04\x0c\x04\x03\x02\x01\x01\x12\x04\xf2\x05\x04\x14\n\x0f\n\x07\x04\x0c\x04\x03\x02\x01\x02\x12\x04\xf2\x05\x17\x18\n\x0e\n\x06\x04\x0c\x04\x03\x02\x02\x12\x04\xf3\x05\x04$\n\x0f\n\x07\x04\x0c\x04\x03\x02\x02\x01\x12\x04\xf3\x05\x04\x1f\n\x0f\n\x07\x04\x0c\x04\x03\x02\x02\x02\x12\x04\xf3\x05\"#\n\x0e\n\x06\x04\x0c\x04\x03\x02\x03\x12\x04\xf4\x05\x04\x1c\n\x0f\n\x07\x04\x0c\x04\x03\x02\x03\x01\x12\x04\xf4\x05\x04\x17\n\x0f\n\x07\x04\x0c\x04\x03\x02\x03\x02\x12\x04\xf4\x05\x1a\x1b\n\x0e\n\x06\x04\x0c\x04\x03\x02\x04\x12\x04\xf5\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x03\x02\x04\x01\x12\x04\xf5\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x03\x02\x04\x02\x12\x04\xf5\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x03\x02\x05\x12\x04\xf6\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x03\x02\x05\x01\x12\x04\xf6\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x03\x02\x05\x02\x12\x04\xf6\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x03\x02\x06\x12\x04\xf7\x05\x04\x19\n\x0f\n\x07\x04\x0c\x04\x03\x02\x06\x01\x12\x04\xf7\x05\x04\x14\n\x0f\n\x07\x04\x0c\x04\x03\x02\x06\x02\x12\x04\xf7\x05\x17\x18\n\x0e\n\x06\x04\x0c\x04\x03\x02\x07\x12\x04\xf8\x05\x04\x1f\n\x0f\n\x07\x04\x0c\x04\x03\x02\x07\x01\x12\x04\xf8\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x03\x02\x07\x02\x12\x04\xf8\x05\x1d\x1e\n\x0e\n\x06\x04\x0c\x04\x03\x02\x08\x12\x04\xf9\x05\x04\x1c\n\x0f\n\x07\x04\x0c\x04\x03\x02\x08\x01\x12\x04\xf9\x05\x04\x17\n\x0f\n\x07\x04\x0c\x04\x03\x02\x08\x02\x12\x04\xf9\x05\x1a\x1b\n\x0e\n\x06\x04\x0c\x04\x03\x02\t\x12\x04\xfa\x05\x04\x1b\n\x0f\n\x07\x04\x0c\x04\x03\x02\t\x01\x12\x04\xfa\x05\x04\x16\n\x0f\n\x07\x04\x0c\x04\x03\x02\t\x02\x12\x04\xfa\x05\x19\x1a\n\x0c\n\x04\x04\x0c\x02\t\x12\x04\xfd\x05\x02)\n\r\n\x05\x04\x0c\x02\t\x04\x12\x04\xfd\x05\x02\n\n\r\n\x05\x04\x0c\x02\t\x06\x12\x04\xfd\x05\x0b\x1b\n\r\n\x05\x04\x0c\x02\t\x01\x12\x04\xfd\x05\x1c#\n\r\n\x05\x04\x0c\x02\t\x03\x12\x04\xfd\x05&(\n\x0e\n\x04\x04\x0c\x03\x00\x12\x06\xff\x05\x02\x82\x06\x03\n\r\n\x05\x04\x0c\x03\x00\x01\x12\x04\xff\x05\n\x18\n\x0e\n\x06\x04\x0c\x03\x00\x02\x00\x12\x04\x80\x06\x04!\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x04\x12\x04\x80\x06\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x06\x12\x04\x80\x06\r\x14\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x01\x12\x04\x80\x06\x15\x1c\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x03\x12\x04\x80\x06\x1f \n\"\n\x06\x04\x0c\x03\x00\x02\x01\x12\x04\x81\x06\x04\x1e\"\x12 Textproto value.\n\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x04\x12\x04\x81\x06\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x05\x12\x04\x81\x06\r\x13\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x01\x12\x04\x81\x06\x14\x19\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x03\x12\x04\x81\x06\x1c\x1d\n\x0c\n\x04\x04\x0c\x02\n\x12\x04\x83\x06\x020\n\r\n\x05\x04\x0c\x02\n\x04\x12\x04\x83\x06\x02\n\n\r\n\x05\x04\x0c\x02\n\x06\x12\x04\x83\x06\x0b\x19\n\r\n\x05\x04\x0c\x02\n\x01\x12\x04\x83\x06\x1a*\n\r\n\x05\x04\x0c\x02\n\x03\x12\x04\x83\x06-/\n=\n\x04\x04\x0c\x02\x0b\x12\x04\x86\x06\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0c\x02\x0b\x04\x12\x04\x86\x06\x02\n\n\r\n\x05\x04\x0c\x02\x0b\x06\x12\x04\x86\x06\x0b\x15\n\r\n\x05\x04\x0c\x02\x0b\x01\x12\x04\x86\x06\x16\x1e\n\r\n\x05\x04\x0c\x02\x0b\x03\x12\x04\x86\x06!#\nD\n\x04\x04\x0c\x03\x01\x12\x06\x89\x06\x02\x9b\x06\x03\x1a4 Information about the support window of a feature.\n\n\r\n\x05\x04\x0c\x03\x01\x01\x12\x04\x89\x06\n\x18\n\xd4\x01\n\x06\x04\x0c\x03\x01\x02\x00\x12\x04\x8d\x06\x04,\x1a\xc3\x01 The edition that this feature was first available in. In editions\n earlier than this one, the default assigned to EDITION_LEGACY will be\n used, and proto files will not be able to override it.\n\n\x0f\n\x07\x04\x0c\x03\x01\x02\x00\x04\x12\x04\x8d\x06\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x01\x02\x00\x06\x12\x04\x8d\x06\r\x14\n\x0f\n\x07\x04\x0c\x03\x01\x02\x00\x01\x12\x04\x8d\x06\x15\'\n\x0f\n\x07\x04\x0c\x03\x01\x02\x00\x03\x12\x04\x8d\x06*+\nw\n\x06\x04\x0c\x03\x01\x02\x01\x12\x04\x91\x06\x04,\x1ag The edition this feature becomes deprecated in. Using this after this\n edition may trigger warnings.\n\n\x0f\n\x07\x04\x0c\x03\x01\x02\x01\x04\x12\x04\x91\x06\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x01\x02\x01\x06\x12\x04\x91\x06\r\x14\n\x0f\n\x07\x04\x0c\x03\x01\x02\x01\x01\x12\x04\x91\x06\x15\'\n\x0f\n\x07\x04\x0c\x03\x01\x02\x01\x03\x12\x04\x91\x06*+\nv\n\x06\x04\x0c\x03\x01\x02\x02\x12\x04\x95\x06\x04,\x1af The deprecation warning text if this feature is used after the edition it\n was marked deprecated in.\n\n\x0f\n\x07\x04\x0c\x03\x01\x02\x02\x04\x12\x04\x95\x06\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x01\x02\x02\x05\x12\x04\x95\x06\r\x13\n\x0f\n\x07\x04\x0c\x03\x01\x02\x02\x01\x12\x04\x95\x06\x14\'\n\x0f\n\x07\x04\x0c\x03\x01\x02\x02\x03\x12\x04\x95\x06*+\n\xbe\x01\n\x06\x04\x0c\x03\x01\x02\x03\x12\x04\x9a\x06\x04)\x1a\xad\x01 The edition this feature is no longer available in. In editions after\n this one, the last default assigned will be used, and proto files will\n not be able to override it.\n\n\x0f\n\x07\x04\x0c\x03\x01\x02\x03\x04\x12\x04\x9a\x06\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x01\x02\x03\x06\x12\x04\x9a\x06\r\x14\n\x0f\n\x07\x04\x0c\x03\x01\x02\x03\x01\x12\x04\x9a\x06\x15$\n\x0f\n\x07\x04\x0c\x03\x01\x02\x03\x03\x12\x04\x9a\x06\'(\n\x0c\n\x04\x04\x0c\x02\x0c\x12\x04\x9c\x06\x02/\n\r\n\x05\x04\x0c\x02\x0c\x04\x12\x04\x9c\x06\x02\n\n\r\n\x05\x04\x0c\x02\x0c\x06\x12\x04\x9c\x06\x0b\x19\n\r\n\x05\x04\x0c\x02\x0c\x01\x12\x04\x9c\x06\x1a)\n\r\n\x05\x04\x0c\x02\x0c\x03\x12\x04\x9c\x06,.\nO\n\x04\x04\x0c\x02\r\x12\x04\x9f\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0c\x02\r\x04\x12\x04\x9f\x06\x02\n\n\r\n\x05\x04\x0c\x02\r\x06\x12\x04\x9f\x06\x0b\x1e\n\r\n\x05\x04\x0c\x02\r\x01\x12\x04\x9f\x06\x1f3\n\r\n\x05\x04\x0c\x02\r\x03\x12\x04\x9f\x0669\nZ\n\x03\x04\x0c\x05\x12\x04\xa2\x06\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0c\x05\x00\x12\x04\xa2\x06\r\x18\n\r\n\x05\x04\x0c\x05\x00\x01\x12\x04\xa2\x06\r\x11\n\r\n\x05\x04\x0c\x05\x00\x02\x12\x04\xa2\x06\x15\x18\n\x1c\n\x03\x04\x0c\t\x12\x04\xa4\x06\x02\r\"\x0f removed jtype\n\n\x0c\n\x04\x04\x0c\t\x00\x12\x04\xa4\x06\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x01\x12\x04\xa4\x06\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x02\x12\x04\xa4\x06\x0b\x0c\n9\n\x03\x04\x0c\t\x12\x04\xa5\x06\x02\x0e\", reserve target, target_obsolete_do_not_use\n\n\x0c\n\x04\x04\x0c\t\x01\x12\x04\xa5\x06\x0b\r\n\r\n\x05\x04\x0c\t\x01\x01\x12\x04\xa5\x06\x0b\r\n\r\n\x05\x04\x0c\t\x01\x02\x12\x04\xa5\x06\x0b\r\n\x0c\n\x02\x04\r\x12\x06\xa8\x06\x00\xb1\x06\x01\n\x0b\n\x03\x04\r\x01\x12\x04\xa8\x06\x08\x14\n=\n\x04\x04\r\x02\x00\x12\x04\xaa\x06\x02#\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\r\x02\x00\x04\x12\x04\xaa\x06\x02\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xaa\x06\x0b\x15\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xaa\x06\x16\x1e\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xaa\x06!\"\nO\n\x04\x04\r\x02\x01\x12\x04\xad\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\r\x02\x01\x04\x12\x04\xad\x06\x02\n\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\xad\x06\x0b\x1e\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xad\x06\x1f3\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xad\x0669\nZ\n\x03\x04\r\x05\x12\x04\xb0\x06\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\r\x05\x00\x12\x04\xb0\x06\r\x18\n\r\n\x05\x04\r\x05\x00\x01\x12\x04\xb0\x06\r\x11\n\r\n\x05\x04\r\x05\x00\x02\x12\x04\xb0\x06\x15\x18\n\x0c\n\x02\x04\x0e\x12\x06\xb3\x06\x00\xd1\x06\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\xb3\x06\x08\x13\n`\n\x04\x04\x0e\x02\x00\x12\x04\xb7\x06\x02 \x1aR Set this option to true to allow mapping different tag names to the same\n value.\n\n\r\n\x05\x04\x0e\x02\x00\x04\x12\x04\xb7\x06\x02\n\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\xb7\x06\x0b\x0f\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xb7\x06\x10\x1b\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xb7\x06\x1e\x1f\n\xe5\x01\n\x04\x04\x0e\x02\x01\x12\x04\xbd\x06\x021\x1a\xd6\x01 Is this enum deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum, or it will be completely ignored; in the very least, this\n is a formalization for deprecating enums.\n\n\r\n\x05\x04\x0e\x02\x01\x04\x12\x04\xbd\x06\x02\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xbd\x06\x0b\x0f\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xbd\x06\x10\x1a\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xbd\x06\x1d\x1e\n\r\n\x05\x04\x0e\x02\x01\x08\x12\x04\xbd\x06\x1f0\n\r\n\x05\x04\x0e\x02\x01\x07\x12\x04\xbd\x06*/\n\x1f\n\x03\x04\x0e\t\x12\x04\xbf\x06\x02\r\"\x12 javanano_as_lite\n\n\x0c\n\x04\x04\x0e\t\x00\x12\x04\xbf\x06\x0b\x0c\n\r\n\x05\x04\x0e\t\x00\x01\x12\x04\xbf\x06\x0b\x0c\n\r\n\x05\x04\x0e\t\x00\x02\x12\x04\xbf\x06\x0b\x0c\n\xc8\x02\n\x04\x04\x0e\x02\x02\x12\x04\xc7\x06\x02O\x1a\xb9\x02 Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n TODO Remove this legacy behavior once downstream teams have\n had time to migrate.\n\n\r\n\x05\x04\x0e\x02\x02\x04\x12\x04\xc7\x06\x02\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xc7\x06\x0b\x0f\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xc7\x06\x106\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xc7\x069:\n\r\n\x05\x04\x0e\x02\x02\x08\x12\x04\xc7\x06;N\n\x0e\n\x06\x04\x0e\x02\x02\x08\x03\x12\x04\xc7\x06<M\n=\n\x04\x04\x0e\x02\x03\x12\x04\xca\x06\x02#\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0e\x02\x03\x04\x12\x04\xca\x06\x02\n\n\r\n\x05\x04\x0e\x02\x03\x06\x12\x04\xca\x06\x0b\x15\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\xca\x06\x16\x1e\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\xca\x06!\"\nO\n\x04\x04\x0e\x02\x04\x12\x04\xcd\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0e\x02\x04\x04\x12\x04\xcd\x06\x02\n\n\r\n\x05\x04\x0e\x02\x04\x06\x12\x04\xcd\x06\x0b\x1e\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xcd\x06\x1f3\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xcd\x0669\nZ\n\x03\x04\x0e\x05\x12\x04\xd0\x06\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0e\x05\x00\x12\x04\xd0\x06\r\x18\n\r\n\x05\x04\x0e\x05\x00\x01\x12\x04\xd0\x06\r\x11\n\r\n\x05\x04\x0e\x05\x00\x02\x12\x04\xd0\x06\x15\x18\n\x0c\n\x02\x04\x0f\x12\x06\xd3\x06\x00\xea\x06\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xd3\x06\x08\x18\n\xf7\x01\n\x04\x04\x0f\x02\x00\x12\x04\xd8\x06\x021\x1a\xe8\x01 Is this enum value deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum value, or it will be completely ignored; in the very least,\n this is a formalization for deprecating enum values.\n\n\r\n\x05\x04\x0f\x02\x00\x04\x12\x04\xd8\x06\x02\n\n\r\n\x05\x04\x0f\x02\x00\x05\x12\x04\xd8\x06\x0b\x0f\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xd8\x06\x10\x1a\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xd8\x06\x1d\x1e\n\r\n\x05\x04\x0f\x02\x00\x08\x12\x04\xd8\x06\x1f0\n\r\n\x05\x04\x0f\x02\x00\x07\x12\x04\xd8\x06*/\n=\n\x04\x04\x0f\x02\x01\x12\x04\xdb\x06\x02#\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0f\x02\x01\x04\x12\x04\xdb\x06\x02\n\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xdb\x06\x0b\x15\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xdb\x06\x16\x1e\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xdb\x06!\"\n\xae\x01\n\x04\x04\x0f\x02\x02\x12\x04\xe0\x06\x023\x1a\x9f\x01 Indicate that fields annotated with this enum value should not be printed\n out when using debug formats, e.g. when the field contains sensitive\n credentials.\n\n\r\n\x05\x04\x0f\x02\x02\x04\x12\x04\xe0\x06\x02\n\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\xe0\x06\x0b\x0f\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xe0\x06\x10\x1c\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xe0\x06\x1f \n\r\n\x05\x04\x0f\x02\x02\x08\x12\x04\xe0\x06!2\n\r\n\x05\x04\x0f\x02\x02\x07\x12\x04\xe0\x06,1\nH\n\x04\x04\x0f\x02\x03\x12\x04\xe3\x06\x02;\x1a: Information about the support window of a feature value.\n\n\r\n\x05\x04\x0f\x02\x03\x04\x12\x04\xe3\x06\x02\n\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\xe3\x06\x0b&\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xe3\x06\'6\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xe3\x069:\nO\n\x04\x04\x0f\x02\x04\x12\x04\xe6\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0f\x02\x04\x04\x12\x04\xe6\x06\x02\n\n\r\n\x05\x04\x0f\x02\x04\x06\x12\x04\xe6\x06\x0b\x1e\n\r\n\x05\x04\x0f\x02\x04\x01\x12\x04\xe6\x06\x1f3\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\xe6\x0669\nZ\n\x03\x04\x0f\x05\x12\x04\xe9\x06\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0f\x05\x00\x12\x04\xe9\x06\r\x18\n\r\n\x05\x04\x0f\x05\x00\x01\x12\x04\xe9\x06\r\x11\n\r\n\x05\x04\x0f\x05\x00\x02\x12\x04\xe9\x06\x15\x18\n\x0c\n\x02\x04\x10\x12\x06\xec\x06\x00\x81\x07\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xec\x06\x08\x16\n=\n\x04\x04\x10\x02\x00\x12\x04\xef\x06\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x10\x02\x00\x04\x12\x04\xef\x06\x02\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xef\x06\x0b\x15\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xef\x06\x16\x1e\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xef\x06!#\n\xd9\x03\n\x04\x04\x10\x02\x01\x12\x04\xfa\x06\x022\x1a\xdf\x01 Is this service deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the service, or it will be completely ignored; in the very least,\n this is a formalization for deprecating services.\n2\xe8\x01 Note: Field numbers 1 through 32 are reserved for Google\'s internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\xfa\x06\x02\n\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xfa\x06\x0b\x0f\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xfa\x06\x10\x1a\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xfa\x06\x1d\x1f\n\r\n\x05\x04\x10\x02\x01\x08\x12\x04\xfa\x06 1\n\r\n\x05\x04\x10\x02\x01\x07\x12\x04\xfa\x06+0\nO\n\x04\x04\x10\x02\x02\x12\x04\xfd\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x10\x02\x02\x04\x12\x04\xfd\x06\x02\n\n\r\n\x05\x04\x10\x02\x02\x06\x12\x04\xfd\x06\x0b\x1e\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xfd\x06\x1f3\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xfd\x0669\nZ\n\x03\x04\x10\x05\x12\x04\x80\x07\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x10\x05\x00\x12\x04\x80\x07\r\x18\n\r\n\x05\x04\x10\x05\x00\x01\x12\x04\x80\x07\r\x11\n\r\n\x05\x04\x10\x05\x00\x02\x12\x04\x80\x07\x15\x18\n\x0c\n\x02\x04\x11\x12\x06\x83\x07\x00\xa3\x07\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\x83\x07\x08\x15\n\xd6\x03\n\x04\x04\x11\x02\x00\x12\x04\x8e\x07\x022\x1a\xdc\x01 Is this method deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the method, or it will be completely ignored; in the very least,\n this is a formalization for deprecating methods.\n2\xe8\x01 Note: Field numbers 1 through 32 are reserved for Google\'s internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n\n\r\n\x05\x04\x11\x02\x00\x04\x12\x04\x8e\x07\x02\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\x8e\x07\x0b\x0f\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\x8e\x07\x10\x1a\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\x8e\x07\x1d\x1f\n\r\n\x05\x04\x11\x02\x00\x08\x12\x04\x8e\x07 1\n\r\n\x05\x04\x11\x02\x00\x07\x12\x04\x8e\x07+0\n\xf0\x01\n\x04\x04\x11\x04\x00\x12\x06\x93\x07\x02\x97\x07\x03\x1a\xdf\x01 Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n or neither? HTTP based RPC implementation may choose GET verb for safe\n methods, and PUT verb for idempotent methods instead of the default POST.\n\n\r\n\x05\x04\x11\x04\x00\x01\x12\x04\x93\x07\x07\x17\n\x0e\n\x06\x04\x11\x04\x00\x02\x00\x12\x04\x94\x07\x04\x1c\n\x0f\n\x07\x04\x11\x04\x00\x02\x00\x01\x12\x04\x94\x07\x04\x17\n\x0f\n\x07\x04\x11\x04\x00\x02\x00\x02\x12\x04\x94\x07\x1a\x1b\n$\n\x06\x04\x11\x04\x00\x02\x01\x12\x04\x95\x07\x04\x18\"\x14 implies idempotent\n\n\x0f\n\x07\x04\x11\x04\x00\x02\x01\x01\x12\x04\x95\x07\x04\x13\n\x0f\n\x07\x04\x11\x04\x00\x02\x01\x02\x12\x04\x95\x07\x16\x17\n7\n\x06\x04\x11\x04\x00\x02\x02\x12\x04\x96\x07\x04\x13\"\' idempotent, but may have side effects\n\n\x0f\n\x07\x04\x11\x04\x00\x02\x02\x01\x12\x04\x96\x07\x04\x0e\n\x0f\n\x07\x04\x11\x04\x00\x02\x02\x02\x12\x04\x96\x07\x11\x12\n\x0e\n\x04\x04\x11\x02\x01\x12\x06\x98\x07\x02\x99\x07&\n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\x98\x07\x02\n\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\x98\x07\x0b\x1b\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\x98\x07\x1c-\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\x98\x0702\n\r\n\x05\x04\x11\x02\x01\x08\x12\x04\x99\x07\x06%\n\r\n\x05\x04\x11\x02\x01\x07\x12\x04\x99\x07\x11$\n=\n\x04\x04\x11\x02\x02\x12\x04\x9c\x07\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x11\x02\x02\x04\x12\x04\x9c\x07\x02\n\n\r\n\x05\x04\x11\x02\x02\x06\x12\x04\x9c\x07\x0b\x15\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\x9c\x07\x16\x1e\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\x9c\x07!#\nO\n\x04\x04\x11\x02\x03\x12\x04\x9f\x07\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x11\x02\x03\x04\x12\x04\x9f\x07\x02\n\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\x9f\x07\x0b\x1e\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\x9f\x07\x1f3\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\x9f\x0769\nZ\n\x03\x04\x11\x05\x12\x04\xa2\x07\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x11\x05\x00\x12\x04\xa2\x07\r\x18\n\r\n\x05\x04\x11\x05\x00\x01\x12\x04\xa2\x07\r\x11\n\r\n\x05\x04\x11\x05\x00\x02\x12\x04\xa2\x07\x15\x18\n\x8b\x03\n\x02\x04\x12\x12\x06\xab\x07\x00\xbf\x07\x01\x1a\xfc\x02 A message representing a option the parser does not recognize. This only\n appears in options protos created by the compiler::Parser class.\n DescriptorPool resolves these when building Descriptor objects. Therefore,\n options protos in descriptor objects (e.g. returned by Descriptor::options(),\n or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n in them.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xab\x07\x08\x1b\n\xcb\x02\n\x04\x04\x12\x03\x00\x12\x06\xb1\x07\x02\xb4\x07\x03\x1a\xba\x02 The name of the uninterpreted option. Each string represents a segment in\n a dot-separated name. is_extension is true iff a segment represents an\n extension (denoted with parentheses in options specs in .proto files).\n E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"moo\", false] } represents\n \"foo.(bar.baz).moo\".\n\n\r\n\x05\x04\x12\x03\x00\x01\x12\x04\xb1\x07\n\x12\n\x0e\n\x06\x04\x12\x03\x00\x02\x00\x12\x04\xb2\x07\x04\"\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x04\x12\x04\xb2\x07\x04\x0c\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x05\x12\x04\xb2\x07\r\x13\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x01\x12\x04\xb2\x07\x14\x1d\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x03\x12\x04\xb2\x07 !\n\x0e\n\x06\x04\x12\x03\x00\x02\x01\x12\x04\xb3\x07\x04#\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x04\x12\x04\xb3\x07\x04\x0c\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x05\x12\x04\xb3\x07\r\x11\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x01\x12\x04\xb3\x07\x12\x1e\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x03\x12\x04\xb3\x07!\"\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xb5\x07\x02\x1d\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xb5\x07\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xb5\x07\x0b\x13\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xb5\x07\x14\x18\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xb5\x07\x1b\x1c\n\x9c\x01\n\x04\x04\x12\x02\x01\x12\x04\xb9\x07\x02\'\x1a\x8d\x01 The value of the uninterpreted option, in whatever type the tokenizer\n identified it as during parsing. Exactly one of these should be set.\n\n\r\n\x05\x04\x12\x02\x01\x04\x12\x04\xb9\x07\x02\n\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\xb9\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xb9\x07\x12\"\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xb9\x07%&\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\xba\x07\x02)\n\r\n\x05\x04\x12\x02\x02\x04\x12\x04\xba\x07\x02\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xba\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\xba\x07\x12$\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\xba\x07\'(\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xbb\x07\x02(\n\r\n\x05\x04\x12\x02\x03\x04\x12\x04\xbb\x07\x02\n\n\r\n\x05\x04\x12\x02\x03\x05\x12\x04\xbb\x07\x0b\x10\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\xbb\x07\x11#\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\xbb\x07&\'\n\x0c\n\x04\x04\x12\x02\x04\x12\x04\xbc\x07\x02#\n\r\n\x05\x04\x12\x02\x04\x04\x12\x04\xbc\x07\x02\n\n\r\n\x05\x04\x12\x02\x04\x05\x12\x04\xbc\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\xbc\x07\x12\x1e\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\xbc\x07!\"\n\x0c\n\x04\x04\x12\x02\x05\x12\x04\xbd\x07\x02\"\n\r\n\x05\x04\x12\x02\x05\x04\x12\x04\xbd\x07\x02\n\n\r\n\x05\x04\x12\x02\x05\x05\x12\x04\xbd\x07\x0b\x10\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\xbd\x07\x11\x1d\n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\xbd\x07 !\n\x0c\n\x04\x04\x12\x02\x06\x12\x04\xbe\x07\x02&\n\r\n\x05\x04\x12\x02\x06\x04\x12\x04\xbe\x07\x02\n\n\r\n\x05\x04\x12\x02\x06\x05\x12\x04\xbe\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x06\x01\x12\x04\xbe\x07\x12!\n\r\n\x05\x04\x12\x02\x06\x03\x12\x04\xbe\x07$%\n\xdb\x03\n\x02\x04\x13\x12\x06\xca\x07\x00\xc5\x08\x01\x1a\xfb\x02 TODO Enums in C++ gencode (and potentially other languages) are\n not well scoped. This means that each of the feature enums below can clash\n with each other. The short names we\'ve chosen maximize call-site\n readability, but leave us very open to this scenario. A future feature will\n be designed and implemented to handle this, hopefully before we ever hit a\n conflict here.\n2O ===================================================================\n Features\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xca\x07\x08\x12\n\x0e\n\x04\x04\x13\x04\x00\x12\x06\xcb\x07\x02\xd0\x07\x03\n\r\n\x05\x04\x13\x04\x00\x01\x12\x04\xcb\x07\x07\x14\n\x0e\n\x06\x04\x13\x04\x00\x02\x00\x12\x04\xcc\x07\x04\x1f\n\x0f\n\x07\x04\x13\x04\x00\x02\x00\x01\x12\x04\xcc\x07\x04\x1a\n\x0f\n\x07\x04\x13\x04\x00\x02\x00\x02\x12\x04\xcc\x07\x1d\x1e\n\x0e\n\x06\x04\x13\x04\x00\x02\x01\x12\x04\xcd\x07\x04\x11\n\x0f\n\x07\x04\x13\x04\x00\x02\x01\x01\x12\x04\xcd\x07\x04\x0c\n\x0f\n\x07\x04\x13\x04\x00\x02\x01\x02\x12\x04\xcd\x07\x0f\x10\n\x0e\n\x06\x04\x13\x04\x00\x02\x02\x12\x04\xce\x07\x04\x11\n\x0f\n\x07\x04\x13\x04\x00\x02\x02\x01\x12\x04\xce\x07\x04\x0c\n\x0f\n\x07\x04\x13\x04\x00\x02\x02\x02\x12\x04\xce\x07\x0f\x10\n\x0e\n\x06\x04\x13\x04\x00\x02\x03\x12\x04\xcf\x07\x04\x18\n\x0f\n\x07\x04\x13\x04\x00\x02\x03\x01\x12\x04\xcf\x07\x04\x13\n\x0f\n\x07\x04\x13\x04\x00\x02\x03\x02\x12\x04\xcf\x07\x16\x17\n\x0e\n\x04\x04\x13\x02\x00\x12\x06\xd1\x07\x02\xdb\x07\x04\n\r\n\x05\x04\x13\x02\x00\x04\x12\x04\xd1\x07\x02\n\n\r\n\x05\x04\x13\x02\x00\x06\x12\x04\xd1\x07\x0b\x18\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xd1\x07\x19\'\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xd1\x07*+\n\x0f\n\x05\x04\x13\x02\x00\x08\x12\x06\xd1\x07,\xdb\x07\x03\n\x0e\n\x06\x04\x13\x02\x00\x08\x11\x12\x04\xd2\x07\x04!\n\x0f\n\x07\x04\x13\x02\x00\x08\x13\x00\x12\x04\xd3\x07\x04\x1f\n\x0f\n\x07\x04\x13\x02\x00\x08\x13\x01\x12\x04\xd4\x07\x04\x1e\n\x10\n\x06\x04\x13\x02\x00\x08\x16\x12\x06\xd5\x07\x04\xd7\x07\x05\n\x0f\n\x07\x04\x13\x02\x00\x08\x14\x00\x12\x04\xd8\x07\x04E\n\x0f\n\x07\x04\x13\x02\x00\x08\x14\x01\x12\x04\xd9\x07\x04E\n\x0f\n\x07\x04\x13\x02\x00\x08\x14\x02\x12\x04\xda\x07\x04C\n\x0e\n\x04\x04\x13\x04\x01\x12\x06\xdd\x07\x02\xe1\x07\x03\n\r\n\x05\x04\x13\x04\x01\x01\x12\x04\xdd\x07\x07\x0f\n\x0e\n\x06\x04\x13\x04\x01\x02\x00\x12\x04\xde\x07\x04\x1a\n\x0f\n\x07\x04\x13\x04\x01\x02\x00\x01\x12\x04\xde\x07\x04\x15\n\x0f\n\x07\x04\x13\x04\x01\x02\x00\x02\x12\x04\xde\x07\x18\x19\n\x0e\n\x06\x04\x13\x04\x01\x02\x01\x12\x04\xdf\x07\x04\r\n\x0f\n\x07\x04\x13\x04\x01\x02\x01\x01\x12\x04\xdf\x07\x04\x08\n\x0f\n\x07\x04\x13\x04\x01\x02\x01\x02\x12\x04\xdf\x07\x0b\x0c\n\x0e\n\x06\x04\x13\x04\x01\x02\x02\x12\x04\xe0\x07\x04\x0f\n\x0f\n\x07\x04\x13\x04\x01\x02\x02\x01\x12\x04\xe0\x07\x04\n\n\x0f\n\x07\x04\x13\x04\x01\x02\x02\x02\x12\x04\xe0\x07\r\x0e\n\x0e\n\x04\x04\x13\x02\x01\x12\x06\xe2\x07\x02\xeb\x07\x04\n\r\n\x05\x04\x13\x02\x01\x04\x12\x04\xe2\x07\x02\n\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\xe2\x07\x0b\x13\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xe2\x07\x14\x1d\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xe2\x07 !\n\x0f\n\x05\x04\x13\x02\x01\x08\x12\x06\xe2\x07\"\xeb\x07\x03\n\x0e\n\x06\x04\x13\x02\x01\x08\x11\x12\x04\xe3\x07\x04!\n\x0f\n\x07\x04\x13\x02\x01\x08\x13\x00\x12\x04\xe4\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x01\x08\x13\x01\x12\x04\xe5\x07\x04\x1e\n\x10\n\x06\x04\x13\x02\x01\x08\x16\x12\x06\xe6\x07\x04\xe8\x07\x05\n\x0f\n\x07\x04\x13\x02\x01\x08\x14\x00\x12\x04\xe9\x07\x04C\n\x0f\n\x07\x04\x13\x02\x01\x08\x14\x01\x12\x04\xea\x07\x04A\n\x0e\n\x04\x04\x13\x04\x02\x12\x06\xed\x07\x02\xf1\x07\x03\n\r\n\x05\x04\x13\x04\x02\x01\x12\x04\xed\x07\x07\x1c\n\x0e\n\x06\x04\x13\x04\x02\x02\x00\x12\x04\xee\x07\x04(\n\x0f\n\x07\x04\x13\x04\x02\x02\x00\x01\x12\x04\xee\x07\x04#\n\x0f\n\x07\x04\x13\x04\x02\x02\x00\x02\x12\x04\xee\x07&\'\n\x0e\n\x06\x04\x13\x04\x02\x02\x01\x12\x04\xef\x07\x04\x0f\n\x0f\n\x07\x04\x13\x04\x02\x02\x01\x01\x12\x04\xef\x07\x04\n\n\x0f\n\x07\x04\x13\x04\x02\x02\x01\x02\x12\x04\xef\x07\r\x0e\n\x0e\n\x06\x04\x13\x04\x02\x02\x02\x12\x04\xf0\x07\x04\x11\n\x0f\n\x07\x04\x13\x04\x02\x02\x02\x01\x12\x04\xf0\x07\x04\x0c\n\x0f\n\x07\x04\x13\x04\x02\x02\x02\x02\x12\x04\xf0\x07\x0f\x10\n\x0e\n\x04\x04\x13\x02\x02\x12\x06\xf2\x07\x02\xfb\x07\x04\n\r\n\x05\x04\x13\x02\x02\x04\x12\x04\xf2\x07\x02\n\n\r\n\x05\x04\x13\x02\x02\x06\x12\x04\xf2\x07\x0b \n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xf2\x07!8\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xf2\x07;<\n\x0f\n\x05\x04\x13\x02\x02\x08\x12\x06\xf2\x07=\xfb\x07\x03\n\x0e\n\x06\x04\x13\x02\x02\x08\x11\x12\x04\xf3\x07\x04!\n\x0f\n\x07\x04\x13\x02\x02\x08\x13\x00\x12\x04\xf4\x07\x04\x1f\n\x0f\n\x07\x04\x13\x02\x02\x08\x13\x01\x12\x04\xf5\x07\x04\x1e\n\x10\n\x06\x04\x13\x02\x02\x08\x16\x12\x06\xf6\x07\x04\xf8\x07\x05\n\x0f\n\x07\x04\x13\x02\x02\x08\x14\x00\x12\x04\xf9\x07\x04E\n\x0f\n\x07\x04\x13\x02\x02\x08\x14\x01\x12\x04\xfa\x07\x04C\n\x0e\n\x04\x04\x13\x04\x03\x12\x06\xfd\x07\x02\x82\x08\x03\n\r\n\x05\x04\x13\x04\x03\x01\x12\x04\xfd\x07\x07\x15\n\x0e\n\x06\x04\x13\x04\x03\x02\x00\x12\x04\xfe\x07\x04 \n\x0f\n\x07\x04\x13\x04\x03\x02\x00\x01\x12\x04\xfe\x07\x04\x1b\n\x0f\n\x07\x04\x13\x04\x03\x02\x00\x02\x12\x04\xfe\x07\x1e\x1f\n\x0e\n\x06\x04\x13\x04\x03\x02\x01\x12\x04\xff\x07\x04\x0f\n\x0f\n\x07\x04\x13\x04\x03\x02\x01\x01\x12\x04\xff\x07\x04\n\n\x0f\n\x07\x04\x13\x04\x03\x02\x01\x02\x12\x04\xff\x07\r\x0e\n\x0e\n\x06\x04\x13\x04\x03\x02\x02\x12\x04\x80\x08\x04\r\n\x0f\n\x07\x04\x13\x04\x03\x02\x02\x01\x12\x04\x80\x08\x04\x08\n\x0f\n\x07\x04\x13\x04\x03\x02\x02\x02\x12\x04\x80\x08\x0b\x0c\n\r\n\x05\x04\x13\x04\x03\x04\x12\x04\x81\x08\x04\x0f\n\x0e\n\x06\x04\x13\x04\x03\x04\x00\x12\x04\x81\x08\r\x0e\n\x0f\n\x07\x04\x13\x04\x03\x04\x00\x01\x12\x04\x81\x08\r\x0e\n\x0f\n\x07\x04\x13\x04\x03\x04\x00\x02\x12\x04\x81\x08\r\x0e\n\x0e\n\x04\x04\x13\x02\x03\x12\x06\x83\x08\x02\x8c\x08\x04\n\r\n\x05\x04\x13\x02\x03\x04\x12\x04\x83\x08\x02\n\n\r\n\x05\x04\x13\x02\x03\x06\x12\x04\x83\x08\x0b\x19\n\r\n\x05\x04\x13\x02\x03\x01\x12\x04\x83\x08\x1a)\n\r\n\x05\x04\x13\x02\x03\x03\x12\x04\x83\x08,-\n\x0f\n\x05\x04\x13\x02\x03\x08\x12\x06\x83\x08.\x8c\x08\x03\n\x0e\n\x06\x04\x13\x02\x03\x08\x11\x12\x04\x84\x08\x04!\n\x0f\n\x07\x04\x13\x02\x03\x08\x13\x00\x12\x04\x85\x08\x04\x1f\n\x0f\n\x07\x04\x13\x02\x03\x08\x13\x01\x12\x04\x86\x08\x04\x1e\n\x10\n\x06\x04\x13\x02\x03\x08\x16\x12\x06\x87\x08\x04\x89\x08\x05\n\x0f\n\x07\x04\x13\x02\x03\x08\x14\x00\x12\x04\x8a\x08\x04A\n\x0f\n\x07\x04\x13\x02\x03\x08\x14\x01\x12\x04\x8b\x08\x04C\n\x0e\n\x04\x04\x13\x04\x04\x12\x06\x8e\x08\x02\x92\x08\x03\n\r\n\x05\x04\x13\x04\x04\x01\x12\x04\x8e\x08\x07\x16\n\x0e\n\x06\x04\x13\x04\x04\x02\x00\x12\x04\x8f\x08\x04!\n\x0f\n\x07\x04\x13\x04\x04\x02\x00\x01\x12\x04\x8f\x08\x04\x1c\n\x0f\n\x07\x04\x13\x04\x04\x02\x00\x02\x12\x04\x8f\x08\x1f \n\x0e\n\x06\x04\x13\x04\x04\x02\x01\x12\x04\x90\x08\x04\x18\n\x0f\n\x07\x04\x13\x04\x04\x02\x01\x01\x12\x04\x90\x08\x04\x13\n\x0f\n\x07\x04\x13\x04\x04\x02\x01\x02\x12\x04\x90\x08\x16\x17\n\x0e\n\x06\x04\x13\x04\x04\x02\x02\x12\x04\x91\x08\x04\x12\n\x0f\n\x07\x04\x13\x04\x04\x02\x02\x01\x12\x04\x91\x08\x04\r\n\x0f\n\x07\x04\x13\x04\x04\x02\x02\x02\x12\x04\x91\x08\x10\x11\n\x0e\n\x04\x04\x13\x02\x04\x12\x06\x93\x08\x02\x9b\x08\x04\n\r\n\x05\x04\x13\x02\x04\x04\x12\x04\x93\x08\x02\n\n\r\n\x05\x04\x13\x02\x04\x06\x12\x04\x93\x08\x0b\x1a\n\r\n\x05\x04\x13\x02\x04\x01\x12\x04\x93\x08\x1b+\n\r\n\x05\x04\x13\x02\x04\x03\x12\x04\x93\x08./\n\x0f\n\x05\x04\x13\x02\x04\x08\x12\x06\x93\x080\x9b\x08\x03\n\x0e\n\x06\x04\x13\x02\x04\x08\x11\x12\x04\x94\x08\x04!\n\x0f\n\x07\x04\x13\x02\x04\x08\x13\x00\x12\x04\x95\x08\x04\x1f\n\x0f\n\x07\x04\x13\x02\x04\x08\x13\x01\x12\x04\x96\x08\x04\x1e\n\x10\n\x06\x04\x13\x02\x04\x08\x16\x12\x06\x97\x08\x04\x99\x08\x05\n\x0f\n\x07\x04\x13\x02\x04\x08\x14\x00\x12\x04\x9a\x08\x04L\n\x0e\n\x04\x04\x13\x04\x05\x12\x06\x9d\x08\x02\xa1\x08\x03\n\r\n\x05\x04\x13\x04\x05\x01\x12\x04\x9d\x08\x07\x11\n\x0e\n\x06\x04\x13\x04\x05\x02\x00\x12\x04\x9e\x08\x04\x1c\n\x0f\n\x07\x04\x13\x04\x05\x02\x00\x01\x12\x04\x9e\x08\x04\x17\n\x0f\n\x07\x04\x13\x04\x05\x02\x00\x02\x12\x04\x9e\x08\x1a\x1b\n\x0e\n\x06\x04\x13\x04\x05\x02\x01\x12\x04\x9f\x08\x04\x0e\n\x0f\n\x07\x04\x13\x04\x05\x02\x01\x01\x12\x04\x9f\x08\x04\t\n\x0f\n\x07\x04\x13\x04\x05\x02\x01\x02\x12\x04\x9f\x08\x0c\r\n\x0e\n\x06\x04\x13\x04\x05\x02\x02\x12\x04\xa0\x08\x04\x1b\n\x0f\n\x07\x04\x13\x04\x05\x02\x02\x01\x12\x04\xa0\x08\x04\x16\n\x0f\n\x07\x04\x13\x04\x05\x02\x02\x02\x12\x04\xa0\x08\x19\x1a\n\x0e\n\x04\x04\x13\x02\x05\x12\x06\xa2\x08\x02\xac\x08\x04\n\r\n\x05\x04\x13\x02\x05\x04\x12\x04\xa2\x08\x02\n\n\r\n\x05\x04\x13\x02\x05\x06\x12\x04\xa2\x08\x0b\x15\n\r\n\x05\x04\x13\x02\x05\x01\x12\x04\xa2\x08\x16!\n\r\n\x05\x04\x13\x02\x05\x03\x12\x04\xa2\x08$%\n\x0f\n\x05\x04\x13\x02\x05\x08\x12\x06\xa2\x08&\xac\x08\x03\n\x0e\n\x06\x04\x13\x02\x05\x08\x11\x12\x04\xa3\x08\x04!\n\x0f\n\x07\x04\x13\x02\x05\x08\x13\x00\x12\x04\xa4\x08\x04!\n\x0f\n\x07\x04\x13\x02\x05\x08\x13\x01\x12\x04\xa5\x08\x04\x1e\n\x0f\n\x07\x04\x13\x02\x05\x08\x13\x02\x12\x04\xa6\x08\x04\x1e\n\x10\n\x06\x04\x13\x02\x05\x08\x16\x12\x06\xa7\x08\x04\xa9\x08\x05\n\x0f\n\x07\x04\x13\x02\x05\x08\x14\x00\x12\x04\xaa\x08\x04O\n\x0f\n\x07\x04\x13\x02\x05\x08\x14\x01\x12\x04\xab\x08\x04B\n\x0b\n\x03\x04\x13\t\x12\x04\xae\x08\x02\x0f\n\x0c\n\x04\x04\x13\t\x00\x12\x04\xae\x08\x0b\x0e\n\r\n\x05\x04\x13\t\x00\x01\x12\x04\xae\x08\x0b\x0e\n\r\n\x05\x04\x13\t\x00\x02\x12\x04\xae\x08\x0b\x0e\n\r\n\x03\x04\x13\x05\x12\x06\xb0\x08\x02\xc1\x08\x04\n\x0c\n\x04\x04\x13\x05\x00\x12\x04\xb0\x08\r\x19\n\r\n\x05\x04\x13\x05\x00\x01\x12\x04\xb0\x08\r\x11\n\r\n\x05\x04\x13\x05\x00\x02\x12\x04\xb0\x08\x15\x19\n#\n\x03\x04\x13\x05\x12\x04\xc3\x08\x02\x1a\"\x16 For internal testing\n\n\x0c\n\x04\x04\x13\x05\x01\x12\x04\xc3\x08\r\x19\n\r\n\x05\x04\x13\x05\x01\x01\x12\x04\xc3\x08\r\x11\n\r\n\x05\x04\x13\x05\x01\x02\x12\x04\xc3\x08\x15\x19\n:\n\x03\x04\x13\x05\x12\x04\xc4\x08\x02\x13\"- for https://github.com/bufbuild/protobuf-es\n\n\x0c\n\x04\x04\x13\x05\x02\x12\x04\xc4\x08\r\x12\n\r\n\x05\x04\x13\x05\x02\x01\x12\x04\xc4\x08\r\x12\n\r\n\x05\x04\x13\x05\x02\x02\x12\x04\xc4\x08\r\x12\n\xac\x02\n\x02\x04\x14\x12\x06\xcb\x08\x00\xe5\x08\x01\x1a\x9d\x02 A compiled specification for the defaults of a set of features. These\n messages are generated from FeatureSet extensions and can be used to seed\n feature resolution. The resolution with this object becomes a simple search\n for the closest matching edition, followed by proto merges.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xcb\x08\x08\x1a\n\xb0\x02\n\x04\x04\x14\x03\x00\x12\x06\xd0\x08\x02\xdb\x08\x03\x1a\x9f\x02 A map from every known edition with a unique set of defaults to its\n defaults. Not all editions may be contained here. For a given edition,\n the defaults at the closest matching edition ordered at or before it should\n be used. This field must be in strict ascending order by edition.\n\n\r\n\x05\x04\x14\x03\x00\x01\x12\x04\xd0\x08\n\"\n\x0e\n\x06\x04\x14\x03\x00\x02\x00\x12\x04\xd1\x08\x04!\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x04\x12\x04\xd1\x08\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x06\x12\x04\xd1\x08\r\x14\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x01\x12\x04\xd1\x08\x15\x1c\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x03\x12\x04\xd1\x08\x1f \nN\n\x06\x04\x14\x03\x00\x02\x01\x12\x04\xd4\x08\x041\x1a> Defaults of features that can be overridden in this edition.\n\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x04\x12\x04\xd4\x08\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x06\x12\x04\xd4\x08\r\x17\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x01\x12\x04\xd4\x08\x18,\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x03\x12\x04\xd4\x08/0\nP\n\x06\x04\x14\x03\x00\x02\x02\x12\x04\xd7\x08\x04+\x1a@ Defaults of features that can\'t be overridden in this edition.\n\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x04\x12\x04\xd7\x08\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x06\x12\x04\xd7\x08\r\x17\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x01\x12\x04\xd7\x08\x18&\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x03\x12\x04\xd7\x08)*\n\r\n\x05\x04\x14\x03\x00\t\x12\x04\xd9\x08\x04\x12\n\x0e\n\x06\x04\x14\x03\x00\t\x00\x12\x04\xd9\x08\r\x0e\n\x0f\n\x07\x04\x14\x03\x00\t\x00\x01\x12\x04\xd9\x08\r\x0e\n\x0f\n\x07\x04\x14\x03\x00\t\x00\x02\x12\x04\xd9\x08\r\x0e\n\x0e\n\x06\x04\x14\x03\x00\t\x01\x12\x04\xd9\x08\x10\x11\n\x0f\n\x07\x04\x14\x03\x00\t\x01\x01\x12\x04\xd9\x08\x10\x11\n\x0f\n\x07\x04\x14\x03\x00\t\x01\x02\x12\x04\xd9\x08\x10\x11\n\r\n\x05\x04\x14\x03\x00\n\x12\x04\xda\x08\x04\x18\n\x0e\n\x06\x04\x14\x03\x00\n\x00\x12\x04\xda\x08\r\x17\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xdc\x08\x021\n\r\n\x05\x04\x14\x02\x00\x04\x12\x04\xdc\x08\x02\n\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xdc\x08\x0b#\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xdc\x08$,\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xdc\x08/0\n\x82\x01\n\x04\x04\x14\x02\x01\x12\x04\xe0\x08\x02\'\x1at The minimum supported edition (inclusive) when this was constructed.\n Editions before this will not have defaults.\n\n\r\n\x05\x04\x14\x02\x01\x04\x12\x04\xe0\x08\x02\n\n\r\n\x05\x04\x14\x02\x01\x06\x12\x04\xe0\x08\x0b\x12\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xe0\x08\x13\"\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xe0\x08%&\n\x86\x01\n\x04\x04\x14\x02\x02\x12\x04\xe4\x08\x02\'\x1ax The maximum known edition (inclusive) when this was constructed. Editions\n after this will not have reliable defaults.\n\n\r\n\x05\x04\x14\x02\x02\x04\x12\x04\xe4\x08\x02\n\n\r\n\x05\x04\x14\x02\x02\x06\x12\x04\xe4\x08\x0b\x12\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xe4\x08\x13\"\n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\xe4\x08%&\n\xda\x01\n\x02\x04\x15\x12\x06\xec\x08\x00\xf4\t\x01\x1aj Encapsulates information about the original source file from which a\n FileDescriptorProto was generated.\n2` ===================================================================\n Optional source code info\n\n\x0b\n\x03\x04\x15\x01\x12\x04\xec\x08\x08\x16\n\x82\x11\n\x04\x04\x15\x02\x00\x12\x04\x98\t\x02!\x1a\xf3\x10 A Location identifies a piece of source code in a .proto file which\n corresponds to a particular definition. This information is intended\n to be useful to IDEs, code indexers, documentation generators, and similar\n tools.\n\n For example, say we have a file like:\n message Foo {\n optional string foo = 1;\n }\n Let\'s look at just the field definition:\n optional string foo = 1;\n ^ ^^ ^^ ^ ^^^\n a bc de f ghi\n We have the following locations:\n span path represents\n [a,i) [ 4, 0, 2, 0 ] The whole field definition.\n [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).\n [c,d) [ 4, 0, 2, 0, 5 ] The type (string).\n [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).\n [g,h) [ 4, 0, 2, 0, 3 ] The number (1).\n\n Notes:\n - A location may refer to a repeated field itself (i.e. not to any\n particular index within it). This is used whenever a set of elements are\n logically enclosed in a single code segment. For example, an entire\n extend block (possibly containing multiple extension definitions) will\n have an outer location whose path refers to the \"extensions\" repeated\n field without an index.\n - Multiple locations may have the same path. This happens when a single\n logical declaration is spread out across multiple places. The most\n obvious example is the \"extend\" block again -- there may be multiple\n extend blocks in the same scope, each of which will have the same path.\n - A location\'s span is not always a subset of its parent\'s span. For\n example, the \"extendee\" of an extension declaration appears at the\n beginning of the \"extend\" block and is shared by all extensions within\n the block.\n - Just because a location\'s span is a subset of some other location\'s span\n does not mean that it is a descendant. For example, a \"group\" defines\n both a type and a field in a single declaration. Thus, the locations\n corresponding to the type and field and their components will overlap.\n - Code which tries to interpret locations should probably be designed to\n ignore those that it doesn\'t understand, as more types of locations could\n be recorded in the future.\n\n\r\n\x05\x04\x15\x02\x00\x04\x12\x04\x98\t\x02\n\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\x98\t\x0b\x13\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\x98\t\x14\x1c\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\x98\t\x1f \n\x0e\n\x04\x04\x15\x03\x00\x12\x06\x99\t\x02\xec\t\x03\n\r\n\x05\x04\x15\x03\x00\x01\x12\x04\x99\t\n\x12\n\x8a\x07\n\x06\x04\x15\x03\x00\x02\x00\x12\x04\xb1\t\x04,\x1a\xf9\x06 Identifies which part of the FileDescriptorProto was defined at this\n location.\n\n Each element is a field number or an index. They form a path from\n the root FileDescriptorProto to the place where the definition appears.\n For example, this path:\n [ 4, 3, 2, 7, 1 ]\n refers to:\n file.message_type(3) // 4, 3\n .field(7) // 2, 7\n .name() // 1\n This is because FileDescriptorProto.message_type has field number 4:\n repeated DescriptorProto message_type = 4;\n and DescriptorProto.field has field number 2:\n repeated FieldDescriptorProto field = 2;\n and FieldDescriptorProto.name has field number 1:\n optional string name = 1;\n\n Thus, the above path gives the location of a field name. If we removed\n the last element:\n [ 4, 3, 2, 7 ]\n this path refers to the whole field declaration (from the beginning\n of the label to the terminating semicolon).\n\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x04\x12\x04\xb1\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x05\x12\x04\xb1\t\r\x12\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x01\x12\x04\xb1\t\x13\x17\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x03\x12\x04\xb1\t\x1a\x1b\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x08\x12\x04\xb1\t\x1c+\n\x10\n\x08\x04\x15\x03\x00\x02\x00\x08\x02\x12\x04\xb1\t\x1d*\n\xd2\x02\n\x06\x04\x15\x03\x00\x02\x01\x12\x04\xb8\t\x04,\x1a\xc1\x02 Always has exactly three or four elements: start line, start column,\n end line (optional, otherwise assumed same as start line), end column.\n These are packed into a single field for efficiency. Note that line\n and column numbers are zero-based -- typically you will want to add\n 1 to each before displaying to a user.\n\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x04\x12\x04\xb8\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x05\x12\x04\xb8\t\r\x12\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x01\x12\x04\xb8\t\x13\x17\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x03\x12\x04\xb8\t\x1a\x1b\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x08\x12\x04\xb8\t\x1c+\n\x10\n\x08\x04\x15\x03\x00\x02\x01\x08\x02\x12\x04\xb8\t\x1d*\n\xa5\x0c\n\x06\x04\x15\x03\x00\x02\x02\x12\x04\xe9\t\x04)\x1a\x94\x0c If this SourceCodeInfo represents a complete declaration, these are any\n comments appearing before and after the declaration which appear to be\n attached to the declaration.\n\n A series of line comments appearing on consecutive lines, with no other\n tokens appearing on those lines, will be treated as a single comment.\n\n leading_detached_comments will keep paragraphs of comments that appear\n before (but not connected to) the current element. Each paragraph,\n separated by empty lines, will be one comment element in the repeated\n field.\n\n Only the comment content is provided; comment markers (e.g. //) are\n stripped out. For block comments, leading whitespace and an asterisk\n will be stripped from the beginning of each line other than the first.\n Newlines are included in the output.\n\n Examples:\n\n optional int32 foo = 1; // Comment attached to foo.\n // Comment attached to bar.\n optional int32 bar = 2;\n\n optional string baz = 3;\n // Comment attached to baz.\n // Another line attached to baz.\n\n // Comment attached to moo.\n //\n // Another line attached to moo.\n optional double moo = 4;\n\n // Detached comment for corge. This is not leading or trailing comments\n // to moo or corge because there are blank lines separating it from\n // both.\n\n // Detached comment for corge paragraph 2.\n\n optional string corge = 5;\n /* Block comment attached\n * to corge. Leading asterisks\n * will be removed. */\n /* Block comment attached to\n * grault. */\n optional int32 grault = 6;\n\n // ignored detached comments.\n\n\x0f\n\x07\x04\x15\x03\x00\x02\x02\x04\x12\x04\xe9\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x02\x05\x12\x04\xe9\t\r\x13\n\x0f\n\x07\x04\x15\x03\x00\x02\x02\x01\x12\x04\xe9\t\x14$\n\x0f\n\x07\x04\x15\x03\x00\x02\x02\x03\x12\x04\xe9\t\'(\n\x0e\n\x06\x04\x15\x03\x00\x02\x03\x12\x04\xea\t\x04*\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x04\x12\x04\xea\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x05\x12\x04\xea\t\r\x13\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x01\x12\x04\xea\t\x14%\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x03\x12\x04\xea\t()\n\x0e\n\x06\x04\x15\x03\x00\x02\x04\x12\x04\xeb\t\x042\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x04\x12\x04\xeb\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x05\x12\x04\xeb\t\r\x13\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x01\x12\x04\xeb\t\x14-\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x03\x12\x04\xeb\t01\n(\n\x03\x04\x15\x05\x12\x06\xef\t\x02\xf3\t\x05\x1a\x19 Extensions for tooling.\n\n\x0c\n\x04\x04\x15\x05\x00\x12\x04\xef\t\r\x16\n\r\n\x05\x04\x15\x05\x00\x01\x12\x04\xef\t\r\x16\n\r\n\x05\x04\x15\x05\x00\x02\x12\x04\xef\t\r\x16\n\xee\x01\n\x02\x04\x16\x12\x06\xf9\t\x00\x9a\n\x01\x1a\xdf\x01 Describes the relationship between generated code and its original source\n file. A GeneratedCodeInfo message is associated with only one generated\n source file, but may contain references to different source .proto files.\n\n\x0b\n\x03\x04\x16\x01\x12\x04\xf9\t\x08\x19\nx\n\x04\x04\x16\x02\x00\x12\x04\xfc\t\x02%\x1aj An Annotation connects some span of text in generated code to an element\n of its generating .proto file.\n\n\r\n\x05\x04\x16\x02\x00\x04\x12\x04\xfc\t\x02\n\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xfc\t\x0b\x15\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xfc\t\x16 \n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xfc\t#$\n\x0e\n\x04\x04\x16\x03\x00\x12\x06\xfd\t\x02\x99\n\x03\n\r\n\x05\x04\x16\x03\x00\x01\x12\x04\xfd\t\n\x14\n\x8f\x01\n\x06\x04\x16\x03\x00\x02\x00\x12\x04\x80\n\x04,\x1a\x7f Identifies the element in the original source .proto file. This field\n is formatted the same as SourceCodeInfo.Location.path.\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x04\x12\x04\x80\n\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x05\x12\x04\x80\n\r\x12\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x01\x12\x04\x80\n\x13\x17\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x03\x12\x04\x80\n\x1a\x1b\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x08\x12\x04\x80\n\x1c+\n\x10\n\x08\x04\x16\x03\x00\x02\x00\x08\x02\x12\x04\x80\n\x1d*\nO\n\x06\x04\x16\x03\x00\x02\x01\x12\x04\x83\n\x04$\x1a? Identifies the filesystem path to the original source .proto.\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x04\x12\x04\x83\n\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x05\x12\x04\x83\n\r\x13\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x01\x12\x04\x83\n\x14\x1f\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x03\x12\x04\x83\n\"#\nw\n\x06\x04\x16\x03\x00\x02\x02\x12\x04\x87\n\x04\x1d\x1ag Identifies the starting offset in bytes in the generated code\n that relates to the identified object.\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x02\x04\x12\x04\x87\n\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x02\x05\x12\x04\x87\n\r\x12\n\x0f\n\x07\x04\x16\x03\x00\x02\x02\x01\x12\x04\x87\n\x13\x18\n\x0f\n\x07\x04\x16\x03\x00\x02\x02\x03\x12\x04\x87\n\x1b\x1c\n\xdb\x01\n\x06\x04\x16\x03\x00\x02\x03\x12\x04\x8c\n\x04\x1b\x1a\xca\x01 Identifies the ending offset in bytes in the generated code that\n relates to the identified object. The end offset should be one past\n the last relevant byte (so the length of the text = end - begin).\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x03\x04\x12\x04\x8c\n\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x03\x05\x12\x04\x8c\n\r\x12\n\x0f\n\x07\x04\x16\x03\x00\x02\x03\x01\x12\x04\x8c\n\x13\x16\n\x0f\n\x07\x04\x16\x03\x00\x02\x03\x03\x12\x04\x8c\n\x19\x1a\nj\n\x06\x04\x16\x03\x00\x04\x00\x12\x06\x90\n\x04\x97\n\x05\x1aX Represents the identified object\'s effect on the element in the original\n .proto file.\n\n\x0f\n\x07\x04\x16\x03\x00\x04\x00\x01\x12\x04\x90\n\t\x11\nF\n\x08\x04\x16\x03\x00\x04\x00\x02\x00\x12\x04\x92\n\x06\x0f\x1a4 There is no effect or the effect is indescribable.\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x00\x01\x12\x04\x92\n\x06\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x00\x02\x12\x04\x92\n\r\x0e\n<\n\x08\x04\x16\x03\x00\x04\x00\x02\x01\x12\x04\x94\n\x06\x0e\x1a* The element is set or otherwise mutated.\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x01\x01\x12\x04\x94\n\x06\t\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x01\x02\x12\x04\x94\n\x0c\r\n8\n\x08\x04\x16\x03\x00\x04\x00\x02\x02\x12\x04\x96\n\x06\x10\x1a& An alias to the element is returned.\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x02\x01\x12\x04\x96\n\x06\x0b\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x02\x02\x12\x04\x96\n\x0e\x0f\n\x0e\n\x06\x04\x16\x03\x00\x02\x04\x12\x04\x98\n\x04#\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x04\x12\x04\x98\n\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x06\x12\x04\x98\n\r\x15\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x01\x12\x04\x98\n\x16\x1e\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x03\x12\x04\x98\n!\"\n\xd4\x08\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:K\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b2\x14.google.api.HttpRuleR\x04httpBn\n\x0ecom.google.apiB\x10AnnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIJ\xa9\x06\n\x06\x12\x04\x0e\x00\x1e\x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\x00\x122\xb1\x04 Copyright 2025 Google LLC\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\x08\n\x01\x02\x12\x03\x10\x00\x13\n\t\n\x02\x03\x00\x12\x03\x12\x00\x1f\n\t\n\x02\x03\x01\x12\x03\x13\x00*\n\x08\n\x01\x08\x12\x03\x15\x00X\n\t\n\x02\x08\x0b\x12\x03\x15\x00X\n\x08\n\x01\x08\x12\x03\x16\x00\"\n\t\n\x02\x08\n\x12\x03\x16\x00\"\n\x08\n\x01\x08\x12\x03\x17\x001\n\t\n\x02\x08\x08\x12\x03\x17\x001\n\x08\n\x01\x08\x12\x03\x18\x00\'\n\t\n\x02\x08\x01\x12\x03\x18\x00\'\n\x08\n\x01\x08\x12\x03\x19\x00\"\n\t\n\x02\x08$\x12\x03\x19\x00\"\n\t\n\x01\x07\x12\x04\x1b\x00\x1e\x01\n\x1c\n\x02\x07\x00\x12\x03\x1d\x02\x1b\x1a\x11 See `HttpRule`.\n\n\n\n\x03\x07\x00\x02\x12\x03\x1b\x07$\n\n\n\x03\x07\x00\x06\x12\x03\x1d\x02\n\n\n\n\x03\x07\x00\x01\x12\x03\x1d\x0b\x0f\n\n\n\x03\x07\x00\x03\x12\x03\x1d\x12\x1ab\x06proto3\n\xfe\"\n\x1cgoogle/protobuf/struct.proto\x12\x0fgoogle.protobuf\"\x98\x01\n\x06Struct\x12;\n\x06fields\x18\x01 \x03(\x0b2#.google.protobuf.Struct.FieldsEntryR\x06fields\x1aQ\n\x0bFieldsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xb2\x02\n\x05Value\x12;\n\nnull_value\x18\x01 \x01(\x0e2\x1a.google.protobuf.NullValueH\x00R\tnullValue\x12#\n\x0cnumber_value\x18\x02 \x01(\x01H\x00R\x0bnumberValue\x12#\n\x0cstring_value\x18\x03 \x01(\tH\x00R\x0bstringValue\x12\x1f\n\nbool_value\x18\x04 \x01(\x08H\x00R\tboolValue\x12<\n\x0cstruct_value\x18\x05 \x01(\x0b2\x17.google.protobuf.StructH\x00R\x0bstructValue\x12;\n\nlist_value\x18\x06 \x01(\x0b2\x1a.google.protobuf.ListValueH\x00R\tlistValueB\x06\n\x04kind\";\n\tListValue\x12.\n\x06values\x18\x01 \x03(\x0b2\x16.google.protobuf.ValueR\x06values*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00B\x7f\n\x13com.google.protobufB\x0bStructProtoP\x01Z/google.golang.org/protobuf/types/known/structpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\x99\x1d\n\x06\x12\x04\x1e\x00^\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\x00\x122\xc1\x0c Protocol Buffers - Google\'s data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\x08\n\x01\x02\x12\x03 \x00\x18\n\x08\n\x01\x08\x12\x03\"\x00\x1f\n\t\n\x02\x08\x1f\x12\x03\"\x00\x1f\n\x08\n\x01\x08\x12\x03#\x00F\n\t\n\x02\x08\x0b\x12\x03#\x00F\n\x08\n\x01\x08\x12\x03$\x00,\n\t\n\x02\x08\x01\x12\x03$\x00,\n\x08\n\x01\x08\x12\x03%\x00,\n\t\n\x02\x08\x08\x12\x03%\x00,\n\x08\n\x01\x08\x12\x03&\x00\"\n\t\n\x02\x08\n\x12\x03&\x00\"\n\x08\n\x01\x08\x12\x03\'\x00!\n\t\n\x02\x08$\x12\x03\'\x00!\n\x08\n\x01\x08\x12\x03(\x00;\n\t\n\x02\x08%\x12\x03(\x00;\n\xb3\x03\n\x02\x04\x00\x12\x042\x005\x01\x1a\xa6\x03 `Struct` represents a structured data value, consisting of fields\n which map to dynamically typed values. In some languages, `Struct`\n might be supported by a native representation. For example, in\n scripting languages like JS a struct is represented as an\n object. The details of that representation are described together\n with the proto support for the language.\n\n The JSON representation for `Struct` is JSON object.\n\n\n\n\x03\x04\x00\x01\x12\x032\x08\x0e\n9\n\x04\x04\x00\x02\x00\x12\x034\x02 \x1a, Unordered map of dynamically typed values.\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x034\x02\x14\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x034\x15\x1b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x034\x1e\x1f\n\xc4\x02\n\x02\x04\x01\x12\x04=\x00M\x01\x1a\xb7\x02 `Value` represents a dynamically typed value which can be either\n null, a number, a string, a boolean, a recursive struct value, or a\n list of values. A producer of value is expected to set one of these\n variants. Absence of any variant indicates an error.\n\n The JSON representation for `Value` is JSON value.\n\n\n\n\x03\x04\x01\x01\x12\x03=\x08\r\n\"\n\x04\x04\x01\x08\x00\x12\x04?\x02L\x03\x1a\x14 The kind of value.\n\n\x0c\n\x05\x04\x01\x08\x00\x01\x12\x03?\x08\x0c\n\'\n\x04\x04\x01\x02\x00\x12\x03A\x04\x1d\x1a\x1a Represents a null value.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03A\x04\r\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03A\x0e\x18\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03A\x1b\x1c\n)\n\x04\x04\x01\x02\x01\x12\x03C\x04\x1c\x1a\x1c Represents a double value.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03C\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03C\x0b\x17\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03C\x1a\x1b\n)\n\x04\x04\x01\x02\x02\x12\x03E\x04\x1c\x1a\x1c Represents a string value.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03E\x04\n\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03E\x0b\x17\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03E\x1a\x1b\n*\n\x04\x04\x01\x02\x03\x12\x03G\x04\x18\x1a\x1d Represents a boolean value.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03G\x04\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03G\t\x13\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03G\x16\x17\n-\n\x04\x04\x01\x02\x04\x12\x03I\x04\x1c\x1a Represents a structured value.\n\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03I\x04\n\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03I\x0b\x17\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03I\x1a\x1b\n-\n\x04\x04\x01\x02\x05\x12\x03K\x04\x1d\x1a Represents a repeated `Value`.\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03K\x04\r\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03K\x0e\x18\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03K\x1b\x1c\n\xa8\x01\n\x02\x05\x00\x12\x04S\x00V\x01\x1a\x9b\x01 `NullValue` is a singleton enumeration to represent the null value for the\n `Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n\n\n\x03\x05\x00\x01\x12\x03S\x05\x0e\n\x1a\n\x04\x05\x00\x02\x00\x12\x03U\x02\x11\x1a\r Null value.\n\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03U\x02\x0c\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03U\x0f\x10\n\x82\x01\n\x02\x04\x02\x12\x04[\x00^\x01\x1av `ListValue` is a wrapper around a repeated field of values.\n\n The JSON representation for `ListValue` is JSON array.\n\n\n\n\x03\x04\x02\x01\x12\x03[\x08\x11\n:\n\x04\x04\x02\x02\x00\x12\x03]\x02\x1c\x1a- Repeated field of dynamically typed values.\n\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03]\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03]\x0b\x10\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03]\x11\x17\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03]\x1a\x1bb\x06proto3\n\xa1\xd4\x02\n,protoc-gen-openapiv2/options/openapiv2.proto\x12)grpc.gateway.protoc_gen_openapiv2.options\x1a\x1cgoogle/protobuf/struct.proto\"\xb3\x08\n\x07Swagger\x12\x18\n\x07swagger\x18\x01 \x01(\tR\x07swagger\x12C\n\x04info\x18\x02 \x01(\x0b2/.grpc.gateway.protoc_gen_openapiv2.options.InfoR\x04info\x12\x12\n\x04host\x18\x03 \x01(\tR\x04host\x12\x1b\n\tbase_path\x18\x04 \x01(\tR\x08basePath\x12K\n\x07schemes\x18\x05 \x03(\x0e21.grpc.gateway.protoc_gen_openapiv2.options.SchemeR\x07schemes\x12\x1a\n\x08consumes\x18\x06 \x03(\tR\x08consumes\x12\x1a\n\x08produces\x18\x07 \x03(\tR\x08produces\x12_\n\tresponses\x18\n \x03(\x0b2A.grpc.gateway.protoc_gen_openapiv2.options.Swagger.ResponsesEntryR\tresponses\x12q\n\x14security_definitions\x18\x0b \x01(\x0b2>.grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitionsR\x13securityDefinitions\x12Z\n\x08security\x18\x0c \x03(\x0b2>.grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirementR\x08security\x12B\n\x04tags\x18\r \x03(\x0b2..grpc.gateway.protoc_gen_openapiv2.options.TagR\x04tags\x12e\n\rexternal_docs\x18\x0e \x01(\x0b2@.grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentationR\x0cexternalDocs\x12b\n\nextensions\x18\x0f \x03(\x0b2B.grpc.gateway.protoc_gen_openapiv2.options.Swagger.ExtensionsEntryR\nextensions\x1aq\n\x0eResponsesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12I\n\x05value\x18\x02 \x01(\x0b23.grpc.gateway.protoc_gen_openapiv2.options.ResponseR\x05value:\x028\x01\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\xd6\x07\n\tOperation\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags\x12\x18\n\x07summary\x18\x02 \x01(\tR\x07summary\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12e\n\rexternal_docs\x18\x04 \x01(\x0b2@.grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentationR\x0cexternalDocs\x12!\n\x0coperation_id\x18\x05 \x01(\tR\x0boperationId\x12\x1a\n\x08consumes\x18\x06 \x03(\tR\x08consumes\x12\x1a\n\x08produces\x18\x07 \x03(\tR\x08produces\x12a\n\tresponses\x18\t \x03(\x0b2C.grpc.gateway.protoc_gen_openapiv2.options.Operation.ResponsesEntryR\tresponses\x12K\n\x07schemes\x18\n \x03(\x0e21.grpc.gateway.protoc_gen_openapiv2.options.SchemeR\x07schemes\x12\x1e\n\ndeprecated\x18\x0b \x01(\x08R\ndeprecated\x12Z\n\x08security\x18\x0c \x03(\x0b2>.grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirementR\x08security\x12d\n\nextensions\x18\r \x03(\x0b2D.grpc.gateway.protoc_gen_openapiv2.options.Operation.ExtensionsEntryR\nextensions\x12U\n\nparameters\x18\x0e \x01(\x0b25.grpc.gateway.protoc_gen_openapiv2.options.ParametersR\nparameters\x1aq\n\x0eResponsesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12I\n\x05value\x18\x02 \x01(\x0b23.grpc.gateway.protoc_gen_openapiv2.options.ResponseR\x05value:\x028\x01\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01J\x04\x08\x08\x10\t\"b\n\nParameters\x12T\n\x07headers\x18\x01 \x03(\x0b2:.grpc.gateway.protoc_gen_openapiv2.options.HeaderParameterR\x07headers\"\xa3\x02\n\x0fHeaderParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12S\n\x04type\x18\x03 \x01(\x0e2?.grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter.TypeR\x04type\x12\x16\n\x06format\x18\x04 \x01(\tR\x06format\x12\x1a\n\x08required\x18\x05 \x01(\x08R\x08required\"E\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06STRING\x10\x01\x12\n\n\x06NUMBER\x10\x02\x12\x0b\n\x07INTEGER\x10\x03\x12\x0b\n\x07BOOLEAN\x10\x04J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"\xd8\x01\n\x06Header\x12 \n\x0bdescription\x18\x01 \x01(\tR\x0bdescription\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x16\n\x06format\x18\x03 \x01(\tR\x06format\x12\x18\n\x07default\x18\x06 \x01(\tR\x07default\x12\x18\n\x07pattern\x18\r \x01(\tR\x07patternJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cJ\x04\x08\x0c\x10\rJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10J\x04\x08\x10\x10\x11J\x04\x08\x11\x10\x12J\x04\x08\x12\x10\x13\"\x9a\x05\n\x08Response\x12 \n\x0bdescription\x18\x01 \x01(\tR\x0bdescription\x12I\n\x06schema\x18\x02 \x01(\x0b21.grpc.gateway.protoc_gen_openapiv2.options.SchemaR\x06schema\x12Z\n\x07headers\x18\x03 \x03(\x0b2@.grpc.gateway.protoc_gen_openapiv2.options.Response.HeadersEntryR\x07headers\x12]\n\x08examples\x18\x04 \x03(\x0b2A.grpc.gateway.protoc_gen_openapiv2.options.Response.ExamplesEntryR\x08examples\x12c\n\nextensions\x18\x05 \x03(\x0b2C.grpc.gateway.protoc_gen_openapiv2.options.Response.ExtensionsEntryR\nextensions\x1am\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12G\n\x05value\x18\x02 \x01(\x0b21.grpc.gateway.protoc_gen_openapiv2.options.HeaderR\x05value:\x028\x01\x1a;\n\rExamplesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xd6\x03\n\x04Info\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12(\n\x10terms_of_service\x18\x03 \x01(\tR\x0etermsOfService\x12L\n\x07contact\x18\x04 \x01(\x0b22.grpc.gateway.protoc_gen_openapiv2.options.ContactR\x07contact\x12L\n\x07license\x18\x05 \x01(\x0b22.grpc.gateway.protoc_gen_openapiv2.options.LicenseR\x07license\x12\x18\n\x07version\x18\x06 \x01(\tR\x07version\x12_\n\nextensions\x18\x07 \x03(\x0b2?.grpc.gateway.protoc_gen_openapiv2.options.Info.ExtensionsEntryR\nextensions\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"E\n\x07Contact\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x14\n\x05email\x18\x03 \x01(\tR\x05email\"/\n\x07License\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\"K\n\x15ExternalDocumentation\x12 \n\x0bdescription\x18\x01 \x01(\tR\x0bdescription\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\"\xaa\x02\n\x06Schema\x12V\n\x0bjson_schema\x18\x01 \x01(\x0b25.grpc.gateway.protoc_gen_openapiv2.options.JSONSchemaR\njsonSchema\x12$\n\rdiscriminator\x18\x02 \x01(\tR\rdiscriminator\x12\x1b\n\tread_only\x18\x03 \x01(\x08R\x08readOnly\x12e\n\rexternal_docs\x18\x05 \x01(\x0b2@.grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentationR\x0cexternalDocs\x12\x18\n\x07example\x18\x06 \x01(\tR\x07exampleJ\x04\x08\x04\x10\x05\"\xe8\x03\n\nEnumSchema\x12 \n\x0bdescription\x18\x01 \x01(\tR\x0bdescription\x12\x18\n\x07default\x18\x02 \x01(\tR\x07default\x12\x14\n\x05title\x18\x03 \x01(\tR\x05title\x12\x1a\n\x08required\x18\x04 \x01(\x08R\x08required\x12\x1b\n\tread_only\x18\x05 \x01(\x08R\x08readOnly\x12e\n\rexternal_docs\x18\x06 \x01(\x0b2@.grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentationR\x0cexternalDocs\x12\x18\n\x07example\x18\x07 \x01(\tR\x07example\x12\x10\n\x03ref\x18\x08 \x01(\tR\x03ref\x12e\n\nextensions\x18\t \x03(\x0b2E.grpc.gateway.protoc_gen_openapiv2.options.EnumSchema.ExtensionsEntryR\nextensions\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xf7\n\n\nJSONSchema\x12\x10\n\x03ref\x18\x03 \x01(\tR\x03ref\x12\x14\n\x05title\x18\x05 \x01(\tR\x05title\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12\x18\n\x07default\x18\x07 \x01(\tR\x07default\x12\x1b\n\tread_only\x18\x08 \x01(\x08R\x08readOnly\x12\x18\n\x07example\x18\t \x01(\tR\x07example\x12\x1f\n\x0bmultiple_of\x18\n \x01(\x01R\nmultipleOf\x12\x18\n\x07maximum\x18\x0b \x01(\x01R\x07maximum\x12+\n\x11exclusive_maximum\x18\x0c \x01(\x08R\x10exclusiveMaximum\x12\x18\n\x07minimum\x18\r \x01(\x01R\x07minimum\x12+\n\x11exclusive_minimum\x18\x0e \x01(\x08R\x10exclusiveMinimum\x12\x1d\n\nmax_length\x18\x0f \x01(\x04R\tmaxLength\x12\x1d\n\nmin_length\x18\x10 \x01(\x04R\tminLength\x12\x18\n\x07pattern\x18\x11 \x01(\tR\x07pattern\x12\x1b\n\tmax_items\x18\x14 \x01(\x04R\x08maxItems\x12\x1b\n\tmin_items\x18\x15 \x01(\x04R\x08minItems\x12!\n\x0cunique_items\x18\x16 \x01(\x08R\x0buniqueItems\x12%\n\x0emax_properties\x18\x18 \x01(\x04R\rmaxProperties\x12%\n\x0emin_properties\x18\x19 \x01(\x04R\rminProperties\x12\x1a\n\x08required\x18\x1a \x03(\tR\x08required\x12\x14\n\x05array\x18\" \x03(\tR\x05array\x12_\n\x04type\x18# \x03(\x0e2K.grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypesR\x04type\x12\x16\n\x06format\x18$ \x01(\tR\x06format\x12\x12\n\x04enum\x18. \x03(\tR\x04enum\x12z\n\x13field_configuration\x18\xe9\x07 \x01(\x0b2H.grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfigurationR\x12fieldConfiguration\x12e\n\nextensions\x180 \x03(\x0b2E.grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.ExtensionsEntryR\nextensions\x1a\\\n\x12FieldConfiguration\x12&\n\x0fpath_param_name\x18/ \x01(\tR\rpathParamName\x12\x1e\n\ndeprecated\x181 \x01(\x08R\ndeprecated\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"w\n\x15JSONSchemaSimpleTypes\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05ARRAY\x10\x01\x12\x0b\n\x07BOOLEAN\x10\x02\x12\x0b\n\x07INTEGER\x10\x03\x12\x08\n\x04NULL\x10\x04\x12\n\n\x06NUMBER\x10\x05\x12\n\n\x06OBJECT\x10\x06\x12\n\n\x06STRING\x10\x07J\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05J\x04\x08\x12\x10\x13J\x04\x08\x13\x10\x14J\x04\x08\x17\x10\x18J\x04\x08\x1b\x10\x1cJ\x04\x08\x1c\x10\x1dJ\x04\x08\x1d\x10\x1eJ\x04\x08\x1e\x10\"J\x04\x08%\x10*J\x04\x08*\x10+J\x04\x08+\x10.\"\xd9\x02\n\x03Tag\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12e\n\rexternal_docs\x18\x03 \x01(\x0b2@.grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentationR\x0cexternalDocs\x12^\n\nextensions\x18\x04 \x03(\x0b2>.grpc.gateway.protoc_gen_openapiv2.options.Tag.ExtensionsEntryR\nextensions\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xf7\x01\n\x13SecurityDefinitions\x12h\n\x08security\x18\x01 \x03(\x0b2L.grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions.SecurityEntryR\x08security\x1av\n\rSecurityEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12O\n\x05value\x18\x02 \x01(\x0b29.grpc.gateway.protoc_gen_openapiv2.options.SecuritySchemeR\x05value:\x028\x01\"\xff\x06\n\x0eSecurityScheme\x12R\n\x04type\x18\x01 \x01(\x0e2>.grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.TypeR\x04type\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12L\n\x02in\x18\x04 \x01(\x0e2<.grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.InR\x02in\x12R\n\x04flow\x18\x05 \x01(\x0e2>.grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.FlowR\x04flow\x12+\n\x11authorization_url\x18\x06 \x01(\tR\x10authorizationUrl\x12\x1b\n\ttoken_url\x18\x07 \x01(\tR\x08tokenUrl\x12I\n\x06scopes\x18\x08 \x01(\x0b21.grpc.gateway.protoc_gen_openapiv2.options.ScopesR\x06scopes\x12i\n\nextensions\x18\t \x03(\x0b2I.grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.ExtensionsEntryR\nextensions\x1aU\n\x0fExtensionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"K\n\x04Type\x12\x10\n\x0cTYPE_INVALID\x10\x00\x12\x0e\n\nTYPE_BASIC\x10\x01\x12\x10\n\x0cTYPE_API_KEY\x10\x02\x12\x0f\n\x0bTYPE_OAUTH2\x10\x03\"1\n\x02In\x12\x0e\n\nIN_INVALID\x10\x00\x12\x0c\n\x08IN_QUERY\x10\x01\x12\r\n\tIN_HEADER\x10\x02\"j\n\x04Flow\x12\x10\n\x0cFLOW_INVALID\x10\x00\x12\x11\n\rFLOW_IMPLICIT\x10\x01\x12\x11\n\rFLOW_PASSWORD\x10\x02\x12\x14\n\x10FLOW_APPLICATION\x10\x03\x12\x14\n\x10FLOW_ACCESS_CODE\x10\x04\"\xf6\x02\n\x13SecurityRequirement\x12\x8a\x01\n\x14security_requirement\x18\x01 \x03(\x0b2W.grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementEntryR\x13securityRequirement\x1a0\n\x18SecurityRequirementValue\x12\x14\n\x05scope\x18\x01 \x03(\tR\x05scope\x1a\x9f\x01\n\x18SecurityRequirementEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12m\n\x05value\x18\x02 \x01(\x0b2W.grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValueR\x05value:\x028\x01\"\x96\x01\n\x06Scopes\x12R\n\x05scope\x18\x01 \x03(\x0b2<.grpc.gateway.protoc_gen_openapiv2.options.Scopes.ScopeEntryR\x05scope\x1a8\n\nScopeEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01*;\n\x06Scheme\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04HTTP\x10\x01\x12\t\n\x05HTTPS\x10\x02\x12\x06\n\x02WS\x10\x03\x12\x07\n\x03WSS\x10\x04BHZFgithub.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/optionsJ\xec\x91\x02\n\x07\x12\x05\x00\x00\xf9\x05\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x002\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\x08\n\x01\x08\x12\x03\x06\x00]\n\t\n\x02\x08\x0b\x12\x03\x06\x00]\nc\n\x02\x05\x00\x12\x04\n\x00\x10\x01\x1aW Scheme describes the schemes supported by the OpenAPI Swagger\n and Operation objects.\n\n\n\n\x03\x05\x00\x01\x12\x03\n\x05\x0b\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x0b\x02\x0e\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x0b\x02\t\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x0b\x0c\r\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x0c\x02\x0b\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x0c\x02\x06\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x0c\t\n\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\r\x02\x0c\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\r\x02\x07\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\r\n\x0b\n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x0e\x02\t\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x0e\x02\x04\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x0e\x07\x08\n\x0b\n\x04\x05\x00\x02\x04\x12\x03\x0f\x02\n\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03\x0f\x02\x05\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03\x0f\x08\t\n\xf8\x05\n\x02\x04\x00\x12\x04,\x00g\x01\x1a\xeb\x05 `Swagger` is a representation of OpenAPI v2 specification\'s Swagger object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#swaggerObject\n\n Example:\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {\n info: {\n title: \"Echo API\";\n version: \"1.0\";\n description: \"\";\n contact: {\n name: \"gRPC-Gateway project\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway\";\n email: \"none@example.com\";\n };\n license: {\n name: \"BSD 3-Clause License\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE\";\n };\n };\n schemes: HTTPS;\n consumes: \"application/json\";\n produces: \"application/json\";\n };\n\n\n\n\n\x03\x04\x00\x01\x12\x03,\x08\x0f\n\xb3\x01\n\x04\x04\x00\x02\x00\x12\x030\x02\x15\x1a\xa5\x01 Specifies the OpenAPI Specification version being used. It can be\n used by the OpenAPI UI and other clients to interpret the API listing. The\n value MUST be \"2.0\".\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x030\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x030\t\x10\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x030\x13\x14\nc\n\x04\x04\x00\x02\x01\x12\x033\x02\x10\x1aV Provides metadata about the API. The metadata can be used by the\n clients if needed.\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x033\x02\x06\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x033\x07\x0b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x033\x0e\x0f\n\xa9\x02\n\x04\x04\x00\x02\x02\x12\x038\x02\x12\x1a\x9b\x02 The host (name or ip) serving the API. This MUST be the host only and does\n not include the scheme nor sub-paths. It MAY include a port. If the host is\n not included, the host serving the documentation is to be used (including\n the port). The host does not support path templating.\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x038\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x038\t\r\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x038\x10\x11\n\xc8\x04\n\x04\x04\x00\x02\x03\x12\x03B\x02\x17\x1a\xba\x04 The base path on which the API is served, which is relative to the host. If\n it is not included, the API is served directly under the host. The value\n MUST start with a leading slash (/). The basePath does not support path\n templating.\n Note that using `base_path` does not change the endpoint paths that are\n generated in the resulting OpenAPI file. If you wish to use `base_path`\n with relatively generated OpenAPI paths, the `base_path` prefix must be\n manually removed from your `google.api.http` paths and your code changed to\n serve the API from the `base_path`.\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03B\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03B\t\x12\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03B\x15\x16\n\xe6\x01\n\x04\x04\x00\x02\x04\x12\x03F\x02\x1e\x1a\xd8\x01 The transfer protocol of the API. Values MUST be from the list: \"http\",\n \"https\", \"ws\", \"wss\". If the schemes is not included, the default scheme to\n be used is the one used to access the OpenAPI definition itself.\n\n\x0c\n\x05\x04\x00\x02\x04\x04\x12\x03F\x02\n\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03F\x0b\x11\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03F\x12\x19\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03F\x1c\x1d\n\xb1\x01\n\x04\x04\x00\x02\x05\x12\x03J\x02\x1f\x1a\xa3\x01 A list of MIME types the APIs can consume. This is global to all APIs but\n can be overridden on specific API calls. Value MUST be as described under\n Mime Types.\n\n\x0c\n\x05\x04\x00\x02\x05\x04\x12\x03J\x02\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03J\x0b\x11\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03J\x12\x1a\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03J\x1d\x1e\n\xb1\x01\n\x04\x04\x00\x02\x06\x12\x03N\x02\x1f\x1a\xa3\x01 A list of MIME types the APIs can produce. This is global to all APIs but\n can be overridden on specific API calls. Value MUST be as described under\n Mime Types.\n\n\x0c\n\x05\x04\x00\x02\x06\x04\x12\x03N\x02\n\n\x0c\n\x05\x04\x00\x02\x06\x05\x12\x03N\x0b\x11\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03N\x12\x1a\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03N\x1d\x1e\n.\n\x03\x04\x00\t\x12\x03P\x02\r\x1a\" field 8 is reserved for \'paths\'.\n\n\x0b\n\x04\x04\x00\t\x00\x12\x03P\x0b\x0c\n\x0c\n\x05\x04\x00\t\x00\x01\x12\x03P\x0b\x0c\n\x0c\n\x05\x04\x00\t\x00\x02\x12\x03P\x0b\x0c\n\x83\x01\n\x03\x04\x00\t\x12\x03S\x02\r\x1aw field 9 is reserved for \'definitions\', which at this time are already\n exposed as and customizable as proto messages.\n\n\x0b\n\x04\x04\x00\t\x01\x12\x03S\x0b\x0c\n\x0c\n\x05\x04\x00\t\x01\x01\x12\x03S\x0b\x0c\n\x0c\n\x05\x04\x00\t\x01\x02\x12\x03S\x0b\x0c\n\x93\x01\n\x04\x04\x00\x02\x07\x12\x03V\x02\'\x1a\x85\x01 An object to hold responses that can be used across operations. This\n property does not define global responses for all operations.\n\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03V\x02\x17\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03V\x18!\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03V$&\nU\n\x04\x04\x00\x02\x08\x12\x03X\x020\x1aH Security scheme definitions that can be used across the specification.\n\n\x0c\n\x05\x04\x00\x02\x08\x06\x12\x03X\x02\x15\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03X\x16*\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03X-/\n\xa1\x02\n\x04\x04\x00\x02\t\x12\x03]\x02-\x1a\x93\x02 A declaration of which security schemes are applied for the API as a whole.\n The list of values describes alternative security schemes that can be used\n (that is, there is a logical OR between the security requirements).\n Individual operations can override this definition.\n\n\x0c\n\x05\x04\x00\x02\t\x04\x12\x03]\x02\n\n\x0c\n\x05\x04\x00\x02\t\x06\x12\x03]\x0b\x1e\n\x0c\n\x05\x04\x00\x02\t\x01\x12\x03]\x1f\'\n\x0c\n\x05\x04\x00\x02\t\x03\x12\x03]*,\n\x97\x01\n\x04\x04\x00\x02\n\x12\x03`\x02\x19\x1a\x89\x01 A list of tags for API documentation control. Tags can be used for logical\n grouping of operations by resources or any other qualifier.\n\n\x0c\n\x05\x04\x00\x02\n\x04\x12\x03`\x02\n\n\x0c\n\x05\x04\x00\x02\n\x06\x12\x03`\x0b\x0e\n\x0c\n\x05\x04\x00\x02\n\x01\x12\x03`\x0f\x13\n\x0c\n\x05\x04\x00\x02\n\x03\x12\x03`\x16\x18\n1\n\x04\x04\x00\x02\x0b\x12\x03b\x02+\x1a$ Additional external documentation.\n\n\x0c\n\x05\x04\x00\x02\x0b\x06\x12\x03b\x02\x17\n\x0c\n\x05\x04\x00\x02\x0b\x01\x12\x03b\x18%\n\x0c\n\x05\x04\x00\x02\x0b\x03\x12\x03b(*\n\xeb\x01\n\x04\x04\x00\x02\x0c\x12\x03f\x025\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\x0c\n\x05\x04\x00\x02\x0c\x06\x12\x03f\x02$\n\x0c\n\x05\x04\x00\x02\x0c\x01\x12\x03f%/\n\x0c\n\x05\x04\x00\x02\x0c\x03\x12\x03f24\n\xa0\x05\n\x02\x04\x01\x12\x06\x82\x01\x00\xb5\x01\x01\x1a\x91\x05 `Operation` is a representation of OpenAPI v2 specification\'s Operation object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#operationObject\n\n Example:\n\n service EchoService {\n rpc Echo(SimpleMessage) returns (SimpleMessage) {\n option (google.api.http) = {\n get: \"/v1/example/echo/{id}\"\n };\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {\n summary: \"Get a message.\";\n operation_id: \"getMessage\";\n tags: \"echo\";\n responses: {\n key: \"200\"\n value: {\n description: \"OK\";\n }\n }\n };\n }\n }\n\n\x0b\n\x03\x04\x01\x01\x12\x04\x82\x01\x08\x11\n\x98\x01\n\x04\x04\x01\x02\x00\x12\x04\x85\x01\x02\x1b\x1a\x89\x01 A list of tags for API documentation control. Tags can be used for logical\n grouping of operations by resources or any other qualifier.\n\n\r\n\x05\x04\x01\x02\x00\x04\x12\x04\x85\x01\x02\n\n\r\n\x05\x04\x01\x02\x00\x05\x12\x04\x85\x01\x0b\x11\n\r\n\x05\x04\x01\x02\x00\x01\x12\x04\x85\x01\x12\x16\n\r\n\x05\x04\x01\x02\x00\x03\x12\x04\x85\x01\x19\x1a\n\x97\x01\n\x04\x04\x01\x02\x01\x12\x04\x88\x01\x02\x15\x1a\x88\x01 A short summary of what the operation does. For maximum readability in the\n swagger-ui, this field SHOULD be less than 120 characters.\n\n\r\n\x05\x04\x01\x02\x01\x05\x12\x04\x88\x01\x02\x08\n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\x88\x01\t\x10\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\x88\x01\x13\x14\nv\n\x04\x04\x01\x02\x02\x12\x04\x8b\x01\x02\x19\x1ah A verbose explanation of the operation behavior. GFM syntax can be used for\n rich text representation.\n\n\r\n\x05\x04\x01\x02\x02\x05\x12\x04\x8b\x01\x02\x08\n\r\n\x05\x04\x01\x02\x02\x01\x12\x04\x8b\x01\t\x14\n\r\n\x05\x04\x01\x02\x02\x03\x12\x04\x8b\x01\x17\x18\nE\n\x04\x04\x01\x02\x03\x12\x04\x8d\x01\x02*\x1a7 Additional external documentation for this operation.\n\n\r\n\x05\x04\x01\x02\x03\x06\x12\x04\x8d\x01\x02\x17\n\r\n\x05\x04\x01\x02\x03\x01\x12\x04\x8d\x01\x18%\n\r\n\x05\x04\x01\x02\x03\x03\x12\x04\x8d\x01()\n\x9f\x02\n\x04\x04\x01\x02\x04\x12\x04\x92\x01\x02\x1a\x1a\x90\x02 Unique string used to identify the operation. The id MUST be unique among\n all operations described in the API. Tools and libraries MAY use the\n operationId to uniquely identify an operation, therefore, it is recommended\n to follow common programming naming conventions.\n\n\r\n\x05\x04\x01\x02\x04\x05\x12\x04\x92\x01\x02\x08\n\r\n\x05\x04\x01\x02\x04\x01\x12\x04\x92\x01\t\x15\n\r\n\x05\x04\x01\x02\x04\x03\x12\x04\x92\x01\x18\x19\n\xe8\x01\n\x04\x04\x01\x02\x05\x12\x04\x96\x01\x02\x1f\x1a\xd9\x01 A list of MIME types the operation can consume. This overrides the consumes\n definition at the OpenAPI Object. An empty value MAY be used to clear the\n global definition. Value MUST be as described under Mime Types.\n\n\r\n\x05\x04\x01\x02\x05\x04\x12\x04\x96\x01\x02\n\n\r\n\x05\x04\x01\x02\x05\x05\x12\x04\x96\x01\x0b\x11\n\r\n\x05\x04\x01\x02\x05\x01\x12\x04\x96\x01\x12\x1a\n\r\n\x05\x04\x01\x02\x05\x03\x12\x04\x96\x01\x1d\x1e\n\xe8\x01\n\x04\x04\x01\x02\x06\x12\x04\x9a\x01\x02\x1f\x1a\xd9\x01 A list of MIME types the operation can produce. This overrides the produces\n definition at the OpenAPI Object. An empty value MAY be used to clear the\n global definition. Value MUST be as described under Mime Types.\n\n\r\n\x05\x04\x01\x02\x06\x04\x12\x04\x9a\x01\x02\n\n\r\n\x05\x04\x01\x02\x06\x05\x12\x04\x9a\x01\x0b\x11\n\r\n\x05\x04\x01\x02\x06\x01\x12\x04\x9a\x01\x12\x1a\n\r\n\x05\x04\x01\x02\x06\x03\x12\x04\x9a\x01\x1d\x1e\n4\n\x03\x04\x01\t\x12\x04\x9c\x01\x02\r\x1a\' field 8 is reserved for \'parameters\'.\n\n\x0c\n\x04\x04\x01\t\x00\x12\x04\x9c\x01\x0b\x0c\n\r\n\x05\x04\x01\t\x00\x01\x12\x04\x9c\x01\x0b\x0c\n\r\n\x05\x04\x01\t\x00\x02\x12\x04\x9c\x01\x0b\x0c\nc\n\x04\x04\x01\x02\x07\x12\x04\x9f\x01\x02&\x1aU The list of possible responses as they are returned from executing this\n operation.\n\n\r\n\x05\x04\x01\x02\x07\x06\x12\x04\x9f\x01\x02\x17\n\r\n\x05\x04\x01\x02\x07\x01\x12\x04\x9f\x01\x18!\n\r\n\x05\x04\x01\x02\x07\x03\x12\x04\x9f\x01$%\n\xb2\x01\n\x04\x04\x01\x02\x08\x12\x04\xa3\x01\x02\x1f\x1a\xa3\x01 The transfer protocol for the operation. Values MUST be from the list:\n \"http\", \"https\", \"ws\", \"wss\". The value overrides the OpenAPI Object\n schemes definition.\n\n\r\n\x05\x04\x01\x02\x08\x04\x12\x04\xa3\x01\x02\n\n\r\n\x05\x04\x01\x02\x08\x06\x12\x04\xa3\x01\x0b\x11\n\r\n\x05\x04\x01\x02\x08\x01\x12\x04\xa3\x01\x12\x19\n\r\n\x05\x04\x01\x02\x08\x03\x12\x04\xa3\x01\x1c\x1e\n\x87\x01\n\x04\x04\x01\x02\t\x12\x04\xa6\x01\x02\x17\x1ay Declares this operation to be deprecated. Usage of the declared operation\n should be refrained. Default value is false.\n\n\r\n\x05\x04\x01\x02\t\x05\x12\x04\xa6\x01\x02\x06\n\r\n\x05\x04\x01\x02\t\x01\x12\x04\xa6\x01\x07\x11\n\r\n\x05\x04\x01\x02\t\x03\x12\x04\xa6\x01\x14\x16\n\xee\x02\n\x04\x04\x01\x02\n\x12\x04\xac\x01\x02-\x1a\xdf\x02 A declaration of which security schemes are applied for this operation. The\n list of values describes alternative security schemes that can be used\n (that is, there is a logical OR between the security requirements). This\n definition overrides any declared top-level security. To remove a top-level\n security declaration, an empty array can be used.\n\n\r\n\x05\x04\x01\x02\n\x04\x12\x04\xac\x01\x02\n\n\r\n\x05\x04\x01\x02\n\x06\x12\x04\xac\x01\x0b\x1e\n\r\n\x05\x04\x01\x02\n\x01\x12\x04\xac\x01\x1f\'\n\r\n\x05\x04\x01\x02\n\x03\x12\x04\xac\x01*,\n\xec\x01\n\x04\x04\x01\x02\x0b\x12\x04\xb0\x01\x025\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\r\n\x05\x04\x01\x02\x0b\x06\x12\x04\xb0\x01\x02$\n\r\n\x05\x04\x01\x02\x0b\x01\x12\x04\xb0\x01%/\n\r\n\x05\x04\x01\x02\x0b\x03\x12\x04\xb0\x0124\n\xc3\x01\n\x04\x04\x01\x02\x0c\x12\x04\xb4\x01\x02\x1d\x1a\xb4\x01 Custom parameters such as HTTP request headers.\n See: https://swagger.io/docs/specification/2-0/describing-parameters/\n and https://swagger.io/specification/v2/#parameter-object.\n\n\r\n\x05\x04\x01\x02\x0c\x06\x12\x04\xb4\x01\x02\x0c\n\r\n\x05\x04\x01\x02\x0c\x01\x12\x04\xb4\x01\r\x17\n\r\n\x05\x04\x01\x02\x0c\x03\x12\x04\xb4\x01\x1a\x1c\n\x9a\x03\n\x02\x04\x02\x12\x06\xbc\x01\x00\xc0\x01\x01\x1a\x8b\x03 `Parameters` is a representation of OpenAPI v2 specification\'s parameters object.\n Note: This technically breaks compatibility with the OpenAPI 2 definition structure as we only\n allow header parameters to be set here since we do not want users specifying custom non-header\n parameters beyond those inferred from the Protobuf schema.\n See: https://swagger.io/specification/v2/#parameter-object\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xbc\x01\x08\x12\n\x99\x01\n\x04\x04\x02\x02\x00\x12\x04\xbf\x01\x02\'\x1a\x8a\x01 `Headers` is one or more HTTP header parameter.\n See: https://swagger.io/docs/specification/2-0/describing-parameters/#header-parameters\n\n\r\n\x05\x04\x02\x02\x00\x04\x12\x04\xbf\x01\x02\n\n\r\n\x05\x04\x02\x02\x00\x06\x12\x04\xbf\x01\x0b\x1a\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\xbf\x01\x1b\"\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\xbf\x01%&\nv\n\x02\x04\x03\x12\x06\xc4\x01\x00\xde\x01\x01\x1ah `HeaderParameter` a HTTP header parameter.\n See: https://swagger.io/specification/v2/#parameter-object\n\n\x0b\n\x03\x04\x03\x01\x12\x04\xc4\x01\x08\x17\nr\n\x04\x04\x03\x04\x00\x12\x06\xc7\x01\x02\xcd\x01\x03\x1ab `Type` is a supported HTTP header type.\n See https://swagger.io/specification/v2/#parameterType.\n\n\r\n\x05\x04\x03\x04\x00\x01\x12\x04\xc7\x01\x07\x0b\n\x0e\n\x06\x04\x03\x04\x00\x02\x00\x12\x04\xc8\x01\x04\x10\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x01\x12\x04\xc8\x01\x04\x0b\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x02\x12\x04\xc8\x01\x0e\x0f\n\x0e\n\x06\x04\x03\x04\x00\x02\x01\x12\x04\xc9\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x01\x12\x04\xc9\x01\x04\n\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x02\x12\x04\xc9\x01\r\x0e\n\x0e\n\x06\x04\x03\x04\x00\x02\x02\x12\x04\xca\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\x00\x02\x02\x01\x12\x04\xca\x01\x04\n\n\x0f\n\x07\x04\x03\x04\x00\x02\x02\x02\x12\x04\xca\x01\r\x0e\n\x0e\n\x06\x04\x03\x04\x00\x02\x03\x12\x04\xcb\x01\x04\x10\n\x0f\n\x07\x04\x03\x04\x00\x02\x03\x01\x12\x04\xcb\x01\x04\x0b\n\x0f\n\x07\x04\x03\x04\x00\x02\x03\x02\x12\x04\xcb\x01\x0e\x0f\n\x0e\n\x06\x04\x03\x04\x00\x02\x04\x12\x04\xcc\x01\x04\x10\n\x0f\n\x07\x04\x03\x04\x00\x02\x04\x01\x12\x04\xcc\x01\x04\x0b\n\x0f\n\x07\x04\x03\x04\x00\x02\x04\x02\x12\x04\xcc\x01\x0e\x0f\n*\n\x04\x04\x03\x02\x00\x12\x04\xd0\x01\x02\x12\x1a\x1c `Name` is the header name.\n\n\r\n\x05\x04\x03\x02\x00\x05\x12\x04\xd0\x01\x02\x08\n\r\n\x05\x04\x03\x02\x00\x01\x12\x04\xd0\x01\t\r\n\r\n\x05\x04\x03\x02\x00\x03\x12\x04\xd0\x01\x10\x11\nC\n\x04\x04\x03\x02\x01\x12\x04\xd2\x01\x02\x19\x1a5 `Description` is a short description of the header.\n\n\r\n\x05\x04\x03\x02\x01\x05\x12\x04\xd2\x01\x02\x08\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\xd2\x01\t\x14\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\xd2\x01\x17\x18\n\xd5\x01\n\x04\x04\x03\x02\x02\x12\x04\xd5\x01\x02\x10\x1a\xc6\x01 `Type` is the type of the object. The value MUST be one of \"string\", \"number\", \"integer\", or \"boolean\". The \"array\" type is not supported.\n See: https://swagger.io/specification/v2/#parameterType.\n\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\xd5\x01\x02\x06\n\r\n\x05\x04\x03\x02\x02\x01\x12\x04\xd5\x01\x07\x0b\n\r\n\x05\x04\x03\x02\x02\x03\x12\x04\xd5\x01\x0e\x0f\nP\n\x04\x04\x03\x02\x03\x12\x04\xd7\x01\x02\x14\x1aB `Format` The extending format for the previously mentioned type.\n\n\r\n\x05\x04\x03\x02\x03\x05\x12\x04\xd7\x01\x02\x08\n\r\n\x05\x04\x03\x02\x03\x01\x12\x04\xd7\x01\t\x0f\n\r\n\x05\x04\x03\x02\x03\x03\x12\x04\xd7\x01\x12\x13\n>\n\x04\x04\x03\x02\x04\x12\x04\xd9\x01\x02\x14\x1a0 `Required` indicates if the header is optional\n\n\r\n\x05\x04\x03\x02\x04\x05\x12\x04\xd9\x01\x02\x06\n\r\n\x05\x04\x03\x02\x04\x01\x12\x04\xd9\x01\x07\x0f\n\r\n\x05\x04\x03\x02\x04\x03\x12\x04\xd9\x01\x12\x13\nL\n\x03\x04\x03\t\x12\x04\xdb\x01\x02\r\x1a? field 6 is reserved for \'items\', but in OpenAPI-specific way.\n\n\x0c\n\x04\x04\x03\t\x00\x12\x04\xdb\x01\x0b\x0c\n\r\n\x05\x04\x03\t\x00\x01\x12\x04\xdb\x01\x0b\x0c\n\r\n\x05\x04\x03\t\x00\x02\x12\x04\xdb\x01\x0b\x0c\nq\n\x03\x04\x03\t\x12\x04\xdd\x01\x02\r\x1ad field 7 is reserved `Collection Format`. Determines the format of the array if type array is used.\n\n\x0c\n\x04\x04\x03\t\x01\x12\x04\xdd\x01\x0b\x0c\n\r\n\x05\x04\x03\t\x01\x01\x12\x04\xdd\x01\x0b\x0c\n\r\n\x05\x04\x03\t\x01\x02\x12\x04\xdd\x01\x0b\x0c\n\xb7\x01\n\x02\x04\x04\x12\x06\xe4\x01\x00\x8b\x02\x01\x1a\xa8\x01 `Header` is a representation of OpenAPI v2 specification\'s Header object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#headerObject\n\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xe4\x01\x08\x0e\nC\n\x04\x04\x04\x02\x00\x12\x04\xe6\x01\x02\x19\x1a5 `Description` is a short description of the header.\n\n\r\n\x05\x04\x04\x02\x00\x05\x12\x04\xe6\x01\x02\x08\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\xe6\x01\t\x14\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\xe6\x01\x17\x18\n\x91\x01\n\x04\x04\x04\x02\x01\x12\x04\xe8\x01\x02\x12\x1a\x82\x01 The type of the object. The value MUST be one of \"string\", \"number\", \"integer\", or \"boolean\". The \"array\" type is not supported.\n\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\xe8\x01\x02\x08\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xe8\x01\t\r\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xe8\x01\x10\x11\nP\n\x04\x04\x04\x02\x02\x12\x04\xea\x01\x02\x14\x1aB `Format` The extending format for the previously mentioned type.\n\n\r\n\x05\x04\x04\x02\x02\x05\x12\x04\xea\x01\x02\x08\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\xea\x01\t\x0f\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\xea\x01\x12\x13\nL\n\x03\x04\x04\t\x12\x04\xec\x01\x02\r\x1a? field 4 is reserved for \'items\', but in OpenAPI-specific way.\n\n\x0c\n\x04\x04\x04\t\x00\x12\x04\xec\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x00\x01\x12\x04\xec\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x00\x02\x12\x04\xec\x01\x0b\x0c\np\n\x03\x04\x04\t\x12\x04\xee\x01\x02\r\x1ac field 5 is reserved `Collection Format` Determines the format of the array if type array is used.\n\n\x0c\n\x04\x04\x04\t\x01\x12\x04\xee\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x01\x01\x12\x04\xee\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x01\x02\x12\x04\xee\x01\x0b\x0c\n\x8c\x02\n\x04\x04\x04\x02\x03\x12\x04\xf2\x01\x02\x15\x1a\xfd\x01 `Default` Declares the value of the header that the server will use if none is provided.\n See: https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-6.2.\n Unlike JSON Schema this value MUST conform to the defined type for the header.\n\n\r\n\x05\x04\x04\x02\x03\x05\x12\x04\xf2\x01\x02\x08\n\r\n\x05\x04\x04\x02\x03\x01\x12\x04\xf2\x01\t\x10\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\xf2\x01\x13\x14\n1\n\x03\x04\x04\t\x12\x04\xf4\x01\x02\r\x1a$ field 7 is reserved for \'maximum\'.\n\n\x0c\n\x04\x04\x04\t\x02\x12\x04\xf4\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x02\x01\x12\x04\xf4\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x02\x02\x12\x04\xf4\x01\x0b\x0c\n:\n\x03\x04\x04\t\x12\x04\xf6\x01\x02\r\x1a- field 8 is reserved for \'exclusiveMaximum\'.\n\n\x0c\n\x04\x04\x04\t\x03\x12\x04\xf6\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x03\x01\x12\x04\xf6\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x03\x02\x12\x04\xf6\x01\x0b\x0c\n1\n\x03\x04\x04\t\x12\x04\xf8\x01\x02\r\x1a$ field 9 is reserved for \'minimum\'.\n\n\x0c\n\x04\x04\x04\t\x04\x12\x04\xf8\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x04\x01\x12\x04\xf8\x01\x0b\x0c\n\r\n\x05\x04\x04\t\x04\x02\x12\x04\xf8\x01\x0b\x0c\n;\n\x03\x04\x04\t\x12\x04\xfa\x01\x02\x0e\x1a. field 10 is reserved for \'exclusiveMinimum\'.\n\n\x0c\n\x04\x04\x04\t\x05\x12\x04\xfa\x01\x0b\r\n\r\n\x05\x04\x04\t\x05\x01\x12\x04\xfa\x01\x0b\r\n\r\n\x05\x04\x04\t\x05\x02\x12\x04\xfa\x01\x0b\r\n4\n\x03\x04\x04\t\x12\x04\xfc\x01\x02\x0e\x1a\' field 11 is reserved for \'maxLength\'.\n\n\x0c\n\x04\x04\x04\t\x06\x12\x04\xfc\x01\x0b\r\n\r\n\x05\x04\x04\t\x06\x01\x12\x04\xfc\x01\x0b\r\n\r\n\x05\x04\x04\t\x06\x02\x12\x04\xfc\x01\x0b\r\n4\n\x03\x04\x04\t\x12\x04\xfe\x01\x02\x0e\x1a\' field 12 is reserved for \'minLength\'.\n\n\x0c\n\x04\x04\x04\t\x07\x12\x04\xfe\x01\x0b\r\n\r\n\x05\x04\x04\t\x07\x01\x12\x04\xfe\x01\x0b\r\n\r\n\x05\x04\x04\t\x07\x02\x12\x04\xfe\x01\x0b\r\nl\n\x04\x04\x04\x02\x04\x12\x04\x80\x02\x02\x16\x1a^ \'Pattern\' See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3.\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\x80\x02\x02\x08\n\r\n\x05\x04\x04\x02\x04\x01\x12\x04\x80\x02\t\x10\n\r\n\x05\x04\x04\x02\x04\x03\x12\x04\x80\x02\x13\x15\n3\n\x03\x04\x04\t\x12\x04\x82\x02\x02\x0e\x1a& field 14 is reserved for \'maxItems\'.\n\n\x0c\n\x04\x04\x04\t\x08\x12\x04\x82\x02\x0b\r\n\r\n\x05\x04\x04\t\x08\x01\x12\x04\x82\x02\x0b\r\n\r\n\x05\x04\x04\t\x08\x02\x12\x04\x82\x02\x0b\r\n3\n\x03\x04\x04\t\x12\x04\x84\x02\x02\x0e\x1a& field 15 is reserved for \'minItems\'.\n\n\x0c\n\x04\x04\x04\t\t\x12\x04\x84\x02\x0b\r\n\r\n\x05\x04\x04\t\t\x01\x12\x04\x84\x02\x0b\r\n\r\n\x05\x04\x04\t\t\x02\x12\x04\x84\x02\x0b\r\n6\n\x03\x04\x04\t\x12\x04\x86\x02\x02\x0e\x1a) field 16 is reserved for \'uniqueItems\'.\n\n\x0c\n\x04\x04\x04\t\n\x12\x04\x86\x02\x0b\r\n\r\n\x05\x04\x04\t\n\x01\x12\x04\x86\x02\x0b\r\n\r\n\x05\x04\x04\t\n\x02\x12\x04\x86\x02\x0b\r\n/\n\x03\x04\x04\t\x12\x04\x88\x02\x02\x0e\x1a\" field 17 is reserved for \'enum\'.\n\n\x0c\n\x04\x04\x04\t\x0b\x12\x04\x88\x02\x0b\r\n\r\n\x05\x04\x04\t\x0b\x01\x12\x04\x88\x02\x0b\r\n\r\n\x05\x04\x04\t\x0b\x02\x12\x04\x88\x02\x0b\r\n5\n\x03\x04\x04\t\x12\x04\x8a\x02\x02\x0e\x1a( field 18 is reserved for \'multipleOf\'.\n\n\x0c\n\x04\x04\x04\t\x0c\x12\x04\x8a\x02\x0b\r\n\r\n\x05\x04\x04\t\x0c\x01\x12\x04\x8a\x02\x0b\r\n\r\n\x05\x04\x04\t\x0c\x02\x12\x04\x8a\x02\x0b\r\n\xbd\x01\n\x02\x04\x05\x12\x06\x91\x02\x00\xa3\x02\x01\x1a\xae\x01 `Response` is a representation of OpenAPI v2 specification\'s Response object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#responseObject\n\n\n\x0b\n\x03\x04\x05\x01\x12\x04\x91\x02\x08\x10\n{\n\x04\x04\x05\x02\x00\x12\x04\x94\x02\x02\x19\x1am `Description` is a short description of the response.\n GFM syntax can be used for rich text representation.\n\n\r\n\x05\x04\x05\x02\x00\x05\x12\x04\x94\x02\x02\x08\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\x94\x02\t\x14\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\x94\x02\x17\x18\n\x97\x01\n\x04\x04\x05\x02\x01\x12\x04\x97\x02\x02\x14\x1a\x88\x01 `Schema` optionally defines the structure of the response.\n If `Schema` is not provided, it means there is no content to the response.\n\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\x97\x02\x02\x08\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\x97\x02\t\x0f\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\x97\x02\x12\x13\n\xe9\x01\n\x04\x04\x05\x02\x02\x12\x04\x9b\x02\x02\"\x1a\xda\x01 `Headers` A list of headers that are sent with the response.\n `Header` name is expected to be a string in the canonical format of the MIME header key\n See: https://golang.org/pkg/net/textproto/#CanonicalMIMEHeaderKey\n\n\r\n\x05\x04\x05\x02\x02\x06\x12\x04\x9b\x02\x02\x15\n\r\n\x05\x04\x05\x02\x02\x01\x12\x04\x9b\x02\x16\x1d\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\x9b\x02 !\n\x9e\x01\n\x04\x04\x05\x02\x03\x12\x04\x9e\x02\x02#\x1a\x8f\x01 `Examples` gives per-mimetype response examples.\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#example-object\n\n\r\n\x05\x04\x05\x02\x03\x06\x12\x04\x9e\x02\x02\x15\n\r\n\x05\x04\x05\x02\x03\x01\x12\x04\x9e\x02\x16\x1e\n\r\n\x05\x04\x05\x02\x03\x03\x12\x04\x9e\x02!\"\n\xec\x01\n\x04\x04\x05\x02\x04\x12\x04\xa2\x02\x024\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\r\n\x05\x04\x05\x02\x04\x06\x12\x04\xa2\x02\x02$\n\r\n\x05\x04\x05\x02\x04\x01\x12\x04\xa2\x02%/\n\r\n\x05\x04\x05\x02\x04\x03\x12\x04\xa2\x0223\n\xa1\x05\n\x02\x04\x06\x12\x06\xbd\x02\x00\xd0\x02\x01\x1a\x92\x05 `Info` is a representation of OpenAPI v2 specification\'s Info object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#infoObject\n\n Example:\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {\n info: {\n title: \"Echo API\";\n version: \"1.0\";\n description: \"\";\n contact: {\n name: \"gRPC-Gateway project\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway\";\n email: \"none@example.com\";\n };\n license: {\n name: \"BSD 3-Clause License\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE\";\n };\n };\n ...\n };\n\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xbd\x02\x08\x0c\n-\n\x04\x04\x06\x02\x00\x12\x04\xbf\x02\x02\x13\x1a\x1f The title of the application.\n\n\r\n\x05\x04\x06\x02\x00\x05\x12\x04\xbf\x02\x02\x08\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xbf\x02\t\x0e\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xbf\x02\x11\x12\nm\n\x04\x04\x06\x02\x01\x12\x04\xc2\x02\x02\x19\x1a_ A short description of the application. GFM syntax can be used for rich\n text representation.\n\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\xc2\x02\x02\x08\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xc2\x02\t\x14\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xc2\x02\x17\x18\n1\n\x04\x04\x06\x02\x02\x12\x04\xc4\x02\x02\x1e\x1a# The Terms of Service for the API.\n\n\r\n\x05\x04\x06\x02\x02\x05\x12\x04\xc4\x02\x02\x08\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xc4\x02\t\x19\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xc4\x02\x1c\x1d\n<\n\x04\x04\x06\x02\x03\x12\x04\xc6\x02\x02\x16\x1a. The contact information for the exposed API.\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\xc6\x02\x02\t\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\xc6\x02\n\x11\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\xc6\x02\x14\x15\n<\n\x04\x04\x06\x02\x04\x12\x04\xc8\x02\x02\x16\x1a. The license information for the exposed API.\n\n\r\n\x05\x04\x06\x02\x04\x06\x12\x04\xc8\x02\x02\t\n\r\n\x05\x04\x06\x02\x04\x01\x12\x04\xc8\x02\n\x11\n\r\n\x05\x04\x06\x02\x04\x03\x12\x04\xc8\x02\x14\x15\nq\n\x04\x04\x06\x02\x05\x12\x04\xcb\x02\x02\x15\x1ac Provides the version of the application API (not to be confused\n with the specification version).\n\n\r\n\x05\x04\x06\x02\x05\x05\x12\x04\xcb\x02\x02\x08\n\r\n\x05\x04\x06\x02\x05\x01\x12\x04\xcb\x02\t\x10\n\r\n\x05\x04\x06\x02\x05\x03\x12\x04\xcb\x02\x13\x14\n\xec\x01\n\x04\x04\x06\x02\x06\x12\x04\xcf\x02\x024\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\r\n\x05\x04\x06\x02\x06\x06\x12\x04\xcf\x02\x02$\n\r\n\x05\x04\x06\x02\x06\x01\x12\x04\xcf\x02%/\n\r\n\x05\x04\x06\x02\x06\x03\x12\x04\xcf\x0223\n\xe7\x03\n\x02\x04\x07\x12\x06\xe5\x02\x00\xee\x02\x01\x1a\xd8\x03 `Contact` is a representation of OpenAPI v2 specification\'s Contact object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#contactObject\n\n Example:\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {\n info: {\n ...\n contact: {\n name: \"gRPC-Gateway project\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway\";\n email: \"none@example.com\";\n };\n ...\n };\n ...\n };\n\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xe5\x02\x08\x0f\nH\n\x04\x04\x07\x02\x00\x12\x04\xe7\x02\x02\x12\x1a: The identifying name of the contact person/organization.\n\n\r\n\x05\x04\x07\x02\x00\x05\x12\x04\xe7\x02\x02\x08\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\xe7\x02\t\r\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\xe7\x02\x10\x11\n]\n\x04\x04\x07\x02\x01\x12\x04\xea\x02\x02\x11\x1aO The URL pointing to the contact information. MUST be in the format of a\n URL.\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xea\x02\x02\x08\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xea\x02\t\x0c\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xea\x02\x0f\x10\nq\n\x04\x04\x07\x02\x02\x12\x04\xed\x02\x02\x13\x1ac The email address of the contact person/organization. MUST be in the format\n of an email address.\n\n\r\n\x05\x04\x07\x02\x02\x05\x12\x04\xed\x02\x02\x08\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xed\x02\t\x0e\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xed\x02\x11\x12\n\xd6\x03\n\x02\x04\x08\x12\x06\x82\x03\x00\x87\x03\x01\x1a\xc7\x03 `License` is a representation of OpenAPI v2 specification\'s License object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#licenseObject\n\n Example:\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {\n info: {\n ...\n license: {\n name: \"BSD 3-Clause License\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway/blob/main/LICENSE\";\n };\n ...\n };\n ...\n };\n\n\n\x0b\n\x03\x04\x08\x01\x12\x04\x82\x03\x08\x0f\n2\n\x04\x04\x08\x02\x00\x12\x04\x84\x03\x02\x12\x1a$ The license name used for the API.\n\n\r\n\x05\x04\x08\x02\x00\x05\x12\x04\x84\x03\x02\x08\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x84\x03\t\r\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x84\x03\x10\x11\nV\n\x04\x04\x08\x02\x01\x12\x04\x86\x03\x02\x11\x1aH A URL to the license used for the API. MUST be in the format of a URL.\n\n\r\n\x05\x04\x08\x02\x01\x05\x12\x04\x86\x03\x02\x08\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x86\x03\t\x0c\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x86\x03\x0f\x10\n\xd7\x03\n\x02\x04\t\x12\x06\x99\x03\x00\xa0\x03\x01\x1a\xc8\x03 `ExternalDocumentation` is a representation of OpenAPI v2 specification\'s\n ExternalDocumentation object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#externalDocumentationObject\n\n Example:\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {\n ...\n external_docs: {\n description: \"More about gRPC-Gateway\";\n url: \"https://github.com/grpc-ecosystem/grpc-gateway\";\n }\n ...\n };\n\n\n\x0b\n\x03\x04\t\x01\x12\x04\x99\x03\x08\x1d\nv\n\x04\x04\t\x02\x00\x12\x04\x9c\x03\x02\x19\x1ah A short description of the target documentation. GFM syntax can be used for\n rich text representation.\n\n\r\n\x05\x04\t\x02\x00\x05\x12\x04\x9c\x03\x02\x08\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x9c\x03\t\x14\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x9c\x03\x17\x18\n\\\n\x04\x04\t\x02\x01\x12\x04\x9f\x03\x02\x11\x1aN The URL for the target documentation. Value MUST be in the format\n of a URL.\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\x9f\x03\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x9f\x03\t\x0c\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x9f\x03\x0f\x10\n\xb7\x01\n\x02\x04\n\x12\x06\xa6\x03\x00\xbb\x03\x01\x1a\xa8\x01 `Schema` is a representation of OpenAPI v2 specification\'s Schema object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject\n\n\n\x0b\n\x03\x04\n\x01\x12\x04\xa6\x03\x08\x0e\n\x0c\n\x04\x04\n\x02\x00\x12\x04\xa7\x03\x02\x1d\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\xa7\x03\x02\x0c\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xa7\x03\r\x18\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xa7\x03\x1b\x1c\n\xe7\x02\n\x04\x04\n\x02\x01\x12\x04\xad\x03\x02\x1b\x1a\xd8\x02 Adds support for polymorphism. The discriminator is the schema property\n name that is used to differentiate between other schema that inherit this\n schema. The property name used MUST be defined at this schema and it MUST\n be in the required property list. When used, the value MUST be the name of\n this schema or any schema that inherits it.\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xad\x03\x02\x08\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xad\x03\t\x16\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xad\x03\x19\x1a\n\xca\x02\n\x04\x04\n\x02\x02\x12\x04\xb3\x03\x02\x15\x1a\xbb\x02 Relevant only for Schema \"properties\" definitions. Declares the property as\n \"read only\". This means that it MAY be sent as part of a response but MUST\n NOT be sent as part of the request. Properties marked as readOnly being\n true SHOULD NOT be in the required list of the defined schema. Default\n value is false.\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xb3\x03\x02\x06\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xb3\x03\x07\x10\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xb3\x03\x13\x14\n-\n\x03\x04\n\t\x12\x04\xb5\x03\x02\r\x1a field 4 is reserved for \'xml\'.\n\n\x0c\n\x04\x04\n\t\x00\x12\x04\xb5\x03\x0b\x0c\n\r\n\x05\x04\n\t\x00\x01\x12\x04\xb5\x03\x0b\x0c\n\r\n\x05\x04\n\t\x00\x02\x12\x04\xb5\x03\x0b\x0c\nB\n\x04\x04\n\x02\x03\x12\x04\xb7\x03\x02*\x1a4 Additional external documentation for this schema.\n\n\r\n\x05\x04\n\x02\x03\x06\x12\x04\xb7\x03\x02\x17\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xb7\x03\x18%\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xb7\x03()\n\x8a\x01\n\x04\x04\n\x02\x04\x12\x04\xba\x03\x02\x15\x1a| A free-form property to include an example of an instance for this schema in JSON.\n This is copied verbatim to the output.\n\n\r\n\x05\x04\n\x02\x04\x05\x12\x04\xba\x03\x02\x08\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xba\x03\t\x10\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xba\x03\x13\x14\n\xc6\x03\n\x02\x04\x0b\x12\x06\xcc\x03\x00\xe2\x03\x01\x1a\xb7\x03 `EnumSchema` is subset of fields from the OpenAPI v2 specification\'s Schema object.\n Only fields that are applicable to Enums are included\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject\n\n Example:\n\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_enum) = {\n ...\n title: \"MyEnum\";\n description:\"This is my nice enum\";\n example: \"ZERO\";\n required: true;\n ...\n };\n\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\xcc\x03\x08\x12\n2\n\x04\x04\x0b\x02\x00\x12\x04\xce\x03\x02\x19\x1a$ A short description of the schema.\n\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\xce\x03\x02\x08\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xce\x03\t\x14\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xce\x03\x17\x18\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\xcf\x03\x02\x15\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xcf\x03\x02\x08\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xcf\x03\t\x10\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xcf\x03\x13\x14\n(\n\x04\x04\x0b\x02\x02\x12\x04\xd1\x03\x02\x13\x1a\x1a The title of the schema.\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xd1\x03\x02\x08\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xd1\x03\t\x0e\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xd1\x03\x11\x12\n\x0c\n\x04\x04\x0b\x02\x03\x12\x04\xd2\x03\x02\x14\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xd2\x03\x02\x06\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xd2\x03\x07\x0f\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\xd2\x03\x12\x13\n\x0c\n\x04\x04\x0b\x02\x04\x12\x04\xd3\x03\x02\x15\n\r\n\x05\x04\x0b\x02\x04\x05\x12\x04\xd3\x03\x02\x06\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\xd3\x03\x07\x10\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\xd3\x03\x13\x14\nB\n\x04\x04\x0b\x02\x05\x12\x04\xd5\x03\x02*\x1a4 Additional external documentation for this schema.\n\n\r\n\x05\x04\x0b\x02\x05\x06\x12\x04\xd5\x03\x02\x17\n\r\n\x05\x04\x0b\x02\x05\x01\x12\x04\xd5\x03\x18%\n\r\n\x05\x04\x0b\x02\x05\x03\x12\x04\xd5\x03()\n\x0c\n\x04\x04\x0b\x02\x06\x12\x04\xd6\x03\x02\x15\n\r\n\x05\x04\x0b\x02\x06\x05\x12\x04\xd6\x03\x02\x08\n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\xd6\x03\t\x10\n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\xd6\x03\x13\x14\n\xc5\x02\n\x04\x04\x0b\x02\x07\x12\x04\xdd\x03\x02\x11\x1a\xb6\x02 Ref is used to define an external reference to include in the message.\n This could be a fully qualified proto message reference, and that type must\n be imported into the protofile. If no message is identified, the Ref will\n be used verbatim in the output.\n For example:\n `ref: \".google.protobuf.Timestamp\"`.\n\n\r\n\x05\x04\x0b\x02\x07\x05\x12\x04\xdd\x03\x02\x08\n\r\n\x05\x04\x0b\x02\x07\x01\x12\x04\xdd\x03\t\x0c\n\r\n\x05\x04\x0b\x02\x07\x03\x12\x04\xdd\x03\x0f\x10\n\xec\x01\n\x04\x04\x0b\x02\x08\x12\x04\xe1\x03\x024\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\r\n\x05\x04\x0b\x02\x08\x06\x12\x04\xe1\x03\x02$\n\r\n\x05\x04\x0b\x02\x08\x01\x12\x04\xe1\x03%/\n\r\n\x05\x04\x0b\x02\x08\x03\x12\x04\xe1\x0323\n\xe0\x06\n\x02\x04\x0c\x12\x06\x80\x04\x00\xee\x04\x01\x1a\xd1\x06 `JSONSchema` represents properties from JSON Schema taken, and as used, in\n the OpenAPI v2 spec.\n\n This includes changes made by OpenAPI v2.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject\n\n See also: https://cswr.github.io/JsonSchema/spec/basic_types/,\n https://github.com/json-schema-org/json-schema-spec/blob/master/schema.json\n\n Example:\n\n message SimpleMessage {\n option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {\n json_schema: {\n title: \"SimpleMessage\"\n description: \"A simple message.\"\n required: [\"id\"]\n }\n };\n\n // Id represents the message identifier.\n string id = 1; [\n (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {\n description: \"The unique identifier of the simple message.\"\n }];\n }\n\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x80\x04\x08\x12\nF\n\x03\x04\x0c\t\x12\x04\x82\x04\x02\r\x1a9 field 1 is reserved for \'$id\', omitted from OpenAPI v2.\n\n\x0c\n\x04\x04\x0c\t\x00\x12\x04\x82\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x01\x12\x04\x82\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x02\x12\x04\x82\x04\x0b\x0c\nJ\n\x03\x04\x0c\t\x12\x04\x84\x04\x02\r\x1a= field 2 is reserved for \'$schema\', omitted from OpenAPI v2.\n\n\x0c\n\x04\x04\x0c\t\x01\x12\x04\x84\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x01\x01\x12\x04\x84\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x01\x02\x12\x04\x84\x04\x0b\x0c\n\xc5\x02\n\x04\x04\x0c\x02\x00\x12\x04\x8b\x04\x02\x11\x1a\xb6\x02 Ref is used to define an external reference to include in the message.\n This could be a fully qualified proto message reference, and that type must\n be imported into the protofile. If no message is identified, the Ref will\n be used verbatim in the output.\n For example:\n `ref: \".google.protobuf.Timestamp\"`.\n\n\r\n\x05\x04\x0c\x02\x00\x05\x12\x04\x8b\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x8b\x04\t\x0c\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x8b\x04\x0f\x10\nK\n\x03\x04\x0c\t\x12\x04\x8d\x04\x02\r\x1a> field 4 is reserved for \'$comment\', omitted from OpenAPI v2.\n\n\x0c\n\x04\x04\x0c\t\x02\x12\x04\x8d\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x02\x01\x12\x04\x8d\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x02\x02\x12\x04\x8d\x04\x0b\x0c\n(\n\x04\x04\x0c\x02\x01\x12\x04\x8f\x04\x02\x13\x1a\x1a The title of the schema.\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x8f\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x8f\x04\t\x0e\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\x8f\x04\x11\x12\n2\n\x04\x04\x0c\x02\x02\x12\x04\x91\x04\x02\x19\x1a$ A short description of the schema.\n\n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\x91\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\x91\x04\t\x14\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\x91\x04\x17\x18\n\x0c\n\x04\x04\x0c\x02\x03\x12\x04\x92\x04\x02\x15\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\x92\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\x92\x04\t\x10\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\x92\x04\x13\x14\n\x0c\n\x04\x04\x0c\x02\x04\x12\x04\x93\x04\x02\x15\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\x93\x04\x02\x06\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\x93\x04\x07\x10\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\x93\x04\x13\x14\n\xf5\x02\n\x04\x04\x0c\x02\x05\x12\x04\x97\x04\x02\x15\x1a\xe6\x02 A free-form property to include a JSON example of this field. This is copied\n verbatim to the output swagger.json. Quotes must be escaped.\n This property is the same for 2.0 and 3.0.0 https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/3.0.0.md#schemaObject https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject\n\n\r\n\x05\x04\x0c\x02\x05\x05\x12\x04\x97\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\x97\x04\t\x10\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\x97\x04\x13\x14\n\x0c\n\x04\x04\x0c\x02\x06\x12\x04\x98\x04\x02\x1a\n\r\n\x05\x04\x0c\x02\x06\x05\x12\x04\x98\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x06\x01\x12\x04\x98\x04\t\x14\n\r\n\x05\x04\x0c\x02\x06\x03\x12\x04\x98\x04\x17\x19\ns\n\x04\x04\x0c\x02\x07\x12\x04\x9b\x04\x02\x16\x1ae Maximum represents an inclusive upper limit for a numeric instance. The\n value of MUST be a number,\n\n\r\n\x05\x04\x0c\x02\x07\x05\x12\x04\x9b\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x07\x01\x12\x04\x9b\x04\t\x10\n\r\n\x05\x04\x0c\x02\x07\x03\x12\x04\x9b\x04\x13\x15\n\x0c\n\x04\x04\x0c\x02\x08\x12\x04\x9c\x04\x02\x1e\n\r\n\x05\x04\x0c\x02\x08\x05\x12\x04\x9c\x04\x02\x06\n\r\n\x05\x04\x0c\x02\x08\x01\x12\x04\x9c\x04\x07\x18\n\r\n\x05\x04\x0c\x02\x08\x03\x12\x04\x9c\x04\x1b\x1d\ns\n\x04\x04\x0c\x02\t\x12\x04\x9f\x04\x02\x16\x1ae minimum represents an inclusive lower limit for a numeric instance. The\n value of MUST be a number,\n\n\r\n\x05\x04\x0c\x02\t\x05\x12\x04\x9f\x04\x02\x08\n\r\n\x05\x04\x0c\x02\t\x01\x12\x04\x9f\x04\t\x10\n\r\n\x05\x04\x0c\x02\t\x03\x12\x04\x9f\x04\x13\x15\n\x0c\n\x04\x04\x0c\x02\n\x12\x04\xa0\x04\x02\x1e\n\r\n\x05\x04\x0c\x02\n\x05\x12\x04\xa0\x04\x02\x06\n\r\n\x05\x04\x0c\x02\n\x01\x12\x04\xa0\x04\x07\x18\n\r\n\x05\x04\x0c\x02\n\x03\x12\x04\xa0\x04\x1b\x1d\n\x0c\n\x04\x04\x0c\x02\x0b\x12\x04\xa1\x04\x02\x19\n\r\n\x05\x04\x0c\x02\x0b\x05\x12\x04\xa1\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x0b\x01\x12\x04\xa1\x04\t\x13\n\r\n\x05\x04\x0c\x02\x0b\x03\x12\x04\xa1\x04\x16\x18\n\x0c\n\x04\x04\x0c\x02\x0c\x12\x04\xa2\x04\x02\x19\n\r\n\x05\x04\x0c\x02\x0c\x05\x12\x04\xa2\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x0c\x01\x12\x04\xa2\x04\t\x13\n\r\n\x05\x04\x0c\x02\x0c\x03\x12\x04\xa2\x04\x16\x18\n\x0c\n\x04\x04\x0c\x02\r\x12\x04\xa3\x04\x02\x16\n\r\n\x05\x04\x0c\x02\r\x05\x12\x04\xa3\x04\x02\x08\n\r\n\x05\x04\x0c\x02\r\x01\x12\x04\xa3\x04\t\x10\n\r\n\x05\x04\x0c\x02\r\x03\x12\x04\xa3\x04\x13\x15\nS\n\x03\x04\x0c\t\x12\x04\xa5\x04\x02\x0e\x1aF field 18 is reserved for \'additionalItems\', omitted from OpenAPI v2.\n\n\x0c\n\x04\x04\x0c\t\x03\x12\x04\xa5\x04\x0b\r\n\r\n\x05\x04\x0c\t\x03\x01\x12\x04\xa5\x04\x0b\r\n\r\n\x05\x04\x0c\t\x03\x02\x12\x04\xa5\x04\x0b\r\nj\n\x03\x04\x0c\t\x12\x04\xa8\x04\x02\x0e\x1a] field 19 is reserved for \'items\', but in OpenAPI-specific way.\n TODO(ivucica): add \'items\'?\n\n\x0c\n\x04\x04\x0c\t\x04\x12\x04\xa8\x04\x0b\r\n\r\n\x05\x04\x0c\t\x04\x01\x12\x04\xa8\x04\x0b\r\n\r\n\x05\x04\x0c\t\x04\x02\x12\x04\xa8\x04\x0b\r\n\x0c\n\x04\x04\x0c\x02\x0e\x12\x04\xa9\x04\x02\x18\n\r\n\x05\x04\x0c\x02\x0e\x05\x12\x04\xa9\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x0e\x01\x12\x04\xa9\x04\t\x12\n\r\n\x05\x04\x0c\x02\x0e\x03\x12\x04\xa9\x04\x15\x17\n\x0c\n\x04\x04\x0c\x02\x0f\x12\x04\xaa\x04\x02\x18\n\r\n\x05\x04\x0c\x02\x0f\x05\x12\x04\xaa\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x0f\x01\x12\x04\xaa\x04\t\x12\n\r\n\x05\x04\x0c\x02\x0f\x03\x12\x04\xaa\x04\x15\x17\n\x0c\n\x04\x04\x0c\x02\x10\x12\x04\xab\x04\x02\x19\n\r\n\x05\x04\x0c\x02\x10\x05\x12\x04\xab\x04\x02\x06\n\r\n\x05\x04\x0c\x02\x10\x01\x12\x04\xab\x04\x07\x13\n\r\n\x05\x04\x0c\x02\x10\x03\x12\x04\xab\x04\x16\x18\nL\n\x03\x04\x0c\t\x12\x04\xad\x04\x02\x0e\x1a? field 23 is reserved for \'contains\', omitted from OpenAPI v2.\n\n\x0c\n\x04\x04\x0c\t\x05\x12\x04\xad\x04\x0b\r\n\r\n\x05\x04\x0c\t\x05\x01\x12\x04\xad\x04\x0b\r\n\r\n\x05\x04\x0c\t\x05\x02\x12\x04\xad\x04\x0b\r\n\x0c\n\x04\x04\x0c\x02\x11\x12\x04\xae\x04\x02\x1d\n\r\n\x05\x04\x0c\x02\x11\x05\x12\x04\xae\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x11\x01\x12\x04\xae\x04\t\x17\n\r\n\x05\x04\x0c\x02\x11\x03\x12\x04\xae\x04\x1a\x1c\n\x0c\n\x04\x04\x0c\x02\x12\x12\x04\xaf\x04\x02\x1d\n\r\n\x05\x04\x0c\x02\x12\x05\x12\x04\xaf\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x12\x01\x12\x04\xaf\x04\t\x17\n\r\n\x05\x04\x0c\x02\x12\x03\x12\x04\xaf\x04\x1a\x1c\n\x0c\n\x04\x04\x0c\x02\x13\x12\x04\xb0\x04\x02 \n\r\n\x05\x04\x0c\x02\x13\x04\x12\x04\xb0\x04\x02\n\n\r\n\x05\x04\x0c\x02\x13\x05\x12\x04\xb0\x04\x0b\x11\n\r\n\x05\x04\x0c\x02\x13\x01\x12\x04\xb0\x04\x12\x1a\n\r\n\x05\x04\x0c\x02\x13\x03\x12\x04\xb0\x04\x1d\x1f\n\x88\x01\n\x03\x04\x0c\t\x12\x04\xb3\x04\x02\x0e\x1a{ field 27 is reserved for \'additionalProperties\', but in OpenAPI-specific\n way. TODO(ivucica): add \'additionalProperties\'?\n\n\x0c\n\x04\x04\x0c\t\x06\x12\x04\xb3\x04\x0b\r\n\r\n\x05\x04\x0c\t\x06\x01\x12\x04\xb3\x04\x0b\r\n\r\n\x05\x04\x0c\t\x06\x02\x12\x04\xb3\x04\x0b\r\nO\n\x03\x04\x0c\t\x12\x04\xb5\x04\x02\x0e\x1aB field 28 is reserved for \'definitions\', omitted from OpenAPI v2.\n\n\x0c\n\x04\x04\x0c\t\x07\x12\x04\xb5\x04\x0b\r\n\r\n\x05\x04\x0c\t\x07\x01\x12\x04\xb5\x04\x0b\r\n\r\n\x05\x04\x0c\t\x07\x02\x12\x04\xb5\x04\x0b\r\n~\n\x03\x04\x0c\t\x12\x04\xb8\x04\x02\x0e\x1aq field 29 is reserved for \'properties\', but in OpenAPI-specific way.\n TODO(ivucica): add \'additionalProperties\'?\n\n\x0c\n\x04\x04\x0c\t\x08\x12\x04\xb8\x04\x0b\r\n\r\n\x05\x04\x0c\t\x08\x01\x12\x04\xb8\x04\x0b\r\n\r\n\x05\x04\x0c\t\x08\x02\x12\x04\xb8\x04\x0b\r\n\x9b\x01\n\x03\x04\x0c\t\x12\x04\xbc\x04\x02\x14\x1a\x8d\x01 following fields are reserved, as the properties have been omitted from\n OpenAPI v2:\n patternProperties, dependencies, propertyNames, const\n\n\x0c\n\x04\x04\x0c\t\t\x12\x04\xbc\x04\x0b\x13\n\r\n\x05\x04\x0c\t\t\x01\x12\x04\xbc\x04\x0b\r\n\r\n\x05\x04\x0c\t\t\x02\x12\x04\xbc\x04\x11\x13\n0\n\x04\x04\x0c\x02\x14\x12\x04\xbe\x04\x02\x1d\x1a\" Items in \'array\' must be unique.\n\n\r\n\x05\x04\x0c\x02\x14\x04\x12\x04\xbe\x04\x02\n\n\r\n\x05\x04\x0c\x02\x14\x05\x12\x04\xbe\x04\x0b\x11\n\r\n\x05\x04\x0c\x02\x14\x01\x12\x04\xbe\x04\x12\x17\n\r\n\x05\x04\x0c\x02\x14\x03\x12\x04\xbe\x04\x1a\x1c\n\x0e\n\x04\x04\x0c\x04\x00\x12\x06\xc0\x04\x02\xc9\x04\x03\n\r\n\x05\x04\x0c\x04\x00\x01\x12\x04\xc0\x04\x07\x1c\n\x0e\n\x06\x04\x0c\x04\x00\x02\x00\x12\x04\xc1\x04\x04\x10\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x01\x12\x04\xc1\x04\x04\x0b\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x02\x12\x04\xc1\x04\x0e\x0f\n\x0e\n\x06\x04\x0c\x04\x00\x02\x01\x12\x04\xc2\x04\x04\x0e\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x01\x12\x04\xc2\x04\x04\t\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x02\x12\x04\xc2\x04\x0c\r\n\x0e\n\x06\x04\x0c\x04\x00\x02\x02\x12\x04\xc3\x04\x04\x10\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x01\x12\x04\xc3\x04\x04\x0b\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x02\x12\x04\xc3\x04\x0e\x0f\n\x0e\n\x06\x04\x0c\x04\x00\x02\x03\x12\x04\xc4\x04\x04\x10\n\x0f\n\x07\x04\x0c\x04\x00\x02\x03\x01\x12\x04\xc4\x04\x04\x0b\n\x0f\n\x07\x04\x0c\x04\x00\x02\x03\x02\x12\x04\xc4\x04\x0e\x0f\n\x0e\n\x06\x04\x0c\x04\x00\x02\x04\x12\x04\xc5\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\x00\x02\x04\x01\x12\x04\xc5\x04\x04\x08\n\x0f\n\x07\x04\x0c\x04\x00\x02\x04\x02\x12\x04\xc5\x04\x0b\x0c\n\x0e\n\x06\x04\x0c\x04\x00\x02\x05\x12\x04\xc6\x04\x04\x0f\n\x0f\n\x07\x04\x0c\x04\x00\x02\x05\x01\x12\x04\xc6\x04\x04\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x05\x02\x12\x04\xc6\x04\r\x0e\n\x0e\n\x06\x04\x0c\x04\x00\x02\x06\x12\x04\xc7\x04\x04\x0f\n\x0f\n\x07\x04\x0c\x04\x00\x02\x06\x01\x12\x04\xc7\x04\x04\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x06\x02\x12\x04\xc7\x04\r\x0e\n\x0e\n\x06\x04\x0c\x04\x00\x02\x07\x12\x04\xc8\x04\x04\x0f\n\x0f\n\x07\x04\x0c\x04\x00\x02\x07\x01\x12\x04\xc8\x04\x04\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x07\x02\x12\x04\xc8\x04\r\x0e\n\x0c\n\x04\x04\x0c\x02\x15\x12\x04\xcb\x04\x02+\n\r\n\x05\x04\x0c\x02\x15\x04\x12\x04\xcb\x04\x02\n\n\r\n\x05\x04\x0c\x02\x15\x06\x12\x04\xcb\x04\x0b \n\r\n\x05\x04\x0c\x02\x15\x01\x12\x04\xcb\x04!%\n\r\n\x05\x04\x0c\x02\x15\x03\x12\x04\xcb\x04(*\n\x18\n\x04\x04\x0c\x02\x16\x12\x04\xcd\x04\x02\x15\x1a\n `Format`\n\n\r\n\x05\x04\x0c\x02\x16\x05\x12\x04\xcd\x04\x02\x08\n\r\n\x05\x04\x0c\x02\x16\x01\x12\x04\xcd\x04\t\x0f\n\r\n\x05\x04\x0c\x02\x16\x03\x12\x04\xcd\x04\x12\x14\n\x96\x01\n\x03\x04\x0c\t\x12\x04\xd0\x04\x02\x14\x1a\x88\x01 following fields are reserved, as the properties have been omitted from\n OpenAPI v2: contentMediaType, contentEncoding, if, then, else\n\n\x0c\n\x04\x04\x0c\t\n\x12\x04\xd0\x04\x0b\x13\n\r\n\x05\x04\x0c\t\n\x01\x12\x04\xd0\x04\x0b\r\n\r\n\x05\x04\x0c\t\n\x02\x12\x04\xd0\x04\x11\x13\nj\n\x03\x04\x0c\t\x12\x04\xd3\x04\x02\x0e\x1a] field 42 is reserved for \'allOf\', but in OpenAPI-specific way.\n TODO(ivucica): add \'allOf\'?\n\n\x0c\n\x04\x04\x0c\t\x0b\x12\x04\xd3\x04\x0b\r\n\r\n\x05\x04\x0c\t\x0b\x01\x12\x04\xd3\x04\x0b\r\n\r\n\x05\x04\x0c\t\x0b\x02\x12\x04\xd3\x04\x0b\r\nv\n\x03\x04\x0c\t\x12\x04\xd7\x04\x02\x14\x1ai following fields are reserved, as the properties have been omitted from\n OpenAPI v2:\n anyOf, oneOf, not\n\n\x0c\n\x04\x04\x0c\t\x0c\x12\x04\xd7\x04\x0b\x13\n\r\n\x05\x04\x0c\t\x0c\x01\x12\x04\xd7\x04\x0b\r\n\r\n\x05\x04\x0c\t\x0c\x02\x12\x04\xd7\x04\x11\x13\n|\n\x04\x04\x0c\x02\x17\x12\x04\xd9\x04\x02\x1c\x1an Items in `enum` must be unique https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.1\n\n\r\n\x05\x04\x0c\x02\x17\x04\x12\x04\xd9\x04\x02\n\n\r\n\x05\x04\x0c\x02\x17\x05\x12\x04\xd9\x04\x0b\x11\n\r\n\x05\x04\x0c\x02\x17\x01\x12\x04\xd9\x04\x12\x16\n\r\n\x05\x04\x0c\x02\x17\x03\x12\x04\xd9\x04\x19\x1b\n[\n\x04\x04\x0c\x02\x18\x12\x04\xdc\x04\x020\x1aM Additional field level properties used when generating the OpenAPI v2 file.\n\n\r\n\x05\x04\x0c\x02\x18\x06\x12\x04\xdc\x04\x02\x14\n\r\n\x05\x04\x0c\x02\x18\x01\x12\x04\xdc\x04\x15(\n\r\n\x05\x04\x0c\x02\x18\x03\x12\x04\xdc\x04+/\n\xd9\x01\n\x04\x04\x0c\x03\x00\x12\x06\xe0\x04\x02\xe9\x04\x03\x1a\xc8\x01 \'FieldConfiguration\' provides additional field level properties used when generating the OpenAPI v2 file.\n These properties are not defined by OpenAPIv2, but they are used to control the generation.\n\n\r\n\x05\x04\x0c\x03\x00\x01\x12\x04\xe0\x04\n\x1c\n\x87\x02\n\x06\x04\x0c\x03\x00\x02\x00\x12\x04\xe5\x04\x04 \x1a\xf6\x01 Alternative parameter name when used as path parameter. If set, this will\n be used as the complete parameter name when this field is used as a path\n parameter. Use this to avoid having auto generated path parameter names\n for overlapping paths.\n\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x05\x12\x04\xe5\x04\x04\n\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x01\x12\x04\xe5\x04\x0b\x1a\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x03\x12\x04\xe5\x04\x1d\x1f\n\xa2\x01\n\x06\x04\x0c\x03\x00\x02\x01\x12\x04\xe8\x04\x04\x19\x1a\x91\x01 Declares this field to be deprecated. Allows for the generated OpenAPI\n parameter to be marked as deprecated without affecting the proto field.\n\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x05\x12\x04\xe8\x04\x04\x08\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x01\x12\x04\xe8\x04\t\x13\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x03\x12\x04\xe8\x04\x16\x18\n\xec\x01\n\x04\x04\x0c\x02\x19\x12\x04\xed\x04\x025\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\r\n\x05\x04\x0c\x02\x19\x06\x12\x04\xed\x04\x02$\n\r\n\x05\x04\x0c\x02\x19\x01\x12\x04\xed\x04%/\n\r\n\x05\x04\x0c\x02\x19\x03\x12\x04\xed\x0424\n\xae\x01\n\x02\x04\r\x12\x06\xf4\x04\x00\x82\x05\x01\x1a\x9f\x01 `Tag` is a representation of OpenAPI v2 specification\'s Tag object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#tagObject\n\n\n\x0b\n\x03\x04\r\x01\x12\x04\xf4\x04\x08\x0b\n\xa9\x01\n\x04\x04\r\x02\x00\x12\x04\xf8\x04\x02\x12\x1a\x9a\x01 The name of the tag. Use it to allow override of the name of a\n global Tag object, then use that name to reference the tag throughout the\n OpenAPI file.\n\n\r\n\x05\x04\r\x02\x00\x05\x12\x04\xf8\x04\x02\x08\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xf8\x04\t\r\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xf8\x04\x10\x11\nf\n\x04\x04\r\x02\x01\x12\x04\xfb\x04\x02\x19\x1aX A short description for the tag. GFM syntax can be used for rich text\n representation.\n\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xfb\x04\x02\x08\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xfb\x04\t\x14\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xfb\x04\x17\x18\n?\n\x04\x04\r\x02\x02\x12\x04\xfd\x04\x02*\x1a1 Additional external documentation for this tag.\n\n\r\n\x05\x04\r\x02\x02\x06\x12\x04\xfd\x04\x02\x17\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xfd\x04\x18%\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xfd\x04()\n\xec\x01\n\x04\x04\r\x02\x03\x12\x04\x81\x05\x024\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\r\n\x05\x04\r\x02\x03\x06\x12\x04\x81\x05\x02$\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\x81\x05%/\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\x81\x0523\n\xb2\x03\n\x02\x04\x0e\x12\x06\x8c\x05\x00\x90\x05\x01\x1a\xa3\x03 `SecurityDefinitions` is a representation of OpenAPI v2 specification\'s\n Security Definitions object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityDefinitionsObject\n\n A declaration of the security schemes available to be used in the\n specification. This does not enforce the security schemes on the operations\n and only serves to provide the relevant details for each scheme.\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\x8c\x05\x08\x1b\n`\n\x04\x04\x0e\x02\x00\x12\x04\x8f\x05\x02+\x1aR A single security scheme definition, mapping a \"name\" to the scheme it\n defines.\n\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\x8f\x05\x02\x1d\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x8f\x05\x1e&\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x8f\x05)*\n\xd5\x03\n\x02\x04\x0f\x12\x06\x9b\x05\x00\xd5\x05\x01\x1a\xc6\x03 `SecurityScheme` is a representation of OpenAPI v2 specification\'s\n Security Scheme object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securitySchemeObject\n\n Allows the definition of a security scheme that can be used by the\n operations. Supported schemes are basic authentication, an API key (either as\n a header or as a query parameter) and OAuth2\'s common flows (implicit,\n password, application and access code).\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\x9b\x05\x08\x16\nc\n\x04\x04\x0f\x04\x00\x12\x06\x9e\x05\x02\xa3\x05\x03\x1aS The type of the security scheme. Valid values are \"basic\",\n \"apiKey\" or \"oauth2\".\n\n\r\n\x05\x04\x0f\x04\x00\x01\x12\x04\x9e\x05\x07\x0b\n\x0e\n\x06\x04\x0f\x04\x00\x02\x00\x12\x04\x9f\x05\x04\x15\n\x0f\n\x07\x04\x0f\x04\x00\x02\x00\x01\x12\x04\x9f\x05\x04\x10\n\x0f\n\x07\x04\x0f\x04\x00\x02\x00\x02\x12\x04\x9f\x05\x13\x14\n\x0e\n\x06\x04\x0f\x04\x00\x02\x01\x12\x04\xa0\x05\x04\x13\n\x0f\n\x07\x04\x0f\x04\x00\x02\x01\x01\x12\x04\xa0\x05\x04\x0e\n\x0f\n\x07\x04\x0f\x04\x00\x02\x01\x02\x12\x04\xa0\x05\x11\x12\n\x0e\n\x06\x04\x0f\x04\x00\x02\x02\x12\x04\xa1\x05\x04\x15\n\x0f\n\x07\x04\x0f\x04\x00\x02\x02\x01\x12\x04\xa1\x05\x04\x10\n\x0f\n\x07\x04\x0f\x04\x00\x02\x02\x02\x12\x04\xa1\x05\x13\x14\n\x0e\n\x06\x04\x0f\x04\x00\x02\x03\x12\x04\xa2\x05\x04\x14\n\x0f\n\x07\x04\x0f\x04\x00\x02\x03\x01\x12\x04\xa2\x05\x04\x0f\n\x0f\n\x07\x04\x0f\x04\x00\x02\x03\x02\x12\x04\xa2\x05\x12\x13\nT\n\x04\x04\x0f\x04\x01\x12\x06\xa6\x05\x02\xaa\x05\x03\x1aD The location of the API key. Valid values are \"query\" or \"header\".\n\n\r\n\x05\x04\x0f\x04\x01\x01\x12\x04\xa6\x05\x07\t\n\x0e\n\x06\x04\x0f\x04\x01\x02\x00\x12\x04\xa7\x05\x04\x13\n\x0f\n\x07\x04\x0f\x04\x01\x02\x00\x01\x12\x04\xa7\x05\x04\x0e\n\x0f\n\x07\x04\x0f\x04\x01\x02\x00\x02\x12\x04\xa7\x05\x11\x12\n\x0e\n\x06\x04\x0f\x04\x01\x02\x01\x12\x04\xa8\x05\x04\x11\n\x0f\n\x07\x04\x0f\x04\x01\x02\x01\x01\x12\x04\xa8\x05\x04\x0c\n\x0f\n\x07\x04\x0f\x04\x01\x02\x01\x02\x12\x04\xa8\x05\x0f\x10\n\x0e\n\x06\x04\x0f\x04\x01\x02\x02\x12\x04\xa9\x05\x04\x12\n\x0f\n\x07\x04\x0f\x04\x01\x02\x02\x01\x12\x04\xa9\x05\x04\r\n\x0f\n\x07\x04\x0f\x04\x01\x02\x02\x02\x12\x04\xa9\x05\x10\x11\n\x87\x01\n\x04\x04\x0f\x04\x02\x12\x06\xae\x05\x02\xb4\x05\x03\x1aw The flow used by the OAuth2 security scheme. Valid values are\n \"implicit\", \"password\", \"application\" or \"accessCode\".\n\n\r\n\x05\x04\x0f\x04\x02\x01\x12\x04\xae\x05\x07\x0b\n\x0e\n\x06\x04\x0f\x04\x02\x02\x00\x12\x04\xaf\x05\x04\x15\n\x0f\n\x07\x04\x0f\x04\x02\x02\x00\x01\x12\x04\xaf\x05\x04\x10\n\x0f\n\x07\x04\x0f\x04\x02\x02\x00\x02\x12\x04\xaf\x05\x13\x14\n\x0e\n\x06\x04\x0f\x04\x02\x02\x01\x12\x04\xb0\x05\x04\x16\n\x0f\n\x07\x04\x0f\x04\x02\x02\x01\x01\x12\x04\xb0\x05\x04\x11\n\x0f\n\x07\x04\x0f\x04\x02\x02\x01\x02\x12\x04\xb0\x05\x14\x15\n\x0e\n\x06\x04\x0f\x04\x02\x02\x02\x12\x04\xb1\x05\x04\x16\n\x0f\n\x07\x04\x0f\x04\x02\x02\x02\x01\x12\x04\xb1\x05\x04\x11\n\x0f\n\x07\x04\x0f\x04\x02\x02\x02\x02\x12\x04\xb1\x05\x14\x15\n\x0e\n\x06\x04\x0f\x04\x02\x02\x03\x12\x04\xb2\x05\x04\x19\n\x0f\n\x07\x04\x0f\x04\x02\x02\x03\x01\x12\x04\xb2\x05\x04\x14\n\x0f\n\x07\x04\x0f\x04\x02\x02\x03\x02\x12\x04\xb2\x05\x17\x18\n\x0e\n\x06\x04\x0f\x04\x02\x02\x04\x12\x04\xb3\x05\x04\x19\n\x0f\n\x07\x04\x0f\x04\x02\x02\x04\x01\x12\x04\xb3\x05\x04\x14\n\x0f\n\x07\x04\x0f\x04\x02\x02\x04\x02\x12\x04\xb3\x05\x17\x18\na\n\x04\x04\x0f\x02\x00\x12\x04\xb8\x05\x02\x10\x1aS The type of the security scheme. Valid values are \"basic\",\n \"apiKey\" or \"oauth2\".\n\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xb8\x05\x02\x06\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xb8\x05\x07\x0b\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xb8\x05\x0e\x0f\n8\n\x04\x04\x0f\x02\x01\x12\x04\xba\x05\x02\x19\x1a* A short description for security scheme.\n\n\r\n\x05\x04\x0f\x02\x01\x05\x12\x04\xba\x05\x02\x08\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xba\x05\t\x14\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xba\x05\x17\x18\nX\n\x04\x04\x0f\x02\x02\x12\x04\xbd\x05\x02\x12\x1aJ The name of the header or query parameter to be used.\n Valid for apiKey.\n\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\xbd\x05\x02\x08\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xbd\x05\t\r\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xbd\x05\x10\x11\nf\n\x04\x04\x0f\x02\x03\x12\x04\xc1\x05\x02\x0c\x1aX The location of the API key. Valid values are \"query\" or\n \"header\".\n Valid for apiKey.\n\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\xc1\x05\x02\x04\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xc1\x05\x05\x07\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xc1\x05\n\x0b\n\x99\x01\n\x04\x04\x0f\x02\x04\x12\x04\xc5\x05\x02\x10\x1a\x8a\x01 The flow used by the OAuth2 security scheme. Valid values are\n \"implicit\", \"password\", \"application\" or \"accessCode\".\n Valid for oauth2.\n\n\r\n\x05\x04\x0f\x02\x04\x06\x12\x04\xc5\x05\x02\x06\n\r\n\x05\x04\x0f\x02\x04\x01\x12\x04\xc5\x05\x07\x0b\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\xc5\x05\x0e\x0f\n\x98\x01\n\x04\x04\x0f\x02\x05\x12\x04\xc9\x05\x02\x1f\x1a\x89\x01 The authorization URL to be used for this flow. This SHOULD be in\n the form of a URL.\n Valid for oauth2/implicit and oauth2/accessCode.\n\n\r\n\x05\x04\x0f\x02\x05\x05\x12\x04\xc9\x05\x02\x08\n\r\n\x05\x04\x0f\x02\x05\x01\x12\x04\xc9\x05\t\x1a\n\r\n\x05\x04\x0f\x02\x05\x03\x12\x04\xc9\x05\x1d\x1e\n\xa4\x01\n\x04\x04\x0f\x02\x06\x12\x04\xcd\x05\x02\x17\x1a\x95\x01 The token URL to be used for this flow. This SHOULD be in the\n form of a URL.\n Valid for oauth2/password, oauth2/application and oauth2/accessCode.\n\n\r\n\x05\x04\x0f\x02\x06\x05\x12\x04\xcd\x05\x02\x08\n\r\n\x05\x04\x0f\x02\x06\x01\x12\x04\xcd\x05\t\x12\n\r\n\x05\x04\x0f\x02\x06\x03\x12\x04\xcd\x05\x15\x16\nW\n\x04\x04\x0f\x02\x07\x12\x04\xd0\x05\x02\x14\x1aI The available scopes for the OAuth2 security scheme.\n Valid for oauth2.\n\n\r\n\x05\x04\x0f\x02\x07\x06\x12\x04\xd0\x05\x02\x08\n\r\n\x05\x04\x0f\x02\x07\x01\x12\x04\xd0\x05\t\x0f\n\r\n\x05\x04\x0f\x02\x07\x03\x12\x04\xd0\x05\x12\x13\n\xec\x01\n\x04\x04\x0f\x02\x08\x12\x04\xd4\x05\x024\x1a\xdd\x01 Custom properties that start with \"x-\" such as \"x-foo\" used to describe\n extra functionality that is not covered by the standard OpenAPI Specification.\n See: https://swagger.io/docs/specification/2-0/swagger-extensions/\n\n\r\n\x05\x04\x0f\x02\x08\x06\x12\x04\xd4\x05\x02$\n\r\n\x05\x04\x0f\x02\x08\x01\x12\x04\xd4\x05%/\n\r\n\x05\x04\x0f\x02\x08\x03\x12\x04\xd4\x0523\n\x9b\x04\n\x02\x04\x10\x12\x06\xe2\x05\x00\xee\x05\x01\x1a\x8c\x04 `SecurityRequirement` is a representation of OpenAPI v2 specification\'s\n Security Requirement object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityRequirementObject\n\n Lists the required security schemes to execute this operation. The object can\n have multiple security schemes declared in it which are all required (that\n is, there is a logical AND between the schemes).\n\n The name used for each property MUST correspond to a security scheme\n declared in the Security Definitions.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xe2\x05\x08\x1b\n\xbe\x01\n\x04\x04\x10\x03\x00\x12\x06\xe6\x05\x02\xe8\x05\x03\x1a\xad\x01 If the security scheme is of type \"oauth2\", then the value is a list of\n scope names required for the execution. For other security scheme types,\n the array MUST be empty.\n\n\r\n\x05\x04\x10\x03\x00\x01\x12\x04\xe6\x05\n\"\n\x0e\n\x06\x04\x10\x03\x00\x02\x00\x12\x04\xe7\x05\x04\x1e\n\x0f\n\x07\x04\x10\x03\x00\x02\x00\x04\x12\x04\xe7\x05\x04\x0c\n\x0f\n\x07\x04\x10\x03\x00\x02\x00\x05\x12\x04\xe7\x05\r\x13\n\x0f\n\x07\x04\x10\x03\x00\x02\x00\x01\x12\x04\xe7\x05\x14\x19\n\x0f\n\x07\x04\x10\x03\x00\x02\x00\x03\x12\x04\xe7\x05\x1c\x1d\n\x9b\x02\n\x04\x04\x10\x02\x00\x12\x04\xed\x05\x02A\x1a\x8c\x02 Each name must correspond to a security scheme which is declared in\n the Security Definitions. If the security scheme is of type \"oauth2\",\n then the value is a list of scope names required for the execution.\n For other security scheme types, the array MUST be empty.\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xed\x05\x02\'\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xed\x05(<\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xed\x05?@\n\xf2\x01\n\x02\x04\x11\x12\x06\xf5\x05\x00\xf9\x05\x01\x1a\xe3\x01 `Scopes` is a representation of OpenAPI v2 specification\'s Scopes object.\n\n See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#scopesObject\n\n Lists the available scopes for an OAuth2 security scheme.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xf5\x05\x08\x0e\nl\n\x04\x04\x11\x02\x00\x12\x04\xf8\x05\x02 \x1a^ Maps between a name of a scope to a short description of it (as the value\n of the property).\n\n\r\n\x05\x04\x11\x02\x00\x06\x12\x04\xf8\x05\x02\x15\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xf8\x05\x16\x1b\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xf8\x05\x1e\x1fb\x06proto3\n\xda\x15\n.protoc-gen-openapiv2/options/annotations.proto\x12)grpc.gateway.protoc_gen_openapiv2.options\x1a google/protobuf/descriptor.proto\x1a,protoc-gen-openapiv2/options/openapiv2.proto:~\n\x11openapiv2_swagger\x12\x1c.google.protobuf.FileOptions\x18\x92\x08 \x01(\x0b22.grpc.gateway.protoc_gen_openapiv2.options.SwaggerR\x10openapiv2Swagger:\x86\x01\n\x13openapiv2_operation\x12\x1e.google.protobuf.MethodOptions\x18\x92\x08 \x01(\x0b24.grpc.gateway.protoc_gen_openapiv2.options.OperationR\x12openapiv2Operation:~\n\x10openapiv2_schema\x12\x1f.google.protobuf.MessageOptions\x18\x92\x08 \x01(\x0b21.grpc.gateway.protoc_gen_openapiv2.options.SchemaR\x0fopenapiv2Schema:{\n\x0eopenapiv2_enum\x12\x1c.google.protobuf.EnumOptions\x18\x92\x08 \x01(\x0b25.grpc.gateway.protoc_gen_openapiv2.options.EnumSchemaR\ropenapiv2Enum:u\n\ropenapiv2_tag\x12\x1f.google.protobuf.ServiceOptions\x18\x92\x08 \x01(\x0b2..grpc.gateway.protoc_gen_openapiv2.options.TagR\x0copenapiv2Tag:~\n\x0fopenapiv2_field\x12\x1d.google.protobuf.FieldOptions\x18\x92\x08 \x01(\x0b25.grpc.gateway.protoc_gen_openapiv2.options.JSONSchemaR\x0eopenapiv2FieldBHZFgithub.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/optionsJ\xdd\r\n\x06\x12\x04\x00\x002\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x002\n\t\n\x02\x03\x00\x12\x03\x04\x00*\n\t\n\x02\x03\x01\x12\x03\x05\x006\n\x08\n\x01\x08\x12\x03\x07\x00]\n\t\n\x02\x08\x0b\x12\x03\x07\x00]\n\t\n\x01\x07\x12\x04\t\x00\x0f\x01\n\xdb\x01\n\x02\x07\x00\x12\x03\x0e\x02#\x1a\xcf\x01 ID assigned by protobuf-global-extension-registry@google.com for gRPC-Gateway project.\n\n All IDs are the same, as assigned. It is okay that they are the same, as they extend\n different descriptor messages.\n\n\n\n\x03\x07\x00\x02\x12\x03\t\x07\"\n\n\n\x03\x07\x00\x06\x12\x03\x0e\x02\t\n\n\n\x03\x07\x00\x01\x12\x03\x0e\n\x1b\n\n\n\x03\x07\x00\x03\x12\x03\x0e\x1e\"\n\t\n\x01\x07\x12\x04\x10\x00\x16\x01\n\xdb\x01\n\x02\x07\x01\x12\x03\x15\x02\'\x1a\xcf\x01 ID assigned by protobuf-global-extension-registry@google.com for gRPC-Gateway project.\n\n All IDs are the same, as assigned. It is okay that they are the same, as they extend\n different descriptor messages.\n\n\n\n\x03\x07\x01\x02\x12\x03\x10\x07$\n\n\n\x03\x07\x01\x06\x12\x03\x15\x02\x0b\n\n\n\x03\x07\x01\x01\x12\x03\x15\x0c\x1f\n\n\n\x03\x07\x01\x03\x12\x03\x15\"&\n\t\n\x01\x07\x12\x04\x17\x00\x1d\x01\n\xdb\x01\n\x02\x07\x02\x12\x03\x1c\x02!\x1a\xcf\x01 ID assigned by protobuf-global-extension-registry@google.com for gRPC-Gateway project.\n\n All IDs are the same, as assigned. It is okay that they are the same, as they extend\n different descriptor messages.\n\n\n\n\x03\x07\x02\x02\x12\x03\x17\x07%\n\n\n\x03\x07\x02\x06\x12\x03\x1c\x02\x08\n\n\n\x03\x07\x02\x01\x12\x03\x1c\t\x19\n\n\n\x03\x07\x02\x03\x12\x03\x1c\x1c \n\t\n\x01\x07\x12\x04\x1e\x00$\x01\n\xdb\x01\n\x02\x07\x03\x12\x03#\x02#\x1a\xcf\x01 ID assigned by protobuf-global-extension-registry@google.com for gRPC-Gateway project.\n\n All IDs are the same, as assigned. It is okay that they are the same, as they extend\n different descriptor messages.\n\n\n\n\x03\x07\x03\x02\x12\x03\x1e\x07\"\n\n\n\x03\x07\x03\x06\x12\x03#\x02\x0c\n\n\n\x03\x07\x03\x01\x12\x03#\r\x1b\n\n\n\x03\x07\x03\x03\x12\x03#\x1e\"\n\t\n\x01\x07\x12\x04%\x00+\x01\n\xdb\x01\n\x02\x07\x04\x12\x03*\x02\x1b\x1a\xcf\x01 ID assigned by protobuf-global-extension-registry@google.com for gRPC-Gateway project.\n\n All IDs are the same, as assigned. It is okay that they are the same, as they extend\n different descriptor messages.\n\n\n\n\x03\x07\x04\x02\x12\x03%\x07%\n\n\n\x03\x07\x04\x06\x12\x03*\x02\x05\n\n\n\x03\x07\x04\x01\x12\x03*\x06\x13\n\n\n\x03\x07\x04\x03\x12\x03*\x16\x1a\n\t\n\x01\x07\x12\x04,\x002\x01\n\xdb\x01\n\x02\x07\x05\x12\x031\x02$\x1a\xcf\x01 ID assigned by protobuf-global-extension-registry@google.com for gRPC-Gateway project.\n\n All IDs are the same, as assigned. It is okay that they are the same, as they extend\n different descriptor messages.\n\n\n\n\x03\x07\x05\x02\x12\x03,\x07#\n\n\n\x03\x07\x05\x06\x12\x031\x02\x0c\n\n\n\x03\x07\x05\x01\x12\x031\r\x1c\n\n\n\x03\x07\x05\x03\x12\x031\x1f#b\x06proto3\n\xdf5\n\x1eidentity/api/v1/identity.proto\x12\x14xmtp.identity.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a\'identity/associations/association.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\x96\x01\n*VerifySmartContractWalletSignaturesRequest\x12h\n\nsignatures\x18\x01 \x03(\x0b2H.xmtp.identity.api.v1.VerifySmartContractWalletSignatureRequestSignatureR\nsignatures\"\xbe\x01\n2VerifySmartContractWalletSignatureRequestSignature\x12\x1d\n\naccount_id\x18\x01 \x01(\tR\taccountId\x12&\n\x0cblock_number\x18\x02 \x01(\x04H\x00R\x0bblockNumber\x88\x01\x01\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hashB\x0f\n\r_block_number\"\xb1\x02\n+VerifySmartContractWalletSignaturesResponse\x12r\n\tresponses\x18\x01 \x03(\x0b2T.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse.ValidationResponseR\tresponses\x1a\x8d\x01\n\x12ValidationResponse\x12\x19\n\x08is_valid\x18\x01 \x01(\x08R\x07isValid\x12&\n\x0cblock_number\x18\x02 \x01(\x04H\x00R\x0bblockNumber\x88\x01\x01\x12\x19\n\x05error\x18\x03 \x01(\tH\x01R\x05error\x88\x01\x01B\x0f\n\r_block_numberB\x08\n\x06_error\"s\n\x1cPublishIdentityUpdateRequest\x12S\n\x0fidentity_update\x18\x01 \x01(\x0b2*.xmtp.identity.associations.IdentityUpdateR\x0eidentityUpdate\"\x1f\n\x1dPublishIdentityUpdateResponse\"\xb7\x01\n\x19GetIdentityUpdatesRequest\x12S\n\x08requests\x18\x01 \x03(\x0b27.xmtp.identity.api.v1.GetIdentityUpdatesRequest.RequestR\x08requests\x1aE\n\x07Request\x12\x19\n\x08inbox_id\x18\x01 \x01(\tR\x07inboxId\x12\x1f\n\x0bsequence_id\x18\x02 \x01(\x04R\nsequenceId\"\xa6\x03\n\x1aGetIdentityUpdatesResponse\x12W\n\tresponses\x18\x01 \x03(\x0b29.xmtp.identity.api.v1.GetIdentityUpdatesResponse.ResponseR\tresponses\x1a\xa8\x01\n\x11IdentityUpdateLog\x12\x1f\n\x0bsequence_id\x18\x01 \x01(\x04R\nsequenceId\x12.\n\x13server_timestamp_ns\x18\x02 \x01(\x04R\x11serverTimestampNs\x12B\n\x06update\x18\x03 \x01(\x0b2*.xmtp.identity.associations.IdentityUpdateR\x06update\x1a\x83\x01\n\x08Response\x12\x19\n\x08inbox_id\x18\x01 \x01(\tR\x07inboxId\x12\\\n\x07updates\x18\x02 \x03(\x0b2B.xmtp.identity.api.v1.GetIdentityUpdatesResponse.IdentityUpdateLogR\x07updates\"\xe2\x01\n\x12GetInboxIdsRequest\x12L\n\x08requests\x18\x01 \x03(\x0b20.xmtp.identity.api.v1.GetInboxIdsRequest.RequestR\x08requests\x1a~\n\x07Request\x12\x1e\n\nidentifier\x18\x01 \x01(\tR\nidentifier\x12S\n\x0fidentifier_kind\x18\x02 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKind\"\x96\x02\n\x13GetInboxIdsResponse\x12P\n\tresponses\x18\x01 \x03(\x0b22.xmtp.identity.api.v1.GetInboxIdsResponse.ResponseR\tresponses\x1a\xac\x01\n\x08Response\x12\x1e\n\nidentifier\x18\x01 \x01(\tR\nidentifier\x12\x1e\n\x08inbox_id\x18\x02 \x01(\tH\x00R\x07inboxId\x88\x01\x01\x12S\n\x0fidentifier_kind\x18\x03 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKindB\x0b\n\t_inbox_id2\xe3\x05\n\x0bIdentityApi\x12\xb1\x01\n\x15PublishIdentityUpdate\x122.xmtp.identity.api.v1.PublishIdentityUpdateRequest\x1a3.xmtp.identity.api.v1.PublishIdentityUpdateResponse\"/\x82\xd3\xe4\x93\x02)\"$/identity/v1/publish-identity-update:\x01*\x12\xa5\x01\n\x12GetIdentityUpdates\x12/.xmtp.identity.api.v1.GetIdentityUpdatesRequest\x1a0.xmtp.identity.api.v1.GetIdentityUpdatesResponse\",\x82\xd3\xe4\x93\x02&\"!/identity/v1/get-identity-updates:\x01*\x12\x89\x01\n\x0bGetInboxIds\x12(.xmtp.identity.api.v1.GetInboxIdsRequest\x1a).xmtp.identity.api.v1.GetInboxIdsResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/identity/v1/get-inbox-ids:\x01*\x12\xeb\x01\n#VerifySmartContractWalletSignatures\x12@.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest\x1aA.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse\"?\x82\xd3\xe4\x93\x029\"4/identity/v1/verify-smart-contract-wallet-signatures:\x01*BZ\n\x19org.xmtp.proto.mls.api.v1Z&github.com/xmtp/proto/v3/go/mls/api/v1\x92A\x14\x12\x12\n\x0bIdentityApi2\x031.0J\xe0\x1e\n\x07\x12\x05\x01\x00\x8b\x01\x01\n\x17\n\x01\x0c\x12\x03\x01\x00\x12\x1a\r Message API\n\n\x08\n\x01\x02\x12\x03\x02\x00\x1d\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x001\n\t\n\x02\x03\x02\x12\x03\x06\x008\n\x08\n\x01\x08\x12\x03\x08\x00=\n\t\n\x02\x08\x0b\x12\x03\x08\x00=\n\x08\n\x01\x08\x12\x03\t\x002\n\t\n\x02\x08\x01\x12\x03\t\x002\n\t\n\x01\x08\x12\x04\n\x00\x0f\x02\n\x0b\n\x03\x08\x92\x08\x12\x04\n\x00\x0f\x02\n&\n\x02\x06\x00\x12\x04\x12\x005\x01\x1a\x1a RPCs for the new MLS API\n\n\n\n\x03\x06\x00\x01\x12\x03\x12\x08\x13\n\x9d\x01\n\x04\x06\x00\x02\x00\x12\x04\x15\x02\x1a\x03\x1a\x8e\x01 Publishes an identity update for an XID or wallet. An identity update may\n consist of multiple identity actions that have been batch signed.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x15\x06\x1b\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x15\x1c8\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x15C`\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\x16\x04\x19\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\x16\x04\x19\x06\n\xc6\x01\n\x04\x06\x00\x02\x01\x12\x04\x1f\x02$\x03\x1a\xb7\x01 Used to check for changes related to members of a group.\n Would return an array of any new installations associated with the wallet\n address, and any revocations that have happened.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x1f\x06\x18\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x1f\x192\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x1f=W\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04 \x04#\x06\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04 \x04#\x06\n9\n\x04\x06\x00\x02\x02\x12\x04\'\x02,\x03\x1a+ Retrieve the XIDs for the given addresses\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03\'\x06\x11\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03\'\x12$\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03\'/B\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04(\x04+\x06\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04(\x04+\x06\nD\n\x04\x06\x00\x02\x03\x12\x04/\x024\x03\x1a6 Verify an unverified smart contract wallet signature\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03/\x06)\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03/*T\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04/_\x8a\x01\n\r\n\x05\x06\x00\x02\x03\x04\x12\x040\x043\x06\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x040\x043\x06\n\n\n\x02\x04\x00\x12\x047\x009\x01\n\n\n\x03\x04\x00\x01\x12\x037\x082\n\x0b\n\x04\x04\x00\x02\x00\x12\x038\x02M\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x038\x0b=\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x038>H\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x038KL\n\n\n\x02\x04\x01\x12\x04;\x00D\x01\n\n\n\x03\x04\x01\x01\x12\x03;\x08:\n`\n\x04\x04\x01\x02\x00\x12\x03>\x02\x18\x1aS CAIP-10 string\n https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-10.md\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03>\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03>\t\x13\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03>\x16\x17\nG\n\x04\x04\x01\x02\x01\x12\x03@\x02#\x1a: Specify the block number to verify the signature against\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03@\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03@\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03@\x12\x1e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03@!\"\n\"\n\x04\x04\x01\x02\x02\x12\x03B\x02\x16\x1a\x15 The signature bytes\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03B\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03B\x08\x11\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03B\x14\x15\n\x0b\n\x04\x04\x01\x02\x03\x12\x03C\x02\x11\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03C\x02\x07\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03C\x08\x0c\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03C\x0f\x10\n\n\n\x02\x04\x02\x12\x04F\x00N\x01\n\n\n\x03\x04\x02\x01\x12\x03F\x083\n\x0c\n\x04\x04\x02\x03\x00\x12\x04G\x02K\x03\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03G\n\x1c\n\r\n\x06\x04\x02\x03\x00\x02\x00\x12\x03H\x04\x16\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x03H\x04\x08\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x03H\t\x11\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x03H\x14\x15\n\r\n\x06\x04\x02\x03\x00\x02\x01\x12\x03I\x04%\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x04\x12\x03I\x04\x0c\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x03I\r\x13\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x03I\x14 \n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x03I#$\n\r\n\x06\x04\x02\x03\x00\x02\x02\x12\x03J\x04\x1e\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x04\x12\x03J\x04\x0c\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x05\x12\x03J\r\x13\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x01\x12\x03J\x14\x19\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x03\x12\x03J\x1c\x1d\n\x0b\n\x04\x04\x02\x02\x00\x12\x03M\x02,\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03M\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03M\x0b\x1d\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03M\x1e\'\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03M*+\n9\n\x02\x04\x03\x12\x04Q\x00S\x01\x1a- Publishes an identity update to the network\n\n\n\n\x03\x04\x03\x01\x12\x03Q\x08$\n\x0b\n\x04\x04\x03\x02\x00\x12\x03R\x02@\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03R\x02+\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03R,;\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03R>?\n>\n\x02\x04\x04\x12\x03V\x00(\x1a3 The response when an identity update is published\n\n\n\n\x03\x04\x04\x01\x12\x03V\x08%\nF\n\x02\x04\x05\x12\x04Y\x00b\x01\x1a: Get all updates for an identity since the specified time\n\n\n\n\x03\x04\x05\x01\x12\x03Y\x08!\n\x8f\x01\n\x04\x04\x05\x03\x00\x12\x04\\\x02_\x03\x1a\x80\x01 Points to the last entry the client has received. The sequence_id should be\n set to 0 if the client has not received anything.\n\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03\\\n\x11\n\r\n\x06\x04\x05\x03\x00\x02\x00\x12\x03]\x04\x18\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x05\x12\x03]\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03]\x0b\x13\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03]\x16\x17\n\r\n\x06\x04\x05\x03\x00\x02\x01\x12\x03^\x04\x1b\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x05\x12\x03^\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x01\x12\x03^\x0b\x16\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x03\x12\x03^\x19\x1a\n\x0b\n\x04\x04\x05\x02\x00\x12\x03a\x02 \n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03a\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03a\x0b\x12\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03a\x13\x1b\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03a\x1e\x1f\nB\n\x02\x04\x06\x12\x04e\x00t\x01\x1a6 Returns all log entries for the requested identities\n\n\n\n\x03\x04\x06\x01\x12\x03e\x08\"\n<\n\x04\x04\x06\x03\x00\x12\x04g\x02k\x03\x1a. A single entry in the XID log on the server.\n\n\x0c\n\x05\x04\x06\x03\x00\x01\x12\x03g\n\x1b\n\r\n\x06\x04\x06\x03\x00\x02\x00\x12\x03h\x04\x1b\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x05\x12\x03h\x04\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x03h\x0b\x16\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x03h\x19\x1a\n\r\n\x06\x04\x06\x03\x00\x02\x01\x12\x03i\x04#\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x03i\x04\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x03i\x0b\x1e\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x03i!\"\n\r\n\x06\x04\x06\x03\x00\x02\x02\x12\x03j\x049\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x06\x12\x03j\x04-\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x01\x12\x03j.4\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x03\x12\x03j78\nT\n\x04\x04\x06\x03\x01\x12\x04n\x02q\x03\x1aF The update log for a single identity, starting after the last cursor\n\n\x0c\n\x05\x04\x06\x03\x01\x01\x12\x03n\n\x12\n\r\n\x06\x04\x06\x03\x01\x02\x00\x12\x03o\x04\x18\n\x0e\n\x07\x04\x06\x03\x01\x02\x00\x05\x12\x03o\x04\n\n\x0e\n\x07\x04\x06\x03\x01\x02\x00\x01\x12\x03o\x0b\x13\n\x0e\n\x07\x04\x06\x03\x01\x02\x00\x03\x12\x03o\x16\x17\n\r\n\x06\x04\x06\x03\x01\x02\x01\x12\x03p\x04+\n\x0e\n\x07\x04\x06\x03\x01\x02\x01\x04\x12\x03p\x04\x0c\n\x0e\n\x07\x04\x06\x03\x01\x02\x01\x06\x12\x03p\r\x1e\n\x0e\n\x07\x04\x06\x03\x01\x02\x01\x01\x12\x03p\x1f&\n\x0e\n\x07\x04\x06\x03\x01\x02\x01\x03\x12\x03p)*\n\x0b\n\x04\x04\x06\x02\x00\x12\x03s\x02\"\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x03s\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03s\x0b\x13\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03s\x14\x1d\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03s !\nB\n\x02\x04\x07\x12\x04w\x00\x7f\x01\x1a6 Request to retrieve the XIDs for the given addresses\n\n\n\n\x03\x04\x07\x01\x12\x03w\x08\x1a\n4\n\x04\x04\x07\x03\x00\x12\x04y\x02|\x03\x1a& A single request for a given address\n\n\x0c\n\x05\x04\x07\x03\x00\x01\x12\x03y\n\x11\n\r\n\x06\x04\x07\x03\x00\x02\x00\x12\x03z\x04\x1a\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x05\x12\x03z\x04\n\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x01\x12\x03z\x0b\x15\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x03\x12\x03z\x18\x19\n\r\n\x06\x04\x07\x03\x00\x02\x01\x12\x03{\x04B\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x06\x12\x03{\x04-\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x01\x12\x03{.=\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x03\x12\x03{@A\n\x0b\n\x04\x04\x07\x02\x00\x12\x03~\x02 \n\x0c\n\x05\x04\x07\x02\x00\x04\x12\x03~\x02\n\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03~\x0b\x12\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03~\x13\x1b\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03~\x1e\x1f\nB\n\x02\x04\x08\x12\x06\x82\x01\x00\x8b\x01\x01\x1a4 Response with the XIDs for the requested addresses\n\n\x0b\n\x03\x04\x08\x01\x12\x04\x82\x01\x08\x1b\n7\n\x04\x04\x08\x03\x00\x12\x06\x84\x01\x02\x88\x01\x03\x1a\' A single response for a given address\n\n\r\n\x05\x04\x08\x03\x00\x01\x12\x04\x84\x01\n\x12\n\x0e\n\x06\x04\x08\x03\x00\x02\x00\x12\x04\x85\x01\x04\x1a\n\x0f\n\x07\x04\x08\x03\x00\x02\x00\x05\x12\x04\x85\x01\x04\n\n\x0f\n\x07\x04\x08\x03\x00\x02\x00\x01\x12\x04\x85\x01\x0b\x15\n\x0f\n\x07\x04\x08\x03\x00\x02\x00\x03\x12\x04\x85\x01\x18\x19\n\x0e\n\x06\x04\x08\x03\x00\x02\x01\x12\x04\x86\x01\x04!\n\x0f\n\x07\x04\x08\x03\x00\x02\x01\x04\x12\x04\x86\x01\x04\x0c\n\x0f\n\x07\x04\x08\x03\x00\x02\x01\x05\x12\x04\x86\x01\r\x13\n\x0f\n\x07\x04\x08\x03\x00\x02\x01\x01\x12\x04\x86\x01\x14\x1c\n\x0f\n\x07\x04\x08\x03\x00\x02\x01\x03\x12\x04\x86\x01\x1f \n\x0e\n\x06\x04\x08\x03\x00\x02\x02\x12\x04\x87\x01\x04B\n\x0f\n\x07\x04\x08\x03\x00\x02\x02\x06\x12\x04\x87\x01\x04-\n\x0f\n\x07\x04\x08\x03\x00\x02\x02\x01\x12\x04\x87\x01.=\n\x0f\n\x07\x04\x08\x03\x00\x02\x02\x03\x12\x04\x87\x01@A\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\x8a\x01\x02\"\n\r\n\x05\x04\x08\x02\x00\x04\x12\x04\x8a\x01\x02\n\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\x8a\x01\x0b\x13\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x8a\x01\x14\x1d\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x8a\x01 !b\x06proto3\n\xfc4\n\x1fmls_validation/v1/service.proto\x12\x16xmtp.mls_validation.v1\x1a\x1eidentity/api/v1/identity.proto\x1a\'identity/associations/association.proto\x1a\x19identity/credential.proto\"\x98\x02\n!ValidateInboxIdKeyPackagesRequest\x12g\n\x0ckey_packages\x18\x01 \x03(\x0b2D.xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesRequest.KeyPackageR\x0bkeyPackages\x1a\x89\x01\n\nKeyPackage\x12F\n key_package_bytes_tls_serialized\x18\x01 \x01(\x0cR\x1ckeyPackageBytesTlsSerialized\x123\n\x16is_inbox_id_credential\x18\x02 \x01(\x08R\x13isInboxIdCredential\"\xe4\x02\n\"ValidateInboxIdKeyPackagesResponse\x12a\n\tresponses\x18\x01 \x03(\x0b2C.xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse.ResponseR\tresponses\x1a\xda\x01\n\x08Response\x12\x13\n\x05is_ok\x18\x01 \x01(\x08R\x04isOk\x12#\n\rerror_message\x18\x02 \x01(\tR\x0cerrorMessage\x12<\n\ncredential\x18\x03 \x01(\x0b2\x1c.xmtp.identity.MlsCredentialR\ncredential\x126\n\x17installation_public_key\x18\x04 \x01(\x0cR\x15installationPublicKey\x12\x1e\n\nexpiration\x18\x05 \x01(\x04R\nexpiration\"\x8a\x02\n\x1aValidateKeyPackagesRequest\x12`\n\x0ckey_packages\x18\x01 \x03(\x0b2=.xmtp.mls_validation.v1.ValidateKeyPackagesRequest.KeyPackageR\x0bkeyPackages\x1a\x89\x01\n\nKeyPackage\x12F\n key_package_bytes_tls_serialized\x18\x01 \x01(\x0cR\x1ckeyPackageBytesTlsSerialized\x123\n\x16is_inbox_id_credential\x18\x02 \x01(\x08R\x13isInboxIdCredential\"\x82\x03\n\x1bValidateKeyPackagesResponse\x12d\n\tresponses\x18\x01 \x03(\x0b2F.xmtp.mls_validation.v1.ValidateKeyPackagesResponse.ValidationResponseR\tresponses\x1a\xfc\x01\n\x12ValidationResponse\x12\x13\n\x05is_ok\x18\x01 \x01(\x08R\x04isOk\x12#\n\rerror_message\x18\x02 \x01(\tR\x0cerrorMessage\x12\'\n\x0finstallation_id\x18\x03 \x01(\x0cR\x0einstallationId\x12\'\n\x0faccount_address\x18\x04 \x01(\tR\x0eaccountAddress\x12:\n\x19credential_identity_bytes\x18\x05 \x01(\x0cR\x17credentialIdentityBytes\x12\x1e\n\nexpiration\x18\x06 \x01(\x04R\nexpiration\"\xe4\x01\n\x1cValidateGroupMessagesRequest\x12h\n\x0egroup_messages\x18\x01 \x03(\x0b2A.xmtp.mls_validation.v1.ValidateGroupMessagesRequest.GroupMessageR\rgroupMessages\x1aZ\n\x0cGroupMessage\x12J\n\"group_message_bytes_tls_serialized\x18\x01 \x01(\x0cR\x1egroupMessageBytesTlsSerialized\"\x90\x02\n\x1dValidateGroupMessagesResponse\x12f\n\tresponses\x18\x01 \x03(\x0b2H.xmtp.mls_validation.v1.ValidateGroupMessagesResponse.ValidationResponseR\tresponses\x1a\x86\x01\n\x12ValidationResponse\x12\x13\n\x05is_ok\x18\x01 \x01(\x08R\x04isOk\x12#\n\rerror_message\x18\x02 \x01(\tR\x0cerrorMessage\x12\x19\n\x08group_id\x18\x03 \x01(\tR\x07groupId\x12\x1b\n\tis_commit\x18\x04 \x01(\x08R\x08isCommit\"\xb6\x01\n\x1aGetAssociationStateRequest\x12K\n\x0bold_updates\x18\x01 \x03(\x0b2*.xmtp.identity.associations.IdentityUpdateR\noldUpdates\x12K\n\x0bnew_updates\x18\x02 \x03(\x0b2*.xmtp.identity.associations.IdentityUpdateR\nnewUpdates\"\xc9\x01\n\x1bGetAssociationStateResponse\x12Y\n\x11association_state\x18\x01 \x01(\x0b2,.xmtp.identity.associations.AssociationStateR\x10associationState\x12O\n\nstate_diff\x18\x02 \x01(\x0b20.xmtp.identity.associations.AssociationStateDiffR\tstateDiff2\xdb\x04\n\rValidationApi\x12\x86\x01\n\x15ValidateGroupMessages\x124.xmtp.mls_validation.v1.ValidateGroupMessagesRequest\x1a5.xmtp.mls_validation.v1.ValidateGroupMessagesResponse\"\x00\x12\x80\x01\n\x13GetAssociationState\x122.xmtp.mls_validation.v1.GetAssociationStateRequest\x1a3.xmtp.mls_validation.v1.GetAssociationStateResponse\"\x00\x12\x8e\x01\n\x1aValidateInboxIdKeyPackages\x122.xmtp.mls_validation.v1.ValidateKeyPackagesRequest\x1a:.xmtp.mls_validation.v1.ValidateInboxIdKeyPackagesResponse\"\x00\x12\xac\x01\n#VerifySmartContractWalletSignatures\x12@.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesRequest\x1aA.xmtp.identity.api.v1.VerifySmartContractWalletSignaturesResponse\"\x00B/Z-github.com/xmtp/proto/v3/go/mls_validation/v1J\xb2\x1d\n\x06\x12\x04\x01\x00v\x01\n\x17\n\x01\x0c\x12\x03\x01\x00\x12\x1a\r Message API\n\n\x08\n\x01\x02\x12\x03\x02\x00\x1f\n\t\n\x02\x03\x00\x12\x03\x04\x00(\n\t\n\x02\x03\x01\x12\x03\x05\x001\n\t\n\x02\x03\x02\x12\x03\x06\x00#\n\x08\n\x01\x08\x12\x03\x08\x00D\n\t\n\x02\x08\x0b\x12\x03\x08\x00D\n&\n\x02\x06\x00\x12\x04\x0b\x00 \x01\x1a\x1a RPCs for the new MLS API\n\n\n\n\x03\x06\x00\x01\x12\x03\x0b\x08\x15\nQ\n\x04\x06\x00\x02\x00\x12\x04\r\x02\x0e0\x1aC Validates and parses a group message and returns relevant details\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\r\x06\x1b\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\r\x1c8\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x0e\x0f,\nP\n\x04\x06\x00\x02\x01\x12\x04\x11\x02\x12.\x1aB Gets the final association state for a batch of identity updates\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x11\x06\x19\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x11\x1a4\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x12\x0f*\n\xb1\x01\n\x04\x06\x00\x02\x02\x12\x04\x17\x02\x185\x1a\xa2\x01 Validates InboxID key packages and returns credential information for them,\n without checking whether an InboxId <> InstallationPublicKey pair is really\n valid.\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03\x17\x06 \n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03\x17!;\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03\x18\x0f1\no\n\x04\x06\x00\x02\x03\x12\x04\x1c\x02\x1fN\x1aa Verifies smart contracts\n This request is proxied from the node, so we\'ll reuse those messages.\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03\x1c\x06)\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03\x1d\x06E\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03\x1f\nJ\n9\n\x02\x04\x00\x12\x04#\x00+\x01\x1a- Contains a batch of serialized Key Packages\n\n\n\n\x03\x04\x00\x01\x12\x03#\x08)\n,\n\x04\x04\x00\x03\x00\x12\x04%\x02(\x03\x1a\x1e Wrapper for each key package\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03%\n\x14\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03&\x04/\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03&\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03&\n*\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03&-.\n\r\n\x06\x04\x00\x03\x00\x02\x01\x12\x03\'\x04$\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x03\'\x04\x08\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03\'\t\x1f\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03\'\"#\n\x0b\n\x04\x04\x00\x02\x00\x12\x03*\x02\'\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03*\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03*\x0b\x15\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03*\x16\"\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03*%&\n3\n\x02\x04\x01\x12\x04.\x009\x01\x1a\' Validates a Inbox-ID Key Package Type\n\n\n\n\x03\x04\x01\x01\x12\x03.\x08*\nO\n\x04\x04\x01\x03\x00\x12\x040\x026\x03\x1aA one response corresponding to information about one key package\n\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x030\n\x12\n\r\n\x06\x04\x01\x03\x00\x02\x00\x12\x031\x04\x13\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x05\x12\x031\x04\x08\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x031\t\x0e\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x031\x11\x12\n\r\n\x06\x04\x01\x03\x00\x02\x01\x12\x032\x04\x1d\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x05\x12\x032\x04\n\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x032\x0b\x18\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x032\x1b\x1c\n\r\n\x06\x04\x01\x03\x00\x02\x02\x12\x033\x04/\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x06\x12\x033\x04\x1f\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x01\x12\x033 *\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x03\x12\x033-.\n\r\n\x06\x04\x01\x03\x00\x02\x03\x12\x034\x04&\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x05\x12\x034\x04\t\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x01\x12\x034\n!\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x03\x12\x034$%\n\r\n\x06\x04\x01\x03\x00\x02\x04\x12\x035\x04\x1a\n\x0e\n\x07\x04\x01\x03\x00\x02\x04\x05\x12\x035\x04\n\n\x0e\n\x07\x04\x01\x03\x00\x02\x04\x01\x12\x035\x0b\x15\n\x0e\n\x07\x04\x01\x03\x00\x02\x04\x03\x12\x035\x18\x19\n\x0b\n\x04\x04\x01\x02\x00\x12\x038\x02\"\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x038\x0b\x13\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x038\x14\x1d\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x038 !\n9\n\x02\x04\x02\x12\x04<\x00D\x01\x1a- Contains a batch of serialized Key Packages\n\n\n\n\x03\x04\x02\x01\x12\x03<\x08\"\n,\n\x04\x04\x02\x03\x00\x12\x04>\x02A\x03\x1a\x1e Wrapper for each key package\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03>\n\x14\n\r\n\x06\x04\x02\x03\x00\x02\x00\x12\x03?\x04/\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x03?\x04\t\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x03?\n*\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x03?-.\n\r\n\x06\x04\x02\x03\x00\x02\x01\x12\x03@\x04$\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x03@\x04\x08\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x03@\t\x1f\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x03@\"#\n\x0b\n\x04\x04\x02\x02\x00\x12\x03C\x02\'\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03C\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03C\x0b\x15\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03C\x16\"\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03C%&\n4\n\x02\x04\x03\x12\x04G\x00S\x01\x1a( Response to ValidateKeyPackagesRequest\n\n\n\n\x03\x04\x03\x01\x12\x03G\x08#\n9\n\x04\x04\x03\x03\x00\x12\x04I\x02P\x03\x1a+ An individual response to one key package\n\n\x0c\n\x05\x04\x03\x03\x00\x01\x12\x03I\n\x1c\n\r\n\x06\x04\x03\x03\x00\x02\x00\x12\x03J\x04\x13\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x03J\x04\x08\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x03J\t\x0e\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x03J\x11\x12\n\r\n\x06\x04\x03\x03\x00\x02\x01\x12\x03K\x04\x1d\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x05\x12\x03K\x04\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x01\x12\x03K\x0b\x18\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x03\x12\x03K\x1b\x1c\n\r\n\x06\x04\x03\x03\x00\x02\x02\x12\x03L\x04\x1e\n\x0e\n\x07\x04\x03\x03\x00\x02\x02\x05\x12\x03L\x04\t\n\x0e\n\x07\x04\x03\x03\x00\x02\x02\x01\x12\x03L\n\x19\n\x0e\n\x07\x04\x03\x03\x00\x02\x02\x03\x12\x03L\x1c\x1d\n\r\n\x06\x04\x03\x03\x00\x02\x03\x12\x03M\x04\x1f\n\x0e\n\x07\x04\x03\x03\x00\x02\x03\x05\x12\x03M\x04\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x03\x01\x12\x03M\x0b\x1a\n\x0e\n\x07\x04\x03\x03\x00\x02\x03\x03\x12\x03M\x1d\x1e\n\r\n\x06\x04\x03\x03\x00\x02\x04\x12\x03N\x04(\n\x0e\n\x07\x04\x03\x03\x00\x02\x04\x05\x12\x03N\x04\t\n\x0e\n\x07\x04\x03\x03\x00\x02\x04\x01\x12\x03N\n#\n\x0e\n\x07\x04\x03\x03\x00\x02\x04\x03\x12\x03N&\'\n\r\n\x06\x04\x03\x03\x00\x02\x05\x12\x03O\x04\x1a\n\x0e\n\x07\x04\x03\x03\x00\x02\x05\x05\x12\x03O\x04\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x05\x01\x12\x03O\x0b\x15\n\x0e\n\x07\x04\x03\x03\x00\x02\x05\x03\x12\x03O\x18\x19\n\x0b\n\x04\x04\x03\x02\x00\x12\x03R\x02,\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03R\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03R\x0b\x1d\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03R\x1e\'\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03R*+\n;\n\x02\x04\x04\x12\x04V\x00[\x01\x1a/ Contains a batch of serialized Group Messages\n\n\n\n\x03\x04\x04\x01\x12\x03V\x08$\n\'\n\x04\x04\x04\x03\x00\x12\x03X\x02H\x1a\x1a Wrapper for each message\n\n\x0c\n\x05\x04\x04\x03\x00\x01\x12\x03X\n\x16\n\r\n\x06\x04\x04\x03\x00\x02\x00\x12\x03X\x19F\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x05\x12\x03X\x19\x1e\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x01\x12\x03X\x1fA\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x03\x12\x03XDE\n\x0b\n\x04\x04\x04\x02\x00\x12\x03Z\x02+\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03Z\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03Z\x0b\x17\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03Z\x18&\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03Z)*\n6\n\x02\x04\x05\x12\x04^\x00h\x01\x1a* Response to ValidateGroupMessagesRequest\n\n\n\n\x03\x04\x05\x01\x12\x03^\x08%\n5\n\x04\x04\x05\x03\x00\x12\x04`\x02e\x03\x1a\' An individual response to one message\n\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03`\n\x1c\n\r\n\x06\x04\x05\x03\x00\x02\x00\x12\x03a\x04\x13\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x05\x12\x03a\x04\x08\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03a\t\x0e\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03a\x11\x12\n\r\n\x06\x04\x05\x03\x00\x02\x01\x12\x03b\x04\x1d\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x05\x12\x03b\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x01\x12\x03b\x0b\x18\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x03\x12\x03b\x1b\x1c\n\r\n\x06\x04\x05\x03\x00\x02\x02\x12\x03c\x04\x18\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x05\x12\x03c\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x01\x12\x03c\x0b\x13\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x03\x12\x03c\x16\x17\n\r\n\x06\x04\x05\x03\x00\x02\x03\x12\x03d\x04\x17\n\x0e\n\x07\x04\x05\x03\x00\x02\x03\x05\x12\x03d\x04\x08\n\x0e\n\x07\x04\x05\x03\x00\x02\x03\x01\x12\x03d\t\x12\n\x0e\n\x07\x04\x05\x03\x00\x02\x03\x03\x12\x03d\x15\x16\n\x0b\n\x04\x04\x05\x02\x00\x12\x03g\x02,\n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03g\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03g\x0b\x1d\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03g\x1e\'\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03g*+\nK\n\x02\x04\x06\x12\x04k\x00o\x01\x1a? Request to get a final association state for identity updates\n\n\n\n\x03\x04\x06\x01\x12\x03k\x08\"\n\'\n\x04\x04\x06\x02\x00\x12\x03m\x02E\x1a\x1a List of identity updates\n\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x03m\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03m\x0b4\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03m5@\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03mCD\n\x0b\n\x04\x04\x06\x02\x01\x12\x03n\x02E\n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03n\x0b4\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03n5@\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03nCD\nl\n\x02\x04\x07\x12\x04s\x00v\x01\x1a` Response to GetAssociationStateRequest, containing the final association\n state for an InboxID\n\n\n\n\x03\x04\x07\x01\x12\x03s\x08#\n\x0b\n\x04\x04\x07\x02\x00\x12\x03t\x02D\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03t\x02-\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03t.?\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03tBC\n\x0b\n\x04\x04\x07\x02\x01\x12\x03u\x02A\n\x0c\n\x05\x04\x07\x02\x01\x06\x12\x03u\x021\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03u2<\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03u?@b\x06proto3\n\x90\x1f\n\x1edevice_sync/group_backup.proto\x12\x1dxmtp.device_sync.group_backup\"\xdb\x07\n\tGroupSave\x12\x0e\n\x02id\x18\x01 \x01(\x0cR\x02id\x12\"\n\rcreated_at_ns\x18\x02 \x01(\x03R\x0bcreatedAtNs\x12b\n\x10membership_state\x18\x03 \x01(\x0e27.xmtp.device_sync.group_backup.GroupMembershipStateSaveR\x0fmembershipState\x12<\n\x1ainstallations_last_checked\x18\x04 \x01(\x03R\x18installationsLastChecked\x12)\n\x11added_by_inbox_id\x18\x05 \x01(\tR\x0eaddedByInboxId\x12\"\n\nwelcome_id\x18\x06 \x01(\x03H\x00R\twelcomeId\x88\x01\x01\x12\"\n\rrotated_at_ns\x18\x07 \x01(\x03R\x0brotatedAtNs\x12`\n\x11conversation_type\x18\x08 \x01(\x0e23.xmtp.device_sync.group_backup.ConversationTypeSaveR\x10conversationType\x12\x18\n\x05dm_id\x18\t \x01(\tH\x01R\x04dmId\x88\x01\x01\x12+\n\x0flast_message_ns\x18\n \x01(\x03H\x02R\rlastMessageNs\x88\x01\x01\x12>\n\x19message_disappear_from_ns\x18\x0b \x01(\x03H\x03R\x16messageDisappearFromNs\x88\x01\x01\x12:\n\x17message_disappear_in_ns\x18\x0c \x01(\x03H\x04R\x14messageDisappearInNs\x88\x01\x01\x12P\n\x08metadata\x18\r \x01(\x0b24.xmtp.device_sync.group_backup.ImmutableMetadataSaveR\x08metadata\x12]\n\x10mutable_metadata\x18\x0e \x01(\x0b22.xmtp.device_sync.group_backup.MutableMetadataSaveR\x0fmutableMetadata\x121\n\x12paused_for_version\x18\x0f \x01(\tH\x05R\x10pausedForVersion\x88\x01\x01B\r\n\x0b_welcome_idB\x08\n\x06_dm_idB\x12\n\x10_last_message_nsB\x1c\n\x1a_message_disappear_from_nsB\x1a\n\x18_message_disappear_in_nsB\x15\n\x13_paused_for_version\"\x81\x02\n\x13MutableMetadataSave\x12b\n\nattributes\x18\x01 \x03(\x0b2B.xmtp.device_sync.group_backup.MutableMetadataSave.AttributesEntryR\nattributes\x12\x1d\n\nadmin_list\x18\x02 \x03(\tR\tadminList\x12(\n\x10super_admin_list\x18\x03 \x03(\tR\x0esuperAdminList\x1a=\n\x0fAttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"A\n\x15ImmutableMetadataSave\x12(\n\x10creator_inbox_id\x18\x01 \x01(\tR\x0ecreatorInboxId*\x9d\x02\n\x18GroupMembershipStateSave\x12+\n\'GROUP_MEMBERSHIP_STATE_SAVE_UNSPECIFIED\x10\x00\x12\'\n#GROUP_MEMBERSHIP_STATE_SAVE_ALLOWED\x10\x01\x12(\n$GROUP_MEMBERSHIP_STATE_SAVE_REJECTED\x10\x02\x12\'\n#GROUP_MEMBERSHIP_STATE_SAVE_PENDING\x10\x03\x12(\n$GROUP_MEMBERSHIP_STATE_SAVE_RESTORED\x10\x04\x12.\n*GROUP_MEMBERSHIP_STATE_SAVE_PENDING_REMOVE\x10\x05*\xa0\x01\n\x14ConversationTypeSave\x12&\n\"CONVERSATION_TYPE_SAVE_UNSPECIFIED\x10\x00\x12 \n\x1cCONVERSATION_TYPE_SAVE_GROUP\x10\x01\x12\x1d\n\x19CONVERSATION_TYPE_SAVE_DM\x10\x02\x12\x1f\n\x1bCONVERSATION_TYPE_SAVE_SYNC\x10\x03B\x1c\n\x1aorg.xmtp.proto.device_syncJ\xc0\x10\n\x06\x12\x04\x01\x00@\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Definitions for backups\n\n\x08\n\x01\x02\x12\x03\x02\x00&\n\x08\n\x01\x08\x12\x03\x04\x003\n\t\n\x02\x08\x01\x12\x03\x04\x003\n4\n\x02\x04\x00\x12\x04\x07\x00\x1a\x01\x1a( Proto representation of a stored group\n\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x11\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\x0f\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x08\n\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\r\x0e\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\t\x02\x1a\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\t\x02\x07\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\t\x08\x15\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\t\x18\x19\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\n\x020\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\n\x02\x1a\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\n\x1b+\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\n./\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x0b\x02\'\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x0b\x02\x07\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x0b\x08\"\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x0b%&\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x0c\x02\x1f\n\x0c\n\x05\x04\x00\x02\x04\x05\x12\x03\x0c\x02\x08\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x0c\t\x1a\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x0c\x1d\x1e\n\x0b\n\x04\x04\x00\x02\x05\x12\x03\r\x02 \n\x0c\n\x05\x04\x00\x02\x05\x04\x12\x03\r\x02\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\r\x0b\x10\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\r\x11\x1b\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\r\x1e\x1f\n\x0b\n\x04\x04\x00\x02\x06\x12\x03\x0e\x02\x1a\n\x0c\n\x05\x04\x00\x02\x06\x05\x12\x03\x0e\x02\x07\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x0e\x08\x15\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x0e\x18\x19\n\x0b\n\x04\x04\x00\x02\x07\x12\x03\x0f\x02-\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03\x0f\x02\x16\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x0f\x17(\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x0f+,\n\x0b\n\x04\x04\x00\x02\x08\x12\x03\x10\x02\x1c\n\x0c\n\x05\x04\x00\x02\x08\x04\x12\x03\x10\x02\n\n\x0c\n\x05\x04\x00\x02\x08\x05\x12\x03\x10\x0b\x11\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03\x10\x12\x17\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03\x10\x1a\x1b\n\x0b\n\x04\x04\x00\x02\t\x12\x03\x11\x02&\n\x0c\n\x05\x04\x00\x02\t\x04\x12\x03\x11\x02\n\n\x0c\n\x05\x04\x00\x02\t\x05\x12\x03\x11\x0b\x10\n\x0c\n\x05\x04\x00\x02\t\x01\x12\x03\x11\x11 \n\x0c\n\x05\x04\x00\x02\t\x03\x12\x03\x11#%\n\x0b\n\x04\x04\x00\x02\n\x12\x03\x12\x020\n\x0c\n\x05\x04\x00\x02\n\x04\x12\x03\x12\x02\n\n\x0c\n\x05\x04\x00\x02\n\x05\x12\x03\x12\x0b\x10\n\x0c\n\x05\x04\x00\x02\n\x01\x12\x03\x12\x11*\n\x0c\n\x05\x04\x00\x02\n\x03\x12\x03\x12-/\n\x0b\n\x04\x04\x00\x02\x0b\x12\x03\x13\x02.\n\x0c\n\x05\x04\x00\x02\x0b\x04\x12\x03\x13\x02\n\n\x0c\n\x05\x04\x00\x02\x0b\x05\x12\x03\x13\x0b\x10\n\x0c\n\x05\x04\x00\x02\x0b\x01\x12\x03\x13\x11(\n\x0c\n\x05\x04\x00\x02\x0b\x03\x12\x03\x13+-\n\x1e\n\x04\x04\x00\x02\x0c\x12\x03\x16\x02&\x1a\x11 metadata fields\n\n\x0c\n\x05\x04\x00\x02\x0c\x06\x12\x03\x16\x02\x17\n\x0c\n\x05\x04\x00\x02\x0c\x01\x12\x03\x16\x18 \n\x0c\n\x05\x04\x00\x02\x0c\x03\x12\x03\x16#%\n\x0b\n\x04\x04\x00\x02\r\x12\x03\x17\x02,\n\x0c\n\x05\x04\x00\x02\r\x06\x12\x03\x17\x02\x15\n\x0c\n\x05\x04\x00\x02\r\x01\x12\x03\x17\x16&\n\x0c\n\x05\x04\x00\x02\r\x03\x12\x03\x17)+\n\x0b\n\x04\x04\x00\x02\x0e\x12\x03\x19\x02*\n\x0c\n\x05\x04\x00\x02\x0e\x04\x12\x03\x19\x02\n\n\x0c\n\x05\x04\x00\x02\x0e\x05\x12\x03\x19\x0b\x11\n\x0c\n\x05\x04\x00\x02\x0e\x01\x12\x03\x19\x12$\n\x0c\n\x05\x04\x00\x02\x0e\x03\x12\x03\x19\')\n$\n\x02\x05\x00\x12\x04\x1d\x00(\x01\x1a\x18 Group membership state\n\n\n\n\x03\x05\x00\x01\x12\x03\x1d\x05\x1d\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x1e\x02.\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x1e\x02)\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x1e,-\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x1f\x02*\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x1f\x02%\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x1f()\n\x0b\n\x04\x05\x00\x02\x02\x12\x03 \x02+\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03 \x02&\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03 )*\n\x0b\n\x04\x05\x00\x02\x03\x12\x03!\x02*\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03!\x02%\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03!()\n\xbc\x01\n\x04\x05\x00\x02\x04\x12\x03&\x02+\x1a\xae\x01 A group is marked as this state when it is restored\n from a backup. This is a non-functional archive state\n that can be reactivated when the user is re-added to\n the group.\n\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03&\x02&\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03&)*\n\x0b\n\x04\x05\x00\x02\x05\x12\x03\'\x021\n\x0c\n\x05\x05\x00\x02\x05\x01\x12\x03\'\x02,\n\x0c\n\x05\x05\x00\x02\x05\x02\x12\x03\'/0\n\x1f\n\x02\x05\x01\x12\x04+\x000\x01\x1a\x13 Conversation type\n\n\n\n\x03\x05\x01\x01\x12\x03+\x05\x19\n\x0b\n\x04\x05\x01\x02\x00\x12\x03,\x02)\n\x0c\n\x05\x05\x01\x02\x00\x01\x12\x03,\x02$\n\x0c\n\x05\x05\x01\x02\x00\x02\x12\x03,\'(\n\x0b\n\x04\x05\x01\x02\x01\x12\x03-\x02#\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03-\x02\x1e\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03-!\"\n\x0b\n\x04\x05\x01\x02\x02\x12\x03.\x02 \n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03.\x02\x1b\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03.\x1e\x1f\n\x0b\n\x04\x05\x01\x02\x03\x12\x03/\x02\"\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03/\x02\x1d\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03/ !\n)\n\x02\x04\x01\x12\x043\x007\x01\x1a\x1d A Groups\'s mutable metadata\n\n\n\n\x03\x04\x01\x01\x12\x033\x08\x1b\n\x0b\n\x04\x04\x01\x02\x00\x12\x034\x02%\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x034\x02\x15\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x034\x16 \n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x034#$\n\x0b\n\x04\x04\x01\x02\x01\x12\x035\x02!\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x035\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x035\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x035\x12\x1c\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x035\x1f \n\x0b\n\x04\x04\x01\x02\x02\x12\x036\x02\'\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x036\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x036\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x036\x12\"\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x036%&\n*\n\x02\x04\x02\x12\x04:\x00@\x01\x1a\x1e A Group\'s immutable metadata\n\n\n\n\x03\x04\x02\x01\x12\x03:\x08\x1d\n\x0b\n\x04\x04\x02\x02\x00\x12\x03;\x02\x1e\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03;\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03;\t\x19\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03;\x1c\x1db\x06proto3\n\xc6\x0b\n device_sync/consent_backup.proto\x12\x1fxmtp.device_sync.consent_backup\"\xe9\x01\n\x0bConsentSave\x12Q\n\x0bentity_type\x18\x01 \x01(\x0e20.xmtp.device_sync.consent_backup.ConsentTypeSaveR\nentityType\x12G\n\x05state\x18\x02 \x01(\x0e21.xmtp.device_sync.consent_backup.ConsentStateSaveR\x05state\x12\x16\n\x06entity\x18\x03 \x01(\tR\x06entity\x12&\n\x0fconsented_at_ns\x18\x04 \x01(\x03R\rconsentedAtNs*\x9e\x01\n\x0fConsentTypeSave\x12!\n\x1dCONSENT_TYPE_SAVE_UNSPECIFIED\x10\x00\x12%\n!CONSENT_TYPE_SAVE_CONVERSATION_ID\x10\x01\x12\x1e\n\x1aCONSENT_TYPE_SAVE_INBOX_ID\x10\x02\x12!\n\x19CONSENT_TYPE_SAVE_ADDRESS\x10\x03\x1a\x02\x08\x01*\x95\x01\n\x10ConsentStateSave\x12\"\n\x1eCONSENT_STATE_SAVE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aCONSENT_STATE_SAVE_UNKNOWN\x10\x01\x12\x1e\n\x1aCONSENT_STATE_SAVE_ALLOWED\x10\x02\x12\x1d\n\x19CONSENT_STATE_SAVE_DENIED\x10\x03B\x1c\n\x1aorg.xmtp.proto.device_syncJ\xb5\x06\n\x06\x12\x04\x01\x00\x1c\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Definitions for backups\n\n\x08\n\x01\x02\x12\x03\x02\x00(\n\x08\n\x01\x08\x12\x03\x04\x003\n\t\n\x02\x08\x01\x12\x03\x04\x003\n;\n\x02\x04\x00\x12\x04\x07\x00\x0c\x01\x1a/ Proto representation of a consent record save\n\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x13\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\"\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x08\x02\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x12\x1d\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08 !\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\t\x02\x1d\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\t\x02\x12\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\t\x13\x18\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\t\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\n\x02\x14\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\n\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\n\t\x0f\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\n\x12\x13\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x0b\x02\x1c\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x0b\x02\x07\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x0b\x08\x17\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x0b\x1a\x1b\n!\n\x02\x05\x00\x12\x04\x0f\x00\x14\x01\x1a\x15 Consent record type\n\n\n\n\x03\x05\x00\x01\x12\x03\x0f\x05\x14\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x10\x02$\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x10\x02\x1f\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x10\"#\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x11\x02(\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x11\x02#\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x11&\'\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x12\x02!\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x12\x02\x1c\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x12\x1f \n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x13\x024\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x13\x02\x1b\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x13\x1e\x1f\n\x0c\n\x05\x05\x00\x02\x03\x03\x12\x03\x13 3\n\r\n\x06\x05\x00\x02\x03\x03\x01\x12\x03\x13!2\n\"\n\x02\x05\x01\x12\x04\x17\x00\x1c\x01\x1a\x16 Consent record state\n\n\n\n\x03\x05\x01\x01\x12\x03\x17\x05\x15\n\x0b\n\x04\x05\x01\x02\x00\x12\x03\x18\x02%\n\x0c\n\x05\x05\x01\x02\x00\x01\x12\x03\x18\x02 \n\x0c\n\x05\x05\x01\x02\x00\x02\x12\x03\x18#$\n\x0b\n\x04\x05\x01\x02\x01\x12\x03\x19\x02!\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03\x19\x02\x1c\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\x19\x1f \n\x0b\n\x04\x05\x01\x02\x02\x12\x03\x1a\x02!\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03\x1a\x02\x1c\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03\x1a\x1f \n\x0b\n\x04\x05\x01\x02\x03\x12\x03\x1b\x02 \n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03\x1b\x02\x1b\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03\x1b\x1e\x1fb\x06proto3\n\xa7\n\n\x1edevice_sync/event_backup.proto\x12\x1dxmtp.device_sync.event_backup\"\xf3\x01\n\tEventSave\x12\"\n\rcreated_at_ns\x18\x01 \x01(\x03R\x0bcreatedAtNs\x12\x14\n\x05event\x18\x02 \x01(\tR\x05event\x12\x18\n\x07details\x18\x03 \x01(\x0cR\x07details\x12\x1e\n\x08group_id\x18\x04 \x01(\x0cH\x00R\x07groupId\x88\x01\x01\x12C\n\x05level\x18\x05 \x01(\x0e2-.xmtp.device_sync.event_backup.EventLevelSaveR\x05level\x12\x17\n\x04icon\x18\x06 \x01(\tH\x01R\x04icon\x88\x01\x01B\x0b\n\t_group_idB\x07\n\x05_icon*\xbe\x01\n\x0eEventLevelSave\x12 \n\x1cEVENT_LEVEL_SAVE_UNSPECIFIED\x10\x00\x12\x19\n\x15EVENT_LEVEL_SAVE_NONE\x10\x01\x12\x1c\n\x18EVENT_LEVEL_SAVE_SUCCESS\x10\x02\x12\x19\n\x15EVENT_LEVEL_SAVE_WARN\x10\x03\x12\x1a\n\x16EVENT_LEVEL_SAVE_ERROR\x10\x04\x12\x1a\n\x16EVENT_LEVEL_SAVE_FAULT\x10\x05B\x1c\n\x1aorg.xmtp.proto.device_syncJ\x88\x06\n\x06\x12\x04\x01\x00\x17\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Definitions for backups\n\n\x08\n\x01\x02\x12\x03\x02\x00&\n\x08\n\x01\x08\x12\x03\x04\x003\n\t\n\x02\x08\x01\x12\x03\x04\x003\n:\n\x02\x04\x00\x12\x04\x07\x00\x0e\x01\x1a. Proto representation of a client record save\n\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x11\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\x1a\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x08\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\x18\x19\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\t\x02\x13\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\t\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\t\t\x0e\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\t\x11\x12\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\n\x02\x14\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\n\x02\x07\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\n\x08\x0f\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\n\x12\x13\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x0b\x02\x1e\n\x0c\n\x05\x04\x00\x02\x03\x04\x12\x03\x0b\x02\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x0b\x0b\x10\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x0b\x11\x19\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x0b\x1c\x1d\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x0c\x02\x1b\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x0c\x02\x10\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x0c\x11\x16\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x0c\x19\x1a\n\x0b\n\x04\x04\x00\x02\x05\x12\x03\r\x02\x1b\n\x0c\n\x05\x04\x00\x02\x05\x04\x12\x03\r\x02\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\r\x0b\x11\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\r\x12\x16\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\r\x19\x1a\n\n\n\x02\x05\x00\x12\x04\x10\x00\x17\x01\n\n\n\x03\x05\x00\x01\x12\x03\x10\x05\x13\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x11\x02#\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x11\x02\x1e\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x11!\"\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x12\x02\x1c\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x12\x02\x17\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x12\x1a\x1b\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x13\x02\x1f\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x13\x02\x1a\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x13\x1d\x1e\n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x14\x02\x1c\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x14\x02\x17\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x14\x1a\x1b\n\x0b\n\x04\x05\x00\x02\x04\x12\x03\x15\x02\x1d\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03\x15\x02\x18\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03\x15\x1b\x1c\n\x0b\n\x04\x05\x00\x02\x05\x12\x03\x16\x02\x1d\n\x0c\n\x05\x05\x00\x02\x05\x01\x12\x03\x16\x02\x18\n\x0c\n\x05\x05\x00\x02\x05\x02\x12\x03\x16\x1b\x1cb\x06proto3\n\xcf\x1b\n device_sync/message_backup.proto\x12\x1fxmtp.device_sync.message_backup\"\x87\x06\n\x10GroupMessageSave\x12\x0e\n\x02id\x18\x01 \x01(\x0cR\x02id\x12\x19\n\x08group_id\x18\x02 \x01(\x0cR\x07groupId\x126\n\x17decrypted_message_bytes\x18\x03 \x01(\x0cR\x15decryptedMessageBytes\x12\x1c\n\nsent_at_ns\x18\x04 \x01(\x03R\x08sentAtNs\x12I\n\x04kind\x18\x05 \x01(\x0e25.xmtp.device_sync.message_backup.GroupMessageKindSaveR\x04kind\x124\n\x16sender_installation_id\x18\x06 \x01(\x0cR\x14senderInstallationId\x12&\n\x0fsender_inbox_id\x18\x07 \x01(\tR\rsenderInboxId\x12\\\n\x0fdelivery_status\x18\x08 \x01(\x0e23.xmtp.device_sync.message_backup.DeliveryStatusSaveR\x0edeliveryStatus\x12S\n\x0ccontent_type\x18\t \x01(\x0e20.xmtp.device_sync.message_backup.ContentTypeSaveR\x0bcontentType\x12#\n\rversion_major\x18\n \x01(\x05R\x0cversionMajor\x12#\n\rversion_minor\x18\x0b \x01(\x05R\x0cversionMinor\x12!\n\x0cauthority_id\x18\x0c \x01(\tR\x0bauthorityId\x12&\n\x0creference_id\x18\r \x01(\x0cH\x00R\x0breferenceId\x88\x01\x01\x12$\n\x0bsequence_id\x18\x0e \x01(\x03H\x01R\nsequenceId\x88\x01\x01\x12(\n\roriginator_id\x18\x0f \x01(\x03H\x02R\x0coriginatorId\x88\x01\x01B\x0f\n\r_reference_idB\x0e\n\x0c_sequence_idB\x10\n\x0e_originator_id*\x97\x01\n\x14GroupMessageKindSave\x12\'\n#GROUP_MESSAGE_KIND_SAVE_UNSPECIFIED\x10\x00\x12\'\n#GROUP_MESSAGE_KIND_SAVE_APPLICATION\x10\x01\x12-\n)GROUP_MESSAGE_KIND_SAVE_MEMBERSHIP_CHANGE\x10\x02*\xa5\x01\n\x12DeliveryStatusSave\x12$\n DELIVERY_STATUS_SAVE_UNSPECIFIED\x10\x00\x12$\n DELIVERY_STATUS_SAVE_UNPUBLISHED\x10\x01\x12\"\n\x1eDELIVERY_STATUS_SAVE_PUBLISHED\x10\x02\x12\x1f\n\x1bDELIVERY_STATUS_SAVE_FAILED\x10\x03*\x9c\x03\n\x0fContentTypeSave\x12!\n\x1dCONTENT_TYPE_SAVE_UNSPECIFIED\x10\x00\x12\x1d\n\x19CONTENT_TYPE_SAVE_UNKNOWN\x10\x01\x12\x1a\n\x16CONTENT_TYPE_SAVE_TEXT\x10\x02\x12-\n)CONTENT_TYPE_SAVE_GROUP_MEMBERSHIP_CHANGE\x10\x03\x12#\n\x1fCONTENT_TYPE_SAVE_GROUP_UPDATED\x10\x04\x12\x1e\n\x1aCONTENT_TYPE_SAVE_REACTION\x10\x05\x12\"\n\x1eCONTENT_TYPE_SAVE_READ_RECEIPT\x10\x06\x12\x1b\n\x17CONTENT_TYPE_SAVE_REPLY\x10\x07\x12 \n\x1cCONTENT_TYPE_SAVE_ATTACHMENT\x10\x08\x12\'\n#CONTENT_TYPE_SAVE_REMOTE_ATTACHMENT\x10\t\x12+\n\'CONTENT_TYPE_SAVE_TRANSACTION_REFERENCE\x10\nB\x1c\n\x1aorg.xmtp.proto.device_syncJ\xf8\x0e\n\x06\x12\x04\x01\x005\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Definitions for backups\n\n\x08\n\x01\x02\x12\x03\x02\x00(\n\x08\n\x01\x08\x12\x03\x04\x003\n\t\n\x02\x08\x01\x12\x03\x04\x003\n<\n\x02\x04\x00\x12\x04\x07\x00\x17\x01\x1a0 Proto representation of a stored group message\n\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x18\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\x0f\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x08\n\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\r\x0e\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\t\x02\x15\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\t\x02\x07\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\t\x08\x10\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\t\x13\x14\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\n\x02$\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\n\x02\x07\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\n\x08\x1f\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\n\"#\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x0b\x02\x17\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x0b\x02\x07\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x0b\x08\x12\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x0b\x15\x16\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x0c\x02 \n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x0c\x02\x16\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x0c\x17\x1b\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x0c\x1e\x1f\n\x0b\n\x04\x04\x00\x02\x05\x12\x03\r\x02#\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\r\x02\x07\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\r\x08\x1e\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\r!\"\n\x0b\n\x04\x04\x00\x02\x06\x12\x03\x0e\x02\x1d\n\x0c\n\x05\x04\x00\x02\x06\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x0e\t\x18\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x0e\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x07\x12\x03\x0f\x02)\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03\x0f\x02\x14\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x0f\x15$\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x0f\'(\n\x0b\n\x04\x04\x00\x02\x08\x12\x03\x10\x02#\n\x0c\n\x05\x04\x00\x02\x08\x06\x12\x03\x10\x02\x11\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03\x10\x12\x1e\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03\x10!\"\n\x0b\n\x04\x04\x00\x02\t\x12\x03\x11\x02\x1b\n\x0c\n\x05\x04\x00\x02\t\x05\x12\x03\x11\x02\x07\n\x0c\n\x05\x04\x00\x02\t\x01\x12\x03\x11\x08\x15\n\x0c\n\x05\x04\x00\x02\t\x03\x12\x03\x11\x18\x1a\n\x0b\n\x04\x04\x00\x02\n\x12\x03\x12\x02\x1b\n\x0c\n\x05\x04\x00\x02\n\x05\x12\x03\x12\x02\x07\n\x0c\n\x05\x04\x00\x02\n\x01\x12\x03\x12\x08\x15\n\x0c\n\x05\x04\x00\x02\n\x03\x12\x03\x12\x18\x1a\n\x0b\n\x04\x04\x00\x02\x0b\x12\x03\x13\x02\x1b\n\x0c\n\x05\x04\x00\x02\x0b\x05\x12\x03\x13\x02\x08\n\x0c\n\x05\x04\x00\x02\x0b\x01\x12\x03\x13\t\x15\n\x0c\n\x05\x04\x00\x02\x0b\x03\x12\x03\x13\x18\x1a\n\x0b\n\x04\x04\x00\x02\x0c\x12\x03\x14\x02#\n\x0c\n\x05\x04\x00\x02\x0c\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x0c\x05\x12\x03\x14\x0b\x10\n\x0c\n\x05\x04\x00\x02\x0c\x01\x12\x03\x14\x11\x1d\n\x0c\n\x05\x04\x00\x02\x0c\x03\x12\x03\x14 \"\n\x0b\n\x04\x04\x00\x02\r\x12\x03\x15\x02\"\n\x0c\n\x05\x04\x00\x02\r\x04\x12\x03\x15\x02\n\n\x0c\n\x05\x04\x00\x02\r\x05\x12\x03\x15\x0b\x10\n\x0c\n\x05\x04\x00\x02\r\x01\x12\x03\x15\x11\x1c\n\x0c\n\x05\x04\x00\x02\r\x03\x12\x03\x15\x1f!\n\x0b\n\x04\x04\x00\x02\x0e\x12\x03\x16\x02$\n\x0c\n\x05\x04\x00\x02\x0e\x04\x12\x03\x16\x02\n\n\x0c\n\x05\x04\x00\x02\x0e\x05\x12\x03\x16\x0b\x10\n\x0c\n\x05\x04\x00\x02\x0e\x01\x12\x03\x16\x11\x1e\n\x0c\n\x05\x04\x00\x02\x0e\x03\x12\x03\x16!#\n \n\x02\x05\x00\x12\x04\x1a\x00\x1e\x01\x1a\x14 Group message kind\n\n\n\n\x03\x05\x00\x01\x12\x03\x1a\x05\x19\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x1b\x02*\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x1b\x02%\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x1b()\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x1c\x02*\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x1c\x02%\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x1c()\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x1d\x020\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x1d\x02+\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x1d./\n+\n\x02\x05\x01\x12\x04!\x00&\x01\x1a\x1f Group message delivery status\n\n\n\n\x03\x05\x01\x01\x12\x03!\x05\x17\n\x0b\n\x04\x05\x01\x02\x00\x12\x03\"\x02\'\n\x0c\n\x05\x05\x01\x02\x00\x01\x12\x03\"\x02\"\n\x0c\n\x05\x05\x01\x02\x00\x02\x12\x03\"%&\n\x0b\n\x04\x05\x01\x02\x01\x12\x03#\x02\'\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03#\x02\"\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03#%&\n\x0b\n\x04\x05\x01\x02\x02\x12\x03$\x02%\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03$\x02 \n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03$#$\n\x0b\n\x04\x05\x01\x02\x03\x12\x03%\x02\"\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03%\x02\x1d\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03% !\n(\n\x02\x05\x02\x12\x04)\x005\x01\x1a\x1c Group message content type\n\n\n\n\x03\x05\x02\x01\x12\x03)\x05\x14\n\x0b\n\x04\x05\x02\x02\x00\x12\x03*\x02$\n\x0c\n\x05\x05\x02\x02\x00\x01\x12\x03*\x02\x1f\n\x0c\n\x05\x05\x02\x02\x00\x02\x12\x03*\"#\n\x0b\n\x04\x05\x02\x02\x01\x12\x03+\x02 \n\x0c\n\x05\x05\x02\x02\x01\x01\x12\x03+\x02\x1b\n\x0c\n\x05\x05\x02\x02\x01\x02\x12\x03+\x1e\x1f\n\x0b\n\x04\x05\x02\x02\x02\x12\x03,\x02\x1d\n\x0c\n\x05\x05\x02\x02\x02\x01\x12\x03,\x02\x18\n\x0c\n\x05\x05\x02\x02\x02\x02\x12\x03,\x1b\x1c\n\x0b\n\x04\x05\x02\x02\x03\x12\x03-\x020\n\x0c\n\x05\x05\x02\x02\x03\x01\x12\x03-\x02+\n\x0c\n\x05\x05\x02\x02\x03\x02\x12\x03-./\n\x0b\n\x04\x05\x02\x02\x04\x12\x03.\x02&\n\x0c\n\x05\x05\x02\x02\x04\x01\x12\x03.\x02!\n\x0c\n\x05\x05\x02\x02\x04\x02\x12\x03.$%\n\x0b\n\x04\x05\x02\x02\x05\x12\x03/\x02!\n\x0c\n\x05\x05\x02\x02\x05\x01\x12\x03/\x02\x1c\n\x0c\n\x05\x05\x02\x02\x05\x02\x12\x03/\x1f \n\x0b\n\x04\x05\x02\x02\x06\x12\x030\x02%\n\x0c\n\x05\x05\x02\x02\x06\x01\x12\x030\x02 \n\x0c\n\x05\x05\x02\x02\x06\x02\x12\x030#$\n\x0b\n\x04\x05\x02\x02\x07\x12\x031\x02\x1e\n\x0c\n\x05\x05\x02\x02\x07\x01\x12\x031\x02\x19\n\x0c\n\x05\x05\x02\x02\x07\x02\x12\x031\x1c\x1d\n\x0b\n\x04\x05\x02\x02\x08\x12\x032\x02#\n\x0c\n\x05\x05\x02\x02\x08\x01\x12\x032\x02\x1e\n\x0c\n\x05\x05\x02\x02\x08\x02\x12\x032!\"\n\x0b\n\x04\x05\x02\x02\t\x12\x033\x02*\n\x0c\n\x05\x05\x02\x02\t\x01\x12\x033\x02%\n\x0c\n\x05\x05\x02\x02\t\x02\x12\x033()\n\x0b\n\x04\x05\x02\x02\n\x12\x034\x02/\n\x0c\n\x05\x05\x02\x02\n\x01\x12\x034\x02)\n\x0c\n\x05\x05\x02\x02\n\x02\x12\x034,.b\x06proto3\n\x96\x15\n\x1ddevice_sync/device_sync.proto\x12\x10xmtp.device_sync\x1a device_sync/consent_backup.proto\x1a\x1edevice_sync/event_backup.proto\x1a\x1edevice_sync/group_backup.proto\x1a device_sync/message_backup.proto\"\x86\x03\n\rBackupElement\x12B\n\x08metadata\x18\x01 \x01(\x0b2$.xmtp.device_sync.BackupMetadataSaveH\x00R\x08metadata\x12@\n\x05group\x18\x02 \x01(\x0b2(.xmtp.device_sync.group_backup.GroupSaveH\x00R\x05group\x12X\n\rgroup_message\x18\x03 \x01(\x0b21.xmtp.device_sync.message_backup.GroupMessageSaveH\x00R\x0cgroupMessage\x12H\n\x07consent\x18\x04 \x01(\x0b2,.xmtp.device_sync.consent_backup.ConsentSaveH\x00R\x07consent\x12@\n\x05event\x18\x05 \x01(\x0b2(.xmtp.device_sync.event_backup.EventSaveH\x00R\x05eventB\t\n\x07element\"\xd4\x01\n\x12BackupMetadataSave\x12D\n\x08elements\x18\x02 \x03(\x0e2(.xmtp.device_sync.BackupElementSelectionR\x08elements\x12$\n\x0eexported_at_ns\x18\x03 \x01(\x03R\x0cexportedAtNs\x12\x1e\n\x08start_ns\x18\x04 \x01(\x03H\x00R\x07startNs\x88\x01\x01\x12\x1a\n\x06end_ns\x18\x05 \x01(\x03H\x01R\x05endNs\x88\x01\x01B\x0b\n\t_start_nsB\t\n\x07_end_ns\"\xed\x01\n\rBackupOptions\x12D\n\x08elements\x18\x01 \x03(\x0e2(.xmtp.device_sync.BackupElementSelectionR\x08elements\x12\x1e\n\x08start_ns\x18\x02 \x01(\x03H\x00R\x07startNs\x88\x01\x01\x12\x1a\n\x06end_ns\x18\x03 \x01(\x03H\x01R\x05endNs\x88\x01\x01\x12B\n\x1dexclude_disappearing_messages\x18\x04 \x01(\x08R\x1bexcludeDisappearingMessagesB\x0b\n\t_start_nsB\t\n\x07_end_ns*\xb3\x01\n\x16BackupElementSelection\x12(\n$BACKUP_ELEMENT_SELECTION_UNSPECIFIED\x10\x00\x12%\n!BACKUP_ELEMENT_SELECTION_MESSAGES\x10\x01\x12$\n BACKUP_ELEMENT_SELECTION_CONSENT\x10\x02\x12\"\n\x1eBACKUP_ELEMENT_SELECTION_EVENT\x10\x03B\x1c\n\x1aorg.xmtp.proto.device_syncJ\xb2\x0b\n\x06\x12\x04\x01\x00-\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Definitions for backups\n\n\x08\n\x01\x02\x12\x03\x02\x00\x19\n\t\n\x02\x03\x00\x12\x03\x04\x00*\n\t\n\x02\x03\x01\x12\x03\x05\x00(\n\t\n\x02\x03\x02\x12\x03\x06\x00(\n\t\n\x02\x03\x03\x12\x03\x07\x00*\n\x08\n\x01\x08\x12\x03\t\x003\n\t\n\x02\x08\x01\x12\x03\t\x003\ne\n\x02\x04\x00\x12\x04\x0c\x00\x14\x01\x1aY Union type representing everything that can be serialied and saved in a backup archive.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x15\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\r\x02\x13\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\r\x08\x0f\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x04$\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0e\x04\x16\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x17\x1f\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\"#\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0f\x046\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0f\x04+\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0f,1\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0f45\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x10\x04G\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x10\x044\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x105B\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x10EF\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x11\x04<\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x11\x04/\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x1107\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x11:;\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x12\x046\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x12\x04+\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x12,1\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x1245\nx\n\x02\x04\x01\x12\x04\x18\x00\x1d\x01\x1al Proto representation of backup metadata\n (Backup version is explicitly missing - it\'s stored as a header.)\n\n\n\n\x03\x04\x01\x01\x12\x03\x18\x08\x1a\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x19\x02/\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\x19\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x19\x0b!\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x19\"*\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x19-.\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x1a\x02\x1b\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1a\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1a\x08\x16\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1a\x19\x1a\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x1b\x02\x1e\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03\x1b\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x1b\x0b\x10\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x1b\x11\x19\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1b\x1c\x1d\n\x0b\n\x04\x04\x01\x02\x03\x12\x03\x1c\x02\x1c\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03\x1c\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x1c\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x1c\x11\x17\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x1c\x1a\x1b\n\x1c\n\x02\x04\x02\x12\x04 \x00%\x01\x1a\x10 Backup Options\n\n\n\n\x03\x04\x02\x01\x12\x03 \x08\x15\n\x0b\n\x04\x04\x02\x02\x00\x12\x03!\x02/\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03!\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03!\x0b!\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03!\"*\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03!-.\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\"\x02\x1e\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03\"\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\"\x0b\x10\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\"\x11\x19\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\"\x1c\x1d\n\x0b\n\x04\x04\x02\x02\x02\x12\x03#\x02\x1c\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03#\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03#\x0b\x10\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03#\x11\x17\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03#\x1a\x1b\n\x0b\n\x04\x04\x02\x02\x03\x12\x03$\x02)\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03$\x02\x06\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03$\x07$\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03$\'(\n*\n\x02\x05\x00\x12\x04(\x00-\x01\x1a\x1e Elements selected for backup\n\n\n\n\x03\x05\x00\x01\x12\x03(\x05\x1b\n\x0b\n\x04\x05\x00\x02\x00\x12\x03)\x02+\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03)\x02&\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03))*\n\x0b\n\x04\x05\x00\x02\x01\x12\x03*\x02(\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03*\x02#\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03*&\'\n\x0b\n\x04\x05\x00\x02\x02\x12\x03+\x02\'\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03+\x02\"\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03+%&\n\x0b\n\x04\x05\x00\x02\x03\x12\x03,\x02%\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03,\x02 \n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03,#$b\x06proto3\n\xb1\x1e\n\x19device_sync/content.proto\x12\x18xmtp.device_sync.content\x1a device_sync/consent_backup.proto\x1a\x1ddevice_sync/device_sync.proto\"\xdd\x02\n\x11DeviceSyncContent\x12G\n\x07request\x18\x01 \x01(\x0b2+.xmtp.device_sync.content.DeviceSyncRequestH\x00R\x07request\x12S\n\x0backnowledge\x18\x02 \x01(\x0b2/.xmtp.device_sync.content.DeviceSyncAcknowledgeH\x00R\x0backnowledge\x12A\n\x05reply\x18\x03 \x01(\x0b2).xmtp.device_sync.content.DeviceSyncReplyH\x00R\x05reply\x12\\\n\x12preference_updates\x18\x04 \x01(\x0b2+.xmtp.device_sync.content.PreferenceUpdatesH\x00R\x11preferenceUpdatesB\t\n\x07content\"6\n\x15DeviceSyncAcknowledge\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\"Y\n\x11PreferenceUpdates\x12D\n\x07updates\x18\x01 \x03(\x0b2*.xmtp.device_sync.content.PreferenceUpdateR\x07updates\"\xa5\x01\n\x10PreferenceUpdate\x12H\n\x07consent\x18\x01 \x01(\x0b2,.xmtp.device_sync.consent_backup.ConsentSaveH\x00R\x07consent\x12=\n\x04hmac\x18\x02 \x01(\x0b2\'.xmtp.device_sync.content.HmacKeyUpdateH\x00R\x04hmacB\x08\n\x06update\"4\n\x16V1UserPreferenceUpdate\x12\x1a\n\x08contents\x18\x01 \x03(\x0cR\x08contents\"C\n\rHmacKeyUpdate\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12 \n\x0ccycled_at_ns\x18\x02 \x01(\x03R\ncycledAtNs\"\xce\x01\n\x11DeviceSyncRequest\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12\x1d\n\x08pin_code\x18\x02 \x01(\tB\x02\x18\x01R\x07pinCode\x12@\n\x04kind\x18\x03 \x01(\x0e2(.xmtp.device_sync.BackupElementSelectionB\x02\x18\x01R\x04kind\x129\n\x07options\x18\x04 \x01(\x0b2\x1f.xmtp.device_sync.BackupOptionsR\x07options\"\xc1\x02\n\x0fDeviceSyncReply\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12R\n\x0eencryption_key\x18\x03 \x01(\x0b2+.xmtp.device_sync.content.DeviceSyncKeyTypeR\rencryptionKey\x12%\n\x0ctimestamp_ns\x18\x04 \x01(\x04B\x02\x18\x01R\x0btimestampNs\x12@\n\x04kind\x18\x05 \x01(\x0e2(.xmtp.device_sync.BackupElementSelectionB\x02\x18\x01R\x04kind\x12@\n\x08metadata\x18\x06 \x01(\x0b2$.xmtp.device_sync.BackupMetadataSaveR\x08metadata\"<\n\x11DeviceSyncKeyType\x12 \n\x0baes_256_gcm\x18\x01 \x01(\x0cH\x00R\taes256GcmB\x05\n\x03keyB\x1c\n\x1aorg.xmtp.proto.device_syncJ\xa9\x12\n\x06\x12\x04\x01\x00N\x01\n\x1f\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x15 Sync group messages\n\n\x08\n\x01\x02\x12\x03\x02\x00!\n\t\n\x02\x03\x00\x12\x03\x04\x00*\n\t\n\x02\x03\x01\x12\x03\x05\x00\'\n\x08\n\x01\x08\x12\x03\x07\x003\n\t\n\x02\x08\x01\x12\x03\x07\x003\n6\n\x02\x04\x00\x12\x04\n\x00\x11\x01\x1a* All potential device sync group messages\n\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x19\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x0b\x02\x10\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x0b\x08\x0f\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0c\x04\"\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0c\x04\x15\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\x16\x1d\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c !\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\r\x04*\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\r\x04\x19\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\x1a%\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r()\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x0e\x04\x1e\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x0e\x04\x13\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0e\x14\x19\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0e\x1c\x1d\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x0f\x04-\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x0f\x04\x15\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x0f\x16(\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x0f+,\n$\n\x02\x04\x01\x12\x04\x14\x00\x16\x01\x1a\x18 Acknowledges a request\n\n\n\n\x03\x04\x01\x01\x12\x03\x14\x08\x1d\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x15\x02\x18\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x15\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x15\t\x13\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x15\x16\x17\n \n\x02\x04\x02\x12\x04\x19\x00\x1b\x01\x1a\x14 Preference updates\n\n\n\n\x03\x04\x02\x01\x12\x03\x19\x08\x19\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1a\x02(\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x1a\x0b\x1b\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1a\x1c#\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1a&\'\n\x1f\n\x02\x04\x03\x12\x04\x1e\x00#\x01\x1a\x13 Preference update\n\n\n\n\x03\x04\x03\x01\x12\x03\x1e\x08\x18\n\x0c\n\x04\x04\x03\x08\x00\x12\x04\x1f\x02\"\x03\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x03\x1f\x08\x0e\n\x0b\n\x04\x04\x03\x02\x00\x12\x03 \x04<\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03 \x04/\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03 07\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03 :;\n\x0b\n\x04\x04\x03\x02\x01\x12\x03!\x04\x1b\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03!\x04\x11\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03!\x12\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03!\x19\x1a\n\n\n\x02\x04\x04\x12\x04%\x00\'\x01\n\n\n\x03\x04\x04\x01\x12\x03%\x08\x1e\n\x0b\n\x04\x04\x04\x02\x00\x12\x03&\x02\x1e\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03&\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03&\x0b\x10\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03&\x11\x19\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03&\x1c\x1d\n\x1d\n\x02\x04\x05\x12\x04*\x00-\x01\x1a\x11 Hmac key update\n\n\n\n\x03\x04\x05\x01\x12\x03*\x08\x15\n\x0b\n\x04\x04\x05\x02\x00\x12\x03+\x02\x10\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03+\x02\x07\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03+\x08\x0b\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03+\x0e\x0f\n\x0b\n\x04\x04\x05\x02\x01\x12\x03,\x02\x19\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03,\x02\x07\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03,\x08\x14\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03,\x17\x18\nW\n\x02\x04\x06\x12\x040\x006\x01\x1aK Initiator or new installation id requesting a sync payload send a request\n\n\n\n\x03\x04\x06\x01\x12\x030\x08\x19\n1\n\x04\x04\x06\x02\x00\x12\x032\x02\x18\x1a$ Unique identifier for each request\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x032\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x032\t\x13\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x032\x16\x17\n\x0b\n\x04\x04\x06\x02\x01\x12\x033\x02*\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x033\t\x11\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x033\x14\x15\n\x0c\n\x05\x04\x06\x02\x01\x08\x12\x033\x16)\n\r\n\x06\x04\x06\x02\x01\x08\x03\x12\x033\x17(\n\x0b\n\x04\x04\x06\x02\x02\x12\x034\x02G\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x034\x02)\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x034*.\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03412\n\x0c\n\x05\x04\x06\x02\x02\x08\x12\x0343F\n\r\n\x06\x04\x06\x02\x02\x08\x03\x12\x0344E\n\x0b\n\x04\x04\x06\x02\x03\x12\x035\x02-\n\x0c\n\x05\x04\x06\x02\x03\x06\x12\x035\x02 \n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x035!(\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x035+,\n_\n\x02\x04\x07\x12\x049\x00G\x01\x1aS Pre-existing installation id capable of supplying a sync payload sends this reply\n\n\n\n\x03\x04\x07\x01\x12\x039\x08\x17\nO\n\x04\x04\x07\x02\x00\x12\x03;\x02\x18\x1aB Must match an existing request_id from a message history request\n\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03;\x02\x08\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03;\t\x13\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03;\x16\x17\n7\n\x04\x04\x07\x02\x01\x12\x03=\x02\x11\x1a* Where the messages can be retrieved from\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03=\x02\x08\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03=\t\x0c\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03=\x0f\x10\n\x1d\n\x04\x04\x07\x02\x02\x12\x03?\x02\'\x1a\x10 Encryption key\n\n\x0c\n\x05\x04\x07\x02\x02\x06\x12\x03?\x02\x13\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03?\x14\"\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03?%&\n;\n\x04\x04\x07\x02\x03\x12\x03A\x02.\x1a. ns unix timestamp of when the reply was sent\n\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x03A\x02\x08\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03A\t\x15\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03A\x18\x19\n\x0c\n\x05\x04\x07\x02\x03\x08\x12\x03A\x1a-\n\r\n\x06\x04\x07\x02\x03\x08\x03\x12\x03A\x1b,\n\x1b\n\x04\x04\x07\x02\x04\x12\x03C\x02G\x1a\x0e request kind\n\n\x0c\n\x05\x04\x07\x02\x04\x06\x12\x03C\x02)\n\x0c\n\x05\x04\x07\x02\x04\x01\x12\x03C*.\n\x0c\n\x05\x04\x07\x02\x04\x03\x12\x03C12\n\x0c\n\x05\x04\x07\x02\x04\x08\x12\x03C3F\n\r\n\x06\x04\x07\x02\x04\x08\x03\x12\x03C4E\n(\n\x04\x04\x07\x02\x05\x12\x03F\x023\x1a\x1b Metadata about the backup\n\n\x0c\n\x05\x04\x07\x02\x05\x06\x12\x03F\x02%\n\x0c\n\x05\x04\x07\x02\x05\x01\x12\x03F&.\n\x0c\n\x05\x04\x07\x02\x05\x03\x12\x03F12\n4\n\x02\x04\x08\x12\x04J\x00N\x01\x1a( Key used to encrypt the message-bundle\n\n\n\n\x03\x04\x08\x01\x12\x03J\x08\x19\n\x0c\n\x04\x04\x08\x08\x00\x12\x04K\x02M\x03\n\x0c\n\x05\x04\x08\x08\x00\x01\x12\x03K\x08\x0b\n\x0b\n\x04\x04\x08\x02\x00\x12\x03L\x04\x1a\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03L\x04\t\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03L\n\x15\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03L\x18\x19b\x06proto3\n\x93\x16\n*mls/message_contents/welcome_pointer.proto\x12\x19xmtp.mls.message_contents\"\x94\x03\n\x0eWelcomePointer\x12j\n\x12welcome_v1_pointer\x18\x01 \x01(\x0b2:.xmtp.mls.message_contents.WelcomePointer.WelcomeV1PointerH\x00R\x10welcomeV1Pointer\x1a\x8a\x02\n\x10WelcomeV1Pointer\x12 \n\x0bdestination\x18\x01 \x01(\x0cR\x0bdestination\x12X\n\taead_type\x18\x02 \x01(\x0e2;.xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypeR\x08aeadType\x12%\n\x0eencryption_key\x18\x03 \x01(\x0cR\rencryptionKey\x12\x1d\n\ndata_nonce\x18\x04 \x01(\x0cR\tdataNonce\x124\n\x16welcome_metadata_nonce\x18\x05 \x01(\x0cR\x14welcomeMetadataNonceB\t\n\x07version\"\x9b\x01\n*WelcomePointeeEncryptionAeadTypesExtension\x12m\n\x14supported_aead_types\x18\x01 \x03(\x0e2;.xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypeR\x12supportedAeadTypes*\x94\x01\n WelcomePointeeEncryptionAeadType\x124\n0WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_UNSPECIFIED\x10\x00\x12:\n6WELCOME_POINTEE_ENCRYPTION_AEAD_TYPE_CHACHA20_POLY1305\x10\x03*\x92\x01\n\x1eWelcomePointerWrapperAlgorithm\x121\n-WELCOME_POINTER_WRAPPER_ALGORITHM_UNSPECIFIED\x10\x00\x12=\n9WELCOME_POINTER_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6\x10\x02BW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\x87\x0e\n\x06\x12\x04\x01\x00,\x01\nu\n\x01\x0c\x12\x03\x01\x00\x12\x1ak WelcomePointer is used to point to the welcome message for several installations at once to save overhead\n\n\x08\n\x01\x02\x12\x03\x03\x00\"\n\x08\n\x01\x08\x12\x03\x05\x00G\n\t\n\x02\x08\x0b\x12\x03\x05\x00G\n\x08\n\x01\x08\x12\x03\x06\x00<\n\t\n\x02\x08\x01\x12\x03\x06\x00<\ny\n\x02\x04\x00\x12\x04\t\x00\x1b\x01\x1am A WelcomePointer is used to point to the welcome message for several installations at once to save overhead\n\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\x16\n-\n\x04\x04\x00\x03\x00\x12\x04\x0b\x02\x16\x03\x1a\x1f Points to a V1 WelcomeMessage\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x0b\n\x1a\n\x99\x01\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\r\x04\x1a\x1a\x89\x01 The topic of the welcome message. For V1, this means that it will be the first message in the topic, so no other identifier is required\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\r\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\r\n\x15\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\r\x18\x19\nB\n\x06\x04\x00\x03\x00\x02\x01\x12\x03\x0f\x043\x1a3 The algorithm used to encrypt the welcome pointer\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x06\x12\x03\x0f\x04$\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03\x0f%.\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03\x0f12\nk\n\x06\x04\x00\x03\x00\x02\x02\x12\x03\x11\x04\x1d\x1a\\ The encryption key of the welcome message. Must match key size specified by the aead_type.\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x05\x12\x03\x11\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x01\x12\x03\x11\n\x18\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x03\x12\x03\x11\x1b\x1c\nh\n\x06\x04\x00\x03\x00\x02\x03\x12\x03\x13\x04\x19\x1aY Nonce used to encrypt the data field. Must match nonce size specified by the aead_type.\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x03\x05\x12\x03\x13\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x03\x01\x12\x03\x13\n\x14\n\x0e\n\x07\x04\x00\x03\x00\x02\x03\x03\x12\x03\x13\x17\x18\nt\n\x06\x04\x00\x03\x00\x02\x04\x12\x03\x15\x04%\x1ae Nonce used to encrypt the welcome_metadata field. Must match nonce size specified by the aead_type.\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x04\x05\x12\x03\x15\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x04\x01\x12\x03\x15\n \n\x0e\n\x07\x04\x00\x03\x00\x02\x04\x03\x12\x03\x15#$\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x18\x02\x1a\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x18\x08\x0f\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x19\x04,\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x19\x04\x14\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x19\x15\'\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x19*+\n\n\n\x02\x05\x00\x12\x04\x1d\x00!\x01\n\n\n\x03\x05\x00\x01\x12\x03\x1d\x05%\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x1e\x027\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x1e\x022\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x1e56\n5\n\x04\x05\x00\x02\x01\x12\x03 \x02=\x1a( Use same encoding as openmls::AeadType\n\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03 \x028\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03 ;<\n}\n\x02\x05\x01\x12\x04$\x00\'\x01\x1aq MUST match the WelcomeWrapperAlgorithm enum values without 25519 so that the i32 transformations are compatible\n\n\n\n\x03\x05\x01\x01\x12\x03$\x05#\n\x0b\n\x04\x05\x01\x02\x00\x12\x03%\x024\n\x0c\n\x05\x05\x01\x02\x00\x01\x12\x03%\x02/\n\x0c\n\x05\x05\x01\x02\x00\x02\x12\x03%23\n\x0b\n\x04\x05\x01\x02\x01\x12\x03&\x02@\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03&\x02;\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03&>?\n\\\n\x02\x04\x01\x12\x04*\x00,\x01\x1aP Extension message that indicates the types of encryption supported by a client\n\n\n\n\x03\x04\x01\x01\x12\x03*\x082\n\x0b\n\x04\x04\x01\x02\x00\x12\x03+\x02E\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03+\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03+\x0b+\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03+,@\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03+CDb\x06proto3\n\x96\x04\n\x17mls/database/task.proto\x12\x11xmtp.mls.database\x1a*mls/message_contents/welcome_pointer.proto\"s\n\x04Task\x12c\n\x17process_welcome_pointer\x18\x01 \x01(\x0b2).xmtp.mls.message_contents.WelcomePointerH\x00R\x15processWelcomePointerB\x06\n\x04taskBG\n\x1borg.xmtp.proto.mls.databaseZ(github.com/xmtp/proto/v3/go/mls/databaseJ\xf5\x01\n\x06\x12\x04\x02\x00\x0e\x01\nA\n\x01\x0c\x12\x03\x02\x00\x1227 Intent protos that are stored in the libxmtp database\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1a\n\t\n\x02\x03\x00\x12\x03\x05\x004\n\x08\n\x01\x08\x12\x03\x07\x00?\n\t\n\x02\x08\x0b\x12\x03\x07\x00?\n\x08\n\x01\x08\x12\x03\x08\x004\n\t\n\x02\x08\x01\x12\x03\x08\x004\n\n\n\x02\x04\x00\x12\x04\n\x00\x0e\x01\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x0c\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x0b\x02\r\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x0b\x08\x0c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0c\x04I\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0c\x04,\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c-D\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0cGHb\x06proto3\n\xf8\x08\n-mls/message_contents/wrapper_encryption.proto\x12\x19xmtp.mls.message_contents\"\x85\x01\n\x18WelcomeWrapperEncryption\x12\x17\n\x07pub_key\x18\x01 \x01(\x0cR\x06pubKey\x12P\n\talgorithm\x18\x02 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\talgorithm*\xd2\x01\n\x17WelcomeWrapperAlgorithm\x12)\n%WELCOME_WRAPPER_ALGORITHM_UNSPECIFIED\x10\x00\x12(\n$WELCOME_WRAPPER_ALGORITHM_CURVE25519\x10\x01\x125\n1WELCOME_WRAPPER_ALGORITHM_XWING_MLKEM_768_DRAFT_6\x10\x02\x12+\n\'WELCOME_WRAPPER_ALGORITHM_SYMMETRIC_KEY\x10\x03BW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\xed\x04\n\x06\x12\x04\x01\x00\x15\x01\n9\n\x01\x0c\x12\x03\x01\x00\x12\x1a/ Encryption algorithms for the Welcome Wrapper\n\n\x08\n\x01\x02\x12\x03\x03\x00\"\n\x08\n\x01\x08\x12\x03\x05\x00G\n\t\n\x02\x08\x0b\x12\x03\x05\x00G\n\x08\n\x01\x08\x12\x03\x06\x00<\n\t\n\x02\x08\x01\x12\x03\x06\x00<\nI\n\x02\x05\x00\x12\x04\t\x00\x0f\x01\x1a= Describes the algorithm used to encrypt the Welcome Wrapper\n\n\n\n\x03\x05\x00\x01\x12\x03\t\x05\x1c\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\n\x02,\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\n\x02\'\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\n*+\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x0b\x02+\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x0b\x02&\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x0b)*\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x0c\x028\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x0c\x023\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x0c67\n-\n\x04\x05\x00\x02\x03\x12\x03\x0e\x02.\x1a Only used for WelcomePointee\'s\n\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x0e\x02)\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x0e,-\n]\n\x02\x04\x00\x12\x04\x12\x00\x15\x01\x1aQ The KeyPackageExtension that stores the PubKey and the WelcomeWrapperEncryption\n\n\n\n\x03\x04\x00\x01\x12\x03\x12\x08 \n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x13\x02\x14\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x13\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x13\x08\x0f\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x13\x12\x13\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x14\x02(\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x14\x02\x19\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x14\x1a#\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x14&\'b\x06proto3\n\xe5G\n\x1amls/database/intents.proto\x12\x11xmtp.mls.database\x1a*mls/message_contents/welcome_pointer.proto\x1a-mls/message_contents/wrapper_encryption.proto\"\x80\x01\n\x0fSendMessageData\x127\n\x02v1\x18\x01 \x01(\x0b2%.xmtp.mls.database.SendMessageData.V1H\x00R\x02v1\x1a)\n\x02V1\x12#\n\rpayload_bytes\x18\x01 \x01(\x0cR\x0cpayloadBytesB\t\n\x07version\"?\n\x10AccountAddresses\x12+\n\x11account_addresses\x18\x01 \x03(\tR\x10accountAddresses\"<\n\x0fInstallationIds\x12)\n\x10installation_ids\x18\x01 \x03(\x0cR\x0finstallationIds\"\xe2\x01\n\x1aAddressesOrInstallationIds\x12R\n\x11account_addresses\x18\x01 \x01(\x0b2#.xmtp.mls.database.AccountAddressesH\x00R\x10accountAddresses\x12O\n\x10installation_ids\x18\x02 \x01(\x0b2\".xmtp.mls.database.InstallationIdsH\x00R\x0finstallationIdsB\x1f\n\x1daddresses_or_installation_ids\"\xcb\x01\n\x0eAddMembersData\x126\n\x02v1\x18\x01 \x01(\x0b2$.xmtp.mls.database.AddMembersData.V1H\x00R\x02v1\x1av\n\x02V1\x12p\n\x1daddresses_or_installation_ids\x18\x01 \x01(\x0b2-.xmtp.mls.database.AddressesOrInstallationIdsR\x1aaddressesOrInstallationIdsB\t\n\x07version\"\xd1\x01\n\x11RemoveMembersData\x129\n\x02v1\x18\x01 \x01(\x0b2\'.xmtp.mls.database.RemoveMembersData.V1H\x00R\x02v1\x1av\n\x02V1\x12p\n\x1daddresses_or_installation_ids\x18\x01 \x01(\x0b2-.xmtp.mls.database.AddressesOrInstallationIdsR\x1aaddressesOrInstallationIdsB\t\n\x07version\"\x89\x03\n\x19UpdateGroupMembershipData\x12A\n\x02v1\x18\x01 \x01(\x0b2/.xmtp.mls.database.UpdateGroupMembershipData.V1H\x00R\x02v1\x1a\x9d\x02\n\x02V1\x12u\n\x12membership_updates\x18\x01 \x03(\x0b2F.xmtp.mls.database.UpdateGroupMembershipData.V1.MembershipUpdatesEntryR\x11membershipUpdates\x12\'\n\x0fremoved_members\x18\x02 \x03(\tR\x0eremovedMembers\x121\n\x14failed_installations\x18\x03 \x03(\x0cR\x13failedInstallations\x1aD\n\x16MembershipUpdatesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01B\t\n\x07version\"\x9e\x01\n\x16ReaddInstallationsData\x12>\n\x02v1\x18\x01 \x01(\x0b2,.xmtp.mls.database.ReaddInstallationsData.V1H\x00R\x02v1\x1a9\n\x02V1\x123\n\x15readded_installations\x18\x01 \x03(\x0cR\x14readdedInstallationsB\t\n\x07version\"\xa1\x01\n\x12UpdateMetadataData\x12:\n\x02v1\x18\x01 \x01(\x0b2(.xmtp.mls.database.UpdateMetadataData.V1H\x00R\x02v1\x1aD\n\x02V1\x12\x1d\n\nfield_name\x18\x01 \x01(\tR\tfieldName\x12\x1f\n\x0bfield_value\x18\x02 \x01(\tR\nfieldValueB\t\n\x07version\"\xdd\x01\n\x14UpdateAdminListsData\x12<\n\x02v1\x18\x01 \x01(\x0b2*.xmtp.mls.database.UpdateAdminListsData.V1H\x00R\x02v1\x1a|\n\x02V1\x12[\n\x16admin_list_update_type\x18\x01 \x01(\x0e2&.xmtp.mls.database.AdminListUpdateTypeR\x13adminListUpdateType\x12\x19\n\x08inbox_id\x18\x02 \x01(\tR\x07inboxIdB\t\n\x07version\"\xf7\x02\n\x14UpdatePermissionData\x12<\n\x02v1\x18\x01 \x01(\x0b2*.xmtp.mls.database.UpdatePermissionData.V1H\x00R\x02v1\x1a\x95\x02\n\x02V1\x12]\n\x16permission_update_type\x18\x01 \x01(\x0e2\'.xmtp.mls.database.PermissionUpdateTypeR\x14permissionUpdateType\x12c\n\x18permission_policy_option\x18\x02 \x01(\x0e2).xmtp.mls.database.PermissionPolicyOptionR\x16permissionPolicyOption\x123\n\x13metadata_field_name\x18\x03 \x01(\tH\x00R\x11metadataFieldName\x88\x01\x01B\x16\n\x14_metadata_field_nameB\t\n\x07version\"\xf3\x04\n\x10PostCommitAction\x12W\n\rsend_welcomes\x18\x01 \x01(\x0b20.xmtp.mls.database.PostCommitAction.SendWelcomesH\x00R\x0csendWelcomes\x1a\xeb\x02\n\x0cInstallation\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x12&\n\x0fhpke_public_key\x18\x02 \x01(\x0cR\rhpkePublicKey\x12n\n\x19welcome_wrapper_algorithm\x18\x03 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\x17welcomeWrapperAlgorithm\x12\x97\x01\n%welcome_pointee_encryption_aead_types\x18\x04 \x01(\x0b2E.xmtp.mls.message_contents.WelcomePointeeEncryptionAeadTypesExtensionR!welcomePointeeEncryptionAeadTypes\x1a\x8f\x01\n\x0cSendWelcomes\x12V\n\rinstallations\x18\x01 \x03(\x0b20.xmtp.mls.database.PostCommitAction.InstallationR\rinstallations\x12\'\n\x0fwelcome_message\x18\x02 \x01(\x0cR\x0ewelcomeMessageB\x06\n\x04kind*\xe7\x01\n\x13AdminListUpdateType\x12&\n\"ADMIN_LIST_UPDATE_TYPE_UNSPECIFIED\x10\x00\x12$\n ADMIN_LIST_UPDATE_TYPE_ADD_ADMIN\x10\x01\x12\'\n#ADMIN_LIST_UPDATE_TYPE_REMOVE_ADMIN\x10\x02\x12*\n&ADMIN_LIST_UPDATE_TYPE_ADD_SUPER_ADMIN\x10\x03\x12-\n)ADMIN_LIST_UPDATE_TYPE_REMOVE_SUPER_ADMIN\x10\x04*\x8a\x02\n\x14PermissionUpdateType\x12&\n\"PERMISSION_UPDATE_TYPE_UNSPECIFIED\x10\x00\x12%\n!PERMISSION_UPDATE_TYPE_ADD_MEMBER\x10\x01\x12(\n$PERMISSION_UPDATE_TYPE_REMOVE_MEMBER\x10\x02\x12$\n PERMISSION_UPDATE_TYPE_ADD_ADMIN\x10\x03\x12\'\n#PERMISSION_UPDATE_TYPE_REMOVE_ADMIN\x10\x04\x12*\n&PERMISSION_UPDATE_TYPE_UPDATE_METADATA\x10\x05*\xe1\x01\n\x16PermissionPolicyOption\x12(\n$PERMISSION_POLICY_OPTION_UNSPECIFIED\x10\x00\x12\"\n\x1ePERMISSION_POLICY_OPTION_ALLOW\x10\x01\x12!\n\x1dPERMISSION_POLICY_OPTION_DENY\x10\x02\x12\'\n#PERMISSION_POLICY_OPTION_ADMIN_ONLY\x10\x03\x12-\n)PERMISSION_POLICY_OPTION_SUPER_ADMIN_ONLY\x10\x04BG\n\x1borg.xmtp.proto.mls.databaseZ(github.com/xmtp/proto/v3/go/mls/databaseJ\x82*\n\x07\x12\x05\x02\x00\xb9\x01\x01\nA\n\x01\x0c\x12\x03\x02\x00\x1227 Intent protos that are stored in the libxmtp database\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1a\n\t\n\x02\x03\x00\x12\x03\x05\x004\n\t\n\x02\x03\x01\x12\x03\x06\x007\n\x08\n\x01\x08\x12\x03\x08\x00?\n\t\n\x02\x08\x0b\x12\x03\x08\x00?\n\x08\n\x01\x08\x12\x03\t\x004\n\t\n\x02\x08\x01\x12\x03\t\x004\n4\n\x02\x04\x00\x12\x04\x0c\x00\x15\x01\x1a( The data required to publish a message\n\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x17\n,\n\x04\x04\x00\x03\x00\x12\x04\x0e\x02\x10\x03\x1a\x1e V1 of SendMessagePublishData\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x0e\n\x0c\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x0f\x04\x1c\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x0f\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x0f\n\x17\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x0f\x1a\x1b\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x12\x02\x14\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x12\x08\x0f\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x13\x04\x0e\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x13\x04\x06\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x13\x07\t\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x13\x0c\r\nE\n\x02\x04\x01\x12\x04\x18\x00\x1a\x01\x1a9 Wrapper around a list af repeated EVM Account Addresses\n\n\n\n\x03\x04\x01\x01\x12\x03\x18\x08\x18\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x19\x02(\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\x19\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x19\x0b\x11\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x19\x12#\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x19&\'\n@\n\x02\x04\x02\x12\x04\x1d\x00\x1f\x01\x1a4 Wrapper around a list of repeated Installation IDs\n\n\n\n\x03\x04\x02\x01\x12\x03\x1d\x08\x17\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1e\x02&\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x1e\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x1e\x0b\x10\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1e\x11!\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1e$%\n>\n\x02\x04\x03\x12\x04\"\x00\'\x01\x1a2 One of an EVM account address or Installation ID\n\n\n\n\x03\x04\x03\x01\x12\x03\"\x08\"\n\x0c\n\x04\x04\x03\x08\x00\x12\x04#\x02&\x03\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x03#\x08%\n\x0b\n\x04\x04\x03\x02\x00\x12\x03$\x04+\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03$\x04\x14\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03$\x15&\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03$)*\n\x0b\n\x04\x04\x03\x02\x01\x12\x03%\x04)\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03%\x04\x13\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03%\x14$\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03%\'(\nE\n\x02\x04\x04\x12\x04+\x004\x01\x1a9 DEPRECATED\n The data required to add members to a group\n\n\n\n\x03\x04\x04\x01\x12\x03+\x08\x16\n+\n\x04\x04\x04\x03\x00\x12\x04-\x02/\x03\x1a\x1d V1 of AddMembersPublishData\n\n\x0c\n\x05\x04\x04\x03\x00\x01\x12\x03-\n\x0c\n\r\n\x06\x04\x04\x03\x00\x02\x00\x12\x03.\x04A\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x06\x12\x03.\x04\x1e\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x01\x12\x03.\x1f<\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x03\x12\x03.?@\n\x0c\n\x04\x04\x04\x08\x00\x12\x041\x023\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x031\x08\x0f\n\x0b\n\x04\x04\x04\x02\x00\x12\x032\x04\x0e\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x032\x04\x06\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x032\x07\t\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x032\x0c\r\nJ\n\x02\x04\x05\x12\x048\x00A\x01\x1a> DEPRECATED\n The data required to remove members from a group\n\n\n\n\x03\x04\x05\x01\x12\x038\x08\x19\n.\n\x04\x04\x05\x03\x00\x12\x04:\x02<\x03\x1a V1 of RemoveMembersPublishData\n\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03:\n\x0c\n\r\n\x06\x04\x05\x03\x00\x02\x00\x12\x03;\x04A\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x06\x12\x03;\x04\x1e\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03;\x1f<\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03;?@\n\x0c\n\x04\x04\x05\x08\x00\x12\x04>\x02@\x03\n\x0c\n\x05\x04\x05\x08\x00\x01\x12\x03>\x08\x0f\n\x0b\n\x04\x04\x05\x02\x00\x12\x03?\x04\x0e\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03?\x04\x06\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03?\x07\t\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03?\x0c\r\ns\n\x02\x04\x06\x12\x04E\x00S\x01\x1ag The data required to make a commit that updates group membership\n Handles both Add and Remove actions\n\n\n\n\x03\x04\x06\x01\x12\x03E\x08!\n6\n\x04\x04\x06\x03\x00\x12\x04G\x02N\x03\x1a( V1 of UpdateGroupMembershipPublishData\n\n\x0c\n\x05\x04\x06\x03\x00\x01\x12\x03G\n\x0c\nM\n\x06\x04\x06\x03\x00\x02\x00\x12\x03I\x04/\x1a> Contains delta of membership updates that need to be applied\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x06\x12\x03I\x04\x17\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x03I\x18*\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x03I-.\nB\n\x06\x04\x06\x03\x00\x02\x01\x12\x03K\x04(\x1a3 Contains the list of members that will be removed\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x04\x12\x03K\x04\x0c\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x03K\r\x13\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x03K\x14#\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x03K&\'\nw\n\x06\x04\x06\x03\x00\x02\x02\x12\x03M\x04,\x1ah List of installations that failed to be added due to errors encountered during the evaluation process.\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x04\x12\x03M\x04\x0c\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x05\x12\x03M\r\x12\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x01\x12\x03M\x13\'\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x03\x12\x03M*+\n\x0c\n\x04\x04\x06\x08\x00\x12\x04P\x02R\x03\n\x0c\n\x05\x04\x06\x08\x00\x01\x12\x03P\x08\x0f\n\x0b\n\x04\x04\x06\x02\x00\x12\x03Q\x04\x0e\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03Q\x04\x06\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03Q\x07\t\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03Q\x0c\r\n\x9e\x01\n\x02\x04\x07\x12\x04X\x00`\x01\x1a\x91\x01 The data required to remove and readd existing leaf nodes\n on the MLS tree. Does not change or update the members list.\n Used for fork recovery\n\n\n\n\x03\x04\x07\x01\x12\x03X\x08\x1e\n\x0c\n\x04\x04\x07\x03\x00\x12\x04Y\x02[\x03\n\x0c\n\x05\x04\x07\x03\x00\x01\x12\x03Y\n\x0c\n\r\n\x06\x04\x07\x03\x00\x02\x00\x12\x03Z\x04-\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x04\x12\x03Z\x04\x0c\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x05\x12\x03Z\r\x12\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x01\x12\x03Z\x13(\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x03\x12\x03Z+,\n\x0c\n\x04\x04\x07\x08\x00\x12\x04]\x02_\x03\n\x0c\n\x05\x04\x07\x08\x00\x01\x12\x03]\x08\x0f\n\x0b\n\x04\x04\x07\x02\x00\x12\x03^\x04\x0e\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03^\x04\x06\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03^\x07\t\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03^\x0c\r\n8\n\x02\x04\x08\x12\x04c\x00m\x01\x1a, The data required to update group metadata\n\n\n\n\x03\x04\x08\x01\x12\x03c\x08\x1a\n/\n\x04\x04\x08\x03\x00\x12\x04e\x02h\x03\x1a! V1 of UpdateMetadataPublishData\n\n\x0c\n\x05\x04\x08\x03\x00\x01\x12\x03e\n\x0c\n\r\n\x06\x04\x08\x03\x00\x02\x00\x12\x03f\x04\x1a\n\x0e\n\x07\x04\x08\x03\x00\x02\x00\x05\x12\x03f\x04\n\n\x0e\n\x07\x04\x08\x03\x00\x02\x00\x01\x12\x03f\x0b\x15\n\x0e\n\x07\x04\x08\x03\x00\x02\x00\x03\x12\x03f\x18\x19\n\r\n\x06\x04\x08\x03\x00\x02\x01\x12\x03g\x04\x1b\n\x0e\n\x07\x04\x08\x03\x00\x02\x01\x05\x12\x03g\x04\n\n\x0e\n\x07\x04\x08\x03\x00\x02\x01\x01\x12\x03g\x0b\x16\n\x0e\n\x07\x04\x08\x03\x00\x02\x01\x03\x12\x03g\x19\x1a\n\x0c\n\x04\x04\x08\x08\x00\x12\x04j\x02l\x03\n\x0c\n\x05\x04\x08\x08\x00\x01\x12\x03j\x08\x0f\n\x0b\n\x04\x04\x08\x02\x00\x12\x03k\x04\x0e\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03k\x04\x06\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03k\x07\t\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03k\x0c\r\n+\n\x02\x05\x00\x12\x04p\x00v\x01\x1a\x1f Type of update to admin lists\n\n\n\n\x03\x05\x00\x01\x12\x03p\x05\x18\n\x0b\n\x04\x05\x00\x02\x00\x12\x03q\x02)\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03q\x02$\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03q\'(\n\x0b\n\x04\x05\x00\x02\x01\x12\x03r\x02\'\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03r\x02\"\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03r%&\n\x0b\n\x04\x05\x00\x02\x02\x12\x03s\x02*\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03s\x02%\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03s()\n\x0b\n\x04\x05\x00\x02\x03\x12\x03t\x02-\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03t\x02(\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03t+,\n\x0b\n\x04\x05\x00\x02\x04\x12\x03u\x020\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03u\x02+\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03u./\nH\n\x02\x04\t\x12\x05y\x00\x83\x01\x01\x1a; The data required to update group admin/super admin lists\n\n\n\n\x03\x04\t\x01\x12\x03y\x08\x1c\n1\n\x04\x04\t\x03\x00\x12\x04{\x02~\x03\x1a# V1 of UpdateAdminListsPublishData\n\n\x0c\n\x05\x04\t\x03\x00\x01\x12\x03{\n\x0c\n\r\n\x06\x04\t\x03\x00\x02\x00\x12\x03|\x043\n\x0e\n\x07\x04\t\x03\x00\x02\x00\x06\x12\x03|\x04\x17\n\x0e\n\x07\x04\t\x03\x00\x02\x00\x01\x12\x03|\x18.\n\x0e\n\x07\x04\t\x03\x00\x02\x00\x03\x12\x03|12\n\r\n\x06\x04\t\x03\x00\x02\x01\x12\x03}\x04\x18\n\x0e\n\x07\x04\t\x03\x00\x02\x01\x05\x12\x03}\x04\n\n\x0e\n\x07\x04\t\x03\x00\x02\x01\x01\x12\x03}\x0b\x13\n\x0e\n\x07\x04\t\x03\x00\x02\x01\x03\x12\x03}\x16\x17\n\x0e\n\x04\x04\t\x08\x00\x12\x06\x80\x01\x02\x82\x01\x03\n\r\n\x05\x04\t\x08\x00\x01\x12\x04\x80\x01\x08\x0f\n\x0c\n\x04\x04\t\x02\x00\x12\x04\x81\x01\x04\x0e\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\x81\x01\x04\x06\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x81\x01\x07\t\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x81\x01\x0c\r\n,\n\x02\x05\x01\x12\x06\x86\x01\x00\x8d\x01\x01\x1a\x1e Type of Permission to Update\n\n\x0b\n\x03\x05\x01\x01\x12\x04\x86\x01\x05\x19\n\x0c\n\x04\x05\x01\x02\x00\x12\x04\x87\x01\x02)\n\r\n\x05\x05\x01\x02\x00\x01\x12\x04\x87\x01\x02$\n\r\n\x05\x05\x01\x02\x00\x02\x12\x04\x87\x01\'(\n\x0c\n\x04\x05\x01\x02\x01\x12\x04\x88\x01\x02(\n\r\n\x05\x05\x01\x02\x01\x01\x12\x04\x88\x01\x02#\n\r\n\x05\x05\x01\x02\x01\x02\x12\x04\x88\x01&\'\n\x0c\n\x04\x05\x01\x02\x02\x12\x04\x89\x01\x02+\n\r\n\x05\x05\x01\x02\x02\x01\x12\x04\x89\x01\x02&\n\r\n\x05\x05\x01\x02\x02\x02\x12\x04\x89\x01)*\n\x0c\n\x04\x05\x01\x02\x03\x12\x04\x8a\x01\x02\'\n\r\n\x05\x05\x01\x02\x03\x01\x12\x04\x8a\x01\x02\"\n\r\n\x05\x05\x01\x02\x03\x02\x12\x04\x8a\x01%&\n\x0c\n\x04\x05\x01\x02\x04\x12\x04\x8b\x01\x02*\n\r\n\x05\x05\x01\x02\x04\x01\x12\x04\x8b\x01\x02%\n\r\n\x05\x05\x01\x02\x04\x02\x12\x04\x8b\x01()\n\x0c\n\x04\x05\x01\x02\x05\x12\x04\x8c\x01\x02-\n\r\n\x05\x05\x01\x02\x05\x01\x12\x04\x8c\x01\x02(\n\r\n\x05\x05\x01\x02\x05\x02\x12\x04\x8c\x01+,\n!\n\x02\x05\x02\x12\x06\x90\x01\x00\x96\x01\x01\x1a\x13 Permission Policy\n\n\x0b\n\x03\x05\x02\x01\x12\x04\x90\x01\x05\x1b\n\x0c\n\x04\x05\x02\x02\x00\x12\x04\x91\x01\x02+\n\r\n\x05\x05\x02\x02\x00\x01\x12\x04\x91\x01\x02&\n\r\n\x05\x05\x02\x02\x00\x02\x12\x04\x91\x01)*\n\x0c\n\x04\x05\x02\x02\x01\x12\x04\x92\x01\x02%\n\r\n\x05\x05\x02\x02\x01\x01\x12\x04\x92\x01\x02 \n\r\n\x05\x05\x02\x02\x01\x02\x12\x04\x92\x01#$\n\x0c\n\x04\x05\x02\x02\x02\x12\x04\x93\x01\x02$\n\r\n\x05\x05\x02\x02\x02\x01\x12\x04\x93\x01\x02\x1f\n\r\n\x05\x05\x02\x02\x02\x02\x12\x04\x93\x01\"#\n\x0c\n\x04\x05\x02\x02\x03\x12\x04\x94\x01\x02*\n\r\n\x05\x05\x02\x02\x03\x01\x12\x04\x94\x01\x02%\n\r\n\x05\x05\x02\x02\x03\x02\x12\x04\x94\x01()\n\x0c\n\x04\x05\x02\x02\x04\x12\x04\x95\x01\x020\n\r\n\x05\x05\x02\x02\x04\x01\x12\x04\x95\x01\x02+\n\r\n\x05\x05\x02\x02\x04\x02\x12\x04\x95\x01./\n7\n\x02\x04\n\x12\x06\x99\x01\x00\xa5\x01\x01\x1a) The data required to update permissions\n\n\x0b\n\x03\x04\n\x01\x12\x04\x99\x01\x08\x1c\n,\n\x04\x04\n\x03\x00\x12\x06\x9b\x01\x02\xa0\x01\x03\x1a\x1c V1 of UpdatePermissionData\n\n\r\n\x05\x04\n\x03\x00\x01\x12\x04\x9b\x01\n\x0c\n\x0e\n\x06\x04\n\x03\x00\x02\x00\x12\x04\x9c\x01\x044\n\x0f\n\x07\x04\n\x03\x00\x02\x00\x06\x12\x04\x9c\x01\x04\x18\n\x0f\n\x07\x04\n\x03\x00\x02\x00\x01\x12\x04\x9c\x01\x19/\n\x0f\n\x07\x04\n\x03\x00\x02\x00\x03\x12\x04\x9c\x0123\n\x0e\n\x06\x04\n\x03\x00\x02\x01\x12\x04\x9d\x01\x048\n\x0f\n\x07\x04\n\x03\x00\x02\x01\x06\x12\x04\x9d\x01\x04\x1a\n\x0f\n\x07\x04\n\x03\x00\x02\x01\x01\x12\x04\x9d\x01\x1b3\n\x0f\n\x07\x04\n\x03\x00\x02\x01\x03\x12\x04\x9d\x0167\n^\n\x06\x04\n\x03\x00\x02\x02\x12\x04\x9f\x01\x04,\x1aN Metadata permissions update specify which field permission they are updating\n\n\x0f\n\x07\x04\n\x03\x00\x02\x02\x04\x12\x04\x9f\x01\x04\x0c\n\x0f\n\x07\x04\n\x03\x00\x02\x02\x05\x12\x04\x9f\x01\r\x13\n\x0f\n\x07\x04\n\x03\x00\x02\x02\x01\x12\x04\x9f\x01\x14\'\n\x0f\n\x07\x04\n\x03\x00\x02\x02\x03\x12\x04\x9f\x01*+\n\x0e\n\x04\x04\n\x08\x00\x12\x06\xa2\x01\x02\xa4\x01\x03\n\r\n\x05\x04\n\x08\x00\x01\x12\x04\xa2\x01\x08\x0f\n\x0c\n\x04\x04\n\x02\x00\x12\x04\xa3\x01\x04\x0e\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\xa3\x01\x04\x06\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xa3\x01\x07\t\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xa3\x01\x0c\r\n=\n\x02\x04\x0b\x12\x06\xa8\x01\x00\xb9\x01\x01\x1a/ Generic data-type for all post-commit actions\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\xa8\x01\x08\x18\n!\n\x04\x04\x0b\x03\x00\x12\x06\xaa\x01\x02\xaf\x01\x03\x1a\x11 An installation\n\n\r\n\x05\x04\x0b\x03\x00\x01\x12\x04\xaa\x01\n\x16\n\x0e\n\x06\x04\x0b\x03\x00\x02\x00\x12\x04\xab\x01\x04\x1f\n\x0f\n\x07\x04\x0b\x03\x00\x02\x00\x05\x12\x04\xab\x01\x04\t\n\x0f\n\x07\x04\x0b\x03\x00\x02\x00\x01\x12\x04\xab\x01\n\x1a\n\x0f\n\x07\x04\x0b\x03\x00\x02\x00\x03\x12\x04\xab\x01\x1d\x1e\n\x0e\n\x06\x04\x0b\x03\x00\x02\x01\x12\x04\xac\x01\x04\x1e\n\x0f\n\x07\x04\x0b\x03\x00\x02\x01\x05\x12\x04\xac\x01\x04\t\n\x0f\n\x07\x04\x0b\x03\x00\x02\x01\x01\x12\x04\xac\x01\n\x19\n\x0f\n\x07\x04\x0b\x03\x00\x02\x01\x03\x12\x04\xac\x01\x1c\x1d\n\x0e\n\x06\x04\x0b\x03\x00\x02\x02\x12\x04\xad\x01\x04T\n\x0f\n\x07\x04\x0b\x03\x00\x02\x02\x06\x12\x04\xad\x01\x045\n\x0f\n\x07\x04\x0b\x03\x00\x02\x02\x01\x12\x04\xad\x016O\n\x0f\n\x07\x04\x0b\x03\x00\x02\x02\x03\x12\x04\xad\x01RS\n\x0e\n\x06\x04\x0b\x03\x00\x02\x03\x12\x04\xae\x01\x04s\n\x0f\n\x07\x04\x0b\x03\x00\x02\x03\x06\x12\x04\xae\x01\x04H\n\x0f\n\x07\x04\x0b\x03\x00\x02\x03\x01\x12\x04\xae\x01In\n\x0f\n\x07\x04\x0b\x03\x00\x02\x03\x03\x12\x04\xae\x01qr\n%\n\x04\x04\x0b\x03\x01\x12\x06\xb1\x01\x02\xb4\x01\x03\x1a\x15 SendWelcome message\n\n\r\n\x05\x04\x0b\x03\x01\x01\x12\x04\xb1\x01\n\x16\n\x0e\n\x06\x04\x0b\x03\x01\x02\x00\x12\x04\xb2\x01\x04,\n\x0f\n\x07\x04\x0b\x03\x01\x02\x00\x04\x12\x04\xb2\x01\x04\x0c\n\x0f\n\x07\x04\x0b\x03\x01\x02\x00\x06\x12\x04\xb2\x01\r\x19\n\x0f\n\x07\x04\x0b\x03\x01\x02\x00\x01\x12\x04\xb2\x01\x1a\'\n\x0f\n\x07\x04\x0b\x03\x01\x02\x00\x03\x12\x04\xb2\x01*+\n\x0e\n\x06\x04\x0b\x03\x01\x02\x01\x12\x04\xb3\x01\x04\x1e\n\x0f\n\x07\x04\x0b\x03\x01\x02\x01\x05\x12\x04\xb3\x01\x04\t\n\x0f\n\x07\x04\x0b\x03\x01\x02\x01\x01\x12\x04\xb3\x01\n\x19\n\x0f\n\x07\x04\x0b\x03\x01\x02\x01\x03\x12\x04\xb3\x01\x1c\x1d\n\x0e\n\x04\x04\x0b\x08\x00\x12\x06\xb6\x01\x02\xb8\x01\x03\n\r\n\x05\x04\x0b\x08\x00\x01\x12\x04\xb6\x01\x08\x0c\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\xb7\x01\x04#\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\xb7\x01\x04\x10\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xb7\x01\x11\x1e\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xb7\x01!\"b\x06proto3\n\xb3\n\n1mls/message_contents/group_mutable_metadata.proto\x12\x19xmtp.mls.message_contents\"\xe4\x02\n\x16GroupMutableMetadataV1\x12a\n\nattributes\x18\x01 \x03(\x0b2A.xmtp.mls.message_contents.GroupMutableMetadataV1.AttributesEntryR\nattributes\x12A\n\nadmin_list\x18\x02 \x01(\x0b2\".xmtp.mls.message_contents.InboxesR\tadminList\x12L\n\x10super_admin_list\x18\x03 \x01(\x0b2\".xmtp.mls.message_contents.InboxesR\x0esuperAdminList\x1a=\n\x0fAttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01J\x04\x08\x04\x10\x05R\x11commit_log_signer\"&\n\x07Inboxes\x12\x1b\n\tinbox_ids\x18\x01 \x03(\tR\x08inboxIdsBW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\xf2\x05\n\x06\x12\x04\x01\x00\x18\x01\n\"\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x18 Group mutable metadata\n\n\x08\n\x01\x02\x12\x03\x03\x00\"\n\x08\n\x01\x08\x12\x03\x05\x00G\n\t\n\x02\x08\x0b\x12\x03\x05\x00G\n\x08\n\x01\x08\x12\x03\x06\x00<\n\t\n\x02\x08\x01\x12\x03\x06\x00<\n0\n\x02\x04\x00\x12\x04\t\x00\x13\x01\x1a$ Message for group mutable metadata\n\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\x1e\nJ\n\x04\x04\x00\x02\x00\x12\x03\x0b\x02%\x1a= Map to store various metadata attributes (Group name, etc.)\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0b\x02\x15\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0b\x16 \n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0b#$\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0c\x02\x19\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0c\x02\t\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0c\n\x14\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0c\x17\x18\nd\n\x04\x04\x00\x02\x02\x12\x03\x0f\x02\x1f\x1aW Creator starts as only super_admin\n Only super_admin can add/remove other super_admin\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x0f\x02\t\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0f\n\x1a\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0f\x1d\x1e\nG\n\x03\x04\x00\t\x12\x03\x11\x02\r\x1a; Top-level commit_log_signer removed in favor of attribute\n\n\x0b\n\x04\x04\x00\t\x00\x12\x03\x11\x0b\x0c\n\x0c\n\x05\x04\x00\t\x00\x01\x12\x03\x11\x0b\x0c\n\x0c\n\x05\x04\x00\t\x00\x02\x12\x03\x11\x0b\x0c\n\n\n\x03\x04\x00\n\x12\x03\x12\x02\x1f\n\x0b\n\x04\x04\x00\n\x00\x12\x03\x12\x0b\x1e\n9\n\x02\x04\x01\x12\x04\x16\x00\x18\x01\x1a- Wrapper around a list of repeated Inbox Ids\n\n\n\n\x03\x04\x01\x01\x12\x03\x16\x08\x0f\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x17\x02 \n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\x17\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x17\x0b\x11\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x17\x12\x1b\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x17\x1e\x1fb\x06proto3\n\x8a\x12\n%mls/message_contents/commit_log.proto\x12\x19xmtp.mls.message_contents\x1a%identity/associations/signature.proto\"\xdc\x02\n\x17PlaintextCommitLogEntry\x12\x19\n\x08group_id\x18\x01 \x01(\x0cR\x07groupId\x12,\n\x12commit_sequence_id\x18\x02 \x01(\x04R\x10commitSequenceId\x128\n\x18last_epoch_authenticator\x18\x03 \x01(\x0cR\x16lastEpochAuthenticator\x12L\n\rcommit_result\x18\x04 \x01(\x0e2\'.xmtp.mls.message_contents.CommitResultR\x0ccommitResult\x120\n\x14applied_epoch_number\x18\x05 \x01(\x04R\x12appliedEpochNumber\x12>\n\x1bapplied_epoch_authenticator\x18\x06 \x01(\x0cR\x19appliedEpochAuthenticator\"\xc7\x01\n\x0eCommitLogEntry\x12\x1f\n\x0bsequence_id\x18\x01 \x01(\x04R\nsequenceId\x12=\n\x1bserialized_commit_log_entry\x18\x02 \x01(\x0cR\x18serializedCommitLogEntry\x12U\n\tsignature\x18\x03 \x01(\x0b27.xmtp.identity.associations.RecoverableEd25519SignatureR\tsignature*\xa3\x01\n\x0cCommitResult\x12\x1d\n\x19COMMIT_RESULT_UNSPECIFIED\x10\x00\x12\x19\n\x15COMMIT_RESULT_APPLIED\x10\x01\x12\x1d\n\x19COMMIT_RESULT_WRONG_EPOCH\x10\x02\x12\x1f\n\x1bCOMMIT_RESULT_UNDECRYPTABLE\x10\x03\x12\x19\n\x15COMMIT_RESULT_INVALID\x10\x04J\xc7\x0b\n\x06\x12\x04\x02\x00%\x01\n\xa0\x01\n\x01\x0c\x12\x03\x02\x00\x12\x1a\x95\x01 Defines entries on the commit log, used for fork detection and recovery\n XIP: https://community.xmtp.org/t/xip-68-draft-automated-fork-recovery/951\n\n\x08\n\x01\x02\x12\x03\x04\x00\"\n\t\n\x02\x03\x00\x12\x03\x06\x00/\n\n\n\x02\x05\x00\x12\x04\x08\x00\x0e\x01\n\n\n\x03\x05\x00\x01\x12\x03\x08\x05\x11\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\t\x02 \n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\t\x02\x1b\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\t\x1e\x1f\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\n\x02\x1c\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\n\x02\x17\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\n\x1a\x1b\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x0b\x02 \n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x0b\x02\x1b\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x0b\x1e\x1f\n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x0c\x02\"\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x0c\x02\x1d\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x0c !\n\x0b\n\x04\x05\x00\x02\x04\x12\x03\r\x02\x1c\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03\r\x02\x17\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03\r\x1a\x1b\n\x9a\x01\n\x02\x04\x00\x12\x04\x12\x00\x1f\x01\x1a\x8d\x01 PlaintextCommitLogEntry indicates whether a commit was successful or not,\n when applied on top of the indicated `last_epoch_authenticator`.\n\n\n\n\x03\x04\x00\x01\x12\x03\x12\x08\x1f\nD\n\x04\x04\x00\x02\x00\x12\x03\x14\x02\x15\x1a7 The group_id of the group that the commit belongs to.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x14\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14\x08\x10\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14\x13\x14\nE\n\x04\x04\x00\x02\x01\x12\x03\x16\x02 \x1a8 The sequence ID of the commit payload being validated.\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x16\t\x1b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x16\x1e\x1f\nB\n\x04\x04\x00\x02\x02\x12\x03\x18\x02%\x1a5 The encryption state before the commit was applied.\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x18\x02\x07\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x18\x08 \n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x18#$\nM\n\x04\x04\x00\x02\x03\x12\x03\x1a\x02!\x1a@ Indicates whether the commit was successful, or why it failed.\n\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x1a\x02\x0e\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x1a\x0f\x1c\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x1a\x1f \nL\n\x04\x04\x00\x02\x04\x12\x03\x1c\x02\"\x1a? The epoch number after the commit was applied, if successful.\n\n\x0c\n\x05\x04\x00\x02\x04\x05\x12\x03\x1c\x02\x08\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x1c\t\x1d\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x1c !\nP\n\x04\x04\x00\x02\x05\x12\x03\x1e\x02(\x1aC The encryption state after the commit was applied, if successful.\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\x1e\x02\x07\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x1e\x08#\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x1e&\'\n\n\n\x02\x04\x01\x12\x04!\x00%\x01\n\n\n\x03\x04\x01\x01\x12\x03!\x08\x16\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\"\x02\x19\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\"\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\"\t\x14\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\"\x17\x18\n\x0b\n\x04\x04\x01\x02\x01\x12\x03#\x02(\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03#\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03#\x08#\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03#&\'\n\x0b\n\x04\x04\x01\x02\x02\x12\x03$\x02G\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03$\x028\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03$9B\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03$EFb\x06proto3\n\xf6$\n\"mls/message_contents/content.proto\x12\x19xmtp.mls.message_contents\x1a\x19device_sync/content.proto\"\x95\x01\n\rContentTypeId\x12!\n\x0cauthority_id\x18\x01 \x01(\tR\x0bauthorityId\x12\x17\n\x07type_id\x18\x02 \x01(\tR\x06typeId\x12#\n\rversion_major\x18\x03 \x01(\rR\x0cversionMajor\x12#\n\rversion_minor\x18\x04 \x01(\rR\x0cversionMinor\"\x8f\x03\n\x0eEncodedContent\x12<\n\x04type\x18\x01 \x01(\x0b2(.xmtp.mls.message_contents.ContentTypeIdR\x04type\x12Y\n\nparameters\x18\x02 \x03(\x0b29.xmtp.mls.message_contents.EncodedContent.ParametersEntryR\nparameters\x12\x1f\n\x08fallback\x18\x03 \x01(\tH\x00R\x08fallback\x88\x01\x01\x12M\n\x0bcompression\x18\x05 \x01(\x0e2&.xmtp.mls.message_contents.CompressionH\x01R\x0bcompression\x88\x01\x01\x12\x18\n\x07content\x18\x04 \x01(\x0cR\x07content\x1a=\n\x0fParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x0b\n\t_fallbackB\x0e\n\x0c_compression\"\x80\x05\n\x11PlaintextEnvelope\x12A\n\x02v1\x18\x01 \x01(\x0b2/.xmtp.mls.message_contents.PlaintextEnvelope.V1H\x00R\x02v1\x12A\n\x02v2\x18\x02 \x01(\x0b2/.xmtp.mls.message_contents.PlaintextEnvelope.V2H\x00R\x02v2\x1aG\n\x02V1\x12\x18\n\x07content\x18\x01 \x01(\x0cR\x07content\x12\'\n\x0fidempotency_key\x18\x02 \x01(\tR\x0eidempotencyKey\x1a\x90\x03\n\x02V2\x12\'\n\x0fidempotency_key\x18\x01 \x01(\tR\x0eidempotencyKey\x12\x1a\n\x07content\x18\x02 \x01(\x0cH\x00R\x07content\x12]\n\x13device_sync_request\x18\x03 \x01(\x0b2+.xmtp.device_sync.content.DeviceSyncRequestH\x00R\x11deviceSyncRequest\x12W\n\x11device_sync_reply\x18\x04 \x01(\x0b2).xmtp.device_sync.content.DeviceSyncReplyH\x00R\x0fdeviceSyncReply\x12h\n\x16user_preference_update\x18\x05 \x01(\x0b20.xmtp.device_sync.content.V1UserPreferenceUpdateH\x00R\x14userPreferenceUpdateB\x0e\n\x0cmessage_typeJ\x04\x08\x06\x10\x07R\rreadd_requestB\t\n\x07content*<\n\x0bCompression\x12\x17\n\x13COMPRESSION_DEFLATE\x10\x00\x12\x14\n\x10COMPRESSION_GZIP\x10\x01BW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\xcd\x19\n\x06\x12\x04\x02\x00T\x01\n|\n\x01\x0c\x12\x03\x02\x00\x12\x1ar Message content encoding structures\n Copied from V2 code so that we can eventually retire all V2 message content\n\n\x08\n\x01\x02\x12\x03\x04\x00\"\n\t\n\x02\x03\x00\x12\x03\x06\x00#\n\x08\n\x01\x08\x12\x03\x08\x00G\n\t\n\x02\x08\x0b\x12\x03\x08\x00G\n\x08\n\x01\x08\x12\x03\t\x00<\n\t\n\x02\x08\x01\x12\x03\t\x00<\nX\n\x02\x04\x00\x12\x04\x0c\x00\x11\x01\x1aL ContentTypeId is used to identify the type of content stored in a Message.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x15\n4\n\x04\x04\x00\x02\x00\x12\x03\r\x02\x1a\"\' authority governing this content type\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\t\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\x18\x19\n\x1e\n\x04\x04\x00\x02\x01\x12\x03\x0e\x02\x15\"\x11 type identifier\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\t\x10\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e\x13\x14\n(\n\x04\x04\x00\x02\x02\x12\x03\x0f\x02\x1b\"\x1b major version of the type\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x0f\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0f\t\x16\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0f\x19\x1a\n(\n\x04\x04\x00\x02\x03\x12\x03\x10\x02\x1b\"\x1b minor version of the type\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x10\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x10\t\x16\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x10\x19\x1a\ng\n\x02\x05\x00\x12\x04\x15\x00\x18\x01\x1a[ Recognized compression algorithms\n protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH\n\n\n\n\x03\x05\x00\x01\x12\x03\x15\x05\x10\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x16\x02\x1a\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x16\x02\x15\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x16\x18\x19\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x17\x02\x17\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x17\x02\x12\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x17\x15\x16\n\xa3\x01\n\x02\x04\x01\x12\x04\x1d\x00+\x01\x1a\x96\x01 EncodedContent bundles the content with metadata identifying its type\n and parameters required for correct decoding and presentation of the content.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1d\x08\x16\ne\n\x04\x04\x01\x02\x00\x12\x03 \x02\x19\x1aX content type identifier used to match the payload with\n the correct decoding machinery\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03 \x02\x0f\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03 \x10\x14\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03 \x17\x18\nT\n\x04\x04\x01\x02\x01\x12\x03\"\x02%\x1aG optional encoding parameters required to correctly decode the content\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\"\x02\x15\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\"\x16 \n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\"#$\n\x84\x01\n\x04\x04\x01\x02\x02\x12\x03%\x02\x1f\x1aw optional fallback description of the content that can be used in case\n the client cannot decode or render the content\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03%\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03%\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03%\x12\x1a\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03%\x1d\x1e\nn\n\x04\x04\x01\x02\x03\x12\x03(\x02\'\x1aa optional compression; the value indicates algorithm used to\n compress the encoded content bytes\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03(\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03(\x0b\x16\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03(\x17\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03(%&\n%\n\x04\x04\x01\x02\x04\x12\x03*\x02\x14\x1a\x18 encoded content itself\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03*\x02\x07\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03*\x08\x0f\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03*\x12\x13\nU\n\x02\x04\x02\x12\x04.\x00T\x01\x1aI A PlaintextEnvelope is the outermost payload that gets encrypted by MLS\n\n\n\n\x03\x04\x02\x01\x12\x03.\x08\x19\n3\n\x04\x04\x02\x03\x00\x12\x040\x026\x03\x1a% Version 1 of the encrypted envelope\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x030\n\x0c\n.\n\x06\x04\x02\x03\x00\x02\x00\x12\x032\x04\x16\x1a\x1f Expected to be EncodedContent\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x032\x04\t\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x032\n\x11\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x032\x14\x15\n\x8c\x01\n\x06\x04\x02\x03\x00\x02\x01\x12\x035\x04\x1f\x1a} A unique value that can be used to ensure that the same content can\n produce different hashes. May be the sender timestamp.\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x035\x04\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x035\x0b\x1a\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x035\x1d\x1e\n3\n\x04\x04\x02\x03\x01\x12\x049\x02L\x03\x1a% Version 2 of the encrypted envelope\n\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x039\n\x0c\n\x8c\x01\n\x06\x04\x02\x03\x01\x02\x00\x12\x03<\x04\x1f\x1a} A unique value that can be used to ensure that the same content can\n produce different hashes. May be the sender timestamp.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x05\x12\x03<\x04\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x03<\x0b\x1a\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x03<\x1d\x1e\n\x0e\n\x06\x04\x02\x03\x01\x08\x00\x12\x04>\x04G\x05\n\x0e\n\x07\x04\x02\x03\x01\x08\x00\x01\x12\x03>\n\x16\n.\n\x06\x04\x02\x03\x01\x02\x01\x12\x03@\x06\x18\x1a\x1f Expected to be EncodedContent\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x05\x12\x03@\x06\x0b\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x03@\x0c\x13\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03@\x16\x17\nB\n\x06\x04\x02\x03\x01\x02\x02\x12\x03B\x06I\x1a3 Initiator sends a request to receive sync payload\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x06\x12\x03B\x060\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x01\x12\x03B1D\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x03\x12\x03BGH\nX\n\x06\x04\x02\x03\x01\x02\x03\x12\x03D\x06E\x1aI Some other authorized installation sends a reply with a link to payload\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x03\x06\x12\x03D\x06.\n\x0e\n\x07\x04\x02\x03\x01\x02\x03\x01\x12\x03D/@\n\x0e\n\x07\x04\x02\x03\x01\x02\x03\x03\x12\x03DCD\n4\n\x06\x04\x02\x03\x01\x02\x04\x12\x03F\x06Q\x1a% A serialized user preference update\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x04\x06\x12\x03F\x065\n\x0e\n\x07\x04\x02\x03\x01\x02\x04\x01\x12\x03F6L\n\x0e\n\x07\x04\x02\x03\x01\x02\x04\x03\x12\x03FOP\n1\n\x05\x04\x02\x03\x01\t\x12\x03J\x04\x0f\x1a# Removed; moved to oneshot message\n\n\r\n\x06\x04\x02\x03\x01\t\x00\x12\x03J\r\x0e\n\x0e\n\x07\x04\x02\x03\x01\t\x00\x01\x12\x03J\r\x0e\n\x0e\n\x07\x04\x02\x03\x01\t\x00\x02\x12\x03J\r\x0e\n\x0c\n\x05\x04\x02\x03\x01\n\x12\x03K\x04\x1d\n\r\n\x06\x04\x02\x03\x01\n\x00\x12\x03K\r\x1c\nf\n\x04\x04\x02\x08\x00\x12\x04P\x02S\x03\x1aX Selector which declares which version of the EncodedContent this\n PlaintextEnvelope is\n\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03P\x08\x0f\n\x0b\n\x04\x04\x02\x02\x00\x12\x03Q\x04\x0e\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03Q\x04\x06\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03Q\x07\t\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03Q\x0c\r\n\x0b\n\x04\x04\x02\x02\x01\x12\x03R\x04\x0e\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03R\x04\x06\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03R\x07\t\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03R\x0c\rb\x06proto3\n\xe0\"\n.mls/message_contents/transcript_messages.proto\x12\x19xmtp.mls.message_contents\"\xa7\x01\n\x10MembershipChange\x12)\n\x10installation_ids\x18\x01 \x03(\x0cR\x0finstallationIds\x12\'\n\x0faccount_address\x18\x02 \x01(\tR\x0eaccountAddress\x12?\n\x1cinitiated_by_account_address\x18\x03 \x01(\tR\x19initiatedByAccountAddress\"\x80\x03\n\x16GroupMembershipChanges\x12P\n\rmembers_added\x18\x01 \x03(\x0b2+.xmtp.mls.message_contents.MembershipChangeR\x0cmembersAdded\x12T\n\x0fmembers_removed\x18\x02 \x03(\x0b2+.xmtp.mls.message_contents.MembershipChangeR\x0emembersRemoved\x12\\\n\x13installations_added\x18\x03 \x03(\x0b2+.xmtp.mls.message_contents.MembershipChangeR\x12installationsAdded\x12`\n\x15installations_removed\x18\x04 \x03(\x0b2+.xmtp.mls.message_contents.MembershipChangeR\x14installationsRemoved\"\x87\x08\n\x0cGroupUpdated\x121\n\x15initiated_by_inbox_id\x18\x01 \x01(\tR\x12initiatedByInboxId\x12R\n\radded_inboxes\x18\x02 \x03(\x0b2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x0caddedInboxes\x12V\n\x0fremoved_inboxes\x18\x03 \x03(\x0b2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x0eremovedInboxes\x12q\n\x16metadata_field_changes\x18\x04 \x03(\x0b2;.xmtp.mls.message_contents.GroupUpdated.MetadataFieldChangeR\x14metadataFieldChanges\x12P\n\x0cleft_inboxes\x18\x05 \x03(\x0b2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x0bleftInboxes\x12]\n\x13added_admin_inboxes\x18\x06 \x03(\x0b2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x11addedAdminInboxes\x12a\n\x15removed_admin_inboxes\x18\x07 \x03(\x0b2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x13removedAdminInboxes\x12h\n\x19added_super_admin_inboxes\x18\x08 \x03(\x0b2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x16addedSuperAdminInboxes\x12l\n\x1bremoved_super_admin_inboxes\x18\t \x03(\x0b2-.xmtp.mls.message_contents.GroupUpdated.InboxR\x18removedSuperAdminInboxes\x1a\"\n\x05Inbox\x12\x19\n\x08inbox_id\x18\x01 \x01(\tR\x07inboxId\x1a\x94\x01\n\x13MetadataFieldChange\x12\x1d\n\nfield_name\x18\x01 \x01(\tR\tfieldName\x12 \n\told_value\x18\x02 \x01(\tH\x00R\x08oldValue\x88\x01\x01\x12 \n\tnew_value\x18\x03 \x01(\tH\x01R\x08newValue\x88\x01\x01B\x0c\n\n_old_valueB\x0c\n\n_new_valueBW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\xfa\x14\n\x06\x12\x04\x01\x00B\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% Message content encoding structures\n\n\x08\n\x01\x02\x12\x03\x03\x00\"\n\x08\n\x01\x08\x12\x03\x05\x00G\n\t\n\x02\x08\x0b\x12\x03\x05\x00G\n\x08\n\x01\x08\x12\x03\x06\x00<\n\t\n\x02\x08\x01\x12\x03\x06\x00<\n:\n\x02\x04\x00\x12\x04\t\x00\r\x01\x1a. A group member and affected installation IDs\n\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\x18\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\n\x02&\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\n\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\n\x0b\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n\x11!\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n$%\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0b\x02\x1d\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0b\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0b\t\x18\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0b\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x0c\x02*\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x0c\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0c\t%\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0c()\nd\n\x02\x04\x01\x12\x04\x10\x00\x1d\x01\x1a# The group membership change proto\n\"3 protolint:disable REPEATED_FIELD_NAMES_PLURALIZED\n\n\n\n\x03\x04\x01\x01\x12\x03\x10\x08\x1e\n9\n\x04\x04\x01\x02\x00\x12\x03\x14\x02.\x1a, Members that have been added in the commit\n\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x14\x0b\x1b\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x14\x1c)\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x14,-\n;\n\x04\x04\x01\x02\x01\x12\x03\x16\x020\x1a. Members that have been removed in the commit\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03\x16\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x16\x0b\x1b\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x16\x1c+\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x16./\nR\n\x04\x04\x01\x02\x02\x12\x03\x18\x024\x1aE Installations that have been added in the commit, grouped by member\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03\x18\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03\x18\x0b\x1b\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x18\x1c/\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1823\nE\n\x04\x04\x01\x02\x03\x12\x03\x1a\x026\x1a8 Installations removed in the commit, grouped by member\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03\x1a\x0b\x1b\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x1a\x1c1\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x1a45\nk\n\x02\x04\x02\x12\x04!\x00B\x01\x1a_ A summary of the changes in a commit.\n Includes added/removed inboxes and changes to metadata\n\n\n\n\x03\x04\x02\x01\x12\x03!\x08\x14\nA\n\x04\x04\x02\x03\x00\x12\x04#\x02%\x03\x1a3 An inbox that was added or removed in this commit\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03#\n\x0f\n\r\n\x06\x04\x02\x03\x00\x02\x00\x12\x03$\x04\x18\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x03$\x04\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x03$\x0b\x13\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x03$\x16\x17\n=\n\x04\x04\x02\x03\x01\x12\x04(\x02/\x03\x1a/ A summary of a change to the mutable metadata\n\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x03(\n\x1d\n+\n\x06\x04\x02\x03\x01\x02\x00\x12\x03*\x04\x1a\x1a\x1c The field that was changed\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x05\x12\x03*\x04\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x03*\x0b\x15\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x03*\x18\x19\n#\n\x06\x04\x02\x03\x01\x02\x01\x12\x03,\x04\"\x1a\x14 The previous value\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x04\x12\x03,\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x05\x12\x03,\r\x13\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x03,\x14\x1d\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03, !\n\"\n\x06\x04\x02\x03\x01\x02\x02\x12\x03.\x04\"\x1a\x13 The updated value\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x04\x12\x03.\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x05\x12\x03.\r\x13\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x01\x12\x03.\x14\x1d\n\x0e\n\x07\x04\x02\x03\x01\x02\x02\x03\x12\x03. !\n\x0b\n\x04\x04\x02\x02\x00\x12\x031\x02#\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x031\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x031\t\x1e\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x031!\"\n.\n\x04\x04\x02\x02\x01\x12\x033\x02#\x1a! The inboxes added in the commit\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x033\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x033\x0b\x10\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x033\x11\x1e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x033!\"\n0\n\x04\x04\x02\x02\x02\x12\x035\x02%\x1a# The inboxes removed in the commit\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x035\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x035\x0b\x10\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x035\x11 \n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x035#$\n1\n\x04\x04\x02\x02\x03\x12\x037\x02:\x1a$ The metadata changes in the commit\n\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\x037\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x037\x0b\x1e\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x037\x1f5\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03789\no\n\x04\x04\x02\x02\x04\x12\x039\x02\"\x1ab/ The inboxes that were removed from the group in response to pending-remove/self-remove requests\n\n\x0c\n\x05\x04\x02\x02\x04\x04\x12\x039\x02\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x039\x0b\x10\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x039\x11\x1d\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x039 !\nF\n\x04\x04\x02\x02\x05\x12\x03;\x02)\x1a9 The inboxes that were added to admin list in the commit\n\n\x0c\n\x05\x04\x02\x02\x05\x04\x12\x03;\x02\n\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x03;\x0b\x10\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03;\x11$\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03;\'(\nJ\n\x04\x04\x02\x02\x06\x12\x03=\x02+\x1a= The inboxes that were removed from admin list in the commit\n\n\x0c\n\x05\x04\x02\x02\x06\x04\x12\x03=\x02\n\n\x0c\n\x05\x04\x02\x02\x06\x06\x12\x03=\x0b\x10\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03=\x11&\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03=)*\nL\n\x04\x04\x02\x02\x07\x12\x03?\x02/\x1a? The inboxes that were added to super admin list in the commit\n\n\x0c\n\x05\x04\x02\x02\x07\x04\x12\x03?\x02\n\n\x0c\n\x05\x04\x02\x02\x07\x06\x12\x03?\x0b\x10\n\x0c\n\x05\x04\x02\x02\x07\x01\x12\x03?\x11*\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03?-.\nP\n\x04\x04\x02\x02\x08\x12\x03A\x021\x1aC The inboxes that were removed from super admin list in the commit\n\n\x0c\n\x05\x04\x02\x02\x08\x04\x12\x03A\x02\n\n\x0c\n\x05\x04\x02\x02\x08\x06\x12\x03A\x0b\x10\n\x0c\n\x05\x04\x02\x02\x08\x01\x12\x03A\x11,\n\x0c\n\x05\x04\x02\x02\x08\x03\x12\x03A/0b\x06proto3\n\xfc0\n,mls/message_contents/group_permissions.proto\x12\x19xmtp.mls.message_contents\"]\n\x19GroupMutablePermissionsV1\x12@\n\x08policies\x18\x01 \x01(\x0b2$.xmtp.mls.message_contents.PolicySetR\x08policies\"\xdf\x05\n\tPolicySet\x12W\n\x11add_member_policy\x18\x01 \x01(\x0b2+.xmtp.mls.message_contents.MembershipPolicyR\x0faddMemberPolicy\x12]\n\x14remove_member_policy\x18\x02 \x01(\x0b2+.xmtp.mls.message_contents.MembershipPolicyR\x12removeMemberPolicy\x12t\n\x16update_metadata_policy\x18\x03 \x03(\x0b2>.xmtp.mls.message_contents.PolicySet.UpdateMetadataPolicyEntryR\x14updateMetadataPolicy\x12\\\n\x10add_admin_policy\x18\x04 \x01(\x0b22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x0eaddAdminPolicy\x12b\n\x13remove_admin_policy\x18\x05 \x01(\x0b22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x11removeAdminPolicy\x12n\n\x19update_permissions_policy\x18\x06 \x01(\x0b22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x17updatePermissionsPolicy\x1ar\n\x19UpdateMetadataPolicyEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12?\n\x05value\x18\x02 \x01(\x0b2).xmtp.mls.message_contents.MetadataPolicyR\x05value:\x028\x01\"\x8a\x05\n\x10MembershipPolicy\x12L\n\x04base\x18\x01 \x01(\x0e26.xmtp.mls.message_contents.MembershipPolicy.BasePolicyH\x00R\x04base\x12_\n\rand_condition\x18\x02 \x01(\x0b28.xmtp.mls.message_contents.MembershipPolicy.AndConditionH\x00R\x0candCondition\x12_\n\rany_condition\x18\x03 \x01(\x0b28.xmtp.mls.message_contents.MembershipPolicy.AnyConditionH\x00R\x0canyCondition\x1aW\n\x0cAndCondition\x12G\n\x08policies\x18\x01 \x03(\x0b2+.xmtp.mls.message_contents.MembershipPolicyR\x08policies\x1aW\n\x0cAnyCondition\x12G\n\x08policies\x18\x01 \x03(\x0b2+.xmtp.mls.message_contents.MembershipPolicyR\x08policies\"\xab\x01\n\nBasePolicy\x12\x1b\n\x17BASE_POLICY_UNSPECIFIED\x10\x00\x12\x15\n\x11BASE_POLICY_ALLOW\x10\x01\x12\x14\n\x10BASE_POLICY_DENY\x10\x02\x12-\n)BASE_POLICY_ALLOW_IF_ADMIN_OR_SUPER_ADMIN\x10\x03\x12$\n BASE_POLICY_ALLOW_IF_SUPER_ADMIN\x10\x04B\x06\n\x04kind\"\xac\x05\n\x0eMetadataPolicy\x12R\n\x04base\x18\x01 \x01(\x0e2<.xmtp.mls.message_contents.MetadataPolicy.MetadataBasePolicyH\x00R\x04base\x12]\n\rand_condition\x18\x02 \x01(\x0b26.xmtp.mls.message_contents.MetadataPolicy.AndConditionH\x00R\x0candCondition\x12]\n\rany_condition\x18\x03 \x01(\x0b26.xmtp.mls.message_contents.MetadataPolicy.AnyConditionH\x00R\x0canyCondition\x1aU\n\x0cAndCondition\x12E\n\x08policies\x18\x01 \x03(\x0b2).xmtp.mls.message_contents.MetadataPolicyR\x08policies\x1aU\n\x0cAnyCondition\x12E\n\x08policies\x18\x01 \x03(\x0b2).xmtp.mls.message_contents.MetadataPolicyR\x08policies\"\xd1\x01\n\x12MetadataBasePolicy\x12$\n METADATA_BASE_POLICY_UNSPECIFIED\x10\x00\x12\x1e\n\x1aMETADATA_BASE_POLICY_ALLOW\x10\x01\x12\x1d\n\x19METADATA_BASE_POLICY_DENY\x10\x02\x12\'\n#METADATA_BASE_POLICY_ALLOW_IF_ADMIN\x10\x03\x12-\n)METADATA_BASE_POLICY_ALLOW_IF_SUPER_ADMIN\x10\x04B\x06\n\x04kind\"\xd4\x05\n\x17PermissionsUpdatePolicy\x12^\n\x04base\x18\x01 \x01(\x0e2H.xmtp.mls.message_contents.PermissionsUpdatePolicy.PermissionsBasePolicyH\x00R\x04base\x12f\n\rand_condition\x18\x02 \x01(\x0b2?.xmtp.mls.message_contents.PermissionsUpdatePolicy.AndConditionH\x00R\x0candCondition\x12f\n\rany_condition\x18\x03 \x01(\x0b2?.xmtp.mls.message_contents.PermissionsUpdatePolicy.AnyConditionH\x00R\x0canyCondition\x1a^\n\x0cAndCondition\x12N\n\x08policies\x18\x01 \x03(\x0b22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x08policies\x1a^\n\x0cAnyCondition\x12N\n\x08policies\x18\x01 \x03(\x0b22.xmtp.mls.message_contents.PermissionsUpdatePolicyR\x08policies\"\xc0\x01\n\x15PermissionsBasePolicy\x12\'\n#PERMISSIONS_BASE_POLICY_UNSPECIFIED\x10\x00\x12 \n\x1cPERMISSIONS_BASE_POLICY_DENY\x10\x01\x12*\n&PERMISSIONS_BASE_POLICY_ALLOW_IF_ADMIN\x10\x02\x120\n,PERMISSIONS_BASE_POLICY_ALLOW_IF_SUPER_ADMIN\x10\x03B\x06\n\x04kindBW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\xfb\x18\n\x06\x12\x04\x01\x00h\x01\n.\n\x01\x0c\x12\x03\x01\x00\x12\x1a$ Group mutable permissions metadata\n\n\x08\n\x01\x02\x12\x03\x03\x00\"\n\x08\n\x01\x08\x12\x03\x05\x00G\n\t\n\x02\x08\x0b\x12\x03\x05\x00G\n\x08\n\x01\x08\x12\x03\x06\x00<\n\t\n\x02\x08\x01\x12\x03\x06\x00<\n0\n\x02\x04\x00\x12\x04\t\x00\x0b\x01\x1a$ Message for group mutable metadata\n\n\n\n\x03\x04\x00\x01\x12\x03\t\x08!\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\n\x02\x19\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\n\x02\x0b\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n\x0c\x14\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n\x17\x18\n7\n\x02\x04\x01\x12\x04\x0e\x00\x15\x01\x1a+ The set of policies that govern the group\n\n\n\n\x03\x04\x01\x01\x12\x03\x0e\x08\x11\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x0f\x02)\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x0f\x02\x12\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0f\x13$\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0f\'(\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x10\x02,\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x10\x02\x12\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x10\x13\'\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x10*+\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x11\x029\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03\x11\x02\x1d\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x11\x1e4\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1178\n\x0b\n\x04\x04\x01\x02\x03\x12\x03\x12\x02/\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03\x12\x02\x19\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x12\x1a*\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x12-.\n\x0b\n\x04\x04\x01\x02\x04\x12\x03\x13\x022\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03\x13\x02\x19\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\x13\x1a-\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x1301\n\x0b\n\x04\x04\x01\x02\x05\x12\x03\x14\x028\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03\x14\x02\x19\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03\x14\x1a3\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03\x1467\nL\n\x02\x04\x02\x12\x04\x18\x001\x01\x1a@ A policy that governs adding/removing members or installations\n\n\n\n\x03\x04\x02\x01\x12\x03\x18\x08\x18\n\x1b\n\x04\x04\x02\x04\x00\x12\x04\x1a\x02 \x03\x1a\r Base policy\n\n\x0c\n\x05\x04\x02\x04\x00\x01\x12\x03\x1a\x07\x11\n\r\n\x06\x04\x02\x04\x00\x02\x00\x12\x03\x1b\x04 \n\x0e\n\x07\x04\x02\x04\x00\x02\x00\x01\x12\x03\x1b\x04\x1b\n\x0e\n\x07\x04\x02\x04\x00\x02\x00\x02\x12\x03\x1b\x1e\x1f\n\r\n\x06\x04\x02\x04\x00\x02\x01\x12\x03\x1c\x04\x1a\n\x0e\n\x07\x04\x02\x04\x00\x02\x01\x01\x12\x03\x1c\x04\x15\n\x0e\n\x07\x04\x02\x04\x00\x02\x01\x02\x12\x03\x1c\x18\x19\n\r\n\x06\x04\x02\x04\x00\x02\x02\x12\x03\x1d\x04\x19\n\x0e\n\x07\x04\x02\x04\x00\x02\x02\x01\x12\x03\x1d\x04\x14\n\x0e\n\x07\x04\x02\x04\x00\x02\x02\x02\x12\x03\x1d\x17\x18\n\r\n\x06\x04\x02\x04\x00\x02\x03\x12\x03\x1e\x042\n\x0e\n\x07\x04\x02\x04\x00\x02\x03\x01\x12\x03\x1e\x04-\n\x0e\n\x07\x04\x02\x04\x00\x02\x03\x02\x12\x03\x1e01\n\r\n\x06\x04\x02\x04\x00\x02\x04\x12\x03\x1f\x04)\n\x0e\n\x07\x04\x02\x04\x00\x02\x04\x01\x12\x03\x1f\x04$\n\x0e\n\x07\x04\x02\x04\x00\x02\x04\x02\x12\x03\x1f\'(\nD\n\x04\x04\x02\x03\x00\x12\x04#\x02%\x03\x1a6 Combine multiple policies. All must evaluate to true\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03#\n\x16\n\r\n\x06\x04\x02\x03\x00\x02\x00\x12\x03$\x04+\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x04\x12\x03$\x04\x0c\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x06\x12\x03$\r\x1d\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x03$\x1e&\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x03$)*\nD\n\x04\x04\x02\x03\x01\x12\x04(\x02*\x03\x1a6 Combine multiple policies. Any must evaluate to true\n\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x03(\n\x16\n\r\n\x06\x04\x02\x03\x01\x02\x00\x12\x03)\x04+\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x04\x12\x03)\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x06\x12\x03)\r\x1d\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x03)\x1e&\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x03))*\n\x0c\n\x04\x04\x02\x08\x00\x12\x04,\x020\x03\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03,\x08\x0c\n\x0b\n\x04\x04\x02\x02\x00\x12\x03-\x04\x18\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03-\x04\x0e\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03-\x0f\x13\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03-\x16\x17\n\x0b\n\x04\x04\x02\x02\x01\x12\x03.\x04#\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03.\x04\x10\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03.\x11\x1e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03.!\"\n\x0b\n\x04\x04\x02\x02\x02\x12\x03/\x04#\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03/\x04\x10\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03/\x11\x1e\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03/!\"\n5\n\x02\x04\x03\x12\x044\x00M\x01\x1a) A policy that governs updating metadata\n\n\n\n\x03\x04\x03\x01\x12\x034\x08\x16\n\x1b\n\x04\x04\x03\x04\x00\x12\x046\x02<\x03\x1a\r Base policy\n\n\x0c\n\x05\x04\x03\x04\x00\x01\x12\x036\x07\x19\n\r\n\x06\x04\x03\x04\x00\x02\x00\x12\x037\x04)\n\x0e\n\x07\x04\x03\x04\x00\x02\x00\x01\x12\x037\x04$\n\x0e\n\x07\x04\x03\x04\x00\x02\x00\x02\x12\x037\'(\n\r\n\x06\x04\x03\x04\x00\x02\x01\x12\x038\x04#\n\x0e\n\x07\x04\x03\x04\x00\x02\x01\x01\x12\x038\x04\x1e\n\x0e\n\x07\x04\x03\x04\x00\x02\x01\x02\x12\x038!\"\n\r\n\x06\x04\x03\x04\x00\x02\x02\x12\x039\x04\"\n\x0e\n\x07\x04\x03\x04\x00\x02\x02\x01\x12\x039\x04\x1d\n\x0e\n\x07\x04\x03\x04\x00\x02\x02\x02\x12\x039 !\n\r\n\x06\x04\x03\x04\x00\x02\x03\x12\x03:\x04,\n\x0e\n\x07\x04\x03\x04\x00\x02\x03\x01\x12\x03:\x04\'\n\x0e\n\x07\x04\x03\x04\x00\x02\x03\x02\x12\x03:*+\n\r\n\x06\x04\x03\x04\x00\x02\x04\x12\x03;\x042\n\x0e\n\x07\x04\x03\x04\x00\x02\x04\x01\x12\x03;\x04-\n\x0e\n\x07\x04\x03\x04\x00\x02\x04\x02\x12\x03;01\nD\n\x04\x04\x03\x03\x00\x12\x04?\x02A\x03\x1a6 Combine multiple policies. All must evaluate to true\n\n\x0c\n\x05\x04\x03\x03\x00\x01\x12\x03?\n\x16\n\r\n\x06\x04\x03\x03\x00\x02\x00\x12\x03@\x04)\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x04\x12\x03@\x04\x0c\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x06\x12\x03@\r\x1b\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x03@\x1c$\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x03@\'(\nD\n\x04\x04\x03\x03\x01\x12\x04D\x02F\x03\x1a6 Combine multiple policies. Any must evaluate to true\n\n\x0c\n\x05\x04\x03\x03\x01\x01\x12\x03D\n\x16\n\r\n\x06\x04\x03\x03\x01\x02\x00\x12\x03E\x04)\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x04\x12\x03E\x04\x0c\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x06\x12\x03E\r\x1b\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x01\x12\x03E\x1c$\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x03\x12\x03E\'(\n\x0c\n\x04\x04\x03\x08\x00\x12\x04H\x02L\x03\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x03H\x08\x0c\n\x0b\n\x04\x04\x03\x02\x00\x12\x03I\x04 \n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03I\x04\x16\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03I\x17\x1b\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03I\x1e\x1f\n\x0b\n\x04\x04\x03\x02\x01\x12\x03J\x04#\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03J\x04\x10\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03J\x11\x1e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03J!\"\n\x0b\n\x04\x04\x03\x02\x02\x12\x03K\x04#\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03K\x04\x10\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03K\x11\x1e\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03K!\"\n8\n\x02\x04\x04\x12\x04P\x00h\x01\x1a, A policy that governs updating permissions\n\n\n\n\x03\x04\x04\x01\x12\x03P\x08\x1f\n\x1b\n\x04\x04\x04\x04\x00\x12\x04R\x02W\x03\x1a\r Base policy\n\n\x0c\n\x05\x04\x04\x04\x00\x01\x12\x03R\x07\x1c\n\r\n\x06\x04\x04\x04\x00\x02\x00\x12\x03S\x04,\n\x0e\n\x07\x04\x04\x04\x00\x02\x00\x01\x12\x03S\x04\'\n\x0e\n\x07\x04\x04\x04\x00\x02\x00\x02\x12\x03S*+\n\r\n\x06\x04\x04\x04\x00\x02\x01\x12\x03T\x04%\n\x0e\n\x07\x04\x04\x04\x00\x02\x01\x01\x12\x03T\x04 \n\x0e\n\x07\x04\x04\x04\x00\x02\x01\x02\x12\x03T#$\n\r\n\x06\x04\x04\x04\x00\x02\x02\x12\x03U\x04/\n\x0e\n\x07\x04\x04\x04\x00\x02\x02\x01\x12\x03U\x04*\n\x0e\n\x07\x04\x04\x04\x00\x02\x02\x02\x12\x03U-.\n\r\n\x06\x04\x04\x04\x00\x02\x03\x12\x03V\x045\n\x0e\n\x07\x04\x04\x04\x00\x02\x03\x01\x12\x03V\x040\n\x0e\n\x07\x04\x04\x04\x00\x02\x03\x02\x12\x03V34\nD\n\x04\x04\x04\x03\x00\x12\x04Z\x02\\\x03\x1a6 Combine multiple policies. All must evaluate to true\n\n\x0c\n\x05\x04\x04\x03\x00\x01\x12\x03Z\n\x16\n\r\n\x06\x04\x04\x03\x00\x02\x00\x12\x03[\x042\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x04\x12\x03[\x04\x0c\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x06\x12\x03[\r$\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x01\x12\x03[%-\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x03\x12\x03[01\nD\n\x04\x04\x04\x03\x01\x12\x04_\x02a\x03\x1a6 Combine multiple policies. Any must evaluate to true\n\n\x0c\n\x05\x04\x04\x03\x01\x01\x12\x03_\n\x16\n\r\n\x06\x04\x04\x03\x01\x02\x00\x12\x03`\x042\n\x0e\n\x07\x04\x04\x03\x01\x02\x00\x04\x12\x03`\x04\x0c\n\x0e\n\x07\x04\x04\x03\x01\x02\x00\x06\x12\x03`\r$\n\x0e\n\x07\x04\x04\x03\x01\x02\x00\x01\x12\x03`%-\n\x0e\n\x07\x04\x04\x03\x01\x02\x00\x03\x12\x03`01\n\x0c\n\x04\x04\x04\x08\x00\x12\x04c\x02g\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x03c\x08\x0c\n\x0b\n\x04\x04\x04\x02\x00\x12\x03d\x04#\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03d\x04\x19\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03d\x1a\x1e\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03d!\"\n\x0b\n\x04\x04\x04\x02\x01\x12\x03e\x04#\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03e\x04\x10\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03e\x11\x1e\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03e!\"\n\x0b\n\x04\x04\x04\x02\x02\x12\x03f\x04#\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03f\x04\x10\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03f\x11\x1e\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03f!\"b\x06proto3\n\x93\x10\n1mls/message_contents/content_types/reaction.proto\x12\'xmtp.mls.message_contents.content_types\"\x94\x02\n\nReactionV2\x12\x1c\n\treference\x18\x01 \x01(\tR\treference\x12,\n\x12reference_inbox_id\x18\x02 \x01(\tR\x10referenceInboxId\x12O\n\x06action\x18\x03 \x01(\x0e27.xmtp.mls.message_contents.content_types.ReactionActionR\x06action\x12\x18\n\x07content\x18\x04 \x01(\tR\x07content\x12O\n\x06schema\x18\x05 \x01(\x0e27.xmtp.mls.message_contents.content_types.ReactionSchemaR\x06schema*i\n\x0eReactionAction\x12\x1f\n\x1bREACTION_ACTION_UNSPECIFIED\x10\x00\x12\x19\n\x15REACTION_ACTION_ADDED\x10\x01\x12\x1b\n\x17REACTION_ACTION_REMOVED\x10\x02*\x89\x01\n\x0eReactionSchema\x12\x1f\n\x1bREACTION_SCHEMA_UNSPECIFIED\x10\x00\x12\x1b\n\x17REACTION_SCHEMA_UNICODE\x10\x01\x12\x1d\n\x19REACTION_SCHEMA_SHORTCODE\x10\x02\x12\x1a\n\x16REACTION_SCHEMA_CUSTOM\x10\x03Bs\n1org.xmtp.proto.mls.message_contents.content_typesZ>github.com/xmtp/proto/v3/go/mls/message_contents/content_typesJ\xa9\n\n\x06\x12\x04\n\x001\x01\n\x80\x02\n\x01\x0c\x12\x03\n\x00\x12\x1a\xf5\x01 reaction.proto\n This file defines the ReactionV2 message type and is associated with the following ContentTypeId:\n\n ContentTypeId {\n authority_id: \"xmtp.org\",\n type_id: \"reaction\",\n version_major: 2,\n version_minor: 0,\n }\n\n\n\x08\n\x01\x02\x12\x03\x0c\x000\n\x08\n\x01\x08\x12\x03\x0e\x00U\n\t\n\x02\x08\x0b\x12\x03\x0e\x00U\n\x08\n\x01\x08\x12\x03\x0f\x00J\n\t\n\x02\x08\x01\x12\x03\x0f\x00J\n6\n\x02\x05\x00\x12\x04\x12\x00\x16\x01\x1a* Action enum to represent reaction states\n\n\n\n\x03\x05\x00\x01\x12\x03\x12\x05\x13\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x13\x02\"\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x13\x02\x1d\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x13 !\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x14\x02\x1c\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x14\x02\x17\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x14\x1a\x1b\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x15\x02\x1e\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x15\x02\x19\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x15\x1c\x1d\n=\n\x02\x05\x01\x12\x04\x19\x00\x1e\x01\x1a1 Schema enum to represent reaction content types\n\n\n\n\x03\x05\x01\x01\x12\x03\x19\x05\x13\n\x0b\n\x04\x05\x01\x02\x00\x12\x03\x1a\x02\"\n\x0c\n\x05\x05\x01\x02\x00\x01\x12\x03\x1a\x02\x1d\n\x0c\n\x05\x05\x01\x02\x00\x02\x12\x03\x1a !\n\x0b\n\x04\x05\x01\x02\x01\x12\x03\x1b\x02\x1e\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03\x1b\x02\x19\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\x1b\x1c\x1d\n\x0b\n\x04\x05\x01\x02\x02\x12\x03\x1c\x02 \n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03\x1c\x02\x1b\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03\x1c\x1e\x1f\n\x0b\n\x04\x05\x01\x02\x03\x12\x03\x1d\x02\x1d\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03\x1d\x02\x18\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03\x1d\x1b\x1c\n#\n\x02\x04\x00\x12\x04!\x001\x01\x1a\x17 Reaction message type\n\n\n\n\x03\x04\x00\x01\x12\x03!\x08\x12\n.\n\x04\x04\x00\x02\x00\x12\x03#\x02\x17\x1a! The message ID being reacted to\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03#\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03#\t\x12\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03#\x15\x16\nj\n\x04\x04\x00\x02\x01\x12\x03\'\x02 \x1a] The inbox ID of the user who sent the message being reacted to\n Optional for group messages\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\'\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\'\t\x1b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\'\x1e\x1f\n<\n\x04\x04\x00\x02\x02\x12\x03*\x02\x1c\x1a/ The action of the reaction (added or removed)\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03*\x02\x10\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03*\x11\x17\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03*\x1a\x1b\n*\n\x04\x04\x00\x02\x03\x12\x03-\x02\x15\x1a\x1d The content of the reaction\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03-\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03-\t\x10\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03-\x13\x14\n1\n\x04\x04\x00\x02\x04\x12\x030\x02\x1c\x1a$ The schema of the reaction content\n\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x030\x02\x10\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x030\x11\x17\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x030\x1a\x1bb\x06proto3\n\xeb\x05\n7mls/message_contents/content_types/delete_message.proto\x12\'xmtp.mls.message_contents.content_types\".\n\rDeleteMessage\x12\x1d\n\nmessage_id\x18\x01 \x01(\tR\tmessageIdBs\n1org.xmtp.proto.mls.message_contents.content_typesZ>github.com/xmtp/proto/v3/go/mls/message_contents/content_typesJ\xd9\x03\n\x06\x12\x04\n\x00\x15\x01\n\x8e\x02\n\x01\x0c\x12\x03\n\x00\x12\x1a\x83\x02 delete_message.proto\n This file defines the DeleteMessage message type and is associated with the following ContentTypeId:\n\n ContentTypeId {\n authority_id: \"xmtp.org\",\n type_id: \"deleteMessage\",\n version_major: 1,\n version_minor: 0,\n }\n\n\n\x08\n\x01\x02\x12\x03\x0c\x000\n\x08\n\x01\x08\x12\x03\x0e\x00U\n\t\n\x02\x08\x0b\x12\x03\x0e\x00U\n\x08\n\x01\x08\x12\x03\x0f\x00J\n\t\n\x02\x08\x01\x12\x03\x0f\x00J\n(\n\x02\x04\x00\x12\x04\x12\x00\x15\x01\x1a\x1c DeleteMessage message type\n\n\n\n\x03\x04\x00\x01\x12\x03\x12\x08\x15\n*\n\x04\x04\x00\x02\x00\x12\x03\x14\x02\x18\x1a\x1d ID of the message to delete\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14\t\x13\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14\x16\x17b\x06proto3\n\xa4\x10\n@mls/message_contents/content_types/multi_remote_attachment.proto\x12\'xmtp.mls.message_contents.content_types\"x\n\x15MultiRemoteAttachment\x12_\n\x0battachments\x18\x01 \x03(\x0b2=.xmtp.mls.message_contents.content_types.RemoteAttachmentInfoR\x0battachments\"\x96\x02\n\x14RemoteAttachmentInfo\x12%\n\x0econtent_digest\x18\x01 \x01(\tR\rcontentDigest\x12\x16\n\x06secret\x18\x02 \x01(\x0cR\x06secret\x12\x14\n\x05nonce\x18\x03 \x01(\x0cR\x05nonce\x12\x12\n\x04salt\x18\x04 \x01(\x0cR\x04salt\x12\x16\n\x06scheme\x18\x05 \x01(\tR\x06scheme\x12\x10\n\x03url\x18\x06 \x01(\tR\x03url\x12*\n\x0econtent_length\x18\x07 \x01(\rH\x00R\rcontentLength\x88\x01\x01\x12\x1f\n\x08filename\x18\x08 \x01(\tH\x01R\x08filename\x88\x01\x01B\x11\n\x0f_content_lengthB\x0b\n\t_filenameBs\n1org.xmtp.proto.mls.message_contents.content_typesZ>github.com/xmtp/proto/v3/go/mls/message_contents/content_typesJ\xa6\x0b\n\x06\x12\x04\n\x00/\x01\n\xaa\x02\n\x01\x0c\x12\x03\n\x00\x12\x1a\x9f\x02 multi_remote_attachment.proto\n This file defines the MultiRemoteAttachment message type and is associated with the following ContentTypeId:\n\n ContentTypeId {\n authority_id: \"xmtp.org\",\n type_id: \"multiRemoteStaticContent\",\n version_major: 1,\n version_minor: 0,\n }\n\n\n\x08\n\x01\x02\x12\x03\x0c\x000\n\x08\n\x01\x08\x12\x03\x0e\x00U\n\t\n\x02\x08\x0b\x12\x03\x0e\x00U\n\x08\n\x01\x08\x12\x03\x0f\x00J\n\t\n\x02\x08\x01\x12\x03\x0f\x00J\n0\n\x02\x04\x00\x12\x04\x12\x00\x15\x01\x1a$ MultiRemoteAttachment message type\n\n\n\n\x03\x04\x00\x01\x12\x03\x12\x08\x1d\n.\n\x04\x04\x00\x02\x00\x12\x03\x14\x020\x1a! Array of attachment information\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x14\x0b\x1f\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14 +\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14./\n\n\n\x02\x04\x01\x12\x04\x17\x00/\x01\n\n\n\x03\x04\x01\x01\x12\x03\x17\x08\x1c\n4\n\x04\x04\x01\x02\x00\x12\x03\x19\x02\x1c\x1a\' The SHA256 hash of the remote content\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x19\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x19\t\x17\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x19\x1a\x1b\nH\n\x04\x04\x01\x02\x01\x12\x03\x1c\x02\x13\x1a; A 32 byte array for decrypting the remote content payload\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1c\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1c\x08\x0e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1c\x11\x12\nT\n\x04\x04\x01\x02\x02\x12\x03\x1f\x02\x12\x1aG A byte array for the nonce used to encrypt the remote content payload\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x1f\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x1f\x08\r\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1f\x10\x11\nS\n\x04\x04\x01\x02\x03\x12\x03\"\x02\x11\x1aF A byte array for the salt used to encrypt the remote content payload\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\"\x02\x07\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\"\x08\x0c\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\"\x0f\x10\n8\n\x04\x04\x01\x02\x04\x12\x03%\x02\x14\x1a+ The scheme of the URL. Must be \"https://\"\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03%\x02\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03%\t\x0f\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03%\x12\x13\n,\n\x04\x04\x01\x02\x05\x12\x03(\x02\x11\x1a\x1f The URL of the remote content\n\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03(\x02\x08\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03(\t\x0c\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03(\x0f\x10\nK\n\x04\x04\x01\x02\x06\x12\x03+\x02%\x1a> The size of the encrypted content in bytes (max size of 4GB)\n\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03+\x02\n\n\x0c\n\x05\x04\x01\x02\x06\x05\x12\x03+\x0b\x11\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03+\x12 \n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03+#$\n1\n\x04\x04\x01\x02\x07\x12\x03.\x02\x1f\x1a$ The filename of the remote content\n\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x03.\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x05\x12\x03.\x0b\x11\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03.\x12\x1a\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03.\x1d\x1eb\x06proto3\n\xe3\x06\n6mls/message_contents/content_types/leave_request.proto\x12\'xmtp.mls.message_contents.content_types\"Y\n\x0cLeaveRequest\x122\n\x12authenticated_note\x18\x01 \x01(\x0cH\x00R\x11authenticatedNote\x88\x01\x01B\x15\n\x13_authenticated_noteBs\n1org.xmtp.proto.mls.message_contents.content_typesZ>github.com/xmtp/proto/v3/go/mls/message_contents/content_typesJ\xa7\x04\n\x06\x12\x04\n\x00\x15\x01\n\x8b\x02\n\x01\x0c\x12\x03\n\x00\x12\x1a\x80\x02 leave_request.proto\n This file defines the LeaveRequest message type and is associated with the following ContentTypeId:\n\n ContentTypeId {\n authority_id: \"xmtp.org\",\n type_id: \"leaveRequest\",\n version_major: 1,\n version_minor: 0,\n }\n\n\n\x08\n\x01\x02\x12\x03\x0c\x000\n\x08\n\x01\x08\x12\x03\x0e\x00U\n\t\n\x02\x08\x0b\x12\x03\x0e\x00U\n\x08\n\x01\x08\x12\x03\x0f\x00J\n\t\n\x02\x08\x01\x12\x03\x0f\x00J\n\'\n\x02\x04\x00\x12\x04\x12\x00\x15\x01\x1a\x1b LeaveRequest message type\n\n\n\n\x03\x04\x00\x01\x12\x03\x12\x08\x14\nn\n\x04\x04\x00\x02\x00\x12\x03\x14\x02(\x1aa A serialized AuthenticatedNote containing the sender\'s signed, member-only verifiable statement\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x14\x0b\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14\x11#\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14&\'b\x06proto3\n\xb5\x10\n:mls/message_contents/content_types/wallet_send_calls.proto\x12\'xmtp.mls.message_contents.content_types\"\xd0\x02\n\x0fWalletSendCalls\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12\x19\n\x08chain_id\x18\x02 \x01(\tR\x07chainId\x12\x12\n\x04from\x18\x03 \x01(\tR\x04from\x12C\n\x05calls\x18\x04 \x03(\x0b2-.xmtp.mls.message_contents.content_types.CallR\x05calls\x12n\n\x0ccapabilities\x18\x05 \x03(\x0b2J.xmtp.mls.message_contents.content_types.WalletSendCalls.CapabilitiesEntryR\x0ccapabilities\x1a?\n\x11CapabilitiesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xe8\x01\n\x04Call\x12\x0e\n\x02to\x18\x01 \x01(\tR\x02to\x12\x12\n\x04data\x18\x02 \x01(\tR\x04data\x12\x14\n\x05value\x18\x03 \x01(\tR\x05value\x12\x10\n\x03gas\x18\x04 \x01(\tR\x03gas\x12W\n\x08metadata\x18\x05 \x03(\x0b2;.xmtp.mls.message_contents.content_types.Call.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01Bs\n1org.xmtp.proto.mls.message_contents.content_typesZ>github.com/xmtp/proto/v3/go/mls/message_contents/content_typesJ\x92\n\n\x06\x12\x04\n\x00)\x01\n\x95\x02\n\x01\x0c\x12\x03\n\x00\x12\x1a\x8a\x02 wallet_send_calls.proto\n This file defines the WalletSendCalls message type and is associated with the following ContentTypeId:\n\n ContentTypeId {\n authority_id: \"xmtp.org\",\n type_id: \"walletSendCalls\",\n version_major: 1,\n version_minor: 0,\n }\n\n\n\x08\n\x01\x02\x12\x03\x0c\x000\n\x08\n\x01\x08\x12\x03\x0e\x00U\n\t\n\x02\x08\x0b\x12\x03\x0e\x00U\n\x08\n\x01\x08\x12\x03\x0f\x00J\n\t\n\x02\x08\x01\x12\x03\x0f\x00J\nL\n\x02\x04\x00\x12\x04\x12\x00\x1b\x01\x1a@ WalletSendCalls represents parameters for sending wallet calls\n\n\n\n\x03\x04\x00\x01\x12\x03\x12\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x13\x02\x15\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x13\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x13\t\x10\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x13\x13\x14\n(\n\x04\x04\x00\x02\x01\x12\x03\x15\x02\x16\x1a\x1b hex chain id, e.g., \"0x1\"\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x15\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x15\t\x11\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x15\x14\x15\n:\n\x04\x04\x00\x02\x02\x12\x03\x17\x02\x12\x1a- hex address of the sender, e.g., \"0xabc...\"\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x17\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x17\t\r\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x17\x10\x11\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x18\x02\x1a\n\x0c\n\x05\x04\x00\x02\x03\x04\x12\x03\x18\x02\n\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x18\x0b\x0f\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x18\x10\x15\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x18\x18\x19\n:\n\x04\x04\x00\x02\x04\x12\x03\x1a\x02\'\x1a- wallet capabilities to request or configure\n\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x1a\x02\x15\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x1a\x16\"\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x1a%&\n<\n\x02\x04\x01\x12\x04\x1e\x00)\x01\x1a0 Call represents an individual transaction call\n\n\n\n\x03\x04\x01\x01\x12\x03\x1e\x08\x0c\n\"\n\x04\x04\x01\x02\x00\x12\x03 \x02\x10\x1a\x15 destination address\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03 \x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03 \t\x0b\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03 \x0e\x0f\n \n\x04\x04\x01\x02\x01\x12\x03\"\x02\x12\x1a\x13 call data payload\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\"\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\"\t\r\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\"\x10\x11\n \n\x04\x04\x01\x02\x02\x12\x03$\x02\x13\x1a\x13 hex value to send\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03$\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03$\t\x0e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03$\x11\x12\n\x1c\n\x04\x04\x01\x02\x03\x12\x03&\x02\x11\x1a\x0f hex gas limit\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03&\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03&\t\x0c\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03&\x0f\x10\n$\n\x04\x04\x01\x02\x04\x12\x03(\x02#\x1a\x17 metadata for the call\n\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03(\x02\x15\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03(\x16\x1e\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03(!\"b\x06proto3\n\x9a\x08\n\"mls/message_contents/oneshot.proto\x12\x19xmtp.mls.message_contents\"p\n\x0eOneshotMessage\x12N\n\rreadd_request\x18\x01 \x01(\x0b2\'.xmtp.mls.message_contents.ReaddRequestH\x00R\x0creaddRequestB\x0e\n\x0cmessage_type\"d\n\x0cReaddRequest\x12\x19\n\x08group_id\x18\x01 \x01(\x0cR\x07groupId\x129\n\x19latest_commit_sequence_id\x18\x02 \x01(\x04R\x16latestCommitSequenceIdJ\xf8\x05\n\x06\x12\x04\x02\x00\x15\x01\nu\n\x01\x0c\x12\x03\x02\x00\x12\x1ak Out-of-band signaling payloads that are sent between devices on\n side channels outside of the main group.\n\n\x08\n\x01\x02\x12\x03\x04\x00\"\n\n\n\x02\x04\x00\x12\x04\x06\x00\n\x01\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08\x16\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x07\x02\t\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x07\x08\x14\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x08\x04#\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x08\x04\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x11\x1e\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08!\"\n\xda\x01\n\x02\x04\x01\x12\x04\x0f\x00\x15\x01\x1a\xcd\x01 A request sent by an installation to recover from a fork. Other members\n may remove and readd that installation from the group.\n XIP: https://community.xmtp.org/t/xip-68-draft-automated-fork-recovery/951\n\n\n\n\x03\x04\x01\x01\x12\x03\x0f\x08\x14\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x10\x02\x15\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x10\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x10\x08\x10\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x10\x13\x14\n\xb7\x01\n\x04\x04\x01\x02\x01\x12\x03\x14\x02\'\x1a\xa9\x01 The sequence ID of the latest commit log entry at the time the request\n is sent; used to disambiguate cases where an installation forks\n and is readded multiple times.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x14\t\"\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x14%&b\x06proto3\n\xca\x10\n)mls/message_contents/group_metadata.proto\x12\x19xmtp.mls.message_contents\x1a\"mls/message_contents/oneshot.proto\"\x93\x03\n\x0fGroupMetadataV1\x12X\n\x11conversation_type\x18\x01 \x01(\x0e2+.xmtp.mls.message_contents.ConversationTypeR\x10conversationType\x126\n\x17creator_account_address\x18\x02 \x01(\tR\x15creatorAccountAddress\x12(\n\x10creator_inbox_id\x18\x03 \x01(\tR\x0ecreatorInboxId\x12H\n\ndm_members\x18\x04 \x01(\x0b2$.xmtp.mls.message_contents.DmMembersH\x00R\tdmMembers\x88\x01\x01\x12W\n\x0foneshot_message\x18\x05 \x01(\x0b2).xmtp.mls.message_contents.OneshotMessageH\x01R\x0eoneshotMessage\x88\x01\x01B\r\n\x0b_dm_membersB\x12\n\x10_oneshot_message\"\"\n\x05Inbox\x12\x19\n\x08inbox_id\x18\x01 \x01(\tR\x07inboxId\"\x97\x01\n\tDmMembers\x12D\n\rdm_member_one\x18\x01 \x01(\x0b2 .xmtp.mls.message_contents.InboxR\x0bdmMemberOne\x12D\n\rdm_member_two\x18\x02 \x01(\x0b2 .xmtp.mls.message_contents.InboxR\x0bdmMemberTwo*\xa7\x01\n\x10ConversationType\x12!\n\x1dCONVERSATION_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17CONVERSATION_TYPE_GROUP\x10\x01\x12\x18\n\x14CONVERSATION_TYPE_DM\x10\x02\x12\x1a\n\x16CONVERSATION_TYPE_SYNC\x10\x03\x12\x1d\n\x19CONVERSATION_TYPE_ONESHOT\x10\x04BW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\xfe\x08\n\x06\x12\x04\x01\x00(\x01\n$\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x1a Group immutable metadata\n\n\x08\n\x01\x02\x12\x03\x03\x00\"\n\t\n\x02\x03\x00\x12\x03\x05\x00,\n\x08\n\x01\x08\x12\x03\x07\x00G\n\t\n\x02\x08\x0b\x12\x03\x07\x00G\n\x08\n\x01\x08\x12\x03\x08\x00<\n\t\n\x02\x08\x01\x12\x03\x08\x00<\n/\n\x02\x04\x00\x12\x04\x0b\x00\x14\x01\x1a# Parent message for group metadata\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0c\x02)\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0c\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\x13$\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c\'(\n(\n\x04\x04\x00\x02\x01\x12\x03\x0e\x02%\x1a\x1b This will be removed soon\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\t \n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e#$\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x0f\x02\x1e\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x0f\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0f\t\x19\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0f\x1c\x1d\n>\n\x04\x04\x00\x02\x03\x12\x03\x11\x02$\x1a1 Should only be present for CONVERSATION_TYPE_DM\n\n\x0c\n\x05\x04\x00\x02\x03\x04\x12\x03\x11\x02\n\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x11\x0b\x14\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x11\x15\x1f\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x11\"#\nC\n\x04\x04\x00\x02\x04\x12\x03\x13\x02H\x1a6 Should only be present for CONVERSATION_TYPE_ONESHOT\n\n\x0c\n\x05\x04\x00\x02\x04\x04\x12\x03\x13\x02\n\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x13\x0b3\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x134C\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x13FG\n.\n\x02\x05\x00\x12\x04\x17\x00\x1d\x01\x1a\" Defines the type of conversation\n\n\n\n\x03\x05\x00\x01\x12\x03\x17\x05\x15\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x18\x02$\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x18\x02\x1f\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x18\"#\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x19\x02\x1e\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x19\x02\x19\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x19\x1c\x1d\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x1a\x02\x1b\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x1a\x02\x16\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x1a\x19\x1a\n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x1b\x02\x1d\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x1b\x02\x18\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x1b\x1b\x1c\n\x0b\n\x04\x05\x00\x02\x04\x12\x03\x1c\x02 \n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03\x1c\x02\x1b\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03\x1c\x1e\x1f\n(\n\x02\x04\x01\x12\x04 \x00\"\x01\x1a\x1c Wrapper around an Inbox Id\n\n\n\n\x03\x04\x01\x01\x12\x03 \x08\r\n\x0b\n\x04\x04\x01\x02\x00\x12\x03!\x02\x16\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03!\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03!\t\x11\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03!\x14\x15\n+\n\x02\x04\x02\x12\x04%\x00(\x01\x1a\x1f Ordering does not matter here\n\n\n\n\x03\x04\x02\x01\x12\x03%\x08\x11\n\x0b\n\x04\x04\x02\x02\x00\x12\x03&\x02\x1a\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03&\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03&\x08\x15\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03&\x18\x19\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\'\x02\x1a\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\'\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\'\x08\x15\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\'\x18\x19b\x06proto3\n\xf4\x06\n+mls/message_contents/group_membership.proto\x12\x19xmtp.mls.message_contents\"\xd3\x01\n\x0fGroupMembership\x12Q\n\x07members\x18\x01 \x03(\x0b27.xmtp.mls.message_contents.GroupMembership.MembersEntryR\x07members\x121\n\x14failed_installations\x18\x02 \x03(\x0cR\x13failedInstallations\x1a:\n\x0cMembersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01BW\n#org.xmtp.proto.mls.message.contentsZ0github.com/xmtp/proto/v3/go/mls/message_contentsJ\xf2\x03\n\x06\x12\x04\x01\x00\x0e\x01\n\x1c\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x12 Group membership\n\n\x08\n\x01\x02\x12\x03\x03\x00\"\n\x08\n\x01\x08\x12\x03\x05\x00G\n\t\n\x02\x08\x0b\x12\x03\x05\x00G\n\x08\n\x01\x08\x12\x03\x06\x00<\n\t\n\x02\x08\x01\x12\x03\x06\x00<\n\xa3\x01\n\x02\x04\x00\x12\x04\n\x00\x0e\x01\x1a\x96\x01 Contains a mapping of `inbox_id` -> `sequence_id` for all members of a group.\n Designed to be stored in the group context extension of the MLS group\n\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0b\x02\"\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0b\x02\x15\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0b\x16\x1d\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0b !\nu\n\x04\x04\x00\x02\x01\x12\x03\r\x02*\x1ah List of installations that failed to be added due to errors encountered during the evaluation process.\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\r\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\r\x0b\x10\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\x11%\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r()b\x06proto3\n\xff\x11\n\x1bgoogle/protobuf/empty.proto\x12\x0fgoogle.protobuf\"\x07\n\x05EmptyB}\n\x13com.google.protobufB\nEmptyProtoP\x01Z.google.golang.org/protobuf/types/known/emptypb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xbe\x10\n\x06\x12\x04\x1e\x002\x10\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\x00\x122\xc1\x0c Protocol Buffers - Google\'s data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\x08\n\x01\x02\x12\x03 \x00\x18\n\x08\n\x01\x08\x12\x03\"\x00E\n\t\n\x02\x08\x0b\x12\x03\"\x00E\n\x08\n\x01\x08\x12\x03#\x00,\n\t\n\x02\x08\x01\x12\x03#\x00,\n\x08\n\x01\x08\x12\x03$\x00+\n\t\n\x02\x08\x08\x12\x03$\x00+\n\x08\n\x01\x08\x12\x03%\x00\"\n\t\n\x02\x08\n\x12\x03%\x00\"\n\x08\n\x01\x08\x12\x03&\x00!\n\t\n\x02\x08$\x12\x03&\x00!\n\x08\n\x01\x08\x12\x03\'\x00;\n\t\n\x02\x08%\x12\x03\'\x00;\n\x08\n\x01\x08\x12\x03(\x00\x1f\n\t\n\x02\x08\x1f\x12\x03(\x00\x1f\n\xbb\x02\n\x02\x04\x00\x12\x032\x00\x10\x1a\xaf\x02 A generic empty message that you can re-use to avoid defining duplicated\n empty messages in your APIs. A typical example is to use it as the request\n or the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\n\n\n\n\x03\x04\x00\x01\x12\x032\x08\rb\x06proto3\n\xdc\xaf\x01\n\x14mls/api/v1/mls.proto\x12\x0fxmtp.mls.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a%identity/associations/signature.proto\x1a message_contents/signature.proto\x1a%mls/message_contents/commit_log.proto\x1a*mls/message_contents/welcome_pointer.proto\x1a-mls/message_contents/wrapper_encryption.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xfb\x05\n\x0eWelcomeMessage\x124\n\x02v1\x18\x01 \x01(\x0b2\".xmtp.mls.api.v1.WelcomeMessage.V1H\x00R\x02v1\x12Y\n\x0fwelcome_pointer\x18\x02 \x01(\x0b2..xmtp.mls.api.v1.WelcomeMessage.WelcomePointerH\x00R\x0ewelcomePointer\x1a\xa6\x02\n\x02V1\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x1d\n\ncreated_ns\x18\x02 \x01(\x04R\tcreatedNs\x12)\n\x10installation_key\x18\x03 \x01(\x0cR\x0finstallationKey\x12\x12\n\x04data\x18\x04 \x01(\x0cR\x04data\x12&\n\x0fhpke_public_key\x18\x05 \x01(\x0cR\rhpkePublicKey\x12_\n\x11wrapper_algorithm\x18\x06 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\x10wrapperAlgorithm\x12)\n\x10welcome_metadata\x18\x07 \x01(\x0cR\x0fwelcomeMetadata\x1a\xa3\x02\n\x0eWelcomePointer\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x1d\n\ncreated_ns\x18\x02 \x01(\x04R\tcreatedNs\x12)\n\x10installation_key\x18\x03 \x01(\x0cR\x0finstallationKey\x12\'\n\x0fwelcome_pointer\x18\x04 \x01(\x0cR\x0ewelcomePointer\x12&\n\x0fhpke_public_key\x18\x05 \x01(\x0cR\rhpkePublicKey\x12f\n\x11wrapper_algorithm\x18\x06 \x01(\x0e29.xmtp.mls.message_contents.WelcomePointerWrapperAlgorithmR\x10wrapperAlgorithmB\t\n\x07version\"\xac\x05\n\x13WelcomeMessageInput\x129\n\x02v1\x18\x01 \x01(\x0b2\'.xmtp.mls.api.v1.WelcomeMessageInput.V1H\x00R\x02v1\x12^\n\x0fwelcome_pointer\x18\x02 \x01(\x0b23.xmtp.mls.api.v1.WelcomeMessageInput.WelcomePointerH\x00R\x0ewelcomePointer\x1a\xf7\x01\n\x02V1\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x12\x12\n\x04data\x18\x02 \x01(\x0cR\x04data\x12&\n\x0fhpke_public_key\x18\x03 \x01(\x0cR\rhpkePublicKey\x12_\n\x11wrapper_algorithm\x18\x04 \x01(\x0e22.xmtp.mls.message_contents.WelcomeWrapperAlgorithmR\x10wrapperAlgorithm\x12)\n\x10welcome_metadata\x18\x07 \x01(\x0cR\x0fwelcomeMetadata\x1a\xf4\x01\n\x0eWelcomePointer\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x12\'\n\x0fwelcome_pointer\x18\x02 \x01(\x0cR\x0ewelcomePointer\x12&\n\x0fhpke_public_key\x18\x03 \x01(\x0cR\rhpkePublicKey\x12f\n\x11wrapper_algorithm\x18\x04 \x01(\x0e29.xmtp.mls.message_contents.WelcomePointerWrapperAlgorithmR\x10wrapperAlgorithmB\t\n\x07version\"8\n\x0fWelcomeMetadata\x12%\n\x0emessage_cursor\x18\x01 \x01(\x04R\rmessageCursor\"\x91\x02\n\x0cGroupMessage\x122\n\x02v1\x18\x01 \x01(\x0b2 .xmtp.mls.api.v1.GroupMessage.V1H\x00R\x02v1\x1a\xc1\x01\n\x02V1\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id\x12\x1d\n\ncreated_ns\x18\x02 \x01(\x04R\tcreatedNs\x12\x19\n\x08group_id\x18\x03 \x01(\x0cR\x07groupId\x12\x12\n\x04data\x18\x04 \x01(\x0cR\x04data\x12\x1f\n\x0bsender_hmac\x18\x05 \x01(\x0cR\nsenderHmac\x12\x1f\n\x0bshould_push\x18\x06 \x01(\x08R\nshouldPush\x12\x1b\n\tis_commit\x18\x07 \x01(\x08R\x08isCommitB\t\n\x07version\"\xb3\x01\n\x11GroupMessageInput\x127\n\x02v1\x18\x01 \x01(\x0b2%.xmtp.mls.api.v1.GroupMessageInput.V1H\x00R\x02v1\x1aZ\n\x02V1\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x1f\n\x0bsender_hmac\x18\x02 \x01(\x0cR\nsenderHmac\x12\x1f\n\x0bshould_push\x18\x03 \x01(\x08R\nshouldPushB\t\n\x07version\"Z\n\x18SendGroupMessagesRequest\x12>\n\x08messages\x18\x01 \x03(\x0b2\".xmtp.mls.api.v1.GroupMessageInputR\x08messages\"^\n\x1aSendWelcomeMessagesRequest\x12@\n\x08messages\x18\x01 \x03(\x0b2$.xmtp.mls.api.v1.WelcomeMessageInputR\x08messages\"O\n\x10KeyPackageUpload\x12;\n\x1akey_package_tls_serialized\x18\x01 \x01(\x0cR\x17keyPackageTlsSerialized\"\x96\x01\n\x1bRegisterInstallationRequest\x12B\n\x0bkey_package\x18\x01 \x01(\x0b2!.xmtp.mls.api.v1.KeyPackageUploadR\nkeyPackage\x123\n\x16is_inbox_id_credential\x18\x02 \x01(\x08R\x13isInboxIdCredential\"I\n\x1cRegisterInstallationResponse\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\"\x92\x01\n\x17UploadKeyPackageRequest\x12B\n\x0bkey_package\x18\x01 \x01(\x0b2!.xmtp.mls.api.v1.KeyPackageUploadR\nkeyPackage\x123\n\x16is_inbox_id_credential\x18\x02 \x01(\x08R\x13isInboxIdCredential\"F\n\x17FetchKeyPackagesRequest\x12+\n\x11installation_keys\x18\x01 \x03(\x0cR\x10installationKeys\"\xbe\x01\n\x18FetchKeyPackagesResponse\x12W\n\x0ckey_packages\x18\x01 \x03(\x0b24.xmtp.mls.api.v1.FetchKeyPackagesResponse.KeyPackageR\x0bkeyPackages\x1aI\n\nKeyPackage\x12;\n\x1akey_package_tls_serialized\x18\x01 \x01(\x0cR\x17keyPackageTlsSerialized\"\x93\x01\n\x19RevokeInstallationRequest\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x12K\n\x10wallet_signature\x18\x02 \x01(\x0b2 .xmtp.message_contents.SignatureR\x0fwalletSignature\"l\n\x19GetIdentityUpdatesRequest\x12+\n\x11account_addresses\x18\x01 \x03(\tR\x10accountAddresses\x12\"\n\rstart_time_ns\x18\x02 \x01(\x04R\x0bstartTimeNs\"\xaf\x05\n\x1aGetIdentityUpdatesResponse\x12S\n\x07updates\x18\x01 \x03(\x0b29.xmtp.mls.api.v1.GetIdentityUpdatesResponse.WalletUpdatesR\x07updates\x1as\n\x15NewInstallationUpdate\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x12/\n\x13credential_identity\x18\x02 \x01(\x0cR\x12credentialIdentity\x1aF\n\x19RevokedInstallationUpdate\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x1a\x9f\x02\n\x06Update\x12!\n\x0ctimestamp_ns\x18\x01 \x01(\x04R\x0btimestampNs\x12n\n\x10new_installation\x18\x02 \x01(\x0b2A.xmtp.mls.api.v1.GetIdentityUpdatesResponse.NewInstallationUpdateH\x00R\x0fnewInstallation\x12z\n\x14revoked_installation\x18\x03 \x01(\x0b2E.xmtp.mls.api.v1.GetIdentityUpdatesResponse.RevokedInstallationUpdateH\x00R\x13revokedInstallationB\x06\n\x04kind\x1a]\n\rWalletUpdates\x12L\n\x07updates\x18\x01 \x03(\x0b22.xmtp.mls.api.v1.GetIdentityUpdatesResponse.UpdateR\x07updates\"}\n\nPagingInfo\x12<\n\tdirection\x18\x01 \x01(\x0e2\x1e.xmtp.mls.api.v1.SortDirectionR\tdirection\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\x12\x1b\n\tid_cursor\x18\x03 \x01(\x04R\x08idCursor\"t\n\x19QueryGroupMessagesRequest\x12\x19\n\x08group_id\x18\x01 \x01(\x0cR\x07groupId\x12<\n\x0bpaging_info\x18\x02 \x01(\x0b2\x1b.xmtp.mls.api.v1.PagingInfoR\npagingInfo\"\x95\x01\n\x1aQueryGroupMessagesResponse\x129\n\x08messages\x18\x01 \x03(\x0b2\x1d.xmtp.mls.api.v1.GroupMessageR\x08messages\x12<\n\x0bpaging_info\x18\x02 \x01(\x0b2\x1b.xmtp.mls.api.v1.PagingInfoR\npagingInfo\"\x86\x01\n\x1bQueryWelcomeMessagesRequest\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x12<\n\x0bpaging_info\x18\x02 \x01(\x0b2\x1b.xmtp.mls.api.v1.PagingInfoR\npagingInfo\"\x99\x01\n\x1cQueryWelcomeMessagesResponse\x12;\n\x08messages\x18\x01 \x03(\x0b2\x1f.xmtp.mls.api.v1.WelcomeMessageR\x08messages\x12<\n\x0bpaging_info\x18\x02 \x01(\x0b2\x1b.xmtp.mls.api.v1.PagingInfoR\npagingInfo\"\xb2\x01\n\x1dSubscribeGroupMessagesRequest\x12O\n\x07filters\x18\x01 \x03(\x0b25.xmtp.mls.api.v1.SubscribeGroupMessagesRequest.FilterR\x07filters\x1a@\n\x06Filter\x12\x19\n\x08group_id\x18\x01 \x01(\x0cR\x07groupId\x12\x1b\n\tid_cursor\x18\x02 \x01(\x04R\x08idCursor\"\xc6\x01\n\x1fSubscribeWelcomeMessagesRequest\x12Q\n\x07filters\x18\x01 \x03(\x0b27.xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest.FilterR\x07filters\x1aP\n\x06Filter\x12)\n\x10installation_key\x18\x01 \x01(\x0cR\x0finstallationKey\x12\x1b\n\tid_cursor\x18\x02 \x01(\x04R\x08idCursor\"d\n\x1cBatchPublishCommitLogRequest\x12D\n\x08requests\x18\x01 \x03(\x0b2(.xmtp.mls.api.v1.PublishCommitLogRequestR\x08requests\"\xca\x01\n\x17PublishCommitLogRequest\x12\x19\n\x08group_id\x18\x01 \x01(\x0cR\x07groupId\x12=\n\x1bserialized_commit_log_entry\x18\x02 \x01(\x0cR\x18serializedCommitLogEntry\x12U\n\tsignature\x18\x03 \x01(\x0b27.xmtp.identity.associations.RecoverableEd25519SignatureR\tsignature\"p\n\x15QueryCommitLogRequest\x12\x19\n\x08group_id\x18\x01 \x01(\x0cR\x07groupId\x12<\n\x0bpaging_info\x18\x02 \x01(\x0b2\x1b.xmtp.mls.api.v1.PagingInfoR\npagingInfo\"\xca\x01\n\x16QueryCommitLogResponse\x12\x19\n\x08group_id\x18\x01 \x01(\x0cR\x07groupId\x12W\n\x12commit_log_entries\x18\x02 \x03(\x0b2).xmtp.mls.message_contents.CommitLogEntryR\x10commitLogEntries\x12<\n\x0bpaging_info\x18\x03 \x01(\x0b2\x1b.xmtp.mls.api.v1.PagingInfoR\npagingInfo\"`\n\x1aBatchQueryCommitLogRequest\x12B\n\x08requests\x18\x01 \x03(\x0b2&.xmtp.mls.api.v1.QueryCommitLogRequestR\x08requests\"d\n\x1bBatchQueryCommitLogResponse\x12E\n\tresponses\x18\x01 \x03(\x0b2\'.xmtp.mls.api.v1.QueryCommitLogResponseR\tresponses\"d\n\x1cGetNewestGroupMessageRequest\x12\x1b\n\tgroup_ids\x18\x01 \x03(\x0cR\x08groupIds\x12\'\n\x0finclude_content\x18\x02 \x01(\x08R\x0eincludeContent\"\xdd\x01\n\x1dGetNewestGroupMessageResponse\x12U\n\tresponses\x18\x01 \x03(\x0b27.xmtp.mls.api.v1.GetNewestGroupMessageResponse.ResponseR\tresponses\x1ae\n\x08Response\x12G\n\rgroup_message\x18\x01 \x01(\x0b2\x1d.xmtp.mls.api.v1.GroupMessageH\x00R\x0cgroupMessage\x88\x01\x01B\x10\n\x0e_group_message*l\n\rSortDirection\x12\x1e\n\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18SORT_DIRECTION_ASCENDING\x10\x01\x12\x1d\n\x19SORT_DIRECTION_DESCENDING\x10\x022\x9c\x10\n\x06MlsApi\x12~\n\x11SendGroupMessages\x12).xmtp.mls.api.v1.SendGroupMessagesRequest\x1a\x16.google.protobuf.Empty\"&\x82\xd3\xe4\x93\x02 \"\x1b/mls/v1/send-group-messages:\x01*\x12\x84\x01\n\x13SendWelcomeMessages\x12+.xmtp.mls.api.v1.SendWelcomeMessagesRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\"\"\x1d/mls/v1/send-welcome-messages:\x01*\x12\x9d\x01\n\x14RegisterInstallation\x12,.xmtp.mls.api.v1.RegisterInstallationRequest\x1a-.xmtp.mls.api.v1.RegisterInstallationResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/mls/v1/register-installation:\x01*\x12{\n\x10UploadKeyPackage\x12(.xmtp.mls.api.v1.UploadKeyPackageRequest\x1a\x16.google.protobuf.Empty\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/mls/v1/upload-key-package:\x01*\x12\x8e\x01\n\x10FetchKeyPackages\x12(.xmtp.mls.api.v1.FetchKeyPackagesRequest\x1a).xmtp.mls.api.v1.FetchKeyPackagesResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/mls/v1/fetch-key-packages:\x01*\x12\x80\x01\n\x12RevokeInstallation\x12*.xmtp.mls.api.v1.RevokeInstallationRequest\x1a\x16.google.protobuf.Empty\"&\x82\xd3\xe4\x93\x02 \"\x1b/mls/v1/revoke-installation:\x01*\x12\x96\x01\n\x12GetIdentityUpdates\x12*.xmtp.mls.api.v1.GetIdentityUpdatesRequest\x1a+.xmtp.mls.api.v1.GetIdentityUpdatesResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/mls/v1/get-identity-updates:\x01*\x12\x96\x01\n\x12QueryGroupMessages\x12*.xmtp.mls.api.v1.QueryGroupMessagesRequest\x1a+.xmtp.mls.api.v1.QueryGroupMessagesResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/mls/v1/query-group-messages:\x01*\x12\x9e\x01\n\x14QueryWelcomeMessages\x12,.xmtp.mls.api.v1.QueryWelcomeMessagesRequest\x1a-.xmtp.mls.api.v1.QueryWelcomeMessagesResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/mls/v1/query-welcome-messages:\x01*\x12\x96\x01\n\x16SubscribeGroupMessages\x12..xmtp.mls.api.v1.SubscribeGroupMessagesRequest\x1a\x1d.xmtp.mls.api.v1.GroupMessage\"+\x82\xd3\xe4\x93\x02%\" /mls/v1/subscribe-group-messages:\x01*0\x01\x12\x9e\x01\n\x18SubscribeWelcomeMessages\x120.xmtp.mls.api.v1.SubscribeWelcomeMessagesRequest\x1a\x1f.xmtp.mls.api.v1.WelcomeMessage\"-\x82\xd3\xe4\x93\x02\'\"\"/mls/v1/subscribe-welcome-messages:\x01*0\x01\x12\x8b\x01\n\x15BatchPublishCommitLog\x12-.xmtp.mls.api.v1.BatchPublishCommitLogRequest\x1a\x16.google.protobuf.Empty\"+\x82\xd3\xe4\x93\x02%\" /mls/v1/batch-publish-commit-log:\x01*\x12\x9b\x01\n\x13BatchQueryCommitLog\x12+.xmtp.mls.api.v1.BatchQueryCommitLogRequest\x1a,.xmtp.mls.api.v1.BatchQueryCommitLogResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/mls/v1/batch-query-commit-log:\x01*\x12\xa0\x01\n\x15GetNewestGroupMessage\x12-.xmtp.mls.api.v1.GetNewestGroupMessageRequest\x1a..xmtp.mls.api.v1.GetNewestGroupMessageResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /mls/v1/get-newest-group-messageBU\n\x19org.xmtp.proto.mls.api.v1Z&github.com/xmtp/proto/v3/go/mls/api/v1\x92A\x0f\x12\r\n\x06MlsApi2\x031.0J\xeak\n\x07\x12\x05\x01\x00\xc3\x03\x01\n\x17\n\x01\x0c\x12\x03\x01\x00\x12\x1a\r Message API\n\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00%\n\t\n\x02\x03\x02\x12\x03\x06\x00/\n\t\n\x02\x03\x03\x12\x03\x07\x00*\n\t\n\x02\x03\x04\x12\x03\x08\x00/\n\t\n\x02\x03\x05\x12\x03\t\x004\n\t\n\x02\x03\x06\x12\x03\n\x007\n\t\n\x02\x03\x07\x12\x03\x0b\x008\n\x08\n\x01\x08\x12\x03\r\x00=\n\t\n\x02\x08\x0b\x12\x03\r\x00=\n\x08\n\x01\x08\x12\x03\x0e\x002\n\t\n\x02\x08\x01\x12\x03\x0e\x002\n\t\n\x01\x08\x12\x04\x0f\x00\x14\x02\n\x0b\n\x03\x08\x92\x08\x12\x04\x0f\x00\x14\x02\n\'\n\x02\x06\x00\x12\x05\x17\x00\x85\x01\x01\x1a\x1a RPCs for the new MLS API\n\n\n\n\x03\x06\x00\x01\x12\x03\x17\x08\x0e\n_\n\x04\x06\x00\x02\x00\x12\x04\x1a\x02\x1f\x03\x1aQ Send a MLS payload, that would be validated before being stored to the\n network\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x1a\x06\x17\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x1a\x180\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x1a;P\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\x1b\x04\x1e\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\x1b\x04\x1e\x06\n0\n\x04\x06\x00\x02\x01\x12\x04\"\x02\'\x03\x1a\" Send a batch of welcome messages\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\"\x06\x19\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\"\x1a4\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\"?T\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04#\x04&\x06\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04#\x04&\x06\nT\n\x04\x06\x00\x02\x02\x12\x04*\x02/\x03\x1aF Register a new installation, which would be validated before storage\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03*\x06\x1a\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03*\x1b6\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03*A]\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04+\x04.\x06\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04+\x04.\x06\nP\n\x04\x06\x00\x02\x03\x12\x042\x027\x03\x1aB Upload a new KeyPackage, which would be validated before storage\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x032\x06\x16\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x032\x17.\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x0329N\n\r\n\x05\x06\x00\x02\x03\x04\x12\x043\x046\x06\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x043\x046\x06\n?\n\x04\x06\x00\x02\x04\x12\x04:\x02?\x03\x1a1 Get one or more Key Packages by installation_id\n\n\x0c\n\x05\x06\x00\x02\x04\x01\x12\x03:\x06\x16\n\x0c\n\x05\x06\x00\x02\x04\x02\x12\x03:\x17.\n\x0c\n\x05\x06\x00\x02\x04\x03\x12\x03:9Q\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04;\x04>\x06\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04;\x04>\x06\n\x80\x01\n\x04\x06\x00\x02\x05\x12\x04C\x02H\x03\x1ar Would delete all key packages associated with the installation and mark\n the installation as having been revoked\n\n\x0c\n\x05\x06\x00\x02\x05\x01\x12\x03C\x06\x18\n\x0c\n\x05\x06\x00\x02\x05\x02\x12\x03C\x192\n\x0c\n\x05\x06\x00\x02\x05\x03\x12\x03C=R\n\r\n\x05\x06\x00\x02\x05\x04\x12\x04D\x04G\x06\n\x11\n\t\x06\x00\x02\x05\x04\xb0\xca\xbc\"\x12\x04D\x04G\x06\n\xc6\x01\n\x04\x06\x00\x02\x06\x12\x04M\x02R\x03\x1a\xb7\x01 Used to check for changes related to members of a group.\n Would return an array of any new installations associated with the wallet\n address, and any revocations that have happened.\n\n\x0c\n\x05\x06\x00\x02\x06\x01\x12\x03M\x06\x18\n\x0c\n\x05\x06\x00\x02\x06\x02\x12\x03M\x192\n\x0c\n\x05\x06\x00\x02\x06\x03\x12\x03M=W\n\r\n\x05\x06\x00\x02\x06\x04\x12\x04N\x04Q\x06\n\x11\n\t\x06\x00\x02\x06\x04\xb0\xca\xbc\"\x12\x04N\x04Q\x06\n+\n\x04\x06\x00\x02\x07\x12\x04U\x02Z\x03\x1a\x1d Query stored group messages\n\n\x0c\n\x05\x06\x00\x02\x07\x01\x12\x03U\x06\x18\n\x0c\n\x05\x06\x00\x02\x07\x02\x12\x03U\x192\n\x0c\n\x05\x06\x00\x02\x07\x03\x12\x03U=W\n\r\n\x05\x06\x00\x02\x07\x04\x12\x04V\x04Y\x06\n\x11\n\t\x06\x00\x02\x07\x04\xb0\xca\xbc\"\x12\x04V\x04Y\x06\n+\n\x04\x06\x00\x02\x08\x12\x04]\x02b\x03\x1a\x1d Query stored group messages\n\n\x0c\n\x05\x06\x00\x02\x08\x01\x12\x03]\x06\x1a\n\x0c\n\x05\x06\x00\x02\x08\x02\x12\x03]\x1b6\n\x0c\n\x05\x06\x00\x02\x08\x03\x12\x03]A]\n\r\n\x05\x06\x00\x02\x08\x04\x12\x04^\x04a\x06\n\x11\n\t\x06\x00\x02\x08\x04\xb0\xca\xbc\"\x12\x04^\x04a\x06\n6\n\x04\x06\x00\x02\t\x12\x04e\x02j\x03\x1a( Subscribe stream of new group messages\n\n\x0c\n\x05\x06\x00\x02\t\x01\x12\x03e\x06\x1c\n\x0c\n\x05\x06\x00\x02\t\x02\x12\x03e\x1d:\n\x0c\n\x05\x06\x00\x02\t\x06\x12\x03eEK\n\x0c\n\x05\x06\x00\x02\t\x03\x12\x03eLX\n\r\n\x05\x06\x00\x02\t\x04\x12\x04f\x04i\x06\n\x11\n\t\x06\x00\x02\t\x04\xb0\xca\xbc\"\x12\x04f\x04i\x06\n8\n\x04\x06\x00\x02\n\x12\x04m\x02r\x03\x1a* Subscribe stream of new welcome messages\n\n\x0c\n\x05\x06\x00\x02\n\x01\x12\x03m\x06\x1e\n\x0c\n\x05\x06\x00\x02\n\x02\x12\x03m\x1f>\n\x0c\n\x05\x06\x00\x02\n\x06\x12\x03mIO\n\x0c\n\x05\x06\x00\x02\n\x03\x12\x03mP^\n\r\n\x05\x06\x00\x02\n\x04\x12\x04n\x04q\x06\n\x11\n\t\x06\x00\x02\n\x04\xb0\xca\xbc\"\x12\x04n\x04q\x06\n\x0c\n\x04\x06\x00\x02\x0b\x12\x04t\x02y\x03\n\x0c\n\x05\x06\x00\x02\x0b\x01\x12\x03t\x06\x1b\n\x0c\n\x05\x06\x00\x02\x0b\x02\x12\x03t\x1c8\n\x0c\n\x05\x06\x00\x02\x0b\x03\x12\x03tCX\n\r\n\x05\x06\x00\x02\x0b\x04\x12\x04u\x04x\x06\n\x11\n\t\x06\x00\x02\x0b\x04\xb0\xca\xbc\"\x12\x04u\x04x\x06\n\r\n\x04\x06\x00\x02\x0c\x12\x05{\x02\x80\x01\x03\n\x0c\n\x05\x06\x00\x02\x0c\x01\x12\x03{\x06\x19\n\x0c\n\x05\x06\x00\x02\x0c\x02\x12\x03{\x1a4\n\x0c\n\x05\x06\x00\x02\x0c\x03\x12\x03{?Z\n\r\n\x05\x06\x00\x02\x0c\x04\x12\x04|\x04\x7f\x06\n\x11\n\t\x06\x00\x02\x0c\x04\xb0\xca\xbc\"\x12\x04|\x04\x7f\x06\n\x0e\n\x04\x06\x00\x02\r\x12\x06\x82\x01\x02\x84\x01\x03\n\r\n\x05\x06\x00\x02\r\x01\x12\x04\x82\x01\x06\x1b\n\r\n\x05\x06\x00\x02\r\x02\x12\x04\x82\x01\x1c8\n\r\n\x05\x06\x00\x02\r\x03\x12\x04\x82\x01C`\n\r\n\x05\x06\x00\x02\r\x04\x12\x04\x83\x01\x04I\n\x11\n\t\x06\x00\x02\r\x04\xb0\xca\xbc\"\x12\x04\x83\x01\x04I\n8\n\x02\x04\x00\x12\x06\x88\x01\x00\xa6\x01\x01\x1a* Full representation of a welcome message\n\n\x0b\n\x03\x04\x00\x01\x12\x04\x88\x01\x08\x16\n8\n\x04\x04\x00\x03\x00\x12\x06\x8a\x01\x02\x92\x01\x03\x1a( Version 1 of the WelcomeMessage format\n\n\r\n\x05\x04\x00\x03\x00\x01\x12\x04\x8a\x01\n\x0c\n\x0e\n\x06\x04\x00\x03\x00\x02\x00\x12\x04\x8b\x01\x04\x12\n\x0f\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x04\x8b\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x04\x8b\x01\x0b\r\n\x0f\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x04\x8b\x01\x10\x11\n\x0e\n\x06\x04\x00\x03\x00\x02\x01\x12\x04\x8c\x01\x04\x1a\n\x0f\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x04\x8c\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x04\x8c\x01\x0b\x15\n\x0f\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x04\x8c\x01\x18\x19\n\x0e\n\x06\x04\x00\x03\x00\x02\x02\x12\x04\x8d\x01\x04\x1f\n\x0f\n\x07\x04\x00\x03\x00\x02\x02\x05\x12\x04\x8d\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x00\x02\x02\x01\x12\x04\x8d\x01\n\x1a\n\x0f\n\x07\x04\x00\x03\x00\x02\x02\x03\x12\x04\x8d\x01\x1d\x1e\n\x0e\n\x06\x04\x00\x03\x00\x02\x03\x12\x04\x8e\x01\x04\x13\n\x0f\n\x07\x04\x00\x03\x00\x02\x03\x05\x12\x04\x8e\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x00\x02\x03\x01\x12\x04\x8e\x01\n\x0e\n\x0f\n\x07\x04\x00\x03\x00\x02\x03\x03\x12\x04\x8e\x01\x11\x12\n\x0e\n\x06\x04\x00\x03\x00\x02\x04\x12\x04\x8f\x01\x04\x1e\n\x0f\n\x07\x04\x00\x03\x00\x02\x04\x05\x12\x04\x8f\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x00\x02\x04\x01\x12\x04\x8f\x01\n\x19\n\x0f\n\x07\x04\x00\x03\x00\x02\x04\x03\x12\x04\x8f\x01\x1c\x1d\n\x0e\n\x06\x04\x00\x03\x00\x02\x05\x12\x04\x90\x01\x04L\n\x0f\n\x07\x04\x00\x03\x00\x02\x05\x06\x12\x04\x90\x01\x045\n\x0f\n\x07\x04\x00\x03\x00\x02\x05\x01\x12\x04\x90\x016G\n\x0f\n\x07\x04\x00\x03\x00\x02\x05\x03\x12\x04\x90\x01JK\n\x0e\n\x06\x04\x00\x03\x00\x02\x06\x12\x04\x91\x01\x04\x1f\n\x0f\n\x07\x04\x00\x03\x00\x02\x06\x05\x12\x04\x91\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x00\x02\x06\x01\x12\x04\x91\x01\n\x1a\n\x0f\n\x07\x04\x00\x03\x00\x02\x06\x03\x12\x04\x91\x01\x1d\x1e\n\x0e\n\x04\x04\x00\x03\x01\x12\x06\x94\x01\x02\xa0\x01\x03\n\r\n\x05\x04\x00\x03\x01\x01\x12\x04\x94\x01\n\x18\n\x0e\n\x06\x04\x00\x03\x01\x02\x00\x12\x04\x95\x01\x04\x12\n\x0f\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x04\x95\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x04\x95\x01\x0b\r\n\x0f\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x04\x95\x01\x10\x11\n\x0e\n\x06\x04\x00\x03\x01\x02\x01\x12\x04\x96\x01\x04\x1a\n\x0f\n\x07\x04\x00\x03\x01\x02\x01\x05\x12\x04\x96\x01\x04\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x04\x96\x01\x0b\x15\n\x0f\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x04\x96\x01\x18\x19\nR\n\x06\x04\x00\x03\x01\x02\x02\x12\x04\x98\x01\x04\x1f\x1aB The topic of the welcome message (generally the installation id)\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x02\x05\x12\x04\x98\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x01\x02\x02\x01\x12\x04\x98\x01\n\x1a\n\x0f\n\x07\x04\x00\x03\x01\x02\x02\x03\x12\x04\x98\x01\x1d\x1e\n`\n\x06\x04\x00\x03\x01\x02\x03\x12\x04\x9b\x01\x04\x1e\x1aP A WelcomePointer encrypted using the algorithm specified by\n wrapper_algorithm\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x03\x05\x12\x04\x9b\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x01\x02\x03\x01\x12\x04\x9b\x01\n\x19\n\x0f\n\x07\x04\x00\x03\x01\x02\x03\x03\x12\x04\x9b\x01\x1c\x1d\nD\n\x06\x04\x00\x03\x01\x02\x04\x12\x04\x9d\x01\x04\x1e\x1a4 The public key used to encrypt the welcome pointer\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x04\x05\x12\x04\x9d\x01\x04\t\n\x0f\n\x07\x04\x00\x03\x01\x02\x04\x01\x12\x04\x9d\x01\n\x19\n\x0f\n\x07\x04\x00\x03\x01\x02\x04\x03\x12\x04\x9d\x01\x1c\x1d\nC\n\x06\x04\x00\x03\x01\x02\x05\x12\x04\x9f\x01\x04S\x1a3 The algorithm used to encrypt the welcome pointer\n\n\x0f\n\x07\x04\x00\x03\x01\x02\x05\x06\x12\x04\x9f\x01\x04<\n\x0f\n\x07\x04\x00\x03\x01\x02\x05\x01\x12\x04\x9f\x01=N\n\x0f\n\x07\x04\x00\x03\x01\x02\x05\x03\x12\x04\x9f\x01QR\n\x0e\n\x04\x04\x00\x08\x00\x12\x06\xa2\x01\x02\xa5\x01\x03\n\r\n\x05\x04\x00\x08\x00\x01\x12\x04\xa2\x01\x08\x0f\n\x0c\n\x04\x04\x00\x02\x00\x12\x04\xa3\x01\x04\x0e\n\r\n\x05\x04\x00\x02\x00\x06\x12\x04\xa3\x01\x04\x06\n\r\n\x05\x04\x00\x02\x00\x01\x12\x04\xa3\x01\x07\t\n\r\n\x05\x04\x00\x02\x00\x03\x12\x04\xa3\x01\x0c\r\n\x0c\n\x04\x04\x00\x02\x01\x12\x04\xa4\x01\x04\'\n\r\n\x05\x04\x00\x02\x01\x06\x12\x04\xa4\x01\x04\x12\n\r\n\x05\x04\x00\x02\x01\x01\x12\x04\xa4\x01\x13\"\n\r\n\x05\x04\x00\x02\x01\x03\x12\x04\xa4\x01%&\n0\n\x02\x04\x01\x12\x06\xa9\x01\x00\xcb\x01\x01\x1a\" Input type for a welcome message\n\n\x0b\n\x03\x04\x01\x01\x12\x04\xa9\x01\x08\x1b\n\xde\x01\n\x04\x04\x01\x03\x00\x12\x06\xad\x01\x02\xb8\x01\x03\x1a\xcd\x01 Version 1 of the WelcomeMessageInput format, if used as the pointee of a\n WelcomePointer then the hpke_public_key will be unset, and the\n wrapper_algorithm will be WELCOME_WRAPPER_ALGORITHM_SYMMETRIC_KEY\n\n\r\n\x05\x04\x01\x03\x00\x01\x12\x04\xad\x01\n\x0c\nR\n\x06\x04\x01\x03\x00\x02\x00\x12\x04\xaf\x01\x04\x1f\x1aB The topic of the welcome message (generally the installation id)\n\n\x0f\n\x07\x04\x01\x03\x00\x02\x00\x05\x12\x04\xaf\x01\x04\t\n\x0f\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x04\xaf\x01\n\x1a\n\x0f\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x04\xaf\x01\x1d\x1e\n3\n\x06\x04\x01\x03\x00\x02\x01\x12\x04\xb1\x01\x04\x13\x1a# An encrypted mls `Welcome` struct\n\n\x0f\n\x07\x04\x01\x03\x00\x02\x01\x05\x12\x04\xb1\x01\x04\t\n\x0f\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x04\xb1\x01\n\x0e\n\x0f\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x04\xb1\x01\x11\x12\n7\n\x06\x04\x01\x03\x00\x02\x02\x12\x04\xb3\x01\x04\x1e\x1a\' The public key of the welcome message\n\n\x0f\n\x07\x04\x01\x03\x00\x02\x02\x05\x12\x04\xb3\x01\x04\t\n\x0f\n\x07\x04\x01\x03\x00\x02\x02\x01\x12\x04\xb3\x01\n\x19\n\x0f\n\x07\x04\x01\x03\x00\x02\x02\x03\x12\x04\xb3\x01\x1c\x1d\nC\n\x06\x04\x01\x03\x00\x02\x03\x12\x04\xb5\x01\x04L\x1a3 The algorithm used to encrypt the welcome message\n\n\x0f\n\x07\x04\x01\x03\x00\x02\x03\x06\x12\x04\xb5\x01\x045\n\x0f\n\x07\x04\x01\x03\x00\x02\x03\x01\x12\x04\xb5\x016G\n\x0f\n\x07\x04\x01\x03\x00\x02\x03\x03\x12\x04\xb5\x01JK\n5\n\x06\x04\x01\x03\x00\x02\x04\x12\x04\xb7\x01\x04\x1f\x1a% The metadata of the welcome message\n\n\x0f\n\x07\x04\x01\x03\x00\x02\x04\x05\x12\x04\xb7\x01\x04\t\n\x0f\n\x07\x04\x01\x03\x00\x02\x04\x01\x12\x04\xb7\x01\n\x1a\n\x0f\n\x07\x04\x01\x03\x00\x02\x04\x03\x12\x04\xb7\x01\x1d\x1e\n\x9d\x01\n\x04\x04\x01\x03\x01\x12\x06\xbc\x01\x02\xc5\x01\x03\x1a\x8c\x01 Version 2 of the WelcomeMessageInput format which uses a WelcomePointer\n to point to the welcome message for several installations at once\n\n\r\n\x05\x04\x01\x03\x01\x01\x12\x04\xbc\x01\n\x18\nR\n\x06\x04\x01\x03\x01\x02\x00\x12\x04\xbe\x01\x04\x1f\x1aB The topic of the welcome message (generally the installation id)\n\n\x0f\n\x07\x04\x01\x03\x01\x02\x00\x05\x12\x04\xbe\x01\x04\t\n\x0f\n\x07\x04\x01\x03\x01\x02\x00\x01\x12\x04\xbe\x01\n\x1a\n\x0f\n\x07\x04\x01\x03\x01\x02\x00\x03\x12\x04\xbe\x01\x1d\x1e\nH\n\x06\x04\x01\x03\x01\x02\x01\x12\x04\xc0\x01\x04\x1e\x1a8 A WelcomePointer encrypted using the wrapper_algorithm\n\n\x0f\n\x07\x04\x01\x03\x01\x02\x01\x05\x12\x04\xc0\x01\x04\t\n\x0f\n\x07\x04\x01\x03\x01\x02\x01\x01\x12\x04\xc0\x01\n\x19\n\x0f\n\x07\x04\x01\x03\x01\x02\x01\x03\x12\x04\xc0\x01\x1c\x1d\nD\n\x06\x04\x01\x03\x01\x02\x02\x12\x04\xc2\x01\x04\x1e\x1a4 The public key used to encrypt the welcome pointer\n\n\x0f\n\x07\x04\x01\x03\x01\x02\x02\x05\x12\x04\xc2\x01\x04\t\n\x0f\n\x07\x04\x01\x03\x01\x02\x02\x01\x12\x04\xc2\x01\n\x19\n\x0f\n\x07\x04\x01\x03\x01\x02\x02\x03\x12\x04\xc2\x01\x1c\x1d\nC\n\x06\x04\x01\x03\x01\x02\x03\x12\x04\xc4\x01\x04S\x1a3 The algorithm used to encrypt the welcome pointer\n\n\x0f\n\x07\x04\x01\x03\x01\x02\x03\x06\x12\x04\xc4\x01\x04<\n\x0f\n\x07\x04\x01\x03\x01\x02\x03\x01\x12\x04\xc4\x01=N\n\x0f\n\x07\x04\x01\x03\x01\x02\x03\x03\x12\x04\xc4\x01QR\n\x0e\n\x04\x04\x01\x08\x00\x12\x06\xc7\x01\x02\xca\x01\x03\n\r\n\x05\x04\x01\x08\x00\x01\x12\x04\xc7\x01\x08\x0f\n\x0c\n\x04\x04\x01\x02\x00\x12\x04\xc8\x01\x04\x0e\n\r\n\x05\x04\x01\x02\x00\x06\x12\x04\xc8\x01\x04\x06\n\r\n\x05\x04\x01\x02\x00\x01\x12\x04\xc8\x01\x07\t\n\r\n\x05\x04\x01\x02\x00\x03\x12\x04\xc8\x01\x0c\r\n\x0c\n\x04\x04\x01\x02\x01\x12\x04\xc9\x01\x04\'\n\r\n\x05\x04\x01\x02\x01\x06\x12\x04\xc9\x01\x04\x12\n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\xc9\x01\x13\"\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\xc9\x01%&\n[\n\x02\x04\x02\x12\x06\xce\x01\x00\xd0\x01\x01\x1aM This field is encrypted along with the `data` field on the welcome message.\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xce\x01\x08\x17\n\x0c\n\x04\x04\x02\x02\x00\x12\x04\xcf\x01\x02\x1c\n\r\n\x05\x04\x02\x02\x00\x05\x12\x04\xcf\x01\x02\x08\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\xcf\x01\t\x17\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\xcf\x01\x1a\x1b\n6\n\x02\x04\x03\x12\x06\xd3\x01\x00\xe2\x01\x01\x1a( Full representation of a group message\n\n\x0b\n\x03\x04\x03\x01\x12\x04\xd3\x01\x08\x14\n6\n\x04\x04\x03\x03\x00\x12\x06\xd5\x01\x02\xdd\x01\x03\x1a& Version 1 of the GroupMessage format\n\n\r\n\x05\x04\x03\x03\x00\x01\x12\x04\xd5\x01\n\x0c\n\x0e\n\x06\x04\x03\x03\x00\x02\x00\x12\x04\xd6\x01\x04\x12\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x04\xd6\x01\x04\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x04\xd6\x01\x0b\r\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x04\xd6\x01\x10\x11\n\x0e\n\x06\x04\x03\x03\x00\x02\x01\x12\x04\xd7\x01\x04\x1a\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x05\x12\x04\xd7\x01\x04\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x01\x12\x04\xd7\x01\x0b\x15\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x03\x12\x04\xd7\x01\x18\x19\n\x0e\n\x06\x04\x03\x03\x00\x02\x02\x12\x04\xd8\x01\x04\x17\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x05\x12\x04\xd8\x01\x04\t\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x01\x12\x04\xd8\x01\n\x12\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x03\x12\x04\xd8\x01\x15\x16\n\x0e\n\x06\x04\x03\x03\x00\x02\x03\x12\x04\xd9\x01\x04\x13\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x05\x12\x04\xd9\x01\x04\t\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x01\x12\x04\xd9\x01\n\x0e\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x03\x12\x04\xd9\x01\x11\x12\n\x0e\n\x06\x04\x03\x03\x00\x02\x04\x12\x04\xda\x01\x04\x1a\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x05\x12\x04\xda\x01\x04\t\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x01\x12\x04\xda\x01\n\x15\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x03\x12\x04\xda\x01\x18\x19\n\x0e\n\x06\x04\x03\x03\x00\x02\x05\x12\x04\xdb\x01\x04\x19\n\x0f\n\x07\x04\x03\x03\x00\x02\x05\x05\x12\x04\xdb\x01\x04\x08\n\x0f\n\x07\x04\x03\x03\x00\x02\x05\x01\x12\x04\xdb\x01\t\x14\n\x0f\n\x07\x04\x03\x03\x00\x02\x05\x03\x12\x04\xdb\x01\x17\x18\n\x0e\n\x06\x04\x03\x03\x00\x02\x06\x12\x04\xdc\x01\x04\x17\n\x0f\n\x07\x04\x03\x03\x00\x02\x06\x05\x12\x04\xdc\x01\x04\x08\n\x0f\n\x07\x04\x03\x03\x00\x02\x06\x01\x12\x04\xdc\x01\t\x12\n\x0f\n\x07\x04\x03\x03\x00\x02\x06\x03\x12\x04\xdc\x01\x15\x16\n\x0e\n\x04\x04\x03\x08\x00\x12\x06\xdf\x01\x02\xe1\x01\x03\n\r\n\x05\x04\x03\x08\x00\x01\x12\x04\xdf\x01\x08\x0f\n\x0c\n\x04\x04\x03\x02\x00\x12\x04\xe0\x01\x04\x0e\n\r\n\x05\x04\x03\x02\x00\x06\x12\x04\xe0\x01\x04\x06\n\r\n\x05\x04\x03\x02\x00\x01\x12\x04\xe0\x01\x07\t\n\r\n\x05\x04\x03\x02\x00\x03\x12\x04\xe0\x01\x0c\r\n.\n\x02\x04\x04\x12\x06\xe5\x01\x00\xf0\x01\x01\x1a Input type for a group message\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xe5\x01\x08\x19\nC\n\x04\x04\x04\x03\x00\x12\x06\xe7\x01\x02\xeb\x01\x03\x1a3 Version 1 of the GroupMessageInput payload format\n\n\r\n\x05\x04\x04\x03\x00\x01\x12\x04\xe7\x01\n\x0c\n/\n\x06\x04\x04\x03\x00\x02\x00\x12\x04\xe8\x01\x04\x13\"\x1f Serialized MlsProtocolMessage\n\n\x0f\n\x07\x04\x04\x03\x00\x02\x00\x05\x12\x04\xe8\x01\x04\t\n\x0f\n\x07\x04\x04\x03\x00\x02\x00\x01\x12\x04\xe8\x01\n\x0e\n\x0f\n\x07\x04\x04\x03\x00\x02\x00\x03\x12\x04\xe8\x01\x11\x12\n\x0e\n\x06\x04\x04\x03\x00\x02\x01\x12\x04\xe9\x01\x04\x1a\n\x0f\n\x07\x04\x04\x03\x00\x02\x01\x05\x12\x04\xe9\x01\x04\t\n\x0f\n\x07\x04\x04\x03\x00\x02\x01\x01\x12\x04\xe9\x01\n\x15\n\x0f\n\x07\x04\x04\x03\x00\x02\x01\x03\x12\x04\xe9\x01\x18\x19\n\x0e\n\x06\x04\x04\x03\x00\x02\x02\x12\x04\xea\x01\x04\x19\n\x0f\n\x07\x04\x04\x03\x00\x02\x02\x05\x12\x04\xea\x01\x04\x08\n\x0f\n\x07\x04\x04\x03\x00\x02\x02\x01\x12\x04\xea\x01\t\x14\n\x0f\n\x07\x04\x04\x03\x00\x02\x02\x03\x12\x04\xea\x01\x17\x18\n\x0e\n\x04\x04\x04\x08\x00\x12\x06\xed\x01\x02\xef\x01\x03\n\r\n\x05\x04\x04\x08\x00\x01\x12\x04\xed\x01\x08\x0f\n\x0c\n\x04\x04\x04\x02\x00\x12\x04\xee\x01\x04\x0e\n\r\n\x05\x04\x04\x02\x00\x06\x12\x04\xee\x01\x04\x06\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\xee\x01\x07\t\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\xee\x01\x0c\r\n,\n\x02\x04\x05\x12\x06\xf3\x01\x00\xf5\x01\x01\x1a\x1e Send a batch of MLS messages\n\n\x0b\n\x03\x04\x05\x01\x12\x04\xf3\x01\x08 \n\x0c\n\x04\x04\x05\x02\x00\x12\x04\xf4\x01\x02*\n\r\n\x05\x04\x05\x02\x00\x04\x12\x04\xf4\x01\x02\n\n\r\n\x05\x04\x05\x02\x00\x06\x12\x04\xf4\x01\x0b\x1c\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\xf4\x01\x1d%\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\xf4\x01()\n0\n\x02\x04\x06\x12\x06\xf8\x01\x00\xfa\x01\x01\x1a\" Send a batch of welcome messages\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xf8\x01\x08\"\n\x0c\n\x04\x04\x06\x02\x00\x12\x04\xf9\x01\x02,\n\r\n\x05\x04\x06\x02\x00\x04\x12\x04\xf9\x01\x02\n\n\r\n\x05\x04\x06\x02\x00\x06\x12\x04\xf9\x01\x0b\x1e\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xf9\x01\x1f\'\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xf9\x01*+\n\x9a\x01\n\x02\x04\x07\x12\x06\xfd\x01\x00\x84\x02\x01\x1a( A wrapper around the Key Package bytes\n\"b This would be a serialized MLS key package that the node would\n parse, validate, and then store.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xfd\x01\x08\x18\n\x97\x01\n\x04\x04\x07\x02\x00\x12\x04\x83\x02\x02\'\x1a\x88\x01 The owner\'s wallet address would be extracted from the identity\n credential in the key package, and all signatures would be validated.\n\n\r\n\x05\x04\x07\x02\x00\x05\x12\x04\x83\x02\x02\x07\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\x83\x02\x08\"\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\x83\x02%&\n+\n\x02\x04\x08\x12\x06\x87\x02\x00\x8b\x02\x01\x1a\x1d Register a new installation\n\n\x0b\n\x03\x04\x08\x01\x12\x04\x87\x02\x08#\n[\n\x04\x04\x08\x02\x00\x12\x04\x89\x02\x02#\x1aM The Key Package contains all information needed to register an installation\n\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\x89\x02\x02\x12\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x89\x02\x13\x1e\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x89\x02!\"\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\x8a\x02\x02\"\n\r\n\x05\x04\x08\x02\x01\x05\x12\x04\x8a\x02\x02\x06\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x8a\x02\x07\x1d\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x8a\x02 !\n=\n\x02\x04\t\x12\x06\x8e\x02\x00\x90\x02\x01\x1a/ The response to a RegisterInstallationRequest\n\n\x0b\n\x03\x04\t\x01\x12\x04\x8e\x02\x08$\n\x0c\n\x04\x04\t\x02\x00\x12\x04\x8f\x02\x02\x1d\n\r\n\x05\x04\t\x02\x00\x05\x12\x04\x8f\x02\x02\x07\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x8f\x02\x08\x18\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x8f\x02\x1b\x1c\n)\n\x02\x04\n\x12\x06\x93\x02\x00\x97\x02\x01\x1a\x1b Upload a new key packages\n\n\x0b\n\x03\x04\n\x01\x12\x04\x93\x02\x08\x1f\n8\n\x04\x04\n\x02\x00\x12\x04\x95\x02\x02#\x1a* An individual key package upload request\n\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\x95\x02\x02\x12\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x95\x02\x13\x1e\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x95\x02!\"\n\x0c\n\x04\x04\n\x02\x01\x12\x04\x96\x02\x02\"\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\x96\x02\x02\x06\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\x96\x02\x07\x1d\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\x96\x02 !\n.\n\x02\x04\x0b\x12\x06\x9a\x02\x00\x9f\x02\x01\x1a Fetch one or more key packages\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x9a\x02\x08\x1f\n\xac\x01\n\x04\x04\x0b\x02\x00\x12\x04\x9e\x02\x02\'\x1a\x9d\x01 The caller can provide an array of installation keys, and the API\n will return one key package for each installation associated with each\n installation key\n\n\r\n\x05\x04\x0b\x02\x00\x04\x12\x04\x9e\x02\x02\n\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\x9e\x02\x0b\x10\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\x9e\x02\x11\"\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\x9e\x02%&\n9\n\x02\x04\x0c\x12\x06\xa2\x02\x00\xac\x02\x01\x1a+ The response to a FetchKeyPackagesRequest\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xa2\x02\x08 \n+\n\x04\x04\x0c\x03\x00\x12\x06\xa4\x02\x02\xa6\x02\x03\x1a\x1b An individual key package\n\n\r\n\x05\x04\x0c\x03\x00\x01\x12\x04\xa4\x02\n\x14\n\x0e\n\x06\x04\x0c\x03\x00\x02\x00\x12\x04\xa5\x02\x04)\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x05\x12\x04\xa5\x02\x04\t\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x01\x12\x04\xa5\x02\n$\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x03\x12\x04\xa5\x02\'(\n\xcf\x01\n\x04\x04\x0c\x02\x00\x12\x04\xab\x02\x02\'\x1a\xc0\x01 Returns one key package per installation in the original order of the\n request. If any installations are missing key packages, an empty entry is\n left in their respective spots in the array.\n\n\r\n\x05\x04\x0c\x02\x00\x04\x12\x04\xab\x02\x02\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xab\x02\x0b\x15\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xab\x02\x16\"\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xab\x02%&\n&\n\x02\x04\r\x12\x06\xaf\x02\x00\xb4\x02\x01\x1a\x18 Revoke an installation\n\n\x0b\n\x03\x04\r\x01\x12\x04\xaf\x02\x08!\n\x0c\n\x04\x04\r\x02\x00\x12\x04\xb0\x02\x02\x1d\n\r\n\x05\x04\r\x02\x00\x05\x12\x04\xb0\x02\x02\x07\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xb0\x02\x08\x18\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xb0\x02\x1b\x1c\n\x97\x01\n\x04\x04\r\x02\x01\x12\x04\xb3\x02\x027\x1a\x88\x01 All revocations must be validated with a wallet signature over the\n installation_id being revoked (and some sort of standard prologue)\n\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\xb3\x02\x02!\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xb3\x02\"2\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xb3\x0256\nH\n\x02\x04\x0e\x12\x06\xb7\x02\x00\xba\x02\x01\x1a: Get all updates for an identity since the specified time\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xb7\x02\x08!\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\xb8\x02\x02(\n\r\n\x05\x04\x0e\x02\x00\x04\x12\x04\xb8\x02\x02\n\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\xb8\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xb8\x02\x12#\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xb8\x02&\'\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\xb9\x02\x02\x1b\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xb9\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xb9\x02\t\x16\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xb9\x02\x19\x1a\n[\n\x02\x04\x0f\x12\x06\xbd\x02\x00\xda\x02\x01\x1aM Used to get any new or revoked installations for a list of wallet addresses\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\xbd\x02\x08\"\nQ\n\x04\x04\x0f\x03\x00\x12\x06\xbf\x02\x02\xc2\x02\x03\x1aA A new installation key was seen for the first time by the nodes\n\n\r\n\x05\x04\x0f\x03\x00\x01\x12\x04\xbf\x02\n\x1f\n\x0e\n\x06\x04\x0f\x03\x00\x02\x00\x12\x04\xc0\x02\x04\x1f\n\x0f\n\x07\x04\x0f\x03\x00\x02\x00\x05\x12\x04\xc0\x02\x04\t\n\x0f\n\x07\x04\x0f\x03\x00\x02\x00\x01\x12\x04\xc0\x02\n\x1a\n\x0f\n\x07\x04\x0f\x03\x00\x02\x00\x03\x12\x04\xc0\x02\x1d\x1e\n\x0e\n\x06\x04\x0f\x03\x00\x02\x01\x12\x04\xc1\x02\x04\"\n\x0f\n\x07\x04\x0f\x03\x00\x02\x01\x05\x12\x04\xc1\x02\x04\t\n\x0f\n\x07\x04\x0f\x03\x00\x02\x01\x01\x12\x04\xc1\x02\n\x1d\n\x0f\n\x07\x04\x0f\x03\x00\x02\x01\x03\x12\x04\xc1\x02 !\n-\n\x04\x04\x0f\x03\x01\x12\x06\xc5\x02\x02\xc7\x02\x03\x1a\x1d An installation was revoked\n\n\r\n\x05\x04\x0f\x03\x01\x01\x12\x04\xc5\x02\n#\n\x0e\n\x06\x04\x0f\x03\x01\x02\x00\x12\x04\xc6\x02\x04\x1f\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x05\x12\x04\xc6\x02\x04\t\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x01\x12\x04\xc6\x02\n\x1a\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x03\x12\x04\xc6\x02\x1d\x1e\n8\n\x04\x04\x0f\x03\x02\x12\x06\xca\x02\x02\xd0\x02\x03\x1a( A wrapper for any update to the wallet\n\n\r\n\x05\x04\x0f\x03\x02\x01\x12\x04\xca\x02\n\x10\n\x0e\n\x06\x04\x0f\x03\x02\x02\x00\x12\x04\xcb\x02\x04\x1c\n\x0f\n\x07\x04\x0f\x03\x02\x02\x00\x05\x12\x04\xcb\x02\x04\n\n\x0f\n\x07\x04\x0f\x03\x02\x02\x00\x01\x12\x04\xcb\x02\x0b\x17\n\x0f\n\x07\x04\x0f\x03\x02\x02\x00\x03\x12\x04\xcb\x02\x1a\x1b\n\x10\n\x06\x04\x0f\x03\x02\x08\x00\x12\x06\xcc\x02\x04\xcf\x02\x05\n\x0f\n\x07\x04\x0f\x03\x02\x08\x00\x01\x12\x04\xcc\x02\n\x0e\n\x0e\n\x06\x04\x0f\x03\x02\x02\x01\x12\x04\xcd\x02\x061\n\x0f\n\x07\x04\x0f\x03\x02\x02\x01\x06\x12\x04\xcd\x02\x06\x1b\n\x0f\n\x07\x04\x0f\x03\x02\x02\x01\x01\x12\x04\xcd\x02\x1c,\n\x0f\n\x07\x04\x0f\x03\x02\x02\x01\x03\x12\x04\xcd\x02/0\n\x0e\n\x06\x04\x0f\x03\x02\x02\x02\x12\x04\xce\x02\x069\n\x0f\n\x07\x04\x0f\x03\x02\x02\x02\x06\x12\x04\xce\x02\x06\x1f\n\x0f\n\x07\x04\x0f\x03\x02\x02\x02\x01\x12\x04\xce\x02 4\n\x0f\n\x07\x04\x0f\x03\x02\x02\x02\x03\x12\x04\xce\x0278\n?\n\x04\x04\x0f\x03\x03\x12\x06\xd3\x02\x02\xd5\x02\x03\x1a/ A wrapper for the updates for a single wallet\n\n\r\n\x05\x04\x0f\x03\x03\x01\x12\x04\xd3\x02\n\x17\n\x0e\n\x06\x04\x0f\x03\x03\x02\x00\x12\x04\xd4\x02\x04 \n\x0f\n\x07\x04\x0f\x03\x03\x02\x00\x04\x12\x04\xd4\x02\x04\x0c\n\x0f\n\x07\x04\x0f\x03\x03\x02\x00\x06\x12\x04\xd4\x02\r\x13\n\x0f\n\x07\x04\x0f\x03\x03\x02\x00\x01\x12\x04\xd4\x02\x14\x1b\n\x0f\n\x07\x04\x0f\x03\x03\x02\x00\x03\x12\x04\xd4\x02\x1e\x1f\nh\n\x04\x04\x0f\x02\x00\x12\x04\xd9\x02\x02%\x1aZ A list of updates (or empty objects if no changes) in the original order\n of the request\n\n\r\n\x05\x04\x0f\x02\x00\x04\x12\x04\xd9\x02\x02\n\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xd9\x02\x0b\x18\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xd9\x02\x19 \n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xd9\x02#$\n*\n\x02\x05\x00\x12\x06\xdd\x02\x00\xe1\x02\x01\x1a\x1c Sort direction for queries\n\n\x0b\n\x03\x05\x00\x01\x12\x04\xdd\x02\x05\x12\n\x0c\n\x04\x05\x00\x02\x00\x12\x04\xde\x02\x02!\n\r\n\x05\x05\x00\x02\x00\x01\x12\x04\xde\x02\x02\x1c\n\r\n\x05\x05\x00\x02\x00\x02\x12\x04\xde\x02\x1f \n\x0c\n\x04\x05\x00\x02\x01\x12\x04\xdf\x02\x02\x1f\n\r\n\x05\x05\x00\x02\x01\x01\x12\x04\xdf\x02\x02\x1a\n\r\n\x05\x05\x00\x02\x01\x02\x12\x04\xdf\x02\x1d\x1e\n\x0c\n\x04\x05\x00\x02\x02\x12\x04\xe0\x02\x02 \n\r\n\x05\x05\x00\x02\x02\x01\x12\x04\xe0\x02\x02\x1b\n\r\n\x05\x05\x00\x02\x02\x02\x12\x04\xe0\x02\x1e\x1f\n-\n\x02\x04\x10\x12\x06\xe4\x02\x00\xe8\x02\x01\x1a\x1f Pagination config for queries\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xe4\x02\x08\x12\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xe5\x02\x02\x1e\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xe5\x02\x02\x0f\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xe5\x02\x10\x19\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xe5\x02\x1c\x1d\n\x0c\n\x04\x04\x10\x02\x01\x12\x04\xe6\x02\x02\x13\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xe6\x02\x02\x08\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xe6\x02\t\x0e\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xe6\x02\x11\x12\n\x0c\n\x04\x04\x10\x02\x02\x12\x04\xe7\x02\x02\x17\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\xe7\x02\x02\x08\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xe7\x02\t\x12\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xe7\x02\x15\x16\n1\n\x02\x04\x11\x12\x06\xeb\x02\x00\xee\x02\x01\x1a# Request for group message queries\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xeb\x02\x08!\n\x0c\n\x04\x04\x11\x02\x00\x12\x04\xec\x02\x02\x15\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xec\x02\x02\x07\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xec\x02\x08\x10\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xec\x02\x13\x14\n\x0c\n\x04\x04\x11\x02\x01\x12\x04\xed\x02\x02\x1d\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\xed\x02\x02\x0c\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xed\x02\r\x18\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xed\x02\x1b\x1c\n2\n\x02\x04\x12\x12\x06\xf1\x02\x00\xf4\x02\x01\x1a$ Response for group message queries\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xf1\x02\x08\"\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xf2\x02\x02%\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xf2\x02\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xf2\x02\x0b\x17\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xf2\x02\x18 \n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xf2\x02#$\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\xf3\x02\x02\x1d\n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xf3\x02\x02\x0c\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xf3\x02\r\x18\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xf3\x02\x1b\x1c\n3\n\x02\x04\x13\x12\x06\xf7\x02\x00\xfa\x02\x01\x1a% Request for welcome message queries\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xf7\x02\x08#\n\x0c\n\x04\x04\x13\x02\x00\x12\x04\xf8\x02\x02\x1d\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xf8\x02\x02\x07\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xf8\x02\x08\x18\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xf8\x02\x1b\x1c\n\x0c\n\x04\x04\x13\x02\x01\x12\x04\xf9\x02\x02\x1d\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\xf9\x02\x02\x0c\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xf9\x02\r\x18\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xf9\x02\x1b\x1c\n4\n\x02\x04\x14\x12\x06\xfd\x02\x00\x80\x03\x01\x1a& Response for welcome message queries\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xfd\x02\x08$\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xfe\x02\x02\'\n\r\n\x05\x04\x14\x02\x00\x04\x12\x04\xfe\x02\x02\n\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xfe\x02\x0b\x19\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xfe\x02\x1a\"\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xfe\x02%&\n\x0c\n\x04\x04\x14\x02\x01\x12\x04\xff\x02\x02\x1d\n\r\n\x05\x04\x14\x02\x01\x06\x12\x04\xff\x02\x02\x0c\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xff\x02\r\x18\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xff\x02\x1b\x1c\n9\n\x02\x04\x15\x12\x06\x83\x03\x00\x8a\x03\x01\x1a+ Request for subscribing to group messages\n\n\x0b\n\x03\x04\x15\x01\x12\x04\x83\x03\x08%\n%\n\x04\x04\x15\x03\x00\x12\x06\x85\x03\x02\x88\x03\x03\x1a\x15 Subscription filter\n\n\r\n\x05\x04\x15\x03\x00\x01\x12\x04\x85\x03\n\x10\n\x0e\n\x06\x04\x15\x03\x00\x02\x00\x12\x04\x86\x03\x04\x17\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x05\x12\x04\x86\x03\x04\t\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x01\x12\x04\x86\x03\n\x12\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x03\x12\x04\x86\x03\x15\x16\n\x0e\n\x06\x04\x15\x03\x00\x02\x01\x12\x04\x87\x03\x04\x19\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x05\x12\x04\x87\x03\x04\n\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x01\x12\x04\x87\x03\x0b\x14\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x03\x12\x04\x87\x03\x17\x18\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\x89\x03\x02\x1e\n\r\n\x05\x04\x15\x02\x00\x04\x12\x04\x89\x03\x02\n\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\x89\x03\x0b\x11\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\x89\x03\x12\x19\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\x89\x03\x1c\x1d\n;\n\x02\x04\x16\x12\x06\x8d\x03\x00\x94\x03\x01\x1a- Request for subscribing to welcome messages\n\n\x0b\n\x03\x04\x16\x01\x12\x04\x8d\x03\x08\'\n%\n\x04\x04\x16\x03\x00\x12\x06\x8f\x03\x02\x92\x03\x03\x1a\x15 Subscription filter\n\n\r\n\x05\x04\x16\x03\x00\x01\x12\x04\x8f\x03\n\x10\n\x0e\n\x06\x04\x16\x03\x00\x02\x00\x12\x04\x90\x03\x04\x1f\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x05\x12\x04\x90\x03\x04\t\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x01\x12\x04\x90\x03\n\x1a\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x03\x12\x04\x90\x03\x1d\x1e\n\x0e\n\x06\x04\x16\x03\x00\x02\x01\x12\x04\x91\x03\x04\x19\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x05\x12\x04\x91\x03\x04\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x01\x12\x04\x91\x03\x0b\x14\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x03\x12\x04\x91\x03\x17\x18\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\x93\x03\x02\x1e\n\r\n\x05\x04\x16\x02\x00\x04\x12\x04\x93\x03\x02\n\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\x93\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\x93\x03\x12\x19\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\x93\x03\x1c\x1d\n\x0c\n\x02\x04\x17\x12\x06\x96\x03\x00\x98\x03\x01\n\x0b\n\x03\x04\x17\x01\x12\x04\x96\x03\x08$\n\x0c\n\x04\x04\x17\x02\x00\x12\x04\x97\x03\x020\n\r\n\x05\x04\x17\x02\x00\x04\x12\x04\x97\x03\x02\n\n\r\n\x05\x04\x17\x02\x00\x06\x12\x04\x97\x03\x0b\"\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\x97\x03#+\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\x97\x03./\n\x0c\n\x02\x04\x18\x12\x06\x9a\x03\x00\x9e\x03\x01\n\x0b\n\x03\x04\x18\x01\x12\x04\x9a\x03\x08\x1f\n\x0c\n\x04\x04\x18\x02\x00\x12\x04\x9b\x03\x02\x15\n\r\n\x05\x04\x18\x02\x00\x05\x12\x04\x9b\x03\x02\x07\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\x9b\x03\x08\x10\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\x9b\x03\x13\x14\n\x0c\n\x04\x04\x18\x02\x01\x12\x04\x9c\x03\x02(\n\r\n\x05\x04\x18\x02\x01\x05\x12\x04\x9c\x03\x02\x07\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\x9c\x03\x08#\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\x9c\x03&\'\n\x0c\n\x04\x04\x18\x02\x02\x12\x04\x9d\x03\x02G\n\r\n\x05\x04\x18\x02\x02\x06\x12\x04\x9d\x03\x028\n\r\n\x05\x04\x18\x02\x02\x01\x12\x04\x9d\x039B\n\r\n\x05\x04\x18\x02\x02\x03\x12\x04\x9d\x03EF\n\x0c\n\x02\x04\x19\x12\x06\xa0\x03\x00\xa3\x03\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\xa0\x03\x08\x1d\n\x0c\n\x04\x04\x19\x02\x00\x12\x04\xa1\x03\x02\x15\n\r\n\x05\x04\x19\x02\x00\x05\x12\x04\xa1\x03\x02\x07\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\xa1\x03\x08\x10\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\xa1\x03\x13\x14\n\x0c\n\x04\x04\x19\x02\x01\x12\x04\xa2\x03\x02\x1d\n\r\n\x05\x04\x19\x02\x01\x06\x12\x04\xa2\x03\x02\x0c\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\xa2\x03\r\x18\n\r\n\x05\x04\x19\x02\x01\x03\x12\x04\xa2\x03\x1b\x1c\n\x0c\n\x02\x04\x1a\x12\x06\xa5\x03\x00\xa9\x03\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\xa5\x03\x08\x1e\n\x0c\n\x04\x04\x1a\x02\x00\x12\x04\xa6\x03\x02\x15\n\r\n\x05\x04\x1a\x02\x00\x05\x12\x04\xa6\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\xa6\x03\x08\x10\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\xa6\x03\x13\x14\n\x0c\n\x04\x04\x1a\x02\x01\x12\x04\xa7\x03\x02K\n\r\n\x05\x04\x1a\x02\x01\x04\x12\x04\xa7\x03\x02\n\n\r\n\x05\x04\x1a\x02\x01\x06\x12\x04\xa7\x03\x0b3\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\xa7\x034F\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\xa7\x03IJ\n\x0c\n\x04\x04\x1a\x02\x02\x12\x04\xa8\x03\x02\x1d\n\r\n\x05\x04\x1a\x02\x02\x06\x12\x04\xa8\x03\x02\x0c\n\r\n\x05\x04\x1a\x02\x02\x01\x12\x04\xa8\x03\r\x18\n\r\n\x05\x04\x1a\x02\x02\x03\x12\x04\xa8\x03\x1b\x1c\n\x0c\n\x02\x04\x1b\x12\x06\xab\x03\x00\xad\x03\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\xab\x03\x08\"\n\x0c\n\x04\x04\x1b\x02\x00\x12\x04\xac\x03\x02.\n\r\n\x05\x04\x1b\x02\x00\x04\x12\x04\xac\x03\x02\n\n\r\n\x05\x04\x1b\x02\x00\x06\x12\x04\xac\x03\x0b \n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\xac\x03!)\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\xac\x03,-\n\x0c\n\x02\x04\x1c\x12\x06\xaf\x03\x00\xb1\x03\x01\n\x0b\n\x03\x04\x1c\x01\x12\x04\xaf\x03\x08#\n\x0c\n\x04\x04\x1c\x02\x00\x12\x04\xb0\x03\x020\n\r\n\x05\x04\x1c\x02\x00\x04\x12\x04\xb0\x03\x02\n\n\r\n\x05\x04\x1c\x02\x00\x06\x12\x04\xb0\x03\x0b!\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\xb0\x03\"+\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\xb0\x03./\nN\n\x02\x04\x1d\x12\x06\xb4\x03\x00\xb8\x03\x01\x1a@ Request to get the newest group message from a range of topics\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\xb4\x03\x08$\n@\n\x04\x04\x1d\x02\x00\x12\x04\xb6\x03\x02\x1f\x1a2 Get the newest message from each of these topics\n\n\r\n\x05\x04\x1d\x02\x00\x04\x12\x04\xb6\x03\x02\n\n\r\n\x05\x04\x1d\x02\x00\x05\x12\x04\xb6\x03\x0b\x10\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xb6\x03\x11\x1a\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xb6\x03\x1d\x1e\n\x0c\n\x04\x04\x1d\x02\x01\x12\x04\xb7\x03\x02\x1b\n\r\n\x05\x04\x1d\x02\x01\x05\x12\x04\xb7\x03\x02\x06\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\xb7\x03\x07\x16\n\r\n\x05\x04\x1d\x02\x01\x03\x12\x04\xb7\x03\x19\x1a\n_\n\x02\x04\x1e\x12\x06\xbc\x03\x00\xc3\x03\x01\x1aQ Returns a list of responses that will always be the same length as the\n request\n\n\x0b\n\x03\x04\x1e\x01\x12\x04\xbc\x03\x08%\n\x0e\n\x04\x04\x1e\x03\x00\x12\x06\xbd\x03\x02\xc0\x03\x03\n\r\n\x05\x04\x1e\x03\x00\x01\x12\x04\xbd\x03\n\x12\nB\n\x06\x04\x1e\x03\x00\x02\x00\x12\x04\xbf\x03\x04,\x1a2 If no message is found on the topic, will be nil\n\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x04\x12\x04\xbf\x03\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x06\x12\x04\xbf\x03\r\x19\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x01\x12\x04\xbf\x03\x1a\'\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x03\x12\x04\xbf\x03*+\n\x0c\n\x04\x04\x1e\x02\x00\x12\x04\xc2\x03\x02\"\n\r\n\x05\x04\x1e\x02\x00\x04\x12\x04\xc2\x03\x02\n\n\r\n\x05\x04\x1e\x02\x00\x06\x12\x04\xc2\x03\x0b\x13\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\xc2\x03\x14\x1d\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\xc2\x03 !b\x06proto3\n\xac\x11\n!message_contents/ciphertext.proto\x12\x15xmtp.message_contents\x1a message_contents/signature.proto\"\xee\x01\n\nCiphertext\x12l\n\x16aes256_gcm_hkdf_sha256\x18\x01 \x01(\x0b25.xmtp.message_contents.Ciphertext.Aes256gcmHkdfsha256H\x00R\x13aes256GcmHkdfSha256\x1ai\n\x13Aes256gcmHkdfsha256\x12\x1b\n\thkdf_salt\x18\x01 \x01(\x0cR\x08hkdfSalt\x12\x1b\n\tgcm_nonce\x18\x02 \x01(\x0cR\x08gcmNonce\x12\x18\n\x07payload\x18\x03 \x01(\x0cR\x07payloadB\x07\n\x05union\"\xf5\x01\n\x15SignedEciesCiphertext\x12\x1f\n\x0becies_bytes\x18\x01 \x01(\x0cR\neciesBytes\x12>\n\tsignature\x18\x02 \x01(\x0b2 .xmtp.message_contents.SignatureR\tsignature\x1a{\n\x05Ecies\x120\n\x14ephemeral_public_key\x18\x01 \x01(\x0cR\x12ephemeralPublicKey\x12\x0e\n\x02iv\x18\x02 \x01(\x0cR\x02iv\x12\x10\n\x03mac\x18\x03 \x01(\x0cR\x03mac\x12\x1e\n\nciphertext\x18\x04 \x01(\x0cR\nciphertextBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\x8b\x0c\n\x06\x12\x04\x01\x00,\x01\nD\n\x01\x0c\x12\x03\x01\x00\x12\x1a: Ciphertext is a generic structure for encrypted payload.\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00*\n\x08\n\x01\x08\x12\x03\x07\x00C\n\t\n\x02\x08\x0b\x12\x03\x07\x00C\n\x08\n\x01\x08\x12\x03\x08\x008\n\t\n\x02\x08\x01\x12\x03\x08\x008\n\xe6\x01\n\x02\x04\x00\x12\x04\x0e\x00\x1c\x01\x1a\xd9\x01 Ciphertext represents encrypted payload.\n It is definited as a union to support cryptographic algorithm agility.\n The payload is accompanied by the cryptographic parameters\n required by the chosen encryption scheme.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0e\x08\x12\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x0f\x02\x11\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x0f\x08\r\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x10\x043\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x10\x04\x17\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x10\x18.\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x1012\nl\n\x04\x04\x00\x03\x00\x12\x04\x17\x02\x1b\x03\x1a> Encryption: AES256-GCM\n Key derivation function: HKDF-SHA256\n2\x1e Supported Encryption Schemes\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x17\n\x1d\n\x19\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x18\x04\x18\"\n 32 bytes\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x18\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x18\n\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x18\x16\x17\n\x19\n\x06\x04\x00\x03\x00\x02\x01\x12\x03\x19\x04\x18\"\n 12 bytes\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x05\x12\x03\x19\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03\x19\n\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03\x19\x16\x17\n\"\n\x06\x04\x00\x03\x00\x02\x02\x12\x03\x1a\x04\x16\"\x13 encrypted payload\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x05\x12\x03\x1a\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x01\x12\x03\x1a\n\x11\n\x0e\n\x07\x04\x00\x03\x00\x02\x02\x03\x12\x03\x1a\x14\x15\nY\n\x02\x04\x01\x12\x04\x1f\x00,\x01\x1aM SignedEciesCiphertext represents an ECIES encrypted payload and a signature\n\n\n\n\x03\x04\x01\x01\x12\x03\x1f\x08\x1d\nD\n\x04\x04\x01\x03\x00\x12\x04!\x02&\x03\x1a6 Ecies is ciphertext encrypted using ECIES with a MAC\n\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x03!\n\x0f\n\x19\n\x06\x04\x01\x03\x00\x02\x00\x12\x03\"\x04#\"\n 65 bytes\n\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x05\x12\x03\"\x04\t\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x03\"\n\x1e\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x03\"!\"\n\x19\n\x06\x04\x01\x03\x00\x02\x01\x12\x03#\x04\x11\"\n 16 bytes\n\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x05\x12\x03#\x04\t\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x03#\n\x0c\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x03#\x0f\x10\n\x19\n\x06\x04\x01\x03\x00\x02\x02\x12\x03$\x04\x12\"\n 32 bytes\n\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x05\x12\x03$\x04\t\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x01\x12\x03$\n\r\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x03\x12\x03$\x10\x11\n8\n\x06\x04\x01\x03\x00\x02\x03\x12\x03%\x04\x19\") encrypted payload with block size of 16\n\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x05\x12\x03%\x04\t\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x01\x12\x03%\n\x14\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x03\x12\x03%\x17\x18\n\'\n\x04\x04\x01\x02\x00\x12\x03)\x02\x18\x1a\x1a serialized Ecies message\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03)\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03)\x08\x13\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03)\x16\x17\nK\n\x04\x04\x01\x02\x01\x12\x03+\x020\x1a> signature of sha256(ecies_bytes) signed with the IdentityKey\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03+\x02!\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03+\"+\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03+./b\x06proto3\n\xbf$\n!message_contents/invitation.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\x1a!message_contents/public_key.proto\"\xbd\x04\n\x0cInvitationV1\x12\x14\n\x05topic\x18\x01 \x01(\tR\x05topic\x12E\n\x07context\x18\x02 \x01(\x0b2+.xmtp.message_contents.InvitationV1.ContextR\x07context\x12n\n\x16aes256_gcm_hkdf_sha256\x18\x03 \x01(\x0b27.xmtp.message_contents.InvitationV1.Aes256gcmHkdfsha256H\x00R\x13aes256GcmHkdfSha256\x12O\n\rconsent_proof\x18\x04 \x01(\x0b2*.xmtp.message_contents.ConsentProofPayloadR\x0cconsentProof\x1a8\n\x13Aes256gcmHkdfsha256\x12!\n\x0ckey_material\x18\x01 \x01(\x0cR\x0bkeyMaterial\x1a\xc6\x01\n\x07Context\x12\'\n\x0fconversation_id\x18\x01 \x01(\tR\x0econversationId\x12U\n\x08metadata\x18\x02 \x03(\x0b29.xmtp.message_contents.InvitationV1.Context.MetadataEntryR\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x0c\n\nencryption\"\xcb\x01\n\x18SealedInvitationHeaderV1\x12D\n\x06sender\x18\x01 \x01(\x0b2,.xmtp.message_contents.SignedPublicKeyBundleR\x06sender\x12J\n\trecipient\x18\x02 \x01(\x0b2,.xmtp.message_contents.SignedPublicKeyBundleR\trecipient\x12\x1d\n\ncreated_ns\x18\x03 \x01(\x04R\tcreatedNs\"z\n\x12SealedInvitationV1\x12!\n\x0cheader_bytes\x18\x01 \x01(\x0cR\x0bheaderBytes\x12A\n\nciphertext\x18\x02 \x01(\x0b2!.xmtp.message_contents.CiphertextR\nciphertext\"`\n\x10SealedInvitation\x12;\n\x02v1\x18\x01 \x01(\x0b2).xmtp.message_contents.SealedInvitationV1H\x00R\x02v1B\t\n\x07versionJ\x04\x08\x02\x10\x03\"\xad\x01\n\x13ConsentProofPayload\x12\x1c\n\tsignature\x18\x01 \x01(\tR\tsignature\x12\x1c\n\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12Z\n\x0fpayload_version\x18\x03 \x01(\x0e21.xmtp.message_contents.ConsentProofPayloadVersionR\x0epayloadVersion*p\n\x1aConsentProofPayloadVersion\x12-\n)CONSENT_PROOF_PAYLOAD_VERSION_UNSPECIFIED\x10\x00\x12#\n\x1fCONSENT_PROOF_PAYLOAD_VERSION_1\x10\x01BO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xd5\x18\n\x06\x12\x04\x03\x00[\x01\n\xd4\x01\n\x01\x0c\x12\x03\x03\x00\x12\x1a\xc9\x01 Invitation is used by an initiator to invite participants\n into a new conversation. Invitation carries the chosen topic name\n and encryption scheme and key material to be used for message encryption.\n\n\x08\n\x01\x02\x12\x03\x05\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x07\x00+\n\t\n\x02\x03\x01\x12\x03\x08\x00+\n\x08\n\x01\x08\x12\x03\n\x00C\n\t\n\x02\x08\x0b\x12\x03\n\x00C\n\x08\n\x01\x08\x12\x03\x0b\x008\n\t\n\x02\x08\x01\x12\x03\x0b\x008\n$\n\x02\x04\x00\x12\x04\x0e\x00-\x01\x1a\x18 Unsealed invitation V1\n\n\n\n\x03\x04\x00\x01\x12\x03\x0e\x08\x14\nD\n\x04\x04\x00\x03\x00\x12\x04\x11\x02\x13\x03\x1a6 Supported encryption schemes\n AES256-GCM-HKDF-SHA256\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x11\n\x1d\n;\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x12\x04\x1b\", randomly generated key material (32 bytes)\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x12\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x12\n\x16\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x12\x19\x1a\n \n\x04\x04\x00\x03\x01\x12\x04\x16\x02\x1c\x03\x1a\x12 The context type\n\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03\x16\n\x11\n:\n\x06\x04\x00\x03\x01\x02\x00\x12\x03\x18\x04\x1f\x1a+ Expected to be a URI (ie xmtp.org/convo1)\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x03\x18\x04\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03\x18\x0b\x1a\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03\x18\x1d\x1e\n\x86\x01\n\x06\x04\x00\x03\x01\x02\x01\x12\x03\x1b\x04%\x1aw Key value map of additional metadata that would be exposed to\n application developers and could be used for filtering\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x06\x12\x03\x1b\x04\x17\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x03\x1b\x18 \n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x03\x1b#$\n\x92\x01\n\x04\x04\x00\x02\x00\x12\x03 \x02\x13\x1a\x84\x01 topic name chosen for this conversation.\n It MUST be randomly generated bytes (length >= 32),\n then base64 encoded without padding\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03 \x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03 \t\x0e\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03 \x11\x12\n1\n\x04\x04\x00\x02\x01\x12\x03#\x02\x16\x1a$ A context object defining metadata\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03#\x02\t\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03#\n\x11\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03#\x14\x15\nI\n\x04\x04\x00\x08\x00\x12\x04&\x02)\x03\x1a; message encryption scheme and keys for this conversation.\n\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03&\x08\x12\nR\n\x04\x04\x00\x02\x02\x12\x03(\x043\x1aE Specify the encryption method to process the key material properly.\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03(\x04\x17\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03(\x18.\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03(12\n\'\n\x04\x04\x00\x02\x03\x12\x03,\x02(\x1a\x1a The user\'s consent proof\n\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03,\x02\x15\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03,\x16#\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03,&\'\n\x83\x02\n\x02\x04\x01\x12\x043\x007\x01\x1a\xf6\x01 Sealed Invitation V1 Header\n Header carries information that is unencrypted, thus readable by the network\n it is however authenticated as associated data with the AEAD scheme used\n to encrypt the invitation body, thus providing tamper evidence.\n\n\n\n\x03\x04\x01\x01\x12\x033\x08 \n\x0b\n\x04\x04\x01\x02\x00\x12\x034\x02#\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x034\x02\x17\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x034\x18\x1e\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x034!\"\n\x0b\n\x04\x04\x01\x02\x01\x12\x035\x02&\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x035\x02\x17\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x035\x18!\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x035$%\n\x0b\n\x04\x04\x01\x02\x02\x12\x036\x02\x18\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x036\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x036\t\x13\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x036\x16\x17\n\xe4\x01\n\x02\x04\x02\x12\x04=\x00B\x01\x1a\xd7\x01 Sealed Invitation V1\n Invitation encrypted with key material derived from the sender\'s and\n recipient\'s public key bundles using simplified X3DH where\n the sender\'s ephemeral key is replaced with sender\'s pre-key.\n\n\n\n\x03\x04\x02\x01\x12\x03=\x08\x1a\nV\n\x04\x04\x02\x02\x00\x12\x03?\x02\x19\x1aI encoded SealedInvitationHeaderV1 used as associated data for Ciphertext\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03?\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03?\x08\x14\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03?\x17\x18\nF\n\x04\x04\x02\x02\x01\x12\x03A\x02\x1c\x1a9 Ciphertext.payload MUST contain encrypted InvitationV1.\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03A\x02\x0c\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03A\r\x17\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03A\x1a\x1b\n)\n\x02\x04\x03\x12\x04E\x00J\x01\x1a\x1d Versioned Sealed Invitation\n\n\n\n\x03\x04\x03\x01\x12\x03E\x08\x18\n\n\n\x03\x04\x03\t\x12\x03F\x02\r\n\x0b\n\x04\x04\x03\t\x00\x12\x03F\x0b\x0c\n\x0c\n\x05\x04\x03\t\x00\x01\x12\x03F\x0b\x0c\n\x0c\n\x05\x04\x03\t\x00\x02\x12\x03F\x0b\x0c\n\x0c\n\x04\x04\x03\x08\x00\x12\x04G\x02I\x03\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x03G\x08\x0f\n\x0b\n\x04\x04\x03\x02\x00\x12\x03H\x04\x1e\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03H\x04\x16\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03H\x17\x19\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03H\x1c\x1d\n.\n\x02\x05\x00\x12\x04M\x00P\x01\x1a\" Version of consent proof payload\n\n\n\n\x03\x05\x00\x01\x12\x03M\x05\x1f\n\x0b\n\x04\x05\x00\x02\x00\x12\x03N\x020\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03N\x02+\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03N./\n\x0b\n\x04\x05\x00\x02\x01\x12\x03O\x02&\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03O\x02!\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03O$%\n\x96\x01\n\x02\x04\x04\x12\x04T\x00[\x01\x1a\x89\x01 Payload for user\'s consent proof to be set in the invitation\n Signifying the conversation should be preapproved for the user on receipt\n\n\n\n\x03\x04\x04\x01\x12\x03T\x08\x1b\n1\n\x04\x04\x04\x02\x00\x12\x03V\x02\x17\x1a$ the user\'s signature in hex format\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03V\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03V\t\x12\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03V\x15\x16\n4\n\x04\x04\x04\x02\x01\x12\x03X\x02\x17\x1a\' approximate time when the user signed\n\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03X\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03X\t\x12\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03X\x15\x16\n%\n\x04\x04\x04\x02\x02\x12\x03Z\x021\x1a\x18 version of the payload\n\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03Z\x02\x1c\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03Z\x1d,\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03Z/0b\x06proto3\n\xc4\x07\n-message_contents/conversation_reference.proto\x12\x15xmtp.message_contents\x1a!message_contents/invitation.proto\"\x96\x02\n\x15ConversationReference\x12\x14\n\x05topic\x18\x01 \x01(\tR\x05topic\x12!\n\x0cpeer_address\x18\x02 \x01(\tR\x0bpeerAddress\x12\x1d\n\ncreated_ns\x18\x03 \x01(\x04R\tcreatedNs\x12E\n\x07context\x18\x04 \x01(\x0b2+.xmtp.message_contents.InvitationV1.ContextR\x07context\x12^\n\x15consent_proof_payload\x18\x05 \x01(\x0b2*.xmtp.message_contents.ConsentProofPayloadR\x13consentProofPayloadBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xe6\x03\n\x06\x12\x04\x01\x00\x11\x01\n+\n\x01\x0c\x12\x03\x01\x00\x12\x1a! Holds the ConversationReference\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00+\n\x08\n\x01\x08\x12\x03\x07\x00C\n\t\n\x02\x08\x0b\x12\x03\x07\x00C\n\x08\n\x01\x08\x12\x03\x08\x008\n\t\n\x02\x08\x01\x12\x03\x08\x008\nQ\n\x02\x04\x00\x12\x04\x0b\x00\x11\x01\x1aE A light pointer for a conversation that contains no decryption keys\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x1d\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0c\x02\x13\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0c\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\t\x0e\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c\x11\x12\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\r\x02\x1a\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\r\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\t\x15\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r\x18\x19\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x0e\x02\x18\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0e\t\x13\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0e\x16\x17\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x0f\x029\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x0f\x02,\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x0f-4\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x0f78\n\x0b\n\x04\x04\x00\x02\x04\x12\x03\x10\x02F\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x10\x02+\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x10,A\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x10DEb\x06proto3\n\xa3 \n\"message_contents/private_key.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\x1a!message_contents/public_key.proto\"\xf7\x01\n\x10SignedPrivateKey\x12\x1d\n\ncreated_ns\x18\x01 \x01(\x04R\tcreatedNs\x12Q\n\tsecp256k1\x18\x02 \x01(\x0b21.xmtp.message_contents.SignedPrivateKey.Secp256k1H\x00R\tsecp256k1\x12E\n\npublic_key\x18\x03 \x01(\x0b2&.xmtp.message_contents.SignedPublicKeyR\tpublicKey\x1a!\n\tSecp256k1\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytesB\x07\n\x05union\"\xa4\x01\n\x12PrivateKeyBundleV2\x12J\n\x0cidentity_key\x18\x01 \x01(\x0b2\'.xmtp.message_contents.SignedPrivateKeyR\x0bidentityKey\x12B\n\x08pre_keys\x18\x02 \x03(\x0b2\'.xmtp.message_contents.SignedPrivateKeyR\x07preKeys\"\xe4\x01\n\nPrivateKey\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12K\n\tsecp256k1\x18\x02 \x01(\x0b2+.xmtp.message_contents.PrivateKey.Secp256k1H\x00R\tsecp256k1\x12?\n\npublic_key\x18\x03 \x01(\x0b2 .xmtp.message_contents.PublicKeyR\tpublicKey\x1a!\n\tSecp256k1\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytesB\x07\n\x05union\"\x98\x01\n\x12PrivateKeyBundleV1\x12D\n\x0cidentity_key\x18\x01 \x01(\x0b2!.xmtp.message_contents.PrivateKeyR\x0bidentityKey\x12<\n\x08pre_keys\x18\x02 \x03(\x0b2!.xmtp.message_contents.PrivateKeyR\x07preKeys\"\x9d\x01\n\x10PrivateKeyBundle\x12;\n\x02v1\x18\x01 \x01(\x0b2).xmtp.message_contents.PrivateKeyBundleV1H\x00R\x02v1\x12;\n\x02v2\x18\x02 \x01(\x0b2).xmtp.message_contents.PrivateKeyBundleV2H\x00R\x02v2B\t\n\x07versionJ\x04\x08\x03\x10\x04\"\x86\x01\n\x1bEncryptedPrivateKeyBundleV1\x12$\n\x0ewallet_pre_key\x18\x01 \x01(\x0cR\x0cwalletPreKey\x12A\n\nciphertext\x18\x02 \x01(\x0b2!.xmtp.message_contents.CiphertextR\nciphertext\"l\n\x19EncryptedPrivateKeyBundle\x12D\n\x02v1\x18\x01 \x01(\x0b22.xmtp.message_contents.EncryptedPrivateKeyBundleV1H\x00R\x02v1B\t\n\x07versionBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\x8c\x15\n\x06\x12\x04\x04\x00]\x01\n\x99\x01\n\x01\x0c\x12\x03\x04\x00\x12\x1a\x8e\x01 Private Key Storage\n\n Following definitions are not used in the protocol, instead\n they provide a way for encoding private keys for storage.\n\n\x08\n\x01\x02\x12\x03\x06\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x08\x00+\n\t\n\x02\x03\x01\x12\x03\t\x00+\n\x08\n\x01\x08\x12\x03\x0b\x00C\n\t\n\x02\x08\x0b\x12\x03\x0b\x00C\n\x08\n\x01\x08\x12\x03\x0c\x008\n\t\n\x02\x08\x01\x12\x03\x0c\x008\nC\n\x02\x04\x00\x12\x04\x0f\x00\x1f\x01\x1a7 PrivateKey generalized to support different key types\n\n\n\n\x03\x04\x00\x01\x12\x03\x0f\x08\x18\n\'\n\x04\x04\x00\x02\x00\x12\x03\x11\x02\x18\x1a\x1a time the key was created\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x11\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x11\t\x13\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x11\x16\x17\n\x1b\n\x04\x04\x00\x08\x00\x12\x04\x13\x02\x15\x03\x1a\r private key\n\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x13\x08\r\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x14\x04\x1c\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x14\x04\r\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x14\x0e\x17\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x14\x1a\x1b\n.\n\x04\x04\x00\x02\x02\x12\x03\x17\x02!\x1a! public key for this private key\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x17\x02\x11\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x17\x12\x1c\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x17\x1f \n4\n\x04\x04\x00\x03\x00\x12\x04\x1c\x02\x1e\x03\x1a\x0f EC: SECP256k1\n2\x15 Supported key types\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x1c\n\x13\n\'\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x1d\x04\x14\"\x18 D big-endian, 32 bytes\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x1d\x04\t\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x1d\n\x0f\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x1d\x12\x13\ne\n\x02\x04\x01\x12\x04#\x00\'\x01\x1aY PrivateKeyBundle wraps the identityKey and the preKeys,\n enforces usage of signed keys.\n\n\n\n\x03\x04\x01\x01\x12\x03#\x08\x1a\n\x0b\n\x04\x04\x01\x02\x00\x12\x03$\x02$\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03$\x02\x12\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03$\x13\x1f\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03$\"#\n8\n\x04\x04\x01\x02\x01\x12\x03&\x02)\x1a+ all the known pre-keys, newer keys first,\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03&\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03&\x0b\x1b\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03&\x1c$\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03&\'(\nK\n\x02\x04\x02\x12\x04*\x00:\x01\x1a? LEGACY: PrivateKey generalized to support different key types\n\n\n\n\x03\x04\x02\x01\x12\x03*\x08\x12\n\'\n\x04\x04\x02\x02\x00\x12\x03,\x02\x17\x1a\x1a time the key was created\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03,\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03,\t\x12\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03,\x15\x16\n\x1b\n\x04\x04\x02\x08\x00\x12\x04.\x020\x03\x1a\r private key\n\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03.\x08\r\n\x0b\n\x04\x04\x02\x02\x01\x12\x03/\x04\x1c\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03/\x04\r\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03/\x0e\x17\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03/\x1a\x1b\n.\n\x04\x04\x02\x02\x02\x12\x032\x02\x1b\x1a! public key for this private key\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x032\x02\x0b\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x032\x0c\x16\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x032\x19\x1a\n4\n\x04\x04\x02\x03\x00\x12\x047\x029\x03\x1a\x0f EC: SECP256k1\n2\x15 Supported key types\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x037\n\x13\n\'\n\x06\x04\x02\x03\x00\x02\x00\x12\x038\x04\x14\"\x18 D big-endian, 32 bytes\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x038\x04\t\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x038\n\x0f\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x038\x12\x13\nN\n\x02\x04\x03\x12\x04=\x00A\x01\x1aB LEGACY: PrivateKeyBundleV1 wraps the identityKey and the preKeys\n\n\n\n\x03\x04\x03\x01\x12\x03=\x08\x1a\n\x0b\n\x04\x04\x03\x02\x00\x12\x03>\x02\x1e\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03>\x02\x0c\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03>\r\x19\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03>\x1c\x1d\n8\n\x04\x04\x03\x02\x01\x12\x03@\x02#\x1a+ all the known pre-keys, newer keys first,\n\n\x0c\n\x05\x04\x03\x02\x01\x04\x12\x03@\x02\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03@\x0b\x15\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03@\x16\x1e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03@!\"\n(\n\x02\x04\x04\x12\x04D\x00J\x01\x1a\x1c Versioned PrivateKeyBundle\n\n\n\n\x03\x04\x04\x01\x12\x03D\x08\x18\n\n\n\x03\x04\x04\t\x12\x03E\x02\r\n\x0b\n\x04\x04\x04\t\x00\x12\x03E\x0b\x0c\n\x0c\n\x05\x04\x04\t\x00\x01\x12\x03E\x0b\x0c\n\x0c\n\x05\x04\x04\t\x00\x02\x12\x03E\x0b\x0c\n\x0c\n\x04\x04\x04\x08\x00\x12\x04F\x02I\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x03F\x08\x0f\n\x0b\n\x04\x04\x04\x02\x00\x12\x03G\x04\x1e\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03G\x04\x16\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03G\x17\x19\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03G\x1c\x1d\n\x0b\n\x04\x04\x04\x02\x01\x12\x03H\x04\x1e\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03H\x04\x16\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03H\x17\x19\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03H\x1c\x1d\n\xa1\x02\n\x02\x04\x05\x12\x04Q\x00V\x01\x1a\x94\x02 PrivateKeyBundle encrypted with key material generated by\n signing a randomly generated \"pre-key\" with the user\'s wallet,\n i.e. EIP-191 signature of a \"storage signature\" message with\n the pre-key embedded in it.\n (see xmtp-js::PrivateKeyBundle.toEncryptedBytes for details)\n\n\n\n\x03\x04\x05\x01\x12\x03Q\x08#\n5\n\x04\x04\x05\x02\x00\x12\x03S\x02\x1b\x1a\x1c randomly generated pre-key\n\"\n 32 bytes\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03S\x02\x07\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03S\x08\x16\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03S\x19\x1a\n6\n\x04\x04\x05\x02\x01\x12\x03U\x02\x1c\x1a) MUST contain encrypted PrivateKeyBundle\n\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03U\x02\x0c\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03U\r\x17\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03U\x1a\x1b\n2\n\x02\x04\x06\x12\x04Y\x00]\x01\x1a& Versioned encrypted PrivateKeyBundle\n\n\n\n\x03\x04\x06\x01\x12\x03Y\x08!\n\x0c\n\x04\x04\x06\x08\x00\x12\x04Z\x02\\\x03\n\x0c\n\x05\x04\x06\x08\x00\x01\x12\x03Z\x08\x0f\n\x0b\n\x04\x04\x06\x02\x00\x12\x03[\x04\'\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03[\x04\x1f\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03[ \"\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03[%&b\x06proto3\n\x84\x19\n*message_contents/private_preferences.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\"\x98\x07\n\x18PrivatePreferencesAction\x12c\n\rallow_address\x18\x01 \x01(\x0b2<.xmtp.message_contents.PrivatePreferencesAction.AllowAddressH\x00R\x0callowAddress\x12`\n\x0cdeny_address\x18\x02 \x01(\x0b2;.xmtp.message_contents.PrivatePreferencesAction.DenyAddressH\x00R\x0bdenyAddress\x12]\n\x0ballow_group\x18\x03 \x01(\x0b2:.xmtp.message_contents.PrivatePreferencesAction.AllowGroupH\x00R\nallowGroup\x12Z\n\ndeny_group\x18\x04 \x01(\x0b29.xmtp.message_contents.PrivatePreferencesAction.DenyGroupH\x00R\tdenyGroup\x12d\n\x0eallow_inbox_id\x18\x05 \x01(\x0b2<.xmtp.message_contents.PrivatePreferencesAction.AllowInboxIdH\x00R\x0callowInboxId\x12a\n\rdeny_inbox_id\x18\x06 \x01(\x0b2;.xmtp.message_contents.PrivatePreferencesAction.DenyInboxIdH\x00R\x0bdenyInboxId\x1a9\n\x0cAllowAddress\x12)\n\x10wallet_addresses\x18\x01 \x03(\tR\x0fwalletAddresses\x1a8\n\x0bDenyAddress\x12)\n\x10wallet_addresses\x18\x01 \x03(\tR\x0fwalletAddresses\x1a+\n\x0cAllowInboxId\x12\x1b\n\tinbox_ids\x18\x01 \x03(\tR\x08inboxIds\x1a*\n\x0bDenyInboxId\x12\x1b\n\tinbox_ids\x18\x01 \x03(\tR\x08inboxIds\x1a)\n\nAllowGroup\x12\x1b\n\tgroup_ids\x18\x01 \x03(\tR\x08groupIds\x1a(\n\tDenyGroup\x12\x1b\n\tgroup_ids\x18\x01 \x03(\tR\x08groupIdsB\x0e\n\x0cmessage_type\"[\n\x19PrivatePreferencesPayload\x123\n\x02v1\x18\x01 \x01(\x0b2!.xmtp.message_contents.CiphertextH\x00R\x02v1B\t\n\x07versionBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xca\x0f\n\x06\x12\x04\x04\x00C\x01\n\x99\x01\n\x01\x0c\x12\x03\x04\x00\x12\x1a\x8e\x01 Private Key Storage\n\n Following definitions are not used in the protocol, instead they provide a\n way for encoding private keys for storage.\n\n\x08\n\x01\x02\x12\x03\x06\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x08\x00+\n\x08\n\x01\x08\x12\x03\n\x00C\n\t\n\x02\x08\x0b\x12\x03\n\x00C\n\x08\n\x01\x08\x12\x03\x0b\x008\n\t\n\x02\x08\x01\x12\x03\x0b\x008\nb\n\x02\x04\x00\x12\x04\x0f\x00<\x01\x1aV PrivatePreferencesAction is a message used to update the client\'s preference\n store.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0f\x08 \n4\n\x04\x04\x00\x03\x00\x12\x04\x11\x02\x14\x03\x1a& Allow 1:1 direct message (DM) access\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x11\n\x16\nA\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x13\x04)\x1a2 Add the given wallet addresses to the allow list\n\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x04\x12\x03\x13\x04\x0c\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x05\x12\x03\x13\r\x13\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x13\x14$\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x13\'(\n;\n\x04\x04\x00\x03\x01\x12\x04\x17\x02\x1a\x03\x1a- Deny (block) 1:1 direct message (DM) access\n\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03\x17\n\x15\n@\n\x06\x04\x00\x03\x01\x02\x00\x12\x03\x19\x04)\x1a1 Add the given wallet addresses to the deny list\n\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x04\x12\x03\x19\x04\x0c\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x05\x12\x03\x19\r\x13\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03\x19\x14$\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03\x19\'(\n7\n\x04\x04\x00\x03\x02\x12\x04\x1d\x02 \x03\x1a) Allow V3 1:1 direct message (DM) access\n\n\x0c\n\x05\x04\x00\x03\x02\x01\x12\x03\x1d\n\x16\n9\n\x06\x04\x00\x03\x02\x02\x00\x12\x03\x1f\x04\"\x1a* Add the given inbox id to the allow list\n\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x04\x12\x03\x1f\x04\x0c\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x05\x12\x03\x1f\r\x13\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x01\x12\x03\x1f\x14\x1d\n\x0e\n\x07\x04\x00\x03\x02\x02\x00\x03\x12\x03\x1f !\n>\n\x04\x04\x00\x03\x03\x12\x04#\x02&\x03\x1a0 Deny (block) V3 1:1 direct message (DM) access\n\n\x0c\n\x05\x04\x00\x03\x03\x01\x12\x03#\n\x15\n8\n\x06\x04\x00\x03\x03\x02\x00\x12\x03%\x04\"\x1a) Add the given inbox id to the deny list\n\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x04\x12\x03%\x04\x0c\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x05\x12\x03%\r\x13\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x01\x12\x03%\x14\x1d\n\x0e\n\x07\x04\x00\x03\x03\x02\x00\x03\x12\x03% !\n\"\n\x04\x04\x00\x03\x04\x12\x04)\x02,\x03\x1a\x14 Allow Group access\n\n\x0c\n\x05\x04\x00\x03\x04\x01\x12\x03)\n\x14\n:\n\x06\x04\x00\x03\x04\x02\x00\x12\x03+\x04\"\x1a+ Add the given group_ids to the allow list\n\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x04\x12\x03+\x04\x0c\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x05\x12\x03+\r\x13\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x01\x12\x03+\x14\x1d\n\x0e\n\x07\x04\x00\x03\x04\x02\x00\x03\x12\x03+ !\n(\n\x04\x04\x00\x03\x05\x12\x04/\x022\x03\x1a\x1a Deny (deny) Group access\n\n\x0c\n\x05\x04\x00\x03\x05\x01\x12\x03/\n\x13\n9\n\x06\x04\x00\x03\x05\x02\x00\x12\x031\x04\"\x1a* Add the given group_ids to the deny list\n\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x04\x12\x031\x04\x0c\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x05\x12\x031\r\x13\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x01\x12\x031\x14\x1d\n\x0e\n\x07\x04\x00\x03\x05\x02\x00\x03\x12\x031 !\n\x0c\n\x04\x04\x00\x08\x00\x12\x044\x02;\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x034\x08\x14\n\x0b\n\x04\x04\x00\x02\x00\x12\x035\x04#\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x035\x04\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x035\x11\x1e\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x035!\"\n\x0b\n\x04\x04\x00\x02\x01\x12\x036\x04!\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x036\x04\x0f\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x036\x10\x1c\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x036\x1f \n\x0b\n\x04\x04\x00\x02\x02\x12\x037\x04\x1f\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x037\x04\x0e\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x037\x0f\x1a\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x037\x1d\x1e\n\x0b\n\x04\x04\x00\x02\x03\x12\x038\x04\x1d\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x038\x04\r\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x038\x0e\x18\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x038\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x04\x12\x039\x04$\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x039\x04\x10\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x039\x11\x1f\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x039\"#\n\x0b\n\x04\x04\x00\x02\x05\x12\x03:\x04\"\n\x0c\n\x05\x04\x00\x02\x05\x06\x12\x03:\x04\x0f\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03:\x10\x1d\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03: !\n1\n\x02\x04\x01\x12\x04?\x00C\x01\x1a% The payload that goes over the wire\n\n\n\n\x03\x04\x01\x01\x12\x03?\x08!\n\x0c\n\x04\x04\x01\x08\x00\x12\x04@\x02B\x03\n\x0c\n\x05\x04\x01\x08\x00\x01\x12\x03@\x08\x0f\n\x0b\n\x04\x04\x01\x02\x00\x12\x03A\x04\x16\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03A\x04\x0e\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03A\x0f\x11\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03A\x14\x15b\x06proto3\n\x8e\x7f\n\x1ekeystore_api/v1/keystore.proto\x12\x14xmtp.keystore_api.v1\x1a!message_contents/ciphertext.proto\x1a-message_contents/conversation_reference.proto\x1a!message_contents/invitation.proto\x1a\"message_contents/private_key.proto\x1a*message_contents/private_preferences.proto\x1a!message_contents/public_key.proto\"^\n\rKeystoreError\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message\x123\n\x04code\x18\x02 \x01(\x0e2\x1f.xmtp.keystore_api.v1.ErrorCodeR\x04code\"\xac\x02\n\x10DecryptV1Request\x12J\n\x08requests\x18\x01 \x03(\x0b2..xmtp.keystore_api.v1.DecryptV1Request.RequestR\x08requests\x1a\xcb\x01\n\x07Request\x12;\n\x07payload\x18\x01 \x01(\x0b2!.xmtp.message_contents.CiphertextR\x07payload\x12C\n\tpeer_keys\x18\x02 \x01(\x0b2&.xmtp.message_contents.PublicKeyBundleR\x08peerKeys\x12!\n\x0cheader_bytes\x18\x03 \x01(\x0cR\x0bheaderBytes\x12\x1b\n\tis_sender\x18\x04 \x01(\x08R\x08isSender\"\xb0\x02\n\x0fDecryptResponse\x12L\n\tresponses\x18\x01 \x03(\x0b2..xmtp.keystore_api.v1.DecryptResponse.ResponseR\tresponses\x1a\xce\x01\n\x08Response\x12P\n\x06result\x18\x01 \x01(\x0b26.xmtp.keystore_api.v1.DecryptResponse.Response.SuccessH\x00R\x06result\x12;\n\x05error\x18\x02 \x01(\x0b2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1a\'\n\x07Success\x12\x1c\n\tdecrypted\x18\x01 \x01(\x0cR\tdecryptedB\n\n\x08response\"\xef\x01\n\x10DecryptV2Request\x12J\n\x08requests\x18\x01 \x03(\x0b2..xmtp.keystore_api.v1.DecryptV2Request.RequestR\x08requests\x1a\x8e\x01\n\x07Request\x12;\n\x07payload\x18\x01 \x01(\x0b2!.xmtp.message_contents.CiphertextR\x07payload\x12!\n\x0cheader_bytes\x18\x02 \x01(\x0cR\x0bheaderBytes\x12#\n\rcontent_topic\x18\x03 \x01(\tR\x0ccontentTopic\"\xed\x01\n\x10EncryptV1Request\x12J\n\x08requests\x18\x01 \x03(\x0b2..xmtp.keystore_api.v1.EncryptV1Request.RequestR\x08requests\x1a\x8c\x01\n\x07Request\x12D\n\trecipient\x18\x01 \x01(\x0b2&.xmtp.message_contents.PublicKeyBundleR\trecipient\x12\x18\n\x07payload\x18\x02 \x01(\x0cR\x07payload\x12!\n\x0cheader_bytes\x18\x03 \x01(\x0cR\x0bheaderBytes\"\xf4\x02\n\x0fEncryptResponse\x12L\n\tresponses\x18\x01 \x03(\x0b2..xmtp.keystore_api.v1.EncryptResponse.ResponseR\tresponses\x1a\x92\x02\n\x08Response\x12P\n\x06result\x18\x01 \x01(\x0b26.xmtp.keystore_api.v1.EncryptResponse.Response.SuccessH\x00R\x06result\x12;\n\x05error\x18\x02 \x01(\x0b2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1ak\n\x07Success\x12?\n\tencrypted\x18\x01 \x01(\x0b2!.xmtp.message_contents.CiphertextR\tencrypted\x12\x1f\n\x0bsender_hmac\x18\x02 \x01(\x0cR\nsenderHmacB\n\n\x08response\"\xcb\x01\n\x10EncryptV2Request\x12J\n\x08requests\x18\x01 \x03(\x0b2..xmtp.keystore_api.v1.EncryptV2Request.RequestR\x08requests\x1ak\n\x07Request\x12\x18\n\x07payload\x18\x01 \x01(\x0cR\x07payload\x12!\n\x0cheader_bytes\x18\x02 \x01(\x0cR\x0bheaderBytes\x12#\n\rcontent_topic\x18\x03 \x01(\tR\x0ccontentTopic\"\x87\x01\n\x12SelfEncryptRequest\x12L\n\x08requests\x18\x01 \x03(\x0b20.xmtp.keystore_api.v1.SelfEncryptRequest.RequestR\x08requests\x1a#\n\x07Request\x12\x18\n\x07payload\x18\x01 \x01(\x0cR\x07payload\"\xbc\x02\n\x13SelfEncryptResponse\x12P\n\tresponses\x18\x01 \x03(\x0b22.xmtp.keystore_api.v1.SelfEncryptResponse.ResponseR\tresponses\x1a\xd2\x01\n\x08Response\x12T\n\x06result\x18\x01 \x01(\x0b2:.xmtp.keystore_api.v1.SelfEncryptResponse.Response.SuccessH\x00R\x06result\x12;\n\x05error\x18\x02 \x01(\x0b2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1a\'\n\x07Success\x12\x1c\n\tencrypted\x18\x01 \x01(\x0cR\tencryptedB\n\n\x08response\"\x87\x01\n\x12SelfDecryptRequest\x12L\n\x08requests\x18\x01 \x03(\x0b20.xmtp.keystore_api.v1.SelfDecryptRequest.RequestR\x08requests\x1a#\n\x07Request\x12\x18\n\x07payload\x18\x01 \x01(\x0cR\x07payload\"N\n,GetPrivatePreferencesTopicIdentifierResponse\x12\x1e\n\nidentifier\x18\x01 \x01(\tR\nidentifier\"\x98\x02\n\x13CreateInviteRequest\x12E\n\x07context\x18\x01 \x01(\x0b2+.xmtp.message_contents.InvitationV1.ContextR\x07context\x12J\n\trecipient\x18\x02 \x01(\x0b2,.xmtp.message_contents.SignedPublicKeyBundleR\trecipient\x12\x1d\n\ncreated_ns\x18\x03 \x01(\x04R\tcreatedNs\x12O\n\rconsent_proof\x18\x04 \x01(\x0b2*.xmtp.message_contents.ConsentProofPayloadR\x0cconsentProof\"\x82\x01\n\x14CreateInviteResponse\x12P\n\x0cconversation\x18\x01 \x01(\x0b2,.xmtp.message_contents.ConversationReferenceR\x0cconversation\x12\x18\n\x07payload\x18\x02 \x01(\x0cR\x07payload\"\xcf\x01\n\x12SaveInvitesRequest\x12L\n\x08requests\x18\x01 \x03(\x0b20.xmtp.keystore_api.v1.SaveInvitesRequest.RequestR\x08requests\x1ak\n\x07Request\x12#\n\rcontent_topic\x18\x01 \x01(\tR\x0ccontentTopic\x12!\n\x0ctimestamp_ns\x18\x02 \x01(\x04R\x0btimestampNs\x12\x18\n\x07payload\x18\x03 \x01(\x0cR\x07payload\"\xf0\x02\n\x13SaveInvitesResponse\x12P\n\tresponses\x18\x01 \x03(\x0b22.xmtp.keystore_api.v1.SaveInvitesResponse.ResponseR\tresponses\x1a\x86\x02\n\x08Response\x12T\n\x06result\x18\x01 \x01(\x0b2:.xmtp.keystore_api.v1.SaveInvitesResponse.Response.SuccessH\x00R\x06result\x12;\n\x05error\x18\x02 \x01(\x0b2#.xmtp.keystore_api.v1.KeystoreErrorH\x00R\x05error\x1a[\n\x07Success\x12P\n\x0cconversation\x18\x01 \x01(\x0b2,.xmtp.message_contents.ConversationReferenceR\x0cconversationB\n\n\x08response\"Q\n\x16CreateAuthTokenRequest\x12&\n\x0ctimestamp_ns\x18\x01 \x01(\x04H\x00R\x0btimestampNs\x88\x01\x01B\x0f\n\r_timestamp_ns\"p\n\x1aSaveV1ConversationsRequest\x12R\n\rconversations\x18\x01 \x03(\x0b2,.xmtp.message_contents.ConversationReferenceR\rconversations\"\x1d\n\x1bSaveV1ConversationsResponse\"n\n\x18GetConversationsResponse\x12R\n\rconversations\x18\x01 \x03(\x0b2,.xmtp.message_contents.ConversationReferenceR\rconversations\"A\n\x18GetKeystoreStatusRequest\x12%\n\x0ewallet_address\x18\x01 \x01(\tR\rwalletAddress\"\xea\x01\n\x19GetKeystoreStatusResponse\x12V\n\x06status\x18\x01 \x01(\x0e2>.xmtp.keystore_api.v1.GetKeystoreStatusResponse.KeystoreStatusR\x06status\"u\n\x0eKeystoreStatus\x12\x1f\n\x1bKEYSTORE_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1dKEYSTORE_STATUS_UNINITIALIZED\x10\x01\x12\x1f\n\x1bKEYSTORE_STATUS_INITIALIZED\x10\x02\"\\\n\x13InitKeystoreRequest\x12;\n\x02v1\x18\x01 \x01(\x0b2).xmtp.message_contents.PrivateKeyBundleV1H\x00R\x02v1B\x08\n\x06bundle\"Q\n\x14InitKeystoreResponse\x129\n\x05error\x18\x01 \x01(\x0b2#.xmtp.keystore_api.v1.KeystoreErrorR\x05error\"\x7f\n\x11SignDigestRequest\x12\x16\n\x06digest\x18\x01 \x01(\x0cR\x06digest\x12#\n\x0cidentity_key\x18\x02 \x01(\x08H\x00R\x0bidentityKey\x12#\n\x0cprekey_index\x18\x03 \x01(\rH\x00R\x0bprekeyIndexB\x08\n\x06signer\"P\n\x14GetRefreshJobRequest\x128\n\x08job_type\x18\x01 \x01(\x0e2\x1d.xmtp.keystore_api.v1.JobTypeR\x07jobType\"7\n\x15GetRefreshJobResponse\x12\x1e\n\x0blast_run_ns\x18\x01 \x01(\x03R\tlastRunNs\"o\n\x13SetRefeshJobRequest\x128\n\x08job_type\x18\x01 \x01(\x0e2\x1d.xmtp.keystore_api.v1.JobTypeR\x07jobType\x12\x1e\n\x0blast_run_ns\x18\x02 \x01(\x03R\tlastRunNs\"\x17\n\x15SetRefreshJobResponse\"\xc8\x02\n\x08TopicMap\x12B\n\x06topics\x18\x01 \x03(\x0b2*.xmtp.keystore_api.v1.TopicMap.TopicsEntryR\x06topics\x1a\x92\x01\n\tTopicData\x12\x1d\n\ncreated_ns\x18\x01 \x01(\x04R\tcreatedNs\x12!\n\x0cpeer_address\x18\x02 \x01(\tR\x0bpeerAddress\x12C\n\ninvitation\x18\x03 \x01(\x0b2#.xmtp.message_contents.InvitationV1R\ninvitation\x1ac\n\x0bTopicsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0b2(.xmtp.keystore_api.v1.TopicMap.TopicDataR\x05value:\x028\x01\"8\n\x1eGetConversationHmacKeysRequest\x12\x16\n\x06topics\x18\x01 \x03(\tR\x06topics\"\xd5\x03\n\x1fGetConversationHmacKeysResponse\x12`\n\thmac_keys\x18\x01 \x03(\x0b2C.xmtp.keystore_api.v1.GetConversationHmacKeysResponse.HmacKeysEntryR\x08hmacKeys\x1al\n\x0bHmacKeyData\x12B\n\x1ethirty_day_periods_since_epoch\x18\x01 \x01(\x05R\x1athirtyDayPeriodsSinceEpoch\x12\x19\n\x08hmac_key\x18\x02 \x01(\x0cR\x07hmacKey\x1ae\n\x08HmacKeys\x12Y\n\x06values\x18\x01 \x03(\x0b2A.xmtp.keystore_api.v1.GetConversationHmacKeysResponse.HmacKeyDataR\x06values\x1a{\n\rHmacKeysEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12T\n\x05value\x18\x02 \x01(\x0b2>.xmtp.keystore_api.v1.GetConversationHmacKeysResponse.HmacKeysR\x05value:\x028\x01\"\xe4\x01\n\x1bPrivatePreferencesActionMap\x12X\n\x07actions\x18\x01 \x03(\x0b2>.xmtp.keystore_api.v1.PrivatePreferencesActionMap.ActionsEntryR\x07actions\x1ak\n\x0cActionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12E\n\x05value\x18\x02 \x01(\x0b2/.xmtp.message_contents.PrivatePreferencesActionR\x05value:\x028\x01*h\n\tErrorCode\x12\x1a\n\x16ERROR_CODE_UNSPECIFIED\x10\x00\x12\x1c\n\x18ERROR_CODE_INVALID_INPUT\x10\x01\x12!\n\x1dERROR_CODE_NO_MATCHING_PREKEY\x10\x02*p\n\x07JobType\x12\x18\n\x14JOB_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13JOB_TYPE_REFRESH_V1\x10\x01\x12\x17\n\x13JOB_TYPE_REFRESH_V2\x10\x02\x12\x19\n\x15JOB_TYPE_REFRESH_PPPP\x10\x03BM\n\x1eorg.xmtp.proto.keystore.api.v1Z+github.com/xmtp/proto/v3/go/keystore_api/v1J\xbaM\n\x07\x12\x05\x01\x00\xc1\x02\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% Message content encoding structures\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1d\n\t\n\x02\x03\x00\x12\x03\x05\x00+\n\t\n\x02\x03\x01\x12\x03\x06\x007\n\t\n\x02\x03\x02\x12\x03\x07\x00+\n\t\n\x02\x03\x03\x12\x03\x08\x00,\n\t\n\x02\x03\x04\x12\x03\t\x004\n\t\n\x02\x03\x05\x12\x03\n\x00+\n\x08\n\x01\x08\x12\x03\x0c\x00B\n\t\n\x02\x08\x0b\x12\x03\x0c\x00B\n\x08\n\x01\x08\x12\x03\r\x007\n\t\n\x02\x08\x01\x12\x03\r\x007\nD\n\x02\x05\x00\x12\x04\x10\x00\x14\x01\x1a8 Application-specific error codes for the Keystore API.\n\n\n\n\x03\x05\x00\x01\x12\x03\x10\x05\x0e\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x11\x02\x1d\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x11\x02\x18\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x11\x1b\x1c\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x12\x02\x1f\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x12\x02\x1a\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x12\x1d\x1e\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x13\x02$\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x13\x02\x1f\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x13\"#\n<\n\x02\x04\x00\x12\x04\x17\x00\x1a\x01\x1a0 Wrapper class for errors from the Keystore API\n\n\n\n\x03\x04\x00\x01\x12\x03\x17\x08\x15\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x18\x02\x15\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x18\t\x10\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x18\x13\x14\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x19\x02\x15\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x19\x02\x0b\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x19\x0c\x10\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x19\x13\x14\nB\n\x02\x04\x01\x12\x04\x1d\x00\'\x01\x1a6 Decrypt a batch of messages using X3DH key agreement\n\n\n\n\x03\x04\x01\x01\x12\x03\x1d\x08\x18\n+\n\x04\x04\x01\x03\x00\x12\x04\x1f\x02$\x03\x1a\x1d A single decryption request\n\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x03\x1f\n\x11\n\r\n\x06\x04\x01\x03\x00\x02\x00\x12\x03 \x041\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x06\x12\x03 \x04$\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x03 %,\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x03 /0\n\r\n\x06\x04\x01\x03\x00\x02\x01\x12\x03!\x048\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x06\x12\x03!\x04)\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x03!*3\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x03!67\n\r\n\x06\x04\x01\x03\x00\x02\x02\x12\x03\"\x04\x1b\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x05\x12\x03\"\x04\t\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x01\x12\x03\"\n\x16\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x03\x12\x03\"\x19\x1a\n\r\n\x06\x04\x01\x03\x00\x02\x03\x12\x03#\x04\x17\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x05\x12\x03#\x04\x08\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x01\x12\x03#\t\x12\n\x0e\n\x07\x04\x01\x03\x00\x02\x03\x03\x12\x03#\x15\x16\n\x0b\n\x04\x04\x01\x02\x00\x12\x03&\x02 \n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03&\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03&\x0b\x12\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03&\x13\x1b\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03&\x1e\x1f\nB\n\x02\x04\x02\x12\x04*\x009\x01\x1a6 Response type for both V1 and V2 decryption requests\n\n\n\n\x03\x04\x02\x01\x12\x03*\x08\x17\n,\n\x04\x04\x02\x03\x00\x12\x04,\x026\x03\x1a\x1e A single decryption response\n\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03,\n\x12\n5\n\x06\x04\x02\x03\x00\x03\x00\x12\x04.\x040\x05\x1a% Wrapper object for success response\n\n\x0e\n\x07\x04\x02\x03\x00\x03\x00\x01\x12\x03.\x0c\x13\n\x0f\n\x08\x04\x02\x03\x00\x03\x00\x02\x00\x12\x03/\x06\x1a\n\x10\n\t\x04\x02\x03\x00\x03\x00\x02\x00\x05\x12\x03/\x06\x0b\n\x10\n\t\x04\x02\x03\x00\x03\x00\x02\x00\x01\x12\x03/\x0c\x15\n\x10\n\t\x04\x02\x03\x00\x03\x00\x02\x00\x03\x12\x03/\x18\x19\n\x0e\n\x06\x04\x02\x03\x00\x08\x00\x12\x042\x045\x05\n\x0e\n\x07\x04\x02\x03\x00\x08\x00\x01\x12\x032\n\x12\n\r\n\x06\x04\x02\x03\x00\x02\x00\x12\x033\x06\x19\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x06\x12\x033\x06\r\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x033\x0e\x14\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x033\x17\x18\n\r\n\x06\x04\x02\x03\x00\x02\x01\x12\x034\x06\x1e\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x06\x12\x034\x06\x13\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x034\x14\x19\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x034\x1c\x1d\n\x0b\n\x04\x04\x02\x02\x00\x12\x038\x02\"\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x038\x0b\x13\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x038\x14\x1d\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x038 !\nJ\n\x02\x04\x03\x12\x04<\x00E\x01\x1a> Decrypt a batch of messages using the appropriate topic keys\n\n\n\n\x03\x04\x03\x01\x12\x03<\x08\x18\n+\n\x04\x04\x03\x03\x00\x12\x04>\x02B\x03\x1a\x1d A single decryption request\n\n\x0c\n\x05\x04\x03\x03\x00\x01\x12\x03>\n\x11\n\r\n\x06\x04\x03\x03\x00\x02\x00\x12\x03?\x041\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x06\x12\x03?\x04$\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x03?%,\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x03?/0\n\r\n\x06\x04\x03\x03\x00\x02\x01\x12\x03@\x04\x1b\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x05\x12\x03@\x04\t\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x01\x12\x03@\n\x16\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x03\x12\x03@\x19\x1a\n\r\n\x06\x04\x03\x03\x00\x02\x02\x12\x03A\x04\x1d\n\x0e\n\x07\x04\x03\x03\x00\x02\x02\x05\x12\x03A\x04\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x02\x01\x12\x03A\x0b\x18\n\x0e\n\x07\x04\x03\x03\x00\x02\x02\x03\x12\x03A\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x00\x12\x03D\x02 \n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03D\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03D\x0b\x12\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03D\x13\x1b\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03D\x1e\x1f\nB\n\x02\x04\x04\x12\x04H\x00Q\x01\x1a6 Encrypt a batch of messages using X3DH key agreement\n\n\n\n\x03\x04\x04\x01\x12\x03H\x08\x18\n+\n\x04\x04\x04\x03\x00\x12\x04J\x02N\x03\x1a\x1d A single encryption request\n\n\x0c\n\x05\x04\x04\x03\x00\x01\x12\x03J\n\x11\n\r\n\x06\x04\x04\x03\x00\x02\x00\x12\x03K\x048\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x06\x12\x03K\x04)\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x01\x12\x03K*3\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x03\x12\x03K67\n\r\n\x06\x04\x04\x03\x00\x02\x01\x12\x03L\x04\x16\n\x0e\n\x07\x04\x04\x03\x00\x02\x01\x05\x12\x03L\x04\t\n\x0e\n\x07\x04\x04\x03\x00\x02\x01\x01\x12\x03L\n\x11\n\x0e\n\x07\x04\x04\x03\x00\x02\x01\x03\x12\x03L\x14\x15\n\r\n\x06\x04\x04\x03\x00\x02\x02\x12\x03M\x04\x1b\n\x0e\n\x07\x04\x04\x03\x00\x02\x02\x05\x12\x03M\x04\t\n\x0e\n\x07\x04\x04\x03\x00\x02\x02\x01\x12\x03M\n\x16\n\x0e\n\x07\x04\x04\x03\x00\x02\x02\x03\x12\x03M\x19\x1a\n\x0b\n\x04\x04\x04\x02\x00\x12\x03P\x02 \n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03P\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03P\x0b\x12\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03P\x13\x1b\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03P\x1e\x1f\nB\n\x02\x04\x05\x12\x04T\x00d\x01\x1a6 Response type for both V1 and V2 encryption requests\n\n\n\n\x03\x04\x05\x01\x12\x03T\x08\x17\n,\n\x04\x04\x05\x03\x00\x12\x04V\x02a\x03\x1a\x1e A single encryption response\n\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03V\n\x12\n5\n\x06\x04\x05\x03\x00\x03\x00\x12\x04X\x04[\x05\x1a% Wrapper object for success response\n\n\x0e\n\x07\x04\x05\x03\x00\x03\x00\x01\x12\x03X\x0c\x13\n\x0f\n\x08\x04\x05\x03\x00\x03\x00\x02\x00\x12\x03Y\x065\n\x10\n\t\x04\x05\x03\x00\x03\x00\x02\x00\x06\x12\x03Y\x06&\n\x10\n\t\x04\x05\x03\x00\x03\x00\x02\x00\x01\x12\x03Y\'0\n\x10\n\t\x04\x05\x03\x00\x03\x00\x02\x00\x03\x12\x03Y34\n\x0f\n\x08\x04\x05\x03\x00\x03\x00\x02\x01\x12\x03Z\x06\x1c\n\x10\n\t\x04\x05\x03\x00\x03\x00\x02\x01\x05\x12\x03Z\x06\x0b\n\x10\n\t\x04\x05\x03\x00\x03\x00\x02\x01\x01\x12\x03Z\x0c\x17\n\x10\n\t\x04\x05\x03\x00\x03\x00\x02\x01\x03\x12\x03Z\x1a\x1b\n\x0e\n\x06\x04\x05\x03\x00\x08\x00\x12\x04]\x04`\x05\n\x0e\n\x07\x04\x05\x03\x00\x08\x00\x01\x12\x03]\n\x12\n\r\n\x06\x04\x05\x03\x00\x02\x00\x12\x03^\x06\x19\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x06\x12\x03^\x06\r\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03^\x0e\x14\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03^\x17\x18\n\r\n\x06\x04\x05\x03\x00\x02\x01\x12\x03_\x06\x1e\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x06\x12\x03_\x06\x13\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x01\x12\x03_\x14\x19\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x03\x12\x03_\x1c\x1d\n\x0b\n\x04\x04\x05\x02\x00\x12\x03c\x02\"\n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03c\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03c\x0b\x13\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03c\x14\x1d\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03c !\nJ\n\x02\x04\x06\x12\x04g\x00p\x01\x1a> Encrypt a batch of messages using the appropriate topic keys\n\n\n\n\x03\x04\x06\x01\x12\x03g\x08\x18\n+\n\x04\x04\x06\x03\x00\x12\x04i\x02m\x03\x1a\x1d A single encryption request\n\n\x0c\n\x05\x04\x06\x03\x00\x01\x12\x03i\n\x11\n\r\n\x06\x04\x06\x03\x00\x02\x00\x12\x03j\x04\x16\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x05\x12\x03j\x04\t\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x03j\n\x11\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x03j\x14\x15\n\r\n\x06\x04\x06\x03\x00\x02\x01\x12\x03k\x04\x1b\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x03k\x04\t\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x03k\n\x16\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x03k\x19\x1a\n\r\n\x06\x04\x06\x03\x00\x02\x02\x12\x03l\x04\x1d\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x05\x12\x03l\x04\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x01\x12\x03l\x0b\x18\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x03\x12\x03l\x1b\x1c\n\x0b\n\x04\x04\x06\x02\x00\x12\x03o\x02 \n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x03o\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03o\x0b\x12\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03o\x13\x1b\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03o\x1e\x1f\n,\n\x02\x04\x07\x12\x04s\x00z\x01\x1a Encrypt a message for yourself\n\n\n\n\x03\x04\x07\x01\x12\x03s\x08\x1a\n\x1c\n\x04\x04\x07\x03\x00\x12\x04u\x02w\x03\x1a\x0e Request type\n\n\x0c\n\x05\x04\x07\x03\x00\x01\x12\x03u\n\x11\n\r\n\x06\x04\x07\x03\x00\x02\x00\x12\x03v\x04\x16\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x05\x12\x03v\x04\t\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x01\x12\x03v\n\x11\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x03\x12\x03v\x14\x15\n\x0b\n\x04\x04\x07\x02\x00\x12\x03y\x02 \n\x0c\n\x05\x04\x07\x02\x00\x04\x12\x03y\x02\n\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03y\x0b\x12\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03y\x13\x1b\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03y\x1e\x1f\n3\n\x02\x04\x08\x12\x05}\x00\x8c\x01\x01\x1a& Response type for SelfEncryptRequest\n\n\n\n\x03\x04\x08\x01\x12\x03}\x08\x1b\n\x1e\n\x04\x04\x08\x03\x00\x12\x05\x7f\x02\x89\x01\x03\x1a\x0f Response type\n\n\x0c\n\x05\x04\x08\x03\x00\x01\x12\x03\x7f\n\x12\n$\n\x06\x04\x08\x03\x00\x03\x00\x12\x06\x81\x01\x04\x83\x01\x05\x1a\x12 Success response\n\n\x0f\n\x07\x04\x08\x03\x00\x03\x00\x01\x12\x04\x81\x01\x0c\x13\n\x10\n\x08\x04\x08\x03\x00\x03\x00\x02\x00\x12\x04\x82\x01\x06\x1a\n\x11\n\t\x04\x08\x03\x00\x03\x00\x02\x00\x05\x12\x04\x82\x01\x06\x0b\n\x11\n\t\x04\x08\x03\x00\x03\x00\x02\x00\x01\x12\x04\x82\x01\x0c\x15\n\x11\n\t\x04\x08\x03\x00\x03\x00\x02\x00\x03\x12\x04\x82\x01\x18\x19\n\x10\n\x06\x04\x08\x03\x00\x08\x00\x12\x06\x85\x01\x04\x88\x01\x05\n\x0f\n\x07\x04\x08\x03\x00\x08\x00\x01\x12\x04\x85\x01\n\x12\n\x0e\n\x06\x04\x08\x03\x00\x02\x00\x12\x04\x86\x01\x06\x19\n\x0f\n\x07\x04\x08\x03\x00\x02\x00\x06\x12\x04\x86\x01\x06\r\n\x0f\n\x07\x04\x08\x03\x00\x02\x00\x01\x12\x04\x86\x01\x0e\x14\n\x0f\n\x07\x04\x08\x03\x00\x02\x00\x03\x12\x04\x86\x01\x17\x18\n\x0e\n\x06\x04\x08\x03\x00\x02\x01\x12\x04\x87\x01\x06\x1e\n\x0f\n\x07\x04\x08\x03\x00\x02\x01\x06\x12\x04\x87\x01\x06\x13\n\x0f\n\x07\x04\x08\x03\x00\x02\x01\x01\x12\x04\x87\x01\x14\x19\n\x0f\n\x07\x04\x08\x03\x00\x02\x01\x03\x12\x04\x87\x01\x1c\x1d\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\x8b\x01\x02\"\n\r\n\x05\x04\x08\x02\x00\x04\x12\x04\x8b\x01\x02\n\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\x8b\x01\x0b\x13\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x8b\x01\x14\x1d\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x8b\x01 !\n\"\n\x02\x04\t\x12\x06\x8f\x01\x00\x96\x01\x01\x1a\x14 SelfDecryptRequest\n\n\x0b\n\x03\x04\t\x01\x12\x04\x8f\x01\x08\x1a\n\x1e\n\x04\x04\t\x03\x00\x12\x06\x91\x01\x02\x93\x01\x03\x1a\x0e Request type\n\n\r\n\x05\x04\t\x03\x00\x01\x12\x04\x91\x01\n\x11\n\x0e\n\x06\x04\t\x03\x00\x02\x00\x12\x04\x92\x01\x04\x16\n\x0f\n\x07\x04\t\x03\x00\x02\x00\x05\x12\x04\x92\x01\x04\t\n\x0f\n\x07\x04\t\x03\x00\x02\x00\x01\x12\x04\x92\x01\n\x11\n\x0f\n\x07\x04\t\x03\x00\x02\x00\x03\x12\x04\x92\x01\x14\x15\n\x0c\n\x04\x04\t\x02\x00\x12\x04\x95\x01\x02 \n\r\n\x05\x04\t\x02\x00\x04\x12\x04\x95\x01\x02\n\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\x95\x01\x0b\x12\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x95\x01\x13\x1b\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x95\x01\x1e\x1f\n<\n\x02\x04\n\x12\x06\x99\x01\x00\x9b\x01\x01\x1a. Get the private preferences topic identifier\n\n\x0b\n\x03\x04\n\x01\x12\x04\x99\x01\x084\n\x0c\n\x04\x04\n\x02\x00\x12\x04\x9a\x01\x02\x18\n\r\n\x05\x04\n\x02\x00\x05\x12\x04\x9a\x01\x02\x08\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x9a\x01\t\x13\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x9a\x01\x16\x17\n]\n\x02\x04\x0b\x12\x06\x9e\x01\x00\xa3\x01\x01\x1aO Request to create an invite payload, and store the topic keys in the Keystore\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x9e\x01\x08\x1b\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\x9f\x01\x029\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\x9f\x01\x02,\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\x9f\x01-4\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\x9f\x0178\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\xa0\x01\x02<\n\r\n\x05\x04\x0b\x02\x01\x06\x12\x04\xa0\x01\x02-\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xa0\x01.7\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xa0\x01:;\n\x0c\n\x04\x04\x0b\x02\x02\x12\x04\xa1\x01\x02\x18\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xa1\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xa1\x01\t\x13\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xa1\x01\x16\x17\n\x0c\n\x04\x04\x0b\x02\x03\x12\x04\xa2\x01\x02>\n\r\n\x05\x04\x0b\x02\x03\x06\x12\x04\xa2\x01\x02+\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xa2\x01,9\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\xa2\x01<=\n1\n\x02\x04\x0c\x12\x06\xa6\x01\x00\xa9\x01\x01\x1a# Response to a CreateInviteRequest\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xa6\x01\x08\x1c\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\xa7\x01\x02?\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xa7\x01\x02-\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xa7\x01.:\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xa7\x01=>\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\xa8\x01\x02\x14\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\xa8\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa8\x01\x08\x0f\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xa8\x01\x12\x13\nJ\n\x02\x04\r\x12\x06\xac\x01\x00\xb5\x01\x01\x1a< Request to save a batch of invite messages to the Keystore\n\n\x0b\n\x03\x04\r\x01\x12\x04\xac\x01\x08\x1a\n.\n\x04\x04\r\x03\x00\x12\x06\xae\x01\x02\xb2\x01\x03\x1a\x1e Mirrors xmtp.envelope schema\n\n\r\n\x05\x04\r\x03\x00\x01\x12\x04\xae\x01\n\x11\n\x0e\n\x06\x04\r\x03\x00\x02\x00\x12\x04\xaf\x01\x04\x1d\n\x0f\n\x07\x04\r\x03\x00\x02\x00\x05\x12\x04\xaf\x01\x04\n\n\x0f\n\x07\x04\r\x03\x00\x02\x00\x01\x12\x04\xaf\x01\x0b\x18\n\x0f\n\x07\x04\r\x03\x00\x02\x00\x03\x12\x04\xaf\x01\x1b\x1c\n\x0e\n\x06\x04\r\x03\x00\x02\x01\x12\x04\xb0\x01\x04\x1c\n\x0f\n\x07\x04\r\x03\x00\x02\x01\x05\x12\x04\xb0\x01\x04\n\n\x0f\n\x07\x04\r\x03\x00\x02\x01\x01\x12\x04\xb0\x01\x0b\x17\n\x0f\n\x07\x04\r\x03\x00\x02\x01\x03\x12\x04\xb0\x01\x1a\x1b\n\x0e\n\x06\x04\r\x03\x00\x02\x02\x12\x04\xb1\x01\x04\x16\n\x0f\n\x07\x04\r\x03\x00\x02\x02\x05\x12\x04\xb1\x01\x04\t\n\x0f\n\x07\x04\r\x03\x00\x02\x02\x01\x12\x04\xb1\x01\n\x11\n\x0f\n\x07\x04\r\x03\x00\x02\x02\x03\x12\x04\xb1\x01\x14\x15\n\x0c\n\x04\x04\r\x02\x00\x12\x04\xb4\x01\x02 \n\r\n\x05\x04\r\x02\x00\x04\x12\x04\xb4\x01\x02\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xb4\x01\x0b\x12\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xb4\x01\x13\x1b\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xb4\x01\x1e\x1f\n0\n\x02\x04\x0e\x12\x06\xb8\x01\x00\xc7\x01\x01\x1a\" Response to a SaveInvitesRequest\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xb8\x01\x08\x1b\n#\n\x04\x04\x0e\x03\x00\x12\x06\xba\x01\x02\xc4\x01\x03\x1a\x13 A single response\n\n\r\n\x05\x04\x0e\x03\x00\x01\x12\x04\xba\x01\n\x12\n7\n\x06\x04\x0e\x03\x00\x03\x00\x12\x06\xbc\x01\x04\xbe\x01\x05\x1a% Wrapper object for success response\n\n\x0f\n\x07\x04\x0e\x03\x00\x03\x00\x01\x12\x04\xbc\x01\x0c\x13\n\x10\n\x08\x04\x0e\x03\x00\x03\x00\x02\x00\x12\x04\xbd\x01\x06C\n\x11\n\t\x04\x0e\x03\x00\x03\x00\x02\x00\x06\x12\x04\xbd\x01\x061\n\x11\n\t\x04\x0e\x03\x00\x03\x00\x02\x00\x01\x12\x04\xbd\x012>\n\x11\n\t\x04\x0e\x03\x00\x03\x00\x02\x00\x03\x12\x04\xbd\x01AB\n\x10\n\x06\x04\x0e\x03\x00\x08\x00\x12\x06\xc0\x01\x04\xc3\x01\x05\n\x0f\n\x07\x04\x0e\x03\x00\x08\x00\x01\x12\x04\xc0\x01\n\x12\n\x0e\n\x06\x04\x0e\x03\x00\x02\x00\x12\x04\xc1\x01\x06\x19\n\x0f\n\x07\x04\x0e\x03\x00\x02\x00\x06\x12\x04\xc1\x01\x06\r\n\x0f\n\x07\x04\x0e\x03\x00\x02\x00\x01\x12\x04\xc1\x01\x0e\x14\n\x0f\n\x07\x04\x0e\x03\x00\x02\x00\x03\x12\x04\xc1\x01\x17\x18\n\x0e\n\x06\x04\x0e\x03\x00\x02\x01\x12\x04\xc2\x01\x06\x1e\n\x0f\n\x07\x04\x0e\x03\x00\x02\x01\x06\x12\x04\xc2\x01\x06\x13\n\x0f\n\x07\x04\x0e\x03\x00\x02\x01\x01\x12\x04\xc2\x01\x14\x19\n\x0f\n\x07\x04\x0e\x03\x00\x02\x01\x03\x12\x04\xc2\x01\x1c\x1d\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\xc6\x01\x02\"\n\r\n\x05\x04\x0e\x02\x00\x04\x12\x04\xc6\x01\x02\n\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\xc6\x01\x0b\x13\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xc6\x01\x14\x1d\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xc6\x01 !\nW\n\x02\x04\x0f\x12\x06\xca\x01\x00\xcc\x01\x01\x1aI CreateAuthTokenRequest is used to create an auth token for the XMTP API\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\xca\x01\x08\x1e\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\xcb\x01\x02#\n\r\n\x05\x04\x0f\x02\x00\x04\x12\x04\xcb\x01\x02\n\n\r\n\x05\x04\x0f\x02\x00\x05\x12\x04\xcb\x01\x0b\x11\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xcb\x01\x12\x1e\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xcb\x01!\"\np\n\x02\x04\x10\x12\x06\xd0\x01\x00\xd2\x01\x01\x1ab SaveV1ConversationsRequest is used to save a batch of conversations to the\n built in persistence\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xd0\x01\x08\"\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xd1\x01\x02I\n\r\n\x05\x04\x10\x02\x00\x04\x12\x04\xd1\x01\x02\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xd1\x01\x0b6\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xd1\x017D\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xd1\x01GH\n?\n\x02\x04\x11\x12\x04\xd5\x01\x00&\x1a3 Placeholder response type for SaveV1Conversations\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xd5\x01\x08#\n/\n\x02\x04\x12\x12\x06\xd8\x01\x00\xda\x01\x01\x1a! Response for GetV2Conversations\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xd8\x01\x08 \n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xd9\x01\x02I\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xd9\x01\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xd9\x01\x0b6\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xd9\x017D\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xd9\x01GH\n\x93\x01\n\x02\x04\x13\x12\x06\xde\x01\x00\xe0\x01\x01\x1a\x84\x01 Used to check if the Keystore implementation has been setup for the given\n wallet address Only used for MM Snap Keystore currently\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xde\x01\x08 \n\x0c\n\x04\x04\x13\x02\x00\x12\x04\xdf\x01\x02\x1c\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xdf\x01\x02\x08\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xdf\x01\t\x17\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xdf\x01\x1a\x1b\n4\n\x02\x04\x14\x12\x06\xe3\x01\x00\xec\x01\x01\x1a& Response to GetKeystoreStatusRequest\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xe3\x01\x08!\nI\n\x04\x04\x14\x04\x00\x12\x06\xe5\x01\x02\xe9\x01\x03\x1a9 Status of the Keystore for the specified wallet address\n\n\r\n\x05\x04\x14\x04\x00\x01\x12\x04\xe5\x01\x07\x15\n\x0e\n\x06\x04\x14\x04\x00\x02\x00\x12\x04\xe6\x01\x04$\n\x0f\n\x07\x04\x14\x04\x00\x02\x00\x01\x12\x04\xe6\x01\x04\x1f\n\x0f\n\x07\x04\x14\x04\x00\x02\x00\x02\x12\x04\xe6\x01\"#\n\x0e\n\x06\x04\x14\x04\x00\x02\x01\x12\x04\xe7\x01\x04&\n\x0f\n\x07\x04\x14\x04\x00\x02\x01\x01\x12\x04\xe7\x01\x04!\n\x0f\n\x07\x04\x14\x04\x00\x02\x01\x02\x12\x04\xe7\x01$%\n\x0e\n\x06\x04\x14\x04\x00\x02\x02\x12\x04\xe8\x01\x04$\n\x0f\n\x07\x04\x14\x04\x00\x02\x02\x01\x12\x04\xe8\x01\x04\x1f\n\x0f\n\x07\x04\x14\x04\x00\x02\x02\x02\x12\x04\xe8\x01\"#\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xeb\x01\x02\x1c\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xeb\x01\x02\x10\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xeb\x01\x11\x17\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xeb\x01\x1a\x1b\nd\n\x02\x04\x15\x12\x06\xf0\x01\x00\xf4\x01\x01\x1aV Used to initialize the Keystore with a private key bundle retrieved from the\n client\n\n\x0b\n\x03\x04\x15\x01\x12\x04\xf0\x01\x08\x1b\n\x0e\n\x04\x04\x15\x08\x00\x12\x06\xf1\x01\x02\xf3\x01\x03\n\r\n\x05\x04\x15\x08\x00\x01\x12\x04\xf1\x01\x08\x0e\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\xf2\x01\x044\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\xf2\x01\x04,\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xf2\x01-/\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xf2\x0123\nB\n\x02\x04\x16\x12\x06\xf7\x01\x00\xf9\x01\x01\x1a4 Response to the request to initialize the Keystore\n\n\x0b\n\x03\x04\x16\x01\x12\x04\xf7\x01\x08\x1c\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\xf8\x01\x02\x1a\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xf8\x01\x02\x0f\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xf8\x01\x10\x15\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xf8\x01\x18\x19\nd\n\x02\x04\x17\x12\x06\xfd\x01\x00\x83\x02\x01\x1aV SignDigestRequest is used to sign a digest with either the identity key\n or a prekey\n\n\x0b\n\x03\x04\x17\x01\x12\x04\xfd\x01\x08\x19\n\x0c\n\x04\x04\x17\x02\x00\x12\x04\xfe\x01\x02\x13\n\r\n\x05\x04\x17\x02\x00\x05\x12\x04\xfe\x01\x02\x07\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\xfe\x01\x08\x0e\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\xfe\x01\x11\x12\n\x0e\n\x04\x04\x17\x08\x00\x12\x06\xff\x01\x02\x82\x02\x03\n\r\n\x05\x04\x17\x08\x00\x01\x12\x04\xff\x01\x08\x0e\n\x0c\n\x04\x04\x17\x02\x01\x12\x04\x80\x02\x04\x1a\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\x80\x02\x04\x08\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\x80\x02\t\x15\n\r\n\x05\x04\x17\x02\x01\x03\x12\x04\x80\x02\x18\x19\n\x0c\n\x04\x04\x17\x02\x02\x12\x04\x81\x02\x04\x1c\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\x81\x02\x04\n\n\r\n\x05\x04\x17\x02\x02\x01\x12\x04\x81\x02\x0b\x17\n\r\n\x05\x04\x17\x02\x02\x03\x12\x04\x81\x02\x1a\x1b\nX\n\x02\x05\x01\x12\x06\x86\x02\x00\x8b\x02\x01\x1aJ JobType is used to specify the type of job the caller would like info on\n\n\x0b\n\x03\x05\x01\x01\x12\x04\x86\x02\x05\x0c\n\x0c\n\x04\x05\x01\x02\x00\x12\x04\x87\x02\x02\x1b\n\r\n\x05\x05\x01\x02\x00\x01\x12\x04\x87\x02\x02\x16\n\r\n\x05\x05\x01\x02\x00\x02\x12\x04\x87\x02\x19\x1a\n\x0c\n\x04\x05\x01\x02\x01\x12\x04\x88\x02\x02\x1a\n\r\n\x05\x05\x01\x02\x01\x01\x12\x04\x88\x02\x02\x15\n\r\n\x05\x05\x01\x02\x01\x02\x12\x04\x88\x02\x18\x19\n\x0c\n\x04\x05\x01\x02\x02\x12\x04\x89\x02\x02\x1a\n\r\n\x05\x05\x01\x02\x02\x01\x12\x04\x89\x02\x02\x15\n\r\n\x05\x05\x01\x02\x02\x02\x12\x04\x89\x02\x18\x19\n\x0c\n\x04\x05\x01\x02\x03\x12\x04\x8a\x02\x02\x1c\n\r\n\x05\x05\x01\x02\x03\x01\x12\x04\x8a\x02\x02\x17\n\r\n\x05\x05\x01\x02\x03\x02\x12\x04\x8a\x02\x1a\x1b\nV\n\x02\x04\x18\x12\x06\x8e\x02\x00\x90\x02\x01\x1aH GetRefreshJobRequest is used to get the last run time of a refresh job\n\n\x0b\n\x03\x04\x18\x01\x12\x04\x8e\x02\x08\x1c\n\x0c\n\x04\x04\x18\x02\x00\x12\x04\x8f\x02\x02\x17\n\r\n\x05\x04\x18\x02\x00\x06\x12\x04\x8f\x02\x02\t\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\x8f\x02\n\x12\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\x8f\x02\x15\x16\nZ\n\x02\x04\x19\x12\x06\x93\x02\x00\x95\x02\x01\x1aL GetRefreshJobResponse is used to return the last run time of a refresh job\n\n\x0b\n\x03\x04\x19\x01\x12\x04\x93\x02\x08\x1d\n\x0c\n\x04\x04\x19\x02\x00\x12\x04\x94\x02\x02\x18\n\r\n\x05\x04\x19\x02\x00\x05\x12\x04\x94\x02\x02\x07\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\x94\x02\x08\x13\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\x94\x02\x16\x17\nV\n\x02\x04\x1a\x12\x06\x98\x02\x00\x9b\x02\x01\x1aH SetRefreshJobRequest is used to set the last run time of a refresh job\n\n\x0b\n\x03\x04\x1a\x01\x12\x04\x98\x02\x08\x1b\n\x0c\n\x04\x04\x1a\x02\x00\x12\x04\x99\x02\x02\x17\n\r\n\x05\x04\x1a\x02\x00\x06\x12\x04\x99\x02\x02\t\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\x99\x02\n\x12\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\x99\x02\x15\x16\n\x0c\n\x04\x04\x1a\x02\x01\x12\x04\x9a\x02\x02\x18\n\r\n\x05\x04\x1a\x02\x01\x05\x12\x04\x9a\x02\x02\x07\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\x9a\x02\x08\x13\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\x9a\x02\x16\x17\n=\n\x02\x04\x1b\x12\x04\x9e\x02\x00 \x1a1 SetRefreshJobResponse is an empty response type\n\n\x0b\n\x03\x04\x1b\x01\x12\x04\x9e\x02\x08\x1d\nB\n\x02\x04\x1c\x12\x06\xa1\x02\x00\xa9\x02\x01\x1a4 A mapping of topics to their decrypted invitations\n\n\x0b\n\x03\x04\x1c\x01\x12\x04\xa1\x02\x08\x10\nQ\n\x04\x04\x1c\x03\x00\x12\x06\xa3\x02\x02\xa7\x02\x03\x1aA TopicData wraps the invitation and the timestamp it was created\n\n\r\n\x05\x04\x1c\x03\x00\x01\x12\x04\xa3\x02\n\x13\n\x0e\n\x06\x04\x1c\x03\x00\x02\x00\x12\x04\xa4\x02\x04\x1a\n\x0f\n\x07\x04\x1c\x03\x00\x02\x00\x05\x12\x04\xa4\x02\x04\n\n\x0f\n\x07\x04\x1c\x03\x00\x02\x00\x01\x12\x04\xa4\x02\x0b\x15\n\x0f\n\x07\x04\x1c\x03\x00\x02\x00\x03\x12\x04\xa4\x02\x18\x19\n\x0e\n\x06\x04\x1c\x03\x00\x02\x01\x12\x04\xa5\x02\x04\x1c\n\x0f\n\x07\x04\x1c\x03\x00\x02\x01\x05\x12\x04\xa5\x02\x04\n\n\x0f\n\x07\x04\x1c\x03\x00\x02\x01\x01\x12\x04\xa5\x02\x0b\x17\n\x0f\n\x07\x04\x1c\x03\x00\x02\x01\x03\x12\x04\xa5\x02\x1a\x1b\n\x0e\n\x06\x04\x1c\x03\x00\x02\x02\x12\x04\xa6\x02\x046\n\x0f\n\x07\x04\x1c\x03\x00\x02\x02\x06\x12\x04\xa6\x02\x04&\n\x0f\n\x07\x04\x1c\x03\x00\x02\x02\x01\x12\x04\xa6\x02\'1\n\x0f\n\x07\x04\x1c\x03\x00\x02\x02\x03\x12\x04\xa6\x0245\n\x0c\n\x04\x04\x1c\x02\x00\x12\x04\xa8\x02\x02$\n\r\n\x05\x04\x1c\x02\x00\x06\x12\x04\xa8\x02\x02\x18\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\xa8\x02\x19\x1f\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\xa8\x02\"#\nO\n\x02\x04\x1d\x12\x06\xac\x02\x00\xae\x02\x01\x1aA Used to get a mapping of conversation topics to their HMAC keys\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\xac\x02\x08&\n\x0c\n\x04\x04\x1d\x02\x00\x12\x04\xad\x02\x02\x1d\n\r\n\x05\x04\x1d\x02\x00\x04\x12\x04\xad\x02\x02\n\n\r\n\x05\x04\x1d\x02\x00\x05\x12\x04\xad\x02\x0b\x11\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xad\x02\x12\x18\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xad\x02\x1b\x1c\n6\n\x02\x04\x1e\x12\x06\xb1\x02\x00\xbc\x02\x01\x1a( A mapping of topics to their HMAC keys\n\n\x0b\n\x03\x04\x1e\x01\x12\x04\xb1\x02\x08\'\n]\n\x04\x04\x1e\x03\x00\x12\x06\xb3\x02\x02\xb6\x02\x03\x1aM HmacKeyData wraps the HMAC key and the number of 30 day periods since epoch\n\n\r\n\x05\x04\x1e\x03\x00\x01\x12\x04\xb3\x02\n\x15\n\x0e\n\x06\x04\x1e\x03\x00\x02\x00\x12\x04\xb4\x02\x04-\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x05\x12\x04\xb4\x02\x04\t\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x01\x12\x04\xb4\x02\n(\n\x0f\n\x07\x04\x1e\x03\x00\x02\x00\x03\x12\x04\xb4\x02+,\n\x0e\n\x06\x04\x1e\x03\x00\x02\x01\x12\x04\xb5\x02\x04\x17\n\x0f\n\x07\x04\x1e\x03\x00\x02\x01\x05\x12\x04\xb5\x02\x04\t\n\x0f\n\x07\x04\x1e\x03\x00\x02\x01\x01\x12\x04\xb5\x02\n\x12\n\x0f\n\x07\x04\x1e\x03\x00\x02\x01\x03\x12\x04\xb5\x02\x15\x16\nB\n\x04\x04\x1e\x03\x01\x12\x06\xb8\x02\x02\xba\x02\x03\x1a2 HmacKeys represents multiple HmacKeyData objects\n\n\r\n\x05\x04\x1e\x03\x01\x01\x12\x04\xb8\x02\n\x12\n\x0e\n\x06\x04\x1e\x03\x01\x02\x00\x12\x04\xb9\x02\x04$\n\x0f\n\x07\x04\x1e\x03\x01\x02\x00\x04\x12\x04\xb9\x02\x04\x0c\n\x0f\n\x07\x04\x1e\x03\x01\x02\x00\x06\x12\x04\xb9\x02\r\x18\n\x0f\n\x07\x04\x1e\x03\x01\x02\x00\x01\x12\x04\xb9\x02\x19\x1f\n\x0f\n\x07\x04\x1e\x03\x01\x02\x00\x03\x12\x04\xb9\x02\"#\n\x0c\n\x04\x04\x1e\x02\x00\x12\x04\xbb\x02\x02&\n\r\n\x05\x04\x1e\x02\x00\x06\x12\x04\xbb\x02\x02\x17\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\xbb\x02\x18!\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\xbb\x02$%\nO\n\x02\x04\x1f\x12\x06\xbf\x02\x00\xc1\x02\x01\x1aA A mapping of message hashes to their private preferences action\n\n\x0b\n\x03\x04\x1f\x01\x12\x04\xbf\x02\x08#\n\x0c\n\x04\x04\x1f\x02\x00\x12\x04\xc0\x02\x02J\n\r\n\x05\x04\x1f\x02\x00\x06\x12\x04\xc0\x02\x02=\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\xc0\x02>E\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\xc0\x02HIb\x06proto3\n\xcf\x18\n\x1dmessage_contents/frames.proto\x12\x15xmtp.message_contents\x1a!message_contents/public_key.proto\x1a message_contents/signature.proto\"\xd6\x02\n\x0fFrameActionBody\x12\x1b\n\tframe_url\x18\x01 \x01(\tR\x08frameUrl\x12!\n\x0cbutton_index\x18\x02 \x01(\x05R\x0bbuttonIndex\x12 \n\ttimestamp\x18\x03 \x01(\x04B\x02\x18\x01R\ttimestamp\x12D\n\x1eopaque_conversation_identifier\x18\x04 \x01(\tR\x1copaqueConversationIdentifier\x12%\n\x0eunix_timestamp\x18\x05 \x01(\rR\runixTimestamp\x12\x1d\n\ninput_text\x18\x06 \x01(\tR\tinputText\x12\x14\n\x05state\x18\x07 \x01(\tR\x05state\x12\x18\n\x07address\x18\x08 \x01(\tR\x07address\x12%\n\x0etransaction_id\x18\t \x01(\tR\rtransactionId\"\xd8\x02\n\x0bFrameAction\x12B\n\tsignature\x18\x01 \x01(\x0b2 .xmtp.message_contents.SignatureB\x02\x18\x01R\tsignature\x12i\n\x18signed_public_key_bundle\x18\x02 \x01(\x0b2,.xmtp.message_contents.SignedPublicKeyBundleB\x02\x18\x01R\x15signedPublicKeyBundle\x12\x1f\n\x0baction_body\x18\x03 \x01(\x0cR\nactionBody\x125\n\x16installation_signature\x18\x04 \x01(\x0cR\x15installationSignature\x12\'\n\x0finstallation_id\x18\x05 \x01(\x0cR\x0einstallationId\x12\x19\n\x08inbox_id\x18\x06 \x01(\tR\x07inboxIdBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xc4\x11\n\x06\x12\x04\x01\x004\x01\nG\n\x01\x0c\x12\x03\x01\x00\x12\x1a= Signature is a generic structure for public key signatures.\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00+\n\t\n\x02\x03\x01\x12\x03\x06\x00*\n\x08\n\x01\x08\x12\x03\x08\x00C\n\t\n\x02\x08\x0b\x12\x03\x08\x00C\n\x08\n\x01\x08\x12\x03\t\x008\n\t\n\x02\x08\x01\x12\x03\t\x008\n\x83\x01\n\x02\x04\x00\x12\x04\r\x00\"\x01\x1aw The message that will be signed by the Client and returned inside the\n `action_body` field of the FrameAction message\n\n\n\n\x03\x04\x00\x01\x12\x03\r\x08\x17\nV\n\x04\x04\x00\x02\x00\x12\x03\x10\x02\x17\x1aI The URL of the frame that was clicked\n May be different from `post_url`\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x10\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x10\t\x12\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x10\x15\x16\n4\n\x04\x04\x00\x02\x01\x12\x03\x12\x02\x19\x1a\' The 1-indexed button that was clicked\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x12\x02\x07\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x12\x08\x14\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x12\x17\x18\nE\n\x04\x04\x00\x02\x02\x12\x03\x14\x02+\x1a8 Timestamp of the click in milliseconds since the epoch\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x14\t\x12\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x14\x15\x16\n\x0c\n\x05\x04\x00\x02\x02\x08\x12\x03\x14\x17*\n\r\n\x06\x04\x00\x02\x02\x08\x03\x12\x03\x14\x18)\n\x8a\x01\n\x04\x04\x00\x02\x03\x12\x03\x17\x02,\x1a} A unique identifier for the conversation, not tied to anything on the\n network. Will not match the topic or conversation_id\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x17\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x17\t\'\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x17*+\n\x1d\n\x04\x04\x00\x02\x04\x12\x03\x19\x02\x1c\x1a\x10 Unix timestamp\n\n\x0c\n\x05\x04\x00\x02\x04\x05\x12\x03\x19\x02\x08\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x19\t\x17\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x19\x1a\x1b\n1\n\x04\x04\x00\x02\x05\x12\x03\x1b\x02\x18\x1a$ Input text from a text input field\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\x1b\x02\x08\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x1b\t\x13\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x1b\x16\x17\ne\n\x04\x04\x00\x02\x06\x12\x03\x1d\x02\x13\x1aX A state serialized to a string (for example via JSON.stringify()). Maximum 4096 bytes.\n\n\x0c\n\x05\x04\x00\x02\x06\x05\x12\x03\x1d\x02\x08\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x1d\t\x0e\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x1d\x11\x12\n\"\n\x04\x04\x00\x02\x07\x12\x03\x1f\x02\x15\x1a\x15 A 0x wallet address\n\n\x0c\n\x05\x04\x00\x02\x07\x05\x12\x03\x1f\x02\x08\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x1f\t\x10\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x1f\x13\x14\n(\n\x04\x04\x00\x02\x08\x12\x03!\x02\x1c\x1a\x1b A hash from a transaction\n\n\x0c\n\x05\x04\x00\x02\x08\x05\x12\x03!\x02\x08\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03!\t\x17\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03!\x1a\x1b\ny\n\x02\x04\x01\x12\x04&\x004\x01\x1am The outer payload that will be sent as the `messageBytes` in the\n `trusted_data` part of the Frames message\n\n\n\n\x03\x04\x01\x01\x12\x03&\x08\x13\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\'\x02.\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\'\x02\x0b\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\'\x0c\x15\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\'\x18\x19\n\x0c\n\x05\x04\x01\x02\x00\x08\x12\x03\'\x1a-\n\r\n\x06\x04\x01\x02\x00\x08\x03\x12\x03\'\x1b,\n\x92\x01\n\x04\x04\x01\x02\x01\x12\x03*\x02I\x1a\x84\x01 The SignedPublicKeyBundle of the signer, used to link the XMTP signature\n with a blockchain account through a chain of signatures.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03*\x02\x17\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03*\x180\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03*34\n\x0c\n\x05\x04\x01\x02\x01\x08\x12\x03*5H\n\r\n\x06\x04\x01\x02\x01\x08\x03\x12\x03*6G\n\x92\x01\n\x04\x04\x01\x02\x02\x12\x03-\x02\x18\x1a\x84\x01 Serialized FrameActionBody message, so that the signature verification can\n happen on a byte-perfect representation of the message\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03-\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03-\x08\x13\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03-\x16\x17\n)\n\x04\x04\x01\x02\x03\x12\x03/\x02#\x1a\x1c The installation signature\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03/\x02\x07\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03/\x08\x1e\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03/!\"\n7\n\x04\x04\x01\x02\x04\x12\x031\x02\x1c\x1a* The public installation id used to sign.\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x031\x02\x07\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x031\x08\x17\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x031\x1a\x1b\n=\n\x04\x04\x01\x02\x05\x12\x033\x02\x16\x1a0 The inbox id of the installation used to sign.\n\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x033\t\x11\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x033\x14\x15b\x06proto3\n\xf8\x17\n\x1emessage_contents/content.proto\x12\x15xmtp.message_contents\x1a!message_contents/public_key.proto\x1a message_contents/signature.proto\"\x95\x01\n\rContentTypeId\x12!\n\x0cauthority_id\x18\x01 \x01(\tR\x0bauthorityId\x12\x17\n\x07type_id\x18\x02 \x01(\tR\x06typeId\x12#\n\rversion_major\x18\x03 \x01(\rR\x0cversionMajor\x12#\n\rversion_minor\x18\x04 \x01(\rR\x0cversionMinor\"\x83\x03\n\x0eEncodedContent\x128\n\x04type\x18\x01 \x01(\x0b2$.xmtp.message_contents.ContentTypeIdR\x04type\x12U\n\nparameters\x18\x02 \x03(\x0b25.xmtp.message_contents.EncodedContent.ParametersEntryR\nparameters\x12\x1f\n\x08fallback\x18\x03 \x01(\tH\x00R\x08fallback\x88\x01\x01\x12I\n\x0bcompression\x18\x05 \x01(\x0e2\".xmtp.message_contents.CompressionH\x01R\x0bcompression\x88\x01\x01\x12\x18\n\x07content\x18\x04 \x01(\x0cR\x07content\x1a=\n\x0fParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x0b\n\t_fallbackB\x0e\n\x0c_compression\"\xaf\x01\n\rSignedContent\x12\x18\n\x07payload\x18\x01 \x01(\x0cR\x07payload\x12D\n\x06sender\x18\x02 \x01(\x0b2,.xmtp.message_contents.SignedPublicKeyBundleR\x06sender\x12>\n\tsignature\x18\x03 \x01(\x0b2 .xmtp.message_contents.SignatureR\tsignature*<\n\x0bCompression\x12\x17\n\x13COMPRESSION_DEFLATE\x10\x00\x12\x14\n\x10COMPRESSION_GZIP\x10\x01BO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\x92\x10\n\x06\x12\x04\x01\x006\x01\n/\n\x01\x0c\x12\x03\x01\x00\x12\x1a% Message content encoding structures\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00+\n\t\n\x02\x03\x01\x12\x03\x06\x00*\n\x08\n\x01\x08\x12\x03\x08\x00C\n\t\n\x02\x08\x0b\x12\x03\x08\x00C\n\x08\n\x01\x08\x12\x03\t\x008\n\t\n\x02\x08\x01\x12\x03\t\x008\nX\n\x02\x04\x00\x12\x04\x0c\x00\x11\x01\x1aL ContentTypeId is used to identify the type of content stored in a Message.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x15\n4\n\x04\x04\x00\x02\x00\x12\x03\r\x02\x1a\"\' authority governing this content type\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\t\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\x18\x19\n\x1e\n\x04\x04\x00\x02\x01\x12\x03\x0e\x02\x15\"\x11 type identifier\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\t\x10\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e\x13\x14\n(\n\x04\x04\x00\x02\x02\x12\x03\x0f\x02\x1b\"\x1b major version of the type\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x0f\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0f\t\x16\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0f\x19\x1a\n(\n\x04\x04\x00\x02\x03\x12\x03\x10\x02\x1b\"\x1b minor version of the type\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x10\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x10\t\x16\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x10\x19\x1a\ng\n\x02\x05\x00\x12\x04\x15\x00\x18\x01\x1a[ Recognized compression algorithms\n protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH\n\n\n\n\x03\x05\x00\x01\x12\x03\x15\x05\x10\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x16\x02\x1a\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x16\x02\x15\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x16\x18\x19\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x17\x02\x17\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x17\x02\x12\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x17\x15\x16\n\xa3\x01\n\x02\x04\x01\x12\x04\x1d\x00+\x01\x1a\x96\x01 EncodedContent bundles the content with metadata identifying its type\n and parameters required for correct decoding and presentation of the content.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1d\x08\x16\ne\n\x04\x04\x01\x02\x00\x12\x03 \x02\x19\x1aX content type identifier used to match the payload with\n the correct decoding machinery\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03 \x02\x0f\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03 \x10\x14\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03 \x17\x18\nT\n\x04\x04\x01\x02\x01\x12\x03\"\x02%\x1aG optional encoding parameters required to correctly decode the content\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\"\x02\x15\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\"\x16 \n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\"#$\n\x84\x01\n\x04\x04\x01\x02\x02\x12\x03%\x02\x1f\x1aw optional fallback description of the content that can be used in case\n the client cannot decode or render the content\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03%\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03%\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03%\x12\x1a\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03%\x1d\x1e\nn\n\x04\x04\x01\x02\x03\x12\x03(\x02\'\x1aa optional compression; the value indicates algorithm used to\n compress the encoded content bytes\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03(\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03(\x0b\x16\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03(\x17\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03(%&\n%\n\x04\x04\x01\x02\x04\x12\x03*\x02\x14\x1a\x18 encoded content itself\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03*\x02\x07\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03*\x08\x0f\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03*\x12\x13\nC\n\x02\x04\x02\x12\x04.\x006\x01\x1a7 SignedContent attaches a signature to EncodedContent.\n\n\n\n\x03\x04\x02\x01\x12\x03.\x08\x15\n*\n\x04\x04\x02\x02\x00\x12\x030\x02\x14\x1a\x1d MUST contain EncodedContent\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x030\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x030\x08\x0f\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x030\x12\x13\n\x0b\n\x04\x04\x02\x02\x01\x12\x031\x02#\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x031\x02\x17\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x031\x18\x1e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x031!\"\n\x8a\x01\n\x04\x04\x02\x02\x02\x12\x035\x02\x1a\x1a} MUST be a signature of a concatenation of\n the message header bytes and the payload bytes,\n signed by the sender\'s pre-key.\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x035\x02\x0b\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x035\x0c\x15\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x035\x18\x19b\x06proto3\n\xed\n\n\x1emessage_contents/contact.proto\x12\x15xmtp.message_contents\x1a!message_contents/public_key.proto\"X\n\x0fContactBundleV1\x12E\n\nkey_bundle\x18\x01 \x01(\x0b2&.xmtp.message_contents.PublicKeyBundleR\tkeyBundle\"^\n\x0fContactBundleV2\x12K\n\nkey_bundle\x18\x01 \x01(\x0b2,.xmtp.message_contents.SignedPublicKeyBundleR\tkeyBundle\"\x8e\x01\n\rContactBundle\x128\n\x02v1\x18\x01 \x01(\x0b2&.xmtp.message_contents.ContactBundleV1H\x00R\x02v1\x128\n\x02v2\x18\x02 \x01(\x0b2&.xmtp.message_contents.ContactBundleV2H\x00R\x02v2B\t\n\x07versionBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xec\x06\n\x06\x12\x04\x05\x00\x1f\x01\n\xc9\x02\n\x01\x0c\x12\x03\x05\x00\x12\x1a\xbe\x02 Contact Bundles are used to advertise user\'s public keys on the network.\n They are published in well known topics so that other participants\n can find them when they wish to communicate with the user.\n The public keys are used to sign messages and to derive encryption keys\n for some meta-messages, e.g. invitations.\n\n\x08\n\x01\x02\x12\x03\x07\x00\x1e\n\t\n\x02\x03\x00\x12\x03\t\x00+\n\x08\n\x01\x08\x12\x03\x0b\x00C\n\t\n\x02\x08\x0b\x12\x03\x0b\x00C\n\x08\n\x01\x08\x12\x03\x0c\x008\n\t\n\x02\x08\x01\x12\x03\x0c\x008\nZ\n\x02\x04\x00\x12\x04\x10\x00\x12\x01\x1aN LEGACY: User key bundle V1 using PublicKeys.\n The PublicKeys MUST be signed.\n\n\n\n\x03\x04\x00\x01\x12\x03\x10\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x11\x02!\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x11\x02\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x11\x12\x1c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x11\x1f \n8\n\x02\x04\x01\x12\x04\x15\x00\x17\x01\x1a, User key bundle V2 using SignedPublicKeys.\n\n\n\n\x03\x04\x01\x01\x12\x03\x15\x08\x17\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x16\x02\'\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x16\x02\x17\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x16\x18\"\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x16%&\n%\n\x02\x04\x02\x12\x04\x1a\x00\x1f\x01\x1a\x19 Versioned ContactBundle\n\n\n\n\x03\x04\x02\x01\x12\x03\x1a\x08\x15\n\x0c\n\x04\x04\x02\x08\x00\x12\x04\x1b\x02\x1e\x03\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03\x1b\x08\x0f\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1c\x04\x1b\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x1c\x04\x13\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1c\x14\x16\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1c\x19\x1a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1d\x04\x1b\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\x1d\x04\x13\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1d\x14\x16\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1d\x19\x1ab\x06proto3\n\xf5\x04\n%message_contents/signed_payload.proto\x12\x15xmtp.message_contents\x1a message_contents/signature.proto\"i\n\rSignedPayload\x12\x18\n\x07payload\x18\x01 \x01(\x0cR\x07payload\x12>\n\tsignature\x18\x02 \x01(\x0b2 .xmtp.message_contents.SignatureR\tsignatureBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xce\x02\n\x06\x12\x04\x01\x00\x0e\x01\nC\n\x01\x0c\x12\x03\x01\x00\x12\x1a9 Signature is a generic structure for signed byte arrays\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00*\n\x08\n\x01\x08\x12\x03\x07\x00C\n\t\n\x02\x08\x0b\x12\x03\x07\x00C\n\x08\n\x01\x08\x12\x03\x08\x008\n\t\n\x02\x08\x01\x12\x03\x08\x008\nF\n\x02\x04\x00\x12\x04\x0b\x00\x0e\x01\x1a: SignedPayload is a wrapper for a signature and a payload\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x15\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0c\x02\x14\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0c\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\x08\x0f\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c\x12\x13\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\r\x02\x1a\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\r\x02\x0b\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\x0c\x15\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r\x18\x19b\x06proto3\n\x8c\x07\n message_contents/composite.proto\x12\x15xmtp.message_contents\x1a\x1emessage_contents/content.proto\"\xdb\x01\n\tComposite\x12;\n\x05parts\x18\x01 \x03(\x0b2%.xmtp.message_contents.Composite.PartR\x05parts\x1a\x90\x01\n\x04Part\x12;\n\x04part\x18\x01 \x01(\x0b2%.xmtp.message_contents.EncodedContentH\x00R\x04part\x12@\n\tcomposite\x18\x02 \x01(\x0b2 .xmtp.message_contents.CompositeH\x00R\tcompositeB\t\n\x07elementBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xf9\x03\n\x06\x12\x04\x01\x00\x15\x01\n!\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x17 Composite ContentType\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00(\n\x08\n\x01\x08\x12\x03\x07\x00C\n\t\n\x02\x08\x0b\x12\x03\x07\x00C\n\x08\n\x01\x08\x12\x03\x08\x008\n\t\n\x02\x08\x01\x12\x03\x08\x008\nL\n\x02\x04\x00\x12\x04\x0b\x00\x15\x01\x1a@ Composite is used to implement xmtp.org/composite content type\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x11\nB\n\x04\x04\x00\x03\x00\x12\x04\r\x02\x12\x03\x1a4 Part represents one section of a composite message\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\r\n\x0e\n\x0e\n\x06\x04\x00\x03\x00\x08\x00\x12\x04\x0e\x04\x11\x05\n\x0e\n\x07\x04\x00\x03\x00\x08\x00\x01\x12\x03\x0e\n\x11\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x0f\x06\x1e\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x06\x12\x03\x0f\x06\x14\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x0f\x15\x19\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x0f\x1c\x1d\n\r\n\x06\x04\x00\x03\x00\x02\x01\x12\x03\x10\x06\x1e\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x06\x12\x03\x10\x06\x0f\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x01\x12\x03\x10\x10\x19\n\x0e\n\x07\x04\x00\x03\x00\x02\x01\x03\x12\x03\x10\x1c\x1d\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x14\x02\x1a\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x14\x0b\x0f\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14\x10\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14\x18\x19b\x06proto3\n\xd0\x1f\n\x1emessage_contents/message.proto\x12\x15xmtp.message_contents\x1a!message_contents/ciphertext.proto\x1a-message_contents/conversation_reference.proto\x1a!message_contents/public_key.proto\"\xb5\x01\n\x0fMessageHeaderV1\x12>\n\x06sender\x18\x01 \x01(\x0b2&.xmtp.message_contents.PublicKeyBundleR\x06sender\x12D\n\trecipient\x18\x02 \x01(\x0b2&.xmtp.message_contents.PublicKeyBundleR\trecipient\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\"q\n\tMessageV1\x12!\n\x0cheader_bytes\x18\x01 \x01(\x0cR\x0bheaderBytes\x12A\n\nciphertext\x18\x02 \x01(\x0b2!.xmtp.message_contents.CiphertextR\nciphertext\"F\n\x0fMessageHeaderV2\x12\x1d\n\ncreated_ns\x18\x01 \x01(\x04R\tcreatedNs\x12\x14\n\x05topic\x18\x02 \x01(\tR\x05topic\"\xdd\x01\n\tMessageV2\x12!\n\x0cheader_bytes\x18\x01 \x01(\x0cR\x0bheaderBytes\x12A\n\nciphertext\x18\x02 \x01(\x0b2!.xmtp.message_contents.CiphertextR\nciphertext\x12$\n\x0bsender_hmac\x18\x03 \x01(\x0cH\x00R\nsenderHmac\x88\x01\x01\x12$\n\x0bshould_push\x18\x04 \x01(\x08H\x01R\nshouldPush\x88\x01\x01B\x0e\n\x0c_sender_hmacB\x0e\n\x0c_should_push\"|\n\x07Message\x122\n\x02v1\x18\x01 \x01(\x0b2 .xmtp.message_contents.MessageV1H\x00R\x02v1\x122\n\x02v2\x18\x02 \x01(\x0b2 .xmtp.message_contents.MessageV2H\x00R\x02v2B\t\n\x07version\"\xed\x02\n\x0eDecodedMessage\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0fmessage_version\x18\x02 \x01(\tR\x0emessageVersion\x12%\n\x0esender_address\x18\x03 \x01(\tR\rsenderAddress\x120\n\x11recipient_address\x18\x04 \x01(\tH\x00R\x10recipientAddress\x88\x01\x01\x12\x17\n\x07sent_ns\x18\x05 \x01(\x04R\x06sentNs\x12#\n\rcontent_topic\x18\x06 \x01(\tR\x0ccontentTopic\x12P\n\x0cconversation\x18\x07 \x01(\x0b2,.xmtp.message_contents.ConversationReferenceR\x0cconversation\x12#\n\rcontent_bytes\x18\x08 \x01(\x0cR\x0ccontentBytesB\x14\n\x12_recipient_addressBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\x87\x15\n\x06\x12\x04\x01\x00M\x01\nJ\n\x01\x0c\x12\x03\x01\x00\x12\x1a@ Messages used for transport and storage of user conversations.\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00+\n\t\n\x02\x03\x01\x12\x03\x06\x007\n\t\n\x02\x03\x02\x12\x03\x07\x00+\n\x08\n\x01\x08\x12\x03\t\x00C\n\t\n\x02\x08\x0b\x12\x03\t\x00C\n\x08\n\x01\x08\x12\x03\n\x008\n\t\n\x02\x08\x01\x12\x03\n\x008\n\x8c\x01\n\x02\x04\x00\x12\x04\x10\x00\x14\x01\x1ar Message header is encoded separately as the bytes are also used\n as associated data for authenticated encryption\n2\x0c Message V1\n\n\n\n\x03\x04\x00\x01\x12\x03\x10\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x11\x02\x1d\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x11\x02\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x11\x12\x18\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x11\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x12\x02 \n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x12\x02\x11\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x12\x12\x1b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x12\x1e\x1f\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x13\x02\x17\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x13\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x13\t\x12\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x13\x15\x16\n7\n\x02\x04\x01\x12\x04\x17\x00\x1c\x01\x1a+ Message is the top level protocol element\n\n\n\n\x03\x04\x01\x01\x12\x03\x17\x08\x11\n3\n\x04\x04\x01\x02\x00\x12\x03\x19\x02\x19\x1a& encapsulates encoded MessageHeaderV1\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x19\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x19\x08\x14\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x19\x17\x18\nG\n\x04\x04\x01\x02\x01\x12\x03\x1b\x02\x1c\x1a: Ciphertext.payload MUST contain encrypted EncodedContent\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x1b\x02\x0c\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1b\r\x17\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1b\x1a\x1b\n\x88\x02\n\x02\x04\x02\x12\x04$\x00)\x01\x1a\xed\x01 Message header carries information that is not encrypted, and is therefore\n observable by the network. It is however authenticated as associated data\n of the AEAD encryption used to protect the message,\n thus providing tamper evidence.\n2\x0c Message V2\n\n\n\n\x03\x04\x02\x01\x12\x03$\x08\x17\n5\n\x04\x04\x02\x02\x00\x12\x03&\x02\x18\x1a( sender specified message creation time\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03&\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03&\t\x13\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03&\x16\x17\n/\n\x04\x04\x02\x02\x01\x12\x03(\x02\x13\x1a\" the topic the message belongs to\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03(\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03(\t\x0e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03(\x11\x12\nM\n\x02\x04\x03\x12\x04,\x007\x01\x1aA Message combines the encoded header with the encrypted payload.\n\n\n\n\x03\x04\x03\x01\x12\x03,\x08\x11\n3\n\x04\x04\x03\x02\x00\x12\x03.\x02\x19\x1a& encapsulates encoded MessageHeaderV2\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03.\x02\x07\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03.\x08\x14\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03.\x17\x18\nF\n\x04\x04\x03\x02\x01\x12\x030\x02\x1c\x1a9 Ciphertext.payload MUST contain encrypted SignedContent\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x030\x02\x0c\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x030\r\x17\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x030\x1a\x1b\n\\\n\x04\x04\x03\x02\x02\x12\x033\x02!\x1aO HMAC of the message ciphertext, with the HMAC key derived from the topic\n key\n\n\x0c\n\x05\x04\x03\x02\x02\x04\x12\x033\x02\n\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x033\x0b\x10\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x033\x11\x1c\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x033\x1f \n_\n\x04\x04\x03\x02\x03\x12\x036\x02 \x1aR Flag indicating whether the message should be pushed from a notification\n server\n\n\x0c\n\x05\x04\x03\x02\x03\x04\x12\x036\x02\n\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x036\x0b\x0f\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x036\x10\x1b\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x036\x1e\x1f\n\x1f\n\x02\x04\x04\x12\x04:\x00?\x01\x1a\x13 Versioned Message\n\n\n\n\x03\x04\x04\x01\x12\x03:\x08\x0f\n\x0c\n\x04\x04\x04\x08\x00\x12\x04;\x02>\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x03;\x08\x0f\n\x0b\n\x04\x04\x04\x02\x00\x12\x03<\x04\x15\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03<\x04\r\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03<\x0e\x10\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03<\x13\x14\n\x0b\n\x04\x04\x04\x02\x01\x12\x03=\x04\x15\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03=\x04\r\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03=\x0e\x10\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03=\x13\x14\n\xae\x01\n\x02\x04\x05\x12\x04D\x00M\x01\x1a\xa1\x01 DecodedMessage represents the decrypted message contents.\n DecodedMessage instances are not stored on the network, but\n may be serialized and stored by clients\n\n\n\n\x03\x04\x05\x01\x12\x03D\x08\x16\n\x0b\n\x04\x04\x05\x02\x00\x12\x03E\x02\x10\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03E\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03E\t\x0b\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03E\x0e\x0f\n\x0b\n\x04\x04\x05\x02\x01\x12\x03F\x02\x1d\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03F\x02\x08\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03F\t\x18\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03F\x1b\x1c\n\x0b\n\x04\x04\x05\x02\x02\x12\x03G\x02\x1c\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x03G\x02\x08\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03G\t\x17\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03G\x1a\x1b\n\x0b\n\x04\x04\x05\x02\x03\x12\x03H\x02(\n\x0c\n\x05\x04\x05\x02\x03\x04\x12\x03H\x02\n\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\x03H\x0b\x11\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03H\x12#\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03H&\'\n\x0b\n\x04\x04\x05\x02\x04\x12\x03I\x02\x15\n\x0c\n\x05\x04\x05\x02\x04\x05\x12\x03I\x02\x08\n\x0c\n\x05\x04\x05\x02\x04\x01\x12\x03I\t\x10\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x03I\x13\x14\n\x0b\n\x04\x04\x05\x02\x05\x12\x03J\x02\x1b\n\x0c\n\x05\x04\x05\x02\x05\x05\x12\x03J\x02\x08\n\x0c\n\x05\x04\x05\x02\x05\x01\x12\x03J\t\x16\n\x0c\n\x05\x04\x05\x02\x05\x03\x12\x03J\x19\x1a\n\x0b\n\x04\x04\x05\x02\x06\x12\x03K\x02)\n\x0c\n\x05\x04\x05\x02\x06\x06\x12\x03K\x02\x17\n\x0c\n\x05\x04\x05\x02\x06\x01\x12\x03K\x18$\n\x0c\n\x05\x04\x05\x02\x06\x03\x12\x03K\'(\n*\n\x04\x04\x05\x02\x07\x12\x03L\x02\x1a\"\x1d encapsulates EncodedContent\n\n\x0c\n\x05\x04\x05\x02\x07\x05\x12\x03L\x02\x07\n\x0c\n\x05\x04\x05\x02\x07\x01\x12\x03L\x08\x15\n\x0c\n\x05\x04\x05\x02\x07\x03\x12\x03L\x18\x19b\x06proto3\n\x85\x04\n\x1cmessage_contents/ecies.proto\x12\x15xmtp.message_contents\"+\n\x0cEciesMessage\x12\x10\n\x02v1\x18\x01 \x01(\x0cH\x00R\x02v1B\t\n\x07versionBO\n\x1forg.xmtp.proto.message.contentsZ,github.com/xmtp/proto/v3/go/message_contentsJ\xc7\x02\n\x06\x12\x04\x01\x00\x0e\x01\n1\n\x01\x0c\x12\x03\x01\x00\x12\x1a\' ECIES is a wrapper for ECIES payloads\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\x08\n\x01\x08\x12\x03\x05\x00C\n\t\n\x02\x08\x0b\x12\x03\x05\x00C\n\x08\n\x01\x08\x12\x03\x06\x008\n\t\n\x02\x08\x01\x12\x03\x06\x008\nD\n\x02\x04\x00\x12\x04\t\x00\x0e\x01\x1a8 EciesMessage is a wrapper for ECIES encrypted payloads\n\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\x14\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\n\x02\r\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\n\x08\x0f\n>\n\x04\x04\x00\x02\x00\x12\x03\x0c\x04\x11\x1a1 Expected to be an ECIES encrypted SignedPayload\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0c\x04\t\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\n\x0c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c\x0f\x10b\x06proto3\n\xa0\x0f\n#xmtpv4/envelopes/payer_report.proto\x12\x15xmtp.xmtpv4.envelopes\x1a%identity/associations/signature.proto\"\x9a\x02\n\x0bPayerReport\x12,\n\x12originator_node_id\x18\x01 \x01(\rR\x10originatorNodeId\x12*\n\x11start_sequence_id\x18\x02 \x01(\x04R\x0fstartSequenceId\x12&\n\x0fend_sequence_id\x18\x03 \x01(\x04R\rendSequenceId\x123\n\x16end_minute_since_epoch\x18\x04 \x01(\rR\x13endMinuteSinceEpoch\x12,\n\x12payers_merkle_root\x18\x05 \x01(\x0cR\x10payersMerkleRoot\x12&\n\x0factive_node_ids\x18\x06 \x03(\rR\ractiveNodeIds\"}\n\rNodeSignature\x12\x17\n\x07node_id\x18\x01 \x01(\rR\x06nodeId\x12S\n\tsignature\x18\x02 \x01(\x0b25.xmtp.identity.associations.RecoverableEcdsaSignatureR\tsignature\"y\n\x16PayerReportAttestation\x12\x1b\n\treport_id\x18\x01 \x01(\x0cR\x08reportId\x12B\n\tsignature\x18\x02 \x01(\x0b2$.xmtp.xmtpv4.envelopes.NodeSignatureR\tsignatureB.Z,github.com/xmtp/proto/v3/go/xmtpv4/envelopesJ\xeb\t\n\x06\x12\x04\x01\x00$\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Message API for XMTP V4\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00/\n\x08\n\x01\x08\x12\x03\x07\x00C\n\t\n\x02\x08\x0b\x12\x03\x07\x00C\n^\n\x02\x04\x00\x12\x04\n\x00\x17\x01\x1aR A report of the payers and nodes that sent messages in a given range of messages\n\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x13\n9\n\x04\x04\x00\x02\x00\x12\x03\x0c\x02 \x1a, The originator this report is referring to\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0c\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\t\x1b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c\x1e\x1f\nD\n\x04\x04\x00\x02\x01\x12\x03\x0e\x02\x1f\x1a7 The sequence_id that the report starts at [exclusive]\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\t\x1a\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e\x1d\x1e\nB\n\x04\x04\x00\x02\x02\x12\x03\x10\x02\x1d\x1a5 The sequence_id that the report ends at [inclusive]\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x10\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x10\t\x18\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x10\x1b\x1c\n.\n\x04\x04\x00\x02\x03\x12\x03\x12\x02$\x1a! The end timestamp of the report\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x12\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x12\t\x1f\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x12\"#\n=\n\x04\x04\x00\x02\x04\x12\x03\x14\x02\x1f\x1a0 The merkle root of the payer balance diff tree\n\n\x0c\n\x05\x04\x00\x02\x04\x05\x12\x03\x14\x02\x07\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x14\x08\x1a\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x14\x1d\x1e\nT\n\x04\x04\x00\x02\x05\x12\x03\x16\x02&\x1aG The node IDs that are active in the network at the time of the report\n\n\x0c\n\x05\x04\x00\x02\x05\x04\x12\x03\x16\x02\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\x16\x0b\x11\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x16\x12!\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x16$%\n\n\n\x02\x04\x01\x12\x04\x19\x00\x1c\x01\n\n\n\x03\x04\x01\x01\x12\x03\x19\x08\x15\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x1a\x02\x15\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x1a\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1a\t\x10\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1a\x13\x14\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x1b\x02E\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x1b\x026\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1b7@\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1bCD\n.\n\x02\x04\x02\x12\x04\x1f\x00$\x01\x1a\" An attestation of a payer report\n\n\n\n\x03\x04\x02\x01\x12\x03\x1f\x08\x1e\nN\n\x04\x04\x02\x02\x00\x12\x03!\x02\x16\x1aA The ID of the report, determined by hashing the report contents\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03!\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03!\x08\x11\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03!\x14\x15\n,\n\x04\x04\x02\x02\x01\x12\x03#\x02\x1e\x1a\x1f The signature of the attester\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03#\x02\x0f\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03#\x10\x19\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03#\x1c\x1db\x06proto3\n\x9d#\n xmtpv4/envelopes/envelopes.proto\x12\x15xmtp.xmtpv4.envelopes\x1a\'identity/associations/association.proto\x1a%identity/associations/signature.proto\x1a\x14mls/api/v1/mls.proto\x1a#xmtpv4/envelopes/payer_report.proto\"\xba\x01\n\x06Cursor\x12i\n\x16node_id_to_sequence_id\x18\x01 \x03(\x0b25.xmtp.xmtpv4.envelopes.Cursor.NodeIdToSequenceIdEntryR\x12nodeIdToSequenceId\x1aE\n\x17NodeIdToSequenceIdEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01\"t\n\x11AuthenticatedData\x12!\n\x0ctarget_topic\x18\x02 \x01(\x0cR\x0btargetTopic\x12<\n\ndepends_on\x18\x03 \x01(\x0b2\x1d.xmtp.xmtpv4.envelopes.CursorR\tdependsOn\"\xd8\x04\n\x0eClientEnvelope\x12:\n\x03aad\x18\x01 \x01(\x0b2(.xmtp.xmtpv4.envelopes.AuthenticatedDataR\x03aad\x12I\n\rgroup_message\x18\x02 \x01(\x0b2\".xmtp.mls.api.v1.GroupMessageInputH\x00R\x0cgroupMessage\x12O\n\x0fwelcome_message\x18\x03 \x01(\x0b2$.xmtp.mls.api.v1.WelcomeMessageInputH\x00R\x0ewelcomeMessage\x12X\n\x12upload_key_package\x18\x04 \x01(\x0b2(.xmtp.mls.api.v1.UploadKeyPackageRequestH\x00R\x10uploadKeyPackage\x12U\n\x0fidentity_update\x18\x05 \x01(\x0b2*.xmtp.identity.associations.IdentityUpdateH\x00R\x0eidentityUpdate\x12G\n\x0cpayer_report\x18\x06 \x01(\x0b2\".xmtp.xmtpv4.envelopes.PayerReportH\x00R\x0bpayerReport\x12i\n\x18payer_report_attestation\x18\x07 \x01(\x0b2-.xmtp.xmtpv4.envelopes.PayerReportAttestationH\x00R\x16payerReportAttestationB\t\n\x07payload\"\x8c\x02\n\rPayerEnvelope\x128\n\x18unsigned_client_envelope\x18\x01 \x01(\x0cR\x16unsignedClientEnvelope\x12^\n\x0fpayer_signature\x18\x02 \x01(\x0b25.xmtp.identity.associations.RecoverableEcdsaSignatureR\x0epayerSignature\x12+\n\x11target_originator\x18\x03 \x01(\rR\x10targetOriginator\x124\n\x16message_retention_days\x18\x04 \x01(\rR\x14messageRetentionDays\"\xf0\x02\n\x1aUnsignedOriginatorEnvelope\x12,\n\x12originator_node_id\x18\x01 \x01(\rR\x10originatorNodeId\x124\n\x16originator_sequence_id\x18\x02 \x01(\x04R\x14originatorSequenceId\x12#\n\roriginator_ns\x18\x03 \x01(\x03R\x0coriginatorNs\x120\n\x14payer_envelope_bytes\x18\x04 \x01(\x0cR\x12payerEnvelopeBytes\x120\n\x14base_fee_picodollars\x18\x05 \x01(\x04R\x12baseFeePicodollars\x12<\n\x1acongestion_fee_picodollars\x18\x06 \x01(\x04R\x18congestionFeePicodollars\x12\'\n\x0fexpiry_unixtime\x18\x07 \x01(\x04R\x0eexpiryUnixtime\"<\n\x0fBlockchainProof\x12)\n\x10transaction_hash\x18\x01 \x01(\x0cR\x0ftransactionHash\"\xa0\x02\n\x12OriginatorEnvelope\x12@\n\x1cunsigned_originator_envelope\x18\x01 \x01(\x0cR\x1aunsignedOriginatorEnvelope\x12j\n\x14originator_signature\x18\x02 \x01(\x0b25.xmtp.identity.associations.RecoverableEcdsaSignatureH\x00R\x13originatorSignature\x12S\n\x10blockchain_proof\x18\x03 \x01(\x0b2&.xmtp.xmtpv4.envelopes.BlockchainProofH\x00R\x0fblockchainProofB\x07\n\x05proofB.Z,github.com/xmtp/proto/v3/go/xmtpv4/envelopesJ\xad\x12\n\x06\x12\x04\x01\x00E\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Message API for XMTP V4\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x001\n\t\n\x02\x03\x01\x12\x03\x06\x00/\n\t\n\x02\x03\x02\x12\x03\x07\x00\x1e\n\t\n\x02\x03\x03\x12\x03\x08\x00-\n\x08\n\x01\x08\x12\x03\n\x00C\n\t\n\x02\x08\x0b\x12\x03\n\x00C\nb\n\x02\x04\x00\x12\x04\r\x00\x0f\x01\x1aV The last seen entry per originator. Originators that have not been seen are omitted.\n\n\n\n\x03\x04\x00\x01\x12\x03\r\x08\x0e\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x021\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0e\x02\x15\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x16,\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e/0\nS\n\x02\x04\x01\x12\x04\x12\x00\x17\x01\x1aG Data visible to the server that has been authenticated by the client.\n\n\n\n\x03\x04\x01\x01\x12\x03\x12\x08\x19\nJ\n\x04\x04\x01\x02\x00\x12\x03\x14\x02\x19\x1a= Do NOT reuse tag 1 \xe2\x80\x94 previously used by target_originator\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x14\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x14\x08\x14\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x14\x17\x18\nB\n\x04\x04\x01\x02\x01\x12\x03\x15\x02\x18\"5 Do NOT reuse tag 4 \xe2\x80\x94 previously used by is_commit\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x15\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x15\t\x13\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x15\x16\x17\n\n\n\x02\x04\x02\x12\x04\x19\x00$\x01\n\n\n\x03\x04\x02\x01\x12\x03\x19\x08\x16\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1a\x02\x1c\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x1a\x02\x13\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1a\x14\x17\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1a\x1a\x1b\n\x0c\n\x04\x04\x02\x08\x00\x12\x04\x1c\x02#\x03\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03\x1c\x08\x0f\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1d\x048\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\x1d\x04%\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1d&3\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1d67\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x1e\x04<\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03\x1e\x04\'\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x1e(7\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x1e:;\n\x0b\n\x04\x04\x02\x02\x03\x12\x03\x1f\x04C\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03\x1f\x04+\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x1f,>\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03\x1fAB\n\x0b\n\x04\x04\x02\x02\x04\x12\x03 \x04B\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03 \x04-\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03 .=\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03 @A\n\x0b\n\x04\x04\x02\x02\x05\x12\x03!\x04!\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x03!\x04\x0f\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03!\x10\x1c\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03!\x1f \n\x0b\n\x04\x04\x02\x02\x06\x12\x03\"\x048\n\x0c\n\x05\x04\x02\x02\x06\x06\x12\x03\"\x04\x1a\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03\"\x1b3\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03\"67\n8\n\x02\x04\x03\x12\x04\'\x00,\x01\x1a, Wraps client envelope with payer signature\n\n\n\n\x03\x04\x03\x01\x12\x03\'\x08\x15\n\"\n\x04\x04\x03\x02\x00\x12\x03(\x02%\"\x15 Protobuf serialized\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03(\x02\x07\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03(\x08 \n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03(#$\n\x0b\n\x04\x04\x03\x02\x01\x12\x03)\x02K\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03)\x026\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03)7F\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03)IJ\n\x0b\n\x04\x04\x03\x02\x02\x12\x03*\x02\x1f\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03*\x02\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03*\t\x1a\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03*\x1d\x1e\n\x0b\n\x04\x04\x03\x02\x03\x12\x03+\x02$\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x03+\x02\x08\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03+\t\x1f\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03+\"#\nR\n\x02\x04\x04\x12\x04/\x007\x01\x1aF For blockchain envelopes, these fields are set by the smart contract\n\n\n\n\x03\x04\x04\x01\x12\x03/\x08\"\n\x0b\n\x04\x04\x04\x02\x00\x12\x030\x02 \n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x030\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x030\t\x1b\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x030\x1e\x1f\n\x0b\n\x04\x04\x04\x02\x01\x12\x031\x02$\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x031\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x031\t\x1f\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x031\"#\n\x0b\n\x04\x04\x04\x02\x02\x12\x032\x02\x1a\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x032\x02\x07\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x032\x08\x15\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x032\x18\x19\n\x0b\n\x04\x04\x04\x02\x03\x12\x033\x02!\n\x0c\n\x05\x04\x04\x02\x03\x05\x12\x033\x02\x07\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x033\x08\x1c\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x033\x1f \n:\n\x04\x04\x04\x02\x04\x12\x034\x02\"\"- The base fee for the message in picodollars\n\n\x0c\n\x05\x04\x04\x02\x04\x05\x12\x034\x02\x08\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x034\t\x1d\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x034 !\n@\n\x04\x04\x04\x02\x05\x12\x035\x02(\"3 The congestion fee for the message in picodollars\n\n\x0c\n\x05\x04\x04\x02\x05\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x04\x02\x05\x01\x12\x035\t#\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x035&\'\n\x0b\n\x04\x04\x04\x02\x06\x12\x036\x02\x1d\n\x0c\n\x05\x04\x04\x02\x06\x05\x12\x036\x02\x08\n\x0c\n\x05\x04\x04\x02\x06\x01\x12\x036\t\x18\n\x0c\n\x05\x04\x04\x02\x06\x03\x12\x036\x1b\x1c\nC\n\x02\x04\x05\x12\x04:\x00<\x01\x1a7 An alternative to a signature for blockchain payloads\n\n\n\n\x03\x04\x05\x01\x12\x03:\x08\x17\n\x0b\n\x04\x04\x05\x02\x00\x12\x03;\x02\x1d\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03;\x02\x07\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03;\x08\x18\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03;\x1b\x1c\n(\n\x02\x04\x06\x12\x04?\x00E\x01\x1a\x1c Signed originator envelope\n\n\n\n\x03\x04\x06\x01\x12\x03?\x08\x1a\n\"\n\x04\x04\x06\x02\x00\x12\x03@\x02)\"\x15 Protobuf serialized\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03@\x02\x07\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03@\x08$\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03@\'(\n\x0c\n\x04\x04\x06\x08\x00\x12\x04A\x02D\x03\n\x0c\n\x05\x04\x06\x08\x00\x01\x12\x03A\x08\r\n\x0b\n\x04\x04\x06\x02\x01\x12\x03B\x04R\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03B\x048\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03B9M\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03BPQ\n\x0b\n\x04\x04\x06\x02\x02\x12\x03C\x04)\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03C\x04\x13\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03C\x14$\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03C\'(b\x06proto3\n\x84\x1b\n&xmtpv4/metadata_api/metadata_api.proto\x12\x18xmtp.xmtpv4.metadata_api\x1a\x1cgoogle/api/annotations.proto\x1a xmtpv4/envelopes/envelopes.proto\"\x16\n\x14GetSyncCursorRequest\"W\n\x15GetSyncCursorResponse\x12>\n\x0blatest_sync\x18\x01 \x01(\x0b2\x1d.xmtp.xmtpv4.envelopes.CursorR\nlatestSync\"\x13\n\x11GetVersionRequest\".\n\x12GetVersionResponse\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\"\x90\x01\n\x13GetPayerInfoRequest\x12\'\n\x0fpayer_addresses\x18\x01 \x03(\tR\x0epayerAddresses\x12P\n\x0bgranularity\x18\x02 \x01(\x0e2..xmtp.xmtpv4.metadata_api.PayerInfoGranularityR\x0bgranularity\"\x8c\x04\n\x14GetPayerInfoResponse\x12\\\n\npayer_info\x18\x01 \x03(\x0b2=.xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfoEntryR\tpayerInfo\x1a\xa7\x01\n\rPeriodSummary\x128\n\x18amount_spent_picodollars\x18\x01 \x01(\x04R\x16amountSpentPicodollars\x12!\n\x0cnum_messages\x18\x02 \x01(\x04R\x0bnumMessages\x129\n\x19period_start_unix_seconds\x18\x03 \x01(\x04R\x16periodStartUnixSeconds\x1at\n\tPayerInfo\x12g\n\x10period_summaries\x18\x01 \x03(\x0b2<.xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PeriodSummaryR\x0fperiodSummaries\x1av\n\x0ePayerInfoEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12N\n\x05value\x18\x02 \x01(\x0b28.xmtp.xmtpv4.metadata_api.GetPayerInfoResponse.PayerInfoR\x05value:\x028\x01*\x7f\n\x14PayerInfoGranularity\x12&\n\"PAYER_INFO_GRANULARITY_UNSPECIFIED\x10\x00\x12\x1f\n\x1bPAYER_INFO_GRANULARITY_HOUR\x10\x01\x12\x1e\n\x1aPAYER_INFO_GRANULARITY_DAY\x10\x022\x86\x05\n\x0bMetadataApi\x12\x9d\x01\n\rGetSyncCursor\x12..xmtp.xmtpv4.metadata_api.GetSyncCursorRequest\x1a/.xmtp.xmtpv4.metadata_api.GetSyncCursorResponse\"+\x82\xd3\xe4\x93\x02%\" /mls/v2/metadata/get-sync-cursor:\x01*\x12\xab\x01\n\x13SubscribeSyncCursor\x12..xmtp.xmtpv4.metadata_api.GetSyncCursorRequest\x1a/.xmtp.xmtpv4.metadata_api.GetSyncCursorResponse\"1\x82\xd3\xe4\x93\x02+\"&/mls/v2/metadata/subscribe-sync-cursor:\x01*0\x01\x12\x8c\x01\n\nGetVersion\x12+.xmtp.xmtpv4.metadata_api.GetVersionRequest\x1a,.xmtp.xmtpv4.metadata_api.GetVersionResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/mls/v2/metadata/version:\x01*\x12\x99\x01\n\x0cGetPayerInfo\x12-.xmtp.xmtpv4.metadata_api.GetPayerInfoRequest\x1a..xmtp.xmtpv4.metadata_api.GetPayerInfoResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/mls/v2/metadata/get-payer-info:\x01*B1Z/github.com/xmtp/proto/v3/go/xmtpv4/metadata_apiJ\xe2\x0c\n\x06\x12\x04\x01\x00P\x01\n\x18\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x0e Metadata API\n\n\x08\n\x01\x02\x12\x03\x03\x00!\n\t\n\x02\x03\x00\x12\x03\x05\x00&\n\t\n\x02\x03\x01\x12\x03\x06\x00*\n\x08\n\x01\x08\x12\x03\x08\x00F\n\t\n\x02\x08\x0b\x12\x03\x08\x00F\n\t\n\x02\x04\x00\x12\x03\n\x00\x1f\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x1c\n\n\n\x02\x04\x01\x12\x04\x0c\x00\x0e\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0c\x08\x1d\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\r\x02/\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\r\x02\x1e\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\r\x1f*\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\r-.\n\t\n\x02\x04\x02\x12\x03\x10\x00\x1c\n\n\n\x03\x04\x02\x01\x12\x03\x10\x08\x19\n\n\n\x02\x04\x03\x12\x04\x12\x00\x14\x01\n\n\n\x03\x04\x03\x01\x12\x03\x12\x08\x1a\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\x13\x02\x15\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03\x13\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x13\t\x10\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x13\x13\x14\n3\n\x02\x05\x00\x12\x04\x17\x00\x1b\x01\x1a\' Whether to group spend by hour or day\n\n\n\n\x03\x05\x00\x01\x12\x03\x17\x05\x19\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x18\x02)\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x18\x02$\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x18\'(\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x19\x02\"\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x19\x02\x1d\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x19 !\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x1a\x02!\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x1a\x02\x1c\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x1a\x1f \nZ\n\x02\x04\x04\x12\x04\x1e\x00!\x01\x1aN Get information about payer spend and message counts for a given time period\n\n\n\n\x03\x04\x04\x01\x12\x03\x1e\x08\x1b\n\x0b\n\x04\x04\x04\x02\x00\x12\x03\x1f\x02&\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03\x1f\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03\x1f\x0b\x11\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03\x1f\x12!\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03\x1f$%\n\x0b\n\x04\x04\x04\x02\x01\x12\x03 \x02\'\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03 \x02\x16\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03 \x17\"\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03 %&\n-\n\x02\x04\x05\x12\x04$\x001\x01\x1a! Response to GetPayerInfoRequest\n\n\n\n\x03\x04\x05\x01\x12\x03$\x08\x1c\n\x0c\n\x04\x04\x05\x03\x00\x12\x04%\x02)\x03\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03%\n\x17\n\r\n\x06\x04\x05\x03\x00\x02\x00\x12\x03&\x04(\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x05\x12\x03&\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03&\x0b#\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03&&\'\n\r\n\x06\x04\x05\x03\x00\x02\x01\x12\x03\'\x04\x1c\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x05\x12\x03\'\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x01\x12\x03\'\x0b\x17\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x03\x12\x03\'\x1a\x1b\n\r\n\x06\x04\x05\x03\x00\x02\x02\x12\x03(\x04)\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x05\x12\x03(\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x01\x12\x03(\x0b$\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x03\x12\x03(\'(\n\x0c\n\x04\x04\x05\x03\x01\x12\x04+\x02-\x03\n\x0c\n\x05\x04\x05\x03\x01\x01\x12\x03+\n\x13\n\r\n\x06\x04\x05\x03\x01\x02\x00\x12\x03,\x040\n\x0e\n\x07\x04\x05\x03\x01\x02\x00\x04\x12\x03,\x04\x0c\n\x0e\n\x07\x04\x05\x03\x01\x02\x00\x06\x12\x03,\r\x1a\n\x0e\n\x07\x04\x05\x03\x01\x02\x00\x01\x12\x03,\x1b+\n\x0e\n\x07\x04\x05\x03\x01\x02\x00\x03\x12\x03,./\n#\n\x04\x04\x05\x02\x00\x12\x030\x02(\x1a\x16 Map of payer address\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x030\x02\x18\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x030\x19#\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x030&\'\nM\n\x02\x06\x00\x12\x044\x00P\x01\x1aA Metadata for distributed tracing, debugging and synchronization\n\n\n\n\x03\x06\x00\x01\x12\x034\x08\x13\n\x0c\n\x04\x06\x00\x02\x00\x12\x045\x02:\x03\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x035\x06\x13\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x035\x14(\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x0353H\n\r\n\x05\x06\x00\x02\x00\x04\x12\x046\x049\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x046\x049\x06\n\x0c\n\x04\x06\x00\x02\x01\x12\x04<\x02A\x03\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03<\x06\x19\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03<\x1a.\n\x0c\n\x05\x06\x00\x02\x01\x06\x12\x03<9?\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03<@U\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04=\x04@\x06\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04=\x04@\x06\n\x0c\n\x04\x06\x00\x02\x02\x12\x04C\x02H\x03\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03C\x06\x10\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03C\x11\"\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03C-?\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04D\x04G\x06\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04D\x04G\x06\n\x0c\n\x04\x06\x00\x02\x03\x12\x04J\x02O\x03\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03J\x06\x12\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03J\x13&\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03J1E\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04K\x04N\x06\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04K\x04N\x06b\x06proto3\n\xa4\x0c\n xmtpv4/payer_api/payer_api.proto\x12\x15xmtp.xmtpv4.payer_api\x1a\x1cgoogle/api/annotations.proto\x1a xmtpv4/envelopes/envelopes.proto\"d\n\x1dPublishClientEnvelopesRequest\x12C\n\tenvelopes\x18\x01 \x03(\x0b2%.xmtp.xmtpv4.envelopes.ClientEnvelopeR\tenvelopes\"~\n\x1ePublishClientEnvelopesResponse\x12\\\n\x14originator_envelopes\x18\x01 \x03(\x0b2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\x13originatorEnvelopes\"\x11\n\x0fGetNodesRequest\"\x96\x01\n\x10GetNodesResponse\x12H\n\x05nodes\x18\x01 \x03(\x0b22.xmtp.xmtpv4.payer_api.GetNodesResponse.NodesEntryR\x05nodes\x1a8\n\nNodesEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x012\xc6\x02\n\x08PayerApi\x12\xb8\x01\n\x16PublishClientEnvelopes\x124.xmtp.xmtpv4.payer_api.PublishClientEnvelopesRequest\x1a5.xmtp.xmtpv4.payer_api.PublishClientEnvelopesResponse\"1\x82\xd3\xe4\x93\x02+\"&/mls/v2/payer/publish-client-envelopes:\x01*\x12\x7f\n\x08GetNodes\x12&.xmtp.xmtpv4.payer_api.GetNodesRequest\x1a\'.xmtp.xmtpv4.payer_api.GetNodesResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/mls/v2/payer/get-nodes:\x01*B.Z,github.com/xmtp/proto/v3/go/xmtpv4/payer_apiJ\x95\x05\n\x06\x12\x04\x01\x00(\x01\n\x15\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x0b Payer API\n\n\x08\n\x01\x02\x12\x03\x03\x00\x1e\n\t\n\x02\x03\x00\x12\x03\x05\x00&\n\t\n\x02\x03\x01\x12\x03\x06\x00*\n\x08\n\x01\x08\x12\x03\x08\x00C\n\t\n\x02\x08\x0b\x12\x03\x08\x00C\n\n\n\x02\x04\x00\x12\x04\n\x00\x0c\x01\n\n\n\x03\x04\x00\x01\x12\x03\n\x08%\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0b\x02>\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x0b\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0b\x0b/\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0b09\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0b<=\n\n\n\x02\x04\x01\x12\x04\x0e\x00\x10\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0e\x08&\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x0f\x02M\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\x0f\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x0f\x0b3\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0f4H\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0fKL\n\t\n\x02\x04\x02\x12\x03\x12\x00\x1a\n\n\n\x03\x04\x02\x01\x12\x03\x12\x08\x17\n\n\n\x02\x04\x03\x12\x04\x14\x00\x16\x01\n\n\n\x03\x04\x03\x01\x12\x03\x14\x08\x18\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\x15\x02 \n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03\x15\x02\x15\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x15\x16\x1b\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x15\x1e\x1f\nK\n\x02\x06\x00\x12\x04\x19\x00(\x01\x1a? A narrowly scoped API for publishing messages through a payer\n\n\n\n\x03\x06\x00\x01\x12\x03\x19\x08\x10\n \n\x04\x06\x00\x02\x00\x12\x04\x1b\x02 \x03\x1a\x12 Publish envelope\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x1b\x06\x1c\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x1b\x1d:\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x1bEc\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\x1c\x04\x1f\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\x1c\x04\x1f\x06\n\x0c\n\x04\x06\x00\x02\x01\x12\x04\"\x02\'\x03\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\"\x06\x0e\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\"\x0f\x1e\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\")9\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04#\x04&\x06\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04#\x04&\x06b\x06proto3\n\xaf,\n$xmtpv4/message_api/message_api.proto\x12\x17xmtp.xmtpv4.message_api\x1a\x1cgoogle/api/annotations.proto\x1a\'identity/associations/association.proto\x1a xmtpv4/envelopes/envelopes.proto\"\x94\x01\n\x0eEnvelopesQuery\x12\x16\n\x06topics\x18\x01 \x03(\x0cR\x06topics\x12.\n\x13originator_node_ids\x18\x02 \x03(\rR\x11originatorNodeIds\x12:\n\tlast_seen\x18\x03 \x01(\x0b2\x1d.xmtp.xmtpv4.envelopes.CursorR\x08lastSeen\"Z\n\x19SubscribeEnvelopesRequest\x12=\n\x05query\x18\x01 \x01(\x0b2\'.xmtp.xmtpv4.message_api.EnvelopesQueryR\x05query\"e\n\x1aSubscribeEnvelopesResponse\x12G\n\tenvelopes\x18\x01 \x03(\x0b2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\tenvelopes\"l\n\x15QueryEnvelopesRequest\x12=\n\x05query\x18\x01 \x01(\x0b2\'.xmtp.xmtpv4.message_api.EnvelopesQueryR\x05query\x12\x14\n\x05limit\x18\x02 \x01(\rR\x05limit\"a\n\x16QueryEnvelopesResponse\x12G\n\tenvelopes\x18\x01 \x03(\x0b2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\tenvelopes\"m\n\x1cPublishPayerEnvelopesRequest\x12M\n\x0fpayer_envelopes\x18\x01 \x03(\x0b2$.xmtp.xmtpv4.envelopes.PayerEnvelopeR\x0epayerEnvelopes\"}\n\x1dPublishPayerEnvelopesResponse\x12\\\n\x14originator_envelopes\x18\x01 \x03(\x0b2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\x13originatorEnvelopes\"\xe5\x01\n\x12GetInboxIdsRequest\x12O\n\x08requests\x18\x01 \x03(\x0b23.xmtp.xmtpv4.message_api.GetInboxIdsRequest.RequestR\x08requests\x1a~\n\x07Request\x12\x1e\n\nidentifier\x18\x01 \x01(\tR\nidentifier\x12S\n\x0fidentifier_kind\x18\x02 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKind\"\x99\x02\n\x13GetInboxIdsResponse\x12S\n\tresponses\x18\x01 \x03(\x0b25.xmtp.xmtpv4.message_api.GetInboxIdsResponse.ResponseR\tresponses\x1a\xac\x01\n\x08Response\x12\x1e\n\nidentifier\x18\x01 \x01(\tR\nidentifier\x12\x1e\n\x08inbox_id\x18\x02 \x01(\tH\x00R\x07inboxId\x88\x01\x01\x12S\n\x0fidentifier_kind\x18\x03 \x01(\x0e2*.xmtp.identity.associations.IdentifierKindR\x0eidentifierKindB\x0b\n\t_inbox_id\"2\n\x18GetNewestEnvelopeRequest\x12\x16\n\x06topics\x18\x01 \x03(\x0cR\x06topics\"\xf8\x01\n\x19GetNewestEnvelopeResponse\x12U\n\x07results\x18\x01 \x03(\x0b2;.xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse.ResponseR\x07results\x1a\x83\x01\n\x08Response\x12_\n\x13originator_envelope\x18\x01 \x01(\x0b2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeH\x00R\x12originatorEnvelope\x88\x01\x01B\x16\n\x14_originator_envelope2\xb9\x06\n\x0eReplicationApi\x12\xa7\x01\n\x12SubscribeEnvelopes\x122.xmtp.xmtpv4.message_api.SubscribeEnvelopesRequest\x1a3.xmtp.xmtpv4.message_api.SubscribeEnvelopesResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/mls/v2/subscribe-envelopes:\x01*0\x01\x12\x95\x01\n\x0eQueryEnvelopes\x12..xmtp.xmtpv4.message_api.QueryEnvelopesRequest\x1a/.xmtp.xmtpv4.message_api.QueryEnvelopesResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/mls/v2/query-envelopes:\x01*\x12\xb2\x01\n\x15PublishPayerEnvelopes\x125.xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequest\x1a6.xmtp.xmtpv4.message_api.PublishPayerEnvelopesResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/mls/v2/publish-payer-envelopes:\x01*\x12\x8a\x01\n\x0bGetInboxIds\x12+.xmtp.xmtpv4.message_api.GetInboxIdsRequest\x1a,.xmtp.xmtpv4.message_api.GetInboxIdsResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/mls/v2/get-inbox-ids:\x01*\x12\xa2\x01\n\x11GetNewestEnvelope\x121.xmtp.xmtpv4.message_api.GetNewestEnvelopeRequest\x1a2.xmtp.xmtpv4.message_api.GetNewestEnvelopeResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/mls/v2/get-newest-envelope:\x01*B0Z.github.com/xmtp/proto/v3/go/xmtpv4/message_apiJ\xc2\x17\n\x06\x12\x04\x01\x00{\x01\n#\n\x01\x0c\x12\x03\x01\x00\x12\x1a\x19 Message API for XMTP V4\n\n\x08\n\x01\x02\x12\x03\x03\x00 \n\t\n\x02\x03\x00\x12\x03\x05\x00&\n\t\n\x02\x03\x01\x12\x03\x06\x001\n\t\n\x02\x03\x02\x12\x03\x07\x00*\n\x08\n\x01\x08\x12\x03\t\x00E\n\t\n\x02\x08\x0b\x12\x03\t\x00E\n\x89\x01\n\x02\x04\x00\x12\x04\r\x00\x13\x01\x1a} Query for envelopes, shared by query and subscribe endpoints\n Either topics or originator_node_ids may be set, but not both\n\n\n\n\x03\x04\x00\x01\x12\x03\r\x08\x16\n\x1d\n\x04\x04\x00\x02\x00\x12\x03\x0f\x02\x1c\x1a\x10 Client queries\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x0f\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0f\x0b\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0f\x11\x17\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0f\x1a\x1b\n\x1b\n\x04\x04\x00\x02\x01\x12\x03\x11\x02*\x1a\x0e Node queries\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\x11\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x11\x0b\x11\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x11\x12%\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x11()\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x12\x02-\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x12\x02\x1e\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x12\x1f(\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x12+,\n*\n\x02\x04\x01\x12\x04\x16\x00\x18\x01\x1a\x1e Batch subscribe to envelopes\n\n\n\n\x03\x04\x01\x01\x12\x03\x16\x08!\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x17\x02\x1b\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x17\x02\x10\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x17\x11\x16\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x17\x19\x1a\nW\n\x02\x04\x02\x12\x04\x1b\x00\x1d\x01\x1aK Streamed response for batch subscribe - can be multiple envelopes at once\n\n\n\n\x03\x04\x02\x01\x12\x03\x1b\x08\"\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1c\x02B\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x1c\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x1c\x0b3\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1c4=\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1c@A\n%\n\x02\x04\x03\x12\x04 \x00#\x01\x1a\x19 Query envelopes request\n\n\n\n\x03\x04\x03\x01\x12\x03 \x08\x1d\n\x0b\n\x04\x04\x03\x02\x00\x12\x03!\x02\x1b\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03!\x02\x10\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03!\x11\x16\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03!\x19\x1a\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\"\x02\x13\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03\"\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\"\t\x0e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\"\x11\x12\n&\n\x02\x04\x04\x12\x04&\x00(\x01\x1a\x1a Query envelopes response\n\n\n\n\x03\x04\x04\x01\x12\x03&\x08\x1e\n\x0b\n\x04\x04\x04\x02\x00\x12\x03\'\x02B\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03\'\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03\'\x0b3\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03\'4=\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03\'@A\n\n\n\x02\x04\x05\x12\x04*\x00,\x01\n\n\n\x03\x04\x05\x01\x12\x03*\x08$\n\x0b\n\x04\x04\x05\x02\x00\x12\x03+\x02C\n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03+\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03+\x0b.\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03+/>\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03+AB\n\n\n\x02\x04\x06\x12\x04.\x000\x01\n\n\n\x03\x04\x06\x01\x12\x03.\x08%\n\x0b\n\x04\x04\x06\x02\x00\x12\x03/\x02M\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x03/\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03/\x0b3\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03/4H\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03/KL\nB\n\x02\x04\x07\x12\x043\x00;\x01\x1a6 Request to retrieve the XIDs for the given addresses\n\n\n\n\x03\x04\x07\x01\x12\x033\x08\x1a\n4\n\x04\x04\x07\x03\x00\x12\x045\x028\x03\x1a& A single request for a given address\n\n\x0c\n\x05\x04\x07\x03\x00\x01\x12\x035\n\x11\n\r\n\x06\x04\x07\x03\x00\x02\x00\x12\x036\x04\x1a\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x05\x12\x036\x04\n\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x01\x12\x036\x0b\x15\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x03\x12\x036\x18\x19\n\r\n\x06\x04\x07\x03\x00\x02\x01\x12\x037\x04B\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x06\x12\x037\x04-\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x01\x12\x037.=\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x03\x12\x037@A\n\x0b\n\x04\x04\x07\x02\x00\x12\x03:\x02 \n\x0c\n\x05\x04\x07\x02\x00\x04\x12\x03:\x02\n\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03:\x0b\x12\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03:\x13\x1b\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03:\x1e\x1f\n@\n\x02\x04\x08\x12\x04>\x00G\x01\x1a4 Response with the XIDs for the requested addresses\n\n\n\n\x03\x04\x08\x01\x12\x03>\x08\x1b\n5\n\x04\x04\x08\x03\x00\x12\x04@\x02D\x03\x1a\' A single response for a given address\n\n\x0c\n\x05\x04\x08\x03\x00\x01\x12\x03@\n\x12\n\r\n\x06\x04\x08\x03\x00\x02\x00\x12\x03A\x04\x1a\n\x0e\n\x07\x04\x08\x03\x00\x02\x00\x05\x12\x03A\x04\n\n\x0e\n\x07\x04\x08\x03\x00\x02\x00\x01\x12\x03A\x0b\x15\n\x0e\n\x07\x04\x08\x03\x00\x02\x00\x03\x12\x03A\x18\x19\n\r\n\x06\x04\x08\x03\x00\x02\x01\x12\x03B\x04!\n\x0e\n\x07\x04\x08\x03\x00\x02\x01\x04\x12\x03B\x04\x0c\n\x0e\n\x07\x04\x08\x03\x00\x02\x01\x05\x12\x03B\r\x13\n\x0e\n\x07\x04\x08\x03\x00\x02\x01\x01\x12\x03B\x14\x1c\n\x0e\n\x07\x04\x08\x03\x00\x02\x01\x03\x12\x03B\x1f \n\r\n\x06\x04\x08\x03\x00\x02\x02\x12\x03C\x04B\n\x0e\n\x07\x04\x08\x03\x00\x02\x02\x06\x12\x03C\x04-\n\x0e\n\x07\x04\x08\x03\x00\x02\x02\x01\x12\x03C.=\n\x0e\n\x07\x04\x08\x03\x00\x02\x02\x03\x12\x03C@A\n\x0b\n\x04\x04\x08\x02\x00\x12\x03F\x02\"\n\x0c\n\x05\x04\x08\x02\x00\x04\x12\x03F\x02\n\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03F\x0b\x13\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03F\x14\x1d\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03F !\nB\n\x02\x04\t\x12\x04J\x00L\x01\x1a6 Request to get the newest envelope for a given topic\n\n\n\n\x03\x04\t\x01\x12\x03J\x08 \n\x0b\n\x04\x04\t\x02\x00\x12\x03K\x02\x1c\n\x0c\n\x05\x04\t\x02\x00\x04\x12\x03K\x02\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03K\x0b\x10\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03K\x11\x17\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03K\x1a\x1b\n2\n\x02\x04\n\x12\x04O\x00U\x01\x1a& Response to GetNewestEnvelopeRequest\n\n\n\n\x03\x04\n\x01\x12\x03O\x08!\n\x0c\n\x04\x04\n\x03\x00\x12\x04P\x02R\x03\n\x0c\n\x05\x04\n\x03\x00\x01\x12\x03P\n\x12\n\r\n\x06\x04\n\x03\x00\x02\x00\x12\x03Q\x04N\n\x0e\n\x07\x04\n\x03\x00\x02\x00\x04\x12\x03Q\x04\x0c\n\x0e\n\x07\x04\n\x03\x00\x02\x00\x06\x12\x03Q\r5\n\x0e\n\x07\x04\n\x03\x00\x02\x00\x01\x12\x03Q6I\n\x0e\n\x07\x04\n\x03\x00\x02\x00\x03\x12\x03QLM\ne\n\x04\x04\n\x02\x00\x12\x03T\x02 \x1aX The newest envelope for the given topic OR null if there are no envelopes on the topic\n\n\x0c\n\x05\x04\n\x02\x00\x04\x12\x03T\x02\n\n\x0c\n\x05\x04\n\x02\x00\x06\x12\x03T\x0b\x13\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03T\x14\x1b\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03T\x1e\x1f\n\n\n\x02\x06\x00\x12\x04W\x00{\x01\n\n\n\x03\x06\x00\x01\x12\x03W\x08\x16\n\x0c\n\x04\x06\x00\x02\x00\x12\x04X\x02]\x03\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03X\x06\x18\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03X\x192\n\x0c\n\x05\x06\x00\x02\x00\x06\x12\x03X=C\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03XD^\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04Y\x04\\\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04Y\x04\\\x06\n\x0c\n\x04\x06\x00\x02\x01\x12\x04_\x02d\x03\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03_\x06\x14\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03_\x15*\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03_5K\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04`\x04c\x06\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04`\x04c\x06\n\x0c\n\x04\x06\x00\x02\x02\x12\x04f\x02k\x03\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03f\x06\x1b\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03f\x1c8\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03fC`\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04g\x04j\x06\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04g\x04j\x06\n\x0c\n\x04\x06\x00\x02\x03\x12\x04m\x02r\x03\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03m\x06\x11\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03m\x12$\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03m/B\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04n\x04q\x06\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04n\x04q\x06\n6\n\x04\x06\x00\x02\x04\x12\x04u\x02z\x03\x1a( Get the newest envelope for each topic\n\n\x0c\n\x05\x06\x00\x02\x04\x01\x12\x03u\x06\x17\n\x0c\n\x05\x06\x00\x02\x04\x02\x12\x03u\x180\n\x0c\n\x05\x06\x00\x02\x04\x03\x12\x03u;T\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04v\x04y\x06\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04v\x04y\x06b\x06proto3\n\xed\"\n(xmtpv4/message_api/misbehavior_api.proto\x12\x17xmtp.xmtpv4.message_api\x1a\x1cgoogle/api/annotations.proto\x1a%identity/associations/signature.proto\x1a xmtpv4/envelopes/envelopes.proto\x1a$xmtpv4/message_api/message_api.proto\"\xb5\x02\n\x0fLivenessFailure\x12(\n\x10response_time_ns\x18\x01 \x01(\rR\x0eresponseTimeNs\x12R\n\tsubscribe\x18\x02 \x01(\x0b22.xmtp.xmtpv4.message_api.SubscribeEnvelopesRequestH\x00R\tsubscribe\x12F\n\x05query\x18\x03 \x01(\x0b2..xmtp.xmtpv4.message_api.QueryEnvelopesRequestH\x00R\x05query\x12Q\n\x07publish\x18\x04 \x01(\x0b25.xmtp.xmtpv4.message_api.PublishPayerEnvelopesRequestH\x00R\x07publishB\t\n\x07request\"X\n\rSafetyFailure\x12G\n\tenvelopes\x18\x01 \x03(\x0b2).xmtp.xmtpv4.envelopes.OriginatorEnvelopeR\tenvelopes\"\xf0\x02\n\x19UnsignedMisbehaviorReport\x12(\n\x10reporter_time_ns\x18\x01 \x01(\x04R\x0ereporterTimeNs\x12.\n\x13misbehaving_node_id\x18\x02 \x01(\rR\x11misbehavingNodeId\x128\n\x04type\x18\x03 \x01(\x0e2$.xmtp.xmtpv4.message_api.MisbehaviorR\x04type\x12F\n\x08liveness\x18\x04 \x01(\x0b2(.xmtp.xmtpv4.message_api.LivenessFailureH\x00R\x08liveness\x12@\n\x06safety\x18\x05 \x01(\x0b2&.xmtp.xmtpv4.message_api.SafetyFailureH\x00R\x06safety\x12*\n\x11submitted_by_node\x18\x06 \x01(\x08R\x0fsubmittedByNodeB\t\n\x07failure\"\xce\x01\n\x11MisbehaviorReport\x12$\n\x0eserver_time_ns\x18\x01 \x01(\x04R\x0cserverTimeNs\x12>\n\x1bunsigned_misbehavior_report\x18\x02 \x01(\x0cR\x19unsignedMisbehaviorReport\x12S\n\tsignature\x18\x03 \x01(\x0b25.xmtp.identity.associations.RecoverableEcdsaSignatureR\tsignature\"l\n\x1eSubmitMisbehaviorReportRequest\x12J\n\x06report\x18\x01 \x01(\x0b22.xmtp.xmtpv4.message_api.UnsignedMisbehaviorReportR\x06report\"!\n\x1fSubmitMisbehaviorReportResponse\";\n\x1eQueryMisbehaviorReportsRequest\x12\x19\n\x08after_ns\x18\x01 \x01(\x04R\x07afterNs\"g\n\x1fQueryMisbehaviorReportsResponse\x12D\n\x07reports\x18\x01 \x03(\x0b2*.xmtp.xmtpv4.message_api.MisbehaviorReportR\x07reports*\xb9\x02\n\x0bMisbehavior\x12\x1b\n\x17MISBEHAVIOR_UNSPECIFIED\x10\x00\x12!\n\x1dMISBEHAVIOR_UNRESPONSIVE_NODE\x10\x01\x12\x19\n\x15MISBEHAVIOR_SLOW_NODE\x10\x02\x12\x1e\n\x1aMISBEHAVIOR_FAILED_REQUEST\x10\x03\x12\x1c\n\x18MISBEHAVIOR_OUT_OF_ORDER\x10\x04\x12%\n!MISBEHAVIOR_DUPLICATE_SEQUENCE_ID\x10\x05\x12\x1f\n\x1bMISBEHAVIOR_CAUSAL_ORDERING\x10\x06\x12\x1f\n\x1bMISBEHAVIOR_INVALID_PAYLOAD\x10\x07\x12(\n$MISBEHAVIOR_BLOCKCHAIN_INCONSISTENCY\x10\x082\x8a\x03\n\x0eMisbehaviorApi\x12\xba\x01\n\x17SubmitMisbehaviorReport\x127.xmtp.xmtpv4.message_api.SubmitMisbehaviorReportRequest\x1a8.xmtp.xmtpv4.message_api.SubmitMisbehaviorReportResponse\",\x82\xd3\xe4\x93\x02&\"!/mls/v2/submit-misbehavior-report:\x01*\x12\xba\x01\n\x17QueryMisbehaviorReports\x127.xmtp.xmtpv4.message_api.QueryMisbehaviorReportsRequest\x1a8.xmtp.xmtpv4.message_api.QueryMisbehaviorReportsResponse\",\x82\xd3\xe4\x93\x02&\"!/mls/v2/query-misbehavior-reports:\x01*B0Z.github.com/xmtp/proto/v3/go/xmtpv4/message_apiJ\x8a\x11\n\x06\x12\x04\x01\x00V\x01\nQ\n\x01\x0c\x12\x03\x01\x00\x12\x1aG API for reporting and querying node misbehavior in decentralized XMTP\n\n\x08\n\x01\x02\x12\x03\x03\x00 \n\t\n\x02\x03\x00\x12\x03\x05\x00&\n\t\n\x02\x03\x01\x12\x03\x06\x00/\n\t\n\x02\x03\x02\x12\x03\x07\x00*\n\t\n\x02\x03\x03\x12\x03\x08\x00.\n\x08\n\x01\x08\x12\x03\n\x00E\n\t\n\x02\x08\x0b\x12\x03\n\x00E\n\n\n\x02\x05\x00\x12\x04\x0c\x00\x16\x01\n\n\n\x03\x05\x00\x01\x12\x03\x0c\x05\x10\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\r\x02\x1e\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\r\x02\x19\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\r\x1c\x1d\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x0e\x02$\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x0e\x02\x1f\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x0e\"#\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x0f\x02\x1c\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x0f\x02\x17\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x0f\x1a\x1b\n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x10\x02!\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x10\x02\x1c\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x10\x1f \n\x0b\n\x04\x05\x00\x02\x04\x12\x03\x11\x02\x1f\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03\x11\x02\x1a\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03\x11\x1d\x1e\n\x0b\n\x04\x05\x00\x02\x05\x12\x03\x12\x02(\n\x0c\n\x05\x05\x00\x02\x05\x01\x12\x03\x12\x02#\n\x0c\n\x05\x05\x00\x02\x05\x02\x12\x03\x12&\'\n\x0b\n\x04\x05\x00\x02\x06\x12\x03\x13\x02\"\n\x0c\n\x05\x05\x00\x02\x06\x01\x12\x03\x13\x02\x1d\n\x0c\n\x05\x05\x00\x02\x06\x02\x12\x03\x13 !\n\x0b\n\x04\x05\x00\x02\x07\x12\x03\x14\x02\"\n\x0c\n\x05\x05\x00\x02\x07\x01\x12\x03\x14\x02\x1d\n\x0c\n\x05\x05\x00\x02\x07\x02\x12\x03\x14 !\n\x0b\n\x04\x05\x00\x02\x08\x12\x03\x15\x02+\n\x0c\n\x05\x05\x00\x02\x08\x01\x12\x03\x15\x02&\n\x0c\n\x05\x05\x00\x02\x08\x02\x12\x03\x15)*\n\n\n\x02\x04\x00\x12\x04\x18\x00\x1f\x01\n\n\n\x03\x04\x00\x01\x12\x03\x18\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x19\x02\x1e\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x19\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x19\t\x19\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x19\x1c\x1d\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x1a\x02\x1e\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x1a\x08\x0f\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x1b\x04D\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x1b\x045\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x1b6?\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x1bBC\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x1c\x04<\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x1c\x041\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x1c27\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x1c:;\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x1d\x04E\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x1d\x048\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x1d9@\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x1dCD\n\n\n\x02\x04\x01\x12\x04!\x00#\x01\n\n\n\x03\x04\x01\x01\x12\x03!\x08\x15\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\"\x02B\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\"\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\"\x0b3\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\"4=\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\"@A\n\n\n\x02\x04\x02\x12\x04%\x00/\x01\n\n\n\x03\x04\x02\x01\x12\x03%\x08!\n\x0b\n\x04\x04\x02\x02\x00\x12\x03&\x02\x1e\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03&\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03&\t\x19\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03&\x1c\x1d\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\'\x02!\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\'\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\'\t\x1c\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\'\x1f \n\x0b\n\x04\x04\x02\x02\x02\x12\x03(\x02\x17\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03(\x02\r\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03(\x0e\x12\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03(\x15\x16\n\x0c\n\x04\x04\x02\x08\x00\x12\x04)\x02,\x03\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03)\x08\x0f\n\x0b\n\x04\x04\x02\x02\x03\x12\x03*\x04!\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03*\x04\x13\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03*\x14\x1c\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03*\x1f \n\x0b\n\x04\x04\x02\x02\x04\x12\x03+\x04\x1d\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03+\x04\x11\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03+\x12\x18\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03+\x1b\x1c\nQ\n\x04\x04\x02\x02\x05\x12\x03.\x02\x1d\x1aD Nodes must verify this field is false for client-submitted reports\n\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03.\x02\x06\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03.\x07\x18\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03.\x1b\x1c\n\n\n\x02\x04\x03\x12\x041\x008\x01\n\n\n\x03\x04\x03\x01\x12\x031\x08\x19\nq\n\x04\x04\x03\x02\x00\x12\x034\x02\x1c\x1ad Server time when the report was stored. Used only for querying reports.\n This field is not signed.\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x034\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x034\t\x17\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x034\x1a\x1b\n\x0b\n\x04\x04\x03\x02\x01\x12\x035\x02(\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x035\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x035\x08#\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x035&\'\n4\n\x04\x04\x03\x02\x02\x12\x037\x02E\x1a\' Signed by the node hosting the report\n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x037\x026\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x0377@\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x037CD\n\n\n\x02\x04\x04\x12\x04:\x00<\x01\n\n\n\x03\x04\x04\x01\x12\x03:\x08&\n\x0b\n\x04\x04\x04\x02\x00\x12\x03;\x02\'\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03;\x02\x1b\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03;\x1c\"\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03;%&\n\t\n\x02\x04\x05\x12\x03>\x00*\n\n\n\x03\x04\x05\x01\x12\x03>\x08\'\n\n\n\x02\x04\x06\x12\x04@\x00B\x01\n\n\n\x03\x04\x06\x01\x12\x03@\x08&\n\x0b\n\x04\x04\x06\x02\x00\x12\x03A\x02\x16\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03A\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03A\t\x11\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03A\x14\x15\n\n\n\x02\x04\x07\x12\x04D\x00F\x01\n\n\n\x03\x04\x07\x01\x12\x03D\x08\'\n\x0b\n\x04\x04\x07\x02\x00\x12\x03E\x02)\n\x0c\n\x05\x04\x07\x02\x00\x04\x12\x03E\x02\n\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03E\x0b\x1c\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03E\x1d$\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03E\'(\n\n\n\x02\x06\x00\x12\x04H\x00V\x01\n\n\n\x03\x06\x00\x01\x12\x03H\x08\x16\n\x0c\n\x04\x06\x00\x02\x00\x12\x04I\x02N\x03\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03I\x06\x1d\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03I\x1e<\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03IGf\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04J\x04M\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04J\x04M\x06\n\x0c\n\x04\x06\x00\x02\x01\x12\x04P\x02U\x03\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03P\x06\x1d\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03P\x1e<\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03PGf\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04Q\x04T\x06\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04Q\x04T\x06b\x06proto3\n\xee.\n message_api/v1/message_api.proto\x12\x13xmtp.message_api.v1\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"K\n\x0bIndexCursor\x12\x16\n\x06digest\x18\x01 \x01(\x0cR\x06digest\x12$\n\x0esender_time_ns\x18\x02 \x01(\x04R\x0csenderTimeNs\"L\n\x06Cursor\x128\n\x05index\x18\x01 \x01(\x0b2 .xmtp.message_api.v1.IndexCursorH\x00R\x05indexB\x08\n\x06cursor\"\x99\x01\n\nPagingInfo\x12\x14\n\x05limit\x18\x01 \x01(\rR\x05limit\x123\n\x06cursor\x18\x02 \x01(\x0b2\x1b.xmtp.message_api.v1.CursorR\x06cursor\x12@\n\tdirection\x18\x03 \x01(\x0e2\".xmtp.message_api.v1.SortDirectionR\tdirection\"l\n\x08Envelope\x12#\n\rcontent_topic\x18\x01 \x01(\tR\x0ccontentTopic\x12!\n\x0ctimestamp_ns\x18\x02 \x01(\x04R\x0btimestampNs\x12\x18\n\x07message\x18\x03 \x01(\x0cR\x07message\"M\n\x0ePublishRequest\x12;\n\tenvelopes\x18\x01 \x03(\x0b2\x1d.xmtp.message_api.v1.EnvelopeR\tenvelopes\"\x11\n\x0fPublishResponse\"9\n\x10SubscribeRequest\x12%\n\x0econtent_topics\x18\x01 \x03(\tR\rcontentTopics\"\x15\n\x13SubscribeAllRequest\"\xbb\x01\n\x0cQueryRequest\x12%\n\x0econtent_topics\x18\x01 \x03(\tR\rcontentTopics\x12\"\n\rstart_time_ns\x18\x02 \x01(\x04R\x0bstartTimeNs\x12\x1e\n\x0bend_time_ns\x18\x03 \x01(\x04R\tendTimeNs\x12@\n\x0bpaging_info\x18\x04 \x01(\x0b2\x1f.xmtp.message_api.v1.PagingInfoR\npagingInfo\"\x8e\x01\n\rQueryResponse\x12;\n\tenvelopes\x18\x01 \x03(\x0b2\x1d.xmtp.message_api.v1.EnvelopeR\tenvelopes\x12@\n\x0bpaging_info\x18\x02 \x01(\x0b2\x1f.xmtp.message_api.v1.PagingInfoR\npagingInfo\"R\n\x11BatchQueryRequest\x12=\n\x08requests\x18\x01 \x03(\x0b2!.xmtp.message_api.v1.QueryRequestR\x08requests\"V\n\x12BatchQueryResponse\x12@\n\tresponses\x18\x01 \x03(\x0b2\".xmtp.message_api.v1.QueryResponseR\tresponses*l\n\rSortDirection\x12\x1e\n\x1aSORT_DIRECTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18SORT_DIRECTION_ASCENDING\x10\x01\x12\x1d\n\x19SORT_DIRECTION_DESCENDING\x10\x022\xc6\x05\n\nMessageApi\x12t\n\x07Publish\x12#.xmtp.message_api.v1.PublishRequest\x1a$.xmtp.message_api.v1.PublishResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/message/v1/publish:\x01*\x12u\n\tSubscribe\x12%.xmtp.message_api.v1.SubscribeRequest\x1a\x1d.xmtp.message_api.v1.Envelope\" \x82\xd3\xe4\x93\x02\x1a\"\x15/message/v1/subscribe:\x01*0\x01\x12X\n\nSubscribe2\x12%.xmtp.message_api.v1.SubscribeRequest\x1a\x1d.xmtp.message_api.v1.Envelope\"\x00(\x010\x01\x12\x7f\n\x0cSubscribeAll\x12(.xmtp.message_api.v1.SubscribeAllRequest\x1a\x1d.xmtp.message_api.v1.Envelope\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/message/v1/subscribe-all:\x01*0\x01\x12l\n\x05Query\x12!.xmtp.message_api.v1.QueryRequest\x1a\".xmtp.message_api.v1.QueryResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/message/v1/query:\x01*\x12\x81\x01\n\nBatchQuery\x12&.xmtp.message_api.v1.BatchQueryRequest\x1a\'.xmtp.message_api.v1.BatchQueryResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/message/v1/batch-query:\x01*Ba\n\x1dorg.xmtp.proto.message.api.v1Z*github.com/xmtp/proto/v3/go/message_api/v1\x92A\x13\x12\x11\n\nMessageApi2\x031.0J\xf0\x1d\n\x07\x12\x05\x01\x00\x90\x01\x01\n\x17\n\x01\x0c\x12\x03\x01\x00\x12\x1a\r Message API\n\n\x08\n\x01\x02\x12\x03\x02\x00\x1c\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x008\n\x08\n\x01\x08\x12\x03\x07\x00A\n\t\n\x02\x08\x0b\x12\x03\x07\x00A\n\x08\n\x01\x08\x12\x03\x08\x006\n\t\n\x02\x08\x01\x12\x03\x08\x006\n\t\n\x01\x08\x12\x04\t\x00\x0e\x02\n\x0b\n\x03\x08\x92\x08\x12\x04\t\x00\x0e\x02\n\x11\n\x02\x06\x00\x12\x04\x11\x009\x01\x1a\x05 RPC\n\n\n\n\x03\x06\x00\x01\x12\x03\x11\x08\x12\n/\n\x04\x06\x00\x02\x00\x12\x04\x13\x02\x18\x03\x1a! Publish messages to the network\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x13\x06\r\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x13\x0e\x1c\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x13\'6\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\x14\x04\x17\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\x14\x04\x17\x06\nK\n\x04\x06\x00\x02\x01\x12\x04\x1a\x02\x1f\x03\x1a= Subscribe to a stream of new envelopes matching a predicate\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x1a\x06\x0f\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x1a\x10 \n\x0c\n\x05\x06\x00\x02\x01\x06\x12\x03\x1a+1\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x1a2:\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04\x1b\x04\x1e\x06\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04\x1b\x04\x1e\x06\n\x9d\x01\n\x04\x06\x00\x02\x02\x12\x03#\x02F\x1a\x8f\x01 Subscribe to a stream of new envelopes and your subscription using\n bidirectional streaming\n protolint:disable:next RPC_REQUEST_STANDARD_NAME\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03#\x06\x10\n\x0c\n\x05\x06\x00\x02\x02\x05\x12\x03#\x11\x17\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03#\x18(\n\x0c\n\x05\x06\x00\x02\x02\x06\x12\x03#39\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03#:B\n5\n\x04\x06\x00\x02\x03\x12\x04%\x02*\x03\x1a\' Subscribe to a stream of all messages\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03%\x06\x12\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03%\x13&\n\x0c\n\x05\x06\x00\x02\x03\x06\x12\x03%17\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03%8@\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04&\x04)\x06\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04&\x04)\x06\n,\n\x04\x06\x00\x02\x04\x12\x04,\x021\x03\x1a\x1e Query the store for messages\n\n\x0c\n\x05\x06\x00\x02\x04\x01\x12\x03,\x06\x0b\n\x0c\n\x05\x06\x00\x02\x04\x02\x12\x03,\x0c\x18\n\x0c\n\x05\x06\x00\x02\x04\x03\x12\x03,#0\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04-\x040\x06\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04-\x040\x06\nF\n\x04\x06\x00\x02\x05\x12\x043\x028\x03\x1a8 BatchQuery containing a set of queries to be processed\n\n\x0c\n\x05\x06\x00\x02\x05\x01\x12\x033\x06\x10\n\x0c\n\x05\x06\x00\x02\x05\x02\x12\x033\x11\"\n\x0c\n\x05\x06\x00\x02\x05\x03\x12\x033-?\n\r\n\x05\x06\x00\x02\x05\x04\x12\x044\x047\x06\n\x11\n\t\x06\x00\x02\x05\x04\xb0\xca\xbc\"\x12\x044\x047\x06\n\x1c\n\x02\x05\x00\x12\x04<\x00@\x01\x1a\x10 Sort direction\n\n\n\n\x03\x05\x00\x01\x12\x03<\x05\x12\n\x0b\n\x04\x05\x00\x02\x00\x12\x03=\x02!\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03=\x02\x1c\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03=\x1f \n\x0b\n\x04\x05\x00\x02\x01\x12\x03>\x02\x1f\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03>\x02\x1a\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03>\x1d\x1e\n\x0b\n\x04\x05\x00\x02\x02\x12\x03?\x02 \n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03?\x02\x1b\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03?\x1e\x1f\n\xa0\x01\n\x02\x04\x00\x12\x04E\x00H\x01\x1a\x93\x01 This is based off of the go-waku Index type, but with the\n receiverTime and pubsubTopic removed for simplicity.\n Both removed fields are optional\n\n\n\n\x03\x04\x00\x01\x12\x03E\x08\x13\n\x0b\n\x04\x04\x00\x02\x00\x12\x03F\x02\x13\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03F\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03F\x08\x0e\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03F\x11\x12\n\x0b\n\x04\x04\x00\x02\x01\x12\x03G\x02\x1c\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03G\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03G\t\x17\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03G\x1a\x1b\n>\n\x02\x04\x01\x12\x04K\x00R\x01\x1a2 Wrapper for potentially multiple types of cursor\n\n\n\n\x03\x04\x01\x01\x12\x03K\x08\x0e\n\xaf\x01\n\x04\x04\x01\x08\x00\x12\x04O\x02Q\x03\x1a\xa0\x01 Making the cursor a one-of type, as I would like to change the way we\n handle pagination to use a precomputed sort field.\n This way we can handle both methods\n\n\x0c\n\x05\x04\x01\x08\x00\x01\x12\x03O\x08\x0e\n\x0b\n\x04\x04\x01\x02\x00\x12\x03P\x04\x1a\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03P\x04\x0f\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03P\x10\x15\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03P\x18\x19\n\x82\x01\n\x02\x04\x02\x12\x04V\x00[\x01\x1av This is based off of the go-waku PagingInfo struct, but with the direction\n changed to our SortDirection enum format\n\n\n\n\x03\x04\x02\x01\x12\x03V\x08\x12\nK\n\x04\x04\x02\x02\x00\x12\x03X\x02\x13\x1a> Note: this is a uint32, while go-waku\'s pageSize is a uint64\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03X\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03X\t\x0e\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03X\x11\x12\n\x0b\n\x04\x04\x02\x02\x01\x12\x03Y\x02\x14\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03Y\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03Y\t\x0f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03Y\x12\x13\n\x0b\n\x04\x04\x02\x02\x02\x12\x03Z\x02\x1e\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03Z\x02\x0f\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03Z\x10\x19\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03Z\x1c\x1d\n?\n\x02\x04\x03\x12\x04^\x00h\x01\x1a3 Envelope encapsulates a message while in transit.\n\n\n\n\x03\x04\x03\x01\x12\x03^\x08\x10\n\x8f\x01\n\x04\x04\x03\x02\x00\x12\x03b\x02\x1b\x1a\x81\x01 The topic the message belongs to,\n If the message includes the topic as well\n it MUST be the same as the topic in the envelope.\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03b\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03b\t\x16\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03b\x19\x1a\n\x92\x01\n\x04\x04\x03\x02\x01\x12\x03f\x02\x1a\x1a\x84\x01 Message creation timestamp\n If the message includes the timestamp as well\n it MUST be equivalent to the timestamp in the envelope.\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03f\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03f\t\x15\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03f\x18\x19\n\x0b\n\x04\x04\x03\x02\x02\x12\x03g\x02\x14\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03g\x02\x07\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03g\x08\x0f\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03g\x12\x13\n\x15\n\x02\x04\x04\x12\x04k\x00m\x01\x1a\t Publish\n\n\n\n\x03\x04\x04\x01\x12\x03k\x08\x16\n\x0b\n\x04\x04\x04\x02\x00\x12\x03l\x02\"\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03l\x0b\x13\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03l\x14\x1d\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03l !\n4\n\x02\x04\x05\x12\x03p\x00\x1a\x1a) Empty message as a response for Publish\n\n\n\n\x03\x04\x05\x01\x12\x03p\x08\x17\n\x17\n\x02\x04\x06\x12\x04s\x00u\x01\x1a\x0b Subscribe\n\n\n\n\x03\x04\x06\x01\x12\x03s\x08\x18\n\x0b\n\x04\x04\x06\x02\x00\x12\x03t\x02%\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x03t\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03t\x0b\x11\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03t\x12 \n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03t#$\n\x19\n\x02\x04\x07\x12\x03x\x00\x1e\x1a\x0e SubscribeAll\n\n\n\n\x03\x04\x07\x01\x12\x03x\x08\x1b\n\x14\n\x02\x04\x08\x12\x05{\x00\x80\x01\x01\x1a\x07 Query\n\n\n\n\x03\x04\x08\x01\x12\x03{\x08\x14\n\x0b\n\x04\x04\x08\x02\x00\x12\x03|\x02%\n\x0c\n\x05\x04\x08\x02\x00\x04\x12\x03|\x02\n\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03|\x0b\x11\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03|\x12 \n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03|#$\n\x0b\n\x04\x04\x08\x02\x01\x12\x03}\x02\x1b\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03}\x02\x08\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03}\t\x16\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03}\x19\x1a\n\x0b\n\x04\x04\x08\x02\x02\x12\x03~\x02\x19\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03~\x02\x08\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03~\t\x14\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03~\x17\x18\n\x0b\n\x04\x04\x08\x02\x03\x12\x03\x7f\x02\x1d\n\x0c\n\x05\x04\x08\x02\x03\x06\x12\x03\x7f\x02\x0c\n\x0c\n\x05\x04\x08\x02\x03\x01\x12\x03\x7f\r\x18\n\x0c\n\x05\x04\x08\x02\x03\x03\x12\x03\x7f\x1b\x1c\n?\n\x02\x04\t\x12\x06\x83\x01\x00\x86\x01\x01\x1a1 The response, containing envelopes, for a query\n\n\x0b\n\x03\x04\t\x01\x12\x04\x83\x01\x08\x15\n\x0c\n\x04\x04\t\x02\x00\x12\x04\x84\x01\x02\"\n\r\n\x05\x04\t\x02\x00\x04\x12\x04\x84\x01\x02\n\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\x84\x01\x0b\x13\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x84\x01\x14\x1d\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x84\x01 !\n\x0c\n\x04\x04\t\x02\x01\x12\x04\x85\x01\x02\x1d\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\x85\x01\x02\x0c\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x85\x01\r\x18\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x85\x01\x1b\x1c\n\x1a\n\x02\x04\n\x12\x06\x89\x01\x00\x8b\x01\x01\x1a\x0c BatchQuery\n\n\x0b\n\x03\x04\n\x01\x12\x04\x89\x01\x08\x19\n\x0c\n\x04\x04\n\x02\x00\x12\x04\x8a\x01\x02%\n\r\n\x05\x04\n\x02\x00\x04\x12\x04\x8a\x01\x02\n\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\x8a\x01\x0b\x17\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x8a\x01\x18 \n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x8a\x01#$\nD\n\x02\x04\x0b\x12\x06\x8e\x01\x00\x90\x01\x01\x1a6 Response containing a list of QueryResponse messages\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x8e\x01\x08\x1a\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\x8f\x01\x02\'\n\r\n\x05\x04\x0b\x02\x00\x04\x12\x04\x8f\x01\x02\n\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\x8f\x01\x0b\x18\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\x8f\x01\x19\"\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\x8f\x01%&b\x06proto3\n\x91\x0b\n\x1amessage_api/v1/authn.proto\x12\x13xmtp.message_api.v1\x1a!message_contents/public_key.proto\x1a message_contents/signature.proto\"\xc6\x01\n\x05Token\x12C\n\x0cidentity_key\x18\x01 \x01(\x0b2 .xmtp.message_contents.PublicKeyR\x0bidentityKey\x12&\n\x0fauth_data_bytes\x18\x02 \x01(\x0cR\rauthDataBytes\x12P\n\x13auth_data_signature\x18\x03 \x01(\x0b2 .xmtp.message_contents.SignatureR\x11authDataSignature\"J\n\x08AuthData\x12\x1f\n\x0bwallet_addr\x18\x01 \x01(\tR\nwalletAddr\x12\x1d\n\ncreated_ns\x18\x02 \x01(\x04R\tcreatedNsBK\n\x1dorg.xmtp.proto.message.api.v1Z*github.com/xmtp/proto/v3/go/message_api/v1J\xae\x07\n\x06\x12\x04\x01\x00\x1f\x01\n*\n\x01\x0c\x12\x03\x01\x00\x12\x1a Client authentication protocol\n\n\x08\n\x01\x02\x12\x03\x02\x00\x1c\n\t\n\x02\x03\x00\x12\x03\x04\x00+\n\t\n\x02\x03\x01\x12\x03\x05\x00*\n\x08\n\x01\x08\x12\x03\x07\x00A\n\t\n\x02\x08\x0b\x12\x03\x07\x00A\n\x08\n\x01\x08\x12\x03\x08\x006\n\t\n\x02\x08\x01\x12\x03\x08\x006\nf\n\x02\x04\x00\x12\x04\x0c\x00\x13\x01\x1aZ Token is used by clients to prove to the nodes\n that they are serving a specific wallet.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\r\n.\n\x04\x04\x00\x02\x00\x12\x03\x0e\x023\x1a! identity key signed by a wallet\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0e\x02!\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\".\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e12\n(\n\x04\x04\x00\x02\x01\x12\x03\x10\x02\x1c\x1a\x1b encoded bytes of AuthData\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x10\x02\x07\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x10\x08\x17\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x10\x1a\x1b\n7\n\x04\x04\x00\x02\x02\x12\x03\x12\x02:\x1a* identity key signature of AuthData bytes\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x12\x02!\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x12\"5\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x1289\n\xe9\x01\n\x02\x04\x01\x12\x04\x1a\x00\x1f\x01\x1a\xdc\x01 AuthData carries token parameters that are authenticated\n by the identity key signature.\n It is embedded in the Token structure as bytes\n so that the bytes don\'t need to be reconstructed\n to verify the token signature.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1a\x08\x10\n$\n\x04\x04\x01\x02\x00\x12\x03\x1c\x02\x19\x1a\x17 address of the wallet\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x1c\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1c\t\x14\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1c\x17\x18\n7\n\x04\x04\x01\x02\x01\x12\x03\x1e\x02\x18\x1a* time when the token was generated/signed\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1e\t\x13\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1e\x16\x17b\x06proto3";