+
    ‡)Ùjªf  ã                   óÂ  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIH t  ^ RI!H"t" ^ RI#H$t$ ^ RI%H&t&H't'H(t( ^ RI)H*t* ]*! R]PV                  4      t, ! R R] 4      t- ! R R].4      t/ ! R R4      t0 ! R R]04      t1 ! R R]04      t2 ! R R]24      t3 ! R R]14      t4 ! R  R!]44      t5 ! R" R#]44      t6 ! R$ R%]14      t7 ! R& R']14      t8 ! R( R)]14      t9 ! R* R+]14      t: ! R, R-]14      t; ! R. R/]14      t< ! R0 R1]14      t= ! R2 R3]>4      t? ! R4 R5]14      t@R# )6é    N)ÚHeader)Ú	responses)Úurlsplit)Úasync_to_syncÚsync_to_async)Úsettings)ÚsignalsÚsigning)ÚDisallowedRedirect)ÚDjangoJSONEncoder)ÚSimpleCookie)Útimezone)ÚCaseInsensitiveMapping)Ú
iri_to_uri)Úcached_property)ÚMAX_URL_REDIRECT_LENGTHÚcontent_disposition_headerÚ	http_date)Ú_lazy_re_compilez ;\s*charset=(?P<charset>[^\s;]+)c                   óL   a € ] tR t^%t o R tR	R ltR tR tR
R ltR t	Rt
V tR# )ÚResponseHeadersc                ód   € / V n         V'       d!   V P                  V4       F	  w  r#W0V&   K  	  R# R# )zU
Populate the initial data using __setitem__ to ensure values are
correctly encoded.
N)Ú_storeÚ_unpack_items)ÚselfÚdataÚheaderÚvalues   &&  ÚM/var/www/eggtrainer/venv/lib/python3.14/site-packages/django/http/response.pyÚ__init__ÚResponseHeaders.__init__&   s1   € ð
 ˆŒßØ!%×!3Ñ!3°DÖ!9‘�Ø$�V“ó ":ñ ó    c                ó¨  €  \        V\        4      '       d   VP                  V4       MD\        V\        4      '       d   VP	                  V4      pM\        V4      pVP                  V4       RV9   g   RV9   d   \        RV: R24      h V#   \         d¸   p\        T\        4      '       d   RT9   g,   RT9   g%   \        T\        4      '       d    RT9   g   RT9   d   \        RT: R24      ThT'       d1   \        TR\        P                  R7      P                  4       p R
p?T# T;P                  R	T,          ,          un
        h R
p?ii ; i)zÉ
Convert headers key/value to ascii/latin-1 native strings.
`charset` must be 'ascii' or 'latin-1'. If `mime_encode` is True and
`value` can't be represented in the given charset, apply MIME-encoding.
Ú
Úz*Header values can't contain newlines (got Ú)ó   
ó   úutf-8)Ú
maxlinelenz,, HTTP response headers must be in %s formatN)Ú
isinstanceÚstrÚencodeÚbytesÚdecodeÚBadHeaderErrorÚUnicodeErrorr   ÚsysÚmaxsizeÚreason)r   r   ÚcharsetÚmime_encodeÚes   &&&& r   Ú_convert_to_charsetÚ#ResponseHeaders._convert_to_charset0   s$  € ð	Ü˜%¤×%Ò%à—‘˜WÕ%Ü˜E¤5×)Ò)àŸ™ WÓ-‘ä˜E›
�à—‘˜WÔ%Ø�uŒ} ¨¤Ü$Ø@ÀÁ	ÈÐKóð ð !.ð( ˆøô! ô 	ô
 ˜5¤%×(Ò(¨e°u¬nÀÈÄÜ˜5¤#×&Ò&¨D°E¬M¸TÀU¼]ä$Ø@ÀÁ	ÈÐKóàð÷ Ü˜u g¼#¿+¹+ÔF×MÑMÓO”ð ˆð —’ÐJÈWÕTÕT•Øûð	ús%   ‚B
B ÂEÂA EÃ;*EÄ+!EÅEc                ó(   € V P                  V4       R # ©N)Úpop)r   Úkeys   &&r   Ú__delitem__ÚResponseHeaders.__delitem__W   s   € Ø�‰�Žr"   c                óŽ   € V P                  VR 4      pV P                  VRRR7      pW3V P                  VP                  4       &   R# )Úasciiúlatin-1T)r6   N)r8   r   Úlower©r   r=   r   s   &&&r   Ú__setitem__ÚResponseHeaders.__setitem__Z   sA   € Ø×&Ñ& s¨GÓ4ˆØ×(Ñ(¨°	ÀtÐ(ÓLˆØ$' <ˆ�‰�C—I‘I“KÓ r"   Nc                óV   € V P                   P                  VP                  4       V4      # r;   )r   r<   rC   )r   r=   Údefaults   &&&r   r<   ÚResponseHeaders.pop_   s   € Ø�{‰{�‰˜sŸy™y›{¨GÓ4Ð4r"   c                ó   € W9  d   W V&   R # R # r;   © rD   s   &&&r   Ú
setdefaultÚResponseHeaders.setdefaultb   s   € ØŒ?Ø�‹Iñ r"   )r   ©Fr;   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r    r8   r>   rE   r<   rL   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   %   s)   ø‡ € ò%ô%òNò0ô
5÷ð r"   r   c                   ó   € ] tR t^gtRtR# )r0   rK   N©rO   rP   rQ   rR   rS   rK   r"   r   r0   r0   g   ó   † Ûr"   r0   c                   ó:  a € ] tR t^kt o Rt^ÈtRR lt]R 4       t]P                  R 4       t]R 4       t
]
P                  R 4       t
R t]t]R	 4       tR
 tR tR tR t]tR tRR ltR R ltR tR!R ltR"R ltR tR tR tR tR tR tR tR t R t!Rt"V t#R# )#ÚHttpResponseBasezÆ
