§
    C! hHU ã                  ó°  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
mZ d dlmZ d dlmZmZ d dlmZmZmZmZ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% ddl&m'Z' ddl(m)Z)m*Z* ddlm+Z+ dZ,e,rddl&m-Z-m.Z.  ej/        e0¦  «        Z1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@dZAd ZBd!ZCd"ZDd#ZEd$ZFd%ZGd&ZHd'ZId(ZJd)ZKd*ZLd+ZMd,ZNd-ZOd.ZPd/ZQd0ZRd1ZSd2ZTd3ZUd4ZVd5ZWd6ZXd7ZYd8ZZd9Z[d:Z\d;Z]d<Z^d=Z_i dd>“d?d@“dAdB“dCdD“dEdF“dGdH“dIdJ“dKdL“dMdN“dOdP“dQdR“dSdT“dUdV“dWdX“dYdZ“d[d\“d]d^“Z`d_„ e` a                    ¦   «         D ¦   «         Zbi e5d d`dd`dafdb“e6d d`dd`dafdb“e5d d`d?d`dafdc“e6d d`d?d`dafdc“e5dd`dd`dafdd“e6dd`dd`dafdd“e5dd`d?d`dafde“e6dd`d?d`dafde“e5d d`ddfdafdg“e6d d`ddfdafdg“e5d d`d?dfdafdh“e6d d`d?dfdafdh“e5dd`ddfdafdi“e6dd`ddfdafdi“e5dd`d?dfdafdj“e6dd`d?dfdafdj“e5d d`ddkdafdl“i e6d d`ddkdafdl“e5d d`d?dkdafdm“e6d d`d?dkdafdm“e5dd`ddkdafdn“e6dd`ddkdafdn“e5dd`d?dkdafdo“e6dd`d?dkdafdo“e5d d`ddpdafdq“e6d d`ddpdafdq“e5d d`d?dpdafdr“e6d d`d?dpdafdr“e5dd`ddpdafds“e6dd`ddpdafds“e5ddfddpdafds“e6ddfddpdafds“e5dd`d?dpdafdt“e6dd`d?dpdafdt“¥i e5dd`ddudafdv“e5d d`ddwdafdx“e5dd`ddwdafdx“e6dd`ddwdafdy“e5dd`d?dwdafdz“e5ddfddwdafd{“e6ddfddwdafd|“e5d d}dd~dafd“e6d d}dd~dafd€“e5dd`dd~dafd�“e5ddfdd~dafd‚“e6ddfdd~dafdƒ“e5dd}dd~dafd“e6dd}dd~dafd€“e5dd`dd„dffd…“e6dd`dd„dffd…“e5d?d`dd†dafd‡“¥i e6d?d`dd†dafd‡“e5d?d`d?d†dafdˆ“e6d?d`d?d†dafdˆ“e5d?d`dd‰dafdŠ“e6d?d`dd‰dafdŠ“e5d?d`dd‰d‹fdŒ“e6d?d`dd‰d‹fdŒ“e5d?d`dd�dŽfd�“e6d?d`dd�dŽfd�“e5d?d`dd�d‘fd’“e6d?d`dd�d‘fd’“e5d?d`dd‰d`fd““e6d?d`dd‰d`fd““e5d?d`dd�d”fd•“e6d?d`dd�d”fd•“e5d?d`dd�d–fd—“e6d?d`dd�d–fd—“¥i e5d?d`dd‰dffdŠ“e6d?d`dd‰dffdŠ“e5d?d`dd�d˜fd™“e6d?d`dd�d˜fd™“e5d?d`dd�dšfd›“e6d?d`dd�dšfd›“e5d?d`dd‰dœfdŠ“e6d?d`dd‰dœfdŠ“e5d?d`dd�dafdž“e6d?d`dd�dafdŸ“e5d?d`dd dafd¡“e6d?d`dd dafd¢“e5d?d`dd d‹fd£“e6d?d`dd d‹fd¤“e5d?d`dd d`fd¥“e6d?d`dd d`fd¦“e5d?d`dd dffd¡“¥i e6d?d`dd dffd¢“e5dAd`dd`dafd§“e6dAd`dd`dafd§“e5dAd`d?d`dafd¨“e6dAd`d?d`dafd¨“e5dAd`ddfdafd©“e6dAd`ddfdafd©“e5dAd`d?dfdafdª“e6dAd`d?dfdafdª“e5dAd`ddkdafd«“e6dAd`ddkdafd«“e5dAd`d?dkdafd¬“e6dAd`d?dkdafd¬“e5dAd`ddpdafd­“e6dAd`ddpdafd­“e5dAd`dd„d‹fd®“e5dAd`dd„dffd¯“¥i e6dAd`dd„dffd¯“e5dAd`d?dpdafd°“e6dAd`d?dpdafd°“e5dEd`dd‰dafd±“e6dEd`dd‰dafd±“e5dEd`dd�d‹fd²“e6dEd`dd�d‹fd²“e5dEd`dd�dŽfd³“e6dEd`dd�dŽfd³“e5dEd`dd dafd´“e6dEd`dd dafdµ“e5dGd`ddpdafds“e6dGd`ddpdafds“e5dGd`dd†dafdŒ“e6dGd`dd†dafdŒ“e5dKd`dd†dafd¶“e6dKd`dd†dafd¶“¥Zc edd·„ ecD ¦   «         ¦  «        Zeg d¸¢Zf egejh        d¹dº¦  «        s e%d»d¼¦  «         �ddÁ„Zi�ddÇ„Zj�ddÊ„Zki Zli Zm�ddÎ„Zn G dÏ„ dÈe¦  «        ZoedÐepeqgef         Zr�ddÔ„Zs�ddÖ„Zt�d	dÚ„Zue,reevef         ZwneZw G dÛ„ dÐew¦  «        Zxelex_l        emex_m         e+ja        ¦   «         D ]M\  ZyZzez {                    dÜdÝ¦  «        Zz e|exdÞez› �eley         d         ¦  «          e|exdßez› �emey         ¦  «         ŒN[l[m[y[z G dà„ dáex¦  «        Z}e}Z~ G dâ„ dãej        ¦  «        Zi dädäe5ddd`df“dådåe5dddpdf“dædæe5ddd„d?f“dçdçe5dAddpdf“dèdèe5dAdd„d?f“dédêe5dd?d~df“dëdëe5dddwdf“dìdìe5dddwdf“dídîe5ddAd~df“dïdïe5d?dd†df“dðdðe5d?dd‰d f“dñdñe5d?dd‰d?f“dòdòe5dEdd‰df“dódóe5dGdd†df“dôdôe5dKdd†df“dõdõe6dddwdf“Z€�d
dü„Z� G dý„ dþej‚        ¦  «        Zƒ�d
dÿ„Z„ ej…        ej†        eei¦  «          ej‡        ej†        e�¦  «          ejˆ        ej†        e„¦  «          ej‰        ej†        �d �dg¦  «          ejŠ        ej†        �d¦  «         dS (  é    )ÚannotationsN)ÚIteratorÚMutableMapping)ÚFraction)ÚNumberÚRational)ÚIOÚAnyÚCallableÚNoReturnÚcasté   )ÚExifTagsÚImageÚ	ImageFileÚImageOpsÚImagePaletteÚTiffTags)Úi16be)Úi32be©Úo8)Ú	deprecate)ÚStrOrBytesPath)ÚDeferredErrorÚis_path©ÚTYPESF)ÚBufferÚIntegralLikeé   s   IIs   MMéÿ   é   i  i  i  i  i
  i  é  i  i  i  i  i  i  i(  i-  i1  i2  i;  i=  i@  iB  iC  éD  iE  iJ  iR  iS  i[  i  i  i˜‚  i»ƒ  iI†  is‡  ii‡  i¼  i  i–Æ  i—Æ  Úrawé   Ú
tiff_ccitté   Úgroup3é   Úgroup4é   Útiff_lzwé   Ú	tiff_jpegé   Újpegé   Útiff_adobe_deflatei€  Útiff_raw_16i€  Úpackbitsi)€  Útiff_thunderscani²€  Útiff_deflateit‡  Útiff_sgilogiu‡  Útiff_sgilog24imˆ  ÚlzmaiPÃ  ÚzstdiQÃ  Úwebpc                ó   — i | ]\  }}||“Œ	S © r?   )Ú.0ÚkÚvs      úMc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\PIL/TiffImagePlugin.pyú
<dictcomp>rD   ”   s   € ÐBÐBÐB¡  A˜˜1ÐBÐBÐBó    ©r   r?   )Ú1z1;I)rG   z1;IR)rG   rG   )rG   z1;R)r'   )ÚLzL;2I)rH   zL;2IR)rH   zL;2)rH   zL;2R)r+   )rH   zL;4I)rH   zL;4IR)rH   zL;4)rH   zL;4R)r3   )rH   zL;I)rH   zL;IR)rH   rH   )rH   zL;R)é   )úI;16zI;12)é   )rJ   rJ   )úI;16BrL   )rJ   zI;16R)ÚIzI;16S)rM   zI;16BS)r)   )é    )ÚFúF;32F)rO   zF;32BF)rM   zI;32N)rM   úI;32S)rM   zI;32BS)r3   r3   )ÚLArR   )r3   r3   r3   )ÚRGBrS   )rS   zRGB;R)r3   r3   r3   r3   )ÚRGBArT   ©r   )rS   ÚRGBX)r3   r3   r3   r3   r3   ©r   r   )rS   ÚRGBXX)r3   r3   r3   r3   r3   r3   )r   r   r   )rS   ÚRGBXXX)rT   ÚRGBa)r   r   )rT   ÚRGBaX)r   r   r   )rT   ÚRGBaXX)r'   r   )rT   ÚRGBAX)r'   r   r   )rT   ÚRGBAXX)iç  )rK   rK   rK   )rS   zRGB;16L)rS   zRGB;16B)rK   rK   rK   rK   )rT   zRGBA;16L)rT   zRGBA;16B)rS   zRGBX;16L)rS   zRGBX;16B)rT   zRGBa;16L)rT   zRGBa;16B)ÚPzP;1)r_   zP;1R)r_   zP;2)r_   zP;2R)r_   zP;4)r_   zP;4R)r_   r_   )r_   ÚPX)ÚPAra   )r_   zP;R)ÚCMYKrb   )rb   ÚCMYKX)rb   ÚCMYKXX)rb   zCMYK;16L)rb   zCMYK;16B)ÚLABre   c              #  ó@   K  — | ]}t          |d          ¦  «        V — ŒdS )r+   N)Úlen)r@   Úkey_tps     rC   ú	<genexpr>ri     s,   è è € ÐAÐA¨V�#˜f Qœi™.œ.ÐAÐAÐAÐAÐAÐArE   )s   MM *s   II* s   MM* s   II *s   MM +s   II+ Úlibtiff_support_custom_tagsTz*Support for LibTIFF earlier than version 4rI   ÚprefixÚbytesÚreturnÚboolc                óP   — |                       t          t          ¦  «        ¦  «        S ©N)Ú
startswithÚtupleÚPREFIXES©rk   s    rC   Ú_acceptru   #  s   € Ø×Ò�U¥8™_œ_Ñ-Ô-Ð-rE   Úvalúfloat | Fraction | IFDRationalÚmax_valÚintú!tuple[IntegralLike, IntegralLike]c                ó˜   — t          | ¦  «        dk    }t          |rd| z  n| ¦  «                             |¦  «        }|r|d d d…         n|S )Nr   éÿÿÿÿ)ÚabsÚIFDRationalÚlimit_rational)rv   rx   ÚinvÚn_ds       rC   Ú_limit_rationalr‚   '  sT   € õ ˆc‰(Œ(�QŠ,€CÝ
 Ð-�a˜#‘g�g¨#Ñ
.Ô
.×
=Ò
=¸gÑ
FÔ
F€CØÐ$ˆ3ˆtˆt�ˆtŒ9ˆ9 Ð$rE   r~   Úmin_valc                óJ  — t          | ¦  «        }|j        |j        f}t          d„ |D ¦   «         ¦  «        |k     rt	          | t          |¦  «        ¦  «        }t          d„ |D ¦   «         ¦  «        }t          |¦  «        |k    rt	          |d         |d         z  |¦  «        }|S )Nc              3  ó4   K  — | ]}t          |¦  «        V — Œd S rp   ©Úfloat©r@   Úis     rC   ri   z)_limit_signed_rational.<locals>.<genexpr>5  s(   è è € Ð
!Ð
!˜�5�‰8Œ8Ð
!Ð
!Ð
!Ð
!Ð
!Ð
!rE   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rp   r†   rˆ   s     rC   ri   z)_limit_signed_rational.<locals>.<genexpr>8  s(   è è € Ð,Ð, 1•e˜A‘h”hÐ,Ð,Ð,Ð,Ð,Ð,rE   r   r   )r   Ú	numeratorÚdenominatorÚminr‚   r}   rr   Úmax)rv   rx   rƒ   Úfracr�   Ú	n_d_floats         rC   Ú_limit_signed_rationalr‘   /  s£   € õ �C‰=Œ=€DØ-1¬^¸TÔ=MÐ-M€Cå
Ð
!Ð
!˜SÐ
!Ñ
!Ô
!Ñ!Ô! GÒ+Ð+Ý˜c¥3 w¡<¤<Ñ0Ô0ˆåÐ,Ð,¨Ð,Ñ,Ô,Ñ,Ô,€IÝ
ˆ9�~„~˜ÒÐÝ˜i¨œl¨Y°q¬\Ñ9¸7ÑCÔCˆà€JrE   ÚopÚstrr
   c                ó   ‡ — dˆ fd„}|S )	NÚselfr~   Úargsútuple[float, ...]rm   úbool | float | Fractionc                ó4   •—  t          | j        ‰¦  «        |Ž S rp   )ÚgetattrÚ_val)r•   r–   r’   s     €rC   Údelegatez_delegate.<locals>.delegateG  s   ø€ ð &�w�t”y "Ñ%Ô% tÐ,Ð,rE   )r•   r~   r–   r—   rm   r˜   r?   )r’   rœ   s   ` rC   Ú	_delegater�   F  s(   ø€ ð-ð -ð -ð -ð -ð -ð
 €OrE   c                  óô  — e Zd ZdZ	 dZ	 d8d9d
„Zed:d„¦   «         Zed;d„¦   «         Zd<d„Z	d=d„Z
d;d„Zd>d„Zd?d„Zd@d„Z	  ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed ¦  «        Z ed!¦  «        Z ed"¦  «        Z ed#¦  «        Z ed$¦  «        Z ed%¦  «        Z ed&¦  «        Z ed'¦  «        Z ed(¦  «        Z ed)¦  «        Z ed*¦  «        Z ed+¦  «        Z ed,¦  «        Z  ed-¦  «        Z! ed.¦  «        Z" ed/¦  «        Z# ed0¦  «        Z$ ed1¦  «        Z% ed2¦  «        Z& ed3¦  «        Z' ed4¦  «        Z( ed5¦  «        Z) e*e+d6¦  «        r ed6¦  «        Z,d7S d7S )Ar~   zÀImplements a rational class where 0/0 is a legal value to match
    the in the wild use of exif rationals.

    e.g., DigitalZoomRatio - 0.00/0.00  indicates that no digital zoom was used
    )Ú
_numeratorÚ_denominatorr›   r   Úvaluerw   rŒ   ry   rm   ÚNonec                óH  — |  t          |t          ¦  «        r&|j        | _        |j        | _        |j        | _        dS t          |t          ¦  «        r|j        | _        |j        | _        n0t          rt          t          |¦  «        | _        n|| _        || _        |dk    rt          d¦  «        | _        dS |dk    rt          |¦  «        | _        dS t          |¦  «        |k    r$t          t          |¦  «        |¦  «        | _        dS t          ||z  ¦  «        | _        dS )z®
        :param value: either an integer numerator, a
        float/rational/other number, or an IFDRational
        :param denominator: Optional integer denominator
        Nr   Únanr   )Ú
