
    jj                         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ddlZddlmZ  ej	        e
          Z ej        d          Z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_debug_close    N)r   Fc                     t           sd S 	 t          j        t          j                                        | dz                                              d S # t          $ r t          | t          j                   Y d S w xY w)N
)file)	r   oswritesysstderrfilenoencode	Exceptionprint)msgs    h/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/pypdfium2/internal/bases.pyr   r      s     $
""$$s4x&7&7&9&9::::: $ $ $c
#######$s   AA %A<;A<c                       e Zd ZdZdZdZdZdS )_STATEr         N)__name__
__module____qualname__INVALIDAUTOEXPLICITBYPARENT     r   r   r      s"        GDHHHHr"   r   c                   $    e Zd Zed             ZdS )r   c                     | j         S N)rawselfs    r   _as_parameter_zAutoCastable._as_parameter_&   s    
 xr"   N)r   r   r   propertyr)   r!   r"   r   r   r   $   s-          X  r"   r   c                    t          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   valuenamelowerr   r   r   _tree_closed)
close_funcr&   obj_reprstateparentargskwargss          r   _close_templater6   .   s    A5;+1133AAxAABBB jkkk;&.((((>!4!4!6!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                H   t          | d          rJ || _        || n|| _        || _        || _        t          j        t          j                  | _	        t
          j
        rt          j                    nd | _        d | _        g | _        |r|                                  d S d S )N
_finalizer)hasattr_close_func_obj_ex_args
_ex_kwargspypdfium2_cfg_Mutabler   r   _autoclose_stater   uuiduuid4_uuidr;   _kids_attach_finalizer)r(   r0   r8   r9   r4   r5   s         r   __init__zAutoCloseable.__init__=   s     4.....%KDDS	  - 6v{ C C%2%BLTZ\\\

 	%""$$$$$	% 	%r"   c                     | j         t          t          |                     n| j         j        d d         }dt          |           j         d| dS )N   < >)rF   hexidtyper   )r(   
identifiers     r   __repr__zAutoCloseable.__repr__O   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%   )r;   weakreffinalizer>   r6   r=   r&   reprrC   r3   r?   r@   r'   s    r   rH   zAutoCloseable._attach_finalizerT   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%   )r;   detachr'   s    r   _detach_finalizerzAutoCloseable._detach_finalizerY   s!       r"   c                 d    | j         dS | j        d k    r| j                                        rdS dS )NTF)r&   r3   r/   r'   s    r   r/   zAutoCloseable._tree_closed]   s9    84;$4;#;#;#=#=4ur"   c                 ^    | j                             t          j        |                     d S r%   )rG   appendrU   ref)r(   ks     r   _add_kidzAutoCloseable._add_kidd   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)r&   r;   rG   closer   r    r   rC   r,   r   clear)r(   rb   k_refr_   s       r   rc   zAutoCloseable.closeh   s     x 	5 	DH5Z 	) 	)EA )QU )4(((9C&Xfoo#&,n#
tr"   )F)
r   r   r   rI   rS   rH   rZ   r/   r`   rc   r!   r"   r   r   r   ;   s        .2t % % % % %$7 7 7
s s s
    , , ,     r"   r   )__all__r   r   enumrD   rU   loggingrA   r   	getLoggerr   loggerrB   r   r   Enumr   r   r6   r   r!   r"   r   <module>rl      s6   d 				 



         ) ) ) ) ) )		8	$	$*M*511 $ $ $    di          
% 
% 
%C C C C C\ C C C C Cr"   