a
    còf~  ã                   @   s¤   d dl mZmZmZmZmZ ddl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 ed ƒZG d
d„ deƒZG dd„ deƒZdS )é    )ÚTYPE_CHECKINGÚAnyÚOptionalÚTupleÚUnioné   )ÚAnnotationFlag)ÚBooleanObjectÚ
NameObjectÚNumberObjectÚTextStringObject)ÚArrayObjectÚDictionaryObject)ÚDEFAULT_FITÚFit)ÚRectangleObjecté   )ÚAnnotationDictionaryc                       sX   e Zd Zdddedœeeeeeeef f ee	 ee
 ee eedœ‡ fdd„Z‡  ZS )ÚLinkN)ÚborderÚurlÚtarget_page_indexÚfit)Úrectr   r   r   r   Úkwargsc                   s^  t ƒ jf i |¤Ž tr"ddlm} |d u}|d u}	|sB|	sBtdƒ‚|r^|	r^td|› d|› �ƒ‚|d urªdd„ |d d… D ƒ}
t|ƒd	kr¸td
d„ |d D ƒƒ}|
 |¡ nt	dƒgd }
|  
tdƒtdƒtdƒtdƒtdƒt|ƒtdƒt|
ƒi¡ |�r,ttdƒtdƒtdƒtdƒtdƒt|ƒiƒ| tdƒ< |	�rZtt	|ƒt|jƒ|jdœƒ}|| tdƒ< d S )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=c                 S   s   g | ]}t |ƒ‘qS © ©r   ©Ú.0Únr   r   úf/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pypdf/annotations/_non_markup_annotations.pyÚ
<listcomp>/   ó    z!Link.__init__.<locals>.<listcomp>é   é   c                 S   s   g | ]}t |ƒ‘qS r   r   r   r   r   r!   r"   1   r#   r   z/Typez/Annotú/Subtypez/Linkú/Rectz/Borderz/Sz/URIz/Actionz/A)r   r   Úfit_argsz/Dest)ÚsuperÚ__init__r   Útypesr   Ú
ValueErrorÚlenr   Úappendr   Úupdater
   r   r   r   Zfit_typer(   )Úselfr   r   r   r   r   r   r   Zis_externalZis_internalZ
border_arrZdash_patternZdest_deferred©Ú	__class__r   r!   r*      sZ    
ÿÿÿÿüÿýÿýÿzLink.__init__)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   Úfloatr   r   ÚstrÚintr   r   r*   Ú__classcell__r   r   r1   r!   r      s   ùør   c                       sH   e Zd Zdddœeeeeeeef f ee e	e
dœ‡ fdd„Z‡  ZS )ÚPopupNF)ÚparentÚopen)r   r;   r<   r   c             	      s„   t ƒ jf i |¤Ž |  tdƒtdƒtdƒt|ƒtdƒt|ƒi¡ |r€z|j| tdƒ< W n( ty~   ddlm	} |dt
ƒ Y n0 d S )	Nr&   z/Popupr'   z/Openz/Parentr   )Úlogger_warningz0Unregistered Parent object : No Parent field set)r)   r*   r/   r
   r   r	   Zindirect_referenceÚAttributeErrorÚ_utilsr=   r3   )r0   r   r;   r<   r   r=   r1   r   r!   r*   S   s     ýÿþzPopup.__init__)r3   r4   r5   r   r   r   r6   r   r   Úboolr   r*   r9   r   r   r1   r!   r:   R   s   ûúr:   N)Útypingr   r   r   r   r   Ú	constantsr   Zgeneric._baser	   r
   r   r   Zgeneric._data_structuresr   r   Zgeneric._fitr   r   Zgeneric._rectangler   Ú_baser   ZDEFAULT_ANNOTATION_FLAGr   r:   r   r   r   r!   Ú<module>   s   @