§
    ;]¥ez"  ã                   óf   — 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  G d„ de¦  «        Zd	S )
é    )ÚAnyÚListÚTupleÚUnioné   )Údeprecation_no_replacementÚdeprecation_with_replacementé   )ÚFloatObjectÚNumberObject)ÚArrayObjectc                   ó~  — e Zd ZdZded eeeeef         f         ddfd„Zdedee	e
f         fd„Zded	edd fd
„Zdedee	e
f         fd„Zdefd„Zede	fd„¦   «         Zej        deddfd„¦   «         Zede	fd„¦   «         Zej        deddfd„¦   «         Zede	fd„¦   «         Zej        deddfd„¦   «         Zede	fd„¦   «         Zej        deddfd„¦   «         Zde	fd„Zde	fd„Zde	fd„Zde	fd„Zde	fd„Zde	fd„Zde	fd„Zde	fd„Zedeeef         fd„¦   «         Zej        dee         ddfd„¦   «         Zedeeef         fd „¦   «         Z e j        dee         ddfd!„¦   «         Z edeeef         fd"„¦   «         Z!e!j        dee         ddfd#„¦   «         Z!edeeef         fd$„¦   «         Z"e"j        dee         ddfd%„¦   «         Z"deeef         fd&„Z#deeef         fd'„Z$deeef         fd(„Z%deeef         fd)„Z&deeef         ddfd*„Z'deeef         ddfd+„Z(deeef         ddfd,„Z)deeef         ddfd-„Z*edefd.„¦   «         Z+defd/„Z,edefd0„¦   «         Z-defd1„Z.edeeef         fd2„¦   «         Z/e/j        deeef         ddfd3„¦   «         Z/edeeef         fd4„¦   «         Z0e0j        deeef         ddfd5„¦   «         Z0edeeef         fd6„¦   «         Z1e1j        deeef         ddfd7„¦   «         Z1edeeef         fd8„¦   «         Z2e2j        deeef         ddfd9„¦   «         Z2dS ):ÚRectangleObjectap  
    This class is used to represent *page boxes* in pypdf.

    These boxes include:

    * :attr:`artbox <pypdf._page.PageObject.artbox>`
    * :attr:`bleedbox <pypdf._page.PageObject.bleedbox>`
    * :attr:`cropbox <pypdf._page.PageObject.cropbox>`
    * :attr:`mediabox <pypdf._page.PageObject.mediabox>`
    * :attr:`trimbox <pypdf._page.PageObject.trimbox>`
    ÚarrÚreturnNc                 ót   ‡ — t          |¦  «        dk    sJ ‚t          j        ‰ ˆ fd„|D ¦   «         ¦  «         d S )Né   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS © ©Ú_ensure_is_number©Ú.0ÚxÚselfs     €ú:/usr/lib/python3/dist-packages/pypdf/generic/_rectangle.pyú