An HTTP response base class with dictionary-accessed headers.

This class doesn't handle content. It should not be used directly.
Use the HttpResponse and StreamingHttpResponse subclasses instead.
Nc                óÈ  € \        V4      V n        W@n        R V P                  9  d#   Vf   RV P                   2pWP                  R &   MV'       d   \	        R4      h. V n        RV n        \        4       V n        RV n	        Ve8    \        V4      V n        ^dT P                  u;8:  d   R8:  g   M \	        R4      hW0n        R#   \        \        3 d    \        R4      hi ; i)úContent-TypeNztext/html; charset=zX'headers' must not contain 'Content-Type' when the 'content_type' parameter is provided.Fz$HTTP status code must be an integer.iW  z4HTTP status code must be an integer from 100 to 599.)r   ÚheadersÚ_charsetr5   Ú
ValueErrorÚ_resource_closersÚ_handler_classr   ÚcookiesÚclosedÚintÚstatus_codeÚ	TypeErrorÚ_reason_phrase)r   Úcontent_typeÚstatusr4   r5   r^   s   &&&&&&r   r    ÚHttpResponseBase.__init__u   sß   € ô ' wÓ/ˆŒØŒØ §¡Ô-ØÒ#Ø!4°T·\±\°NÐC�Ø+7�L‰L˜Ò(ßÜð8óð ð "$ˆÔð #ˆÔÜ#“~ˆŒØˆŒØÒðHÜ#& v£;�Ô ð ˜$×*Ñ*Ö1¨cÖ1Ü Ð!WÓXÐXØ$Öøô ¤	Ð*ô HÜÐ FÓGÐGðHús   ÂC ÃC!c                óx   € V P                   e   V P                   # \        P                  ! V P                  R4      # )NzUnknown Status Code)rh   r   Úgetrf   ©r   s   &r   Úreason_phraseÚHttpResponseBase.reason_phrase“   s4   € à×ÑÒ*Ø×&Ñ&Ð&ô �}Š}˜T×-Ñ-Ð/DÓEÐEr"   c                ó   € Wn         R # r;   )rh   ©r   r   s   &&r   ro   rp   ›   s   € à#Ör"   c                ó  € V P                   e   V P                   # V P                  P                  R4      ;p'       d7   \        P	                  V4      ;p'       d   VR,          P                  RR4      # \        P                  # )Nr]   r5   Ú"Ú )r_   r^   rm   Ú_charset_from_content_type_reÚsearchÚreplacer   ÚDEFAULT_CHARSET)r   ri   Úmatcheds   &  r   r5   ÚHttpResponseBase.charsetŸ   sn   € à�=‰=Ò$Ø—=‘=Ð ð  Ÿ<™<×+Ñ+¨NÓ;Ð;ˆ<Ö;Ü7×>Ñ>¸|ÓLÐLˆwÖLð
 ˜yÕ)×1Ñ1°#°rÓ:Ð:Ü×'Ñ'Ð'r"   c                ó   € Wn         R # r;   )r_   rr   s   &&r   r5   r{   ®   s   € àŽr"   c           
     óà   € RP                  V P                  P                  4        UUu. uF3  w  rVP                  R4      R,           VP                  R4      ,           NK5  	  upp4      # u uppi )zHTTP headers as a bytestring.s   
rA   s   : rB   )Újoinr^   Úitemsr-   rD   s   &  r   Úserialize_headersÚ"HttpResponseBase.serialize_headers²   sc   € à�|‰|ð #'§,¡,×"4Ñ"4Ô"6ôá"6‘J�Cð —
‘
˜7Ó# eÕ+¨e¯l©l¸9Ó.E×EÐEÙ"6òó
ð 	
ùós   ©9A*
c                ó\   € R V P                   9   d   RV P                   R ,          ,          # R# )r]   z, "%s"ru   ©r^   rn   s   &r   Ú_content_type_for_reprÚ'HttpResponseBase._content_type_for_repr½   s2   € ð  §¡Ô-ð �t—|‘| NÕ3Õ3ð	
ð ð	
r"   c                ó"   € W P                   V&   R # r;   rƒ   )r   r   r   s   &&&r   rE   ÚHttpResponseBase.__setitem__Å   s   € Ø$�‰�VÓr"   c                ó    € V P                   V R # r;   rƒ   ©r   r   s   &&r   r>   ÚHttpResponseBase.__delitem__È   s   € Ø�L‰L˜Ò r"   c                ó(   € V P                   V,          # r;   rƒ   r‰   s   &&r   Ú__getitem__ÚHttpResponseBase.__getitem__Ë   s   € Ø�|‰|˜FÕ#Ð#r"   c                ó   € WP                   9   # )z$Case-insensitive check for a header.rƒ   r‰   s   &&r   Ú
has_headerÚHttpResponseBase.has_headerÎ   s   € àŸ™Ñ%Ð%r"   c                ó6   € V P                   P                  4       # r;   )r^   r   rn   s   &r   r   ÚHttpResponseBase.itemsÔ   s   € Ø�|‰|×!Ñ!Ó#Ð#r"   c                ó8   € V P                   P                  W4      # r;   )r^   rm   )r   r   Ú	alternates   &&&r   rm   ÚHttpResponseBase.get×   s   € Ø�|‰|×Ñ Ó2Ð2r"   c
                ó  € W P                   V&   VEe   \        V\        P                  4      '       dé   \        P                  ! V4      '       d0   \        P
                  ! V\        P                  P                  4      pV\        P                  P                  \        P                  P                  R7      ,
          p
