
    	h                     l    S SK JrJrJrJr  S SKJr  S SKJr  S SK	J
r
   " S S5      r " S S\\5      rg	)
    )BoolStringAliasInteger)Serialisable)Base64Binary)hash_passwordc                   V    \ rS rSrSrSS jr\S 5       r\R                  S 5       rSr	g)
_Protected   Nc                 4    U(       d  [        U5      nXl        g)zSet a password on this sheet.N)r	   	_password)selfvaluealready_hasheds      O/var/www/html/env/lib/python3.13/site-packages/openpyxl/worksheet/protection.pyset_password_Protected.set_password   s    !%(E    c                     U R                   $ )z.Return the password value, regardless of hash.r   r   s    r   password_Protected.password   s     ~~r   c                 &    U R                  U5        g)z-Set a password directly, forcing a hash step.N)r   )r   r   s     r   r   r      s     	% r   r    F)
__name__
__module____qualname____firstlineno__r   r   propertyr   setter__static_attributes__ r   r   r   r      s8    I   __! !r   r   c                     ^  \ rS rSrSrSr\" 5       r\" S5      r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" SS9r\" SS9r\" SS9r\" SS9rSr       SS jr!SU 4S	 jjr"S
 r#S r$S r%Sr&U =r'$ )SheetProtection$   z
Information about protection of various aspects of a sheet. True values
mean that protection for the object or action is active This is the
**default** when protection is active, ie. users cannot do something
sheetProtectionsheetT)
allow_none)selectLockedCellsselectUnlockedCellsalgorithmNamer*   objects
insertRowsinsertHyperlinks
autoFilter	scenariosformatColumnsdeleteColumnsinsertColumnspivotTables
deleteRowsformatCells	saltValue
formatRowssort	spinCountr   	hashValuec                    Xl         X l        X0l        X@l        X`l        XPl        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        Xl        UU l        Ub  UU l        UU l        UU l        UU l        UU l        g N)r*   r/   r3   r9   r4   r;   r6   r0   r1   r5   r8   r,   r-   r<   r2   r7   r   r.   r:   r=   r>   )r   r*   r/   r3   r9   r;   r4   r6   r0   r1   r5   r8   r,   r-   r<   r2   r7   r   r.   r:   r=   r>   s                         r   __init__SheetProtection.__init__K   s     
"&*$*$ 0*$!2#6 	$&$DM*"""r   c                 D   > [         TU ]  X5        U R                  5         g r@   )superr   enable)r   r   r   	__class__s      r   r   SheetProtection.set_passwordi   s    U3r   c                     SU l         g )NTr*   r   s    r   rE   SheetProtection.enablen   s	    
r   c                     SU l         g )NFrI   r   s    r   disableSheetProtection.disabler   s	    
r   c                     U R                   $ r@   rI   r   s    r   __bool__SheetProtection.__bool__v   s    zzr   )r.   r2   r5   r8   r9   r4   r;   r>   r6   r1   r0   r/   r   r7   r:   r3   r,   r-   r*   r<   r=   )FFFTTTTTTTTFFTTTNNNNNr   )(r   r   r    r!   __doc__tagnamer   r*   r   enabledr/   r3   r9   r4   r;   r6   r0   r1   r5   r8   r,   r-   r<   r2   r7   r   r:   r   r=   r   r.   r>   	__attrs__rA   r   rE   rL   rO   r$   __classcell__)rF   s   @r   r'   r'   $   s      GFEGnGfGI&KFMJFMJvFMJ&6DJ&K-I4(Id+M-I<I >CBFGKHMTX^b#<
 r   r'   N)openpyxl.descriptorsr   r   r   r   !openpyxl.descriptors.serialisabler   openpyxl.descriptors.excelr   openpyxl.utils.protectionr	   r   r'   r%   r   r   <module>rZ      s8     ; 4! !(SlJ Sr   