+
    Bi)                         ^ RI HtHtHt ^ RIHt ^ RIt^ RIt ! R R]4      t ! R R4      t	R t
R	 tR
 tR tR tR tR t]! 4       ]! 4       3R ltR tR tR tR tR# )    )MappingMutableMappingSequence)urlsplitNc                   T   a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
tV tR# )URIDictz0
Dictionary which uses normalized URIs as keys.
c                4    \        V4      P                  4       # N)r   geturlselfuris   &&O/var/www/html/photoedit/myenv/lib/python3.14/site-packages/jsonschema/_utils.py	normalizeURIDict.normalize   s    }##%%    c                \    \        4       V n        V P                  P                  ! V/ VB  R # r
   )dictstoreupdate)r   argskwargss   &*,r   __init__URIDict.__init__   s"    V


4*6*r   c                F    V P                   V P                  V4      ,          # r
   r   r   r   s   &&r   __getitem__URIDict.__getitem__   s    zz$..-..r   c                @    W P                   V P                  V4      &   R # r
   r   )r   r   values   &&&r   __setitem__URIDict.__setitem__   s    */

4>>#&'r   c                >    V P                   V P                  V4       R # r
   r   r   s   &&r   __delitem__URIDict.__delitem__   s    JJt~~c*+r   c                ,    \        V P                  4      # r
   )iterr   r   s   &r   __iter__URIDict.__iter__       DJJr   c                ,    \        V P                  4      # r
   )lenr   r(   s   &r   __len__URIDict.__len__   s    4::r   c                ,    \        V P                  4      # r
   )reprr   r(   s   &r   __repr__URIDict.__repr__"   r+   r   )r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r!   r$   r)   r.   r2   __static_attributes____classdictcell____classdict__s   @r   r   r      s7     &+/0,    r   r   c                   *   a  ] tR t^&t o RtR tRtV tR# )Unsetz?
An as-of-yet unset attribute or unprovided default parameter.
c                    R # )z<unset> r(   s   &r   r2   Unset.__repr__+   s    r   r@   N)r4   r5   r6   r7   r8   r2   r9   r:   r;   s   @r   r>   r>   &   s      r   r>   c                R    V'       g   V # V  RRP                  R V 4       4       R2# )a"  
Construct a single string containing indexing operations for the indices.

For example for a container ``bar``, [1, 2, "foo"] -> bar[1][2]["foo"]

Arguments:

    container (str):

        A word to use for the thing being indexed

    indices (sequence):

        The indices to format.

[z][c              3   8   "   T F  p\        V4      x  K  	  R # 5ir
   r1   ).0indexs   & r   	<genexpr>"format_as_index.<locals>.<genexpr>B   s     #EWEDKKW   ])join)	containerindicess   &&r   format_as_indexrO   /   s0    " [$))#EW#EEFaHHr   c              #     "   VP                  R/ 4      pRP                  VP                  R/ 4      4      pV  F5  pWB9  g   K  V'       d   \        P                  ! W44      '       d   K1  Vx  K7  	  R# 5i)z
Return the set of additional properties for the given ``instance``.

Weeds out properties that should have been validated by ``properties`` and
/ or ``patternProperties``.

Assumes ``instance`` is dict-like already.

properties|patternPropertiesN)getrL   research)instanceschemarQ   patternspropertys   &&   r   find_additional_propertiesr[   E   sZ      L"-Jxx

#6;<H%BIIh99N	 s   <A3A3(A3c                ^    \        V 4      ^8X  d   RMRpRP                  R V  4       4      V3# )z8
Create an error message for extra items or properties.
waswerez, c              3   8   "   T F  p\        V4      x  K  	  R # 5ir
   rE   )rF   extras   & r   rH   extras_msg.<locals>.<genexpr>\   s     5fUT%[[frJ   )r-   rL   )extrasverbs   & r   
extras_msgrd   W   s0     K1$5&D995f55t;;r   c                8    \        V \        4      '       d   V .# V # )zQ
Wrap ``thing`` in a list if it's a single str.

