
    -Ph/                    h   d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZ ddlmZ dZ ej        e          ZerBddlZdd	lmZmZmZ dd
lmZmZ ddlmZ ddlmZ ddlmZ  G d de          Z ee!e!ge!f         Z"ddZ# G d d          Z$ G d d          Z% G d d          Z&dS )z'Inventory utility functions for Sphinx.    )annotationsN)TYPE_CHECKING)RemovedInSphinx10Warning)__)loggingi @  )CallableIteratorSequence)NoReturnProtocol)Builder)BuildEnvironment)	Inventoryc                      e Zd Zdd	dZdS )
_SupportsRead.sizeintreturnbytesc                    d S N )selfr   s     U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/util/inventory.pyreadz_SupportsRead.read   s          N).)r   r   r   r   )__name__
__module____qualname__r   r   r   r   r   r      s        5555555r   r   namestrr   objectc                V    | dk    rddl m} |S dt          d| }t          |          )NInventoryFileReaderr   )r$   zmodule z has no attribute )"sphinx.util._inventory_file_readerr$   r   AttributeError)r    r$   msgs      r   __getattr__r(   "   sI    $$$JJJJJJ""
:H
:
:$
:
:C


r   c                      e Zd Zedd            Zedd            Zedd            Zedd            Zed d            ZdS )!InventoryFilecontentr   urir!   r   
_Inventoryc                  |                     d          \  }}}|                                }|dk    r|                     ||          S |dk    r=|                                                                }|                     ||          S |                    d          r0|dd                                          }d|}t          |          d|                                 }t          |          )	N   
s   # Sphinx inventory version 2r,   s   # Sphinx inventory version 1s   # Sphinx inventory version    z*unknown or unsupported inventory version: zinvalid inventory header: )	partitionrstrip	_loads_v2decode
splitlines	_loads_v1
startswith
ValueError)clsr+   r,   format_line_linesunknown_versionr'   s           r   loadszInventoryFile.loads,   s     #*"3"3E":":Q!((**999==c=222999NN$$//11E==C=000!!"@AA 	")"##.5577ORRRCS//!A;+=+=+?+?AAoor   streamr   joinfunc	_JoinFuncr   c                ^    |                      |                                |          j        S )Nr0   )r?   r   data)r:   r@   r,   rA   s       r   loadzInventoryFile.loadA   s#    yyCy0055r   r=   Sequence[str]c                  t          |          dk     rd}t          |          t          i           }|d                                         dd          }|d                                         dd          }|dd          D ]y}|                                                    d d          \  }}	}
t          j        ||
          }
|	dk    rd}	|
d| z  }
nd	|	 }	|
d
| z  }
t          |||
d          ||	|f<   z|S )N   9invalid inventory header: missing project name or versionr         mod	py:modulez#module-zpy:#-project_nameproject_versionr,   display_name)lenr9   r-   r3   split	posixpathjoin_InventoryItem)r:   r=   r,   r'   invprojnameversionliner    	item_typelocations              r   r7   zInventoryFile._loads_v1E   s&   u::>>MCS//!nn8??$$RSS)(//##BCC(!""I 	 	D(,(;(;D!(D(D%D)X ~c844HE!!'	-t----)--	JJJ&#1% ' 	$ $ $C	4   
r   inv_datac                  	 |                     dd          \  }}}}n # t          $ r d}t          |          d w xY wt          i           }|                                dd                                          }	|                                dd                                          }
i }t                      }d|vr&d|                                 }t          |          t          j        |          }|                                                                D ]0}t          j
        d|                                t          j        	          }|s9|                                \  }}}}}d
|vrX|dk    r||f|v re|dv rx| d
| }|||f}|                                }||v rO||         |k    r|                    |           n2t                              t#          d          ||dd           n|||<   |                    d          r|d d         |z   }t'          j        ||          }t+          |	|
||          |||f<   2|D ].}t                              t#          d          ||dd           /|S )Nr/      )maxsplitrI   rJ   s   zlibz+invalid inventory header (not compressed): z'(.+?)\s+(\S+)\s+(-?\d+)\s+?(\S*)\s+(.*))flags:rM   >   std:term	std:labelz3inventory <%s> contains duplicate definitions of %sintersphinxexternal)typesubtype$rP   z3inventory <%s> contains multiple definitions for %s)rU   r9   r-   r3   r5   setzlib
decompressr6   rematchVERBOSEgroupsloweraddloggerdebugr   endswithrV   rW   rX   info)r:   r_   r,   line_1line_2
check_line
compressedr'   rY   rZ   r[   potential_ambiguitiesactual_ambiguitiesdecompressed_contentr\   mr    ri   prior^   dispname
definitionr+   lowercase_definition	ambiguitys                            r   r4   zInventoryFile._loads_v2_   s   	,5=^^ETU^5V5V2FFJ

 	, 	, 	,MCS//t+	, nn==??233'..00--//"##&--//AC UU*$$U
