§
    ÷¢±j  ã                  óú   — U d dl mZ d dlZd dlmZ ddlmZmZ i Zde	d<   d„ Z
i Zde	d	<   d
„ Zi Zde	d<   dd„Zd„ Zdd„Zeej        eej        eej        eej         ed¦  «        ej        eej        iZd„ Zd„ ZdS )é    )ÚannotationsN)ÚTimeTypeé   )ÚmapiÚmapitagszdict[int, str]ÚprTablec                ó   — t           sàt          j                             ¦   «         D ]Á\  }}|d d…         dk    r®t          j        |¦  «        t          j        k    s"t          j        |¦  «        t          j        k    rD|dd …         dk    s|dd …         dk    r|t           |<   Œ~|t           t          j        |¦  «        <   Œ›|t           |<   |t           t          j        |¦  «        <   ŒÂ	 	 t           |          S # t          $ r" t           t          j        | ¦  «                 cY S w xY w# t          $ rM t          t          | ¦  «        ¦  «        }|d         dk    r
|dd …         }|d	         d
k    r
|d d	…         }|cY S w xY w)Né   ÚPR_éþÿÿÿÚ_AÚ_Wr   ú-r   éÿÿÿÿÚL)r   r   Ú__dict__ÚitemsÚ	PROP_TYPEÚ
PT_UNICODEÚ
PT_STRING8ÚPROP_IDÚKeyErrorÚhexÚint)ÚptÚnameÚvalueÚrets       úeC:\Users\johnn\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32comext/mapi/mapiutil.pyÚGetPropTagNamer       s”  € Ýð <Ý#Ô,×2Ò2Ñ4Ô4ð 	<ð 	<‰KˆD�%Ø�B�Q�BŒx˜5Ò Ð õ" Ô& uÑ-Ô-µÔ1DÒDÐDÝÔ)¨%Ñ0Ô0µHÔ4GÒGÐGà˜B˜C˜C”y DÒ(Ð(¨D°°°¬I¸Ò,=Ð,=Ø)-� ™˜à;?�¥Ô 0°Ñ 7Ô 7Ñ8Ð8ð &*•G˜E‘NØ7;•G�HÔ,¨UÑ3Ô3Ñ4øðð	1Ý˜2”;ÐøÝð 	1ð 	1ð 	1å�8Ô+¨BÑ/Ô/Ô0Ð0Ð0Ð0ð	1øøøøõ ð 	ð 	ð 	õ •#�b‘'”'‰lŒlˆàˆqŒ6�SŠ=ˆ=Ø�a�b�b”'ˆCØˆrŒ7�cŠ>ˆ>Ø�c�r�c”(ˆCØˆ
ˆ
ˆ
ð	øøøs+   Ã*C7 Ã7)D#Ä D& Ä"D#Ä#D& Ä&AE=Å<E=ÚmapiErrorTablec                óÞ   — t           s:t          j                             ¦   «         D ]\  }}|d d…         dv r
|t           |<   Œt                                | t          j        | ¦  «        ¦  «        S )Né   )ÚMAPI_E_ÚMAPI_W_)r!   r   r   r   ÚgetÚ	pythoncomÚGetScodeString)Úhrr   r   s      r   r(   r(   A   sk   € Ýð -Ýœ=×.Ò.Ñ0Ô0ð 	-ð 	-‰KˆD�%Ø�B�Q�BŒxÐ1Ð1Ð1Ø(,•˜uÑ%øÝ×Ò˜b¥)Ô":¸2Ñ">Ô">Ñ?Ô?Ð?ó    ÚptTableTc                ó   — t           sAt          j                             ¦   «         D ]"\  }}|dd…         dk    r|dv rŒ|t           |<   Œ#|r| t          j         z  } t                                | t          t          | ¦  «        ¦  «        ¦  «        S )z?Given a mapi type flag, return a string description of the typeNr
   ÚPT_)Ú
