§
    „hàD  ã                   óz  — d dl Z d dlZd dlZd dlmZmZmZmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZmZ d dlmZ d dlmZmZ dZdZdZd	Z ej        d
 ej        e¦  «        z  ¦  «        Z ej        d¦  «        Z  ej        d¦  «        Z! ej        d¦  «        Z" G d„ d¦  «        Z# G d„ de#¦  «        Z$dS )é    N)ÚChunkedReaderÚLengthReaderÚ	EOFReaderÚBody)
ÚInvalidHeaderÚInvalidHeaderNameÚ
NoMoreDataÚInvalidRequestLineÚInvalidRequestMethodÚInvalidHTTPVersionÚLimitRequestLineÚLimitRequestHeadersÚUnsupportedTransferCodingÚObsoleteFolding)ÚInvalidProxyLineÚForbiddenProxyRequest)ÚInvalidSchemeHeaders)Úbytes_to_strÚsplit_request_uriiþ  i €  z!#$%&'*+-.^_`|~z[%s0-9a-zA-Z]+z[a-z#]zHTTP/(\d)\.(\d)z[\0\r\n]c                   ó4   — e Zd Zd„ Zd„ Zd„ Zd	d„Zd„ Zd„ ZdS )
ÚMessagec                 ó&  — || _         || _        || _        || _        d | _        g | _        g | _        d | _        |j        rdnd| _	        d| _
        |j        | _        | j        dk    s| j        t          k    rt          | _        |j        | _        | j        dk     rt          | _        | j        pt          }| j        |dz   z  dz   | _        |                      | j        ¦  «        }| j                             |¦  «         |                      ¦   «          d S )NÚhttpsÚhttpFr   é   é   )ÚcfgÚunreaderÚ	peer_addrÚremote_addrÚversionÚheadersÚtrailersÚbodyÚis_sslÚschemeÚ
must_closeÚlimit_request_fieldsÚMAX_HEADERSÚlimit_request_field_sizeÚDEFAULT_MAX_HEADERFIELD_SIZEÚmax_buffer_headersÚparseÚunreadÚset_body_reader)Úselfr   r   r   Úmax_header_field_sizeÚunuseds         úL/var/www/histauto/venv/lib/python3.11/site-packages/gunicorn/http/message.pyÚ__init__zMessage.__init__"   s  € ØˆŒØ ˆŒØ"ˆŒØ$ˆÔØˆŒØˆŒØˆŒØˆŒ	Ø!$¤Ð7�g�g°ˆŒØˆŒð %(Ô$<ˆÔ!ØÔ%¨Ò*Ð*ØÔ,­{Ò:Ð:Ý(3ˆDÔ%Ø(+Ô(DˆÔ%ØÔ(¨1Ò,Ð,Ý,HˆDÔ)ð !%Ô =Ð ]ÕA]ÐØ"&Ô";Ø" QÑ&ñ#(Ø*+ñ#,ˆÔð —’˜DœMÑ*Ô*ˆØŒ×Ò˜VÑ$Ô$Ð$Ø×ÒÑÔÐÐÐó    c                 ó   — d| _         d S )NT)r'   ©r0   s    r3   Úforce_closezMessage.force_close@   s   € ØˆŒˆˆr5   c                 ó   — t          ¦   «         ‚©N)ÚNotImplementedError)r0   r   s     r3   r-   zMessage.parseC   s   € Ý!Ñ#Ô#Ð#r5   Fc                 ó´  — | j         }g }d„ |                     d¦  «        D ¦   «         }d}i }g }|rnEd|j        v s.t          | j        t
          ¦  «        r| j        d         |j        v r|j        }|j        }|�rÞt          |¦  «        | j	        k    rt          d¦  «        ‚|                     d¦  «        }	t          |	¦  «        t          d¦  «        z   }
