§
    Å‡tj»O ã                  óš  — U 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¸¢Zd�dd½„Ze�ddÃ„Zf�ddÆ„Zgi ZhdÇeidÈ<   i ZjdÉeidÊ<   �ddÎ„Zk G dÏ„ dÄe¦  «        Zle
dÐemengef         Zo�ddÔ„Zp�ddÖ„Zq�d	dÚ„Zre&reesef         ZtneZt G dÛ„ dÐet¦  «        Zueheu_h        ejeu_j         e%j_        ¦   «         D ]M\  ZvZwew x                    dÜdÝ¦  «        Zw eyeudÞew› �ehev         d         ¦  «          eyeudßew› �ejev         ¦  «         ŒN[h[j[v[w G dà„ dáeu¦  «        ZzezZ{ 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      úQ/var/www/html/CA-Chatbot/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   ú"dict[int, tuple[int, _LoaderFunc]]Ú_load_dispatchúdict[int, Callable[..., Any]]Ú_write_dispatchÚ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	 d9d:d
„Zed;d„¦   «         Zed<d„¦   «         Zd=d„Z	d>d„Z
d<d„Zd?d„Zd@d„ZdAd„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d6¦  «        Z* e+e,d7¦  «        r ed7¦  «        Z-d8S d8S )Br|   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__Ú	__float__Ú__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Ú   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Ø�	˜+Ñ&Ô&€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   Úreplacer‘   )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   )r“   )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``.

    r�   r‘   r’   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__H  s  € õ  �s‰|Œ|ð 	#ØC­T°#©Y¬YÐCÐCÐCˆCÝ˜cÑ"Ô"Ð"Ø!'Ð!3�v�v¸¸R¸a¸R¼ˆŒØŒ<�2ÒÐØˆDŒLˆLØŒ\�RÒÐØˆDŒLˆLà"ˆCÝ˜cÑ"Ô"Ð"Ø˜Aœ "šˆŒØˆŒ
Ø')ˆŒØ'Ø�
Š
‰Œˆð Œ}ð/ˆD�LŠL˜˜c ! " "œgÑ&Ô& qÔ)Ð)à—’˜c 3 q r r¤7Ñ+Ô+¨AÔ.ð 	Œ	ð
 !ˆÔÐÐrD   c                ó   — | j         S rn   )r  r«   s    rB   r
  zImageFileDirectory_v2.<lambda>o  ó   €  4¤<€ rD   c                ó   — | j         S rn   )Ú_offsetr«   s    rB   r
  zImageFileDirectory_v2.<lambda>p  r(  rD   rl   c                ó   — | j         S rn   )r%  r«   s    rB   rþ   z ImageFileDirectory_v2.legacy_apir  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_apiv  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.reset{  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   Úsetr1  r0  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   )r0  r1  r"  r‘   rþ   r§   rp   rj   )r—   rA  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   )r0  r1  ©r—   rA  s     rB   Ú__contains__z"ImageFileDirectory_v2.__contains__Ÿ  ó   € Ø�d”mÐ#Ð; s¨d¬mÐ';Ð;rD   c                ó>   — |                       ||| j        ¦  «         d S rn   )Ú_setitemrþ   )r—   rA  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   rO  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…   rO  s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ì  ó,   è è € Ð>Ð>°!� A¥uÑ-Ô-Ð>Ð>Ð>Ð>Ð>Ð>rD   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rn   )r§   r•   rO  s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Î  rQ  rD   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rn   )r§   rj   rO  s     rB   rh   z1ImageFileDirectory_v2._setitem.<locals>.<genexpr>Ð  rS  rD   c                óh   — g | ]/}t          |t          ¦  «        r|                     d d¦  «        n|‘Œ0S )Úasciirñ   )r§   r•   ÚencoderO  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…   rO  s     rB   rY  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   r9  r  r§   r"  ÚtypeÚ	UNDEFINEDÚallr|   ÚSIGNED_RATIONALÚRATIONALrw   ÚSHORTÚSIGNED_SHORTÚLONGÚSIGNED_LONGÚDOUBLEÚASCIIÚBYTEr4  rp   r/  r0  Úlengthrf   Ú
