summaryrefslogtreecommitdiffstats
path: root/Lib/chunk.py
blob: 1dc4a77a989aac88f95d163f7a90ba6d19141006 (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
"""Simple class to read IFF chunks.

An IFF chunk (used in formats such as AIFF, TIFF, RMFF (RealMedia File
Format)) has the following structure:

+----------------+
| ID (4 bytes)   |
+----------------+
| size (4 bytes) |
+----------------+
| data           |
| ...            |
+----------------+

The ID is a 4-byte string which identifies the type of chunk.

The size field (a 32-bit value, encoded using big-endian byte order)
gives the size of the whole chunk, including the 8-byte header.

Usually an IFF-type file consists of one or more chunks.  The proposed
usage of the Chunk class defined here is to instantiate an instance at
the start of each chunk and read from the instance until it reaches
the end, after which a new instance can be instantiated.  At the end
of the file, creating a new instance will fail with a EOFError
exception.

Usage:
while 1:
    try:
        chunk = Chunk(file)
    except EOFError:
        break
    chunktype = chunk.getname()
    while 1:
        data = chunk.read(nbytes)
        if not data:
            pass
        # do something with data

The interface is file-like.  The implemented methods are:
read, close, seek, tell, isatty.
Extra methods are: skip() (called by close, skips to the end of the chunk),
getname() (returns the name (ID) of the chunk)

The __init__ method has one required argument, a file-like object
(including a chunk instance), and one optional argument, a flag which
specifies whether or not chunks are aligned on 2-byte boundaries.  The
default is 1, i.e. aligned.
"""

class Chunk:
    def __init__(self, file, align = 1, bigendian = 1, inclheader = 0):
        import struct
        self.closed = 0
        self.align = align      # whether to align to word (2-byte) boundaries
        if bigendian:
            strflag = '>'
        else:
            strflag = '<'
        self.file = file
        self.chunkname = file.read(4)
        if len(self.chunkname) < 4:
            raise EOFError
        try:
            self.chunksize = struct.unpack(strflag+'l', file.read(4))[0]
        except struct.error:
            raise EOFError
        if inclheader:
            self.chunksize = self.chunksize - 8 # subtract header
        self.size_read = 0
        try:
            self.offset = self.file.tell()
        except (AttributeError, IOError):
            self.seekable = 0
        else:
            self.seekable = 1

    def getname(self):
        """Return the name (ID) of the current chunk."""
        return self.chunkname

    def getsize(self):
        """Return the size of the current chunk."""
        return self.chunksize

    def close(self):
        if not self.closed:
            self.skip()
            self.closed = 1

    def isatty(self):
        if self.closed:
            raise ValueError, "I/O operation on closed file"
        return 0

    def seek(self, pos, whence = 0):
        """Seek to specified position into the chunk.
        Default position is 0 (start of chunk).
        If the file is not seekable, this will result in an error.
        """

        if self.closed:
            raise ValueError, "I/O operation on closed file"
        if not self.seekable:
            raise IOError, "cannot seek"
        if whence == 1:
            pos = pos + self.size_read
        elif whence == 2:
            pos = pos + self.chunksize
        if pos < 0 or pos > self.chunksize:
            raise RuntimeError
        self.file.seek(self.offset + pos, 0)
        self.size_read = pos

    def tell(self):
        if self.closed:
            raise ValueError, "I/O operation on closed file"
        return self.size_read

    def read(self, size = -1):
        """Read at most size bytes from the chunk.
        If size is omitted or negative, read until the end
        of the chunk.
        """

        if self.closed:
            raise ValueError, "I/O operation on closed file"
        if self.size_read >= self.chunksize:
            return ''
        if size < 0:
            size = self.chunksize - self.size_read
        if size > self.chunksize - self.size_read:
            size = self.chunksize - self.size_read
        data = self.file.read(size)
        self.size_read = self.size_read + len(data)
        if self.size_read == self.chunksize and \
           self.align and \
           (self.chunksize & 1):
            dummy = self.file.read(1)
            self.size_read = self.size_read + len(dummy)
        return data

    def skip(self):
        """Skip the rest of the chunk.
        If you are not interested in the contents of the chunk,
        this method should be called so that the file points to
        the start of the next chunk.
        """

        if self.closed:
            raise ValueError, "I/O operation on closed file"
        if self.seekable:
            try:
                n = self.chunksize - self.size_read
                # maybe fix alignment
                if self.align and (self.chunksize & 1):
                    n = n + 1
                self.file.seek(n, 1)
                self.size_read = self.size_read + n
                return
            except IOError:
                pass
        while self.size_read < self.chunksize:
            n = min(8192, self.chunksize - self.size_read)
            dummy = self.read(n)
            if not dummy:
                raise EOFError
քU<D W%%˶Jn)ԥY)lBCu"QOm3*/|E x%-s~ &aC$$Hh2~ ٯ tdݦ lPUJQhM8Hl߶*[&fv]ⵧ2Z:9aD#8Ags<{?wx>#/, =F2 H˚~"h!TCD35Ke#&v\,Rf2R)=[ 8bk.,>D09JspHqVslXDw߼7TVဵǪCD ]"sDnl\su<37b6@K9Xiۓ:x &M>XpLhnff E}, $q`oEX;8xi#n i;>5tYw*MüFH7B]N;e&(I&Wvbsr]c:Kp*2h;^?,(~)摦6C%pcY>tb4,nN`})j|ReZno|(`UI0`9;$x\5 SqPjB2 I8̜L%fFt.8Ȩ$FtbK z/=rBHbXr,5x{^PBʲ7vU:)W# ]DXKҖBpLNъxt!ٷ߼.iNb7 ~#q/{ H 9sWCQtqz~ؠh$0JG=;2z"vw~EFS>hG.Јbz{KpFJĎZɛڀ\6odf>-&/2W{-XѪf;`=խVKp.C9BYmzl?$zbe|T XKSz>0L"C.͝ksRY.6sdv\r1z~jzg)I*N@u\ dC m *߉/R:\Fh-)+ޯ*tj[)U] /o"#PXx-гЩVie\e;[% SW,ӫ`O:Q% N*dMbOB*y+2j,C44Lc>(rd$lc1hY[o}!ws(#f8b^( s,ib2AXn}9[%{ ÑctJV-l#tJK(7T,dx$-%׶d ::X"5R-+V3T'ҴɒF'kT;B 4ի^Qql uc+LW\×vLaO| ((W{)1haCc€o rj/]侙DRdGPobJ"Z)&U|E-%IhҞ앾IslVv-sIq%5hJV%V[J(rY֫$KCJkmO_R_<z7~>8-x}qY痐|/.^F0wN>|}|Nc م~v8y^SjweatNGFo6@OTWt*i&G'1!/CwqJ$@APZno'fDjw!ֆP~XVNP4܁ǧOxLm[W`^n>NĈ~5Ĭ`$ v+2:mg^|6k[q`"抛4},[%LfP0ҜCF%]x%vpxLHZy}}]#ӈZeH(HpTN7 ]F6LL0x?(w]xoX ]օwCah,⣷5[avV{xp@ޟh)=l[璻K@9?_.?w 3,ri.wt,[$yWo!3ҭ%MŤ4 QmBʬ{j\fm䶆9;vq5't~V!̭0L/En;f:ct]>+f(E#GMNF4kO-Ms_x:6U1BB=WQ3z,Ns?H{& a#[h,*=W^/h)]E!|- Lz_Vb@} w^}A(k24~VSM308X6dRkޅeP]l.d&3v6cW W=ju0q˼%uhBbS@c8[3f>8/Y|m>uCduLvpLҽ!nRh#5 99^4tD7=#8H߃i]*+>.yJDA*]Wd~^4s Cfu;/hp<9%G7? ~BgK;[m(dAo1 r;~I19gug}Ӭ3]' MM#G-J];sɵ9A ?E"w;, TԻ+∼I}R`Z6di WQ[!~˜.Bfx|er*s7jfK=D|ǑwG?{([o7s>z72bs>[ݲ1-DК^~7anqQ85Z0 [a7GECd8ZL1v(?bZ}hqG9 G<6x,n;m=P Tw:$A[_øm2.^8Pp\.i)|j,]yTYsM?I>~r˪ Y짧2΢PmьrHR(#PDԢdd=?%fXUwAxEC1!_* < <$-EsRǞП}I慶8[yn|8 %qTKYS O-M{Ы|/_eg GK>>/vwibn{Ww:?,;@Ge]8>%3w Q@IBgaҢ툔4مlmY1Foe4pE.r\rVšieB4AqXؾD80#u,ZGh؄i8k0ZstV^YuۡG^6>kE-̇$gހN3~H%˩_;5|udru,^^UnKHnxGF$.o"0(tk`tp]mw%Dh~TebtI@ʢlmA@λbcW!pK{e\`|}empF.w+莔 7S,iئFspP`}dHϠ<3~\f$J\g?rDvt޵ ?A:Lx nbR-Bl;ȿmC(Y!-:MsHf V-*gA+ړ4qK$H8$W*+c2t +a &]̂xJE 0/dfa-2m4YʜԊR9ǟHޣ њA^;F\y ڀPCTa^ ;"sEځ~'wWj0~V'adzn )'F9IZW%>d`N]U9v:% A~=- xx|ZH5FJցkhpӞ:#jS2rQC #ߌ)bn-3 4m~eJ?/ ^V1R.dY/׾_wC9ȹV8Ohj-m Fi6åHWxiԥP@H =8ۭKFP_ Ć"H u=W7F0eHC]Erŝ.Ko;B;?ўpyu~D^N7E;.fKBrt[S"-,zK/t>_\.OH ͝Ș|'7Zb6^=^+7 PK FHw k#D cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/bytes.rstUT+VYmo_A0ٓW@r6bHZjPZ3Cr_$j' r%gy0R. zb2ahl:x(FGvGghtNyK/vr XNM-5`L<@Bx[^XuŸ+%*~ g[+s(u%q@9 Fx n7<cKkf9ĵ&*wvFGUcX8uO=SBA@/\ZyQ%s kf:5Zj%W `Nj<ڸA"v N$+;s~Dړ%]PnUXgY7X8vѬP1Y6{ȓN!4F- K8yHрـ;Ekѵy x%E#V4@0|RńF*&݋YT>}eiT[)l=In7pMԍ7̊9&b?6f+X%\ieNLN*SCEY6`[Ud 6Z3Q\JnٸF*5uml qTr.[B { -lmȃ5pW<gKv" ||?[3\Y04e]:!{L~opA40dOi;V`6A,z5t4) #P-L:&lh$I008]7IF..4H.^+nzw_zܷ߫u FRhϏg1eY#,NhoA}\̾ealMN_7h,,p_lOV%7Bb5 ==;9$f/38޹h Td]HȞeTME[r6pY, 9 5: [d;q!4*#"CXv7`F^@|vnxuCNV ]ּٍj/E8H+c7QFJC!oPK FH~aF cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/capsule.rstUT+VXo6_ق+}b ХAi@DKE5;%9V-}w_JSQ}U_vو|HSqrb.^mr|jJe7bcUz(.1V^V?:'|b.]|㏝U7AKp>?LXYz'$(߽ɜ-S^iLCeDTtҝK FF& n+ǚ~_ѹ)3'ϩW^/ .;ɶos‰BsSlRrWOT/k b¬B7^4*d]#rod+pz+\F粮(6/XSDn)m{c9z`%GN@;Qd`H6?(,X&sVJaUdKsp9e m#C&?OVd'{  YQ t"/,/'ĩ%0w@yQ"HB.7Irkj(HŃ$ >FEk<.Ç$%][Q{ 91C:J@blz? 4 _b!1-t,Q^kWZR{@<)RQk[ll,; L&#I`*Ͼ9aa]R4ݘl$)`")1GUnxoF@H8zϩ~f@xS.ue8KA)R.a;)b(uk<ɂI1M_ $(+8ϙ!qVL.(jʊgI 4D+Ax #& {2cdDs,)3cV6-غh?륬UtFo|~Bb2L:gQh畼R5i4"&v7m4LSwo p`yDXﭽE.ȃ2Œ` p-#!; W MU~fL]!tGjqM$Zi&Ȍ-[fPYq [JE~OX:VnhS=U,(vP2)zڍy #A'AJ[u Cݼ6?l5v(\#Aŝe@Y4~B4! lӡ6o*RBj0) &3W$zA@fbNʧ-%K/x!=Xp;V4A o&ac 3Xlޞ>d 7͸:ek0(~0p6[νC0){<<;a7|TVİ%>zQ 10p1< 9E[jI:*h>z//pwLq@5։%>f/祥Ōփy߲U4ꥅݗ|BGY/BtPMt"u0i@ajO6Oա1jJHNy-%/"uVkF.wOO1`t oR{^Xb*ߏYR$e=UtHYA QUИQŰ<#1GHt5أ*[hEDMAb $Җ +Y@Pe,4!:"RIx^׎Qh9ECA(vJpRD?N4|~vhg :ZScD綩߬)UQ6]DдQtnm7g⩭_I{*;X(A>k[W5ERꉇk]e$d>֪✹98D]&hRJd uHOi>&dYaB# V@FG>2٤r:۰xTY6YCrR4HoaWO!fqH폛9nqw92Pηmhй wG[K [wˁ1gu1"]:-pdNA:E-c+R'pUi1AwI dB|x?_5Y"^]J.$҇RW` llu!Yy$dΨSD ֝H7*vm9襱mt)*:턜p " <fӂ`bd֮kS@Tշ~iABW0郴$y{&N&Ej<8'HҖWJ@LY@ӏ~i3Ws/|lQ&>kBz-07IB˂qM~eOݠy¥i!dށG=O |biUvt5%ۧO>.ˋGȤs %!fO&.#0PJxRo?W!Y~]Ž@DY޾+󿁤G(AWU}C/PK FH"jF cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/complex.rstUT+VWMs6W.GѤWQxRZ"A (Y-@J$'fdKxrw5Suo^gI2Ӳ0fUeI ۬q#ys0.##{~kr'yGJR˒#3T*.<}+j;ِ%-.#2.,Ek=88fhY[q3L];PժJb]`O4lEy&e4>K;c)5`u6pϿԄ#}Q [N} fZFu GY PҐ3ɔrRZY +\5ݺNZ4cωjh8!r8eȥ"h#Cj& 1Xl.GKjeTjhÏy>;UcVJbv98 t OS [dKkDO cu0i e(=k^KIa~Q 'YiUE* g8|!+F8)WIG A:0JGŴ迌 6r^)ev&_0_}Ohz31QL*KzCGJ_pERȚ#p X~1Bgv:_m|#[7ʎg?;V{3.? u*"rJ,Sh"W`"&ï>+~GP :2Q} PK FHHG cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/concrete.rstUT+V}Un8}W PiEVȚ EjI*3i[27sfCORj&x1A͟T-_491gɛL' c:" ud 0f9C() #z)?s@_oC''pA84C@=Ps AzEvWսc %-RJ/r3P^2 %N0 #.D Yj1=(||<\{z,tw0%9@mhgq2EJFrD pm+_t$zP J-&Oaq*\X*ғ #SZb`~PP1jw<< ED$2j+~^#[02 1&#,;,1Rpzy-ik]PK FH_ZI cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/conversion.rstUT+VXr}W`I%9/UrT[yH8$ 9ݍP=}=}1TkTd2yLY΄hLxM kJZ)+&U '#S.LxAY*1B65mMزreXin]iuRmtPNUyĤhlv:(>|R[J ' 'U,P|XYXJͶ,`gh5tX[R;c'gU[jڨKa(  %9|^>ݰw tX~tOV=/Hؠ64>e)6uv Yp;ra6zgr]Gacck~Tcb2.$dBzUY,U۠Impl~ l2/ĺn% ښ~tRO y=ͧ`ξݕCYNij꼔ЖewWoVu8)<bvou +z-Ni2uXe|W)*+m>,ԓZ'] "gG ׭Q'ELl0 7Є`&kA8\Ra^?=rQ8pL8۪21ښcAu5&9 9T "䡀 ,k`a+Th I#N~6 t8Me ^t!?cM:"IRV@+p8pј"Q.\2E+λM)ph;F7':@C[%)=my2lk܍I%f.#ja?5KN ,K;A1lcLG6"[&bbUg3e+s |DnvIǃoE$lJAW$OC7VLD=5m f8k<6TJ[Y뀎(M󫳭xQ:;ilzFVh]F;| `Gә?Hֈ 7Gt%vΜYw  ߾^j?~50#:5 v(ͣwD87K_uZSunɀƟ 0Ğ~83*ݐye3B+a~~}s{s*[poFD IS6FmCh--(G8Ʋ)g\Rk"TtӈiPjãL2PV:0Yzf;I2hq(\K0kDKĦm2YZt">W?K%OK <.5Uθo*󘿎}PK FHk4C cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/coro.rstUT+V}1o0 w/ET)H"mYn|R"qK51G(nRE/},ǝR{ Gnɩ/RwiޕSg,K}DCvtơL*<<Ш@<W,dw9/CG2#)ܚ1n#wAE6CsН|SJ"K7#վf‘T9COfo_{1vTJ\ i;F7`z}cBpznl՟AEzQd~'qBSa4n2M6Y=# Pv熌7oMܢY^ j9ؒM4dju&n+~M۪/U?_6x4{ R ^_N!\noGi jWs<"|tk]YS GѭHFcc[ FxgdǸw{6huN뱳jW%Zb~*?T t08F}= /SJ? ҽoiܷY"NڅRLl:m%mS~vyPK FHaWI cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/descriptor.rstUT+Vn0E)+ @EhZCN2!n;Ǡ}GHsg&M۪v/\nsKShr-ZRzo[al4F8 *NQ 'rKNTi ;JeeB`B$rڞ5* Jy>q[v+wV-j61o{3+j, : J+Cn%:$nbgO !mC>Q-AJ&C}5 UwR5Ҽm/'䰙N-n{19+DzYp$C&>v-(csaClLAi+ymIu4XCF=4L Rj>?BnֆdbQX4${knOwЪ5lMuFY Wnzw 1uu{=;w6d oT!.cZ(GܶVZ%AZ ޔ*XU`y0vнA認-.4i:=f ܶzSW"غ1%[>6w^pwӨOf{~Kkw4l4"&=LM&G2Mr &R8/`7b0J l?snkohs%α#Ws_Ck sGƓǒ@m>"_n{o>J$k&Sj*[0#nل7^I?^D{zAohAIθ54> 1mI_kz՘\_J˜R᷂4XfPĞ)X)&98a`t]4I'h c[4Wʐ=AEi/&g}Sp}"c"+XM)bBRVrj|H2>q&~eGnȀ1l$:b\RCH]A wt@Em㵦fC)!V*6#=5o]Z U{LCg57Ӡ"=&p^V GUZE hK.}q`0]ՂY,vT 3ʢKxLr(ڔ0n5`Я1!Gc6Z))V}*ڷOnӊ8EU ^JM8?~'pހ5j1a-sEOD\5{!%"l[Ru8&Z|&=lUCS;"U0rDz*ӻ(!nuMJ|hmhfcchplSXB?e$a\_@I\B:䁣1b__:%t^Hf&NO$Tk c]7+T[E$rbSS&]+Z>nVJ.DdA ܡk_`~;rnF*Cj+"M n n0mZlvv6=I3|1+Onjt@l4wnT',30;K+rN;_@ph*_]$Bi0e;9^0T [AfEtE%PUF@Ґv+1!HAYxQAW{jFEU0@g-{'3:!C@1JlU yV!Z0M\`} ;0Gf`NvEl$b`lq&MiO32(]/nj{b>u&7MuWisO80ɴq/|OSRf܅ꖡ ,MA%2nQ>8(x+ mjclmb)j7I:F Z^XAONeEWՓ'X:.y(_'t>M,AI`IJǜF;f74q*z/>lקvG#UFqisiCWpj%yCANH/8hC,z~O҃f-Mx˼+Ju^GbPj[g5؎!RU]P8"Tou@~RC.Q,֙QYl>sMA&2aJ8^?N`"9,R<սzS7ڍ\LgKW]|sg4V4ti 2R2B!ܛslUVqe֪o~~t8bk}a6"_ۙ/Tzq(>EF wl"'#d?G)wҐe_]nz} \Eӳ{ʾk5퉙,PX,K718AՍҫVyGGeR ;nyrV![ɆaF{cGۡ/^;chL̋,ʂ hFJвa} ;]PK FHʫ%I cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/exceptions.rstUT+V=ks֕+lC4$ۙ=rc{-fK k`>y ijr>oqqXIyT6YYEgYL?^IV׷*\E+0UuRe+Y6Y&QUxy&ܕmHoV!7V]s[ef[VM\4aSmnܨ\KT,>>#w_Vjz6nH68J.J5mUju.z4h]v-k qcweVg!=|E~ƾ&> -7gid! (=5l/!_g 8/RnR,mg[%>DMPY&Vf_⼅?# QSʼnZp@>L+"jEYyQQ;9 sEťb jYZQ=aM@%%ᚡ%p@]7#T` :ǠCײ5,@U8 TJ5W *mY2Sm0©`)A DqPp;hKzO"KYhaK/Qj `߶^u Eɿ  F#C82kjcZDu!ެGCӪMl?&S`@ ;K &cNP!rDz"9PɎ% .%PZ z&3s, T Q.i,S8R4/@e)1+rBm ZxTҮu_ZaVp㍢@W: VNbVx >cŽ5. X| )2{<)|<-e!+:7 ]q 6htX\ld Q+:9F h7+E\/C8`2=*"8 V((.q=D~8}&O~Ĩ}hiEd+R8 Пr 11=]c`oea5*vзk2w `(2=B<5?JF51;Klk&9o3&qSve$U o([8>;Ju<%T=G`Oy.r:Niyg+z=~#ЦY/'-P z$-zOb;hW@'؆LӓD?6&ե䦄`{jTctFf_at\zP!V "uYHv^f 2c&@aߪUvUG̣lY< !< f;nF <)^'E1 RAp?۸J-=RރzsGZwנzE݈; &Je:Iv2fTpZC %%Ĝb_/W:a1}ZgiE g`+ ;=(UFDoEY RIu믎ntEQT؈ ?/oXtA9&z OQE؇!ߎ2'rb F7|pgMn$~1tI5j6 }0qo16M_i5e bU6sA$a\ahFCNM1کDHQo(aK~s +ᥤgJ$raJQ2_5C8΃g>bm}HZW`:%/ >ձ[,b#2垻lQ4ljמ1N1kŇ^S {>F0aN{(+Fk[cp;ո1h0X8Nd7n(78Ϸqz)Vl Ȥ!r6L y tjܴپQieM2˗u"8;;fwwOnuNv&Cd}Z=j8M."cmnv`+]!ԖOb65P)sf+ܵ(]M3s2ld('=$*(mDU( ,!m}hݙ '76yf'&ӹ8ODRJBjcNC'.rEsi)0 ,p> Ʉn $0C"kJ[Su lMYΉ8G%՝<ӡᨤ/GNpm940.vLX ᦬vn* VX<#uUԤ,pv5ԃJZrleNX8Ud$ܲg`'īeTM@h[ؾ2vEerUwrcDhI:.HA -"OIK~X4uBs3p :46PQvTf$ ԰'}7^)&1l-$?M?j&#ciruḣ|Ν?WJovkFwQjz^o\zR%$^fC$g.[z63  mc.*xLLHt QA=g]YWqe#v_rWDY!}`gI6)J J9ЁݿT&MkIP>NZ"˝`!+b-ܣb.`:>[ 6,5!x]lzvD->TNsdkjj*ݮ2֐ܘ1\"~?v;@\ѐ'u McYhd8:!|lyF6W|Ё$lkݥ] 7q:ӆ.MƬm(d{k. e^KKU~ok<84 F7v*D6NT]9]sMO0n #9APrmBӫ 9cٶ pnD;v߯Ҝ̴oزa?F7N2#&*%<]5gc%ɞue CLQWoᐔ<\S7Rȧ`2Qc6uy/KY=n%_ p,̧3:axW.f w1i($ iцX)WOl#fe.}P N7 ҳ!cX:kV ފ,W3`rihC_X7]$DԚ_J(ԯRar T7gӅ W'b_oA .}]]WpN|y 8n8ӭ("=c@=~ˣw8ڏdT\sۡu1hHqٜOLOD@(=JUɭ#pU!ޝ"|#u|;hw?.Q*e GB%OH΃5M?RVm ˘?T_Cg~miyS#mnjc&:0~-\8myX3s6 w/Mzz,/MA l򼑝ir),@Fa~@*tښ_֑CKdcςm߀oݪ6sX3[U  ** Q0N҇n<1-EK;\rC`Q4 ZX7@|w}Jy8L,DU$ Y#_5d0LocQ%Ky]C|]07@u)t5]57`J6BsK@S(|+n}j.u .6]#,_pw{j>"Wp+4݌4BN~)st{Q? +Iw2XV rxyt[y?kbiwaI"w]BIfuwb\#KA~?"g{מDXiIP@:N#H %W]{[qI8N|9w$1䠒dս Hbj^6$xAg7d*.񧦌ejjؘg|qGSr8rR!ZgyO)%wpuҍLɞ)YސSAqdzw.߂fSob"OXbT RwxmJ0Hl44)'G\UMm m3joP})$Ί3لzӾ{iL^B/?F$]DVBBҘ&o=y§Y8dT/8E֠>O"3V!Zo/R+YwT43R\7G*ZixD.fV&9QpNgc 1Lc骷VέH/\wH3 m!` NhIUGs$Ꞑ\dH!p35pl7CzSn¤ÐB᪞L@ޘ; X_z6`Uqr_;ř|P9%sGɰyfo`v4fAC`fp 5+PMȩ;1<6̙ 0ǝH`=<9{#82'q["0]`: 9ͱَTU(O2O϶.VQ'ǹQYYy咏X' !{ˤh+0VS7N\ê7NVϧ9{#nf5Q{ sON՜GBzcrX-Z?&LE0C\n38e.;jǕ*2z^&rq6rhUȌNfrxғ1x@-> 87w=H?\s:pCKy{QMm'HTn7(u4kV$Gh3}-6mn%+t1(+,*Mxe:Ϥ( +Qt,u*t>g0X iE >#v i5`]HQe~{N:":ȫ.}ZTsԒV1kZqEHcxy\el:ځaW9QpκHO 8|2pĎM.`8?l6ߒfr47W~.c3:7#qHiG+-`Gp}YkjGNM YʓҫZQ CVfRШLoZՆe'p^AUx\jэߡuV16dM7)6ۦq_|7~Sko5t[K]gC'P'ΟZ!<3UtUIrm2.Wο?u:m+U#cS(FWMAhWF"b[]NXRs.oUJ!~[LCZp-ylã sŰ@ 3MYRJVu>'L@-@64:0eE yʱk+ vBDKhd,/.$"~Y82R?}I41NE[]dP.Bn%Npˍ®E?ovVv_oٺ *UTELnߙYU6x+4Ȑ̂PWi,$cmh[K^ l]qU~MGclg/gOss˜g: z{ _ut\.5JdE Ɨo,gFk$iט%j [^Q:TLWhm\hI  |$էַ8r 1_9|*9>EڊOX_QѬ|P}#VZ}Hs:}@DZKѿ^R6N҅ߋGo@42tWvƾ]W&u#W%SEY.]r4󘛖7- Yݳ{ϒ3'ߪJ/[3`~؟+ F򿇯JLZ?Usx!M} R4[2V4,>vz 088 Ϫ(7C4_(,0ssNB+myczʽ|BM@Ml}smӅ1xGցGp*Ï{v˳``k6{>wNDU>dVnT|;lizĬg<:Y\dO:3ןwR밨1mFM|y}Q:߫C^J}kɀOusmK [&Uݘkea=mtfR?\-_zŨPK FH60 C cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/file.rstUT+VVn6+xZXo&.0b#nC[X\iˆ"Uڵ.!%Y;@j E g޼yF/hiE!,lc4T_d ]z.?X Yہ<[/#!EjZeC8梱Nzå2)֘Z:S- 1v}Ӑ;*" ϼ:B8FijjI7lؚ)wx5r75,)+Z[)eHj9)j{xEo3Nzvp |YIb<.S;#cpʚ#ENNvRSXǂZ& q L g9<:b8 ;G}N0x "eP7YMULE;sWN4!t"7 & S.NmK*m=5E !>;Y12]d1]~4BjGAW ЉvyScW-Sy9w4-R9\;DmΘOdI>_Ys~3ϝT{cy/ԅ4rYlہ;U|;Ñ\!th#nG@ƫ3R XsND&-L Y!j[Eר)4 ŊxP<c>cBe'L4kH?')8_G;=UG큧=`{z}f] b.QjTcHm&M&C"^,f1eNy5y:*R: BͳⲒu6Nf"{UG(.Hu36ϝ  jl870=)S0;K')".8TL>P5SE<0)ey,%I~p_6%)81Zh*uռ2猒?B6J,%?_epy5v,rn@ʁE"S Sd]2)XEeGO q׏9VI,G{qm8d %xsV.l*W/>~:lMSb"mK5OJpr,`O ~W% p('NNEv*P"`Z sOۏ=~z93SyK~&? y=㦸xg>_/\^U^1{l3^'t?f;!@;7d3˱p[ꁥQ>24!Rr(g͸X o`=eyZT=ePK FH6D cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/float.rstUT+VUn0+VWp[&zhRJR~KJ:bGrfvvJŲ$S4"Jj/MZ“c؈.N~uLAT (MR89h{ гnX),:J9wRn⍤ZgkÙoyN,%PC`$<\et[5Vf)IBΚ.1ΙV OU}~d`<@ Y2b>d@v|9w5KTE䒻ń-E5woZy3-u255h*Thcu,d#5L"&z詿ÕwU zfuy|#ȗSY;MCkX$r(i Ulc_ SM4.m̠e8M G=c-c):FǪ= E![H?3;* Gr07RaGEW;Wo~n{ZPۂ0ob9:r ._Q^YGG]S; ) Z 2t9౉[ۄ>",4YK0yGAPwFwaBc{xH*f0}4;iasN.#>4zƦ뚫obT4I/Q6~M\(wk֢R)wXZMdDG{i/(«IJ@N[+OR*[d)82E} ik"|$K ¥JkK3q⏭pom/3u&G!;d]RG:6) (1@VݯDx$j:?N^ա $P漢 A/ڱpJP Bb8NubBqf4[۲((b݆1px_ڳF4-G |<JݙL읁 ?Ĩ*Ay{ػ 3>;XP'b#uݢ/qgOË (#HXt%z%RzPGAAS"PT$Zk'TImQ"j&Aa{;UgKۨhBA,KVokcy/ou) YAƤjI1*-a9qa'hEux4K;mjb/5а)F,iK?N(TXl}/)#ڊa1J5(V}?ѲD-iRllA8Ͻ?P6P#TnY<*jk:lF6"0KҮ+촶\.e$ OaH9gk{\sq$?$>(MXieY=#Ev LdLh09䠽9љHX9"/#zOi)YY7KX2xB Q(0 'Ht<'0'Qa#U@e<A!2jsw`N3 (\g FL;x+vqDNq Tαw#p}҉-RhO4Q<9$QvSF$6u2=b{p4H@2M/'4*#1n8RfeC> |Jܖ %4JH1/~WRl (~k*ztӨJ]yYj>G'1+.nJ̩}a?U4TkA@C)S<*K2r(mÍ>?ňݛ* z(@dUeAvfoVtv CG1IGn0n鳱(KɊUΊ?PK FH}B cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/gen.rstUT+VSM@ +|kzUV[``vaHgLFɮVEBb<{&I1uKu$F{ɧQ-:EoS,|ΓBP(HMoaz0ݡ-A>| umGa 8[CD j2N4lKG7 ,5ڐ1@:4ߏ>)re>v:̓(xSȖɘ(On4pv ֗HG#NHj&TRнs-6m!f0v6Ǚ-f6 x GyqO<(!o4FOmŒց2\TrDlò%I+P2ذy8#]"@BV hN<-ZYgjH M=9[}} o/οW;6tbMY&YS az 뒸+XPK FHC}b1E cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/import.rstUT+VZێ}߯hE\Kٱ8!D [`9$N33{Ω o+;Y$\NU\mzSMb\Սť7w+\[bVyc]A?_bf߂O2]otޚ+ت0 uKP;ktm4/.ۃU59|m؋*-oW]iWЫ1JF5N-^ͽ)Jhfct].TPznMxMCw޾M;SNypR?oL$xSIBLh[Q5jrgm܋l]]ֺQ&MWۖ7rHT ʲ<>g)ϫ[iں(ص՚}4nw#;\AAyսkB9wo\y9( Nh+ݘrϽ` (,K80ʬV@ *6Ff C.Hގ"y,VK脑 taR? jU{sejSE[9SN͆;6rkgm4KE=EY# 7,B7z!Xqټ.ޫӆKʶ1q)?zx`x&m-̮6tirm@;S{*PW1}W :o+ ݢqSQr/5`ǼfX]BACedAo,$ڵ xbmX`JI]{D2~ٸa'Kh(p 려sI Fܓܕ6f.C~ǻXTq TO&oXsw!񵥑ߒDTMy=8Z 6<6)A&so<%G. HG: -FT֖:Bx PkuM-s))lM-DT~)B^p#C#CrD: v98! Hj'8BFAbjnD[0ܒdEk49ɫ7 G6`C(cj> hL&@t5QV-`Uu ϼ"kvۅۺrb(9eɐ(:, fB fzew5.bEh+2p0Tˆ dj@E,U4o"/'ֹyx+gplbmd9M'džwkKS3DAKY$ur QgTp<[ XbuwX'cNC.I=:I0Fx,t]DEMHZO-H_+U4wh ;AlQ`sG͆V@]\-^}^qvIiiĒM1g;1=@NS(vlت![ A '̦tF )GMa=os|Y_돸aH0!6c K{j: >-j5? O7LX j!i9pjqŹ9?>9r6FKdEIEY8`!j$6Xpm[PHوgsIJEXcG6h~CԌh'$TN=#kNzfIHbCjoC#"Ҙ!B<7L/˾sՅ^H%a/-EYtx0|F{=0WIL##98¨ =%{Lݍ!K싆X8J`Ft|dNH?.l Zmuz8L_߭Ѝ b[doGm:RUaV; {|׸ZFc6_ ]zYZYM1)wϳ)/H| Vzz9?p s{˶0pTm}0w9h1mlm##kybq^) %?:8$u3+C6^' 45HSrC 3Ui( jj|LpRH]Gt'n`Wuq5 Xv/)1Cwi;P`@O]n]荧j2)z‚xˢoU[] @s \Qzn9v՝Lk @kUGJ _pXL@0tOa$8Q{2堈8=UK΋]Ke34}3Z^7tn8!ff$ߐ+mϩs%|bG*ܞ+~Gg}">Hhdpnfߤ$u?}AcȽԜ!^CfҦa9Tl Q/ccN739uţoϥqu|zrj| B88C}?;L)㴖N".gomHt)/OJPK FH^BeD cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/index.rstUT+VPN0 +c7t HsIkr{ҞZFgg7 |H3oO'xy;;^Q=«bH@]%"k JN`^l(n!Ͳ_HșCL]0C=jpV|奷w Gs t{Ӹ\zR5+*'5nj^k{jƘi bBᨡg* j݀Fau% /Y6 '_׍)JC;a]V^7{A]iEI %Eqvj9JPK FH4Iv"8C cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/init.rstUT+V}wGwA<,$2EJdQGg9o!@GE&KU5I@Wߺu&h.Wkjg˳h6 &&**ͳ`tWG4 y~U$5~4[" YV$J*)EBwu6㝞Etݸ7&Ó "a͓gg+ ?NE,͛xڿyI|'|^2;*weW۸Z|rJ&NǴ~RrI\Vvw%X~lǞo&_{diU< uGvNgLMQMs>1SP/h% 5cdKSBK5?~2Fʻt[a.eZVElDN:)1;@YZصTL}Vz遟+tWED,/H0cZhj(+jl/> D~闲\TgUnj(^{G}sbu@hCZַeCM\ӠsÊM$}MUea0?c53d`MʹUE!,ޤ8>zۦ+ydK28K TA7 #>}]/KQl4ޫg&M&a\yTK+Bz^̓\o .0wxĬyՀ?yy{EXѣ2@̋XȈH_tO|lGdLX(S%>k0hor:RdQE`+I_DccMcUls≔w*-]Jvxi0wY6C7N'+5s)saS}t+eM%jȎgP'PY۾MC bl9J|7RzS);AbWCɚvb!jNIDl@F-T\ǎ6OUl=Oi 1*l6ɉIxW_^KV9] ;aa1~!qW܃/J l.xGQ-<~^oIlRoxMFܚ0`ӽKrc569 hddԈK7Y`; xdE`}<5 i( '΃m2@~g{.wF4xd馋L錬^< $czH7Uw k>14{8u!2'UHmK'I7]f72joO8w%i}z+kٔy."i3#K~@\*Ӝ?b*WK{k'j?CyF>RgGxk.(|6'ƏKe{)rr9jg.t3DWj'P=@Q ~CI?9:؃<nCK{؀ikr Dg_!qu@b9{MF͑#f?#{#!A'L,VE؎|$$eD+{RS]q^ŧ!gP/V ʡU%\z%$YRpcq2b$޷0Ԅ"l!aE?$II)^v\m\*`ZYf|M./'#b~T& [h1{ؘ(Xw_..p:g?<:jyy }= eH ?s>`S#lm͂^"\RE':˔-$KݹZX!,asVs a=`*̧GIHv$f[J P)"dZ D 0Ɍu= $%co/_+(Ble0ir°%$9<ĿuWt0=,tbnMgʖX9ƒu4{/^v*WZ uSy+4LZsRSgyWLܘSoknK6L2?:>sS{ VG?<@Rj*FݡC{붲Z*G6& 8gr5[XdnRD\COiϾN-&w,2t} sMaIC\ 5*rOK +T?˚fJSbAD&mB,Q_ےC^liʼnaFT,iɴIY-BhOm;eL7xO\ z_T&T] _%FAԸFZ{ X@NpU-#00. Rf f٣,=ZHaU61q693_{M`@ wFY߇QgV9$'EBB(l@P)輽zkШ\TЇJQC藄e9D5 (ͬ)S-IR <<.If8jBrjoMKIۮ E'<\j*t=PNU)gX{)Ƚ^ުڟp wC <+{cBQX3G gsO{qgqiQ$ݽnz<@Ř^\sp 2z$ʯDWcT^Y^~%ACڧꮖ~44s?RܷZ.aCѥ|+P וWv^p<Z{Ow{zJ蚐bJDv!$tdQ<xU=l?.I'Ñy01܌(e9 zN4#hfTPCޒKqrnam7/~[* %5P*[I3pޢWTF\ Ti r~_c%2%gqQ~Af,dmDd*璻#(Wu lAbiԓj,pGGe\m$'%x@䛍nb>aim?RPkۺ戟^Vhw~45juB&z䏻óLolDDDOOoE_UهdI"lp>!L7SW+P٘[ L4$I6qV[X&n ":L C$I+_>6 `҈{Wg7)f>?aAo? 9|rZWŢǀel,ϑL*'jֈB9[%qM,]nYV ^&rOfR`ƸKH8_*OPZ6]cbI蕳-`7&m_޼ʭRy8.}AUhW۫.4_\۩_T+fڣjEvآZ jo3O8{sB.-"jd -!Қc WU3Az1G\;ۼd, ^P]WqY: #ݧ(pr]Y!!vCqC4q>hɆOxe[. `z**V1/ DuTsgSzF'߼z=U*% Ze&X.Xc #FS 'џgWm,X@#f,;瓶J䲑vר!L \!o,!G6b'p2 ڬjVL˃Ȅ.BH0]}YzZ- ߧ3 6(IӡNjxu㴁va$@/$ɆBL9#~gN椐`̓m< BMXPl-;+ W$KWqȞQNέ6''4'IG=sRG$- raz|4v ʚ@=Ѓͥŕ+nZ SI;p,O%ɶj ҅8n_ 9(=*PE&s$m($SAP $BV99xE;1gɳH$mAw|JƷs1 4nAQEyHå: ױz3ʃ%0^\207u-x`:^r$Ȋ.K~XʊU8\|gE^: $$"ko^y՟oO$qEk̶}/zVEYe*Hru2#Z*%/k!Tȍwt7ֹV .. EX 1f㸺W1{d'탇tۘ?KWpYdx\d"mo)\sp}4)E??3txrsnJ/w}5Xx" fz*PyCuE&6^Vy Y,!E<<;pr41Y~/Խ0|^٤[G;(Dᅖ i14HSA7D*LabYwV7BzH: f`)Vγ5H:XN"sNs5}FJMqd}*X'=RP -lF`8 AB8 u(Y26Gwx"Л0"Xqxc^2]AOett숆k׎;4],pޙ,a 7[HFY4\k30 r&"y %tw0[)lnf`a+"QT"Us38HX%C'|;%Ui{&h8;j76 !pPdf0_T˴t3?iݸOzc { fd<<,3$.-.N.6cM"%O*Pi ,O M[:&5ICK NKtT#vmn{ 1s h .[S-j[O4 Ak4XZm`Z:Kqh[c[ELk'C<EolDa?hKh9Lkh`(-]%ֆ;r v6v3|U9п³")WFTL7BYC7!(.D@OQW-d^@r}rPT4sL9]aB˖'-o|Q"tM+#!v'ޭ eޡ+#sgPu@Lb ;6:$%82*M C9RdMc*I 6­%B OCćc Sl/h07K)?tEg0M+m'A3h[ZpE9n-NL$U\tmSFrGi΋ɪqQME۟u )pHRĽb_D &e ɔ[)~RɩQ5HbXQ#ڵgfČ |i!sjL]͉%QiB ޡ=HZn'J)!s֧^Tb٢=IZx&ƞ$itwC+_5{ԁLaEzEkN_֎S" NcOIBheZ"zZse0um[p۴R!Ӳ&#e8Yl=pZωuV[^8rQKYŠ>k暍\!6ekl7z?>Rw>T#$b@+)IEV./Hת7}`Ϡ4j,ls^ TЙ„Mo-R:. Kԁah .%F>\ шi4saP*pՙ~Pads:H:sITS7'4OKN E~I= bP꾭bq0`"W|.YQ2bc&6ʔqGybi,qyuLud Gvr"@ݽ4@r< Sj:.4`jδ]La'@ڪFxTjYZgLosGJIOzz`zǽN_U\@Bya?렾[J7b|Xri X%OIEoxPK:.?PôiAD+o@UMlþ|8RBةsQPVbIv@=P‡ lmoQ&t#?I~Y}M5 Glr k,*cucҹTE3wB[[]>GY$c\&?$"тީWg)qdmJ&5;3+A$AC%:|1AՓ(=\ɘnm˼ Aܒ.1&5SswsO>aZT0x4Ŝ4w~o+\93;gj^EƤ1)ZiN8c_{D6x)6qrl7Ki74|"CZ Z7I:ۼCSL,]S.өF7ke hVPi - ~;Ooybp/ =SRM4^f脟-.1 M݂ٵZ;s8LZ3 %٫LRjVUGi." *3e7%|pbQ3׆\i拟4}4,Ѩ.,wScm\ jeK %EqBZc&kP*!j/Hs&٤sA7^`vA"+ުswREO`|&$% ~#ȶڗs;jdwpjQ%2'Apf#"Y{J P x%S)͌Lb}dqtY:~}u?6*jC\A`ύOoaV' ՛4J8TCHiPopI©w8{P8' c(A M5 L$Mα'W=j}00u z^ِC|v4ψjLQ̌~N#__T &dOs]#m9e1KsqV))(omb8Ms%;>"uUfd "W#mX+!4bN\`33 3{Rl<| ѕ+(;MpLz Až7k=nGk8Sdy/D+eI(*{@Η3ƭԽ9Zڂz(/1ix4#5gX}#NLo*BOpCNRo09m30Bۃ5ցMrTl0n~&vP)4 Uf'U73Ύ[+c+  Ossj᫖G$Q?hBx' =A'tt#(?%eC|_ei0Kvp <@_2nЬ#I+Ngzҹc딴܎]-@ gM¦JyM/]DdT'g+NO鉖VJw %B%e܍wYPm;$F:l,$2ro*XpGÕLtvRw7;N͸>(aSw%|τ I?ݶ=_NF-I3dgU[?6~܏h \5+l"#xm掌Ekv\Bpތ ȨH4am-Q֥^瀝گ>-;|RNk͚w= LeOXoNΣ/3nX: Bm!ސ=ێJ6?yїgAǾKž)iq&ܓ}%-UgiXFV8ApB]E5QMT r΀Q ~Q6x%VI xh09K0{a:[RI]" szrBD ֚N,\_HX6#Z1!2XscdT(Gl^֫KKNӹݹNy\gI8\dn|U FAuQZ\-뒴dNtqyy2Ձ@Aѱ5yOGSҽÔE( [3%MeWO"`$4DO41}jAc5k~ew X\Lӗ|ĕ )ܾXG4D_Kqkfl\uzO4yYt(g -ezQ6趬s'hUP`#Ә],e.)/[kLm0ÂywTaT\ba g+"h_IA'בtޗJQi;\# bQouէ~~ca0:+pwqz/-_`tЂڛ,#|&S@6+{Dʲt$cnw?&0TKb&B&cAlRgsI7JA0.'k|)ML5$@Vz` K):θ9%)] F[(t[t<{$*'OPt6`X  XЍO"sPcdQ{6@db6B5^~Yl?\:8g2q%ծ5gS7tR WOh~$&\+rIXI%oy4]:+A20C&׋vzhIW8z+.{co.L/o߿z\ׯ\|/w"|S^?lKG~أL0 ӿo息ϰԏџo}:|_ T'z.ͤ.Jyω__%K@~~ "M;oY_6Pxkӭ&#TEH?F/M S% _P],wW#Wo:L[}&ؔ ,½+`X)rm;?+CVaAZOu{3^*Mㅼi]Am p.&q(#^:'"v =|L`ZY0Kd z 0QK L%-⹉6IƦﳡ%`u%n9Tc>P@%^z3O_dif ~VVӘ & 3$ {'V@V_$ h h:`'+ g4"?lHη45*0|/z5 xMf%-/U7q[xSa!5JŤ\|;o?W�|7 agZ>}Vn#EnBE9xY(9r)'F.(I6{-\Dr5:w,'jjYn.4mD,9Vω gfx^:YҗVLDiEYr^z}ɹjnQO]s0zt}fw R*DZU"80Ʒ؅qdzK{ 2yLO_ӷX؃J+j\ڍ1fw_k1yu5Ƽ?8t*7\+6v;{Z{kjko?Ԟ )6׶xeENEg P4uO=]X`|ֺ,L]SܮƮ}\lvim[Ck.=vW誎N?:E[W-շ F7mxжZHh/];ړSߜֵ7Xu݆g3B/}|ڑG_cvfSx:k65-5  K/ -fS$xmwEr+w\ҭ ֦UPca.Y'Fͭ}ʚM]߯+l`w,r]V^]},MLm}t^Gk OסxtD,[dwECq|Kknܜ6$yqŖmM5dh! H$~STO,V''`ܺ1N[ }uc87DՄ9sS8 /K[9f`o'J3B9"c=N/ɚ̮8 ."$d9KڧsOc' )͐;3)kI7"c+:f6QXSMSۭ XÀNF:JCRJۮEwuY֏8K+$+Ylq8ұH"p#HRW@Ėvmm}8j57cCӏ?wuM?3dү#3;[<.U݅ӼcqQ 'i$MxC571 k,˴O$GR!`;;;l@rG^*W Uքl-})ڴz-VaNBK1|HobRvm" 焙$-ov{_UDD_3Qle!!rl/S=Cݗ[Ќ%-@'c{ؐ5~r\.Gzp[=^[K [fM1tx` Yu&a%GaP%NX5)Y1 H?X"pt(Ìo ҧ@a҂A5m"B|4!G j!5. Lew &&n.Rcd96Ym~ᅹ祫[y](|$8MMEK> !!<Y3\~OdYvx-Pv@`MW+~Y2c;7]{hB3z5"ͼPS "dϑG PG4<%V;;Sq<؛SAoԋu#|YLg(/ηd⮲Iȍ\ew՟d➖4Ǿ5m H/kb@7(~9G{~ˈ2.3#a$EC^\×SB[C3c~İ'Wp6%5DGjŭx:O(զWW-3 |$XaE2NYsa+Te|'乴L3 s/ "}TV_3D>)Łd/I=,NBV( E; 7kYok9Ϣ8`t*lwY4kOwlf7 [Cײd &|_!FՉ~17B}H o]l0QlU@h >5,+bVuOFx '[@%P~|BC<)0iSS$e};bjj { Tx#ІAtm}+YTx=MR0$&(_L&2 7z#$Nh*ɣ+4Ƣ8F>i0n `Wa[#)!D{D OwLa?sP`}wtYQ:#`ҖCR(,#))ty(+Yœ$C¹9}I(^^^Qa4wxRLWbxd,vv\2{ݔeX0̊ĔV%yGJH&-Bقut-^l{n,G7'G/`_8r) Ɂ'2]bh@Mq'c^Uo#2밢9,jA;i q1L ` ,ԕRY+!JZ(5RNVQD)F.m/r,LY5)*'p LDѫ, pȎG.1(DbOFXwp{T ZGԽ 6 3ϢVNlOu+ XH-d-$WUU˺tD C}γ2ۚ&lIJM+(ЈkjuAJ 'ƕSh&9Ym[\* e K'p6nSN^;)}m@BoB&lWbu{TBdW4EEY gb BL\aLLl,de϶qZ .r/?\@׎=k7TKgHBqQ> 1p,>#GS fȦǯRb s陹ZǼHo)nH pEiȢjt%ڕR夔4"w&A*~X슲-IzJĜ7\-` ^A!3Xca3݋B^v1 ^__K[oDz0[~+EC=(`G f*}2WI~+wg{7cM2ʘL5gijZl@l:,l׌+J˕Os"e ;&\B&%:踐xg{#:|~ɓ9՜&ď~PCpn ZM>UwhBV<#xVӽzZs卵Qɉ4$δ [,qkɑ(!6DZd l6κ_D=Nmz# 98X `>?V7q$`^4_59 _&eV\m=Ѧ|2mW#g9(Zc!Qs'-v؀άB:P\E6SL:ok9rCNЮM۠R6[~-'#߆Y`uʶ&a}N&8%be(lQġ^PQDhJȈ> Yoз,Z?)*@݁`هCtCwOjdf5Nel-"Nk qs1"Y"4fj3pRNR ! zh=:8V]mQEȱTW6̌jDazB21Ox9vʧšz5Sgσ[jO%ŐRpJ~",tKiFk؆Fߖ|%#0KZ`=Wg76RYr Šݢ댧3Zv"z@ ~ t9 RE | m7:^};D=I h>C4R(׹vz H:FLV Q"pƏ5i6(ŞbIj+ڙ$LsJѰYHc<α_zE Ý7nyx>ԸaKs٭)Da*m:Rd:WxF4EHf~))I1a_|&3L}WҒ$7˶10WRrƢT٤ci~V1%|x}3s\[j `3碩o[9[li m}9C-k2̦_ / X _f>Q[/cl\v'}_uhQr^Jg>+ͦGr2=%h+ٵ땽[&ܮq6ن #$~?1_  6 cƊѥ`7FAQ2nWy3k G/?~G$6i<fs~gei]p*/~a{Yψ fWR1wO p7F\iV0Z@n7Uۆvw gĔF}-8UM-} nSO\[]*tZŦhҕd mSf!94bcK%}NŶ$Z2m `Ku$u:ʸ-[3>ma. P濊 !Y/y..*,5Vn|1Quw2ާ־88zƎ>I-wzO'齱}şsg^3IwP^}N&Uӓ^r`쀝N tG <6hqJ%qD]7Z-p 'nsxfB%Pbh~eVȹTG:)|קV(dc}k>/΢Qz,c)f\%'VHsflRthAi ]HB*d$e5l_OB>灈v*){m", :#L">_YVP9wnD#M-\u|MK]9pG$_wKc,౩M YBnFx@(6l]pJ)#{`8m vi)1C*˭Ax5B$7{XU81F,)> 'j5nT ҭ)fpwu $Ͼ9Q̽愾9@w셝.ě/[{`Q_vB3g cLb8k sU(~N`p7:&᩹^Tk5GeB3-TOS+x,%>0Yd_\ H} jIyg2tˉJXLd?k|pj[72aslno?12TQ>[']qQXLH'#K]8S-FMLtޓH_` q0qT=cdM K"^h=-Fy3#.)'dxLm߰<|8ٚf`r@Ui:I+2BM}hח"F9h)@fBHemK бqahqh$-;D)ۤOk};܊l`^ːIߪYCƲ’DdhD5H:bHgwwȐ埵OHxtot< +|GVgis]$C&G۷B"Od^fM5{uIJJ:ڐCfIX Vs+ko|H'X"6۔sfc&5¿Fһ&Ux[+.?uDdU{zPa_}3;:v=, c[%EX5Qw\ElaNٖVI^|FDWg,LqL0 [u޾:?9ma7O|T{po)LJ"{=F/`h+Ъ5_=G7ht3kdf{Lj9NOz2e܆yeǻL>Xv)D l>%whf>~W,oC@mge #Q_m󒧖\JNr32K龰}DtrEH-ab= H]Etpps_pzU]wqX>x2'O-(^we-w\ד<#8 Bm+A_\n<{fj*(<5DTKO=c bs }+%b%{;;d9_[lĆ-BS&HIw5]c8EI߼[@SA~$l|#q'7cuVRݰ3;V2λRejxxXnF9rR׏'t*~^`GrtȀhl+cMRŃx"ԥm'{$oo:|fuPK FHnniC cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/iter.rstUT+VS_k0%OY7 %{|:#IwߝbY`G;,5ree ;ѫHʲ6"ie=7h=j=C 'p2%UWS# 1.,u؜_~PPeqLE0=D 0Nߴ ʲSwCňβ!DxU.L`!R?-ÿ́1gGSIICX O?K\$+`` C! UFG3r5* ,p[VP`zAĹ&eX!4ZY9f)J's꺸Q/}cW r-[r`zgcVŝl~K`%L`5lg݈)OY7- #ixN#3c7={r1ts3ޜ߽=֋lZt[E$`EPK FH<k*qhG cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/iterator.rstUT+VTM0Wqz\vծc00M36Cj)R2o{Zuj;NSC%GJoޔXy 4K,GɷFCoEN^ Ì|xie@ub9h웃QiK孴S: n{c'ѷyq<x,L=7sX]op]'g^ԩl4b SFpt!5(A@b!$.Rb8+]@9>0*HKy^7|(8`Vf'\('ȫt+gYѸ4 4x (=bPƽS5M=tIr)}+4x>m`gEZjY);bLKNVmr愯qfgg#`) .Mgrx%ktO2 }9祫9a</EdGZł'ߒ]"b!8;zj8ctA9tbk%5:Ef[jXK%IXWxExJډɺG )nm(I7Gp4.{O~:J 3gGE (򨘜v,>ʪnL±1(RSjAyґxyH['+-̢B9F]ӵkے‹=M7zR%n̰ar?X ֔zP5ԏTR <=R=%/f t{E[wI*ϩM˚hт#e1kLzY~ W2DQ?!;xZoF7N,YƠnuk*$eAlݤ#P6 rGg.^sB~ oqlm* /TDkJ>IݝKɉ푷][2&382cɔO #A1ClĭOَ jD˝"?JV̝{J'-xߙo[իx=/Fn@0!g &^LEepICJw_RXe\ڕڐfkwS.|5u]I3# "(43B'zhJ᝚žtXF}Bv7BΕ+s7l^^}~"yLme'~w] p { rRU[qm1C}{Z i SP1 ID)![vǎsCd %Dye@9X36(˔Α"$Ss@6”GhҖ< cEKJ!h&u8%$sdCQꞚdT*ƑG)4A IrŤAKSésqW-ty(:AGKKJ7oj< 2O~2r~dBTs^+ȀtF5Y#wwwppv?|t`#j~ת=a0Pnx 3n~=뽾eϠRQb=%V(W{Y2PLUX1ap ʝ]3VzKaq2Uӄ*GfPQCtpɁ^NHCh!:չ=Ps& eǶ;-Jh׌>D*,ߪb%pf2N*.вW~{o2 [Bʇt- u(PSVpԳ5<o&p2VbJ8rb/)wzv:xeܳy'|x^6@>]/ UzeV#[Bw͜ oy̛O?hdžcC~??+IO| Pwg@ :gv}\wWuV`s10h2|qѰl#iZQ~9욝SV9J{Ac~?'o_~PG B¤7"{B(Q#B̼=r5C_n]f[vh}6U^>iNm3+R@>E?4ۢf8XWZ:CI5ݛgwgD_Q-#CPe8+ G@*R @@*dhlڌPK FHIȿW@ F cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/mapping.rstUT+VՖMo@9&ARNUTYtw3 8`nJE ;3Eۼ+! (F xߞh]{G-yVIȉTMgzcrwh0q * 1 \GJk. ^g TJ&DJM.-sQlEcVIh"EV0%-S1iu凈R)ںjتڬр)kz!Bx k{ V3!0+mgk>T;-'t$W}>ZG/ EfI9qvgNz.ͰHH衈:M|d!X'(M^ _(l1aas]LtOݱ-yw+xe';aDOS"Oa<-O8&h{8&X@!* *]Cia[{s8uj|(*<6Ϣ);d {/t0Ӫ(F# gBke.(YA[wu+?Eq3^0%}6uTaF^:%"dWsThLi9"BT'IL5>Fs*HbB|92iH4EQf^ C ~ lh"Vd8((-} `Akyم4XS(#܊8`Wӣ$8^Mjxo[|E*Y!G|Ƕ)Hߑ23agKAQ8 ΍"t !š3[>gC 9R 4P-NBOiTﯮyvDDLRwIa=^^+:܇F\u1:Ѫ.W[3k7uOc:SRdnY ƼwJ72”.RK5Yhn}xGrr*\[Gc eܥşIjkUu\Ż\ $‹uOX?#|%C |t&ez'۲'b%nֲrO%݊=pcQ(wwwt&&0jΡd;":ţB- ì$;W$WXy;Tf,=mmxA1kBJTK895`4TLFr/MɡoS,&#peugMj@cp7Dܗ[j;zҢml 8;醝zۧ-l\&<ɻ~~-fa86|l0!#BbmM^0>=7&k;YyR3gк0l2ܫ_`iOgg[8Gz}2Z=KV?;ie1Nv}o=NGO t7g jDh)ۣ0Qt ąEVr-߼//'ipSj/,M.C8i`˽g;w.CC=M1irʧ<3Y4U?PK FHN6gDE cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/memory.rstUT+V\[~_Kfx8(n%v%U" á?>9MHNaqp0&u.|.$If3PEe$ x!KV*wUiR62 C.3]hU?U7}ߺ4Z[eg+Pu̍V;0|Y9o7U~bk􍬕(iUR\ Z2iҺ1`JۨJmdYg.keJߋ*1<]~d&b#mJ3mU7+vnDd.vވitXKYWK%I?(a7Q0ؚd)ɼJHe{$Y)[\ݨ|  \`1@(nf X&!j=0Q9^&2YnXxJc(Qm&hVL*E]mcO 4M1At, ;.F2m1{ZVN5f&$^]1)LƩKI=/IߪxF*4͔"5PY!J;vSئLЎ1Kϴ`C/U*$e۷t%FцEsTLUq_7*Wk(&Jvs(SlpK,Qòj̆Iwe!nej A1=ކ j.R(O _0쾈3_ڪ|%zn|QVLOᗧ YmuK (^?p/^K(D*ϗ.u~wƣ2udEa-BK y%cH z~CX5%9 p"҆t>2a<BXxs M✝w#|?\$yW yS,V4[(m O#m$TM'ͷi"0$|uKH4Y97_8$>I/ӂP ّ^%MR5HQ;JBӝ!˳B8E6Pe(&}};DkzSxjU־C!CzBoĻRyLފ)^({nDGvd#5Hl+KK>e*Ov:\M$EV-|?+1yȄg<[/1kyr윧fO+ (?[ 3SoЬ?"˿[Ö3DwH@zL,AI';T%|&gcWBVtc$H`bXnx4, \[AC?(8%rIi| ͠ڙ/^}.Qk]j}9KH!RʊcebrRD''RDR! &ʹZb6&Y|Ti&o(noBfXƨc6. 1]Ԫj T$eț@kBEڠw+l:׬Tsd]kiRd6vغ H P7~R˪v]&9k)(ڥDBs'#iDT9 о_-^V7q!AXX{gQ8bJNtPrRE1_:=]Ў"4X'04PjZI* ׼Σd.3J٣Bash* koO@,*I!R.2|.m<$h6a0 7?(Ϲ^x7bRN#P!ྀʜI$w ;Yx ON),&T'T;Y HH7cUKK]O,HXV/)*7zEc̬D5%Ff \8`GyRbSP#lYE%wr$b*'/V&B~dHJHGcҵFŜ1zFqFP%36CL Zަ'RwMًO@< o685dMc덢϶[]q2L Ny\' .<%8\/"vs 2%VQ7ٸYoz('/˞AIs6F- vL>ߗv ΢.Ti#)hU{ɒB".)^z0=1(:\D0XPW`;PSeѲĻs@zrvS'{EpiӉ]cbbvr~+ \\cM嘻S4`f6gaI4%ebՋo=&Mqz F9)$yϓHz+:BqmO d`4c; =dt5Ş. 1>a8` ~ `ώDׂT!}SmrxmOOc}~ ʅ*릐)rn4 oTipkmMYv[GT.NjwF-RBXL1NʨkrۆrIcT%Eb/|(2-7^#f-gNFupzN+yφ*c*cH5OU4G 7&yuTtPml0`w[iR&B;cM=, 6261H "f VJPihzs]ø)lQem ]XVpOT> _].WGxjqHՏcD^ӫD"D- a~=ycTi(һu.d8klj4:axTQ(U+%u?<xFOj|hXC< E(y [DҔۚ]i*͚yxy}:RoW*u5/( cѕiһp]7貿:mwiThN+Ril `ٴ jEܒX*lL#Ap{{Z,Xt۰vPm?PA(-M߷ʚ i,i!{Vր%$n_dH&t)-I{<~;=&Fg}t[{/~ubů)_;;puv?X]cY\O㒩S|5йCpjX#UU\OƃI|q}zP]һQ7 PK FHD, I cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/memoryview.rstUT+VUn8+TpCoEԵmmGFHʮ;Cʑ&[$yePm7Bodd[lv fwyXPğy@|ô5I ߿q%Orb:\'vơ_#,6[bWZd}F5HPaMKh&B`hݎ$ykѤ5"s WByH #5=VAuZx٩r$N7cU@O]gwʋMڽjR-ydWAyhB kER9iuS{chW^ZXH9m^;õ7g5jֽo}UQ6?bIӀkY2o&/nc /{۲B9uQQXwٻWI!EVZLӋdVtb[c^bDJp5?X<:M$Z%nB0ګmozw:8DZ"?tcw/ =xm^ 5+G{3l1V32%!-RdFcSkw:qU[E3a8N.$ (P'8`q3ƂgQ|gwHV(=Eu3I m(8GOG#fQ ԰1eMw !N"*`1&!^)M mu, KQͩ|b4vPzꚄ ?px'UV%~j lx xNrU? r(Ԯ~gBBųn޻Ç0Dx-IR[TY(~PWE%DU 5aSXx˶ʌj-"KUcvjj7o7uޜi!Mh>jkr]S?6zk*My.Mnڢ`EmdOWɎ7޴]S*pyksn 6\G_ªkUU=>ux[NtT nI`ZWz ~b,rKݶM,‹':uQ^Hr'xesӌ?_BWݐ.E궝ʚ6Q=zs` ~[pQW9v- JR+Tݪb+͖,6Z87Q#5жo'Kl' EN`*j3bCk*T%: h#~Н?&G˒F( Dk)nuURzĠe=َۇ(i|V]Q3 cfv[OC>Ϻ0(N-`bү)j :, Rd`Eҁ;_~)#[&?Md|,#Jܛ`4db>RKӯv=+BCƞ"3Ђ.,2{ѷبРv5 C'Ve=[]uT@ƭ;1L-0 ! 2Mko Y."iGPX7V7EqwLm \UcbZf]Tnr~ѯv|);) ksvbPKspa Q|G` d'"[>R$9'@> di36$e$p^0ܡ~đXm$y1E"[1e`;"[ZG\WBh}MNH?0zՈ,xtYg_A! B%qEkMva]~fuLa*nS\ZPcb2 :2 57 ZDH$xtF77r_{{[B.W_"zSF1u~]f3hC:";-a< ▂OϽi{uIH/!gY9 |)E{[Z%K7OSR,#VF=A@iW ZB\,l;Ht鴗Ahz,FeT+'p\΁Yfwd4lhw# ΓFXN$ U6B m|TǹR΍ NaM`mc‘9]"S) ISqq^ @ӒOIS)o௭ѕS?lCW@@ZC$% E˘YeAHφ\ d{ݙXC8 V6u\'Vȡ2+V}S$(ʖŜ^hݾ[}7c1OeM.zGx0$p" kV !ٞB6Tz䑿[IRP"yGȾBONهnqWhp3ވ"v UL-*= _O?pVXspNhk  <.߾?6kE^|@sqULZd>cFO_E:y7hح3x} $WtP^E XiZAcj8J}< =E';){ U)lVL\m.M%9_è Ty\Z2$'й އ,._EEM,8G|%;dSz/\qYCq룃_-pYc.ڸ sQc]dIyv5] Us̥bvO3'I0ppx~!FM0:MI}Q:OnJ .US2vʘvei@ݕvo&3 68ɺY yA煅 YTvo]u@ӳ \"1 vƁmxL+WZtˮ;;&X۷`HltgVP-d5vdZSpg- GݬI2*9a`"Wymn($2SCKu$XHrRpzT২^sO:b`2pR*Sqra> .zZ"^]-9kU^<yb uqacu-ic'u3De\f_WfsV?suDgw l3:~v n,A,%>`ip'yH=$Q&) 0 5/28yr l4}VxJ'jxҒie>WN]aĊM  t]"ìul,C@VFFt.u, nvx)#Jj2 uA)yBKT<w[D-R{HH:dzmvEI1A{2x`qGY_Oa{OGZ$ɑfFNiL#Hn(A] Y; S4 Wf\>&B36Ҙ,b@ 5DZx!`۲pı`[<zLUծ#_SߕaSɠfSuS8r7eYRjOTRG)<@{W`cj6ySͩ-(۬C^A]Cqx^##>%O7% ­0SŶ>T8VAb|xO\Xp>Wmf(8/ב7a|FN%5IT(z;|1}]g42pu?"#Fdo@ƫ%iksM:/Q ϕۧA'E±_ }}"MW #;x>O.Ѯ:k!nPFU\y' ]Dx%pYrܼY~Ƭ ~?I7DCyvp8DudTtW{+q]2™))SZڡ`.D =غ>7 LHQ92JvI_"ZçAm5p 6`T{\g_7O>TuS~B:y %ع. ouFg=F_jcg,?{4=, iݶ:pBv9&/o.R݀S!#IΏ!5w;;.rv0픇&:;.K0g:\7 },aME24py9s}O0Px|dLczΰPK FH-:C cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/none.rstUT+VUN0 y / J,F,ؔ uRwuF *'iX c8<9:Vxc"a|@ϕ1 x.3߫(-7cy TU׬yo:bSAA@IM+9f쥾0c=o,k rieT:l`z$͢ M=<` CAY 7"eʮ$2!Ri ]dMIW.I2ͺv@{fƆArqO7-hU$PC+|3J>[@}. KKf Qh|:u Xl qOi_o/u[?׏L訟4^w4]Kq.}%z$oy yeβ]6&KvPK FH,G=)E cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/number.rstUT+VZmo6_Ah40xilkij4C-JmT~UR2$^=ƻ:6Q 6ɰea~]VV*nӢaw%* 27uD7)B5da(Dd:+-GQ6+ݽ;bԀ(x! Li]vy1`ieiYD)2yc%ۛw)`cW_uXCɧ;T<6jLBH2:2 a鵕UW Z=) ʐ'HmaV BD}5ҿJNC dD#L++*"yD}kb*jFg$ĂBޝ;r#B3`:+#-jhMGdq0_P@<Ȅk"b Rq]fUĤEj0dP@Zɠy#iDdى,'| d$ȊS"uUD*H~Bg1'uB Xm΀"A&!r$]DS;M4Cw}7dhCd&5ydR5&X ~߀k1e?s|z(-6݈[{JN'aiCq⍋"@q8b.38C>c1Vz8W<+jX4.fpEy1>s z @8@k] #U ThHE<0O&G8x};r&KS!~P6pn }t:h Q$S@,H樉d,ٹ`FV-Aښ,R߲1mYN Ä5i]˗M,>7jl,T>Σ&>MdvxN$ԗ!]c%[K>S̊Pvoi=~(}=6zs^[VHggM|qi߭|n"6 c%K 5!Z\CEZL( +>CL;L!lT7pvhzsyJ4fץp81v8B7TZic)LѹʀI8`¾dXaC{ĸf.XLA`fߑyW])WnT+m ;K}w3<+EW 4 ӎ;K*멝\sࢤ0ϊۄR5%No/}unݣ-%}Hlɬf`u8UjGׁGX;E`%{aH>:V\rm>Ȭ; IS0g@q21l9e'7V`Pb0`82n9x 0{ 4wA0U? ֕E]t{ c'6LS'7{⏷+W2 V4H&[iׯ=z4߷؍Xm#<ևd\>Ts"IC!6׭NfeI=mn[se+ǛǣɸW?HTMzڵPoP/T̚R Q3lvwaAzS2 gkvDCWm-͋4Wr i4]e~T?QRj#ơa ,-҉ FyhcR#^P/]kYQ2ΪCqt?ٍ"LZNau|仼b+Q!Q~%RD&"[t8#v&04M\h~ƽeweDtũ D$]fE`]μkFv{odzeY2(]G4.QM𺃿Ů, g|vu ICu)؍:RHoM?-pbΞwf`NM~ROȔ -^- ˯7vU_ƛ_&OY'):L N:w&(~7\|޲(%mMVKTP7{0Gj#^~rpOKwDܛjnPK FH28}CE cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/object.rstUT+Vے۶}}Z#k/̬כdg]7uGHh"<{. Jm&4q,pH<.x,ҳHL?*u㳳7A3Ϟwtl~41zQj 3!\$>Hauq+gʄ3}!s YSJ:m -*!fJ*[Jf1m,2 9ywu뷯^_]$$T8-_,\J*E1NǙtrlQYeb\BK4p>'2 ]m!l+5S*RDLtBbvRpF b`WWb0+r{S? {P3 dÆHwt=~ L5ba0!F62TTUNWJ< hJDzVO"+l]Bav8w7ww?&τȇOb8J **R2 kJUr?H{\pE³I!9rA,kv*'lXUU*|DTI AzvşR"'NA^TxPr"LT˃[@r$ҹʝVKϳ|)mv85mӀCܼj@-u^Wu7[vgF RI:qWdL*И%~}Ď{jË.b$TvhbFC Е 8Pk'rc>Z Rdʦ.|1!tn&\ZlxvRyvd!8M&xdspm#@ S\ f shd0BGȃDG`B5KUQ 4c5W1!`_!OI'QIXGz%kl%^zm8-dX]&@%"e2ay7gQ]uclG:p*dŒL \A; d H ܬّWS>w ΫT:֢\B|jsH`GJQ$X2'ed'KI^QkCi c?h͎N{NvuNLJpG*09b S HK!=7bmؓnhe#+8wu2nA"db? nV{! l6ʍ\BlPNJ ܏yVy-M%iNҦZs}[=ZCNA K6lV(Uِ7 9Ņn@>PK@W=|#rL 'Y9T(w z^}"fS~FYԓp8l6<:.u=O']m1DYdTYBj* }tq48s 5ijT f1Ś6j(? ̨Խ E?gP1L|(Ϫ2Ri2`jxmo)5Z"dP&-6Tk(W6BXg7⍺ ={f%"zw8> 6 JK VvK3ns~l0L:D6 lAVL1 $WҺ6w$ܖ0{7LJ1^(7'F!:dAKpbaoo J-ގp9;w*7O-4dbi8=C,a+2$O9'XzqnS``̸1Y%?TgFYp8$Ot:PJVp*?pwN>3`)w}8D~d2(#tޭm "8{x^{#D2GZٺ 4;%"ƦXKA 7Y <4։yNM.Q9F̺3x귏#h;5p0J=l|hNB{ɹA7Ŧ"x*wsRO%p޿#J]=ĺfX . F-vu{q$+zdѽaF'IXJʢ{]$ew/7DІ.n˸0y\O'%< u] )Ln[,5] ƺݲ~eޕ\Z8wT5Ο!~1h@I Rݗ!U:n^nZ۠[SN_VW:: inh/G>_7,/Jyb.=;ݯF4 RV`]žv>|T@s5ylg䩇Hwf3cԾ{Y`t>zH >}L>S6&P'ݹq\〈>o/;op#px7#0ŸIUˎJz*yn6WV<<+ˤA7uَ5d+J[Fԇ&5FJ5)8+*0w)Rfu^oۍ "_T:xU玜@tI6 UjʹwDzJ7< )kq/ ^sqIGߓ 0zjq^A?vc! }hHĭ歆}S,oא,e䷊md_SZ?FIJ=wD{A}8`tN=,[otB y[l 4@G!$09 e* <*9_&%mCl0hDcG跠@ i[ME?_%q!؄ГlusGD%*F?}nq6!̭+-$[?Abh Yhf;ar|ь77+vd{ dk6S3 iWG:iRLHD-ϕ-|o S(Ԥqc_EXk|®UL D40aE=T2}^3E6F}RiZ5))Xдvqs RɛNNSǿ *BSkeZqΏ[;϶e)_܀ nۙT|)PK FH"Ư0F cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/objimpl.rstUT+V1n1 {bkRĽ!% >:9i,%fGL[c-ٖ ?UYN1.{ͼXT쟬ƤqJ-YaB+=cdEW^,#Hdv2~B֘Q@ȹMPZ'm#<PK FH TW] J cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/refcounting.rstUT+VVMo6Wml`ͦĖ#%'v ,P4HySԚ͆tQeI[>\MQ\^3Ͳפ-SwLO5h\O3+^5B8r5}bPfzS}Bg*><=6dinz> EaU|Ѝ!R"VO=>>9>"Q|d7(ˮ!m2Nwy'W֒ [[*pKyV񗸮E#_Xg;Ph&YޭPf)P+kVj@MTnLA  ,P:V;MOsJwlnlزtin:fVlUzխDXEVÈ/T=~a=WB5՞E\kJͰboqn,7jo9R+1Ri)yw݂z FurÄD 󲙫F̨K&JS*$,H"-+ 'D;*B'/H8C%ׂuX "(! 5Єyoñ:ߍ,OQ lܕbe$5 /1y 'tD}ff39RSjr`@4K 1Gy.z9l0ĽJi*n&3l(u(Gi/nww+~}̋ļ _V4HS¯@fD =B9y{ [`DVʉJ !2nԡ9/(;'OK:*=ef˥AmX\z.UbIGhiBr:V}mxIth+cbE+AR}E27bxx,!C,/n "^Ia>+ . %s@kQSGSrP:`qڰ{J4.}*߳}Vhw'疦)"yf8;,f;$¶٣5va:Ĭ7$*C'YaU,֤d՟6ڶ2/(6,+-GD+ w momOacyyRيMph9řK T: $K $Gwk-L-ﭨqz$p8D`F,$6&~l;#5I+sMhP;σ:&B3->$,r8mj*~tWΔZC='.&*98/^cت UW-CeFD, k 0:?z>jHwO) 5P%pUM \2q߅z`?mn 5Nw)yx:| GA'X~ 0\k%{vlGrŪAwUUL-Ɯ>úw#%ެGP(|GrGZ6qX"8Il׏3^zqht1/`|=KLF-йQ%vAw0)w8*@7ˆ %F2I] MoD^µz*'YCvG.CY<$hS~Vڷy~ lJ(gEkX]6lϸtq:KC|Ba# t%cbuTIxcJC2cSbO-g8bfg 8U$vG_PK FHMB cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/set.rstUT+VXo7 ~_$p}3aY4hR`؋OѱI$wg)|:ȏɛLR, E#t*h4Ya:]AUw\:.r'bqDնt$H(-v}K2QB Vh%/y1UF0-P!$,ld|v-MW0:uQ"b T;T B:X5hߏ觜襊t.:8V#S5%]r9{+蚲v_jU+WL1AaXg0k m@{g|q(ϽKۺc.sfǶ+W ˿;?^U ˯՘mw i5`\1iF_ԇ[>޹nA@ _щ3%{)J%{>Y$FbкOV$T[*q/oG +P!^)G8jLc2 Bt^!r!y+ I<0Nz-tbn%TίYQ+e[IrJՍpK[h0eHOkk–6$P9t -LBZ%mS*jxDQҸАҩK4B̄7G Z1_JZ ISCH g k[WB،ZQ,J QZl!<1 zXtq#1[S:]S|A~STj J*w1e r}c"B:9G6E!Gg1x5OdAhun b 8 \>JI @.'hі7e&}|;L2d'`>~?f8xlQϰ ¿#NPHLovШA1|~kd%0񰟳ʹd!+f*k&  Swi&&>r~~ČMV ;;T5i]2.D6Nb0f9Vkrl:ტP?pXt=!h@t p$ƇFco'&̓OL6ٶv%ii\LwԤHHu3tlT&pTgYSDQE(9ų0B:l tUyO[6yW=nHdQA6(80p(.קjv!$h$QK׎'*~{z=:t>R)UnQy!=]%'J~Ju,ڕ[Xrնܔ xz#Y~uRKtAV8_N,gu Q9NqsY!TQ&|]⸙wjN`WNNMrʡlL$0Z^RHjy\8 "yaR j"#?â… ,__`"8ڣ!$daC/ 6S:cSfvl(BpBfBqwf+'NQmXCd Rx5KkDZsv` iC[(;q(IؤL'5QvͬJQ>bD$fy~]fU2]F:{LLzHv%I c8#c@iۉ%7/ơ%򬅉uXKI><őV}OFSLwfN]$3c]'t;21/PK FHE cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/stable.rstUT+VU]o6|X).|҇E $m]&׻{)ieH;KI{AsG!3TUlwj]Q1&][^)} axG7pK:7QAFkkKJ;_nMc!XK`iG(ز\1MQ)~~>EC_ݶmޒFڍɰ`bB;yӖ-;f9a3!EGL䟱k9D|HZJũrfO$DimgosLr39J=PmBRry zX\ÓBtH>- ZxqAm;k X4J޷Jc"6Ve&o)z|hx(>Fq|@9(֕&:nD3]u`ʑ[pv4s$k>.kָѹLCCAK¯zFg%ΏCx({掯wKIM-v:"%zk_jlm)M4x_ .鍰ŋ܄*Nbl߯n}DfS5E7Ry7%ml0ږG~Gd[)'ݏ"oM2ˉ>TAƲ[` YGX4Џǔ ̡mFnUůp|z5u>2](7 ̘BVg_Mfr$\GwyTkNh@apG>aJ12,`3׺.iO= itBOo,/KT쁧̋ <|Y6c|V>kbK nDOG'i._z:z.: /Z1:@xн! l ȘU%1]{! gkA|{ImQΟ6AQ,ǜ|@A4[S"n36P˃q!/6Ioc"RzЂg9}/uF):ۃu ()|DDuV!!uO 5`EEdϱdu*+ i:ܵUX6x=Az p.SGuc£vEkNU\5cTX~~y7PW ya8-9θ%(ܶ3k4. l1 U._0}m#@F4&fVF-pMh#(iwx\ ]Oa7Z験 Ӧ[= -|CTuDFj*S]z7Daa\>`R ޟBliE=nV%} MLn2 ښ^晩s* fbxwjTvfL!Vۦڤ\iq>HcB$lOaK>uAp ĬtHɊ;O|nOOo\ϖca9:C!x4Q7 饳;,t%VU5v,K^K2/ҰRÍVx ʉmu`"D1.l !kDBL/'70ܫO0E٘嵑wvr62{:`TvMGfN ^)G)l咎^X|`GSb Y=8,&I ɣb~ RJj? P9꼆TM}mDe}.YY(.ohoWc=OPfGw lp0Y90 &tL}h6ZnV 23) Kw]; CkIB$7P%*_M:x-|79 %ۗH#lxEb ٨P|tJ:Kl~H~{r%'#0Fk\D+pψ(Ǥi}_o6 >>5_t 1 z  6|=%;rT>y y@޽k]xl/iW"^Cu `. ^,+'CL0yD H͐4= "8hB=V"n5PHs@<42ѝpT?M2- [BP+O4}k!hU]\ƣCCYqf3X bTG~tKX/7 ;iY"P__ί~i^K|,XC ^o_\@7`EC_k64} 0O_~嶅мmg4/xuZ,m~9Li&m?rGjJ'E>|aO#xJ.a&욕.S*|e E6βapl{yHU1omDSba?Xh+0e|iB٫ott(lr~u!|On]/3JkoR2u!k x"~ hm|PK FHKtV' "B cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/sys.rstUT+VYmoF_*:7rXwAƨWJ -_,)MӢEe;;33Z:!j:Ud殞^\+)`s/y NMJȴeP,{S)dţ޼Se5V+ҵԅ^\(~2 1jP7P٥ kLL;EHHmlX+6R&q1HVR?m,2յQKY\Ϳ6kUZH7XVaLZ 荨Bj땚L=M`%1Vg ygEc3Hoߎxa@H+r-p^a7uler<w%69q ^ŏj*-i@ 3M˔Vwݏb|vM!qsb6݊h6nlS!\X&@8Fd&ENg p!JH KbXݮM!қ#NwM oմPՕN%3.aXw̷J?jÔl?|snҖa6ޛ2[tn/K@^TI?zg!n p V[״!PG`.(W%5ܔ;3gkͣ'V&HjS~ԶҒf<ܔaT0_$:w+:^tR5  z5@J(c&ȼrГ,'EfMq&bO'1:`CNՉꉾzkyibx 'rC|v~;LyʖxxGO99i4)=C);]8$X|D;Man#i (@^%uP_|Ѷeȡm(j0*&K5Jp< Ʊ]6$=Je}q$ 2"f1ͽ88mM7'z$^#S-y0P?ʨ| 8=cę'[I1:aA5iyBkH߇{=nXYm8j1beFh SF-aNݤ2' rR|T >h_cln% y'N>-*o&v z+ u1̎`y]|:wTk=B0c8kBh0B(QLG镸I1vIm*p1\3%S #[=z$SDr-ƃ&>!dHm5n2t*JCʾ .C,&VQ2%Uu)V`P8( k\.j)|Jk.]WWWW8_Gdw˱ao6mrUat[%JV͋/Qf{BQo~7b㷴٨ض2C<҇NB?٢):ĸaaF-fw:w7tNJ M3//2De剐H o2`C 2dx0iV>h"Iws5M.Kmc8G< ;}E֡K1Ϊ;M!Xq"C}t;"tYNO{X|]!n<&#ܿݼ\!VPK FH*_D cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/tuple.rstUT+VYKo#7Wst4$'9lHJ21jkָ [ĵŧCXU0+vV8c$ <C g9Gvrxq_P_;&=ʓۤ*ܢAVMK/ͥ>*|]Ueפ7F0j{x0c=#ybT%8ËtK5k,g20rXGNݜkAYx{I M%4X@*\.ql[x,-#U#:b&jK G 9ESTuS-tҡI!9a~ EbT kE5a* sjL)iFڋX &c{ěZȆ9N!(h2rFEr`6 oqTTa>}z?&@Y%0I; s}NnHh{4 нY2S5Rᗸuf3 `u.͇v\| 䓰'].E1 ţw:f wH'.ݦ-.Ͷ/q{Sf`9/.PK FH |{C cpython-a0fcaca4e1c29078f578fb96971398c70cf38900/Doc/c-api/type.rstUT+VWMs6W֔pڦ'亱'N{$AP(]mKq:Gcow߮\fv׫PE"m ~XNo/g,lZ(tvoԊfG*Bqjq.|p 6"Q2)FkWTZTKӳrOcQsw1^Cd2 0arT'_tnvN?ث`lL&w[>:Q 3y#>.Qucm5|Ҟq#DH_n j깚|o:a!~WyYUcU|çH{JݟykJ%QŚdɓz2Y(lN *섔"j'<8 *{qnn1Oک\ j߰9̦JYx{T>縿yTGd9fU&۾l"f#ؙzx*ťضF ܏Z"WS^KSԆ^a*q db 1`QJٴH mkǮƑc>ǰSg]gՑf&| ]`76>"Ήmۡz5I2R Y&#h }̎~(F] n'tVkIޢD'>!u^PB42 :Ħ"{:;2tN!^oO/JO;@CL!;w#'01/G-Iʿ0}a<+|y4HoBZm!'נbhri.ÓcR}NNa*˟ʒ\#%M 7{3^ҜbҖ=ԟuuRLvSt-2Dqb=找Z- sާ}'Jr8Vhxټ ;=8S ;,2](YϴPJCSQ28M ʸEpPodBtdFcE xoOj?N,LK3(ãAF5dW`y¢hz)}l[q_Ě5rےg2/ţC At0/A[@z_W=arYV'㽽0W sdj9 |L>jw+Sg IiRߛd^:狲Nxee>p")iĮlmIn=4|dbyofIa\1 q<> kK\$x">+&33I6/X`x<G>{0Ė{=`Urx7E/*5)ly ,gf NlP0 Z`WU2˪;.V3ɪ L*ٲ؛?᳇MSeE?dl==dQҶ7 }`cYblRq֗ zH?Ms3A]|怢6`k354Vk ae>Nܰ^ 紏\ @`+cG>$ . r8NNg<dadZ. DY(g @ l\I xzv~u1σ5hy!G >cip~&Mq@W2QcB $"~c{0π76T?!T3a#pW>1qH;or9xt3[9 ӃgG%Cd "q 0ipLYKhywLy5$2 Y  ^%LԂEZw(zFK1,?rS?Dx mY(2B2Φ2U.:5=#@?b;o(B̞2Ai4ُ퀀ŒaDV6Ao"i p.%(WIS@U2 X#6D8ѲADFq@'+HSWCi Sƀ6GQ6c{%0Ά `Fr>!28Z>\p"t~CJv$,fwƱ-Z|ɐB8؎΂Bit~4xӛTX>218}W0/:* v .$ 7W޼n.NoL rnDtT@ o2`8^c x̊[e^w`(ȝ%`#v# Be8=4gg5h_$~5$1~lJB:>FC3(ˋRj uW}Ñ7 ޅpYb#0DCݞlT>jX^KtjMB۟|if-s<(#|L}Cu])!YV+f`+Yh jT0:槼cnX,y}3~6)HKFP8v~* T.q!ڍ :⨦E;PT 5(PYWRnVlJ_tv~L3P/Z]K:7ݼP+!oVS2c*{,f>͂<lptXCnC۞EZ}  $[4Fv_<],ʹvlp`ͭqeMJ,1jm בWd"D5aepv4n 4mI͔"-#&`MPL HAH;NJ!~OfPdΦ[ӈ2UJeUċW%Te{}nylɝ6eU91[!qdE$lup6PN˅2j d 8+c'gnjh,@F=C#h5V9[I.%>6t7 KXݼ3`\ͦ$tџϰ5`Glm\ UܝecrNq wd=$sd!&A!ʿ%&H+@HfJtLtk@S2Л੪\iJVkl=CQ1y_?2DTd `(G%]m! Y/X+lϜ$l$+Ho~mA{ [bĐ.#H|ǹ}碡2N[… L/-;DdidX}\DZ04 >1,9ܦL!({bs.ۖ{CDRZkv㑩Oak?.R`oED ۥqm2*'1Fwb52D^Zy~4$v~8 _:\ĀA7:. e )J0!5nHw P\_Ng)헽SOw띺ZU1~+'}[[j2b5-bUx0~Llba&Qir4{2٠|KÍ($-*Wrf5T43@kwA25:, 5#"`ofO[/Sb2~|$Bש'U%L kfd0y+Dէ"aKDpĹ[I@O84ٛ i7[s8E>0Ycs@l^GdC1ZM- &Fuxϸab:FGƟIDIb|I>A%)Fȡ$3/._ۡ-mO|awX߿$_ _s.qUc%#8"LUyMVn~yܲky[v|F(~MOļ#)31( y’E^HVwHjb(jROT)D$,]hrQ/Ae [Ípf΃MgV IbIRv;?j{˜* :sv s ;~!ncdƭ}(u% 3e/iy"m&7g/7.Ӂt9}pޝ^_fS7?^;?ߜ_oˋ{zlai$M8+*mw;ߞ|B΅-1me2.cbP:\&YyH* 9Ṩ$4:-b@ c9iS {!,Eq.ia]tMY#zȅ* rQFbc+)Tu<-MM v+>U#(4v+xsqyl6:%ٗ¢t ,_wł~S5߭s5 h6F2oЬ :$ ȴ'3&RNZE`FUa@.Ӈ %x0hNΝX\(+ \OҀmnO~6ʫ帇]JbY$5L+4]tҏ%2zOكz+~7о"n^FD10K;:rY-fJNg.T>($iސYa?u5rg1}LS%i^D!ecX[@R*O,(442Vɣ ',e ZTJ<ûqAmPނb#'s)\ nLfk3X?ގ¹73V6a*_}|*Ojrd~GԷ礸= тѓFB \BH ߍo@Q ͙ϙԙ:ʺ{|K Eaᗌ7"Z\^ fՅ![)x' ǀĔ~t-`vXax_tpS @=[EJM’; M(Sn-C ߱8q0e.2lB1AC}+XTa<.%us@Ew"OZӳsf_# ™ FT@("Xt* d!i&ñuۆFTm: =Qʓc_p+jiO uo$AW ^΃*ǃFRB(u V z$jXCIԑGPչTo}X1֌k @}3"URdFBߦ,ԢDVP 2)E;p>AH‰\pҌ"*ez}^M|K+kScg|G /+|ə[Dy¡i/dI FYZQed'r_ޟh\v` [ &p gY 噐=MqP*MV\굙ٸ݌s c\!@sq;2;N;J GPyAQi& e@}dĬ{Du{ N_kQɾ/.jUW6%N@lyGO(5GIN/z2YĐO1L{lIѿS3N!NXյ;OSxӁ68\~Gñeh=h6Ju'ֈ^(l2KU9E44¾Xc%:絾VCBˍ(1\:9䮜Fi^5G>Ww%?F:!^'t506 īcrxxVZ'+Aq"xSUO7?B`lmcc:jw)i3 Λ(LOqud-QE=T˴ȉ>"D%8e*ۻSݙВ㝟f< pD@7 A'.YHѮDR'E\hGVG**gbo;R|(j'i7ﶡi/p4qYn <PJED5Yd[@&T8XȀT J_ < csP@?;}t/qY'_y*< i3PsQ!8yh0]ºjLﳣӫ.W HcL?x싎R`^ ,yxgG :O15 Gä~\nF|wxp~= B!Z$7臧 }m;Xt~tSj6zT# _#}p9[W\& @o5fy<V1| I( 3ijF*ܰ B.w e r2rگLAiOP_V(cRwc{*9Wl@H0#T٥=u fve>l'svR^4xwp$\pWFq=YQ>t 2%u"frl52D!rACv kG J,Y6]aU/_ s|⋜Ŋ/ n P;qzeZ0LZhZ|O{ck%!s| ža\NS~~;ÜN.|g)Hf}#2k0פ6]Zd5#YHȹbz%DwC0 '=1[J5 QU%Ux J5! "^5N6ƎNZ4cNhP"/^O ,W n9-Б0iMdrE|eP0< sF5{؎'8>*zKXa?512yC[꜔Δo1ٞQ/=%Sr~Om'8SA;~$Yau 'j|a/qr9u(RQLjBgCakw+1A3[d,sXkduY3I|-{A >*Ge36[) hղGa(l=T%y̱@4#)+155غm8Ytضgc:ZHҀrRoW@IcW[ZVfs4O@%ۿA9ֺp|6d}5xregֹ &-_U4!X LY=,3ݧ@_RzEoףjy  |"WF- j3Q3u>9-mjx i7eBI='Z8cϚzk3Įy-q\zo zWWhDNj$vzVX~ F JY]=ZvO acfV)IŃ%(l[ fYHU ˠX%yttZ "B.e9,Kl/Z.K3+u } ޲&T\0V7akR(Dju^Uo n m4o4'iK?>V6\<#ZF{?\L܀|A4i_•8P8?H'jʚz̤Si0] J5_q"!e|/8?mz5@$~,ePG32 Զaj;:/P5UBU]n7U X0/' }.I:kXv˛w>]A.G)@HFd`&H Bh{Ļ!Z/)nIzR`~7Ǣve}޹|c 9w.*Ga|8X7 no(9,آ9`T]AQR8oDy%BHp 9Ԣ"~[E.JLr<[H'!%զg I0/!Yj  h#ꪈQC#<0*نHF}>D `~\nv3Қ d /OgeVGAs '6 >5H@9}~nrؖ3 ~E]်ͦ}7|޸yZPc+hW>st0:;c8;zWd^qm1lšb&jxSlmf2T k#04x]6JVxeUijG֨tU ,滦8وзf^GPOE;1MGU8,GpSd?7Sl^z P=C~ JvTT~N7)$'^px@> 2;zUUn;h9ۣwR]D ℈Ko (U׆Krnr=GikO,vnKLsV%F*tŹNgA3lUwn)OumfD ÇCڷX'^ Ak&0JzFD.P2KMբv8 9:ݯAst謧.u v%/:MR$-[C]6R|0_3zo;Qڛ_e#z?ASKyuB2+v!k׶2X$0gp=`KΠQѕK= DD8v/O<^>b%HHw( ԮGkz)s<>Y羃}S2[$أ+r弓C8ϭ!W3Xg ٔX g7rD?> G#,J4d d}Q!uw:v,BSgo{B7B1t!<6M|Gq|;3Ut.+|#^l<ꍣ( B'@g,z-5%գyR5ұ k*Z uyJ퓲)/yPrRGK̭ZV.!o`/l䫮7_9<{E{ˢ!m ?)|*uT(xJ>t'ɘ/P13&W{HѾB!AX~{}"1¢8-[y B炝G[OpMGr`wzA,yHlEJH|;Xi܋yCbZ*@~HR9GA [Ǜy fmwe:V5Xrxɇg¢n܃Im{psGҀRgHo/O ($Wk|y:7KyOGi rah6kұPw(G 9z]q Q#㘝uRXsq ݣBY$r\-8,\\vk "q3+?X-)CL"ڼTo&j$ocDߐQx7"op9جKo2~7x3B6$UGHк_[`d̂Ze\)A骧rJFi} 51gwUІJ:KRaCK}_~ݰfiC s 1-Œ(s]=]),=j$. #?P)~_[T~FYQ>$߮vQḜw[QjjBg**[pf' !\Y﫲(ֵI%&)js 淴u-;fG'M (C]ˮ(ڄ)|ה*Y>4{qUr:d