V
\        P                  ! ^R7      ,          p
RpVe   \        R4      h\        ^ V
P                  R,          V
P                  ,           4      pM,W@P                   V,          R&   MRV P                   V,          R&   Ve‘   \        V\        P                  4      '       d   VP                  4       p\        V4      V P                   V,          R&   V'       g:   \        \         P                   ! 4       V,           4      V P                   V,          R&   Ve   WPP                   V,          R	&   Ve   W`P                   V,          R
&   V'       d   RV P                   V,          R&   V'       d   RV P                   V,          R&   V	'       d8   V	P#                  4       R9  d   \        R4      hW�P                   V,          R&   R# R# )aI  
Set a cookie.

``expires`` can be:
- a string in the correct format,
- a naive ``datetime.datetime`` object in UTC,
- an aware ``datetime.datetime`` object in any time zone.
If it is a ``datetime.datetime`` object then calculate ``max_age``.

``max_age`` can be:
- int/float specifying seconds,
- ``datetime.timedelta`` object.
N)Útz)Úsecondsz/'expires' and 'max_age' can't be used together.i€Q Úexpiresru   zmax-ageÚpathÚdomainTÚsecureÚhttponlyz,samesite must be "lax", "none", or "strict".Úsamesite)ÚlaxÚnoneÚstrict)rc   r+   Údatetimer   Úis_naiveÚ
make_awareÚutcÚnowÚ	timedeltar`   ÚmaxÚdaysr˜   Útotal_secondsre   r   ÚtimerC   )r   r=   r   Úmax_ager™   rš   r›   rœ   r�   rž   Údeltas   &&&&&&&&&& r   Ú
set_cookieÚHttpResponseBase.set_cookieÚ   så  € ð2 "�‰�SÑØÓÜ˜'¤8×#4Ñ#4×5Ò5Ü×$Ò$ W×-Ò-Ü&×1Ò1°'¼8×;LÑ;L×;PÑ;PÓQ�GØ¤(×"3Ñ"3×"7Ñ"7¼8×;LÑ;L×;PÑ;PÐ"7Ó"QÕQ�ð œ×+Ò+°AÔ6Õ6�à�ØÒ&Ü$Ð%VÓWÐWÜ˜a §¡¨eÕ!3°e·m±mÕ!CÓD‘à/6—‘˜SÕ! )Ò,à+-ˆD�L‰L˜Õ˜iÑ(ØÒÜ˜'¤8×#5Ñ#5×6Ò6Ø!×/Ñ/Ó1�Ü+.¨w«<ˆD�L‰L˜Õ˜iÑ(çÜ/8¼¿º»ÀwÕ9NÓ/O�—‘˜SÕ! )Ñ,ØÒØ(,�L‰L˜Õ˜fÑ%ØÒØ*0�L‰L˜Õ˜hÑ'ßØ*.ˆD�L‰L˜Õ˜hÑ'ßØ,0ˆD�L‰L˜Õ˜jÑ)ßØ�~‰~ÓÐ'@Ô@Ü Ð!OÓPÐPØ,4�L‰L˜Õ˜jÓ)ñ r"   c                ó<   € V P                   P                  W4       R# )z,Set a header unless it has already been set.N)r^   rL   rD   s   &&&r   rL   ÚHttpResponseBase.setdefault  s   € à�‰×Ñ Ö+r"   c                óœ   € \         P                  ! \         P                  ! W4      R 7      P                  V4      pV P                  ! W3/ VB # ))Úsalt)r
   Úget_cookie_signerÚ_cookie_signer_saltÚsignr®   )r   r=   r   r³   Úkwargss   &&&&,r   Úset_signed_cookieÚ"HttpResponseBase.set_signed_cookie  sB   € Ü×)Ò)Ü×,Ò,¨SÓ7ô
ç
‰$ˆu‹+ð 	ð �Š˜sÑ4¨VÑ4Ð4r"   c           
     ó¢   € VP                  R4      ;'       g    T;'       d    VP                  4       R8H  pV P                  V^ VVVRVR7       R# )ú	__Secure-r    zThu, 01 Jan 1970 00:00:00 GMT)r¬   rš   r›   rœ   r™   rž   N)r»   z__Host-)Ú
startswithrC   r®   )r   r=   rš   r›   rž   rœ   s   &&&&& r   Údelete_cookieÚHttpResponseBase.delete_cookie$  s_   € ð
 —‘Ð 8Ó9÷ 
ð 
Ø×3Ð3˜Ÿ™Ó)¨VÑ3ð 	ð 	�‰ØØØØØØ3Øð 	ö 	
r"   c                ó  € \        V\        \        34      '       d   \        V4      # \        V\        4      '       d%   \        VP	                  V P
                  4      4      # \        V4      P	                  V P
                  4      # )z=Turn a value into a bytestring encoded in the output charset.)r+   r.   Ú
memoryviewr,   r-   r5   rr   s   &&r   Ú
make_bytesÚHttpResponseBase.make_bytes8  s^   € ô �eœe¤ZÐ0×1Ò1Ü˜“<ÐÜ�eœS×!Ò!Ü˜Ÿ™ d§l¡lÓ3Ó4Ð4ä�5‹z× Ñ  §¡Ó.Ð.r"   c                óö   € V P                    F  p V! 4        K  	  V P                   P                  4        R V n        \        P
                  P                  V P                  R7       R#   \         d     Kj  i ; i)T)ÚsenderN)ra   Ú	ExceptionÚclearrd   r	   Úrequest_finishedÚsendrb   )r   Úclosers   & r   ÚcloseÚHttpResponseBase.closeM  sh   € Ø×,Ô,ˆFðÙ–ñ -ð 	×Ñ×$Ñ$Ô&ØˆŒÜ× Ñ ×%Ñ%¨T×-@Ñ-@Ð%ÖAøô ô Úðús   ‘A)Á)A8Á7A8c                óN   € \        R V P                  P                  ,          4      h©z This %s instance is not writable©ÚOSErrorÚ	__class__rO   ©r   Úcontents   &&r   ÚwriteÚHttpResponseBase.writeX  ó   € ÜÐ8¸4¿>¹>×;RÑ;RÕRÓSÐSr"   c                ó   € R # r;   rK   rn   s   &r   ÚflushÚHttpResponseBase.flush[  s   € Ùr"   c                óN   € \        R V P                  P                  ,          4      h)z)This %s instance cannot tell its positionrÎ   rn   s   &r   ÚtellÚHttpResponseBase.tell^  s!   € ÜØ7¸$¿.¹.×:QÑ:QÕQó
