
    HAi                     J    S SK JrJrJr  SSKJrJr  SSKJr   " S S\5      r	g)    )AnyTupleUnion   )FloatObjectNumberObject)ArrayObjectc                   B   \ rS rSrSrS\S \\\\\4   4   SS4S jrS\	S\\
\4   4S jrS	\S
\SS 4S jrS\4S jr\S\
4S j5       r\R$                  S\SS4S j5       r\S\
4S j5       r\R$                  S\SS4S j5       r\S\
4S j5       r\R$                  S\SS4S j5       r\S\
4S j5       r\R$                  S\SS4S j5       r\S\\\4   4S j5       r\R$                  S\\\4   SS4S j5       r\S\\\4   4S j5       r\R$                  S\\\4   SS4S j5       r\S\\\4   4S j5       r\R$                  S\\\4   SS4S j5       r\S\\\4   4S j5       r\R$                  S\\\4   SS4S j5       r\S\4S j5       r\S\4S j5       rS rg)!RectangleObject   aP  
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           	          [        U5      S:X  d   e[        R                  " X Vs/ s H  o R                  U5      PM     sn5        g s  snf )N   )lenr	   __init___ensure_is_number)selfr   xs      T/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pypdf/generic/_rectangle.pyr   RectangleObject.__init__   s?     3x1}}Ts#Ks!$:$:1$=s#KL#Ks   A
valuec                 R    [        U[        [        45      (       d  [        U5      nU$ N)
isinstancer   r   r   r   s     r   r   !RectangleObject._ensure_is_number   s#    %+|!<==&E    sxsyc                     [        [        U R                  5      U-  [        U R                  5      U-  [        U R                  5      U-  [        U R
                  5      U-  45      $ r   )r   floatleftbottomrighttop)r   r   r    s      r   scaleRectangleObject.scale!   sW    dii 2%dkk"R'djj!B&dhh"$	
 	
r   c                 "    S[        U 5      < S3$ )NzRectangleObject())listr   s    r   __repr__RectangleObject.__repr__+   s    !$t*q11r   c                     U S   $ Nr    r,   s    r   r#   RectangleObject.left.       Awr   fc                      [        U5      U S'   g r0   r   r   r4   s     r   r#   r2   2       a.Qr   c                     U S   $ Nr   r1   r,   s    r   r$   RectangleObject.bottom6   r3   r   c                      [        U5      U S'   g r:   r6   r7   s     r   r$   r;   :   r8   r   c                     U S   $ N   r1   r,   s    r   r%   RectangleObject.right>   r3   r   c                      [        U5      U S'   g r>   r6   r7   s     r   r%   r@   B   r8   r   c                     U S   $ N   r1   r,   s    r   r&   RectangleObject.topF   r3   r   c                      [        U5      U S'   g rC   r6   r7   s     r   r&   rE   J   r8   r   c                 2    U R                   U R                  4$ )zR
Property to read and modify the lower left coordinate of this box
in (x,y) form.
)r#   r$   r,   s    r   
lower_leftRectangleObject.lower_leftN   s     yy$++%%r   c                 0   ^  U 4S jU 5       u  T S'   T S'   g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   r   .0r   r   s     r   	<genexpr>-RectangleObject.lower_left.<locals>.<genexpr>X        Eu!D22155u   !r   r   r1   r   s   ` r   rH   rI   V       EuEQar   c                 2    U R                   U R                  4$ )zS
Property to read and modify the lower right coordinate of this box
in (x,y) form.
)r%   r$   r,   s    r   lower_rightRectangleObject.lower_rightZ   s     zz4;;&&r   c                 0   ^  U 4S jU 5       u  T S'   T S'   g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   rL   rM   s     r   rO   .RectangleObject.lower_right.<locals>.<genexpr>d   rQ   rR   r?   r   r1   r   s   ` r   rU   rV   b   rS   r   c                 2    U R                   U R                  4$ )zR
Property to read and modify the upper left coordinate of this box
in (x,y) form.
)r#   r&   r,   s    r   
upper_leftRectangleObject.upper_leftf   s     yy$((""r   c                 0   ^  U 4S jU 5       u  T S'   T S'   g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   rL   rM   s     r   rO   -RectangleObject.upper_left.<locals>.<genexpr>p   rQ   rR   r   rD   r1   r   s   ` r   r[   r\   n   rS   r   c                 2    U R                   U R                  4$ )zS
Property to read and modify the upper right coordinate of this box
in (x,y) form.
)r%   r&   r,   s    r   upper_rightRectangleObject.upper_rightr   s     zz488##r   c                 0   ^  U 4S jU 5       u  T S'   T S'   g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   rL   rM   s     r   rO   .RectangleObject.upper_right.<locals>.<genexpr>|   rQ   rR   r?   rD   r1   r   s   ` r   ra   rb   z   rS   r   c                 4    U R                   U R                  -
  $ r   )r%   r#   r,   s    r   widthRectangleObject.width~   s    zzDII%%r   c                 4    U R                   U R                  -
  $ r   )r&   r$   r,   s    r   heightRectangleObject.height   s    xx$++%%r   r1   )__name__
__module____qualname____firstlineno____doc__r   r   r"   r   r   r   r   r   r'   strr-   propertyr#   setterr$   r%   r&   rH   rU   r[   ra   rg   rj   __static_attributes__r1   r   r   r   r      s   
M*E%u2L,MMNM	Ms u[,5N/O 

 
5 
-> 
2# 2 k   
[[!e ! ! !    ]]! !$ ! ! {   \\!u ! ! ! [   	ZZ!U !t ! ! &E%,/ & & FeUl 3 F F F 'U5%<0 ' ' Fue|!4 F F F #E%,/ # # FeUl 3 F F F $U5%<0 $ $ Fue|!4 F F F &u & & & & &r   r   N)
typingr   r   r   _baser   r   _data_structuresr	   r   r1   r   r   <module>rx      s    $ $ , )}&k }&r   