func newCipherBlockReader(r io.Reader, mode cipher.BlockMode) *cipherBlockReader {
	cr := &cipherBlockReader{r: r, mode: mode}
	cr.outbuf = make([]byte, 0, mode.BlockSize())
	cr.inbuf = make([]byte, 0, mode.BlockSize())
	return cr
}
func newCipherBlockReader(r io.Reader, mode cipher.BlockMode) *cipherBlockReader {
	cr := &cipherBlockReader{r: r, mode: mode}
	cr.outbuf = make([]byte, 0, mode.BlockSize())
	cr.inbuf = make([]byte, 0, mode.BlockSize())
	return cr
}
func newCipherBlockReader ( r io . Reader , mode cipher . BlockMode ) * cipherBlockReader { cr := & cipherBlockReader { r : r , mode : mode } cr . outbuf = make ( [ ] byte , 0 , mode . BlockSize ( ) ) cr . inbuf = make ( [ ] byte , 0 , mode . BlockSize ( ) ) return cr }
// newCipherBlockReader returns a cipherBlockReader that decrypts the given io.Reader using
// the provided block mode cipher.
newCipherBlockReader returns a cipherBlockReader that decrypts the given io . Reader using the provided block mode cipher .