
    yIf"                     H   d dl Z d dlZd dlmZmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZ 	 d dlmZ d dlmZ d	d
lmZ n## e$ rZ ede ddz   dz             ddZ[ww xY wd dlZd dlZd dlmZ d dlmZ  e j                    ZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)ee e!e"e#e$e%e&e'e(e)gZ*dZ+ G d de,          Z- G d d e,          Z. ej/        d!d"d#gi$           ej0        d%e1d&d'd()           ej0        d*e2d+d,d()           ej3        ej                  d-e1d.e2d/dfd0                                                Z4d/ej5        fd1Z6d2ej7        d3ed/ej8        fd4Z9d5ee1         d/ej:        fd6Z;d7e1d/ee<eej=                 f         fd8Z>d;d9Z?e@d:k    r e?             dS dS )<    N)ExecutorProcessPoolExecutor)datetimetimezone)partial)freeze_support)SetTuple)web)MultiMapping   )corsz%aiohttp dependency is not installed: z. z5Please re-install black with the '[d]' extra install z.to obtain aiohttp_cors: `pip install black[d]`)version)maybe_install_uvloopzX-Protocol-VersionzX-Line-LengthzX-Python-VariantzX-Skip-Source-First-LinezX-Skip-String-NormalizationzX-Skip-Magic-Trailing-Commaz	X-Previewz
X-UnstablezX-Enable-Unstable-FeaturezX-Fast-Or-SafezX-DiffzX-Black-Versionc                       e Zd ZdS )HeaderErrorN__name__
__module____qualname__     C/var/www/piapp/venv/lib/python3.11/site-packages/blackd/__init__.pyr   r   =           Dr   r   c                       e Zd ZdS )InvalidVariantHeaderNr   r   r   r   r   r   A   r   r   r   help_option_namesz-hz--help)context_settingsz--bind-hostzAddress to bind the server to.	localhostT)typehelpdefaultshow_defaultz--bind-portzPort to listen oni  	bind_host	bind_portreturnc                     t          j        t           j                   t                      }t          j        }t	          j        d| d|  d|            t          j        || |dd            d S )N)levelzblackd version z listening on z port T)hostporthandle_signalsprint)	loggingbasicConfigINFOmake_appblack__version__outr   run_app)r$   r%   appvers       r   mainr7   E   sv     gl++++
**C

C	IOOO9OOIOOPPPK))DPTUUUUUUr   c            	          t          j        t          g t          dR           g          } t	                      }|                     t          j        dt          t          |                    g           | S )NzContent-Type)allow_headers)middlewares/)executor)	r   Applicationr   BLACK_HEADERSr   
add_routespostr   handle)r5   r<   s     r   r0   r0   Y   sw    
/(H-(H(H(HIIIJ  C #$$HNNCHS'&8"D"D"DEEFGGGJr   requestr<   c           
        K   t           t          i}	 | j                            t          d          dk    rt          j        dd          S d}| j                            t          d          dk    rd}	 t          | j                  }n8# t          $ r+}t          j        d	|j
        d
                   cY d }~S d }~ww xY w| j                                         d {V }| j        | j        nd}|                    |          }t          j        t"          j                  }	d}
|j        r,|                    d          dz   }|d |         }
||d          }t+          j                    }|                    |t1          t2          j        |||                     d {V }|                    d          }|d
k    r7||dz
           dk    r(|                    dd          }||k    rt2          j        |
|z   }|
|z   }t;          | j                            t<          d                    }|rrt          j        t"          j                  }d|	 }d| }t+          j                    }|                    |t1          t2          j        ||||                     d {V }t          j        | j         |||          S # t2          j        $ r t          j        d|          cY S t2          j!        $ r.}t          j        d	|tE          |                    cY d }~S d }~wtF          $ rB}tI          j%        d           t          j        d|tE          |                    cY d }~S d }~ww xY w)N1i  z,This server only supports protocol version 1)statustextFsafefastTi  r   utf8 
r   )rH   modez
zIn	zOut	)content_typecharsetheadersrF      )rE   rP   )rE   rP   rF   z#Exception during handling a requesti  )&BLACK_VERSION_HEADERr2   rP   getPROTOCOL_VERSION_HEADERr   ResponseFAST_OR_SAFE_HEADER
parse_moder   argscontentreadrO   decoder   nowr   utcskip_source_first_linefindasyncioget_event_looprun_in_executorr   r1   format_file_contentsreplaceNothingChangedboolDIFF_HEADERdiffrN   InvalidInputstr	Exceptionr-   	exception)rB   r<   rP   rH   rL   e	req_bytesrO   req_strthenheaderfirst_newline_positionloopformatted_strnl	only_diffr\   src_namedst_names                      r   rA   rA   b   s     #[1GAF?6<<CC<!O    ?2F;;vEED	<go..DD 	< 	< 	<<s;;;;;;;;;	<!/..00000000	%,_%@'//f""7++|HL))& 	7*1,,t*<*<q*@"4445F4556G%''"22ge8'SWXXX
 
 
 
 
 
 
 

 \\$66gb1fo--)11$??M''** 7". ,,[%@@AA	 	,x|,,C$d}}H$s}}H)++D"&"6"6
