
    -Phv%                    4   d dl mZ d dlmZmZ erzd dlmZmZmZm	Z	 d dlm
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.  G d d          Z/dS )    )annotations)TYPE_CHECKINGoverload)IterableIteratorMappingSet)AnyFinalLiteralNoReturnSelf)nodes)DomainCDomainChangeSetDomainCitationDomain	CPPDomainIndexDomainJavaScriptDomain
MathDomainPythonDomain
ReSTDomainStandardDomain)BuildEnvironment)DurationDomain)
TodoDomain)SphinxComponentRegistryc                  \    e Zd ZU dZdZ eh d          Zded<   edkd            Z	edld            Z
dmd%Zdnd&Zdod+Zdpd,Zdqd1Zdnd2Zdrd5Zdsd8Zdtd:Zdu fd<Zdv fd=Zedwd?            ZedxdA            ZedydC            ZedzdE            Zed{dG            Zed|dI            Zed}dK            Zed~dM            ZeddO            ZeddQ            ZeddT            ZeddW            ZeddX            ZddYZdd[Zdd\Zdd^Zdtd_ZdddcZddeZddgZddiZddjZ  xZ!S )_DomainsContainera1  Container for domain instances.

    This class is private, including its name, constructor, and all methods.
    Any or all of these will change without notice or warning in any release.

    The public interface is restricted to:

    * the``domains.['<domain-name>']`` mapping interface
    * the ``domains.<core-domain-name>`` attributes for core domains.
    * the `.get()``, ``.keys()``, ``.items()``, and ``.values()`` methods.

    Additionally, this class supports ``iter`` and ``len``,
    and provides membership testing via the ``in`` operator.
    )_domain_instancesc_domainchangeset_domaincitation_domain
cpp_domainindex_domainjavascript_domainmath_domainpython_domainrestructuredtext_domainstandard_domain>
   cjspycpprststdmathindexcitation	changesetr   _core_domainsenvr%   registryr(   returnr   c              z    |j         }d  ||          D             x}r | di |S |                     |          S )Nc                    i | ]
}|j         |S  )name).0domains     a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/domains/_domains_container.py
<dictcomp>z7_DomainsContainer._from_environment.<locals>.<dictcomp>P   s    MMMvv{FMMM    )rA   rF   )create_domains_from_environment_default)clsrA   rB   rM   domainss        rJ   _from_environmentz#_DomainsContainer._from_environmentJ   sZ     "0MM9L9LMMMM7 	"3>>>>!,,,555rL   c               X   ddl m} ddlm} ddlm} ddlm} ddlm	} ddl
m} ddlm} dd	lm}	 dd
lm}
 ddlm}  |  ||           ||           ||           ||           ||           ||           ||           |	|           |
|           ||          
  
        S )z7Return a default instance with every domain we require.r   r   r   r   r   r   r   r   r   r!   r#   
r6   r?   r>   r9   r=   r7   r<   r8   r:   r;   )sphinx.domains.cr   sphinx.domains.changesetr   sphinx.domains.citationr   sphinx.domains.cppr   sphinx.domains.indexr   sphinx.domains.javascriptr   sphinx.domains.mathr   sphinx.domains.pythonr    sphinx.domains.rstr"   sphinx.domains.stdr$   )rO   rA   r   r   r   r   r   r   r   r    r"   r$   s               rJ   rN   z+_DomainsContainer._from_environment_defaultU   sL    	-,,,,,<<<<<<::::::000000444444>>>>>>222222666666111111555555sgcll%oc**#^C((	#+c""$$C|C  
3s##
 
 
 	
rL   r6   r   r9   r   r7   r   r8   r    r:   r"   r;   r$   r?   r   r>   r   r=   r   r<   r   rP   r   Nonec       
        L   |||||	||
|||d
|| _         || _        || _        || _        || _        || _        || _        || _        || _        |	| _	        |
| _
        | j                                         D ]/\  }}||j        k    rd|d|d|j        }t          |          0d S )NrS   zDomain name mismatch in z: z != )r+   r5   r,   r/   r1   r3   r4   r-   r.   r0   r2   itemsrG   
ValueError)selfr6   r9   r7   r8   r:   r;   r?   r>   r=   r<   rP   domain_namerI   msgs                  rJ   __init__z_DomainsContainer.__init__p   s    $ " 8
 8
 8
 03!"%(35+-36$1:/7).'+#'#9#?#?#A#A 	& 	&Kfk))___[__PVP[__ oo% *	& 	&rL   c                f    | j                                         D ]}|                                 d S N)r+   valuessetuprb   rI   s     rJ   _setupz_DomainsContainer._setup   s9    ,3355 	 	FLLNNNN	 	rL   docnamestrdocumentnodes.documentc                l    | j                                         D ]}|                    |||           d S rg   )r+   rh   process_doc)rb   rA   rl   rn   rI   s        rJ   _process_docz_DomainsContainer._process_doc   sG     ,3355 	7 	7FsGX6666	7 	7rL   c                h    | j                                         D ]}|                    |           d S rg   )r+   rh   	clear_doc)rb   rl   rI   s      rJ   
_clear_docz_DomainsContainer._clear_doc   sA    ,3355 	& 	&FW%%%%	& 	&rL   docnamesSet[str]domain_datadict[str, Any]c                |    | j                                         D ]!\  }}|                    |||                    "d S rg   )r+   r`   merge_domaindata)rb   rv   rx   rc   rI   s        rJ   _merge_domain_dataz$_DomainsContainer._merge_domain_data   sS     $(#9#?#?#A#A 	H 	HK##Hk+.FGGGG	H 	HrL   c                f    | j                                         D ]}|                                 d S rg   )r+   rh   check_consistencyrj   s     rJ   _check_consistencyz$_DomainsContainer._check_consistency   s?    ,3355 	' 	'F$$&&&&	' 	'rL   keyboolc                    || j         v S rg   )r+   rb   r   s     rJ   __contains__z_DomainsContainer.__contains__   s    d,,,rL   otherobjectc                Z    t          |t                    st          S | j        |j        k    S rg   )
isinstancer*   NotImplementedr+   )rb   r   s     rJ   __eq__z_DomainsContainer.__eq__   s,    %!233 	"!!%)@@@rL   intc                h    t          t          | j                                                            S rg   )hashsortedr+   r`   rb   s    rJ   __hash__z_DomainsContainer.__hash__   s'    F417799::;;;rL   valuec                    || j         v r | j        j        d|}t          |          t	                                          ||           d S )Nz' object does not support assignment to )r@   	__class____name__	TypeErrorsuper__setattr__)rb   r   r   rd   r   s       rJ   r   z_DomainsContainer.__setattr__   sV    $$$$^,^^WZ^^CC.. C'''''rL   c                    || j         v r | j        j        d|}t          |          t	                                          |           d S )Nz% object does not support deletion of )r@   r   r   r   r   __delattr__)rb   r   rd   r   s      rJ   r   z_DomainsContainer.__delattr__   sT    $$$$^,\\UX\\CC.. C     rL   Literal['c']c                    d S rg   rF   r   s     rJ   __getitem__z_DomainsContainer.__getitem__   s    9<rL   Literal['cpp']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   s    =@SrL   Literal['changeset']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   s    ILrL   Literal['citation']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__       GJsrL   Literal['index']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   s    ADrL   Literal['js']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   s    CF3rL   Literal['math']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__       ?BsrL   Literal['py']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   r   rL   Literal['rst']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   s    >AcrL   Literal['std']c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   s    BE#rL   Literal['duration']r&   c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   r   rL   Literal['todo']r'   c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   r   rL   c                    d S rg   rF   r   s     rJ   r   z_DomainsContainer.__getitem__   s    /2srL   c                F    t          | |d           x}r|S | j        |         S rg   )getattrr+   )rb   r   rI   s      rJ   r   z_DomainsContainer.__getitem__   s.    T3---6 	M%c**rL   r   c                >    | j         j        d}t          |          )Nz( object does not support item assignmentr   r   r   )rb   r   r   rd   s       rJ   __setitem__z_DomainsContainer.__setitem__  s!    (TTTnnrL   c                >    | j         j        d}t          |          )Nz& object does not support item deletionr   )rb   r   rd   s      rJ   __delitem__z_DomainsContainer.__delitem__  s!    (RRRnnrL   Iterator[str]c                N    t          | j                                                  S rg   )iterr+   keysr   s    rJ   __iter__z_DomainsContainer.__iter__
  s    D*//11222rL   c                *    t          | j                  S rg   )lenr+   r   s    rJ   __len__z_DomainsContainer.__len__  s    4)***rL   NdefaultDomain | Nonec                8    | j                             ||          S rg   )r+   get)rb   r   r   s      rJ   r   z_DomainsContainer.get  s    %))#w777rL   Iterable[str]c                4    | j                                         S rg   )r+   r   r   s    rJ   r   z_DomainsContainer.keys  s    %**,,,rL   Iterable[tuple[str, Domain]]c                4    | j                                         S rg   )r+   r`   r   s    rJ   r`   z_DomainsContainer.items  s    %++---rL   Iterable[Domain]c                4    | j                                         S rg   )r+   rh   r   s    rJ   rh   z_DomainsContainer.values  s    %,,...rL   c              #  j   K   t          | j                                                  D ]	\  }}|V  