isinstancer~   r‹   rŸ   rŒ   r    r›   r   ÚTYPE_CHECKINGr   r    r‡   ry   )r•   r¡   rŒ   s      rC   Ú__init__zIFDRational.__init__]  s  € ð 	Ð#Ý�e�[Ñ)Ô)ð 	Ø#œoˆDŒOØ %Ô 1ˆDÔØœ
ˆDŒIØˆFå�e�XÑ&Ô&ð 	,Ø#œoˆDŒOØ %Ô 1ˆDÔÐåð (Ý"&¥|°UÑ";Ô";�”�à"'�”Ø +ˆDÔà˜!ÒÐÝ˜e™œˆDŒIˆIˆIØ˜AÒÐÝ  ™œˆDŒIˆIˆIÝ�‰ZŒZ˜5Ò Ð Ý ¥ U¡¤¨[Ñ9Ô9ˆDŒIˆIˆIå  ¨Ñ!4Ñ5Ô5ˆDŒIˆIˆIrE   r    c                ó   — | j         S rp   )rŸ   ©r•   s    rC   r‹   zIFDRational.numerator  s
   € àŒÐrE   c                ó   — | j         S rp   )r    r©   s    rC   rŒ   zIFDRational.denominatorƒ  s   € àÔ Ð rE   Úmax_denominatorútuple[IntegralLike, int]c                ó¼   — | j         dk    r| j        | j         fS t          | j        t          ¦  «        sJ ‚| j                             |¦  «        }|j        |j         fS )z…

        :param max_denominator: Integer, the maximum denominator value
        :returns: Tuple of (numerator, denominator)
        r   )rŒ   r‹   r¥   r›   r   Úlimit_denominator)r•   r«   Úfs      rC   r   zIFDRational.limit_rational‡  s^   € ð Ô˜qÒ Ð Ø”> 4Ô#3Ð3Ð3å˜$œ)¥XÑ.Ô.Ð.Ð.Ð.ØŒI×'Ò'¨Ñ8Ô8ˆØŒ{˜AœMÐ)Ð)rE   r“   c                óD   — t          t          | j        ¦  «        ¦  «        S rp   )r“   r‡   r›   r©   s    rC   Ú__repr__zIFDRational.__repr__•  s   € Ý•5˜œÑ#Ô#Ñ$Ô$Ð$rE   c                ó4   — | j                              ¦   «         S rp   )r›   Ú__hash__r©   s    rC   r³   zIFDRational.__hash__˜  s   € ØŒy×!Ò!Ñ#Ô#Ð#rE   ÚotherÚobjectrn   c                óœ   — | j         }t          |t          ¦  «        r|j         }t          |t          ¦  «        rt          |¦  «        }||k    S rp   )r›   r¥   r~   r‡   )r•   r´   rv   s      rC   Ú__eq__zIFDRational.__eq__›  sI   € ØŒiˆÝ�e�[Ñ)Ô)ð 	Ø”JˆEÝ�e�UÑ#Ô#ð 	Ý˜‘*”*ˆCØ�eŠ|ÐrE   ú%list[float | Fraction | IntegralLike]c                ó*   — | j         | j        | j        gS rp   )r›   rŸ   r    r©   s    rC   Ú__getstate__zIFDRational.__getstate__£  s   € Ø”	˜4œ?¨DÔ,=Ð>Ð>rE   Ústatec                ó   — t                                | d¦  «         |\  }}}t          |t          t          f¦  «        sJ ‚|| _        t          rt          t          |¦  «        | _	        n|| _	        t          |t          ¦  «        sJ ‚|| _        d S ©Nr   )r~   r§   r¥   r‡   r   r›   r¦   r   r    rŸ   ry   r    )r•   r»   r›   rŸ   r    s        rC   Ú__setstate__zIFDRational.__setstate__¦  sŒ   € Ý×Ò˜T 1Ñ%Ô%Ð%Ø).Ñ&ˆˆj˜,Ý˜$¥­Ð 1Ñ2Ô2Ð2Ð2Ð2ØˆŒ	Ýð 	)Ý"¥<°Ñ<Ô<ˆDŒOˆOà(ˆDŒOÝ˜,­Ñ,Ô,Ð,Ð,Ð,Ø(ˆÔÐÐrE   Ú__add__Ú__radd__Ú__sub__Ú__rsub__Ú__mul__Ú__rmul__Ú__truediv__Ú__rtruediv__Ú__floordiv__Ú__rfloordiv__Ú__mod__Ú__rmod__Ú__pow__Ú__rpow__Ú__pos__Ú__neg__Ú__abs__Ú	__trunc__Ú__lt__Ú__gt__Ú__le__Ú__ge__Ú__bool__Ú__ceil__Ú	__floor__Ú	__round__Ú__int__NrF   )r¡   rw   rŒ   ry   rm   r¢   )rm   r    ©rm   ry   )r«   ry   rm   r¬   ©rm   r“   )r´   rµ   rm   rn   )rm   r¸   )r»   r¸   rm   r¢   )-Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r§   Úpropertyr‹   rŒ   r   r±   r³   r·   rº   r¾   r�   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r×   rØ   Úhasattrr   rÙ   r?   rE   rC   r~   r~   O  s·  € € € € € ðð ðð
 7€Ið IJð 6ð  6ð  6ð  6ð  6ðD ðð ð ñ „Xðð ð!ð !ð !ñ „Xð!ð*ð *ð *ð *ð%ð %ð %ð %ð$ð $ð $ð $ðð ð ð ð?ð ?ð ?ð ?ð
)ð 
)ð 
)ð 
)ðð ˆi˜	Ñ"Ô"€GØˆy˜Ñ$Ô$€HØˆi˜	Ñ"Ô"€GØˆy˜Ñ$Ô$€HØˆi˜	Ñ"Ô"€GØˆy˜Ñ$Ô$€HØ�)˜MÑ*Ô*€KØ�9˜^Ñ,Ô,€LØ�9˜^Ñ,Ô,€LØ�I˜oÑ.Ô.€MØˆi˜	Ñ"Ô"€GØˆy˜Ñ$Ô$€HØˆi˜	Ñ"Ô"€GØˆy˜Ñ$Ô$€HØˆi˜	Ñ"Ô"€GØˆi˜	Ñ"Ô"€GØˆi˜	Ñ"Ô"€GØ�	˜+Ñ&Ô&€IØˆY�xÑ Ô €FØˆY�xÑ Ô €FØˆY�xÑ Ô €FØˆY�xÑ Ô €FØˆy˜Ñ$Ô$€HØˆy˜Ñ$Ô$€HØ�	˜+Ñ&Ô&€IØ�	˜+Ñ&Ô&€Ià€wˆx˜Ñ#Ô#ð 'Ø�)˜IÑ&Ô&ˆˆˆð'ð 'rE   ÚImageFileDirectory_v2ÚidxÚsizeú$Callable[[_LoaderFunc], _LoaderFunc]c                ó   ‡ ‡— dˆ ˆfd„}|S )NÚfuncÚ_LoaderFuncrm   c                ó¬   •— ddl m} | j                             d¦  «        r&| j        dd …                              dd¦  «        |‰<   ‰| ft
          ‰<   | S )Nr   r   Úload_r-   Ú_ú )r   r   rÜ   rq   ÚreplaceÚ_load_dispatch)rè   r   rä   rå   s     €€rC   Ú	decoratorz#_register_loader.<locals>.decoratorÝ  sd   ø€ Ø#Ð#Ð#Ð#Ð#Ð#àŒ=×#Ò# GÑ,Ô,ð 	=Øœ q r rÔ*×2Ò2°3¸Ñ<Ô<ˆE�#‰JØ" D˜j��sÑØˆrE   )rè   ré   rm   ré   r?   )rä   rå   rð   s   `` rC   Ú_register_loaderrñ   Ü  s/   øø€ ðð ð ð ð ð ð ð ÐrE   ú2Callable[[Callable[..., Any]], Callable[..., Any]]c                ó   ‡ — dˆ fd„}|S )Nrè   úCallable[..., Any]rm   c                ó   •— | t           ‰<   | S rp   )Ú_write_dispatch)rè   rä   s    €rC   rð   z#_register_writer.<locals>.decoratoré  s   ø€ Ø#�˜ÑØˆrE   )rè   rô   rm   rô   r?   )rä   rð   s   ` rC   Ú_register_writerr÷   è  s)   ø€ ðð ð ð ð ð ð ÐrE   Úidx_fmt_nameútuple[int, str, str]r¢   c                óž   ‡‡— ddl m} | \  }Š}|||<   t          j        d‰› �¦  «        Š	 ddˆˆfd„}‰|ft          |<   ˆfd„t
          |<   d S )Nr   r   ú=Tr•   rã   Údatarl   Ú
legacy_apirn   rm   útuple[Any, ...]c                óX   •— |                       t          |¦  «        ‰z  › ‰› �|¦  «        S rp   )Ú_unpackrg   )r•   rü   rý   Úfmtrå   s      €€rC   Úbasic_handlerz&_register_basic.<locals>.basic_handler÷  s/   ø€ ð �|Š|�s 4™yœy¨DÑ0Ð7°#Ð7Ð7¸Ñ>Ô>Ð>rE   c                óJ   •‡ — d                      ˆˆ fd„|D ¦   «         ¦  «        S )NrE   c              3  óD   •K  — | ]}‰                      ‰|¦  «        V — Œd S rp   )Ú_pack)r@   r¡   r  r•   s     €€rC   ri   z4_register_basic.<locals>.<lambda>.<locals>.<genexpr>þ  s1   øè è € Ð<Ð<¨E�—’˜C Ñ'Ô'Ð<Ð<Ð<Ð<Ð<Ð<rE   ©Újoin)r•   Úvaluesr  s   ` €rC   ú<lambda>z!_register_basic.<locals>.<lambda>ý  s0   øø€ Ø�ŠÐ<Ð<Ð<Ð<Ð<°VÐ<Ñ<Ô<Ñ<Ô<ð rE   ©T)r•   rã   rü   rl   rý   rn   rm   rþ   )r   r   ÚstructÚcalcsizerï   rö   )rø   r   rä   Únamer  r  rå   s        @@rC   Ú_register_basicr  ð  s    øø€ ØÐÐÐÐÐà!�N€CˆˆdØ€Eˆ#�JÝŒ?˜9˜s˜9˜9Ñ%Ô%€Dð FJð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð
  Ð-…N�3Ñðð ð ð …O�CÑÐÐrE   c                  ó¼  — e Zd ZU dZi Zded<   i Zded<   	 	 	 d_d`d„Z ed„ ¦  «        Z	 ed„ ¦  «        Z
edad„¦   «         Zej        dbd„¦   «         Zdcd„Zddd„Zded„Zdfd„Zdgd!„Zdhd#„Zdid$„Zdjd&„Zdkd'„Zdld)„Zdmd-„Zdnd/„Z e eeej        d0d1fej        d2d3fej        d4d5fej         d6d7fej!        d8d9fej"        d:d;fej#        d<d=fej$        d2d3fej%        d>d?fg	¦  «        ¦  «          e&d@d@¦  «        dodpdB„¦   «         Z' e(d@¦  «        dqdD„¦   «         Z) e&dEd@¦  «        dodrdF„¦   «         Z* e(dE¦  «        dsdH„¦   «         Z+ e&dIdJ¦  «        	 dodtdL„¦   «         Z, e(dI¦  «        dudN„¦   «         Z- e&dOd@¦  «        dodpdP„¦   «         Z. e(dO¦  «        dvdQ„¦   «         Z/ e&dRdJ¦  «        	 dodtdS„¦   «         Z0 e(dR¦  «        dudT„¦   «         Z1dwdX„Z2dxdY„Z3dydZ„Z4dzd{d]„Z5d|d^„Z6dS )}rã   a  This class represents a TIFF tag directory.  To speed things up, we
    don't decode tags unless they're asked for.

    Exposes a dictionary interface of the tags in the directory::

        ifd = ImageFileDirectory_v2()
        ifd[key] = 'Some Data'
        ifd.tagtype[key] = TiffTags.ASCII
        print(ifd[key])
        'Some Data'

    Individual values are returned as the strings or numbers, sequences are
    returned as tuples of the values.

    The tiff metadata type of each item is stored in a dictionary of
    tag types in
    :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v2.tagtype`. The types
    are read from a tiff file, guessed from the type added, or added
    manually.

    Data Structures:

        * ``self.tagtype = {}``

          * Key: numerical TIFF tag number
          * Value: integer corresponding to the data type from
            :py:data:`.TiffTags.TYPES`

          .. versionadded:: 3.0.0

    'Internal' data structures:

        * ``self._tags_v2 = {}``

          * Key: numerical TIFF tag number
          * Value: decoded data, as tuple for multiple values

        * ``self._tagdata = {}``

          * Key: numerical TIFF tag number
          * Value: undecoded byte string from file

        * ``self._tags_v1 = {}``

          * Key: numerical TIFF tag number
          * Value: decoded data in the v1 format

    Tags will be found in the private attributes ``self._tagdata``, and in
    ``self._tags_v2`` once decoded.

    ``self.legacy_api`` is a value for internal use, and shouldn't be changed
    from outside code. In cooperation with
    :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`, if ``legacy_api``
    is true, then decoded tags will be populated into both ``_tags_v1`` and
    ``_tags_v2``. ``_tags_v2`` will be used if this IFD is used in the TIFF
    save routine. Tags should be read from ``_tags_v1`` if
    ``legacy_api == true``.

    z"dict[int, tuple[int, _LoaderFunc]]rï   zdict[int, Callable[..., Any]]rö   ó   II*     NÚifhrl   rk   úbytes | NoneÚgroupú
int | Nonerm   r¢   c                ó.  — t          |¦  «        s"dt          |¦  «        › d�}t          |¦  «        ‚|�|n	|dd…         | _        | j        t          k    rd| _        n)| j        t          k    rd| _        nd}t          |¦  «        ‚|d         dk    | _        || _        i | _	        	 |  
                    ¦   «          | j        r$|                      d	|d
d…         ¦  «        d         n#|                      d|dd…         ¦  «        d         | _        d| _        dS )a—  Initialize an ImageFileDirectory.

        To construct an ImageFileDirectory from a real file, pass the 8-byte
        magic header to the constructor.  To only set the endianness, pass it
        as the 'prefix' keyword argument.

        :param ifh: One of the accepted magic headers (cf. PREFIXES); also sets
              endianness.
        :param prefix: Override the endianness of the file.
        znot a TIFF file (header z not valid)Nr'   ú>ú<znot a TIFF IFDé+   ÚQr3   r   rH   r+   F)ru   ÚreprÚSyntaxErrorÚ_prefixÚMMÚ_endianÚIIÚ_bigtiffr  ÚtagtypeÚresetr   ÚnextÚ_legacy_api)r•   r  rk   r  Úmsgs        rC   r§   zImageFileDirectory_v2.__init__H  s  € õ  �s‰|Œ|ð 	#ØC­T°#©Y¬YÐCÐCÐCˆCÝ˜cÑ"Ô"Ð"Ø!'Ð!3�v�v¸¸R¸a¸R¼ˆŒØŒ<�2ÒÐØˆDŒLˆLØŒ\�RÒÐØˆDŒLˆLà"ˆCÝ˜cÑ"Ô"Ð"Ø˜Aœ "šˆŒØˆŒ
Ø')ˆŒØ'Ø�
Š
‰Œˆð Œ}ð/ˆD�LŠL˜˜c ! " "œgÑ&Ô& qÔ)Ð)à—’˜c 3 q r r¤7Ñ+Ô+¨AÔ.ð 	Œ	ð
 !ˆÔÐÐrE   c                ó   — | j         S rp   )r  r©   s    rC   r	  zImageFileDirectory_v2.<lambda>o  ó   €  4¤<€ rE   c                ó   — | j         S rp   )Ú_offsetr©   s    rC   r	  zImageFileDirectory_v2.<lambda>p  r'  rE   rn   c                ó   — | j         S rp   )r$  r©   s    rC   rý   z ImageFileDirectory_v2.legacy_apir  s   € àÔÐrE   r¡   r   c                ó$   — d}t          |¦  «        ‚)Nz"Not allowing setting of legacy api)Ú	Exception)r•   r¡   r%  s      rC   rý   z ImageFileDirectory_v2.legacy_apiv  s   € à2ˆÝ˜‰nŒnÐrE   c                óZ   — i | _         i | _        i | _        i | _        d | _        d | _        d S rp   )Ú_tags_v1Ú_tags_v2Ú_tagdatar!  Ú_nextr)  r©   s    rC   r"  zImageFileDirectory_v2.reset{  s0   € Ø(*ˆŒØ(*ˆŒØ*,ˆŒØˆŒØˆŒ
Ø#'ˆŒˆˆrE   r“   c                ó:   — t          t          | ¦  «        ¦  «        S rp   )r“   Údictr©   s    rC   Ú__str__zImageFileDirectory_v2.__str__ƒ  s   € Ý•4˜‘:”:‰ŒÐrE   údict[str, Any]c                óD   ‡ — ˆ fd„‰                       ¦   «         D ¦   «         S )z�
        :returns: dict of name|key: value

        Returns the complete tag dictionary, with named tags where possible.
        c                óV   •— i | ]%\  }}t          j        |‰j        ¦  «        j        |“Œ&S r?   )r   Úlookupr  r  )r@   Úcoder¡   r•   s      €rC   rD   z/ImageFileDirectory_v2.named.<locals>.<dictcomp>Œ  s@   ø€ ð 
ð 
ð 
á��eõ ŒO˜D $¤*Ñ-Ô-Ô2°Eð
ð 
ð 
rE   )Úitemsr©   s   `rC   ÚnamedzImageFileDirectory_v2.named†  s6   ø€ ð
ð 
ð 
ð 
à#Ÿzšz™|œ|ð
ñ 
ô 
ð 	
rE   ry   c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rp   )rg   Úsetr0  r/  r©   s    rC   Ú__len__zImageFileDirectory_v2.__len__‘  ó)   € Ý•3�t”}Ñ%Ô%­¨D¬MÑ(:Ô(:Ñ:Ñ;Ô;Ð;rE   Útagr
   c                óü   — || j         vr?| j        |         }| j        |         }| j        |         \  }} || || j        ¦  «        | |<   | j         |         }| j        rt          |t          t          f¦  «        s|f}|S rp   )r/  r0  r!  rï   rý   r¥   rr   rl   )r•   r@  rü   Útyprå   Úhandlerrv   s          rC   Ú__getitem__z!ImageFileDirectory_v2.__getitem__”  sˆ   € Ø�d”mÐ#Ð#Ø”= Ô%ˆDØ”,˜sÔ#ˆCØ Ô/°Ô4‰MˆD�'Ø˜  d¨D¬OÑ<Ô<ˆD�‰IØŒm˜CÔ ˆØŒ?ð 	¥:¨cµE½5°>Ñ#BÔ#Bð 	Ø�&ˆCØˆ
