
     hz"                     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     T/var/www/html/Sam_Eipo/venv/lib/python3.11/site-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     3xx1}}}}T#K#K#K#Ks#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_    di  2%dk""R'dj!!B&dh"$	
 
 	
r   c                 L    t          dd           |                     |          S )NensureIsNumber3.0.0)r   r   r%   s     r   r0   zRectangleObject.ensureIsNumber,   s)     	##3W===%%e,,,r   c                 B    dt          t          |                      dS )NzRectangleObject())reprlistr   s    r   __repr__zRectangleObject.__repr__2   s!    5$tDzz"2"25555r   c                     | d         S Nr   r   r6   s    r   r*   zRectangleObject.left5       Aw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       $%5vw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    $%5x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    $%5ug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2155EEEEEEr   r   r
   r   r%   s   ` r   ra   zRectangleObject.lower_left}   -    EEEEu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     z4;&&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     z48##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        	%_mW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   ?    $_mWMMMEEEEu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Eu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    zDI%%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%u2L,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 'U5%<0 ' ' ' X' Fc Ft F F F F #E%,/ # # # X# FS	 Fd F F F F $U5%<0 $ $ $ X$ Fc Ft F F F F	ue|	    	ue|	       	ue|	    	ue|	        %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  uUE\2  t          E%,/       X  !eUl 3 ! ! ! ! ! 5.    X  uUE\2  t          E%,/       X  !eUl 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   