§
    ¢”jQO ã                  ó|  — 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 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#m$Z$ ddlm%Z% dZ&e&rd dl	m'Z' d dlm(Z( ddl)m*Z*m+Z+m,Z,  ej-        e.¦  «        Z/dZ0d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/ZOd0ZPd1ZQd2ZRd3ZSd4ZTd5ZUd6ZVd7ZWd8ZXd9ZYd:ZZd;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^ _                    ¦   «         D ¦   «         Z`i e3d d`dd`dafdb“e4d d`dd`dafdb“e3d d`d?d`dafdc“e4d d`d?d`dafdc“e3dd`dd`dafdd“e4dd`dd`dafdd“e3dd`d?d`dafde“e4dd`d?d`dafde“e3d d`ddfdafdg“e4d d`ddfdafdg“e3d d`d?dfdafdh“e4d d`d?dfdafdh“e3dd`ddfdafdi“e4dd`ddfdafdi“e3dd`d?dfdafdj“e4dd`d?dfdafdj“e3d d`ddkdafdl“i e4d d`ddkdafdl“e3d d`d?dkdafdm“e4d d`d?dkdafdm“e3dd`ddkdafdn“e4dd`ddkdafdn“e3dd`d?dkdafdo“e4dd`d?dkdafdo“e3d d`ddpdafdq“e4d d`ddpdafdq“e3d d`d?dpdafdr“e4d d`d?dpdafdr“e3dd`ddpdafds“e4dd`ddpdafds“e3ddfddpdafds“e4ddfddpdafds“e3dd`d?dpdafdt“e4dd`d?dpdafdt“¥i e3dd`ddudafdv“e3d d`ddwdafdx“e3dd`ddwdafdx“e4dd`ddwdafdy“e3dd`d?dwdafdz“e3ddfddwdafd{“e4ddfddwdafd|“e3d d}dd~dafd“e4d d}dd~dafd€“e3dd`dd~dafd�“e3ddfdd~dafd‚“e4ddfdd~dafdƒ“e3dd}dd~dafd“e4dd}dd~dafd€“e3dd`dd„dffd…“e4dd`dd„dffd…“e3d?d`dd†dafd‡“¥i e4d?d`dd†dafd‡“e3d?d`d?d†dafdˆ“e4d?d`d?d†dafdˆ“e3d?d`dd‰dafdŠ“e4d?d`dd‰dafdŠ“e3d?d`dd‰d‹fdŒ“e4d?d`dd‰d‹fdŒ“e3d?d`dd�dŽfd�“e4d?d`dd�dŽfd�“e3d?d`dd�d‘fd’“e4d?d`dd�d‘fd’“e3d?d`dd‰d`fd““e4d?d`dd‰d`fd““e3d?d`dd�d”fd•“e4d?d`dd�d”fd•“e3d?d`dd�d–fd—“e4d?d`dd�d–fd—“¥i e3d?d`dd‰dffdŠ“e4d?d`dd‰dffdŠ“e3d?d`dd�d˜fd™“e4d?d`dd�d˜fd™“e3d?d`dd�dšfd›“e4d?d`dd�dšfd›“e3d?d`dd‰dœfdŠ“e4d?d`dd‰dœfdŠ“e3d?d`dd�dafdž“e4d?d`dd�dafdŸ“e3d?d`dd dafd¡“e4d?d`dd dafd¢“e3d?d`dd d‹fd£“e4d?d`dd d‹fd¤“e3d?d`dd d`fd¥“e4d?d`dd d`fd¦“e3d?d`dd dffd¡“¥i e4d?d`dd dffd¢“e3dAd`dd`dafd§“e4dAd`dd`dafd§“e3dAd`d?d`dafd¨“e4dAd`d?d`dafd¨“e3dAd`ddfdafd©“e4dAd`ddfdafd©“e3dAd`d?dfdafdª“e4dAd`d?dfdafdª“e3dAd`ddkdafd«“e4dAd`ddkdafd«“e3dAd`d?dkdafd¬“e4dAd`d?dkdafd¬“e3dAd`ddpdafd­“e4dAd`ddpdafd­“e3dAd`dd„d‹fd®“e4dAd`dd„d‹fd®“¥i e3dAd`dd„dffd¯“e4dAd`dd„dffd¯“e3dAd`d?dpdafd°“e4dAd`d?dpdafd°“e3dEd`dd‰dafd±“e4dEd`dd‰dafd±“e3dEd`dd�d‹fd²“e4dEd`dd�d‹fd²“e3dEd`dd�dŽfd³“e4dEd`dd�dŽfd³“e3dEd`dd dafd´“e4dEd`dd dafdµ“e3dGd`ddpdafds“e4dGd`ddpdafds“e3dGd`dd†dafdŒ“e4dGd`dd†dafdŒ“e3dKd`dd†dafd¶“¥e4dKd`dd†dafd¶i¥Za ebd·„ eaD ¦   «         ¦  «        Zcg d¸¢Zddÿd½„Ze�d dÃ„Zf�ddÆ„Zgi Zhi Zi�ddÊ„Zj G dË„ dÄe¦  «        Zke
dÌelemgef         Zn�ddÐ„Zo�ddÒ„Zp�ddÖ„Zqe&reeref         ZsneZs G d×„ dÌes¦  «        Ztehet_h        eiet_i         e%j_        ¦   «         D ]M\  ZuZvev w                    dØdÙ¦  «        Zv exetdÚev› �eheu         d         ¦  «          exetdÛev› �eieu         ¦  «         ŒN[h[i[u[v G dÜ„ dÝet¦  «        ZyeyZz G dÞ„ dßej        ¦  «        Z{i dàdàe3ddd`df“dádáe3dddpdf“dâdâe3ddd„d?f“dãdãe3dAddpdf“dädäe3dAdd„d?f“dådæe3dd?d~df“dçdçe3dddwdf“dèdèe3dddwdf“dédêe3ddAd~df“dëdëe3d?dd†df“dìdìe3d?dd‰d f“dídíe3d?dd‰d?f“dîdîe3dEdd‰df“dïdïe3dGdd†df“dðdðe3dKdd†df“dñdñe4dddwdf“Z|�ddø„Z} G dù„ dúej~        ¦  «        Z�ddû„Z€ ej�        e{j‚        e{ee¦  «          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)ÚCallableÚMutableMapping)ÚFraction)ÚNumberÚRational)ÚIOÚAnyÚcasté   )ÚExifTagsÚImageÚ	ImageFileÚImageOpsÚImagePaletteÚTiffTags)Úi16be)Úi32be©Úo8)ÚDeferredErrorÚis_path©ÚTYPESF)ÚIterator)ÚNoReturn)ÚBufferÚIntegralLikeÚStrOrBytesPathé   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      úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/PIL/TiffImagePlugin.pyú
<dictcomp>rC   •   s   € ÐBÐBÐB¡  A˜˜1ÐBÐBÐBó    ©r   r>   )Ú1z1;I)rF   z1;IR)rF   rF   )rF   z1;R)r&   )ÚLzL;2I)rG   zL;2IR)rG   zL;2)rG   zL;2R)r*   )rG   zL;4I)rG   zL;4IR)rG   zL;4)rG   zL;4R)r2   )rG   zL;I)rG   zL;IR)rG   rG   )rG   zL;R)é   )úI;16zI;12)é   )rI   rI   )úI;16BrK   )rI   zI;16R)ÚIzI;16S)rL   zI;16BS)r(   )é    )ÚFúF;32F)rN   zF;32BF)rL   zI;32N)rL   úI;32S)rL   zI;32BS)r2   r2   )ÚLArQ   )r2   r2   r2   )ÚRGBrR   )rR   zRGB;R)r2   r2   r2   r2   )ÚRGBArS   ©r   )rR   ÚRGBX)r2   r2   r2   r2   r2   ©r   r   )rR   ÚRGBXX)r2   r2   r2   r2   r2   r2   )r   r   r   )rR   ÚRGBXXX)rS   ÚRGBa)r   r   )rS   ÚRGBaX)r   r   r   )rS   ÚRGBaXX)r&   r   )rS   ÚRGBAX)r&   r   r   )rS   ÚRGBAXX)iç  )rJ   rJ   rJ   )rR   zRGB;16L)rR   zRGB;16B)rJ   rJ   rJ   rJ   )rS   zRGBA;16L)rS   zRGBA;16B)rR   zRGBX;16L)rR   zRGBX;16B)rS   zRGBa;16L)rS   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)ÚPAr`   )r^   zP;R)ÚCMYKra   )ra   ÚCMYKX)ra   ÚCMYKXX)ra   zCMYK;16L)ra   zCMYK;16B)ÚLABrd   c              #  ó@   K  — | ]}t          |d          ¦  «        V — ŒdS )r*   N)Úlen)r?   Úkey_tps     rB   ú	<genexpr>rh     s,   è è € ÐAÐA¨V�#˜f Qœi™.œ.ÐAÐAÐAÐAÐAÐArD   )s   MM *s   II* s   MM* s   II *s   MM +s   II+ ÚprefixÚbytesÚreturnÚboolc                óP   — |                       t          t          ¦  «        ¦  «        S ©N)Ú
startswithÚtupleÚPREFIXES©ri   s    rB   Ú_acceptrs   "  s   € Ø×Ò�U¥8™_œ_Ñ-Ô-Ð-rD   Ú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)rt   rv   ÚinvÚn_ds       rB   Ú_limit_rationalr€   &  sT   € õ ˆc‰(Œ(�QŠ,€CÝ
 Ð-�a˜#‘g�g¨#Ñ