rE   rµ   c                ó&   — || j         v p|| j        v S rp   )r/  r0  ©r•   r@  s     rC   Ú__contains__z"ImageFileDirectory_v2.__contains__Ÿ  ó   € Ø�d”mÐ#Ð; s¨d¬mÐ';Ð;rE   c                ó>   — |                       ||| j        ¦  «         d S rp   )Ú_setitemrý   )r•   r@  r¡   s      rC   Ú__setitem__z!ImageFileDirectory_v2.__setitem__¢  s    € Ø�Š�c˜5 $¤/Ñ2Ô2Ð2Ð2Ð2rE   rý   c           	     ó>  ‡— t           t          t          f}t          j        || j        ¦  «        Št          ||¦  «        r|gn|}|| j        v�rá‰j        r‰j        | j        |<   �nÉt          j	        | j        |<   t          d„ |D ¦   «         ¦  «        rN|D ]5}t          |t          ¦  «        sJ ‚|dk     rt          j        | j        |<    nŒ6t          j        | j        |<   �nNt          d„ |D ¦   «         ¦  «        r¬d}d}d}	|D ]I}t          |t          ¦  «        sJ ‚|rd|cxk    rdk     sn d}|rd|cxk     rdk     sn d}|	r|dk     rd}	ŒJ|rt          j        | j        |<   nÌ|rt          j        | j        |<   nµ|	rt          j        | j        |<   nžt          j        | j        |<   n‰t          d	„ |D ¦   «         ¦  «        rt          j        | j        |<   n[t          d
„ |D ¦   «         ¦  «        rt          j        | j        |<   n-t          d„ |D ¦   «         ¦  «        rt          j        | j        |<   | j        |         t          j	        k    rd„ |D ¦   «         }n'| j        |         t          j        k    rd„ |D ¦   «         }| j        |         t          j        k    ot          |t,          ¦  «        }
|
st/          ˆfd„|D ¦   «         ¦  «        }|r| j        n| j        }|
sº‰j        dk    s7| j        |         t          j        k    s‰j        €�t7          |¦  «        dk    rz|sx|r(| j        |         t          j        t          j        fv r|f}	 |\  ||<   d S # t8          $ r7 t;          j        d|› dt7          |¦  «        › d�¦  «         |d         ||<   Y d S w xY w|||<   d S )Nc              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rp   )r¥   r~   ©r@   rB   s     rC   ri   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>°  s,   è è € ÐBÐB°a•z !¥[Ñ1Ô1ÐBÐBÐBÐBÐBÐBrE   r   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rp   )r¥   ry   rN  s     rC   ri   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>¸  ó,   è è € Ð<Ð<°� A¥sÑ+Ô+Ð<Ð<Ð<Ð<Ð<Ð<rE   Tr!   Fi €ÿÿi €  c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rp   )r¥   r‡   rN  s     rC   ri   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ì  ó,   è è € Ð>Ð>°!� A¥uÑ-Ô-Ð>Ð>Ð>Ð>Ð>Ð>rE   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rp   )r¥   r“   rN  s     rC   ri   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Î  rP  rE   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rp   )r¥   rl   rN  s     rC   ri   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ð  rR  rE   c                óh   — g | ]/}t          |t          ¦  «        r|                     d d¦  «        n|‘Œ0S )Úasciirî   )r¥   r“   ÚencoderN  s     rC   ú
<listcomp>z2ImageFileDirectory_v2._setitem.<locals>.<listcomp>Ô  sJ   € ð ð ð àõ 1;¸1½cÑ0BÔ0BÐI�—’˜ )Ñ,Ô,Ð,Èðð ð rE   c                óZ   — g | ](}t          |t          ¦  «        rt          |¦  «        n|‘Œ)S r?   )r¥   ry   r‡   rN  s     rC   rX  z2ImageFileDirectory_v2._setitem.<locals>.<listcomp>Ù  s1   € ÐLÐLÐLÀ¥*¨QµÑ"4Ô"4Ð;•e˜A‘h”h�h¸!ÐLÐLÐLrE   c              3  óp   •K  — | ]0}t          |t          ¦  «        r‰                     |¦  «        n|V — Œ1d S rp   )r¥   r“   Úcvt_enum)r@   r¡   Úinfos     €rC   ri   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ý  sW   øè è € ð ð àõ )3°5½#Ñ(>Ô(>ÐI�—’˜eÑ$Ô$Ð$ÀEðð ð ð ð ð rE   r   zMetadata Warning, tag z had too many entries: z, expected 1)r   rl   r“   r   r8  r  r¥   r!  ÚtypeÚ	UNDEFINEDÚallr~   ÚSIGNED_RATIONALÚRATIONALry   ÚSHORTÚSIGNED_SHORTÚLONGÚSIGNED_LONGÚDOUBLEÚASCIIÚBYTEr3  rr   r.  r/  Úlengthrg   Ú
ValueErrorÚwarningsÚwarn)r•   r@  r¡   rý   Ú	basetypesr  rB   ÚshortÚsigned_shortÚlongÚis_ifdÚdestr\  s               @rC   rJ  zImageFileDirectory_v2._setitem¥  sq  ø€ Ý�U¥CÐ(ˆ	åŒ˜s D¤JÑ/Ô/ˆÝ& u¨iÑ8Ô8ÐC�%��¸eˆà�d”lÐ"Ñ"ØŒyð %6Ø$(¤I�”˜SÑ!Ñ!å$,Ô$6�”˜SÑ!ÝÐBÐB¸6ÐBÑBÔBÑBÔBð !6Ø#ð >ð >˜Ý)¨!­[Ñ9Ô9Ð9Ð9Ð9Ø˜qš5˜5Ý08Ô0H˜DœL¨Ñ-Ø!˜Eð !õ -5Ô,=˜œ SÑ)ùÝÐ<Ð<°VÐ<Ñ<Ô<Ñ<Ô<ð 6Ø �EØ#'�LØ�DØ#ð )ð )˜Ý)¨!­SÑ1Ô1Ð1Ð1Ð1Ø ð *¨!¨q¨.¨.ª.¨.°5ª.¨.¨.¨.Ø$)˜EØ'ð 1°¸AÐ1EÐ1EÒ1EÐ1EÀÒ1EÐ1EÐ1EÐ1EØ+0˜LØð ) A¨¢E EØ#(˜DøØð AÝ,4¬N˜œ SÑ)Ð)Ø%ð AÝ,4Ô,A˜œ SÑ)Ð)Øð AÝ,4¬M˜œ SÑ)Ð)å,4Ô,@˜œ SÑ)Ð)ÝÐ>Ð>°vÐ>Ñ>Ô>Ñ>Ô>ð 6Ý(0¬�D”L Ñ%Ð%ÝÐ<Ð<°VÐ<Ñ<Ô<Ñ<Ô<ð 6Ý(0¬�D”L Ñ%Ð%ÝÐ>Ð>°vÐ>Ñ>Ô>Ñ>Ô>ð 6Ý(0¬�D”L Ñ%àŒ<˜Ô¥Ô 2Ò2Ð2ðð àðñ ô ˆFˆFð Œ\˜#Ô¥(Ô"3Ò3Ð3ØLÐLÀVÐLÑLÔLˆFà”˜cÔ"¥h¤mÒ3ÐP½
À6Í4Ñ8PÔ8PˆØð 	Ýð ð ð ð à#ðñ ô ñ ô ˆFð
 !+Ð=ˆtŒ}ˆ}°´ˆð ð 	ØŒ[˜AÒÐØŒ|˜CÔ ¥H¤MÒ1Ð1Ø”Ð#­¨F©¬°qÒ(8Ð(8ÀÐ(8ð ð #˜dœl¨3Ô/ÝÔ!ÝÔ(ð4ð ð ð !˜�ð&Ø%‘��c‘��øÝð &ð &ð &å”ð1¨Sð 1ð 1Ý˜6‘{”{ð1ð 1ð 1ñô ð ð # 1œI��S‘	�	�	�	ð&øøøð ˆD�‰IˆIˆIs   ÍM Í=NÎNc                ó¨   — | j                              |d ¦  «         | j                             |d ¦  «         | j                             |d ¦  «         d S rp   )r/  Úpopr.  r0  rF  s     rC   Ú__delitem__z!ImageFileDirectory_v2.__delitem__  sP   € ØŒ×Ò˜#˜tÑ$Ô$Ð$ØŒ×Ò˜#˜tÑ$Ô$Ð$ØŒ×Ò˜#˜tÑ$Ô$Ð$Ð$Ð$rE   úIterator[int]c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rp   )Úiterr=  r0  r/  r©   s    rC   Ú__iter__zImageFileDirectory_v2.__iter__  ó)   € Ý•C˜œÑ&Ô&­¨T¬]Ñ);Ô);Ñ;Ñ<Ô<Ð<rE   r  rü   rþ   c                ó<   — t          j        | j        |z   |¦  «        S rp   )r  Úunpackr  )r•   r  rü   s      rC   r   zImageFileDirectory_v2._unpack  s   € ÝŒ}˜Tœ\¨CÑ/°Ñ6Ô6Ð6rE   r  c                ó6   — t          j        | j        |z   g|¢R Ž S rp   )r  Úpackr  )r•   r  r  s      rC   r  zImageFileDirectory_v2._pack  s!   € ÝŒ{˜4œ<¨#Ñ-Ð7°Ð7Ð7Ð7Ð7rE   ÚHrn  rH   rp  Úbzsigned byteÚhzsigned shortÚlzsigned longr¯   r‡   ÚdÚdoubler  Úlong8r   Tc                ó   — |S rp   r?   ©r•   rü   rý   s      rC   Ú	load_bytezImageFileDirectory_v2.load_byte"  ó   € àˆrE   úbytes | int | IFDRationalc                ó˜   — t          |t          ¦  «        rt          |¦  «        }t          |t          ¦  «        rt          |f¦  «        }|S rp   )r¥   r~   ry   rl   ©r•   rü   s     rC   Ú
write_bytez ImageFileDirectory_v2.write_byte&  sC   € å�d�KÑ(Ô(ð 	Ý�t‘9”9ˆDÝ�d�CÑ Ô ð 	"Ý˜$˜‘>”>ˆDØˆrE   r'   c                ól   — |                      d¦  «        r
|d d…         }|                     dd¦  «        S )Nó    r|   zlatin-1rî   )ÚendswithÚdecoder‡  s      rC   Úload_stringz!ImageFileDirectory_v2.load_string.  s7   € à�=Š=˜ÑÔð 	Ø˜˜˜”9ˆDØ�{Š{˜9 iÑ0Ô0Ð0rE   ústr | bytes | intc                óª   — t          |t          ¦  «        rt          |¦  «        }t          |t          ¦  «        s|                     dd¦  «        }|dz   S )NrV  rî   r�  )r¥   ry   r“   rl   rW  ©r•   r¡   s     rC   Úwrite_stringz"ImageFileDirectory_v2.write_string4  sP   € õ �e�SÑ!Ô!ð 	Ý˜‘J”JˆEÝ˜%¥Ñ'Ô'ð 	5Ø—L’L ¨)Ñ4Ô4ˆEØ�u‰}ÐrE   r-   r3   ú)tuple[tuple[int, int] | IFDRational, ...]c           
     óÚ   ‡‡— |                       t          |¦  «        dz  › d�|¦  «        }dˆfd„Št          ˆfd	„t          |d d d
…         |dd d
…         ¦  «        D ¦   «         ¦  «        S )Nr+   rH   Úary   r€  rm   útuple[int, int] | IFDRationalc                ó0   •— ‰r| |fnt          | |¦  «        S rp   ©r~   ©r™  r€  rý   s     €rC   Úcombinez4ImageFileDirectory_v2.load_rational.<locals>.combineC  ó    ø€ Ø'Ð>�A�q�6�6­[¸¸AÑ->Ô->Ð>rE   c              3  ó6   •K  — | ]\  }} ‰||¦  «        V — Œd S rp   r?   ©r@   ÚnumÚdenomrž  s      €rC   ri   z6ImageFileDirectory_v2.load_rational.<locals>.<genexpr>F  ó3   øè è € ÐVÐV©Z¨S°%�W�W˜S %Ñ(Ô(ÐVÐVÐVÐVÐVÐVrE   r'   r   ©r™  ry   r€  ry   rm   rš  ©r   rg   rr   Úzip©r•   rü   rý   Úvalsrž  s     ` @rC   Úload_rationalz#ImageFileDirectory_v2.load_rational=  óŽ   øø€ ð �|Š|�s 4™yœy¨A™~Ð0Ð0Ð0°$Ñ7Ô7ˆð	?ð 	?ð 	?ð 	?ð 	?ð 	?õ ÐVÐVÐVÐV½3¸tÀCÀCÀaÀC¼yÈ$ÈqÈtÐRSÈtÌ*Ñ;UÔ;UÐVÑVÔVÑVÔVÐVrE   r~   c                óF   ‡ — d                      ˆ fd„|D ¦   «         ¦  «        S )NrE   c              3  óP   •K  — | ] } ‰j         d gt          |d¦  «        ¢R Ž V — Œ!dS )Ú2Ll   ÿÿ N)r  r‚   ©r@   r�   r•   s     €rC   ri   z7ImageFileDirectory_v2.write_rational.<locals>.<genexpr>J  sR   øè è € ð 
ð 
ØDHˆJˆDŒJ�tÐ?�o¨d°IÑ>Ô>Ð?Ð?Ð?ð
ð 
ð 
ð 
ð 
ð 
rE   r  ©r•   r  s   ` rC   Úwrite_rationalz$ImageFileDirectory_v2.write_rationalH  s?   ø€ à�xŠxð 
ð 
ð 
ð 
ØLRð
ñ 
ô 
ñ 
ô 
ð 	
rE   r1   c                ó   — |S rp   r?   r‡  s      rC   Úload_undefinedz$ImageFileDirectory_v2.load_undefinedN  r‰  rE   c                ó¾   — t          |t          ¦  «        rt          |¦  «        }t          |t          ¦  «        r#t          |¦  «                             dd¦  «        }|S )NrV  rî   )r¥   r~   ry   r“   rW  r•  s     rC   Úwrite_undefinedz%ImageFileDirectory_v2.write_undefinedR  sQ   € å�e�[Ñ)Ô)ð 	Ý˜‘J”JˆEÝ�e�SÑ!Ô!ð 	:Ý˜‘J”J×%Ò% g¨yÑ9Ô9ˆEØˆrE   é
   c           
     óÚ   ‡‡— |                       t          |¦  «        dz  › d�|¦  «        }dˆfd„Št          ˆfd	„t          |d d d
