+
    iq  c                   sn    ^ RI t . R
Ot ! R R4      tR tR tRR ltR tR t0 RmP                  t	R	 t
R# )    NFileWrapperc                   s6   a  ] tR t^t o RR ltR tR tRtV tR# )r   c                sh    Wn         W n        \        VR 4      '       d   VP                  V n        R# R# )closeN)filelikeblksizeZhasattrr   )selfr   r   s   &&&%/usr/lib64/python3.14/wsgiref/util.py__init__ZFileWrapper.__init__   s)     8G$$!DJ %    c                s    V # N )r      &r   __iter__ZFileWrapper.__iter__   s    r   c                sl    V P                   P                  V P                  4      pV'       d   V# \        hr	   )r   Zreadr   ZStopIteration)r   Zdatas   & r   __next__ZFileWrapper.__next__   s(    }}!!$,,/Kr   )r   r   r   N)i    )	Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s     ( r   c                 s6    V P                  R 4      R9   d   R# R# )ZHTTPShttpshttp)ZyesZonZ1)get)environr   r   guess_schemer      s     {{7//r   c                 s   V R ,          R,           p^ RI Hp V P                  R4      '       d   WR,          ,          pMhWR,          ,          pV R ,          R8X  d'   V R,          R8w  d   VRV R,          ,           ,          pM%V R,          R	8w  d   VRV R,          ,           ,          pY! V P                  R
4      ;'       g    RRR7      ,          pV# )wsgi.url_schemez://quote	HTTP_HOSTSERVER_NAMEr   SERVER_PORT443Z:80SCRIPT_NAME/latin1)encoding)urllib.parser   r   )r   urlr      &  r   application_urir"   %   s    
#
$U
*C"{{;{##}%%$%0}%.sW]333}%-sW]3335]+22sXFFCJr   c                 s(   \        V 4      p^ RIHp V! V P                  RR4      RRR7      pV P                  R4      '       g   W$R,          ,          pMW$,          pV'       d/   V P                  R	4      '       d   VR
V R	,          ,           ,          pV# )r    r   	PATH_INFO z/;=,r   )Zsafer   r   :   NNZQUERY_STRINGZ?)r"   r   r   r   )r   Zinclude_queryr    r   	path_infos   &&   r   request_urir'   9   su    
'
"C"gkk+b1RI;;}%%}^44sW^,,,Jr   c                 s   V P                  R R4      pV'       g   R# VP                  R4      pV^R  Uu. uF  q3'       g   K  VR8w  g   K  VNK  	  upV^R% V^,          pV^ V P                  RR4      p\        P                  ! VR,           V,           4      pVP	                  R4      '       d   VRR pV'       g!   VP	                  R4      '       g
   VR,          pWPR&   RP                  V4      V R &   VR8X  d   RpV# u upi )r#   r$   Nr   Z.r   i)r   Zsplit	posixpathZnormpathZendswithZjoin)r   r&   Z
path_partsZpZnameZscript_names   &     r   shift_path_infor)   F   s     K+I%J#-a#3F#3aqQ#X#3FJqa=D1++mB/K$$[_T%9:KC  !#2&,,S11s(M XXj1GK SyK+ Gs   	DDDc                 s   V P                  R R4       V P                  RR4       V P                  RV R ,          4       V P                  RR4       RV 9  d,   RV 9  d%   V P                  RR	4       V P                  RR
4       T P                  RR4       V P                  R^ 4       V P                  R^ 4       V P                  R^ 4       ^ RIHpHp V P                  RV! 4       4       V P                  RV! 4       4       V P                  R\	        V 4      4       V R,          R8X  d   V P                  RR4       R# V R,          R8X  d   V P                  RR4       R# R# )r   z	127.0.0.1ZSERVER_PROTOCOLzHTTP/1.0r   ZREQUEST_METHODZGETr   r#   r$   r   zwsgi.versionzwsgi.run_oncezwsgi.multithreadzwsgi.multiprocess)StringIOBytesIOz
wsgi.inputzwsgi.errorsr   r   r   r   r   r   N)r%   r    )Z
setdefaultZior*   r+   r   )r   r*   r+   r!   r   setup_testing_defaultsr,   o   s:    }[1(4{7=#9:'.G#7(B=,;s+~u-*)1-*A.$|WY/}hj1(g)>? !6)=$/	"	#W	,=%0 
-r   c                 s4    \        V P                  4       4      # r	   )_hoppishZlower)Zheader_namer   r   is_hop_by_hopr.      s    K%%'((r   )r   r   r"   r'   r)   r,   r.   )T>   ZteZupgradeZtrailersZ
connectionz
keep-aliveztransfer-encodingzproxy-authenticatezproxy-authorization)r(   Z__all__r   r   r"   r'   r)   r,   Z__contains__r-   r.   r
   r   r   <module>r/      sL     $('R$1P ,	 	)r   