|	                     d¦  «        dk    rt          |	¦  «        ‚|	                     dd	¦  «        \  }}| j         j        r|                     d
¦  «        }t                                |¦  «        st%          |¦  «        ‚|                     ¦   «         }|                     d
¦  «        g}|rÖ|d                              d¦  «        r»| j         j        st/          |¦  «        ‚|                     d¦  «        }	|
t          |	¦  «        t          d¦  «        z   z  }
|
| j        cxk    rdk    rn nt          d¦  «        ‚|                     |	                     d¦  «        ¦  «         |r|d                              d¦  «        °»d                     |¦  «        }t6                               |¦  «        rt          |¦  «        ‚|
| j        cxk    rdk    rn nt          d¦  «        ‚||v r7|||         k    }|rdnd}|r|| j        k    rt=          ¦   «         ‚n	d}|| _        d|v r;||v sd|v rn2| j         j        dk    rn!| j         j        dk    r�Œ¸t%          |¦  «        ‚|                     ||f¦  «         |�°Þ|S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS © ©r   )Ú.0Úlines     r3   ú
<listcomp>z)Message.parse_headers.<locals>.<listcomp>K   s    € ÐDÐDÐD¨•˜dÑ#Ô#ÐDÐDÐDr5   ó   
FÚ*r   zlimit request headers fieldsz
ú:é   ú 	)ú ú	z!limit request headers fields sizez	 rH   r   r   TÚ_Ú	dangerousÚdrop) r   ÚsplitÚforwarded_allow_ipsÚ
isinstancer   ÚtupleÚsecure_scheme_headersÚforwarder_headersÚlenr(   r   ÚpopÚfindr   Ústrip_header_spacesÚrstripÚTOKEN_REÚ	fullmatchr   ÚupperÚstripÚ
startswithÚpermit_obsolete_foldingr   r*   ÚappendÚjoinÚ!RFC9110_5_5_INVALID_AND_DANGEROUSÚsearchr&   r   Ú
header_map)r0   ÚdataÚfrom_trailerr   r"   ÚlinesÚscheme_headerrQ   rR   ÚcurrÚheader_lengthÚnameÚvalueÚsecurer&   s                  r3   Úparse_headerszMessage.parse_headersF   sÀ  € ØŒhˆØˆð EÐD°·
²
¸7Ñ0CÔ0CÐDÑDÔDˆð ˆØ "ÐØÐØð 	6ð Ø�SÔ,Ð,Ð,Ý˜Tœ^­UÑ3Ô3ð -à” Ô" cÔ&=Ð=Ð=Ø$'Ô$=Ð!Ø #Ô 5Ðð ñ H	*Ý�7‰|Œ|˜tÔ8Ò8Ð8Ý)Ð*HÑIÔIÐIð —9’9˜Q‘<”<ˆDÝ ™IœI­¨F©¬Ñ3ˆMØ�yŠy˜‰~Œ~ Ò"Ð"Ý# DÑ)Ô)Ð)ØŸ*š* S¨!Ñ,Ô,‰KˆD�%ØŒxÔ+ð *Ø—{’{ 5Ñ)Ô)�Ý×%Ò% dÑ+Ô+ð .Ý'¨Ñ-Ô-Ð-ð —:’:‘<”<ˆDà—[’[ Ñ'Ô'Ð(ˆEð ð 	0˜E !œH×/Ò/°Ñ<Ô<ð 	0à”xÔ7ð 0Ý)¨$Ñ/Ô/Ð/Ø—y’y ‘|”|�Ø¥ T¡¤­S°©[¬[Ñ!8Ñ8�Ø  4Ô#@ÐDÐDÒDÐDÀ1ÒDÐDÐDÐDÐDÝ-ð /<ñ =ô =ð =à—’˜TŸZšZ¨Ñ.Ô.Ñ/Ô/Ð/ð ð 	0˜E !œH×/Ò/°Ñ<Ô<ð 	0ð —H’H˜U‘O”OˆEå0×7Ò7¸Ñ>Ô>ð *Ý# DÑ)Ô)Ð)à˜tÔ<Ð@Ð@Ò@Ð@¸qÒ@Ð@Ð@Ð@Ð@Ý)Ð*MÑNÔNÐNàÐ,Ð,Ð,ØÐ"7¸Ô"=Ò=�Ø$*Ð6˜˜°�Ø ð )Ø ¤Ò,Ð,Ý2Ñ4Ô4Ð4ð -ð %)�MØ"(�D”Kð �dˆ{ˆ{ØÐ,Ð,Ð,°Ð7HÐ0HÐ0HàØ”XÔ(¨KÒ7Ð7àØ”XÔ(¨FÒ2Ð2ñ õ ,¨DÑ1Ô1Ð1à�NŠN˜D %˜=Ñ)Ô)Ð)ðQ ñ H	*ðT ˆr5   c                 óJ  — d}d }| j         D ]ñ\  }}|dk    r|�t          d| ¬¦  «        ‚|}Œ!|dk    rÊd„ |                     d¦  «        D ¦   «         }|D ]¨}|                     ¦   «         dk    r|rt          d| ¬¦  «        ‚d}Œ0|                     ¦   «         d	k    r|rt          d| ¬¦  «        ‚Œ\|                     ¦   «         d
v r(|rt          d| ¬¦  «        ‚|                      ¦   «          Œšt          |¦  «        ‚Œò|rX| j        dk     rt          d| ¬¦  «        ‚|�t          d| ¬¦  «        ‚t          t          | | j	        ¦  «        ¦  «        | _
        d S |�£	 t          |¦  «                             ¦   «         rt          |¦  «        }nt          d| ¬¦  «        ‚n# t          $ r t          d| ¬¦  «        ‚w xY w|dk     rt          d| ¬¦  «        ‚t          t          | j	        |¦  «        ¦  «        | _
        d S t          t!          | j	        ¦  «        ¦  «        | _
        d S )NFzCONTENT-LENGTH)ÚreqzTRANSFER-ENCODINGc                 ó6   — g | ]}|                      ¦   «         ‘ŒS r>   )r[   )r@   Úvs     r3   rB   z+Message.set_body_reader.<locals>.<listcomp>µ   s    € Ð<Ð<Ð< a˜Ÿš™	œ	Ð<Ð<Ð<r5   ú,ÚchunkedTÚidentity)ÚcompressÚdeflateÚgzip)rF   rF   r   )r"   r   rM   Úlowerr8   r   r!   r   r   r   r$   ÚstrÚ	isnumericÚintÚ
