ó
    sñgÄH  ã                  ór  • % S r SSKJr  SSKJrJrJr  SSKJrJ	r	  SSK
JrJrJrJrJr  SSKJr  SSKJrJrJrJr  SSKJrJrJr  \\\4   r\	\\4   r \\    r!\\    r"\" 5       r#S	\$S
'   \ " S S\%5      5       r&S>S jr'S>S jr(S?S jr)      S@S jr*      SAS jr+      SAS jr,      SBS jr-\." 5       \." 5       \." 5       4     SCS jjr/\." 5       \." 5       \." 5       4     SCS jjr0\." 5       \." 5       \." 5       4     SCS jjr1\." 5       \." 5       \." 5       4     SCS jjr2\." 5       \." 5       \." 5       4     SCS jjr3\." 5       \." 5       \." 5       4     SCS jjr4\." 5       \." 5       \." 5       4     SCS jjr5\" S\'\/" 1 Sk1 Sk1 SkS9\*\3" 1 Sk1 Sk1 SkS9S 9r6\" S!\'\0" 1 S"k1 S#k1 SkS9\+\4" 1 S"k1 S#k1 SkS9S 9r7\" S$\(\1" 1 S%k1 S#k1 S&kS9\,\5" 1 S%k1 S#k1 S&kS9S 9r8\" S'\(\1" 1 S(k1 S#k1 S&kS9\,\5" 1 S(k1 S#k1 S&kS9S 9r9\" S)\)\2" S*11 S#k1 S&kS9\-\5" 1 S+k1 S#k1 S&kS9S 9r:\" S,\)\2" S-11 S&kS.9\-\5" S/S01S-11 S&kS9S 9r;\" S1\64S2\74S3\84S4\94S5\:4S6\;44 V Vs0 s H  u  pU \Ry                  U5      _M     snn 5      r=S7\$S8'   \4     SDS9 jjr>\ " S: S;5      5       r?SES< jr@g=s  snn f )FzI
Referencing implementations for JSON Schema specs (historic & current).
é    )Úannotations)ÚIterableÚSequenceÚSet)ÚAnyÚUnion)ÚAnchorÚRegistryÚResourceÚSpecificationÚ
exceptions)Úfrozen)Ú_UNSETÚResolvedÚResolverÚ_Unset)ÚURIr	   ÚMappingÚSchemaRegistryÚEMPTY_REGISTRYc                  ó$   • \ rS rSr% SrS\S'   Srg)ÚUnknownDialecté$   z�
A dialect identifier was found for a dialect unknown by this library.

