
    {g 9                     (   S SK Jr  S SKrS SKJrJrJrJrJrJ	r	J
r
Jr  S SKJrJr  S rS rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S  r*S! r+S" r,S# r-S$ r.S% r/S& r0S' r1S( r2g))    )FractionN)ensure_listequal
extras_msgfind_additional_properties%find_evaluated_item_indexes_by_schema&find_evaluated_property_keys_by_schemaunbooluniq)FormatErrorValidationErrorc           	   #     #    U R                  US5      (       d  g UR                  5        HS  u  pEUR                  5        H:  u  pg[        R                  " XF5      (       d  M"  U R	                  XuXdS9 S h  vN   M<     MU     g  N7fNobjectpathschema_path)is_typeitemsresearchdescend)	validatorpatternPropertiesinstanceschemapattern	subschemakvs           6/usr/lib/python3/dist-packages/jsonschema/_keywords.pyr   r      sz     Xx00/557NN$DAyy$$$,,q -    % 8s   AB"B5B6Bc              #      #    U R                  US5      (       d  g U H  nU R                  XAS9 S h  vN   M     g  N	7f)Nr   )r   r   )r   r   )r   propertyNamesr   r   propertys        r!   r#   r#      s?     Xx00$$h$MMM Ms   0><
>c           
   #   8  #    U R                  US5      (       d  g [        [        X#5      5      nU R                  US5      (       a$  U H  nU R                  X%   XS9 S h  vN   M     g U(       d  U(       a  SU;   ap  [	        U5      S:X  a  SOSnSR                  S [        U5       5       5      nSR                  S	 [        US   5       5       5      nU S
U SU 3n	[        U	5      v   g Sn	[        U	[        [        U[        S95      -  5      v   g g g  N7f)Nr   )r   r      doesdo, c              3   8   #    U  H  n[        U5      v   M     g 7fNrepr.0eachs     r!   	<genexpr>'additionalProperties.<locals>.<genexpr>1   s     EndtDzzn   c              3   8   #    U  H  n[        U5      v   M     g 7fr+   r,   r.   s     r!   r1   r2   2   s      !'JtT

'Jr3    z not match any of the regexes: z8Additional properties are not allowed (%s %s unexpected)key)
r   setr   r   lenjoinsortedr   r   str)
r   aPr   r   extrasextraverbjoinedpatternserrors
             r!   additionalPropertiesrD   %   s    Xx00+H=>FX&&E (("(III F&( [A-64DYYEfVnEEFyy !'-f5H.I'J! H hav%DXJOE!%((NE!%*VF5L*M"MNN R Js   AD D!B8Dc           
   #   l  #    U R                  US5      (       d  g [        UR                  S/ 5      5      n[        U5      nXT-
  nUS::  a  g USL a3  US:w  a  X$S  OX$   nUS:w  a  SOSn[        SU S	U S
U SU< 35      v   g [	        XE5       H  n	U R                  X)   UU	S9 S h  vN   M      g  N	7f)NarrayprefixItemsr   Fr&   r   itemzExpected at most r5   z but found z extra: )r   r   r   )r   r9   getr   ranger   )
r   r   r   r   prefixtotalr?   restrH   indexs
             r!   r   r   <   s     Xw//M2./FMENEz~$)QJx H4D A+w6xqk% AX
 	

 6)E ((! )    *s   B&B4(B2)
B4c              #   P   #    [        X!5      (       d  [        U< S35      v   g g 7f)Nz was expected)r   r   )r   constr   r   s       r!   rP   rP   V   s'     !!	788 "s   $&c              #     #    U R                  US5      (       d  g SnUR                  SS5      nUR                  S[        U5      5      nU HE  nU R                  US9R	                  U5      (       d  M(  US-  nXF:  d  M4  [        SU S3SUS	9v     g    XE:  a.  U(       d  [        U< S
35      v   g [        SU SU S3SUS	9v   g g 7f)NrF   r   minContainsr&   maxContainsr   z8Too many items match the given schema (expected at most ))r   validator_valuez1 does not contain items matching the given schemaz8Too few items match the given schema (expected at least z
 but only z	 matched))r   rI   r9   evolveis_validr   )r   containsr   r   matchesmin_containsmax_containsr0   s           r!   rY   rY   [   s     Xw//G::mQ/L::mS];L8,55d;;qLG%%))5a9+$0	    !, , , 
 "J.
7)9>' ,	  s   A.C	4C	 A	C	c              #   p   #    U R                  US5      (       d  g X!::  a  [        U< SU< 35      v   g g 7f)Nnumberz) is less than or equal to the minimum of r   r   )r   minimumr   r   s       r!   exclusiveMinimumra   ~   sG     Xx00l %[*
 	
    46c              #   p   #    U R                  US5      (       d  g X!:  a  [        U< SU< 35      v   g g 7f)Nr^   z, is greater than or equal to the maximum of r_   )r   maximumr   r   s       r!   exclusiveMaximumre      sG     Xx00l !!(-
 	
 rb   c              #   t   #    U R                  US5      (       d  g X!:  a  U< SU< 3n[        U5      v   g g 7f)Nr^   z is less than the minimum of r_   )r   r`   r   r   messages        r!   r`   r`      sB     Xx00L =g[Ig&&    68c              #   t   #    U R                  US5      (       d  g X!:  a  U< SU< 3n[        U5      v   g g 7f)Nr^   z  is greater than the maximum of r_   )r   rd   r   r   rg   s        r!   rd   rd      sB     Xx00L @Lg&& rh   c              #   4  #    U R                  US5      (       d  g [        U[        5      (       a  X!-  n [        U5      U:g  nOX!-  nU(       a  [        U< SU 35      v   g g ! [         a'    [        U5      [        U5      -  R                  S:g  n NLf = f7f)Nr^   r&   z is not a multiple of )r   