…         |dd d
…         ¦  «        D ¦   «         ¦  «        S )Nr+   r‚  r™  ry   r€  rm   rš  c                ó0   •— ‰r| |fnt          | |¦  «        S rp   rœ  r�  s     €rC   rž  z;ImageFileDirectory_v2.load_signed_rational.<locals>.combine`  rŸ  rE   c              3  ó6   •K  — | ]\  }} ‰||¦  «        V — Œd S rp   r?   r¡  s      €rC   ri   z=ImageFileDirectory_v2.load_signed_rational.<locals>.<genexpr>c  r¤  rE   r'   r   r¥  r¦  r¨  s     ` @rC   Úload_signed_rationalz*ImageFileDirectory_v2.load_signed_rationalZ  r«  rE   c                óF   ‡ — d                      ˆ fd„|D ¦   «         ¦  «        S )NrE   c           	   3  óR   •K  — | ]!} ‰j         d gt          |dd¦  «        ¢R Ž V — Œ"dS )Ú2liÿÿÿi   €N)r  r‘   r¯  s     €rC   ri   z>ImageFileDirectory_v2.write_signed_rational.<locals>.<genexpr>g  sX   øè è € ð 
ð 
àð ˆDŒJ�tÐPÕ4°T¸9ÀhÑOÔOÐPÐPÐPð
ð 
ð 
ð 
ð 
ð 
rE   r  r°  s   ` rC   Úwrite_signed_rationalz+ImageFileDirectory_v2.write_signed_rationale  s?   ø€ à�xŠxð 
ð 
ð 
ð 
àð
ñ 
ô 
ñ 
ô 
ð 	
rE   Úfpú	IO[bytes]rå   c                ó    — |                      |¦  «        }t          |¦  «        |k    r%d|› dt          |¦  «        › d�}t          |¦  «        ‚|S )Nz&Corrupt EXIF data.  Expecting to read ú bytes but only got z. )Úreadrg   ÚOSError)r•   r¿  rå   Úretr%  s        rC   Ú_ensure_readz"ImageFileDirectory_v2._ensure_readl  sj   € Ø�gŠg�d‰mŒmˆÝˆs‰8Œ8�tÒÐðLØ%)ðLð LÝ?BÀ3¹x¼xðLð Lð Lð õ ˜#‘,”,ÐØˆ
rE   c           
     ó  — |                       ¦   «          |                     ¦   «         | _        	 | j        r*|                      d|                      |d¦  «        ¦  «        n)|                      d|                      |d¦  «        ¦  «        d         }t          |¦  «        D �]J}| j        r*|                      d|                      |d¦  «        ¦  «        n)|                      d|                      |d	¦  «        ¦  «        \  }}}}t          j        || j	        ¦  «        j
        }t          j        |d
¦  «        }	d|› d|› d|	› d|› d�	}
	 | j        |         \  }}n,# t          $ r t                               d|
|¦  «         Y Œàw xY w||z  }|| j        rdndk    r€|                     ¦   «         }|                      | j        rdnd|¦  «        \  }|
d|› d|› �z  }
|                     |¦  «         t%          j        ||¦  «        }|                     |¦  «         n
|d |…         }t)          |¦  «        |k    rFt+          j        d|› dt)          |¦  «        › d|› �¦  «         t                               |
¦  «         �ŒÛ|st                               |
¦  «         �Œù|| j        |<   || j        |<   |
dz  }
|
|dk    rd|› d�nt3          |¦  «        z  }
t                               |
¦  «         �ŒL| j        r*|                      d|                      |d¦  «        ¦  «        n)|                      d|                      |d¦  «        ¦  «        \  | _        d S # t6          $ r,}
t+          j        t9          |
¦  «        ¦  «         Y d }
~
d S d }
~
ww xY w)Nr  r3   r  r'   r   ÚHHQ8sé   ÚHHL4srI   Úunknownztag: ú (ú
) - type: ú)z%s - unsupported type %sr+   rH   z Tag Location: z - Data Location: z/Possibly corrupt EXIF data.  Expecting to read rÂ  z. Skipping tag z
 - value: rN   ú<table: ú bytes>)r"  Útellr)  r   r   rÆ  Úranger   r8  r  r  r   Úgetrï   ÚKeyErrorÚloggerÚdebugÚseekr   Ú
_safe_readrg   rk  rl  r0  r!  r  r#  rÄ  r“   )r•   r¿  Ú	tag_countr‰   r@  rB  Úcountrü   ÚtagnameÚtypnamer%  Ú	unit_sizerC  rå   ÚhereÚoffsets                   rC   ÚloadzImageFileDirectory_v2.loadv  sÌ  € Ø�
Š
‰ŒˆØ—w’w‘y”yˆŒð=	ð ”=ðA�—’˜S $×"3Ò"3°B¸Ñ":Ô":Ñ;Ô;Ð;à—\’\ # t×'8Ò'8¸¸QÑ'?Ô'?Ñ@Ô@Øô	ˆIõ
 ˜9Ñ%Ô%ð ."ñ ."�ð ”}ðJ�D—L’L ¨$×*;Ò*;¸BÀÑ*CÔ*CÑDÔDÐDàŸš g¨t×/@Ò/@ÀÀRÑ/HÔ/HÑIÔIñ &��S˜% õ #œ/¨#¨t¬zÑ:Ô:Ô?�Ýœ) C¨Ñ3Ô3�ØI˜gÐIÐI¨ÐIÐI¸ÐIÐIÀ3ÐIÐIÐI�ðØ)-Ô)<¸SÔ)AÑ&�I˜w˜wøÝð ð ð Ý—L’LÐ!;¸SÀ#ÑFÔFÐFØ�Hðøøøð ˜yÑ(�Ø ¤Ð4˜1˜1°1Ò5Ð5ØŸ7š7™9œ9�DØ $§¢°D´MÐ-J¨S¨SÀsÈDÑ QÔ Q‘I�VØÐM¨TÐMÐMÀVÐMÐMÑM�CØ—G’G˜F‘O”O�OÝ$Ô/°°DÑ9Ô9�DØ—G’G˜D‘M”M�M�Mà   œ;�Då�t‘9”9 Ò$Ð$Ý”Mð/Ø-1ð/ð /ÝGJÈ4ÁyÄyð/ð /à),ð/ð /ñô ð õ
 —L’L Ñ%Ô%Ð%Ùàð Ý—L’L Ñ%Ô%Ð%Ùà%)�”˜cÑ"Ø$'�”˜SÑ!à�|Ñ#�Ø°4¸"²9°9Ð/ $Ð/Ð/Ð/Ð/Å$ÀtÁ*Ä*ÑL�å—’˜SÑ!Ô!Ð!Ñ!ð ”=ðA�—’˜S $×"3Ò"3°B¸Ñ":Ô":Ñ;Ô;Ð;à—\’\ # t×'8Ò'8¸¸QÑ'?Ô'?Ñ@Ô@ñ ˆTŒYˆYˆYøõ
 ð 	ð 	ð 	ÝŒM�#˜c™(œ(Ñ#Ô#Ð#ØˆFˆFˆFˆFˆFøøøøð	øøøs=   ¯DM ÅEÅM Å&F Å=M Å?F Æ GM Í
NÍ!N Î Nc                ó  — | j         |                      d| j        rdnd¦  «        z   }| j        r||                      ddd¦  «        z  }|| j        r|                      dd¦  «        n|                      d	d¦  «        z  }|S )
Nr  r  é*   ÚHHr3   r   r  rK   rH   )r  r  r   ©r•   r  s     rC   Ú_get_ifhzImageFileDirectory_v2._get_ifh¹  s‚   € ØŒl˜TŸZšZ¨°4´=Ð-H¨R¨RÀbÑIÔIÑIˆØŒ=ð 	*Ø�4—:’:˜d A qÑ)Ô)Ñ)ˆCØ d¤mÐKˆt�zŠz˜#˜rÑ"Ô"Ð"¸¿ºÀCÈÑ9KÔ9KÑKˆàˆ
rE   r   rß  c                óÎ  ‡— |                       | j        rdndt          | j        ¦  «        ¦  «        }g }| j        rdnd}| j        rdnd}‰t          |¦  «        t          | j        ¦  «        | j        rdndz  z   |z   z  Šd }t	          | j                             ¦   «         ¦  «        D �]\  }}|t          k    rt          |¦  «        }| j        |         }	t           	                    d||	t          |¦  «        ¦  «         |	t          j        k    ot          |t          ¦  «        }
|
ret          |                      ¦   «         |¬	¦  «        }| j        |         }|                     ¦   «         D ]
\  }}|||<   Œ|                     ‰¦  «        }n.t          |t$          ¦  «        r|n|f} | j        |	         | g|¢R Ž }t          j        || j        ¦  «        j        }|
rd
nt/          j        |	d¦  «        }d|› d|› d|› d|	› d�	}|t          |¦  «        dk    rdt          |¦  «        › d�nt3          |¦  «        z  }t           	                    |¦  «         |
rd}nD|	t          j        t          j        t          j        fv rt          |¦  «        }nt          |¦  «        }t          |¦  «        |k    r0|                     ||	||                     |d¦  «        df¦  «         �Œ6|                     ||	||                       |‰¦  «        |f¦  «         ‰t          |¦  «        dz   dz  dz  z  Š�Œ�|��||         \  }}	}}}|rC| j        |	         \  }}ˆfd„ || || j         ¦  «        D ¦   «         } | j        |	         | g|¢R Ž }n3|                       ||  !                    ||¦  «        d         ‰z   ¦  «        }||	|||f||<   |D ]f\  }}	}}}t           	                    d||	|t          |¦  «        t          |¦  «        ¦  «         ||                       | j        rdnd||	||¦  «        z  }Œg||                       |d¦  «        z  }|D ]$\  }}	}}}||z  }t          |¦  «        dz  r|dz  }Œ%|S )Nr  r  rH   r3   r+   rÉ  rI   zTag %s, Type: %s, Value: %s)r  ÚifdrË  zsave: rÌ  rÍ  z) - value: rK   rÏ  rÐ  r   r�  rE   r'   c                ó   •— g | ]}|‰z   ‘ŒS r?   r?   )r@   rv   rß  s     €rC   rX  z1ImageFileDirectory_v2.tobytes.<locals>.<listcomp>ù  s   ø€ ÐWÐWÐW¨3˜# ™,ÐWÐWÐWrE   r   z%s %s %s %s %srÈ  rÊ  )"r  r   rg   r/  Úsortedr:  ÚSTRIPOFFSETSr!  rÕ  rÖ  r  r   rd  r¥   r3  rã   rå  Útobytesrr   rö   r8  r  r  r   rÓ  r“   rh  rg  r^  ÚappendÚljustrï   rý   r   )r•   rß  ÚresultÚentriesr  Úfmt_sizeÚstripoffsetsr@  r¡   rB  rq  rç  r  Úifd_tagÚ	ifd_valuerü   rÛ  rÜ  r%  rÚ  rå   rC  s    `                    rC   rë  zImageFileDirectory_v2.tobytesÁ  sº  ø€ à—’ 4¤=Ð9˜C˜C°c½3¸t¼}Ñ;MÔ;MÑNÔNˆà<>ˆà”]Ð+ˆcˆc¨ˆØœÐ,�1�1¨1ˆØÝ�‰KŒK�#˜dœmÑ,Ô,°d´mÐ0K°°ÈÑLÑLÈxÑWñ	
ˆð ˆõ ! ¤×!4Ò!4Ñ!6Ô!6Ñ7Ô7ð "	3ñ "	3‰JˆC�Ø•lÒ"Ð"Ý" 7™|œ|�Ø”,˜sÔ#ˆCÝ�LŠLÐ6¸¸SÅ$ÀuÁ+Ä+ÑNÔNÐNØ�HœMÒ)ÐE­j¸ÅÑ.EÔ.EˆFØð @Ý+¨D¯MªM©O¬OÀ3ÐGÑGÔG�Øœ sÔ+�Ø*0¯,ª,©.¬.ð -ð -Ñ&�G˜YØ#,�C˜‘L�LØ—{’{ 6Ñ*Ô*��å",¨UµEÑ":Ô":ÐH˜˜ÀÀ�Ø0�tÔ+¨CÔ0°Ð?¸Ð?Ð?Ð?�å”o c¨4¬:Ñ6Ô6Ô;ˆGØ%ÐD�e�e­5¬9°S¸)Ñ+DÔ+DˆGØP˜7ÐPÐP cÐPÐP°WÐPÐPÀÐPÐPÐPˆCØµC¸±I´IÀ²O°OÐ0�c $™iœiÐ0Ð0Ð0Ð0ÍÈVÉÌÑTˆCÝ�LŠL˜ÑÔÐð ð $Ø��Ø�œ­¬½Ô8JÐKÐKÐKÝ˜D™	œ	��å˜F™œ�å�4‰yŒy˜HÒ$Ð$Ø—’  S¨%°·²¸HÀeÑ1LÔ1LÈcÐRÑSÔSÐSÑSà—’  S¨%°·²¸CÀÑ1HÔ1HÈ$ÐOÑPÔPÐPØ�3˜t™9œ9 q™=¨QÑ.°Ñ2Ñ2�‘ð Ð#Ø+2°<Ô+@Ñ(ˆC��e˜U DØð NØ $Ô 3°CÔ 8‘��gØWÐWÐWÐW°'°'¸$ÀÀdÄoÑ2VÔ2VÐWÑWÔW�Ø0�tÔ+¨CÔ0°Ð?¸Ð?Ð?Ð?��àŸ
š
 3¨¯ª°S¸%Ñ(@Ô(@ÀÔ(CÀfÑ(LÑMÔM�Ø$'¨¨e°U¸DÐ$@ˆG�LÑ!ð -4ð 	ð 	Ñ(ˆC��e˜U DÝ�LŠLÐ)¨3°°U½DÀ¹K¼KÍÈdÉÌÑTÔTÐTØ�d—j’jØœ=Ð5��¨g°s¸CÀÈñô ñ ˆFˆFð
 	�$—*’*˜S !Ñ$Ô$Ñ$ˆð -4ð 	 ð 	 Ñ(ˆC��e˜U DØ�d‰NˆFÝ�4‰yŒy˜1‰}ð  Ø˜%‘�øàˆrE   c                ó   — |                      ¦   «         dk    r'|                     |                      ¦   «         ¦  «         |                      ¦   «         }|                      |¦  «        }|                     |¦  «         |t	          |¦  «        z   S r½   )rÑ  Úwriterå  rë  rg   )r•   r¿  rß  rî  s       rC   ÚsavezImageFileDirectory_v2.save  sn   € Ø�7Š7‰9Œ9˜Š>ˆ>Ø�HŠH�T—]’]‘_”_Ñ%Ô%Ð%à—’‘”ˆØ—’˜fÑ%Ô%ˆØ
�Š�ÑÔÐØ�˜F™œÑ#Ð#rE   )r  NN)r  rl   rk   r  r  r  rm   r¢   )rm   rn   )r¡   rn   rm   r   ©rm   r¢   rÛ   )rm   r5  rÚ   ©r@  ry   rm   r
   ©r@  rµ   rm   rn   ©r@  ry   r¡   r
   rm   r¢   )r@  ry   r¡   r
   rý   rn   rm   r¢   )r@  ry   rm   r¢   ©rm   rv  )r  r“   rü   rl   rm   rþ   )r  r“   r  r
   rm   rl   r
  )rü   rl   rý   rn   rm   rl   )rü   rŠ  rm   rl   )rü   rl   rý   rn   rm   r“   )r¡   r“  rm   rl   )rü   rl   rý   rn   rm   r—  )r  r~   rm   rl   )r¡   rŠ  rm   rl   )r¿  rÀ  rå   ry   rm   rl   )r¿  rÀ  rm   r¢   )rm   rl   rU   )rß  ry   rm   rl   )r¿  rÀ  rm   ry   )7rÜ   rÝ   rÞ   rß   rï   Ú__annotations__rö   r§   rá   rk   rß  rý   Úsetterr"  r4  r;  r>  rD  rG  rK  rJ  ru  ry  r   r  ÚlistÚmapr  r   rb  rd  ÚSIGNED_BYTErc  re  ÚFLOATrf  ÚIFDÚLONG8rñ   rˆ  r÷   r�  r’  r–  rª  r±  r³  rµ  rº  r¾  rÆ  rà  rå  rë  rö  r?   rE   rC   rã   rã     sÄ  € € € € € € ð:ð :ðx :<€NÐ;Ð;Ð;Ñ;Ø57€OÐ7Ð7Ð7Ñ7ð 3Ø#Ø ð	%!ð %!ð %!ð %!ð %!ðN ˆXÐ/Ð/Ñ0Ô0€FØˆXÐ/Ð/Ñ0Ô0€Fàð ð  ð  ñ „Xð ð Ôðð ð ñ Ôðð(ð (ð (ð (ðð ð ð ð	
ð 	
ð 	
ð 	
ð<ð <ð <ð <ð	ð 	ð 	ð 	ð<ð <ð <ð <ð3ð 3ð 3ð 3ð\ð \ð \ð \ð|%ð %ð %ð %ð
=ð =ð =ð =ð7ð 7ð 7ð 7ð8ð 8ð 8ð 8ð 	€DØˆØà”  gÐ.Ø”  VÐ,ØÔ% s¨MÐ:ØÔ&¨¨^Ð<ØÔ% s¨MÐ:Ø”  gÐ.Ø” # xÐ0Ø”˜s FÐ+Ø”  gÐ.ð
ñ	
ô 	
ñô ð ð" Ð�a˜ÑÔðð ð ð ñ Ôðð Ð�aÑÔðð ð ñ Ôðð Ð�a˜ÑÔð1ð 1ð 1ð 1ñ Ôð1ð
 Ð�aÑÔðð ð ñ Ôðð Ð�a˜ÑÔà.2ðWð Wð Wð Wñ ÔðWð Ð�aÑÔð
ð 
ð 
ñ Ôð
ð
 Ð�a˜ÑÔðð ð ð ñ Ôðð Ð�aÑÔðð ð ñ Ôðð Ð�b˜!ÑÔà.2ðWð Wð Wð Wñ ÔðWð Ð�bÑÔð
ð 
ð 
ñ Ôð
ðð ð ð ðAð Að Að AðFð ð ð ðNð Nð Nð Nð Nð`$ð $ð $ð $ð $ð $rE   rí   rì   rë   Úwrite_c                  óª   ‡ — e Zd ZU dZdˆ fd„Z ed„ ¦  «        Z ed	„ ¦  «        Zd
ed<   	 e	dd„¦   «         Z
dd„Zdd„Zdd„Zd d„Zd!d„Zd"d„Zˆ xZS )#ÚImageFileDirectory_v1aþ  This class represents the **legacy** interface to a TIFF tag directory.

    Exposes a dictionary interface of the tags in the directory::

        ifd = ImageFileDirectory_v1()
        ifd[key] = 'Some Data'
        ifd.tagtype[key] = TiffTags.ASCII
        print(ifd[key])
        ('Some Data',)

    Also contains a dictionary of tag types as read from the tiff image file,
    :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v1.tagtype`.

    Values are returned as a tuple.

    ..  deprecated:: 3.0.0
    r–   r
   Úkwargsrm   r¢   c                óH   •—  t          ¦   «         j        |i |¤Ž d| _        d S )NT)Úsuperr§   r$  )r•   r–   r  Ú	__class__s      €rC   r§   zImageFileDirectory_v1.__init__8  s-   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØˆÔÐÐrE   c                ó   — | j         S rp   )r.  r©   s    rC   r	  zImageFileDirectory_v1.<lambda><  s   €  ¤€ rE   c                ó   — | j         S rp   )r0  r©   s    rC   r	  zImageFileDirectory_v1.<lambda>=  s   €  D¤M€ rE   zdict[int, int]r!  Úoriginalrã   c                óp   —  | |j         ¬¦  «        }|j        |_        |j        |_        |j        |_        |S )a2  Returns an
        :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`
        instance with the same data as is contained in the original
        :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`
        instance.

        :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`

        rt   )rk   r0  r!  r#  )Úclsr  rç  s      rC   Úfrom_v2zImageFileDirectory_v1.from_v2C  s:   € ð ˆc˜œÐ)Ñ)Ô)ˆØÔ(ˆŒØÔ&ˆŒØ”=ˆŒØˆ
rE   c                óÆ   — t          | j        ¬¦  «        }t          | j        ¦  «        |_        t          | j        ¦  «        |_        t          | j        ¦  «        |_        |S )a2  Returns an
        :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`
        instance with the same data as is contained in the original
        :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`
        instance.

        :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`

        rt   )rã   rk   r3  r0  r!  r/  )r•   rç  s     rC   Úto_v2zImageFileDirectory_v1.to_v2U  sN   € õ $¨4¬;Ð7Ñ7Ô7ˆÝ˜DœMÑ*Ô*ˆŒÝ˜4œ<Ñ(Ô(ˆŒÝ˜DœMÑ*Ô*ˆŒØˆ
rE   r@  rµ   rn   c                ó&   — || j         v p|| j        v S rp   )r.  r0  rF  s     rC   rG  z"ImageFileDirectory_v1.__contains__f  rH  rE   ry   c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rp   )rg   r=  r0  r.  r©   s    rC   r>  zImageFileDirectory_v1.__len__i  r?  rE   rv  c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rp   )rx  r=  r0  r.  r©   s    rC   ry  zImageFileDirectory_v1.__iter__l  rz  rE   r¡   c                ó>   — dD ]}|                       |||¦  «         Œd S ©N)FT)rJ  )r•   r@  r¡   rý   s       rC   rK  z!ImageFileDirectory_v1.__setitem__o  s4   € Ø'ð 	2ð 	2ˆJØ�MŠM˜#˜u jÑ1Ô1Ð1Ð1ð	2ð 	2rE   c           	     ó  — || j         vrQ| j        |         }| j        |         }| j        |         \  }}dD ]$}|                      | || ||¦  «        |¦  «         Œ%| j         |         }t          |t          t          f¦  «        s|f}|S r  )r.  r0  r!  rï   rJ  r¥   rr   rl   )r•   r@  rü   rB  rå   rC  Úlegacyrv   s           rC   rD  z!ImageFileDirectory_v1.__getitem__s  sž   € Ø�d”mÐ#Ð#Ø”= Ô%ˆDØ”,˜sÔ#ˆCØ Ô/°Ô4‰MˆD�'Ø'ð Hð H�Ø—’˜c 7 7¨4°°vÑ#>Ô#>ÀÑGÔGÐGÐGØŒm˜CÔ ˆÝ˜#¥¥u˜~Ñ.Ô.ð 	Ø�&ˆCØˆ
rE   )r–   r
   r  r
   rm   r¢   )r  rã   rm   r  )rm   rã   rù  rÚ   rû  rú  rø  )rÜ   rÝ   rÞ   rß   r§   rá   ÚtagsÚtagdatarü  Úclassmethodr  r  rG  r>  ry  rK  rD  Ú__classcell__©r
  s   @rC   r  r  %  s  ø€ € € € € € ðð ð$ ð  ð  ð  ð  ð  ð ˆ8Ð.Ð.Ñ/Ô/€DØˆhÐ1Ð1Ñ2Ô2€Gð ÐÐÑØ!àðð ð ñ „[ðð"ð ð ð ð"<ð <ð <ð <ð<ð <ð <ð <ð=ð =ð =ð =ð2ð 2ð 2ð 2ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
rE   r  c                  óœ   ‡ — e Zd ZdZdZdZ	 ddˆ fd„Zdd„Zedd„¦   «         Z	dd„Z
dd„Zdd„Zd d„Zd!ˆ fd„Zdd„Zdd„Zd!d„Zdd„Zˆ xZS )"ÚTiffImageFileÚTIFFz
Adobe TIFFFNr¿  úStrOrBytesPath | IO[bytes]Úfilenameústr | bytes | Nonerm   r¢   c                óX   •— |  	 |  	 t          ¦   «                              ||¦  «         d S rp   )r	  r§   )r•   r¿  r#  r
  s      €rC   r§   zTiffImageFile.__init__�  s7   ø€ ð
 	Ð*Ø5àÐ'Ø"å‰Œ×Ò˜˜XÑ&Ô&Ð&Ð&Ð&rE   c                ó  — | j                              d¦  «        }|d         dk    r|| j                              d¦  «        z  }t          |¦  «        | _        | j        j        x| _        | _        d| _        | j         | _        g | _	        d| _
        t                               d¦  «         t                               d| j        ¦  «         t                               dt          |¦  «        ¦  «         |                      d	¦  «         dS )
z#Open the first image in a TIFF filer3   r'   r  r|   Nz*** TiffImageFile._open ***z- __first: %sz	- ifh: %sr   )r¿  rÃ  rã   Útag_v2r#  Ú_TiffImageFile__firstÚ_TiffImageFile__nextÚ_TiffImageFile__frameÚ_fpÚ
_frame_posÚ	_n_framesrÕ  rÖ  r  Ú_seekrä  s     rC   Ú_openzTiffImageFile._openš  sÒ   € ð Œg�lŠl˜1‰oŒoˆØˆqŒ6�RŠ<ˆ<Ø�4”7—<’< ‘?”?Ñ"ˆCå+¨CÑ0Ô0ˆŒð &*¤[Ô%5Ð5ˆŒ�t”{ØˆŒØ”7ˆŒØ%'ˆŒØ%)ˆŒå�ŠÐ2Ñ3Ô3Ð3Ý�Š�_ d¤lÑ3Ô3Ð3Ý�Š�[¥$ s¡)¤)Ñ,Ô,Ð,ð 	�
Š
�1‰ŒˆˆˆrE   ry   c                óD  — | j         }|€ˆ|                      ¦   «         }|                      t          | j        ¦  «        ¦  «         | j         €1|                      |                      ¦   «         dz   ¦  «         | j         ®1|                      |¦  «         | j         €J ‚| j         S )Nr   )r-  rÑ  r.  rg   r,  r×  )r•   Úcurrent_n_framesÚcurrents      rC   Ún_frameszTiffImageFile.n_frames²  s‘   € àœ>ÐØÐ#Ø—i’i‘k”kˆGØ�JŠJ•s˜4œ?Ñ+Ô+Ñ,Ô,Ð,Ø”.Ð(Ø—
’
˜4Ÿ9š9™;œ;¨™?Ñ+Ô+Ð+ð ”.Ð(à�IŠI�gÑÔÐØŒ~Ð)Ð)Ð)ØŒ~ÐrE   Úframec                óä   — |                       |¦  «        sdS |                      |¦  «         | j        �:| j        j        | j        k    s| j        j        | j        k    s| j        rd| _        dS dS dS )z%Select a given frame as current imageN)Ú_seek_checkr.  Ú_imÚimrå   Ú
_tile_sizeÚmodeÚreadonly)r•   r4  s     rC   r×  zTiffImageFile.seek¾  s~   € à×Ò Ñ&Ô&ð 	ØˆFØ�
Š
�5ÑÔÐØŒ8ÐØŒGŒL˜DœOÒ+Ð+ØŒwŒ|˜tœyÒ(Ð(ØŒ}ð )ð ˆDŒHˆHˆHð  Ðà(Ð(rE   c                óØ  — t          | j        t          ¦  «        r| j        j        ‚| j        | _        t          | j        ¦  «        |k    �r”| j        sd}t          |¦  «        ‚t           
                    d|| j        | j        | j                             ¦   «         ¦  «         | j        dk    rd}t          |¦  «        ‚| j                             | j        ¦  «         | j                             | j        ¦  «         t           
                    d| j                             ¦   «         ¦  «         | j                             | j        ¦  «         | j        j        | j        v rd| _        n| j        j        | _        | j        dk    r