ValueErrorr   r   )r0   rr   Úcontent_lengthri   rj   ÚvalsÚvals          r3   r/   zMessage.set_body_reader©   s—  € ØˆØˆà!œ\ð 	?ð 	?‰MˆT�5ØÐ'Ò'Ð'Ø!Ð-Ý'Ð(8¸dÐCÑCÔCÐCØ!&��ØÐ,Ò,Ð,ð =Ð<¨5¯;ª;°sÑ+;Ô+;Ð<Ñ<Ô<�Øð ?ð ?�CØ—y’y‘{”{ iÒ/Ð/à"ð OÝ"/Ð0CÈÐ"NÑ"NÔ"NÐNØ"&˜˜ØŸš™œ¨
Ò2Ð2ð #ð OÝ"/Ð0CÈÐ"NÑ"NÔ"NÐNðOàŸš™œÐ(GÐGÐGà"ð OÝ"/Ð0CÈÐ"NÑ"NÔ"NÐNØ×(Ò(Ñ*Ô*Ð*Ð*å7¸Ñ>Ô>Ð>øàð 	7ð Œ|˜fÒ$Ð$å#Ð$7¸TÐBÑBÔBÐBØÐ)õ $Ð$4¸$Ð?Ñ?Ô?Ð?Ý�]¨4°´Ñ?Ô?Ñ@Ô@ˆDŒIˆIˆIØÐ'ð@Ý�~Ñ&Ô&×0Ò0Ñ2Ô2ð DÝ%(¨Ñ%8Ô%8�N�Nå'Ð(8¸dÐCÑCÔCÐCð #øõ ð @ð @ð @Ý#Ð$4¸$Ð?Ñ?Ô?Ð?ð@øøøð  Ò!Ð!Ý#Ð$4¸$Ð?Ñ?Ô?Ð?å�\¨$¬-¸ÑHÔHÑIÔIˆDŒIˆIˆIå�Y t¤}Ñ5Ô5Ñ6Ô6ˆDŒIˆIˆIs   ÅAF ÆF:c                 óÆ   — | j         rdS | j        D ]F\  }}|dk    r;|                     ¦   «                              d¦  «        }|dk    r dS |dk    r dS  nŒG| j        dk    S )NTÚ
CONNECTIONrG   Úclosez
keep-aliveF©rF   r   )r'   r"   rw   r[   r!   )r0   Úhrp   s      r3   Úshould_closezMessage.should_closeå   s…   € ØŒ?ð 	Ø�4Ø”lð 	ð 	‰FˆQ�Ø�LÒ Ð Ø—G’G‘I”I—O’O EÑ*Ô*�Ø˜’<�<Ø˜4˜4Ø˜,Ò&Ð&Ø ˜5˜5Ø�ð !ð Œ|˜vÒ%Ð%r5   N©F)	Ú__name__Ú
__module__Ú__qualname__r4   r8   r-   rl   r/   r„   r>   r5   r3   r   r   !   sy   € € € € € ðð ð ð<ð ð ð$ð $ð $ðað að að aðF:7ð :7ð :7ðx&ð &ð &ð &ð &r5   r   c                   óX   ‡ — e Zd Zdˆ fd„	Zdd„Zd„ Zdd„Zd„ Zd	„ Zd
„ Z	d„ Z
ˆ fd„Zˆ xZS )ÚRequestrF   c                 ó  •— d | _         d | _        d | _        d | _        d | _        |j        | _        | j        dk     s| j        t          k    rt          | _        || _        d | _        t          ¦   «          
                    |||¦  «         d S ©Nr   )ÚmethodÚuriÚpathÚqueryÚfragmentÚlimit_request_lineÚMAX_REQUEST_LINEÚ