ð 	
r"   c                ó   € R # rN   rK   rn   s   &r   ÚreadableÚHttpResponseBase.readablef  ó   € Ùr"   c                ó   € R # rN   rK   rn   s   &r   ÚseekableÚHttpResponseBase.seekablei  rß   r"   c                ó   € R # rN   rK   rn   s   &r   ÚwritableÚHttpResponseBase.writablel  rß   r"   c                óN   € \        R V P                  P                  ,          4      hrÍ   rÎ   )r   Úliness   &&r   Ú
writelinesÚHttpResponseBase.writelineso  rÕ   r"   )r_   rb   rh   ra   rd   rc   r^   rf   )NNNNNr;   )ru   NNÚ/NFFN)ru   )rê   NN)$rO   rP   rQ   rR   Ú__doc__rf   r    Úpropertyro   Úsetterr5   r€   Ú	__bytes__r„   rE   r>   rŒ   r�   Ú__contains__r   rm   r®   rL   r¸   r½   rÁ   rÊ   rÓ   r×   rÚ   rÝ   rá   rä   rè   rS   rT   rU   s   @r   r[   r[   k   s   ø‡ € ñð €Kô%ð< ñFó ðFð ×Ññ$ó ð$ð ñ(ó ð(ð ‡^�^ñó ðò
ð "€Iàñ
ó ð
ò%ò!ò$ò&ð €Lò$ô3ô>5ò@,ô5ô
ò(/ò*	BòTòò
òòò÷Tð Tr"   r[   c                   ó¶   a a€ ] tR tRt oRtRtRV 3R lltR tR t]t	]
R 4       t]P                  R 4       t]R	 4       tR
 tR tR tR tR tR tRtVtV ;t# )ÚHttpResponseis  zg
An HTTP response class with a string as content.

This content can be read, appended to, or replaced.
Fc                ó4   <€ \         SV `  ! V/ VB  Wn        R # r;   )Úsuperr    rÒ   )r   rÒ   Úargsr·   rÐ   s   &&*,€r   r    ÚHttpResponse.__init__|  s   ø€ Ü‰Ò˜$Ð) &Ò)àŽr"   c                óp   € R RV P                   P                  RV P                  RV P                  /,          # ©z5<%(cls)s status_code=%(status_code)d%(content_type)s>Úclsrf   ri   ©rÐ   rO   rf   r„   rn   s   &r   Ú__repr__ÚHttpResponse.__repr__�  s:   € ØFØ�4—>‘>×*Ñ*Ø˜4×+Ñ+Ø˜D×7Ñ7ðJ
õ 
ð 	
r"   c                óR   € V P                  4       R,           V P                  ,           # )z6Full HTTP message, including headers, as a bytestring.s   

)r€   rÒ   rn   s   &r   Ú	serializeÚHttpResponse.serializeˆ  s   € à×%Ñ%Ó'¨+Õ5¸¿¹ÕDÐDr"   c                ó8   € R P                  V P                  4      # ©r"   )r~   Ú
_containerrn   s   &r   rÒ   ÚHttpResponse.contentŽ  s   € à�x‰x˜Ÿ™Ó(Ð(r"   c                óz  a € \        VR 4      '       db   \        V\        \        \        34      '       gA   RP                  V 3R lV 4       4      p\        VR4      '       d    VP                  4        MMS P                  V4      pV.S n	        S P                  P                  RR4       R#   \         d     L3i ; i)Ú__iter__r"   c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir;   ©rÁ   )Ú.0Úchunkr   s   & €r   Ú	<genexpr>Ú'HttpResponse.content.<locals>.<genexpr>˜  s   øé € ÐIÁ5¸%˜tŸ™¨u×5Ð5Ã5ùs   ƒ!rÊ   ÚtextN)Úhasattrr+   r.   rÀ   r,   r~   rÊ   rÅ   rÁ   r  Ú__dict__r<   )r   r   rÒ   s   f& r   rÒ   r  ’  s¡   ø€ ô �5˜*×%Ò%¬jØ”Eœ:¤sÐ+÷/
ò /
ð —h‘hÔIÁ5ÓIÓIˆGÜ�u˜g×&Ò&ðØ—K‘K•Mð 'ð —o‘o eÓ,ˆGà"˜)ˆŒØ�‰×Ñ˜& $Ö'øô !ô Ùðús   Á#B, Â,B:Â9B:c                ó`   € V P                   P                  V P                  ;'       g    R 4      # )r)   )rÒ   r/   r5   rn   s   &r   r  ÚHttpResponse.text¤  s#   € à�|‰|×"Ñ" 4§<¡<×#:Ð#:°7Ó;Ð;r"   c                ó,   € \        V P                  4      # r;   )Úiterr  rn   s   &r   r  ÚHttpResponse.__iter__¨  s   € Ü�D—O‘OÓ$Ð$r"   c                óZ   € V P                   P                  V P                  V4      4       R # r;   )r  ÚappendrÁ   rÑ   s   &&r   rÓ   ÚHttpResponse.write«  s   € Ø�‰×Ñ˜tŸ™¨wÓ7Ö8r"   c                ó,   € \        V P                  4      # r;   )ÚlenrÒ   rn   s   &r   rÚ   ÚHttpResponse.tell®  s   € Ü�4—<‘<Ó Ð r"   c                ó   € V P                   # r;   )rÒ   rn   s   &r   ÚgetvalueÚHttpResponse.getvalue±  s   € Ø�|‰|Ðr"   c                ó   € R # )TrK   rn   s   &r   rä   ÚHttpResponse.writable´  s   € Ùr"   c                ó:   € V F  pV P                  V4       K  	  R # r;   )rÓ   )r   rç   Úlines   && r   rè   ÚHttpResponse.writelines·  s   € ÛˆDØ�J‰J�tÖó r"   )r  rÒ   r   )rO   rP   rQ   rR   rë   Ú	streamingr    rú   rý   rî   rì   rÒ   rí   r   r  r  rÓ   rÚ   r  rä   rè   rS   rT   Ú__classcell__©rÐ   rV   s   @@r   rñ   rñ   s  s‰   ù‡ € ñð €I÷ò