If it's a custom ("unofficial") dialect, be sure you've registered it.
r   Úuri© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Ú__static_attributes__r   ó    Ú8/usr/lib/python3/dist-packages/referencing/jsonschema.pyr   r   $   s   ‡ ñð 
†Hr#   r   c                óP   • [        U [        5      (       a  g U R                  S5      $ )Nú$id)Ú
isinstanceÚboolÚget)Úcontentss    r$   Ú
_dollar_idr+   /   s!   € Ü�(œD×!Ñ!ØØ�<‰<˜ÓÐr#   c                ó–   • [        U [        5      (       d  SU ;   a  g U R                  S5      nUb  UR                  S5      (       d  U$ g g )Nú$refr&   Ú#)r'   r(   r)   Ú
startswith©r*   Úids     r$   Ú_legacy_dollar_idr2   5   sF   € Ü�(œD×!Ñ! V¨xÓ%7ØØ	�‰�eÓ	€BØ	�~˜bŸm™m¨C×0Ñ0Øˆ	ð 1€~r#   c                ól   • SU ;   a  g U R                  S5      nUb  UR                  S5      (       d  U$ g g )Nr-   r1   r.   )r)   r/   r0   s     r$   Ú
_legacy_idr4   =   s:   € Ø�ÓØØ	�‰�dÓ	€BØ	�~˜bŸm™m¨C×0Ñ0Øˆ	ð 1€~r#   c              #  óö   #   • [        U[        5      (       a  g UR                  S5      nUb  [        UU R	                  U5      S9v •  UR                  S5      nUb  [        UU R	                  U5      S9v •  g g 7f)Nú$anchor©ÚnameÚresourcez$dynamicAnchor)r'   r(   r)   r	   Úcreate_resourceÚDynamicAnchor)Úspecificationr*   ÚanchorÚdynamic_anchors       r$   Ú_anchorr?   E   sƒ   é € ô �(œD×!Ñ!ØØ�\‰\˜)Ó$€FØÑÜØØ"×2Ñ2°8Ó<ñ
ò 	
ð
 —\‘\Ð"2Ó3€NØÑ!ÜØØ"×2Ñ2°8Ó<ñ
ó 	
ð "ùs   ‚A7A9c                ó�   • [        U[        5      (       a  / $ UR                  S5      nUc  / $ [        UU R	                  U5      S9/$ )Nr6   r7   )r'   r(   r)   r	   r:   )r<   r*   r=   s      r$   Ú_anchor_2019rA   Z   sQ   € ô �(œD×!Ñ!Øˆ	Ø�\‰\˜)Ó$€FØ�~Øˆ	äØØ"×2Ñ2°8Ó<ñ	
ðð r#   c                ó¾   • [        U[        5      (       a  / $ UR                  SS5      nUR                  S5      (       d  / $ [	        USS  U R                  U5      S9/$ )Nr&   Ú r.   é   r7   )r'   r(   r)   r/   r	   r:   ©r<   r*   r1   s      r$   Ú_legacy_anchor_in_dollar_idrF   k   sc   € ô �(œD×!Ñ!Øˆ	Ø	�‰�e˜RÓ	 €BØ�=‰=˜×ÑØˆ	äØ�A�B�Ø"×2Ñ2°8Ó<ñ	
ðð r#   c                ó�   • UR                  SS5      nUR                  S5      (       d  / $ [        USS  U R                  U5      S9/$ )Nr1   rC   r.   rD   r7   )r)   r/   r	   r:   rE   s      r$   Ú_legacy_anchor_in_idrH   |   sQ   € ð 
�‰�d˜BÓ	€BØ�=‰=˜×ÑØˆ	äØ�A�B�Ø"×2Ñ2°8Ó<ñ	
ðð r#   c                ó    ^ ^^• SUUU 4S jjnU$ )zÅ
Create a callable returning JSON Schema specification-style subschemas.

Relies on specifying the set of keywords containing subschemas in their
values, in a subobject's values, or in a subarray.
c              3  óú   >#   • [        U [        5      (       a  g T H  nX;   d  M
  X   v •  M     T H  nX;   d  M
  X    S h  v•N   M     T H$  nX;   d  M
  X   R                  5        S h  v•N   M&     g  N3 N7f©N)r'   r(   Úvalues)r*   ÚeachÚin_subarrayÚin_subvaluesÚin_values     €€€r$   Úsubresources_ofÚ)_subresources_of.<locals>.subresources_of—   s{   øé € Ü�h¤×%Ñ%ØÛˆDØÕØ‘nÔ$ñ ó  ˆDØÕØ#™>×)Ò)ñ  ó !ˆDØÕØ#™>×0Ñ0Ó2×2Ò2ò !ñ *ñ 3ùs3   ƒA;¦A;¼A;ÁA7ÁA;ÁA;Á-A9Á.
A;Á9A;©r*   ÚSchemaÚreturnúIterable[ObjectSchema]r   ©rP   rO   rN   rQ   s   ``` r$   Ú_subresources_ofrX   ‹   s   ú€ ÷3ñ 3ð Ðr#   c                ó    ^ ^^• SUUU 4S jjnU$ )úG
Specifically handle older drafts where there are some funky keywords.
c              3  óp  >#   • [        U [        5      (       a  g T H  nX;   d  M
  X   v •  M     T H  nX;   d  M
  X    S h  v•N   M     T H$  nX;   d  M
  X   R                  5        S h  v•N   M&     U R                  S5      nUb%  [        U[        5      (       a  U S h  v•N   g Uv •  g g  Nl ND N7f©NÚitems)r'   r(   rL   r)   r   )r*   rM   r]   rN   rO   rP   s      €€€r$   rQ   Ú:_subresources_of_with_crazy_items.<locals>.subresources_of°   s¶   øé € Ü�h¤×%Ñ%ØÛˆDØÕØ‘nÔ$ñ ó  ˆDØÕØ#™>×)Ò)ñ  ó !ˆDØÕØ#™>×0Ñ0Ó2×2Ò2ñ !ð —‘˜WÓ%ˆØÑÜ˜%¤×*Ñ*Ø × Ñ à“ð	 ñ *ñ 3ñ
 !ùsE   ƒB6¦B6¼B6ÁB0ÁB6ÁB6Á-B2Á.6B6Â$B4Â%B6Â2B6Â4B6rS   r   rW   s   ``` r$   Ú!_subresources_of_with_crazy_itemsr_   §   s   ú€ ÷ñ ð( Ðr#   c                ó    ^ ^^• SUUU 4S jjnU$ )rZ   c              3  ó.  >#   • [        U [        5      (       a  g T H  nX;   d  M
  X   v •  M     T H  nX;   d  M
  X    S h  v•N   M     T H$  nX;   d  M
  X   R                  5        S h  v•N   M&     U R                  S5      nUb$  [        U[        5      (       a  U S h  v•N   OUv •  U R                  S5      nUbJ  [        UR                  5       5      n[        US 5      n[        U[        5      (       a  Uv •  U S h  v•N   g g g  NÉ N¡ Nl N7f)Nr]   Údependencies)r'   r(   rL   r)   r   ÚiterÚnextr   ©	r*   rM   r]   rb   rL   ÚvaluerN   rO   rP   s	         €€€r$   rQ   ÚG_subresources_of_with_crazy_items_dependencies.<locals>.subresources_ofÐ   s  øé € Ü�h¤×%Ñ%ØÛˆDØÕØ‘nÔ$ñ ó  ˆDØÕØ#™>×)Ò)ñ  ó !ˆDØÕØ#™>×0Ñ0Ó2×2Ò2ñ !ð —‘˜WÓ%ˆØÑÜ˜%¤×*Ñ*Ø × Ñ à’Ø—|‘| NÓ3ˆØÑ#Ü˜,×-Ñ-Ó/Ó0ˆFÜ˜ Ó&ˆEÜ˜%¤×)Ñ)Ø’Ø!×!Ñ!ð *ð $ñ *ñ 3ñ
 !ñ "ùsX   ƒD¦D¼DÁDÁDÁDÁ-DÁ.6DÂ$DÂ%A DÄDÄDÄDÄDÄDrS   r   rW   s   ``` r$   Ú._subresources_of_with_crazy_items_dependenciesrh   Ç   s   ú€ ÷"ñ "ð6 Ðr#   c                ó    ^ ^^• SUUU 4S jjnU$ )zL
Specifically handle even older drafts where there are some funky keywords.
c              3  óh  >#   • T H  nX;   d  M
  X   v •  M     T H  nX;   d  M
  X    S h  v•N   M     T H$  nX;   d  M
  X   R                  5        S h  v•N   M&     U R                  S5      nUb$  [        U[        5      (       a  U S h  v•N   OUv •  U R                  S5      nUbH  [	        UR                  5       5      n[        US 5      n[        U[        5      (       a  Uv •  U S h  v•N   S H/  nU R                  U5      n[        U[        5      (       d  M+  Uv •  M1     g  Nü NÔ NŸ N@7f)Nr]   rb   )ÚadditionalItemsÚadditionalProperties)rL   r)   r'   r   rc   rd   r   re   s	         €€€r$   rQ   ÚJ_subresources_of_with_crazy_aP_items_dependencies.<locals>.subresources_of÷   s  øé € ÛˆDØÕØ‘nÔ$ñ ó  ˆDØÕØ#™>×)Ò)ñ  ó !ˆDØÕØ#™>×0Ñ0Ó2×2Ò2ñ !ð —‘˜WÓ%ˆØÑÜ˜%¤×*Ñ*Ø × Ñ à’Ø—|‘| NÓ3ˆØÑ#Ü˜,×-Ñ-Ó/Ó0ˆFÜ˜ Ó&ˆEÜ˜%¤×)Ñ)Ø’Ø!×!Ð!ã=ˆDØ—L‘L Ó&ˆEÜ˜%¤×)Ó)Ø”ò >ñ' *ñ 3ñ
 !ñ "ùs\   ƒ	D2�D2¦D2­D*®D2ÁD2ÁD,Á6D2ÂD.ÂA D2Ã/D0Ã0-D2Ä!
D2Ä,D2Ä.D2Ä0D2)r*   ÚObjectSchemarU   rV   r   rW   s   ``` r$   Ú1_subresources_of_with_crazy_aP_items_dependenciesro   î   s   ú€ ÷ñ ð< Ðr#   c                ó4   ^ ^• X-  m        SUU 4S jjnU$ )Nc                óŒ   >• [        U 5      nU H"  nUT;  d  M  UT;  d  [        US 5      b  M   Us  $    UR                  U5      $ rK   )rc   rd   Úin_subresource©ÚsegmentsÚresolverÚsubresourceÚ	_segmentsÚsegmentÚin_childrP   s        €€r$   Úmaybe_in_subresourceÚ3_maybe_in_subresource.<locals>.maybe_in_subresource  sL   ø€ ô
 ˜“Nˆ	Û ˆGØ˜hÕ&Ø˜xÓ'¬4°	¸4Ó+@Ó+Hà’ñ	 !ð
 ×&Ñ& {Ó3Ð3r#   ©rt   zSequence[int | str]ru   ú_Resolver[Any]rv   zResource[Any]rU   r}   r   ©rP   rO   rN   rz   ry   s   `   @r$   Ú_maybe_in_subresourcer     sC   ù€ ð
 Ñ)€Hð4Ø%ð4à ð4ð #ð4ð 
÷	4ð 4ð  Ðr#   c                ó4   ^ ^• X-  m        SUU 4S jjnU$ )Nc                óü   >• [        U 5      nU HZ  nUS:X  a2  [        UR                  [        5      (       a  UR	                  U5      s  $ UT;  d  MC  UT;  d  [        US 5      b  MX  Us  $    UR	                  U5      $ r\   ©rc   r'   r*   r   rr   rd   rs   s        €€r$   rz   Ú?_maybe_in_subresource_crazy_items.<locals>.maybe_in_subresource6  s   ø€ ô
 ˜“Nˆ	Û ˆGØ˜'Ó!¤jØ×$Ñ$Ü÷'ñ 'ð  ×.Ñ.¨{Ó;Ò;Ø˜hÕ&Ø˜xÓ'¬4°	¸4Ó+@Ó+Hà’ñ !ð ×&Ñ& {Ó3Ð3r#   r|   r   r~   s   `   @r$   Ú!_maybe_in_subresource_crazy_itemsr„   /  óC   ù€ ð
 Ñ)€Hð4Ø%ð4à ð4ð #ð4ð 
÷	4ð 4ð$  Ðr#   c                ó4   ^ ^• X-  m        SUU 4S jjnU$ )Nc                óü   >• [        U 5      nU HZ  nUS;   a2  [        UR                  [        5      (       a  UR	                  U5      s  $ UT;  d  MC  UT;  d  [        US 5      b  MX  Us  $    UR	                  U5      $ )N>   r]   rb   r‚   rs   s        €€r$   rz   ÚL_maybe_in_subresource_crazy_items_dependencies.<locals>.maybe_in_subresourceR  s€   ø€ ô
 ˜“Nˆ	Û ˆGØÐ3Ó3¼
Ø×$Ñ$Ü÷9ñ 9ð  ×.Ñ.¨{Ó;Ò;Ø˜hÕ&Ø˜xÓ'¬4°	¸4Ó+@Ó+Hà’ñ !ð ×&Ñ& {Ó3Ð3r#   r|   r   r~   s   `   @r$   Ú._maybe_in_subresource_crazy_items_dependenciesr‰   K  r…   r#   zdraft2020-12>   ÚifÚnotÚelseÚthenr]   ÚcontainsÚcontentSchemaÚpropertyNamesÚunevaluatedItemsrl   ÚunevaluatedProperties>   ÚallOfÚanyOfÚoneOfÚprefixItems>   Ú
propertiesÚdefinitionsÚdependentSchemasÚpatternPropertiesú$defs)rP   rN   rO   )r8   Úid_ofrQ   Ú
anchors_inrz   zdraft2019-09>   rŠ   r‹   rŒ   r�   rŽ   r�   r�   rk   r‘   rl   r’   >   r“   r”   r•   zdraft-07>   rŠ   r‹   rŒ   r�   rŽ   r�   rk   rl   >   r—   r˜   rš   zdraft-06>   r‹   rŽ   r�   rk   rl   zdraft-04r‹   >   r‹   rk   rl   zdraft-03Úextends)rN   rO   rk   rl   z,https://json-schema.org/draft/2020-12/schemaz,https://json-schema.org/draft/2019-09/schemaz&http://json-schema.org/draft-07/schemaz&http://json-schema.org/draft-06/schemaz&http://json-schema.org/draft-04/schemaz&http://json-schema.org/draft-03/schemazRegistry[Specification[Schema]]Ú_SPECIFICATIONSc                ó”   • [         R                  U R                  S5      5      nUb  UR                  $ U[        L a  [        U 5      eU$ )z’
Retrieve the `Specification` with the given dialect identifier.

Raises:

    `UnknownDialect`

        if the given ``dialect_id`` isn't known

r.   )rŸ   r)   Úrstripr*   r   r   )Ú
dialect_idÚdefaultr9   s      r$   Úspecification_withr¤   =  sI   € ô ×"Ñ" :×#4Ñ#4°SÓ#9Ó:€HØÑØ× Ñ Ð Ø”&ÒÜ˜ZÓ(Ð(Ø€Nr#   c                  ó8   • \ rS rSr% SrS\S'   S\S'   S
S jrSrg	)r;   iS  z,
Dynamic anchors, introduced in draft 2020.
Ústrr8   ÚSchemaResourcer9   c                óZ  • U R                   nUR                  5        HN  u  p4 UR                  X0R                  5      R                  n[        U[        5      (       d  MB  UR                   nMP     [        UR                  UR                  U5      S9$ ! [
        R                   a     MŒ  f = f)z"
Resolve this anchor dynamically.
)r*   ru   )r9   Údynamic_scoper=   r8   rf   r   ÚNoSuchAnchorr'   r;   Ú	_Resolvedr*   rr   )Úselfru   Úlastr   Úregistryr=   s         r$   ÚresolveÚDynamicAnchor.resolve\  s•   € ð �}‰}ˆØ%×3Ñ3Ö5‰MˆCðØ!Ÿ™¨¯i©iÓ8×>Ñ>�ô ˜&¤-×0Ó0Ø—‘’ñ 6ô Ø—]‘]Ø×,Ñ,¨TÓ2ñ
ð 	
øô	 ×*Ñ*ó Úðús   £%BÂB*Â)B*r   N©ru   z_Resolver[Schema]rU   z_Resolved[Schema])r   r   r   r   r    r!   r¯   r"   r   r#   r$   r;   r;   S  s   ‡ ñð ƒIØÓ÷
r#   r;   c                ó‚  • U R                  S5      n[        UR                  [        5      (       aŽ  UR                  R	                  S5      (       an  U R                  5        HZ  u  p#U R                  U5      n[        UR                  [        5      (       a   UR                  R	                  S5      (       d    U$ UnM\     U$ )uã   
Recursive references (via recursive anchors), present only in draft 2019.

As per the 2019 specification (Â§ 8.2.4.2.1), only the ``#`` recursive
reference is supported (and is therefore assumed to be the relevant
reference).
r.   z$recursiveAnchor)Úlookupr'   r*   r   r)   r©   )ru   Úresolvedr   Ú_Únext_resolveds        r$   Úlookup_recursive_refr·   n  s®   € ð �‰˜sÓ#€HÜ�(×#Ñ#¤W×-Ñ-°(×2CÑ2C×2GÑ2GØ÷3ñ 3ð ×,Ñ,Ö.‰FˆCØ$ŸO™O¨CÓ0ˆMÜØ×&Ñ&Ü÷ñ ð #×+Ñ+×/Ñ/Ð0B×CÑCØà€Oð %ŠHñ /ð €Or#   N)r*   rT   rU   ú
URI | None)r*   rn   rU   r¸   )r<   úSpecification[Schema]r*   rT   rU   zIterable[AnchorType[Schema]])r<   r¹   r*   rT   rU   zIterable[Anchor[Schema]])r<   zSpecification[ObjectSchema]r*   rn   rU   zIterable[Anchor[ObjectSchema]])rP   úSet[str]rO   rº   rN   rº   )r¢   r   r£   zSpecification[Any] | _UnsetrU   zSpecification[Any]r±   )Ar    Ú
__future__r   Úcollections.abcr   r   r   Útypingr   r   Úreferencingr	   r
   r   r   r   Úreferencing._attrsr   Úreferencing._corer   r   r«   r   Ú	_Resolverr   Úreferencing.typingr   Ú
