Ë
    ¤2Úi­"  ã                   ó  — d dl m Z  d dlmZ d dlmZmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ  G d
„ dee«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    )Úcopy)Úsafe_string)Úget_column_intervalÚcolumn_index_from_stringÚrange_boundaries)ÚDEFAULT_COLUMN_WIDTH)ÚIntegerÚFloatÚBoolÚStrictÚStringÚAlias)ÚSerialisable)ÚStyleableObject)ÚBoundDictionary)ÚElementc                   ó’   ‡ — e Zd ZdZdZ e«       Z e«       Z ed¬«      Z	 e
d«      Z e«       Z e
d«      Z	 d
ˆ fd„	Zd„ Zd	„ Zˆ xZS )Ú	Dimensionz<Information about the display properties of a row or column.)ÚhiddenÚoutlineLevelÚ	collapsedT©Ú
allow_noner   Ústyle_idc                 óh   •— t         t        | �  ||¬«       || _        || _        || _        || _        y )N)ÚsheetÚstyle_array)Úsuperr   Ú__init__Úindexr   r   r   )	Úselfr    r   r   r   Ú	worksheetÚvisibleÚstyleÚ	__class__s	           €úT/var/www/html/acx/venv/lib/python3.12/site-packages/openpyxl/worksheet/dimensions.pyr   zDimension.__init__(   s4   ø€ äŒi˜Ñ'¨iÀUÐ'ÔKØˆŒ
ØˆŒØ(ˆÔØ"ˆ�ó    c              #   ól   K  — | j                   D ]!  }t        | |d «      }|sŒ|t        |«      f–— Œ# y ­w©N)Ú
__fields__Úgetattrr   )r!   ÚkeyÚvalues      r&   Ú__iter__zDimension.__iter__1   s:   è ø€ Ø—?‘?ò 	.ˆCÜ˜D # tÓ,ˆEÚØœ; uÓ-Ð-Ó-ñ	.ùs   ‚4¢4c                 óÊ   — | j                  | j                  «      }| j                  }| j                  |d<    |j                  di |¤Ž t        | j                  «      |_        |S )Nr"   © )Ú__new__r%   Ú__dict__Úparentr   r   Ú_style)r!   ÚcpÚattribs      r&   Ú__copy__zDimension.__copy__8   sQ   € Ø�\‰\˜$Ÿ.™.Ó)ˆØ—‘ˆØ"Ÿk™kˆˆ{ÑØˆ�‰Ñ�fÒÜ˜Ÿ™Ó%ˆŒ	Øˆ	r'   )TN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r*   r	   r    r   r   r   r   Úoutline_levelr   r$   r   r.   r7   Ú__classcell__©r%   s   @r&   r   r      sW   ø„ ÙFð€Jñ ‹I€EÙ‹V€FÙ dÔ+€LÙ˜.Ó)€MÙ“€IÙ�*Ó€Eð <@õ#ò.ör'   r   c                   óÞ   ‡ — e Zd ZdZej
                  dz   Z ed«      Z ed«      Z e	d¬«      Z
 ed«      Z e«       Z e«       Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„	Zed	„ «       Zed
„ «       Zˆ xZS )ÚRowDimensionz2Information about the display properties of a row.)ÚhtÚcustomFormatÚcustomHeightÚsÚthickBotÚthickTopr    r   Tr   rA   c                 ó„   •— |�|}|�|}|| _         |�| }|	�|	}|| _        || _        t        t        | �  ||||
||¬«       y ©N)r$   )rA   rE   rF   r   r@   r   )r!   r"   r    rA   rC   rD   rB   r   r   r<   r   r#   ÚheightÚrÚspansrE   rF   Úkwr%   s                     €r&   r   zRowDimension.__init__M   si   ø€ ð& ˆ=ØˆEØÐØˆBØˆŒØÐØ �[ˆFØÐ$Ø(ˆLØ ˆŒØ ˆŒÜŒl˜DÑ*¨5°&¸,Ø+4°iÀqð 	+õ 	Jr'   c                 ó   — | j                   S )z+Always true if there is a style for the row)Ú	has_style©r!   s    r&   rB   zRowDimension.customFormatn   s   € ð �~‰~Ðr'   c                 ó   — | j                   duS )z,Always true if there is a height for the rowN)rA   rO   s    r&   rC   zRowDimension.customHeights   s   € ð �w‰w˜dÐ"Ð"r'   )r   NNNNFr   NFNNNNNN)r8   r9   r:   r;   r   r*   r   rJ   rD   r
   rA   rI   r   rE   rF   r   ÚpropertyrB   rC   r=   r>   s   @r&   r@   r@   A   s¯   ø„ Ù<à×%Ñ%ð )Añ A€Jáˆg‹€AÙˆjÓ€AÙ	˜$Ô	€BÙ�4‹[€FÙ‹v€HÙ‹v€Hð ØØ"ØØ"ØØØ#Ø ØØØØØØõ!JðB ñó ðð ñ#ó ô#r'   r@   c                   óä   ‡ — e Zd ZdZ e«       Z e«       Z ed«      Z	 e
«       Z ed¬«      Z ed¬«      Z e«       Zej"                  dz   Zdedddd	dd	d	d	dd	d	fˆ fd
„	Zed„ «       Zd„ Zd„ Zˆ xZS )ÚColumnDimensionz5Information about the display properties of a column.ÚbestFitTr   )ÚwidthrT   ÚcustomWidthr$   ÚminÚmaxÚAFr   Nc                 ó˜   •— || _         |
| _        || _        |�| }|�|}|| _        |�|}|| _        t
        t        | �  ||||||	¬«       y rH   )rU   rW   rX   rT   r   r   rS   r   )r!   r"   r    rU   rT   r   r   r<   r   r$   rW   rX   rV   r#   Ú	auto_sizer%   s                  €r&   r   zColumnDimension.__init__‡   sm   ø€ ð ˆŒ