Otherwise, return it unchanged.
)
isinstancestr)things   &r   ensure_listri   _   s     %wLr   c                   a \        V 4      \        S4      8w  d   R# \        ;QJ d-    V3R lV P                  4        4       F  '       d   K   R# 	  R# ! V3R lV P                  4        4       4      # )zA
Check if two mappings are equal using the semantics of `equal`.
Fc              3   h   <"   T F'  w  rVS9   ;'       d    \        VSV,          4      x  K)  	  R # 5ir
   equal)rF   keyr    twos   &  r   rH   !_mapping_equal.<locals>.<genexpr>p   s4      %JC 	s
--uUCH--%s   22T)r-   allitemsonero   s   &fr   _mapping_equalru   j   s_     3x3s83 ))+33 3 3 ))+  r   c                    \        V 4      \        V4      8w  d   R# \        ;QJ d%    R \        W4       4       F  '       d   K   R# 	  R# ! R \        W4       4       4      # )zB
Check if two sequences are equal using the semantics of `equal`.
Fc              3   <   "   T F  w  r\        W4      x  K  	  R # 5ir
   rl   )rF   ijs   &  r   rH   "_sequence_equal.<locals>.<genexpr>|   s     5}tquQ{{}s   T)r-   rq   ziprs   s   &&r   _sequence_equalr|   v   sH     3x3s835s3}53353535s3}555r   c                z   WJ d   R# \        V \        4      '       g   \        V\        4      '       d   W8H  # \        V \        4      '       d"   \        V\        4      '       d   \        W4      # \        V \        4      '       d"   \        V\        4      '       d   \        W4      # \        V 4      \        V4      8H  # )z
Check if two things are equal evading some Python type hierarchy semantics.

Specifically in JSON Schema, evade `bool` inheriting from `int`,
recursing into sequences to do the same.
T)rf   rg   r   r|   r   ru   unboolrs   s   &&r   rm   rm      s     z#sz#s33z#x  ZX%>%>s((#wJsG$<$<c''#;&+%%r   c                &    V RJ d   V# V RJ d   V# V # )z@
A hack to make True and 1 and False and 0 unique for ``uniq``.
TFr@   )elementtruefalses   &&&r   r~   r~      s"     $	E	Nr   c                h    \        R V  4       4      p\        P                  ! V^R4      p\        W4       F  w  r4\	        W44      '       g   K   R# 	  R#   \
        \        3 dK    . pT  F>  p\        T4      pT F  p\	        Y64      '       g   K     R# 	  TP                  T4       K@  	   R# i ; i)z
Check if all of a container's elements are unique.

