)Ej1(ddlmZddlmZddlmZmZ ddlmZdZn #e $rdZYnwxYwdZ e rddl m Z m Z d d d d Zd dZGddejZd!dZd"dZd"dZejejeeerZejejeejejeejejdejejddSdS)#) annotations)BytesIO)Image ImageFile)_webpTF)IOAnyRGBRGBA)sVP8 sVP8XsVP8Lprefixbytesreturn bool | strc|d}|dddk}|ddtv}|r|r|r ts dSdSdS) NsRIFF sWEBPzEimage file could not be identified because WEBP support not installedTF) startswith_VP8_MODES_BY_IDENTIFIER SUPPORTED)r is_riff_file_format is_webp_fileis_valid_vp8_modes EC:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/WebPImagePlugin.py_acceptrst ++G44!B$<7*Lr"u )AA|0A W  t 5creZdZdZdZdZdZddZddZdd Z dddZ ddZ ddZ dfd Z ddZd dZxZS)! WebPImageFileWEBPz WebP imagerrNonect|jJ|j}t|sd}t|t j||_|j\|_|j d<}|_ |_ |dz dz|dz dz|dz|dz dzf|j d<|j dk|_ |j d krd n|j |_ d d d dD]+\}}|j|x}r ||j |<,|ddS)Nznot a WEBP filelooprr backgroundrRGBXr ICCPEXIFzXMP ) icc_profileexifxmpF)reset)fpreadr SyntaxErrorrWebPAnimDecoder_decoderget_info_sizeinfon_framesrawmode is_animated_modeitems get_chunk_reset)selfsmsgbgcolorkey chunk_namevalues r_openzWebPImageFile._open-s`w""" GLLNNqzz ##Cc"" "-a00  M " " $ $ L DIf%w t|]d " \T ! dN ]d " #  ,  =1,"lf44UU$, "   %''  ' 'OC  // ;;;u '!& # %      rdict[int, Any] | Nonecdd|jvrdS|S)Nr+)r5getexif_get_merged_dictr=s r_getexifzWebPImageFile._getexifQs.  " "4||~~..000rframeintcB||sdS||_dSN) _seek_check_WebPImageFile__logical_framer=rKs rseekzWebPImageFile.seekVs-&&  F %rTr-boolcf|r|jd|_d|_d|_dS)Nr)r2r-_WebPImageFile__physical_frame_WebPImageFile__loaded_WebPImageFile__timestamp)r=r-s rr<zWebPImageFile._reset]s;  " M   ! ! ! ! rtuple[bytes, int, int]c |j}|xjdz c_|:||dd}t ||\}}||jz }||_||z}|||fS)Nrrz(failed to decode next frame in WebP file)r2get_nextrVr<rREOFErrorrX)r=retr?data timestampdurations r _get_nextzWebPImageFile._get_nextdsm$$&& " ; KKMMM IIaLLLz_save_all..s644A1<<<>M Etm#-- j!,,, zz b"h(4J{"" .  W\* j# & & GmmooG G!*q.JNa3G"GH1aAs^ (*j#F ~!!*bgkk*a.H.HIIH >  fa ( (DN&&>>M >  fd + +D >  fd + +D.$$]E::KG~!!*e44Hn  B//GN&&<  fb ) )D$ ##||~~ .  UB ' 'C |#qq! |$rr1 zD%= 1 1 z??a  4444444 X:WWcll(D$d"*, :daiHJ        CIIggiiG4-'  C#z1--CSzz   &s++KKMM)$$! hu 66*)!44II)IQ )   6 GGD% ""Hg}aHHH << T3 / /D |AcllHHTNNNNNs B;P++Qc V|jdd}|jdd}|jdd}|jdpd}|jd d }t|tjr|}|d r |d d}|jd d}|jdd} |jdrdnd} t|}tj | |t|t||| | || } | d} t| | | dS)NrFrrrrr*rr+rsExifr,rrexactrrr)rrrrrrrrr WebPEncoderfloatrr) r{r.rrrrr*r+r,rrr^r?s rrrs~!!*e44Hn  B//GN&&<  fc * *D$ ##||~~ ''ABBx .  UB ' 'C ^  ! , ,F##G,, 3AA!E   B     g m     D |AcllHHTNNNNNrz.webpz image/webpN)r rrr)r{r|rr|)r{r|r.rrrrr!) __future__riorrrrrr ImportError TYPE_CHECKINGtypingr r rrrrrr register_openrx register_saveregister_save_allregister_extension register_mimerqrrrs""""""IIIII       n$n$n$n$n$I'n$n$n$byyyyxDM(-AAA <E ,e444EM0)<<<E]17;;;E ,l;;;;; <