File: //opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/__pycache__/multipart.cpython-310.pyc
o
;j�� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m
Z
mZmZm
Z
d dlmZ d dlmZmZmZmZmZ d dlmZmZmZ d dlmZmZ dd lmZ dd
lm Z m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z,m-Z- dd
l.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z; ddl<m=Z= ej>dkr�d dlm?Z? neddd�Z?ej>dkr�d dl m@Z@ neeAeBddf Z@ede@d�ZCdZDer�ddlEmFZF G dd� deG�ZHG d d!� d!eG�ZId"eJdB d#eKeJdB eLeJeJf f fd$d%�ZM &d7d'eeJeJf d(eJd#eJdB fd)d*�ZNG d+d,� d,�ZOG d-d� d�ZPe;ePe7jQd.�G d/d0� d0e8��ZRG d1d2� d2�ZSeKe8eJeJf ZTG d3d4� d4e8�ZUG d5d6� d6�ZVdS )8� N)�deque)�
AsyncIterator�Iterator�Mapping�Sequence)�
TracebackType)�
TYPE_CHECKING�Any�TypeVar�Union�cast)� parse_qsl�unquote� urlencode)�CIMultiDict�CIMultiDictProxy� )�AbstractStreamWriter)�ZLibCompressor�ZLibDecompressor)�CONTENT_DISPOSITION�CONTENT_ENCODING�CONTENT_LENGTH�CONTENT_TRANSFER_ENCODING�CONTENT_TYPE)�CHAR�DEFAULT_CHUNK_SIZE�TOKEN�parse_mimetype�reify)�
HeadersParser)�BadHttpMessage)�internal_logger)�JsonPayload�LookupError�Order�Payload�
StringPayload�get_payload�payload_type)�StreamReader)� � )�Selfr- �BodyPartReader)�bound)r+ � )�Bufferzmemoryview[int]zmemoryview[bytes]�_Buffer)�MultipartReader�MultipartWriterr. �BadContentDispositionHeader�BadContentDispositionParam�parse_content_disposition�content_disposition_filename)�ClientResponsec @ � e Zd ZdS )r5 N��__name__�
__module__�__qualname__� r? r? �E/opt/saltstack/salt/lib/python3.10/site-packages/aiohttp/multipart.pyr5 C � r5 c @ r: )r6 Nr; r? r? r? r@ r6 G rA r6 �header�returnc s� dt dtfdd�� dt dtfdd�}dt dtf� fdd�}dt dtfd d
�}dt dtfdd�}d
�ttjt��d�dt dt dt fdd�}| sJd i fS | �d�^}}� |�s`t� t
| �� d i fS i }|�r[|�d�} | stt� t
| �� qbd| vr�t� t
| �� d i fS | �dd�\}
}|
�� �
� }
|�� }|
|v r�t� t
| �� d i fS � |
�s�t� t| �� qb||
�r�||�r�||dd� �}n�� |�s�t� t| �� qbn�||
��r||�r�|�dd�\}}
}|p�d}nt� t| �� qbzt||d�}W n_ t�y t� t| �� Y qbw d}||��rd}||dd� �d��}n+� |��r$d}n#|�rG|� d|d � �}||��rG|�d� ||dd� �d��}d}|�rUt� t
| �� d i fS |||
<