
    Mh                        d Z ddlmZ ddlmZ dZddiZdZdZ	 ee          Z
 edegi           ed	egi           ed
egi          d edegez  i           ed	egez  i          d edegdgez  i           ed	egdgez  i          d edg dgedz  z  edgedz  z  i           ed	g dgedz  z  edgedz  z  i          d edg dgez  ei           ed	g dgez  ei          d edegdgez  i           ed
egdgez  i          d edg dgedz  z  edgedz  z  i           ed
g dgedz  z  edgedz  z  i          d edg dgez  ei           ed
g dgez  ei          ddZedk    r e            Ze                    dd            e                    dd            e                                D ]_\  ZZe                                D ]C\  ZZe                    e de defd           e                    e de defd           D^dS dS )z
A benchmark for validation of applicators containing lots of useless schemas.

Signals a small possible optimization to remove all such schemas ahead of time.
    )Runner)Draft202012Validatori const%      anyOfallOfoneOf)r   r	   r
   )r   r	   T   F)r   r
   )zsingle subschemazredundant subschemasz)useless successful subschemas (beginning)z&useless successful subschemas (middle)z#useless successful subschemas (end)z&useless failing subschemas (beginning)z#useless failing subschemas (middle)z useless failing subschemas (end)__main__zbaseline validc                  @    t                               t                    S N)baselineis_validvalid     p/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jsonschema/benchmarks/useless_applicator_schemas.py<lambda>r   ^   s    0A0A%0H0H r   zbaseline invalidc                  @    t                               t                    S r   )r   r   invalidr   r   r   r   r   _   s    (2C2CG2L2L r   z: z validc                 6    |                      t                    S r   )r   r   	validators    r   r   r   e   s    I,>,>u,E,E r   z invalidc                 6    |                      t                    S r   )r   r   r   s    r   r   r   i   s    I,>,>w,G,G r   N)__doc__pyperfr   
jsonschemar   	ValidatorNUM_USELESS	subschemar   r   r   by_name__name__runner
bench_funcitemsgroupapplicators
applicatorr   r   r   r   <module>r*      s          8 8 8 8 8 8bM	

9Y Gi[122Gi[122Gi[122  Gi[;%>?@@Gi[;%>?@@ 
 Gi%G4&;2F%GHIIGi%G4&;2F%GHII2 2
  V{a/0 V{a/0
 
  V{a/0 V{a/0
 
/ /* G%Gv';%GY%GHIIG%Gv';%GY%GHII, ,
 Gi%H5'K2G%HIJJGi%H5'K2G%HIJJ/ /
  Wq 01 Wq 01
 
  Wq 01 Wq 01
 
, ,* G%Hw'<%Hi%HIJJG%Hw'<%Hi%HIJJ) )}B BH zVXXF
&(H(HIII
(*L*LMMM%mmoo 	 	{%0%6%6%8%8 	 	!J	..J...!*EEE   00J000!*GGG   	 	 	r   