PKrN#(bbocadillo/__init__.pyUN0 }h'N&$D+qԝ$ioO%)b@vu܈h %/UCT\s@{ct!̀L4=3,Iqg)8) V>[,I*`F@{ "?rL#\;dB#wyOB|euc% G-β5e\ުhUG8B9-t;mNZM ?D@n ‰/ ?Čܞ!JЌ%bPKrN foNbocadillo/app_types.pyRj0|߯XK ~`p$&/E K8RNe3;g}xrʼxBD\N`pPZ^oKt^ DcQ#y@~P8Q1˅t .kKbdH&rqڼEGӆ9CZSO$IڰZu\|*ԉi`Ox[kEiJL:m%m F%&/gq=8MSWyo=4K}_1CF31d{ $`ܸӯ. 6E89#ea9i.wۓKDznin'IPKrN gdbocadillo/applications.pyXKo8WE.8hl $mh,jI*QM㴾X$Ùo$ K$wWɒ *00CfPK#F~tEBH6?ҷa6Ǎ}%]9*ADX.aײf:X#>-Qk#JV/PGo|ժU$w7_.↶psV cC'(w$B^1^kKS{gŝuC'Ia!o=9te͚ uZKwZ5hʛ5fBӑ Z o/k)Q)0l$kXgXq1|>zt~~b vN7 D3pbAc0ar!Y.zĴ%pg֗kem1ZDuM{*:[zG#H$bJq& ׶5c$=]s:r1=r>ݶJ]<@OG̔yݼ4HXy%rP&ͽ(;}L,0b7ڤzWTitzA#'muTt5nFPwa#ڌBB =т8?@DD_n.+R0 ڪg9R^C=p^@^ITxsr:nlIm<ՆT6& LXE`X]VY SBNe^2V3An-TV Il2W1Ӏd:i|H+KDp6Xp>#PF![Z\r@03~fa`*Tުl.` rcVBmk]'hdBIgXp xoнUwr{EJ{L`Ih`lA9k6v-DPUf<I2K쯫]e4J+mnliIgYC(k oT[X;EpY:X4Q0FoƱV)j`cF1k3['䊐W5(RpG()Qu 6Eb>Z uZw3[^%2"AtRU*=$R>Tgnx_)gSaKm޲(tRM9p'wwN֓,r?4d ,])==B6[$(W ^tWDr./j6^9m yTf+k#1APn6R0Wv\"9ԃ^t4w SYK8M|E埋N.8]~szԫc0p(`<$d&ɞFi8L޼Jx?PKrNbocadillo/compat.pyTQk0~8{KAmvt8}IlIHr3w)a,/Aw}wEq XD Ok!7IL?M~p3cxjR5b$V}#B-,_58dgW܇edS ^\ EOVz-E3A5Doh5=໒ _/a$IDM'j0Yb}k{YЩP2&f=pA-JF:5JºO~-Vz r3q2sB!amZfrH˃e(iސc{5:%qr;M㥒 jfVlѡ z0/˲"PYf! 9$02yt--(̢|܉h!U=mǍ46= ,,Sz=HwA5āsG p >Ir'HĨxtܸZI/wqbAr߄uPmZB8)Q&[mQDQa]_>JFd+0@aoyo,,_EGrdR_>"lRk$˙Tbg|[:-/,RvE%ݥڰ 0wBIC&|7PKrN-0f` bocadillo/config.pyVێ6}W ʁࢋ-ZdM^ iil+*I;Hlo=I̙ۙʀ:.I5燻׻{K:Ŏ-+@H9(Bκ3\ Ct]$Uôh ;^*pi>0 `8p -ך^fS#) xb sR0ak<@YrMYfb ޹F _C.01!*#H>.!(swlr SF?ss2=O% z-0cZH # "kRgXw Sa8"łGi:F2=7VцސEeV0iW6]nSʟPp !R2`:F: l,+̪TE&\||\P[}?NQ 7DŽ&Pd3ɣRVX^_}x+vЮa` C$܎CzeՕ;0 isϕ<h=<'> !,ºpo'jFx6='-&AsAIޑ;@L}9 |Jeȁ*FG;REil4npdh노-+M'R6Jl֑0' /-$.<˽~6 }nXk vKXgc\(XM**VRê$"\lNQ}Wl'_i0% 70"}0_ݷ*98&8RD ) PQriA,%?JF\̭rQBHomBuhY d7 Qk["$XÖ RqV <̼-4"/P."F[TL< k5,AX?A%f$#?-`5$GJ 5 aK [o*Kkh*pOg"Y"kk;@O{8ikÊW^ /H|GH(I;pӓ?EfN@˝ʘ :6~ۤ}mlLH }ݕKF0˵cI@E6 :"s|.B.d u>yJNvNQl\fӚnXN =ʋM^ T@8CQCMfͰ_OΙ  B5|s}_&sP\| G[a5G$́5\ӮNuaHˈ4#HFbm/ {e }c8 PSފp>o|Y>د hU]7E+a/ݒjmU ЮwC!l%-ZN:+v!tMQ$5uFfTmf/|~-o!iޛz|P#jng'hf7ݶ@wpl33H_ߑ۷aS;:/W*}3>@E1V~MR=wߨ=<,P034*^Hosu6"S)hXXǾF(ww^VLNGZ|x @r3r(+UNꗨ**]^/\nS}ːeRd fY%KYIYRfY<(`*s.$M. vtiD[kGTg '*$v֧P7?9`^6M³2tZ@BPiJvq1d?VYx$zfOl"| ? Oh=ޮk W !֨Kė$ 窀 'U{itU4s{;Pg<ռorڂn9wL5{w8ۯ9|iC7&(ɨlA)v;lBZ4gմ[GPLoI javR9%1tL\8Cȑ!^frSQ  xp]2͘ d`eXB!Qt:āF1]3UmlshԖifJgg!g9Mʦ@'hj]+d Cj%#$7  a Kyͣڶ"KjVe4)ßEN<A\MX5 ?Ŀo]fJ'dSފڲQ5AD[yI㜄]N`vXFf쎨2|T]#-L`c:W_o0cX"PT6BN\r%Ztʆ"*#)PZ0tq#Q)<3+\B 3ޯ4Ho-.}*_;l .0q W$ _t˘e=2<|#ױyќ+aZ]EjE*a9jmfd;|.'D->)NAVyӏϛI400QsmaWb߆}{隱l:\U{H+._G<5rmx)=_X !<͂{߷W[χoE ^w_\uVP%FHOTHdnOǗþCebzu_/R-jd0dʜ5<窛3Bij пlPKrNMbocadillo/middleware.pyXo6_^x@eMQ$ ڼ sCu_")MazHlxݑ-DhwXlyߢ%f7D j~~-c9:sT~%9\L#]mMT}˰tՎT_J,]e׉24ؿ֦*'{"O(X Włnm ˛?w>~z_ 1[\GUg 3X, .i 0'DT!Z&[T9eV"Gn ~ WNZ=U# =#<͖T=Gn ڡdC)k %9JV}> i{MJMO8V٣r~?Cr!Ho}Ep"S~ѷP&I+BFQY!b5/# uT97 do+r$;*—~,&ЎJH 67 W;l2RƆM[e6TspEUL7Nb Z("Ba4T@R[@aAsPTZdD4tA,@1n'Όoj1V1'\y m8axERj`PpY ԅCu iD5dV+d"j)F$ڋ[Z|1ݜ̫m z9BQ3*!7!ZlN|qRοUDWo#C1s '"LU谣@hz)"M"rgHeR7Z[7A}WSf0dL^z&s}DtZ8f}6(S!RB7v$K(P/$H؂zQ(~!qWsetF0auq1|?-셌=8-bQPuF>6pPׯV+ϦlB1ɚӶ!Ӝ͓H=.+yv+Ve~`8aTtcI9?J 61ݲ'6z&v~&Ugf'S 2nvp u}0~jZg)hGϭ ?-hYu{")RHXS;p[ t.꓀O_1W?${sy^B4J_C%)eP{!-mYCZ_ ,3!YǷEOŲE3\OK\Vw܈ԭv)Y aMڮ❘s\ߎZqSo̢͢+XR NiA8.+㵪`/gX%)ݑ2zT>k#uL1 Ŏ'bRfقdzaO>}mu"WfI6&0)(] *FkNatYb~|sq}\Q-Ud7dU2cIl<Y J͏,f EuFп^>t ,Rv"P8)Q@^qsO2FN!_ T$李at;FwS,ywϣzK-Ztf2!BୱGtA(p"V"&M"F-<,=gV ^ge< GV,t0la9ŪXˈAiHXotvE%6lNSv8]0/`ZU15Y.q7UAJpPldv?dOoT,T;[́| t]H|U 1wbO`SxnNf3!lZh:Y JҔMN>efRM#v0+b#`K"Onpy{;cxߌ6"KE]wA$3F ҵX4 tE=5xI"KiݷS_V1 R l0g"8H Vil XTA3˳rl8zggnPV?JNHm52AR!!@ O'G]$CGWu{(pp\-c$;E'mɞDc47?:ڌ3?f>ɴj>?v9\sHjcJ!;zaځ^+=ٻwLAj^#uYs貍r )Eϡ N(9$/|,bg(PB-E=?(]zڪ7EahO Wwױ[Lp?zNeFe}5SXj/uOv+ S͞-Jš?+io8D}CВ瀗cـ.0Gliĝmאr6G$4bRķD}~ݠm{qB|sF`W%@ @YD^لLu*u2ݲLdzFSVmuM(emUAvz .T jNϋX}:q%hNr+zuk2mUֲyk^tv*W-J{~O_w}O!?>X!x YъShb7 [U=.B-fo>:cXj,H4\h,lGbQVEQfDw?&@FlQ " i7tJJ\PZ1zv" #7/ m([#G0Ymvt6];8WJYHm3)sPlup1n`s{PIVڦTt[Bjj\$Z&X߹ j/G=|tpܙMw ֚kmg xa[v [aV[,6)ďg+49WP" ؝PKrN*=#bocadillo/redirection.pyuQj0 +O [`K/(Bۿvz,hd&`qPBSddӜHmDQ}p̙(߿{ŧXhc:hxIb*Kp؅irj 8G/֖aAϔZ}:/)&[TWJ͚`msgke}6SRH~r@}LYiK ^klJ( Exy|?ލ@ _t5ݤy6 U PKrNt`bocadillo/request.pymTn0 +0Hv Euhs XZ,y,?JVfOH>G>Wg4Ȯ7Ï_wȍm~ɲ&;ϬBﱴg@ݡi`sUۻ,"W)sefUSRz*A$0-"wΔڃfeTTYYZSO5 3e"Qm֓ܔp0,A: :#潕5L؟TT`1X0@-R"t!F31IJ]baQ;iEI7{Awsp~:-b/^b1D>P-nW ?ϱ nhjd\KჇVfuyQh [ÑFߍ6bRO8#vп &B^);T/,KHtLː;TMS#鐱I~M;BrsB BT  2@EQ2,/le`)j|bZ{N^l$ У͋2v/8ʼnE!0 F.-)etSsr5;8+dɆ{h7v\Dh|`8YOE%*1ffPKrN [b bocadillo/response.pyn_*Y,fҙv73x]DKF$Lv0@f?l琔DJ$E :79 ~$$B Uj÷\ UݖJV#VMYgO***4 EGdM^_[&U/G} &^Ký)+*IZ Fpk}rjuEzWWtˇ``9U%;Fv |9",*(%0Yf,TA1 BRKZUt[8*kfۑ8)VTD8#tgI&ߘXwk6_I#xÄzH4$!X"!A "wj@ tF{pF &M`(lBh#;Gs ReH4+ {_0Պ'ZU"MgWT>L̅ X ]Xm[V C)DJV,odR_}&/z E n.}XTU:ٲЫ[T ;B*h[Jơ$>Jh?V#fp>U̶K({$%i N漯+N U\3c/MeŕLS/v;#r{dm qOS5n;ؔg{d2\f\@.!廫tkS0P:O ]3lJL׼1t|CKoV\|ácؗnu tز[|t7*+P"kS]p%h;[nU5"w`:r;Ի&< *3]e>8y_Cn Qy0`unN*+xFzNab/2l_Jf XfT >BoWgх>Bm+!Pp Ni9 o+*z>p$:M5aZ=s"-G;~>V{t|WnlM)L#==xt_1S]Hˠ~Uơ hV.g2ܣl'`#OH>p?_&_a)a&TOZJKYr+9+lu ߇SPƢ%/= MaP]7ҷܘIHz3 34IhMRЯWzK>{uiQ3=0+EIp홱"&1EHܑ±bM׍`yy:/[1Y8neiZV'&hqszne|7?xr21R`Ǿaҧfhz,7_#a </j6zK |,COVةgLn@ M!BFXGvgV]r: :/=@ ;B2@f-pDJ9d3$zD\j,cXtF0NBXpk38|ҽԅHӫzZû@V.5TN^O w8)Q[S3asq҉FD%/Иh6"X"-zwX3͠: Gb#XfQ~m]\ܗQOSjE{bMBB?m .UY}Y0oMo͔? m_Ȃ#ˈSt|*gj|D$eW-F-ppb#`gLZMݵ11N^]٦0}qy4Z nxyXg$s)xƒ=2$yQCLT?CEP u VMyz%~} z٦"MMd̉'%6*T;PKrN4 bocadillo/routing.pyn6_ռH[`ɀٙi;pC`p#K*I ÛH]`_DPաk"걫b'+ŗ%SL*q,QpI*rxʲ'&$+O~k$ڣqٱfvw->sʏu+zɺr7=k@ /xsrUMiIm@؃|nr!ZቿWe%xq d!mP}/v Q#, Y[O.7L IbQm&U`~7ՂOppxC (yHQ3)L ;pQf|v`sJ^r"+RVҬǮwm[zok [ܪ4 L>6fDiҘu0^^vz"fV bQ4ךRYJR nw# >qfj*奷H="&1AZ,Ctyсw"ԣgo588y.-7 & yo[ gB;k..fΠ&ɖcMR]$EAazRƀOYbU¤/de75Yj%+KWgj%FlM&[NR}Ȥ;'ggA;W'" Rӹr32ZjDQ\C&̗#|-=1KP$2?z=]kGfl6O/c 8 6X&#ܴJ.QT}3b#( hxUF_ 3FC=ǭ8Qh.D5IQo/I@3Ytv2 {:yB cθ]ojޤ1,+U]Rm,T6ß>&D*j5=R H1/SU@Ű\uaA(;!Hkɪ{;E }܀Μx:IlϠ\]VRq-7N3VTӴ.ϫ) tN[@jX:ڃHb jfNX$08 hɘ8k25̜bIHx)]5Ps5/98< FI[c|6F}͓`:ܬ\>fmu?E)zR"Ϩ0 o Al1<>KL7VQ1ŧ0K; H-%Xt]cJ=Ԩta]/N%koR|a{V߆7-XĭE;LQ{sОM1QJhѨ규h7cv1_Lyv5Zڮ o<ڷ΄!+)whWkLgϲ~ 8q! )^௛K Pˈfb7.vMyq༯FY6fu.NY~:ȇ4~g#;{64ҝx`KwR@Dv<;-ʔm{⭯/+ɫ-XYu\jI΀,`ר|揧V7ѕD:ї.GӇ`ayں_Ơ>i 4x)FʹMwU3í?ֻ|ԎM8(|g?aˤaiw'A=5;{ 1ݿq/9)1Uȧ ȥ6Sاe4eu0C A+67ͥAưhsW2 tm%.ćf)؄7+u>k$xF_Nu%߈Cj0_)o]˴Lj1xxcɺ$ʸ M^;B> ( HNN.#)ҁW]!D0s&)o%'95}!]V5}5aؼ^o/./~~G.ϯ'˲şPKrN_#bocadillo/sse.pyUMO1m#)RD)E=8Yb굷 ޱ#zoyx[YSã3dAl%$)w'>6%@?hK3%!#,698p gKEu$ 67n6 L6͋T>LQ,”nc QZqnzHM '1jAjEel}.Qjjv~ctܝCj6%$'Ip>]O4^o@pdx6V 8md9d5VOmA4lKgњMb_a0Yw]g0"w%\sK8Ń^ xi4W ERac!t9E]GUrX 00UJa  VyI {@ƎrU^+ ቫ-F Ȫ B8jFƵU:q/R $Ż塡mK.\P*76ijPÕѸ|/ۛnFS['ˮGVBR̀;8%Kek/F[Y2namʤ."@bh2q,IRI{s yӠi¿,,JPx5鱦X?|Q5:RMX؝f:="k%Q7بoC#h2Imا{v2ҖҢZ nK4 =;5럔$>Wq.\4hGC!pe,`'PKrNDίkbocadillo/staticfiles.pyuRMo0 +,zj weUm{ !*(1 00 /~etדeڱF3_+/YIo?<}?UGQTa 2D\kTRxz^7` n*nZrLV}EX2);hǍ)i"7^qt>6 iq"bC&r!&m&7lt n<|]@PKrN3.̛bocadillo/templates.pyWK6W )P@\4hSQ0lZe&)n3$E=lo"h;mt̝8DtNfu2J+t q7LU,g zF+W!uUxIj$6- YOga!lvF[pA ]u(pra] 0{Usp6tuMXQ'΁I99xtJ9;&db1zU$*f]v=T] p/Fu|C} S]%:d+a{f/ QVem a`Fk2vVeVN\&82,Q|)%Oǻ/;f .`l{8XLO8KB q4Ly =c''(=ru}npX,8xyJ`TҙӃ2YۘlȈP9Y--YmT QUjRVB[A!Jkm 4^U`w#k}6J}Nm u=G`jPiϧ{k%ZW|u$)*gUZņW B]ķG9ZeD(%{&( 5SuwB$T8]`d'זw3$ VRYQJ@*434a''Gzb2#Y7'V|-~ҟk\wn’Bp"ůQ2>$dpj@sUpKhW @IC$cPKrN2Gybocadillo/urlparse.pyTo0~_qXLM6+> `JLlԉw[s?$wȵ-LGd<+*Vp",)m9;%iWЭKR  L So v^E512ȱ XE#L̐[[}*( h Bv>^& QDsHDbhͪ4`iTn"4"+(QT;- t=;WæeE^tQ˯Ȣ2ذ꤬4uy4.Zㄊp1ն.w+r][ dHY˜R JH%M>J䶺eCVfkS>I9v΂v[1y՞PazwMs[@P#ho ͖ra滼N찹7nru@$8|PKrNҝabocadillo/utils.pyN0 } \ViLB!|luWKi\%^=iv!%?~ [vYmhEOʨ=,n~X*{*\W.W*<H OÌeɲiL2 gNb5H!!c zJC%ܟTif Ұ Ԗw"<i7u)D=4_/]tWYSũgeU<"(:^13,5>zM=KxdE>|LOjyPWQe2J EV1:.΀?IyPKrNbocadillo/views.pyWMo8WΡ=^ xIib #IԒTS# $9SEpqpH&nhhvIU&9A+x9k[ \kl*t!떙0WL"7ڰDz\~_}p.Hg+Pv]rdoW(Iܔr?3j5n6+mzFXU 9C5>'bHœ$)*uRrI`^}/x! ~ )~,8"]=0jNgDSU>: ԯit)0SU6↟)6 yX$F;g*{`K!T0DB3QbU)M i5)Օ4RidѸѡ7 [ñf⺆d=c''GXތEΟ =KOGjLhڈx2ӟd'j]­4GaCV=Cw!ȅ `,y%kaha5ASJGք1<d:>;|xI5 |-1YRQcOн`+aF.des['z'\2wIg/?^oq[ }PKrN5ac !bocadillo/websockets.pyZ_s7(YeU2퓦w$=i2KIW\ZQ3\rHA+m<+]fทjs|h]ucr] kEZpˍunk- k?2aLjrw VK0nآ%`NRJ*pRgŖPvnD.佘E^PE$v{n[zn*WuYc+|+ j@{}]qq]}|w`7)W(w37m,JlLV]bB_\\%7h4{8;dx`H+ ҅b=L7,Ĵ;tW/ЀAC_PJٛ%9/K*EKNk(D8Nii4&䵭2boYr?[lǭDGM@?kal9k^`D`յX-%πӮ6hQ{2u_UqŖV vV%hOFD{&{וޡB2=feNqUazUQ:=, ,{ jvkN@9rGF, 73lp 8%~4>T ?S4FI. y,/+#B[%ޗ$@*Bh`r9K&ׁk-@VuYz6N"@Ico޼0vpi .6KyQ;); À g7]Zp\FȋbOLSٞg_!d{0K[t{2SVdgh}==p6p8Z4GC/ǽ5VK.$u<=NhYO8r?M$Y֙ʈrmR¬ɺ~Q}rZ3X`Ċ (wr͠00q" o5UzYbhi/؇3vnHHKZDg8 %JT#ez`}Q-ʮzi6A RBH$0Dڦ^(\Bm2% b\)V2i@}uF CLhop̖۪0`:o`z21k 2mɇ&GPNm8|)'$Okql姃vQճ)'2[P%NMey8rBG_ 50bJ>PgT E@$d ͘EKub¤~t. v+DMzah*C#5ⳄxC6^@$55Tf/ryC!]\@&=[6ZM\Zm}5u6.GƹǍs0!!eJ|q!pPsBT+h-~H9oM;?A֛ w*sc2XB5-61"X\Pqջ+JI(EKN`DufXN_~|;ahJ=kB@/v/^)( # /`x` s;#TEa3~~nBAʢ^&`cܨ{ZM"SI9oH Qw"YKǃS.;…xoMH:c~zvC腖8siNB;n ρ4=CvЧ lYqs:ckuQ'7,M2c8Jc[DZIsŽXA0&$, ?7PKrNbocadillo/contrib/__init__.pyPKrNM3bocadillo/contrib/pydocmd.pySn0 W!^`P\[(\$Cߗ' - G 3DoHk >{ęd5MS`q,8;K:Zs=рL8Fsud*hzGш.KPJFLC7CRWrV *gmѾr;7 'L'O)eRb2A ͓I}2"Z+8q KOA\8V aXvj?k//':`a@ErL>r]S1q^mOpě.Y0Ys  srljbZ 'O9L D_)ʷW!ϒ?"9+~J8bXOQ PKrN翋vtasks/__init__.py}N0D +aЊ7l'!,( HU첎2t >fEꋢx 4STr+}ʀa]1Y#Xp9#8Z̫ې )>ӃP蠒bJURSaqJK?Ey̵@ 6k9!P>wFh?onC*7[-KHkE"3sKX\ KݽX#QYHo,Ɉ*jMorPKrNtests/__init__.pyPKrNl+tests/conftest.pySn0 +4sѫQN;GóFmi26dɱ[N1GhOFӜ&dz?uS5ٯdc^诅jz#f|)0e|Dc_fμSHUr(ߪc-t<f??;тqEΜrrt( SU*ZSeƈIBV+ېXW%b\%.S5NM_O{$VF?HM)|BGxǂ 1`b8yy؜b}8V٪{ 6m)YEoVquyKQ]zKU4x:<>w~Kr@ar (2Q WF뾲%\)Dŷ4 Vd}'ng_ӛUz}[Ӈ^PKrN4Ttests/test_allowed_hosts.pyMA0 E>*v1B`1 Ƶ֐XK+'Zm,LE ?Y p!B&M=1^N)bR 8BEmL$){`~Nmqwr> hitvsՈniY96<Ԩ1|:(yjeǼ}XwӋQdW,Nk PKrNstests/test_attachment.pyUOn0 }WXyXT cB($Cl$K7B#Ȼ >gcLYN~$y;kCT)Vw-yBb x Pitk-}j"SbTn.,;0?OUGOA-|m6KY<<zt XOI4#De8Jd/fwoɍخ^W[PKrNi{R4tests/test_background_tasks.pySMo0 WD= uhG$HQH\V,q9M iGnZ)TeYl\e *om(žׁ d cuui}M'5ᄔ7MPYpM4c/ڜ\e-vHFc}Mx-j}LJRڡz ϶z`ËvH(Imd'Ry+jڴ" @VGxl4lz#|@6Zl,'' >&-rTxukkT/ GxaU0͚ X{'MϪK/ʫa k鮺?| }2w$SdWyHq[R=)K{yd;n=U@ *M+/hG0?To4וъoǯUY 2-\S>VX vi R7PKrN S=Btests/test_converters.pyWK6W<V(^'NC(rh'c!h"Z]gE"/+rfȏ3̲R},ߌF-ˣ+:* h "Vlk2 igh4Z(Un.YY$\L3n'RTSD#+ԑĜ %|6f~|QyVΝJ;׀] ^2A% *50mGKߜsjL*ɛ7C&7*"oߓ˵@ⓝ^㦪%*bd ĝI툛ޞ6:D^ h$ 2)2KLfhظѦ1Y,ZG0& |񄎄۠5X^qMlAb%`Y JVB{YATKdHz7,̹ꓯO3BP Qdx>tJ}@*CL~(sݪWk 77+p3Ï8"aElڴXco˅]z?`x[w.c_CECY鍫j";T.@llGuEt@֒)o89;]6EF6;C<0_YC }Aup|; WGPᒣjTl2UWOAJ!S쓥 jgƃR¸19 NWfLAـTH[S WZlнH8F y;< }_ޒ@glO<9S\@:C8ëdwXP[q6FOa7*hhq8>F}u39Ԭ i!wS=%p~d^T OO O6Z<:)?-(̋u}ZGF^7Ƿuz =ooOaи9*Wxĝos)m1y>Aީ3zz͋lzj-;&iVP>[UFl׏lL|#t$Vs80J/4"_;8)ZH;0)9 C(?5@tests/test_cors.pyTM0WXHih/"۪dFx-h;&iQ+y3^yVz#Sȵ= PKrN ť,tests/test_error_handling.pyW[o6~` P&K_8h5P4d/]!qE&Uj;/6y;/\1J*C~a֓ILw!sV̓JH0 7P'RR=VL%(HFf+.w4A&,/cVY XUų %{-l3:R=! tB*Z^Fܬb\~E6'[u22 FknSgI&D߼!YA5> tHJZAŐ 9jĐ||R Ĵ>}`%(1cFrY&Lue 1R=ؘWRh(!4O}Gbx}D1@>H4S41L|YqY0fr ϳ` X|60p~IBH@"UMD Mal{ཱིpR6)O(`"BPWkQOK8J  X~ W:0s޷{*3/|6uD0ڗSo.v1z\jR5:΂1/VhAC CtF=5}aYYb̽vwx@aCHQb-3]P;~E[Rk s.)b×Xd=x?\7wDlnx`c9 &[86[,rK9xa$ 4*B a)6gTtƹMuK)iiS+H=Jׁ۲ |x6v"+W'K_O{;Y-|y3 H%[/ f#>k1#dux:'SR*C΋?Vb˟gF9rϣ^Y(~ԯwiт@$#iWAy}F=&Opz,j-E8MHݫh^v56׋(v½Q[;a2IQpqw^\^e{.9q^nl(vrw8 R4`wTR;pPH..UV' 4V6{~0ZܟsYNPKrNHOCtests/test_events.pyAo0 ]T{Ive%RpXl"zBknI^!Bm>k޺.2dXL ي^l8Qan7nI6 tl/Uk@E@f<6K5 *zZ$°(צ^y%>vǯ=Z0C/XwtGE-D䙆J(kR` |jE"hG!8L %Jh0PZC˱Is0e rr/#0U&3BqJr6P]ը;ŻjT8s^Q2텷YoPKrNWgtests/test_file_responses.pyS=o0+\"tt"(nE!0)""*y=4}[gu~=|O!Гm>Z5 #kғWmb?]i0IKo>.%xptqQ.1n_\u+yᦞEi_bΚCSJgZA֋rezȖ'o!=s5'7|Q%$0eLPV PKrNhtests/test_gzip.pyeN0 } +VJqR$8"I]C;Iۉ!|r~{HaS0ںi  ~p㒰P3*39\UxqQק 3zbʑ2aMhߕ9V#g n EO>T+r}S[X;lj [[;DDF߮Uok?ZFib"%ȇ'ou~Gŧ:!K"H }ys΄^u hie,CD(6$ w)U-Ecմ%ռRPb0.aM1}B嬐f%7ZVP>ZNc[3%GxkQ([и?:PeFAhJey+uR`7] HG=TYg[Y1nj^F<xy^IKy{GIGB{q"?6leN (HtNm_.ysOkPIr**g[矗j.%_J $O>~;֋f0h?Akc̼(Y0c c3s[=sLE4k7C`xS*4̋٭RLק?ѡjθ^F9|) pyahJ v[ 3,p&o/E[%:!4#˴h#{N1:0UξHXna55>q_>}~PKrN6Wtests/test_hsts.pymQn S"Eɦ*EiO4! NDag~c,%])Y|IKNMq mCmI`H/zEB ќ8m>C^"ם/`MO1Wmr=*ywkDzA/cIA&dV|t,,7zAu:ŘSD@ks>6L@# Mf/l STZPiq3 ʤ/PKrNcL tests/test_http.pyVn0 +4_%@Xvh vؒ')Mb>Jrb;vӬeĖIG/+  LɒeR^pfSAb [Ɖ0afABH Ι>rXXUM=NRp&W+20 'a֘%@l4.R،vi/815+M$MrHXD57ygנGZNF.x$$wv l x+&w5F `E`BkpU,ZSoƇ\OQCgԛQ! ( 1%ڨבO(~-dŒQnݵw.,r79aT%+e &l Wb {Srn5HYr&(}e[[T⫪o(>][g뿐ܨn8=lZ5Em35IjkQ-VNj0 OLr'Ęx9(78^\EB*IrVcsݧv)f8,Cs`&r-@ QTD@i.Spb^ /_A<6$N%ZK^9xMKK8*~.m7JI!4I ̽6t'ꁰԘl `5+BA+`\!PKrN;(Ftests/test_injection.pyUM0+\N QJYJ=Vȁa.cBU{&j.(=3QڰfkMZlr^RLIXd)[ k֢|VPwp8i)6*Jƛ&Ҽ`b>F? T('4aㄬVE[_Ci OǬm bq+sf'"f+i>&l$&bj`c܅38"{'j&w0BUZshdFJkn֭.QJRpn9yq5i5hp- 9ǽlK(h mP2ժ57[0;:RP,W};;s>YKx2Zd2/f䳡-jgtĻi5 r ҫ5IOx>R=Ny>m/%̍ 6nKF6u0G0U|(%ǍNE=|DžaȬ*р 95WјZtTxuxn'*I j7`I6Zc^ƖÉ?VȾqW ^/2nPv&g5^ [S8o[|Hho/PKrN>$tests/test_json_validation_errors.pyTM0W|JP b/+UZ! N :3Rwl'fJhʼnd>߼yKa?9 b|w^ck0Ghf7ZBE-2g\;걺. >bl``ܮgc\z$Е-mqyMܣ5-|!"Pg,7T? DԬ9>)8=!wwq*gPhFV7z~0%z+Pi#њi?>-Xvy ^_PjIX5}q|d ڀ5jʉǥZxwAAR(y+1p:' f%(OD8L*v$׽nXꀆ  $PKrN wtests/test_methods.pyŔMk1B]X&!HI#XtWR٦h$d/FY7znۆolJ]ז~ι&2=r\~߾._~0ny)@B8}f[[SBlȺUO"ـbM~~5s׎uRVBţH3r(n"^ƋZQ̉SuKro[D|vTؙǚڔ'+s*(KsN 'RXiL4Yؒ5_%Ԁ &SXl:TL_ؚ*]Ƣ }@nv6W=ǚGBMQRsPB-EC<{/|y[zPKrNJO tests/test_middleware_asgi.pyVO0_a)EQ@{AB}iC[W֚k{ӂ;;N@ >U}9bmyp>[X&3+{,8GDkv-Psߒ&k]nt͸RwƔ|~Zm,%s\~\–Y88,B Oi@.JŒ E<((gNɵfRJb?b[&|jCen)躯@Z P>6̲(I!9m ϤkZཨEpvcOU_ht]cw Ȏ,V'S eci׭pB!T+`l7nTn H#; 4i=]Gc*pyd|,1_i¤<'!?#)6Eku;p[Xj`I0@̞;KG@Ù)w5,\"9MszXŬh+do50˓cA  S\ |+/7LHv#ΰB~ {!tiϿ݈ź9>a:rWmyMłkꚛ|{1>?us_ډG굃yձ{;tILIp'* ׺Q#蒗qP|x;~2d id +{<I: J_[U\h"PKrN!x8tests/test_middleware_http.pyVK6WE \wS6HPhZ P--2ɒn!),m~y|c0sԖ@e[wSIa޶|3\'&td,yێoZ7 * "?FkW^-,jzh@/RuF9r֚q(F1/瞪eƐa+5DEgzi͍bj v&G:tst'{5ˎmMx;)`E-ot7N&7cɯ[|/O^<(Fq:~WsR.ǹ"\@~<?΂6]/ZNd-2=܍N1=qY"tfh'5cG*W/`8ܗڞǪHѣؒY33'7o>+~>6L;/F@[YC>[$P&(b2zapt/Bu**)ߝVL*?p9tɢSB~PKrN]Otests/test_plugins.pySMO0 W:RU*a=m5B)iSbW 8L?`@b7Ď_ߋM9O{&@b]#\+cfȖݚ҃&P5R&L[ N)S(uS!ydΥS43>ird54>e, e3gaq$'x"YE2(F{6l_;6ṡP2/R}`^-jD`|GU dQ''@s9)D{`?IcD]󋒉i"2\뛛u?_9lXz؉ɖHErգ$c.*B S7?{*d2=O΅:S2V 7v"83ֵ̝GƢ1Cd|:Y .7PKrN]:tC{tests/test_redirect.py͕Qk0)nKRe} :C%W놱モcN0$Ow R\HAT6>c. f.,fw[ZJfz{y [VsE,K]a8ֹݩ | 83x.Я#nUOي$q ȅlT%L lx :n&b287;x#;dRP>N12 KjmBBbAZQI<p:v4W.--RS #k,tNF |\zFՓnVq2PQ~j>hRҗw[?Gڽu$:= Ui|x˓}4h Tl*8\]./_DA klL5BE>bZ^w1>"1 ݣx6_֐qSCMPaM1 yj ֨r۽MŮ/98 \UxNBeɩ5z;2|Go{H3OPKrN{ |tests/test_request.pyWn6}W PH"gdM{a8b,I' ;Cʒ.z,!5eS+Úm`iÕc ͹ڨUfV 4VZZE\HYoMeIBtoίoo?]^ K"-6\_! OQadVd4k|"4cJ aP9WqRug ïqn0cZ?tq2F ^" r,+ǧ}`MĊ?u&H\bcی -l+AD [z7n`>F.lVxޅ-%xIDI"k95DZ3Rgݭk;.r 鯛OVp)t]aF4Ɗhͱm;szzv 2`Ka1i>Y` 0P<5gw*l7cH`vQ i=o3wX9.xII^.rN.׭ԹFl$945;|?$$fŪ©7ܙTE-;Vw!mʘzBkfBRV.aVqs 吳@J!3bъ:mtZT_31j{ătJ|;75bQdSz-Wwbz-@4,;61ܤ3 { PKrN9 tests/test_response.pyVn0 +bi =alʒ&)]a>vM7`Y-"{YF(vlek(-SsEQ4f%Ent&PAM]C:"c,sK:cV`b,M/xakjF iu0~NP]Zv5ALc@;9aaWWeQyJUE@DW1-lu bMU^3!hA6ÐhS}RM3^ "ZTCҍIQv[eX'T-5|R.kVh ({P-KYWc$ȬW:nc̐,'`Ha\5([oI?wK ^}a~&Ytb᪅~7wyW% SXFKongƴsݪ/yz'KJ(8+f1xK >}jإ鬡 *n߮OE KUyі,D?ܑ1LF GILc`'%;}RތuTPKrNztests/test_router.pyVK0WrIQ>TiGadXM`Oh 3l>$zmoy[n {R [X$2}Q*tȾ⋊׀UC!/K*5W Ǚ' ,2O`5`s޾=SQfxwFa /Vf: , Ul>g3ڒBC1ڽƘ1KGs"cf] CTW Kmr[r)ĥ8|M&Lj$Sm E`P^*H;3Q }9&RS@bW=h<Ə6BBh'ٯNC|R95W]ߏ"30N֊ZlsV@$-o'FI(LZl"Q$kRKիGvl2?m'df Nt/@T)ׇ ~s{t0k)wZLCoNC'{lm#gvewCB"/7'wG2^jS8uP4\>5On#cKK)+0!;nW=@ KFöSf(&R" ٢DfRUfk/-$lg?Kw%[~B{>^By:ә ˨4c#\P~CߏȍLq|$}ɛs 5"6ڋKy߾ѕ!o٩^x7#d IKJUxJX)Zy+w;~RyPF\r8sO(b??Fޯ-PKrN~ tests/test_sse.pyWK6WDnh/zKыa4H츋 R:D7ctt7k8;dD㶕}Ut`ݸ2KE?t[!m$(V W_ށك) o{In iO-1СβmQus߻埜n4l%yM(gz!K]pr(VB;֝D\<s9mdKJQaZ|Y I,60}mkK)D Y7jIZYhE2}у~ZZ Gq/bDcH6~pY1N-(0fbΚ+Qd:ڂ; !6}ewen51ȣ3p6$(@-W >f3;ky`t$)؍Tn1C¬,ZYi9 dI|{- ~^¹t0\]\ҭ F8I`B ̍]$ _s'X1e^C-EuQRy-_u.ȮNbjJ^m9FY u#*rF ;b8PRטhX}\ӅN)pmPckt i} ~JN{(9Ҹ 2s9[Ńa 2)H;u A;lsA+Ǩt 5\e޹/.92Ix**BgS5j%M,i=gNN\c)z SDdj)dI-P{LC':UcU[!*oh5DȜ)UQfKm=, I[g ݦ=:nq\ VZ畺j;[$82UTp k y2cjxC)F8^gx`QLwi!џN>adҎ>.8[$PKrNY7 tests/test_streaming_response.pyVM0WX%JX-pBBu&lgۂ+qv&]VZȩo{jK9HJiKEҊ1\n!dXBF\,Xu`M×_M9pSU r+8Hf A7 raL%Ӱŕ8 Ό@S)i Uu6b~uDYSvѪyƨyMȇ_x#E2}=.Q .f _#iUhIo{ +̂ƭBA{D%tGyXLy[[b'Qk0* 2Hm VfJ9h)_Jş$%MTZ^ECF:'XU&(6sJTRXAڔt-!݀EqK@CpM--Yag!: SЦ 8$=KC+B*TdNP)r+kygc4 )rLn1OC5d^l4JJdp#|\YdYΤlTg"1OQɲ19XXFhL>٥1|}%̕XKKES%K^^}8~qy];[*yD Ih4ٜeͤ#EO%*8瓶w--A|z񡿒V ̤+YI"oX@Nʫ2HˬZX[-\0/hZ_pnA0Zg>ȍlÎINdo},-5C %:U|WǓh;P-iLM #iQԽ:<$r!$&3F.>놋B7Vl/jZҴt7|& X)Oނ1hN J].3G S"UzEG< ׃ SUbh{C6,vM{^tnWzf6P:I`bX*ҐrLVT2aīB$a1N-6pᅟkؓ@͐lNRtM"7؎@*TǺo+FC4tʢ;Rt@o&$O &s&*Aybs%Pnn;;[DR;;ڔ׹ hז0K؄uS0W} ߱!AP4 <- 玉u k-'%sݸѮX\`4^QF*EiyC;ǫv!Tcn2KXhӬアZP9eo$;2`+%u;Ίd3c_ƣjZ6!tv5N??6>S^Q\1Eli߹Koal')}~66UVwTG;h'UڦշasKPɌwȌDmI;eRk )O2?j -[קTO஄V3u-MMAW.ܝ(ؠ a7=fY{ ^8 "{.OO܆? u<9\9hqP)Ǔ{ -S < okJTq5vpxoPɹF]o9&I?o;a\9cbh揎Vn;u_یЙ}|*/lWUޯR%[$!)d,+hkB[\p7F7m~@>.EZ^. #3R;1+F`-=ՌD;D^ @杸! }O; gŜ*'nz3+y>r٦i?b@ Fx%0\ /--V8[!ki Slhmy?>>wm7Fτ=u? ].4{{=]L# }_mk%J k)bXE )]d;쫃޹=V3:cx|0u}Q19 PKrNDjtests/test_wildcard_routes.pySMo0 W\1@n (6h-eE(;k6iaGۦ+Uo`KSY=2 0Jqs+2ϓ3BJ3;A@Tx"X'2S=P(eq?82Cr*UR@(h.[?K;mWq /ȍ@lwzr4$`$j:ݭ׃܌oU gx אFj9Sl,\+ܤl F@ s\!^bor/#F)9PKzN=[`w0"bocadillo-0.17.0.dist-info/LICENSE]RK0W8Jqz3Y%,hC\Ŧh}gVB<5RCZ;Xϯ;G7X ~r'?vP5v:dpmaLG@`W8)GF7@\ 'c0L;0!ăηwp { 澱xI:kF[ .a!N%4wrwZ A/Ns\A/s 'v"8={P7ϐ3\{׉ pFN1m#Uh_Zs(|gLco;{w$WBob/;чwffm>!Z@S+ZU/2,xE[FN(^T+~2K@hEK5Y&3,qO, TW@w()+JKKKJ0W5WZ+7–\)d(b >Y<'*7^>HzZú3ť@e|Js.2^g1oUv-D|UI6Ҫ T}u+W@V*FqF5^)n(5s #VCdmPKzN`Or#bocadillo-0.17.0.dist-info/METADATAX[rU@t2uSJ8e*5nXhIwR #&knYBͷe[38{/YPK6\.ًvs.&\Lwh',K^RcILTad\jͤ%T&TЁ`dԐ҄d+) eL Z}dRnrqK) Bi+MeLzrE 'QN_*x̤קWZ}Y\Rl{ <3¢c9ܦAwď2*S&TzOPN09z?(O7Z;w>x j r#PK. v#(2{"G\+y#-Jd/d̜@c ۤq\\~FMDTSAexOd*.` )t +%Di;yo*4HQW.zzo+U\SRuah9 D} 0Jߚ-K53amKcfb ):^Une,J&j,g.1jed=|쵗Oiœs8U=H9,03슣ZN4eƚez楰ڮhd[f34YIJt!؋v.?iK= N>YMэ`+!{Ȧl*(6y0n.srkX*?ǽl0z ;L6YApoэZgXAuW׉͇ ?iYmN7AOM%c'SC0Y[tknK&8,Mf]JBueu[5ݵ x4}ݹoUT/ 777Ūs^ <{=UVPںdEAz-PAe[NJ@i c}ݴ>}4Gʘk.]BPE[enAa3.n[!&ƀԈ'ʔUhBtdX!l>u~a󞓴owW֜W)g V.\ۅ=f "Rr]P Kt?㗟_|Osbz49r<+<ǖe:;s֍owv׎oo֎Z=Z;kxߓ{V|O׎o,n8aZPBPHb^BV;uumwqMq]ՔvmV7Ƶ FAeV ]nǒiDzbxzh L_ CN*JjDwޛ^:E^EAIÞlRXmhpm:0/$iS awZxjEoq=Du am.^6]g/L3P9 H;0ui۽[ı0캺s s 5;j6"Ku >V'[ 8> h1NO%vO6ɞ =BMtzⲷy v]?kfk6C-m׉J$.Ӊѝڮ 1:!&`UgNt^ l*3bZs"[!o!;>|> 잰Q7oU9>1҅N VK%i۲󬥈FvK{c7H x_>yOQ0D?s1:O%?({_`BaQ?JPW_5 e-BX`{j]L1J$ o<4S}ˌ9h Y*:U`˦pSlj|<ɷtg>rBF J|Nr EpO%Hf`(go+.6(b= Sxd5|K_=fnsѝꐺ"N!ϭ0FVAxj}pظ{oWc+w&J ែC iTNg]>4 $suǫ\BT9Xxp ]_ߧs@q~7mUx}#F`jJ-d[g]یSZ ]J?MF)L83/Ȗ- 1 d_b b`ID., =C?!x`W=hǥ frX0+qSAUBۏ.%?1?ph׵5ꭡY9y{5C^ qa$u*F-׸doR䱐QU} UmOʰ:(!/z#Fc]2P3x - .p|o:\?eY%9Zw#}HWE 'Z]RdX^0Ah)&̡eDbOTk%+܊+Ѫd}ŏ>NYJXع Gdj[Xk܇?n=By<(fu7gFChW`6&nهָ [(Xu >;RDϜ@nE77@b>DEέZEZFۧ@'kW Oc|b4=_N?ʂi:ꧭcޭhI|gH'u~W$gr48p]<1ׇ6U3!CtHr>g 4t]nbGz*8Uw\tˮNNq8=ETrlUJ h?q%}aM.0Pޙ_®̐R'JsM*΅Zo` b\]xr_iB*O}yLbrIVkPK2=黫{4g%볘B.:ApF4pX.K#/r\-(ݣ-҂ͷW]B3cKٞMuPvk+y\5leiDQ`1g?NY慈Hr!Ī=dLо|vn7(aw.$EE{EZ(kskyu|t_ sS&Yh w%)aYDzlyЩA~}C(=⩃B "P:S:t"2' NOstF.kg!e1< 5V bܞ>U)RܚOO c+\Fi%W0%cvܿ2>SM?s /i͑>v$e?~c?ۋ͟Џ"佌93,dY8`KY 1jQ.dǂI~Sy jf]GS-۲BQЙvw$v5$e 8JO4O}M.B?aw0J6L fyN_JAU ߃$_j<**"#ؘX/B5}ywUμW&}h\g1i o?cv{joI]/ SƶD-bH{߀~x~q@E# en;1ݍѿaq] 6^mY#j3 qla mz?9d/PKrN#(bbocadillo/__init__.pyPKrN foNObocadillo/app_types.pyPKrN gdbocadillo/applications.pyPKrN bocadillo/compat.pyPKrN-0f`  bocadillo/config.pyPKrNZS bocadillo/constants.pyPKrN:?Qbocadillo/converters.pyPKrNYQbocadillo/deprecation.pyPKrN?bocadillo/error_handlers.pyPKrN< bocadillo/errors.pyPKrNx[_ 8 :#bocadillo/hooks.pyPKrNdZw'bocadillo/injection.pyPKrNMt(bocadillo/middleware.pyPKrNWH}.bocadillo/plugins.pyPKrN*=#7bocadillo/redirection.pyPKrNt`8bocadillo/request.pyPKrN [b ;bocadillo/response.pyPKrN4 DFbocadillo/routing.pyPKrN_#Nbocadillo/sse.pyPKrNDίkQbocadillo/staticfiles.pyPKrN۳!cSbocadillo/streaming.pyPKrN3.̛Ubocadillo/templates.pyPKrNnH fZbocadillo/testing.pyPKrN2Gy_bocadillo/urlparse.pyPKrNҝa bbocadillo/utils.pyPKrNcbocadillo/views.pyPKrN5ac !hbocadillo/websockets.pyPKrNNsbocadillo/contrib/__init__.pyPKrNM3sbocadillo/contrib/pydocmd.pyPKrN翋vdutasks/__init__.pyPKrNvtests/__init__.pyPKrNl+vtests/conftest.pyPKrN4Txtests/test_allowed_hosts.pyPKrNsytests/test_attachment.pyPKrNi{R4ztests/test_background_tasks.pyPKrNjW`|tests/test_chunked_response.pyPKrN8 >}tests/test_config.pyPKrN S=B9tests/test_converters.pyPKrNy\>@tests/test_cors.pyPKrN ť,tests/test_error_handling.pyPKrNHOCtests/test_events.pyPKrNWgstests/test_file_responses.pyPKrNhtests/test_gzip.pyPKrNMkF tests/test_hooks.pyPKrN6W_tests/test_hsts.pyPKrNcL tests/test_http.pyPKrN ,0Ȗtests/test_import.pyPKrN;(F&tests/test_injection.pyPKrN^tests/test_json.pyPKrN>$tests/test_json_validation_errors.pyPKrN wtests/test_methods.pyPKrNJO tests/test_middleware_asgi.pyPKrN!x83tests/test_middleware_http.pyPKrNG[K6[tests/test_mount.pyPKrN]O2tests/test_plugins.pyPKrN]:tC{tests/test_redirect.pyPKrN{ |ztests/test_request.pyPKrN9 tests/test_response.pyPKrNzJtests/test_router.pyPKrNW7Ytests/test_sessions.pyPKrN~ tests/test_sse.pyPKrN; ʽtests/test_static.pyPKrNY7 tests/test_streaming_response.pyPKrN tests/test_templates.pyPKrN%j1tests/test_utils.pyPKrNz& tests/test_websocket.pyPKrNDjtests/test_wildcard_routes.pyPKrNPxɫtests/utils.pyPKzN=[`w0"bocadillo-0.17.0.dist-info/LICENSEPKzN`Or#Pbocadillo-0.17.0.dist-info/METADATAPKzN&\\ bocadillo-0.17.0.dist-info/WHEELPKzNw (bocadillo-0.17.0.dist-info/top_level.txtPKzN z!bocadillo-0.17.0.dist-info/RECORDPKII