req_numberÚproxy_protocol_infoÚsuperr4   )r0   r   r   r   r”   Ú	__class__s        €r3   r4   zRequest.__init__ô   s‰   ø€ ØˆŒØˆŒØˆŒ	ØˆŒ
ØˆŒð #&Ô"8ˆÔØÔ# aÒ'Ð'ØÔ*Õ.>Ò>Ð>Ý&6ˆDÔ#à$ˆŒØ#'ˆÔ Ý‰Œ×Ò˜˜h¨	Ñ2Ô2Ð2Ð2Ð2r5   Fc                 ó¾   — |                      ¦   «         }|s1|rt          ¦   «         ‚t          |                     ¦   «         ¦  «        ‚|                     |¦  «         d S r:   )ÚreadÚStopIterationr	   ÚgetvalueÚwrite)r0   r   ÚbufÚstoprc   s        r3   Úget_datazRequest.get_data  sR   € Ø�}Š}‰ŒˆØð 	-Øð &Ý#‘o”oÐ%Ý˜SŸ\š\™^œ^Ñ,Ô,Ð,Ø�	Š	�$‰Œˆˆˆr5   c                 ó  — t          j        ¦   «         }|                      ||d¬¦  «         |                      ||| j        ¦  «        \  }}|                      t          |¦  «        ¦  «        rGt          j        ¦   «         }|                     |¦  «         |                      ||| j        ¦  «        \  }}|                      |¦  «         t          j        ¦   «         }|                     |¦  «         | 	                    ¦   «         }| 
                    d¦  «        }|d d…         dk    }	 | 
                    d¦  «        }|d d…         dk    }|dk     rT|sR|                      ||¦  «         | 	                    ¦   «         }t          |¦  «        | j        k    rt          d¦  «        ‚nnŒ|r$| j                             |dd …         ¦  «         dS |                      |d |…         d	¬
¦  «        | _        ||dz   d …         }d }|S )NT)rž   s   