isinstancefloatintOverflowErrorr   denominatorr   )r   dBr   r   quotientfaileds         r!   
multipleOfrs      s     Xx00"e=	J]h.F ,B2$GHH   	J x(8B<7DDIF	Js(   2BA$ !B$.BBBBc              #   ~   #    U R                  US5      (       a"  [        U5      U:  a  [        U< S35      v   g g g 7f)NrF    is too shortr   r9   r   r   mIr   r   s       r!   minItemsry      s>     7++H0BM:;; 1C+   ;=c              #   ~   #    U R                  US5      (       a"  [        U5      U:  a  [        U< S35      v   g g g 7f)NrF    is too longrv   rw   s       r!   maxItemsr}      s>     7++H0BL9:: 1C+rz   c              #      #    U(       a;  U R                  US5      (       a#  [        U5      (       d  [        U< S35      v   g g g g 7f)NrF   z has non-unique elements)r   r   r   )r   uIr   r   s       r!   uniqueItemsr      sF     
h00X,DEFF  1 	s   AAc              #      #    U R                  US5      (       a1  [        R                  " X5      (       d  [        U< SU< 35      v   g g g 7f)Nstringz does not match )r   r   r   r   )r   patrnr   r   s       r!   r   r      sH     (H--		%**,<UIFGG + 	.s   A
Ac              #      #    U R                   b   U R                   R                  X!5        g g ! [         a*  n[        UR                  UR
                  S9v    S nAg S nAff = f7f)N)cause)format_checkercheckr   r   rg   r   )r   formatr   r   rC   s        r!   r   r      sX     +	D$$**8< ,  	D!%--u{{CC	Ds*   A%. A%
A" AA%A""A%c              #   ~   #    U R                  US5      (       a"  [        U5      U:  a  [        U< S35      v   g g g 7f)Nr   ru   rv   r   mLr   r   s       r!   	minLengthr      s>     8,,X1CM:;; 2D,rz   c              #   ~   #    U R                  US5      (       a"  [        U5      U:  a  [        U< S35      v   g g g 7f)Nr   r|   rv   r   s       r!   	maxLengthr      s>     8,,X1CL9:: 2D,rz   c              #      #    U R                  US5      (       d  g UR                  5        H2  u  pEXB;  a  M  U H   nXb;  d  M
  U< SU< 3n[        U5      v   M"     M4     g 7f)Nr   z is a dependency of )r   r   r   )r   dependentRequiredr   r   r$   
dependencyr0   rg   s           r!   r   r      sf     Xx00 1 7 7 9#D#!H$8E%g.. 	 !:s   =A"A"c              #      #    U R                  US5      (       d  g UR                  5        H$  u  pEXB;  a  M  U R                  X%US9 S h  vN   M&     g  N	7f)Nr   r   r   r   r   )r   dependentSchemasr   r   r$   r   s         r!   r   r      sa     Xx00 0 6 6 8#$$h % 
 	
 	
 !9	
s   AA
A
Ac              #      ^#    US:X  d  US:X  a;  [        U5      m[        U4S jU 5       5      (       a  [        U< SU< 35      v   g g X!;  a  [        U< SU< 35      v   g g 7f)Nr   r&   c              3   @   >#    U  H  nT[        U5      :g  v   M     g 7fr+   )r
   )r/   r0   unbooleds     r!   r1   enum.<locals>.<genexpr>  s     :EDx6$<'Es   z is not one of )r
   allr   )r   enumsr   r   r   s       @r!   enumr     sj     1}A(#:E:::!XLy"IJJ ;		OE9EFF 
s   A#A&c              #   >   #    U R                  XS9 S h  vN   g  N7fN)refr   _validate_reference)r   r   r   r   s       r!   r   r     s     ,,,HHH   c              #   >   #    U R                  XS9 S h  vN   g  N7fr   r   )r   
dynamicRefr   r   s       r!   r   r     s     ,,,OOOr   c              #      ^ ^#    [        U5      n[        UU 4S jU 5       5      (       d,  SR                  S U 5       5      n[        T< SU 35      v   g g 7f)Nc              3   H   >#    U  H  nTR                  TU5      v   M     g 7fr+   )r   )r/   typer   r   s     r!   r1   type.<locals>.<genexpr>  s!     CUTy  400Us   "r)   c              3   8   #    U  H  n[        U5      v   M     g 7fr+   r,   )r/   r   s     r!   r1   r     s     7$t**r3   z is not of type )r   anyr:   r   )r   typesr   r   reprss   ` `  r!   r   r     sR     ECUCCC		777,<UGDEE Ds   AAc              #      #    U R                  US5      (       d  g UR                  5        H(  u  pEXB;   d  M  U R                  X$   UUUS9 S h  vN   M*     g  N	7fr   r   )r   
propertiesr   r   r$   r   s         r!   r   r   !  sh     Xx00)//1 (("$	 )     2s   1AAA
Ac              #   ~   #    U R                  US5      (       d  g U H  nXB;  d  M
  [        U< S35      v   M     g 7f)Nr   z is a required propertyr_   )r   requiredr   r   r$   s        r!   r   r   /  s>     Xx00#!XL0G"HII s   !==c              #   ~   #    U R                  US5      (       a"  [        U5      U:  a  [        U< S35      v   g g g 7f)Nr   z  does not have enough propertiesrv   r   mPr   r   s       r!   minPropertiesr   7  s?     8,,X1C,LMNN 2D,rz   c              #      #    U R                  US5      (       d  g U R                  US5      (       a"  [        U5      U:  a  [        U< S35      v   g g g 7f)Nr   z has too many propertiesrv   r   s       r!   maxPropertiesr   <  sU     Xx008,,X1C,DEFF 2D,s   AAc              #   h   #    [        U5       H  u  pEU R                  X%US9 S h  vN   M     g  N	7f)Nr   )	enumerater   )r   allOfr   r   rN   r   s         r!   r   r   C  s3     %e,$$Xe$LLL -Ls   $20