@Q@Q@S@SUUCS//!#z::(//11<<>> 2	 2	D:j  A
  3488::0D$h$
 {""d|s':':
 000 !%--t--
(2'1'7'7'9'9$'+@@@,-ABgMM*..z::::TUU&!.$. %     CJ)*>?  %% 0#CRC=4/ ~c844H,% '%	  Cd
OO , 	 	IKKHII""      
s    <filenamestr | os.PathLike[str]envr   builderr   Nonec                ^   dd}t          |d          5 }|                    d ||j        j                   d ||j        j                   d                                           t          j        d	          }|j        	                                D ]}t          |
                                          }|D ]\  }	}
}}}}|                    |	          r|                    |	          d
z   }|                    |          }|r|d|z   z  }|
|	k    rd}
|	 d|j         d| d| d| d|
 d}|                    |                    |                                                     |                    |                                           d d d            d S # 1 swxY w Y   d S )Nstringr!   r   c                .    t          j        dd|           S )Nz\s+ )rp   sub)r   s    r   escapez"InventoryFile.dump.<locals>.escape   s    6&#v...r   wbz(# Sphinx inventory version 2
# Project: z
# Version: z8
# The remainder of this file is compressed using zlib.
	   rk   rN   rO   r   rd   
)r   r!   r   r!   )openwriteconfigprojectr[   encodern   compressobjdomainssortedget_objectsrx   removesuffixget_target_urir    compressflush)r:   r   r   r   r   f
compressordomainsorted_objectsfullnamer   ri   docnameanchorr   r,   entrys                    r   dumpzInventoryFile.dump   sI   	/ 	/ 	/ 	/ (D!! 	(QGGO"(&);"<"<O O"(&);"<"<O O O &((   )!,,J+,,.. A A!'(:(:(<(<!=!=GU 
A 
ACHhgvtx00 E!'!4!4X!>!>!D!0099C ,sV|+8++#&'XX&+XXXXtXXcXXHXXXEGGJ//??@@@@
A GGJ$$&&'''5	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   F F""F&)F&N)r+   r   r,   r!   r   r-   )r@   r   r,   r!   rA   rB   r   r   )r=   rF   r,   r!   r   r-   )r_   r   r,   r!   r   r-   )r   r   r   r   r   r   r   r   )	r   r   r   classmethodr?   rE   r7   r4   r   r   r   r   r*   r*   +   s           [( 6 6 6 [6    [2 L L L [L\  (  (  ( [ (  (  (r   r*   c                  Z    e Zd ZU dZdZded<   ddZdd	ZddZddZ	ddZ
ddZddZdS )r-   zInventory data in memory.rD   $dict[str, dict[str, _InventoryItem]]rD   r   r   c                   || _         d S r   r   )r   rD   s     r   __init__z_Inventory.__init__   s    :>			r   r!   c                    d| j         dS )Nz_Inventory()r   r   s    r   __repr__z_Inventory.__repr__   s    +TY++++r   otherr"   boolc                Z    t          |t                    st          S | j        |j        k    S r   )
isinstancer-   NotImplementedrD   r   r   s     r   __eq__z_Inventory.__eq__   s)    %,, 	"!!yEJ&&r   r   c                *    t          | j                  S r   )hashrD   r   s    r   __hash__z_Inventory.__hash__   s    DIr   itemtuple[str, str]rX   c                N    |\  }}| j                             |i           |         S r   rD   
setdefaultr   r   obj_typer    s       r   __getitem__z_Inventory.__getitem__   s(    $y##Hb11$77r   valuec                L    |\  }}|| j                             |i           |<   d S r   r   )r   r   r   r   r    s        r   __setitem__z_Inventory.__setitem__   s-    $38	Xr**4000r   c                <    |\  }}|| j         v o|| j         |         v S r   r   r   s       r   __contains__z_Inventory.__contains__   s)    $49$D81D)DDr   N)rD   r   r   r   r   r!   r   r"   r   r   r   r   )r   r   r   rX   )r   r   r   rX   r   r   )r   r   r   r   )r   r   r   __doc__	__slots____annotations__r   r   r   r   r   r   r   r   r   r   r-   r-      s         ##I....? ? ? ?, , , ,' ' ' '
   8 8 8 89 9 9 9E E E E E Er   r-   c                      e Zd ZU dZded<   ded<   ded<   ded<   d d	Zd!d
Zd"dZd#dZd$dZ	d%dZ
d&dZd'dZd(dZd)dZdS )*rX   rP   r!   rQ   rR   r,   rS   r   r   c                   t                               | d|           t                               | d|           t                               | d|           t                               | d|           d S NrQ   rR   r,   rS   r"   __setattr__)r   rQ   rR   r,   rS   s        r   r   z_InventoryItem.__init__   sk     	4>>>4!2ODDD4,,,4>>>>>r   c           	     H    d| j         d| j        d| j        d| j        d	S )Nz_InventoryItem(project_name=z, project_version=z, uri=z, display_name=r   rP   r   s    r   r   z_InventoryItem.__repr__
  sT     - #3  8  !-	  	
r   r   r"   r   c                    t          |t                    st          S | j        |j        k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r   )r   rX   r   rQ   rR   r,   rS   r   s     r   r   z_InventoryItem.__eq__  sf    %00 	"!!!33 8$(==8EI%8 !U%77		
r   r   c                P    t          | j        | j        | j        | j        f          S r   )r   rQ   rR   r,   rS   r   s    r   r   z_InventoryItem.__hash__  s0     H	
   	r   keyr   r   c                $    d}t          |          Nz_InventoryItem is immutabler&   )r   r   r   r'   s       r   r   z_InventoryItem.__setattr__&      +S!!!r   c                $    d}t          |          r   r   )r   r   r'   s      r   __delattr__z_InventoryItem.__delattr__*  r   r   tuple[str, str, str, str]c                6    | j         | j        | j        | j        fS r   rP   r   s    r   __getstate__z_InventoryItem.__getstate__.  s     $"6$BSSSr   statec                    |\  }}}}t                               | d|           t                               | d|           t                               | d|           t                               | d|           d S r   r   )r   r   rQ   rR   r,   rS   s         r   __setstate__z_InventoryItem.__setstate__1  sw    ;@8osL4>>>4!2ODDD4,,,4>>>>>r   int | slicestr | tuple[str, ...]c                ~    t          j        dt          d           | j        | j        | j        | j        f}||         S )Nz=The tuple interface for _InventoryItem objects is deprecated.rH   
stacklevel)warningswarnr   rQ   rR   r,   rS   )r   r   tpls      r   r   z_InventoryItem.__getitem__8  sH    K$	
 	
 	
 	

 !5txARR3xr   Iterator[str]c                    t          j        dt          d           | j        | j        | j        | j        f}t          |          S )Nz>The iter() interface for _InventoryItem objects is deprecated.rH   r   )r   r   r   rQ   rR   r,   rS   iter)r   r   s     r   __iter__z_InventoryItem.__iter__A  sK    L$	
 	
 	
 	

 !5txARRCyyr   N)
rQ   r!   rR   r!   r,   r!   rS   r!   r   r   r   r   r   )r   r!   r   r"   r   r   )r   r!   r   r   )r   r   )r   r   r   r   )r   r   r   r   )r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rX   rX      s        HIHHH? ? ? ?
 
 
 

 
 
 
   " " " "" " " "T T T T? ? ? ?        r   rX   )r    r!   r   r"   )'r   
__future__r   rV   rp   r   rn   typingr   sphinx.deprecationr   sphinx.localer   sphinx.utilr   BUFSIZE	getLoggerr   rv   oscollections.abcr   r	   r
   r   r   sphinx.buildersr   sphinx.environmentr   sphinx.util.typingr   r   r!   rB   r(   r*   r-   rX   r   r   r   <module>r      s   - - " " " " " "     				               7 7 7 7 7 7            
		8	$	$ *III<<<<<<<<<<))))))))''''''333333,,,,,,6 6 6 6 6 6 6 6 #sS)I   d( d( d( d( d( d( d( d(N E  E  E  E  E  E  E  EFS S S S S S S S S Sr   