
    -Ph                    v   d Z ddlmZ ddl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 er(dd	lmZ dd
lmZmZ ddlmZ ddlmZ ddlmZ ddlmZmZ  ed           ed           ed           ed          dZdddddZ G d de          Z G d de          Z  G d de          Z!d$d"Z"d#S )%zThe changeset domain.    )annotations)TYPE_CHECKING
NamedTuple)nodes)addnodes)Domain)_)SphinxDirective)Set)AnyClassVar)Node)Sphinx)BuildEnvironment)ExtensionMetadata
OptionSpeczAdded in version %szChanged in version %szDeprecated since version %szRemoved in version %s)versionaddedversionchanged
deprecatedversionremovedaddedchangedr   removedc                  L    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
S )	ChangeSetstrtypedocnameintlinenoz
str | NonemoduledescnamecontentN)__name__
__module____qualname____annotations__     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/domains/changeset.pyr   r   (   sI         IIILLLKKKMMMLLLLLr)   r   c                  :    e Zd ZU dZdZdZdZdZi Zde	d<   d
dZ
d	S )VersionChangezJDirective to describe a change/addition/deprecation in a specific version.T   zClassVar[OptionSpec]option_specreturn
list[Node]c           	     
   t          j                    }| j        j        |_        |                     |           | j        |d<   | j        d         |d<   t          | j                 | j        d         z  }t          | j                  dk    ry| 	                    | j        d         | j
        dz             \  }}t          j        | j        d         dg|R dd	i}|                     |           |                    |           ng }| j        r||                                 z  }d
t           | j                 g}t          |          dk    rt#          |d         t          j                  r|d         j        rt          j        |d         j        d          }|d         j        |_        |d         j        |_        ||d         j        z  }|d                             t          j        dd|d	                     |d         }|                    dt          j        dd|z  |                     nt          |          dk    rGt          j        ddt          j        dd|z  |          d	          }|                    d|           nEt          j        ddt          j        dd|z  |          d	          }|                    |           | j        j        j        }|                    |           |g}	|	|z  }	|	S )Nr   r   version   r-   )r     translatableFversionmodifiedT)r5   z%s: )classesz%s.)r   r6   statedocumentset_source_infoname	argumentsversionlabelslenparse_inliner    r   	paragraphappendr#   parse_content_to_nodesversionlabel_classes
isinstance	rawsourceinlinesourcelinechildrenreplace_selfinsertenvdomainschangeset_domainnote_changeset)
selfnodetextinodesmessagesparar7   r#   domainrets
             r*   runzVersionChange.run:   s   '))
+T"""yV.+YTY'$.*;;t~!###00q!$+/  1    FH ?4>!#4bV6VVVPUVVD  &&&KKH< 	2D//111D$&:49&EFt99q==ZQAA=Aw  ,tAw'8tLLL!%a#Aw|47++Q$$OBG%HHH   7DKK5<FTM7KKKLLLLYY]]?R$@@@"	  D KK4     ?Rw???"	  D KK!2d###&x
r)   N)r/   r0   )r$   r%   r&   __doc__has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespacer.   r'   rX   r(   r)   r*   r,   r,   1   sX         TTK $(*K****9 9 9 9 9 9r)   r,   c                  n    e Zd ZU dZdZdZdi iZded<   edd            Z	ddZ
d dZd!dZd"dZd#dZdS )$ChangeSetDomainzDomain for changesets.	changesetchangesz%dict[str, dict[str, list[ChangeSet]]]initial_datar/   dict[str, list[ChangeSet]]c                8    | j                             di           S Nra   )data
setdefault)rP   s    r*   
changesetszChangeSetDomain.changesets   s    y##Ir222r)   rQ   addnodes.versionmodifiedNonec           	     H   |d         }| j         j                            d          }| j         j        j        }t          |d         | j         j        |j        |||                                          }| j	        
                    |g                               |           d S )Nr2   z	py:moduler   )rL   ref_contextgetcurrent_documentobj_desc_namer   r   rH   astextrh   rg   rA   )rP   rQ   r2   r!   objnamer`   s         r*   rO   zChangeSetDomain.note_changeset   s    y/%))+66(+9LHIKKMM
 
	 	""7B//66yAAAAAr)   r   r   c                    | j                                         D ]9}|                                D ]"}|j        |k    r|                    |           #:d S N)rh   valuescopyr   remove)rP   r   ra   r`   s       r*   	clear_doczChangeSetDomain.clear_doc   sf    --// 	. 	.G$\\^^ . .	$//NN9---.	. 	.r)   docnamesSet[str]	otherdatadict[str, Any]c                    |d                                          D ]C\  }}| j                            |g           }|D ] }|j        |v r|                    |           !Dd S re   )itemsrh   rg   r   rA   )rP   rx   rz   r2   otherchangesra   r`   s          r*   merge_domaindataz ChangeSetDomain.merge_domaindata   s}    %.y%9%?%?%A%A 	. 	.!G\o00"==G) . .	$00NN9---.	. 	.r)   rL   r   r9   nodes.documentc                    d S rs   r(   )rP   rL   r   r9   s       r*   process_doczChangeSetDomain.process_doc   s	     	r)   r2   list[ChangeSet]c                8    | j                             |g           S rs   )rh   rm   )rP   r2   s     r*   get_changesets_forz"ChangeSetDomain.get_changesets_for   s    ""7B///r)   N)r/   rc   )rQ   ri   r/   rj   )r   r   r/   rj   )rx   ry   rz   r{   r/   rj   )rL   r   r   r   r9   r   r/   rj   )r2   r   r/   r   )r$   r%   r&   rY   r;   labelrb   r'   propertyrh   rO   rw   r   r   r   r(   r)   r*   r_   r_   v   s           DE 	2;L     3 3 3 X3B B B B. . . .. . . .   
0 0 0 0 0 0r)   r_   appr   r/   r   c                   |                      t                     |                     dt                     |                     dt                     |                     dt                     |                     dt                     dddddS )	Nr   r   r   r   builtinr-   T)r2   env_versionparallel_read_safeparallel_write_safe)
add_domainr_   add_directiver,   )r   s    r*   setupr      s    NN?###lM222nm444&666&666 "#	  r)   N)r   r   r/   r   )#rY   
__future__r   typingr   r   docutilsr   sphinxr   sphinx.domainsr   sphinx.localer	   sphinx.util.docutilsr
   collections.abcr   r   r   docutils.nodesr   sphinx.applicationr   sphinx.environmentr   sphinx.util.typingr   r   r=   rC   r   r,   r_   r   r(   r)   r*   <module>r      s     " " " " " " , , , , , , , ,             ! ! ! ! ! !       0 0 0 0 0 0 A######$$$$$$$$######))))))333333@@@@@@@@ A+,,a/00!122a/00	  	      
   B B B B BO B B BJ00 00 00 00 00f 00 00 00f     r)   