Files
sirh/venv/lib/python3.12/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-312.pyc

101 lines
18 KiB
Plaintext
Raw Normal View History

2026-04-29 11:52:03 +02:00
<EFBFBD>
<00><><EFBFBD>iG8<00><01><><00>ddlmZddlZddlZddlZddlmZddlmZm Z m
Z
m Z dZ e r ddl mZddlmZGd <09>d
<EFBFBD>Zdd <0B>Zdd <0C>Z dd <0A>ZGd<0E>de j<00>Zdd<10>Zdd<11>Zej.ej0ee<15>ej2ej0e<16>ej4ej0gd<12><01>ej6ej0d<13>y)<19>)<01> annotationsN)<01>cast<73>)<04>Image<67> ImageFile<6C> ImagePalette<74>_binaryF)<01>Callable)<01>IOc<01>J<00>eZdZdZd
d d<02>Zd d<03>Zd d<04>Zdd<05>Zdd<06>Zdd<07>Z dd<08>Z
y )<12> BoxReaderz}
A small helper class to read fields stored in JPEG2000 header boxes
and to easily step into and read sub-boxes.
c<01>B<00>||_|dk\|_||_d|_y)Nr<00><><EFBFBD><EFBFBD><EFBFBD>)<04>fp<66>
has_length<EFBFBD>length<74>remaining_in_box)<03>selfrrs <20>R/home/fatima/modif/sirh/venv/lib/python3.12/site-packages/PIL/Jpeg2KImagePlugin.py<70>__init__zBoxReader.__init__%s#<00><00><14><04><07> <20>A<EFBFBD>+<2B><04><0F><1C><04> <0B> "<22><04><1D>c<01><><00>|jr+|jj<00>|z|jkDry|jdk\r||jkSy)NFrT)rr<00>tellrr)r<00> num_bytess r<00> _can_readzBoxReader._can_read+sH<00><00> <0F>?<3F>?<3F>t<EFBFBD>w<EFBFBD>w<EFBFBD>|<7C>|<7C>~<7E> <09>9<>D<EFBFBD>K<EFBFBD>K<EFBFBD>G<><18> <0F> <20> <20>A<EFBFBD> %<25><1C><04> 5<> 5<>5<> 5<>rc<01><00>|j|<01>s d}t|<02><00>|jj|<01>}t |<03>|krd|<01>dt |<03><00>d<04>}t |<02><00>|j dkDr|xj |zc_|S)NzNot enough data in headerzExpected to read z bytes but only got <20>.r)r<00> SyntaxErrorr<00>read<61>len<65>OSErrorr)rr<00>msg<73>datas r<00> _read_byteszBoxReader._read_bytes5s<><00><00><13>~<7E>~<7E>i<EFBFBD>(<28>-<2D>C<EFBFBD><1D>c<EFBFBD>"<22> "<22><13>w<EFBFBD>w<EFBFBD>|<7C>|<7C>I<EFBFBD>&<26><04> <0E>t<EFBFBD>9<EFBFBD>y<EFBFBD> <20>%<25>i<EFBFBD>[<5B>0D<30>S<EFBFBD><14>Y<EFBFBD>K<EFBFBD>q<EFBFBD>Q<>C<EFBFBD><19>#<23>,<2C> <1E> <0F> <20> <20>1<EFBFBD> $<24> <10> !<21> !<21>Y<EFBFBD> .<2E> !<21><13> rc<01>z<00>tj|<01>}|j|<02>}tj||<03>S<00>N)<04>struct<63>calcsizer$<00>unpack)r<00> field_format<61>sizer#s r<00> read_fieldszBoxReader.read_fieldsCs1<00><00><15><EFBFBD><EFBFBD>|<7C>,<2C><04><13><1F><1F><04>%<25><04><15>}<7D>}<7D>\<5C>4<EFBFBD>0<>0rc<01>z<00>|j}|j|<01>}ttj|<02>|<01>Sr&)rr$r <00>io<69>BytesIO)rr+r#s r<00>
read_boxeszBoxReader.read_boxesHs3<00><00><13>$<24>$<24><04><13><1F><1F><04>%<25><04><18><12><1A><1A>D<EFBFBD>)<29>4<EFBFBD>0<>0rc<01><><00>|jr4|jj<00>|jz|jkSy)NT)rrrrr)rs r<00> has_next_boxzBoxReader.has_next_boxMs0<00><00> <0F>?<3F>?<3F><17>7<EFBFBD>7<EFBFBD><<3C><<3C>><3E>D<EFBFBD>$9<>$9<>9<>D<EFBFBD>K<EFBFBD>K<EFBFBD>G<> G<>rc<01><><00>|jdkDr4|jj|jtj<00>d|_t t ttf|jd<03><00>\}}|dk(r%t t|jd<05>d<00>}d}nd}||ks|j||z
<00>s d}t|<04><00>||z
|_|S) Nrrz>I4srz>Q<><00>zInvalid header length) rr<00>seek<65>os<6F>SEEK_CURr<00>tuple<6C>int<6E>bytesr,rr)r<00>lbox<6F>tbox<6F>hlenr"s r<00> next_box_typezBoxReader.next_box_typeSs<><00><00> <0F> <20> <20>1<EFBFBD> $<24> <10>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><14>.<2E>.<2E><02> <0B> <0B> <<3C> "<22><04><1D><1A>%<25><03>U<EFBFBD>
<EFBFBD>+<2B>T<EFBFBD>-=<3D>-=<3D>f<EFBFBD>-E<>F<>
<EFBFBD><04>d<EFBFBD> <0F>1<EFBFBD>9<EFBFBD><17><03>T<EFBFBD>-<2D>-<2D>d<EFBFBD>3<>A<EFBFBD>6<>7<>D<EFBFBD><15>D<EFBFBD><14>D<EFBFBD> <0F>$<24>;<3B>d<EFBFBD>n<EFBFBD>n<EFBFBD>T<EFBFBD>D<EFBFBD>[<5B>9<>)<29>C<EFBFBD><1D>c<EFBFBD>"<22> "<22> $<24>t<EFBFBD> <0B><04><1D><13> rN)r)r<00> IO[bytes]rr:<00>return<72>None)rr:rA<00>bool)rr:rAr;)r*<00>strrAztuple[int | bytes, ...])rAr )rArC)rAr;) <0B>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rrr$r,r0r2r?<00>rrr r s*<00><00><08>
#<23> <18> <14>1<>
1<>
<18> rr c <01><><00>|jd<01>}tj|<01>}||j|dz
<00>z}tjd|<03>\ }}}}}}} } } } }
||z
||z
f} |
dk(r1tjd|d<05>} | ddzdzdkDrd } | | fSd
} | | fS|
dk(rd } | | fS|
d k(rd } | | fS|
dk(rd} | | fSd}t |<0E><00>)z<>Parse the JPEG 2000 codestream to extract the size and component
count from the SIZ marker segment, returning a PIL (size, mode) tuple.<2E>z >HHIIIIIIIIHrz>B<>&r<00>r5<00>I;16<31>L<>LA<4C><00>RGB<47><00>RGBAz"unable to determine J2K image mode)rr <00>i16ber'<00> unpack_fromr)r<00>hdr<64>lsiz<69>siz<69>rsiz<69>xsiz<69>ysiz<69>xosiz<69>yosiz<69>_<>csizr+<00>ssiz<69>moder"s r<00>_parse_codestreamrcis*<00><00> <0A>'<27>'<27>!<21>*<2A>C<EFBFBD> <12>=<3D>=<3D><13> <1D>D<EFBFBD>
<0A><02><07><07><04>q<EFBFBD><08>!<21>
!<21>C<EFBFBD>=C<>=O<>=O<><16><03>><06>:<3A>D<EFBFBD>$<24><04>d<EFBFBD>E<EFBFBD>5<EFBFBD>!<21>Q<EFBFBD><01>1<EFBFBD>d<EFBFBD> <11>5<EFBFBD>L<EFBFBD>$<24><15>,<2C> '<27>D<EFBFBD> <0B>q<EFBFBD>y<EFBFBD><15>!<21>!<21>$<24><03>R<EFBFBD>0<><04> <10><11>G<EFBFBD>d<EFBFBD>N<EFBFBD>a<EFBFBD> <1F>!<21> #<23><19>D<EFBFBD> <10><14>:<3A><15><17>D<EFBFBD> <10><14>:<3A><15>
<0E><11><19><13><04> <10><14>:<3A><15>
<0E><11><19><14><04> <10><14>:<3A><15>
<0E><11><19><15><04>
<10><14>:<3A><15>3<><03><19>#<23><1E>rc<01>0<00>|dk(ryd|zd|zzd|zz S)z<>Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution,
calculated as (num / denom) * 10^exp and stored in dots per meter,
to floating-point dots per inch.rN<><4E><00>
i'rI)<03>num<75>denom<6F>exps r<00> _res_to_dpirj<00>s*<00><00> <0A><01>z<EFBFBD><13> <0F>#<23>I<EFBFBD><12>S<EFBFBD><17> !<21>e<EFBFBD>e<EFBFBD>m<EFBFBD> 4<>4rc<01>h<00>t|<00>}d}d}|j<00>rU|j<00>}|dk(r|j<00>}n/|dk(r|j d<04>ddk(rd}|j<00>r<01>U|<02>J<00>d}d}d}d}d} d}
d} |j<00><00>r|j<00>}|dk(r<>|j d <09>\} } }}t | t <00>sJ<00>t | t <00>sJ<00>t |t <00>sJ<00>| | f}|d
k(r |d zd kDrd }<06>n||d
k(rd}<06>ns|dk(rd}<06>nj|dk(rd}<06>na|dk(<00>r[d}<06>nW|dk(r?|j d<16>\}}}}|d
k(<00>r6|dvrd} <0B>n.|dk(r d} |dk(<00>r!d}<06>n|dk(<00>rd} <0B>n|dk(<00>r|dv<00>r| dv<01>r|j d<1F>\}}t |t <00>sJ<00>t |t <00>sJ<00>d}|j d d!|zz<00>D]}t |t <00>sJ<00>||kDs<01>|}<13>|d k<00>r<>|dk(r
| dk(rdnd}nd}tj|<15>}
t|<11>D]]}g}|j d d!|zz<00>D]%}t |t <00>sJ<00>|j|<18><00>'|
jt|<17><00><00>_|dk(rd"nd#}n<>|d$k(r<>|j<00>}|j<00>r<>|j<00>}|d%k(r<>|j d&<26>\}}}}}} t |t <00>sJ<00>t |t <00>sJ<00>t |t <00>sJ<00>t |t <00>sJ<00>t |t <00>sJ<00>t | t <00>sJ<00>t||| <20>}!t|||<1F>}"|!<21>|"<22>|!|"f} n|j<00>r<01><>|j<00>r<02><03>|<05>|<06> d'}#t|#<23><00>|||| |
fS)(z<>Parse the JP2 header box to extract size, component count,
color space information, and optionally DPI information,
returning a (size, mode, mimetype, dpi) tuple.Nsjp2hsftypz>4srsjpx z image/jpxsihdrz>IIHBrrMr5rNrOrKrPrQrRrSrTscolrz>BBBI)r<00><00>1<> <00>CMYK<59>spclr)rOrP)rmrOz>HB<48>><3E>B<>P<>PAsres srescz>HHHHBBzMalformed JP2 header)r r2r?r0r,<00>
isinstancer:r<00>range<67>append<6E>getcolorr9rjr)$r<00>reader<65>header<65>mimetyper=r+rb<00>bpc<70>nc<6E>dpi<70>palette<74>colr<6C>height<68>width<74>methr_<00>enumcs<63>ne<6E>npc<70> max_bitdepth<74>bitdepth<74> palette_mode<64>i<>color<6F>value<75>res<65>tres<65>vrcn<63>vrcd<63>hrcn<63>hrcd<63>vrce<63>hrce<63>hres<65>vresr"s$ r<00>_parse_jp2_headerr<72><00>s'<00><00><17>r<EFBFBD>]<5D>F<EFBFBD> <11>F<EFBFBD><13>H<EFBFBD>
<10>
<1D>
<1D>
<1F><15>#<23>#<23>%<25><04> <0F>7<EFBFBD>?<3F><1B>&<26>&<26>(<28>F<EFBFBD> <11> <11>W<EFBFBD>_<EFBFBD><15>!<21>!<21>%<25>(<28><11>+<2B>w<EFBFBD>6<>&<26><08> <11>
<1D>
<1D>
<1F> <12> <1D><1D> <1D> <0F>D<EFBFBD> <0F>D<EFBFBD>
<0E>C<EFBFBD> <0A>B<EFBFBD>
<0E>C<EFBFBD><12>G<EFBFBD> <0F>D<EFBFBD>
<10>
<1D>
<1D>
<1F><15>#<23>#<23>%<25><04> <0F>7<EFBFBD>?<3F>%+<2B>%7<>%7<><07>%@<40> "<22>F<EFBFBD>E<EFBFBD>2<EFBFBD>s<EFBFBD><1D>f<EFBFBD>c<EFBFBD>*<2A> *<2A>*<2A><1D>e<EFBFBD>S<EFBFBD>)<29> )<29>)<29><1D>c<EFBFBD>3<EFBFBD>'<27> '<27>'<27><19>6<EFBFBD>?<3F>D<EFBFBD><11>Q<EFBFBD>w<EFBFBD>C<EFBFBD>$<24>J<EFBFBD>!<21>+<2B><1D><04><13>q<EFBFBD><17><1A><04><13>q<EFBFBD><17><1B><04><13>q<EFBFBD><17><1C><04><13>q<EFBFBD><17><1D><04> <11>W<EFBFBD>_<EFBFBD>!'<27>!3<>!3<>G<EFBFBD>!<<3C> <1E>D<EFBFBD>!<21>Q<EFBFBD><06><13>q<EFBFBD>y<EFBFBD><19>W<EFBFBD>$<24><1E>D<EFBFBD><1B>r<EFBFBD>\<5C>!<21>D<EFBFBD><19>Q<EFBFBD>w<EFBFBD>%<25><04><1B>r<EFBFBD>\<5C><1E>D<EFBFBD> <11>W<EFBFBD>_<EFBFBD><14><1B>!4<><14>Z<EFBFBD>9O<39><1C>(<28>(<28><15>/<2F>G<EFBFBD>B<EFBFBD><03><1D>b<EFBFBD>#<23>&<26> &<26>&<26><1D>c<EFBFBD>3<EFBFBD>'<27> '<27>'<27><1C>L<EFBFBD>"<22>.<2E>.<2E>s<EFBFBD>c<EFBFBD>C<EFBFBD>i<EFBFBD>/@<40>A<> ,<2C><08>!<21>(<28>C<EFBFBD>0<>0<>0<><1B>l<EFBFBD>*<2A>#+<2B>L<EFBFBD> ,<2C><1C>q<EFBFBD> <20><16>!<21>8<EFBFBD>-1<>V<EFBFBD>^<5E>6<EFBFBD><16>L<EFBFBD>#(<28>L<EFBFBD>&<26>3<>3<>L<EFBFBD>A<><07><1E>r<EFBFBD><19>3<>A<EFBFBD>')<29>E<EFBFBD>!'<27>!3<>!3<>C<EFBFBD>3<EFBFBD><13>9<EFBFBD>4E<34>!F<>,<2C><05>)<29>%<25><13>5<>5<>5<><1D> <0C> <0C>U<EFBFBD>+<2B>,<2C><1C>$<24>$<24>U<EFBFBD>5<EFBFBD>\<5C>2<> 3<> #<23>c<EFBFBD>k<EFBFBD>s<EFBFBD>t<EFBFBD><04> <11>W<EFBFBD>_<EFBFBD><18>#<23>#<23>%<25>C<EFBFBD><15>"<22>"<22>$<24><1A>(<28>(<28>*<2A><04><17>7<EFBFBD>?<3F>9<<3C><1F><1F><19>9S<39>6<>D<EFBFBD>$<24><04>d<EFBFBD>D<EFBFBD>$<24>%<25>d<EFBFBD>C<EFBFBD>0<>0<>0<>%<25>d<EFBFBD>C<EFBFBD>0<>0<>0<>%<25>d<EFBFBD>C<EFBFBD>0<>0<>0<>%<25>d<EFBFBD>C<EFBFBD>0<>0<>0<>%<25>d<EFBFBD>C<EFBFBD>0<>0<>0<>%<25>d<EFBFBD>C<EFBFBD>0<>0<>0<>&<26>t<EFBFBD>T<EFBFBD>4<EFBFBD>8<>D<EFBFBD>&<26>t<EFBFBD>T<EFBFBD>4<EFBFBD>8<>D<EFBFBD><1B>'<27>D<EFBFBD>,<<3C>#<23>T<EFBFBD>l<EFBFBD><03><19><16>"<22>"<22>$<24>m <11>
<1D>
<1D>
<1F>L <0C>|<7C>t<EFBFBD>|<7C>$<24><03><19>#<23><1E><1E> <0F><14>x<EFBFBD><13>g<EFBFBD> -<2D>-rc<01>t<00><00>eZdZdZdZdd<03>Zdd<04>Ze d <09>fd<05> <0C>Zejd
d<06><04>Zd d<07>Z
<EFBFBD>xZ S) <0C>Jpeg2KImageFile<6C>JPEG2000zJPEG 2000 (ISO 15444)c
<01>f<00>|j<00>J<00>|jjd<01>}|dk(r;d|_t|j<00>\|_|_|j <00><00>n||jjd<04>z}|dk(r<>d|_t|j<00>}|\|_|_|_}|_ |<03>||jd<|jjd<08>jd <09>r{|jjd
<EFBFBD>}tj|<04>}|jj|d
z
tj <00>|j <00>n d }t#|<06><00>d |_d |_d }d } |jj)<00>}tj*|<07>j,}t7j8dd|j:zd |j|j$|j&||f<05>g|_y#t.$r<>d } |jj1<00>}|jjd t2j4<00>|jj1<00>}|jj|<08>n#t.$rd }YnwxYwY<00><>wxYw)NrS<00><00>O<EFBFBD>Q<EFBFBD>j2kr5<00> jP
<EFBFBD>
<EFBFBD>jp2r~rnsjp2c<32>O<EFBFBD>QrKznot a JPEG 2000 filerr<00>jpeg2k<32>rr)rr<00>codecrc<00>_size<7A>_mode<64>_parse_commentr<74><00>custom_mimetyper<00>info<66>endswithr rUr6r7r8r<00>_reduce<63>layers<72>fileno<6E>fstat<61>st_size<7A> Exceptionrr.<00>SEEK_ENDr<00>_Tiler+<00>tile) r<00>sigrzr~rWrr"<00>fd<66>poss r<00>_openzJpeg2KImageFile._open
s<00><00><13>w<EFBFBD>w<EFBFBD>"<22>"<22>"<22><12>g<EFBFBD>g<EFBFBD>l<EFBFBD>l<EFBFBD>1<EFBFBD>o<EFBFBD><03> <0E>%<25> %<25><1E>D<EFBFBD>J<EFBFBD>%6<>t<EFBFBD>w<EFBFBD>w<EFBFBD>%?<3F> "<22>D<EFBFBD>J<EFBFBD><04>
<EFBFBD> <10> <1F> <1F> !<21><15><04><07><07> <0C> <0C>Q<EFBFBD><0F>'<27>C<EFBFBD><12>=<3D>=<3D>"<22><04>
<EFBFBD>*<2A>4<EFBFBD>7<EFBFBD>7<EFBFBD>3<><06>RX<52>O<><04>
<EFBFBD>D<EFBFBD>J<EFBFBD><04>(<<3C>c<EFBFBD>4<EFBFBD><<3C><16>?<3F>'*<2A>D<EFBFBD>I<EFBFBD>I<EFBFBD>e<EFBFBD>$<24><17>7<EFBFBD>7<EFBFBD><<3C><<3C><02>#<23>,<2C>,<2C>-D<>E<><1E>'<27>'<27>,<2C>,<2C>q<EFBFBD>/<2F>C<EFBFBD>$<24>]<5D>]<5D>3<EFBFBD>/<2F>F<EFBFBD><18>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><16>!<21><1A>R<EFBFBD>[<5B>[<5B>9<><18>'<27>'<27>)<29>,<2C><03>!<21>#<23>&<26>&<26><18><04> <0C><17><04> <0B> <0F><02><13><06> <1C><15><17><17><1E><1E>!<21>B<EFBFBD><17>X<EFBFBD>X<EFBFBD>b<EFBFBD>\<5C>)<29>)<29>F<EFBFBD> <16>O<EFBFBD>O<EFBFBD><18><16><14><19><19>"<22><11><15><1A><1A>T<EFBFBD>\<5C>\<5C>4<EFBFBD>;<3B>;<3B><02>F<EFBFBD>C<>  <0E>
<EFBFBD><04> <09><><19> <1C><13>B<EFBFBD> <1C><1A>g<EFBFBD>g<EFBFBD>l<EFBFBD>l<EFBFBD>n<EFBFBD><03><14><07><07> <0C> <0C>Q<EFBFBD><02> <0B> <0B>,<2C><1D><17><17><1C><1C><1E><06><14><07><07> <0C> <0C>S<EFBFBD>!<21><><1C> <1C><1B><06> <1C><> <1C>s7<00>9H<00> J0<03>"A9J<02>J0<03> J*<05>'J0<03>)J*<05>*J0<03>/J0c<01><><00>|j<00>J<00> |jjd<01>}|sy|d}|dvry|jjd<01>}tj|<03>}|dk(r/|jj|dz
<00>dd|jd<y|jj |dz
t j<00><00><>)NrKr)<02><><00><><00>d<00>comment)rrr rUr<>r6r7r8)r<00>marker<65>typrWrs rr<>zJpeg2KImageFile._parse_comment?s<><00><00><13>w<EFBFBD>w<EFBFBD>"<22>"<22>"<22><12><19>W<EFBFBD>W<EFBFBD>\<5C>\<5C>!<21>_<EFBFBD>F<EFBFBD><19><15><18><11>)<29>C<EFBFBD><12>l<EFBFBD>"<22><15><16>'<27>'<27>,<2C>,<2C>q<EFBFBD>/<2F>C<EFBFBD><1C>]<5D>]<5D>3<EFBFBD>'<27>F<EFBFBD><12>d<EFBFBD>{<7B>'+<2B>w<EFBFBD>w<EFBFBD>|<7C>|<7C>F<EFBFBD>Q<EFBFBD>J<EFBFBD>'?<3F><01><02>'C<><04> <09> <09>)<29>$<24><15><14><07><07> <0C> <0C>V<EFBFBD>a<EFBFBD>Z<EFBFBD><12><1B><1B>5<>rc<01>4<00><01>|jxs
t<00>|<00>Sr&)r<><00>super<65>reduce)r<00> __class__s <20>rr<>zJpeg2KImageFile.reduceRs<00><><00><14>|<7C>|<7C>-<2D>u<EFBFBD>w<EFBFBD>~<7E>-rc<01><00>||_yr&)r<>)rr<>s rr<>zJpeg2KImageFile.reduce^s <00><00><1C><04> rc<01><00>|jr<>|jr<>d|jz}|dz }t|jd|z|z <00>t|jd|z|z <00>f|_|jd}t |dt <00>sJ<00>|dd|j|j|dd|ddf}tj|dd|jz|d|<04>g|_tjj|<00>S)NrrrQrSr<>rK) r<>r<>r:r+r<>rur9r<>rr<><00>load)r<00>power<65>adjust<73>t<>t3s rr<>zJpeg2KImageFile.loadbs<><00><00> <0F>9<EFBFBD>9<EFBFBD><14><1C><1C><15><14><1C><1C>%<25>E<EFBFBD><1A>a<EFBFBD>Z<EFBFBD>F<EFBFBD><13>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>q<EFBFBD>\<5C>F<EFBFBD>*<2A>e<EFBFBD>3<>4<><13>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>q<EFBFBD>\<5C>F<EFBFBD>*<2A>e<EFBFBD>3<>4<><0E>D<EFBFBD>J<EFBFBD> <15> <09> <09>!<21> <0C>A<EFBFBD><1D>a<EFBFBD><01>d<EFBFBD>E<EFBFBD>*<2A> *<2A>*<2A><13>A<EFBFBD>$<24>q<EFBFBD>'<27>4<EFBFBD><<3C><<3C><14><1B><1B>a<EFBFBD><01>d<EFBFBD>1<EFBFBD>g<EFBFBD>q<EFBFBD><11>t<EFBFBD>A<EFBFBD>w<EFBFBD>G<>B<EFBFBD>"<22><1F><1F><11>1<EFBFBD><14>v<EFBFBD><04> <09> <09>/A<>1<EFBFBD>Q<EFBFBD>4<EFBFBD><12>L<>M<>D<EFBFBD>I<EFBFBD><18>"<22>"<22>'<27>'<27><04>-<2D>-r)rArB)rAzVCallable[[int | tuple[int, int], tuple[int, int, int, int] | None], Image.Image] | int)r<>r:rArB)rAzImage.core.PixelAccess | None) rErFrG<00>format<61>format_descriptionr<6E>r<><00>propertyr<79><00>setterr<72><00> __classcell__)r<>s@rr<>r<>sT<00><><00> <17>F<EFBFBD>0<><16>3
<EFBFBD>j6<>&<0E> .<2E> <0E> .<2E><0E> .<2E> <0C>]<5D>]<5D><1D><13><1D>.rr<>c<01>$<00>|jd<01>S)N)r<>r<>)<01>
startswith)<01>prefixs r<00>_acceptr<74>ts<00><00> <11> <1C> <1C>F<> <06>rc<01>x<00>|j}t|t<00>r|j<00>}|j d<01>s|j dd<03>rd}nd}|j dd<00>}|j dd<00>}|j dd<00>}|j d d
<EFBFBD>}|j d d<00>} | <09>5t| t tf<02>rtd <0C>| D<00><00>s d }
t|
<EFBFBD><00>|j dd<0F>} |j dd<00>} |j dd<00>} |j dd<03>}|j dd<14>}|j dd<16>}|j dd<0F>}|j dd<03>}|j d<19>}t|t<00>r|j<00>}|j dd<03>}d}t|d<1C>r |j<00>}||||| | | | ||||||||f|_ tj||tj dd|j"zd|<04>g<01>y#t$rd}Y<00>`wxYw)Ns.j2k<32>no_jp2Fr<46>r<><00>offset<65> tile_offset<65> tile_size<7A> quality_mode<64>rates<65>quality_layersc3<01>HK<00>|]}t|ttf<02><00><01><00>y<00>wr&)rur:<00>float)<02>.0<EFBFBD> quality_layers r<00> <genexpr>z_save.<locals>.<genexpr><3E>s <00><00><><00>
<EFBFBD>8E<EFBFBD>J<EFBFBD>}<7D>s<EFBFBD>E<EFBFBD>l<EFBFBD> 3<>
<EFBFBD>s<00> "z,quality_layers must be a sequence of numbers<72>num_resolutionsr<00>codeblock_size<7A> precinct_size<7A> irreversible<6C> progression<6F>LRCP<43> cinema_mode<64>no<6E>mct<63>signedr<64><00>pltrr<>r<>r<>)<12> encoderinforurD<00>encoder<65><00>get<65>listr9<00>all<6C>
ValueError<EFBFBD>hasattrr<72>r<><00> encoderconfigr<00>_saver<65>r+)<16>imr<00>filenamer<65><00>kindr<64>r<>r<>r<>r<>r"r<><00> cblk_sizer<65>r<>r<>r<>r<>r<>r<>r<>r<>s rr<>r<>~s%<00><00> <0A>><3E>><3E>D<EFBFBD><11>(<28>C<EFBFBD> <20><1B>?<3F>?<3F>$<24><08><0F><18><18><17>!<21>T<EFBFBD>X<EFBFBD>X<EFBFBD>h<EFBFBD><05>%><3E><14><04><14><04> <11>X<EFBFBD>X<EFBFBD>h<EFBFBD><04> %<25>F<EFBFBD><16>(<28>(<28>=<3D>$<24>/<2F>K<EFBFBD><14><08><08><1B>d<EFBFBD>+<2B>I<EFBFBD><17>8<EFBFBD>8<EFBFBD>N<EFBFBD>G<EFBFBD>4<>L<EFBFBD><19>X<EFBFBD>X<EFBFBD>.<2E><04>5<>N<EFBFBD><15>!<21><12>><3E>D<EFBFBD>%<25>=<3D>1<> <0F>
<EFBFBD>IW<EFBFBD>
<EFBFBD>
<EFBFBD>=<3D><03><18><13>o<EFBFBD><1D><1A>h<EFBFBD>h<EFBFBD>0<>!<21>4<>O<EFBFBD><14><08><08>)<29>4<EFBFBD>0<>I<EFBFBD><18>H<EFBFBD>H<EFBFBD>_<EFBFBD>d<EFBFBD>3<>M<EFBFBD><17>8<EFBFBD>8<EFBFBD>N<EFBFBD>E<EFBFBD>2<>L<EFBFBD><16>(<28>(<28>=<3D>&<26>1<>K<EFBFBD><16>(<28>(<28>=<3D>$<24>/<2F>K<EFBFBD>
<0E>(<28>(<28>5<EFBFBD>!<21>
<1C>C<EFBFBD> <11>X<EFBFBD>X<EFBFBD>h<EFBFBD><05> &<26>F<EFBFBD><12>h<EFBFBD>h<EFBFBD>y<EFBFBD>!<21>G<EFBFBD><11>'<27>3<EFBFBD><1F><19>.<2E>.<2E>"<22><07>
<0E>(<28>(<28>5<EFBFBD>%<25>
<20>C<EFBFBD> <0B>B<EFBFBD><0E>r<EFBFBD>8<EFBFBD><1C> <14><13><19><19><1B>B<EFBFBD>
<0F><13><11><14><16><17><11><15><14><13><13> <0B><0E>
<EFBFBD><0F> <0B>!<06>B<EFBFBD><14>&<0E>O<EFBFBD>O<EFBFBD>B<EFBFBD><02>Y<EFBFBD>_<EFBFBD>_<EFBFBD>X<EFBFBD>v<EFBFBD><02><07><07>7G<37><11>D<EFBFBD>Q<>R<>S<><53>-<19> <14><13>B<EFBFBD> <14>s<00>H+<00>+ H9<03>8H9)z.jp2z.j2kz.jpcz.jpfz.jpxz.j2cz image/jp2)rr@rAztuple[tuple[int, int], str])rgr:rhr:rir:rAz float | None)rr@rAzetuple[tuple[int, int], str, str | None, tuple[float, float] | None, ImagePalette.ImagePalette | None])r<>r;rArC)r<>z Image.Imagerr@r<>z str | bytesrArB)<1C>
__future__rr.r7r'<00>typingr<00>rrrr <00> TYPE_CHECKING<4E>collections.abcr
r r rcrjr<>r<>r<>r<><00> register_openr<6E><00> register_save<76>register_extensions<6E> register_mimerIrr<00><module>r<>s<><00><01> #<23> <09> <09> <0A><17>5<>5<><15> <0A><10>(<28><19>G<14>G<14>T<16>>5<>n.<2E><11>n.<2E><02>n.<2E>jk.<2E>i<EFBFBD>)<29>)<29>k.<2E>\<06>@T<01>N<14><05><13><13>O<EFBFBD>*<2A>*<2A>O<EFBFBD>W<EFBFBD>E<><13><05><13><13>O<EFBFBD>*<2A>*<2A>E<EFBFBD>2<><19><05><19><19><13><1A><1A>L<><02><14><05><13><13>O<EFBFBD>*<2A>*<2A>K<EFBFBD>8r