òEð €Iàñ)ó ð)ð ‡^�^ñ(ó ð(ð" ñ<ó ð<ò%ò9ò!òò÷ò r"   rñ   c                   ó°   a a€ ] tR tRt oRtRtRV 3R lltR t]R 4       t	]R 4       t
]R 4       t]P                  R	 4       tR
 tR tR tR tRtVtV ;t# )ÚStreamingHttpResponsei¼  a  
A streaming HTTP response class with an iterator as content.

This should only be iterated once, when the response is streamed to the
client. However, it can be appended to or replaced with a new iterator
that wraps the original content (or yields entirely new content).
Tc                ó4   <€ \         SV `  ! V/ VB  Wn        R # r;   )ró   r    Ústreaming_content)r   r'  rô   r·   rÐ   s   &&*,€r   r    ÚStreamingHttpResponse.__init__Ç  s   ø€ Ü‰Ò˜$Ð) &Ò)ð "3Ör"   c                óp   € R RV P                   P                  RV P                  RV P                  /,          # r÷   )rÐ   rQ   rf   r„   rn   s   &r   rú   ÚStreamingHttpResponse.__repr__Í  s:   € ØFØ�4—>‘>×.Ñ.Ø˜4×+Ñ+Ø˜D×7Ñ7ðJ
õ 
ð 	
r"   c                óN   € \        R V P                  P                  ,          4      h)zMThis %s instance has no `content` attribute. Use `streaming_content` instead.©ÚAttributeErrorrÐ   rO   rn   s   &r   rÒ   ÚStreamingHttpResponse.contentÔ  s'   € äð+Ø-1¯^©^×-DÑ-DõEó
ð 	
r"   c                óN   € \        R V P                  P                  ,          4      h)z)This %s instance has no `text` attribute.r,  rn   s   &r   r  ÚStreamingHttpResponse.textÛ  s!   € äØ7¸$¿.¹.×:QÑ:QÕQó
ð 	
r"   c                óž   a a€ S P                   '       d   S P                  oVV 3R  lpV! 4       # \        S P                  S P                  4      # )c                 óZ   <"  € S  R j  x€L
  p SP                  V 4      5x € K    LDR # 5ir;   r  )ÚpartÚ	_iteratorr   s    €€r   ÚawrapperÚ9StreamingHttpResponse.streaming_content.<locals>.awrapperè  s+   øé € Ù"+÷ 0ð 0˜$ØŸ/™/¨$Ó/Õ/ñ0¢)ùs   ƒ+†(Š&‹(Ž+¦(¨+)Úis_asyncr4  ÚmaprÁ   )r   r5  r4  s   f @r   r'  Ú'StreamingHttpResponse.streaming_contentá  s;   ù€ à�=�=ˆ=ð Ÿ™ˆIö0ñ “:Ðä�t—‘¨¯©Ó7Ð7r"   c                ó(   € V P                  V4       R # r;   )Ú_set_streaming_contentrr   s   &&r   r'  r9  ð  s   € à×#Ñ# EÖ*r"   c                óø   €  \        V4      V n        R V n        \        VR4      '       d(   V P                  P                  VP                  4       R# R#   \         d    \	        T4      T n        RT n         L_i ; i)FTrÊ   N)	r  r4  r7  rg   Úaiterr  ra   r  rÊ   rr   s   &&r   r;  Ú,StreamingHttpResponse._set_streaming_contentô  sh   € ð	!Ü! %›[ˆDŒNØ!ˆDŒMô �5˜'×"Ò"Ø×"Ñ"×)Ñ)¨%¯+©+Ö6ñ #øô ô 	!Ü" 5›\ˆDŒNØ ˆDŽMð	!ús   ‚A Á"A9Á8A9c           	     ó   €  \        V P                  4      #   \         d\    \        P                  ! R \
        ^R7       R p\        T P                  \        \        T4      ! T P                  4      4      4      u # i ; i)zƒStreamingHttpResponse must consume asynchronous iterators in order to serve them synchronously. Use a synchronous iterator instead.©Ú
stacklevelc              “   óV   "  € . pV   R j  x€L
  pVP                  V4       K   LDT# 5ir;   )r  )r4  Úas_listr  s   &  r   Úto_listÚ/StreamingHttpResponse.__iter__.<locals>.to_list  s1   é € Ø�Ù#,÷ *ð *˜%Ø—N‘N 5Ö)ñ* 9à�ùs   ‚)‡&‹$Œ&�)¤&¦))
r  r'  rg   ÚwarningsÚwarnÚWarningr8  rÁ   r   r4  )r   rD  s   & r   r  ÚStreamingHttpResponse.__iter__ÿ  sm   € ð	VÜ˜×.Ñ.Ó/Ð/øÜô 	VÜ�MŠMðPäØõ	òô �t—‘¬¬]¸7Ô-CÀDÇNÁNÓ-SÓ(TÓUÒUð	Vús   ‚ —A#A=Á<A=c               ó  "  €  V P                     R j  x€L
  pV5x € K   LDR #   \         dV    \        P                  ! R\        ^R7       \        \        4      ! T P                   4      G R j  x€L 
  F  pT5x € K
  	   R # i ; i5i)Nz…StreamingHttpResponse must consume synchronous iterators in order to serve them asynchronously. Use an asynchronous iterator instead.r@  )r'  rg   rF  rG  rH  r   Úlist)r   r3  s   & r   Ú	__aiter__ÚStreamingHttpResponse.__aiter__  sz   é € ð	Ø"×4Ò4÷ ð �dØ•
ñÒ4øäô 
	Ü�MŠMðSäØõ	ô ,¬DÔ1°$×2HÑ2HÓI×IÓI�Ø•
ô Jð
	üsJ   ‚B	„& �#”!•#˜	& ¡#£& ¤B	¦A
BÁ0A3Á1BÂB	ÂBÂB	c                ó8   € R P                  V P                  4      # r   )r~   r'  rn   s   &r   r  ÚStreamingHttpResponse.getvalue#  s   € Ø�x‰x˜×.Ñ.Ó/Ð/r"   )r4  r7  r'  )rK   )rO   rP   rQ   rR   rë   r!  r    rú   rì   rÒ   r  r'  rí   r;  r  rL  r  rS   rT   r"  r#  s   @@r   r%  r%  ¼  s‹   ù‡ € ñð €I÷3ò
ð ñ
ó ð
ð ñ
ó ð
ð
 ñ8ó ð8ð ×Ññ+ó ð+ò	7òVò(÷ 0ò 0r"   r%  c                   óX   a a€ ] tR tRt oRtRtRRRR/V 3R lltV 3R	 ltR
 tRt	Vt
V ;t# )ÚFileResponsei'  z6
A streaming HTTP response class optimized for files.
i   Úas_attachmentFÚfilenameru   c               óz   <€ Wn         W n        R V9  ;'       g    VR ,          RJ V n        \        SV `  ! V/ VB  R# )ri   N)rR  rS  Ú_no_explicit_content_typeró   r    )r   rR  rS  rô   r·   rÐ   s   &$$*,€r   r    ÚFileResponse.__init__.  sD   ø€ Ø*ÔØ Œà &Ñ(×JÐJ¨F°>Õ,BÀdÐ,Jð 	Ô&ô 	‰Ò˜$Ð) &Ô)r"   c                ó>  <a a€ \        VR 4      '       g   RS n        \        SS `  V4      # V;S n        o\        SR4      '       d&   S P                  P                  SP                  4       \        VV 3R lR4      pS P                  S4       \        SS `  V4       R# )ÚreadNrÊ   c                  ó:   <€ S P                  SP                  4      # r;   )rX  Ú
block_size©Úfileliker   s   €€r   Ú<lambda>Ú5FileResponse._set_streaming_content.<locals>.<lambda>>  s   ø€ ˜XŸ]™]¨4¯?©?Ô;r"   r"   )	r  Úfile_to_streamró   r;  ra   r  rÊ   r  Úset_headers)r   r   r\  rÐ   s   f&@€r   r;  Ú#FileResponse._set_streaming_content6  s‚   ú€ Ü�u˜f×%Ò%Ø"&ˆDÔÜ‘7Ñ1°%Ó8Ð8à).Ð.ˆÔ˜hÜ�8˜W×%Ò%Ø×"Ñ"×)Ñ)¨(¯.©.Ô9ÜÕ;¸SÓAˆØ×Ñ˜Ô"Ü‰Ñ& uÖ-r"   c           
     óÆ  a a€ \        SRR4      p\        V\        4      '       d   TMRp\        SR4      ;'       d*    \        SR4      '       * ;'       g    SP	                  4       p\        SR4      '       Ed&   V'       dh   SP                  4       pSP                  ^ \        P                  4       SP                  4       V,
          S P                  R&   SP                  V4       EM \        SR4      '       d>   SP                  4       P                  SP                  4       ,
          S P                  R&   MÑ\        P                  P                  V4      '       dB   \        P                  P                  V4      SP                  4       ,
          S P                  R&   MjV'       dc   \!        \#        VV 3R l^ 4      4      S P                  R&   SP                  \%        S P                  R,          4      ) \        P                  4       \        P                  P'                  S P(                  ;'       g    T4      pS P*                  '       de   V'       dN   \,        P.                  ! V4      w  rVR	R
RRRRRRRR/P1                  We4      pT;'       g    RS P                  R&   MRS P                  R&   \3        S P4                  V4      ;p'       d   VS P                  R&   R# R# )z„
Set some common response headers (Content-Length, Content-Type, and
Content-Disposition) based on the `filelike` response content.
Únameru   Úseekrá   rÚ   zContent-LengthÚ	getbufferc                  óL   <€ \        S P                  SP                  4      4      # r;   )r  rX  rZ  r[  s   €€r   r]  Ú*FileResponse.set_headers.<locals>.<lambda>\  s   ø€ œS §¡¨t¯©Ó!?Ô@r"   Úbrzapplication/x-brotliÚbzip2zapplication/x-bzipÚcompresszapplication/x-compressÚgzipzapplication/gzipÚxzzapplication/x-xzzapplication/octet-streamr]   zContent-DispositionN)Úgetattrr+   r,   r  rá   rÚ   rd  ÚioÚSEEK_ENDr^   re  ÚnbytesÚosrš   ÚexistsÚgetsizeÚsumr  re   ÚbasenamerS  rU  Ú	mimetypesÚ
guess_typerm   r   rR  )r   r\  rS  rá   Úinitial_positionri   ÚencodingÚcontent_dispositions   ff      r   r`  ÚFileResponse.set_headersB  sT  ù€ ô
 ˜8 V¨RÓ0ˆÜ)¨(´C×8Ò8‘8¸bˆÜ˜8 VÓ,÷ 
ð 
Ü˜ *Ó-Ô-×DÐD°×1BÑ1BÓ1Dð 	ô �8˜V×$Ó$ßØ#+§=¡=£?Ð Ø—‘˜a¤§¡Ô-Ø19·±³ÐCSÕ1S�—‘Ð-Ñ.Ø—‘Ð.Ö/Ü˜ ;×/Ò/à×&Ñ&Ó(×/Ñ/°(·-±-³/ÕAð —‘Ð-Ò.ô —‘—‘ ×)Ò)ä—G‘G—O‘O HÓ-°·±³Õ?ð —‘Ð-Ñ.ø÷ Ü-0ÜÕ@À!ÓDó.ˆD�L‰LÐ)Ñ*ð �M‰Mœ3˜tŸ|™|Ð,<Õ=Ó>Ð>ÄÇÁÔLä—7‘7×#Ñ# D§M¡M×$=Ð$=°XÓ>ˆØ×)×)Ð)ßÜ)2×)=Ò)=¸hÓ)GÑ&�ð Ð0ØÐ1ØÐ 8ØÐ.ØÐ,ð ÷ ‘#�hÓ-ð ð !×>Ð>Ð$>ð —‘˜^Ò,ð 0J�—‘˜^Ñ,ä"<Ø×Ñ ó#
ð 
Ðö 
ð 3FˆD�L‰LÐ.Ó/ñ
r"   )rU  rR  r_  rS  )rO   rP   rQ   rR   rë   rZ  r    r;  r`  rS   rT   r"  r#  s   @@r   rQ  rQ  '  s5   ù‡ € ñð €Jð*¨Eð *¸B÷ *õ
.÷4Fò 4Fr"   rQ  c                   óV   a a€ ] tR tRt o. ROtRV 3R llt]! R 4      tR tRt	Vt
V ;t# )ÚHttpResponseRedirectBaseiy  c                ó†  <€ \         SV `  ! V/ VB  \        V4      V R &   \        V4      p\	        V4      \
        8”  d   \        R\
         R24      h\        V4      pV'       d   V P                  V n	        VP                  '       d:   VP                  V P                  9  d   \        RVP                  ,          4      hR# R# )ÚLocationzUnsafe redirect exceeding z charactersz)Unsafe redirect to URL with protocol '%s'N)ró   r    r   r,   r  r   r   r   Ústatus_code_preserve_requestrf   ÚschemeÚallowed_schemes)r   Úredirect_toÚpreserve_requestrô   r·   Úredirect_to_strÚparsedrÐ   s   &&&*,  €r   r    Ú!HttpResponseRedirectBase.__init__|  s¯   ø€ Ü‰Ò˜$Ð) &Ò)Ü% kÓ2ˆˆZÑÜ˜kÓ*ˆÜˆÓÔ"9Ô9Ü$Ø,Ô-DÐ,EÀ[ÐQóð ô ˜/Ó*ˆßØ#×@Ñ@ˆDÔØ�=�=ˆ=˜VŸ]™]°$×2FÑ2FÔFÜ$Ø;¸f¿m¹mÕKóð ñ G‰=r"   c                ó   € V R ,          # )r  rK   rn   s   &r   r]  Ú!HttpResponseRedirectBase.<lambda>Œ  s	   €   ZÖ 0r"   c           	     óˆ   € R RV P                   P                  RV P                  RV P                  RV P                  /,          # )zD<%(cls)s status_code=%(status_code)d%(content_type)s, url="%(url)s">rø   rf   ri   Úurl)rÐ   rO   rf   r„   r‹  rn   s   &r   rú   Ú!HttpResponseRedirectBase.__repr__Ž  sB   € àRà�t—~‘~×.Ñ.Ø˜t×/Ñ/Ø × ;Ñ ;Ø�t—x‘xð	õð	