r   rC   r   zmax buffer headersr5   F)rd   r   )ÚioÚBytesIOrŸ   Ú	read_liner’   Úproxy_protocolr   rœ   Úparse_request_liner›   rU   rS   r,   r   r   r.   rl   r"   )	r0   r   r�   rA   Úrbufrc   ÚidxÚdoneÚrets	            r3   r-   zRequest.parse  sì  € ÝŒj‰lŒlˆØ�Š�h ¨$ˆÑ/Ô/Ð/ð —^’^ H¨c°4Ô3JÑKÔK‰
ˆˆdð ×Ò�|¨DÑ1Ô1Ñ2Ô2ð 	På”*‘,”,ˆCØ�IŠI�d‰OŒOˆOØŸš¨°#°tÔ7NÑOÔO‰JˆD�$à×Ò Ñ%Ô%Ð%ÝŒj‰lŒlˆØ�	Š	�$‰Œˆð �|Š|‰~Œ~ˆØ�iŠi˜Ñ$Ô$ˆà�B�Q�BŒx˜7Ò"ˆð
	Ø—)’)˜KÑ(Ô(ˆCØ˜˜˜”8˜wÒ&ˆDà�QŠwˆw˜tˆwØ—’˜h¨Ñ,Ô,Ð,Ø—|’|‘~”~�Ý�t‘9”9˜tÔ6Ò6Ð6Ý-Ð.BÑCÔCÐCð 7ð ð
	ð ð 	ØŒM× Ò   a b b¤Ñ*Ô*Ð*Ø�3à×)Ò)¨$¨t°¨t¬*À5Ð)ÑIÔIˆŒà�3˜‘7�8�8ŒnˆØˆØˆ
r5   r   c                 ó¢  — |                      ¦   «         }	 |                     d¦  «        }|dk    r!||cxk    rdk    rn nt          ||¦  «        ‚nht          |¦  «        dz
  |cxk    rdk    r n nt          t          |¦  «        |¦  «        ‚|                      ||¦  «         |                      ¦   «         }Œ¤|d |…         ||dz   d …         fS )NTrC   r   r   )r›   rU   r   rS   rŸ   )r0   r   r�   Úlimitrc   r§   s         r3   r£   zRequest.read_line:  sè   € Ø�|Š|‰~Œ~ˆð
	"Ø—)’)˜GÑ$Ô$ˆCØ�aŠxˆxà˜�?�?’?�? ’?�?�?�?�?Ý*¨3°Ñ6Ô6Ð6ØÝ�4‰yŒy˜1‰}˜uÐ(Ð(Ò(Ð( qÒ(Ð(Ð(Ð(Ð(Ý&¥s¨4¡y¤y°%Ñ8Ô8Ð8Ø�MŠM˜( CÑ(Ô(Ð(Ø—<’<‘>”>ˆDð
	"ð �T�c�T”
Ø�S˜1‘W�X�X”ð ð 	 r5   c                 ó¼   — | j         j        sdS | j        dk    rdS |                     d¦  «        sdS |                      ¦   «          |                      |¦  «         dS )z¬        Detect, check and parse proxy protocol.

        :raises: ForbiddenProxyRequest, InvalidProxyLine.
        :return: True for proxy protocol line else False
        FrF   ÚPROXYT)r   r¤   r”   r\   Úproxy_protocol_access_checkÚparse_proxy_protocol)r0   rA   s     r3   r¤   zRequest.proxy_protocolL  sl   € ð ŒxÔ&ð 	Ø�5àŒ?˜aÒÐØ�5à�Š˜wÑ'Ô'ð 	Ø�5à×(Ò(Ñ*Ô*Ð*Ø×!Ò! $Ñ'Ô'Ð'àˆtr5   c                 óÄ   — d| j         j        vrMt          | j        t          ¦  «        r5| j        d         | j         j        vrt          | j        d         ¦  «        ‚d S d S d S )NrD   r   )r   Úproxy_allow_ipsrO   r   rP   r   r7   s    r3   r®   z#Request.proxy_protocol_access_checka  sf   € à�t”xÔ/Ð/Ð/Ý�t”~¥uÑ-Ô-ð 0à”˜qÔ!¨¬Ô)AÐAÐAÝ'¨¬°qÔ(9Ñ:Ô:Ð:ð 0Ð/Ð/Ð/àAÐAr5   c                 óp  — |                      d¦  «        }t          |¦  «        dk    rt          |¦  «        ‚|d         }|d         }|d         }|dvrt          d|z  ¦  «        ‚|dk    r]	 t          j        t          j        |¦  «         t          j        t          j        |¦  «         n€# t          $ r t          |¦  «        ‚w xY w|d	k    r]	 t          j        t          j        |¦  «         t          j        t          j        |¦  «         n# t          $ r t          |¦  «        ‚w xY w	 t          |d
         ¦  «        }t          |d         ¦  «        }n # t          $ r t          d|z  ¦  «        ‚w xY wd|cxk    rdk    rn nd|cxk    rdk    sn t          d|z  ¦  «        ‚|||||dœ| _
        d S )NrH   é   rF   r   é   )ÚTCP4ÚTCP6zprotocol '%s' not supportedrµ   r¶   r   é   zinvalid port %sr   iÿÿ  )r¤   Úclient_addrÚclient_portÚ