|dz   | _        t          | j        ¦  «        dk    r| j        dk    | _        | xj        dz  c_        t          | j        ¦  «        |k    �°”| j                             | j        |         ¦  «         | j                             | j        ¦  «         t*          | j        v rM| j        t*                   }t          |t,          ¦  «        rt          |¦  «        dk    r|d         }|| j        d<   nd| j        v r| j        d= |                      ¦   «          t2                               | j        ¦  «        x| _        | _        || _        |                      ¦   «          d S )	Nzno more images in TIFF filez9Seeking to frame %s, on frame %s, __next %s, location: %sl            zUnable to seek to framezLoading tags, location: %sr   r   Úxmp)r¥   r+  r   Úexr¿  rg   r,  r)  ÚEOFErrorrÕ  rÖ  r*  rÑ  rj  r×  rì  r'  rà  r#  r-  Úis_animatedÚXMPrr   r\  Ú_reload_exifr  r  r@  rç  Ú_setup)r•   r4  r%  r=  s       rC   r.  zTiffImageFile._seekÊ  s‚  € Ý�d”h¥Ñ.Ô.ð 	Ø”(”+ÐØ”(ˆŒå�$”/Ñ"Ô" eÒ+Ñ+Ø”;ð $Ø3�Ý˜s‘m”mÐ#Ý�LŠLØKØØ”Ø”Ø”—’‘”ñô ð ð Œ{˜eÒ#Ð#Ø/�Ý  ‘o”oÐ%ØŒG�LŠL˜œÑ%Ô%Ð%ØŒO×"Ò" 4¤;Ñ/Ô/Ð/Ý�LŠLÐ5°t´w·|²|±~´~ÑFÔFÐFØŒK×Ò˜TœWÑ%Ô%Ð%ØŒ{Ô 4¤?Ð2Ð2ð  �”�à"œkÔ.�”ØŒ{˜aÒÐØ!&¨¡�”Ý�4”?Ñ#Ô# qÒ(Ð(Ø#'¤;°!Ò#3�Ô ØˆLŒL˜AÑˆLŒLõ9 �$”/Ñ"Ô" eÒ+Ñ+ð: 	Œ�Š�T”_ UÔ+Ñ,Ô,Ð,ØŒ×Ò˜œÑ!Ô!Ð!Ý�$”+ÐÐØ”+�cÔ"ˆCÝ˜#�uÑ%Ô%ð ­#¨c©(¬(°aª-¨-Ø˜!”f�Ø"ˆDŒI�eÑÐØ�d”iÐÐØ”	˜%Ð Ø×ÒÑÔÐå3×;Ò;¸D¼KÑHÔHÐHˆŒ�4”8ØˆŒØ�Š‰ŒˆˆˆrE   c                ó   — | j         S )zReturn the current frame number)r*  r©   s    rC   rÑ  zTiffImageFile.tellû  s
   € àŒ|ÐrE   údict[int, dict[str, bytes]]c                óæ  — i }| j                              t          j        j        ¦  «        }|rÃ|                     d¦  «        r®t          |dd…         ¦  «        }t          j        |d         dz   dz  ¦  «        dz  }t          |d|z   d|z   …         ¦  «        }|d|z   d|z   |z   …         }d|i||<   |t          j        d|z   |z   dz  ¦  «        dz  d…         }|                     d¦  «        °®|S )	a5  
        Returns a dictionary of Photoshop "Image Resource Blocks".
        The keys are the image resource ID. For more information, see
        https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_pgfId-1037727

        :returns: Photoshop "Image Resource Blocks" in a dictionary.
        s   8BIMr+   r/   r   r'   r¶  rü   N)
r'  rÓ  r   ÚBaseÚImageResourcesrq   Úi16ÚmathÚceilÚi32)r•   Úblocksrv   ÚidÚnrå   rü   s          rC   Úget_photoshop_blocksz"TiffImageFile.get_photoshop_blocksÿ  s  € ð ˆØŒk�oŠo�hœmÔ:Ñ;Ô;ˆØð 	@Ø—.’. Ñ)Ô)ð @Ý˜˜Q˜q˜Sœ‘]”]�Ý”I˜s 1œv¨™z¨QÑ.Ñ/Ô/°!Ñ3�Ý˜3˜q 1™u r¨A¡v˜~Ô.Ñ/Ô/�Ø˜2 ™6 B¨¡F¨T¡MÐ1Ô2�Ø$ d˜^��r‘
à�$œ) R¨!¡V¨d¡]°aÑ$7Ñ8Ô8¸1Ñ<Ð>Ð>Ô?�ð —.’. Ñ)Ô)ð @ð ˆrE   úImage.core.PixelAccess | Nonec                óˆ   •— | j         r| j        r|                      ¦   «         S t          ¦   «                              ¦   «         S rp   )ÚtileÚuse_load_libtiffÚ_load_libtiffr	  rà  )r•   r
  s    €rC   rà  zTiffImageFile.load  s;   ø€ ØŒ9ð 	(˜Ô.ð 	(Ø×%Ò%Ñ'Ô'Ð'Ý‰wŒw�|Š|‰~Œ~ÐrE   c                óâ   — | j         €Ht          j        | j        ¦  «         t          j                             | j        | j        ¦  «        | _        t          j         	                    | ¦  «         d S rp   )
r7  r   Ú_decompression_bomb_checkr9  ÚcoreÚnewr:  r8  r   Úload_preparer©   s    rC   rZ  zTiffImageFile.load_prepare  sU   € ØŒ8ÐÝÔ+¨D¬OÑ<Ô<Ð<Ý”j—n’n T¤Y°´Ñ@Ô@ˆDŒGÝÔ×(Ò(¨Ñ.Ô.Ð.Ð.Ð.rE   c                ó*  — | j         sDd| _        |                      ¦   «         }t          j        D ]}||vrŒ|                     |¦  «         Œt          j        | d¬¦  «         t          j	        j
        | j        v r| j        t          j	        j
        = d S d S )NT)Úin_place)r@  Ú!_close_exclusive_fp_after_loadingÚgetexifr   ÚTAGS_V2_GROUPSÚget_ifdr   Úexif_transposer   rG  ÚOrientationr'  )r•   ÚexifÚkeys      rC   Úload_endzTiffImageFile.load_end  sž   € ð Ôð 	"Ø59ˆDÔ2ð —<’<‘>”>ˆDÝÔ.ð "ð "�Ø˜d�?�?ØØ—’˜SÑ!Ô!Ð!Ð!åÔ ¨tÐ4Ñ4Ô4Ð4ÝŒ=Ô$¨¬Ð3Ð3Ø”�HœMÔ5Ð6Ð6Ð6ð 4Ð3rE   c                óà  — t           j                              | ¦  «         |                      ¦   «          t          | j        ¦  «        dk    sd}t          |¦  «        ‚| j        d         d         }| j        d         d         }	 t          | j        d¦  «        o| j                             ¦   «         }t          | j        d¦  «        r| j         	                    ¦   «          n# t
          $ r d}Y nw xY w|r:t          |t          ¦  «        sJ ‚t          |¦  «        }||d<   t          |¦  «        }t          j        | j        d	|| j        ¦  «        }	 |                     | j        |¦  «         n$# t$          $ r}d
}t          |¦  «        |‚d}~ww xY w| j        o| j         }t          | j        d¦  «        rJt*                               d¦  «         |                     | j                             ¦   «         ¦  «        \  }	}
nô|r�t*                               d¦  «         |s| j                             d¦  «         t5          j        |dt4          j        ¦  «        }|                     d¦  «        \  }	}
t5          j        ||t4          j        ¦  «         nct*                               d¦  «         | j                             d¦  «         |                     | j                             ¦   «         ¦  «        \  }	}
g | _        d| _        |                       ¦   «          |r | j         !                    ¦   «          d| _        |
dk     rd|
› �}t          |¦  «        ‚t           j                              | ¦  «        S )zWOverload method triggered when we detect a compressed tiff
        Calls out to libtiffr   zNot exactly one tiler   r)   ÚfilenoÚflushFr'   ÚlibtiffzCouldn't set the imageNÚgetvaluez5have getvalue. just sending in a string from getvaluez3have fileno, calling fileno version of the decoder.s   fpfpz+don't have fileno or getvalue. just readingzdecoder error )"r   rà  rZ  rg   rS  rÄ  râ   r¿  rg  rh  r¥   rr   rþ  Ú_getdecoderr:  ÚdecoderconfigÚsetimager8  rj  Ú_exclusive_fpr@  rÕ  rÖ  r‘  rj  r×  ÚosÚlseekÚSEEK_CURÚSEEK_SETrÃ  r;  re  Úclose)r•   r%  Úextentsr–   r¿  Ú	args_listÚdecoderÚeÚclose_self_fprO  ÚerrÚposs               rC   rU  zTiffImageFile._load_libtiff0  s#  € õ 	Œ×Ò˜ÑÔÐà×ÒÑÔÐå�4”9‰~Œ~ Ò"Ð"Ø(ˆCÝ˜#‘,”,Ðð ”)˜A”,˜q”/ˆØŒy˜Œ|˜AŒˆð

	Ý˜œ (Ñ+Ô+Ð@°´·²Ñ0@Ô0@ˆBõ �t”w Ñ(Ô(ð  Ø”—’‘”�øøÝð 	ð 	ð 	ð ˆBˆBˆBð	øøøð
 ð 	$Ý˜d¥EÑ*Ô*Ð*Ð*Ð*Ý˜T™
œ
ˆIØˆI�a‰LÝ˜Ñ#Ô#ˆDåÔ# D¤I¨y¸$ÀÔ@RÑSÔSˆð	&Ø×Ò˜TœW gÑ.Ô.Ð.Ð.øÝð 	&ð 	&ð 	&Ø*ˆCÝ˜#‘,”, AÐ%øøøøð	&øøøð Ô*ÐC°4Ô3CÐ/CˆÝ�4”7˜JÑ'Ô'ð !	4õ �LŠLÐPÑQÔQÐQØ—^’^ D¤G×$4Ò$4Ñ$6Ô$6Ñ7Ô7‰FˆAˆsˆsØð 	4å�LŠLÐNÑOÔOÐOØ ð  Ø”—’˜Q‘”�õ ”(˜2˜q¥"¤+Ñ.Ô.ˆCà—^’^ GÑ,Ô,‰FˆAˆsÝŒH�R˜�bœkÑ*Ô*Ð*Ð*õ �LŠLÐFÑGÔGÐGØŒG�LŠL˜‰OŒOˆOà—^’^ D¤G§L¢L¡N¤NÑ3Ô3‰FˆAˆsàˆŒ	ØˆŒà�Š‰Œˆàð 	ØŒG�MŠM‰OŒOˆOØˆDŒGà�Š7ˆ7Ø( 3Ð(Ð(ˆCÝ˜#‘,”,ÐåŒ{×Ò Ñ%Ô%Ð%s+   ÂAC! Ã!C0Ã/C0ÅE- Å-
FÅ7F	Æ	Fc                ó
  — d| j         v rd}t          |¦  «        ‚t          | j                              t          d¦  «                 | _        | j                              t          d¦  «        | _        | j                              t          d¦  «        }| j        dk    rd}| j                              t          d¦  «        }t                               d¦  «         t                               d| j        ¦  «         t                               d	|¦  «         t                               d