Tries to rely on the container being recursively sortable, or otherwise
falls back on (slow) brute force.
c              3   8   "   T F  p\        V4      x  K  	  R # 5ir
   )r~   )rF   rx   s   & r   rH   uniq.<locals>.<genexpr>   s     3AfQiirJ   NFT)	sorted	itertoolsislicer{   rm   NotImplementedError	TypeErrorr~   append)rM   sortslicedrx   ry   seenes   &      r   uniqr      s    333!!$40%DAQ{{ &   + 	Aq	A;;   KKN  	s*   AA A A 6B1B1B10B1c           	     l   V P                  VR4      '       d   . # . pRV9   d   \        \        \        V4      4      4      # VP	                  R4      pVeg   V P
                  P                  V4      pVP                  \        V P                  VP                  VP                  R7      VVP                  4      4       VP	                  R4      pVeg   V P
                  P                  V4      pVP                  \        V P                  VP                  VP                  R7      VVP                  4      4       RV9   d,   V\        \        \        VR,          4      4      4      ,          pRV9   d   V P                  VR,          R	7      P                  V4      '       d=   V\        WVR,          4      ,          pR
V9   d   V\        WVR
,          4      ,          pM!RV9   d   V\        WVR,          4      ,          pR F_  pWr9   g   K  \        V4       FE  w  rV P                  W',          R	7      P                  V	4      '       g   K4  VP                  V4       KG  	  Ka  	  R FN  pWr9   g   K  W',           F7  p
\        V P!                  W4      R4      pVe   K$  V\        WV
4      ,          pK9  	  KP  	  V# )z
Get all indexes of items that get evaluated under the current schema.

Covers all keywords related to unevaluatedItems: items, prefixItems, if,
then, else, contains, unevaluatedItems, allOf, oneOf, anyOf
booleanrr   $refNrX   	_resolver$dynamicRefprefixItemsifrX   thenelse)containsunevaluatedItemsallOfoneOfanyOf)is_typelistranger-   rT   r   lookupextend%find_evaluated_item_indexes_by_schemaevolvecontentsresolveris_valid	enumerater   nextdescend)	validatorrW   rX   evaluated_indexesrefresolved
dynamicRefkeywordkv	subschemaerrss   &&&         r   r   r      s    ++	&E#h-())
**V
C
&&--c2  1  #,,&// !  !!		
 M*J&&--j9  1  #,,&// !  !!		
 T%F=,A(B"CDDv~6$<099(CC!FVD\"  !%J& ! v!FVF^"  4!(+##6?#;DDQGG%,,Q/ , 4 /#__	I--hBDI<%)N!Y* % - / r   c           	     X  a a S P                  VR4      '       d   . # . pVP                  R4      pVeg   S P                  P                  V4      pVP	                  \        S P                  VP                  VP                  R7      VVP                  4      4       VP                  R4      pVeg   S P                  P                  V4      pVP	                  \        S P                  VP                  VP                  R7      VVP                  4      4       VP                  R4      pS P                  VR4      '       d,   W7P                  4       VP                  4       ,          ,          pR F<  pVP                  V4      ;of   K  VVV 3R lVP                  4        4       ,          pK>  	  RV9   dI   V FB  p	VR,           F2  p
\        P                  ! W4      '       g   K!  VP                  V	4       K4  	  KD  	  R	V9   d>   VR	,          P                  4        F"  w  p	oW9  d   K  V\        S VS4      ,          pK$  	  R FS  pVP                  V. 4       F:  o\        S P                  VS4      4      '       g   K&  V\        S VS4      ,          pK<  	  KU  	  R
V9   d   S P                  VR
,          R7      P                  V4      '       d>   V\        S WR
,          4      ,          pRV9   d   V\        S WR,          4      ,          pV# RV9   d   V\        S WR,          4      ,          pV# )z
Get all keys of items that get evaluated under the current schema.

Covers all keywords related to unevaluatedProperties: properties,
additionalProperties, unevaluatedProperties, patternProperties,
dependentSchemas, allOf, oneOf, anyOf, if, then, else
r   r   r   r   rQ   objectc              3   r   <"   T F,  w  r\        SP                  VS4      4      '       g   K(  Vx  K.  	  R # 5ir
   )r   r   )rF   rn   r    r   r   s   &  r   rH   9find_evaluated_property_keys_by_schema.<locals>.<genexpr>4  s1      
.
	))%;< C.s   %7
7rS   dependentSchemasr   r   r   r   )additionalPropertiesunevaluatedPropertiesr   )r   rT   r   r   r   &find_evaluated_property_keys_by_schemar   r   r   keysrr   rU   rV   r   r   r   )r   rW   rX   evaluated_keysr   r   r   rQ   r   rZ   patternr   s   f&&        @r   r   r     s    ++	N
**V
C
&&--c22  #,,&// !  !!		
 M*J&&--j92  #,,&// !  !!		
 L)JX..//+hmmo==DG,,I5 
&nn.
 	
 E f$ H!"56699W//"))(3 7 !
 V##)*<#=#C#C#EHi'D8Y N $F /GR0II--h	BCCD8Y N 1 / v~6$<099(CCD8D\ N "Hx#   vD8F^ N r   c                    \        V R4      RJ # )z2Whether there are no errors in the given iterator.N)r   )errs_its   &r   r   r   a  s    $&&r   )collections.abcr   r   r   urllib.parser   r   rU   r   r>   rO   r[   rd   ri   ru   r|   rm   r   r~   r   r   r   r   r@   r   r   <module>r      sv    = = !  	 n  > I,$<	6&$   8JZYx'r   