G]HhOO# #      M
 | -	
 
 
 	
  9 9 9|3888888 F F F|3c!ffEEEEEEEEE F F F?@@@|3c!ffEEEEEEEEEFsl   9J= (J= 5B
 	J= 

B? B:4B?5J= :B??G=J= =%M*$M*2#LM*M*(7M%M*%M*rP   c                    	 t          |                     t          t          j                            }n# t
          $ r t          d          d w xY wt          | v rY| t                   }	 t          |          \  }}nH# t          $ r+}t          dt           d|j
        d                    d d }~ww xY wd}t                      }t          |                     t          d                    }t          |                     t          d                    }t          |                     t          d                    }t          |                     t           d                    }	t          |                     t"          d                    }
t                      }|                     t$          d                              d          }|D ]h}|                                }|rP	 |                    t          j        |                    ?# t.          $ r t          dt$           d|           d w xY wit          j        ||||| | |	|
|	  	        S )	Nz Invalid line length header valuezInvalid value for z: r   FrJ   ,)	target_versionsis_pyiline_lengthr^   string_normalizationmagic_trailing_commapreviewunstableenabled_features)intrS   LINE_LENGTH_HEADERr1   DEFAULT_LINE_LENGTH
ValueErrorr   PYTHON_VARIANT_HEADERparse_python_variant_headerr   rX   setrf    SKIP_STRING_NORMALIZATION_HEADERSKIP_MAGIC_TRAILING_COMMASKIP_SOURCE_FIRST_LINEPREVIEWUNSTABLEENABLE_UNSTABLE_FEATUREsplitstripaddPreviewKeyErrorFileMode)rP   r}   valuepyiversionsrm   skip_string_normalizationskip_magic_trailing_commar^   r   r   enable_featuresenable_unstable_featurespieces                 r   rW   rW      ss   H'++&8%:STTUU H H H<==4GH ''-.	7>>MC# 	 	 	I%:IIafQiII 	
 55 $4e<<! ! !%W[[1JE%R%R S S!'++.De"L"LMM7;;w..//GGKK%0011H*-%%O&{{+BBGGMMcRR)   	##EM%$89999   !K)@KKEKK 	 > 5!::!::(
 
 
 
s-   25 A*A= =
B2&B--B2$%H

&H0r   c                 D   | dk    rdt                      fS t                      }|                     d          D ]b}|                    d          r|t          d          d          }d|v r|                    d          ^}}n(|d         }t          |          dk    r|dd          gng }	 t	          |          }|dvrt          d	          t          |          dk    r+t	          |d                   }|d
k    rt          d          n
|d
k    rdnd}d| | }|dk    r-t          t          j        |          st          d| d          |	                    t          j        |                    ?# t          t          f$ r t          d          d w xY wd|fS )Nr   Trz   py.r   r   )      zmajor version must be 2 or 3r   zPython 2 is not supported   r   PYz3.z is not supportedzexpected e.g. '3.7', 'py3.5'F)r   r   
startswithlenr   r   hasattrr1   TargetVersionr   r   r   )r   r   r   	major_strrestmajorminorversion_strs           r   r   r      s   ~~SUU{55{{3'' 	U 	UG!!$'' /!#d))++.g~~#*==#5#5 	DD#AJ	(+Gq(8(8}}bUI&&./MNNNt99q==QLLEzz23NOOO " "'!AAE151%11A::ge.A;&O&O:./LE/L/L/LMMMU0=>>>>j) U U U*+IJJPTTUhs   .C	E99"Fc                  Z    t                       t                       t                       d S )N)r   r   r7   r   r   r   patched_mainr      s'    FFFFFr   __main__)r&   N)Ar`   r-   concurrent.futuresr   r   r   r   	functoolsr   multiprocessingr   typingr	   r
   aiohttpr   	multidictr   r:   r   ImportErrorieclickr1   _black_versionr   r2   black.concurrencyr   Event_stop_signalrT   r   r   r   r   r   r   r   r   rV   rg   r>   rR   rk   r   r   commandoptionrj   r   version_optionr7   r=   r0   RequestrU   rA   ModerW   rf   r   r   r   r   r   r   r   <module>r      s     < < < < < < < < ' ' ' ' ' ' ' '       * * * * * *        
&&&&&&!!!!!!!   
+6666
A	B
:	;  	   1 1 1 1 1 1 2 2 2 2 2 2 w} / $ * 3 #@  9 
5 &  $ ) 	 	 	 	 	) 	 	 		 	 	 	 	9 	 	 	 !4tX6F GHHH		)   "5uSW   e/000VC VC VD V V V 10   IHV#/    CF#+ CF CFcl CF CF CF CFL0S) 0ej 0 0 0 0fs uT3u?R;S5S/T    B    zLNNNNN s   A A!AA!