r"   )rf   )ÚhttpÚhttpsÚftprN   )rO   rP   rQ   rR   r‚  r    rì   r‹  rú   rS   rT   r"  r#  s   @@r   r}  r}  y  s&   ù‡ € Ú.€O÷ñ  Ñ0Ó
1€C÷	
ò 	
r"   r}  c                   ó   € ] tR tRtRtRtRtR# )ÚHttpResponseRedirectiš  i.  i3  rK   N©rO   rP   rQ   rR   rf   r€  rS   rK   r"   r   r‘  r‘  š  ó   † Ø€KØ#&Ô r"   r‘  c                   ó   € ] tR tRtRtRtRtR# )ÚHttpResponsePermanentRedirectiŸ  i-  i4  rK   Nr’  rK   r"   r   r•  r•  Ÿ  r“  r"   r•  c                   ón   a a€ ] tR tRt oRtV 3R lt]P                  P                  R 4       tRt	Vt
V ;t# )ÚHttpResponseNotModifiedi¤  i0  c                ó.   <€ \         SV `  ! V/ VB  V R  R# )zcontent-typeN)ró   r    )r   rô   r·   rÐ   s   &*,€r   r    Ú HttpResponseNotModified.__init__§  s   ø€ Ü‰Ò˜$Ð) &Ò)Ø�Ò r"   c                ó:   € V'       d   \        R 4      h. V n        R# )z7You cannot set content to a 304 (Not Modified) responseN)r-  r  rr   s   &&r   rÒ   ÚHttpResponseNotModified.content«  s   € çÜ ØIóð ð ˆŽr"   )r  )rO   rP   rQ   rR   rf   r    rñ   rÒ   rí   rS   rT   r"  r#  s   @@r   r—  r—  ¤  s4   ù‡ € Ø€Kõ!ð ×Ñ× Ñ ñó !÷ð r"   r—  c                   ó   € ] tR tRtRtRtR# )ÚHttpResponseBadRequesti´  i�  rK   N©rO   rP   rQ   rR   rf   rS   rK   r"   r   r�  r�  ´  ó   † Ø„Kr"   r�  c                   ó   € ] tR tRtRtRtR# )ÚHttpResponseNotFoundi¸  i”  rK   Nrž  rK   r"   r   r¡  r¡  ¸  rŸ  r"   r¡  c                   ó   € ] tR tRtRtRtR# )ÚHttpResponseForbiddeni¼  i“  rK   Nrž  rK   r"   r   r£  r£  ¼  rŸ  r"   r£  c                   ó<   a a€ ] tR tRt oRtV 3R ltR tRtVtV ;t	# )ÚHttpResponseNotAllowediÀ  i•  c                óP   <€ \         SV `  ! V/ VB  R P                  V4      V R&   R# )z, ÚAllowN)ró   r    r~   )r   Úpermitted_methodsrô   r·   rÐ   s   &&*,€r   r    ÚHttpResponseNotAllowed.__init__Ã  s(   ø€ Ü‰Ò˜$Ð) &Ò)ØŸ	™	Ð"3Ó4ˆˆW‹r"   c           
     ó‚   € R RV P                   P                  RV P                  RV P                  RV R,          /,          # )zC<%(cls)s [%(methods)s] status_code=%(status_code)d%(content_type)s>rø   rf   ri   Úmethodsr§  rù   rn   s   &r   rú   ÚHttpResponseNotAllowed.__repr__Ç  sC   € ØTØ�4—>‘>×*Ñ*Ø˜4×+Ñ+Ø˜D×7Ñ7Ø�t˜G•}ð	X