<listcomp>z,RectangleObject.__init__.<locals>.<listcomp>   s'   ø€ Ð#KÐ#KÐ#KÀ! D×$:Ò$:¸1Ñ$=Ô$=Ð#KÐ#KÐ#Kó    )Úlenr   Ú__init__)r   r   s   ` r   r    zRectangleObject.__init__   sF   ø€ õ �3‰xŒx˜1Š}ˆ}ˆ}ˆ}åÔ˜TÐ#KÐ#KÐ#KÐ#KÀsÐ#KÑ#KÔ#KÑLÔLÐLÐLÐLr   Úvaluec                 ó\   — t          |t          t          f¦  «        st          |¦  «        }|S ©N)Ú
isinstancer   r   ©r   r!   s     r   r   z!RectangleObject._ensure_is_number   s+   € Ý˜%¥,µÐ!<Ñ=Ô=ð 	'Ý Ñ&Ô&ˆEØˆr   ÚsxÚsyc                 óÐ   — t          t          | j        ¦  «        |z  t          | j        ¦  «        |z  t          | j        ¦  «        |z  t          | j        ¦  «        |z  f¦  «        S r#   )r   ÚfloatÚleftÚbottomÚrightÚtop)r   r&   r'   s      r   ÚscalezRectangleObject.scale"   s_   € Ýå�d”iÑ Ô  2Ñ%Ý�d”kÑ"Ô" RÑ'Ý�d”jÑ!Ô! BÑ&Ý�d”h‘” "Ñ$ð	ñ
ô 
ð 	
r   c                 óL   — t          dd¦  «         |                      |¦  «        S )NÚensureIsNumberú3.0.0)r   r   r%   s     r   r0   zRectangleObject.ensureIsNumber,   s)   € õ 	#Ð#3°WÑ=Ô=Ð=Ø×%Ò% eÑ,Ô,Ð,r   c                 óB   — dt          t          | ¦  «        ¦  «        › d�S )NzRectangleObject(ú))ÚreprÚlist©r   s    r   Ú__repr__zRectangleObject.__repr__2   s!   € Ø5¥$¥t¨D¡z¤zÑ"2Ô"2Ð5Ð5Ð5Ð5r   c                 ó   — | d         S ©Nr   r   r6   s    r   r*   zRectangleObject.left5   ó   € à�AŒwˆr   Úfc                 ó*   — t          |¦  «        | d<   d S r9   ©r   ©r   r;   s     r   r*   zRectangleObject.left9   ó   € å˜a‘.”.ˆˆQ‰ˆˆr   c                 ó   — | d         S ©Nr
   r   r6   s    r   r+   zRectangleObject.bottom=   r:   r   c                 ó*   — t          |¦  «        | d<   d S rA   r=   r>   s     r   r+   zRectangleObject.bottomA   r?   r   c                 ó   — | d         S ©Nr   r   r6   s    r   r,   zRectangleObject.rightE   r:   r   c                 ó*   — t          |¦  «        | d<   d S rD   r=   r>   s     r   r,   zRectangleObject.rightI   r?   r   c                 ó   — | d         S ©Né   r   r6   s    r   r-   zRectangleObject.topM   r:   r   c                 ó*   — t          |¦  «        | d<   d S rG   r=   r>   s     r   r-   zRectangleObject.topQ   r?   r   c                 ó2   — t          ddd¦  «         | j        S )NÚgetLowerLeft_xr*   r1   ©r	   r*   r6   s    r   rK   zRectangleObject.getLowerLeft_xU   ó   € Ý$Ð%5°v¸wÑGÔGÐGØŒyÐr   c                 ó2   — t          ddd¦  «         | j        S )NÚgetLowerLeft_yr+   r1   ©r	   r+   r6   s    r   rO   zRectangleObject.getLowerLeft_yY   s   € Ý$Ð%5°xÀÑIÔIÐIØŒ{Ðr   c                 ó2   — t          ddd¦  «         | j        S )NÚgetUpperRight_xr,   r1   ©r	   r,   r6   s    r   rR   zRectangleObject.getUpperRight_x]   ó   € Ý$Ð%6¸ÀÑIÔIÐIØŒzÐr   c                 ó2   — t          ddd¦  «         | j        S )NÚgetUpperRight_yr-   r1   ©r	   r-   r6   s    r   rV   zRectangleObject.getUpperRight_ya   s   € Ý$Ð%6¸¸wÑGÔGÐGØŒxˆr   c                 ó2   — t          ddd¦  «         | j        S )NÚgetUpperLeft_xr*   r1   rL   r6   s    r   rY   zRectangleObject.getUpperLeft_xe   rM   r   c                 ó2   — t          ddd¦  «         | j        S )NÚgetUpperLeft_yr-   r1   rW   r6   s    r   r[   zRectangleObject.getUpperLeft_yi   s   € Ý$Ð%5°u¸gÑFÔFÐFØŒxˆr   c                 ó2   — t          ddd¦  «         | j        S )NÚgetLowerRight_xr,   r1   rS   r6   s    r   r]   zRectangleObject.getLowerRight_xm   rT   r   c                 ó2   — t          ddd¦  «         | j        S )NÚgetLowerRight_yr+   r1   rP   r6   s    r   r_   zRectangleObject.getLowerRight_yq   s   € Ý$Ð%6¸À'ÑJÔJÐJØŒ{Ðr   c                 ó   — | j         | j        fS )zj
        Property to read and modify the lower left coordinate of this box
        in (x,y) form.
        )r*   r+   r6   s    r   Ú
