§
    
Á³g©  ã                   ón   — d dl Z d dlZd dlZd dlmZ ddlmZmZ ddlm	Z	 ddl
mZ  G d„ de¦  «        ZdS )	é    N)ÚHTTPAdapteré   )ÚCacheControllerÚPERMANENT_REDIRECT_STATUSES)Ú	DictCache)ÚCallbackFileWrapperc                   óX   ‡ — e Zd Zh d£Z	 	 	 	 	 	 d	ˆ fd„	Zd
ˆ fd„	Z	 dˆ fd„	Zˆ fd„Zˆ xZS )ÚCacheControlAdapter>   ÚPUTÚPATCHÚDELETENTc                 óØ   •—  t          t          | ¦  «        j        |i |¤Ž |€t          ¦   «         n|| _        || _        |pd| _        |pt          }	 |	| j        ||¬¦  «        | _        d S )N)ÚGET)Úcache_etagsÚ
serializer)	Úsuperr
   Ú__init__r   ÚcacheÚ	heuristicÚcacheable_methodsr   Ú
controller)Úselfr   r   Úcontroller_classr   r   r   ÚargsÚkwÚcontroller_factoryÚ	__class__s             €ú^/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/adapter.pyr   zCacheControlAdapter.__init__   s€   ø€ ð 	2�Õ! 4Ñ(Ô(Ô1°4Ð>¸2Ð>Ð>Ð>Ø$) M•Y‘[”[�[°uˆŒ
Ø"ˆŒØ!2Ð!>°hˆÔà-Ð@µÐØ,Ð,ØŒJ K¸Jð
ñ 
ô 
ˆŒˆˆó    c                 ól  •— |p| j         }|j        |v r	 | j                             |¦  «        }n# t          j        $ r d}Y nw xY w|r|                      ||d¬¦  «        S |j                             | j         	                    |¦  «        ¦  «          t          t          | ¦  «        j        |fi |¤Ž}|S )z”
        Send a request. Use the request information to see if it
        exists in the cache and cache the response if we need to and can.
        NT)Ú
from_cache)r   Úmethodr   Úcached_requestÚzlibÚerrorÚbuild_responseÚheadersÚupdateÚconditional_headersr   r
   Úsend)r   Úrequestr   r   Ú	cacheableÚcached_responseÚrespr   s          €r   r*   zCacheControlAdapter.send(   sØ   ø€ ð
 &Ð?¨Ô)?ˆ	ØŒ>˜YÐ&Ð&ð'Ø"&¤/×"@Ò"@ÀÑ"IÔ"I��øÝ”:ð 'ð 'ð 'Ø"&���ð'øøøàð VØ×*Ò*¨7°OÐPTÐ*ÑUÔUÐUð ŒO×"Ò" 4¤?×#FÒ#FÀwÑ#OÔ#OÑPÔPÐPà4�uÕ(¨$Ñ/Ô/Ô4°WÐCÐCÀÐCÐCˆàˆs   •0 °AÁAFc                 ó^  •‡
— |p| j         }|�s |j        |v �r| j        r| j                             |¦  «        }|j        dk    rN| j                             ||¦  «        }||urd}|                     d¬¦  «         |                     ¦   «          |}nœt          |j        ¦  «        t          v r| j                             ||¦  «         net          |j        t          j        | j        j        ||¦  «        ¦  «        |_        |j        r&|j        Š
ˆ
fd„}t%          j        ||¦  «        |_        t)          t*          | ¦  «                             ||¦  «        }|j        | j        v r@|j        r9| j                             |j        ¦  «        }	| j                             |	¦  «         ||_        |S )z¥
        Build a response by making a request or using the cache.

        This will end up calling send and returning a potentially
        cached response
        i0  TF)Údecode_contentc                 óh   •—  ‰¦   «          | j         dk    r| j                             ¦   «          d S d S )Nr   )Ú
chunk_leftÚ_fpÚ_close)r   Úsuper_update_chunk_lengths    €r   Ú_update_chunk_lengthz@CacheControlAdapter.build_response.<locals>._update_chunk_lengthr   s?   ø€ Ø1Ð1Ñ3Ô3Ð3Øœ?¨aÒ/Ð/Ø œHŸOšOÑ-Ô-Ð-Ð-Ð-ð 0Ð/r   )r   r"   r   ÚapplyÚstatusr   Úupdate_cached_responseÚreadÚrelease_connÚintr   Úcache_responser   r3   Ú	functoolsÚpartialÚchunkedr6   ÚtypesÚ
MethodTyper   r
   r&   Úinvalidating_methodsÚokÚ	cache_urlÚurlr   Údeleter!   )r   r+   Úresponser!   r   r,   r-   r6   r.   rE   r5   r   s             @€r   r&   z"CacheControlAdapter.build_response=   sÞ  øø€ ð &Ð?¨Ô)?ˆ	Øñ 2	˜gœn°	Ð9Ñ9ð Œ~ð :Øœ>×/Ò/°Ñ9Ô9�ð Œ #Ò%Ð%ð
 #'¤/×"HÒ"HØ˜Xñ#ô #�ð #¨(Ð2Ð2Ø!%�Jð —’¨U�Ñ3Ô3Ð3Ø×%Ò%Ñ'Ô'Ð'à*��õ �X”_Ñ%Ô%Õ)DÐDÐDØ”×.Ò.¨w¸ÑAÔAÐAÐAõ  3Ø”LÝÔ%ØœÔ6¸Àñô ñ ô  �”ð Ô#ð 
Ø08Ô0MÐ-ð.ð .ð .ð .ð .õ
 5:Ô4DØ,¨hñ5ô 5�HÔ1õ Õ(¨$Ñ/Ô/×>Ò>¸wÈÑQÔQˆð Œ>˜TÔ6Ð6Ð6¸4¼7Ð6Øœ×1Ò1°'´+Ñ>Ô>ˆIØŒJ×Ò˜iÑ(Ô(Ð(ð %ˆŒàˆr   c                 óˆ   •— | j                              ¦   «          t          t          | ¦  «                             ¦   «          d S ©N)r   Úcloser   r
   )r   r   s    €r   rK   zCacheControlAdapter.close‡   s:   ø€ ØŒ
×ÒÑÔÐÝÕ! 4Ñ(Ô(×.Ò.Ñ0Ô0Ð0Ð0Ð0r   )NTNNNNrJ   )FN)	Ú__name__Ú
__module__Ú__qualname__rC   r   r*   r&   rK   Ú__classcell__)r   s   @r   r
   r
      sÀ   ø€ € € € € Ø5Ð5Ð5Ðð ØØØØØð
ð 
ð 
ð 
ð 
ð 
ð*ð ð ð ð ð ð, FJðHð Hð Hð Hð Hð HðT1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r   r
   )rA   r>   r$   Úpip._vendor.requests.adaptersr   r   r   r   r   r   Úfilewrapperr   r
   © r   r   ú<module>rS      s±   ðð
 €€€Ø Ð Ð Ð Ø €€€à 5Ð 5Ð 5Ð 5Ð 5Ð 5à DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðy1ð y1ð y1ð y1ð y1˜+ñ y1ô y1ð y1ð y1ð y1r   