õ 
ð 	
r"   rK   )
rO   rP   rQ   rR   rf   r    rú   rS   rT   r"  r#  s   @@r   r¥  r¥  À  s   ù‡ € Ø€Kõ5÷
ò 
r"   r¥  c                   ó   € ] tR tRtRtRtR# )ÚHttpResponseGoneiÐ  iš  rK   Nrž  rK   r"   r   r®  r®  Ð  rŸ  r"   r®  c                   ó   € ] tR tRtRtRtR# )ÚHttpResponseServerErroriÔ  iô  rK   Nrž  rK   r"   r   r°  r°  Ô  rŸ  r"   r°  c                   ó   € ] tR tRtRtR# )ÚHttp404iØ  rK   NrX   rK   r"   r   r²  r²  Ø  rY   r"   r²  c                   ó@   a a€ ] tR tRt oRt]RR3V 3R lltRtVtV ;t	# )ÚJsonResponseiÜ  a   
An HTTP response class that consumes data to be serialized to JSON.

:param data: Data to be dumped into json. By default only ``dict`` objects
  are allowed to be passed due to a security flaw before ECMAScript 5. See
  the ``safe`` parameter for more information.
:param encoder: Should be a json encoder class. Defaults to
  ``django.core.serializers.json.DjangoJSONEncoder``.