ValueErrorÚwarningsÚwarn)r—   rA  r£   rþ   Ú	basetypesr	  rA   ÚshortÚsigned_shortÚlongÚis_ifdÚdestr]  s               @rB   rK  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   )r0  Úpopr/  r1  rG  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>  r1  r0  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   ÚHro  rG   rq  Ú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 )NrW  rñ   r�  )r§   rw   r•   rj   rX  ©r—   r£   s     rB   Úwrite_stringz"ImageFileDirectory_v2.write_string4  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>.combineC  ó    ø€ Ø'Ð>�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>F  ó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>J  sR   øè è € ð 
ð 
ØDHˆJˆDŒJ�tÐ?�o¨d°IÑ>Ô>Ð?Ð?Ð?ð
ð 
ð 
ð 
ð 
ð 
rD   r  ©r—   r	  s   ` rB   Úwrite_rationalz$ImageFileDirectory_v2.write_rationalH  s?   ø€ à�xŠxð 
ð 
ð 
ð 
ØLRð
ñ 
ô 
ñ 
ô 
ð 	
rD   r0   c                ó   — |S rn   r>   rˆ  s      rB   Úload_undefinedz$ImageFileDirectory_v2.load_undefinedN  rŠ  rD   c                ó¾   — t          |t          ¦  «        rt          |¦  «        }t          |t          ¦  «        r#t          |¦  «                             dd¦  «        }|S )NrW  rñ   )r§   r|   rw   r•   rX  r–  s     rB   Úwrite_undefinedz%ImageFileDirectory_v2.write_undefinedR  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>c  r¥  rD   r&   r   r¦  r§  r©  s     ` @rB   Úload_signed_rationalz*ImageFileDirectory_v2.load_signed_rationalZ  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>g  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_rationale  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_readl  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   r9  r  r  r   Úgetr‘   ÚKeyErrorÚloggerÚdebugÚseekr   Ú
_safe_readrf   rl  rm  r1  r"  r  r$  rÅ  r•   )r—   rÀ  Ú	tag_countr‡   rA  rC  Úcountrý   ÚtagnameÚtypnamer&  Ú	unit_sizerD  rè   ÚhereÚoffsets                   rB   ÚloadzImageFileDirectory_v2.loadv  sÌ  € Ø�
Š
‰ŒˆØ—w’w‘y”yˆŒð=	ð ”=ðA�—’˜S $×"3Ò"3°B¸Ñ":Ô":Ñ;Ô;Ð;à—\’\ # t×'8Ò'8¸¸QÑ'?Ô'?Ñ@Ô@Øô	ˆIõ
 ˜9Ñ%Ô%ð ."ñ ."�ð ”}ðJ�D—L’L ¨$×*;Ò*;¸BÀÑ*CÔ*CÑDÔDÐDàŸš g¨t×/@Ò/@ÀÀRÑ/HÔ/HÑIÔIñ &��S˜% õ #œ/¨#¨t¬zÑ:Ô:Ô?�Ýœ) C¨Ñ3Ô3�ØI˜gÐIÐI¨ÐIÐI¸ÐIÐIÀ3ÐIÐIÐI�ðØ)-Ô)<¸SÔ)AÑ&�I˜w˜wøÝð ð ð Ý—L’LÐ!;¸SÀ#ÑFÔFÐFØ�Hðøøøð ˜yÑ(�Ø ¤Ð4˜1˜1°1Ò5Ð5ØŸ7š7™9œ9�DØ $§¢°D´MÐ-J¨S¨SÀsÈDÑ QÔ Q‘I�VØÐM¨TÐMÐMÀVÐMÐMÑM�CØ—G’G˜F‘O”O�OÝ$Ô/°°DÑ9Ô9�DØ—G’G˜D‘M”M�M�Mà   œ;�Då�t‘9”9 Ò$Ð$Ý”Mð/Ø-1ð/ð /ÝGJÈ4ÁyÄyð/ð /à),ð/ð /ñô ð õ
 —L’L Ñ%Ô%Ð%Ùàð Ý—L’L Ñ%Ô%Ð%Ùà%)�”˜cÑ"Ø$'�”˜SÑ!à�|Ñ#�Ø°4¸"²9°9Ð/ $Ð/Ð/Ð/Ð/Å$ÀtÁ*Ä*ÑL�å—’˜SÑ!Ô!Ð!Ñ!ð ”=ðA�—’˜S $×"3Ò"3°B¸Ñ":Ô":Ñ;Ô;Ð;à—\’\ # t×'8Ò'8¸¸QÑ'?Ô'?Ñ@Ô@ñ ˆTŒYˆYˆYøõ
 ð 	ð 	ð 	ÝŒM�#˜c™(œ(Ñ#Ô#Ð#ØˆFˆFˆFˆFˆFøøøøð	øøøs=   ¯DM ÅEÅM Å&F Å=M Å?F Æ GM Í