PT_TSTRINGÚPT_MV_TSTRING)r+   r   r   r   ÚMV_FLAGr&   Ústrr   )ÚpropTypeÚrawTyper   r   s       r   ÚGetMapiTypeNamer4   L   s”   € åð &Ý#Ô,×2Ò2Ñ4Ô4ð 	&ð 	&‰KˆD�%Ø�B�Q�BŒx˜5Ò Ð ð Ð:Ð:Ð:ØØ!%•˜‘øàð &Ø•XÔ%Ð%Ñ%ˆÝ�;Š;�x¥¥S¨¡]¤]Ñ!3Ô!3Ñ4Ô4Ð4r*   c                óä  — d}t          |t          t          f¦  «        sd}|f}g }g }|D ]ˆ}t          |t          ¦  «        s\t          j        |ff}|                      |d¦  «        }t          j        t          j	        t          j
        |d         ¦  «        ¦  «        }|                     |¦  «         Œ‰|                      |d¦  «        \  }}	|dk    rd}	dS |rd„ |	D ¦   «         S |	d         d         S )as  Given a MAPI object and a list of properties, return a list of property values.

    Allows a single property to be passed, and the result is a single object.

    Each request property can be an integer or a string.  Of a string, it is
    automatically converted to an integer via the GetIdsFromNames function.

    If the property fetch fails, the result is None.
    r   r   Nc                ó   — g | ]
}|d          ‘ŒS )r   © )Ú.0Úvs     r   ú
<listcomp>z!GetProperties.<locals>.<listcomp>{   s   € Ð#Ð#Ð#˜��!”Ð#Ð#Ð#r*   )Ú
isinstanceÚtupleÚlistr   r   ÚPS_PUBLIC_STRINGSÚGetIDsFromNamesr   ÚPROP_TAGÚPT_UNSPECIFIEDr   ÚappendÚGetProps)
ÚobjÚpropListÚbRetListÚrealPropListÚrcÚpropÚpropsÚpropIdsr)   Údatas
             r   ÚGetPropertiesrM   ]   s  € ð €HÝ�h¥­ Ñ.Ô.ð ØˆØ�;ˆØ€LØ	€BØð "ð "ˆÝ˜$¥Ñ$Ô$ð 	ÝÔ,¨dÐ3Ð5ˆEØ×)Ò)¨%°Ñ3Ô3ˆGÝÔ$ÝÔ'­Ô)9¸'À!¼*Ñ)EÔ)Eñô ˆDð 	×Ò˜DÑ!Ô!Ð!Ð!à�|Š|˜L¨!Ñ,Ô,�H€BˆØ	ˆQ‚w€wØˆØˆtØð Ø#Ð#˜dÐ#Ñ#Ô#Ð#à�AŒw�qŒzÐr*   c                ó^  — |                       d¦  «        }|                      |¦  «        \  }}g }|D ]z\  }}|rZ|                      |f¦  «        \  }}}t          |d         d         t          ¦  «        r|d         d         }	nt          |¦  «        }	n|}	|                     |	|f¦  «         Œ{|S )Nr   r   )ÚGetPropListrC   ÚGetNamesFromIDsr;   r1   r    rB   )
rD   Úmake_tag_namesÚtagsr)   rL   r   ÚtagÚvalÚarrayr   s
             r   ÚGetAllPropertiesrV   €   s¾   € Ø�?Š?˜1ÑÔ€DØ�|Š|˜DÑ!Ô!�H€BˆØ