:param safe: Controls if only ``dict`` objects may be serialized. Defaults
  to ``True``.
:param json_dumps_params: A dictionary of kwargs passed to json.dumps().
TNc                óà   <€ V'       d"   \        V\        4      '       g   \        R 4      hVf   / pVP                  RR4       \        P
                  ! V3RV/VB p\        SV `  ! RRV/VB  R# )zTIn order to allow non-dict objects to be serialized set the safe parameter to False.Nri   zapplication/jsonrø   rÒ   rK   )r+   Údictrg   rL   ÚjsonÚdumpsró   r    )r   r   ÚencoderÚsafeÚjson_dumps_paramsr·   rÐ   s   &&&&&,€r   r    ÚJsonResponse.__init__ê  ss   ø€ ÷ œ
 4¬×.Ò.Üð+óð ð Ò$Ø "ÐØ×Ñ˜.Ð*<Ô=Ü�zŠz˜$ÑA GÐAÐ/@ÑAˆÜ‰ÒÑ0 Ð0¨Ô0r"   rK   )
rO   rP   rQ   rR   rë   r   r    rS   rT   r"  r#  s   @@r   r´  r´  Ü  s   ù‡ € ñð  "ØØ÷1÷ 1r"   r´  )Ar¢   rn  r·  rv  rq  Úrer2   r«   rF  Úemail.headerr   Úhttp.clientr   Úurllib.parser   Úasgiref.syncr   r   Údjango.confr   Údjango.corer	   r
   Údjango.core.exceptionsr   Údjango.core.serializers.jsonr   Údjango.http.cookier   Údjango.utilsr   Údjango.utils.datastructuresr   Údjango.utils.encodingr   Údjango.utils.functionalr   Údjango.utils.httpr   r   r   Údjango.utils.regex_helperr   ÚIrv   r   r`   r0   r[   rñ   r%  rQ  r}  r‘  r•  r—  r�  r¡  r£  r¥  r®  r°  rÅ   r²  r´  rK   r"   r   Ú<module>rÎ     sX  ðÛ Û 	Û Û Û 	Û 	Û 
Û Û Ý Ý !Ý !ç 5å  ß (Ý 5Ý :Ý +Ý !Ý >Ý ,Ý 3÷ñ õ
 7á 0Ø'¨¯©ó!Ð ô
?Ð,ô ?ôD	�Zô 	÷ETñ ETôPFÐ#ô FôRh0Ð,ô h0ôVOFÐ(ô OFôd
˜|ô 
ôB'Ð3ô 'ô
'Ð$<ô 'ô
˜lô ô ˜\ô ô˜<ô ô˜Lô ô
˜\ô 
ô �|ô ô˜lô ô	ˆiô 	ô1�<ö 1r"   