.Ô
.×
=Ò
=¸gÑ
FÔ
F€CØÐ$ˆ3ˆtˆt�ˆtŒ9ˆ9 Ð$rD   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 rn   ©Úfloat©r?   Úis     rB   rh   z)_limit_signed_rational.<locals>.<genexpr>4  s(   è è € Ð
!Ð
!˜�5�‰8Œ8Ð
!Ð
!Ð
!Ð
!Ð
!Ð
!rD   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rn   r„   r†   s     rB   rh   z)_limit_signed_rational.<locals>.<genexpr>7  s(   è è € Ð,Ð, 1•e˜A‘h”hÐ,Ð,Ð,Ð,Ð,Ð,rD   r   r   )r   Ú	numeratorÚdenominatorÚminr€   r{   rp   Úmax)rt   rv   r�   Úfracr   Ú	n_d_floats         rB   Ú_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ˆà€JrD   ÚopÚstrr
   c                ó   ‡ — dˆ fd„}|S )	NÚselfr|   Úargsútuple[float, ...]rk   úbool | float | Fractionc                ó4   •—  t          | j        ‰¦  «        |Ž S rn   )ÚgetattrÚ_val)r“   r”   r�   s     €rB   Údelegatez_delegate.<locals>.delegateF  s   ø€ ð &�w�t”y "Ñ%Ô% tÐ,Ð,rD   )r“   r|   r”   r•   rk   r–   r>   )r�   rš   s   ` rB   Ú	_delegater›   E  s(   ø€ ð-ð -ð -ð -ð -ð -ð
 €OrD   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   Úvalueru   rŠ   rw   rk   Ú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…   rw   )r“   rŸ   rŠ   s      rB   Ú__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ˆIrD   r   c                ó   — | j         S rn   )r�   ©r“   s    rB   r‰   zIFDRational.numerator~  s
   € àŒÐrD   c                ó   — | j         S rn   )rž   r§   s    rB   rŠ   zIFDRational.denominator‚  s   € àÔ Ð rD   Ú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      rB   r}   zIFDRational.limit_rational†  s^   € ð Ô˜qÒ Ð Ø”> 4Ô#3Ð3Ð3å˜$œ)¥XÑ.Ô.Ð.Ð.Ð.ØŒI×'Ò'¨Ñ8Ô8ˆØŒ{˜AœMÐ)Ð)rD   r‘   c                óD   — t          t          | j        ¦  «        ¦  «        S rn   )r‘   r…   r™   r§   s    rB   Ú__repr__zIFDRational.__repr__”  s   € Ý•5˜œÑ#Ô#Ñ$Ô$Ð$rD   c                ó4   — | j                              ¦   «         S rn   )r™   Ú__hash__r§   s    rB   r±   zIFDRational.__hash__—  s   € ØŒy×!Ò!Ñ#Ô#Ð#rD   ÚotherÚobjectrl   c                óœ   — | j         }t          |t          ¦  «        r|j         }t          |t          ¦  «        rt          |¦  «        }||k    S rn   )r™   r£   r|   r…   )r“   r²   rt   s      rB   Ú__eq__zIFDRational.__eq__š  sI   € ØŒiˆÝ�e�[Ñ)Ô)ð 	Ø”JˆEÝ�e�UÑ#Ô#ð 	Ý˜‘*”*ˆCØ�eŠ|ÐrD   ú%list[float | Fraction | IntegralLike]c                ó*   — | j         | j        | j        gS rn   )r™   r�   rž   r§   s    rB   Ú__getstate__zIFDRational.__getstate__¢  s   € Ø”	˜4œ?¨DÔ,=Ð>Ð>rD   Ú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�   rw   rž   )r“   r¹   r™   r�   rž   s        rB   Ú__setstate__zIFDRational.__setstate__¥  sŒ   € Ý×Ò˜T 1Ñ%Ô%Ð%Ø).Ñ&ˆˆj˜,Ý˜$¥­Ð 1Ñ2Ô2Ð2Ð2Ð2ØˆŒ	Ýð 	)Ý"¥<°Ñ<Ô<ˆDŒOˆOà(ˆDŒOÝ˜,­Ñ,Ô,Ð,Ð,Ð,Ø(ˆÔÐÐrD   Ú__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__NrE   )rŸ   ru   rŠ   rw   rk   r    )rk   r   ©rk   rw   )r©   rw   rk   rª   ©rk   r‘   )r²   r³   rk   rl   )rk   r¶   )r¹   r¶   rk   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>   rD   rB   r|   r|   N  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Ñ&Ô&ˆˆˆð'ð 'rD   ÚImageFileDirectory_v2ÚidxÚsizeú$Callable[[_LoaderFunc], _LoaderFunc]c                ó   ‡ ‡— dˆ ˆfd„}|S )NÚfuncÚ_LoaderFuncrk   c                ó¬   •— ddl m} | j                             d¦  «        r&| j        dd …                              dd¦  «        |‰<   ‰| ft
          ‰<   | S )Nr   r   Úload_r,   Ú_ú )r   r   rÚ   ro   ÚreplaceÚ_load_dispatch)ræ   r   râ   rã   s     €€rB   Ú	decoratorz#_register_loader.<locals>.decoratorÜ  sd   ø€ Ø#Ð#Ð#Ð#Ð#Ð#àŒ=×#Ò# GÑ,Ô,ð 	=Øœ q r rÔ*×2Ò2°3¸Ñ<Ô<ˆE�#‰JØ" D˜j��sÑØˆrD   )ræ   rç   rk   rç   r>   )râ   rã   rî   s   `` rB   Ú_register_loaderrï   Û  s/   øø€ ðð ð ð ð ð ð ð ÐrD   ú2Callable[[Callable[..., Any]], Callable[..., Any]]c                ó   ‡ — dˆ fd„}|S )Nræ   úCallable[..., Any]rk   c                ó   •— | t           ‰<   | S rn   )Ú_write_dispatch)ræ   râ   s    €rB   rî   z#_register_writer.<locals>.decoratorè  s   ø€ Ø#�˜ÑØˆrD   )ræ   rò   rk   rò   r>   )râ   rî   s   ` rB   Ú_register_writerrõ   ç  s)   ø€ ðð ð ð ð ð ð ÐrD   Ú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á   Údatarj   Ú
legacy_apirl   rk   útuple[Any, ...]c                óX   •— |                       t          |¦  «        ‰z  › ‰› �|¦  «        S rn   )Ú_unpackrf   )r“   rú   rû   Úfmtrã   s      €€rB   Úbasic_handlerz&_register_basic.<locals>.basic_handlerö  s/   ø€ ð �|Š|�s 4™yœy¨DÑ0Ð7°#Ð7Ð7¸Ñ>Ô>Ð>rD   c                óJ   •‡ — d                      ˆˆ fd„|D ¦   «         ¦  «        S )NrD   c              3  óD   •K  — | ]}‰                      ‰|¦  «        V — Œd S rn   )Ú_pack)r?   rŸ   rÿ   r“   s     €€rB   rh   z4_register_basic.<locals>.<lambda>.<locals>.<genexpr>ý  s1   øè è € Ð<Ð<¨E�—’˜C Ñ'Ô'Ð<Ð<Ð<Ð<Ð<Ð<rD   ©Újoin)r“   Úvaluesrÿ   s   ` €rB   ú<lambda>z!_register_basic.<locals>.<lambda>ü  s0   øø€ Ø�ŠÐ<Ð<Ð<Ð<Ð<°VÐ<Ñ<Ô<Ñ<Ô<ð rD   ©T)r“   rá   rú   rj   rû   rl   rk   rü   )r   r   ÚstructÚcalcsizerí   rô   )rö   r   râ   Únamer   rÿ   rã   s        @@rB   Ú_register_basicr  ï  s    øø€ ØÐÐÐÐÐà!�N€CˆˆdØ€Eˆ#�JÝŒ?˜9˜s˜9˜9Ñ%Ô%€Dð FJð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð
  Ð-…N�3Ñðð ð ð …O�CÑÐÐrD   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Úifhrj   ri   úbytes | NoneÚgroupú