| j        ¦  «         t                               d|¦  «         t                               d| j                              t          ¦  «        ¦  «         	 | j         t                   }| j         t                   }n$# t          $ r}d}t!          |¦  «        |‚d}~ww xY wt#          |t$          ¦  «        rt#          |t$          ¦  «        sd}t'          |¦  «        ‚||f| _        | j                              t*          j        j        ¦  «        }|dv r
||f| _        n	||f| _        t                               d| j        ¦  «         | j                              t4          d¦  «        }t7          |¦  «        dk    r,t9          |¦  «        t;          |¦  «        cxk    rdk    rn nd}| j                              t<          d¦  «        }	| j                              t>          d¦  «        }
|dv rd}n|dk    rd}nd}|t7          |
¦  «        z  }t7          |	¦  «        }| j                              t@          | j        dk    r|dv rdnd¦  «        }|tB          k    r,t           "                    d|¦  «         d}tG          |¦  «        ‚||k     r|	d|…         }	n||k    r|dk    r|	|z  }	t7          |	¦  «        |k    rd}tG          |¦  «        ‚| j         j$        ||||	|
f}t                               d|¦  «         	 tJ          |         \  | _&        }n># t          $ r1}t                               d¦  «         d}tG          |¦  «        |‚d}~ww xY wt                               d|¦  «         t                               d | j'        ¦  «         | j        | j(        d!<   | j                              tR          d¦  «        }| j                              tT          d¦  «        }|rt|rr| j                              tV          ¦  «        }|d"k    r||f| j(        d#<   n@|dk    r|d$z  |d$z  f| j(        d#<   n'|€||f| j(        d#<   ||f| j(        d%<   n||f| j(        d%<   dx}x}}g | _,        tZ          p
| j        d&k    | _.        | j.        râ|d"k    rH|dd…         dz   |dd…         z   }t                               d|¦  «         tJ          |         \  | _&        }|dk    r| j        d'k    r| j        dk    rd(}n+|d)k    rd*}n"| /                    d+¦  «        r|dd,…         d-z   }|| j        d.| j         j0        f}| j,         1                    te          j3        d/dd||fd|¦  «        ¦  «         �nth          | j         v stj          | j         v �r½th          | j         v r5| j         th                   }| j                              tl          |¦  «        }|}n�| j         tj                   }| j                              tn          ¦  «        }| j                              tp          ¦  «        }t#          |t$          ¦  «        rt#          |t$          ¦  «        sd0}t'          |¦  «        ‚|}||k    r||k    r| j        d"k    r
|d,d…         }|D ]È}||z   |k    r|ts          |	¦  «        z  d1z  }nd}|}| j        d"k    r||         }||z  }|t%          |¦  «        df}| j,         1                    te          j3        | j        ||t;          ||z   |¦  «        t;          ||z   |¦  «        f||¦  «        ¦  «         ||z  }||k    rd||z   }}||k    rd}|dz  }ŒÉn+t                               d2¦  «         d}tG          |¦  «        ‚tt          | j         v r| j         tt                   | j(        d3<   | j'        d4v rKd5„ | j         tv                   D ¦   «         }ty          j=        d6d7 >                    |¦  «        ¦  «        | _?        dS dS )8z-Setup this image object based on current tagsi¼  z+Windows Media Photo files not yet supportedr   r   r0   r/   z*** Summary ***z- compression: %sz - photometric_interpretation: %sz- planar_configuration: %sz- fill_order: %sz- YCbCr subsampling: %szMissing dimensionsNzInvalid dimensions)r-   r/   r1   r3   z
- size: %srF   r?   )r'   r/   r3   r)   r-   r+   )r'   r/   z.More samples per pixel than can be decoded: %sz#Invalid value for samples per pixelzunknown data organizationzformat key: %sz- unsupported formatzunknown pixel modez- raw mode: %sz- pil mode: %sÚcompressionr'   ÚdpigR¸…ëQ@Ú
resolutionr&   r2   rS   rJ   úI;16N)z;16Bz;16Lr|   ÚNFri  zInvalid tile dimensionsr3   z- unsupported data organizationÚicc_profile©r_   ra   c                ó2   — g | ]}t          |d z  ¦  «        ‘ŒS ©r#   r   )r@   r€  s     rC   rX  z(TiffImageFile._setup.<locals>.<listcomp>~  s"   € ÐCÐCÐC¨•r˜!˜s™(‘|”|ÐCÐCÐCrE   úRGB;LrE   )@r'  rÄ  ÚCOMPRESSION_INFOrÓ  ÚCOMPRESSIONÚ_compressionÚPLANAR_CONFIGURATIONÚ_planar_configurationÚPHOTOMETRIC_INTERPRETATIONÚ	FILLORDERrÕ  rÖ  ÚYCBCRSUBSAMPLINGÚ
IMAGEWIDTHÚIMAGELENGTHrÔ  Ú	TypeErrorr¥   ry   rj  r9  r   rG  rb  Ú_sizerå   ÚSAMPLEFORMATrg   rŽ   r�   ÚBITSPERSAMPLEÚEXTRASAMPLESÚSAMPLESPERPIXELÚMAX_SAMPLESPERPIXELÚerrorr  rk   Ú	OPEN_INFOÚ_moder:  r\  ÚX_RESOLUTIONÚY_RESOLUTIONÚRESOLUTION_UNITrS  ÚREAD_LIBTIFFrT  r�  rß  rì  r   Ú_Tilerê  ÚTILEOFFSETSÚROWSPERSTRIPÚ	TILEWIDTHÚ
TILELENGTHÚsumÚ
ICCPROFILEÚCOLORMAPr   r&   r  Úpalette) r•   r%  ÚphotoÚ	fillorderÚxsizeÚysizerw  ÚorientationÚsample_formatÚ	bps_tupleÚextra_tupleÚ	bps_countÚbps_actual_countÚsamples_per_pixelrd  ÚrawmodeÚxresÚyresÚresunitÚxÚyÚlayerr™  Úoffsetsr�  ÚwÚ	tilewidthrß  ÚstrideÚtile_rawmoder–   r¦  s                                    rC   rC  zTiffImageFile._setup�  s&	  € ð �T”[Ð Ð Ø?ˆCÝ˜#‘,”,Ðõ -¨T¬[¯_ª_½[È!Ñ-LÔ-LÔMˆÔØ%)¤[§_¢_Õ5IÈ1Ñ%MÔ%MˆÔ"ð ”—’Õ :¸AÑ>Ô>ˆð Ô Ò+Ð+ØˆEà”K—O’O¥I¨qÑ1Ô1ˆ	å�ŠÐ&Ñ'Ô'Ð'Ý�ŠÐ(¨$Ô*;Ñ<Ô<Ð<Ý�ŠÐ7¸Ñ?Ô?Ð?Ý�ŠÐ1°4Ô3MÑNÔNÐNÝ�ŠÐ'¨Ñ3Ô3Ð3Ý�ŠÐ.°´·²Õ@PÑ0QÔ0QÑRÔRÐRð	(Ø”K¥
Ô+ˆEØ”K¥Ô,ˆEˆEøÝð 	(ð 	(ð 	(Ø&ˆCÝ˜C‘.”. aÐ'øøøøð	(øøøõ ˜%¥Ñ%Ô%ð 	"­Z¸½sÑ-CÔ-Cð 	"Ø&ˆCÝ˜S‘/”/Ð!Ø ˜,ˆŒØ”k—o’o¥h¤mÔ&?Ñ@Ô@ˆØ˜,Ð&Ð&Ø ˜ˆDŒJˆJà ˜ˆDŒJå�Š�\ 4¤9Ñ-Ô-Ð-àœŸš­°dÑ;Ô;ˆÝˆ}ÑÔ Ò!Ð!¥c¨-Ñ&8Ô&8½CÀÑ<NÔ<NÐ&SÐ&SÒ&SÐ&SÐRSÒ&SÐ&SÐ&SÐ&SÐ&Sð !ˆMà”K—O’O¥M°4Ñ8Ô8ˆ	Ø”k—o’o¥l°BÑ7Ô7ˆØ�IÐÐØˆIˆIØ�aŠZˆZØˆIˆIàˆIØ•S˜Ñ%Ô%Ñ%ˆ	Ý˜y™>œ>ÐØ œKŸOšOÝØÔ" kÒ1Ð1°e¸v°o°oˆAˆAÈ1ñ
ô 
Ðð
 Õ2Ò2Ð2å�LŠLØ@ÐBSñô ð ð 8ˆCÝ˜cÑ"Ô"Ð"àÐ/Ò/Ð/ð "Ð"4Ð#4Ð"4Ô5ˆIˆIØÐ!1Ò1Ð1Ð6FÈ!Ò6KÐ6Kð "Ð$5Ñ5ˆIåˆy‰>Œ>Ð.Ò.Ð.Ø-ˆCÝ˜cÑ"Ô"Ð"ð ŒKÔØØØØØð
ˆõ 	�ŠÐ% sÑ+Ô+Ð+ð	*Ý"+¨C¤.ÑˆDŒJ˜˜øÝð 	*ð 	*ð 	*Ý�LŠLÐ/Ñ0Ô0Ð0Ø&ˆCÝ˜cÑ"Ô"¨Ð)øøøøð	*øøøõ
 	�ŠÐ% wÑ/Ô/Ð/Ý�ŠÐ% t¤yÑ1Ô1Ð1à#'Ô#4ˆŒ	�-Ñ àŒ{�Š�|¨QÑ/Ô/ˆØŒ{�Š�|¨QÑ/Ô/ˆàð 	5�Dð 	5Ø”k—o’o¥oÑ6Ô6ˆGØ˜!Š|ˆ|Ø$(¨$ <�”	˜%Ñ Ð Ø˜A’�Ø$(¨4¡K°¸±Ð#=�”	˜%Ñ Ð Ø�Ø$(¨$ <�”	˜%Ñ ð +/°¨*�”	˜,Ñ'Ð'à*.°¨*�”	˜,Ñ'ð ÐˆÐˆA�ØˆŒ	Ý ,Ð J°Ô0AÀUÒ0JˆÔØÔ ð ^	#ð ˜AŠ~ˆ~à˜"˜1˜"”g ‘n s¨1¨2¨2¤wÑ.�Ý—’Ð-¨sÑ3Ô3Ð3õ '0°¤nÑ#�”
˜Gð ˜’
�
ØÔ%¨Ò/Ð/ØÔ.°!Ò3Ð3à��ð
 ˜FÒ"Ð"Ø!��Ø×!Ò!Ð"2Ñ3Ô3ð -Ø! # 2 #œ,¨Ñ,�ð ˜$Ô+¨U°D´KÔ4FÐGˆAØŒI×Ò�Yœ_¨Y¸¸A¸uÀeÐ8LÈaÐQRÑSÔSÑTÔTÐTÑTå˜Tœ[Ð(Ð(­K¸4¼;Ð,FÑ,Få˜tœ{Ð*Ð*Øœ+¥lÔ3�Ø”K—O’O¥L°%Ñ8Ô8�Ø��ð œ+¥kÔ2�Ø œKŸOšO­IÑ6Ô6�	Ø”K—O’O¥JÑ/Ô/�Ý! )­SÑ1Ô1ð *½ÀAÅsÑ9KÔ9Kð *Ø3�CÝ$ S™/œ/Ð)Ø�à�EŠzˆz˜a 5šj˜j¨TÔ-GÈ1Ò-LÐ-Là! " # #œ,�à!ð #ð #�Ø�q‘5˜5’=�=Ø¥ Y¡¤Ñ/°!Ñ3�F�Fà�Fà&�ØÔ-°Ò2Ð2à#*¨5¤>�Là˜iÑ'�Fà$¥c¨&¡k¤k°1Ð5�Ø”	× Ò Ý”OØÔ)Ø˜A�s 1 q¡5¨%Ñ0Ô0µ#°a¸!±e¸UÑ2CÔ2CÐDØØñ	ô ñô ð ð �Q‘�Ø˜’:�:Ø˜a !™e�q�AØ˜E’z�zØ˜Ø ™
˜øð7#õ: �LŠLÐ:Ñ;Ô;Ð;Ø-ˆCÝ˜cÑ"Ô"Ð"õ ˜œÐ$Ð$Ø'+¤{µ:Ô'>ˆDŒI�mÑ$ð Œ9˜Ð#Ð#ØCÐC¨T¬[½Ô-BÐCÑCÔCˆGÝ'Ô+¨G°S·X²X¸gÑ5FÔ5FÑGÔGˆDŒLˆLˆLð $Ð#s0   Æ$F+ Æ+
GÆ5GÇGÐ!P7 Ð7
Q2Ñ,Q-Ñ-Q2rp   )r¿  r"  r#  r$  rm   r¢   r÷  rÚ   )r4  ry   rm   r¢   )rm   rE  )rm   rQ  )rÜ   rÝ   rÞ   ÚformatÚformat_descriptionr]  r§   r/  rá   r3  r×  r.  rÑ  rP  rà  rZ  re  rU  rC  r  r  s   @rC   r   r   ˆ  s`  ø€ € € € € Ø€FØ%ÐØ(-Ð%ð
 (,ð'ð 'ð 'ð 'ð 'ð 'ð 'ðð ð ð ð0 ð	ð 	ð 	ñ „Xð	ð
ð 
ð 
ð 
ð/ð /ð /ð /ðbð ð ð ðð ð ð ð*ð ð ð ð ð ð
/ð /ð /ð /ð7ð 7ð 7ð 7ð"^&ð ^&ð ^&ð ^&ð@oHð oHð oHð oHð oHð oHð oHð oHrE   r   rG   rH   rR   r_   ra   rM   rQ   rJ   úI;16LrO   rP   rS   rV   rT   rb   ÚYCbCrre   rL   r8  úImage.Imager¿  rÀ  r#  ústr | bytesc                ó  — 	 t           | j                 \  }}}}}}n-# t          $ r }	d| j        › d�}
t          |
¦  «        |	‚d }	~	ww xY w| j        }| j        }t          |¬¦  «        }|                     d¦  «        rd|_        	 |d         }nA# t          $ r4 | j	                             d¦  «        }t          |t          ¦  «        rd }Y nw xY w|€d}n|dk    rd	}n|d
k    rd}t          p|dk    }d|t          <   | j        d         |t          <   | j        d         |t           <   d|v r	|d         }nNd|v rH|d         }t          |t"          ¦  «        r*t%          j        ¦   «         }|                     |¦  «         |}ni }t*                               dt/          |¦  «        ¦  «         t          |t0          ¦  «        r|                     ¦   «         }|D ]�}t          |t$          j        ¦  «        r'|t4          j        v r|                     |¦  «        ||<   n|                     |¦  «        ||<   	 |j        |         |j        |<   Œr# t<          $ r Y Œ~w xY wi }t?          | d¦  «        r| j                              ¦   «         }i |¥tC          | di ¦  «        ¥}tD          tF          fD ]	}||v r||= Œ
t?          | d¦  «        r•tH          tJ          tL          tN          tP          tR          fD ]n}|| j*        v rc|tN          k    r.| j*        j        |         t4          j+        t4          j,        fvr||= ŒD| j*        |         ||<   | j*        j        |         |j        |<   Œo|                     d| j	                             d¦  «        ¦  «        }|r
||tZ          <   t\          dftJ          dftL          dftJ          dftL          dftH          dft^          dft`          dftb          dftd          dff
D ]\  }}||v r||         ||<   Œ|                     d¦  «        }|r*d|tH          <   |d         |tJ          <   |d         |tL          <   |dk    r4||tf          <   ti          |¦  «        dk    rti          |¦  «        |tj          <   |�
||tl          <   |dk    r
||tF          <   tn          |vr||tn          <   n«| j        d v r¢|tn                   dk    r‘| j        d!k    rr|  8                    ¦   «         }|                     ¦   «         }|�Gts          |j:        ¦  «        D ]0}ts          |j;        ¦  «        D ]}|||f         d"k    rdnd"|||f<   ŒŒ1|} nty          j=        | ¦  «        } | j        d#v rw| j>         ?                    d$d%¦  «        }g }ti          |¦  «        d&z  }ts          d&¦  «        D ].} |d'„ ||| z  || dz   z  …         D ¦   «         z  }|dgd(|z
  z  z  }Œ/||t€          <   |t                   |t                    }"}!ti          |¦  «        |!|d         z  d)z   d*z  z  }#t‚          |vrl|rV|                     d+t„          ¦  «        }$|#dk    rdnt‡          |$|#z  |"¦  «        }%|d	k    rt‡          |%d)z   d*z  d*z  |"¦  «        }%n|"}%|%dk    rd}%|%|t‚          <   |#dk    rdn|#|t‚                   z  }&|"|t‚                   z   dz
  |t‚                   z  }'|&d,k    rt4          jD        |j        tŠ          <   |&f|'dz
  z  |#|"z  |&|'dz
  z  z
  fz   |tŠ          <   t�          ts          d|&|'z  |&¦  «        ¦  «        |tŽ          <   t�                               |d¦  «        |t’          <   | j        d-k    r>t”          d.t–          d/i L                    ¦   «         D ]\  }}(| M                    ||(¦  «         Œtœ          tž          t           t¢          g})|�rød0|v r[|d0         }*t          |*t          ¦  «        r|*dk     s|*d1k    rd2}
t¥          |
¦  «        ‚|d	k    rd3}
t¥          |
¦  «        ‚|*|t¦          <   t*                               d4¦  «         t*                               d5t©          | L                    ¦   «         ¦  «        ¦  «         d}+t?          |d6¦  «        r@	 | U                    d¦  «         | V                    ¦   «         }+n# t®          jX        $ r Y nw xY wi },|)t²          t–          tŠ          tŽ          t´          t¶          gz  })tf          |d         i}-t¹          j]        | L                    ¦   «         | L                    ¦   «         ¦  «        D �]\  }}.|t4          j^        vr�tC          t$          j_        d7d8¦  «        sŒ0|t4          j        v rt4          j`        |,|<   nc||j        v r|j        |         |,|<   nIt          |.t          tÂ          tÄ          t"          f¦  «        sŒ‘t5          jc        |¦  «        jd        }/|/r|/|,|<   ||-vrd||)vr`t          |.tÄ          ¦  «        r|. e                    d9d:¦  «        d;z   |-|<   Œët          |.tÌ          ¦  «        rtÃ          |.¦  «        |-|<   �Œ|.|-|<   �ŒtF          |-v r9ti          |-tF                   ¦  «        dk    r|-tF                   d         |-tF          <   t*                               d<t©          |- L                    ¦   «         ¦  «        ¦  «         | j        d=v rd>}t/          |- L                    ¦   «         ¦  «        }0|0 g                    ¦   «          |||+||0|,f}1t%          jh        | j        d?|1|¦  «        }2|2 i                    | j>        d@| j        z   ¦  «         	 |2 e                    tÔ          jk        ¦  «        dd …         \  }3}4|+s| l                    |4¦  «         |3rnŒE|3dk     rdA|3› dB�}
t          |
¦  «        ‚nT|)D ]}||= Œ| m                    |¦  «        }5tÕ          jn        | |tÕ          jo        dd@| j        z   |5||#df¦  «        g¦  «         dC|v rtá          | dC|¦  «         d S d S )DNzcannot write mode z as TIFFrt   Úbig_tiffTr|  r&   r0   r2   r8   r4   r   r   Útiffinforc  zTiffinfo Keys: %sr@  r'  r�  Údescriptionr~  Úx_resolutionÚy_resolutionÚresolution_unitÚsoftwareÚ	date_timeÚartistÚ	copyrightr}  r'   rF   )rG   rH   rG   r"   r‚  rS   r…  r)   c                ó   — g | ]}|d z  ‘ŒS r„  r?   rN  s     rC   rX  z_save.<locals>.<listcomp>7  s   € ÐMÐMÐM Q˜˜S™ÐMÐMÐMrE   r#   r1   r3   Ú
strip_sizer!   rÁ  )r   r   )r   r"   é€   r"   rÑ  r"   Úqualityéd   zInvalid quality settingz5quality setting only supported for 'jpeg' compressionzSaving using libtiff encoderz	Items: %srg  rj   FrV  rî   r�  zConverted items: %s)rJ   rL   rÀ  r  ri  rW   zencoder error z when writing image fileÚ_debug_multipage)qÚ	SAVE_INFOr:  rÔ  rÄ  ÚencoderinfoÚencoderconfigrã   rÓ  r   r\  r¥   ry   ÚWRITE_LIBTIFFr‰  rå   rŽ  r�  rl   r   ÚExifrà  rÕ  rÖ  rþ  r  r  r   r_  r`  r!  r,  râ   r@  rš   ÚEXIFIFDr’  rœ  rš  r›  ÚIPTC_NAA_CHUNKÚPHOTOSHOP_CHUNKrA  r'  rh  r^  r¤  ÚIMAGEDESCRIPTIONÚSOFTWAREÚ	DATE_TIMEÚARTISTÚ	COPYRIGHTr“  rg   r•  r”  r‹  ÚcopyrÒ  ÚheightÚwidthr   Úinvertr8  Ú
getpaletter¥  r   Ú
STRIP_SIZEr�   rd  ÚSTRIPBYTECOUNTSrr   rê  ÚCOMPRESSION_INFO_REVr‡  r�  ÚREFERENCEBLACKWHITEr:  Ú
setdefaultr¡  r¢  rŸ  ÚTILEBYTECOUNTSrj  ÚJPEGQUALITYré  r×  rg  ÚioÚUnsupportedOperationÚOSUBFILETYPEÚTRANSFERFUNCTIONÚSUBIFDÚ	itertoolsÚchainÚLIBTIFF_CORErX  r  r‡   r“   r8  r]  rW  r~   ÚsortÚ_getencoderrm  r   ÚMAXBLOCKrõ  rö  Ú_saverž  Úsetattr)6r8  r¿  r#  r²  rk   r§  r¾  ÚbitsÚextrarw  r%  rÖ  r×  rç  r|  ri  r\  rc  rd  Ú
legacy_ifdÚsupplied_tagsr@  Úiccr  r}  Úinverted_imÚpxr·  r¶  ÚlutÚcolormapÚcolorsr‰   rº  r�  r¼  Úim_strip_sizeÚrows_per_stripÚstrip_byte_countsÚstrips_per_imageÚdefault_valueÚ	blocklistrÒ  r+  ÚtypesÚattsr¡   r]  r  r™  ÚencoderÚerrcoderü   rß  s6                                                         rC   rù  rù  Ÿ  sî  € ð"Ý6?ÀÄÔ6HÑ3ˆ�˜ ¨¨e¨eøÝð "ð "ð "Ø4 2¤7Ð4Ð4Ð4ˆÝ�c‰lŒl Ð!øøøøð"øøøð ”.€KØÔ$€Må
 vÐ
.Ñ
.Ô
.€CØ‡‚�zÑ"Ô"ð ØˆŒðØ! -Ô0ˆˆøÝð ð ð Ø”g—k’k -Ñ0Ô0ˆÝ�k¥3Ñ'Ô'ð 	àˆKøøð	øøøð
 ÐØˆˆØ	˜Ò	#Ð	#àˆˆØ	˜Ò	&Ð	&Ø*ˆåÐ3˜{¨eÒ3€Gð !"€CÕÑà”g˜a”j€C�
�OØ”w˜q”z€C�Ñð �[Ð Ð Ø˜:Ô&ˆˆØ	�;Ð	Ð	Ø˜6Ô"ˆÝ�d�EÑ"Ô"ð 	Ý”:‘<”<ˆDØ�IŠI�d‰OŒOˆOØˆDøàˆÝ
‡L‚LÐ$¥d¨4¡j¤jÑ1Ô1Ð1Ý�$Õ-Ñ.Ô.ð Ø�zŠz‰|Œ|ˆØð ð ˆÝ�d�EœJÑ'Ô'ð 	%¨Cµ8Ô3JÐ,JÐ,JØ—|’| CÑ(Ô(ˆC�‰HˆHà—x’x ‘}”}ˆC�‰Hð	Ø#œ|¨CÔ0ˆCŒK˜ÑÐøÝð 	ð 	ð 	ØˆDð	øøøð €JÝˆr�5ÑÔð $Ø”V—\’\‘^”^ˆ
à?�zÐ?¥W¨R°¸2Ñ%>Ô%>Ð?€Mõ 	åð	ð #ð #ˆð �-ÐÐØ˜cÐ"øõ ˆr�8ÑÔð >õ ÝÝÝÝÝð
ð 	>ð 	>ˆCð �b”iÐÐØ�.Ò(Ð(¨R¬YÔ->¸sÔ-CÝ”MÝÔ&ðLð .ð .ð & cÐ*Ð*à!œy¨œ~�C˜‘HØ')¤yÔ'8¸Ô'=�C”K Ñ$øð �/Š/˜-¨¬¯ª°]Ñ)CÔ)CÑ
DÔ
D€CØ
ð Øˆ�J‰õ 
˜=Ð)Ý	�|Ð$Ý	�|Ð$Ý	�~Ð&Ý	�~Ð&Ý	Ð+Ð,Ý	�:ÐÝ	�KÐ Ý	�ÐÝ	�KÐ ðð )ð )‰	ˆˆTð �;ÐÐØ" 4Ô(ˆC�‰Høà
�/Š/˜%Ñ
 Ô
 €CØ
