<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
Pf                 @   s|   d dl Z d dlZd dlZd dlZd dlmZ ddlmZmZm	Z	 dd Z
dd Zd	d
 Zdd Zdd ZG dd deZdS )    N)CaseInsensitiveDict   )HTTPResponsepickle	text_typec             C   s   t j| jdS )Nascii)base64Z	b64encodedecode)b r   /usr/lib/python3.6/serialize.py_b64_encode_bytes   s    r   c             C   s   t | jdS )Nutf8)r   encode)sr   r   r   _b64_encode_str   s    r   c             C   s   t | trt| S t| S )N)
isinstancer   r   r   )r   r   r   r   _b64_encode   s    
r   c             C   s   t j| jdS )Nr   )r   Z	b64decoder   )r
   r   r   r   _b64_decode_bytes   s    r   c             C   s   t | jdS )Nr   )r   r	   )r   r   r   r   _b64_decode_str   s    r   c               @   s>   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd ZdS )
SerializerNc          	   C   s   t |j}|d kr*|jdd}tj||_dt|tdd |jj D |j	|j
t|j|j|jdi}i |d< d|kr|d jd}x*|D ]"}|j }|jj|d |d |< qW td	d |d j D |d< d
jdtjtj|dddjdgS )NF)decode_contentresponsec             s   s"   | ]\}}t |t |fV  qd S )N)r   ).0kvr   r   r   	<genexpr>9   s   z#Serializer.dumps.<locals>.<genexpr>)bodyheadersstatusversionreasonstrictr   vary,c             s   s.   | ]&\}}t ||d k	r t |n|fV  qd S )N)r   )r   r   r   r   r   r   r   N   s      ,s   cc=2:T)Z
separatorsZ	sort_keysr   )r$   r&   )r   r   readioBytesIOZ_fpr   dictitemsr   r    r   r!   r"   r   splitstripgetjoinzlibcompressjsondumpsr   )selfrequestr   r   Zresponse_headersdataZvaried_headersheaderr   r   r   r3   #   s:    

zSerializer.dumpsc             C   s   |sd S y|j dd\}}W n tk
r4   d}Y nX |d d dkrR|| }d}|j ddd	 jd}yt| dj|||S  tk
r   d S X d S )
Nr%   r   s   cc=0   s   cc=   =r   z_loads_v{0})r,   
ValueErrorr	   getattrformatAttributeError)r4   r5   r6   Zverr   r   r   loads[   s    
zSerializer.loadsc             C   s   d|j di krdS x2|j di j D ]\}}|jj |d|kr&dS q&W |d jd}t|d d d}|j dd	d
kr|jd ||d d< ytj|}W n$ tk
r   tj|jd}Y nX t	f |dd|d S )z`Verify our vary headers match and construct a real urllib3
        HTTPResponse object.
        *r#   Nr   r   r   )r6   ztransfer-encoding Zchunkedr   F)r   Zpreload_content)
r.   r+   r   popr   r(   r)   	TypeErrorr   r   )r4   r5   cachedr7   valueZbody_rawr   r   r   r   r   prepare_responsex   s$    
zSerializer.prepare_responsec             C   s   d S )Nr   )r4   r5   r6   r   r   r   	_loads_v0   s    zSerializer._loads_v0c             C   s0   yt j|}W n tk
r"   d S X | j||S )N)r   r?   r;   rF   )r4   r5   r6   rD   r   r   r   	_loads_v1   s
    zSerializer._loads_v1c             C   s   yt jtj|jd}W n tk
r.   d S X t|d d |d d< tdd |d d j D |d d< t	|d d |d d< tdd |d	 j D |d	< | j
||S )
Nr   r   r   c             s   s"   | ]\}}t |t |fV  qd S )N)r   )r   r   r   r   r   r   r      s   z'Serializer._loads_v2.<locals>.<genexpr>r   r!   c             s   s.   | ]&\}}t ||d k	r t |n|fV  qd S )N)r   )r   r   r   r   r   r   r      s   r#   )r2   r?   r0   Z
decompressr	   r;   r   r*   r+   r   rF   )r4   r5   r6   rD   r   r   r   	_loads_v2   s    zSerializer._loads_v2)N)	__name__
__module____qualname__r3   r?   rF   rG   rH   rI   r   r   r   r   r   !   s   
8(r   )r   r(   r2   r0   Zpip._vendor.requests.structuresr   compatr   r   r   r   r   r   r   r   objectr   r   r   r   r   <module>   s   