
    *'hS                     f    d dl mZmZmZ ddlmZmZmZmZ ddl	m
Z
mZ  ed      Z G d de      Zy)	    )AnyListOptional   )BooleanObject
NameObjectNumberObjectis_null_or_none)ArrayObjectDictionaryObjectFc                   0    e Zd Zddee   ddf fdZdedee   defdZdede	ddfd	Z
dedee   dee   fd
Zdedee   deddfdZdedeee      defdZdedee   ddfdZdedee   defdZdededdfdZedefd       Zddededd fdZ xZS )ViewerPreferencesNobjreturnc                     t         |   |        t        |      s| j                  |j	                                	 |j
                  | _        y # t        $ r Y y w xY wN)super__init__r
   updateitemsindirect_referenceAttributeError)selfr   	__class__s     `/home/kushmeetdev/Regenta/Chatbot/venv/lib/python3.12/site-packages/pypdf/generic/_viewerpref.pyr   zViewerPreferences.__init__*   sO    s#KK		$	&)&<&<D# 		s   A 	AAkeydefaultc                 &    | j                  ||      S r   getr   r   r   s      r   	_get_boolzViewerPreferences._get_bool3       xxW%%    vc                 6    t        |du       | t        |      <   y )NT)r   r   r   r   r%   s      r   	_set_boolzViewerPreferences._set_bool6   s     -a4i 8Z_r$   c                 &    | j                  ||      S r   r   r!   s      r   	_get_namezViewerPreferences._get_name9   r#   r$   lstc                     |d   dk7  rt        | d      |g k7  r||vrt        | d      t        |      | t        |      <   y )Nr   /z does not start with '/'z is an unacceptable value)
ValueErrorr   )r   r   r+   r%   s       r   	_set_namezViewerPreferences._set_name<   sR    Q43;s":;<<"9#s";<== *1Z_r$   c                 H    | j                  ||d       S t        |            S r   )r    r   r!   s      r   _get_arrzViewerPreferences._get_arrC   s$    xxW_TOO+g:NOOr$   c                     |	 | t        |      = y t        |t              st	        d      || t        |      <   y # t        $ r Y y w xY w)NzArrayObject is expected)r   KeyError
isinstancer   r.   r'   s      r   _set_arrzViewerPreferences._set_arrF   sX    9C) ![)677 !Z_  s   ; 	AAc                 &    | j                  ||      S r   r   r!   s      r   _get_intzViewerPreferences._get_intQ   r#   r$   c                 2    t        |      | t        |      <   y r   )r	   r   r'   s      r   _set_intzViewerPreferences._set_intT   s     ,QZ_r$   c                     t        d      S )N/PrintScaling)r   )r   s    r   PRINT_SCALINGzViewerPreferences.PRINT_SCALINGW   s    /**r$   clsvaluec                    dt         dt        t           dt        fd}dt         dt        t            dt        t
           dt        fd}dt         dt        t           dt        fd}dt         dt        t           dt        fd} |d	t              | _	         |d
t              | _
         |dt              | _         |dt              | _         |dt              | _         |dt              | _         |dg dt        d            | _         |dddgt        d            | _         |dg d       | _         |dg d       | _         |dg d       | _         |dg d       | _         |dg d       | _         |dg dd       | _         |dd       | _         |dd       | _         |dd       | _         |dt                     | _        t7        j8                  |       S ) Nr   r   r   c           
      >     t         fd fdd d  d d      S )Nc                 (    | j                        S r   )r"   r   r   r   s    r   <lambda>zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>^       T^^C9 r$   c                 (    | j                  |      S r   )r(   r   r%   r   s     r   rC   zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>_   s    sA 6 r$   *
            Returns/Modify the status of 
, Returns  if not defined
            propertyr   r   s   ``r   _add_prop_boolz1ViewerPreferences.__new__.<locals>._add_prop_bool\   s4    96**-j	 B	 r$   r+   c                 H     t         fd fdd d  d d d      S )Nc                 (    | j                        S r   )r*   rB   s    r   rC   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>j   rD   r$   c                 *    | j                  |      S r   )r/   )r   r%   r   r+   s     r   rC   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>k   s    sC ; r$   rG   rH   z0 if not defined.
            Acceptable values: z
            rJ   )r   r+   r   s   ```r   _add_prop_namez1ViewerPreferences.__new__.<locals>._add_prop_namef   s@     9;**-j	 B  #u %	 r$   c           
      >     t         fd fdd d  d d      S )Nc                 (    | j                        S r   )r1   rB   s    r   rC   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>u       T]]38 r$   c                 (    | j                  |      S r   )r5   rF   s     r   rC   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>v       c1 5 r$   rG   rH   rI   rJ   rL   s   ``r   _add_prop_arrz0ViewerPreferences.__new__.<locals>._add_prop_arrs   4    85**-j	 B	 r$   c           
      >     t         fd fdd d  d d      S )Nc                 (    | j                        S r   )r7   rB   s    r   rC   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>   rT   r$   c                 (    | j                  |      S r   )r9   rF   s     r   rC   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>   rV   r$   rG   rH   rI   rJ   rL   s   ``r   _add_prop_intz0ViewerPreferences.__new__.<locals>._add_prop_int}   rX   r$   z/HideToolbarz/HideMenubarz/HideWindowUIz
/FitWindowz/CenterWindowz/DisplayDocTitlez/NonFullScreenPageMode)/UseNonez/UseOutlinesz
/UseThumbsz/UseOCr]   z
/Directionz/L2Rz/R2Lz	/ViewAreaz	/ViewClipz
/PrintAreaz
/PrintClipr;   z/Duplex)z/Simplexz/DuplexFlipShortEdgez/DuplexFlipLongEdgez/PickTrayByPDFSizez/PrintPageRangez
/NumCopiesz/Enforce)strr   r   rK   r   r   r   intf_objhide_toolbarhide_menubarhide_windowui
fit_windowcenter_windowdisplay_doctitlenon_fullscreen_pagemode	direction	view_area	view_clip
print_area
print_clipprint_scalingduplexpick_tray_by_pdfsizeprint_pagerange
num_copiesenforcer   __new__)r=   r>   rM   rQ   rW   r\   s         r   rs   zViewerPreferences.__new__[   s   	 	h}.E 	( 			9	/7
/C			s 	Xk-B 	x 		s 	Xc] 	x 	 *.%@).%@*?EB'e<*?EB-.@%H&4$@z"'
#
 '66*Jv,>
 '{B=&{B='b$?'b$?*?BE#RTX

 $22F#M +,=tD&|T:#J>'',,r$   r   )__name__
__module____qualname__r   r   r   r^   r   r"   boolr(   r   r*   r   r/   r   r	   r1   r   r5   r7   r_   r9   rK   r<   rs   __classcell__)r   s   @r   r   r   )   sW   H%56 $ &S &8M+B &} &9S 9T 9d 9&S &8J+? &HZDX &.S .tCy .Z .D .PC P(49*= P, P	"C 	"H[$9 	"d 	"&C &(<*@ &\ &0C 0C 0D 0 +z + +I-S I- I-0C I-r$   r   N)typingr   r   r   _baser   r   r	   r
   _data_structuresr   r   r`   r    r$   r   <module>r}      s4   :  L K ;e{-( {-r$   