class Message {

	public void decodeBase64(byte[] bytes) {
		Message result;
		try {
			result = new Message(Base64.getDecoder().decode(bytes));
			id = result.id;
			tag = result.tag;
			messageGroupId = result.messageGroupId;
			sequenceNumber = result.sequenceNumber;
			sequenceTotal = result.sequenceTotal;
			priority = result.priority;
			timestamp = result.timestamp;
			publisher = result.publisher;
			authIdentifier = result.authIdentifier;
			authGroup = result.authGroup;
			version = result.version;
			chainPosition = result.chainPosition;
			hash = result.hash;
			previousHash = result.previousHash;
			nonce = result.nonce;
			difficultyTarget = result.difficultyTarget;
			infoType = result.infoType;
			infoFormat = result.infoFormat;
			contextData = result.contextData;
			contentData = result.contentData;
		} catch (Exception exp) {
			logError(MODULE_NAME, "Error in decodeBase64", new AgentSystemException("Error in decodeBase64", exp));
		}
	}

	public  Message();
	public  Message(String publisher);
	public  Message(JsonObject json);
	public  Message(byte[] rawBytes);
	public  Message(byte[] header, byte[] data);

}