int | Nonerk   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é+   ÚQr2   r   rG   r*   F)rs   ÚreprÚSyntaxErrorÚ_prefixÚMMÚ_endianÚIIÚ_bigtiffr  ÚtagtypeÚresetrþ   ÚnextÚ_legacy_api)r“   r  ri   r  Úmsgs        rB   r¥   zImageFileDirectory_v2.__init__G  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Ô.ð 	Œ	ð
 !ˆÔÐÐrD   c                ó   — | j         S rn   )r  r§   s    rB   r  zImageFileDirectory_v2.<lambda>n  ó   €  4¤<€ rD   c                ó   — | j         S rn   )Ú_offsetr§   s    rB   r  zImageFileDirectory_v2.<lambda>o  r%  rD   rl   c                ó   — | j         S rn   )r"  r§   s    rB   rû   z ImageFileDirectory_v2.legacy_apiq  s   € àÔÐrD   rŸ   r   c                ó$   — d}t          |¦  «        ‚)Nz"Not allowing setting of legacy api)Ú	Exception)r“   rŸ   r#  s      rB   rû   z ImageFileDirectory_v2.legacy_apiu  s   € à2ˆÝ˜‰nŒnÐrD   c                óZ   — i | _         i | _        i | _        i | _        d | _        d | _        d S rn   )Ú_tags_v1Ú_tags_v2Ú_tagdatar  Ú_nextr'  r§   s    rB   r   zImageFileDirectory_v2.resetz  s0   € Ø(*ˆŒØ(*ˆŒØ*,ˆŒØˆŒØˆŒ