ð #Ø ˆ�OÑØ œFˆ�LÑØ œFˆ�LÑàˆt‚|€|Ø!ˆ�MÑÝˆt‰9Œ9˜Š>ˆ>Ý#& t¡9¤9ˆC•Ñ ØÐØ!ˆ�LÑØ�‚{€{Ø"ˆ�LÑå!¨Ð,Ð,Ø*/ˆÕ&Ñ'Ð'Ø	Œ�JÐ	Ð	 3Õ'AÔ#BÀaÒ#GÐ#GØŒ7�cŠ>ˆ>ØŸ'š'™)œ)ˆKØ×!Ò!Ñ#Ô#ˆBØˆ~Ý˜{Ô1Ñ2Ô2ð Að A�AÝ" ;Ô#4Ñ5Ô5ð Að A˜Ø(*¨1¨a¨4¬°Cª¨ 1 1¸S˜˜1˜a˜4™˜ðAà �øå” Ñ$Ô$ˆBà	„w�+ÐÐØŒe×Ò˜u gÑ.Ô.ˆØˆÝ�S‘”˜Q‘ˆÝ�q‘”ð 	-ð 	-ˆAØÐMÐM¨#¨f°q©j¸6ÀQÈÁUÑ;KÐ.KÔ*LÐMÑMÔMÑMˆHØ˜˜˜s V™|Ñ,Ñ,ˆHˆHØ ˆ�H‰à�zŒ?˜C¥Ô,€q€AÝ�‰YŒY˜1˜t Aœw™;¨™?¨qÑ0Ñ1€FÝ˜3ÐÐàð 	Ø'ŸOšO¨L½*ÑEÔEˆMØ"(¨A¢+ +˜Q˜Qµ3°}ÈÑ7NÐPQÑ3RÔ3RˆNà˜fÒ$Ð$Ý!$ ~¸Ñ'9¸aÑ&?À1Ñ%DÀaÑ!HÔ!H�øàˆNØ˜QÒÐØˆNØ*ˆ�LÑØ# qš[˜[˜˜¨f°s½<Ô7HÑ.HÐØ˜C¥Ô-Ñ-°Ñ1°c½,Ô6GÑGÐØ˜EÒ!Ð!Ý'/¤}ˆŒ•OÑ$Ø-Ð/Ð3CÀaÑ3GÑHØ�‰
Ð&Ð*:¸QÑ*>Ñ?Ñ?ðLñ €C�Ñõ ÝˆaÐ"Ð%5Ñ5Ð7HÑIÔIñô €C�Ñõ ,×/Ò/°¸QÑ?Ô?€C�Ñà	„w�'ÒÐå˜fÝÐ!=ð#
÷ Š%‰'Œ'ð	/ð 	/ÑˆC�ð �NŠN˜3 Ñ.Ô.Ð.Ð.å�J­µ^ÐD€IØñ n
Ø˜Ð#Ð#Ø! )Ô,ˆGÝ˜g¥sÑ+Ô+ð &¨w¸ª{¨{¸gÈºm¸mØ/�Ý  ‘o”oÐ%Ø˜fÒ$Ð$ØM�Ý  ‘o”oÐ%Ø&ˆC•Ñå�ŠÐ3Ñ4Ô4Ð4Ý�Š�[¥&¨¯ª©¬Ñ"5Ô"5Ñ6Ô6Ð6ØˆÝ�2�xÑ Ô ð 	ðØ—’˜‘
”
�
Ø—i’i‘k”k��øÝÔ*ð ð ð Ø�ðøøøð ˆð 	ÝÝÝÝÝÝð
ñ 	
ˆ	õ !.¨t°A¬wÐ7ˆõ $œ/¨#¯)ª)©+¬+°}×7JÒ7JÑ7LÔ7LÑMÔMð 	&ñ 	&‰JˆC�ð
 �(Ô/Ð/Ð/Ý�uœzÐ+HÈ%ÑPÔPð Øà�(Ô1Ð1Ð1Ý!)¤�E˜#‘J�JØ˜CœKÐ'Ð'Ø!$¤¨SÔ!1�E˜#‘J�JÝ$ U­Sµ%½½eÐ,DÑEÔEð *Øå#œ?¨3Ñ/Ô/Ô4�DØð *Ø%)˜˜c™
Ø˜$ˆˆ 3¨iÐ#7Ð#7Ý˜e¥SÑ)Ô)ð &Ø %§¢¨W°iÑ @Ô @À5Ñ H�D˜‘I�IÝ ¥{Ñ3Ô3ð &Ý % e¡¤�D˜‘I‘Ià %�D˜‘Iùå˜4ÐÐ¥C¨­\Ô(:Ñ$;Ô$;¸qÒ$@Ð$@Ø!%¥lÔ!3°AÔ!6ˆD•Ñå�ŠÐ*­F°4·:²:±<´<Ñ,@Ô,@ÑAÔAÐAð Œ7Ð0Ð0Ð0ØˆGõ
 �D—J’J‘L”LÑ!Ô!ˆØ�	Š	‰ŒˆØ�k 3¨°$¸Ð>ˆÝÔ# B¤G¨Y¸¸=ÑIÔIˆØ×Ò˜œ ¨¬Ñ 0Ñ1Ô1Ð1ð	Ø#ŸNšN­9Ô+=Ñ>Ô>¸q¸r¸rÔB‰MˆG�TØð Ø—’˜‘”�Øð Øð	ð �QŠ;ˆ;ØD 7ÐDÐDÐDˆCÝ˜#‘,”,Ðð ð
 ð 	ð 	ˆCØ�C��Ø—’˜"‘”ˆåŒØØÝŒ_˜U F¨R¬WÑ$4°f¸wÈÐPQÐ>RÑSÔSÐTñ	
ô 	
ð 	
ð ˜[Ð(Ð(å�Ð&¨Ñ,Ô,Ð,Ð,Ð,ð )Ð(sJ   ‚ œ
A¦AÁAÂB Â;CÃ
CÈ/IÉ
IÉIá*)b âb&â%b&c                  ó&  — e Zd Zg d¢Zh d£Zd:d;d
„Zd<d„Zd<d„Zd<d„Zd=d„Z	d>d„Z
d?d„Zej        fd@d„Zd<d„ZdAd„Zd<d„ZdBd„ZdCd „ZdDd!„Zd?d"„Zd?d#„ZedEd'„¦   «         Z	 dFdGd+„ZdHd,„ZdHd-„ZdHd.„ZdId/„ZdHd0„ZdHd1„Zd<d2„Z d<d3„Z!dJd5„Z"	 dKdLd8„Z#d9S )MÚAppendingTiffWriter)r   r   r   r'   r+   r3   r   r   r'   r+   r3   r+   r3   r+   r'   r+   r3   >   é  é  é	  é   r$   r%   FÚfnr"  rY  rn   rm   r¢   c                ó€  — |  t          |¦  «        rN|| _        d| _        	 t          ||rdnd¦  «        | _        nQ# t
          $ r t          |d¦  «        | _        Y n0w xY wt          t          t                   |¦  «        | _        d| _        | j         	                    ¦   «         | _
        |                      ¦   «          d S )NTzw+bzr+bF)r   r  Úclose_fpÚopenr¯   rÄ  r   r	   rl   rÑ  Ú	beginningÚsetup)r•   r  rY  s      rC   r§   zAppendingTiffWriter.__init__ó  s³   € ØÐÝ�2‰;Œ;ð 		"ØˆDŒIØ ˆDŒMð)Ý˜b¨3Ð"9 % %°EÑ:Ô:�”�øÝð )ð )ð )Ý˜b %™œ�”��ð)øøøõ �"�Uœ) RÑ(Ô(ˆDŒFØ!ˆDŒMØœŸš™œˆŒØ�
Š
‰Œˆˆˆs   ¡; »AÁAc                ó,  — | j                              | j        t          j        ¦  «         d | _        d| _        | j                              d¦  «        x| _        }d|v | _	        |s	d| _
        d S d| _
        |t          vrd}t          |¦  «        ‚|                      |                     t          ¦  «        rdnd¦  «         | j	        r%| j                              dt          j        ¦  «         |                      ¦   «          |                      ¦   «          d S )	Nr   r+   ó   +TFzInvalid TIFF file headerr  r  )r¯   r×  r  ro  rr  ÚwhereToWriteNewIFDOffsetÚoffsetOfNewPagerÃ  ÚIIMMr   ÚisFirstrs   ÚRuntimeErrorÚ	setEndianrq   r  rq  ÚskipIFDsÚgoToEnd)r•   Úiimmr%  s      rC   r  zAppendingTiffWriter.setup  sï   € àŒ�Š�D”N¥B¤KÑ0Ô0Ð0à48ˆÔ%Ø ˆÔàœ6Ÿ;š; q™>œ>Ð)ˆŒ	�DØ 4˜ˆŒØð 	àˆDŒLØˆFàˆŒØ•xÐÐØ,ˆCÝ˜sÑ#Ô#Ð#à�Š˜dŸošo­bÑ1Ô1Ð:�s�s°sÑ;Ô;Ð;àŒ=ð 	(ØŒF�KŠK˜�2œ;Ñ'Ô'Ð'Ø�Š‰ŒˆØ�Š‰ŒˆˆˆrE   c                ó\  — | j         rd S | j                             | j        ¦  «         | j                             d¦  «        }|sd S || j        k    rd}t          |¦  «        ‚| j        r%| j                             dt          j	        ¦  «         |  
                    | j        rdnd¦  «        }|| j        z  }| j        €J ‚| j                             | j        ¦  «         |                      || j        rdnd¦  «         | j                             |¦  «         |                      ¦   «          d S )Nr+   z1IIMM of new page doesn't match IIMM of first pager3   )r   r¯   r×  r  rÃ  r  r!  r   ro  rq  Ú_readr  Ú_writeÚfixIFD)r•   r%  r%  Ú
ifd_offsets       rC   ÚfinalizezAppendingTiffWriter.finalize  s  € ØŒ<ð 	ØˆFð 	Œ�Š�DÔ(Ñ)Ô)Ð)àŒv�{Š{˜1‰~Œ~ˆØð 	àˆFà�4”9ÒÐØEˆCÝ˜sÑ#Ô#Ð#àŒ=ð 	(ØŒF�KŠK˜�2œ;Ñ'Ô'Ð'Ø—Z’Z T¤]Ð 9  ¸Ñ:Ô:ˆ
Ø�dÔ*Ñ*ˆ
ØÔ,Ð8Ð8Ð8ØŒ�Š�DÔ1Ñ2Ô2Ð2Ø�Š�J T¤]Ð 9  ¸Ñ:Ô:Ð:ØŒ�Š�JÑÔÐØ�Š‰ŒˆˆˆrE   c                óV   — |                       ¦   «          |                      ¦   «          d S rp   )r+  r  r©   s    rC   ÚnewFramezAppendingTiffWriter.newFrame6  s    € à�Š‰ŒˆØ�
Š
‰ŒˆˆˆrE   c                ó   — | S rp   r?   r©   s    rC   Ú	__enter__zAppendingTiffWriter.__enter__;  s   € ØˆrE   r–   rµ   c                ó@   — | j         r|                      ¦   «          d S d S rp   )r  rs  )r•   r–   s     rC   Ú__exit__zAppendingTiffWriter.__exit__>  s'   € ØŒ=ð 	Ø�JŠJ‰LŒLˆLˆLˆLð	ð 	rE   ry   c                óD   — | j                              ¦   «         | j        z
  S rp   )r¯   rÑ  r  r©   s    rC   rÑ  zAppendingTiffWriter.tellB  s   € ØŒv�{Š{‰}Œ}˜tÔ3Ñ3Ð3rE   rß  Úwhencec                ó”   — |t           j        k    r
|| j        z  }| j                             ||¦  «         |                      ¦   «         S )zé
        :param offset: Distance to seek.
        :param whence: Whether the distance is relative to the start,
                       end or current position.
        :returns: The resulting position, relative to the start.
        )ro  rr  r  r¯   r×  rÑ  )r•   rß  r3  s      rC   r×  zAppendingTiffWriter.seekE  sB   € ð •R”[Ò Ð Ø�dÔ*Ñ*ˆFàŒ�Š�F˜FÑ#Ô#Ð#Ø�yŠy‰{Œ{ÐrE   c                ó<  — | j                              dt          j        ¦  «         | j                              ¦   «         }d|dz  z
  }d|cxk     rdk     r*n n'| j                              t          |¦  «        ¦  «         | j                              ¦   «         | _        d S )Nr   rK   )r¯   r×  ro  ÚSEEK_ENDrÑ  rõ  rl   r  )r•   rz  Ú	pad_bytess      rC   r$  zAppendingTiffWriter.goToEndR  sŽ   € ØŒ�Š�A•r”{Ñ#Ô#Ð#ØŒf�kŠk‰mŒmˆð ˜˜r™‘Mˆ	ØˆyÐÐÒÐ˜2ÒÐÐÐÐØŒF�LŠL�˜yÑ)Ô)Ñ*Ô*Ð*Ø#œvŸ{š{™}œ}ˆÔÐÐrE   Úendianr“   c                ó†   — || _         | j         › d�| _        | j         › d�| _        | j         › d�| j        rdndz   | _        d S )NrH   r  rã  r  )r8  ÚlongFmtÚshortFmtr   Ú	tagFormat)r•   r8  s     rC   r"  zAppendingTiffWriter.setEndian\  sS   € ØˆŒØœ+Ð(Ð(Ð(ˆŒØœ;Ð)Ð)Ð)ˆŒØ œKÐ+Ð+Ð+°d´mÐ/L¨s¨sÈÑMˆŒˆˆrE   c                óx  — 	 |                       | j        rdnd¦  «        }|dk    r,| j                             ¦   «         | j        rdndz
  | _        d S | j                             |¦  «         |                       | j        rdnd¦  «        }| j                             || j        rdndz  t          j        ¦  «         Œº)NTr3   r+   r   r'   rÉ  rI   )r'  r   r¯   rÑ  r  r×  ro  rq  )r•   r*  Únum_tagss      rC   r#  zAppendingTiffWriter.skipIFDsb  s·   € ð
	OØŸš¨¬Ð$= A A¸AÑ>Ô>ˆJØ˜QŠˆØ04´·²±´ØœÐ-�A�A¨Añ1�Ô-ð �àŒF�KŠK˜
Ñ#Ô#Ð#Ø—z’z t¤}Ð"; ! !¸!Ñ<Ô<ˆHØŒF�KŠK˜¨$¬-Ð$? B B¸RÑ@Å"Ä+ÑNÔNÐNð
	OrE   rü   r   c               ó6   — | j                              |¦  «        S rp   )r¯   rõ  rŒ  s     rC   rõ  zAppendingTiffWriter.writeo  s   € ØŒv�|Š|˜DÑ!Ô!Ð!rE   Ú
field_sizec                óZ   — 	 ddddœ|         S # t           $ r d}t          |¦  «        ‚w xY w)Nr  rH   r  )r'   r+   r3   zoffset is not supported)rÔ  r!  )r•   r@  r%  s      rC   Ú_fmtzAppendingTiffWriter._fmtr  sJ   € ð	$Ø˜s sÐ+Ð+¨JÔ7Ð7øÝð 	$ð 	$ð 	$Ø+ˆCÝ˜sÑ#Ô#Ð#ð	$øøøs   ‚ Ž*c                óš   — t          j        | j        |                      |¦  «        z   | j                             |¦  «        ¦  «        \  }|S rp   )r  r|  r8  rB  r¯   rÃ  )r•   r@  r¡   s      rC   r'  zAppendingTiffWriter._ready  sB   € Ý”=ØŒK˜$Ÿ)š) JÑ/Ô/Ñ/°´·²¸ZÑ1HÔ1Hñ
ô 
‰ˆð ˆrE   c                ó,   — |                       d¦  «        S ©Nr'   ©r'  r©   s    rC   Ú	readShortzAppendingTiffWriter.readShort  ó   € Ø�zŠz˜!‰}Œ}ÐrE   c                ó,   — |                       d¦  «        S ©Nr+   rF  r©   s    rC   ÚreadLongzAppendingTiffWriter.readLong‚  rH  rE   Úbytes_writtenr  Úexpectedc                óH   — | �| |k    rd| › d|› �}t          |¦  «        ‚d S d S )Nzwrote only z bytes but wanted )r!  )rL  rM  r%  s      rC   Ú_verify_bytes_writtenz)AppendingTiffWriter._verify_bytes_written…  sC   € àÐ$¨¸(Ò)BÐ)BØK ÐKÐKÀÐKÐKˆCÝ˜sÑ#Ô#Ð#ð %Ð$Ð)BÐ)BrE   r   r¡   Únew_field_sizec                ó  — | j                              | t          j        ¦  «         |s|}| j                              t          j        | j        |                      |¦  «        z   |¦  «        ¦  «        }|  	                    ||¦  «         d S rp   )
r¯   r×  ro  rq  rõ  r  r~  r8  rB  rO  )r•   r¡   r@  rP  rL  s        rC   Ú_rewriteLastz AppendingTiffWriter._rewriteLast‹  s€   € ð 	Œ�Š�Z�K¥¤Ñ-Ô-Ð-Øð 	(Ø'ˆNØœŸšÝŒK˜œ d§i¢i°Ñ&?Ô&?Ñ?ÀÑGÔGñ
ô 
ˆð 	×"Ò" =°.ÑAÔAÐAÐAÐArE   c                ó4   — |                       |dd¦  «         d S )Nr'   r+   ©rR  r•  s     rC   ÚrewriteLastShortToLongz*AppendingTiffWriter.rewriteLastShortToLong–  s    € Ø×Ò˜%  AÑ&Ô&Ð&Ð&Ð&rE   c                ó.   — |                       |d¦  «        S rE  rT  r•  s     rC   ÚrewriteLastShortz$AppendingTiffWriter.rewriteLastShort™  ó   € Ø× Ò  ¨Ñ*Ô*Ð*rE   c                ó.   — |                       |d¦  «        S rJ  rT  r•  s     rC   ÚrewriteLastLongz#AppendingTiffWriter.rewriteLastLongœ  rX  rE   c                óÂ   — | j                              t          j        | j        |                      |¦  «        z   |¦  «        ¦  «        }|                      ||¦  «         d S rp   )r¯   rõ  r  r~  r8  rB  rO  )r•   r¡   r@  rL  s       rC   r(  zAppendingTiffWriter._writeŸ  sW   € ØœŸšÝŒK˜œ d§i¢i°
Ñ&;Ô&;Ñ;¸UÑCÔCñ
ô 
ˆð 	×"Ò" =°*Ñ=Ô=Ð=Ð=Ð=rE   c                ó2   — |                       |d¦  «         d S rE  ©r(  r•  s     rC   Ú
writeShortzAppendingTiffWriter.writeShort¥  ó   € Ø�Š�E˜1ÑÔÐÐÐrE   c                ó2   — |                       |d¦  «         d S rJ  r]  r•  s     rC   Ú	writeLongzAppendingTiffWriter.writeLong¨  r_  rE   c                ór   — |                       ¦   «          | j        r| j                             ¦   «          d S d S rp   )r+  r  r¯   rs  r©   s    rC   rs  zAppendingTiffWriter.close«  s6   € Ø�Š‰ŒˆØŒ=ð 	ØŒF�LŠL‰NŒNˆNˆNˆNð	ð 	rE   c           
     óÄ  — |                       | j        rdnd¦  «        }t          |¦  «        D �]°}t          j        | j        | j                             | j        rdnd¦  «        ¦  «        \  }}}| j        |         }||z  }| j        rdnd}||k    }	|	s3|                       |¦  «        | j	        z   }
|  
                    |