ØˆŒØˆŒØÐØ �[ˆFØÐ ØˆGØˆŒØÐ$Ø(ˆLØ"ˆŒÜŒo˜tÑ-¨e°V¸\Ø.7¸È%ð 	.õ 	Qr'   c                 ó,   — t        | j                  «      S )z.Always true if there is a width for the column)ÚboolrU   rO   s    r&   rV   zColumnDimension.customWidth¥   s   € ô �D—J‘JÓÐr'   c                 óŠ   — t        | j                  | j                  g«      s"t        | j                  «      x| _        | _        yy)z6
        Set boundaries for column definition
        N)ÚallrW   rX   r   r    rO   s    r&   ÚreindexzColumnDimension.reindex«   s5   € ô �D—H‘H˜dŸh™hÐ'Ô(Ü":¸4¿:¹:Ó"FÐFˆDŒH�t•xð )r'   c                 óZ   — t        | «      }|j                  «       ddhk7  rt        di |¤ŽS y )NrW   rX   )Úcol)ÚdictÚkeysr   )r!   Úattrss     r&   Úto_treezColumnDimension.to_tree³   s0   € Ü�T“
ˆØ�:‰:‹<˜E 5˜>Ò)ÜÑ* EÑ*Ð*ð *r'   )r8   r9   r:   r;   r
   rU   r   rT   r   r[   r   r    r	   rW   rX   r   r   r*   r   r   rQ   rV   r`   rf   r=   r>   s   @r&   rS   rS   y   s£   ø„ Ù?á‹G€EÙ‹f€GÙ�iÓ €IÙ‹H€EÙ
˜TÔ
"€CÙ
˜TÔ
"€CÙ“€Ià×%Ñ%ð )7ñ 7€Jð
 Ø+ØØØØ#Ø ØØØØ"ØØõQð< ñ ó ð ò
Gö+r'   rS   c                   ó2   ‡ — e Zd ZdZdˆ fd„	Zdd„Zd„ Zˆ xZS )ÚDimensionHolderz%
    Allow columns to be grouped
    c                 óX   •— || _         d | _        || _        t        t        | �  ||«       y r)   )r"   Úmax_outlineÚdefault_factoryr   rh   r   )r!   r"   Ú	referencerk   r%   s       €r&   r   zDimensionHolder.__init__¾   s+   ø€ Ø"ˆŒØˆÔØ.ˆÔÜŒo˜tÑ-¨i¸ÕIr'   c                 óž  — |€|}t        | j                  «       t        «      rQ| |   }||_        ||_        t        ||«      dd }|D ]
  }|| v sŒ| |= Œ t        t        ||f«      \  |_        |_	        yt        | j                  «       t        «      r<t        ||dz   «      D ])  }| j                  j                  |   }||_        ||_        Œ+ yy)aT  allow grouping a range of consecutive rows or columns together

        :param start: first row or column to be grouped (mandatory)
        :param end: last row or column to be grouped (optional, default to start)
        :param outline_level: outline level
        :param hidden: should the group be hidden on workbook open or not
        Né   )Ú
isinstancerk   rS   r<   r   r   Úmapr   rW   rX   r@   Úranger"   Úrow_dimensions)	r!   ÚstartÚendr<   r   Únew_dimÚwork_sequenceÚcolumn_letterÚels	            r&   ÚgroupzDimensionHolder.groupÅ   sÜ   € ð ˆ;ØˆCä�d×*Ñ*Ó,¬oÔ>Ø˜5‘kˆGØ$1ˆGÔ!Ø#ˆGŒNÜ/°°sÓ;¸A¸BÐ?ˆMØ!.ò ,�Ø  DÒ(Ø˜]Ñ+ð,ô (+Ô+CÀeÈSÀ\Ó'RÑ$ˆGŒK˜�Ü˜×,Ñ,Ó.´Ô=Ü˜E 3¨¡7Ó+ò (�ØŸ.™.×7Ñ7¸Ñ;�Ø(5�Ô%Ø!'�•ñ(ð >r'   c                 ó0  — d„ }t        d«      }t        «       }t        | j                  «       |¬«      D ]A  }|j	                  «       }|€Œ|j                  |j                  «       |j                  |«       ŒC |rt        |«      | _	        t        |«      r|S y )Nc                 ó:   — | j                  «        | j                  S r)   )r`   rW   )r-   s    r&   Úsorterz'DimensionHolder.to_tree.<locals>.sorterâ   s   € Ø�M‰MŒOØ—9‘9Ðr'   Úcols)r,   )r   ÚsetÚsortedÚvaluesrf   Úaddr   ÚappendrX   rj   Úlen)r!   r|   rx   Úoutlinesrb   Úobjs         r&   rf   zDimensionHolder.to_treeà   s„   € ò	ô �V‹_ˆÜ“5ˆä˜$Ÿ+™+›-¨VÔ4ò 	ˆCØ—+‘+“-ˆCØ‰Ø—‘˜S×-Ñ-Ô.Ø—	‘	˜#•ð		ñ Ü" 8›}ˆDÔäˆrŒ7ØˆIð r'   )r    N)Nrn   F)r8   r9   r:   r;   r   ry   rf   r=   r>   s   @r&   rh   rh   ¹   s   ø„ ñõJó(ö6r'   rh   c                   óÈ   — e Zd ZdZ ed¬«      Z ed¬«      Z e«       Z e	d¬«      Z
 e	d¬«      Z e	d¬«      Z e	d¬«      Z ed¬«      Z ed¬«      Z	 	 	 	 	 	 	 	 	 dd„Zy)ÚSheetFormatPropertiesÚsheetFormatPrTr   Nc
                 ó‚   — || _         || _        || _        || _        || _        || _        || _        || _        |	| _        y r)   )	ÚbaseColWidthÚdefaultColWidthÚdefaultRowHeightrC   Ú