2c           	   #      #    / n[        U5       H8  u  pV[        U R                  X&US95      nU(       d    g UR                  U5        M:     [	        U< S3US9v   g 7f)Nr   , is not valid under any of the given schemascontext)r   listr   extendr   )r   anyOfr   r   
all_errorsrN   r   errss           r!   r   r   H  sg     J%e,I%%hu%MN$	 - lFG
 	
s   AAc           	   #     #    [        U5      n/ nU H:  u  pg[        U R                  X'US95      nU(       d  Un	  O%UR                  U5        M<     [	        U< S3US9v   U V
Vs/ s H,  u  pU R                  US9R                  U5      (       d  M*  UPM.     nn
nU(       a=  UR                  W	5        SR                  S U 5       5      n[	        U< SU 35      v   g g s  snn
f 7f)Nr   r   r   rT   r)   c              3   8   #    U  H  n[        U5      v   M     g 7fr+   r,   )r/   r   s     r!   r1   oneOf.<locals>.<genexpr>k  s     @Z6$v,,Zr3   z is valid under each of )	r   r   r   r   r   rW   rX   appendr:   )r   oneOfr   r   
subschemasr   rN   r   r   first_valid_r0   
more_validr   s                 r!   r   r   V  s     5!JJ&I%%hu%MN#K$ ' lFG
 	
 '&4(11(; 	J   +&		@Z@@,DUGLMM 	s   A#C&%)C C AC&c              #      #    U R                  US9R                  U5      (       a  U< SU< 3n[        U5      v   g g 7f)NrT   z should not be valid under )rW   rX   r   )r   
not_schemar   r   rg   s        r!   not_r   o  sE     z*33H==L ;J>Jg&& >s   <>c              #      #    U R                  US9R                  U5      (       a%  SU;   a  US   nU R                  X$SS9 S h  vN   g g SU;   a  US   nU R                  X%SS9 S h  vN   g g  N+ N7f)NrT   thenr   else)rW   rX   r   )r   	if_schemar   r   r   else_s         r!   if_r   u  s     y)228<<V&>D ((V(LLL  
6	v$$X&$III 
 M 	Js$   AA4A0$A4)A2*A42A4c              #      #    U R                  US5      (       d  g [        XU5      n[        U5       VVs/ s H  u  pVXT;  d  M  UPM     nnnU(       a  Sn[        U[	        U5      -  5      v   g g s  snnf 7f)NrF   z4Unevaluated items are not allowed (%s %s unexpected))r   r   r   r   r   )	r   unevaluatedItemsr   r   evaluated_item_indexesrN   rH   unevaluated_itemsrC   s	            r!   r   r     s     Xw//BV !*( 3 3. 	 3   Fej1B&CCDD 	s   3A7A1A1
