summaryrefslogtreecommitdiffstats
path: root/Python/errors.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-08-26 20:28:21 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-08-26 20:28:21 (GMT)
commit14e461d5b92000ec4e89182fa25ab0d5b5b31234 (patch)
tree21e37d8661cbe50e7ddbedc1b35a486adc1eae87 /Python/errors.c
parent33824f6fd70f89dd39fcb7ed1651e8097c57d340 (diff)
downloadcpython-14e461d5b92000ec4e89182fa25ab0d5b5b31234.zip
cpython-14e461d5b92000ec4e89182fa25ab0d5b5b31234.tar.gz
cpython-14e461d5b92000ec4e89182fa25ab0d5b5b31234.tar.bz2
Close #11619: The parser and the import machinery do not encode Unicode
filenames anymore on Windows.
Diffstat (limited to 'Python/errors.c')
-rw-r--r--Python/errors.c56
1 files changed, 41 insertions, 15 deletions
diff --git a/Python/errors.c b/Python/errors.c
index 2d5eb6c..7985eab 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -901,7 +901,8 @@ extern PyObject *PyModule_GetWarningsModule(void);
void
-PyErr_SyntaxLocation(const char *filename, int lineno) {
+PyErr_SyntaxLocation(const char *filename, int lineno)
+{
PyErr_SyntaxLocationEx(filename, lineno, -1);
}
@@ -911,7 +912,7 @@ PyErr_SyntaxLocation(const char *filename, int lineno) {
to make printing of exceptions believe it is a syntax error. */
void
-PyErr_SyntaxLocationEx(const char *filename, int lineno, int col_offset)
+PyErr_SyntaxLocationObject(PyObject *filename, int lineno, int col_offset)
{
PyObject *exc, *v, *tb, *tmp;
_Py_IDENTIFIER(filename);
@@ -945,16 +946,10 @@ PyErr_SyntaxLocationEx(const char *filename, int lineno, int col_offset)
}
}
if (filename != NULL) {
- tmp = PyUnicode_DecodeFSDefault(filename);
- if (tmp == NULL)
+ if (_PyObject_SetAttrId(v, &PyId_filename, filename))
PyErr_Clear();
- else {
- if (_PyObject_SetAttrId(v, &PyId_filename, tmp))
- PyErr_Clear();
- Py_DECREF(tmp);
- }
- tmp = PyErr_ProgramText(filename, lineno);
+ tmp = PyErr_ProgramTextObject(filename, lineno);
if (tmp) {
if (_PyObject_SetAttrId(v, &PyId_text, tmp))
PyErr_Clear();
@@ -984,6 +979,21 @@ PyErr_SyntaxLocationEx(const char *filename, int lineno, int col_offset)
PyErr_Restore(exc, v, tb);
}
+void
+PyErr_SyntaxLocationEx(const char *filename, int lineno, int col_offset)
+{
+ PyObject *fileobj;
+ if (filename != NULL) {
+ fileobj = PyUnicode_DecodeFSDefault(filename);
+ if (fileobj == NULL)
+ PyErr_Clear();
+ }
+ else
+ fileobj = NULL;
+ PyErr_SyntaxLocationObject(fileobj, lineno, col_offset);
+ Py_XDECREF(fileobj);
+}
+
/* Attempt to load the line of text that the exception refers to. If it
fails, it will return NULL but will not set an exception.
@@ -991,15 +1001,11 @@ PyErr_SyntaxLocationEx(const char *filename, int lineno, int col_offset)
functionality in tb_displayline() in traceback.c. */
PyObject *
-PyErr_ProgramText(const char *filename, int lineno)
+err_programtext(FILE *fp, int lineno)
{
- FILE *fp;
int i;
char linebuf[1000];
- if (filename == NULL || *filename == '\0' || lineno <= 0)
- return NULL;
- fp = fopen(filename, "r" PY_STDIOTEXTMODE);
if (fp == NULL)
return NULL;
for (i = 0; i < lineno; i++) {
@@ -1030,6 +1036,26 @@ PyErr_ProgramText(const char *filename, int lineno)
return NULL;
}
+PyObject *
+PyErr_ProgramText(const char *filename, int lineno)
+{
+ FILE *fp;
+ if (filename == NULL || *filename == '\0' || lineno <= 0)
+ return NULL;
+ fp = fopen(filename, "r" PY_STDIOTEXTMODE);
+ return err_programtext(fp, lineno);
+}
+
+PyObject *
+PyErr_ProgramTextObject(PyObject *filename, int lineno)
+{
+ FILE *fp;
+ if (filename == NULL || lineno <= 0)
+ return NULL;
+ fp = _Py_fopen(filename, "r" PY_STDIOTEXTMODE);
+ return err_programtext(fp, lineno);
+}
+
#ifdef __cplusplus
}
#endif
z@tS :5g}k2êg mҲr42}}|{xsqE(v@N--, 1 Xt,%^:iPK qDIGw] I cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/allocation.rstUTWV6+TH$&tQ'&GHʮzwdy#f7Gӧ_4žnA㤈ڞ3&|7Y;oʨ\OS0_>< o@ @70h!7"mq|ou|5 A8T C L-\t@Sx/@筌EVې޷@EJs&w0X:CZY49I%?H?1R(i^!@% {HZF4EFmKwPK =%dUgSuN]77d&U ^0w+R,Gzi?ެ d*8bGIKsp_C~r&.p/[Ӫ[Not$jK|C'1kwҝܲm$G g ͽjw;?<(+kG}bzק@ҏbuq8EВ' [:wUDNU/! / f PqՋS$=3ڙѷZL~ǀh#{iT8 KeH,[\Ĕ4iZJgsa춨{v"Ԭ^LX)U<!vU(=ؑ\CPޝ 44MGgiuhnRنd"g*v_C~.gsF04fIZߕ_a@G7ԫ0e5?a–(] 7RLHbӔRb$Z']Odwy9ZT)zYාg' ƗlB?كTOMûuƻ nޱ)kx$c~ apdS.ܥگ޽P7F /c-J3JU"Ӯ@PK qDIuUL cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/apiabiversion.rstUTWVQo0~ϯDz Z=U1Rѩڞ%c#tPwN S[;y,3ɬ׃q<lYQ\ɞ|8nNp&S.Pysպ;Qt{W/wK+ +AΧ1j@S-3Ԟ\+X̮NJh(l-ZVf~5sKn.'JOI& ^H2nTLJxt,D X)516+\,Mg1ψSJs*/U6⍢6 Z_F_9}\7h#'yUw tݳ,nze4^t" egx:;Dly yh{<]px>˃lMp5_CkqF]Zh |T@S2ek L4V9S~-.CjqO~ۅ}8m& OՖۍj6Oǃ3Xer\l~Q6fH꓉V$FHz~Ps`/DS4c&>r PK qDI?`"fsB cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/arg.rstUTW=io#Ǖ+*E,nBB>L,d2f|6&(vNu44 ]W~,E6yRܝ`0ۤ{J:7Oۥ-$EjmCw [[3oY,UYvfU6ipMV\~hlQkE:XfQؘ4$7Y1/eC\%I'c&:<+Ra2&<4ZSֳ*tdfg梺Efw-;(ҿͺz2"<ůcLՠn*B4gG$Ӳm#aeg <txY#(|NM$ U!k3kF2Ll=UL~h& )oʵ}Ոmzw-pgFͳ,rx~ۋw^\sY1[¸B3^LP̓I`[1л=D&pvg8X^Z (](,:(A8=荠lkݮVOAT* 0a |l}A'ߜrPgrؕі6dOßeY֠{D\U (!Wo6qtZ6 Pdl*"ڽ|vhIM~@vڞWb =)908Ju1T#/ɑvHk|ReqA#"IRlsk bj۷E Ǜnݽ L^~{0g,\tu)\ ] _r.%4}G'NH>2\m2%aq~-σmta۷t"|MHS+pR9Gu4tLfP Su6p#g7#mi;mOQtxWav0"ܓ}F@ EKL_[B,w65A@1G%dKg!I6`h^d YD&B\qo|J26QFŒ/ڀ׵"[ѢwoQ.mg5cMHʉ/G<PCF&Щ$C,|%GE͚0ͦ'/1X]_w "&HKaLE@ O zPK+F)"ZIӎ0ĊQp: /,mQFjW24jYS6@?jjIAgS#ވ&/K*RX6MfaFu14Z{%0dLY\P<-w+2Gs0C D^0v0~GO;>b>㽳W2`b~}P6qyu57>/^ql@ޱ k\{eà8U [6OfvI|`,g\׮d:U XGxe1Ʊ#~w2 \đ4VUt8C~京k:,EJ%/PƬfhkt6#)FuT:T]DXE[xɝw ;@$&(k9i\YF=J?`+.Scƚߕ&'t.lRcZQȂRKsoDѩ҈oBΔ;*[KBrzeg8 NonŸYTjqeU!Q^4\VHl`EyBK]=U^Dn*W[dU/q?\0!)quV$AA;wQ>5݂%DL(W" 5yEx7Kz GvNב=Bַ}TO$ _!ƖW=p?O DzXvGD1mU~  \H?%O'-b,m2`la@ؘϒEn1!財ge~ӉZhFw^|ߩ9%G+V;*u!"9cLǿ•}DN=zJ.,Q!F m9Џ }EZ DJ!텐-ǀ! ,. (m_р :J l؉UDՉSq1 &@U֪G BK9 i_:sM~M;絏 -\#+pʿ1TPϹMĀ!2qM54#V& Nz [ץvDs}%S(qLoRXJP[䨧Ql/(;-mq;#[$u)ٰx_vJ^ }Er>pՆ8q:[Pݞ w\$ZҤg|HiQn9U#Vq.;e̐! ?2N@;f`|6{~LQk:S1<T<2hb3 X4?1,l[Cϱg 0z=u`ѧ[O $p3ie  kY؝FY:y:vDZ.hÜ lYjfC.dpNؑ7j,1LpU.5yPbQ{p,N"oro0ܼgW kvw \8PbY['o[8so3rU:!sV@z9]'{QJ`;CItO\= r gث8OPAv Oyֶ^NqW:TYp~eSJ_,&"rN$o_ң'٧\Y˶}] mZIpGI`az)@QxtsBCDR ʹ8EfqCKc°NV5,X3e,#%AUK=rDnHG&B@sc8Qq&e+Й9N TGXphcg=<[3\")Bp@s8ztR x}߀x.g~ٛクINE\ ١={A(P[ZH3[H. n:ȀEjemlۍjTR\Ψ)z-s#c'A^\l@H1 #@o@K"i0Z0G?]蔬èS>vp11i˝qGgvTP$ZH^VL&)<$((doxse^*4(c& ȅj)ݡvSRxI|l(B|J=;,-ugv*KJExSz6gvqۄ;%-|sZ\1n8ߺ-w/9@Q HV4'[oe?dΆ@(PeYJ2tᆚ|_Kأ e[}B ( n* 3F@D*K܀VuF@GK6Q7``۵|:Zzk7qb.yn698޾`S|z}W__$ȰIN^.b a*tLZ4m/H%@V\i&>0L@1EIb<U[F0r:[ "lBoW vFP*6*/7=Vf ~UfǔwA3򮓝ȝMj=CW@2XT8CV)@$x" R=\W j<0^gOK!!. ieIq20 :}y - fkRCش! OQ}wKhP[+%xZ }hhԙwlK֤,Q!}狣dJJ# NzWZ& RN(PT_* \缤EwGh$>t;.|[b+lQ5m|4ApƠ^P0>>]'$xiq!o]LsR{6]vjb6L.|J 2~b\Of$ZoX? IJ;>z2><<>VάF؄V+UV],;BLw_Кlf;U+HP2(-Lv45(-:.Kj7.YX]xT[H! +o !wGWn30@ŗ׊[k;^Ew.Λ(3z=B֕8qyT6 'ď)Sf B?.&wrTR /t~Hh(KZ|9 1$z)I-F&0S(m)`2]7",xjO\L+s9cvau"LEkIG;3$AAQ+Ⱥ2̃ Ҟ(,yύmth!U^{ornw%ɂ)` .,LҐԽMm%ĵ1qG#5u\skTb tU3dKc-(tEbiRYabGa&S@-\=ni:pEՐsweWhDZV1~9w!B=FG_!}D H/޽J2BZgE4\-qVAn#ǁBZG,E&QTdEN6pZ5U B佥oŰGũCNDPK qDI8]RC cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/bool.rstUTWSAn0{kjznipES+ ȕ K*J!&A Z{j|i*K0JDh8J}j@a;qKt@]CX!Gt@e:\CKg1*fW|ĉGf;*;!x`Ql O=|eY3^6QX Wxj9!K}J`Qn+NVVr\,upRwOf4 }ʺh0gg+\+ٺѨBwk3[y\ l-+3F^ר0qQеHn!-,Pɝ\ JUfNC'ޘԳHaZ.X)a:0Qhm2$cU@cd0Q|VJev]V5\yq ^i8KDHrVzd,H+`pݲNaEbbi]]5C4\ )s 4{etVZ:p[N Ph| JtqC[Z) "^! r\XыuXڵ~/H[#6 <.h9.&%1B"~-, a%hQnsN?]}cja٦1pjM={Z\ӕ3 ts ~h`L wda ~;Mo_]:ĨňGG &n=I@!A+rG<6[ VjT^u]+ĺ⫚~j} T$h%MJy B ;?ʸ`MOQ' D8/\JoHAr={t@*83or y<>*W0M6(ls^(8Ĩ_ IJoڕmA#u(Úwq`eA d'TH H$@p4 2~ FW^)?#2*(96h%B׶*Y&Dfv촧.B-7ƿIgJ6$„ @>\ F~g4D*4 gе@4$V%(=gE$ YWh#E >ۂDݾ{k c})D_&ܶBjF>PmDɛ\)(fƜLt?'Kښ<!({"L8U-)ڂѮZc<'B,Se1A,Y78 h%~FD틸U@T& FրX/hd]R2ĂiQEBF9/YdA `cT"5 (b0¡1:!P0HB$35 [[& ]EHM` U45K.bf ʿ0rfCߥ2>F5  TbQBA+f3w96$7Xa-Ŭ74: ;Sgj 3eMP:,So>\\B!/ O h1!M9́0+1 USyUآ^ 9Y(+bCEd{\U3,F[|JaZe9 ՆRt0zjH{X?a$ؠ|v&l'ƪԘBthq4-VͅeeP"yZB}5?~Јx$5pzuq믽v~KOK0sK _ @tK^9N$L0;(4Ψ*1.pp/5Jy</,r.-WOZ@ fM@2!-1=\=ށÅ5Dmf֨xGlg] >|N߿9da9z x,)5 y!nRR l;2qȄ(G5w#z" ܕ2SXƂ`򮉂d }mXTl5!'G Lk=6ꡳ깥 QQR9EvHIڋ (m8*,ڣ Kr RdX w|C@ R;QE(F6'(|z飗@ $V WN: +Rlh q7Xr5~`Cen B_q9pCRtEAF6F@{^R콿vCbLǥIKDo7)+LQI֮U>s_&ǚ 1Q0)R;.F+SB‹o?~E)0qı~[o? I my3Sa飂5g.Em%+R- <>0 /$u"ʰ\YA9.M*e5{z\@bo1 w<;S->XyP]@f%憷W>77AѮJGYRK]z[~UXkIT%}^p)wP 7PPvm`Q5Oq5D! Ԧr]:e) WɫԖ);Ϥq.7oX5> ҚHTo òF  t> % tpykK4JX#5#=p3m/Qi+5]L3)aXfYS-)=ibtTȄ֧O"_nl8k TA_0m.[&ߜ>6/Y)&MT,o$5tÍ͞R^˝vcZ F|Yԗb4O}JuxjcKK9dsχ[Ɵ cgo_R} k3W__Ꮺ vtwG~ѓ [}ƛ$'f +]D[IWa 6 nĹ[7BD[|5ӻ ~Kv{?qi3;7?\ ]}Tr 1c-0ZSD՚Zc 'OKݟɻQl*VpnFނkSXL:0zCx(=0Pd˃ͺyq60NFI #Ngttv83#fbAὗW{bh ChC"ۚR#0_+=_? Oh!=b[璻s]/;s34w;#[5$y۬mRrw\vL7Go1#j/uPH7d+{_B4Qi/;b]ҶЦ1ci%ܦ8J̯'Exx}{\ݩ%m68š[궒7]$=(:9qGQZ]*Uy815P?vRos5 p{< wɀ{{H>{)`wmdK}v&CƄkҒe֘HHiߔ67|s,t_v68H=8z߈VUܞR#3 nW:-C/Ps0~{z _xA npN 5CkDRg~a4mp7$@;XN|; u1un"xn[8|熿{00&YqӷoD-A_fCuUU:1D^wдj6~ՁmvvU=9K<[[i+})^pHa*9m?>"s{#裂!u=,-,>|ٝgb*cғ"KGaaG()_?n\6-8MYj)z|~K#HiQ4ɅllY1Foe0p6W"7zJv8*BTS(ܾE82@/ԦZA^E4Ѱ !p^Mo ymLKwy |Oicv0%m:tzOd 3n,QxƖdn$>k{vugē`xyE>IQ-D qW'_AԜ{#uJwE1V:/$1>0 ju1V|\E!['L/t;+I% 6ʧIӒ^v@b]BHvb_> 6U8D{FG\߉#1n[(I 8y 7 ! 6D$ɠY =;É٩/kxWt.N!m`3h?1FCUK9Iw-ئ 9_o7 ʲB=$ xS0nqm 4 aе$]0wcJ9yW h["5x9GKPK qDIHH cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/bytearray.rstUTWUmo0ίoP`Ӥ,J][5TGFldlCK({;Q%}M6! (udJF&15:ts{70xsq\dDX>7=Xi*緍t1`Up Nl6~sFm@aP0B:׊@)'c 20yF֮*q͡4UuJI#SY;^ђ{ X"08{T"c 'yQ\l"[x){2pm7eѶ)m~V?'(yk r#arZ!_rM t! )R6AOjvAZMa^]_5Gn =4Ӳ u9OB:ű !(7h\G\$Pݙk) 0nf{Û2B=/pܡ>ax'qVv@v]]ٴXf9+M4Iʴ[KG/2~^./N;t!HRvjzvPK qDI{) "D cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/bytes.rstUTWYmo_A0.~p]` WE-KIL(rKr-!/|ruH.11p3s6{MU0+j i/X<1xpK?f}7`b1鑞 h"aQŝ~}"oHgt |I ,3g l#UvdT q /OFr&z^?mfw;X%?%kqfu-8br-Hz䥩7#2m +,sc}Ç ̹T9:RX5.< t$`T\Fz%jYTz[(a9XzI@/\ZyV%Wsގ kf:5Zj%W yoN4fym d'E y:Q"}%]PnUXgZ7X8vѬP1Y6{ȓN!4F- K8yHрـ;Ekѵy xE#VV j\mPC>)օu1凊F)FvE[r|- ix¾|24B-`yH 78˦yKZD fle1ͷ V WZY@NJts5zra XfU+YL3D6 wM]H<)+2Kxz֠<n@JO,]tV~bx. ={"Lm30M &89): +zJ`@ѭL?QO S$:yb'3><5 A܎.]]Ƙk$/tI훓ͻȷ6K']\y&]ҩxOLA;Ox=ۑǒn&cvx{|M=lIvL^v0JΔU^[הCk=@S8WRcgp{$o=[,]ݓȪ/OKU f8HPMD .P/`繍W(^Y{(RP TFAb ?ޯ~q݆X6R/!s 'Yh\ ]ݗ٧r`&1pw[Ckpoywft%F¿vTIX+…U^YW%8Op9?}fSx9ް|omPWf謙Íix $ aOnF znĻ,?rZqt@7=З.]>>'-g~?v#cO1$K$G͍iYůơA=H mP̬f 1K)\U**({SFB+!jP:KiGީ=Fmڋ=K]ԤQۙۻW~4`zCus~=Hy8&,~BTYg߲ШYn$HT7:,, []c4o  ׄv a8+#\4zAQιеݙ8#8"J)]4ca k[_3^eᏇZ]d"nd49yFu+Zk(Ƃ__ 4@uʈdQBWߞ/pjƬé,S.ا} iaTGD5P DD$%׽PpqKiHHv$ N;XUi@B /(˿A]g6S{u[F8i>I u'qEm1) >K_nĽ@n(ojPMή5T8| yˍGij$e ŷߥm؃+0DA`} @qvgDi*rs8EJ{Xml}^+?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'pUikFBl`kȈ]OyeV#[_R QI򯢜&!9JΕ'D8L~WxI/M& 3f!݋2Zͽ2[s_Gew ߌѦ7ciPK qDI|-P#D cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/codec.rstUTWXMs6W`rUYit$xǞ"j `0.} )#8j2o..3+84!<^ m8U"gC,T1ب.8 t}QMi_>L)SZY(Lv *UMU\7.Djv<' K.C]%MuQm)YZ(:*?AzAUbPl?7*VګIg"ު<y|_Jj&ڬ@<\%?ˎyƀٝ#@LFisT=ު·[MсZ),3>XxS\y.W@=`ע^.>130Q+xKkPJY 7mw2SWÖ .HM~>?p 궎-h$Rغ&&5ۙm1ϝi7"OU8DVh$[zJȁSz:ӔdYյpdNL 0olXa D>2*TgB@$e@Xpvvy55a%Dbb'9SQ=$Ѷg Z %‹zaE4÷њߥ-ݝ/}-¾ogi𾏞瑎f]tDg%=b }xrcꚻ?I-Kw҉9 $ʹVHӋz,qFM,^Tt؅@nBe$7veFnijȃ$7f ~%Fsw. HtVy~ W.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 qDIVOw7G cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/concrete.rstUTWTn6}W h,C}qIQeh55/ Iy %JfPx93=tp>({nb0 O|9dxշ)C Pz`z=LBPGJh6zJĚ4`ޫ'33G@z%EcS!pY@Lq]-]eR<'-m%VyQz] :הI)wJ $dh^=]}napZY4`sǧ3_}$=d\h kыC= JB pDWHݓM/FyګpF`GE1L_k^i`cE}Q{N($"\P[% #ѹxŗ>]ep=&ᕢE=ZҬy~P( K1\V{ E;FmzF'"bEz:7f,*I.ld18Y>%žu(Vu=WF ^,옽qķ][w.6&J_]ULjV] o(]صMڴ"`3,q*fL;vԴdQ/iOXC<@q^8<3l>??C'X` L1TpVtJzACZyh`ضed6Q.Wx=lAH>7jw)2iE3݈qW`m-mOюێ%r:Ɏ\'+ᥝ\P`\E|ޠ[kugM!5^~PK qDIKVYtI cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/conversion.rstUTWXr7}W IKV^+U+"9Cz*n̅K\e{ztcf3Mn}yd6Suʻ zw9֔vKaS›WL&׭NF:\]@Tbmj4e*ˀ%<[ h3M)Ik0Ut2QJ}d >6A NjO&YjtU$6&m%aY|k Znƥ8SwOPQx˲iEw_9wz^[NXy0t|Q.%AKsn7|a+T?@"谟z,_:A5mh|4Rl&VJwla98&NVV ,P4(e\l%7Iro/d>dȅ^2 S`g~-[%Tzs-z!A@9 /Pɶ 2(b@U.}ksfH#ɝq{cse[hV>;O~.'j78S5$Y;!,B 4u7{х6\$HZ™FñGcŽ~fD Xp86@xTJ m|<?mɰ" p7$=*f,93$,%IgǰU1}xR|D~B@L4Řɫ,.fVA:쒎ފIؔ8H4(6[oډzj,aۢ:qhyl,zQM!6 H6loO36y&k[oG0k#cUnFC @뭋6^H1mD='!'ԣJۦ6Ԝ.̷GHKc"tOx6̒)Ok@oh$w8M)G`SdI/ 6󫳭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;?H2M袛̯tɱE5mtQ9/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 qDIaWI cpython-1f0e7c99331750d1683287218cbab99dc26b2b83/Doc/c-api/descriptor.rstUTWn0E)+ @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*^KVo힥25)BG;NPAYMDS:*AGu'frO)Zu/Զs(^+rH۷KY79Iv,f|+nogrh6ѯYB#"C,ROmvb*yWk%YV6[UENNR+:dYpzHVŮ:q̝1%a*\cP[GŇn]'nDIJVbzJ9eu9It/O7%'S[:!c啲VG6. ڪ,{k6ц Hzca5EAʀzBc)BYPGO=z9<*&Wj*[p3aI7QU{Ze^%II]H!h`ښ"*i+iTvE %guFGA$XQđ`GRA|X'gӡt^IkNj(un^=#{ ֻ4 ϶}SFq }WqQ>^Wd/6;$J> 4R3Y7S8gXq!K )uEhO'2 =PC*n/++۩|-`1c;1v_Hol'HJs>υLQ6D x$V9\rՑ/1x_%Y(A 2_ ʶ[0_"acd\tޘ8}P%ǁO ^%:Z/>:-fǝ":zJunZ-۸zQ=<*o[aM-l$nb}1j_/Ԝ=Մ+qawbz4Z羚Sעn# \GoxXvjg\uw+hVuƵ%f"u50ѰfaqCصͤMʥBv*Matlp3# 暁 7p zq\' =2qymJhd֡U+4B2+N̥"NǵP' *T 9`B%TMtzFǰtfV2KX T\}?n%vCڝjLIޡTFUBتѮ` " lޢb=!EBq+)]DlB>\L+89)!Wj#/XbJIsRڅ{EY 87MV5_Ɍ8wƘg&AV#o*vA٘ ~22F='4E<@tOF;f{>/Շ_]xz8Ѵ͟nt?*s7g͊R8Ά4=@u. z3or() 2v'nD?]l(woHPSJcRZMfc;z̰ 52P˫`"ouʣ@ofQx Zh*a<8/h.c+Ge{كmȔKbYP&o'(ݾ4~Uߊ߾}8oǒۻ[;+]M|cէ!1ugtcӘp[uEv;V~ҵXz ŷFZ":`i5=D&RHqK"3e/Sg*Ty<uT wQBab/'V݂A:;F)½!K8N;PiҡUwaVt]K[