Ø#'ˆŒˆˆrD   r‘   c                ó:   — t          t          | ¦  «        ¦  «        S rn   )r‘   Údictr§   s    rB   Ú__str__zImageFileDirectory_v2.__str__‚  s   € Ý•4˜‘:”:‰ŒÐrD   ú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      €rB   rC   z/ImageFileDirectory_v2.named.<locals>.<dictcomp>‹  s@   ø€ ð 
ð 
ð 
á��eõ ŒO˜D $¤*Ñ-Ô-Ô2°Eð
ð 
ð 
rD   )Úitemsr§   s   `rB   ÚnamedzImageFileDirectory_v2.named…  s6   ø€ ð
ð 
ð 
ð 
à#Ÿzšz™|œ|ð
ñ 
ô 
ð 	
rD   rw   c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rn   )rf   Úsetr.  r-  r§   s    rB   Ú__len__zImageFileDirectory_v2.__len__�  ó)   € Ý•3�t”}Ñ%Ô%­¨D¬MÑ(:Ô(:Ñ:Ñ;Ô;Ð;rD   Útagr
   c                óü   — || j         vr?| j        |         }| j        |         }| j        |         \  }} || || j        ¦  «        | |<   | j         |         }| j        rt          |t          t          f¦  «        s|f}|S rn   )r-  r.  r  rí   rû   r£   rp   rj   )r“   r>  rú   Útyprã   Úhandlerrt   s          rB   Ú__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Øˆ
rD   r³   c                ó&   — || j         v p|| j        v S rn   )r-  r.  ©r“   r>  s     rB   Ú__contains__z"ImageFileDirectory_v2.__contains__ž  ó   € Ø�d”mÐ#Ð; s¨d¬mÐ';Ð;rD   c                ó>   — |                       ||| j        ¦  «         d S rn   )Ú_setitemrû   )r“   r>  rŸ   s      rB   Ú__setitem__z!ImageFileDirectory_v2.__setitem__¡  s    € Ø�Š�c˜5 $¤/Ñ2Ô2Ð2Ð2Ð2rD   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 rn   )r£   r|   ©r?   rA   s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>¯  s,   è è € ÐBÐB°a•z !¥[Ñ1Ô1ÐBÐBÐBÐBÐBÐBrD   r   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rn   )r£   rw   rL  s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>·  ó,   è è € Ð<Ð<°� A¥sÑ+Ô+Ð<Ð<Ð<Ð<Ð<Ð<rD   Tr    Fi €ÿÿi €  c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rn   )r£   r…   rL  s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ë  ó,   è è € Ð>Ð>°!� A¥uÑ-Ô-Ð>Ð>Ð>Ð>Ð>Ð>rD   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rn   )r£   r‘   rL  s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Í  rN  rD   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rn   )r£   rj   rL  s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ï  rP  rD   c                óh   — g | ]/}t          |t          ¦  «        r|                     d d¦  «        n|‘Œ0S )Úasciirì   )r£   r‘   ÚencoderL  s     rB   ú
<listcomp>z2ImageFileDirectory_v2._setitem.<locals>.<listcomp>Ó  sJ   € ð ð ð àõ 1;¸1½cÑ0BÔ0BÐI�—’˜ )Ñ,Ô,Ð,Èðð ð rD   c                óZ   — g | ](}t          |t          ¦  «        rt          |¦  «        n|‘Œ)S r>   )r£   rw   r…   rL  s     rB   rV  z2ImageFileDirectory_v2._setitem.<locals>.<listcomp>Ø  s1   € ÐLÐLÐLÀ¥*¨QµÑ"4Ô"4Ð;•e˜A‘h”h�h¸!ÐLÐLÐLrD   c              3  óp   •K  — | ]0}t          |t          ¦  «        r‰                     |¦  «        n|V — Œ1d S rn   )r£   r‘   Úcvt_enum)r?   rŸ   Úinfos     €rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ü  sW   øè è € ð ð àõ )3°5½#Ñ(>Ô(>ÐI�—’˜eÑ$Ô$Ð$ÀEðð ð ð ð ð rD   r   zMetadata Warning, tag z had too many entries: z, expected 1)r   rj   r‘   r   r6  r  r£   r  ÚtypeÚ	UNDEFINEDÚallr|   ÚSIGNED_RATIONALÚRATIONALrw   ÚSHORTÚSIGNED_SHORTÚLONGÚSIGNED_LONGÚDOUBLEÚASCIIÚBYTEr1  rp   r,  r-  Úlengthrf   Ú
ValueErrorÚwarningsÚwarn)r“   r>  rŸ   rû   Ú	basetypesr  rA   ÚshortÚsigned_shortÚlongÚis_ifdÚdestrZ  s               @rB   rH  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 rn   )r-  Úpopr,  r.  rD  s     rB   Ú__delitem__z!ImageFileDirectory_v2.__delitem__  sP   € ØŒ×Ò˜#˜tÑ$Ô$Ð$ØŒ×Ò˜#˜tÑ$Ô$Ð$ØŒ×Ò˜#˜tÑ$Ô$Ð$Ð$Ð$rD   úIterator[int]c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rn   )Úiterr;  r.  r-  r§   s    rB   Ú__iter__zImageFileDirectory_v2.__iter__  ó)   € Ý•C˜œÑ&Ô&­¨T¬]Ñ);Ô);Ñ;Ñ<Ô<Ð<rD   rÿ   rú   rü   c                ó<   — t          j        | j        |z   |¦  «        S rn   )r	  Úunpackr  )r“   rÿ   rú   s      rB   rþ   zImageFileDirectory_v2._unpack
  s   € ÝŒ}˜Tœ\¨CÑ/°Ñ6Ô6Ð6rD   r  c                ó6   — t          j        | j        |z   g|¢R Ž S rn   )r	  Úpackr  )r“   rÿ   r  s      rB   r  zImageFileDirectory_v2._pack  s!   € ÝŒ{˜4œ<¨#Ñ-Ð7°Ð7Ð7Ð7Ð7rD   ÚHrl  rG   rn  Úbzsigned byteÚhzsigned shortÚlzsigned longr­   r…   ÚdÚdoubler  Úlong8r   Tc                ó   — |S rn   r>   ©r“   rú   rû   s      rB   Ú	load_bytezImageFileDirectory_v2.load_byte!  ó   € àˆrD   úbytes | int | IFDRationalc                ó˜   — t          |t          ¦  «        rt          |¦  «        }t          |t          ¦  «        rt          |f¦  «        }|S rn   )r£   r|   rw   rj   ©r“   rú   s     rB   Ú
write_bytez ImageFileDirectory_v2.write_byte%  sC   € å�d�KÑ(Ô(ð 	Ý�t‘9”9ˆDÝ�d�CÑ Ô ð 	"Ý˜$˜‘>”>ˆDØˆrD   r&   c                ól   — |                      d¦  «        r
|d d…         }|                     dd¦  «        S )Nó    rz   zlatin-1rì   )ÚendswithÚdecoder…  s      rB   Úload_stringz!ImageFileDirectory_v2.load_string-  s7   € à�=Š=˜ÑÔð 	Ø˜˜˜”9ˆDØ�{Š{˜9 iÑ0Ô0Ð0rD   ústr | bytes | intc                óª   — t          |t          ¦  «        rt          |¦  «        }t          |t          ¦  «        s|                     dd¦  «        }|dz   S )NrT  rì   r�  )r£   rw   r‘   rj   rU  ©r“   rŸ   s     rB   Úwrite_stringz"ImageFileDirectory_v2.write_string3  sP   € õ �e�SÑ!Ô!ð 	Ý˜‘J”JˆEÝ˜%¥Ñ'Ô'ð 	5Ø—L’L ¨)Ñ4Ô4ˆEØ�u‰}ÐrD   r,   r2   ú)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*   rG   Úarw   r~  rk   útuple[int, int] | IFDRationalc                ó0   •— ‰r| |fnt          | |¦  «        S rn   ©r|   ©r—  r~  rû   s     €rB   Úcombinez4ImageFileDirectory_v2.load_rational.<locals>.combineB  ó    ø€ Ø'Ð>�A�q�6�6­[¸¸AÑ->Ô->Ð>rD   c              3  ó6   •K  — | ]\  }} ‰||¦  «        V — Œd S rn   r>   ©r?   ÚnumÚdenomrœ  s      €rB   rh   z6ImageFileDirectory_v2.load_rational.<locals>.<genexpr>E  ó3   øè è € ÐVÐV©Z¨S°%�W�W˜S %Ñ(Ô(ÐVÐVÐVÐVÐVÐVrD   r&   r   ©r—  rw   r~  rw   rk   r˜  ©rþ   rf   rp   Úzip©r“   rú   rû   Úvalsrœ  s     ` @rB   Ú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ÐVrD   r|   c                óF   ‡ — d                      ˆ fd„|D ¦   «         ¦  «        S )NrD   c              3  óP   •K  — | ] } ‰j         d gt          |d¦  «        ¢R Ž V — Œ!dS )Ú2Ll   ÿÿ N)r  r€   ©r?   r�   r“   s     €rB   rh   z7ImageFileDirectory_v2.write_rational.<locals>.<genexpr>I  sR   øè è € ð 
ð 
ØDHˆJˆDŒJ�tÐ?�o¨d°IÑ>Ô>Ð?Ð?Ð?ð
ð 
ð 
ð 
ð 
ð 
rD   r  ©r“   r  s   ` rB   Úwrite_rationalz$ImageFileDirectory_v2.write_rationalG  s?   ø€ à�xŠxð 
ð 
ð 
ð 
ØLRð
ñ 
ô 
ñ 
ô 
ð 	
rD   r0   c                ó   — |S rn   r>   r…  s      rB   Úload_undefinedz$ImageFileDirectory_v2.load_undefinedM  r‡  rD   c                ó¾   — t          |t          ¦  «        rt          |¦  «        }t          |t          ¦  «        r#t          |¦  «                             dd¦  «        }|S )NrT  rì   )r£   r|   rw   r‘   rU  r“  s     rB   Úwrite_undefinedz%ImageFileDirectory_v2.write_undefinedQ  sQ   € å�e�[Ñ)Ô)ð 	Ý˜‘J”JˆEÝ�e�SÑ!Ô!ð 	:Ý˜‘J”J×%Ò% g¨yÑ9Ô9ˆEØˆrD   é
   c           
     óÚ   ‡‡— |                       t          |¦  «        dz  › d�|¦  «        }dˆfd„Št          ˆfd	„t          |d d d
…         |dd d
…         ¦  «        D ¦   «         ¦  «        S )Nr*   r€  r—  rw   r~  rk   r˜  c                ó0   •— ‰r| |fnt          | |¦  «        S rn   rš  r›  s     €rB   rœ  z;ImageFileDirectory_v2.load_signed_rational.<locals>.combine_  r�  rD   c              3  ó6   •K  — | ]\  }} ‰||¦  «        V — Œd S rn   r>   rŸ  s      €rB   rh   z=ImageFileDirectory_v2.load_signed_rational.<locals>.<genexpr>b  r¢  rD   r&   r   r£  r¤  r¦  s     ` @rB   Úload_signed_rationalz*ImageFileDirectory_v2.load_signed_rationalY  r©  rD   c                óF   ‡ — d                      ˆ fd„|D ¦   «         ¦  «        S )NrD   c           	   3  óR   •K  — | ]!} ‰j         d gt          |dd¦  «        ¢R Ž V — Œ"dS )Ú2liÿÿÿi   €N)r  r�   r­  s     €rB   rh   z>ImageFileDirectory_v2.write_signed_rational.<locals>.<genexpr>f  sX   øè è € ð 
ð 
àð ˆDŒJ�tÐPÕ4°T¸9ÀhÑOÔOÐPÐPÐPð
ð 
ð 
ð 
ð 
ð 
rD   r  r®  s   ` rB   Úwrite_signed_rationalz+ImageFileDirectory_v2.write_signed_rationald  s?   ø€ à�xŠxð 
ð 
ð 
ð 
àð
ñ 
ô 
ñ 
ô 
ð 	
rD   Ú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. )Úreadrf   ÚOSError)r“   r½  rã   Úretr#  s        rB   Ú_ensure_readz"ImageFileDirectory_v2._ensure_readk  sj   € Ø�gŠg�d‰mŒmˆÝˆs‰8Œ8�tÒÐðLØ%)ðLð LÝ?BÀ3¹x¼xðLð Lð Lð õ ˜#‘,”,ÐØˆ
rD   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  r2   r}  r&   r   ÚHHQ8sé   ÚHHL4srH   Úunknownztag: ú (ú
) - type: ú)z%s - unsupported type %sr*   rG   z Tag Location: z - Data Location: z/Possibly corrupt EXIF data.  Expecting to read rÀ  z. Skipping tag z
 - value: rM   ú<table: ú bytes>)r   Útellr'  r  rþ   rÄ  Úranger   r6  r  r  r   Úgetrí   ÚKeyErrorÚloggerÚdebugÚseekr   Ú
_safe_readrf   ri  rj  r.  r  r  r!  rÂ  r‘   )r“   r½  Ú	tag_countr‡   r>  r@  Úcountrú   ÚtagnameÚtypnamer#  Ú	unit_sizerA  rã   ÚhereÚoffsets                   rB   ÚloadzImageFileDirectory_v2.loadu  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  é*   ÚHHr2   r   r  rJ   rG   )r  r  r  ©r“   r  s     rB   Ú_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ˆàˆ
rD   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}  rG   r2   r*   rÇ  rH   zTag %s, Type: %s, Value: %s)r  ÚifdrÉ  zsave: rÊ  rË  z) - value: rJ   rÍ  rÎ  r   r�  rD   r&   c                ó   •— g | ]}|‰z   ‘ŒS r>   r>   )r?   rt   rÝ  s     €rB   rV  z1ImageFileDirectory_v2.tobytes.<locals>.<listcomp>ø  s   ø€ ÐWÐWÐW¨3˜# ™,ÐWÐWÐWrD   r   z%s %s %s %s %srÆ  rÈ  )"r  r  rf   r-  Úsortedr8  ÚSTRIPOFFSETSr  rÓ  rÔ  r  r   rb  r£   r1  rá   rã  Útobytesrp   rô   r6  r  r  r   rÑ  r‘   rf  re  r\  ÚappendÚljustrí   rû   rþ   )r“   rÝ  ÚresultÚentriesrÿ   Úfmt_sizeÚstripoffsetsr>  rŸ   r@  ro  rå  r  Úifd_tagÚ	ifd_valuerú   rÙ  rÚ  r#  rØ  rã   rA  s    `                    rB   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‰}ð  Ø˜%‘�øàˆrD   c                ó   — |                      ¦   «         dk    r'|                     |                      ¦   «         ¦  «         |                      ¦   «         }|                      |¦  «        }|                     |¦  «         |t	          |¦  «        z   S r»   )rÏ  Úwriterã  ré  rf   )r“   r½  rÝ  rì  s       rB   ÚsavezImageFileDirectory_v2.save  sn   € Ø�7Š7‰9Œ9˜Š>ˆ>Ø�HŠH�T—]’]‘_”_Ñ%Ô%Ð%à—’‘”ˆØ—’˜fÑ%Ô%ˆØ
�Š�ÑÔÐØ�˜F™œÑ#Ð#rD   )r  NN)r  rj   ri   r  r  r  rk   r    )rk   rl   )rŸ   rl   rk   r   ©rk   r    rÙ   )rk   r3  rØ   ©r>  rw   rk   r
   ©r>  r³   rk   rl   ©r>  rw   rŸ   r
   rk   r    )r>  rw   rŸ   r
   rû   rl   rk   r    )r>  rw   rk   r    ©rk   rt  )rÿ   r‘   rú   rj   rk   rü   )rÿ   r‘   r  r
   rk   rj   r  )rú   rj   rû   rl   rk   rj   )rú   rˆ  rk   rj   )rú   rj   rû   rl   rk   r‘   )rŸ   r‘  rk   rj   )rú   rj   rû   rl   rk   r•  )r  r|   rk   rj   )rŸ   rˆ  rk   rj   )r½  r¾  rã   rw   rk   rj   )r½  r¾  rk   r    )rk   rj   rT   )rÝ  rw   rk   rj   )r½  r¾  rk   rw   )7rÚ   rÛ   rÜ   rÝ   rí   Ú__annotations__rô   r¥   rß   ri   rÝ  rû   Úsetterr   r2  r9  r<  rB  rE  rI  rH  rs  rw  rþ   r  ÚlistÚmapr  r   r`  rb  ÚSIGNED_BYTEra  rc  ÚFLOATrd  ÚIFDÚLONG8rï   r†  rõ   r‹  r�  r”  r¨  r¯  r±  r³  r¸  r¼  rÄ  rÞ  rã  ré  rô  r>   rD   rB   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ð`$ð $ð $ð $ð $ð $rD   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
   Úkwargsrk   r    c                óH   •—  t          ¦   «         j        |i |¤Ž d| _        d S )NT)Úsuperr¥   r"  )r“   r”   r  Ú	__class__s      €rB   r¥   zImageFileDirectory_v1.__init__7  s-   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØˆÔÐÐrD   c                ó   — | j         S rn   )r,  r§   s    rB   r  zImageFileDirectory_v1.<lambda>;  s   €  ¤€ rD   c                ó   — | j         S rn   )r.  r§   s    rB   r  zImageFileDirectory_v1.<lambda><  s   €  D¤M€ rD   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`

        rr   )ri   r.  r  r!  )Úclsr  rå  s      rB   Úfrom_v2zImageFileDirectory_v1.from_v2B  s:   € ð ˆc˜œÐ)Ñ)Ô)ˆØÔ(ˆŒØÔ&ˆŒØ”=ˆŒØˆ
rD   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`

        rr   )rá   ri   r1  r.  r  r-  )r“   rå  s     rB   Úto_v2zImageFileDirectory_v1.to_v2T  sN   € õ $¨4¬;Ð7Ñ7Ô7ˆÝ˜DœMÑ*Ô*ˆŒÝ˜4œ<Ñ(Ô(ˆŒÝ˜DœMÑ*Ô*ˆŒØˆ
rD   r>  r³   rl   c                ó&   — || j         v p|| j        v S rn   )r,  r.  rD  s     rB   rE  z"ImageFileDirectory_v1.__contains__e  rF  rD   rw   c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rn   )rf   r;  r.  r,  r§   s    rB   r<  zImageFileDirectory_v1.__len__h  r=  rD   rt  c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rn   )rv  r;  r.  r,  r§   s    rB   rw  zImageFileDirectory_v1.__iter__k  rx  rD   rŸ   c                ó>   — dD ]}|                       |||¦  «         Œd S ©N)FT)rH  )r“   r>  rŸ   rû   s       rB   rI  z!ImageFileDirectory_v1.__setitem__n  s4   € Ø'ð 	2ð 	2ˆJØ�MŠM˜#˜u jÑ1Ô1Ð1Ð1ð	2ð 	2rD   c           	     ó  — || j         vrQ| j        |         }| j        |         }| j        |         \  }}dD ]$}|                      | || ||¦  «        |¦  «         Œ%| j         |         }t          |t          t          f¦  «        s|f}|S r  )r,  r.  r  rí   rH  r£   rp   rj   )r“   r>  rú   r@  rã   rA  Úlegacyrt   s           rB   rB  z!ImageFileDirectory_v1.__getitem__r  sž   € Ø�d”mÐ#Ð#Ø”= Ô%ˆDØ”,˜sÔ#ˆCØ Ô/°Ô4‰MˆD�'Ø'ð Hð H�Ø—’˜c 7 7¨4°°vÑ#>Ô#>ÀÑGÔGÐGÐGØŒm˜CÔ ˆÝ˜#¥¥u˜~Ñ.Ô.ð 	Ø�&ˆCØˆ
rD   )r”   r
   r  r
   rk   r    )r  rá   rk   r  )rk   rá   r÷  rØ   rù  rø  rö  )rÚ   rÛ   rÜ   rÝ   r¥   rß   ÚtagsÚtagdatarú  Úclassmethodr  r  rE  r<  rw  rI  rB  Ú__classcell__©r  s   @rB   r  r  $  s  ø€ € € € € € ðð ð$ ð  ð  ð  ð  ð  ð ˆ8Ð.Ð.Ñ/Ô/€DØˆhÐ1Ð1Ñ2Ô2€Gð ÐÐÑØ!àðð ð ñ „[ðð"ð ð ð ð"<ð <ð <ð <ð<ð <ð <ð <ð=ð =ð =ð =ð2ð 2ð 2ð 2ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
rD   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 | Nonerk   r    c                óX   •— |  	 |  	 t          ¦   «                              ||¦  «         d S rn   )r  r¥   )r“   r½  r!  r  s      €rB   r¥   zTiffImageFile.__init__Œ  s7   ø€ ð
 	Ð*Ø5àÐ'Ø"å‰Œ×Ò˜˜XÑ&Ô&Ð&Ð&Ð&rD   c                ó&  — | j         €J ‚| 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 fileNr2   r&   r  rz   z*** 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     rB   Ú_openzTiffImageFile._open™  sà   € ð ŒwÐ"Ð"Ð"ØŒ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‰ŒˆˆˆrD   rw   c                óD  — | j         }|€ˆ|                      ¦   «         }|                      t          | j        ¦  «        ¦  «         | j         €1|                      |                      ¦   «         dz   ¦  «         | j         ®1|                      |¦  «         | j         €J ‚| j         S )Nr   )r+  rÏ  r,  rf   r*  rÕ  )r“   Úcurrent_n_framesÚcurrents      rB   Ún_frameszTiffImageFile.n_frames²  s‘   € àœ>ÐØÐ#Ø—i’i‘k”kˆGØ�JŠJ•s˜4œ?Ñ+Ô+Ñ,Ô,Ð,Ø”.Ð(Ø—
’
˜4Ÿ9š9™;œ;¨™?Ñ+Ô+Ð+ð ”.Ð(à�IŠI�gÑÔÐØŒ~Ð)Ð)Ð)ØŒ~ÐrD   Ú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“   r2  s     rB   rÕ  zTiffImageFile.seek¾  s~   € à×Ò Ñ&Ô&ð 	ØˆFØ�
Š
�5ÑÔÐØŒ8ÐØŒGŒL˜DœOÒ+Ð+ØŒwŒ|˜tœyÒ(Ð(ØŒ}ð )ð ˆDŒHˆHˆHð  Ðà(Ð(rD   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½  rf   r*  r'  ÚEOFErrorrÓ  rÔ  r(  rÏ  rh  rÕ  rê  r%  rÞ  r!  r+  Úis_animatedÚXMPrp   rZ  Ú_reload_exifr  r  r>  rå  Ú_setup)r“   r2  r#  r;  s       rB   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ØˆŒØ�Š‰ŒˆˆˆrD   c                ó   — | j         S )zReturn the current frame number)r(  r§   s    rB   rÏ  zTiffImageFile.tellû  s
   € àŒ|ÐrD   údict[int, dict[str, bytes]]c                ób  — i }| j                              t          j        j        ¦  «        }|�r |                     d¦  «        rët          |¦  «        dk    rØt          |dd…         ¦  «        }t          j	        |d         dz   dz  ¦  «        dz  }	 t          |d|z   d|z   …         ¦  «        }n# t          j        $ r Y nnw xY w|d|z   d|z   |z   …         }d|i||<   |t          j	        d|z   |z   dz  ¦  «        dz  d	…         }|                     d¦  «        rt          |¦  «        dk    °Ø|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   8BIMrH   r*   r.   r   r&   r´  rú   N)r%  rÑ  r   ÚBaseÚImageResourcesro   rf   Úi16ÚmathÚceilÚi32r	  Úerror)r“   Úblocksrt   ÚidÚnrã   rú   s          rB   Úget_photoshop_blocksz"TiffImageFile.get_photoshop_blocksÿ  sH  € ð ˆØŒk�oŠo�hœmÔ:Ñ;Ô;ˆØñ 	@Ø—.’. Ñ)Ô)ð 
@­c°#©h¬h¸"ªn¨nÝ˜˜Q˜q˜Sœ‘]”]�Ý”I˜s 1œv¨™z¨QÑ.Ñ/Ô/°!Ñ3�ðÝ˜s 1 q¡5¨2°©6 >Ô2Ñ3Ô3�D�DøÝ”|ð ð ð Ø�Eðøøøà˜2 ™6 B¨¡F¨T¡MÐ1Ô2�Ø$ d˜^��r‘
à�$œ) R¨!¡V¨d¡]°aÑ$7Ñ8Ô8¸1Ñ<Ð>Ð>Ô?�ð —.’. Ñ)Ô)ð 
@­c°#©h¬h¸"ªn¨nð ˆs   ÂB0 Â0CÃCúImage.core.PixelAccess | Nonec                óˆ   •— | j         r| j        r|                      ¦   «         S t          ¦   «                              ¦   «         S rn   )ÚtileÚuse_load_libtiffÚ_load_libtiffr  rÞ  )r“   r  s    €rB   rÞ  zTiffImageFile.load  s;   ø€ ØŒ9ð 	(˜Ô.ð 	(Ø×%Ò%Ñ'Ô'Ð'Ý‰wŒw�|Š|‰~Œ~ÐrD   c                óâ   — | j         €Ht          j        | j        ¦  «         t          j                             | j        | j        ¦  «        | _        t          j         	                    | ¦  «         d S rn   )
r5  r   Ú_decompression_bomb_checkr7  ÚcoreÚnewr8  r6  r   Úload_preparer§   s    rB   rY  zTiffImageFile.load_prepare  sU   € ØŒ8ÐÝÔ+¨D¬OÑ<Ô<Ð<Ý”j—n’n T¤Y°´Ñ@Ô@ˆDŒGÝÔ×(Ò(¨Ñ.Ô.Ð.Ð.Ð.rD   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   rE  ÚOrientationr%  )r“   ÚexifÚkeys      rB   Ú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Ð3rD   c                óò  — t           j                              | ¦  «         |                      ¦   «          t          | j        ¦  «        dk    sd}t          |¦  «        ‚| j        d         d         }| j        d         d         }| j        €J ‚	 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(   NÚfilenoÚflushFr&   ÚlibtiffzCouldn't set the imageÚ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Þ  rY  rf   rR  rÂ  r½  rà   rf  rg  r£   rp   rü  Ú_getdecoderr8  ÚdecoderconfigÚsetimager6  rh  Ú_exclusive_fpr>  rÓ  rÔ  r�  ri  rÕ  ÚosÚlseekÚSEEK_CURÚSEEK_SETrÁ  r9  rd  Úclose)r“   r#  Úextentsr”   r½  Ú	args_listÚdecoderÚeÚclose_self_fprN  ÚerrÚposs               rB   rT  zTiffImageFile._load_libtiff3  s3  € õ 	Œ×Ò˜ÑÔÐà×ÒÑÔÐå�4”9‰~Œ~ Ò"Ð"Ø(ˆCÝ˜#‘,”,Ðð ”)˜A”,˜q”/ˆØŒy˜Œ|˜AŒˆð
 ŒwÐ"Ð"Ð"ð
	Ý˜œ (Ñ+Ô+Ð@°´·²Ñ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* Ã*C9Ã8C9ÅE6 Å6
FÆ 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;          |¦  «        k    r	|d         f}| j                              t<          d¦  «        }	| j                              t>          d¦  «        }
| j                              t@          | j        dk    r|dv rdnd¦  «        }|dv rd}n|dk    rd}nd}| j        dk    rA|
r?t9          |
¦  «        dk    r,|	dt7          |
¦  «         …         }	|t7          |
¦  «        z  }d}
|t7          |
¦  «        z  }t7          |	¦  «        }|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   r/   r.   z*** Summary ***z- compression: %sz - photometric_interpretation: %sz- planar_configuration: %sz- fill_order: %sz- YCbCr subsampling: %szMissing dimensionsNzInvalid dimensions)r,   r.   r0   r2   z
- size: %srE   r>   )r&   r.   r(   )r&   r.   r2   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ÚcompressionÚdpigR¸…ëQ@Ú
resolutionr%   r1   rR   rI   úI;16N)z;16Bz;16Lrz   ÚNFrh  zInvalid tile dimensionsr2   z- unsupported data organizationÚicc_profile©r^   r`   c                ó2   — g | ]}t          |d z  ¦  «        ‘ŒS ©r"   r   )r?   r~  s     rB   rV  z(TiffImageFile._setup.<locals>.<listcomp>ˆ  s"   € ÐCÐCÐC¨•r˜!˜s™(‘|”|ÐCÐCÐCrD   úRGB;LrD   )@r%  rÂ  ÚCOMPRESSION_INFOrÑ  ÚCOMPRESSIONÚ_compressionÚPLANAR_CONFIGURATIONÚ_planar_configurationÚPHOTOMETRIC_INTERPRETATIONÚ	FILLORDERrÓ  rÔ  ÚYCBCRSUBSAMPLINGÚ
IMAGEWIDTHÚIMAGELENGTHrÒ  Ú	TypeErrorr£   rw   rh  r7  r   rE  ra  Ú_sizerã   ÚSAMPLEFORMATrf   rŒ   r‹   ÚBITSPERSAMPLEÚEXTRASAMPLESÚSAMPLESPERPIXELÚMAX_SAMPLESPERPIXELrK  r  ri   Ú	OPEN_INFOÚ_moder8  rZ  ÚX_RESOLUTIONÚY_RESOLUTIONÚRESOLUTION_UNITrR  ÚREAD_LIBTIFFrS  rŽ  rÝ  rê  r   Ú_Tilerè  ÚTILEOFFSETSÚROWSPERSTRIPÚ	TILEWIDTHÚ
TILELENGTHÚsumÚ
ICCPROFILEÚCOLORMAPr   r%   r  Úpalette) r“   r#  ÚphotoÚ	fillorderÚxsizeÚysizerv  ÚorientationÚsample_formatÚ	bps_tupleÚextra_tupleÚsamples_per_pixelÚ	bps_countÚbps_actual_countrc  ÚrawmodeÚxresÚyresÚresunitÚxÚyÚlayerr—  Úoffsetsr  ÚwÚ	tilewidthrÝ  ÚstrideÚtile_rawmoder”   r¤  s                                    rB   rA  zTiffImageFile._setup”  sq	  € ð �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Ò&NÐ&Nð +¨1Ô-Ð/ˆMà”K—O’O¥M°4Ñ8Ô8ˆ	Ø”k—o’o¥l°BÑ7Ô7ˆØ œKŸOšOÝØÔ" kÒ1Ð1°e¸v°o°oˆAˆAÈ1ñ
ô 
Ðð �IÐÐØˆIˆIØ�aŠZˆZØˆIˆIàˆIØÔ%¨Ò*Ð*¨{Ð*½sÀ;Ñ?OÔ?OÐSTÒ?TÐ?Tð "Ð"5¥S¨Ñ%5Ô%5Ð$5Ð"5Ô6ˆIØ¥ [Ñ!1Ô!1Ñ1ÐØˆKØ•S˜Ñ%Ô%Ñ%ˆ	Ý˜y™>œ>ÐàÕ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Ñ*R  Ò 
R;Ò
,R6Ò6R;rn   )r½  r   r!  r"  rk   r    rõ  rØ   )r2  rw   rk   r    )rk   rC  )rk   rP  )rÚ   rÛ   rÜ   ÚformatÚformat_descriptionr\  r¥   r-  rß   r1  rÕ  r,  rÏ  rO  rÞ  rY  rd  rT  rA  r  r  s   @rB   r  r  ‡  s`  ø€ € € € € Ø€FØ%ÐØ(-Ð%ð
 (,ð'ð 'ð 'ð 'ð 'ð 'ð 'ðð ð ð ð2 ð	ð 	ð 	ñ „Xð	ð
ð 
ð 
ð 
ð/ð /ð /ð /ðbð ð ð ðð ð ð ð0ð ð ð ð ð ð
/ð /ð /ð /ð7ð 7ð 7ð 7ð"_&ð _&ð _&ð _&ðBuHð uHð uHð uHð uHð uHð uHð uHrD   r  rF   rG   rQ   r^   r`   rL   rP   rI   úI;16LrN   rO   rR   rU   rS   ra   ÚYCbCrrd   rK   r6  ú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 ¦  «        ¥}|                     t          ¦  «        dk    rGtD          |v r>tF          |v r-|tF          xx         tI          |tD                   ¦  «        z  cc<   |tD          = tJ          tL          fD ]	}||v r||= Œ
t?          | d¦  «        r•tN          tP          tR          tT          tV          tX          fD ]n}|| j-        v rc|tT          k    r.| j-        j        |         t4          j.        t4          j/        fvr||= ŒD| j-        |         ||<   | j-        j        |         |j        |<   Œo|                     d| j	                             d¦  «        ¦  «        }|r
||t`          <   tb          dftP          dftR          dftP          dftR          dftN          dftd          dftf          dfth          dftj          dff
D ]\  }}||v r||         ||<   Œ|                     d¦  «        }|r*d|tN          <   |d         |tP          <   |d         |tR          <   |dk    r4||tl          <   tI          |¦  «        dk    rtI          |¦  «        |tF          <   |�
||tD          <   |dk    r
||tL          <   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  })tl          |d         i}-t¹          j]        | L                    ¦   «         | L                    ¦   «         ¦  «        D �]*\  }}.|t4          j^        vr®|t4          j        v rt4          j_        |,|<   n�||j        v r|j        |         |,|<   nvt          |.t          tÀ          tÂ          t"          f¦  «        s.t          |.tŒ          ¦  «        r9tÅ          d7„ |.D ¦   «         ¦  «        r t5          jc        |¦  «        jd        }/|/r|/|,|<   ||-vrd||)vr`t          |.tÂ          ¦  «        r|. e                    d8d9¦  «        d:z   |-|<   Œüt          |.tÌ          ¦  «        rtÁ          |.¦  «        |-|<   �Œ%|.|-|<   �Œ,tL          |-v r9tI          |-tL                   ¦  «        dk    r|-tL                   d         |-tL          <   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d@|3› dA�}
t          |
¦  «        ‚nT|)D ]}||= Œ| m                    |¦  «        }5tÕ          jn        | |tÕ          jo        dd?| j        z   |5||#df¦  «        g¦  «         dB|v rtá          | dB|¦  «         d S d S )CNzcannot write mode z as TIFFrr   Úbig_tiffTr{  r%   r/   r1   r7   r3   r   r   Útiffinforb  zTiffinfo Keys: %sr>  r%  r&   r€  Údescriptionr}  Úx_resolutionÚy_resolutionÚresolution_unitÚsoftwareÚ	date_timeÚartistÚ	copyrightr|  rE   )rF   rG   rF   r!   r�  rR   r„  r(   c                ó   — g | ]}|d z  ‘ŒS rƒ  r>   rL  s     rB   rV  z_save.<locals>.<listcomp>G  s   € ÐMÐMÐM Q˜˜S™ÐMÐMÐMrD   r"   r0   r2   Ú
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: %srf  c              3  óZ   K  — | ]&}t          |t          t          t          f¦  «        V — Œ'd S rn   )r£   rw   r…   r|   rL  s     rB   rh   z_save.<locals>.<genexpr>§  s3   è è € ÐTÐTÈ�J q­3µµ{Ð*CÑDÔDÐTÐTÐTÐTÐTÐTrD   rT  rì   r�  zConverted items: %s)rI   rK   r¾  r~  rh  rV   zencoder error z when writing image fileÚ_debug_multipage)qÚ	SAVE_INFOr8  rÒ  rÂ  ÚencoderinfoÚencoderconfigrá   rÑ  r  rZ  r£   rw   ÚWRITE_LIBTIFFrˆ  rã   r�  rŽ  rj   r   ÚExifrÞ  rÓ  rÔ  rü  r  r  r   r^  r_  r  r*  rà   r>  r˜   r“  r”  rf   ÚEXIFIFDr‘  rš  r˜  r™  ÚIPTC_NAA_CHUNKÚPHOTOSHOP_CHUNKr?  r%  rf  r\  r¢  ÚIMAGEDESCRIPTIONÚSOFTWAREÚ	DATE_TIMEÚARTISTÚ	COPYRIGHTr’  rŠ  ÚcopyrÐ  ÚheightÚwidthr   Úinvertr6  Ú
getpaletter£  rž  Ú
STRIP_SIZEr‹   rb  ÚSTRIPBYTECOUNTSrp   rè  ÚCOMPRESSION_INFO_REVr†  rŒ  ÚREFERENCEBLACKWHITEr8  Ú
setdefaultrŸ  r   r�  ÚTILEBYTECOUNTSrh  ÚJPEGQUALITYrç  rÕ  rf  ÚioÚUnsupportedOperationÚOSUBFILETYPEÚTRANSFERFUNCTIONÚSUBIFDÚ	itertoolsÚchainÚLIBTIFF_COREr  r…   r‘   r]  r6  r[  rU  r|   ÚsortÚ_getencoderrl  r   ÚMAXBLOCKró  rô  Ú_saverœ  Úsetattr)6r6  r½  r!  r°  ri   r¥  r¼  ÚbitsÚextrarv  r#  rÕ  rÖ  rå  r{  rh  rZ  rb  rc  Ú
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                                                         rB   rø  rø  ©  sf  € ð"Ý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Ø×ÒÕ-Ñ.Ô.°!Ò3Ð3½ÈÐ8UÐ8Uõ ˜mÐ+Ð+Ø�/Ð*Ð*Ô*­c°-ÅÔ2MÑ.NÔ.NÑNÐ*Ð*Ñ*Ø�,Ð'õ 	åð	ð #ð #ˆð �-ÐÐØ˜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Øñ l
Ø˜Ð#Ð#Ø! )Ô,ˆ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�ð
 �(Ô/Ð/Ð/Ø�(Ô1Ð1Ð1Ý!)¤�E˜#‘J�JØ˜CœKÐ'Ð'Ø!$¤¨SÔ!1�E˜#‘J�JÝ ­­UµC½Ð'?Ñ@Ô@ð *Ý˜u¥eÑ,Ô,ð*åÐTÐTÈeÐTÑTÔTÑTÔTð*õ $œ?¨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ã)c9 ã9dä
d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*   r2   r   r   r&   r*   r2   r*   r2   r*   r&   r*   r2   >   é  é  é	  é   r#   r$   FÚfnr   rX  rl   rk   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	   rj   rÏ  Ú	beginningÚsetup)r“   r  rX  s      rB   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  rn  rq  ÚwhereToWriteNewIFDOffsetÚoffsetOfNewPagerÁ  ÚIIMMr  ÚisFirstrq   ÚRuntimeErrorÚ	setEndianro   r  rp  ÚskipIFDsÚgoToEnd)r“   Úiimmr#  s      rB   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œ;Ñ'Ô'Ð'Ø�Š‰ŒˆØ�Š‰ŒˆˆˆrD   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 pager2   )r  r­   rÕ  r  rÁ  r  r   r  rn  rp  Ú_readr  Ú_writeÚfixIFD)r“   r$  r#  Ú
ifd_offsets       rB   Ú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ÑÔÐØ�Š‰ŒˆˆˆrD   c                óV   — |                       ¦   «          |                      ¦   «          d S rn   )r*  r  r§   s    rB   ÚnewFramezAppendingTiffWriter.newFrameD  s    € à�Š‰ŒˆØ�
Š
‰ŒˆˆˆrD   c                ó   — | S rn   r>   r§   s    rB   Ú	__enter__zAppendingTiffWriter.__enter__I  s   € ØˆrD   r”   r³   c                ó@   — | j         r|                      ¦   «          d S d S rn   )r  rr  )r“   r”   s     rB   Ú__exit__zAppendingTiffWriter.__exit__L  s'   € ØŒ=ð 	Ø�JŠJ‰LŒLˆLˆLˆLð	ð 	rD   rw   c                óD   — | j                              ¦   «         | j        z
  S rn   )r­   rÏ  r  r§   s    rB   rÏ  zAppendingTiffWriter.tellP  s   € ØŒv�{Š{‰}Œ}˜tÔ3Ñ3Ð3rD   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.
        )rn  rq  r  r­   rÕ  rÏ  )r“   rÝ  r2  s      rB   rÕ  zAppendingTiffWriter.seekS  sB   € ð •R”[Ò Ð Ø�dÔ*Ñ*ˆFàŒ�Š�F˜FÑ#Ô#Ð#Ø�yŠy‰{Œ{ÐrD   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   rJ   )r­   rÕ  rn  ÚSEEK_ENDrÏ  ró  rj   r  )r“   ry  Ú	pad_bytess      rB   r#  zAppendingTiffWriter.goToEnd`  sŽ   € ØŒ�Š�A•r”{Ñ#Ô#Ð#ØŒf�kŠk‰mŒmˆð ˜˜r™‘Mˆ	ØˆyÐÐÒÐ˜2ÒÐÐÐÐØŒF�LŠL�˜yÑ)Ô)Ñ*Ô*Ð*Ø#œvŸ{š{™}œ}ˆÔÐÐrD   Úendianr‘   c                ó†   — || _         | j         › d�| _        | j         › d�| _        | j         › d�| j        rdndz   | _        d S )NrG   r}  rá  r  )r7  ÚlongFmtÚshortFmtr  Ú	tagFormat)r“   r7  s     rB   r!  zAppendingTiffWriter.setEndianj  sS   € ØˆŒØœ+Ð(Ð(Ð(ˆŒØœ;Ð)Ð)Ð)ˆŒØ œKÐ+Ð+Ð+°d´mÐ/L¨s¨sÈÑMˆŒˆˆrD   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        ¦  «         Œº)NTr2   r*   r   r&   rÇ  rH   )r&  r  r­   rÏ  r  rÕ  rn  rp  )r“   r)  Únum_tagss      rB   r"  zAppendingTiffWriter.skipIFDsp  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rD   rú   r   c               ó6   — | j                              |¦  «        S rn   )r­   ró  rŠ  s     rB   ró  zAppendingTiffWriter.write}  s   € ØŒv�|Š|˜DÑ!Ô!Ð!rD   Ú
field_sizec                óZ   — 	 ddddœ|         S # t           $ r d}t          |¦  «        ‚w xY w)Nr}  rG   r  )r&   r*   r2   zoffset is not supported)rÒ  r   )r“   r?  r#  s      rB   Ú_fmtzAppendingTiffWriter._fmt€  sJ   € ð	$Ø˜s sÐ+Ð+¨JÔ7Ð7øÝð 	$ð 	$ð 	$Ø+ˆCÝ˜sÑ#Ô#Ð#ð	$øøøs   ‚ Ž*c                óš   — t          j        | j        |                      |¦  «        z   | j                             |¦  «        ¦  «        \  }|S rn   )r	  rz  r7  rA  r­   rÁ  )r“   r?  rŸ   s      rB   r&  zAppendingTiffWriter._read‡  sB   € Ý”=ØŒK˜$Ÿ)š) JÑ/Ô/Ñ/°´·²¸ZÑ1HÔ1Hñ
ô 
‰ˆð ˆrD   c                ó,   — |                       d¦  «        S ©Nr&   ©r&  r§   s    rB   Ú	readShortzAppendingTiffWriter.readShort�  ó   € Ø�zŠz˜!‰}Œ}ÐrD   c                ó,   — |                       d¦  «        S ©Nr*   rE  r§   s    rB   ÚreadLongzAppendingTiffWriter.readLong�  rG  rD   Úbytes_writtenr  Úexpectedc                óH   — | �| |k    rd| › d|› �}t          |¦  «        ‚d S d S )Nzwrote only z bytes but wanted )r   )rK  rL  r#  s      rB   Ú_verify_bytes_writtenz)AppendingTiffWriter._verify_bytes_written“  sC   € àÐ$¨¸(Ò)BÐ)BØK ÐKÐKÀÐKÐKˆCÝ˜sÑ#Ô#Ð#ð %Ð$Ð)BÐ)BrD   r   rŸ   Únew_field_sizec                ó  — | j                              | t          j        ¦  «         |s|}| j                              t          j        | j        |                      |¦  «        z   |¦  «        ¦  «        }|  	                    ||¦  «         d S rn   )
r­   rÕ  rn  rp  ró  r	  r|  r7  rA  rN  )r“   rŸ   r?  rO  rK  s        rB   Ú_rewriteLastz AppendingTiffWriter._rewriteLast™  s€   € ð 	Œ�Š�Z�K¥¤Ñ-Ô-Ð-Øð 	(Ø'ˆNØœŸšÝŒK˜œ d§i¢i°Ñ&?Ô&?Ñ?ÀÑGÔGñ
ô 
ˆð 	×"Ò" =°.ÑAÔAÐAÐAÐArD   c                ó4   — |                       |dd¦  «         d S )Nr&   r*   ©rQ  r“  s     rB   ÚrewriteLastShortToLongz*AppendingTiffWriter.rewriteLastShortToLong¤  s    € Ø×Ò˜%  AÑ&Ô&Ð&Ð&Ð&rD   c                ó.   — |                       |d¦  «        S rD  rS  r“  s     rB   ÚrewriteLastShortz$AppendingTiffWriter.rewriteLastShort§  ó   € Ø× Ò  ¨Ñ*Ô*Ð*rD   c                ó.   — |                       |d¦  «        S rI  rS  r“  s     rB   ÚrewriteLastLongz#AppendingTiffWriter.rewriteLastLongª  rW  rD   c                óÂ   — | j                              t          j        | j        |                      |¦  «        z   |¦  «        ¦  «        }|                      ||¦  «         d S rn   )r­   ró  r	  r|  r7  rA  rN  )r“   rŸ   r?  rK  s       rB   r'  zAppendingTiffWriter._write­  sW   € ØœŸšÝŒK˜œ d§i¢i°
Ñ&;Ô&;Ñ;¸UÑCÔCñ
ô 
ˆð 	×"Ò" =°*Ñ=Ô=Ð=Ð=Ð=rD   c                ó2   — |                       |d¦  «         d S rD  ©r'  r“  s     rB   Ú
writeShortzAppendingTiffWriter.writeShort³  ó   € Ø�Š�E˜1ÑÔÐÐÐrD   c                ó2   — |                       |d¦  «         d S rI  r\  r“  s     rB   Ú	writeLongzAppendingTiffWriter.writeLong¶  r^  rD   c                ór   — |                       ¦   «          | j        r| j                             ¦   «          d S d S rn   )r*  r  r­   rr  r§   s    rB   rr  zAppendingTiffWriter.close¹  s6   € Ø�Š‰ŒˆØŒ=ð 	ØŒF�LŠL‰NŒNˆNˆNˆNð	ð 	rD   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 )Nr2   r&   rH   r*   z;fixIFD: %s (%d) - type: %s (%d) - type size: %d - count: %drÉ  )r&  r  rÐ  r	  rz  r;  r­   rÁ  Ú
fieldSizesr  rQ  ÚTagsrÏ  rÓ  rÔ  r   r6  r  r   rÑ  Ú_fixOffsetsrÕ  rn  rp  )r“   r=  r‡   r>  Ú
field_typerØ  r?  Ú
total_sizerî  Úis_localrÝ  Úcur_poss               rB   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ð $	3rD   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        r2   r&   r    r*   r   znot implemented)rÐ  r&  r  r  r   rQ  r­   rÕ  rn  rp  r]  )r“   rØ  r?  r‡   rÝ  rO  r#  Úrewinds           rB   re  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ð 	6rD   ÚisShortÚisLongc                óF   — |rd}n|rd}nd}|                       ||¦  «        S )Nr&   r*   r   )re  )r“   rØ  rl  rm  r?  s        rB   Ú
fixOffsetszAppendingTiffWriter.fixOffsets	  s=   € ð ð 	ØˆJˆJØð 	ØˆJˆJàˆJØ×Ò  zÑ2Ô2Ð2rD   N)F)r  r   rX  rl   rk   r    rõ  )rk   r  )r”   r³   rk   r    rØ   )rÝ  rw   r2  rw   rk   rw   )r7  r‘   rk   r    )rú   r   rk   rw   )r?  rw   rk   r‘   )r?  rw   rk   rw   )rK  r  rL  rw   rk   r    rT   )rŸ   rw   r?  rw   rO  rw   rk   r    )rŸ   rw   rk   r    )rŸ   rw   r?  rw   rk   r    )rØ  rw   r?  rw   rk   r    )FF)rØ  rw   rl  rl   rm  rl   rk   r    )$rÚ   rÛ   rÜ   rc  rd  r¥   r  r*  r,  r.  r0  rÏ  rí  rq  rÕ  r#  r!  r"  ró  rA  r&  rF  rJ  ÚstaticmethodrN  rQ  rT  rV  rY  r'  r]  r`  rr  r(  re  ro  r>   rD   rB   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ð 	3rD   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_imagesr1  rÖ  r>   r   )rü  rÕ  rÑ  rà   rø  rÏ  r  Ú_attach_default_encoderinforÖ  r˜   rÐ  rÕ  rÞ  r,  )
r6  r½  r!  rr  Úcur_idxÚtfÚimsrÕ  Únfrrâ   s
             rB   Ú	_save_allrx  	  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)ri   rj   rk   rl   )rt   ru   rv   rw   rk   rx   )rt   r|   rv   rw   r�   rw   rk   rx   )r�   r‘   rk   r
   )râ   rw   rã   rw   rk   rä   )râ   rw   rk   rð   )rö   r÷   rk   r    )r6  rÀ  r½  r¾  r!  rÁ  rk   r    )‡Ú