zeroHeightrF   ÚthickBottomÚoutlineLevelRowÚoutlineLevelCol)
r!   rŠ   r‹   rŒ   rC   r�   rF   rŽ   r�   r�   s
             r&   r   zSheetFormatProperties.__init__  sJ   € ð )ˆÔØ.ˆÔØ 0ˆÔØ(ˆÔØ$ˆŒØ ˆŒØ&ˆÔØ.ˆÔØ.ˆÕr'   )	é   Né   NNNNNN)r8   r9   r:   Útagnamer	   rŠ   r
   r‹   rŒ   r   rC   r�   rF   rŽ   r�   r�   r   r0   r'   r&   r‡   r‡   ö   s�   „ à€Gá dÔ+€LÙ tÔ,€OÙ“wÐÙ 4Ô(€LÙ Ô&€JÙ˜tÔ$€HÙ $Ô'€KÙ¨Ô.€OÙ¨Ô.€Oð  Ø!%Ø"$Ø"Ø ØØ!Ø!%Ø!%ô/r'   r‡   c                   ó8   — e Zd ZdZ e«       Z	 dd„Zed„ «       Zy)ÚSheetDimensionÚ	dimensionNc                 ó   — || _         y r)   )Úref)r!   r˜   s     r&   r   zSheetDimension.__init__   s   € ð ˆ�r'   c                 ó,   — t        | j                  «      S r)   )r   r˜   rO   s    r&   Ú
boundarieszSheetDimension.boundaries&  s   € ä §¡Ó)Ð)r'   r)   )	r8   r9   r:   r“   r   r˜   r   rQ   rš   r0   r'   r&   r•   r•     s,   „ à€Gá
‹(€Cð óð ñ*ó ñ*r'   r•   N)r   Úopenpyxl.compatr   Úopenpyxl.utilsr   r   r   Úopenpyxl.utils.unitsr   Úopenpyxl.descriptorsr	   r
   r   r   r   r   Ú!openpyxl.descriptors.serialisabler   Úopenpyxl.styles.styleabler   Úopenpyxl.utils.bound_dictionaryr   Úopenpyxl.xml.functionsr   r   r@   rS   rh   r‡   r•   r0   r'   r&   ú<module>r£      sƒ   ðõ å '÷ñ õ
 6÷÷ õ ;Ý 5Ý ;Ý *ô$�˜ô $ôN5#�9ô 5#ôp=+�iô =+ô@:�oô :ôz!/˜Lô !/ôH*�\õ *r'   