1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Ë
³òúh ãóŠ—ddlmZddlZddlZddlmZmZmZddlm    Z    m
Z
m Z m Z m Z ddlmZddlmZdd„Zdd    „ZGd
„d e j(«Ze    j,ej.e«e    j0ej.e«e    j2ej.d «e    j4ej.d «y)é)Ú annotationsN)ÚIOÚAnyÚcasté)ÚImageÚ    ImageFileÚ ImageSequenceÚJpegImagePluginÚTiffImagePlugin)Úo32le)Ú DeferredErrorcó2—tj|||«y©N)r Ú_save)ÚimÚfpÚfilenames   úEH:\Change_password\venv_build\Lib\site-packages\PIL/MpoImagePlugin.pyrr%s€Ü×ј"˜b (Õ+óc
óú—|jjdg«}|st|dd«st|||«yd}g}|g|¢}t    d„|D««}|D]H}t j |«D],}    |sØdd|zz}
dtjd    d
|
z«zd zd |
zz|    jd <|    jjd«} t| tj«r| j«} | |    jd<| r|dt| «zz }tj|    ||«|j|j!««ŒÞ|    j#|«} |    j%|d«| |    _|j|j!«|dz
«Œ/ŒKt'j(«} d| d<t|«| d<d}d}t+|«D];\}}|dk(rd}nd}|tjd|||dd«z }|dk(r||z}||z }Œ=|| d<|j-|«|j/dt1d«z| jd«z«|j-dt2j4«y)NÚ append_imagesÚ is_animatedFéc3ó6K—|]}t|dd«–—Œy­w)Ún_framesrN)Úgetattr)Ú.0Úseqs  rú    <genexpr>z_save_all.<locals>.<genexpr>2sèø€ÒD°”˜˜Z¨×+ÑDùs‚éBésÿâz>HésMPFó ÚextraÚexiféÚJPEGéÿÿÿÿs0100i°é°rriz<LLLHHé°sII*é)Ú encoderinfoÚgetrrÚsumr
ÚIteratorÚstructÚpackÚ
isinstancerÚExifÚtobytesÚlenr ÚappendÚtellÚ_attach_default_encoderinfoÚsaver ÚImageFileDirectory_v2Ú    enumerateÚseekÚwriter ÚosÚSEEK_END)rrrrÚ
mpf_offsetÚoffsetsÚ im_sequencesÚtotalÚ im_sequenceÚim_frameÚ
ifd_lengthr&r-ÚifdÚ    mpentriesÚ data_offsetÚiÚsizeÚmptypes                   rÚ    _save_allrN)sm€Ø—N‘N×&Ñ& ¸Ó;€MÙ ¤¨¨]¸EÔ!BÜ ˆb"hÔØà€JØ€GØÐ'˜Ð'€LÜ ÑD°|ÔDÓ D€EØ#ó8ˆ Ü%×.Ñ.¨{Ó;ó    8ˆHÙà " u¡*™_
àÜ—k‘k $¨¨J©Ó7ñ8àñð˜ZÑ'ñ(ð×$Ñ$ WÑ-ð  ×+Ñ+×/Ñ/°Ó7Ü˜d¤E§J¡JÔ/ØŸ<™<›>DØ37H×(Ñ(¨Ñ0ÙØ !¤c¨$£i¡-Ñ/Jä×%Ñ% h°°HÔ=Ø—‘˜rŸw™w›yÕ)à&×BÑBÀ2ÓF Ø— ‘ ˜b &Ô)Ø'2Ô$Ø—‘˜rŸw™w›y¨7°2©;Ñ6Ö7ò/    8ð8ô4 ×
1€CØ€CˆKܐg“,€CˆKà€IØ€KܘWÓ%ò‰ˆˆ4Ø Š6؉FàˆFØ”V—[‘[ ¨6°4¸ÀaÈÓKÑKˆ    Ø Š6Ø ˜:Ñ %ˆKؐtщ ðð€CˆKà‡GGˆJÔØ‡HHˆ]œU 1›XÑ %¨¯ © °A«Ñ 6Ô7؇GGˆAŒr{‰{Õrcób—eZdZdZdZdZd d„Zd d d„Zdd„Zdd„Z    dd    „Z
e     d                     dd
„«Z y)Ú MpoImageFileÚMPOzMPO (CIPA DC-007)Fcó˜—|jjd«tjj    |«|j «y)Nr)rr=r Ú JpegImageFileÚ_openÚ_after_jpeg_open©Úselfs rrTzMpoImageFile._openls1€Ø ‰ ‰ QŒÜ×%Ñ%×+Ñ+¨DÔ1Ø ×ÑÕrNcóH—||n|j«|_|j€ d}t|«‚|jd|_|jdDcgc]}|d|jdz‘Œc}|_d|j
d<|jt |j
«k(sJ‚|jd=|jdkD|_|j|_    |jj|j
d«d|_ d|_ d|_ ycc}w)Nz(Image appears to be a malformed MPO filer*r+Ú
DataOffsetÚmpoffsetrr)Ú_getmpÚmpinfoÚ
ValueErrorrÚinfoÚ_MpoImageFile__mpoffsetsr6rrÚ_fpr=Ú_MpoImageFile__frameÚoffsetÚreadonly)rWÚmpheaderÚmsgÚmpents    rrUzMpoImageFile._after_jpeg_openqs€Ø"*Ð"6‘h¸D¿K¹K»MˆŒ Ø ;‰;Ð Ø<ˆCܘS“/Ð !ØŸ ™  FÑ+ˆŒ àEIÇ[Á[ÐQWÑEXö
Ø<AˆE,Ñ  $§)¡)¨JÑ"7Ó 7ò
ˆÔð ˆ×јÑð}‰}¤ D×$4Ñ$4Ó 5Ò5Ð5Ð5Ø I‰IjÐ !ØŸ=™=¨1Ñ,ˆÔØ—7‘7ˆŒØ ‰ ‰ d×&Ñ& qÑ)Ô*؈Œ ؈Œ àˆ ùò
sÁDcóš—t|jt«r|jj‚|jj    |«yr)r3r`rÚexr=)rWÚposs  rÚ    load_seekzMpoImageFile.load_seek‡s.€Ü d—h‘h¤ Ô .Ø—(‘(—+‘+Ð Ø ‰ ‰ cÕrcóZ—|j|«syt|jt«r|jj‚|j|_|j ||_|jjd«}d|jvr |jd=|j
j|jdz«|j
jd«s d}t|«‚|j
j|j«tjj|«|jjd«|k7r|j!«t#j$dd|j&z|j|j(dd«g|_||_y)Nr&ézNo data found for frameÚjpeg)rrrr))Ú _seek_checkr3r`rrhrr_rbr^r.r=Úreadr]r rSrTÚ _reload_exifr    Ú_TilerLÚtilera)rWÚframeÚ original_exifres    rr=zMpoImageFile.seekŒs6€Ø×Ñ Ô&Ø Ü d—h‘h¤ Ô .Ø—(‘(—+‘+Ð Ø—(‘(ˆŒØ×&Ñ& uÑ-ˆŒ àŸ    ™    Ÿ ™  fÓ-ˆ Ø T—Y‘YÑ Ø—    ‘    ˜&Ð!à ‰ ‰ T—[‘[ 1‘_Ô%؏w‰w|‰|˜AŒØ+ˆCܘS“/Ð !Ø ‰ ‰ T—[‘[Ô!Ü×%Ñ%×+Ñ+¨DÔ1Ø 9‰9=‰=˜Ó   MÒ 1Ø × Ñ Ô ô O‰O˜F F¨T¯Y©YÑ$6¸¿ ¹ ÀTÇYÁYÈqÁ\ÐRTÑEUÓ Vð
ˆŒ    ðˆ rcó—|jSr)rarVs rr8zMpoImageFile.tell¦s €Ø|‰|Ðrcó^—t|_tt|«}|j|«|S)aC
        Transform the instance of JpegImageFile into
        an instance of MpoImageFile.
        After the call, the JpegImageFile is extended
        to be an MpoImageFile.
 
        This is essentially useful when opening a JPEG
        file that reveals itself as an MPO, to avoid
        double call to _open.
        )rPÚ    __class__rrU)Ú jpeg_instancerdÚ mpo_instances   rÚadoptzMpoImageFile.adopt©s,€ô#/ˆ ÔÜœL¨-Ó8ˆ Ø×%Ñ% hÔ/ØÐr)ÚreturnÚNoner)rdúdict[int, Any] | Noner{r|)riÚintr{r|)rsr~r{r|)r{r~)rxzJpegImagePlugin.JpegImageFilerdr}r{rP) Ú__name__Ú
__module__Ú __qualname__ÚformatÚformat_descriptionÚ!_close_exclusive_fp_after_loadingrTrUrjr=r8Ú staticmethodrz©rrrPrPgs_„Ø €FØ,ÐØ(-Ð%ó ô
ó,ó
ó4ðð+/ðØ4ðà'ðð
òóñrrPz.mpoz    image/mpo)rz Image.Imagerz    IO[bytes]rz str | bytesr{r|)Ú
__future__rr?r1ÚtypingrrrÚrr    r
r r Ú_binaryr Ú_utilrrrNrSrPÚ register_saver‚Úregister_save_allÚregister_extensionÚ register_mimer†rrú<module>rsªðõ(#ã    Û ß Ñ ÷õõÝ ó,ó7ô|T?×0Ñ0ôTð|€×ѐL×'Ñ'¨Ô/Ø€×ј ×+Ñ+¨YÔ7à€×ј×,Ñ,¨fÔ5à€×ѐL×'Ñ'¨Õ5r