__future__r   rí  rò  ÚloggingrH  rn  r	  ri  Úcollections.abcr   r   Ú	fractionsr   Únumbersr   r   Útypingr	   r
   r   Ú r   r   r   r   r   r   Ú_binaryr   rG  r   rJ  r   Ú_utilr   r   r   r¤   r   r   Ú_typingr   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Ù  r?  rì  ÚIMAGEJ_META_DATA_BYTE_COUNTSÚIMAGEJ_META_DATAr…  r8  rè  r–  rŒ   r•  rq   rs   r€   r�   rí   rô   r›   r|   rj   rl   rç   rï   rõ   r  rw   Ú
_IFDv2Baserá   râ   r  rì   rù  r  ÚImageFileDirectoryr  rÔ  rø  ÚBytesIOr  rx  Úregister_openr¼  Úregister_saveÚregister_save_allÚregister_extensionsÚregister_mimer>   rD   rB   ú<module>r�     s  ððR #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 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Ð" KðQ}ð }ð }ðR ˆˆD�!�V˜TÐ" LðS}ðT ˆˆD�!�V˜TÐ" LðU}ðV ˆˆD�!�T˜2Ð ðW}ðX ˆˆD�!�T˜2Ð ðY}ðZ ˆˆD�!�\ 2Ð&Ð(8ð[}ð\ ˆˆD�!�\ 2Ð&Ð(8ð]}ð^ ˆˆD�!�_ dÐ+Ð->ð_}ð` ˆˆD�!�_ dÐ+Ð->ða}ðb ˆˆD�!Ð'¨Ð0Ð2Dðc}ðd ˆˆD�!Ð'¨Ð0Ð2Dðe}ðf ˆˆD�!Ð% rÐ*Ð,@ðg}ðh ˆˆD�!Ð% rÐ*Ð,@ði}ðj ˆˆD�!�T˜2Ð 
ðk}ðl ˆˆD�!�T˜2Ð 
ðm}ðr ˆˆD�!�Y Ð# _ðs}ðt ˆˆD�!�Y Ð# _ðu}ðv ˆˆD�!�Y Ð# ^ðw}ð }ðx ˆˆD�!�Y Ð# ^ðy}ð }€	ð~ �cÐAÐA°yÐAÑAÔAÑAÔAÐ ðð ð €ð.ð .ð .ð .ñ%ð %ð %ð %ñð ð ð ð& €Ø€ñð ð ð ð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 +Ð ðBHð BHð BHð BHð BH�IÔ'ñ BHô BHð BHðXð ˆ#ˆ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 ¨Ð-ð%€	ñ,w-ð w-ð w-ð w-ðt	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Ð 7rD   