d S rg   )r   r+   r`   )rb   _domain_namerI   s      rJ   r   z_DomainsContainer.sorted  sF      $*4+A+G+G+I+I$J$J 	 	 L&LLLL	 	rL   )rA   r%   rB   r(   rC   r   )rA   r%   rC   r   )r6   r   r9   r   r7   r   r8   r    r:   r"   r;   r$   r?   r   r>   r   r=   r   r<   r   rP   r   rC   r^   )rC   r^   )rA   r%   rl   rm   rn   ro   rC   r^   )rl   rm   rC   r^   )rv   rw   rx   ry   rC   r^   )r   rm   rC   r   )r   r   rC   r   )rC   r   )r   rm   r   r   rC   r^   )r   rm   rC   r^   )r   r   rC   r   )r   r   rC   r   )r   r   rC   r   )r   r   rC   r   )r   r   rC   r   )r   r   rC   r   )r   r   rC   r   )r   r   rC   r    )r   r   rC   r"   )r   r   rC   r$   )r   r   rC   r&   )r   r   rC   r'   )r   rm   rC   r   )r   rm   r   r   rC   r   )r   rm   rC   r   )rC   r   rg   )r   rm   r   r   rC   r   )rC   r   )rC   r   )rC   r   )"r   
__module____qualname____doc__	__slots__	frozensetr@   __annotations__classmethodrQ   rN   re   rk   rr   ru   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r`   rh   r   __classcell__)r   s   @rJ   r*   r*      s         I %9 & & &  M     6 6 6 [6 
 
 
 [
4/& /& /& /&b   7 7 7 7& & & &H H H H' ' ' '- - - -A A A A
< < < <( ( ( ( ( (! ! ! ! ! ! <<< X<@@@ X@LLL XLJJJ XJDDD XDFFF XFBBB XBBBB XBAAA XAEEE XE JJJ XJBBB XB 222 X2+ + + +
      3 3 3 3+ + + +8 8 8 8 8- - - -. . . ./ / / /       rL   r*   N)0
__future__r   typingr   r   collections.abcr   r   r   r	   r
   r   r   r   r   docutilsr   sphinx.domainsr   rT   r   rU   r   rV   r   rW   r   rX   r   rY   r   rZ   r   r[   r    r\   r"   r]   r$   sphinx.environmentr%   sphinx.ext.durationr&   sphinx.ext.todor'   sphinx.registryr(   r*   rF   rL   rJ   <module>r      s   " " " " " " * * * * * * * * 8@@@@@@@@@@@@::::::::::::::%%%%%%((((((888888666666,,,,,,000000::::::......222222------111111333333222222******777777B B B B B B B B B BrL   