lower_leftzRectangleObject.lower_leftu   s   € ð Œy˜$œ+Ð%Ð%r   c                 ó6   ‡ — ˆ fd„|D ¦   «         \  ‰ d<   ‰ d<   d S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r#   r   r   s     €r   ú	<genexpr>z-RectangleObject.lower_left.<locals>.<genexpr>   ó1   øè è € ÐEÐE¸!˜D×2Ò2°1Ñ5Ô5ÐEÐEÐEÐEÐEÐEr   r   r
   r   r%   s   ` r   ra   zRectangleObject.lower_left}   ó-   ø€ àEÐEÐEÐE¸uÐEÑEÔEÑˆˆQ‰��a‘��r   c                 ó   — | j         | j        fS )zk
        Property to read and modify the lower right coordinate of this box
        in (x,y) form.
        )r,   r+   r6   s    r   Úlower_rightzRectangleObject.lower_right�   s   € ð Œz˜4œ;Ð&Ð&r   c                 ó6   ‡ — ˆ fd„|D ¦   «         \  ‰ d<   ‰ d<   d S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r#   r   r   s     €r   rd   z.RectangleObject.lower_right.<locals>.<genexpr>‹   re   r   r   r
   r   r%   s   ` r   rh   zRectangleObject.lower_right‰   rf   r   c                 ó   — | j         | j        fS )zj
        Property to read and modify the upper left coordinate of this box
        in (x,y) form.
        )r*   r-   r6   s    r   Ú
