From: Anton Baskanov baskanov@gmail.com
--- dlls/quartz/tests/mpegsplit.c | 82 ++++++++++++++++++++++++++++++++++ dlls/quartz/tests/rsrc.rc | 4 ++ dlls/quartz/tests/test2.mpg | Bin 0 -> 12288 bytes 3 files changed, 86 insertions(+) create mode 100644 dlls/quartz/tests/test2.mpg
diff --git a/dlls/quartz/tests/mpegsplit.c b/dlls/quartz/tests/mpegsplit.c index 73d021b6297..ea9eb7e87c6 100644 --- a/dlls/quartz/tests/mpegsplit.c +++ b/dlls/quartz/tests/mpegsplit.c @@ -447,6 +447,88 @@ static void test_find_pin(void) ok(!ref, "Got outstanding refcount %ld.\n", ref); ret = DeleteFileW(filename); ok(ret, "Failed to delete file, error %lu.\n", GetLastError()); + + filename = load_resource(L"test.mpg"); + filter = create_mpeg_splitter(); + graph = connect_input(filter, filename); + + hr = IBaseFilter_EnumPins(filter, &enum_pins); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IEnumPins_Next(enum_pins, 1, &pin2, NULL); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IBaseFilter_FindPin(filter, L"Input", &pin); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + ok(pin == pin2, "Expected pin %p, got %p.\n", pin2, pin); + IPin_Release(pin); + IPin_Release(pin2); + + hr = IEnumPins_Next(enum_pins, 1, &pin2, NULL); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IBaseFilter_FindPin(filter, L"Video", &pin); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + ok(pin == pin2, "Expected pin %p, got %p.\n", pin2, pin); + IPin_Release(pin); + IPin_Release(pin2); + + hr = IEnumPins_Next(enum_pins, 1, &pin2, NULL); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IBaseFilter_FindPin(filter, L"Audio", &pin); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + ok(pin == pin2, "Expected pin %p, got %p.\n", pin2, pin); + IPin_Release(pin); + IPin_Release(pin2); + + IEnumPins_Release(enum_pins); + IFilterGraph2_Release(graph); + ref = IBaseFilter_Release(filter); + ok(!ref, "Got outstanding refcount %ld.\n", ref); + ret = DeleteFileW(filename); + ok(ret, "Failed to delete file, error %lu.\n", GetLastError()); + + filename = load_resource(L"test2.mpg"); + filter = create_mpeg_splitter(); + graph = connect_input(filter, filename); + + hr = IBaseFilter_EnumPins(filter, &enum_pins); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IEnumPins_Next(enum_pins, 1, &pin2, NULL); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IBaseFilter_FindPin(filter, L"Input", &pin); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + ok(pin == pin2, "Expected pin %p, got %p.\n", pin2, pin); + IPin_Release(pin); + IPin_Release(pin2); + + hr = IEnumPins_Next(enum_pins, 1, &pin2, NULL); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IBaseFilter_FindPin(filter, L"Audio", &pin); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + todo_wine ok(pin == pin2, "Expected pin %p, got %p.\n", pin2, pin); + IPin_Release(pin); + IPin_Release(pin2); + + hr = IEnumPins_Next(enum_pins, 1, &pin2, NULL); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IBaseFilter_FindPin(filter, L"Video", &pin); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + todo_wine ok(pin == pin2, "Expected pin %p, got %p.\n", pin2, pin); + IPin_Release(pin); + IPin_Release(pin2); + + IEnumPins_Release(enum_pins); + IFilterGraph2_Release(graph); + ref = IBaseFilter_Release(filter); + ok(!ref, "Got outstanding refcount %ld.\n", ref); + ret = DeleteFileW(filename); + ok(ret, "Failed to delete file, error %lu.\n", GetLastError()); }
static void test_pin_info(void) diff --git a/dlls/quartz/tests/rsrc.rc b/dlls/quartz/tests/rsrc.rc index 2cc0d789ff0..02c9939bc7b 100644 --- a/dlls/quartz/tests/rsrc.rc +++ b/dlls/quartz/tests/rsrc.rc @@ -28,6 +28,10 @@ test.avi RCDATA "test.avi" /* @makedep: test.mpg */ test.mpg RCDATA "test.mpg"
+/* ffmpeg -f lavfi -i smptebars -f lavfi -i "sine=frequency=1000" -t 0.16 -r 25 -f mpeg -vcodec mpeg1video -vf scale=32x24 -acodec mp2 test2.mpg && ffmpeg -f lavfi -i smptebars -f lavfi -i "sine=frequency=1000" -t 0.16 -r 25 -f mpeg -vcodec mpeg1video -vf scale=32x24 -acodec mp2 -map 1 -map 0 - | dd conv=notrunc of=test2.mpg bs=1 count=30 */ +/* @makedep: test2.mpg */ +test2.mpg RCDATA "test2.mpg" + /* ffmpeg -f lavfi -i "sine=frequency=500" -t 0.5 -ar 48000 -b:a 32k -f mp3 -acodec mp3 -write_xing 0 test.mp3 */ /* @makedep: test.mp3 */ test.mp3 RCDATA "test.mp3" diff --git a/dlls/quartz/tests/test2.mpg b/dlls/quartz/tests/test2.mpg new file mode 100644 index 0000000000000000000000000000000000000000..b91c27d4991ea5156d292e32f19b9aa08f5431c9 GIT binary patch literal 12288 zcmeHtX;>3k)MmmiprD|#sKHhNkp_f_px8lNks!DtEf7#c#HCTNZE>M+!=<HBgg|f! zxB!Y0A+5O41tK5>j2Jc2r~x7%0<sgbRGsf)f8RVa^Zl6lG0*(!6jj`+O75+kd*1h) z^WIP>)W_2)R0=ga`!0n-eL^ut4V~#wT58kO)P}A!X;sdpXdfyZPtj&wK<7d&iiH_K zlLcx&q!>`V(SHiX1V+$*s@YJ2$(dORdB4Yn>z+uk(DHDiScPR#`<A7M418_I>}_#& zq!dmGH=bB#JlV1|?X#(hs<YkHP<qtlJpI))^)nrv=zH4t^qq%wY+fe^{t&;jzsZnl zY<|K34pVlbJ}G9Vr5lgUFIlN|Q_u7$ttVk@v?E3M+1wwyx5`9qStScGu%aZ|8dzo} z*ZSz-caJn|Z#o`Ef#PuOJ^FLlQ$o-~YMJ$y9t||G@-{4^+%YxwrX_e%wrQJFGIVA> z+pc%oK9h1-``S($y521FuvunHjOILMh@{(0DbuOiOzI|^?WPG65*AW^);dhh8&eui z%`>+@;ZM0|Xf|f0){P%Vewk%@+;C2kT(Q+*v6hADt5WM@j2F74>0d4PQz=?`rWFZe z%4jdNz5NWvmYhg5_n~Y$?{dPN8a}bw*0@&B?DZ*M=1NVxkTPSs*_iFVv&U_;FM7i9 zS>Br(>+wWsNTuAM?$N$C);pZ?LC?lk+r}zO>v_v|OWUlOywYOyz{cySvo3j{$DBf$ ztfiMVu3X#OGJ##X`n=in=_i~M^2WVbdSh~B?p%XR%M@VWBx)Z@oiP}k1X2`H^! z&|k_tM-AMv*^_OaI<WTYxj&Ozh{J~GOY<TO^qOxb9!;n{mY91ZHF4(jm(TwEKJh^? zk}x{+6EgI&sDoPXdrfR6`F!=VxiXIWOTyuR(R*4Gj;@$yzqtGbP2S%`9XLDnQCVOU zG5$=cTkt39-dx>#t#4Ka?!9}?Wo<&2z24a=lkB@G#M0i8vE#kI50U;~L!?cet97gC zdyju49R5iUAF-zFpwCRw4j3_gWjuO=LXrO0o8wBqzw!NC%7vXa(eTIUll-M?Y6Abh z{<Xlr7Wmf!|5{+w0*Dn$^;Od;+WT~YXnNjNTOz6z1881Qv=iLW{ns}t?tJ`x@V9ZH z;_WfmqU-ObvR^OaybR^M+-3JylHKboxvvXo>e8`TCMd{KD~jpZghs&5j|VKvo|14% zg#{>;r6zI>gwHg=_KXGZl{#eBtR~BFCXN3IWQ-<r8+)5`GMbDpqkR%jExz29&1hlC zWzAML)e%-SzKron_DS)eQFqaY8yDyIm0s!Wy?NAYJ>Su7Z}M{{xmfaP`E%{P;==x; zS5}U(&NiQfU6=)r^lzy45SKg4s9+A0L9g4O-u#7<Y$cn?*4p-MA7xWu8rXuNnRW4` zJHzA<`GstI^g!}>QGebS?;~NMOCp?^3q-3cFN*4t$DhoI|I0LSk^XR@#eIXmk;K_q z(M$F&nd_{OIz^brU33zVxxJW5%OsC|utm|!Axs8Kr$?$vYv%)h$W9Z}6H-2HR&wtt zWlw*4EPcg<W8)3nA15q7{JdpGqb}zNh2?g>`KS6t6w}!8Gd}3-&$6pfJp7_-D%&>! zyD+4Fy51+^r(<P|`+zelelEH8EaWlv41bC}kTKv%^h&_tIbO+J<gj%6W2_W^ia&PV zeLtP?e%4ohbEti&mqOd#PeP56EE!oOK1E{bM1QGo`Clf*Ure?#ukFc<mQ|)sIL-}Y zbJ=MOf=2L(I@gRXgbLU235G^YIBT3?=7bo(>*M;`pBxO#c8`+YJ!RN2cHfI+yQeP; zD#M1W?0YTz@VT{rzI!Pv8$1j$f>9adnrp2*!YV3YXEOTtT5dU+^7${{)lt8Dl|mPE z!ndfazG1!rs3nK5*k|lB42J%8c7D&_=3cxIp0AMUvBqcb>2GO1lS<Y;uU8)_^Z2c8 zSyI<Gw(#i-l6I(@WV90Wr&Sqvc_&;5788(@cE#Q?O<pA8v1{k90A~n-{#86S9&ZQf z5DoKT4%k8M+-JA(_-~)CdhL8S-o~09@oZ<~FPrafO}qEmd*a0Cil_C^!#Q{Ns%u%l z8UhA^_GN5lz&jF)md}B6cj_T)!LiOe+=$;Zw}@SFC9c8<^$>S+W;m__k}(1*nu<kK z&n$fYnfvy>&xyWf(b<w%!R9SWoBRL=#WJ6(*>+I|Q|$Ky-L}qitHiK&0+Lk_dF+@a ztxpLx@AlOMOS>+w(z7<7ojAi0$Bm!?>Ok&zE76nv7DVtCN-1Vg3kor(r)aTV@=sn5 z?*0+7F7kIN%c{Y0Rp#1bhM_CYj-Pw?pfx>vmUaQwP6E~rz|z#%>BZs6je~l^TL}{0 zW~=IDV-~xLTt$U1WTcoB13R5Lmz_={X=DItg7y_4a*ihsT(@77z2xIlATQAcAw}Gs zlR}37`k+tL%=gw!otZt$K+0E@P$(2FtcS!tKcNOoR2WU@v!_lkV>d5^+t=XSQ$>Fv znt=^reVBq?6Y;yE4Ti9OY=F_v=mX7pzY6P=faKZom)-4Q#bLs9i;AM9S3do29kgm2 zU&qJZV{!R`c5>CxG7^(10VBZpx<izSbO5$8b6wkfpS>(vS0VMx*%cEbDu?TE5hTWL z%m#K9NP&;eE}&h8huO>URpt!%<dsu5uXB!6_h!nUK(svXs;jFVB{{;BqIK;ydgZ%? z42yTiN_Wqb`n%!A_Z!2Et1SXb9?#n?+I9rGUdQ?|^3_=S0Lhonak-U%%ST8K??w$s z2^=4EFOS?<8S5S#>sSzVJo5A&0VtAPPflW<g&ydKFQ~e)yPXMxm<sEU*dM(6>Mn_m z%~JW2L!DB|{&Iy&^H{A{__YKD{m~7Uh+y>)m|(Dso&Jqgp~0<o)n{_lBwwZpbPhfW zZAOm8^q0XgLvI>xG~AL`A;T46L!iWl^mKP#ycUP67#h%o#&LsP?lmqo(5H(YxbL{r ze5c`f4t_%~wH;H5Cmq1Pk>VbLAyq4is?(z7Br7M~m2*i0Q0v}z|BEQTZ9V%UXwa@I ziP<F?XP&+Mq!B~KP-CjgQD3jQzX6g@f`%B{n&eXEA)(hqWwyPyP17@45b1T8yR&G? zqZ?wUC`<vrDS)BYuvt%_e2^4ZKht&-6IfOMU^!cdonvj~TEpgMY_a!u-(Irces#7_ zbqb51Y51DPFHu)Gmz+U{hG9BcZk-(FT1~ILykl<2s}W)3%F`d8mOnkepluWMnsU^b zRD~sX!q#0vHBXICRvyiCY#~`P)h^Fpp13g74s~vY)oiXHr2K>+G%yPtLwdlOOeQ&* z2lGmgCPOZ;U{gy&`=*vm4$~zwGNuHJpIvuzInVYu*8S{T6sFGP5TFKzU<l#l8+4Ma zCqq}*f!5&MN7~PmbL(iD8d8&EfyXa7Io@XHyS%`i@2+}{@(u&Sy%()tU?%_xh@rFh zqEU{8700b^?4Oh%&iFOq?mN=$ZGW8iZl)x73p<UZ4Ujl;^dga>^*AYORny1bdCgGt zf&IjegGGg0LWb{(31%NpoboVV`df6swC#Zx;Ry(V*Ouk&bViQI^ewb>zVm45O#Iu% zd#u|>;eM7Z-sY!clv@?DZws{BHVLbNHUJp%uddzd{xWbL(L^P=?)@L}Kcfsm8S-2c zma>XnLBdqBmF)L>66>sn(mJmk{Cfxi3Ob<fucW`ucg7&c9)_+W8MOE01cyj0bC$Th z^xZp9F-CuE*gg7_4VmkoVJiH(5-%PAzKj$(f8;0VlAP;v=&TN4B=K6H>u#FAS5Y4~ z%-6g5jBr_Jp-*hp1)p8;1-?R;fnMA_b{dR8FE*ffC7L|*gnWIujy%ZZ>N1nCqNTIW z!f`XLu(ou#)5kyoK&Ar5U>Vc$B&&V|%NcVslcGnmUjAJ2^pF*SD?k--ivHYV%><o> z+b74!MYev}01RLQ(buE1W1r$092g_)vk_<1?VzAP+k5lD+|6bDdHFkY!)0e~=;fHf zhu6+ufYwJciq($zA;;(*jqJ|X@JyB(u>ORSWn<DTV|7G7aznYB!wN-b4tDz-7lis8 zXK1hyTv_~jYE<z%7AYfH8e)*0R&66$phJ;({Qa=brTcl|&q?D7J8CT4e5qZpISMS9 zAaMzymOZVxG=c@lR4?7C3CLA?yDt|(?X=|?Te+-i`;vXF&r9|n=nH$Cy_iK}1V(64 zh62U&Sr7m;gc&xMP-;=>b#!sv(>0qY|DEs(MhS1Xuzh!o*lVcKYw%^~ed%t`-yCU= z&299u1JwGEOJYi343QvJW3~1*?_V3%%|3<)bplPMh=;dI?A+4=LJY+y{kRVKAb@`M zdi!A4$*5fnH&)zQYj4uv8s_yu70g!7inORL!r@}l24SL8tHUCXRTtJ|E9yj8DFu|! zGXlwSf>C={jjN(;1SG9k5ijmg0cU`~YjfQQApk<D1Vz9`=)1oE?zIzdp$z$Y?SYgT zubN{|Ir8Rgyp`zg>6LQcW=thFuGq6&zx(VPJL`G(`eLp>#yTKbgH-{Rt0eJZcS7#K zwoQF4s8>VuH<FcL044*vF11F;v6aa4y3wvOpJzDHaKiU?$N1J&yBfI6jCx^JYPqpw z;gmBuQ8`<gLzzK`9kd7S=XI)#Gbvi2fLsllH;{~gv!aK6A<g)5%}Z8~hW}&;#Pw<n zQ}m=&ZbXPtqA;MqhB2kj8F{tOX&Ax!VDR){;l`zhZ2eaAp2TrCiJW^%P3`EFQJFWL zP9HtnZ`7aWD{IedVrf7`^1qS-C4q@G&uZ;pUB-RRilKN}qlS^(OYnsXvTlYm133i3 zjS^HC>>uoF^*M&4b6nM0T5)jc;p`O)j$E`$SsTSq3EX{6M;p}dRF+iU508S9bw3u~ zc_$_D4qy#n`U(;d8e%HcXOVaNqX0Ze@&zNLpiT`%LI)txFd7-b((uV_pTKL?7jTk6 z0AVrP`-uAvJih()N8F_n0hplIisx~7(|3JY9@|v7QNOu&eS4P#SSom;#E_HWJ*3F7 zNMvetIi;0g2?$aq(_n&Dl4uAb0WiQ&5MYsf2+T%XRx)C4AkUeXpEza2!d=-v-!H5# ztQI+CMviXaWNCf1B+FypdnP63R3A8NFfqYuL@{TSyL$=?w%xB>6E7C4;nWa;ONSw2 z#*Z!><iUJ|n*hYuMcazD<pl--4SoZ^iHj*e9s0B5_S?L`91Btt%M5O_v$Ep+{S8m# z%{{cQvH0d6+{Jo;LSYXu&|kX-a*Q1DxYVCtSu=7w2td;j&`IDqX0tO_priyxAi0jh z0*;cAe5o@UG#83yTv5+lQP=powZRpOkF@9)<?w{e99~K8>4-_Ys>IV4o*i)*vkH@v zd}1^Oa+VXg3|A~)$4gw<0L6pxxSYVEJ4xD|j<k&FD4Ui+J=&zup6tkTzk3C>>fm)n z@OY_s_kzgo*8KgRjzvAP^EQ*>xN#SQ%Uzb8z1LjdQh_TMnlpyb1A@s2C199jbO~Jq zAE{y~31TIK-wmw%ev;p|!G(MaBZ&Fip&0>X$k57sezFtvK^t^zxi!9H%Y!TKOzxG1 zQ!Y9d_mnf`%(l3!Cp-Uis9QcqjBB&w55>#+K|r97L+%JAdSDKUsQWg1)gb4U6%WVb z9V&dq;IoXFhoHn1Fo2*kh^ebGPa0&?VHg{RfoU_Q&GZOqu5GS)dyBhS(N#VvDplgT z_hzokYt#SEa<^|6<hzB=m-xp@L;p$Z2Ic-9C65>G8EoEHbN^j2o!447*Zb1!B0*>@ znmon(dNQCxQ{z8_d6}872;`g*p~<VQ4Bi#9&UlV=H1GzyE*NTXHA7P;fLoRMAy;n) zAbWS9;9G^h)#ZmNH>Nz4PUKE+xta3W!l^zXb+4Dmbeiyaga1Wtkg&?KYqtwCAGd2G zGi-UOoXaAf=l)d(l#{_SDsgtAo3Za&v&a)G>Gttnd^DMLh~-|Md3ok-K`b)H7j&fq zT0tcBlWyp|>Fi|vsf6vYt{om6I$j1HIhd-%_QmOYA2{1`HnR7-Geo^)8*_l?eYhZF z`Xjl$<K46(0jj)`p|$hIEhN_0-yV9$`~!7~;y=>=wG-L@=>Mhq-_TjfktXQ87AadE zcOO$?BcMSPHw+!ZwI}tR7M}l**mAjZV}t8ca5}BD41%mhi4yiWt0DQT)Uv`qOT}^} z*csQ;ab;@T&wZlGxZ^GiRYda4+Yv{FiziU_RLezGR}3w%AvC{3_47O=UVr0C&|ssR z8tY$w!XpS2)pKIjI@&3O?$)%L_3tB7MN?i2R_+bF_<Yynui>>$o17H{R+}fvu)Owi zY{A2&E{%!|+jT&=RHz5WnF%(X(aBy;-+gg9uE8~!vbg?hw%#}vA`%#4j9yWP7451Q zolZ|&)>yuWcomqi4U*f1t3*a#BW)$AlS%?Z_gB{5buk&jSn?lTVrTe+WQ;dRw$<cV z9uqmaR&#iQO(nld3l8*W`(%4F2%My80zEU?`vPzj=>>?TaG+_@riVQ&`L%H07d11* zK+Ail+gNu$?cJ`GQ8AkVSMBmYJDlNW<Z?lYu{syjNQ@j3K2#rkb#|D|(3E9tEqnpw zDMR<|f{;#Wwhtg06d?NBx0;h#*}#Wn;2_3wh8}X&`LM@8j@;URWLwR>O;>)bNSbRH z>v%4o&L_f-mL=i}U{3D&yqDl#9J;J!JmgZ8?>YAVmu#l<hwq8&`_D^GdhQ)>lNUHj ze;inWx?QwBxGlI%g4}#`D@M*9R1opZb8k^o7jsR-)snjOXOZ@l74*stbxtMbV-JoS z_j5^WQc{s9UR<Sya{_R2^K)2rCANUKaU;=Y(Pkkrp7QWsvrF@Wp*Qxc%mYxCa0xCQ znQF#sYel$`qx@KoLj2<)9BRyejLc-|`=72q%k^aa;-?W!I)Lz_uX`|W?&8F@NfD6~ z5W8wFk6jRv;oNXFB5yZTZk}Vg)sc_L?^W}L&hyPIXgSe$orOBChxd)9Hsj88!4N`F z54zF~Z#(}8@m*`EcoJCmWMa+J1NL?P+Z*caO?X?wQm*Z~_j*uz>-Y=JISd~rSKDrI zsWq;Ld?}eYpi@(8ndl5%68k;5P7Vk=DJQ4!ykQVwzkTUfsjVy+@s$#>)F2wF-N}AW z-kv{Wo7(@}e$w;KfeEhhjA<xam5gy`X-f89&dT#VnGy7jB~=3|il~+AU$^Zrf{5at zH006_5ofsTJvJPar(0xu`kX?1J3LB<(KkKb7#Jg<5ZGvNM|hlKTN1vfs#3Vt<$ou? z{DPeCDV~Qk)J+<?PwF-FQavOMQHaCJPprGVrgX9=8%`1Uw-S4Yp_&2xVN?hfRXz>N z>_cf6N#G+j3GZTF=FQWEt{69FZBa6+H2A2%ULMTCm%u61zG8O8tl*3cXW?sptqhJ4 zwOKsMF-tN_+IY#ACE8f>IMT0iMbnf46o6<7z*Hw{Y44+I@6^ajQi5*W;y)Px=IoPd ztSzqgjdc|gJls8JCt80OIpmIy*qW4F#HVjjslkmq`Lf5H(^IVDSOoaS`%nbnoN zADrj@?jCNFYWG(NOZOp~R0iR*Ok2R{9q*bGgd!Kb8838hR)L+7XDzQeH@-bdp7)cl zpI1G1`S-N0kGsCyGSLx<QK;BJ#d)H+Tgs*l8}Z3K(w=(mQu#_#GsoM$Q_g60XO!*S zADTWgt%EiKRVcsPR)Q5?<*hF(6gtGTYFTr>X;_jmX`i>+8@Sc`^vM_f;mchwp(AD+ zf<cLU6py<R8^(HJ&_KsP>&D^G!=VS2or+Gyx8S`wv0m?@E>*ZZX^p(reN%n(hueQm z<g2hMvV8YJ!O~`qn{OH(mp0z4@&Jw`v~_+E{HBa!<HZR)B&64ILtUO>Y6eoCB9gd2 zM`be9xCU3AG_nqtED}_#a#DV)vaOosQciy%@e<7u+b!<ye!V@{$@rmv!3k#)>xP|g zJZ3Ff<jO@XS5SF6VQ*m6G3{8}gRZqVudrE~EKI|76}eQ3e&nN)9484CD%HbfNF4-X zpZ`98Ev?@Reiuv*BUFT%8_MBjvg=%v4lm^!nIG#Vqz-y+VF4t62=0IJm~wCTdoh{e zEORN$IPJW&DN15omNBK;gBR2-U8WC~Z06jIEj@_WFkrd}>oT_BBu0wK-GiLW$94y< z$M`Ojvbg~9nxj;vi<a(N*V%_<438c4eDcBh$#Wn;1Mhc_oA{Nze3K|6sE0Y>C>&2Z zm(Y+UIVZFiTXxQ|cQ6ht68XEGD+)kDAPZX4dF=O}(@}!QfCY9_Q>Uil@hv-AcH~&Z zGHd5raUyx%3EM8xJtpto;`8!K*#e&cF5ntQ*ZjbXRZKI#(JUdy@VLFs5*}4Aj^420 zawfAM0Y%?(0D12d#LA<!kPHuI*A|IUswaf2x2N5<@s8LKv0+Q6kl8P~Ghmiv%d0Ia z6zns(*tW>?>eH$)YJM*$fHsnKR?qtVOE&tPVjbl)(zmD*?M0R>HMB<Eh^o*hrFRk8 zbfdgLj0Tgz2gwY_3+P-5Zwmr87!Pn}-n(7kJHzq1<DDW2^MhnkTxz=5J3M>L++V-y z>feA=L`>0|toz+^X1)V-91}Tz*me0)%YVlI{OSL5{1-PSyt3v+Uf{CbR@SU`zmc_5 zg7Um!gqKm#R#P-sZswTtUEY#2KOd>OeW|^~;=qQW9x)7-kIC6?YAm6zp0Z8l71(S_ z3ws|lm(CxAVlvxmu=U&kFId{cw6?l5X5Co3acrvWQJUpCf0y8Qz96;&C8!aD4kFB` z9Umjjuode?bT??A{dQTsSLk7f+fI)olK${>EJoL~_U7I$IBE00ke>k(^ltrA-+D+w zT_vGzjf?h4yj;Yg!cWgno}q4eN}XE&O-@qu;PJrN^jlZ)Xt1K&X4`$$UjEFcHT`x( zp^%Ctqx@ZpiXK!7IHLfILhO^kY;!xW131!0qsbst{-mSGnEX9jIzs@N8M&H%l)AoP z`i=z6qiFXdX$yPxb2TXJ_;anDH`QdW^Ow7Pl!u&gvNsEFxH^|xlSN0lCILNa0!HOD z0yHK2rp$HUx#REZ3qZ&;GL0B%VSMDY3}B%9GE`}xv?Js4_Q{75UcJ4rqj2r>*a1Tu zffB@I*zLg|=67?Lx8!*%!Xi`4g!%8D3J_6Y-2|4dKs^j$8XVDj!?lvVqI20x`#uL= z!U;?TD7BNRSR_u;koJ$RXh2P`(a~XF{Pa%wV&%$vA2y9oJo)RdG!+Omt%-GEcka|+ z!+!Sj3^-S})<)co1AI`Q%~8RMZW0%h*l3>ECtQ*~Vg0%7QsmNohzM0Mh>yy?DuxQ( z9Zm5RNM$L@`3?FWIC*V%F?tYG;6T4~<SZ(pSjwvmHNDL+!ZO-=NA9^V*Et!;OW<5_ zH)o-WjP6l`xR1LL>8#fyM-`*uWM}9<sRQ2-kvCzjSO=g`gAJm9`3+Ri7I!NrGET6g z<=xk}+sFOj^HY{~`dUm(;tFUz@fsVL4Heo@V+2;a^aAI#tmj<+QOz14WC|q-1IDq& zyNX0o-?gUA`|my}zQdc0Q1=n4(N=>{gh~^XOLQRYRaYM0Jt;1|zPK)VYKqM>tm0L_ zn*(ADM8-trflQVvD$j3Ls`YTvnR1jvJ>q!sQk`X}epe9iC}(+aFgss5xgfm&2l;aG zG#bi^@*xdwA;;=K@lTGRJt}<U@UpyZynl*aVG;INJ@~QYL95sN*?{WU0V6JrpeFtu z5y+o<K<w(5H9rJieW>wwtY;-_kkY4y919*B1OLn=Cugk;D##1G>NUC`VghcU4Sq;b zQGc&V1&DI|-Td8RnGPb;ymgt%uAxpta;X7YLKucOGXztFbgO;O4)k3M+%$GexWjPZ zg7y$;S|<d30}R)YZ9I{)$Z0fNJ!NEWXTK&eON?|VAXkv-B!!xeK+^MFnF3N+TjxrD zxo7vQ9rYKs2v;WrtpZm*f$SL}<jz`lxo*ZB5Kr})I!Qam;up6d;qwxPG9Ic?9j_)c zA^=GRY12;`l<e<omEM)!WuO%c7IG+@U?H5ckQe`RMND_EuX8QbUCs1n$NXV*Derep z7DEk<<Rv@DRjJPiTs^BOSdM+3<d?*?w*QIVw^Ky2_y{HnHIlv4Q`QNB4}P8E*e6HU zQ8JKE;|L^}3P&Je5EvQ;4XM)6ipq?-6jV%o=(5$;;QU|qjD}3sFi15^H*~nO$nc!W zNr4&lG2@F~TH84;U1e0&cTs~!4-uF`t>|=oT5jHOZT)eS;4Lz=wq1es!wA+((P9iR zVD$UoYD|f)3|-wOnRj)2#l1t`lz&vbrzIkh7%f{EpoJHQKni8k3i%|JZv0VxR_vEB zmBH5Jj-OJno4Fl3Rh#28#W})`Z>mG_*Ti{(ukjd8?IwE2kZT5~kRGPQlKTMf86YUV zG|D|)4Q{6-5^T&g@q&Ccwe)~KwaKI@pot~x<V*QsS@t&Dvdn1$+A7wnFzt`^Q|o_l z%2qe4n;A{~CbT|_cK#>Dk4f<Y3aOpMJERkouEO3MCY;wry7{0s)y0U?LuxUC&=BE9 zngr*@0jl=_BdV;Yi6)cD1T-n?ygVE&1EZEbtvu{YXz}H&h{+KxTdHjErtjUO<zf7j z;%?Gm!5IJN9lO+vx4b{ay<~W_S5L1r`H51imqm5%Rx%XBV~;fLY&hy-Y^?E~+(ycv zNzmjh6HF^%32e-5K4t~-FQGvWeANB;^-A$|$7>U(w}i8ra2cSrXPFEe9fH4NtaDq2 zUTEiwg_~zP#a*0bhd-#!x^BB;p!1t=PWp?tLTTg9Rl2ToV&A$;9gIJle8kk)-_2L3 zrKvZzUv=?nvp)85prY!BrqFt?l*?UwsHEPIH3P^#Fl4fFSqtb+8u#1O4q?JE;f{}t zlQ%urbl3K;JQ(viP44eG^QU*=)lR`#$%~A8Qx5tqv}|q2pBx8ovClFk`J?<=#NkaM z_gRLnfY#iwH}b`MH_F(5Ea2vz9kW(%&Zj99#C=jIO%yPXW~mp!9X>5o=k&s(?Zgq& zHBe@{jwDQ3ls!&k7*&7kVofJ#Sil{_|BU}7*nh@<tv^hl%wrBkCToHwhKwrXgo$mk zZTe8cfqjG~_*-hmZ1j?+%xS-__`LnviDsWLkfA%DMt)4f-k?aPMinsnF(Bgk1QP-| znHs1jNF_tf5h`FZIU=S`5=zra_-=UkB&MNkrdiHM$4{6H9pA-`w%ccp9_6+)bo_*N zG?{36Fcb_CFl8j5!UFw`_S>UI{r@urB34X>botRsxPtutvC)tI-)^HGfc-nf|Jhvs gpA3bFZuD1sKbye6uYWD@uLb_Kz`qvwe`|sN0JK7^i2wiq
literal 0 HcmV?d00001