From f79beffc34f2d89a4091f5164697a6adc29047d3 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 1 Dec 2013 12:34:31 +0100 Subject: [PATCH] Audio issues solved... Audio Works! --- examples/ex08_audio.c | 4 +- examples/ex08_audio.exe | Bin 324672 -> 327243 bytes examples/resources/weird.wav | Bin 0 -> 6246 bytes release/win32-mingw/include/raylib.h | 6 -- release/win32-mingw/lib/libraylib.a | Bin 135180 -> 134824 bytes src/audio.c | 144 ++++++++++++++++----------- src/raylib.h | 6 -- 7 files changed, 88 insertions(+), 72 deletions(-) create mode 100644 examples/resources/weird.wav diff --git a/examples/ex08_audio.c b/examples/ex08_audio.c index f9a582c3f..5d1d365de 100644 --- a/examples/ex08_audio.c +++ b/examples/ex08_audio.c @@ -2,6 +2,8 @@ * * raylib example 08 - Audio loading and playing * +* NOTE: This example requires OpenAL32 dll installed (or in the same folder) +* * This example has been created using raylib 1.0 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * @@ -22,7 +24,7 @@ int main() InitAudioDevice(); // Initialize audio device - Sound fx = LoadSound("resources/coin.wav"); // Load WAV audio file + Sound fx = LoadSound("resources/weird.wav"); // Load WAV audio file //-------------------------------------------------------------------------------------- // Main game loop diff --git a/examples/ex08_audio.exe b/examples/ex08_audio.exe index 5a214a755309ea2d515bec933d3ebd22a58fab78..d06d897de7425c28cc28f3eb74feb7272a99f6dd 100644 GIT binary patch delta 48463 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�^IxsVoSpOGw0TpO0D&Vje{ZKl6f-|EGW7+hz z&Wt`FxBPZyG-n5epzWK|>2G`(rKYcOVU%Pnou2E$D2GjA`!N^BUXWu#+!z(W3UuF; zPOo-jG#18)8lST12i+JW)lr=Q%Kt14yZJ!NFG}NkT~so_C5A-VbVqkadB(EoiSCTj zjAhen-5He_%cd`IXOv?so4((jQAxhci6JNmtU92~i6QXi(ckc8DE~!s%BFcRYBQEi z*YRL9AUowu_F&WiMWhF#BB(Ct)~zXXV(5)g@#(f@D4YJygV79BgQ|Hl+6aKcy!AhS z%WhE7YbsDSy~vaCJ})@(IBvVBl-y*!F+I+UF_5uz`UWpXamKRgC%hQ@7|W)Idovb- z*3mV;0W~9RK;<5IUk9k*3@Mxb(3>&M9e0@Vw{|izFn}60;E<32TL>EP+KINc^7Tu$_5ls1C6@MSGz6(1xi=9D=x9BT$80>KruP}o-a6= z{`O^*0#(@JevI}?B~A>@KmISClj_7!B5;g#MyeA7;|_3{52{RDR9Nmzukd4(6$VK# zln5>aDFpkOqh$IDKgLkTvg!Z)80{E~x7+$NerFfeU>jK$lZMKJ0y%9J`WfK3IJMlsM5S)jy;p2!lA#v%m^ zHYbMvSHaDL&SnE9P_sFgl>wrw+mxqdxGbMYMj0js*6A~285I~eOy3m?w^L;LyI4kH#xv8I;u!Uy?hu{s9>>VXB)~pB zJdV+Z@yzroag6RD?%g;>3C0!Ezr``$VEi-vd_1EGqx*E01V&ZHpy^r(jEZpmU}wIW zUYNkB&-iBg!URTT#w*j0La3JsjPn^wr*|eYYBH8h-<-(k!)P-tiP4;~XSzia;~K^{ z)1M|W+KQEek|qZ@wmK0}HQgeaQAQdf_xcQ|x7_?j2BHX*`FKjE=O;6&$bu_b7El|d zw~Qeev~K{OmUv30Z%Afzkp>HZ775m{3TruNu7L^Q8j|Zyf3(T21hbKV1V$)y?Hnmg*Vxr+C&}tiP)`Y}*@UmbDkdb$I zK~{pYGd#aSO@fsl+N>aJq(yTQA-X_@py}KO%EiIWZ#AzDMWmO>_^oTy(>!M--QVh<7QAO>ZUU)GhUb;n9iuEe1*e_;jWCz3#oVp2Ezk4V^nl*g1d4zIGh;noVFUNGd3`;m|l>@v$^G-Fzm zI6W_qafbs)G2_99Y%7?0!x%e-ORJByaDl`aI$t&)0!y$UiynN+)_jO@1xKfFN%gT7 ztu=|$)AAXu!KN@EOetxFn!<=|3PKcNN@**^l!y6@PW7N3Q|F=PH#~+1S}&C+D6ud~Kan1k#onV>9BR`lJ7@`kPm@whLYCx$I1Bmv4(k)PW50vhJ(sQ8n z3@CjBO4o-#85vMI0ZMy7=>{l01xlwt=`~Qg2TB(}=><@_1WLO==^apd3zUw5(B7&J z5Qb_5l%4>kH$dqFP&x-nuYl4^pmYV4t|^_KQ^*+2eDLMw z<;5pBF*Lptnc&25@E=p_x4MUhx4T*9icFZ!Q^eREwkOPqf$`h1h7$H>UJ#q<`ymE~ z1_l_H1;k}wgmF2*TqYP-pz#p{0|N_;tMKh0ROR%yMU2`qAoDjek69Fuu5d3#eaqcNin1E&+ii%I|f|4*B+@IV-7a;Aj+ za4)z_+rhx=#Gnfznt!k#XFU)${b32Ck|Ri<^&5X{E2ym}%fbtqAt|ly=H=jZV%W_C z;-2Jh*~!4bup6YZ+nJ;J2P1zgXppS=Fi+!e2Hxo|rHuAc8Jyrz0`N%Ai#>n;{|74v z%g-%k)R6*dF1pkmqoUAVqN37WqoM(-4<_tp;GO=slyL>4$@HEwM(_IDjttGe|Cgw= z-Y(()FEV!vi2s_gw~V3m<8c<11s#qIFAjD7``>&-BKol5?bl45hkKnFyG2?-3R^Fg zet3NhI*QoMdj#bDlO=4Q!DGkASwVbIo9gux&^Bn$MnjR~EGiemoETm__6H4gya;oe z9#+n1!E_;P`h;>u5vDU?)0dSq+G~K+bb=-=R63nmUfB9GFf4olnxm2hlg=E?Z$OJS zFN96!tzgtpJ`?7|0P<(+fl~J7BNB!OqCw*UATwS(@MB=;7JU&mJ)(k93uH}81*4J( zSZb;t188Ua>s#GU9E)FsP2W|)s9p~;s`Wr=#zGJSvV-2@BMmJ)ZJJ2AKbk;uZp9T?FQ=%PEh4;bNJ4~o2;nPFH4`_ zP@S=TW))*ABjdmA@->WSco`+9zv*O5W8AboxQlT&E90E${1X@@7#B>}n84W0xO4lK z2_VH6rdv&7%x8?=zG@QVJ66U`(`U|L%wt?Kont2BQ~3aHCx)8`ZXCS9I)@uPV4BgG zqmskG;J|$Izzx*}(|Kkw#xfq5o;8b6lX1cJDYF&#^gWIV9FZZ2aC zBjcRux92fhaV!DpGr78By6k+$AjS#P3+6NGa!=uQVt8$G^WY8L3DZ~1XZ+9Dv3`1G&47_B%# zlASWG4B^`?b~9dQVw#XJU2q>`5#y8TE&CWlLEPK>7}c02By4Bi&$xiCz64SyhCpcx zC~X3zU7++9D4hePuR!S;P`Uw1mq6(nDBS|3PeAD%P`U?7*H=Ip1yFhply-p93!wBG zDBS_2GobVlD18A+pMlbQp!5nT{QyeefznGLbiL{g2tzdnN>72(6Tr0Lfx{F2t3Cm< z|EqdH=?zf&0F+LF(tnB}p?L&KUx3n}!DLX&;{%j0169vc5&+R40TmE|(g&al&p_!H zPZ|4DEQ=>Px!Gj4C+b&~Np zD_5Wc17nZ_gL06=L`BKz3Ktn!wx2l9*vKq(+mXS6fq~)h{{R0E*fTJIic?UD>k#fV z`61KXX;&EMaF(ZL7NzKwCzfqrdWBJ%ar&97j3&YP1*v%o;f`SnX_+~xdRz>id1Z+? znJEfEo^Eam`9&ZpR|SvM#FW$`xLkN*S*n6teo<~>30y2Cu_RF;1FUYk`8CE#sZkCL z644F}LD3EjigBoTDpYK5v;)HrC>vQ#e~bgey%>ldM<|UfZyM{s&=Tvwa6fjt-gQQ1 z=D_6+3~QD9h0|Va*2L|624h+dF92hRHa9~hc>A=vn(t+XmN(YAIRSpaS zs~s4sRy#1*u5nD2gH7lMee7gBLlM&s1@YMAnxSIpy=etpzY+y z;Ogke;P2?jP#=k=DcRAHA=lB7p&TmS=;+AM?dZrb)zOh*zM~_EOtq?BK|t>)^;>?%>Ga=-^n-;O*eZ5bEH_ z5bxl~km=yaQ0(ByQ0w5x(C*;KFww!0VYY)K!%_!FhV>4P3_Beh84f!*GMsgAWVr6& z$nem?k>Rz2Bg0n*M~43njtrcRjts(%jtsI$4pMh?WH5AeWUzL0WTRnOBg0#}dPj!uc8&~;_KpnP_Kpmq_K@I}w|8XFw0C4Mws&N(wRdE2w|8U+1j*Su zGNjr&GUVGkGE~|-GBn#eGW6OzGEBF3WLRkL$gtYpkzuR7Bg1}sM~0L3jtrOW9U1Q0 zJ2E`CcVzfz@5u1m-jRXT!I44V&XK{=&XK{n-VS0RwqS#a`Pw-$gcG3-rk)hKo)pD| z)F#?FGGyC1GL+gmGJrhRY3Il=+0Kz+E^f!yqojO777!!9+|H3~agf@=B@i(X8y%ZK)gy~PScY5uVUGPjtn5f4WN2KmbNW%WN-kP0aXhU1E~SgAaPKI@0pjD znU`5o$>5jh$6z4B!0>aeBZC7J7p!w+Fj=?V={@5-rfr`XZ5a6_Kn(>)K8{uGqz3F1X1&* zdxEG{(=)#^$}8<)|Mwq!3LDHlO!-H7SXdZj7#J8rm>3wiIi}D1%_uf~!B<8W)e0VzMrPxfE85qns zr*nN{lwu2EW?%?~vP+m57)m&&dx6BKFf%Yr<($sP%Ou6Ng_(h2F6Z>FZ;VoESC|RZxQEN&9{$42z@W@EeHBQp2nz#)6&G%`CM*mLQy^;DLRc6WR&!1DW0GPk zVPRmH$2FbnJEIia6cz@CD_qmHK%D`}%Z~Ct9jAl$R{GfCoH(lTdBMVao|8%h*j7m(o{L`&|Fv>A47MLFOgHg`t zn!vyR9H5>S%r9>3%xx^qtjxa|4?7-nJnjhg83Q;nuP`t$tP`5P3Z(yl(DYLv`k>JC zS0MU_&~&b!jB-qGg{Eu$WRx>{B=qn9apXh_Gj|uJxu661Dn+LHF^Nr|@RL!2DMSS1 zaBu=O zR#3u@U}RwMmHzkN6WJCfSFkfcCRZ>rFqBD8fAot{i*p4d14DuQzyC>KlSD&NO}fI! zz_3hyy4`O^DYh?+3=Gi<)8l?KN~wu3F)+9({QJ*^9E!|rj36sOE-+zYU@%YwWi2T- zP&TtwoWAcjqZVrm69dEd>2H5CnzJ&f{QDmRwsgAfA4XwT0~9_#TL}XLLxRfmx<8Cs ztm{<%{l5cId+-mVFjJiB^lN_@<(TqRr+)*{J*v~i{xZrjZC3?ZDK_2bFCz!*5!HYH zr$RL4{$o21o(=Rn}Y(DtQ$iet_`pdtJ`m9PC|Nd)&lnPHb_{Yc-3kswY z3=9nN8vp+5BYP2+P?Rte$`4R%t>k?FPn z82Rg67#SGCHUIr*M^5A}&CJaI8IK<3VPOHC?w7&Hz+k2Q@Bb5YHFuccYI+zM7=G#g z`=7wfzyP-!WKIM#SPjTO8yFcF%nbkizmM?G^ymK=EmbcV{reAI&jE8ZlMC3@AV=GP zjRc=|aIt!_O19f+1Qp3280 z$HZYgRgX!I>6g(|KPEY*w? zpyMa&Q~v$`fTI5mSU)J``LHvvG5Dwc`~PivBMXzr^h`D;aVF7haG5~)jRAA4C}I|zxu)`rS^xNf#GyE_WBDHr7|2045~TP zmDrh-n0#}lyRkEADP73>_g@d$ky&7)8B`b;7||$o4TcgDnL4 zWeq0-!^84_|0kfx_rT@Pa569iR{Z;)j$(c?-26A349*NQD*yd=MmC@xtRGw<@^CRQ z?5_Oxe9}wwizcwU7-+1M3HS<_#AEgFp?aJdjf3 z;bvekufZPkpyZ~*&A>3RX1WmK21xEUCBcK!R$i>%KRtPPxUcz75XmUT@R;$~7~ z66%?5#m%JVa>6VO_9wjgqR0%#~dC8hN@}P{dk$grVH>h zv8e6gVPL46_V0fUvIeFKunv%hJ3I^wx28?c`U=Vxpp(z0{reAEL5hgU32?PCybKI6 z(-DTd+3+$jBuxMJKNH39RJev1UIvDhIOIY3tcI6?;nVc#O*~9WOjz^dbQ!H71`!AfHRIZ4qQ(2st#p4%CjiBFMntcX;|Okb3hY(|>{JIY*~U2{Oqs zoje9A{-xMLgculjj!%yQiNzkDx{gVTZHf>BLpz8mHhqI2lY&x0(0@qYcji+F<>F)U z;7;HJoy}&!z`y{iwkHHl|0Kv{#q=a-x}Fe|7SoBK=}|&VW~>Fl|Nk>j-}s49o=buO z(sm9Bp1x0rNs4Jk@bp_kOm<8eA=9OVne3!E!u~^AvVMF5F?=ixp!hanU|>)Pn_eW$ zq{QkI_W!>O#3+!hptR@^HvNz=lND1+*z|wGOlC}b!ls*vFxfHjgikLMVRB+x5k7sF z2$LSuj_~QPM3~H&4unrv5@j-C;)$3ZCd#D8Boi^cO_WKA=|{x$RiaE5D-0p7`n4K=h8J>0IJWc1#}0)4jx* z%-9Yj|NnoNVfs07Cb8*r#F=!MB2uQG5@&K_nvgnONPGX?IOv2MoNHXOx z)pSialVZwaTGKs!nG};6lS$9?b5cxMOcuSf{|B8A4$6(qOs;$i>3ke6 zhxu4w&8r2y(-%oIX^9=_{r_JclnJ5n2g>aidZ#~BfZVzhsz|CfjGAImaXGHsbWT~3b4j;UnI^f);tE!G`V{{L^Bt|-SOJ$;27lLga< zsnZ|HF=;VfnKqqIo=J^$&Gi5O6~PhC3u-KYB7DR2|Nl85M%K$SSu$nJn7&J%$&S@# z*8l%<5OHw@rdrkmvp~u2q7;+V^vw!PwM-hbryD6UotylD=|KGg(3$8^uPLb!=rL0 zhHvFe415(#4007r3?>y!41N_%3|SRS3>_6r3==At80J(kF)XWKV%So_#BivBsh;6V z1rx)Q3W!C&pfpP*6N5-46N5@66N5=56N6JF6GKQP6GL1j6GKKN6GKrY6GK%c6GKZS z6T^f`CWd*HObp8^nHV-yGBNC^WMVi}$;5D~l8NC;B@@G)N+yOUl}rq8Dw!C*R5CIA zsbpecsbXT_t72l1sH$gTP^)5MFsNc;u&QEWaH(Qq@Ty{B2&!UYh^b;?$f#msD5_#& zsH$ROXsKdi=&NF4m{G;Vu&9cOVNDei!?r3WhCNkG3@56X7%o*YG2E$wc;rPD6T^=x zCI+5rCI*FSCI*9QCI*LUCWe4&CWeG+CWeA)CWeM;CWZ<1)l3X?s+ky8R5LN`sb*rh zP|d{fq?(E0Pc;*RNDUK%N(~c(O%23QpBg5Huo@GOck{Tw4x*8^iz8WTmc{NN7 zYigJn4%9F)oU37CxK+c%@T`W3;av?A!><}92CiBr2B}&m28~)K2BTUg2A5hUhLBn& zhLl<+hWesfCWe|?CWfwBCWcwHObn}PnHaX!GBF&gWn#Eg%f#@gmWkn0EfWJv9TS5{ z9TS669TS5=9TS5~9TP)D9TP)N9TP)c9mIisbxaIP>X;aI)G;w!sbgYzR>#EfrH+Y# zt)7WNqMnICqn?Surk;r*sGf--r=E$SrJkvtVMaX@!-{$)h8^`x39k^FflMSGBF4=GBId0GBH>+GBNlyGBG4IGBFf1LL5AytbRaK zKf{&!0Zsi(4D|z=`m34h2Q>8;)z%Ma>SvfyKY*!Ug~7RK`xFhPk6iVj3J4E&ckwhf z(o4z7VPIeoDPW>Hu17c2+cn6~)dy}TgGK=pLvC?da#0Dy6*dJ-3{=GR)HIBsS;!s< zC}3g;D5wV!)WQA*sd(;-8=*VhkctjemfvpSzE-QN5mvj}HR_14Bgt z(?DQ*vMdb^b`63g(d~j3Om2+q2bvuj3Ys0aD^6wp%E&Ldz==U-ffK`)Fee6<2~H5v z?JPD-os9LHm>AabfjkVsXAUqiXmEh~&=CHY6U+=6P7pSTl;LJ!SOFeK2k{sfju@~o ztN`8R1K~2{II=Kwa6&l@3=ChqSQs)u9VDnwj6VxQ29yn=n2z|j^Vu#yfkBa#fq{`h0kjyFfq`KSBLf3dJsYyn zPLLuL5zrM$W+)=}7#SEW*^zap9gIG~6m zF)=V~=4Plz3XohT28IW4Me&}+-l>(L1;ISX27#K2pfijS!8nPDf#DO1nx#w(4D!6l zy7n+JFib)bIm^Vru#cC4p&nt-4JHPLzbJ|xGchpO@F5%Ym5G6&7Da@UnSo&`iij*T z1H(rY5mROchHQRhbG(=t7#4v<>fy;DnVEq>MgUn+88ZVzFjNGRJX@I=7}8KgCNVQG z>_HJ(2AViT5!uDez)&CrF&Sdc31$X{1QC#ky#na0CI$wE8_Wz0&Y~b8n8*ue28IXl zG^|&WS^*l%J;4G}!@$7I=q$*<@Me19Z)VZy0?(QCn2xYacX-b1#_GVzz@RamF@r^v zapLra&zY5(c*LeJc+4zaUr>~pSCYnHBL*@8X3aNd28L9q2&C1@&ceX3TO6VWA|lDc zz`!SgETY1~z#t}tEMf?nsYDU6VPRm%L=uT*VDMyNU^svz#J~{B!oYA9E)wsPpO_Nv z81@P(0tqhAy<{6@AeJ#Rz(Rrt>}XI(>|kSH@P>zk3TO+Kz++~m=~6G5xfs7pU#QC> z$uxm&y2DFmCC1IulV36`GaZou1&P!|1D5)176yhdaMMA#r4&@Ou_Bi_O)LxyqOuSd zK!Rj43j@Pn1!R$BEDQ{qipV0MbGH0YM2@jAFeIxWtGQ9n!objjBJ_xbf#D~L$U7DW z1}9ZyZNFF;7;-d`Mc7#x7|x-Hh_Ny-EY^aliFYYVEO!eCUI!Nec~zaYo`FFG#jmEU z3=9$|BJQjV3^FJpfvgM+JG3E2L*girm4V?Yibx?V1H*Yem>O8D9RY_lDAv4%7#NZn z7^WBhW)=peV6N$UubHJlk(Z;-A~ikWIWq@i$n@OT%*y-$9N>%T7?>GBx4H>J68FjJ zTVFHFv)8gRFbL=~Ojl%Pk*)7wWnjqBhu8^;rx~ma3@1=T*03@#I2j=AyeyzUz3&aP8x^Lrf+9?fje+4H ziij~A1B03=vKl8g1_pl=kzh6khB`B3HAx_AP(628v{dyBg7Gq)OVbXf#C*<$YoHa?S!o6 zJ{tprGK$D6HU@?TtdL6sA?7f!GcXvUr~ysb1*3>a*0VD(D4=8qO?C!`ET|$ThWJ!a zL@|IC4})u0h|zZJ3=C~>H6RuK>jRM`!Z;Wh@`8~?(l{6x6xfgxP5}o4gHi}gO?+}rVr~HgLsKYB1Y~6$ z2Lr=u6p=0t1_t|hn40*a)Z)|<28KoP&{iQNQB31tV9-y1DFPX^frEizeJZlZ0g!_- zkwva@Ffc@9Ba6HS6{5w+BL6`mCCDN|oD2+xrO;L(#Cj!81_sMgWJM;N3=9)dMBF$T z7|xU-tBK@fV7OC`ERxU3z+g~;EYiry!0^5jS)`wnf#H4?v{eYPegP)~!_@|4MH@I7 z7$h5!MGkN>FhrqCr$>2Ruqx{oD2*XK_Z}5Au~gK6(qek zv?6Qc=VD-3haw`y#lT?JhO9<~i-BPtTqHiVq98FZg~7N3S&b3|;y@Nj=VD-ZgJN_I7X!oDE@aClb1^W8aw6+m$;H61sTWzz zVJ-#+uYRydJ=FSZTnr4L<|Lv!2I^=eupu{%esD1`T!d(Y>SE_+U`U(*Hi&_lAwDHP zzA7g(>BK~s2q*~)b2Bh-PlAX*N;)%c28JzAk$Q-bKQ{xzU8oR5q?Vh3p>;B{wrSi9 z3_nmrc5pK=ES`d_<`y>tgVME-FzFz~`cs2=1*2GC@513akX3ldXH zG8h=zQMAc{dOp*TjW*$7V7NRVSp;;~#DYc0A~8G+3~h^%MRIr`sR0tw@gVy_HL9;$>iXunDD* zE8%5e@Z5~7t&W$0VH1i-H!lMN-xg#wQ+XK}?(9bvS;EV}zBqU%fR4+BErGPz)*l9 zBE-kQAbl2I$i)|ACdX$Mn|Pf?Hb{|=fuRRQM4OL+;S-981s?-L(m7;Zu6zs(%TPoD z_!t=GUqV(B#mB(Fd4++25mLy3Qd%Y-1A{I|hym6qtl(o{h(Qr);$vWVfg%EG*zsIN zHhK*o1H%dwk-dBj3=-Fo)m-3XVCVvi)Wa-$%*VjseiK>IA3g>KgFDC~V*CsYTTw)` z_!$`HK15by$2TQKKB>1Jo`0%28InUpxuJ!Aj?sThTr@Q3=Le6 zY6FtVSp^sv5?&%Z2Xyh8z$;`CIROTS4Jaad0t^ffP()k=7#KdlMZlf_6;c~sOi%gE z?8dZ!ZTgzu%t}lQoYOD-W>!)M4VeA=&%lt*Se}`el3%Wu3`$`L90eLyd=2$Sp#TGe z!CPb(wFxjV1fYn_5nx~_KoQw0z`(EoMdX421H%Cnkv9Si3>Q#DSOgguKA?yw)eAB( z2)skK-b9drq2M#Jh!0537i5tbK?VkgZ^$C~f(#4^-;qVy1Q{3>polCGWMH^}BCso0*XkX5Cen4A7owaLJSN6C?X3%=Aek|7Ghx7fFg2Lh=HO0 z1B%cGAqED6zsN@O2s1DgponM*GcasG5pfe{VEBL{k|NB&VDJywoEDHdC?ZpY85kBQ zz=goc8k9(1gS3IVt!IQ8818_&t(HtH*rqQKU{Ri~|DRb|?J*+*10;PX=jVaOVAy~n5+%aG@Bu}nPz1EXh!feMCJ_dP1Qd}eA`A=%P(;>%tmlI1f(6b6aBzVF zr-Pe;Aq*Zkpg|4BKU2@LD64^n)*+#jnO9I+f)+Lm3VU})e$HpfhqfnfoPh=(Wxg90zIny7kF1_lRy zWT7-s28IJDB2^$Y0?2B5L>U++poq)^sS!k0vkBxN6p`Z~lTkz-i&`--FbE-Q`wKD% zMMP4JfuR8|0*i(OuIV{UEN-A=2@d%w)2}nJC^K<0P5;BhBFAPR#=vku2pq%`wqgtn zA219!AT&LU8Dc;JD~l4N%JhTGEb{DLVhjul!i>`wK4z8#jf=*LF)$R^^c&-;`U|1l7Z0!+{hh&jO?tq*R7lGO80M-S{c+(ge z7zE%M4;*_=({tHa!oGcY`m1>2OsBf-ERAct(Owgdyi1r!l42?mA*^2lmpB|!U3 zkVQ&Cx)fm|FxNbgoi4x*2?KEYdoaD4okf{3Wcqw|7J0TQ5)2Fv6v6JOUks}7g?LSGy_8c ziindm0|SE}vYI$)1_prum^ZWd+6>C=C6v&gd*fouu@M`eAx zGy}r~xPDMlTqw=JZ~#SQE65$mFgrkMPDwK`TtE@I4{}*5vKj^%28IL_5d|3rh6WT7 zD_p)w2%A5cWfWEdDGq#+wUS%!gO16%~=>41RgT)YTR^V|`EHv1XZGf)3; zpIL%&>GYYrEb?s2KvtxI{jaqR4khO%8Xm5 zPvv8gXL|(lSq9idzwaRZ8OSDb%Q7%1WFm`5$}%ua$U+v;2C2!0iNI`a$e6Cik7VnL z=@a=`lo_{7-^$M-&t@yjz_1`2Y->WGECa&^xPDL^WyvxyG~~cc1c`Kj)S!qglVxBy zkdLh9xGVz$LlH~_=8gr~(<1~B?qGc&0h+1#7|kLv{k{MT2V>Fn2SO}LpqiIQkR=j{ z+l9*I5JHh{L*=pvqsTU)aHol&NY;t4L{9hDW#O3qT!=*)Wb+?X1y!Ob>VKee%fwJ* zzo2r9#8G5FpmOshP-NeraFN6vS#%kTr#on{=uDsR zn^_7JEedHYiqk`tSUedofE1}5GHiTpPK4lhFEGiYJ`>L>bGQI(+ z#BP$BDoc*K01K@3QIbvRmAoKlnsif-%({TQ010mU9;hCZ>8CYW ztrhm|60Ub^!qQ&CIx(77e0n!hdG-aw#oZg_tqNL^s4+H0*kodF$Lj%-M z(3N9ga3}>89#S&#X$9aZ7Kc)hFOjD!9ZIMF(_(RBI>0vlLOP2Q(+0)qS=ua0j6u_T zwOQoZ%|U@x3J*vdcR2=z4NyZM)nl9-1H*wbn6aSHuLOyJ9L)eKo?#_SKh>j{v4kSdAk;CQQWHU~*8IE@j4|#Q1c&tr?3v+bocqpjsEyOm8!T zXuXimqRgcNo3l5Vp7@wql8KRZx|lhO9QzuO>uM0mW4Am5gAZ(W1r!+!M?orTK|v22 z2EHoKz~E4aEb>a8fgzwCS>zvRS5E`7h@=7o!vYi$4Fv{<2TjOoEb0{)7%sFT3;8L4 zZdpPWNd>9tL>4JmU|?wILKf*zU|>k-Mi!X`vaAPLWSs&7!-Po?5hiG+V_{%;P%}Ns z0upkdKxdpY{ip?tGSd>3>8~tUl$dx~r}J5|$g%AQd1p2_p12px2AKj%nS!8{DLFmB zibVyM9GLc~Ly9Qr=}#?LR2U(8m=4UIu4jd0jl=YrRxHX)FVv?yq_ap(PcUKOVAP!c z(27N#{Vd3P8^LiTrCXj{RFa>Yq_7EOC8%TsMbd2r28IoA5k1go7Xt%B!^Y`;)(|Ve ziL6Cq`Yvl0rRfT`EL_u{S+j_-KT}{}_^=sb@^o1n7LNL@$i{vFNu%U?9z_NQhi%Ae z#1$DBzQEPQ=Oz{9q~Fum+Ivj9B! zZrQLXF@m?s9iZ}6&L%*SfuUgs$P`#WBq}m6TtE@YRb*iJ z02hJT?XY9|0$Ub0ra#bXWP#Rn9y=B##@y-pb}aJj)rt%Z0=vQC0v=&$16eA7JefL0 zk%1urMPw1k>fI2>K&qPciVO@4dyqvADKanwKt&)O$_pSh?8qkH0-21G1E1D|tVdDw z3FN@N5ThXm{Re475#du}U`W`9tVU9afnfrQh^i6;!-xGaHSq&2|8;a}#RIZ#mitHRz zu9OFg>7c*>9-al0X#MPpI62AQahm zsN9@j6xmm(+>8*G2*&->4~DSFvn^3#U^s9BT#YatI00(gDoxi3Wl;g8Gl9p<(8kRX zL}1MdMKM|;423%ll`9gCB0C9{D-gjF!FYChVib$=^qvS7RmKz3QXvT++!m6KWbtIY z4RWUR^oB?lP84aS>0csQau{ENbbFx4C{7oSX7OaoV+S?0l$hQi8>%$@O*Bg`Qqv$bLcP7R95;en92sC7{T@LFHy8qR75L<)$T}$UZ^k zCMBcDK0xKhrLaUW)qsNr+6uju!lKG}5+&d>Q&~Kj=7AL{F_j?8b+PSGVqhpaIekMK zi!#?qP{{?VKjo%ROlPqLB^hu%FQE@=L&&imR$^e7ate~RrktAIkq(JmkQ(kS`miE$ z2Dm}U_128+DbIVA=L9|Ncys9Iy7Qet43ae8_}2B?t>b2-RVCLe?8 zA2L{+*#1LQSY)!uvGFQ1Fzh%zJth+}T(cyTr3TauSIUCW3!t=IHiSP1N=xNH_%ooi zST2M=1xgF$LHHA(G+#c1-vgo-2u$ZHV5tFxNC%W=D}?Y{pfpnvgx>(A|3T@RVu<)J zC|ywk;eUhDC8ZGlCn#M|2I0Sh(mCZ2{wpY*Q32sUgVHIL5dI@5olphg--FUI)e!zI zC>>D);a`K&A+-?xB`6(G2jQQC(mwSN{wXN!(E#BegVHXI5dI-3?a&0_?}O4d%@F=B zC~eUK;ctV|Cang^ zw{S5qF#P`yS^vhs0J@h;2b|174ZQf0M9^APh8rlltUR9m0tz zDhv!KP}J0^Ffd$UWnh?|Hid=1{shQUPymA>VVVkL3jsp=8Wd-M)a+7WU z!xj{g7Z|!ERT&sScm5zu)=*_&*l--$Z-n^SM3sRd2gM*~=yo?mNJXhKFq~mV_H%(M z1H&2=ksehBhBqi4Tdm5#V1i=u2~`FL2^NNWq=a%`m4N{?Sch=q7gYuZ4-{>jYLJZ> z2sKh_pin_hIYw#>3<=;NI#{?mL)Cz;(uH_6NR5Hv2{Qu&XlEN}I-Y@nAqT1m;n!+4 z28IljBsf`(fgyka+4sxU7#QB5r1#xw3=B3Xx-Nkngd*}y3=9uY0@hF+;#Y+4oz)o_?!eW=$EOw*<>fP+K?(dcbHx^DMHD&chngeVnD8j=k1s33=9(RppK7^ugHl{W?%u0io(_W#V|(@ zbP@@~!i)ns6Z zftQ&eSx2ZEc6fLMBa46zG+|&!)?{F?fVv3cplVG9h6B?(XRyfEcWE*(7@)Xho+bkW z=oC(bmo`JqM0oq4CIf>Fic2nPGBA8WasO)!T|YG$7(nN6B24D3*J5BWKyjOr76Sw5 zU{8c1XDtSX4wRS)2A`{i95m@#3=AqL4yw>%V5mVcd6E_bLj_9qTB=pgz_0;2d;tlX zeOe3*4JekK(_&!oK?$K-S_}+-P%^W2*?{-bQl;sP#k?o2ei~5MbTvpH$Kr}V5mWH&`%6C0=f(gJ5XwHIbD#I$PuKa z3)y9g@P?Bv14BIvO3Dq)tjoY4g5vuwT?U2{6p>XZ*2kA8 z7boWyFib#+=%XMtpfj)#adrzNgc3t9bQu^LP<;PGmtp$Hxh%4vm}8LDV_@Jx@qwux z149Xl1|K~J1`d>PkJV#fkU?>8jvfQU6BIR7AYCYGW`oZ=ga@fF0|UbrkPwPxC-l&R z>xLc!1L#O!M7TfGV_-NS4XUJIEy+)M)9=k?QL1OtM~=1lwDO|Nl2ir>lwgzAXJ7#B zh((yEsn5Xh171~vOz_c%99)J_6R*#}@CC(#WnjA;kgAy0daw}OhYSo1)Abn`a!|A_ z)@NXlKna(fAYCYV=sZXS9*yydCHbHu@t&Y~lqkY;FiVbrsgIW zR5BQ#Xk#^CU}!-JaajWfh6yMR(lh{t0kStNFho2J7#J*2a$ckXLp}I(S%i!7Ftjy- zMBs%A$cdmWTMj5roNvIuumZ)2n+zBjuAr#d3$h;WRgiPf8$c2cQhYo$n9j3+MXCOe z0Rsc*d^toTkHe6G;SP#+F+&E1FDO>18bbDuBfMj5$iQHM;xG?G28I~N`?*;%Zdyc7&4&Uc}V$JZ^*!~;P~_x3s~fs`V6OYEM!qqn{UX# zumz-IzVqn;TVsw%b1H%$Q z28I-rlsOYc4JascQu7#&pakU#uo?yACfhC}28J0ZrSeIm=}n7Rl02yz$(!aLuM7#K8ABALw?6c)(gB5KUQPyx3yK0dK1y$qrTQ4Oo* z8Y4$2s4tnA!octYr6w}PFxmq{BnCw!J`Hs14Fkgm6mznSr%zbSA}Wj$SoOvX3=0IN z?^w(tS3eQO5RhA!7&9;gp!jnmhMIH63=BTP$PxJnqzfh5z8W(y{D6lt$Yf3v28J3G z5wUs`28KT#2N>KGFS1_2Z&=7Oq3c;N}M3}iBhM%0rNO&A#F zpjbcO1Y92?$KW22gHRM*FkxT-9c+(C39n2T7>=N*`2n(?3E3QOQwD}ND2`S%WnfT2 z2_Z96P)i2I)$XQ{&4UQbB0$Y&44{)QAiCm@{>JKB7Lg83RKMila5m7#K8AeD46# z#gF3q5VPqC%UDF}4?riqAca_GAFR5J#K87QH& z*o=W81;tU@%pm8FBI<|(W(*8Vrhi_>BA<7~jDg_?A}<%06eVXAG2B71dcz}|d9nBdSB2cUg zGiN{>sY)?tV9$bC}`7Kk;eBsj1lv3=Ali zX<0BZEIS^VBi540XeAAf`Ore6=nEm2G}40q=v;t z3rJf7Q7<00U|@IwPazG}mS2NY$X(g>2~ zWi1&P&VYo#6?J@ZVG-yY8v&H?Ft=o2Sb<`_vn9wltM9&537;3648Ndfqv4Kh> zi1i(o3=B))aTcGLln=6h1&Z~PF$`L6$-uyY60o~185lmGMA=P{2;5|lb3Z`MVPH_0 z-oJ`PvYyq7fk6i)zsp)NFib%4sSao-2uc#NvSMHWT@Hc>R(Fs&C|1Q_=t{>BDXF(& z03S4rC=?p4AV*$6jE*nJF9*4M21;nmuwr1?f#SsFR*)lMAi6+0c33emY(UX<#EOC8 z2x|CP)iW?0fX6&Y+gmFJh86I}7O1(Bmz-Nr05>Q;tt1t63Sa7GrEwEu= z=s*d&wKnw(3<=qzxrrui7#&EI^5%r?w0Xpp&u?;qlv+fguA$4VxVU!vPc#0XqhUC-o@) z(6VD-=s^*2v_lU@Upoed0u(igb_@(_5IHinA`?_PUqDGQm39maGAN0e4?Z>eGsvYE%1B74S+c7Y>pcu_=56OH8HH!8O44^}s5F+OG3=CILr&yfq z85s7!qXXpc0DA_86YxNbk54QvPAw|2K#8Cjdj^ICxEheIT#)rBQC4ryz~F-tW)tig z7(!6%*k$$%3>#3a-)_&qz=9%j(jIbZ48kAJFf98B5`m8|fE*<3z`!sC#d=i-1_lw( zh%KUywRQk0Mb0q34h#(71>4}lFTSuCTZ=g>>Q{NqGhnwfq?;ZdKAL12QbuJa$sPHK`9&FJ1{VS4(vkcVsT_(5P>@p zl*@`siWo8=-l&I;;>tLpH)nJl85n#}jCOEjV2D78jvz+{h6NCVpytFlqK9IxBLl++ zl<;UoQd1A{{S-$Ah65-mf0H8v!vqv<#~m3MLQouZ*O7tY21?R<>&U>MgQAPmiGiU9 z#nIwU3=E)qz`!BI%%JJCU2HRp7Gr%uQEFLcekth4#^92~l2nHHlr445|oO2&T+EF*mg!F$Gm2s-S0HW=S}Bm;ZFHEi8LkT=L8Frfp?0(E%|S z;ysJO<~o&@l;r0HrRJn27N@4535OO;x7o^4DFxF3wE#)a^o3hlM3_PgrtjU#Qp;>) zXgb|?8_OnU_tcWKU7vnlr?w6%>P5rqesNvwY@v zE=o--NexM@C@C#UHFB9=xr4=)4|E-#`X2fW3=9HH3=9Sg3=E&pwHi3+B^4Kgj582qU|?`yny4r`*@j7wGl7YL zL5zWcL1}UrlRRew69WSi0|SG_2?jQb}`vPqllXJlwT@&Bdx|Ns9d9CuM+0fpsp z78MQ#28I_U`xzNpZ}0g3|NnpfmaqT*|L=5Bk$G_~XL1IcDr3szJ~nyh6eork-hco9 z?=4Yd=-s0Z3iE{tDNYRkA9Q|$@dLp82`~`a`Ly|s#BmlCh7XPmFSrg&{=g>U0&>P1 zj@APuf*?mggLQ|16T|-t-MlF;9T{3rmKYvqQPBkHIliBfA*l60i55t$`3Fa^w|DKI z?7?mA)li%MsR3d@UHVFtJnFXk~bFdTDH z(fE4IMMV=tXn_dr|J^Ps8XyOKW&+FWoH*v9q6;GQK!iR>UZ>MVMdY}PiU26;Cg*Y} z*cr+(FuYjB%)s!XlaYa;^#Fg1%m4o%r6~4q5Mp3>;UvJo@WO?Wfnf(I>P{Y>Fk!-E z8!2g~)`H0fQlgW8aY$NCEnsBmJluJs`G`t%>|t>1X&h%!IWFtK@S^iR1H+3icR`kv z@*HPT0XgAC$R2P&3ouMR|3INW`w;`fVg&~$hHh7m#SvhdXK@Ue7Fe9%;KZ;HB-whP zRPcqvJ#aXJ4f(R05h4SMNCPPT~zO{czXy!(CYmP$YsRx+;Fg^MJWLPzx-;ZU(t*&MyXr7th}_FuX9rY2|~vt`F|YI^eYO zE-T16cUeIy?j5`v3sLXk-~>tGyBHW4Vi-DIKXitEdF}b)G&4@GEyU`hyR0Ci?z(X+!acxbMZ0A(-qs) zxVv(IJT;$la-*<1nqUU!WFrwhCYA4#lSDKm<~?R$c&*h~%LB^drM%6xB8;W%FM@td zUL>Lq3PFflIeJ6Cz?}T)$>bLz3W5@GpePgoRc?+93@>iRPL>qaj9(TD76livyBHWg z*u$!TvtS91<18wL+zbpaj)A!>$5~XEnHU&e?1yt7fn--exh^U!%%CcaMTH4e#4n7U zyiinBauQe;WE3MPIXHv4EHAWUC!ZHhGm!>!4M6S!$sUOTIf&)Oniy~b3IG|;09FFB zoKcp6;lK2u@325blJ@2gO8%=77RA zT%LiU*L4Dj=_5aRn|L{sb@XI?2_>fWQImruGMSdFpS(|^#>OlPWVZn{^Lv1kTyN+N zND{aM3(txN3=G|&ce-6~@UK5~@BtIZ)GzBMmq}VFo`?h)AhR$9((>T|6=R=1I5PCQ zJ^-n@_i^$?Njce9stgR>u3tbRW$PFjz^WY2*DWR2rRU0)@nlwB{d-rApnd7n*-?lyV+-eZnBf!0_4%EFe&7 zblmj`BS=8A+ZCjgsZ;?h15wHZlHmsn2$ZrPcYVSv2uidkpkWGXc`W<`YOY?W?+!h& z&;b&%;3UQ@z`)QcqOwo~>?d?tE(}>{tO#I+Iw+z+(E>7!1#TLe`g#>a;Da=Pq6bNX z>xtto;6^&ADa*nRvYka`p#<2pUe_bY{`mp+Pq*uZ&cofVS2_=Nho0$nJ<=JYBGBoh z!UM{8-JwsQ`EKDGsNy5_ork(zPk>}WwsWFb(D|r0_RJ1Y;_tlPd9U-}=cO;$SU_=e z0c!6;P})rY^Z$Rh>x~&uu}vVc;6MNWr**sDf(ae~3EKSuXRI?Iwh>s^a1Qla8hZ0Bhd{m*cbAEeSe%q zb@FUEIY@>_Q@{Z>0ZmWlV5H@2`OpQQQf#S4!*8?E8 znPFD~>X!Gqo&u>5!KdN`NX4h+ctT(gNW}$A74@J%f>^Tyq+}hY5`>ClAQe6MR2%`R z$U;>C322lM@qnwS=K*D4lpt~40y0DmtYlB8>y2*LEuF4+x?NACb-F%C>vlbr*6I2P zB*>!j;>9vhqPx-^x~1FoO1JM5SXKtP8DuEPq&v$%;lj~*s5kZsN^b3TWq5`T~LE-$O%n#HW;pj$|c*x7Z@FLZ3GOvm(lb_#Y9Tiz7eZR?jEoGSm z{3hSAlokKz3(~~XEedkMLXa)pzI!@-Cf`?=n!H0rAz%eqUZvX=oO+8EF)~2RUz`DI z5~KDBTvS*B#|V zipq7I3=EyFCqPBL>yB>M6(B7kJRq?n-L6YOJh#bH)HIlOE||PeZJns#0!D^j*EvW< z@e4lh$&KnF>_s7(s5s>=$ zd6OkI6{PQe2h}hiz~wchXzq5E0m-|}n;fF4#TYQTUeiEuy9daAP=tZwrNLwJ0ZkFH zLts&k7fv4FCNMjwRd>!~@+-|8l?yw+YTW-2;0fo#>8I>2$+$Z;H8%|!PrO#C3J~>3&oXHy`lFD?)ZSoiGVD^4D zu-3`-TI!ScX`3*qx=miKW6Jf-6)b$)^~vPlnu?RTbsdE#xiT`mxatCSCD;R;u9M?+ z#iY7j1wg}bpi0O^1zZKXsEBkv+MVGrd4jGt)1H}=@9M@e228fmtJ0_eb(b3)oER(* z)#l!0Z2@%)V^qM+8kbL?mh&A@sBwRqd{0k;6ET+5tuL#Z_w)b%g&_S7i$UbeX`q18 zdiekUO<9mJ5W^;~)s>WA46*>izl&*j{^UY^NmR2rF8%ob|2S)n!{!b8+nAUbr%ui= zTE1Dp*o9Fr0uk^)zsYVUu}PC_Ob;?fOtv%YmgL|CCGtDq#?T2wA!&jV8^qlyx0hl03~VH54T-E+>D(ZV8f~oGZ~bxra_dz+`|H4u&BH!HJ@B# zqZ{srE)UksqVhr)A_2-ZP_w_>bp3KOMg`$uA&8O}Ao@k986wAZnoY8mWO6eD#Y#kn z87Ra#UT~O!Vnw6dRRuFv?wEqqz{8!R+Z8lO%L1ZUR9;L2n*bUv1qXIGn9DL*PfJ77 z0L;c0++tuAJd+LV)F+qQ>q{R5TZI&uFb{7qovdw_py~#Z2gNgzzaeqqqQU|SQ*G19 z8|+e<_Lxi-x7THwYBG6)ogv6~d!^pNk6P^~uIAii}$)hq|~im$fra&UcZWyxWDJ*&WQ5nf%g)pHXu1PZtfI zA8m{b%|~*gLBn5@4P4(cvA0c@ck}08;NZjn9uNbKCogc=T1oVpu=%ZLAPYy| zCr8jI@|?+TenyPDCs+DqF`n4`#Ltr%CUa!7X^;*hqrv8+;4N@Lm(6nFnv9GSCVNEe zVVtm;HS()~(8AA-3@-}r{Qv)wA2MdMaWYSq662xC`dI~x=O!=65@WnQd3)9##+RE* zvU!-8ete$Xl&i!jFnMY2RYsY~)p?h(PQ$a zd|k%i$q(|i8B-?n6lgK#Og1lQWVD&Qv!IKyVX{kMGvma`Ckjg$r%$#kiej8Qd1g@x z_lt4&=5O_ipx}^bRA8*1YzZc# z8WngN92j16cDtTA&Tyx3a$BP(g42QZI5BWb7k_x_Fl%9o8>!pGjc)$ z^Us&fk2{%|U`iAxzwM4>G@R_-lgGGw^0uBd#tD;Ud(SdXnEbjomCLCXc8I(m%eZ^{Z!@#5rVdtNZ!+}yvnnu+n@X6^&29E`gs7oJFE+&%gFi7>|3oApk{vM_!BKDqa- z3e*4ZlQ*ArWaORv^{gYK;$-u4s*L87W6zZ{Zk>GfoB`wR&1~lfo_^7a*Z&8+ zgwFau`9rz*vxzKGbVq!sl}KvS@xEKXvPmmh8KD{ z|Np-{4emUG%J72CLAMUGFcwZ0yYIwUKRNP#3S-~oefQ%S`!>ry5MyNAJ=x?TsAyRH z@G#@j&FPOAnHYC%&U_-l$arpZ)6*@iVmY9EVHyn|<jEZ;2b1~UtY=bjn!NvwJ68&5cCNyCp^DRFfw$_s4}Lf@H2>l#ztn9qHDR*LTSX=X zr^)GW6%8GHoEQubbY9AoGP{JPZsASNMQjQu@AI z6l9*^?QY%;K9lX=>6nAKAdVA*<>i{I;Bh$~l^3VAK^<|Bb)aFSPjI+}qu<86ZPFSwV_gLCXO| zIzRAxvVzru+OHlUWe31wASS4Tvd{-124Z%)s3;z5bgPa9%bSG#|AH)T@y}>re#|b<` zZ`1jKf2xa$L$_@K$cIx@7J#BBr(Pwb^*_HSD@d@xwgjZOw?-wP(?!LlyG3OM0|Ns{ zmq&wbE=Z~~1S}P?um%(^Q(aVI8f^2x5-utU3mc$&|Nl!p(E1Y4B9R7L1*gehzN%Y7%yF7Mv&0u-B^vBES|NsB@mN9^JhkR3ox&RzyGAb{oBI%wy`CGFB$Z$~hc*z8s zv|)vF1EJi>X5Ss^!TGYJco!&uc8W4EfHVB()yG*uk;%xw%y66)6oa5)o@1<_=w>{| z3W{9DW2~U)WIPVe2B4KP$H6%O!UBaOgau0365#R?GP(Fn-tfbjsmEvX*B{ElpwtXf-3gAS!=0ivK9jY7dNSqtOfLH= zR}V7&aPJm1kUwpi6qp!FGHsa^m>5cDbc%u!+2Kx6P$E7I3iS?AP)a`BAqq-zhtno> zh=Nkt;ZD&BK28i^KFCLhJ48Xb<8a!9PEk;1Iov4<%0ggykpB;Nih_IsmTxcv>Fg8* zWtbTDumGx zM71-595Hn}Bgo9D-@(*$b4CbV4yCt4>F-e5oCzw=1lB!$ITPbk#)9d+%#4>9HKr%9 zFp4wYnO?!dn8)Zb{W%Mx8)M9LJyu3-ra!-?N3$|&GM<^<%F3w0*fD(_Nc6|=>9<)K z?HEm54NB%OJbwQF-+G`l{IyEj1W;^EpTfy#%a}C%5+~y% zt0#Y;*_s2Ct*svY|KEHhrt=24hXzvY#K6Gc@&zDUWj-G zFJml7{5XWaor8~YE~wU;zFdH@0VJU*$oP_Jjn8xuA;#?i3w)dy?#8I_+-02sVX=Uc zTelqp!|RK8oeg?jRCMmjf~A}-I$cyadRfd6=Bo`xxqz*(N7%g!@Djj9H2yc*F{C3MB18l zjnDLzB8+oDirhsZ38NiKABWQHVi0k6DBTXFkBdR9{vyU$stKz3yG=nYf#WPHAkK?K z&j@EWqELJSNo2TE=%+~70)kvO9r4@i#j zMYmWt?-rlwIueXpOdEWrM@TTrFs<;JUM9h)EwjT1)JiE412wIf7+4s(MfP=ysDRew zZSk4DSAtOrq~oRpqpl)UrF^$2$W)MeMzH!-VD$^P_)J%qWXxgO;AS&s))@`8GI zM|`I5QD(HNPj+HxeghgrJMh<$;s3SfH!Q6O7JmTM!Y$m43=G|}H`4puYg0B1(Z9Fv#7*@oFdwg=ERV8 zoE2;hL-QMsmldF90%9rZj-2V2R2l0T)3yhxF)A>ErpI@I%DLt@BA``~9-!8Miwet( z>0RoKZj7nZFRC-PFs4lp(_qYEOq+gCgHf4d2iT$+$GFDvY+7%irh&cJ zdAzqoMWVArg#{cME5IJ)=(JJ!FFGfAyT2aeb4I2=|E60QFs{UEni{HUhdXniCar;* zBm*{Sy0#&sEu+HpOhZOFF_5cX@HD^SX#SDh9ipOBzWu*SYtQz%hK%c27}KWvm@!&0 zrcG}*W7K0z+rG_=F_e)pc{+~;qbZ};bSDc&RmRlm85WFJ8B?d*Su(0I%1lqSWRz!& znBHp1sK|7{XZi|DMh!tww7RHhD1+KQE-E?~T&F*@WHhk^+5Lv2(?!MMxQmJlD9Vq! zsCYnWA1@Yg8Uu0vU+va40jp*KCB=&AepZZ%!VrNpP{au_GBBhqKHxLG$%?VfJk5!r zyBV~SyZH@hr18J#lT?HVBy3}l)IdZc(x%&6GdeP+O>eYj6c+Dcabhrh3+=hR;M(~A zKR8`YUv16k#h5z%8-#MSVN765o4&|~QHxP#`dJ%BKgQJQGPaCWjH%P7+k#EIY0K!u zm^NL;j&UJl+Vp*Pi~)?P)A{WgV;Iw>=h!p)Gp0@7W6v1Im^NM5f$<7s+V&R?jEbN{ z!{x*{i!p8bQYXgaph_&ynejGb>U1v`#(Ksr(@(iDdNFR9F6zqofH7_QH&@11esFN` zyj=AcG@YrEw!O=ZkppDTWOqho#E}#O9MFkx8q90PHPw-@vVN9F8)|1f(&vLbm^OWZFQXh| z+VuUtj7supP7FaoVATO>P7HxBk0O?0{1?qho94%;&6qY_$B)r~?36Rvk5K~@k$#Md zpt_)2w-sX*HFB7esFyx_>= zxb31+a+7t(^tb@VK*rSR8v+=`8Plep2w?1EOq(7a$XF)9 zByIY`K*lt8++oJw3R?ONYSe&3LIP|dXasC0Xhk_F=R?;Z{uk{?o8A}1C=YcLSb0F& z^j$%W+TfUj#<_72mY4&%j-@+B#h|-H#iYAN#iIF$&0&n>1Xcx$%UmQkO)m@v$K}Le zMrk963t!g$121iXB*mOGCx&CqphUpf{D$QvXtf)3o*NXC)9(d?lj-kZMk!E*Egr&X zuax4%(EQ{7VwpfEh7y5etP+7v42(O#Wj?4faZzE}Grb~&QC1iv!B8T&5Tp?7XO5KV zD?%7U8Plf!3t_ZlOx|uA%J`jKl!FyqEU|%_ygB{<|APu7mFb?bjE;=S+q+{KEkFh2 zkvK+0#^mkK;u!T9K?~Wyrh-bN7-)$skmAJ9t$QJLx*5fQ-We^1k(*qM3jYSeb z3J$M=C;)BAStt_-QBXO3Pa>l+W99S@iHvegFj1lDCP|FOB0}s=3@;w6glOwvhMOxo zeL@l=AEVXu`ALj6qE;YPIS^GXdB4DM<3IgF5~DU_z;u~pMgzvw>AuN~x{RsQtCJaJ zm>#f9pP9_4z&K(0u4K5KBGca`GYT`Vna-5Ls0Ve2=ydlKMn0wwY}3P27;PBWOrMg% z=nmrEO<|N^?3n&7h4BXCo$2RO8BG|~r?aFnsxlf)*GgklgzE=8^UUU(hbVeUWnQ0k}=8QShEixF_FrJzIG=tGr43fRT z;ogaes_7P)j55*?xz}ev-RI^vG7v?e%*T^5JwKCCMHXDivVhtsy=4r+&2J=7lx)ak zbdd%pt{4@8&Kebo?iv+^&Jq>S`i1|ZJSo%pvl#mrQ>V|%ViX4@-tAe8Zjc5fOY4DB z&AY4>98L_!STBHDPxx7C-QDVrV|1a~RsiyPu;Xal^I%u9)#Si^>a7 zj|Zyf3(T21hbKV1V$)y?Hnmg*Vxr-t&JYzDZPo`q_28{U5+Eb*@Pe!aWoLMPg_;B_ zKeSmv)<}!K0gV&7s7QbeLDRVnl#7F#-*`Z6yz8P8Q0j0uMnwQ(^UWF+Jy7@P25$q0 z69fPD>A$lXWmO>_^oTy(>!M--QVhz?UTa~UH* z`rhXy+!L-d>laRQ*610c=>C}(rDB?H643sBxNkd#0GMAJ+V zCjiRn0dXckIrSjUg@EZf1&kU@KYXT7D`2!_67ijWv4ByS>5I?wX9bMLOn-c)OBXV> zgT$8#)S!vUn2@!&(Y z6->QhjGe-z)yG=6Kw=D?FPjg6C0LL}4?bmUKE$|!qf@w~`dEvWj_>reQbudADGUfx zN?M_&Fe00R5Ji|$+6pn{VJV|iJ*dajd8qjfkKuvVOQp&OAG38g!=ij?C<8;Uiwby6 zQRABb|2x4ljYobkF)&1f_DcO%4M=rjm@whLst=TIfzo@RbO)541Eps`=_63OJ_O3h zfYJ$2+5<{AKhzp)#%O*ICnpA`ZWk4m60YN{9!}G*l{3nVH#jjgz7uJ1 zVmSDZsr6gkL&MwMEOSK~rt?%Vc8A$GIWaJPJJwLb-pmVPGkrhAz|g<|7R zrbkpVDsY|P0GEC;FS@rkRWceg>OA0ZVt6s>-~az<6Bar+fyY7E5BGx0v>gw4oEUUL zMDq{!&)0K(h5@8da3lo>toO=rkmFV ze~X0ZvW~FCP1Y20AjFoTi7>GFmVNI8C2W z%P7L+<1~F)Eu*~#NKGeb7DJ`endOD8KLf+U4A7*NESPlWXnq4)s2AWgowtrrL)pj4 zi2>x#)&r&N%||2*4@85;13+fHc;Lst&@GzbG(Dn@Q43^EOC6(<2v};W9|LHg?(19K zP8^FfoTl%pV^psP8P$5AG-Dx%0op~( ztw>Nc3X`Apg6ZG?|F0)Q4ST@>HR8mJSAYNie?1WtJ|H|jp`KBnF=hIMdPWn*l<7z7 z85bIta5^#EJazZg{Rek%&a2`mWxK&z!3nC|Z4Tdgc#{=X`eo_!8>$uCXErdlGBSSK zF5kp>hL=%r`kQ{nG{#ligC{WVW@W6I&OeP&g0W$`#x%xm#+lo z_Ej?&-?1`Inm%(LV;*D6bdLFqPvs4`ofvK&xN-0XYYjJez%-*VMqs zk~M(aiQ%@3O2r-C2yQ2adk5=4D-|msA_>!V7BdDiF4$hTm@$Ttv1a=1C5%=aEg*d+ zS7%I@UCJ25STMa{DWfiT3AYo&Ym=J?Z|D|GU$K<&KV!!B70VdaSQtyTpI^nemW6S~ z^xE}|(u^h3XRc=qXKdO2aXq60lQc-%aTk>m(6;5fAu1L(58U9b;C5oT!CJH3XA|Qm zX2z81_S+b@GNx?*x{Yx^6JyHstveZOmkx|iiBNE>J!W(PzmIAb>dVB&AB1dUU{ z6~Dd+&6mx#2fUrc7??`fKSSDfy(|vRZ)CtGO@Fv;~wlfzmEedJB}!fznr? z^b9E70HsTybPbd~0i}09=^iLu0j28;po|tMJqJoVKpbIgRxWP`21XwT24x?IiHefb z6|OU~Y(H_8v5{Hosw0B~0|Ue1{r~?TuxDTZ6{nyQ_kferAP+-TAAnMC#EQbJBBHwW#**naWQ!2l_ln6rYHn?y1Ai? zg*%41LdB-L-(j4T8sfkp5$eDY6zagB7=enXLdEumIxzfzvXRyFhdD6Z3xnu!gwn|J zrr{0@E#VFf_rtf_-DPBE4qWKKux6nH!_kEf46hbCFz_vMVDMe!z>vJif#KpJ2L`3Z z4h&t39T=W3c3?U2(8E!+>f*gSjOItWH@LM@DNLo2EC|fx)=vp~4m|HnA zI9fT@Gk9A$GK5+=GQ?XsGGtmgG89`mGSpf*GPGMcGEB5`WSDK`$gtGPkzu`+Bg0NB zM~1^zjtpn592u@#IWj!7a%6aI<;d{W%8}u}l_LYEwIhSDwIhQpl7rN(9T^O*9T}{x z9T_TY9U0DBI5OO{aAbIF;mGjTqTZ3=yM-eIqopGQx1}S4s3jzLBz9( z(vjh$r6a>-OGk#gmW~Y1Egcy?S~@cPwsd4*wQ^+8w{T>zv~Xl_uD5_#h%MM)V!jrR z4B7V4`Wb9vs*Ya{55xE_-yXT@Y39o;l8;e z!wqvshKuHo45#3hA?!G8?#QqQBwi091`yXHf&$?>T8V8ncVt)x_3Uy8&CIaCe7n^< z#?>s0wbP${Vtie{$dO_4TnH9`vKgQ>OdLcXSm?;GU?D_Z!$L=f1Ss1PN`uspgX=+> z4nQrO0;LNUIWl-Ga%2!#46*PDR2-zXa2`Yq#74&^Q1!^-4;J87KY6ZWJ=pgQ^C5~3 z%yVRTFyE13(|kvU4GSC@8WuP*L@a=aIY14HfI6UTz9R$3a094bkfm+&92p!yW?1P2`o%9(=YsBP^m&|2Qqwp5WaMC+ zJALO*MtR1#={G@C?DU@?DrmaoFGgi1L)PhbzZm5h=S+|N#VF7Cb$Ts`+A@9aFGg*~ z-03Gly!q2#f~Y;yIe#y4I*B?eHwku2w47O1A7bXUV7>?`|_{uSz>mQ>On+OX7Lk-t-t$&PKY%VMe3^qK|qd?** zEDQ|)d8SwWV>Dx$zzYgIx#<`FF|sht;hlc%AEOe}Lf+}W{xQliUFVxF^`BABh>QQ< ze=$&h1Qri&?aXZ~&8*CvOotthIUaXB%EJQM)CxL}>k0z{!v}%sS^pX3n3x2ocY$bT z!Rf0&w3XoWQy^MjaQZ8dxhjJH{$Idm?qN)GL5FS~5e9i)Y-#|L0@DIvki)^T&N6iZ z6ARNC;i=P@0Kak4JHPLc?#24F)?YeMldljL`=WQ#AMEtpgi4 z9E`rxud*=dvo@*!`>zRdnecQORwf=@kO?Ok7#Ql+|NRG@-^KuQK@`{m22f_v%kS z2cmflroRKxW(L#wI6(Rhrt5*|83xn+Ky;JA^gIx~(qMWYh@NaPeI1CdHJE;mgGtHh zxxv5x1t_rriB3>ho?&8OFgN`7KN3Yg6zo5c{2L|)h5|#7yTrIa2a@qHGcY6@P7mT_ zQerx3IK7OMNsVcj5hzb7F&zWbki0eh0Vfj+(UF`coTz6(U3v!4Eli%E$o&Sp9rH92k{JeOc3$_?gt0v~#9=@iWOW z9m$!V1)^K?rg!l(snt6b{`)@zB~Yfo1Eq(PfnitCzyIyX_AxbsEd=>x4JQMGV)4KK z6Hw%P;PPiU85kxO|NEbgVtz8*{5PBo&I~t7{{44GHlQA?9};U^3=F?Z{{3HxEYGwQ ztN`Qy9WDljmQqlrmQwTKVqoYk{r4ZVbRSV5EP<=d;bLGAEt}r;n^8)whl_zBqwL@R z)hOmJhpSz~#lY|xs`d;Q1A|-nzyDguYSX|wHfrp2I;aThSAR#6-rl9ueRYFW^PR$ek{dYo%2s?O0 z)bKDcES>o8zbUeLg%I;V?wG^Fz_4rL^gape2fkh?xLaE5pmcFlQ3Na5o!X28IQb{{7EHF+3Hn zA%>TM;Ux}vP`0VzWneIxJpGU`lM++bL`N(DwbSI7 z5*AF)1Mxi;f*c^nxUX&}08_4I9`OiE0rR)dNQIi`23r~d+pA74LR zN{mU4NpK_FSPmx9jbM}5OavGhR5nhp0x6gPRj@&fiGyj%#_7Ann3R}!Hch_=l8o6r z{U3;4w|TmpIFlTc_txol;!J8xJUgbRf%t_xrniYRX))>UoxTYq-m@3vb1Akhf(#5( z_JUd~a!h^urb|hHD#ZQMtw8jh1Jk2GH0L2uNiM|}BE-Ppb7=Z3kl5Tqph{1QZHf>B z!*MWMZ2AWYCIzJhzW*T^*_lrvl#7qWgFAr_)QYrVU|;~%#ut328%Z)*F{$`X&y!@* zV&d?dK1-6xjCF(G|NqR>H~wIh=aOJx0OzSGe$)R+GD$Jr@S83r#bn2{!hd>{6qB8l zN8o=*E6|TmAcl{H0TkON3=9kjfzvlhF)6Y31pfao12GC@D<~y41Wsp?X0l>h5;)yX zn#qjmPvG=2X(l@+pP=d6q?w$UUIb15CC#MA^do4xmJE{_6GQOyBpD_nCZFKx(`18BK!)L0o>|Nl3gE~vyLJe@<4DTirK>+~{3raY!MZPTAAGO00@v`^<#V#;Ew z=$Kxm#N?)QpyU64BWTuYW^(0INay2lIn2ibYc)OSnEptKNlT2S^Z$Q&kUD7mf%3XQ z=X51yrZA=(UDK7M>fnMsSOp?kWJ3X>X>M9*|96(%Dllb-2$ zDol1vUwWpmQ(+Qg<>~$ZKOW>(sp*eZm=sxc`u_iyhwznEnJk&U^i7XbWwK-1(m#Ek zDw7uLkN*Gv8>c6#GD%N=p~_^zWH52Mk{Xj1lgOm$eril=tZyd$|E~y+a9&W&4~p;) zlm7qbgc!MBjmeT}#pLO~)R^p8Yo`AHF9#71S7)kaWtav^c7jSwQqw=HGu1L>Oq*V$ z!E~;E0qF2xsJE9CGBJRTGd_YOCQ`)2uqT;`K_?N^(}5_|C}LtzNnv6zK@$5=#KfSJ z!o=_eNzA91iQ!EO6N5(*Lhp}aCI*L8CWaRfG4Nt@hAkyb3=dL4=NZ>eNMmA{lg7lb zB8`b*Um6p`xilt*CuvL!ztWf(c+w%}NTo9|7^O2Yc%?HjM5Hq@q@^=4l%+Ev-h6x!=40AG= z7?x!)F>J|TVmOq+RL^iFgNflu2E?LYP?{x^i9sZji9sckiNPe3iNPt8i6JDDi6JhN zi6JACiJ>TyiJ>Z!iJ>KviD5z}6T`erCWd91Obi<`nHY9tGBF&=WMVj#$;5CalZoL@ zCKJPxOeTgmnM@2{GMO0uWHK?ZWHB-DWic^GWYse|*-Q*8vY8n6WHT{b$Yx@AlFh{MC!2{uB!`JXC5MT@CI@1uPYx49SPm0IS`HIK zNe&Z3T@DjNUk($)yc{NmH91TS2XdGg&gC#M+{$5Mc$UM&@Gggm;a3h516M8+gH$dP zgGMeBgHbLMgG(+GLr5+YLrN|aLw!*$6GKfd6GK-n6T_@rCWckHObpv{nHUb`GBI4r zWny@g%f#?0mx+NTkBLDfkBLDkkBPw`kBPx0kBK27kBK2CkBOl!58}YSJSK)Ec}xsD z@|YN|kV#p|9VkjwK zVrVL0V(2SiVwhLJ#IUM>iQzy26T_tfCWc1^OblNNm>8G}nHU5LnHV$*nHa1JnHc;E znHZ7^nHUNRAr799RzIMrpW#aVfTn&XhWY_b{n80f4FfcHPBrs7O*P|Qi?Hc6g>I1ivK_h{QA-A|Jxu^u< z3Y!Eb1}fruY8pn+EM$)aBrq`qB-Dcl>R|tZ)I3L|kV{EmVjze?@lQ|@F$R&S#y`N- z&)vt^s9w*-#|PBbsYqaA7yxWfmZhP=u0fC_x_zPslN%%Zfm%m~f?CJzjG@e58TlnA zI5EgfaAGiVa$;aRIHe&jXtwfaz2&^ikR(Aq}^ z1_pCR1_m=WWD(Gz|Dh-%;fxFnStufzj0_C9?8v&R7#SFTponxZGB6Z!Agh_e$iNU# z&xtIwkdcAGlnYs84I=|XJ6t5*J+;IwAei9@Tm&|bYqC?cR?bt!ISb1pG5Fu0+J z+-GE9DB-S0R`iyUfngzvqCbob3};b9gqRo@exZnHGBGfy@gSRH!oWq5$$54LhA>2s zFl8`IzwnV+hw;gDK|2;nrVFgoB|b4LF)o{K{fSwbDL{I9!Y5|A`uU)9hTx`x()~(i z25_#21U*P(8)$zHR1G93jx#ebbjm~A0ui~z%)qb}MdTGID3p-Z{9$Hb_>3aLR?ot~ z5U-4^NQi}jVFika918=(C3R#q+AItV#u~^XRxAt*9GWnZc$cEYa<_tFVYmp$8{VLq zN_d(AiA1twgO+;3k{L)Sn}va)1w~OQ3j>3$7Q|>sOti8vFhrqo>_g7-|H|AkqeZ6U~Qy3+%`G0WAjVPRl+0JRYk1A9P|uX+$SKtwLEFfeRG5qZkO zz%WT4S z(~8W~_p-2vgZ;+HGM)V!vohnQ>Du3z<=Ko_85jf%A-=I?WnfS;LblV3m4U$&MI@Y+ zfnk<0vYIqj28P2ZBBiVh3=dI6nphbaJWP;vO=M+Y@HayiS*XIwzz}E&6N33hzz`$? ziarG{28LKj^m%<}R$=M@XDwweCQ#u7QosYwW84+ou*mC}F8GaElCf&~?eEO;Z0lGV z7!0f-8Ez*i&-m)?RA`mr>Yzz!-P!UMl z3Swhmm`c&XXfZ-0J+&l{fq~&Kiin{Z1A~||vN^^^3=D24B8Fx;sWD|JLdHfp zsSDvEprDs#XJ9ykBBI95z#!lPGa97EjGciY#sgWzm7Rg1+G~2*FJ|R>Z)Ax`b_Rw# zUu2O?(4-?9a>6NQXJAnBgQFszS97C8)ZP%^T}4R!{Gh*V^ecc5Z17g>af zgMoo14_QQ%gMq;?AKLbTSg*>#z+jn=tjL^$fng$wh$jaF!QV7OX^tY|X_1A}BWvdCc$28JjUk?R}` z4Chcpo^voTaMvK~`pUt;(263$#L2*L5hPO204iAGt03vU0VO(wI2jn$p@_(GGBB7m zARDdD$-poVE)t(wQIMFI!eHEltj2hPzN9h)4q$14C;svbLFA3=BU|M0RsAFf8svR&$q&fkCVv zA_7U&@3|Nl98g3UxfvLEVIfoxav}piHv>ZhJgDOf5>rbu7#P}7v?+o*921a@Hs@ww zxI7bC#FLwWVZj_^k$7$fhPJuLBKh15;MjrGDe)ltyFoP}XuTS^{SFdYz|FvLXC6cw zBs>mqGcdeF5qZGP!0-(!0`cnyZU%;~1rS{j5r*mc|Cz<=S0amv@Gvl_u0|G7=3!un zLJ=|IVPL335pm^VVEBb10y=wMV-2!7aXbtRdr(Ajc^DWTtU<{`1`h+not?-c%Xt_WxOX9oY~*2JNZE}na)5_{p=UQrA$N+0fnmxX zWJNc57#Mb-h&<+DU;yo0M3haRco-Pe4kPOVO^N%Uh;Z{VFchGOi1IQpNFRq6a`6S3 z$?=)RCSJ#p4N~D{VCX>+(c@)c_=F;2&C9@$bOKqI2QLG|G8BEYiWpz~J~0A_B>I zlld4JmY|5N;A3DAeT1xLKOX}_JX{3UCN==KQyCbh|6^itU|PU1-GP}!i61o61j?Pv zjQMN~4Eoa*Uond^G4M|BU}jNb?47=vnMI!MCLaUChDVU*{wt7YQA&q@d<+Z;T##A; zWD)}d2R{Qt!ee9?3Gp*92s}X+QRHV}*nlEp$j`v=07b-|pMl{6TmDFz)T5dqzi74R9^97#b2h6yMlI)V%g4^Twx1sUoY z489<1^A}`bXh0E(7i3_#fFe>N$iSfR4Ov&0AOk}HipUa>IVd9g1Q{4MporWMWMHWO zfFkr+kb%MAJF?OILJSNAC?dK-3=A7kL_CEU7(Sqgqzf@H82mssryXPtipX>!28IO+ za3OF?29-chLE1nG`HV0F!yQmB)sjhrX}Z8`W+lc2(``9elo_u~Pvl^cXIn1Bz;NLQ zq#Jq+lnH);w8GNyLy#N(Ad7qxVqkFihb$r_465lFkwzEQg&7zEn2<$Wg&7z&poqi@ zGcbHW5h?K%W?)cYM%LCU%)pRFDXei&pb3*+>_Z_KjwmxLJ@1Xy9(L1Fhun1R6oMdS-e1BwWj2m`|f z6cHs6Q0o`j97_=fh6QZMBHkhl3<~VXBC+)%3=9sO$U>PS3=9WQL~225xRBNKi!d-u zKoMC8Qp1g`W-G`+C?cmoCZmWv6R~1oVBkU4#vsbT;D90`Bg(+g02hG;a01KpDsD&s zgHjcD2`{vuX7rh!$j>6l^oMae7Y~aZyRj$(!vP*hXiGSVGBA9=FzW!%^b{VrS<=(z zi?OgXicUYz!y?b_E6Tv2z{@y2@e{LbeS#sWp z!vz$P1Th8%22o^lDnRC-h;)mIF))093&A2nfp@wZA9~;^O`pieBF{b-WQZ6f>}@uQ zF)%C;L$>2M$o1mLBKJXVg^R$fa1fg=z>jW)@$_nb7J2qBVhjuq#35EB@QX7r2uL6s zs3*?AZ~;ZcSDb-ifh4k;1aSri18HQD3Xm?i2+SD|#HY&%z@4GQcwl;`0E;rC>-4n( zEb{Er#TghLNJAV_zY1iDEV7XYLDDE9x5XJ48WfP#d>3b6*nlD;EWyAKpopwSUxI-_ zKp7?icN*BSpaS1t=o3B^eklKt&*qUL^?{*h1EI3}lWAvdDc&28IPFB0nVK7#J>~2nk9tFa)?G zYtxcqU?@Nlag}0VVDLazlPJZ&Am9ZPfkm%_`t&LhM1(LZOn)lEqRiMaol}%Wp1l-g zlNTgL>${{F7$(3C0M#c;q!<_upor`MIV2Wl2}sRZDF%iMC?bzQPK!rY!z|6fkbokh zEX}~sfFfe+E6u>L07WQ5nt|a1ib$n21H*&_WTU4^Gcas`i@Bwz?>_@WI%9fbZf>GpGAN{w@KccYlOWbc{{mT(glsLJ3U~@oD6J%y!kbyf5RM9bZOrI~oqO87@8Roe1%sgYG z_^kZO;*!kdY?vz@WEdD0q(U5*5F*3CumNrj$P2kL3=9ovFpEJV-5@n6A}eJW7!G72 zt2qT)HktzyfjM_U>hv^8L_9Gbn0`@`MTIeEdVw^H5~u|vCB+hn#GQf46_ZAhor200 zl0lK3fXd~QMUm}6<#NfP$abJ|+2m1VTTr=73MjG-sN8?3+!{p`#lKLw6-p?w-%zYL6Loj%FR(lk$r{A%}_&;eTK?SQAd$|gvw3OK#{$N%8k)Pk-de= zjnHC=VB9=?qZW$?WA5}1RxC=>9RyfZm^7HCrLZVXPtj)aU_1ztmY#k>6$ zuh@QrQg`n3S9&Z4s(i8x3;}uQ>AD~nBm&BYj~N&k*x}i*N}nZ*^@s!m1M~ES`YaOL z84XyN8M!yeBj(vIy0Azxa!%JYWKm(vgM>hVA&Ux=1-J_YZD0yc--(c)X2hbxY5^L4 znC_^2AQLYOeYh((3T2H6DF={Jp7yl zE|8l=r#G0fa836!W|3mGf!P3={baIGnBHg1qQq!4eWNjpJiCD`1A{|8xX_TC{=t}q zQ#cjrqQq37F#UoPixQ*r^w}mX^6XZikj#e!v5l83 z1H%TW36R<~QI>(>Kmp85P_a`3vJ&Jf@SrTrmVo@}Ql>0!tPUU-*-fT73e#7avM4bIPd{tQBG29<%fPUp2dC!CT8X_ zC=|m)KyKJ1%fR3QvI%4|d|}6eqUmvFEN-k|8IT)bVWv3!lo^W>WAya5W-KbxFKV+W zPk&&^qQdF{G6JL!8hyFbYt32Y+4qBdSPTi0`Ujx!0jUF91+x6TECT~*tvF<$8YJ=$ zGNq9oA40;@|v)~Cr$e;~;s%2*0YxNb~2Ow;u&S(Ld-L6(6G(weRq$07;# zGE)K5^n^GTC8i#zVkEwn6)1HuP4}~6iC~(>GQA*~MQQpeD;8Cl!3B`wAj+D>gJ}uN z^b4^pQlRpHgJ}xFFaaBuKE@5x=i9KzvsKA4Ff1qqC39uQ(&;a3SlmF?gA?HlrD+Z< zN{oA^m)o+)vvtccFgyS&RAPEiI{knxlFAcGkOY5fy1yNZ3S$|_I3*^9vgtGIAgVxh zENh7*D09OX32-wg!}7Mt^u*W9l8o1;d)u?fv&{uL32cTkW7+g6_7Ee$PBKvjIZ6E! zJZKBjz{mH%>Ss_$GcYi$2f4KjnmG1>q8T=20#)dDz(Q4LJq|hYDnow{i>& z0hP!ijG)aZRmdVT@(c_MP(-xl85kbaAgi&imuFzOP>(DW2r{S{StJ9b21TSwo`IpE z1zAnEJOe{QE3(L3kY#PiA{*ry7$)>UM3|si4zzltY@~hS(KRmu}qh7Vv%Dz1oGQdP(&(oO$C_j~PAn>nU@b~a2c}N9aYk6ls4#uGGmA3Q3bpBe1uRn2=ZUd!FiK5-@6004egWjw z)r`{@zGjx1uJ6Lap}GcSAE){h7W6}3%If<=dMRK?Yle!Ljg*j=T~50aM*yXMoNK!0kk9sQg+1WCKctR z<}qy8h^)p)fq|g{ZVt>)O46c`u;wn8&Prvd{5XeJKgFHqP{S72ZO&BP%@mV)fv3ULXfa@hphi<$#gI3LDr)v`U-O0c8JjsgP0T<7!puK1VJJ@ zkk!a2GB8X)5z$a&VEC{TrY63?v>4fk9w5OdCij z5G1k(StLf0fuR9KBm<;oAF`TaMFs|i{m3G9Adv$w5ola7GYD**=E>s5)W9^|!;=Lx zWSi~DqRb?rHGP67i;{W`8?3%a&&@1OMk~@77`hc17y=GJQjEk*P_P_Cvw@HNUg)fTiHdL;O zAByZIRIY(PitIX6u1)}o>?%~QMj(ppG7$F=+=GjPSR$A>5PXGTmIx*R1b-fgFM;68 zgs?;~DIoZ>Kzt1ZUj<~I0fH|P$`Z+l;7&v3iiDxaPD14hgrmszp>la5P-MGMxg3!w zvTdkbmM9e2CKT?pXcWmhRPG;CZdDA5;vcBovRIY~#tqZY$Aab<6d4!}90Ju4N=ye1 zP3JLTQJQYx#i9aAW(jdD%1EKKA`Zn+wRjZn5>&2I0*dScRIXeiO9bP->G{bl%F|~h zvZyj1ntmV=oaDj17p)`~55_Yf2ZDPq987QE^3xwAvGg(C0%`R?(Urv*KmA}Hi!!oW zaChlf3QI1MFM3i@9LAM~!tDTY55vjzAPo zIRaD6jG|bHyF?GxVw?eKF@Bh?TF4@=eNmBtfkz)I2P()J9w;&}q@dJ4ZxtCBW*h}K zGbE=gSg~+0%{U7452Uo@(VzaWkj06ONeQHKx?2&89H)R11H+D^j0}w6PU-ah)-3GP zdy2r_?&+I~SZY86F$TpDdL5M3DS_};L1~Rr2!9!rRw;w<7eQ%-atMDOl$NQ0@MnQ& z1)k{=l`J)&@R|mtMXDhDNl;p#8p7{`(mXW~eixMHsD<#`pfpPzgx>_Ar`1Eabx`^b zl&)%ki2s1nWsMO27bsoS1mS;x(s|7g{u?Nr)dJzafYNEL5dIS=ozw>5KY-G4?GXMQ zC>_-S;opGLVVw~E6(}9l1>s+S(th0#{uwCk)dS(5fYNTg5dIM;?bHY1AAr(!{Sf{h zC~Y+X!ruX<%_c(lTcEVjBrt#bhDj{$ob~X!7?k{El|Uo|!~g%_)lv)$4BAQz3_9RU z0BYC9mn4GLl``Bw(PgK^!0>>_2}xJ15(C2o76t}3&|ECo$ZQOgo4_LV$d=6o3n7cF zS7Kl=VM8|PkP-t!2#V2{Fm%1Z5cvib0kzgZn1O*6bo&x$u`R-{BFYR52S9lS?rLR- zBB;;e(~43-YmZ-`_})yJf#D4+vJ?H385lrkjv;)XuFSx20!2-uG6TaERt5&pVrK>> zhWO%=qU78HhJ-_)A_NrFpirBs%)lUnqHR5jgFtHbDl;$yps2Z`%)qb(MdUSxE*TXD z2GCU~pvBJ69Z=dT3=A7kd}gk~z>tGtkQ?Z<90ueFidA7?IKzzW`(hOahBYW6{VEI$ zZ%{n8PKANN1Z*;Bu{FpW45w8X7$i{Q^^pn#g8+)icNGQ(53n{^^5juvU=TqOk%jIi zLqw~oDg#3Tc<>Guu5M5@9H97zB!^H{28JgnuFi)lLKsx1%D|9;k{G9{GB5-%Ap3rm zDg(nC6i4qw$3_kEY3<~WgkWtV+1;qc;)EF2xpakR^sNo3z-&bQ`h(U4W z8#M+733$-P$H!OX#3wVbFw`?Ju){MEgF47cI@7U z;L{BtGxI@e7!;t{6C~294z5h=k%X42GcZg+arJg}1_l9W_(Obu5o{2$qaUj?Fvy_j zV$@(@*n<*65}=bmP;!HT1_MLPVMYd5&>}{N(JoL$i0}x*5J}TuV6Z@OP@M(?!-DD4 z7qZCL_i8XO7@)Xhp#}p3=-fj@`LYdaBqFYkXfQC?pv3tV4F-lUDDHoUq3e$Z1A_^Q zT>|x*3=9S+Zd27{U;rJjh_K#GlYyZFC1%1jL9u}xds&(c3@RuNs@7y+0QDUa=1kRO zV5mUJPAfF)85j(poo`5h9@J!DXh5;-q9y}_4~nbrYBDhVLCFIjH5nK{n~e~b{nun* zh(Pg}pcVte85DCAv=|`giZFooDl&>rU$~h?wBB5cfk6W$Yx-(2FsPvDjMidc;6MrO z0`Ngt$U)Me#lTR2;*&{Q3=9q^Zd#?qz~BNmCqAv9w4^?nfk6Vra|g8;7!u%$Kp}q( zY8hyN1QKjdv=|sFP@MP?ss@p0ShUeAa&>KxX~>Q?*9NWLM#-4|+6)YHP^?eYW?*PR z@kf<50|O6=$V_bph6I!{Xr(p-Lj=4u0a?6Vn}NXt#nDH#L4^y7qH7p#e6G#FP=n&2 zKNxC+br=|Spj3B?pp(W>va_xZ1H%oJ64zCSfuWuSB^ih7Ffd#|iNzEh1_sa`W<-`R z(_vr`LGgXB4g*68ipW|N>*LFli$M*72`CYL0;C2M{)jlc3lc(c^=lmlh6WVh|He?m zqYDaN+-=$i;MmE(3!Mia+vo85o|R#91v!8;Y8F z7}jqGiJ(|^S{FSOZ|gEJY++%LM`~8S)Ma2;APpHDgQWAXy3^k*V^Lz_)SE7_oJFKw z03`tB^cWZtP#mYD$H4FdC64{|Am?r&ii#vX28J&vx+=j(2|6HEGaXu$H0&S z+C7ReXqg@Zg9J)Q>;Y**$xW9)BJc=}Pb|p?o#*xh#T(D`7#L2VIQq99149ekiSfCq zxyc2U3i_FAFo4!Jf$o@x1O>MN1H&B@Gb9Zd7`~v`qhY|n@Bl@PnE?ZX1&Zsu z4Hy_!ps0y3U|=vn37m9m@X@odv;ofA1(ggPD3+BPFfe35JN^(SHW@H5EI2s*+e#KW zriljA#a6K>)h{w&VAz7vMcII2HYhL-poqlBI|qft`-Xt0BjIhbGayF_LdKaPw%q`E z4W*)e0`fkJXBq1aK^7pllLVn6hyqF7kbwbo4gjL+F*amia6w6A-i8beJ5Y>HHDq7_ zt#C#ppb89=TMeTa7*bFSnuDSU6tbWxk0U4{yBewnQ5^3zWMG(qQe>YooIYVSi&Fgq zki+273F?)llol}bfM+{ly@xl33=9Y0YCr+<%aDOV10~8i!3V{`VjQGK!ia&P0&Zt~ zd}2|08Au#C4m9hHkfRsW-%LzlVEBPjO<7 zIEYV9%*n|YOJ;~b3A-jE1_lM5>BrWv$kk6lF%;zX9!7JnEqF#JFXQ66Ikh8h$R$$Dc3hCgukf~+?%W?=Y%Vziqv1H%TCaxvbRfk6Pp zi3P?Wy~t71gdsA;n1NvqiuH?(LDeq2SOyufALJkuMVE~k7(j=RBNFjjV+MvJC~AI# zEMr2pp3j7V;SGwTRZJKdR8T_5(gf7(L9yP;1hg<5Ibfqf+E7BM#Dsxi1&YxVOc)qm zz(wMVQbEz4?12*L>r5CJKxd;Pys^uKfuVi|ia$<(&W}WK(0vnd-wUY_{(_-~8GKSI zvhM{=85m+v9Ib82z@UNRduNa?Q1~NCnQ&7E1_QXZ`1tgkv~ti=apdfjZOXvFf?`mo zDFXxOSOSR8K>Mvz^U4@@p!j}tqx$+(EJ8g((9=2Hf!=D}I?WFgT!uFQ*v;!vz#)D4Q`bWS}Hv zBQua*SZKxqk|)HP>dSip?ZX!XW0C zDGml6a1oI8E#?di74Sd;iOdF@BY>0#wwQyPvGqs;BFD@b7+%1W2uRx%ur}o8SiV)ti46$NhXg~?Z z1Sn@_7#MO;9QMo#v;zz| zdjDB5Fm#{LeX~3 znt>q)MdXz=1A_?4INE<}28JIf;UNJ!S{fz7H84a>Y#8bp9-xfTxY;l;xS&LD2!^&K z8_*^;_N%@hcK+aVaotM_X3fK zKG`xbxS$x#1-j}4CB>-NF)*w_akP~k1H%>2NIt?KS33p<&=F1ukzhLph7<5Wi;qt% zE>0~fu|SEScsmA$1h^VdXcd60M~Si~I|c?H6zeD3F))N6=Ep$VR@yNzY(R;{U3Lr% zpbK{p4mxAUz@UKQvzHi_eX&Cxh5(r?X3xMd1;u&|djcJ?5pC^2o% zzyMzO4KDoR3yZ!2})t-SN21U&$dj^IXDAuz(FffR~oe0Wh#U(`y84z#OLuUu&9l*^P zq*jc+0|SE(iqXyv3=9z{5ftjcz_0*f5Y(J_&^4DRabMuT!0-XZK`lsX>LI=dorrV* zCFO5*U|^VlqV1Fe149UkgC00AFx)^%dLJAZ7<5o{@i;Ot^q@Fe%8`MA1*V3XLC0~s z${rRi#_5OmvK*g2bsvi^M^I``YGQF}%Jg^pSSqL2>}TPcK65`yHM60K`E>CEESsj^ zJit;dXJo(-UzD0wlv1BslthXOL#KOwL kVr*h&xc$^ImIOv-Qwxjjx+hqe7?~|BjJ6w{WRWxl0P_;i-~a#s diff --git a/examples/resources/weird.wav b/examples/resources/weird.wav new file mode 100644 index 0000000000000000000000000000000000000000..101029c5bf0abad9fc68bbaea63b55abbb97d982 GIT binary patch literal 6246 zcmWIYbaRW7U|}QoQkGRn=-A&%dKM8 zv}rRcJbdbA&6qZ$#3P_-&Wst;iabI(Ky;o*MAw`dGp1yD#P!XYF>6wqN795jGiFUl z@=BXBYuc=yIG>zpv!>1Jit#C!F>BhajtIY!88fEMY61nsVpL{Y1))YQ<~x;%0Lob84+1MQzlKCP!f^QGG)@FNeyvP z6_ch+n$(#Vkpq?}ib`q&Nz^68RZW^SVNyq0R9@et36uH?qEb4hOqejKAt9!0!lVfk zdJ3Xa+9pkyFrg_4CJ>Vb5lD$E=>w}k7ML($LQhd#TFayfeG{5MDkk*x^^_!}wM^*i zo6wY&P||}W(ANSJs7Okx>Few3>nupf04eQj$w(;Z1c}t7BvpXup0cEj1`wkoFDa*^ zucxmo&qhYY#xJd7R$Ea~$BY>>I#bMK)B?(;ELt$Fp`vBhyv~deD=nL>c`KGISIwrD|1LWo~R=d2}5 z7A@)suy89|ux!zid3_~80Wl>rmMxgj);XyvCM>06QfKG11q-?|!u;ZzW-M5=V8M(W zC%cHwC5sj;nATYk5*AlAYssvhj=o7HF%elE6FPfl&70Sj65^B6Icvd!dGjVDIk}|t zEm|;d&V-JG(rjJ~3nfQYgwvp~6|D=i=(rDevf8Poc@nsVY|GFoO#>*?y6(pMB0 zl~LEzGhy1aX+1?TK`|9mW`Ht7XIfBDTFZFSy^p)4sTrJ}2+Z_1P@ zlj>5!!ZJFhO#@|$hJ=u)yp9>urcCMSYROB8%V+?xx+Y90FyRxhYFYsD*|a1TA(ey~ zOBO9!Ft5o+P06cf+OlO!mh_}}S$O0%Ojx#T#k8D|kf@@nnyw`avO>z1teMl9W1^F> zV$F&*(~?4Rnrdo#x{@N=)~s5wq{u)cY1)catGZ%hdgip%)TH^POj);L#fmxyn~ave zB`X@DvSzHA(^=(b7B_FriWLjW!s2Qg>Uw6BMU^dDv1~z;n@-4t6)RTE$cd?&)=|?? zl@M3AWW|zYv*Ij#s(NOvm{%54FlWhxmWmLE6mZgOhzcrbXy}>OmXOxBY{|TyG%JU) zMavc~=}Adw=xM5HX~;-wTC`-rlAaK&u%<~1mdq%ME1NT`qoE=qpk&sP1q1qGEf zwM|*jkd!rH(Sj*$8BQJ*pfot8Afce8sjj7~Dk*2uqIvUX6uCKM^vqhYU{YQ})r`KT zx|*b@f=LVJ&6(2@;giwSF=^g}yp)<*^Cq=bg?Xe*S}<8( z&1i{o3Tv4KN{%TxoqbJp4OMArRWm^8rXnaHr=@GgoW6pzifOZYT56I4k~-(inlY;{ zFD|X7p{a99Lq<*~D3w%%cqMhsnl)oaLq<+ZXH#8MLtaM3lvy*TO)Cou%4_QbC9kxy zNmDu+YO0HVC@!h0p`~kDTTWKPv}sei8d3sc>Sj!vHm$EDqo}2&uA!}|AggA| zv?)_2l!S%kbxfExZ9-L6QP-r7hPt8%6CDSyn5r2Qswz4`Iik)>L(MItZPBthZB;F^ z7R{Fk)YV9}I<2#=te8H+##M4FvVT;GyKi{?#eN(qTbXA<7gn|gKkg6H; zKzXMw%q^&30;pW+>?lcyN~oANtFN{u@w6#bVLnkseRF2an9$i- zl@=9O)CVd}CQWNei;Bx>>FJv`W7@PPP?69HDov(MDvJn+De9XwZ5mj8OhQo~s5F@{ zr70~cF0ZAh4;04@DM29_ouJZW%7n70ptzF08Plfpfy|FdD1oYP%ZiE1s_W^QG-b+^ zu7aqbn2JfD!UV()ORAUvs(m{6>Pv4X_KM5|Cq*?Rk%$YH#&PGhirDf5g zMe`O+NHJ5f$m*K6V$qTrMIlZONmVU#mMvRQ6BQDbQ&rJ4Wm!W=(v&qzCe?VTc}!Zj zV%4Iukd&r|il&~Th@wTSmaXXVQ1fV6uwvDmoQSFg6Y6RT{6d;mtXj5WN`ysNUB`@7 zlTzY3RxFv+l3?c4wr0h$WgT%*B~3LgQ(EHErmR}BWJ;WYL)C(1%NEtd~gNqG~db=1}6 zM5J|qYNZJoelb-|T{C7?CFM<+H>0a5#Ult*OwZ}dNy=+#sO#vdNGX~$Z`P~{IUYVm z6K2hs)02}@2g<5-SxE(bphBZF&M%>^W5TRyHEDT0bEb4OE-@YRmMvMdq$kMCE^p3?B}?Y?R7C_tCW7T17-iT1Q_;-@HZh z>f(I7vL-A5wK8fvEPUz~Em^c^T4zyMNKDzRB{RA@CQK`f3QKG0>Fk@cU|vUxpIcnV zyhRJPe7rIyfJ&2j zoe>TmSs>=LuC~0Gh@^%&pz>h`sHDni>*<*>XU>eeI3J%ZP!Td~PEV4DS5g}&7xi@3 zq(nsI^vs*o)j45SOG-pcL0eDXj9Ig$RmFJu<$)5wj9HyYUVdq9bLPyN)&(xB@_Ob> z=<1p@qbVgK4y=5}j44$yK0!rOK$XmljwGL;w6=H>2JlfjF^TgZB=y@2?-6$RxDXIEy~QNs%y@Qc_lF=^Op2Al?AwD zfs)>Wx`>dXx`v*4ElF9EmMxmom1N;mwP?wrC0!{g4PA9LEp-_wEsGW{SkxI{711(f z!IEhO303o^wbYe_1(nTNvS7iiilC5^hPG+*>cDM~Ni8W39yOr)Z&F@DK}$nTOIJlo z!4y#AB+tbqt7p!F1ru_TYG(8_)Kn$Kl}rJ*LBf188ak%T>&r>0n=@xZOIe6l#xzjC zHl(GLHPkfqbmpWrfl^RYm{UX>sBu!4mebYKRMSwAmIki0rj-N)LeG;P|H&bowvm?lu;q^BsOq@}5@uC1XU zrw&wcO(+O~Hcl$Cin=DWHPjS@=;%23r8Ld!tElLjH)r0I5+@}!ue_cmOXjpxwar>I zr7Xrt%Pe8aie*a{_0=^@nN$=L;OCLnHE+eTB}?j@be!r|tXQ^ePG^RPUrf!S6>~b9 zdirw0B1$IpfVw&}3c|en%BCz@wq(hi94n)cK2XguttH7PB&lP`5>Vr$BPk@NZc=B* zv_*@0GD5tfT4pU;vS87K7z?|!8OuP8le(yYu#BE13np}QPH9UDi>sN?1?uWdDF8J$ zrY!*VSt`720_x_0x;kA|F(DCo6BfFAkO7Z;LH*V6^+>hxuWctteLS}inxfVqA8%R&V*?dF<~inJzW##%$d`f5#$lmGzZi;nNjBF5>^3fr%dW< z$%=|dY62HN(CnWCnh4LY1Xu! zuAXTquR1oA7Q#A$DIOzg6eX6E_8z)n$5+V{xIzf$-8B?m_ z{DSiOz>Sl>yb!;*Do|6kudAadAu6eA3aD{1X;M{ER1#SIv}u#7;sV0*`aqS*w4S`M zpoE$!pvDPQ{UlIZW5T4ml&HA8Hb~>7Eh{1&d#2mo}Si{^rXznu09aEt3Ed+t)QW&ucxP@y}hniay{oG}KO?KS zp`)X#r>m=@Ha9J;u(_wFr>m>0tt=}&r=qQ=r>mpAt+^sEE3c}(y91=Bts*bGpsKZ_ zqpPc{tFxyQ{0Kqoc7nJF}>!y}Prsy{)aeq9C`Rstv?!?`W?r%FQorXm1CN zDYe&^WakvsLk5`I>x*)8OKRIY+uPgQ+8WCX^NVWQK+N{`wyL81qRPg02&gT|%PVUD zvD@0(YK!v<%Id-DTH2bciVKP>o7>yKprO35u%xC1%x-I`Db6pbXoN_$)|V9(mDRPj zx3#slv^3R}78O@Ef|#wXZH<-1MWxkEt*sz^t#ze^MHLNTW@~FhMM+6H$iP<6fLTLT zX-Roq3y9s?+FD;x3X*FDgOH4R{G&CN}9)s>ai^KdCs(oM~cwbgK)Fk|bQAZo$3RM$2%K|w=pbyYRU76`w-rlz{KzM-k9 zv9Y0{v9Y19rlz*Op%Dri>T0TM>KmFM+=lvEm@H)6vbLtCuA!k3q8uU%VK+85g1EJH zU@k;)U2Sb$JxnpGMGXxNb+xq+dqIjD8|p!-!Ay|58XD?qYC$%E%ms;pWI<+u*bNOZ z)exl^+=lwPy1II(QV<2c05%V*6hxuRqw^aYkPHK9AcP4iCnQhE{84#aA>iW~9OA{mz~JfU=IoFS{nr=?BDrQCqf3bCygY%k0 zVz!6GFy2IH+wPIUxK%~Y)Qlm%C^fApwKyXvu_RT`*v!$SC}Rfq|jZMTKV}l)vp}C*8GF9RHfVXN?P*|j#AF!u1^>Q z85myMK|};fO^>@iVFZcjKvgr9DnaBRs+mA?0uT{_QugDnPnZQ67(H@YkrhAcD$1Ykjf@FB=F7DDP3kOCE?0TgCP z*1H~=>cAwW+Ut4%)9Kx=XF3meyI$x#*d2PJ+x5WofBzWe>ko7u>UKTS8KMIA4JXKc z7MO23AN9tb*a1oyo!2|>bsqe@^u9m4lRBox;>-kOT5m zI|IlP9#9m6l0&EKljhnd45bpsSyZ|}Diwc&4F^Tb^hPEoiFzIeP;}jZY3OpjVG~qp z*yVcD#unpiQkgE-2R7lQqFt^JZ5&Jax?CUGgq5;)xjwdWE#W!N zqOt^J{`y}a2R{L&;NvbT93Xo@&XNGzasXk=0h=_CNe3-$azRENvMB)>b=XD$Y}5ge zQK?{~jx_%esFOxEiwW$-C)4Ygn564Dzy|L?7`($K1!V9}n?#VgyCCN7wn+q=dj(|f zkDnkX?ty9PbY0Tzx(5`MOS*lZbo!|9z$}C16;MEel(?<|MW5@6v~Jf^X`QZ{(z;z0 zuBCOlZs>O9=seULy96b^yInb&kK{}bWM-0>p2f_RF#Q@clLy&%Cn4oXix3@WirI1-Ja7+{6;NSW03^qCy5(-E>D5rk&y(pfGUc z<7j1a;$?MfXKrI@W@Y}(I9-sHNtBUqx;iV9Jfp*OcMz30Jsm{tnBESe&Q4#>$|TSF zh=qaS_~e6uB22p&r$1z65@lM+HrXymY&#ztlLKRY8xsSAG6Mqx8^Z)91_n_uYY7tr zg9@0n4lZ^GE_Mbkb`{RL2WNd^Vqj1O>-_^4V`YY!%m-&FF@x3BGq5q(Gcz!#fwhD% zGcc%wS&hsL3>sk8e7Ni}xaQk%)^j*Zo`r!y6Rg98g@Hi}%<^PmV9*A$f>>Zq$byUY zvM?~zLo8my0&~Ja76t|#u$F5q3=Fzp)@!)tZ!8Q9h71f0A`EP-FayO|85j(}VwS87 z3`Ss91zdJMT=i2mgE3egj}9A5i#{97KzlX@1{1J!DqMCG8v}#s_Eb(LQN}zj z76t}J1_cIC!eC(VWME*hK@kaIU|@(v5lLiVVAz5plFPura1t&O?~|XH67Cpw4=Tb8 z$_5M-3=9lQ*``0}WRzkB)pFj`|93LVPxpDvs4{s$i3;PF$rrgrx3_RJePx`^9LFd$ OnYUDMdlxTL6B7Vn)E7tq delta 2209 zcmZ26m!oF^#{^kcLjz-DlZ{I5++ddRoFTzT5e9WDrQC!|6=PZhu}7c z#B2|VVZ4c?bGt_d<5m?p69b0$qSUma)Z&bw#FA7!V>1&&hWNCCVm)IsW6SN*y^JA@ zEFg=g8)h(yZ|~}3v`JvHFxr0N9pii^B#EYvjG~+fzND#%sfhv@ByjmKvNC{x3O@sb z>GZ@5MscAF>1=@0%eirGN<$Py5xEXP??*aR3D7J}^h ze_10uPah{2Rq1*LFTJsOaQl)O!3(Y?`N;!|aK4B1K zV0di>77!>kI_~;}5hS1qQOZ=R0G5F$Wdh0Yg9QXi*^j$EVHRXy=yg5O>7oL15+eiL zN!_6*7CvB@uJeykiuuIC2h%lU|lCVUGH?e9+^J*KVu|kGf4dS z@Bja&CNhamvVkt5@b;U$3>^>mG00j-L6-W#g!gJrTs zoF?Oh=|N0P32bipMY)M3)7LODS()eLC#EQbJBBHwW#**naWQ!2l_ln6rYHn?y1Ai? zg*%41LdB+AGBfSe6$AOxk&mO5$%&WMt)01zrJ0qPlj*SIF~{SMM|oI4{*qx}V7S7- zz#ubSo`p%C(Qmpvh{~TH52B7uuLn`Lr_X0$k~jLm!oY9=n~{exjanoh4 z%fi5*3D)bx!oZ*fW`(mbFld8W2`n%tRIo5G)I$Vkv%s9N3(h*v!oZ*d*7Agffk79{ z`U%&}!pgv4$iToL!XUy5GfEXy@0d0*kPvVz*&A!mb3^%2|ELWG1#p$pn@U{C)pVoOt!yg zXA))1lVD+BU}R8W0HrPl22TbC1}_wm5C#T@Y!s111_p*hC?dHG3=G%dBJn=?i7DZZ zVQ-)!%%Fmip@M;dVGsNC2c3*ktmoMo7{aDc 16) + fseek(wavFile, sizeof(short), SEEK_CUR); + + // Read in the the last byte of data before the sound file + fread(&waveData, sizeof(WaveData), 1, wavFile); - unsigned int size = 0; // File size (useless) + // Check for data tag + if (waveData.subChunkID[0] != 'd' || + waveData.subChunkID[1] != 'a' || + waveData.subChunkID[2] != 't' || + waveData.subChunkID[3] != 'a') + printf("Invalid data header"); + + // Allocate memory for data + wave.data = (unsigned char *)malloc(sizeof(unsigned char) * waveData.subChunkSize); + + // Read in the sound data into the soundData variable + fread(wave.data, waveData.subChunkSize, 1, wavFile); - short format; - short channels; - short blockAlign; - short bitsPerSample; - - unsigned int formatLength; - unsigned int sampleRate; - unsigned int avgBytesSec; - unsigned int dataSize; + // Now we set the variables that we need later + wave.dataSize = waveData.subChunkSize; + wave.sampleRate = waveFormat.sampleRate; + wave.channels = waveFormat.numChannels; + wave.bitsPerSample = waveFormat.bitsPerSample; - fread(id, sizeof(unsigned char), 4, wavFile); // Read the first four bytes - - if ((id[0] != 'R') || (id[1] != 'I') || (id[2] != 'F') || (id[3] != 'F')) - { - printf("Invalid RIFF file.\n"); // If not "RIFF" id, exit - exit(1); - } - - fread(&size, sizeof(unsigned int), 1, wavFile); // Read file size - fread(id, sizeof(unsigned char), 4, wavFile); // Read the next id - - if ((id[0] != 'W') || (id[1] != 'A') || (id[2] != 'V') || (id[3] != 'E')) - { - printf("Invalid WAVE file.\n"); // If not "WAVE" id, exit - exit(1); - } - - fread(id, sizeof(unsigned char), 4, wavFile); // Read 4 bytes id "fmt " - fread(&formatLength, sizeof(unsigned int),1,wavFile); // Read format lenght - fread(&format, sizeof(short), 1, wavFile); // Read format tag - fread(&channels, sizeof(short), 1, wavFile); // Read num channels (1 mono, 2 stereo) - fread(&sampleRate, sizeof(unsigned int), 1, wavFile); // Read sample rate (44100, 22050, etc...) - fread(&avgBytesSec, sizeof(short), 1, wavFile); // Read average bytes per second (probably won't need this) - fread(&blockAlign, sizeof(short), 1, wavFile); // Read block alignment (probably won't need this) - fread(&bitsPerSample, sizeof(short), 1, wavFile); // Read bits per sample (8 bit or 16 bit) - - fread(id, sizeof(unsigned char), 4, wavFile); // Read 4 bytes id "data" - fread(&dataSize, sizeof(unsigned int), 1, wavFile); // Read data size (in bytes) - - wave.sampleRate = sampleRate; - wave.dataSize = dataSize; - wave.channels = channels; - wave.format = format; - - wave.data = (unsigned char *)malloc(sizeof(unsigned char) * dataSize); // Allocate the required bytes to store data - - fread(wave.data, sizeof(unsigned char), dataSize, wavFile); // Read the whole sound data chunk - return wave; -} +} // Unload WAV file data static void UnloadWAV(Wave wave) diff --git a/src/raylib.h b/src/raylib.h index 7f14113f7..30838d72a 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -50,8 +50,6 @@ #ifndef RAYLIB_H #define RAYLIB_H -#define NO_AUDIO // Audio is still being tested, deactivated by default - //---------------------------------------------------------------------------------- // Some basic Defines //---------------------------------------------------------------------------------- @@ -367,8 +365,6 @@ void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vec void DrawHeightmap(Image heightmap, Vector3 centerPos, Vector3 scale, Color color); // REVIEW: Draw heightmap using image map (raylib 1.x) void DrawHeightmapEx(Image heightmap, Texture2D texture, Vector3 centerPos, Vector3 scale, Color tint); // REVIEW: Draw textured heightmap (raylib 1.x) -#ifndef NO_AUDIO - //------------------------------------------------------------------------------------ // Audio Loading and Playing Functions (Module: audio) //------------------------------------------------------------------------------------ @@ -381,8 +377,6 @@ void PlaySoundEx(Sound sound, float timePosition, bool loop); // Play a sound void PauseSound(Sound sound); // Pause a sound void StopSound(Sound sound); // Stop playing a sound -#endif // NO_AUDIO - #ifdef __cplusplus } #endif