__bounded__
__attribute__((__bounded__(__minbytes__, 2, CHACHA_MINKEYLEN)));
__attribute__((__bounded__(__minbytes__, 2, CHACHA_NONCELEN)))
__attribute__((__bounded__(__minbytes__, 3, CHACHA_CTRLEN)));
__attribute__((__bounded__(__buffer__, 2, 4)))
__attribute__((__bounded__(__buffer__, 3, 4)));
__attribute__((__bounded__(__buffer__, 1, 2)));
__attribute__((__bounded__(__buffer__, 4, 5)));
#if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__bounded__)
__attribute__((__bounded__(__buffer__, 2, 3)))
__attribute__((__bounded__(__buffer__, 4, 5)));
__attribute__((__bounded__(__buffer__, 3, 4)));
__attribute__((__bounded__(__buffer__, 2, 3)));
__attribute__((__bounded__(__buffer__, 2, 3)));
__attribute__((__bounded__(__buffer__, 2, 3)));
__attribute__((__bounded__(__buffer__, 2, 3)));
__attribute__((__bounded__(__buffer__, 2, 3)));
__attribute__((__bounded__(__minbytes__, 1, CURVE25519_SIZE)))
__attribute__((__bounded__(__minbytes__, 2, CURVE25519_SIZE)));
__attribute__((__bounded__(__minbytes__, 1, CURVE25519_SIZE)))
__attribute__((__bounded__(__minbytes__, 2, CURVE25519_SIZE)));
__attribute__((__bounded__(__minbytes__, 1, CURVE25519_SIZE)))
__attribute__((__bounded__(__minbytes__, 2, CURVE25519_SIZE)));
__attribute__((__bounded__(__minbytes__, 1, CURVE25519_SIZE)))
__attribute__((__bounded__(__minbytes__, 2, CURVE25519_SIZE)))
__attribute__((__bounded__(__minbytes__, 3, CURVE25519_SIZE)));
__attribute__((__bounded__( __minbytes__, 1, 8)));
__attribute__((__bounded__( __minbytes__, 1, 4)));
__attribute__((__bounded__( __minbytes__, 1, 2)));
__attribute__((__bounded__( __minbytes__, 1, 8)));
__attribute__((__bounded__( __minbytes__, 1, 4)));
__attribute__((__bounded__( __minbytes__, 1, 2)));
__attribute__((__bounded__(__minbytes__, 1, 4)));
__attribute__((__bounded__(__minbytes__, 1, 4)));
__attribute__((__bounded__(__string__,2,3)));
__attribute__((__bounded__(__minbytes__,1,MD5_DIGEST_LENGTH)));
__attribute__((__bounded__(__minbytes__,1,4)))
__attribute__((__bounded__(__minbytes__,2,MD5_BLOCK_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,MD5_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,MD5_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,MD5_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,1,2)))
__attribute__((__bounded__(__minbytes__,3,MD5_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,1,5)))
__attribute__((__bounded__(__minbytes__,2,SHA1_BLOCK_LENGTH)));
__attribute__((__bounded__(__string__,2,3)));
__attribute__((__bounded__(__minbytes__,1,SHA1_DIGEST_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA1_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA1_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA1_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,1,2)))
__attribute__((__bounded__(__minbytes__,3,SHA1_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,1,SHA256_DIGEST_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,1,2)))
__attribute__((__bounded__(__minbytes__,3,SHA256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,2,3)));
__attribute__((__bounded__(__minbytes__,1,SHA384_DIGEST_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA384_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA384_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA384_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,1,2)))
__attribute__((__bounded__(__minbytes__,3,SHA384_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,2,3)));
__attribute__((__bounded__(__minbytes__,1,SHA512_DIGEST_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA512_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA512_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA512_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,1,2)))
__attribute__((__bounded__(__minbytes__,3,SHA512_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,2,3)));
__attribute__((__bounded__(__minbytes__,1,SHA512_256_DIGEST_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA512_256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA512_256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA512_256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,1,2)))
__attribute__((__bounded__(__minbytes__,3,SHA512_256_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,2,3)));
__attribute__((__bounded__(__minbytes__,1,SHA224_DIGEST_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA224_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA224_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__minbytes__,2,SHA224_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,1,2)))
__attribute__((__bounded__(__minbytes__,3,SHA224_DIGEST_STRING_LENGTH)));
__attribute__((__bounded__(__string__,2,3)));
__attribute__ ((__bounded__(__string__,1,3)));
__attribute__ ((__bounded__(__string__,1,3)));
__attribute__ ((__bounded__(__string__,1,3)));
__attribute__((__bounded__(__minbytes__, 1, POLY1305_TAGLEN)))
__attribute__((__bounded__(__buffer__, 2, 3)))
__attribute__((__bounded__(__minbytes__, 4, POLY1305_KEYLEN)));
char *, size_t) __attribute__((__bounded__(__string__, 2, 3)));