
    *'h&                         d dl mZmZmZmZmZ ddlmZmZm	Z	m
Z
 ddlmZmZ ddlmZmZ ddlmZ ddlmZ  G d	 d
e      Z G d de      Zy)    )TYPE_CHECKINGAnyOptionalTupleUnion   )BooleanObject
NameObjectNumberObjectTextStringObject)ArrayObjectDictionaryObject)DEFAULT_FITFit)RectangleObject   )AnnotationDictionaryc                   r     e Zd Zdddeddeeeeeeef   f   dee	   dee
   dee   deded	df fd
Z xZS )LinkN)borderurltarget_page_indexfitrectr   r   r   r   kwargsreturnc                   t        |   di | t        rddlm} |d u}|d u}	|s|	st        d      |r|	rt        d|d|      |`|d d D 
cg c]  }
t        |
       }}
t        |      dk(  rFt        |d   D 
cg c]  }
t        |
       c}
      }|j                  |       nt        d      gdz  }| j                  t        d	      t        d
      t        d      t        d      t        d      t        |      t        d      t        |      i       |rSt        t        d      t        d      t        d	      t        d      t        d      t        |      i      | t        d      <   |	rDt        t        |      t        |j                        |j                   d      }|| t        d      <   y y c c}
w c c}
w )Nr   )BorderArrayTypezHEither 'url' or 'target_page_index' have to be provided. Both were None.z=Either 'url' or 'target_page_index' have to be provided. url=z, target_page_index=      r   z/Typez/Annot/Subtypez/Link/Rectz/Borderz/Sz/URIz/Actionz/A)r   r   fit_argsz/Dest )super__init__r   typesr   
ValueErrorr   lenr   appendupdater
   r   r   r   fit_typer#   )selfr   r   r   r   r   r   r   is_externalis_internaln
border_arrdash_patterndest_deferred	__class__s                 p/home/kushmeetdev/Regenta/Chatbot/venv/lib/python3.12/site-packages/pypdf/annotations/_non_markup_annotations.pyr&   zLink.__init__   s    	"6"/o't3;Z  ;&-,.0  39"1:>a,q/>J>6{a*VAY+OLO+OP!!,/&q/*Q.J7#Z%9:&
7(;7#_T%:9%{:'>		
 %5t$j&8w'I)>v&(8(=&DD!" ,)56G)H%cll3 #M )6DG$% / ?+Os   F7 F<)__name__
__module____qualname__r   r   r   r   floatr   r   strintr   r   r&   __classcell__r4   s   @r5   r   r      s    
 )-!+/<6 OU5%+E%FFG<6 %	<6
 c]<6 $C=<6 <6 <6 
<6 <6    r   c                   Z     e Zd Zddddeeeeeeef   f   dee   de	de
ddf
 fd	Z xZS )
PopupNF)parentopenr   rA   rB   r   r   c          
      :   t        |   d	i | | j                  t        d      t        d      t        d      t	        |      t        d      t        |      i       |r	 |j                  | t        d      <   y y # t        $ r ddlm	}  |dt               Y y w xY w)
Nr!   z/Popupr"   z/Openz/Parentr   )logger_warningz0Unregistered Parent object : No Parent field setr$   )r%   r&   r+   r
   r   r	   indirect_referenceAttributeError_utilsrD   r6   )r-   r   rA   rB   r   rD   r4   s         r5   r&   zPopup.__init__P   s     	"6":&
8(<7#_T%:7#]4%8	
 .4.G.GZ	*+  " 3Fs   !A; ;BB)r6   r7   r8   r   r   r   r9   r   r   boolr   r&   r<   r=   s   @r5   r@   r@   O   se    
 .2 OU5%+E%FFG )*	
   
 r>   r@   N)typingr   r   r   r   r   generic._baser	   r
   r   r   generic._data_structuresr   r   generic._fitr   r   generic._rectangler   _baser   r   r@   r$   r>   r5   <module>rO      s?    = =  E + 0 '=6 =6@  r>   