NÍ!N Î Nc                ó  — | j         |                      d| j        rdnd¦  «        z   }| j        r||                      ddd¦  «        z  }|| j        r|                      dd¦  «        n|                      d	d¦  «        z  }|S )
Nr€  r  é*   Ú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   rY  z1ImageFileDirectory_v2.tobytes.<locals>.<listcomp>ù  s   ø€ ÐWÐWÐW¨3˜# ™,ÐWÐWÐWrD   r   z%s %s %s %s %srÉ  rË  )"r  r!  rf   r0  Úsortedr;  ÚSTRIPOFFSETSr"  rÖ  r×  r  r   re  r§   r4  ræ   ræ  Útobytesrp   r“   r9  r  r  r   rÔ  r•   ri  rh  r_  ÚappendÚljustr‘   rþ   r  )r—   rà  ÚresultÚentriesr  Úfmt_sizeÚstripoffsetsrA  r£   rC  rr  rè  r	  Úifd_tagÚ	ifd_valuerý   rÜ  rÝ  r&  rÛ  rè   rD  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   r6  rÝ   ©rA  rw   rk   r
   ©rA  r·   rk   rl   ©rA  rw   r£   r
   rk   r¤   )rA  rw   r£   r
   rþ   rl   rk   r¤   )rA  rw   rk   r¤   ©rk   rw  )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#  r5  r<  r?  rE  rH  rL  rK  rv  rz  r  r  ÚlistÚmapr  r   rc  re  ÚSIGNED_BYTErd  rf  ÚFLOATrg  Ú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__8  s-   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØˆÔÐÐrD   c                ó   — | j         S rn   )r/  r«   s    rB   r
  zImageFileDirectory_v1.<lambda><  s   €  ¤€ rD   c                ó   — | j         S rn   )r1  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   r1  r"  r$  )Úclsr  rè  s      rB   Úfrom_v2zImageFileDirectory_v1.from_v2C  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   r4  r1  r"  r0  )r—   rè  s     rB   Úto_v2zImageFileDirectory_v1.to_v2U  sN   € õ $¨4¬;Ð7Ñ7Ô7ˆÝ˜DœMÑ*Ô*ˆŒÝ˜4œ<Ñ(Ô(ˆŒÝ˜DœMÑ*Ô*ˆŒØˆ
rD   rA  r·   rl   c                ó&   — || j         v p|| j        v S rn   )r/  r1  rG  s     rB   rH  z"ImageFileDirectory_v1.__contains__f  rI  rD   rw   c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rn   )rf   r>  r1  r/  r«   s    rB   r?  zImageFileDirectory_v1.__len__i  r@  rD   rw  c                ón   — t          t          | j        ¦  «        t          | j        ¦  «        z  ¦  «        S rn   )ry  r>  r1  r/  r«   s    rB   rz  zImageFileDirectory_v1.__iter__l  r{  rD   r£   c                ó>   — dD ]}|                       |||¦  «         Œd S ©N)FT)rK  )r—   rA  r£   rþ   s       rB   rL  z!ImageFileDirectory_v1.__setitem__o  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/  r1  r"  r‘   rK  r§   rp   rj   )r—   rA  rý   rC  rè   rD  Úlegacyrt   s           rB   rE  z!ImageFileDirectory_v1.__getitem__s  sž   € Ø�d”mÐ#Ð#Ø”= Ô%ˆDØ”,˜sÔ#ˆCØ Ô/°Ô4‰MˆD�'Ø'ð Hð H�Ø—’˜c 7 7¨4°°vÑ#>Ô#>ÀÑGÔGÐGÐGØŒm˜CÔ ˆÝ˜#¥¥u˜~Ñ.Ô.ð 	Ø�&ˆCØˆ
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  rH  r?  rz  rL  rE  Ú__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—   r5  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Ò  rk  rØ  rí  r(  rá  r$  r.  Úis_animatedÚXMPrp   r]  Ú_reload_exifr  r  rA  rè  Ú_setup)r—   r5  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   )
r8  r   Ú_decompression_bomb_checkr:  ÚcoreÚnewr;  r9  r   Úload_preparer«   s    rB   r\  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)rA  Ú!_close_exclusive_fp_after_loadingÚgetexifr   ÚTAGS_V2_GROUPSÚget_ifdr   Úexif_transposer   rH  Ú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á  r\  rf   rU  rÅ  rÀ  rå   ri  rj  r§   rp   rÿ  Ú_getdecoderr;  ÚdecoderconfigÚsetimager9  rk  Ú_exclusive_fprA  rÖ  r×  r’  rl  rØ  ÚosÚlseekÚSEEK_CURÚSEEK_SETrÄ  r<  rg  Úclose)r—   r&  Úextentsr˜   rÀ  Ú	args_listÚdecoderÚeÚclose_self_fprQ  ÚerrÚposs               rB   rW  zTiffImageFile._load_libtiff4  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   ÚNFrk  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   rY  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   rk  r:  r   rH  rd  Ú_sizerè   ÚSAMPLEFORMATrf   rŒ   r‹   ÚBITSPERSAMPLEÚEXTRASAMPLESÚSAMPLESPERPIXELÚMAX_SAMPLESPERPIXELrN  r  ri   Ú	OPEN_INFOÚ_moder;  r]  ÚX_RESOLUTIONÚY_RESOLUTIONÚRESOLUTION_UNITrU  ÚREAD_LIBTIFFrV  r‘  rà  rí  r   Ú_Tilerë  ÚTILEOFFSETSÚROWSPERSTRIPÚ	TILEWIDTHÚ
TILELENGTHÚsumÚ
ICCPROFILEÚCOLORMAPr   r%   r  Úpalette) r—   r&  ÚphotoÚ	fillorderÚxsizeÚysizery  ÚorientationÚsample_formatÚ	bps_tupleÚextra_tupleÚsamples_per_pixelÚ	bps_countÚbps_actual_countrf  ÚrawmodeÚxresÚyresÚresunitÚxÚyÚlayerrš  Úoffsetsr‚  ÚwÚ	tilewidthrà  ÚstrideÚtile_rawmoder˜   r§  s                                    rB   rD  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Ý   )r5  rw   rk   r¤   )rk   rF  )rk   rS  )rß   rà   rá   ÚformatÚformat_descriptionr_  r©   r0  rä   r4  rØ  r/  rÒ  rR  rá  r\  rg  rW  rD  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   r9  ú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   Útiffinfore  zTiffinfo Keys: %srA  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>   rO  s     rB   rY  z_save.<locals>.<listcomp>H  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: %sri  c              3  óZ   K  — | ]&}t          |t          t          t          f¦  «        V — Œ'd S rn   )r§   rw   r…   r|   rO  s     rB   rh   z_save.<locals>.<genexpr>¨  s3   è è € ÐTÐTÈ�J q­3µµ{Ð*CÑDÔDÐTÐTÐTÐTÐTÐTrD   rW  rñ   r�  zConverted items: %s)rI   rK   rÁ  r�  rk  rV   zencoder error z when writing image fileÚ_debug_multipage)qÚ	SAVE_INFOr;  rÕ  rÅ  ÚencoderinfoÚencoderconfigræ   rÔ  r!  r]  r§   rw   ÚWRITE_LIBTIFFr‹  rè   r�  r‘  rj   r   ÚExifrá  rÖ  r×  rÿ  r  r  r   ra  rb  r"  r-  rå   rA  rœ   r–  r—  rf   ÚEXIFIFDr”  r�  r›  rœ  ÚIPTC_NAA_CHUNKÚPHOTOSHOP_CHUNKrB  r(  ri  r_  r¥  ÚIMAGEDESCRIPTIONÚSOFTWAREÚ	DATE_TIMEÚARTISTÚ	COPYRIGHTr•  r�  ÚcopyrÓ  ÚheightÚwidthr   Úinvertr9  Ú
getpaletter¦  r¡  Ú
STRIP_SIZEr‹   re  ÚSTRIPBYTECOUNTSrp   rë  ÚCOMPRESSION_INFO_REVr‰  r�  ÚREFERENCEBLACKWHITEr;  Ú
setdefaultr¢  r£  r   ÚTILEBYTECOUNTSrk  ÚJPEGQUALITYrê  rØ  ri  ÚioÚUnsupportedOperationÚOSUBFILETYPEÚTRANSFERFUNCTIONÚSUBIFDÚ	itertoolsÚchainÚLIBTIFF_COREr  r…   r•   r`  r9  r^  rX  r|   ÚsortÚ_getencoderro  r   ÚMAXBLOCKrö  r÷  Ú_saverŸ  Úsetattr)6r9  rÀ  r$  r³  ri   r¨  r¿  ÚbitsÚextrary  r&  rØ  rÙ  rè  r~  rk  r]  re  rf  Ú
legacy_ifdÚsupplied_tagsrA  Ú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#  r[  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  r[  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  rq  rt  ÚwhereToWriteNewIFDOffsetÚoffsetOfNewPagerÄ  ÚIIMMr!  ÚisFirstrq   ÚRuntimeErrorÚ	setEndianro   r   rs  Ú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!  rq  rs  Ú_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.newFrameE  s    € à�Š‰ŒˆØ�
Š
‰ŒˆˆˆrD   c                ó   — | S rn   r>   r«   s    rB   Ú	__enter__zAppendingTiffWriter.__enter__J  s   € ØˆrD   r˜   r·   c                ó@   — | j         r|                      ¦   «          d S d S rn   )r  ru  )r—   r˜   s     rB   Ú__exit__zAppendingTiffWriter.__exit__M  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.tellQ  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.
        )rq  rt  r   r±   rØ  rÒ  )r—   rà  r5  s      rB   rØ  zAppendingTiffWriter.seekT  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Ø  rq  ÚSEEK_ENDrÒ  rö  rj   r   )r—   r|  Ú	pad_bytess      rB   r&  zAppendingTiffWriter.goToEnda  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  )r:  ÚlongFmtÚshortFmtr!  Ú	tagFormat)r—   r:  s     rB   r$  zAppendingTiffWriter.setEndiank  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Ø  rq  rs  )r—   r,  Únum_tagss      rB   r%  zAppendingTiffWriter.skipIFDsq  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—   rB  r&  s      rB   Ú_fmtzAppendingTiffWriter._fmt�  sJ   € ð	$Ø˜s sÐ+Ð+¨JÔ7Ð7øÝð 	$ð 	$ð 	$Ø+ˆCÝ˜sÑ#Ô#Ð#ð	$øøøs   ‚ Ž*c                óš   — t          j        | j        |                      |¦  «        z   | j                             |¦  «        ¦  «        \  }|S rn   )r  r}  r:  rD  r±   rÄ  )r—   rB  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*   rH  r«   s    rB   ÚreadLongzAppendingTiffWriter.readLong‘  rJ  rD   Úbytes_writtenr  Úexpectedc                óH   — | �| |k    rd| › d|› �}t          |¦  «        ‚d S d S )Nzwrote only z bytes but wanted )r#  )rN  rO  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Ø  rq  rs  rö  r  r  r:  rD  rQ  )r—   r£   rB  rR  rN  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*   ©rT  r–  s     rB   ÚrewriteLastShortToLongz*AppendingTiffWriter.rewriteLastShortToLong¥  s    € Ø×Ò˜%  AÑ&Ô&Ð&Ð&Ð&rD   c                ó.   — |                       |d¦  «        S rG  rV  r–  s     rB   ÚrewriteLastShortz$AppendingTiffWriter.rewriteLastShort¨  ó   € Ø× Ò  ¨Ñ*Ô*Ð*rD   c                ó.   — |                       |d¦  «        S rL  rV  r–  s     rB   ÚrewriteLastLongz#AppendingTiffWriter.rewriteLastLong«  rZ  rD   c                óÂ   — | j                              t          j        | j        |                      |¦  «        z   |¦  «        ¦  «        }|                      ||¦  «         d S rn   )r±   rö  r  r  r:  rD  rQ  )r—   r£   rB  rN  s       rB   r*  zAppendingTiffWriter._write®  sW   € ØœŸšÝŒK˜œ d§i¢i°
Ñ&;Ô&;Ñ;¸UÑCÔCñ
ô 
ˆð 	×"Ò" =°*Ñ=Ô=Ð=Ð=Ð=rD   c                ó2   — |                       |d¦  «         d S rG  ©r*  r–  s     rB   Ú
writeShortzAppendingTiffWriter.writeShort´  ó   € Ø�Š�E˜1ÑÔÐÐÐrD   c                ó2   — |                       |d¦  «         d S rL  r_  r–  s     rB   Ú	writeLongzAppendingTiffWriter.writeLong·  ra  rD   c                ór   — |                       ¦   «          | j        r| j                             ¦   «          d S d S rn   )r-  r  r±   ru  r«   s    rB   ru  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  r}  r>  r±   rÄ  Ú
fieldSizesr   rT  ÚTagsrÒ  rÖ  r×  r   r9  r  r   rÔ  Ú_fixOffsetsrØ  rq  rs  )r—   r@  r‡   rA  Ú
field_typerÛ  rB  Ú
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#  rT  r±   rØ  rq  rs  r`  )r—   rÛ  rB  r‡   rà  rR  r&  Úrewinds           rB   rh  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   )rh  )r—   rÛ  ro  rp  rB  s        rB   Ú
fixOffsetszAppendingTiffWriter.fixOffsets	  s=   € ð ð 	ØˆJˆJØð 	ØˆJˆJàˆJØ×Ò  zÑ2Ô2Ð2rD   N)F)r  r#  r[  rl   rk   r¤   rø  )rk   r  )r˜   r·   rk   r¤   rÝ   )rà  rw   r5  rw   rk   rw   )r:  r•   rk   r¤   )rý   r   rk   rw   )rB  rw   rk   r•   )rB  rw   rk   rw   )rN  r  rO  rw   rk   r¤   rT   )r£   rw   rB  rw   rR  rw   rk   r¤   )r£   rw   rk   r¤   )r£   rw   rB  rw   rk   r¤   )rÛ  rw   rB  rw   rk   r¤   )FF)rÛ  rw   ro  rl   rp  rl   rk   r¤   )$rß   rà   rá   rf  rg  r©   r  r-  r/  r1  r3  rÒ  rð  rt  rØ  r&  r$  r%  rö  rD  r)  rI  rM  ÚstaticmethodrQ  rT  rW  rY  r\  r*  r`  rc  ru  r+  rh  rr  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_imagesr4  rÙ  r>   r   )rÿ  rØ  rÔ  rå   rû  rÒ  r  Ú_attach_default_encoderinforÙ  rœ   rÓ  rØ  rá  r/  )
r9  rÀ  r$  ru  Úcur_idxÚtfÚimsrØ  Únfrrç   s
             rB   Ú	_save_allr{  	  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¤   )r9  rÃ  rÀ  rÁ  r$  rÄ  rk   r¤   )ˆÚ
__future__r   rð  rõ  ÚloggingrK  rq  r  rl  Úcollections.abcr   r   Ú	fractionsr   Únumbersr   r   Útypingr	   r
   r   Ú r   r   r   r   r   r   Ú_binaryr   rJ  r   rM  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Ü  rB  rï  ÚIMAGEJ_META_DATA_BYTE_COUNTSÚIMAGEJ_META_DATArˆ  r;  rë  r™  rŒ   r˜  rq   rs   r€   r�   r‘   rý  r“   rŸ   r|   rj   rl   rì   ró   rø   r  rw   Ú
_IFDv2Baseræ   rç   r  rñ   rü  r  ÚImageFileDirectoryr!  r×  rû  ÚBytesIOr  r{  Ú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Ð ðð ð €ñ.ð .ð .ð .ñ%ð %ð %ð %ñð ð ð ð& 68€Ð 7Ð 7Ð 7Ñ 7Ø13€Ð 3Ð 3Ð 3Ñ 3ñð ð ð ðH'ð H'ð H'ð H'ð H'�(ñ H'ô H'ð H'ðV Ð/°¸Ð=¸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   