|¦  «         || j        v ræ| j                             ¦   «         }t                               dt          j        |¦  «        j        |t%          j        |d¦  «        |||¦  «         |	r5|                      ||¦  «         | j                             ||z   ¦  «         �Œ=| j                             |
¦  «         |                      ||¦  «         | j                             |¦  «         �Œ‰|	r%| j                             |t,          j        ¦  «         �Œ²d S )Nr3   r'   rI   r+   z;fixIFD: %s (%d) - type: %s (%d) - type size: %d - count: %drË  )r'  r   rÒ  r  r|  r<  r¯   rÃ  Ú
fieldSizesr  rR  ÚTagsrÑ  rÕ  rÖ  r   r8  r  r   rÓ  Ú_fixOffsetsr×  ro  rq  )r•   r>  r‰   r@  Ú
field_typerÚ  r@  Ú
total_sizerð  Úis_localrß  Úcur_poss               rC   r)  zAppendingTiffWriter.fixIFD°  sÝ  € Ø—:’: 4¤=Ð7˜a˜a°aÑ8Ô8ˆå�x‘”ð $	3ñ $	3ˆAÝ%+¤]Ø” ¤§¢°$´-Ð,F¨B¨BÀQÑ GÔ Gñ&ô &Ñ"ˆC�˜Uð œ¨Ô4ˆJØ# eÑ+ˆJØ œMÐ0�q�q¨qˆHØ! XÒ-ˆHØð 4ØŸš HÑ-Ô-°Ô0DÑD�Ø×!Ò! &¨(Ñ3Ô3Ð3à�d”iÐÐØœ&Ÿ+š+™-œ-�å—’ØQÝ”O CÑ(Ô(Ô-ØÝ”I˜j¨)Ñ4Ô4ØØØñô ð ð ð )Ø×$Ò$ U¨JÑ7Ô7Ð7Ø”F—K’K ¨(Ñ 2Ñ3Ô3Ð3Ñ3à”F—K’K Ñ'Ô'Ð'Ø×$Ò$ U¨JÑ7Ô7Ð7Ø”F—K’K Ñ(Ô(Ð(Ñ(àð 3à”—’˜H¥b¤kÑ2Ô2Ð2ùðI$	3ð $	3rE   rÚ  c                ó  — t          |¦  «        D ]÷}|                      |¦  «        }|| j        z  }d}| j        r|dv r	|dk    rd}n|dk    r|dk    rd}|rš|dk    rd	}t	          |¦  «        ‚|                      |||¦  «         | dz
  dz
  }| j                             |t          j	        ¦  «         |  
                    |¦  «         | j                             d|z
  t          j	        ¦  «         Œá|                      ||¦  «         Œød S )
Nr   )r'   r+   l        r3   r'   r!   r+   r   znot implemented)rÒ  r'  r  r   r!  rR  r¯   r×  ro  rq  r^  )r•   rÚ  r@  r‰   rß  rP  r%  Úrewinds           rC   rf  zAppendingTiffWriter._fixOffsetsÙ  s.  € Ý�u‘”ð 	6ð 	6ˆAØ—Z’Z 
Ñ+Ô+ˆFØ�dÔ*Ñ*ˆFàˆNØŒ}ð # ¨vÐ!5Ð!5¸&ÀEº/¸/à!"��Ø˜q’� V¨u¢_ _à!"�Øð 6Ø˜A’:�:Ø+�CÝ& sÑ+Ô+Ð+ð ×!Ò! &¨*°nÑEÔEÐEà(˜¨1Ñ,¨qÑ0�Ø”—’˜F¥B¤KÑ0Ô0Ð0Ø—’ Ñ/Ô/Ð/Ø”—’˜A ™J­¬Ñ4Ô4Ð4Ð4à×!Ò! &¨*Ñ5Ô5Ð5Ð5ð3	6ð 	6rE   ÚisShortÚisLongc                óF   — |rd}n|rd}nd}|                       ||¦  «        S )Nr'   r+   r   )rf  )r•   rÚ  rm  rn  r@  s        rC   Ú
fixOffsetszAppendingTiffWriter.fixOffsetsõ  s=   € ð ð 	ØˆJˆJØð 	ØˆJˆJàˆJØ×Ò  zÑ2Ô2Ð2rE   N)F)r  r"  rY  rn   rm   r¢   r÷  )rm   r  )r–   rµ   rm   r¢   rÚ   )rß  ry   r3  ry   rm   ry   )r8  r“   rm   r¢   )rü   r   rm   ry   )r@  ry   rm   r“   )r@  ry   rm   ry   )rL  r  rM  ry   rm   r¢   rU   )r¡   ry   r@  ry   rP  ry   rm   r¢   )r¡   ry   rm   r¢   )r¡   ry   r@  ry   rm   r¢   )rÚ  ry   r@  ry   rm   r¢   )FF)rÚ  ry   rm  rn   rn  rn   rm   r¢   )$rÜ   rÝ   rÞ   rd  re  r§   r  r+  r-  r/  r1  rÑ  rî  rr  r×  r$  r"  r#  rõ  rB  r'  rG  rK  ÚstaticmethodrO  rR  rU  rW  rZ  r(  r^  ra  rs  r)  rf  rp  r?   rE   rC   r  r  Õ  s©  € € € € € ðð ð €Jð(ð ð €Dðð ð ð ð ðð ð ð ð4ð ð ð ð4ð ð ð ð
ð ð ð ðð ð ð ð4ð 4ð 4ð 4ð /1¬kð ð ð ð ð ð-ð -ð -ð -ðNð Nð Nð NðOð Oð Oð Oð"ð "ð "ð "ð$ð $ð $ð $ðð ð ð ðð ð ð ðð ð ð ð ð$ð $ð $ñ „\ð$ð BCð	Bð 	Bð 	Bð 	Bð 	Bð'ð 'ð 'ð 'ð+ð +ð +ð +ð+ð +ð +ð +ð>ð >ð >ð >ðð ð ð ðð ð ð ðð ð ð ð
'3ð '3ð '3ð '3ðR6ð 6ð 6ð 6ð: AFð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3rE   r  c                óÎ  — t          | j                             dg ¦  «        ¦  «        }t          | d¦  «        s|st	          | ||¦  «        S |                      ¦   «         }	 t          |¦  «        5 }| g|z   D ]¦}|                     | ¦  «        }t          |d¦  «        sd|_        t          |dd¦  «        }t          |¦  «        D ]P}	|                     |	¦  «         |                     ¦   «          t	          |||¦  «         |                     ¦   «          ŒQ||_        Œ§	 d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S # |                      |¦  «         w xY w)NÚappend_imagesr3  r×  r?   r   )rþ  rÖ  rÓ  râ   rù  rÑ  r  Ú_attach_default_encoderinfor×  rš   rÒ  r×  rà  r-  )
r8  r¿  r#  rs  Úcur_idxÚtfÚimsrÖ  Únfrrä   s
             rC   Ú	_save_allry  	  s¤  € Ý˜œ×+Ò+¨O¸RÑ@Ô@ÑAÔA€MÝ�2�zÑ"Ô"ð '¨=ð 'Ý�R˜˜XÑ&Ô&Ð&à�gŠg‰iŒi€GðÝ  Ñ$Ô$ð 	.¨Ø�t˜mÑ+ð .ð .�Ø!×=Ò=¸bÑAÔA�Ý˜s OÑ4Ô4ð +Ø(*�CÔ%Ý˜c :¨qÑ1Ô1�å  ™:œ:ð "ð "�CØ—H’H˜S‘M”M�MØ—H’H‘J”J�JÝ˜#˜r 8Ñ,Ô,Ð,Ø—K’K‘M”M�M�MØ"-�”�ð.ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	�Š�ÑÔÐÐÐøˆ�Š�ÑÔÐÐøøøs1   Á!E Á0B.D+ÄE Ä+D/Ä/E Ä2D/Ä3E ÅE$z.tifz.tiffz
image/tiff)rk   rl   rm   rn   )rv   rw   rx   ry   rm   rz   )rv   r~   rx   ry   rƒ   ry   rm   rz   )r’   r“   rm   r
   )rä   ry   rå   ry   rm   ræ   )rä   ry   rm   rò   )rø   rù   rm   r¢   )r8  rÂ  r¿  rÀ  r#  rÃ  rm   r¢   )‹Ú
__future__r   rî  ró  ÚloggingrJ  ro  r  rk  Úcollections.abcr   r   Ú	fractionsr   Únumbersr   r   Útypingr	   r
   r   r   r   Ú r   r   r   r   r   r   Ú_binaryr   rI  r   rL  r   Ú
_deprecater   Ú_typingr   Ú_utilr   r   r   r¦   r   r    Ú	getLoggerrÜ   rÕ  r�  rØ  rç  r  r  rð  rŽ  r�  r“  r‡  r‹  rŒ  rÝ  rê  r•  r   rè  rš  r›  r‰  rœ  rñ  rÞ  rß  rà  Ú	PREDICTORr¥  r¡  r¢  rŸ  rì  rò  r”  r’  Ú
JPEGTABLESr�  rê  rá  rÛ  rÜ  r¤  rÚ  rA  rí  ÚIMAGEJ_META_DATA_BYTE_COUNTSÚIMAGEJ_META_DATAr†  r:  ré  r˜  rŽ   r–  rs   rš   rX  ru   r‚   r‘   rï   rö   r�   r~   rl   rn   ré   rñ   r÷   r  ry   Ú
_IFDv2Baserã   rä   r  rî   rú  r  ÚImageFileDirectoryr   rÕ  rù  ÚBytesIOr  ry  Úregister_openr¾  Úregister_saveÚregister_save_allÚregister_extensionsÚregister_mimer?   rE   rC   ú<module>r’     s  ððR #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4à JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð à€Øð .Ø-Ð-Ð-Ð-Ð-Ð-Ð-Ð-à	ˆÔ	˜8Ñ	$Ô	$€ð €Ø€Ø€
à
€Ø
€ð €Ø€
Ø€Ø€Ø€Ø Ð Ø€	ØÐ Ø€Ø€Ø€Ø€Ø€Ø€ØÐ Ø€ØÐ Ø€Ø€	Ø	€Ø€	Ø€Ø€	Ø€
Ø€Ø€Ø	€Ø€Ø€Ø€
ØÐ ØÐ Ø€	Ø€Ø€Ø€
Ø
€Ø	€Ø€ð  %Ð ØÐ ðà€uðð €|ðð €xð	ð
 €xðð €zðð €{ðð €vðð Ððð 
ˆ=ðð 
ˆ:ðð 
Ððð 
ˆ>ðð 
ˆ=ðð 
ˆ?ðð  
ˆ6ð!ð" 
ˆ6ð#ð$ 
ˆ6ð%Ð ð* CÐBÐ)9×)?Ò)?Ñ)AÔ)AÐBÑBÔBÐ ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð	|ð
 ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð 
ð|ð ˆˆD�!�T˜2Ð 
ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð|ð ˆˆD�!�T˜2Ð ð|ð  ˆˆD�!�T˜2Ð ð!|ð" ˆˆD�!�T˜2Ð ð#|ð$ ˆˆD�!�T˜2Ð ð%|ð& ˆˆD�!�T˜2Ð ð'|ð |ð( ˆˆD�!�T˜2Ð ð)|ð* ˆˆD�!�T˜2Ð ð+|ð, ˆˆD�!�T˜2Ð ð-|ð. ˆˆD�!�T˜2Ð ð/|ð0 ˆˆD�!�T˜2Ð ð1|ð2 ˆˆD�!�T˜2Ð ð3|ð4 ˆˆD�!�T˜2Ð ð5|ð6 ˆˆD�!�T˜2Ð ð7|ð8 ˆˆD�!�T˜2Ð ð9|ð: ˆˆD�!�T˜2Ð ð;|ð< ˆˆD�!�T˜2Ð ð=|ð> ˆˆD�!�T˜2Ð 
ð?|ð@ ˆˆD�!�T˜2Ð 
ðA|ðB ˆˆD�!�T˜2Ð 
ðC|ðD ˆˆD�!�T˜2Ð 
ðE|ðF ˆˆD�!�T˜2Ð ðG|ðH ˆˆD�!�T˜2Ð ðI|ð |ð |ðJ ˆˆD�!�U˜BÐÐ!1ðK|ðL ˆˆD�!�U˜BÐÐ!1ðM|ðN ˆˆD�!�U˜BÐÐ!1ðO|ðP ˆˆD�!�U˜BÐÐ!3ðQ|ðR ˆˆD�!�U˜BÐÐ!2ðS|ðT ˆˆD�!�U˜BÐ ðU|ðV ˆˆD�!�U˜BÐ ðW|ðX ˆˆD�!�U˜BÐ ðY|ðZ ˆˆD�!�U˜BÐ ð[|ð\ ˆˆD�!�U˜BÐ ð]|ð^ ˆˆD�!�U˜BÐ ð_|ð` ˆˆD�!�U˜BÐ ða|ðb ˆˆD�!�U˜BÐ ðc|ðd ˆˆD�!�U˜BÐ ðe|ðf ˆˆD�!�V˜TÐ" Lðg|ðh ˆˆD�!�V˜TÐ" Lði|ðj ˆˆD�!�Y Ð# ^ðk|ð |ð |ðl ˆˆD�!�Y Ð# ^ðm|ðn ˆˆD�!�Y Ð#Ð%5ðo|ðp ˆˆD�!�Y Ð#Ð%5ðq|ðr ˆˆD�!�\ 2Ð&Ð(8ðs|ðt ˆˆD�!�\ 2Ð&Ð(8ðu|ðv ˆˆD�!�\ 4Ð(¨/ðw|ðx ˆˆD�!�\ 4Ð(¨/ðy|ðz ˆˆD�!�_ fÐ-Ð/?ð{|ð| ˆˆD�!�_ fÐ-Ð/?ð}|ð~ ˆˆD�!Ð'¨Ð3Ð5Fð|ð@ ˆˆD�!Ð'¨Ð3Ð5FðA|ðB ˆˆD�!�\ 4Ð(Ð*:ðC|ðD ˆˆD�!�\ 4Ð(Ð*:ðE|ðF ˆˆD�!�_ fÐ-Ð/@ðG|ðH ˆˆD�!�_ fÐ-Ð/@ðI|ðJ ˆˆD�!Ð'¨Ð3Ð5GðK|ðL ˆˆD�!Ð'¨Ð3Ð5GðM|ð |ð |ðN ˆˆD�!�\ 4Ð(Ð*:ðO|ðP ˆˆD�!�\ 4Ð(Ð*:ðQ|ðR ˆˆD�!�_ fÐ-Ð/@ðS|ðT ˆˆD�!�_ fÐ-Ð/@ðU|ðV ˆˆD�!Ð'¨Ð3Ð5GðW|ðX ˆˆD�!Ð'¨Ð3Ð5GðY|ðZ ˆˆD�!�\ 6Ð*Ð,<ð[|ð\ ˆˆD�!�\ 6Ð*Ð,<ð]|ð^ ˆˆD�!�\ 2Ð&Ð(:ð_|ð` ˆˆD�!�\ 2Ð&Ð(:ða|ðb ˆˆD�!Ð% rÐ*Ð,@ðc|ðd ˆˆD�!Ð% rÐ*Ð,@ðe|ðf ˆˆD�!Ð% tÐ,Ð.Aðg|ðh ˆˆD�!Ð% tÐ,Ð.Aði|ðj ˆˆD�!Ð% tÐ,Ð.Bðk|ðl ˆˆD�!Ð% tÐ,Ð.Bðm|ðn ˆˆD�!Ð% tÐ,Ð.Bðo|ð |ð |ðp ˆˆD�!Ð% tÐ,Ð.Bðq|ðr ˆˆD�!�T˜2Ð ðs|ðt ˆˆD�!�T˜2Ð ðu|ðv ˆˆD�!�T˜2Ð ðw|ðx ˆˆD�!�T˜2Ð ðy|ðz ˆˆD�!�T˜2Ð ð{|ð| ˆˆD�!�T˜2Ð ð}|ð~ ˆˆD�!�T˜2Ð ð|ð@ ˆˆD�!�T˜2Ð ðA|ðB ˆˆD�!�T˜2Ð ðC|ðD ˆˆD�!�T˜2Ð ðE|ðF ˆˆD�!�T˜2Ð ðG|ðH ˆˆD�!�T˜2Ð ðI|ðJ ˆˆD�!�T˜2Ð 
ðK|ðL ˆˆD�!�T˜2Ð 
ðM|ðN ˆˆD�!�V˜TÐ" KðO|ðP ˆˆD�!�V˜TÐ" LðQ|ð |ð |ðR ˆˆD�!�V˜TÐ" LðS|ðT ˆˆD�!�T˜2Ð ðU|ðV ˆˆD�!�T˜2Ð ðW|ðX ˆˆD�!�\ 2Ð&Ð(8ðY|ðZ ˆˆD�!�\ 2Ð&Ð(8ð[|ð\ ˆˆD�!�_ dÐ+Ð->ð]|ð^ ˆˆD�!�_ dÐ+Ð->ð_|ð` ˆˆD�!Ð'¨Ð0Ð2Dða|ðb ˆˆD�!Ð'¨Ð0Ð2Dðc|ðd ˆˆD�!Ð% rÐ*Ð,@ðe|ðf ˆˆD�!Ð% rÐ*Ð,@ðg|ðh ˆˆD�!�T˜2Ð 
ði|ðj ˆˆD�!�T˜2Ð 
ðk|ðp ˆˆD�!�Y Ð# _ðq|ðr ˆˆD�!�Y Ð# _ðs|ðt ˆˆD�!�Y Ð# ^ðu|ðv ˆˆD�!�Y Ð# ^ðw|ð |€	ð| �cÐAÐA°yÐAÑAÔAÑAÔAÐ ðð ð €ð €wˆuŒzÐ8¸$Ñ?Ô?ð @Ø€IÐ:¸BÑ?Ô?Ð?ñ.ð .ð .ð .ñ%ð %ð %ð %ñð ð ð ð& €Ø€ñð ð ð ðG'ð G'ð G'ð G'ð G'�(ñ G'ô G'ð G'ðT Ð/°¸Ð=¸sÐBÔC€ñ	ð 	ð 	ð 	ñð ð ð ñð ð ð ð$ ð  Ø  S Ô)€J€Jà€JðP$ð P$ð P$ð P$ð P$˜Jñ P$ô P$ð P$ðf (6Ð Ô $Ø(7Ð Ô %Ø�”‘”ð Jð J�I€CˆØ�<Š<˜˜SÑ!Ô!€DØ€GÐ! >¨4 > >°>À#Ô3FÀqÔ3IÑJÔJÐJØ€GÐ! ?¨D ? ?°OÀCÔ4HÑIÔIÐIÐIØ�O S¨$ðXð Xð Xð Xð XÐ1ñ Xô Xð Xðx +Ð ðwHð wHð wHð wHð wH�IÔ'ñ wHô wHð wHðBð ˆ#ˆr�1�a˜˜tÐ	$ðð ˆ#ˆr�1�a˜˜tÐ	$ð	ð
 	ˆ4��Q˜˜6 1Ð
%ðð ˆ#ˆr�1�a˜˜tÐ	$ðð 	ˆ4��Q˜˜6 1Ð
%ðð ˆ'�2�q˜!˜U DÐ	)ðð ˆV�R˜˜A˜u dÐ+ðð ˆg�r˜1˜a ¨Ð-ðð ˆ'�2�q˜!˜U DÐ	)ðð 
ˆE�2�q˜!˜Y¨Ð-ðð ˆV�R˜˜A˜|¨QÐ/ðð ˆV�R˜˜A˜|¨QÐ/ðð ˆV�R˜˜A˜|¨TÐ2ðð  ˆg�r˜1˜a ¨DÐ1ð!ð" 
ˆE�2�q˜!˜Y¨Ð-ð#ð$ ˆg�r˜1˜a ¨Ð-ð%€	ñ,s-ð s-ð s-ð s-ðl	i3ð i3ð i3ð i3ð i3˜"œ*ñ i3ô i3ð i3ñX	ð ð ð ð8 €Ô �MÔ(¨-¸Ñ AÔ AÐ AØ €Ô �MÔ(¨%Ñ 0Ô 0Ð 0Ø €Ô ˜Ô,¨iÑ 8Ô 8Ð 8à €Ô ˜-Ô.±¹Ð0AÑ BÔ BÐ Bà €Ô �MÔ(©,Ñ 7Ô 7Ð 7Ð 7Ð 7rE   