upper_leftzRectangleObject.upper_left�   s   € ð Œy˜$œ(Ð"Ð"r   c                 ó6   ‡ — ˆ fd„|D ¦   «         \  ‰ d<   ‰ d<   d S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r#   r   r   s     €r   rd   z-RectangleObject.upper_left.<locals>.<genexpr>—   re   r   r   rH   r   r%   s   ` r   rl   zRectangleObject.upper_left•   rf   r   c                 ó   — | j         | j        fS )zk
        Property to read and modify the upper right coordinate of this box
        in (x,y) form.
        )r,   r-   r6   s    r   Úupper_rightzRectangleObject.upper_right™   s   € ð Œz˜4œ8Ð#Ð#r   c                 ó6   ‡ — ˆ fd„|D ¦   «         \  ‰ d<   ‰ d<   d S )Nc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r#   r   r   s     €r   rd   z.RectangleObject.upper_right.<locals>.<genexpr>£   re   r   r   rH   r   r%   s   ` r   rp   zRectangleObject.upper_right¡   rf   r   c                 ó2   — t          ddd¦  «         | j        S )NÚgetLowerLeftra   r1   ©r	   ra   r6   s    r   rt   zRectangleObject.getLowerLeft¥   ó   € õ 	% ^°\À7ÑKÔKÐKØŒÐr   c                 ó2   — t          ddd¦  «         | j        S )NÚgetLowerRightrh   r1   ©r	   rh   r6   s    r   rx   zRectangleObject.getLowerRight«   ó   € õ 	% _°mÀWÑMÔMÐMØÔÐr   c                 ó2   — t          ddd¦  «         | j        S )NÚgetUpperLeftrl   r1   ©r	   rl   r6   s    r   r|   zRectangleObject.getUpperLeft±   rv   r   c                 ó2   — t          ddd¦  «         | j        S )NÚgetUpperRightrp   r1   ©r	   rp   r6   s    r   r   zRectangleObject.getUpperRight·   rz   r   c                 ó6   — t          ddd¦  «         || _        d S )NÚsetLowerLeftra   r1   ru   r%   s     r   r‚   zRectangleObject.setLowerLeft½   s   € Ý$ ^°\À7ÑKÔKÐKØˆŒˆˆr   c                 óX   ‡ — t          ddd¦  «         ˆ fd„|D ¦   «         \  ‰ d<   ‰ d<   d S )NÚsetLowerRightrh   r1   c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r#   r   r   s     €r   rd   z0RectangleObject.setLowerRight.<locals>.<genexpr>Ã   re   r   r   r
   ©r	   r%   s   ` r   r„   zRectangleObject.setLowerRightÁ   ó?   ø€ Ý$ _°mÀWÑMÔMÐMØEÐEÐEÐE¸uÐEÑEÔEÑˆˆQ‰��a‘��r   c                 óX   ‡ — t          ddd¦  «         ˆ fd„|D ¦   «         \  ‰ d<   ‰ d<   d S )NÚsetUpperLeftrl   r1   c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r#   r   r   s     €r   rd   z/RectangleObject.setUpperLeft.<locals>.<genexpr>Ç   re   r   r   rH   r†   r%   s   ` r   r‰   zRectangleObject.setUpperLeftÅ   s?   ø€ Ý$ ^°\À7ÑKÔKÐKØEÐEÐEÐE¸uÐEÑEÔEÑˆˆQ‰��a‘��r   c                 óX   ‡ — t          ddd¦  «         ˆ fd„|D ¦   «         \  ‰ d<   ‰ d<   d S )NÚsetUpperRightrp   r1   c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r#   r   r   s     €r   rd   z0RectangleObject.setUpperRight.<locals>.<genexpr>Ë   re   r   r   rH   r†   r%   s   ` r   rŒ   zRectangleObject.setUpperRightÉ   r‡   r   c                 ó    — | j         | j        z
  S r#   )r,   r*   r6   s    r   ÚwidthzRectangleObject.widthÍ   s   € àŒz˜DœIÑ%Ð%r   c                 ó2   — t          ddd¦  «         | j        S )NÚgetWidthr�   r1   )r	   r�   r6   s    r   r‘   zRectangleObject.getWidthÑ   s   € Ý$ Z°¸'ÑBÔBÐBØŒzÐr   c                 ó    — | j         | j        z
  S r#   )r-   r+   r6   s    r   ÚheightzRectangleObject.heightÕ   s   € àŒx˜$œ+Ñ%Ð%r   c                 ó2   — t          ddd¦  «         | j        S )NÚ	getHeightr“   r1   )r	   r“   r6   s    r   r•   zRectangleObject.getHeightÙ   s   € Ý$ [°(¸GÑDÔDÐDØŒ{Ðr   c                 ó2   — t          ddd¦  «         | j        S ©NÚ	lowerLeftra   r1   ru   r6   s    r   r˜   zRectangleObject.lowerLeftÝ   ó   € å$ [°,ÀÑHÔHÐHØŒÐr   c                 ó6   — t          ddd¦  «         || _        d S r—   ru   r%   s     r   r˜   zRectangleObject.lowerLeftâ   ó   € å$ [°,ÀÑHÔHÐHØˆŒˆˆr   c                 ó2   — t          ddd¦  «         | j        S ©NÚ