-A7c              #   t  #    U R                  US5      (       d  g [        XU5      n/ nU H6  nXd;  d  M
  U R                  X&   UUUS9 H  nUR                  U5        M     M8     U(       aK  USL a*  Sn[	        U[
        S9n	[        U[        U	5      -  5      v   g Sn[        U[        U5      -  5      v   g g 7f)Nr   r   Fz9Unevaluated properties are not allowed (%s %s unexpected)r6   z[Unevaluated properties are not valid under the given schema (%s %s unevaluated and invalid))r   r	   r   r   r;   r<   r   r   )
r   unevaluatedPropertiesr   r   evaluated_keysunevaluated_keysr$   r   rC   r>   s
             r!   r   r     s     Xx00;VN )&&"%$	 '  !''1   E)OE,#6F!%*V*<"<==C  "%*5E*F"FGG s   /B8BB8c              #      #    U R                  US5      (       d  g [        [        U5      U5       H"  u  u  pEnU R                  UUUUS9 S h  vN   M$     g  N	7f)NrF   )r   r   r   r   )r   zipr   r   )r   rG   r   r   rN   rH   r   s          r!   rG   rG     sg     Xw//$'	((;[$I y$$	 % 
 	
 	
 %J	
s   AAA
A)3	fractionsr   r   jsonschema._utilsr   r   r   r   r   r	   r
   r   jsonschema.exceptionsr   r   r   r#   rD   r   rP   rY   ra   re   r`   rd   rs   ry   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rG        r!   <module>r      s     		 	 	 ?	NO.49
 F

''I6<
;
GHD<
;
/	
GIPFJO
GM

N2'JEH@

r   