proxy_addrÚ
proxy_port)rM   rS   r   ÚsocketÚ	inet_ptonÚAF_INETÚOSErrorÚAF_INET6rz   r{   r•   )r0   rA   ÚbitsÚprotoÚs_addrÚd_addrÚs_portÚd_ports           r3   r¯   zRequest.parse_proxy_protocolh  s  € Ø�zŠz˜#‰Œˆåˆt‰9Œ9˜Š>ˆ>Ý" 4Ñ(Ô(Ð(ð �Q”ˆØ�a”ˆØ�a”ˆð Ð(Ð(Ð(Ý"Ð#@À5Ñ#HÑIÔIÐIØ�FŠ?ˆ?ð-ÝÔ ¥¤°Ñ8Ô8Ð8ÝÔ ¥¤°Ñ8Ô8Ð8Ð8øÝð -ð -ð -Ý& tÑ,Ô,Ð,ð-øøøà�fŠ_ˆ_ð-ÝÔ ¥¤°&Ñ9Ô9Ð9ÝÔ ¥¤°&Ñ9Ô9Ð9Ð9øÝð -ð -ð -Ý& tÑ,Ô,Ð,ð-øøøð	=Ý˜˜aœ‘\”\ˆFÝ˜˜aœ‘\”\ˆFˆFøÝð 	=ð 	=ð 	=Ý"Ð#4°tÑ#;Ñ<Ô<Ð<ð	=øøøð �fÐ%Ð%Ò%Ð% Ò%Ð%Ð%Ð%Ð%¨A°Ð,@Ð,@Ò,@Ð,@¸5Ò,@Ð,@Ð,@Ð,@Ý"Ð#4°tÑ#;Ñ<Ô<Ð<ð $Ø!Ø!Ø Ø ð$
ð $
ˆÔ Ð Ð s$   Á->B, Â,CÃ>D ÄD)Ä-*E ÅE5c                 ó$  — d„ |                      dd¦  «        D ¦   «         }t          |¦  «        dk    rt          t          |¦  «        ¦  «        ‚|d         | _        | j        j        sit                               | j        ¦  «        rt          | j        ¦  «        ‚dt          |d         ¦  «        cxk    rdk    sn t          | j        ¦  «        ‚t                               | j        ¦  «        st          | j        ¦  «        ‚| j        j        r| j                             ¦   «         | _        |d         | _        t          | j        ¦  «        dk    rt          t          |¦  «        ¦  «        ‚	 t          | j        ¦  «        }n*# t           $ r t          t          |¦  «        ¦  «        ‚w xY w|j        pd| _        |j        pd| _        |j        pd| _        t(                               |d         ¦  «        }|€t+          |d         ¦  «        ‚t-          |                     d¦  «        ¦  «        t-          |                     d¦  «        ¦  «        f| _        d	| j        cxk    rd
k     s"n | j        j        st+          | j        ¦  «        ‚d S d S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS r>   r?   )r@   Úbits     r3   rB   z.Request.parse_request_line.<locals>.<listcomp>–  s    € ÐGÐGÐG c•˜SÑ!Ô!ÐGÐGÐGr5   ó    r   r´   r   é   rF   Ú r‚   )r   r   )rM   rS   r
   r   r�   r   Ú!permit_unconventional_http_methodÚMETHOD_BADCHAR_REra   r   rX   rY   Úcasefold_http_methodrZ   rŽ   r   r{   r�   r�   r‘   Ú
VERSION_REr   rz   Úgroupr!   Ú"permit_unconventional_http_version)r0   Ú
line_bytesrÁ   ÚpartsÚmatchs        r3   r¥   zRequest.parse_request_line•  sl  € ØGÐG¨Z×-=Ò-=¸dÀAÑ-FÔ-FÐGÑGÔGˆÝˆt‰9Œ9˜Š>ˆ>Ý$¥\°*Ñ%=Ô%=Ñ>Ô>Ð>ð ˜1”gˆŒð ŒxÔ9ð 	8Ý ×'Ò'¨¬Ñ4Ô4ð 8Ý*¨4¬;Ñ7Ô7Ð7Ø�˜D œG™œÐ*Ð*Ò*Ð*¨Ò*Ð*Ð*Ð*Ý*¨4¬;Ñ7Ô7Ð7å×!Ò! $¤+Ñ.Ô.ð 	4Ý& t¤{Ñ3Ô3Ð3ð Œ8Ô(ð 	.Øœ+×+Ò+Ñ-Ô-ˆDŒKð ˜”7ˆŒõ ˆtŒx‰=Œ=˜AÒÐÝ$¥\°*Ñ%=Ô%=Ñ>Ô>Ð>ð	?Ý% d¤hÑ/Ô/ˆEˆEøÝð 	?ð 	?ð 	?Ý$¥\°*Ñ%=Ô%=Ñ>Ô>Ð>ð	?øøøà”JÐ$ "ˆŒ	Ø”[Ð& BˆŒ
ØœÐ,¨"ˆŒõ ×$Ò$ T¨!¤WÑ-Ô-ˆØˆ=Ý$ T¨!¤WÑ-Ô-Ð-Ý˜EŸKšK¨™NœNÑ+Ô+­S°·²¸Q±´Ñ-@Ô-@ÐAˆŒØ˜œÐ.Ð.Ò.Ð.¨Ò.Ð.Ð.Ð.à”8Ô>ð 7Ý(¨¬Ñ6Ô6Ð6ð /Ð.ð7ð 7s   Å1F Æ'F-c                 óØ   •— t          ¦   «                              ¦   «          t          | j        j        t
          ¦  «        r)t          t          | j        d¦  «        ¦  «        | _        d S d S rŒ   )	r–   r/   rO   r$   Úreaderr   r   r   r   )r0   r—   s    €r3   r/   zRequest.set_body_readerÌ  sY   ø€ Ý‰Œ×ÒÑ!Ô!Ð!Ý�d”iÔ&­	Ñ2Ô2ð 	=Ý�\¨$¬-¸Ñ;Ô;Ñ<Ô<ˆDŒIˆIˆIð	=ð 	=r5   )rF   r…   )r   )r†   r‡   rˆ   r4   rŸ   r-   r£   r¤   r®   r¯   r¥   r/   Ú__classcell__)r—   s   @r3   rŠ   rŠ   ó   sÌ   ø€ € € € € ð3ð 3ð 3ð 3ð 3ð 3ð"ð ð ð ð+ð +ð +ðZ ð  ð  ð  ð$ð ð ð*;ð ;ð ;ð+
ð +
ð +
ðZ57ð 57ð 57ðn=ð =ð =ð =ð =ð =ð =ð =ð =r5   rŠ   )%r¡   Úrer¼   Úgunicorn.http.bodyr   r   r   r   Úgunicorn.http.errorsr   r   r	   r
   r   r   r   r   r   r   r   r   r   Úgunicorn.utilr   r   r“   r)   r+   ÚRFC9110_5_6_2_TOKEN_SPECIALSÚcompileÚescaperX   rÎ   rÐ   r`   r   rŠ   r>   r5   r3   ú<module>rà      så  ðð
 
€	€	€	Ø 	€	€	€	Ø €€€à KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð IÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9àÐ Ø€Ø#Ð ð  2Ð Øˆ2Œ:Ð'¨9¨2¬9Ð5QÑ+RÔ+RÑSÑTÔT€Ø�B”J˜xÑ(Ô(Ð àˆRŒZÐ*Ñ+Ô+€
Ø$. B¤J¨{Ñ$;Ô$;Ð !ðO&ð O&ð O&ð O&ð O&ñ O&ô O&ð O&ðd\=ð \=ð \=ð \=ð \=ˆgñ \=ô \=ð \=ð \=ð \=r5   