€CØð 	 ð 	 ‰ˆˆSØð 	Ø!×1Ò1°3°&Ñ9Ô9‰OˆB��eÝ˜% œ( 1œ+¥sÑ+Ô+ð +Ø˜Q”x ”{��å% cÑ*Ô*��àˆDØ�
Š
�D˜#�;ÑÔÐÐØ€Jr*   c                ó  — t          |t          ¦  «        sÁt          j        |ff}|                      |t          j        ¦  «        }|dk    s|dk    rt          j        }nLt           	                    t          |¦  «        ¦  «        }|€#t          d|›dt          |¦  «        › d�¦  «        ‚t          j        |t          j        |d         ¦  «        ¦  «        }|€|                      |f¦  «         d S |                      ||ff¦  «         d S )NTFzDon't know what to do with 'z' ('z')r   )r;   r   r   r>   r?   ÚMAPI_CREATEr   Ú
PT_BOOLEANÚ_MapiTypeMapr&   ÚtypeÚ
ValueErrorr@   r   ÚDeletePropsÚSetProps)rD   rI   rT   rJ   rK   Útype_tags         r   ÚSetPropertyValuer`   ›   s  € Ý�d�CÑ Ô ð IÝÔ(¨$Ð/Ð1ˆØ×%Ò% e­TÔ-=Ñ>Ô>ˆØ�$Š;ˆ;˜# š,˜,ÝÔ*ˆHˆHå#×'Ò'­¨S©	¬	Ñ2Ô2ˆHØÐÝ ØK°3ÐKÐK½dÀ3¹i¼iÐKÐKÐKñô ð õ Ô  ­8Ô+;¸GÀA¼JÑ+GÔ+GÑHÔHˆØ
€{à�Š˜˜Ñ Ô Ð Ð Ð à�Š�t˜S�k�^Ñ$Ô$Ð$Ð$Ð$r*   c           	     ó"  — g }|                      ¦   «         D ];\  }}t          |t          ¦  «        r!|                     t          j        |f¦  «         Œ<|r |                      |t          j        ¦  «        }d}g }|                      ¦   «         D ]ì\  }}t          |t          ¦  «        r»t          |t          ¦  «        rt          j	        }ngt          |t          ¦  «        rt          j        }nEt          |t          ¦  «        rt          j        }n#t          d|›dt          |¦  «        › d�¦  «        ‚t          j        |t          j        ||         ¦  «        ¦  «        }|dz  }|                     ||f¦  «         Œí|                      |¦  «         dS )a_  Given a Python dictionary, set the objects properties.

    If the dictionary key is a string, then a property ID is queried
    otherwise the ID is assumed native.

    Coded for maximum efficiency wrt server calls - ie, maximum of
    2 calls made to the object, regardless of the dictionary contents
    (only 1 if dictionary full of int keys)
    r   zThe type of object ú(z) can not be writtenr   N)r   r;   r1   rB   r   r>   r?   rX   r   r   r   ÚPT_I4r   Ú
PT_SYSTIMEr\   r[   r@   r   r^   )ÚmsgÚpropDictÚnewPropsÚkeyrT   ÚnewIdsÚnewIdNoÚtagTypes           r   ÚSetPropertiesrl   ¯   s‹  € ð €Hà—N’NÑ$Ô$ð ;ð ;‰ˆˆSÝ�c�3ÑÔð 	;Ø�OŠO�TÔ3°SÐ9Ñ:Ô:Ð:øàð AØ×$Ò$ X­tÔ/?Ñ@Ô@ˆØ€GØ€HØ—N’NÑ$Ô$ð $ð $‰ˆˆSÝ�c�3ÑÔð 	Ý˜#�sÑ#Ô#ð 	Ý"Ô-��Ý˜C¥Ñ%Ô%ð Ý"œ.��Ý˜C¥Ñ*Ô*ð Ý"Ô-��å ØQ¨#ÐQÐQµ$°s±)´)ÐQÐQÐQñô ð õ Ô# G­XÔ-=¸fÀW¼oÑ-NÔ-NÑOÔOˆCØ�q‰LˆGØ�Š˜˜c˜
Ñ#Ô#Ð#Ð#Ø‡L‚L�ÑÔÐÐÐr*   )T) Ú
__future__r   r'   Ú
pywintypesr   Ú r   r   r   Ú__annotations__r    r!   r(   r+   r4   rM   rV   ÚfloatÚ	PT_DOUBLEr   rc   Úbytesr   r1   r   r[   rA   ÚboolrY   rZ   r`   rl   r7   r*   r   ú<module>ru      sI  ðà "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ð Ð à€Ð Ð Ð Ñ ð/ð /ð /ðd "$€Ð #Ð #Ð #Ñ #ð@ð @ð @ð €Ð Ð Ð Ñ ð5ð 5ð 5ð 5ð" ð  ð  ðFð ð ð ð$ 
ˆ8ÔØˆŒØ	ˆ8ÔØˆÔ	Ø€Dˆ�J„J�Ô'Øˆ(Ô
ð€ð%ð %ð %ð($ð $ð $ð $ð $r*   