lowerRightrh   r1   ry   r6   s    r   rž   zRectangleObject.lowerRightç   ó   € å$ \°=À'ÑJÔJÐJØÔÐr   c                 ó6   — t          ddd¦  «         || _        d S r�   ry   r%   s     r   rž   zRectangleObject.lowerRightì   ó"   € å$ \°=À'ÑJÔJÐJØ ˆÔÐÐr   c                 ó2   — t          ddd¦  «         | j        S ©NÚ	upperLeftrl   r1   r}   r6   s    r   r¤   zRectangleObject.upperLeftñ   r™   r   c                 ó6   — t          ddd¦  «         || _        d S r£   r}   r%   s     r   r¤   zRectangleObject.upperLeftö   r›   r   c                 ó2   — t          ddd¦  «         | j        S ©NÚ
upperRightrp   r1   r€   r6   s    r   r¨   zRectangleObject.upperRightû   rŸ   r   c                 ó6   — t          ddd¦  «         || _        d S r§   r€   r%   s     r   r¨   zRectangleObject.upperRight   r¡   r   )3Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r)   r    r   r   r   r   r.   r0   Ústrr7   Úpropertyr*   Úsetterr+   r,   r-   rK   rO   rR   rV   rY   r[   r]   r_   ra   r   rh   rl   rp   rt   rx   r|   r   r‚   r„   r‰   rŒ   r�   r‘   r“   r•   r˜   rž   r¤   r¨   r   r   r   r   r      sf  € € € € € ð
ð 
ðMØÐ*¨E°%¸ÀÀuÐ2LÔ,MÐMÔNðMà	ðMð Mð Mð Mð sð ¨u°[À,Ð5NÔ/Oð ð ð ð ð

˜ð 
 5ð 
Ð->ð 
ð 
ð 
ð 
ð-Øð-à	ˆ{˜LÐ(Ô	)ð-ð -ð -ð -ð6˜#ð 6ð 6ð 6ð 6ð ð�kð ð ð ñ „Xðð 
„[ð!�eð ! ð !ð !ð !ñ „[ð!ð ð˜ð ð ð ñ „Xðð „]ð!˜ð ! $ð !ð !ð !ñ „]ð!ð ð�{ð ð ð ñ „Xðð „\ð!�uð ! ð !ð !ð !ñ „\ð!ð ð�[ð ð ð ñ „Xðð 	„Zð!�Uð !˜tð !ð !ð !ñ „Zð!ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð&˜E %¨ ,Ô/ð &ð &ð &ñ „Xð&ð ÔðF  S¤	ð F¨dð Fð Fð Fñ ÔðFð ð'˜U 5¨% <Ô0ð 'ð 'ð 'ñ „Xð'ð ÔðF  c¤ð F¨tð Fð Fð Fñ ÔðFð ð#˜E %¨ ,Ô/ð #ð #ð #ñ „Xð#ð ÔðF  S¤	ð F¨dð Fð Fð Fñ ÔðFð ð$˜U 5¨% <Ô0ð $ð $ð $ñ „Xð$ð ÔðF  c¤ð F¨tð Fð Fð Fñ ÔðFðà	ˆu�eˆ|Ô	ðð ð ð ð à	ˆu�eˆ|Ô	ð ð  ð  ð  ðà	ˆu�eˆ|Ô	ðð ð ð ð à	ˆu�eˆ|Ô	ð ð  ð  ð  ð  %¨¨u¨Ô"5ð  ¸$ð  ð  ð  ð  ðF 5¨°¨Ô#6ð F¸4ð Fð Fð Fð FðF %¨¨u¨Ô"5ð F¸$ð Fð Fð Fð FðF 5¨°¨Ô#6ð F¸4ð Fð Fð Fð Fð ð&�uð &ð &ð &ñ „Xð&ð˜%ð ð ð ð ð ð&˜ð &ð &ð &ñ „Xð&ð˜5ð ð ð ð ð ð˜5 ¨ Ô.ð ð ð ñ „Xðð Ôð ˜u U¨E \Ô2ð  °tð  ð  ð  ñ Ôð ð ð ˜E %¨ ,Ô/ð  ð  ð  ñ „Xð ð Ôð!  e¨U lÔ 3ð !¸ð !ð !ð !ñ Ôð!ð ð˜5 ¨ Ô.ð ð ð ñ „Xðð Ôð ˜u U¨E \Ô2ð  °tð  ð  ð  ñ Ôð ð ð ˜E %¨ ,Ô/ð  ð  ð  ñ „Xð ð Ôð!  e¨U lÔ 3ð !¸ð !ð !ð !ñ Ôð!ð !ð !r   r   N)Útypingr   r   r   r   Ú_utilsr   r	   Ú_baser   r   Ú_data_structuresr   r   r   r   r   ú<module>rµ      s©   ðØ *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø )Ð )Ð )Ð )Ð )Ð )ð{!ð {!ð {!ð {!ð {!�kñ {!ô {!ð {!ð {!ð {!r   