
    .i\                        d Z ddlZddlZddlZddlZddlZddlZ ej        e          Z	d Z
 G d d          Z ed          Z ed          Z G d dej                  Z G d	 d
          Zd Z G d de          ZdS ))AutoCastableAutoCloseableDEBUG_AUTOCLOSELIBRARY_AVAILABLE_safe_debug    Nc                     	 t          j        t          j                                        | dz                                              d S # t          $ r t          | t          j                   Y d S w xY w)N
)file)oswritesysstderrfilenoencode	Exceptionprint)msgs    T/var/www/html/analyses/venv/lib/python3.11/site-packages/pypdfium2/internal/bases.pyr   r      sv    $
""$$s4x&7&7&9&9::::: $ $ $c
#######$s   AA
 
%A32A3c                        e Zd Zd Zd Zd ZdS )_Mutablec                     || _         d S Nvalue)selfr   s     r   __init__z_Mutable.__init__   s    


    c                     d| j          dS )Nz	_Mutable()r   r   s    r   __repr__z_Mutable.__repr__   s    (4:((((r   c                 *    t          | j                  S r   )boolr   r    s    r   __bool__z_Mutable.__bool__    s    DJr   N)__name__
__module____qualname__r   r!   r$    r   r   r   r      sA          ) ) )         r   r   Fc                       e Zd ZdZdZdZdZdS )_STATEr         N)r%   r&   r'   INVALIDAUTOEXPLICITBYPARENTr(   r   r   r*   r*   (   s"        GDHHHHr   r*   c                   $    e Zd Zed             ZdS )r   c                     | j         S r   )rawr    s    r   _as_parameter_zAutoCastable._as_parameter_1   s    
 xr   N)r%   r&   r'   propertyr5   r(   r   r   r   r   /   s-          X  r   r   c                    t           r1t          d|j        j                                         d|            t
          st          d           d S |j        t          j        k    sJ ||                                rJ  | |g|R i | d S )NzClose (z) zR-> Cannot close object; pdfium library is destroyed. This may cause a memory leak.)	r   r   r   namelowerr   r*   r.   _tree_closed)
close_funcr4   obj_reprstateparentargskwargss          r   _close_templaterA   9   s     FDek.4466DD(DDEEE ijjj;&.((((>!4!4!6!6>>>Js$T$$$V$$$$$r   c                   B    e Zd ZddddZd Zd Zd Zd Zd	 ZddZ	dS )r   NT)obj
needs_freec                4   t          | d          rJ || _        || n|| _        || _        || _        t          t          j                  | _        t          rt          j                    nd | _        d | _        g | _        |r|                                  d S d S )N
_finalizer)hasattr_close_func_obj_ex_args
_ex_kwargsr   r*   r/   _autoclose_stater   uuiduuid4_uuidrF   _kids_attach_finalizer)r   r;   rC   rD   r?   r@   s         r   r   zAutoCloseable.__init__I   s     4.....%KDDS	  ( 5 5%4>TZ\\\$

 	%""$$$$$	% 	%r   c                     | j         t          t          |                     n| j         j        d d         }dt          |           j         d| dS )N   < >)rO   hexidtyper%   )r   
identifiers     r   r!   zAutoCloseable.__repr__[   sM    &*j&8SD]]]djnSbS>Q
64::&666666r   c                     | j         J t          j        | j        t          | j        | j        t          |           | j        | j	        | j
        | j        	  	        | _         d S r   )rF   weakreffinalizerI   rA   rH   r4   reprrL   r>   rJ   rK   r    s    r   rQ   zAutoCloseable._attach_finalizer`   s{    &&&!*49otGWY]Yacghlcmcmos  pE  GK  GR  TX  Ta  cg  cr  s  sr   c                 F    | j                                          d | _         d S r   )rF   detachr    s    r   _detach_finalizerzAutoCloseable._detach_finalizere   s!       r   c                 d    | j         dS | j        d k    r| j                                        rdS dS )NTF)r4   r>   r:   r    s    r   r:   zAutoCloseable._tree_closedi   s9    84;$4;#;#;#=#=4ur   c                 ^    | j                             t          j        |                     d S r   )rP   appendr\   ref)r   ks     r   _add_kidzAutoCloseable._add_kidp   s&    
7;q>>+++++r   Fc                    | j         sdS | j        s	d | _         dS | j        D ]+} |            }|r|j         r|                    d           ,|rt          j        nt          j        | j        _        |                                  t          j	        | j        _        d | _         d | _        | j        
                                 dS )NFT)
_by_parent)r4   rF   rP   closer*   r1   r0   rL   r   r.   clear)r   ri   k_refrf   s       r   rj   zAutoCloseable.closet   s     x 	5 	DH5Z 	) 	)EA )QU )4(((9C&Xfoo#&,n#
tr   )F)
r%   r&   r'   r   r!   rQ   ra   r:   rg   rj   r(   r   r   r   r   G   s        .2t % % % % %$7 7 7
s s s
    , , ,     r   r   )__all__r   r   enumrM   r\   logging	getLoggerr%   loggerr   r   r   r   Enumr*   r   rA   r   r(   r   r   <module>rs      sJ   c 				 



    		8	$	$$ $ $	  	  	  	  	  	  	  	  (5//HUOO     di          % % %C C C C C\ C C C C Cr   