File: //lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/padding.cpython-38.pyc
U
�e�] � @ s d dl mZmZmZ d dlZd dlZd dlmZ d dlm Z d dl
mZ e�ej
�G dd� de��Zdd � Zd
d� Zdd
� Zdd� Zdd� ZG dd� de�Ze�e�G dd� de��Ze�e�G dd� de��ZG dd� de�Ze�e�G dd� de��Ze�e�G dd� de��ZdS )� )�absolute_import�division�print_functionN)�utils)�AlreadyFinalized)�libc @ s( e Zd Zejdd� �Zejdd� �ZdS )�PaddingContextc C s dS )zR
Pads the provided bytes and returns any available data as bytes.
N� )�self�datar r �H/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/padding.py�update s zPaddingContext.updatec C s dS )z6
Finalize the padding, returns bytes.
Nr �r
r r r �finalize s zPaddingContext.finalizeN)�__name__�
__module__�__qualname__�abc�abstractmethodr
r r r r r r s
r c C s6 d| krdksn t d��| d dkr2t d��d S )Nr i� z%block_size must be in range(0, 2041).� z#block_size must be a multiple of 8.)�
ValueError)�
block_sizer r r �_byte_padding_check s r c C sd | d krt d��t�d|� | |7 } t| �|d }| d ||d � }| ||d d � } | |fS )N�Context was already finalized.r r )r r �_check_bytes�len��buffer_r r Zfinished_blocks�resultr r r �_byte_padding_update'