
    ddb                     \    d dl mZmZmZmZ d dlmZmZ dZdZ	dZ
 G d de          Zd Zd	S )
    )Element
SubElementtostring
fromstring)column_index_from_stringcoordinate_to_tuplezurn:schemas-microsoft-com:vmlz'urn:schemas-microsoft-com:office:officez&urn:schemas-microsoft-com:office:excelc                   2    e Zd ZdZdZdZd Zd Zd Zd Z	dS )ShapeWriterz!
    Create VML for comments
    Nc                     || _         d S )N)comments)selfr   s     >lib/python3.11/site-packages/openpyxl/comments/shape_writer.py__init__zShapeWriter.__init__   s         c                 h   t          |dt          z  dt          z  di          }t          |dt          z  dt          z  dddi           t          |dt          z  dd	d
ddt          z  dddi          }t          |dt          z  ddi           t          |dt          z  dddt          z  di           d S )Nz{%s}shapelayoutz{%s}exteditz	{%s}idmapdata1z{%s}shapetypeid_x0000_t202	coordsizez21600,21600z{%s}spt202pathzm,l,21600r21600,l21600,xez
{%s}stroke	joinstylemiter{%s}pathgradientshapeokt{%s}connecttyperect)r   officensvmlns)r   rootshape_layout
shape_types       r   add_comment_shapetypez!ShapeWriter.add_comment_shapetype!   s    !$(9H(D#,u#4f"=? ?<)%vvs;	= 	= 	=   /% 7!%}!,m!*X!5u!')D!FG G
 	:|e3k75KLLL:%%s%0&:	; 	; 	; 	; 	;r   c                     t          |          \  }}|dz  }|dz  }t          ||||          }|                    dd|z             |                    |           d S )N   r   z_x0000_s%04d)r   _shape_factorysetappend)	r   r#   idxcoordheightwidthrowcolshapes	            r   add_comment_shapezShapeWriter.add_comment_shape4   si    &u--SqqsC77		$,---Er   c                    t          |d          st          d          }|                    dt          z            }|D ]}|                    |           |                    dt          z            }|s|                     |           t          | j        d          D ]+\  }\  }}| 	                    ||||j
        |j                   ,t          |          S )Nfindallxmlz{%s}shape[@type='#_x0000_t202']z {%s}shapetype[@id='_x0000_t202']i  )hasattrr   r5   r"   removefindr&   	enumerater   r3   r.   r/   r   )r   r#   r   cshape_typesr,   r-   comments           r   writezShapeWriter.write>   s    tY'' 	"5>>D << AE IJJ 	 	AKKNNNN ii BU JKK 	-&&t,,,%.t}d%C%C 	T 	T!C!%""4eW^W]SSSS~~r   )
__name__
__module____qualname____doc__vmlvml_pathr   r&   r3   r>    r   r   r
   r
      sf          CH! ! !; ; ;&      r   r
   c                    d                     ||          }ddd|dddt          z  d	i}t          d
t          z  |          }t	          |dt          z  ddi           t	          |dt          z  ddd           t	          |dt          z  dt          z  di           t	          |dt          z  ddi          }t	          |dddi           t	          |dt
          z  ddi          }t	          |dt
          z             t	          |dt
          z             dt	          |dt
          z            _        t          |           t	          |dt
          z            _        t          |          t	          |d t
          z            _        |S )!Nzuposition:absolute; margin-left:59.25pt;margin-top:1.5pt;width:{width}px;height:{height}px;z-index:1;visibility:hidden)r.   r/   typez#_x0000_t202style	fillcolorz#ffffe1z{%s}insetmodeautoz	{%s}shapez{%s}fillcolor2z
{%s}shadowblackr   )colorobscuredr   r   nonez{%s}textboxzmso-direction-alt:autodivztext-align:leftz{%s}ClientData
ObjectTypeNotez{%s}MoveWithCellsz{%s}SizeWithCellsFalsez{%s}AutoFillz{%s}Rowz
{%s}Column)formatr!   r   r"   r   excelnstextstr)	r0   columnr.   r/   rH   attrsr2   textboxclient_datas	            r   r)   r)   S   s   ! #)&/4 #) #6 #6 
 	Y("F	E K%'//Euj5()$& & &ulU* c224 4 4uj5(!H,f57 7 7 5!#;<> >Gw):;<<<U$4w$>*F35 5K{/'9:::{/'9:::=DJ{NW455:8;CJ{I/005;>v;;J{L72338Lr   N)openpyxl.xml.functionsr   r   r   r   openpyxl.utilsr   r   r"   r!   rU   objectr
   r)   rE   r   r   <module>r_      s                     
 	(4
2< < < < <& < < <~! ! ! ! !r   