AnchorTyper   r¦   rn   r(   rT   r§   r   r   r!   Ú	Exceptionr   r+   r2   r4   r?   rA   rF   rH   Ú	frozensetrX   r_   rh   ro   r   r„   r‰   ÚDRAFT202012ÚDRAFT201909ÚDRAFT7ÚDRAFT6ÚDRAFT4ÚDRAFT3ÚopaquerŸ   r¤   r;   r·   )r¢   r<   s   00r$   Ú<module>rÍ      s¾  ðòõ #ç 3Ñ 3ß ç MÕ MÝ %÷ó ÷ BÑ Að �s˜C�xÑ €ð 
ˆt�\Ð!Ñ	"€ð ˜&Ñ!€ð ˜&Ñ!€ñ "*£€�Ó +ð ô�Yó ó ðôôôð
Ø(ð
àð
ð "ô
ð*Ø(ðàðð ôð"Ø(ðàðð ôð"Ø.ðàðð $ôñ  #›Ù&›[Ù%›KðØðàðð õñ: #›Ù&›[Ù%›KðØðàðð õñB #›Ù&›[Ù%›Kð$Øð$àð$ð õ$ñP #›Ù&›[Ù%›Kð'Øð'àð'ð õ'ñV #›Ù&›[Ù%›Kð Øð àð ð õ ñ0 #›Ù&›[Ù%›Kð Øð àð ð õ ñ: #›Ù&›[Ù%›Kð Øð àð ð õ ñ: Ø	Ø
Ù$ò
ò ?ò
ñð. Ù.ò
ò ?ò
ññ72€ñh Ø	Ø
Ù5ò
ò 0ò
ñð. Ù:ò
ò 0ò
ññ72€ñh 
Ø	Ø
ÙBò	
ò 0ÚGñð +ÙGò	
ò 0ÚGññ% 
€ñD 
Ø	Ø
ÙBò
ò 0ÚGñ
ð +ÙGò
ò 0ÚGñ
ñ
€ñ8 
Ø	Ø
ÙEØ�Ú/ÚGñð
 $ÙGÚCÚ/ÚGññ
€ñ  
Ø	Ø
ÙEØ�KÚGñð $ÙGØ#Ð%;Ð<Ø�KÚGññ
€ñ  4<ð <¸[ÐIØ;¸[ÐIØ5°vÐ>Ø5°vÐ>Ø5°vÐ>Ø5°vÐ>ñ*
ô
ò*
Ñ%ˆJð 	�H—O‘O MÓ2Ò2ñ*
ò
ó4€Ð0ó ð" ,2ðØðà(ðð õð, ÷
ð 
ó ð
õ4ùó
s   É&J3
