From 15a20269ce188999187756b79c3292b03b8139b1 Mon Sep 17 00:00:00 2001 From: chmaha Date: Thu, 20 Feb 2025 16:33:17 +0000 Subject: [PATCH] Add auto-panning based on name info --- PDF-Manual/ReaClassical-Manual.pdf | Bin 2720459 -> 2720521 bytes PDF-Manual/ReaClassical-Manual.tex | 3899 +++++++++++++--------------- 2 files changed, 1850 insertions(+), 2049 deletions(-) diff --git a/PDF-Manual/ReaClassical-Manual.pdf b/PDF-Manual/ReaClassical-Manual.pdf index c9580a2480dc5113fc03a9384ffce3f9feb1550e..6a77658f98a4147a97ff602f8d420069974d2d06 100644 GIT binary patch delta 136124 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

8(N)VG$rRnJ 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%0D~xym z0{yvviZHeIP5tC4FXU%A-%*UF?S$fqwg%%-Z@vcJDNYCAhoBP<0ue>ZGpAp|-<<_^*vqO9}h5^mDnj?4}B4 zEoh)X{WzqSi$}jv``*d;;emws7|%5PCPi;lb!$3s_YIvC3hxSb|9+tm01&S z2zIfN++x#;*NZT{gC+E~k3jsh5BEiX;UUn_0nh}0QR*SkS#0gVu7m2 z)xh*(Uo^X(S0rYx^Hcn^H_RYJ))Fsr60WyUmZ$&fR)Ha^u_#StJkOEp*(zd^Wb%V#PyhC~z= z<%}KJVJm_;BYKpt2c5pjvnk4A83dx>5Fk;MJcv)~R$;I4p+{|%Fd!O;J1l2p2Hr3| zTyCV@P`Oh$#H}pm@;vDw{a!0h&<)3LyS(nYR9ojIyWei78`;o&u7B7kxy?6W)e)5= zQ=h+=bgYCcZ!4GL7?ZApMXkEH_|*1L zyee^9XV(=st#X_lRYq3~L{uTFuxeX~#OJnB5>#55`QclH5|&>$w|o8Tuhp2_b0v5e zjg9+{6(?X-bJq@)wQLY~u zihfw(&jqn>OzV$aBB%mS6|rP!R8?#ggYLr*K0T_Gm08^&*JVue3u0VXI$SB?3U=L{I-eMa0&p z-c(|ENFdm7j59Eh*W$bU>|9PyV_qhy48-N0GKvNiO zUS06DHV-MBOc*59lL&aS2^tsOB^g2u+Q;%?jDhFU&EaB+>GYov=P;O$;jv8#55w& zG*z#3X}z*6>S^Lo$RLj#W$-I`xqM6PVU5eHB}d;(6CiaSvKsAz9%PIt!W%L`Eg2?T z!ZmdVE}oUw#++m&nBetDf_Tv6`6-h>6(E(Xl*jG=BW?2WM<-h7)!E(d)ZvZ}`nPc& zVk~D)MU%Kc6B&K*Z)Mt;JB*n;G{U;A)-K6NU6jd0!`RASWA<~wBZrvxlFoW!`>pN^ zeVLbfQb6jcCjLtjer54QNPqnxAgIZ@1%D`dwsN^IqCti-Njw z7%Yes3DMX9nJbT8TF5AO+s<`=`YwVlv15!4-6|XJ-XTa2Jh4%L#mc^D!(yyQg**2b zZ4ZumFD=@~L>3J|pitxsB(~pk08&lI%wr|3A4n;wk5c@m?p(8ab%sV*w#Zpibn!3D zbE8i-KCo#cYe^ARITbb=98b3><#c>Ke%ts~N2h`=i-*OqSRG=$#!mZ`fW1_rI*N+t z^qPS%?i=^)B%X|ghCKc&)`}9{Me!6*(|Zxra-Sh_59S^M06o+HEI+34n)+=b3DI&7 zg!oOECiA~+BOBL$Nk`4%CwLTKK*yQ?a9Odw7es_Pu;yNQ(s|xwGPL`jH^;MAOq7gk z1FQZ^WvvM{v#5piB&pXpHzZL33t{?)J=9Jq>-;<}2fo8Y3$8$15$PPx7*9(SuYkm) zYU)+>3(M%==Z5F65S$GNotFA{F9Ia}T9x*s{#LF<RNvEY{WI?(<~&}T*d>4qK7M=Kw+>l<-K?7y2*iQ%YOz)r5hwp@ zwWI5OqN(}{ecJe$k%)G~$KgM9#~Fm`0eM8jsjvPD+xsF~s~Psq;R8|mXPI%dYHIWN zUC>%h{*cKtJ8c`^Z}FH{MTDhd2WG4izN(&A2MQq-SR=f;EZ%1VvdGWeL5GCD!v(#9 zxv@(aAX<)Qv&|E7U{jUH1jp_kmPDH}7Lq64;x#-}d?u*Ifzg9N-rs5mi^t}9H(sbW zaTetutM&<6{nvO?gZ!5-qIXn__=c{5DN%2gl~`$&Zd&20XVN^K}2NH^<6T$=vE* zWk|#251btx0bsAcq^|^RKmG-`n{5DYcyk^Sv#G73vY#4jLUvuK2jbsrQ4E z5SxVsnWU`F=G>y9sz#lgvzP&tEGX1ikL`fPE*`}JD3JK%q?TTCgUpiHJ4efnkK1mc z)P9cOEMyq!^EgypFT<9BZk^TC@=!UD0isY6K93CFCWEN{rnazite=ApbyHk)&T~6H z2A5R@yzQA993g|NWF zp|^K@3kct2O8#k;7QP^4mS(6({PJBdBQVxr9gTLqG{^Kc!?pgHBFsPxGh>vtYK5yy z-?Yu?8&Q>MjNXgNiqffO{GFf;lg(pD5C4upwcF1bg)Ntj4QQIl=CYzO=(BLNO+|UZ zJW}a!!ORYMaPrrPxEoA3TGcI1gPCViK(@;cU`51FcF&5@mUr4q&ML^u6mtjjMe7J2 z{hd6|3U??s6!5MS-!Ptjk{28Uo8%+Z^+&2_6{wmYK0VISh0eZDy%=;{@_pE{ z=a^jJu42tPRAcklER-XAyu`cj44{W3qENZ;BmqagF9;E$U>sWoAU#wXFXZh;yXdgh zK$?$4_7qPdS~POCAJwJdjh`aqgWrU4uqg98%5u4E=AH#}{~1tGR^f110m^#LAQx^K+NFvv$xTkj2%L;i)93xIy~j1d$j$=;RY&^!@t!N3X7IIx zw`1&$E)@j{F`V41%7G2e2|Q+FGSGo}ZPwn-;CBC|QbkB@x(no>`SJiBJ2m`~B4Zl(06vk3Af5OjGX z{o6WKSd(4q0&#tsb}O7!vSU-VCxl#2fU;l>o+ygIq*%&SBWcg8n(b~7og4mg z@2ycKj(D=Km4tt4m8uH9Sgh%+y1%*;lYqIlXKJQv^#48QO^rDD-Q(WP9KHbV>(;*> z#6|+XD^r9#d0ycFh0rO`8fBJv{VniR|7TY?QpMy13ahdi(h0PA;5{4f-$1pA*Nml1 zHL&QQEBWSDqKe_t8!}PM*|O=^+j~jNjN3i6m4cy{)j4;VoGARLmB;|O6&X0fn#qR% zG9Gs0h~^egx6BFWFC8Uqps14eVCu*RK?_BR&H4iGRS@~zA9!q_@yG}T^*Yb<9EPm{OL{>n$A{nS7rXte6Jm?q)ii9boEeuFOhlZaqIB}$p(VqkVclNf&#Ng4dV|BX zJyCHySqpRPTbI{Zk0BTVk2JrY=GMfEmUYzBTsbx?XEhWIFKLVw|My>{6>?Mxl$cdi z=*Kb|ziwwc4J)1eY`qJci$&|og_>G`srM%zg*s|p&2+%NL(~6$*|--m0zIL;tT`-3-;_R z|KG6H)ft<%Ir0uq6%@!CsaBqW2$&YnaK625`Jpr1|^aL>PuI!4cj38LLGh zTr{yS!VVHng`-#+h60KgD@x8K`_;PR(WY4gfHVOE2)VcEhTgZe;p?z^IVlz-yPf^B zt=HVIH2o)6=Gxs`AAy5?_4x3UDr&#A)%th(gsZadule@###$f>T%co|v=f9pa*1K5 zm0kM7BC&Cq%y0H`oN3>2(XQ&vLD5Y+xackLL==*Xfbx!_RS)0RK*Y~N_t<(Slw zGFc#WA8BXcdpRin)RF>M)*Y1;$Ue~T)zKKGH_~x)>f=E2!ZGGf<(ve-bZ?`fTs_R! zO@&1_2V1zT5LM_69NXl5Wqq3`XcX?vpWpgfm2+SM$aR28Ke-{oP0Z}T?db)XmcfHy z5r)AO(sM0q^nvBp$uGf~=Mymc&KiA(;VZ*@L(Y z_D5|Q=-sKVV}S)zD_U>TS|bAupn7W4#HrWWuY4QQ*vwG9m^ACI$!xb?a96}q2Jwjj zqt8&N&gar!T&dGkw+jM`6t>19ulK}auQT4ZiS@9Ma+M+{u3j-r?of9dS)M&4>KpYGegy5dJR!EUKF_GQ-;RT+xmfCUT9tovX|6%zkLccq zVj_ygbeI&(*at$An-h!0FnLBM@v(UpFyQe0i6(Cvch8;V-m`x`P614Z?HbQm;qcA9 zJkOGdvipTwzK^g$mkY|1DHdMu?z1k9aYE3isPtXQN&jFSy!m@}=yxLt2_>^hN zSbkB|;C~jlI2A?Z*0heWZo=e&=GCdCITR5W*kY=Qxd{L)EBb8k^exi9-!Yz2 zv8OXL^O5RKX2)!KkML|$hd7WaJ%ilr>GEjlnWcL_R0o+Zr1V^NF+D1`-D!|1C5w zuJZzf-!OC4&rC1WsSzV&A?C|kO1DGGm`LK7uuf#24M4^rl?YK2=cVN?+~A!Q^#^;X zGdDx+OegE~y25?)eqLjxd8HkOZbSckit;<=`%~gU`HNW<6XC;(58aROA(p zY~5SJ!@zZvIA3Apwxbow)XZ38Tm36q;j~&A@=SY+!-;~fezLVFO!Dgj`N3VV zdw%!cnWZWn8E#kKM#40%00sh(KJs0fA8Aa6*uZIZP1;C=pR!MfYHyB>4C<1=wD~us z8}Gss?U<6kwKFj-9ZA8G7WLh2$JcUefWu2Z{L$uL$WfFIL+gu>KF|808f{;%%q7r% z+4{lzjzWc?G)x>h+yzfdQ=AJX!Ip5A(cTAvOZA#EX|(755y!>{DXdaeZknB{h2Rf5o4Pzi#yd0a^L&Dq6r;+g-qbgnc zoV+7=YO=q6YSagJb(2O()=wAiRHkO;=NQClcSz4scrjb-BW1KOuICQ~Klo2#SnRxLp zvRNplKs%1zNhqsq#TULAtgxJbf=i5r7F%^vk4a>1WfOXent_)3t10p)CK$Of+6GrA zh|H8Vlnf@xyJ>kb@w+@&e1Et+c)Y&}P$->?UKX4(y5~vw`XEQLW}FNZ&EgF1dO;&> z(WFj0(imREm5?zUpw_{_f6ko=;UD}*0K13u*8nqw^?{aP$+Yc>45(Eak#bM@DndLf zU0HOxf%BV&VzW+=m%&Cw<$AP{_x(OqK&zd{goYD27Txo&yr7ouwdglXZh4|7;Odq1 zD9+Ap(T3_u=~O%uB8XQvUAmI1$B4WfMUBi&>4wK+=u8!neR7kb*~J(H4Qd6=2Oc?N z?rRy4{<+!&Dq)WyJFtv?H98KCl}^d6BJGr7##BQ-{TI)GWU#p@Q{jY0%qK60ZTfBl zjQ9;bbMQTBzl4c*Gc&Ko=R;OZ)$wy^=UZ0uI{p!w zBfz|maoW!K~@t;TCD7DUk%0|MI=^OEmNe=?XYE%v`rjgks7@2 z_3=TiOI@jmhDhm%ZuADxuD$?%6uIlu=BYd(L?; z#2@BSOlr!fMSWk)#D_bh!e)tVQfxh z6uZ0+3@5A!#nduvQDixCDk%y$Dk(cc)G{@KMdL8GP!Sf%-15Z>F>(p1ORwFu&FHs8RuHsAKu;DAh%45*_pf>0#_~K)Q;L>}|h>6b*aUAV5Ot%gJ+Uhck|t ztV?V{BTKpB0-FRW*JGT^FdiXUTy+5e@xCDa4o9-Q4^2&*%)??Yu}*F5yQj0ZB%Oy# zf#HHh;j>;q#gV*ml$&0Vpx5e@A)(Shmg(7x6hjGBOh>bWJi~+^aA{kGDg`5Ln1Qzg z8j7`o>>iyr6ke;6`RP7q>2-`zs-J&9(y8`L`l3Nl#M)_q-WY~t>Z&0u*~yc@l}?*C zNH=@S61Cz7xxvkWT>2lRg|&lK9$P9}jC(pSd49Mr8PG06(-VE}P?j%!?GT&o8lTp9 zh@w%mAMClj6pU{FK4SF@MDuyxbJK2s3O}p098#ZT1RLQTFr4V04hh!QZ#S|wPF83B zZE`--4Yz8?>U-eIno`Na@DHnZ%{hp<*K%UaDei469r#Q?1UWN`^|=QPJG?h(a&!GZ zqP{UYlW1u-w(U%8+qP}n<|KJzdt%$RZQGdGnAo{F=R0fN)&IIz@2Xv08@;RQdG@K! z^jLW8vD-BqRRBG7L-@1qvzm>0g`PyV*>E|}C!Qr17%P9d(oC^KV}IDZceMcu?0aMK z*jglX5cySj0Y*}B%Gz}ec*&Dh_R9)gKp`NeX#tSYaCLQe2NQ8Wr&{=atlUA093kkf zo(H8%#h0Y~vnHcrg_sG2gAs;ckuLiSc>Awwjc1;WL8Z7#=e-Gkf{xJ!w&YQN>8fFJ zsOjPJcdWw6mfa4AQaLXOuqNo3elhgNX^!E81)g26*(UhIo(EE6eKpu-!yfS8b@vBobiM-(tyKmKp8y0HJJlKo-w_bFI!~zTn~n{uJf7qpL`}vz?YRO^ zO>qm6jQSc>k?d7Ck9LJfZ6XLzgg5nOg>#ODA=Cx}hriVINVF$?+T^}OW^Q6b z=LZnQ_vds$Pn%S+t1$+H!*qhF9bjJAeT;sL`KiG4oCNr)R4L{O{y96M|M(s+TS{*42%+1lg%Meq zpq3DkRVTG!-dcIr(JY1?AJA~@q_=G^*4r|ELVVq!t>o}3N*zsL>ui-=ArqlvnDWM0 z-C>xn9=E-|U!EvQHK@Yu8>68C+Fv{auUd|#Sf>B9^2%{{ z68GY{Af(hQA*CGRoDPj@_z}`u@CJxx1%uE@KF*LSAz)qcZt$Rrl*?VX#RHj0dqYXN zjw7E@vk;0j-m~+y)l9%V%rd|%?Dgb4~6CzaZx!@BI4f{CZR zY-sr7rg+z>l0>+t*fpXr7sOGU6DeM1_Ocx7kUujWc+EzQY~!uB0Ui9ih2oalUJ6dc zlEW{Iy$c2`{=p?sT@2}ZT>!?lYv-AR^Wd8|<4^10B$=E3}fUky{ETpWu|*ndpd2>~AD7nIBfNF_}mXpAxQJfmC# z%LKO?H4kVHjVZ3A>N7Q7&$6pMO5Z3vZzJUQOu{6nHfVJm&p5D;@;Tx%Pneel&0OD^dOFVe>amU6&%hgG<&~F&t9&`@%UJ&DL);xA z%nNzT$$#B|7%-PRB+9Hpb};&p#(L!c_w0|*;*^ki3rAzOm83Lw{y7#gb}_*({3Gum z*|-941j>=WEXd~;Ru!#UIe6y^5hz>WadLHfqg~}E(6X8@MvI%;TIz%bX~FCTGXp+# zN6 zpYf*6-tn%^Kz=x39YDN%R6qhlx#K{*B8jPGTtMI7Nd6Xh>eT=K_hG-KfpVOnO(eDm z{Q>_IkwpY_vp2Q}#H${0|6~RHQW{v2?l3*&?mqsbMlWIF&wP_8kI<)ZFed_fEAo*J z*T*s^pTz9|q|fgLwBzQuj20SyEqmxoOe_#NIA|;k)G*R_tHn%m5nbh?Ab_Mb`#7jB zCN+VqWl|SSu(om7l(i7CS0hvd5E=9SM%1BG7bVcdi}sjjCDQ!|IoyeIX3XYG%Cq;J z8wbOj-k4UggD4;No_c#*(nVcDtenu?-U@v_)P`0%(EM0?1QFNKp?C0Y;KV-G6_k(0 zTB!|nrmQZeVjputa`6a5x$mUC>Ajscv>{#UhhwAG!~s;ZApu-5C!}5gct@}CFl%Ox zg}hJ`s-BqgYQgU2s;#Mu(z3R;fR;7Tp;@cL#d^=f~A3W)y;S<2K`r>WT0Aj0Z~bDdrp$ zRfJW~Z#2r_;m~*3f&EJXD`b-pf8c~QOcEyLD8hd)bM9Iy2RyhdGleZHvaNMz-h31X zWluc>gm|`YIb?cYkT;fGl2>kI|0z3Zv7xEbh2F^3!`XE+X|6KqtQujvo{-y%rPjsV zAoLv&H~j6NZ-G@MrvGVLlj^O#`$Qf{bXuB3Nd@xK7J=4C;r%2EnC1KI=76L~go?l# zR!($sI$gpq{FyI%xI7j6TI~>87*V`9nd`YYL6_91RMUZBDouXV8VjMMMd!d|n5VGb z&s+3M7%ffQ-zj0R1VUEsL`kZbLrV4%Y#YtbES5x`yJn+9LSu)?cKnb0=EI2G#U7R||(Fh!0UXWV!aADKUypB7?*?|QfKj$l!IJ)r^c|qNTPgh^f@T;2N8J~tlN@MMB?aBhKuHjy) z9U_bQb5s4LZ>1d*WRLSp2FGL1#$$JSk9p@s`3}bwb=*T9d>g!A#g0IH|J}yd6l=1G z^F84rchbiHjud}r(WaqMTUSZ&OMn4+R4>u2D5v7IfA)wtoO>>CwRfM{m~@^S-{wX- z%U!lw>uqkT(wiS{A_p!-Kt>}pV^HTb&5E2-LX`sPj*XI})n9K|eDyx>c&G9z0VxKN z3%Vsy%gm*0qLaoi4%&29Sf$JpyrZY-f2%NLoHZsTacQ*YudR*1k1NfDY~leeWnRC0 z%KITw*JOX#XV;`Bd+0|8t1wFIM_-E%Bn1v63E#-TVM#toK9o_c6$Rezq@xEki=dC{ zkg>(J$eAP`wE2e94?C^ zaDEVUjP(Fi^5yzX1#d$D;{Je)6a$hEsVqoZ0_-D>4e z-zgf@+HI2Y^iCEv?)h+UugXeOINvbSX0+% z2({D;l;>N+_I!6=4mSTAEnO1pa`KZsSUTc~!LlsCv)O@z^Bs`2830m-S;FDV0jIIn zTu>!lG9QhayXjDbhmeJ=GN$+ zYT27xSBU<|@^rDHRI;rK>aw$~>N|`FuF@jEZMS@#<{dIrW5r#xYlI0|10LjR8LLdJ zUT3a$>CVcSX$+VKa!V7PXz0jZ!*H8CU!iMdgNJpWUjx&kwK9hPwd^<6$Y2yAqq)bc z2;Bl`}f#peY0)ixYYo9h`PD;qO8oDG#C`{9iZuX`$O=aX-&pl3#bvk4+ z{+1EFWRC7H%k8I;i_#g%k9-8Z9&?`lm>;fS$*8{bs&2>J@8QLpYpCRO<)`^aJ0zPg zO+YvUGLb~035YX9Q>sCUFo>?FhD4FX{pGr$3J_`+HG~n;(*oVgz`h9R&78@z6)wgo zH6BMhB=fJ^?i*ZShgeFrcw{$hvR=yWU*5EbD^!FI4idM4ln0@2QB;moLiQahk5Kbi8&%QsZJoFw-DM%DBve zWq+ln!VGM|m9Z_?>L4v|pdK4ks8HBTB|*5o zqYE1Iw!%S>oG2v_58}X<_qW|_Xyq8BRse|PD!E}vgPlf(J5ex4M;f}}k3+j@W&v{AJ~?WkvAOl%wAWSEFff}->tb}9}fb!cr{RAMO#ZuM|WD2~Zem*boej_zH9oWunOk^li1 z799B+2oj z79dgjxJ}{|-Syun9;)#6DD32G&QQ#!XzUoj`_iqy!3pOv%*MN5d4Vr66f8X;hXUtU z&y%;|vBiCW;pltj&OBKq%)|_)NdXJu6p4x@QJ|eN{?eQ0G8{+-07H*!0tRk{D&)d& zj1wQr|Ie!II zZ8*MMu56Xn*(x%`11o#Vb(o#i2Y4bb&!*dfQto2h4O1Y!BOJ&jjZL?ZTQWsXGZ;i$ z>nxmr!(xfZpj-HXxACqo;i(Om$5BU84$#3irn>!ZS=Y!iLjR@I`X4NSXSDL6=qubo z(SLn6CRp%5gzVDU$6v2<0JhEn@`xYyYR~*Ol)^NcoV$h##}lRc&if{^km;j7G9S3F*ea5E_O;0jMpHEu=OJ#kDzo4JW#2nUp0Sa5Xc$6HT1BX8_RR}BN8fui3G&> zF*ErdZ`BaPioL)p0Y=KA?n|&BpzMCC2l)$6$9rh_g~LBqkG+>I`Eli*llpKVas<VxiNTQZxi8FSFB`da!N4AZ-buOz2x;RCu-q8oi+w1BitC7@pGGX3c7N!LXU* zK{d_pWtpFU`wdH5M+0H40GZX&9Jv?^E{K3g5e|6bHj8jLz{;iScSj>L!YP*U`90M7 zpOwESc{a%5p9d~Zt)nPfm{QH^zv`m~*|@>hN$ux7omVm+oBulEpa^V`gNu*o*#}fe z-S}xGG!`JiVQ7>$72^u-G7|pzL74KX(tV>P*~?Ak!L7CRwmiFro)}=GKwW0KcsYse zIXy=o2{MY~M)E|T0d1MSJ45RM;zySX5}X+?JziFjw}|cE2o(1{GS1Ov<9a=eypla5 znK+cY6o3Mr9{2I{hh9k=M+ywd94+l}X7Q?ed7 z#R~l7wqa?3H0fWw7^hyyI5RyhmO^U){{gAEW7zS(_!TGX|HZFH81Vf-fvHQySnwgi z>hg*H-RRCagGKu6@Hl@% z)>J)c-*$dX(WqQU2vu6KSjcxp4FMV6&Je1($|S^-&tsCAijth-VQ z0!3o_>=*S=rM696^Usx)glHIDqOCI2NUS61f;rUG0Y)#Gf zcNm~z>3MeRnZaaqbT04|oDH;JiuC|Xdl2j2HzRw8(JG0!UJ>(&T z@Op4F1af_| z0;S&S&o8L_#R^-vW@QC~rqZxzYQaf<#DZVM=q#hi=&k_WEkJhQE5Kk z`5Xe22ycLoAztGok`!zi)-Q@8QY@F>5ok#Tv9OQdS^G+}Ws@Yk@g4XSUWZ-@t^Q76 zl8Pj18=bG8BF(gXaomn?_DcJzw?Vz{3Dj?L%~~J&)xN^bV9-2?@=Alu{Q(sj0zBO? zm3y`GG37N=VLu5LT@`?5L3@*sY3-n9%qC;%$PECK+N5^>X_WnFl1Cn{3ST;GXwFgI zZ4ac2EIhX#J+2gL`1XI*R;_GsdiYVhKZjsJ1{I?IH?TMUOeH6)Sp9*Q+MJW;i*>8k zHTZf0SY>%3IO}f9Kf!ybaUHk_1RF<9EY~(gK@@|0cB8$E+ORxRMirG@IBBaq1u8Xw zbotZ37+P?yal-0Z-l?hZa`S7M4|Sihf9~fi8s_cz>~v{QCJr~%;KY)#A8|1Zs&GX< z^`Fz^(`0XNxNgq97SGtENECTH@i+-$vPATaZ7C29ey2lKj8i)_qfePqT}2?xwr(e~ zLpzE=xx(Y_Q0fppQ$E`DS!pJ4z*5NhO2LU?D`-1P#0-Xc|mvpwein zndI0p`fiB}WshVG$DU`FJtIfY{07e_=`b4ugIskEtM_tTo1xKn^;w^RXZtI=J9I5^ zlk2Jr;|}__ztyTgk`0E>$P-FYB#HWE(ox2e1WR(hcw+$^jscQLqo`wf_hG1GC9!b= zJ9EZkdtfNkv`IMWf_}u5#ZBa7@dnx;<6jS8%E)S(k_qZ={8XL-0M~XC3ndoIPrzZE z1^({ofg9k9lClQuch6V%2iU90TD(bMQQ;@_QhBLFfHso*deCPdO>1g@84qmTw_&eF zBsT)`Dg^-X$s?wNbkID@w=7?L7&%hNPIa_2dP}SEIqIA${$jJvX8&e_$ES&h@mkDO zeb>CFyk+y9O6AYG-tVyEe7H;&r$6R##$G4SR>a7=VT%qVGgOQ;c|>9$CLku~XHJH+ zjGrBURnl;XLyW~Ohy>Kaa=h-Ol|~8u_##GXln4PaYw?X7g*ttl(GuoW?{Ez5NUr<- z54+o%{53pp01RAM`6Q%>n24D2($P9(^YVuVhWWWb$B=si`1rlczxR1%Xl{6}U+nu{ zb1h0Y@HjO@Cyn*MBgpL5B30;N&ZB@Sc2D9J!l>;m;-rD+yfx7>(XypQ3zSH`G{prJ zqbY!sFgQNun<;I6M&L8bc~!X`ES3Zm*}rbGC&edrQq>zWi}u7Js4PjD0W;3T7i(%F zXq}yQi8@)P*QoEd@*MX21%uulRfV`Ol(rYnO*{a;w%{*xQKn?1G^8|d?=7L<)oW%3 zB&JdUH;5)^U*QjPesw>l&w(BuZ-sKJeglk_*OQ%CSiv(Pu*?OPLET^0vL8*&Y8q^P zwB#tbP)!%T`ynvA`&DdG^qhy& zWCdpx_T2{_HU+u=Ik;T>po*(`qJ*FAEGn zmsK6dvsle#t~61racBU{);RKi&psM(fA)0RcOd8pjS_Bzq`9$9zWk*xmHPx(Bw~kKYgv)6kpcvYJ^wT9s^DNKp0wX;!X zAVaaSRdm)2JuBbA62cK0Vn42hn-p^HaHzMIsz`Jx1Uucl})tP>u0<< z0Zy8L95ouJnEmFFr@EYDcy{pF#9{^OGx`#v;N}@&OXvX6vrR}2sS|Fp{sS% z3$_Y7gpE=s((06U$w5XybVwLBXj^Fi<J{`O>_Etwmqfbk<{e)hWNv0i` z6Dm+Nbx3#;bRUX8nT!H3BTQB>HV}ydNSytFeI4=AvU6DE8wBdn? zQVOZ?CoQpLG!U2@`f3dXx*u_o_dh+I?IAeuR4R-=NDq+>&BdYP2K;r2-%|p2qHn&v zKggQ3w}C|?Q@J{hLxhBWr( z;4Y?^sg6DRk2J`^;G!dn2}o)bFRG$6*ec^1+14nmStzu>8o=jSjd7e9v-+Jo;H2lr zsT@e|+rrN_cE?#zp*-%0wWh%fQnF_bumvUNc`MZy?&2M*>-nnQy@TX7ndDOV^NTwL zsRHV5Er=XAEhMR!2X?a51$TE+&@-fW_Ys7@%u_h9Q}Lo*{i&j*B9^e=M3_m_tdDii z@s$9Z`4sHkfQ%p~^UkX)r@iv+z`rPaS)|lyWrht8O@}!B`$gkyLP#r7C3q=$-YtqT zv1;YW`yPdxr9zpUjU^gRKE}ObQ2|>xrQxs()75qy7-KE&yAST2jfwA_&dvJTf4!l8 z#m;tFCmemP3T$A!$F0$KeQ za5@5s0ql`t>QsFNG;AH6I4v;9W%^_PxLTn65mfr{NXA17{rgIvLUXjPkA-zami(=) zQY_a}=<_#EBmZ`O29fy@raqgA5Fsjw(yh}vOx7Ewo^BuWUi~Jml1br5xsXS@a1J3| z0oDK(%r`~6VV0J+AYKux_O81wb6g#a@~a{N2XOY*3B8&%cl8?7>XPDuNB^=al!5mm z0VY94GYVAcO9L4(JxfJqL`fjI(Ok;+oUh9iK@CfTpBI^ifrZCUD)_IhavLgQY2Uv6hx}(i0OE7bRi8Bk zFuuUha!H5Z%Kau=8TOOpTMeZKwBa-11gH#7geLn_3|NE*b`;zud7&j~O6>}WRY~u_ zM`HC}uov`QqK3#Bd}Y%9RdQ+cCg7mXqe5-8@ZzoVYb?(0sg-cM{_VzKMQy!RDz8$A z^{8rto>0@cOnc00!grpNb$|@9{|#P6mn|l5@ruY1#!$MRMemCs0Cp z;f)j2VCpQHq;m$u|4kF&dvRB^utDSn9YW{9D^-yvmReWt`mC;(J0Xz4l9EZ`Q9G5H zo?#B;lSUJTUUX;86mqHZj6id$MiG7D!9Wy6%9ASnjDm;d9LXgco?o#FfRq4bLC(c zsQUedY=HC-HFBlt*{+`rqKl)PR9HmvvKMQ;^{D6DN=_Kj=g^PTSIy*PVyIAlL~^4S zMMfNck}{I2=(@b6PD58fJ=+1w@7T?Ddo-1Lh!V<34&&gR=^I9bVsVrrZ-k{4b*jh zr)D5m1as|k3aJ1BOH9woXF0jAs;$5v;*^d{rbEuD)arhwiVc?70`YANJih%ERyut+ zL)5O0_mht%nwyl)AHvZXzFx_GhNPm5;3RH^6h9(1XqZ9}#8gtvX) z9&Y8pIXS?$ul#FO&-!V8sY4eyR~JCjAqCOKqje$I)y2@@dd=loh+wckzv$Xu5u_W; zdwk&_57OtlC=Ze-YY9;xkt;FyaU@iGv|_35ZWTH|f0aCxzdN$f<(N+MK_pjE&}lpU z%&vL6`kPPbJsidCOI0B z1MsurMV*I80ScVRl2NSbyK($ve?8JQPmslBONqT?qhJ5`c{abZgZCzntoQzi!|fXOb_R5!IG4fbZ+RUm1g;ewh;*N^ler{2=LSgK~0 z?5Kyf=nZl|xMFr*_suXnaC5_ZH?KM~c(y_!l`YOT0P2@wI!vyPK?Ap%B^oBT<(NAf zzMlos(#{&q-_){?J8VnPq$n{P1B8Pr*1z963GbU7G*n9?J&?(SU}UgRjKZDF0ykhV zaY8H6$x8;hRjy2EK2Fr_2rK@%lR)__M-Rc9a>Q1?@iaH}KL0-RWP;CorAw9f3@eze~7`eV$+P$|~)D3^jtKVq;g)ZA73D;Vnp_K!H$AsTmWh-3B_ zbeAgkOa+7e=o5U)Zu@l0+i3^<`~9+W`s_5W1HkV2EnrePmU0id4Y`eJQN(`|3G)N5 z?~@fIgBjPo74%<6Q4n)r&Hfk2us;Xc6|#`3qMYm}7w$t4Nj}$cOtr18Ic$RNTlt}I z2szB~R9kQtYyoF$t|vaJW92R@qmX#*I}kzig*5|5zgPd!`{BKCU-R1~nOug7i@qY9 zJOJ6BKT!D?_v~V1Y_AhGz2FxBqXZN|hq0q_Q}HBmFfp)USwvL*a%BXe2iyAqUbX^p z;c+N$SN=K9W&V~f28b!h(3p;aNw^;m=wJ1PXY?*gos(2j$d5ACk)dK}34G<}1i+oV zN7rnycUbGGe_77MC#vaJnZ*>*G@4z1!aBS?^V=lp^-!g>?sj5cYee}#5psz|*Nu&i zji#NUGRU5J-J~)?DE1dU`$=6LT!$lc8K8jidm4G;5aJp>+$I!{neMo`v}f0*xU{*O zYU^BXqvyyOTJ0@x;`J5(vv#z~0?2|{+&C|EopV{~(|4UAQ6O%SV@t~gCd6|qvnaEe zznR@Ivs7t6J0L1AzOSM55=c*z-`?LaL-w8KlXsDnYJop; zmH=Fr91@t{mt7zb79T)$9}l_s+}@d2e+MLW=mi%@j7(WsTu@B#M=mH@7{g;aaB+EP zJX(eJZJ|H2d~=+RBomOLQ6YWal%PDMDrhu;pi(I1aW#*<2<>|M@`%S!6YR$ex|U>X6EGgP8fywJz{_Kg)!qK?yX>I5Ep%*<9+5F)uMp zsr&`-3v|8axZ?g?P%#apm%LMMXl-D|SdpkAuzK%*YncoPS~6>n(wm;zSh%n?$kmfE zT0RaryR4Ay008w4cZSsKC{N-3luXDjfuhUE>s7E9kww;qa7`!ezKfB@hX8^mju4ng zaN^k1*woMP)Ke4(69>7_&)0ZgWB&Hdn}Y=r_(??piY733juAay?Vct_6Lh<<7x1oc zo#6s_ZSW!0eLYU7>c$WN<0J(A=Y zciqmS=^om%+0?@kAif-F^gak|VhMj)_#G+8O$A_qFXN=6r=zp@5;vZDr5ER|pkJA# zc+_(m=Ygg#2lI_p{b|w$jXD@phLPe&)4CCu>Iu+78Kl6?)ry>oO!qS~ho*Fw_D(<2 zqeWa3G-or)ovnhv7)?L=-Z>;_tkGCD&p}kzfHt~)MQ#iiD`b6~oPXF!TL126mZbmh zx(mX{_TO+52s_7rcp<4==m|`$uo3y(FJlRhZ!(;Z<5}o#Wn{U zc@-}^pV$ZVSULXHd-EUQGE^dOy0uGcDw8a3cegW*Mh3S}2HAi=dQ0|4HS?Au{xzrPm6Je_^LTK}GZ>|U>)(|49W=o43SKE_GX6rp>+c>%13;h3bO z52!ahQOe4@tYP^<>a-1`fuaIty@t*=C;bb;t7`SbD0X$LZw4Cy%3@xxsg6YF6s;b6 zN-4Pxs~q#LuSWz`>jY&H6~tRu!8pS3e0<>6iI(VTBXNVQYRH5B7zGQWHp{b3ma3bc znqA26c`M_|BGbE)E`%!SDS%t!G^+yTAt=-gDrL$~oBZY1$}4xbPoqYphYtaw*RV%; z#<=-=fsl)2&>aFtY?-ubBwZ-_hX-EAdXk_?%7SQoNR1}wzlkdS%PCusHCo2Bd&5v| zaA@?Eb5l3=Ei@EWr(VIUpn_7_-#GNwtE-jHoj~T>yVV#omhFbO=YY3k6`EyzJ9edX zF)@vvYgpda-@zI6bF5}ig&*TyrIZ)$1GH4G`1Y2=i~N=}0T%kFOhpkgf8K>LJ3N%Kas%$ULVy z$(M9`mkwzzqUF}jXnnN07V1tqE-ZsU*65o zS^7zG!P&^4_Mfl!=F0=`B8&h>Znx$RXolO{IyrIFlR8~wYb_!$pG20&Lt2jHP{ac~ zPA_f4kcEkc6wa?8WmP)o^Wb1EH)WV?a=LtZO73ELOTpM|`3wtjiWB+0Z45!7YXz}Kl(Q$*D8}@GI z7KNGPR~Mkr-Ra797KBKS5L+iDPgu(gdpLF@>|g=K;|$T?P*79FvP>vg8rCbi&CI z)Tn%X3T6!y%IR=OqYrHp(d>|wQ!TM1Wm73cgVd9S>igrF%<9XB9K?MBi} ziLkaOi!76v&X$k;s1v!@30dM$Uzy~KCXh(hM2VT=rxqARQHY`W_&oG>ok|n2n}cb( zA;p{3!~rBN4)pDrHXc^Ha4^eLYyFA@1kO^FU`-$cqDIr##)qqwj4oY0?Og`DBY8KY zotwMrlbov`>;~yu!BMLQ?9UeqVQHy^+=8jO<)2P1Batg!e1BM-iEUi5KiU; zF#>ia5{@tEqaB}_f0Kv}MCXhtAYsZ1`woPECJ;6si^2uAYS>se=FH2%lHlr6Cd9^T zn%S`nqo6b(C&nkm#Sb-+7BaNUzGv0)Ut#iC`I(Z;wyC(b`U&tSHajntG^ID-UcD7y z6Ih*R3=lrt&3A2aK$$%{wJz$E`mGWCWDXZb^EqJchULh&T&Ml%Oy+U{#G>(>p6UG= zb_0KlIl+;E>EJoNMse|N4iVK4LDy~VH*|Z1p3t-#T)rB;ZPT;s5)INYKD%&qyBgBc z%sz^8*16xFwC~i+SY`v_)oereg7a3;6*+c>RO$VyWP;b3>Dqvm+YT+7^{6~Lp8!-- zZnB&^pmkv;qS(YYNoqgbMM!PJ-NRaznjZ{)?3goK-s_5FWplUOa4M1KVeM5hiiRUt zh@nhIX5YG9py+hL5LT{ux@jQP762Q>XrwL#X&@``{}b~zkIYIZ9+~(WCRigtuJuz+ z)>c--vruzVN9X$#HdiYrH=ZrBW(06~$~TwqL8(;G35K4i=JV@SZg&5vpddy;;NH94 z`QD6hlgJpZi&U+`p-^g)l4|l$)5)y?_5-Wrg_bKT5so$JB@VD_@CR42KF=m%-B&eu8Ca@y_PYLzN z*i&~x(>y)HWOf~HB1N)|fvvK1sq3@8@ccMc8;Caw07svAGyK~Pav`cX5a)}g$?45T zUpHc?YEz6RZd}oKPBs?+stM2od4#2<`v5*h1yk>!e6Dk%DG%R6pP)`s`%lyMWZ*`& zKGJn9T$<|5Zg@sp6=q{~Re>rMp>xTYo{80fF*Vpjwp`?!h=pj z6n{87Bj;tOZVy=0GQA<>eJH-qu9Gk=Y=mm8BSqE;&L%*%TF#kLSeTdgWnZa*g41#D z&Jf2PVQcHELSq;8ITdxdG7NAikcfi7#U4*gPQk6dG*eA!!F0ZNMfLu?0ZayvsiJ}s zP=?Z<2ef@Cr{Ekvz)YhD4jH_W-qZX3IX0zSK- z8CTc8Hb-FKpAKLjsFV<^pDA&n%OR+$*n!6pWLfVq6&2HR4sK8>!w3cc5?1I9PAF#r z5z9;xG%koeKbjF5RK~x2sGv0YOn)XJK1Y@*0r_H$ddEgK(1fCWcxa@dFpHR9E_03~ zhomlT36!8I4aFB37{?EjTu1w1d=`ewFE#MD$2m}Fl6obfI4{vZ$1BQoK7E)VH`}V8 zLseT$LM{!2_Qc)Bq=LP*@4jo?*DLzOyvx~46%vL=1!H1n{2z>*gEhV+Fc>7f+E{C+ z4L$=1Ab8G7oql?vSQdca=nNNHvS;n6P5;9CgIHQ|@DR}+PSlO+A}j1@Hj<2Ev_GDg zbltdse+AoKXf~7uD&71SI6&wSDq6Y}BAOqMREc*aGb97-4xdXrMN8im%2hFC9fxVY zC*5H+S^h4OW<_3|-Ru6?or^rLjZf^X-W){{K(#muL-`g0h6Xt#cn<-tdUkIKthVZ; zC^%mTraB$(2Rz)rJ{JLU9+8(se<3B<4FxQQRL@^3Ql3H%W0V;#gq180kLAllotN=n z$?39r(t^!Uu9|{Qp>QOS;7hqDqEmh@CDWhNe$846ii&;(xk?df^0N%6Rmvr~&;a#B zBI{HG#))|42gWMt(!VV5>ea#&{nWfz(f&+8G}1&TN2DLE7ulf6or8q~cq8a*-yz^V z2A`|5T|rX&>&A^c4jjWXJX=)`pZ%SHm({S$E8Qvk>q4n7yR(bIcgo4ftcZ1h?qB2k zI$Br<^@~pgYBH1Pp<5{st8}b%EI>LlUqFI;eJcM&bQ-DTx`aQR%Hf-9e8LXZ3+Ky+ zOH#tLu$=f?EMB)KF~|rI3DXjstNXMqiIY*TGBfXcE~c}GVEd8xnc=Eu%9+7V*Xumt zB?#12X58j&|9-4APK(XHl;6&Sq|`M)NPsi;-Y=YMota@Echgj~j4W_&Y? z$m{KR)Se8RwpUZg>895RyUIS-)(m*6Ojar+hPm#5mYXI06E2x6rtpDW2_%-u&Nl;lTGSa9Q`DobrBm@H!uB8>oJ1-zM)>Og~2TNZ3< zwZP7V7$sLbW(McU5^zj*pS`?|2+KtW<-GB|Q@yWy?Fx7H1mzmo{!~!z&q+uXF)0@N zZV81iwQPdPXs-xe;^M-xgkLJ}*&qNaCXVtA(RmT)G1t}H)A0eJ#^0ib+5N{8Y@9|C zwYoNcp6Zm*Al7ZNMXr`hmnA4Lo<)e~wb?Jsc5^EvP_H$o_>*&nnTH6J((q=e4y268 zL(-W)lPP7*kxFefjZ^sJR?^(?Es)aLMBc>6RVhQ#D4BDiq@~_S6VgSGk&@~%KfRmA zE|=4;AbMm2u+0EBa3GCh>w_SFtcKtLAOY=q+rArdwC?$6Vbw$t2N4HUixRfq1r|D& zf$hbR^FWJV!}KduFS46o%hXG)pBH7|0mzIHSQ5X|HA9B!jop9$w(R_b$_!^RT6Qy5 zF;erJKe@JT7HS}IN1lGvBGQF$+t)&hk7Y`0x3{?(QCY?FyD-q95(nN+| zv2I-w6aUTuPL=N;4fy-6q|XN1>}AH|%v)=12zM*JzO{JUEdu{}$oTk4eOcOib6FFa zXpH*Ajg$`<;64qm3a&~zJK01O5B3kO@BcLHAFcnZfchLH7ND?;hyiQ@q!kECD`xT& z;InSrdAw2egzHR$tAs-BMCnv6i8I9fVSm9A5uY@2Pv%E}0c1_oaNi2K<5RT$2(N>+ z9ujt2TNYon*P_L=f4zk&4i_Y*8hg$+igi$!*tSGdt)EP?24HP!m?0cwkXz#SLU73TnJ6jxx|=cWUTH`2D8) z8$QZU9y_{;{ziS5aAWT4&B0+XoA5wv?Wm^*-eCLlW>>noS&!d#f&u+(OO$_T_XHn9 zaZ8f$akqmKgCL&#j_j^jR)FvoO+4~W=q{Q52!4b0ZrMnI!r-UjJE@=~D|!EF2OU^~ zzv`&+2ue=?Zov|tUsjs9YTuBffqtp^tnjEHOw6ePsRU@Pb1wK!zyMhI%4HZ-+++Fi zi#5hxl#N3rrzBXHx_6+nnzKz20VMeX>Yl6m3X(Y0&>hNkGy>aKta#+ zu3aO2{?(;NoEu6UBdh^r=xXjF_szn)q$0X9tYpgY4g>GuTO`T%QPTe@&Ir=WT?&b%Y7(K9IQbX_Uy*p zi8(xQivDm^imbTd#V@eb6v8lc%S(Px+y#{qUD1izI^% zp5dx# znxta$I1j+yI>j7YYiFZ*xrYG^kU48N^B_5%9PX%5<Yt$;1=ewqEA*ee3uB ze5=>#uDYnYtGc@S-gEZZn?wZ(fT+&LW0u$vE!J}fC(i-vazj@in=dsFHe{##Z<=ZL znGW6fN;f?w@F^6J;lgIXPspnXaeN8Z4hs=tk5*f)1wXOR`+&QW>&>Ua$k4!T!g!(0&Bhr5A?I{DE6rXK@|I2nQ;O;Yj}RSQ~VLy%CN>>m3qKLmiZRoGPftRLiWs@kEfJq1HYKw z%C}H!PUOjDeHafU96sc2UaIOHuv#swKvDwU_*LQ!m^7W$N2_@PB3NYYyof(5Eu83PW|&^HZl%|6VuN!rZ38On{YKFd7t!x6;(!3nhDa)rF) zrET6mK2J?_*-~nJ39EOXPXvYLj`fL%r~SfaN4(w)G^%}nBY#Xlg3@HW<||Iia?p?e zh2~iQm)ZEmlPDYJKi;(FPCp_TSa3EFiw6E@#$yOkITSc+vMDMHNNbsh3l!^*2MxN6 zB!UO$YJQF+V*DgcjzMN={;VSd2j>QX6CqKf@NlysFv*(PSvdb7W#Q!cr?vqAEw2y} z0c|%S8Q5x3r7$UJUEh5+Dl!(DN_z5ed1iYr6$z&%x;)ta?o};}Ay73eP&VA5s-k0t z0hRhZCj+q7H_2l!d$+oA{2hpr;MQvcu$3$*^eOXUQ1fQS+z&P3ltg-%(w6-9B_Ifb z(QKU!!#WeT+QW86#@zp?wD{8Fc8$}L0Y%+O52^ayqOc2Wx(LY3BowJxlc~OvIyeNA zin&G)kKjf37}ofj4T_BIG^K$Xk}yjHbo{}k$!d3lW(U-5P=o8RtjVB>)8+a!i6dRL zaU}>NqGBP24{~ta{Z>4T$ax+eV3ao>burZ~o3_EL^tIq)`G*grH1n6koBLL5fY8ge z3qQTre^xCaCl?3Z1lmwh1aJYWpNA!gKzQ%Ah$aBWh$DuUw42_)e#kG~$PxFK6f>kH07l zQuH$QU(pc<@N^dA%a$-Fr3t|RJL64KyhPNS>`fM){wbmSL=O>CeS{202w=L3>??hY zYH7ttpc3xK=HU<0@EuRxX$AAW8gv+rcWun-v7*v_72)#n1C7b?gd!W-+#8g@Z7~7c zf!R13{hq9d#h6a8H@${M97b^Rk0*$N(DI1k7}&vb4*~vC{44CPtWMOy^y4zLV#vSW zMF-Or>ca!w4Uka(Hk1}k1^{IQ+wm}~%f&h~P|63(3U@c&OQt0D=ANZH)E;{QbVOrY z&mRE7tV>W9y8LMN>3>^$2vXuQLFwl2SbX?o5>1zCHZJ63?*aqOGaEODFyAB>pZV&|-Jz z@CCVBPW_crOG|^3Wh@kQy9n_tzO(!{o444{Sq9GEXM@Tqd+5p zl^qcW>uPQhpd#P=!G8q_s_S-Wb)avm1aCe-`xLyf0p-s&f9+N$h$mE<5tD&+zTQ$uXiJv6h4p}Y)*29uA3Lj}N+i0|9`io!(Pa4+77+^C{Br@y?io`5ml|UW~mza6s7F1&Tf;h_w9>cN`}sbnkpXS&%j6CDjqpG zi;4H43$)wZSLz}Xw6k#v?29AZhRuCwdvvPWjYY-;DeZx6{c+lxZ~{GO-5;!0%MXRN z4?e3kv$t;`v{Gyv-lh}+ukD5v30)%f7VJLx^c~C$%JN^iG;(7S#-`UwxC!nDtrwa5 z#`^l$2~O+`;&V60()w~kYi^^XIyHUp2;#IA8j+m8jawCFrC)4As?f>~Zls`6qW0>= zS#uxAv2cOm@3a=^4UWRd!^D&Eg1JUK2H&q*ei?$(-6jfLRxpswM@E zVt-d!71-tg-S}u$Eq;>ZFVaJ}&0oj!GA4%dw@RK8OPx4jyKyEDXDRvd<;=&g@;uqA zvFkk%w$^^=GK8PYat%oe&ID@(?cyV8<5Oa0Mxp?>Zj}p$Ny?wJSgMEAT1&9`g2KCc zC3>qw8hOV;aa>|@1+y1I@46Kuio6ZHRaw_6rLSKM_TLTU-(*o_$8URV_yit1&Yqm~ znJmbC*S~iuS(!KY8>NIvm9xiJP%@>>P!tMhi@?he@v(1@kIQ(dPo{e+GfqpmOuet& zrg_0lIJ`qsE-%;q_umHs=K)|g7jF@5Kz}kE{l_bqc0fc31B8>iX_@F9>nYWw9u{ey zp=v)YESz-dZSKTJ<;29sE#kX%vSwM^UeTWb)9%Pxv<01Myz$n2v>A>je}O}s6MAKE z6ZDTLjG))bqBGPgGl%PvVNU+NIstLHe^UGFijkQU5k=HGlxq!7H{~4t)+#n@_Pdh) z#D?n$M(F&N7?8L97Hr>=F=EirFZ{bC#|upmtKRW1CJO)9mP5=A1NIkbs6yp0i-&Pk zJv-(GJkvD}$@SDSVw!7(O$}uqi#{Q$#RDqOBqyLMuwP2$@&s96DM)pm5FL2j!7#kpE^oM+3S zY@`a{_ZUkL&gv$!A5J8c!ud&;)c2(7+S7Xu_zk3wKGKlyBmXuqjl-Cr;^FSIYN7?U zwT|q?>5z@hKiUwtqz|2o`2m8 zBXrrOkJWjiM?zS!KCN^PjR~EnkaC|Ls--<5rP_Hjq}F%h#B2Hy7S^coZv!H75eL>q z!!9t00A4zr%wVe$l%YT|i(;T2Kom>ls6>;a@@t%BB}{!B{U=Y4*+qjn{Lp$}eP6hb zve2tp#JQ6aLSM|U_Bd6wI+;r3zh)^N_H`!FYC5nUwXaC=1^YV$v1`>GB8V`vFVI1Ed zwfElHKSXQ${qkWvwUv07UVV1piWsj6v$=+Fg1ZV$MRnz_!i&~g!vK{@K;EUgC0DRg zPJ>e`iJq5BPwq{N^oDV^6q0yGHH8h2EFi62b9*M!D5yN@3Dv9klj;YLL_pXOMM^F zpEHo1Bc`G25HuqwTkvOf03WU+{TQ3Q1wcmu%rXOF$^D@wM;^#W)1hc-r2;CD4gZ6| zAIv%)9l-+4tLO(XPfb+RqQ^M5e4&t}!Dr!Yn}iU0%h^hGI-G652+9Oggh-fe8XJ;=Pe? zJlrBOl=riEOkH4ZZmuG8g0a+2bRrLT;U!}*EM0S4+UL*Q%Pvd>77Rr`Z#M^FV}c(L z&J<==9#bXm#GrT2QTP>-R-Cc-e~SvP1TtEdX59}WQrOQYtK(NB3{Wf#F#~YYKAjn} z`=NRh?ze+YT`LPErh7| z0-HWF+N&;b+2ZGpF^+gL3*VE9aIEhpNg~nv;cPJIAbFM$h^TXZ#BmhPe)SSoM4_e}QjS z`mv6fJxPXt(}2i)YdJbG*GlR4=v)y3c#fdr5hXH;HA}@2huTF=udJegvcP*ur%2ru z0?X6wVqx7Z6Zh0%Q~48QngJG2`$gackAq5cNnGT+NJyE(sT9^|USBxV{f#T3dCOi} zy2Op5){gOHR9A>U_8kjd4;6~+IC?o zrVm{Z}I}C}cL|D8|4cX8^wb(I;`QL%@MV4VePp(6*YMb#3U0eM_ z&O+Y{3!xYj)C7UU1N=-di~|6q<6z|zuSRha$+ufmJ=R4hm$dIb*8K;lQ{eLYK{Y2% z#*XGc7Av~fh}{}N+3}yi9*jxeVfB@yY5TGwBIx>kqBUsle9y)}yPSm8Di$}TAJZJI zap6sNFIwVxngL0`uF&{KZ0GI+&C1M1@59xV*6&@#8S~Zh3Ais>;mUr>IE{$gVTM%H zb;H~#_QSn~R$BDF<r#{g_SbqInNG|?w5X23Uth^F3nzBy#Q|jNPYpfi7%6MFnrahI+kO~RIbW7z-`KVWj3@^vuQLUL!o07mukn<6TD^7D&G zd7JD!V^wR73H;Bk^2SW8GF>djK6>{1RKt!*s_&K)=m{R=in1-kilRYsp~NP11(EqF z$7t~KcDW~ZozhZU=BvP@ktwLJkhGIKi8&bk5e{C#B50ZfbC#BM4eWqeKRnQ$p{rz^91h#j9U1J^{uom1uA2gv`lvwL zUHjMJ%n$5e+U;WoJ$_qxek4>(7rnq&*OiTj)!+CNZ=CVMj;Kzxa&xLzRr2LUdM7W0 z@9t0noYe1HvxiA1M_M~mTiSGxOXgZCC&bMwnhD8K30rLyKif&xZ61T59@-ivoEtE5 zLVz(eKZP;#Nn=NrGM&#)CN;rw;&^^@Ci6Cc`5KP_-jxyn#)s}#SIRO7* z*#FI4=8%Zpz`{ich2bG^*zEOzP%=&tBkjG?>k9#-BcG@K2E6za5mnUwz`hKSdDcXfT>{Y-tS4 zAlP`CKljv(K~8pP7|oU(fK*73I>+ZF!r=iVLxLdwt$%v?0e+C6a()0d$ch8N*gU8R z_yGx`UM9i>3E^U4q4IEX{@-JYotc9hRJ%e10P5KOTpdDtuQKpw%A}qnJAXr7bexMb z*x{5@9+xNd;wK7)0{o#A#wegVSbSK97K$SWC^6Yt@N$Mi+FjV$KeSprfJs{Jpr_K< zsu~MSsejdmZbQS^L0pRqV@pHegy+oWHTxb1x%9+5q~+U^{telsqe-xX!AaE9z_OX-DTsX@ubO&5f9HS<-CoGSXsHA@O@&#Dyg>iT;j|!s4^H5a!~IEyHYV z%K4(|TrG&nv4)AV5VAsrDNxfje`3F64bA)@5NPx>VJ&4Aj|U`j$k&wRVj$%aNt;6C zi^MOFP_d7~O$o`P!~4*bQhEmXeL7Oe3#o`kWPe+=^!DgU4~c`l<;k!@Nm(u*n&X|b z6P@9~@O$sl(qja~liBJGF;JXD#luGHiF=x@6AO4cQ)W?Lu)s!{z0soC1HD3^Ddr+; zD)jJc{r)+r`e)rX;+)B|RCla=S;t?XizaP-r*I;S1?5&4v-IfoGw83yfN?Zkj+9v% zb7I$rO5|A>JVIp2Ugw8>jX0Yq%4v+u@$N5kN8J&=bH{r@mQV>NR=_Ncw*=$3j^Ry( z?62D{j{ew0jcG!A{roca&PWb+YQJ-s+`%lOsAZvO#mgF8UAeuGg=& z_Ue;3jVT8Q#_=E(|FUiJ&XmZ-{hpR4>lSl{-cGzzgbxAIiU+bM+RgMrH->Qg@6{@N zGXxhg`X}1AZB>RoKn*xOvUZ%B-lJ0L-xI23fTCskNz{mZ+00hRD%in;IY*ANIjQAr z4HphwW@FwA*<_dH3t>t6;&}(n`*H8TC$veYd*i}dcT?q0!}xZCsGW0WJjA!xM>);h zOxH1;vvq`+omzqhw+$^1$1{QjrhjCM(N4n+(;)Cay641OfHDk&-(%R4GwT3*GQx#q z=FQozof)%v3L$Dht?6;G-g?242;&uk%<#6&;6`SB@+|QR2@J1qlh}I&6&_h`+3*ky z?no?>v=bx#aV!+lQHkIYk1BniNX|{iabWaH7wOMhUbvPr`j8gvyXKgp?H( zAsT%m;#t-Klb*8L5&SJVh!0&xG^@xWQyUD3wweroVZIx!ddyO|y?Fvo+K8$PD%|Sw zQC3}V&)>KHj&quO&0{%hFzfZMGiB&xw&nat$l%?D11?!m)QH(6S-xD7Ry>xCWJliM zgENpAP&4v;OC70CIyME)w;5 zh_(L$iR{(G!)bdH(FMDiE)oOtNJP!NI;5Cj-8(7XzYp* z8MiUnAVI-mJcH-6Q*6xwnF}K!O(e5u`L?Igqcp@HX(Ji@F71_?S{qJuwgF2|#^!@s z9N@Q2HI$nry49;q(!ck;!q`o$O{bhvK-csFU{hn<6ZN3>1I>8ABaL z@nQLcG_E@U#5ZemyDAxaZzri)yd2xeo?eMSbT!0C6m=|&hwC|84n_yKlZ}ioEnXzm zR)XvH_rL3BVdf-?PEjBei@ddy2@HKw1EOWx&-C+W5U-H#1k4`w(ska=s27FnyOAl6 zme?x}2xff3<=7Q%RHL1KloOqZq0!zfH=-SZH!^SLht8u5%b+{XLQ>so%PMDd2r{-+ zw&1QYxZ8=e?6iiqhV%y^4N|$3Fq0D*zZvzdw5dM1r!YgQXb%`f9Na6d!a%Mk0S_Yo z`icu*z+Dhr9s2C{N-m)mnf-uZknz3r>0~a9Yp^_M7+a}MOt<+;6l}2C)VUeIt|Dxv)Wf%+Ka8U4}^h0nl)ni4pp_B$C^i?$80{q0=6vjBV0KRpyW$iFY1) zO3RD$OpA+kWTjv{&C`=&Gk7v}b?`!)s@4%G?fSldl-)SMDVh*Ih5v9Kvth@}<=eR! zs*y|r3`D)>X(T$j{wg(K!=5oIQ9SxGueoh`)q09ktR@O9d6E!rcG5=B+hcc4W0Z;T&qt@jH;GvNMwwg{U}+k|O?H!9;iCydAEZsty7oB}j~ zxHfwArkFmELvV>{FGZ8VM#oAzp~w7^;l0K+%u1qenvYr0=3&j$^{3)1U0$kZ+6bz{ zvh`hf_EcPJr+1Pn24nv9I8qU{F0-Gk~h8anijnIi&&5v9;4^EPu>t{CquG;iB=`N1B zrW`>?yJh>-U>hz8{;r)O)^dEcfHS@Y@bCi-E0>C)uV3KcdYpR zX1Gb_!)yykekQNxU-)?i6QkiiHz-4Up8eE)0E{E?l3Pz$Y~bu2R&*8!msS-QenV%% zd1^T&QIOankCWIoRg(41wNH!NZj7>FKHQJ3}RfV@?%U7e(?>s;<|FX z3VaNCRC=ZK#s0vo9td-1SPwNAsNSx0|LPQ{U_RI}RSfA!`^S!^n>ah$T;9YA1rw`C>cp}z_7n9o8gn1iKU_x4vdH~rl&ThE!t~9O)9zM!(bab z9UgR;O$6@$<$+-=_fLreH9mgwy7*q)S!yvLB=0Iy@ZdC-L`>u6GBSw@Or3m!4Q@w` z$gmHRG{dL2b#+6Tw%xA0SgN~hJ1#qd_Ebea8GjxaUi4mf*RDoahc$Fx%WxTnpS+tv zM;KYeKzD2U+9pSkepBk-%epv_ezKP?;aOTpC$Kvv1ZeG@vGB$raloTo#88; zRJ`Pj`2_+@kAvn=BS9*9V;M9A56O}2Yv8pGSy9_;>a`-N z&!xv+D7ipBPgKvP{Y84lL41^H;WGTd0y1yNnIZ+HPO1N(hj-8a6dzm@QqusGx@?B~ zR<)4*9YX5veBLYW{`lLv<;C6DmF1cd%?tp3(iza?+cfRNv`g`+SG5b9y`&85^7dMK z0rz<(Uq}e(&K#sfh-9&?XZM0S-Wf)AIu9kSj%+l8BwB`99O5Oi{7jhf$|c} zUOa@@VCVt}UiN$P-c;*hI|Hy+lvhgpBEEl?IN{?W(@oPVA{rDrgr}%{2jz3fT&V5$ zZT8KJO!sw)RH>D>6+91DufNVw&ru~%Xwc5Z>WgSjh))RJ&M~9hAlD=N3KFub?N#Sa zh?c80Y%clV){nCc=@kgku2!yM0l!r9bRdZmg&9B3yJy_EoFXQe^&YP$S(cAF#?i*2uY8Gp!sJ@uJ@{5Pb{i0&-@r8;;I zwR|Hf@5d8BFtaoL>Fi`?1d`?eAc6uF0UFK0ssJ@e5R)nZqxoC|Ko5!Z|6zYvSvdYF zFam&uT6!^r&1l{m2E7kG+;#0w(6}%*gYsaowWOnA82udED4O6s4r9O^3Og$FCRD+CG@Z!7%0o~$cwTOkNEfkY9>4oMHx^5=MSbGA* z9b0n2?68v*F@ZIvSk?tKrkDhQ`?&1C5c_(g(5mUld8nH4)1lGSP3ryf2L1?Nf~njTaD?v0ua9c@aGPMerA{vUowdqGzS*} zhpZJR5slY1q@hvNg%I)Io_nBCgrH*nE1KD3V;pv&lq1IqkI*oLfSoud&X{=|;|vD4 zg&T_yr-;S!CK`eo;4bp$B?^fR4ypn6n4=gI{+7&jIj!X>ir%&+5IL4pl;;y<79YYh zm1s_+2ozW_iqnSJ(hX3M<^yLDH@3j@3z!U*c&X)yqAZ@h4Z}71N$O+Rx6hu7n9N9R zOfzad0iQ1v10U2U{8Rua7$Qd#@y{X}0*@2qfWMEc)lHdLs_+bo*}I2YVZ11WdCQrTmNmRn8e`yXz~iw{p!g3e&^oS{&75i^;R6S zSlo~Oda(1hIyZTN;#Pd?_k$m}R(&}*dGx+D7;=J9LQ?has%M8dyLFt+bwMon*MyC@ z-uC99+5TdE?QfR?N$cxudV99L{pAsh(aKr9eb*Dj0@M53*@;0{d4)muo5RDEr*Qh3 z;`CE!>#>{<;Wp{@!u;ZIK7^y&3X_sG3384j;=r#V?%Sk719ADIc_G+(7)&Ow}PijncFa?jGvXJq+Rw6hX zZ#JibjOlNqETf>~zNBCCE=npsTNy~Dx^jDTHPt=6f5hG>j}HpMp<&+2BA&x?+h|<2 z8IEL>wblw*DY1%v{0eMf^wtV3{qmBbs?4^OHkWM4T&2EerS=ZgQhQ44UChW;$FfqZ zRmaL!Q_FNLW0Q9oDzy?TIv*8$9#9>?sz&CU$NQ>NmbW5woh?9hO0HJYGuXkZMX<}c;*c1wW_S}XBV}EhA{=U})>*k% ze9xQ9t5CP+>#{qBX`#BEN1UJP}&Z*+L^iq`yB{8B}l za455tS4H-(Rc=KkauT(yQ<&CF2x9p0DMg`pn6r8$hzc}mMgA=1Kh^-o=HZ{E_cHXW zMw9MG3+|IYD+ntsq87b&sH*UpYSZ11&1NzY3wOUHkh3%-x~A57G2ia?#?l~-SJd>i z(ln-kTjK!501<5V)@tIpXJqcGK=)_OZ-d5hM zPv!soWwcM4NR!ld; zsBvnwrLRu!N=3iv$nXrkTxD=lwN?(xdS8=gWr`ZTujyTSV?%FXq5!z*W~?QO0|L1i z0Z1Y7zwLoii~vMHXFiGPNX;~~al?T(A%_{g5MwUlOos8x{mtOS$>c&$8>!Z>qk{(< zWG3v*KRUw~wlXd!k_&mcYRby>d*YF;hsw2$`|_yN7f1S>dRVa{%01+3x!aIsh)o>t zu7ap!=#Oh|5hDl|${q-(ybQGNHH|I=V4DZxkt57Cn~d~;hd$BBM%Zg@XZ^=$HG0i2 z7*55hB>r1TG{^uSj6syVKa@O$*-0nqi2BuedS3&xM>o?Drx5$;C!NPVC`L-ukxw@OIsn_hW zU~9ETt!?ZgqEK(Aa?;c~bA~QJ;5pYO@Mu-dH>mG+6r9zTTmA6~&vmjhp9sXekaD_W zOW!f?=3lzNT^nVtH?X@O4}6Q(%tZXD-;T(>bTQNRxgb+!(+#)AYs=-TN)UEqO^j!H z?JL?J$JDSuap{s}Gx)dt7hQ&zKFw%3SWKqkr_zu8-+y$|U_j?6S7YTdcEK{fmT>(~ zD`9nW6M3529{e1jqTa#>P?QM(pDjZp!RT@iy!@wSS}Xg16%zk_BjqlujO`3-6owWt zLTo1SUpkp)y_!Ezpj0hI{tLQ5aC`#H5?wUkP<| zLSupZg?mHacF-aBfmG;pPb9vEm0fD;B3sR4R#5Ndb-eI-eaD2GWZ}FwT}s|q>)htG zJDDcY+Ys*11S%%|lrPwviD2K+s|mHBI0r^h>ey7n7z9Lx;1i=L2#V1)@LAz_IT?Gh zct~mL!t(>uERDQK^?PQ8BVLJd5D|m>dxdU$nrIYx*rAet0!>577zuHWfBo9&8(`+4 zpI~9I2~TBJ`Gld#GOVfvkB}MJ-u4tp5~7WfPzUcw`ENOL1AY`}-Kgw^xughXjm0a^ zT`sGQ(kL`g29PV*N>$E>gi>7wCzXmKe>3_0)sR`KgLz0-QXLaUTC33mKo;7qoSfGx zw4OodzZ;eu4-8*vEKCgTfNf_=BD%!Tkd3Gd2rJ1gLj)nvJZ&w8%Pp{4aLCBlCKoP{ z!nLr{NimQvLO_oq-PEJvfL#b@fQbqVIp&J?ed+yP7*2E$L^Eoan2epb;^;C|v{J{e z>YdS_oCLW&us{#Dgrzb#pEnbr&SoX`HA+)Ah`caD8R+Mq_%U>DJfa<1v7MHHi~oU@ zkYbcjub6*2FG;H?qZ%GJt>N)_zZzoy{^tGi7WRehhV1R2pKIfWq9W$Q{pI@hy(p=p ztDFB#VY;&G?eTWlHV*0TjA@!F`;lYz`T3#wTK%HvoA={{Z&ww{hL1&4*BgTIVkVews|G5Lt?jQ3+1Jz%9>SnCmWqQm{sIFJ#a zB_&H3K-y0m@EXxUpX)F?))|UmC=@`_X#*e`-2kz4I&aOaE{P+r2G>en`eY1DlsOX< zss#Xl&#JtYIJ)X~B1&GyKwUGB;aSyxeDs_QB+j`$8%+5KY`u4_n6$e#(dn-d|A_8! zWvcwu+~0vioZ4r7lPmx*la`L&Ngn*te9NBb-MUhc>uE_NfJCMLG)9diSd|s5%jA<< z0K{Yhw0@<^{~U2>s6%UsDX82CO?TOqIi*DIhZ_2KU4_louiXit_WS z=&ZzEC)$U?R_v#fcdo^kA{()vZelS&tiz|Ud4tY62z_zm>5)G*t1Wj6wdY%dSFS6B z*%O?#4_DlGSCc3BnTxO{_B)PNJ9EZAY4Y4?JiVe-yg1(;p@yff|3u5-oknhWtSDCU zi|Kg$Xg<{QwENw3eku(9bB8?vgcO+#S|2SIx07#NB=y?JT4~bbF&{Wt?le;X60Nqd zyse1UTbNrdEKH_QSKB`{3Aosvm{WH14%aqsJM~)ORhJ)6hKnxqo)FAKnWv zo{Q*I|I6ptm9x}fRQ=_FI)jOZ^KHp`xRapxOZc3mqbtq%8>gP4OEn<_1o21d$Gbeu*>sp z3sn8#;`QR>wHrzEd#}9v{dueZ>@8$$5@x?R4I}+SSv#{vi#A$x!7$x zd11pEXq+*9k!6pOIC)x(cTS6P%2L7L$reRBmM^Iod?z!g2UTZJ02K*LSupp(fm?70 zYO-(Fdg`gGBIcq&u>PA{Mv08B438LJ6wha3|IOFi^JC-So4(J-2<$+}5J8M9taJPM z^l5(Y?jtN(veaYR7xEyf$KYQ&?A?MN_fKLnLCo4{81oC&$`rrR1`IvH+Dn&yu1Y&4 zIKt=%)9p|;@%nG`bB?J4o6Ic&%HXxX0irZv5d)6^s&cgIC)zjKJqR3)^Wvmtsnl`F z+@Ar1xa#~+*e1c~A`3&|Dd-$3SVe_4GlGSL^a|$k8Aj00#LCb`Wq*v4fLwwsvdQhf z>%JrMI`Zf?IW4n&0?qT3ho-^Tm*Uln>1?~{3!v9sjM`{<0LwCd)@xS9b*#@7{qX%lxQsaJ8 zYZJPQ>osZS1sDGfWE(rI8O6edf%h5>*5jE9qHyIIPmGMxhnyT1i&+~RhW3P!U=@nl zOu?MNFf)V`aFM0{e4~eq4TaY=tg(o%l=p)dVCUWCXpL%7Jgh~}EsnAjX?^Y=VI3PJ zsf#HWaHS)`k&X!+GQu8B(WZAwh`i0wR$>IEyWH}FCFr@)k>Khia>vIt zWJkBe-;0}2+@?fO!wZ;I)KH?~boaSx0y2BiUCWk*mr8dmW%`h#bSaIBqv*dH4QFV( z>Z(J;dqY0QyJ776kFc`|6MbsaNsT*o#e8^hzL8fz#Z7acU*qfKe!FAKC zMn>BgT96km&RdR(;(UxObZX3MRg+VVv6Cz3$*#qrt07@ih0DT8V@5g056QoaNq7zC z)klj-s}hu_Q(;93g|Rj+JDaj`Db0mV{uPz8sK)hn@LIL9uq{8zFqdwHS27%`R##Oh2D3vlCx0ym}u&hVQ=>6{A>DpnvdEoqa)qlE^Yt=-YzR}Mn7_GeeN?_ zTx?)BO|t$W^*8y@Puq>~47tYjGn=5j-t~wVVfqCys-twKyq7vgsa8fHr)<_vWaS{r zhM(O}o!J}cSj}E6McJ)6Vb1z%+Lcvnj&cr&LRPGKG@FuTH1F@7Cn0go*&p9)6kMb4 zp5TDwi!L3u;2fYX9NAR-BNaA7Xe0x9)wc6Xs;DG4ya&f0e)v@JiTc@mMUt z5ms<3*4w{g*}!wGTdTKiHyE`z`Fn|uA)&7%ZgjR9TP39k(V$)7H(VamW|7g$Zcs{vqNO}%)vp>YWM@j`pd?9()#QfCH*(z zi{nB0!>!Mrd$ zmoCzhc>GaN$q~hIJ<^x#yg;JD@}BFhYZ?QDiXVo1BUjdM)v#nd2v2>49az`490B=~ zdECJ-;tzh~DPx3l=}Z|_T;cW=_UD`!q5XDxh2t#p>%Huy2`^7r! z??v1+k6>&iplzjhYPd@a*`h%21Ewx^Z!+XW*q=^ zxEu&f;+9T7ok>~PS^f{}#KF#-fCd2oMyZY4tqLJ_oY38;5YnDSynqFOiOs2GORlQK z1*Xvi`weiCKh1PsI2E$Y{4j%M4!VjS!BfU8tVsNhU{;8o#t%s$DGsB~U5FcdiQzyl zn~0;dpB|_f&y+l!!r#{ z@L~F`MPG#Hy{fHCa1BfYqkN_ee%QITFQ#$-dGwG&o$X{{X*aDx*My<|-sWl<$nvWB zQv6Q#i&lh32cMW640aP7Ldcr|=u_Vgd@!*w7%F&JvPWjptDILJ9OVgA0mJVB>j}$W zq#eo7cB{4L!eijrTk5 z05S+E1{oH_=nOyua_b>5saSfN{kxyI5tuYcby!H*NLfBhmF?~SyURE}A;8KAOj35{ z_Wv6FLj?cZ6(!Z-XJr>-{d{pVbF;7uv$3#$XXg;-U}j+#;}GHE`Tm_#ko5nr2@0p+ z=c)eR{985-)_>f803cPWhXbLd$IuH=Bjvd3^kGUZm4`X~c)WN#l}<9%c%64CgATq< z*RGaKlc`Ly64hXxk^delrbQY0Zy74g8i_r_F@D-E88@J2ncB= zJR+n$u2&)DJ+~KE-@1&$hK&fA&21mDjg#5!)=Ut*~ghth`$M9*RL z+;J{pV!ed8*5x{UclBoi-M&-@oI?BHRab3q-I2NEk=WB^G0uh{Z`<~t2p}3bwKFjD1+nnulg5P7XmklhE~Hg#O3`c-1Xc&DHAqn z)`>gFoe&87Plo1pK0|q%XM-oASy087iA)HC>~L3!OlKo=hA8H4EqtNt0# zKi!9~5+T$aknQoAV)#+^uP}cWPD4AOUC`^(U8A=|7V|3}>w$l92VJJcX$T`-ux9g`-OQrjr zJ07LmMbi$n`!mS_^n>)XSgn2vbI_f$?e3^ruJEgT`Bq7#b z+m+E4GQZ|sKY<%|}S;f&dyzeEwwp(~{PuTF9y*4y=8Q9k~<8Rg(P&3&jTQYo}V zEnm1mTd*6N)V~ew-u!67|LVk;GbH}&rwJuuHS^yIN4hTw|2z8cFo`$be}fri?BMzD zPz9mDucZ-y`ygmq{)j){@|G~LOB6{8(+ido^gHkhx=07JZnus&Zyjjv3j%Qdp8!A# zzx5*ZU@7)wAD+H~f#_;s@l?)VnGLClwsYIgKlcRWgbV@>sJvo7Q z45U-7})_R_T&!U5ONnt^Tn^RK!y8|B~Zp| zz#ByF23>!6jd%mdJ)j$pH*wgH+zWc}coT;eWH0E$Q&9SlI?<2EDj(_+edr*YHWtCK z2dNtx!qXzCkJp#kkJpOVjnsn}!E3|Qt?40-;_=1~yO0XN7@i73UrWI|jHje7BNg}~ zcv=MYNR%{3@dogU$SH6PPYa$N=W%cXPs!SeJPChJ;VD@aifIsn)9GfhFWqfsDk=Cv!>5}N*B+9Icxgd4+B7% zXhDDWuH<#F1XjRJa0{%0HEF!O@LkVhAMB_g3j0J;(E|v!Nj=a zHo#7LBLM85H*$bo^F|9`ue{L)*dcEe0Q=&Noq*l&Mh7SXHn<0(H2p9w7;4qi~qo8QP;I!`GAUFah z!BH>;j)CLg1ULy!foTwe(_jXi0cXK1m;>|R0=NjyfkPGyKc@ey7p{VG30wwOzyi1m zYTyBI4J?8sa2?zL%U}iE1h>E{SfeB0AH}3VtQ1%W=Pej{QFm~g6Wl>eTEs*@ZUBFc zK&=+3605-?8Dh0nBtxubie!k@LXixy8Yhw=Ci<~@A!S6G)MF=fFL?_dG#!x^v05WC zB3460mc(j<$cR|Y4;c}wWHvycza z<0POl0gZ`eOe|w!857HxSjNOMCYCX=jEQATs>HJvEIzK!BWYplM=bln_sdh?IAwp?zh99&#*OO*-wt?gnG$YaN4r}@jH1lmi?Ni zBXxXpmVNPxWEH40R6BRUa$A0_6Y2uhx?Qzg+rP?Fcc+$Y(Qk+?o0c2y z)`?q|JNGC@k$NW2awqjTBeO!go=~JFsnK%PcS)*`YO?0)hNRk{ZPtH${(mIZJ+)f% zE8gZ=^N+Ifc7hgbzV;zWf*cXmsNI_H{Gq%KpiT4^YksL!9s!Mt*8IapNzx)JTg$6H z>{-iOzb~&BbXm(E{ZeudP(MQ+M19us7r)hsinaXhfR2cMG-xe=M2EnLwLG(1 z9)XWWt?l#Ad6wV%8F_zdF2=0wexRapz@R5=vV7MrdFm@BE#LjDq*{+D%l~t;XH+^z$*@zE++vVu+Ml4UD&J)t8qB3iRTpz4lpvkiZx#1qd7yWgvwxq*xo zA9^tLo-WGMHrcnrS zb-e1W@_MY}ozH*hXc!Dw$0Og7q@_(rfn>jRyyGwBku(YYYC^>)qt;pdfle^v3AbD4 z>iuUh1tzR>@i|G7CYb~jdveS=|7}etj$7xKU+Y{~?icfw~Ckmhg?6l&u%ktWRnx9T9KL0a$yTEQxvf`)f<*64^qtj)@|M~}cdq6MP zYsD{3%jq2#3VQlrmQqFAdilvMmthFVWp$@ zANxr#1E#HX`u=qxm<4C7H2;FUv)~+~|ou~(7Co?>s$(_&S z&S!tz=DS8K{rLZN9m&e5&Sya9GxhVCwE3=JrC>#@?k56B~ZT(_0(o{=Q=n4tMi9rHLKE!>cm8-A!u$R?&>zEfjN zUNQTs52+cahL;?2YI7&8oO|B0@`K7cr&fP;%*tC89;dE%3aHm5n;13u448ZdOg>{O zpD~rsaLRYnR?hb7Z^hIO+K?ApP`fQ)RC?NGKVRX@0P5x{)GPGx>de)Ku0&M|Dk`^(X#b_bzFZ( zD>g9xXqpF;6Df{;KgFpxrKmleVtF*hQc?M$VXLOAdM{|4&~5{-$mypF{T8DiU-WB> z#_x=-s#AcySykhArU6yj|0)B{s>bi^y{q~`M!&#l{H}TXEMVwarM9Z)fQIh+wM9R# zFxISU=&mWd#_9`zRk_Lxs;aR%Q>I($B4C47)mU9~bPdj#BUSa&jDCyJ;9Qe(O~o|^ zXI!+IK8@F~gx7BxU>3f~@OzVK_a@V$O~yr=%!f9&fF{5XH=E3dHW>(QGVk?fr;7frUVcQB6ElZ>ej22P<}PG zo)qi*#9ntseqMdXF2=Z%Ue@=}?Uzy}WgTTlm;82;rm;zSfQT2~SfsXzb)G%2N^N_> zPl zf!T_b5{;aN1Z~Hd#Q2- z59}l;Ohy7|Gn1~z8JkfXAj^YiDOZTQegr2V4DvYXr8if6#DuV;>&U8H1ge#@FexT@ zYeWUZ4A_mbTj2$r8oeF2u3`RLRzObkd^?C4m+E;e+R7~JPRA%;3E85`!ZB7!%c z2Q-C)qkLiFMFZr)66y_^1J;7oiGw|5DHgYef+j>{Fu`(}XYvFzx*)Az(@)AvH+NJN z)Y~MUH1O&e($;v&wyE5&Rh|z=t|tm*kosIJTKuJEpgAy>byZx%X9{1k@*Zc>Uzb&v zeRpvE$My(R9z(Op*f^GR9z;c1c4mn)2TZS(?u zvYw*@AK_?LXl@fodW&E(>75=lHfx^Qe8roa3<%p|3Lm};jag=_ zA8k|8xAdMBz0*Erml6FHpoP}40%P?*84~liZ}wyh8SzYW!v{Q(%0mxWBHpuidQ+U* zwlJ*Lc>sSlNZG`|E57JQ3>NNW^t>cF{z=pO@|e$O#uRdku{q{FTJHDLL|T?rACeZl zNu_+uz$tQ_*ala=-A;34jhs7w#z7W$UbopQgUM+oYGHC3zZ6s&bx%HO*`s+3+u~&O zQl?1Zc+pf*&GCjYS`A!aIqgmy6RdFM#~d^pNgX6VM{tD75Y z$$(`?KBc{c_C#$v281nL#2)V6aBA(^(5mn5L?e9 z7Uil(Nqjfn-wS~3O;h4YnThnIYws;&)1ZOxK4eqk!Jjc?)@zoNH_#=nbR66Rgh903 zdPseQvd0xL!9zzlEvZZ}bOSQjGrYateSq}t@Ka!o?99TGrhPrR4(p3Pa!m<{2Ch}~ zY}(=PV;#G-i^HDT^PqQo3kJ@Qi3F_|uUqk3@@gsTw}q>W+6n~e9TzWVq{4X}7V>dZ~+KabNS#P8)tJeFTC*Hc9KOb8?0d5^tn&~@xJg>~ZW+g0=#;jw)@iub+IGwSU z@>3GmZF?)YM;G3{&1kb%t2eKh8-M|teU%IF)a?${Vv2XBQ={{O_092?QEh#V@(vB< z#rJio$ClwsZ%!VC3ZYNgXS~m0;9?cXxgSB?HzH1TW+ML%4b8XR$9dGvTM@Kt(Wg!TiKQvf$mhCN(GdQwrc2& zsaJ75GLsw8EK`1Qc6haB>qWP3d=3JRaD|f_JF?{YObXix8tW1n-4HQMi>Ew*;-TsBa`e@<$Xu$sf`3LAf!2SXL4~Tz2{sXE_9}Svu7nnJn zr~r)`;HE0)ki&@B^QZ0(sf5`E2e7~W@LOGOgs*@7+7Yl`;CA)*aZs>BoiH#Gskx?Eu~HaWWsf6Mv-Q{`zDiq}FHw<0;*( z?kcgEFpWEwwLt+f2_=S1wR)K{Hu+V1wULkO(9kQUFazH>RU zLCS|K!lpB@YjIV3uVX7d_xG<=F|RNVn`P(JTQM%ln8374W61Q{ZC-23zv;?=0sfbY zYnZtZech2Kkf*;Oa-vKgUA7}i*v$ar_c5Jd%GBaXCU$<6AKaL z1}tx7@?KCLJS*Y0W^tjVi}WzilQ)~K_(bhoBCKJE0-_Y_X%+U zQoPYr1bwN4GHxF%f4kF;i*mpFEe?57CCjiUddEFw2x4(CAV^U{XvQrwko}K;HU2=h zWLay6=e$7w1LhyU+HziC-*F_E{{Irm&Be^wz{1VyU&>k88CjUQ{BP!^Bj(^!wyhw; zfx-Z@r6*pYQUQ9jx16`ck^RmzWLNlW^t!-K{iP~(OQTOJCgoMja!iljfQgABnZOwd z|7lcTIWP<=ETSsvO{cWWP{HTZMPA-PzqaLQCVC!KG&Lg;?2b^+tk|pZ%}jzNW@PG65-tHs+%cK~s<z$&0}DgvVjGg6pU zA!MxHB>^H8svsal!qn>(B8H2Cjlh|UhU<=uHh8fC+7zVN`>O-eB!nA6p-BH(r(a@G zhmZL#7M5_g-+(y)2UIp{$PI#CB}cX2LVC~?G&!X?1GJ8+Jsb&18t0t2PYcn0pVMrh zDex@iku^y2ZiPe=zTc+57bXjvF?+}_OgPvFVBODt7adlP2?G1j`_ykcelrjg1OAzI z-AFhUObRM%7%Ps81wDbzAemr_Te+}ISQv+066TuN(wQV{oq~;}Y#SjGlGG3(0-BGl z@WmP3PjcsJ3r_Wn8f3U5SW()~l3+%+@C#BWyn@BC)QuqevNi^^j8p*9!ZMIi3*BJidvbf zo%Hc5tG1(|EjC_trHOnz9eAD+l943^bT-c6aHS5bEp0+KlPS5A$yZ2Xi>JY<>5NMi z6Yi7?x}oK;s%sG2w>G{)FX_%v+j1=bn7gji#}IsK`X@bvGw89-rG2Ug<3+7c+Vyczm&2|5i2cbjoXT1SxUu|g zjqSlb9eeqm7d`&Vo-z@)aVV2A8jLv7eXOqnu)e78HYTl#w=M%94&&y#4 zY6=HC*?n7q0EF9`Ty-cP2Wv_KX`#t7ev8ZO>OexG>qf^l9FAj&{Fo*ZaGTmA8`X$# zfrTc(XL{u3)8H!7VhbtFRL{K)h>Pg9YI^Y6qka@YJ(GjS)t=?J;q~5$x!IJU9`(+d zC%&qOPBv30+6ddMB}=7Ew_?u*M8bQNtlOpKw>GUd;>~+e+^Caie0MNfv1By2CDC1% zWI8h(HRm3ccPYYdcsH9U^j>g9%5MGgmb|{7A28jNhivO=4b>W3zu6!G+!!EKJFJQ* zkg9JTWxw1TuOfNv*7v|Iycc8gZ48{R;rq7bmO8D)MbCXU?Mm(GKf2)jsWJMxWdiYO zP4>9y*1dU7<}>zw3E`MQe+`Uk_oJS~?(Mrq>Y< z-R$YrI{3}Uc-{ax}f+%kbL^tv);7#oW0ywHAlA9pXDJ;WL1E6bJuliTHiH* zdZ+2@{HLzJn%&IGM?hK!-YZ7@xlR5)`Nd(;nUWVjSR7$whocV`0I_Bvu_4jvba2fV zt#EcivFPl`7{$;_uY#UWv35bpKikASGl|9$X8*PufB1SqZGf?q5~j-cM4vm8T>SOx zbDYVrJ?>Jcs_KU|r~-ufJgqdVPsv5ML@E>GdY`(d^HA4jHurcNX89Ivm-=DDJIkIz z_MUNH!JZsD#%OyJFhjtn^2~|v5-KcIA*=K$_nWb3B4XVOwy4gw(FE@|3 zN3Ud`Y?3V-`Oj(_31^{Z>KKRAz#FB1w(X`f>R;acR1TUK0MgR}9^y|wbtI3J#*%R_ zDfR__&BLhJ4^g(lqgE8rXTqI?2yZP>Z>~X^m>FN;Hnc+X9apDR_3i4VfRu)X`<8|@ z5i_HLbmv{o*g|>hSkq^RGYRCuyhZiZ=B3Vn+c>8`TkN5gG6y%V?a0a@K+=B6=nrku z724ACbusleU;`64B*;Fsk}O17&_|s-`u&NqOTR>P<-l6{fT5kWIAdAaffmnuY~tb5 z)!$ELvD)#eMAiXdoVO+|e-@oWPvF&u@kzIS(#`+miov6iOgxF)nP!7ou1XznOmWMkZ(I3G6CeRuFJCa!el1E~)$>%=jz?&sWuW>s56)d!`1#mb zYwr82G%LP48KbGW!ZkwS{`FqVHzrOnTybDLUN{trv-A);#fyQiIM>g2Kuz}ef?6|u%t*5EQYQH{V974WB`qC_3;#x1^KyVL?QNWktM$L#hyoJ ztUBe(R^D;c<>kdfzqs*c)2VsvVWP>{t6Q@KaQt!oA|8+E)dj;_Si?7S6E%sY0b1w{vzl;CtWkfodYC6_p5z5A zNBJ&NS3jW9HK?G~E3?<-E?VH!ao~yIx$Fs1-?wT--l#?8oPO1+X`fKFN~wOX+V1DF zU46UYj_A`qHWG%3l3w?1=rKWxV0C=~CTCR?N60TgZUsS^=th&G?;1~{@BZG6fF|km zo-@ZKhj z#_S25l!p}xB{j}|(}#TKEBpmTofPRR{7ZxgZI`h~#5@UClrR?$;sfQ^jIk;XtP_oz zxZ;c$;_Z&OXksBa4|75+_36^zTN7S6KNlY~tDf^hhPA+?q>bW50-=;~CP5T9IRE#t zzbulT5_%LqsD2J!7>r=y?>C}6k|?~ypUV;^*ukCPHwG&L6oPakY&euQbPBjmXmn0O zMnVT;YZzW$7zSB0dka@fLQZDRbfha(YCwjJ%O)e@*q?V)ez)V`Sks;w60dnF3R#|k zaQP*CT*hG(TNd`G=ZmgJ(|*Crr)5Ov20`S;r>&JAkAd0gf!R+M+pWj*8V98bAgW z>VsaqiElTY%BRH}x}RpU%PnsZxHzq?2PlnL#u3s53lYbcZ@QDHq29oPoBj$ElQwpM zz+zVQJ94SkVeI~AqpU8U#Wl!IIBWieLG+PWFdbTh7+Ju{e$023bmM1-4AX}h<#vge zF~6SNqM4tk&~XD#G`FnjmO=%QGaz$1_SuNfRO(6A#j@f=sO`d-X${oqjT(vRiq-LO zqQpqK11zD$t0p+%BF2S>n_B&3JqdfX6vy$YfosO{C2yfSY^wI89ni2{KmYUD z!!9({(uXS6>X4Xd5lX(*g2zL?cG|wxGP2b6mjPAyr;61LBjq)uLOMBRTlgbT>8q>5 z%Vq$|K=I3`5FZ0O1j9^8O(oZ2IGJwa_aDQ`@_7|9$xf&$k<9x|@K|Kp{iLdZ9C)^c z%UigLO=>3ILEn*mZb(69ML-(q3N9$CEWp~arCs_&CL??Xw&`5H1EdAw(IYjCeS$so z8=fDB#y6|Zys}mv%&SzXaLaVAekCtlCAZiH;m_4w{fCuhZ&Oxt=bZBS;lnb?@9QE- z4r6ekmT_6f6*2hKhY;L{4gU?P6gw2TGIBiW2l9pZOPH>ZdfYX%Cjd#eT!YH4w~r1Mu@my+BlLKWSmo-viw_Wo+|Qa&|J4 zT;uc>l$EoRkVW$YycVl8n?jQ<>m_~H89UAM=BTOUo@qQaKAY&6`>N@*hm`uZ{x=3% z9pz-&DC!kLj`#Dxe*TDSKlwF4Zbqv>pMj7VKC?4#gM0$LpgNa*)C#FW6*q;d1M)Vw zGoNh9lL!@24K;zaZEy=-L|svn0F2W{I*}_LN;(?{90v#!`+x7>S9AvAaNCf2<}~gy zbU97Yw8TJyfVZM@fS?IAxk-^+HK&3FBkE~t!~-5*z3Q@UbgHl6k6bC>>ouLd*H`MQ zqtu=y<4SRr>q&`hgsO$67t$0RXO!Vm*IeL7ue5@i^0n`@gDXQ$Et5lYM&Q$U3q~Sz z2^(;@*^aBagP6<#h*?adJf$rOU5!h@q+^CsLSP;l$AsE}vZRt17ly)?lQd)zk4VbF z&9ejOtW-SstUPzpzp8+2fa*e>0|aHpG|&u?a-|S9wFML@^;?Z(;mEp*ObP`Nx$&im z%{MkOOYaQ{83Zj>41bHG zobF?yT0%Ia;%%>3k&jzz83}a@qHGS*HaEh)%wICMhnlOlKhI-7S>y>{wcF;2%this z>%F1Rn`m4DAYaZ?dx0e`aG~}KIkY$Up5TKq^$E*!?%V?+@m)_{$C-sw(s#+ICEu8km$<-6y7 z(_qgIT^ga>;?if8kx>!!4tV(67;0~?53m-QeLTYePcUGf={1#)e0Q*DX7Nq3g}~uG zEZf;fj^T?qIWCfc=Xb{w2X7Aqe-sYhPM)7<-W`4K@4Fr!-s2tW{`zzJySaRRU%aRd z4$suZ_X+$Qygk#*9zK0Ie!V=M;_9zpV|eBnpNY_o!9&i;5#yo`^};ITg&ajYex074 z$Z_%m;QHPJaQ1d}$6mJXMlc}1?81vALw1-}bYxZS>6E^d5dC}*H%Mrq;CytuC26bD zC6tbvxndwtXF1nN%6L$fy9MHi9O4RJD09qKNOExeF_5(JA&CSa?^(NJ!kFEtzh-kxW=vbQk))a~X3)wc2WapxiiYq@gzIek@&lwrLpbd?BKnt*IIV zLVe=VqkR3{eqqf=*BxQ_`1LPkl1D~Hnp(MF+2P&1@$dQViFZ{cTsYZ1TADR;ZxShl z@nSugjwh?_Udeq|S_-8MblYR8jAk%0h-cPhcezQS^O$twd}U>Ji(Nc$#x!!lKI12v zAsX_clZxI@flMATUcNA*Hh`aE3_OVgewMRL=>B?V_4Re~No?Q?n{QiOh6yO55G&DJ z4Ymdc_K$ADrmD(Tn5ZG$BcY-`s(u6ay}j)yNE+|rN3W6ninOM!(WgV7LQypJp_B!s z^b}i5Azd~8jiT6^-$Be*#BPCx!DG#is*NOj8Y(pPK@b|jLz|Fc44=SNq8Rfo zbhO^W0soPLG_q8vc}g@Atf$8=z1b&>1tD_ce~{RvN?` zWHU{;Fq61Ff+A}wuJvX$$sAY$*k*80E1TRh(3;Txv>?0EgZ`M3QO7DRk6Tocu&OL> zURKh+q*QZ@VKDKKj7(A@8reFc_wgVNFO(t(jkM+Z-Gx2;cJkaAO4u+Gw6V{=>^K{@F308Q!U zLn#Sft1CIPFLnG95x`%Jz7<$t>S?V71+#WeM)Zc3+26?LRBV^^>kyh3vy!Sh56~ z^+_1P!8Hf6$?tGR>Ztbs@J06(*Xf@5H*m~~o@+C#^)hQr$3j)OXTj9+&7nCx7coVV za+=`%^j4QSsg3Rj_O(mW)E}%-q@$GbJLw~7 z`4i;E3HcEv4KHnskHtiof$jk{ILIZiZjeICFzP2OXh*B$PK8o6b= zQTMWqVI5v%12Xk;Qr}pA!Vj;7ix8hs1Mtl2Z}j7m1<}YrM(okCX^H{Ybgu{(>hdBF zE#(@zBsBw0!-Fvvv9IA3C2crmmeC3raWAAz&BmDCl_ID5Rq*!mNma0sm)^t}VQ-i^ zSXwd$8hzc5sCdQGku8dUcvy6OvZ9&D=dQBfL^stKJP^#ctv9htQGZ>4K7T#y35dSi zi#Y~os$2iJ2acq}=8_~&!@$~bp%!$>6Ko08m~~m576Kb`A_SXSPM~SG>blKEHDvKb zF+?_oXDH|+rtg3UHv$KVI?eC{kKU<}%Z7UfxT7t6Ai^o5Eni9SNlPIS5dGjSe15_N zr;77D90l9$w7K$czMB7zQRob zl<_rM>XE2A@$qb(d!IZB z>!ja0oo=$`L(hjWokAXK~QYLTP#mK+r z7Q7ocoNF`jPaOr6=r4Lrk9aW=J#qNp-TY3s>=j?QN`8VCeIwD!9N<7xYk+YCMS{lb$(JPtT7^iA;@Z z9D=>HbY)T&p5nfGSVai9cCK*PK&j@<=r;)A`;tjjNVs;dh^GOWLg*}me+HiLvpzeL z!04O2sRw|R7i;mRCrZPi0JEewETN*bsj$Kwf&g=*H}Jrtwt)!4L4X2trUM`1p|s(O z!9{}qvjP6oNuL10meP};^WEn^WUV22cTu)t3 z@}#Thww=Q0{)SQ?34-mexNj9J`J}BW3c2}2JXz3xvF*$5Y96 zHpd0>xwfnBHHP<*IUOr(Mkx9|8ucE-OW7A-fsxg?pV8{SFTt|khS&951Au1o9g`1i z3PzZQ*Pk`kHEqn%^oIHYuJ*PV?pbnlIF6qC&p8t9oS3>Bpu)rAG_IQ*v*+K{XATB| zlG@~}S8*6Y051<9ia^k}s%9EF4gLxBW?hSnX~ks;|m1>k(_8 z0r3PzxQ5SH^NmI?^+2Q93-^|8H!=)e5VKX&e%;Dq#{vS%w47-GPg<;!7AqznqZ+O! zX?!d#8hpCI6kDkexuvwj1s6`!87hATY_h*Lvx!VpIPM(Z81txs4H4m(n;@Vsp6S7;z zgmix!(%sM0X{BfYK2RF1k2>f4H}p237$bKcxkjkK{e6*RiG=4x~yR5Cco!@hdtm?j#XoT?xY0!En*Wb^2@* zinNvys$;f&!OJ?3u9JFu!PrdzvvVducgI&87n-QvWN{{dk-aRN2ez>tWU77!UQy>) zeX8lG00y1_?h3Tcge@JSxeavdDoD2) zHgGJ5#pUu_b5i|m%~CyE&sUf1G!1)4edRefMK7JftjaSlVSidP{d@653waRd6UfQ|{gV83A!k&XlS6(*sKq#T45*+)m== zRs?4+egKbb`GC-@AYTTZ01n&oQouqyj5I<>y?6jpZV7sMrX~ZHL^osqDy;EA+3l~B zlq~tfwo8RP{{Y#tr15`lC2O4xZ5u+a^Q`a&Dycu?B}I41dT}EUBGQ5i zs-T$3#|*SC6@smzV5`yiAqRU9StdkD1Z)y)bVxI_Q{8Htj#9g0IiXmN+WBHlmV?(r zKB8Q7urRU0#eOhSy&O&BiEwroCwm~2w-tm)fgyWm`u&Ru525?NA`8Otzgo(o3}*(O zen^CX(pIej7Xl8sqygffSA-noOyf zqaO|__o_OCbe1MGmhPXRJrVjfB#W5PHJi*3H@(&?$rAGEDm*rQiZoR)= z-+-mII@Djbwk`9NDd3E>t2xQt9)$GJkJo0IE&nn@IsqhzU=5^%~3cyx((yc&q}=HU{}s&m$5-RR?kz-7TUAQFDLQCCKI74D+k<|+c+_; zFN)XAr%nk=a_mtr+vE^fpJ?Kyn=GCI5I{*1>g>>rk0?iozOQTbiQ2EJmV53bYQ8J9 z49_h!o#m=$kn9}nE$?)n4Lu!IA7O)HD!o(D&AX3T1p2DTShGxy8?I*urhxr)$#vE* zvaQ|?#pIZJc3(Z!9f^1@zJi6_6SIr#t+I9rEQw|*sROit+E=lb>II(o^RTpj7Jzn# z8N^0UtUWCs!&T%t3wzFektuX0VJ3WCXHh)DVRnl`4eX42C!y~KT31e1ybZLL-;y%B z5q3dF?ek7{-+Wc~^xB|~vPOjw@eoF-0q(RT@Sytv`1R$a%=oX#EpziYa+i5qtIWAa zht*jR=9b{x?13}ZJIL~JNad>De-DgO|Fl=sdkUb+=@CJZ6}JZlA_ky;%N8?!yloFj zzr)*&j#$@)Mhj?K^aoIU0miFlOKaI?)nhhHRB-(UKj8_c*W^Jgn9-#{B!(xGQucHu zka2P$NIqz0euBwrhAVtOFoS!g+95+eOUE-=9rr=grHc(H=VaTbwu}vCSOBo&HSJap z90113Hve0McF9)vX`>{>A)4!bpaO9mmi^YV2SrTEL?6$-#~Zt3p7@O3;R2^*HML#O z`4wPRLql=+r(zg^n};!j-BHnY7wqr~O7zEJpE#PieF2`hQGtB>%bNSIo{nn24~MR! zzk>UJ{wO+7$$9Q282rjV00Jlp?GvIw}4%qDwz2Z?k z1r|)HS$V4$Nj*I!3MA)0``s3KJ$+Qwe;->L8Ww#8aMGT{svZDeVmt_)z&*>-mQ>oO zM5DWda$FNiAdh$>KU*G21d(()bM%9~OhoP9FZIY|vV16DHf_S~iUG=9IhHkWyNdtT zRHTFp>?-$}AbZ|k-a=Fxz=X~^R={-mT;etFzY#s|;rRm3o?D)W6O)|#7AU1!6)Z%o zj66pLlhN)6hLNsN2RK;SE|IR|t0Ms0O45V2(P%Yj5`SS5e(mq-5qJW1@kPkt2Mhj{ zv7<3GA2tLnCXZ!%Vf z6UV2j*k-Ip$Nk%@AfSzSXtCtlxzoHzy~{vgbWgMrCHc+GZWjoM&Kzx~cRP0Voz4Q~ zf$x3geHG<>e|EOh;e2ty*WLut!>YLC03RdG`5Mc{O9GP1#DG)F<^<+6@j^upLP=%D zHSE#E_wNG#n4TSNm0{o$3#E17Qw(b)gMZZs7&V@$=H%$p zzSOi`71BIy0{{ki(}BG?aGR`*iOxPlN> z&v6BY9(TfOJOsEmTDa=XO@_Lr!)^0mKS@sZ#PB(8V@7x>pixk2Ul?KCb^srC2t={S zmiP>DZPFTf*pjrmPG}G34bWDzI#-_3w0%?vYvy=>jVK%z-lXq|pP~L$e=8A+(;|@rf%MS>_DYIr-Ue>%@v(d5T zsF?3<0g@C+4lH>y;S{Ubl1V^`O4N#;##QBsO~Z`u|p7*VBW}Ms9EX+#d;1Au)+dYQC$RxK_dzBk1o2&dy9Ia`W-e96Wcwbb}9ttcJ4>P zK)C=K?|~)KmKRU8Pz=Ibqo4g+*k}aLxH)MH)Wana z07EYWLeCx_+C+F_7S?i9s3X(9C29N6<*R^JeXu;|+UO{DfgY|mR7mI~SXA)kdQGkG z;D%HUC#M1qTo=YTLIl=MTW`se@Z17g;P6v13zz%y5BZ25(wh#k=Qmfl9}$M|ATS=? zW}Gqaop}>xY-}{7YqETI_E+ouvVI;2AalI51I9a#@ihhtlqVwOFDO>|#S9ywKndF# zvb%?rLGj4%t}N~%$drARW2H@x<0r4+IPxdSaIGt`{Q9jxT0>F_7 zIOlVVpzieI)*3+4FBpzfpNzAMs<6Ah+C-k@mEVx5oS$_?Tt33MaJVF3zL=SF^m)^o zz^-o$V0YVt>4l8&DCvc8XsB%uW^iF3Ah8r}-j;AqAYe2_W(xmPjiz__?sxEl<46? z6so7Iunij1y)aI+!6hN97zYeD%nd9cIphT&r8p!miUOd0J{%p3Bpw<94Q;}z02F|$ zki*C>)ObJWc_;b`c2CIW6A za_fj45Ppfb?A!KR$E&Y>z-vwVe#>2=ke8quKMq{LGVJubuD1tm}o zM+{0nFHjR5SiBpP_7ACJ=o@NtM3_RniFmXQLOme-9N9nWS1c{sSS->V5xsc1gdm7$ z0y?9VuLEOcb1H<-qAwa_@A9_5Dp|PCNZ3S!lyRuVuSiTRW_M|!P^Eyx5~w36B=b^K z19jGn3$Tc&J`!DvfUM@mZphg}H5V+T)9NDQ%6fy;b!tao#bjfzdP6(j)&TsL)*6y8 zeH%b}0kq^AHz%(4y$AH>nVr$PP(AB8dKbB5u#k4mU@gQ;{GW9VNfz#(Y8Ch9HV*1t zfL3aeCl5cB#K@1cQhIdfU?}3(!%l^#hWgZux3YR{3x~mXPtNQpLpsJ`@E`^v3EnMN zJb?saOBifM;8rc5L6er~LFDN4t<34sd>OzUPadB#)-7*P`{)Jh72_qlwNSxp?nOSu zqLnxCAe&~<$eVnU`MW#5IN$$6nhfq%$*G;IDtoSP20dS5Wa`9QyEeP{Dt?4vq;BK~ za#!8Y)J)F$o`~`SN8*Lqsi24yB|+<|l&Hp==;cM!i86{~>QzRm8(Ba#`(N3TO9#MM z6pWq&bA*KvgS=RmO$H_PWk)ix4je&<7o&pixjHXB%P49QeX;^3gM|+*N{w7OOlrQv zlvd9=)-jA6GP#%c4l#{g@SMe}&pX#Plo~Q}>hJe1po}a|g--GdwFMdVd2)s}^{gfn zQFf|eZO1>BWnR2p4o~*>B#a`ZUE$X}8l#0gsl zhK7wDCND?iawjh5HBcEo($%jYG;q>o<6=t@E3tSa7vRvbxLLB3PmnFH_=Ru$dP z13W?CS2bhc{;l?Brd}};1_aYEJnRZh(1or5_Rn+{2(rAT_y{nBP=1VEpqZxygj*{9 zv5pS-F327&dpP5)5m$Oa8M@4h^jMVXASp7ylcnG%ZtQhU9nJOsuK}9twen^jY||{7c+10R*&3ZR zNpb1H*pl+Z*v3mCB94dDk;Bho_vbbn>gqqe75$F!3I4pM9rUDf1{K9|M3BO#gb42+ zUdclptyJmCT3|ek+%Y1yx9mYZ>79g2@4KeD&BZ$yo`5lv^K|%53kg(m%kN(`@ zhL}(yy#h{3!iq6#n{K6CG#K^yfc3=8k7%P|Efm3VQvSV@A^*`(=of-bsy>Av!#ISZ z+80Ka@5Y%#K}9V|To+FM(<3f4z@?G7qnKBaw~sq^K_C^Eoeyz(>AMMM_Es|$5`!xe zk>nB-HsPI$&%P0S5Q!+e>P(TfKTbJr)G#jEg$i)KL#^2Wf%Z&b5=t^R5SQH8Y2(6N zG#2X3*?IxRehfI_wkI1fHfhgiGZ0}Zv8KPbOb~9O<0DD;W7Oevli?k@vY1j*GD$rC z=~OqY?Igp-#)U&>z@$ zKm<&5*+Z%n*4az=nBwE2hH`l%B7WgT1gT$3cRTgop0-9~`1r(r9g4Ydj2PX2b{V|y zA(XrIRQ)KUUODq-##dXjW6hm7`ze1lWXkaas;uX`6)3Vdnp4W3H@-GvuV8=IKE7!8 z=|yLt8mZW=28Bxb`>vYPN$4=wu4u#a>jT37YE4r{iFtH8* zWt+-;WWt^{p7I`MWPr|MWELgP?#pA{7WAFRugJ4OGi=Xq{2sH%ALFl;uK_!`k>wp5`x*=O^*{ov|cg7+a z;;M{#ZB5mOL?BecvE31p;i!eGS=)v%-vH0Lsr5pL`XldiYhqVgYT`*wis-diWbT2G zxZKkIg1ZEpGcaoLs2hDi*8^~1h7dlAzYFtuzp4*R=Fd6mFy{t7iSO9B&MF4$TcE3I zrj}E4IyVq|TV;gY()QQJ#^bJuXI0rWJMQX3NdE2cwGU ziCRb6m<3;BF55ejGK9HZ2%r1dNXBULTx_w2gxj+qv=~pHW@gr?wnaWZ1gf;EYE^nh zJI2+AsA%uNWw$rHf>6Ri8b)}|hOxFjW6w=ovTo95DNPCLo0Pvo$>U7>z*;%KB%BV} zsgkYLsI>o0h7tDCz%oES%~|_rBm6?_*2+gHZ*M-N2o{n3P4@Bb3CR;vUP~i?$_sjS zdujg7k0o?7Q8(eMlLx6Cug?ZPN6*)}F(>U|POAlLuG*U=m+tcrw2k@8|BbA7Ul85a z!j~fA<@vEQCx<>EU%q!-7TtWxxLaFotM9eHS|kNVH=!nZwhVB}l?}?A^aLZu8vTbDnaE=gQguYwa|DE^GWGS41Mr{)ghtmfEW^OBt zgzF~$=db*mjsn8Mn0_FON8OfN1Lpw(NTBNvV#Yu=sn0$>OGr1sf1&Gmb&&zH7dQ%M z#_-5N${EHH*2PGARd5AVEXe29jB?%KD!BtnGclh}&x+Ta19Z8q|!VxV^ z%%H~qm`e4VOxtMR;t5Uirvq6GRo9CgtoKl=unx94a3LDrFBC1~V=`uy*lyGdKNr7eP6M8URCTxvR zt`ZWu7-$XTnEioeYP$#$MB#)4m|be*3`ZF-7x$rzBqz!kve;6q_8wumMO^eV^9CXX zmdH{b)_|N_;3K}h$*i>I$o+R3(k03G=BQDlL!iq#0BfBgAsH3SOfH=@G7YXgZuPJaDyTNySMqcyf#Jg&ZE7a+lFhv^L;oDpRbUF#&l+5Q* zO&z_d2QZ))j`DSrRLF)<;$Y79p&{;vSRCqP^f3bnqt$ zsH?goGvNtfLC#IJZDrlobBbfTs~V~T`LImbuKQ2imKxy2PB^Dqg7OvKi4Qfh9Q^$! z^A#rBxSx#buO`qN#c&prajAG)wVqA8+C09^LMG&_Jyy{h25g@8kXe{ZCXr4m&3IA* zC2a_J>24L1!%9Y5?vFqq}dlOL}_S(2mvyUJY%|tQG(A5VIqINF1AKVM#R0cl_Oyozhb;RSxgEM{# zBZ2!-^~5|&w3SUwYd9mZVMZ(hrif5OJY*OlG_0DDksq#5(yQWC^P90VVy{a|hNUz?6Q#nMh(Qnrc4K8s4zyFcDwjq?#ui70SK zA!d0S%~O@Zs&iZS%9d(h6ZKcQE-R|?{}A<#!GQ%^+jeZ*wvCA~v2ELSvXhBzXTpgw zv2EM7t;qzFH|Lz^tM7MLb?xfv-RthP)_rw|?k;YCrXH)cFmp=KnR5rJ!nUgk-}aq$ zvlY7$WXo6iTFnH?U8&kZy19?dUw;{cdV4YOCHYO^J>I5A|^H7L^M2b?Y&| zF9%E%Zl7D*ijwf<3d!{IWr68I!oOf-rmJwGg|kFRxO{E|FZ?xGaoOoR#hW;KM0`$8 zr=}8f1?BK9BU-wb~|UoER6I%h*6Ok}Yd3{D&ImLLA&2*=XkHPv_j zwMHb3wm3X&M~mk=qrS!c=98+>??xeuFph?zO-hqKJj6(OoHz9kT*AOTbNq#z+kwW4tTH&tvN5_@`09FiC)XUlyY zQW5h1eMx$C+}B5<*rOt*!{s4`q}M*fvbOZ(A?3k;h2Od%0*rLmN+dI2RHA6k>vmuT zk)qE(0itJ{;{9#nYD)3PRt4-xb%3rI*zWaoio1%y+cz zO?$F}fdi^}W7k#jdW^k-@{s|F@C}bvYH7YXM}cSj)R4EDwb2mzuHHh9sxZbge*0fY zBj{af;lt}y&5Dn$1MNkCwQSf_vw$eOotbhAk>b{}AQFD@z)sz&mo?r9+QC5U-<7L8 zV-PaZeHGht^QOoYsdV@C_H(IsE1hqR8Qmbf8w7JvUqL$qb?R24Yem%!Yu>YR6$;CDF1qss#@Gvl;uYPMMLT0(I zy^O@~(06(meiz8gxR3%C68{Y$HGJ6R@5v3s$FPGCzt~Kt3w;cj_q-Qsj2<&YF~qyR zU=*qSC|xbjHB!W$-C^_%0gzLn(vOwyw@y4HCEc$+lVNuoF zRidD3!ChGkE8x3H z1F5BVZe@K*xzB_!~tX0>0Hb_`*%*eO805#VTId zl+yEDTqx;=mE%4dUrL#u-#WM66i=!%y`GHOh6;eQ2>*ev@ImNPtcDlI_rBCXYmYP~ zWzOMtI~xxk{n{)T^9G#-W9}ymtvC`n{t*DpEVf`*M{SME6}-VxcNhV#yoA5XztaFX zEODc+xlP5rohH5U?5UrmYocmUU$))ydSF-j6r!l&m?Ii&K4Q1vB~%`gbg*c`K8nZH#CkRV6Sh2|N6ZrqIqB7p*Nw9-gj{#La+nf;+K3*3eg6gQQ;Th^7=mi6t2 zvesx9ogf#(=hfPV`YeT$m5RQ3davehKYWzF#)X_TB_%#bySy2{Jjza~)eG zH3LD4AyL~#@z)d6+}N@*xfr6-Od;J5#*do=b=2k(Qz3^06r87$tlU+R4Rbg1iJHfQ zpbbaQ^k^?dEoV3Rr<9DOjd(K&r&4{E$fCIlc>E!RO(v0%Cz_kR&tO`0ZF@JRGehDA=hj$Py4_39Uy3(M(*t3MBCm|FM54RR(5cm0IOYQ6#mjiy`G#36dl1 z?p5?7sdy!n<+8Z<7sMsZtj)@8N0HF2$+Pk7RY5qx;?EY@!$PBkn$`;52o5OXU1wR3 z>)G)IxsJbn{ZQn~J@Ty^R#T~`jPCe!X^RI={4s=>8C|BA3S9s%!xH7C*g$V-?hBX4 zQh|U@2?hJ*bM4PEwqpO?y``NoH^@tq`cQpKfxeJQUv>snzjFK*i|CNt*P~!Zb?(^5 zK{0_j{CiQ@$+5#tDe=eZv$n#!O5t2+Mt~!mwev2Bsq3Y{R%;EZ&3Vvnf2(;<0Jr~| z!LO@G6u>}W4g)syM?FwP#JR2O+Z1zAQXV-ouJ2X?``1#scjw*N5E|d{er8{lJ9W-t z9iz6^Oo)%}^S0;jZeY!#!|tSFoXcR>xb1zLHx$JdXHYuPB^nd1$~F33{NsZwafT9I zYJv_I#)n$%^{-oh{eBXQlBXcRG~k3fb-V8(C{l@*1qKi$u^VR)+08cz5*j+ekun-9 zux&1zlJeX+g&XIG5IWpy2MjjLy>4Md>%V%7M7!ag^!ojZOTK`8z?`lj|JW)dMtp6D z$VTfAv%DFtO;ayCEq%9pY^Zp4pF=kO&H)|`-=|ozHv#>F;(Hb2(ZJvVal1{{DGl`8 zDOO!n8#55JWH_muB(Gykl)!uouXY~!VdWCYqXj`td%)@$N5uK(zePgbPGmr)d%7q=Rs_ae1@q^;Y)q03ke588 z#d>qW?$9+BTQU3L}h7`xgC@ zLIAwK1n&ntUs*T9!@Ui8hxx63LJj(m$_G=IT84#I8eE1m3)p1t_Cds*?EnA=H_Bj= z*?U%RVwQIPf}b*YU!9AHhTXk4c~#i^^_ce=3#E(SO+#}{(O9+ei*)lS}QM*R;ZjXzZNPN@|pDZXCzBFPYA zO_w*7&e^h+uaW04gTSZw{nf1qbi1QL#y*D*TXqB`RswtrM9>3V{&>rG^6g*L+K!`R zje$P>F{Mah=(EFhrxNtH#M~t11gGn*%P!z`#k+0C&b;hBJJu-R)tX#X=nYCL@eu&5 z;_=7c(OGl2H)ek`xCTs~(iT6vEap~pSFX=xzJ_Ct1P(vUx+>_&iHSCb(@n!pE{C<$OSSA~u;Zlc^LM;0#pkerDOOw)y8uQZ2A z>Y^vCr9n-^hN?TBrB7&9)iJiJ`yoVVj}J+Qh5#!nk$4G9r-bLTCPFT`4(RBx{&GkB zd1_C+ftX)(`5NQ^U6j?71Dh8I0wF)F{fMz*RdKOML~_Wo{HtN>r{~l5`%lG5n=|aD z$Cl|yhaKS&JggQNj$TZ=tiR`_KZ%c)Y<7lJ1QXQeu5W!gJ57>n9$H9>A?BO#J z`to5`ekG#5c)MA*Gn^n+?Hf+LEETQcd9%MO6(B88PGjT80m35lq1Piykt@ z7m=v=Axsi$jb1xRVg6{119=rXIua1TM-9h_BIy*#x;Ere`m6-qDg*?w{;1@hE)sY2+DB-k+sLDBiVG^ly+5@wq;RXtFC=^>xfmwVJ z>^lhe^LWP2Y8KdMIChql=;!-U%3kvGR5s;Yvtk9~#z8eJYH%$w0Vul(NBr zp=O9#{M?NA{sSPw<`n$QDt$ES;{jDDw#xitwA~)y2MGi`HThHaNq{UWbZbcCg}ld3yu-$1`UX1(sw0sIr(DEk$584Eq7$P zBtpafLe=bM@2l&^Ah>Y4rU)7x3e=9Gi7>8~?(4;m)6CI#_Go%^1-JO2%VYp&Y2HhY zh|G_~6Sz#yBm1?%$&O#xX5+G_$SuHI^!O1QA+R<;br?VyLC8ZUlO#c*dkMoQBLcxo zv4hHktbi4@lwm#~UsSc}iK!t2KUz3T3cGPv!|Vo)n`-+oq<{C}nI?wm$szrQ-LrKS zl+5Q6#Wh({_Q)aTFydea?O(+U>w7WP?z(~q*0zI@_E@3t@0v@vy2|1nEEB`=)Ksvr zxLh*$zDQZ3Agzg`j9mD-WQ%x_%Y|+Rk)h_1C;&20-57;5rz}vL;oSm?*O=f`t2(2> zWZLHJcP{~v({ulxD-L9V^F{6;!31Z24zgZFbQ$|sn-rnS3ER0=qZgis8=AOGyc4t| z{_|Bi$V%D6X)ko)!-h%Tk{7bv3HKt5ZCum)^B4I7;9RBj7I)38zO-(jH8#YwZpAn8*?5dW+>cK1>_#Ro{8J~U<j)2Ej z9t0FJ4HO*_tER_KP64K{wgJQk4k+y!R44&*0f+g^9+~(CC1=oJvl6a^Ayw>HJ}*%F+LhpY)839g}Pbk$LG&WoUMHyv$#af zkdylA4?Hm7up%_3lR#`Fr+z?c1VH{-iogsvt@eVtO0vAA&S|bidSxH^v5vq>(^HtY z^45jvH15&XCKT8o+on`jYR!v&z_y4(H9I{1TbV80OK58gPi)St(fR1aJfH+A@TE*S ze_BD>mo0M9$4M6~HRDqp8IdyMruvbOjPH2%lYHGuagoe(?NsZ0f&7R>7O`vHg@^Fr!=_%q3o({7!^xpWs`AsN!p1i#(yK zy45-2a0PZ_oFWj~MEfzBG!WRfkfyaxA$-dxRgvgGxl#e?f5vuUKQL)O2rBCf zqo(hvlv(b6bB`C}OQev#;99O7{aM=<>V89I^l_E<10={Fo73HFhJat6sK~$Hdk)n_ z+M-(j(ChqxFZb-<7QPQcxe|Q-iqZmUyv6rjwlnSlj>kn*6My>ekiq)>9EKPh>qlkkcXpZZ~XFKb(!wy0?$22pFS!*XBM@UMs$X8zU*sDy6t z)mq<^buqG$5vw%35Cd}G?IVl)^z3{sN!s3^phATR?yo(tvvbZo^SEg?xh{pRIx<4+ zCP|a(rde))9f}wa5H%fB_{oUrQ_|wRZx?78ch$pI_(uK|VLC+U3D! z{9k`pHaLOLpNnwW?o1^}X9)K?9jSM~RAMEw#x8CaNp`MG9|C?QT#`{fR^hm+-ljVZ z*XaST>fjSRj5N`BrvsFrla}cuHbU}jCQ~O0OyAvn$}z`C(&i6Np=p|kZfZt4zK*$j zFU`)&yP8E5kWm;%_kH1U$$gwJt5x@_mnYqB-GTmH&VfEO`37j*WW1+&6|Etr%xVc+E2aqhm0F~1k=~m%iPkOmyWHZr& z4(G+^YgBpBLD!n5mUf0=HJ$gB6-Xs=y2uzCptN=m7SKU#VYDJoPM&xm2+Sms@B_cN z=ntzB8sZ);LkJi-qGNc$d2?-%c+Yr8wWItI4!!cd5L_Df8T!69$h1GK1Y?$!ZmQMr z_d^Cw&73DQAkH3ns^B+UHfW{HgI8@W2lT;&PN|f87y()rX}B53PsTb%2VunvwMjc3 z1_@ofjI4jNbyHlCZZ8M++L#6&x_rU-#Sa!XlzA-dUDmc&E^pYe>af*qHnoN_R7%V` zVMBd3L-l=1VUNF=dwe8lSz!BkmTwA_6C(yb7b&*L5O9F z=H##jYPpPWLD(E}ehtA&yzyTbOZCVT@GW z?y2dV5nPMmE^S_qVwGDzDCBctRnhlUFG+M zPwP6GqR~aa6**rR<6n@oQ2j({iOZ7^JP?^YvR2;yH`)-nb1O`{c{0PrV zzudIRx%;B{RJ(&vfk|>n%Ll5PuHGfox%;wpz=5h>j?l1xmL0W~vtL5A7Mnfkca}^W z8`4}cYm9&m;tCgNOWBChrr`x0P`R#EE9d}Oza-^xi2RW#MS8(%@(=7=X_g@VJd`}M z6qY#hI~qan8eG9HOqo2fvf^EWf-*i!)bW9#0~pGK3`#7uG#E@ibkxhz@+0^)S>FN$ z0E$;RC$iIac7HPdTEc7Gqzg}j-sx-FOho!AO!ng(=wUEN@+Ki5-u*Yy1*yXhzze2VNJQP?|5 z$bMtZ<20x^^SgHhwL3Kg?QhvtPMi?~1V$9k!RW}mH;2eiJ4MP;E$Cd_!yh@V3-(>N ze;(eTJqg`Fb~X$^k0!C`OH{Nz(X`OGb!J#m(lb~!B5>O=`qT_OIxNnQsR?EvVUeEI zm-oy;T=u?)rgku%J@=UtN2r^udCBfAPT|!~>5I-zNgQ>_%QW-2IJzx*S>P(pkGJk>RQEG~D00`JLYo3rg$xAw z!N@J%7DTCuY$l5TE17F?$O=WE;f>@?utMNHZGgx$Bnaotuf-q7uOrS7xkTW7ONA0k z>=={;iT|BJ!e15sc{YWU%@q?k_Lp_sAn~`#-l;kZ&ulx2NZA|1`o(JSBh8Y+!=4oa zfpW!_(tg1d1KOT5(PWOaL&Vn;L&+5$2VsHqH9XXeF&Acal_cFhr6Gn?z#FtApHk9s zchiL<=;4Hf`af8hkuWp|TL zA2{tscFXr0vq@L8+M*BGa!aW)ESJ>sSz)%w>;F632Q+G??Kx~oy*D__Ru0zvxvTj9 zaH#}AQ__6CNRI!QIW{!^MT8 zfgs@eck9A3rRO~F*6(pdx5wBbNR_Fyo8pkj?-15}m)aoNO!)?`16}1FvS4;txeca3 zB?PI@zs;RIi1gy2zQF9vY`w%&f$ZoC4Sav98oeM7DQC>3ZW7RMxhD%JWTA^Zw1bvB zKP1=Mt%zcv2DtH*Vc};#26k3Rj)yZdj51h>9697P&l-hKHbEjq*dgQfuP86`#6W@b z`R|!pJNvE!6LGzL9F$l$~A+nWa@DqaF z2q;*DE+)A6JwTaLUTO{Qo6AaWfU8rhy^R@nty(=A!86TZDXwVPjxezrM-3l7VM~#t z1w0BR>>J>8qOG3OS zFIkv=TT8wmg7%~(GN?seS4Qv>GdQTFg;~;)k|E-gJMc?rLX3Yi2#*0)N-E6v+6`vM z`Ri!fMqwBdJSNQzkGg`OR}jBNhs_nXv)xzTuj&9T0gZCVZhmhlAM>b+c^ zj{>dc;@8wX)Je1@Je$FzP(AH^I7M*tuHkk2*<+#=;jfl3`E_=z7E`oJyrQ0F;fHik z=clue0kfv{p6G00+RI~`aYZKur%f=d56~pOdW{@O#8)#{aoa$we0IAFhw$@H;b$}F`ygUA&HwL91f ze2`!4bijUd7bz}*SH7R?34PpY|2H0=uM57ou*LJ)vbJZW$?$8!rw)xoU`wTRJ&=Bb zVp~yy@*g(gUU=tk=k6u5Zq7nb23o(=7h@GE?o_(>8)#iVt}$1|Yl1UdMI-!8$w{+E zQ}FBB9D2<;JL8}M!&yu+3Tyx4L60LLtE=zw7}dGlt3s5Lub1qh=s!y;iP`a0Cv)Ge zmS(XA?yItp;N1$zUy02%4b=nrAvGqa(HuNC%#~Q&{+5|b6|6ul zm{OxaDe&`SViF+#d&A=8uH2J*C9aIXll!0S;rU@BnkHx>m~khW4av9OT z3{jb6d#-$4F(zdFY`)r-*?@eiWfNwerXd;J{j>tGoLohFar);d-nU%Ljz@$RTVxVO z2DYx!fgH7_o{?chy)_aBN*ckTQIXw3FRUe1xk2V;CQl#|2MP6*7P3yn%6~y^s!99L zl1mxX5E!Zq__%5ay0r|Ru&^T-`Vts<8WmY9V&hA4X0|B}=4&nbIY271JNL2SEYrs} zELD;OdrQDT(N9-QheDGWk_aMxr>B9h-M_~PVGB!r3Y5i(08JMM`&$Bs9xH1w zL9eZ+0)1!ZlBYP;`)7y=KYKD^BDAL_%cu&|w>Co3sxCe!g+|;6b{rB-ZyjdC0ogl4 z6fPS5J}2Sii$WE{A4AIU!g}beqk1SEM>aEgd66&@G=zE>1O&sGNn5xH>PRP7PsFNsp078lHc%ySqcmgGC!^qi_EYI8FROlO zH2T1PT<0{;tKnFG3?IJ^8(Z$qvvr|yzvxLF9IT**z6^ac>msbZaD%3NI;SDRrrH z;crXVlU5^>5@Tn>0mDpXpVF2&kSnHJj#9WhS;^jvg}H}ByrEW=p;fSl#CXzBmSoTib~(r zgDfqs@)zfA_8)rt4_DZkO((vAf4!%BAEUP3l)>oCEn9n*7vOvgn|*GU^=Dfx?1T|( z{Zjn>04i}qNQSnFi2{ZREW0dK(ndy49t1!6725Ow04Yzs?@>7V2_GegYPqjW%O;Hu z!F|Ol<)VWw_4HETNKFSm7V=HdlTS}PhMsaR$%B!;E1$C6c z8l$=NRIyAr#5YrReqOZKYFfURlo#8&7MEiNIH)upSxi2}%(C-&eR>^BHRXr(jD(Pi z>fN}jRzIn52Z%_mK5SXUFQ5ix{8G}6gAsVbQt0)rcoe!~oRtJq_>o8kB?5~UvICx@ zFhMU+Tgl7a@w-L%6Ny(qYmmH==hhzu(+Sl@3ywT-b7P4@k3>#!)KxTBwYZ1#-iaq1 zIH$SisiwUrxU!j^>i$x2S_C3Qq`h+p-u1RyQ44DF5BXKJmqw@L{a%})i{VIaq#|}3 zMLv&xYwkzae8?@n=p!F}f>gueex7IlU5}8oRR@mne4^1ml z8N9Kaa+CY#5knMj+Fr?LK0S}PcRuY})784f*69m|keV6evMgK#G?iVFb?y>)5R`yE z-cFQy4d%w0%f(;HNyA*BPxHU$^X+V*Kft{;U+eoOm(`HlUC^3)Jmf;<;9s2pnpY)2 z)r>2xzomF$IBvcDw%UFr|C!MKb0gx<2Of0;=nwB#JR%_&$(VsOcunp> zs1`KT^4Qp4%5p4v^4EVbyf-kfE#VtBz!0oWa-(AQ6n!8Kj|+-xRA-Y5h^wh98BF>G zO0}ew&m9_N8{Mrfm~Q4C#`q>#Lv+O=Zzt(lE(wn^*##fj5gBjXBv3LH&O2a7Gv4rR z5in@M%xbOY%(e+$;iG!FF#qog&HKM5FZLy*KKB10W4_v`z`g>^|LR`4zc+?a1B7~h zI2Oz%>=}6ZHg0@#58`rn2?Vi*ccWC6jPXwVK1Y51`(|>Q!LiVfHs<-el->38wng}+ zWB1QQ@|&^f&KqK~fNnp(m+RDV0n&c{xZ*!vxBC=wE=Sg>VQnbe2itEQ%=b=3WQKNN zsNWMmu@@doD!AC5h3o*Z%;JBFLlT4kj#Ri5DZI9fF3Nk{vH`(=e>*h4-QTk)n*ER! zHz0ARS;(>YET=Kr*L$_ta4fT!_=nEi z9Hx+(c-uupE?YQ8A5G<7^@EZd=2!igJZjZ0Z?wri>ihgR>{o%;Ww)W+Z!L&3@#I!R zEv=fHKRGQ$J8b3j-S()I%5RC|hj1U$t&g({l-wCp&%4`GN~4Zu%5v6DVeA;ldc>^1 zT@F8=tmKou;R*Ni6^{FH)8Kjzymr#f5Gn-xP5b62JkcVc?opC?MP2ftHq@8(5ACud zsl{GhEI1+RF|7)SQXutGx3m$&WvESKIj<#1otC#b;ms^5tC~mkW9n#LGqlaoiM5V( zom)e`*^7@y2J=Ai?pM{uDEanBtwuBx#!*wK^I@05?`G}b7A2H!#^h#A?2b>j#lF_v z&Vm%{I}H0hG2IE81Qcpcj`$Eu!=Ho@<*bRt=m7>)87~q5F0FoioDK04v7Q9cosJws zDz(H0<5Y>db{y&J#@kzOLx&I5ULI`hP})nf78?bHUR@($AphlBr_wpqjz#0PYFjB5 zFiJY`qYl18+8)4v`+SOS(|xVfc`asd;Nz}!LK_eZi>xg@etjqvdRd!MTE#q6Za9Cf0iZ+JMMjRCWaSfu80=cZqdjfdi(37wLjI$y}n-Cz@pK2+8^=BSIEnB`NG2D!^`24Vgh~BxUZMAyaZg zZVl1xP8YEZNv8lhxzF3-$|3hX5^(U{AJ!_LI@0?Gg&{W*`6mDnRKO|L|a5)K)ot7CWg7Q_l|VpDGP9oQE;RiLQk1P_{bclNu!m} z8HT&AOt{y#-qO8cu&{hw|#qv3y+yy55;KC3=adq5>Hv69uZQIsOw0_oC}07EdYm&SC3I@ z(^m)5Kd_E}%^w&^A8q}_|F!Y(s12V(EEE}ot9b~L-M84kVP$`-Fd+fU>tN*wS!xf5 z!vx*=^Kq@xp1bi+G&BjaOlJ;*3#o5FyQc=IkG)LN=!~MZjcN^KCfLkU+b!#@Kdl66 zNl{!rlcGxdd9Lbg254q|VIl(Uuq5jGvU#40k(!S}zcHH#z%AA2G;XoC*Ij?TzaUIr zxf~kfbOkODe@hnJ)V0=vKg#gOewNPj1~gdPDBh8)5v!4#Q3xI(Ls{|PyRgrB2YIST z>eJi=(%e6DsbcKbYC~U1&|%K`xkNv)1pvS!XjOWzooCZO5y68AFz{*dyx#c0DO$`P#`&l1n=75}hZzI#XPx?LDJ>4qqxeaX*S8Zg%kdLX+(g;<>L7QpY( zpZ=~N^N285@>V-WmRA%eL>wK42LeSyB4Y_cA#*SNqu$>1tbQ z?8aa42nRkQqM0*M7+eSDT{R85(Ed+P4r=|U4R5wND3ynMF}(w!2t~gvC?d0VCK7|V zOn-UL)9Wohs!44-noHw1u1;n|Opp?Q(PQ(7!z&DI`j+!f!@6wOhr%4d`%!)~_@>Z# zllHHZM+PkB#dcUZP$Q(gmpAC1GP1j`vn~C?>~7C7k77Goc|r;9`Y5>oBOJ32fwGSJtm;-yi8SJkPvsHy|AqO;FMWJ50L>>$4C@E z9~D>WLav&$jIiXLTuu%s_6Mjm;SNe)Vh?p>s9HsNb4n)}J(_vh?bfg!A$qit#KF%k zM7xa?JLLzYdm{%5LyGk?B+~dF+$%hW*lTU=-=Zhf4H%?}lhX4`^9ZUeTzk7f7jO9QiE zs{8d0J>z};lzGa2Dn1mOZnI7gaP%v6VHJQuE~6K3PPi9pY5b#2ZzuSIhtDgEK}8$= zz*=F#bgh%2(}DxKrT;wS?J0l=H!|kR4F3X@U#ND?AcbA(okBszcZ`%IrW`^kGIxxX zR9fD^x>^+8SD?8khY}XizKO5}E0m?{H`KAlk(B5`ybPb~WqgDWC4qkS7dKC%>D=B! zd1h9xA;r1t`43@V$H?naoTmJ3H@|Q}Lkb?A>xdO97vTjwzbzzqgHg7zAxc$YOH(~d z-Hs?5y*KZ56pd5eL7sY_;$sU2cN5e~Ek2p(YyXxY36q1{p8Cxwd2jrkMu>PLD!Kt1 z+zdfXnT9wP9CM#j>9k{iR&(L#yqOkSCGbc6S`$XYfR3ghClp|payt1LWXWoa{amx- zF~qlN@2C&7OyqLCHoY+C$>{*pwu#jOlVRcD5${G2X~g8p zxk!p=+oH*#SYHu1dK-V}I=+Z4#*a@3*3@6dX%|3zaK^=>IY~3l(@tPUaAf=soZE30 zv@?W3gp*K4E9v)ih%|XZ&>R-$@jsxM{qmwS(&m3}(o|?t8kSmIoUJc6c97&7M%Pa+ zz{7`yd)1KIzOn0}EQc*{gt-hQZ_=w1h8{(a+`j!fqqxpOXJl)k7hiL+Gak@;(Na;M zM4JcDt5Xx3YIk&8R0i`{B4Wl!%q6={ut0+vV9rfH*T9$ndTH37CDP;99)d6{8nCx7 z6<1P-^_c_?T<+Y;zw=!NM1-r1=~CGog_kDam~=L+Jv0N8)Ys+B&=pqsdrfvEjty^BZl&Or!SZuMiNZ_?)rOToOXw>!tij!419tMCv!CZSFV1!5WegK7%hwF z$P{3p80mj8k^2C3F0st=m|l?~I&<>zU!=0^iLo@MkVxZNiP3DqlR?yMSA__?EZ;LT z|EDVWa;JXDt&)|RGw5rs3z!p!`Y-1`f*(iV7+ z+swERa^OO^Qk|wgpKv!&T&>~k54m#!Rq~=Rg|EXs@COsfgOvb-maLj#&A={y)-EAc z#89IJxk11GTNyb}6U+*K@Yq1QFbr^&{H0`>I;9jDGcas>&JztqMYK9*>NOI5^&$ho zNg2+Q!kho2`>XIehd9cATQqBrPXGIX4h~P8HVv^ytpgyy5c&0{5GTW^;&=Z{B@%f8 zUT`lN-dlPAmCYh>8%p7eDMU6zdk?9=E?(^*Yls?&o4kBw8f~--J}j3Z_OOR|v)yn6 zbt-3lTk|EF0eY>%>ytXQNP4jPA;@0B1m!fT^1N1nbH8j&h7k4fbZ2{{FUOf$*=GV_*-YuT zR09iSm5!l39%JRN(m#r8O#*}7b!T|Vc&XY~ooT*5j& zYKQLuJ{Gb}+-t8Tmo%lmR?&iQmd)z%EWMJWJinxU@d&O&}bbiZ_(+JRV}>@cxqV*+dE{W8~qt{?Fz)t`DqhY ze7|OXC1;;cz;DH$Xi$+;w{5NItwj^yuy7ElaMLt0vN(aYgsS|@vrC4==RkoRt;l>0WHhK=3wKeKn5SE^#1#Q#Nz4V6Q(;=WXn2W?RGulO!ZfShu_p!g(KpP@}1z| zCUTH)K-%vy_$G@*YK52@-DfaEKsKcTe5HM*Oe!|R!Ex9+QWK_PfZdd(T25{Fr@4P2 z&mG&`W?*Kdt1dl&lqrqOZJ`huOXU-*=*y!F5$X-cjbv?ef*-I?gwE%X9v@WRa08g{ zQnZ>IZ^5jhWdfDG9<(6&5&sCJ>%Dobhh~{oT(vcMq~{ zc1#nk4*i(miP0BxY@1H9t zhCRRDhNx{s}$tuu+;hF| zlgXK84!D3JZ&2E|#J66Xo_t!pge>>sbRBw3wr zWWg}?)xUT}_;3E8xO^kVKeuhJzk8kd&e;?<(&C9;Ez!uAFf#|2 zrE{sl)!j@Q`7>xcprlbAmR7YSHAC|}{58EUX6g7c*z2|psrDK`Aborx)i_vryY-Zp z8q`7(YpIs~{iC=DNn-1A*}`>azTpLHgEuX(8~J><6f7`ThZvmHK3v=qH1Tc+?t~Bf z4lFKico;wAb`w`2${gX7+jJa}74qPDlounezCFG{j8^&fcVYe zoKtIV?k`7oAOb?bY!3s<0`!wu3OCfxi6P@6h|_Vb9o|Bxt)_?zQo$s^1`}BIr(obF zf~$@S$A!w&Czuu_F&t`E^YheGS5(}g08ZJP<=Z!_Mm%> z(1dBnL1_H4#yiJA4hEK)gym374v3*XD^!(@MsQAq1VKa^)kENG$x6HW))ek2RvIRF|0p)712c1So+O*r#_ocG5C z4?8_m|M~q;`6@btm4|j-!?XpNwx^W5iJHo+(88yyyz6%E6a6*y@n>YJA?>cy#j!}b zX_WV%o6?`&z}TB_lcflc)CVF5rV#hjW9RuIbcB$A>d@PHjjAC+z~@FiT322L?4`Eb zQlV|#W5DY#FU_W>icAgryz`Hu9u3Wgdv*U(K^%UV;R}+w*6x6i_WB@%)YYmxX6$G@ zGNH%sGImL1P2KBn^jn5oAMRZV)Kt$dR6~{RZ53GtK+A{Ldz+VT=P;tld65?15Zf3Z zqGSFjjzxlmsXQOIkLw9St znK?mrsSvWn@}Z(zfAZqKLW^rDx+F`}T$j+O3E&iIu$xS4T4W<#sI3CqGm0Y~llOi@ z8P#0++093RQs(LR&!mHe$ZTVC<#|e2t4aN#5P3yt(jm=#A?VV4Yr4HXQ~fGzP9@Hs zz_6XzxW}NqC(M0v-SmPW6cI+i&bFv_@SDj5Q81+f-qjqB9mH~M186qaxaGToZbl>Z z9gxo$vu^}X-m`+$+y@_eSN90xdoyyVG~$hs#$)?fe^A?JyDMqzx|}%Ay7j_2Bj9|C zx{hWUCV2GIZ+u$7UUrml(V>^?_mRA3Sjfhe3-R>>G$Qh$PA$ocV=(442eHUa*~6UC}VW^&nXjEL&9WEm=Ou z?_2LmIzG$(it+-#p7e}XqVdMnXul+EP&K>U@1UApwU!TRZXiazA0DBx*m zpKx*YVzfG#^t4{bF`^9Z*rV&PXS({g=rCg&T01 zkl@lODN=*=>hbK|obvRj-@S=h+Th{itkbk$(VP;AonKd3`t&Zn_0%b5cl#n*2Pyl~ zN=n@0D|#TY9dhvG(1+YlH(Nl-2ejVht`4Gcd1c>0nzGW)-vkre&~HjC`{yxTB+_&7 zbIH9U5M3#w39T1|-_J$eWvy5Z^Vy-x<~9Zu5#;PK`hyc3`f?N)4zx6VgdIZP6mB&u zu3r`Tcs7b1?Xqo>J6k%BjNIMST1WA5$y?t(VR%|)?Wcu>lGUC8qHlug07DyS_!!Z+ zap4_-V85W>o$l0MTxTBs2!%Z(Bu^ex8NM7C`@W=!^^6z0EW0lrl^xPiw&!X5UuD3q z$$67F)Q<5m9%2U@miqhWXCW7Q>!@V;F#jZ&AP>A(IKwVsy%GGf_j16-Ukpbf%gM-G z`Qbxj>cPKCJBNfid7Z@~s$(ulQ!^#wCoH=x9a}t;*1da3pY>A#etwR9-%i|#Xj_Cl zytzJMr!Bk=v;G>bTsq5VrXV!h180`yYWt zlD_GS2-D&$giHwr3fht`g1iI`F`n{V^q)a=P}cwIuXKVV6hB zx~FkjxZ@dP;ViOT00;F3zD2FgV0Yz?mca43;w@R^|6}SMgCpy{H_$i}+qP}nwl%SB zbexHujwiP52`08}+Y=`@@9%$a)&0;_UAuOlUi+L~Yp+`8fy@?s&FAGW}= zF)2$C8orsK!TPX{^{@zg!_OqPVm3)0E$IdUjmf|?34<2*TlGw{d*$J#H(zIUV%8vG zKFfp+CyIL`x^r?v^bbM6|7ytpi~;^*`S-{oiG#AWg3BS9eg6N({zs}uY~7SWz5oT* z4dP?8Zpk4dg98%staD8cx*p+^4`(CZ{qaxtyHYL)uf4gDKddw16wI?nsX7aFrw?JP zqJQ8M8k{e!;c*q1>Fk#+` zD^2_=At0RjZ7l`!&Rb=SJcyV))1GI#ok+K#!jHQijRs&rA1Oc%#9)`3SGKZfho9+~6n7~O5h=u9 zQPqhRSC9C`XKbryfCI*`xk2alRUu$65lth=W-Ng29$l=yA2|CN`K9HqZeKjWdgspI zFJ&9gb`3aFO$-%NL4k<2w7Yz9Dx7fItVU@>%%INS!iKa6&c{MuO@|*`h7u;tG-Ec= z6W*!H3YV35Jonb^f{^6sog;;h%4EH3=E;z(UU6Ong9%>BEo+K^u6PfABQSek{m1+) zx6|a*y)X-J)4bXbD=awyS+cM5Gh$QNX5P#>as_~z8?<^Jq>JlbS$`5)F~)-)|Ch&2 zGF*VbR00LO_tbQj&ZcdsX0V$l7*4&9%n5!6f*Tx&J^IB`Aw57nuEQDaDW_X#%^D<> zih_+z0AVG1(=1!=$AExy81G!b)a9?;<@pIhk z&tlbL&bTzoNrXeOh}%BFDtbM*S33jWpf3MQ4uN56NrA)?BH|vxteRIS@;XNte!w!> zfaSk55cg&DT53V1`Otq2RtjH7BG5es!5*M6ZKrJuO4`xHBM^2BP)0QU+`B+xFPLB~ zIU%YalqNPmiG4G$N5s)Ba4^Z?Amdw2^9~#2-GRd7__<0;`17C&;SGOW%ZY=r<>3EWrG{1pDYoR2h!S zL&yN%mJ+))4xcjoNdPY7WwgmXi+fi*mZG7khF879^J{e~6=h*x@~E7tc+ zdoUJWX1M1q)ljO5JO|!+Ff-TO^Y1apyo?xlQLYl>br7wZWbdrQ{?FCNM}y6u;uaZh z=%Yo2Kh*KPGqNqoR`mLeTj-5+89mD*B!v zj3pFxwElAV*57z!-PYHd$2^5H9@jJw-NotVNO{sDj#DY$-tKdyyJ z!*8cvG2n-;%@D|!t1en7B0Qw$4!f)oX@hn1@+S4AqmcUn$E~}OMXw=D2GE+V;UkFs zgG*i!U@v|OKsTI*IT3Tsl`NP_#6m}(o)>tB{UUsn*brLwr-f_(<3D$OmKUt&& z_eK?Q?_Vk$hge#w(0_dVbzMK)a(!{3vV5xZKtW*TGv7AsCo3)Hm>bH9w$Bp*D!SqM z@9&rE_Nm`ZvXtJAt6=2IFmAS3b}aHmZ?&r7Rw?7m`_EHLk$V7j%ANUksab)Nal%pl zNY5>=xfgu2;M^a6$nj(Uqr7a3+k^3xTa>;7@}+csr2+QIF7ra^`-y7+mmp;9jhe(|VeHbH~yv8XufviZ@ zoTZoVl!ZM%wQoG_>Wn4#C$G2__1*cC6z20$%`Yi}-?x8RhjMwfTi|iB;P!pLKJY)9>NUDXb1t>c~VTH0z5X>$ssy=5Zc2NH3^bplDDK@{Q zT4Ez0w_oW^j=-m6xSShL_@ptfs?dw**8{UCd)Ol;?j7i{1v&dWUr0zF0BM>G(`T1E z4}yQ555Og_oRkejKP1fbpVZ6<&irg_$bKzy?~}Bq}uwq+B#C~|B-N|3Fzl) zy(?63<08y!@DK|O&1%2-xV=&9zD2dY*j-mv_9Q?cJGmj98LynKsfBP$r2;$Rv*cfn zOiQ!2O`7~XQve%3i2hrhN;j3laDTuea)$@>G-sC7zKBdmhi8BN_WFiN!ijJKfpDs9C63bC8{ zjersA@ld3&ut#sRsqbYtP(@N^H@9OTes)+w@EZY%x+BZ2f@mV^;4JJ7AgD3E@-=1p z<&6DY*UAcNYm_DfwEs~`sw5t)4B;!>zk@8`UYB0Vxk>su#T2~3@`^9F>nep zCTs&s25BS8Tk|13$ z!Wa~29T1EI>Lvh7KiYH}d-kt3i4u1G1&Vp^@@SI~?IF3*dlLYJXp;aK%@%<`H5PnD zL^ld9vSTa`Ldqn$_d z{jpVX_*asZ)G3%@%76nxs8uVJYL}j`E)%voQYQyH@m4k48lpAYXvUp2+(rvgvn!W! z@Jv(f{OwIAN5utA8=x)b;hWrpk42GOXOP=Rp0!72nY14I2SDXgB4MJh$R-V%BFsbq zy|9f$UIjQ#hhw}?@IPfYb0+h*FfP;-ONB*7w0U8C>6>kx>8;(lrb15?#l+>c4XwvK zgG@s1Pgw!<#Xg)tS}0>_6_8)5TT`DMHW07SO$Yx|xMTHB1jL}c%}HC#DocVWv3bru zKlG+cjCdV!D6_)Q$sT5c5(Qm6@gKXNEABqt7LpOXD>;EhkOAa!ksz6Z#N?)(Ach~d zUhtVQy5*LjxhIZKm!b(yS9AY83%1wtcem$TUSsx6tmug}FXijHkQl!rbRa0ky2^I_ ztEGAP*-Mvj2=EsCXYS_iezA$AFOG=iC88lthV}P+hXQo0<19NOTx~dV^o@|%-=_5u zWwqSH=MU)hlm4l}rl#-o@jGUAyxG%Z%k3j4`=?Q;#kLwi$wU?a-UlMs~eC7FL z8@S~=r$*=81LyHlD@DlA^U-RPZ!{T~m%*99OqiqLBS2WbwC0K$(zT@~Ua+yof6$#= zZCFDkGux!7=MooJpzL))3G9cK;VGTIh|reSBnp*aq0T{-Fd5s`3di!r>?)!|kY8Zo zCrQQ3X{AEp?;Dn%%f?HZ@Mnyb39)M_dVLw^La0`)?+_OZ>57qtk6NrN2@X33PTR^m8;^K}Y|H2z%K$jd z2!M%)KQsHbATFURJBU&dm)=U6}n6AIJyf6RSXQ?U<(dG=pX-i9L8aj?|72l<&3b!9Ng!cm@}Xi%M{U@ z{Ej*dtK^`66wmMF4hrY2U3!)bI2smX8JGXHqM#pH%Q~Kk7ADN={};iL-LN3C`C8Wgo%|v_U{?K^7Ne=x1~xoB_3$^Am2EQ+|t zZ4vlEeI{cOKxU@2bU(dPdjQNen4lSo@Wid+F7Wjyn3p9zL$R#I&flKA$zaZL>92gN zLiIiuw}>7rXRzfT?kj_ATjFP201~C%D7ca25CO_dvumB zk~&An84@04hZabGY|*y}sRc|7SX=g{h_*yXPr<~EO3MZrFK>G3r03ZKz{(?jue(K0n+45&r?@5VbrX|WO~O-Kr1^=2J^$+(UW})lg6vgD4Q}7EA8Nt zOm8#lxtW%4hw_8cF%rjf%7ZNb@YWaZh4+oIFt67Zfcy9Ti^@7FHrv79B$O&3gjR7b z;%lA6?v+)iGXBJSO^M=aLqe|91?KIub1cs95cNdTV8jzPyKgu@>6-DdbK3YwK{iz% zim1dbpq7O06Y}V@Yf>Q=w$(6~+z_v6&vw4>x@ByEbjHX+fcZ0rT*O0zZdWWeniKjs ze^?c{e*DD_4Df9JRuX|J_gk@nMzm98>3|49?3JVDcbj7zjFEmCz>oZqA|g;CD6 zGCAaH=@FetlSp%3hQoD_NSm0dXVH1i=3?V|yLkrrOQWT=(RH8RI(1y@SCw9x3Yb)! zRa{Q}H9-Uh0rJfNYXa=6?SYNX=22O0Y;Hdq-_XqbBH@OEA+`vHsGykk8f!XQSty8X zJjH#)g9?XVg`3)Z-c!<#Pg^~kYbg=4?l}}h-}Lpm{@BjdznS_Yp~cXZu{)%Cx+^4i z)p)X_we7GVHZ@rvl3E0z>0K>{-g}T#^UktvXB{tX7Ebe{?pjxlLt2#Qz zRmuFRF?`FS8-heBko_Yg%Vr0kC+Qmi3`bCUUDuv=Gg+5{xs0Wvx@u(ZGE?# z-vt+6@^c$odR|)Cnx0Lkx_bolEmN*5W1jBU63>A#k=^w4jCd*M#}v`_BIf`#u|GfT z+OzVA6TsE?NPPk!FR=3k9L}}A2J74h=d?8EVtg;dKdK$<9{i#VHAVLW5m;b($B#%Y z*nOgc52q0SxRN-IC=rjg3WDwmCyUGd7Sf{1%)aCcZu5f!ir=T%zT?fHxxelK>15Z;!TcTVJ4v}O*!V$ z*9Qsxz5Q_!GvB=dF{0E~3E?5d^@#FQd&b6h{BC6LsECT8CEULV+JA+FqOO9VxuT=< zWT)Bxl(lg4MuY$jGF-H8|CC)pd$kw%?eQfnZzTp4raIozXeGu01?5Mv@9GY|I z1JKP4cMeRQ;{;g#NZo?Sn5_qu@p5q%w!xV9aN)Dt+|D{RSs#5JIKDW}-pk_HJ;B|s z$hVD6$DK01s#|yP9q{6QCsahbm02Z9eH!rRS^y_2>{m#0-T=ctGI>0_ipK6D{bp>j z{S2nK6N*~5L4-ATFmrWtF*mXQ@0%mA4jTgkjP?JOstzzk1_K2mA0e{>CHIjz{}b?p z2V-Mt{bz5D~VE>1)fpSDS1O<%sQ*ej$-nK~V%8Z(h9%n6XXx;czovOdrfO3zYUp|J7 z+tysU`^;f}eh~;lqnEcZC+RQkG}LXG+x`G&HV;-to4vj!@YK74k%duH3YS~pcJOH~ zrpxlpNWHPt(}Pb8SJP`Ed?mJ8Oe42hPLo_hmoHgwrr@5bW)N7#HwSblf$#exm1qz0 z228aksh0t&KfL~~&GD`}x22Hz_e&!=N1`fj4)+!trxVtEYiU|EZ4V>|a%oc6%xG+A zIhm{L!S`pC5p`9p)lgLLkQSgDqo=>uKd%z~0dwpL2mCQ+nQBWk7Gt}_&xRI{VWCFA z#98FmHE#=Pp{^@N4g`?;U?XxIR;bsp7*d?i??sj3cV)j6t3i{c@QlVe$ z+e9eCl2_&S_i^r>nK>_7`iSmr?qr;rmjKB=B8+`N>>%hSOiF-FgcA?1P=tdIs8RT4 zKB6q7Vf<-l)?LZ`YTfdWE=6Be>Pjf)_%lse;V&>-mOiV&8-HcNW7ziXb0qMr} zQYXCE!g^H2b$847O^l9Kq)bnn3 z7^gx)_aM~JA??LN@?(|apIVEo)jfliz9Z?4o?*#}PMz2=&K0nXrsYRBHa*5Aa`qSx zJ-uB@7~(H^Hvq1#yPeesVT-ZV-HTs?;dIHCt?d|`-Ge^kF)(>CcSuu)zH7H@l&Hq? z9(R274#Pp+Tch^79(~k6zT%I71=hjS0^JiftJU&fsc0YEG?_SAHVj`)j`SQu?rQT@ zFhAcuTwvn*y+f8>*M`vx*t^$_*%(@RIp1pbB6kAz03U^$cwBuUUD=$MgF8D2W7;nz zJ}8I|jtCbJsmN5dE!~Bm)Y&fWHG00u3NxJsi;mrID()>oQi{FtwR>X0m)ln7tu0HH z%Fi}99^Y}*w9f7xR^&1|I-DgGKh)YA7REb~VfOh_W~Mn!nenCX8vp3C!9lDFSu!I) z{JdHREMEuT4A==G{cN+G6S^jjrLA-_!{cE0*IU+_-MfHd+VN=KFtk(d=*Q!2&#=3R zjMTEGS(4AEUYO``P2|-l=gvz@_M*)9eUf^9yFwDi$T4^=#S8_WHthCdY+(JEJ8qAeou^9B})Bx-PMJw=5BVp5zvrC8Z`d# zqHf#Ud4^Lkc~HHYPNlzs>`Oc{)()kKL@tR<)Jly#Vnq&rnFu?zp@q`a^UcS|$_x)I z$aS+#+AZE1mNUNHVzJ5wkjkqwWMd~0fe(iU-aGZT!*978{x&lT9;L2R+mX}P&I4Nl z49ws-tM@GyN}iVrk@xan^{y6N%xiJUV=<*!*6vOdw~YoY^7hRDN^n?~FtbGp>`dJ( zudm*H3CmClzd#;1?5JRZ_CvI~>vMoZ`AdOK2tBH0gQ={4DN7zvX*AnKD<^clzIq-R z?VOg`FQAdCcLaJwE=nh}w#RGr{HMJDIQl@Qvz==@7LhS5yY5%5nJ0ZT$gj_7iG+<_ zikrVFn&(arR23(61ZpUgyEQh7@EkA2Nk+6hbHiQgAY7n-6<;(_RFP%!hnNu{bGGIK zahj8oBJer?>7D}5dbIkRV=Na@=qfO^FQh9|L$zf4b`*x(CeVd&dgGREa>vU6$tqM* zuNf-PS!3DwVmW1tA_Rg_yxpouVmTlfWO?9zm_L_53G(Q7LADs&`ij6mGf5c4bmJZbNMe6O&86>znn;EIRaEc9 zn=MeCyG=EW0oARY5#-;GxS`(#h&Mw<5u8>Z{1q`6W>aa75N9bSnV@=K*Tu9Z>%eviFAp3W-0c=Y|`v z&|#!t*uKwdWf#9V2#?yjQcy~akg&M}# zDvjyj(~3c&VDQT`)`XYiE-e@1u4_>2vlpIi*%tRI-~V#?*>^5y>HW^-bJ9pbqsTUk z!=RKAKPrX;X>8mBVE}EgJhIn2(YD_1Gs*H+Cf ztDa~|{dq3O69cB2ko0n@ar#Qj7J{fa)?Bt29`dr8cK@14H{kXGh{z+)Jb3iPnP0El zH4lZBHS9Q#jR$WX8eckk+U3d6AT6;50_=p6$Jtf@Y&uj6lTM;J4m`PLcCOG{rMb~g9 z7fly2qK3m8KLFtr)r{e>En`p72rMxKeKTO1_(RNnG%OZOp^tipD8K-#!j-4S^>y!V zqB?Typ>j*5Fzu*@0FJX?{R7hokPfRA5=%0RHR1t()FQfy^umJ6G-%W9mx%#a4v=S2 z?;+cC%dH!H?X?2-(8saHdIi2=-Nft~R5{1oF=O@q>HxclvZ7yw@22byDh1qshO1_t zdVFMHxX+G%1y4gk<6%p0bX~(Mi}KLn>agiFHR4NeoMI}mNjiI@G&&BIfhuvMqu`>d z37M$7iUXkF;qc|qBu%7xHD$B?)^eE7kp6eH)_((CH(v^#GFaFCHib3pV#fV+4(=N; zhS!n+#B4?mkqI zrVsX9u1xc%fDLENdR39#1th`_A|_Z7Iyz2zw4<0XHG!gw8(t*FS$gE59{X?V*MaCz zUW^FO+;nDwNoHX?wn%=_VqgBO#=vVaVM+o;750vjXFy;eU*NB~sgb!I-Ssm-G+HJ{ z^sn9P5;(;ZO)PxEQ_sG9J4-D5)KJ~5`L67vL+LM;aMxXNr}Lq^uA;{s@mj|nm4SBD z82lq0?%R!B(HN;)`aTAf9ql8X49ox4SVPqonlce9tUA}>*t5*^R2IXOKlB3?Mh=~? zWf4Zm{}}q0Ir*4$3fV_qGb2E;g}0kbH^$sgrZPnQr=R<)L%ILB!8a3&_vhel3=*)Y zqz!g;SCBh^&nheQKPQrR5 zE9!UfZy+-Gv;2~ANt)1+2hSj*4&@Qwv$dVM`E1j)u>TETY8&=l=o$766|3(Kd-&jA z`0;5M5r*w-vzC!D~WWSbk0_ok8g!`H#+Yrmq8AMRk8$Nt(*=9mPUMyTbXaL4@y zoBW}*@#5Vh0u>-#0LU(Kq04eKZ-bO0dDoXSUn50K)sc>cVIN4`_Zm)4Ow;AHmUFwL z(!92`tv>hpHo=9{6zhsN={Xx7J@%e8!42VOgyHm$vIx^LGWh(PtnGt_k%gb^#DhV z?;&`si;iu7l_ZS6Q@}jxPMI?-3X8dN3gX}-);*WGxsTK|25fKehahqN`No%#5AQvJylvM-mV)8C2jdV8Ae|Ey0LWJ(GIAD3d8Iza!k14 zxFG=UoqqfG?xT~Dfrh(#*ER(xVSfLsCtwjxSYmEoW>*o4(c@R~!C_->T-wUX0Ns6z z5Vdd|hP^0-fKtalF=cXH-abQynpkcc~(MU2^~~`w3hMemF|Sr$h9XL+)S?)bvm!Ll?H8 zzTVq#ZoIwkCo=^qk}%WwI!ru_o@p{QzuVij)G7gvOG79{fEnC;i{BrfbDBfbrsHT!68T-%Tf;GaR2<7{O+G_**Z9gHVX+cq(TY( ze-|1gLuUnUkE2O^n^#dxpgpU7Z`J?7e!j=J|MSg2Y)v6XM+5t2(FEDyV6=9VqQm^J zd%y;KAww7azA`^K`clewj{xPrj>7jC$N$_mS|i%g$3TG%*aT>;W}WCJ;E)h!pvPpb zV?F3rFcAIGgUtW?e=x59d4!;U1BL+vl==XI<*r_jSYNGgxS3>yNolx9j~vq zx}w3U?%6PCjz4##4=d%l>!si6;d9>RUVwV3NPMT7wVsCPFi&-G#aTd%hv11zpLc-# zX2ErMAN&iS(%WOw@zUcr0gphiNvS1+?UP>sxtX$3>|(u(ejPyes|EKk;^7P^!hbMjqgt5SEq zg*vvqEP`lD>~7`ekURWd(+u+{UhI!o>UG`{Yi3rK= z(PSW>5^3w@x5i|_ULsr_!9ASkKaE7Ah$tSR``w$7_Sz|Lqtvtn3tv%xZzIp;KKOo~ z<9KQV>p52i)D4=Bl5=RxPo4ykEt_gDrMb(_^Hsc7^Bh=x^12A8Zc!*ks|VK51P6f| zOQXZsc7Y46mpr|rtuSR{bPTlL@f_Q=gKX6}G7`g3iwL^nzon)#0}#bGj(~h)=yZ6f z+I?Yo`;#WeP0yq zNF>qw27?`tcJ5r}s2OW`{yBo@c}>@;2m|c4eg8c90ETnKS@5+dDS@Y-Y}D)Omm&4) z-C(|!YkyWktYq!sFTf{L?V+dm9NX(_V>avI-8<5lgpRLpnuMqMo;Cp$qW2f~`AcKD zHj~c)=i@M|6+pcM+6dtMR@o%4cCEh(gaB?i;OXPT;0NB1?3qYVa`kjD?!kZrGezf) zw?WW}&pwi!9yq_m;yG`Rgm<_{Yj}^ify`f%GtjZG@#{JeNroWAwV@D`Q#t)S1%DF* zDnwCuh40du!mX^~za%q(&(2_0@S)P=k?B7G^+a^(#ULbNckI>m)`fX0m$4m_V3M*d z3=55#%}M$+Ml~Sl3`?u>=wwYB=XdHV2TO85 z!U=RjfbzGWPs+kpQf7%ymXMwahG*8Fx5YbK5_$Ql7IVU4y}F3BeN% z&xq9%N%SUC$D#w;qcX3UE-$BvP!e|nfgpEGfB*(0GP!FDC=I2!vV4HX9-_AaYrMe7 z#k6~&7Mt6$L?|8`VqE?f>kjzrR5meO3AKcoq6Bk!IEJl-?9F=A5_7R7v$Cexrl}|q z-QlNO-pCN114|zq+Eac&L8Xn3F*{PGdZ`7abN>NC>u{zgS+#?qqy4pjRMFtmYa`|FrIu(4|c<7*!<#Sfn*MD=EFyM2~VzPq#IY`69C`(jNQ2w z{Exw0iUTgSQsJ#Ctdb_AS+Ycdx0oR=A^+Q-mBL*i$HNc2HVaHZbYRucRrNnuJ_3&(auytZIC(Xn|RHeommiKlM+$Y%Yf z2n&f}#|8B9CS8r!4j_af@Ru56crBpRhY(S1yqm;So*_ zs_+L~0JKR~5k3;Ur*sMZC_zp}MuSy5 z;|f0Rp_#bFv1$5_5p|W*ieQu~SS#&F5W4I`T4B5nv{KYz36QxX)>M(+3{Q0;YL?ch z6yF6;@yN9kJOL`hLXrqr`bxSAlO0h1U@P|(=;rI3_e2R7AodJ8r7VY|Cg}_Lq74>~-NORx3<0=edZGaSuR(_BP_g(9c zWamy^5%a_ZtuiYRYP-k4snwLE5gaA9Ze+ z8$FgI$l#QAxh)`|wg6gKgpI9J@Mi0x#~Ex`qI&_uUAvPAjt*2GUwg5yEna9;Aka*^u@()t zl3l;JT=O}$%C-Z!aH)C_xoPht=q-O0(gim@n&mU?kOT~5;~i}%z9J1~vx8&#fx4s* zOJ+Yy{LL7B7wnxSu7}9h;ou3k)Z!e*tMPTQFU=EG+Bz$s{lbUpWlkD>)#Fj?9RLtH zr8~ylzNw~m2pK92qC&U#dR06;wbJ4o#{{-kMQAVpIWpH69@=ul7(Os!8vqC(W;Mo2 zuL|{=lL5f0HhQJTCq0dCGId17w-Ao<(sY!Xfi%&$zx0}IkKeZX(K&rLkJWT^5I?TM zwug>}>-*?~Nl5X|-qizNtk9&LH7<&BKl}wwp<>F5bp;>wdcX*XjrV$U zeCBe?l|8mK-_sXN28?79VH`w;T7r(bqJ{k~U1|qyBZxf!@5crf^WlWeZK()aYkLz} z2+ka>)HwV5DLj;5o8}$;S*$PV13YEIE7bhlT5yp2wy|_zeqW3g#+)PtfNEkGwQ6<@ z%0-ia0v)&2y$Z>ZxqFN;q(ow#sqB=7-8v2Tc33zWwC|3`tUw;z__fBT4I3Cf7*Qv# z(21YMA3D*SbT|>n$`o2GFT#}xnTDyY%l^Sr2XRC?2MjEZGo?&lX!JU8MF5e>4lNAI zK$1gn{cUX{KBnC@*&E7A`DK8Oi^HK4?!JQ4Q# zXF7;k5mEP_nGKokVfXo+lvc@?h+NOTu6*qV5qiGNZw>OhUV$_@$Sv!;cs#y14;7kI z#{+iJwXM%S(IrCD%gIc9`3*c1ZcZ+wsupcL2u6ZxBloMhTV?NRak*V)yoV&@rzRtA zoT+$F6+^H1yBGQZ*_)Vh^)Ku1ruH6ibm1!&_!MEBv=gP1Zz)W3fSWgG$?d&=r$%+{ zq6~}eLYPV%blBd54n())oW#`Eb^2b&F|Rihn0$_Rh>=-LCOG+TTM%iRsZl&&Ca<^B zzB1LfDlp6^eEfn9Orrw0M&HB8nro*EX_z(6Lc5nubSa?4>Xm7?90oisrq_co)UU?! z&BheU=%5M`J0k;YHRW{tqnX|lPUruQ#7VgVQarSe3oRQu@eIa; z-rqD7*|^tSFFUZpbM;mhDmEO^OMNh2ck}s_&Ikn+4Q%M=NYsuMehjX`mZE~r{eMGY z3ncAUnLgbzR;EftQ8?97`M!+wwSQ;Ct@nl%etm=h#a=$OF`#|&XT*76HV2^UGzwy( zYIB(H#NCKcX?A7?1w_TZI`ea+NJWx3ZvmylZ+AO73xclel1~=}IDbHsj$i6l(-ti} zSt)OieoeSzUdvHU`qw-Dnz;)-jwdJUO3-bNbsT%j+C<#vH$YsbxY7F=Lng?tifw*q zTRlbD0HhMNq44S~tzvJz0XD;`ij2iAnXcvb zFVafQzC|}Gu`DyEJolA@ZKII-o`-G*!6#o_XOn9+D zRCS_hyS2Y;ik2DW4L=+jn-hn4?#uv)7u7lIUnNWXegXwXiI0~APPmEOzrd-9RX)#b zKvc6ED|aRMTF(l;tPBAt42OnDgJ}q zYL(8fRUkS<98Atiu6~ekQ>%Cy@^`RcGGhzhr4JO^RW!!K;xMvP+}_VNK4#vDtns(+m-VZ7!S-_XDY*OjMe@N~e`{>n+ZlF`{$H$= zVowQ)rtKk9$lO0TBT+_$TBXDd8d$Mj>u+1MbP>+i=^d*mn!>zIe`Nv>FpcYxZ3a~M z=pwM5Hv1y>rc&)+j8Wn>kgCzEDF)b9iCG=&k;~RktD*M|^_Giv6(j&+eAoVRF6;9q zxnWt5J1`>f$(>cJ$+%N`2@(0#`8Bp&Tfh2{4QRNg)Fp$>KKURiI!w|mf$UC5Y3nh- zX4k%^vA*OcW+A=z#z7%HcK=8~N&3)C6q69=%PuTX^8_m62IPI{3NIbyS?Ikh$fYDq zVKd8kZbU!t0|nt=W&&`4i(~<%yEuD;#hv)N`(|PHo4hYQRngf89mNZ+wT+@oS`Oqac_cTZ~Ay7d8N&0weHF%e7y z!Hzws;+1Vp+fPW`rAFRI}+#kFkYc6h;GqiS4lnxu-e?Xi|UlYID~s;%VJAv0Ocy}EU<5m&k^j(1W(l3BSrrwc%CSg{ib`RQMll`yLCRZrQG z4xih>^T$3XGJMv+CWLRDdx(pf@ol+T2B49p7|?gLl(jivX*l{1YI%I{{9!#gz(H#h@WXWTD-k@IfJ%*n6@YUCQ_hAa2)mcjw--R-of|A=Om8%v zDmbl;;*tH?*3J{pL!w6HYGH~m8I~Kt6N<)`Pza#k=O+-IisW{Kk2>ZzQnnPyk(f7n zD$13mXl&0EA^2S$&+GH~8Y7Z#NiYv5%mU8GX->%{w&L8mW&Q4o;&A1tmH6JcuKBcV z3BuGx)CusHiS2GjqJcghV0sD2abj5s)f_VoG8FBr}CT_xxZ z09dCp>AYj4c@wznzxpBB@;FE6imXY-T@I)7%IOPTeRa0_FlSoax$h%shD*BmG#})T zLz&}+n0_>^H{_v7#^Ecjn~ZhPWx6G|bC)#Ne9)-V zU$;>FN?jMZId=1vQr%}D__Q6&7i-@9NAfpK^A72;W-DzVr%}4ip$}R73heV#&TRPY zWJXXrKGozVZ(HCp4& z(ceG;Y}z$4IK!a_DP3`svTHr_a-H*@eu6*X|KMqf!r?64PW>*YOt+C>R1!}XH|fqQ z9!D2V!{tNSkLns|f;>GYWJ_XZ<=60!AH~G|nYbqnsz&=S=e&y=iF`b|VDR0?iHzb% zVKy#i7<?ZKZS7#-Ix=p8d^FZs4P7jyTcz2AV@%34BuQJe7QM=8=(q~%U}sYr(B}#7THF4 zbx8dD68;@%mu8O4O_Q`TVuttDm8Ru`^UNUip>%TWD#0#;Y5R=E8X3mwK|3@D`o*l$ zeFqt+UnKEY|*Ppwok1)urk~tj1^1{@tq)i z-_@P=e9YolzQYe;FW;kY=!BPj>(l4Dh;DmU`1m5OXB{TzI(k%2h`^iDG6%fH7|d+%$*!k79TAz9X2Eyzb zf3cC-DQN8}J}CFF?0(aeUcr7jbKBskfikCZk3J*(bs+YLevlK92dE+Miw^RF#~?$& z7p-F-rDji!6Wg&^#Tvh!|2RVX=G&p$LhQ3fV+^~2X+-^b?9VP%f3~E?z3GWGZ$xjN z^05O)QntDUAsWhJNm(=EQSxm8pbqpGJL&odxcDn)sdK9+F#~V8G5q2nm!jQ5u`=#p zT1=F-_)ha!e!`C}>+sEjc)k&+H~g;rx3;WZA)r)Jo;_$iD6uJ~#75wDIlkXqk~?O7 zq}Th;yDXo1L?X_VJe3PGqF7$6Vsqp$Uj7X8cdqp9X}z8F`Kpb9jQ#-vK;XgLV2wIt z2pKG6qAuAd-oUq@Cp!QUL!NS1o894kkg>a$`lF>8bKI-HraPB_uH$JUtbaD8dtV?8 z!plQ!k-kj}lK~^qYu9FaMwvv@VdwTtRKlDQ;bLqc^$Jz_zKv4R%|Livz|s(NOX}#* zQ|!#C(W;s6;7P}<7xnB6kYBH6nNg~)mPP!b&jYNz&tC)uljC#9Lim_#$yUDI*y|kC ze)c%I&!$0;5;YwF>5gX>+5!VXsMy$$@U6~qeVgNJZ?3DLA&y!Ma8nNZeKYt+)8S9` zi8^9q3p6T$%1=kCJQjRCJNiOIQc?h{680y*?osbe|WE#!-Z2 z(&hL&t0AgNUDzLre!5P#HVWAdg4y-a0I;Bspnz>-M=$#*5~iBkoRTLAE9N2pgQ*K8 zg=;o=od>&l&cOWvKqd)5l1SJq=m|`Sbw!xJ=Oo}vOY55fu8MSe)!nRj1h~t3oo*+} z6MRin^+r`8=Hs;}MACda5v?O1RW0WZ>WHDk!E}bEv1ZwZs4SS@?=<@E)%c^1-90q@ z6UflVp};E!L`WY%xdUMW0vgVxf5q)PYALQ@#@vVEzx`rkDs|0Y(;g$e8Uw+oXHSYX z0nJB>wkR|}t_6bjf7&4-mMKP)96ME9>dgD}+Zj)k@!)gV_Ax-SmxO`!QNlteKyFTJ zAhEkelVB_-70~e8f3cFAGC^Ox&3Kr-i=+Oy3z8HBXt*mhbhmQcI9~~&+@3a<5<|iF zKh+w2+`S42{O9SsDx97~jfy=7>;}L*d zi&T=)6_Ll>rEcL4YDH(oF*_x>_EV3M+4vB2U)P9BY2zXJctQ@)7xg7vlzp$Nya~MO zZOi|%3{q{sZV_5{OlnLy6w1X5+rm8HWqf~|8-UXo5|UnsDSN1!KHj9Q^ujfdBX>&rP;E6#}_46Br+Q5 zK?bI56K3h7Lr=>_0BK^urE|H9168S2J!yvW&P8dVa=o9V*Hh75Of{tU?+-_3r)=c{ z1U49S*GEfo8f8rns2O3pKdwt2dhYkR)lIr!#L*=_sSLC(TPGZ^xiu4$zK5@Jjh7D zYO{zRr}eiqzY+dX{|{B~7@SG-zJJHIZJQfA+1R#?jh$SvZQIty=Ek;d+yC6Z@AKw) z(KS^w)l)sw)zfq8b0}}xn1~kSZ&ezRDu0{XXgT~1fNk!@z)EX|Od9$tm$|^05n`Pk z54at+-Ad6>$t?M+SX|$KQmy%@Z0p7=;v@v|kF8)HLl0xkPC1A&jSh2Z;^>3oivzpsh7jxrM zy|*eM+5l66{`MFLkp!HvtE{5yE=m_-{yIzZ$SfK6k1}pT#qPF)1*jo}PwU?}P4jse zZ-LDe0rZuf4!j;;CzFAW;wd{d{xQi1Q?kQ#lij+$SLX6!wdlLExz`pbobf(h@sWLt zdeDGY*R3EiQw#4{d~sGATVRVa%_PhCH@X$~Q_VXZ6&uzBp%KIdP*)Rc<@EOCV3-&t z3?ZW!rJFhukr@^U0>%(}gJ3m2;nqh3`&4cKNIv8kG8 zn`)K4fD+aBa~_&I9&7aGzF#9X=|6?&Kg-!0vpIzDhJ|-UfV~H*(h&h)1BL=Qiiv*> zcc7f`DW!=k7wBk0WBa)jGB= z8(RKD5xu~$O7=})Lk>7Jhod^7BvKjz0bZgMk#26zJunwOyZ4ve9G**;bxO$ZKk0MmuvF-<+-^-;7Y zN}!i0wu4N=0C+2lzcqFw$^1lW2!RQ-t-*LljeA*ty7-M44Uzs!EDGWzJ%AoXhcn3u zg@%GQK&22JHvQ)HuSL)%#pe2|tL*giA!JKPM^JXxr4_A4`m6QEM??dyO2bbj8V=P= zKrO6NA`G8a52e_gQZ3r}v09i}XxYg8+rgY*h$;{r;17!76o%q}XO$gT#J14ppMRAM zU6$>Z>eLFI_xBrmAOS8Ww4KkX#Eu6wm^El19yFLD2t4T>Con{%d0kg7%jDSsh)Zgk z)IiYtD_~ZsT!Cbx-J#D?MaIH*(D3ZhG}ga|^w?%5ex43(9({45ax@fXTCjx0^$LQlRsG0L;*tgGDkUMCtn&Ztfk>z)+Xu{0|Y&N)-bifg@Wt}o?eH(XL$Vr^oFxbzpRjw3OazHvAHB6w$FhQH{=f`P{wVT^ z3q;eQ^6NsjGnz!|=BbSk6y!U@y^|;uFbVA64i|XxQck?Dn&6zIbNSmIM*@cGKGUJV^`KB541K|=LdgIyY zSefY(wAueYk0+cR-@=t)mu`L2#rt1#m;zXz=y5$<^Yz`$O-*MqMuJQhBFSqQCcafL z;TeLx%dzrR9mbav*Gu!iG)7k88&fKd$VBR@i zcIu1$`+EEOf{n*TgF(zPXFSp(vTm`LCk*8?-!_q5xmtBtF760W01mA>y+^+C%>GUc zn~pwPb-gHJc9sA79)}H2xk0-UiBfmzn!ri(z#NPqA!%qmx|WJ8Z<2HrR8i>=nMYCJhjjo?aFd z?Ys~X<-)vbIH-d#0Ai3HP^k#LYOtr*4xib*K2~nTy4LAj0FVxYy(WvXw1EaHn#PqbXpm$oX~pn4K9NM{%*tbNIXCq zq@BB?pdMTTE`VPRi=teod^l|_aX)Hi(!Cl5>N(!W=OD&PMqt~zuo1)0zii0vdmt41 z!;|_EGGRjo@IGjE5dK!kAd4mJylxDRP=ASc!@BAn2wO?5XwtdA{~9w{3OvIuyuX8E z2nPU*9NGDchN&~dER2%s`Ga8!0~c;XCoV;wpP^OB^_`)8#BzaSfS1;Buj!AG1?oB< zS=Q56z>?f9u~a8m znP)R*EaJV|GtkdXX~@>DBILS9nB0X^BE8A;67zizDsw)c2RVf!&K=q1m5Zf<-mYdC zwX25mzP{l~71RZH6$PSsDbL(lylUR;Yh;}OP^h6xv`3FN+;+hdi%c_o)%}%q3CZ$* z(pi|_(L{=O5_%6}2FTu4Dpeq63JSczij{FX{xY8(w2pXW9Fsn$LH{&Ks*q?E!axd?L;wSVE1uGUxYzo(G9f>Bw9dBq@>P62~jM7+=MZ2z;|( zpSyh(m(-&POD)13$rdwe!Jj1WP-$(~eVlK8yeCy`gU)TAp`707&yx`ZgWcGud{n;Z z(+^0lc;M*NczNZqID%uP)C1}vUYyqVE zb(>+Fymln$DMd~jWjD>7d!VI|xb`j;XT~b*4^5l)a4f0cMh`JY8=EO=#`q$$0FNoU6e+rFmXp11+KQPL#o5lz z$Z9$#)1sYiYV4Pm5bLY0JBkY>M;rM>eQ{^e&NVZ%*Q{YYQb@U@T*=?~wXk?cl6!QG z?%#|cY-wef?dsFqA*^*)wkPa)|JL*>fJ{{HQ0Pdj>5Dk9THd6oNg{q}Mv8=(U?jOx($=*V(ZF@CIV&sY3I`C+ce=%?l0Vl?mk{RwM&Wo%VP;$%FI6dBX>WetfPb_|r)=%KOS z$kB)S)vX63wx$%U$s4hptbDTDZ0L-sk3`rc9^lz;1%If0v|{^;7RRTL4xQYSEI;ww z7qpY=4R~blq=~WB!JHjzu0dT~>dnh*J-N zKA{{4uHEKa%ZJ)ZKBF@FfX*d_iizjvz|RAxk6@!vJ)1fei4z?wPtoMB%;ZCpc`G)3 z+-0%LImOGRB{5b;(@F2>GYzMxq#bRblAuHxjE4``Esnp1O+BPZDnfWuu*WY_We#Rx z=N|b1*=J3A#sOL-<{RWb4dbnoR`xm1&rZ!B9zJl1({`S4iE~bI;}2w@I!F6}rmtTm zH0VoB6vP;ONh#_-V!@J&8OOQ^p(D{}q3EW($(l@Hx(8W8_l}=PX9>)D6Un0}t-y28 z-PPoKm~Ko26-2wic-6*1b4-xkDe7||crj=({3tQ$*a2ZIAOs@W_BZn}7s!j;_)Z1V|QXMQH=pm@at@BUV65|Cl4t;~9b zm+`tuI>{+#n)`%^rs7fa@@hN(=vTzX+WGMLw#p%Y=?b1U(sf#Dlg(>#W6uWX`HEs* zxzSU@2Lf7&oR{khj)|k{t7+94;5bay2kUL{RPdr()H1h7i~Gw1!WBK zKdvSXtg}K);tq$Y(Av}F+uBdyh-A)xjSV^O&jVoKatV70D}ay0EXs^s1@(#+0tK;k zxl3j9FWJNYa6qs0aI5fmc9Sq}8TOP7QbVbf_(HB(Rb`C6)t2ak><)N`?QwhSy3t#* z`%X(073QFWiA-CanufDwHlZg)afiHEIGWm>2yZqL)5u2l7E-S>qIVtrscOi~@SrM? zoCfqq$f8y3HE$$OHk)WfsBe#X2gxf?K=ZlSj*|gBrLBqbhMavaFR8t+OrQ(>^%YA6 zG+*Xi>2wWyWw-?3Rz-L(oDQ^+BsPRb#WhHz9k|Nu&atsguwY>=$|O9T_WI1GRR|*H zlv>nKyJ$+zdsGVUwrQe(=MHH=AWiI?w*saTsv5~EOZDATz&t}8qKa5#H7XwY=E>B? zsXw1Q62kqrITVcy$#8c6rH7+br-3+zOCEVNGbw^#O^GJ>vRi0*Nm=JUd{@iA$)Hkj zmf}cvgGs852aDTV1Kz!NSmCP2l0-wq_^{*I@8fX9Fx69{4fNr zs&c-nTMKhA-R{tEtQvxN)W!$0hr-t^tGKSpMkW?e)Oe$KSfs^^at;CIX~D!c1vzs(ODuqo&ZY zD$GqPZU0*Zhoe1`Ri(%Tk>~)}-a;;EHaJ!Vos_wOf%)zr4=NZ>S(deWfQBE}I5uH=qIAo3Z z>JcRsZkbLjpy6{E{p0`@>0=G(&T2E7e4h=ZN0uNqqICW-i+6(N9)sQ}=a!^L7&HVB z*>KBYmWa+r`-jl3-!I%}jRjNx4Tf7XtBy_%Lt(_yqpXorhd=s}Y=K#Um;eHw_m?m( zC$``So=#Hmw*I_A(>kaK=`Iau*34IiH-Hc>Poh;|afGJ81#qiQHD{OK?zj$olD|z6 zLsJ?{R`j{Gl!PS1jF))a3JDfE@D5Lwt(t!2BDkunx@_{72^T>@Ez9D^FNk-GN95H# zlP(J}Uwo5}-@l#HJ{$4v+AU^a&FaXcjbcG6_@4XK$9+(*4brrUa?@NTt+T#ONc0$W z{?%x&zEteS3qZF^W||7j6!CDXhy>+Z0smS}mpyfz7FnKLesQuG=G{pLyJJ{l|2oI{ z{&}5U!-Px%{)m{cpr~jd$)Q^k33Lch1Oz%1I0T-W7N-0z8G(FMfcOaX zq+n5=r(`xCF69CeN%UR{G_f%C)hzw0gE#xxBM?Nj_&%d@azs#P#$*847IR$Eais!q zvOjB%f=KdWc7~04M+6o98hQK+n%^vrP5UV~K->f3ugVkLITE_uHFe`mA90!|KGfdAfmCLb|$5|x` zUH$u!^@`y_V540zDI+_t-&l^3>wVD{92cA;Kx;6BlZZDUo2SgmWdcu=^7Sez4Bne1 z02B%TWFYhw_imfO-`{@xydBKn%~kc{X~VmVqnrzL#Q}q38G{4V?Ke!G(_HPTDjicP z5UOJ(w9o2)SBv1K^d5X>(Kv9|K_gCWk9KY{wNWmlIut6Ka5R=jVY2msvPWa-!G&t6 zxz&G=iHcn+-rcDL!CPvM7wYA+^{{1ia*Xev*Y2*M5feg9O9gFnPZ#_78>ydty;LEX z1uf`J_P@hDXGEFOaixeJhcoGK~E@cyoZnk+y0LXniI{pM;cI_|3R>=j^LwX3(YN4%k5t z)5xCvh&nQt{WkEvO`OpQc-K4F={_crN#cb+N(uLXbN)DIrqg$MQ?tJ%O481PqR8X? z?U;US2r-0*;8T=BScjv)o!!8EQ$jt$@et*Urio;t1(s=!R~!HYiI31Y<>{Z|gnv{2mZfJ*}DoU5u3pw_U7<>7v z@xPE0TB@Bb9wjIzCs*pLHXi$bau#xU;z&Po7AGSw#C*Doi>VP|q)~x^NmR{02E-s} zl{jZvMkPu0J3Ju~D$+$w` zfyPuRp-y!~c+irWC`qAcPOMS|bwMPYlU+Et2MomLWXN0SiU1ts5ED+7fC7I@vNj!R zm1LER0RM#EMhdt;m;L{C41j6#sPE(>m%Ed%PT=ta`38GrU zm{-#LeYW=cC_#Ym(Bni=1_H4Q%yA$YU^)yg;Gj1>7pz+3U zDtuS7WT#3CkE$kLo6lR09&dLON4*-aXZ-W(fLZlF2@Ki?s7=zUs<{bEJ*=L_Y36BO z&Zc{i;D7ZCBm~O->$-hiZ-Hzv+9y{_n1uSruaVp75>~^nLDnKGamTMQXESc~D^_p?BBG+mN-uN=5?*{TZJ>VgotIS3Ih;h_C1hFyt!#EAH6@mlSdq58-*>etVq%I2K;ZO}=xH2j@s@zvq>D>#B!c@Fz(fR# zVYo^PtHemhGxUUWHNYX=LF&AL{4sVF2Yi(_&_Eig4XxOmbo#aQqU5194TIb!V(vU} z615wH&!z-$J+7BA8DhRVor(yW4iu<)<=<<*J46Uu?ti@>cmHitGb*{}qNLT5cn3rY zI6NQ8QUW7Qt+wdw!Bd#&$Wb;qW1t>o6uZU~x9m-DgnxHf99|tN)zcUQvH7B5?wLTz zY2VG78}ojS-2SVF0gdS3(|K@ZOL3nu&x_bPX#&_!qq6~{1S5XqeNpydU)gEGOetD0 zdc@Ue8CQ>$vDVaR($<*tSQMNFr72$q)Vbl|V;cDM_oMv9Ou=`X5^OOnS7}rsoIn@s z2rmakRo<5sIP;TH+1`$Yt;750cm+;Q{pjjRRYQE-zRbEqH`(!h27})2~PoGPwO~D&#qKmQfOMBQ=_S2?;gZXCG&HPv#a9C?u z`4=NJz~D6gwMU7ksa?m8=2F~JyZcXE*yCYldt?eKy}I5P6IX6FA-k>S>z@5D&-?if zLPovLcC4QDRj>NTJx|THPscTmt3Q6V802?qj`B>2TDo;K^kAqT`8b494%ok($9PT> z(J@P&A|HSd>Az~E?!gbgfwbCxr_M^^p#P{l{5U32Q%eZZAAZV~|0|Ym87D$_cKJyX z{O@l9l#S(As^LF0nijtl^fzFDA%5>_ltYl-$YB~B(dT66lGEsyHGd{}fj~@Veixkf z>j^<6#Z4PYD0)03hWtB3jnQz`pO zmz&9WoX}=!0BBsw0hA?eVz{$@mYnIlHnn*>!V0wQek4t=9KkP9%Ri|Aonfvj!EPsX zlJQA90#~4VQ{5iYxf8y+V-LjnTDq>2Q?0#|+MS#V2)=aecFXt|*u4&Bab62xw;1R- zkT{(KE*sMWv4|4-JjmhQ!uUTDm;MqbnsL|etA&eK;oL9ScnuAG8?A|dW*D=pJ1efk zj~Nfm@j9DSg+zwQ>_2Y-vz&#-kF?Af(T@N#ek_oz1S67<{EMpLWOThBo_RBIV-wYr zg6ouw%i;Q}7B)8>@0Z;j0vHkfF?DAi41qPuSUg`&!zUU!96__$cCuLPv>=1XbUXf6 zZ6qoJmDB#8xI2lcXMXd=4dmteE>1~Pv1v7N-3@d{w1uwn$fHC+aqpe$Z44DExkZt~ z+a^k+kKL@d&ajM=^}vD{HJbKH=v1fX3X=nn6%Q=9dx>%Sn4lCsrTwO`KRwzC-Dib@ zV4uimNH*m{0^*rP(P0~f{p()VYvf&srZ0nCn`9vnEHnkaz=od|G^W|pL3 zijiX9C$L*ZirpBc*>k4{m+^<<%MY zDqLnREpkdVXJ4eIUCM^OFLy>&4ecd=Q?+#OV@1v?8!X!aus*3*!t>H@s=sp31lLV! zQh3L${exoMpd8@dgDD7!ivr^shAl2;>D{;&i}x$fPscuajv0q`7^}HrgKwX5{~b?t znW=B7+BUxFaQ)z_B$xh7YC%j9_a-8hLly5&p4;iUH9jm$^>P(ektv%p@4rFUTDRfN zpQGHoRxwHedhu06N!6-2b>l}Y0QtS0p6uVh2n^!^qzu2YfeJ7Zn@&OZ94mlOdf${ZOfF ztEB{P$tf~BKy4gZ8;EK_n?*&-{UWw}ypQvV6A$_*iajmSp^oPazU0>YdmgV@onW zk{3P)l=0<$;HH15s;FSs^0|Cc(N?A24f zW-yBGQ5A+^;1J!a1-yns8W99Mov$>Kx4@3?uQZw_^>9xCj~HdM2ou!DtWfq>B0z$A zWs_QR^LaDA_eF!$00hOgYZE!u?-LUWkPwnX6%{>`5#?n23nbWezjxB=BD7{iTeyxr zoQf=j7@g*r_V5vCf(AjLJ<||OQlA4pL4{M}oxaJBpBiXbS=kN++jk=cz5Q*l6PJ9o z1XUUjvfVXLlVyHX&1DtoQsb%Y&a$1$?@5P8cJOmjU5e%&UfLkPk(|b6tlHENFde$4 z>0}=><}zrVWxY3J#QAOiRuNx=2iKuUwi%agb_oZsvU#h~%mds~EjfT_UXWmbzL(+0 zm6Bpjox0#Wa;KwCKBy|Pqp?VER5Y=L`W`(~uzG2C6Y(s17wIyv%6eHI%SoK$8V+&F z#?9mUzvw3>ybdFf`nC;>=Sk^CNya3yBV^OXzH&<5?LVAs- zaP#n}_;elSU%H!Fzr0_h1je$4;de5R)5qG(G|Q5zG2l4PGQ#Z3lkA4EiG_l?oGio|>(S^$MC#0o;sb_b8{|h%PLs z0L6`27R+!dfk2)d>tG%MpKklc9G7sOlX3I-5#u3%H~~HYlwYVx{U0kHw`X)V@$&QQ zeFws%@1q`O9rU(F2!X9^;$EqEsBGvR#zxKw*k8MgzQuSm zi?kxL^5!}&rHtgGD^H=kPu<5-Ru!(9ZP!|2IX*X%fkUmHq zuVSj~^FK!bHR@Nyp8wE$(tX3>K3^iSnr~F?#{=D{y3!HlU9=2BB$Wfm^}>=7{f>;T zcc3wKc<$W;Tl8@!);erszBqNZG@UNM5p<0qiFs@nC4kmZ=;Cn?8s7UMCkBWx+HPjs2Ee9ctNuhubwCG9f!v0IeB9p}-4FuOs;Md@p+Orz*C?*sN zK7sTUxHP7F9voq;xRj`O7j&=12czugJQLKgJLhs{a;hS`q z+fp0Y65`!FE`yOHl@2Y@8&#mL9gjcfx0^j&SHSXf|A1gq`l{JFpKQ+$@LO}RJOGBi z@0uHNAm8|Gguk2X`b!up1|SJwnqQX>W2f~i7f=I=4XK!oufS`fT{coaNADRP54oX(-;xwjks|JuRl{!fV3&fahN< z);U5Fj^FUm5mwp+Zd`mOrjo9@(ZRc4`GsL`83!W_J^U$T=XTk1PbUvDq)S~4&~773 z3y=d`sxh`8_|o6O?CZy>e&~ZVijj)R2x0);L!O!0wdtBOc$25u1*mf*!(Hl_pk}tA zU$l~09VvsMJPYOJv;y|%OIYpeg6FOj>~cQoiBGUmoCQ9%_pSVD+V^0Go$f9k#Cdfa zs5uc_k$mXIbTTA=I(l9v181KD%|mv;&1qzXuct(A{~WCj3gI)a!7x){6`6l4awY=| zuB56h2*Lu|s@NJt2Xgf=2H`R?3k54U)dB@s@r4+)nH&px z$HwZbIGiOReb#D#x=eV`*szkV4BI5U^*|&n)TSKcI14>=k1v74H{`76S~mZ>-7bCT zx=yUk$*;|Ax0$&%QpC~0px%>`O=SQMZ%P527p1ILAvZn|G*Vd0D4@vF#?j?CFQMK* z=f(_3Y}qNwES&fKGG`uR`;z>P0Y%#g$@%RMsvhSds)x~kL4+d=z|hARCCL+pSbkwU z;49wR`v^g`TSYd|HJlkBL*F7H!TX~U;lm~6?3qKS1fbF!qYLHFfl5^(A1XbWqBmn&jHmxIH)Mg0~aeD%6CA2O?w)Q=C1Tiq390*N61 z1&hrBtPNRAjyh)Kq;`o>hAQmc5HJP9Z7mJJJ{gSn)>@f`o@YXz?u}W@=$+c0?w^{l zLg3Lzz3&xKaDZ?l*$K+8Yc+K0{I5>iWw4TnEHMK}v_2^66ePO+prPEgODSIs9GEcDpFs-6Vqg-E2$g`WC9tY5cZ8}VwR;Xs zjnqbq!@50(rnv~vWU1+dA_-P-Tr==+D|)pZO@DLS(?6iR@g_REw30yKqS+z%mBy+Q zSzq&9GwEyI=m#2cP`|0_MYA|f6rs?52hklqF(7U&$JKXC)|Wz3I=dO)^q&3^h_@Nc zs5yhvH@rI0u<`{I1#!3*xDQpMxBLultdc<9rHCva(c_KNo~xMIu}i?Kh>hLzBxht_ zTndAVV1%KZEzyt@ymr@_z^~kTY|o$;q~G|rfT=AQkb!M?HN4I)br>VM765648f=Fl-$l%0bZ)c*ij{?W7;$_12E*wkG3fq36s z0mO9phDV7ENRkw zhTy`uh<1)>d14D~3AD^^M8z|b4*j@|p^3k?f?4NuB}%&)u$H7zgUny>8UYy?UIwCG zJlEy1bhW9Un{ph=kSuYkP6;I}zOgK^wY<@+0Si{OJl?>K$fZX7yhx zppQGrkbf~|FFG=#(f=fdpd+JToAc4uhs_R#1DE#^w*zAZx9fRW@#5s;eS?5IpXPHb zNkMH1w;xE^m8q)_Vkz8VxmW+#0V66yd&F1lQXap&8rIOvHX4!uV(sHd!;C(i?oW3< z&C*6if6caJJ@IS_ea7&E0MzDU$A*>(06r?LguZIN@UjKf4#RmJ5fL{AADvT*BD4&@ z>F5`tE0>F$qUiy1s6*E~KF;HnlYbuOd<{q*XP3~*`r3Ga!wIYNOk_PGGXrhCGP8dOoH^hDF=r}`dsusNW5b`||_q}^(u=80R7#lf5{hOnrW)|8>Gd9PTB zMyw$Io2`!xQZBK?3mrRM2FGUvz;fTh1)At_#{h<96f641ljHQsx=fO$gQnVB!@^vO zr$aC^>~IbQhxA!MeGau!UHu}Kd^UroHdc3Ah2=C=9F8$X9W7%GSGJ{dFYuN#b+oSR z->j1Dghdwzds&z<*6T?BOejxBR}Gj zkeJ_WE#PctD-MG`9dnW4kDn~C$Qbq4RyP*AD+R|{*qoWKvO@X4uUlmQH}zLZ%I|fX zK;N=pVxRb|s8@;jduz702cRIx1SrHv-~csE50?$)k0v&%(+nGFFcdb(0vyT1@6{*J zH+;BUTp*NwpARX)0{HkK09!K?S%mIZ4hi9aIPsjlsJ97>2+yB2?@V|bI5r&~tz-_e zVyV9`&5)yE#)oMIvs2PageS&02p@zbdNBf4zz&Q(rQ5lfCM=7IN+Bypl-v~!wyfSS z{k{yK6q@z9-h%s6FR?a1zJpn;`xD)mf#ovv7|ek{YQl;s@#*_jzz3d>E@+*m_|-X% zUv>X(yUNo#jsRwlvAVzwA3~l6f>p86%5eW$*B7LZ-+tw7tU?-&=(6^8UayK0^K7hMrHNnY>0u@95ZL0yaCj2-OOS4&tn@3Br}tNBXsn)KNY=!EZ6kZ8yf$3 zS2(o^KSZHoKbJYf-q=pe?X5Y2J4*D^)cZ`>pG9GKN!Z@)R?3vw2P}LGo&~T$5~2U+ z^kU;otslZeYne2}J^=x+oK#D;)#VB(-Em`d@|U>EPs7JPy;PxTe6c+Yx)xoJQ1%p^ z8C0QhrG@?Gbog?RGYks$_as9d^AYnb3uT<{;lOqy!Xdcbm)bi9PCj62tk;aU602}2 z`leF~#|)-11X7TB0#oy-rq(c(_h0N>;nE5(-5m=Y+IJ@pHVXlaAk!noaRrl@ zg15sXY^t%obPk~c*~1IaaJb>(zljUFKKap2_dcw<;arXysN5^5vVJImw%m`posbCx znq(i=Nl*-;$myd$(#wu{m=mF=XujdA1GnLXBL9R0L3IIiyFvJrlX*wSbSV?W;V6T5 z^ce_`4Qy|19;u=$?i6=8%Y`A1`LFYa2b%Ba^M3i}zYXPrden^E7@S4%DP z?Ci`=xjsX{P>^)mW%6}P;zk4Yal$0X1hUt1JShhmRUtyIr99a3qA@JX({*+Dhdk@f zCRf7;2$cie$gFk5Y9+X95Z}v9Um`yh3a85N6L}CXAMT03W$W=4;jYb*1yJ;J&o1k2 znDQuXlg8A%rPDo*b4qo?r4%^iBJUInr&je|vKtd%6+REj@!gbt%RC zGCUcJ5x2T<_ai;ThK!h^@!WSls;8JKCWlGqD*gkw1j4tVB95MIgd)|FJ3pzoF%IF^ z=^`b*#AeOtj>@&gFWm4oQ?W0~?-jp72ZH?X}PPffJYoS?gU8mn!m0IpArCk~VRca-QT4 z8^{7^DgKrsTxvE+`C(T6U&bB&X)SDJ57LE1JX6)9;(~*e@{9+I5B0~KF{{@iGRtg%=VXLA2<8&xd6tV&v3=7_n4d$f!+C>G~Yfou00q#X|zDd z<;T)41M>~|Mm#jo`iLghEesWgmQNN*&KEfbU5$nw8Sxfdr&e35aRXM731yt_gK?p! zf2pkAH*Q3wJeOTaZP#1rjorO6?3A;u=_Y-OzD~mp#F*Zx7527X|M>9SX0m5K>;ZS; z2hB&>jd9AJd-x`17N*;X35n8iT&V^rr>_EGr%)Z_uPcQU69pY$Vg>}W+01hepQB_C zyIMRTBCSvHm6&5ifvFMUhT&$r&Kpe21P%M+1-0Ju+QfkLi`R$-OEFS6tR(iCHG(+Dgh_`g#IEYw{;EXUJvh%2FM}AXv#o zSqqXO--0Wm=7i!DKjEcc?}rfG*8;$=7}d<}@T{V>d?b)kx+=eC3iX?9i{w_{q^b}y4Oi-n2fUO#Vl6zySt zE+Jg=INy-`t?i8OX|?q=7mpYd2-L2pQL7Xg4BbXsZ97(j>lsrjv{GT9;$LQM_`w|C zX#8m@E3Wd=xoQ9jyI$M38{)Y(%niPl>%AB(AHUu(^FdoS*bb1Eg68OGYQK_v*lDAd za8jRe#miL%tc&h2A2?{VSvjj~D{gO|vvYH`;nEIKTFo>CyZCW++?8Bh6Bg#t((UMU}e>!9+xk|sfv<>{z|v7g3bn=P5p zD50p6d-w;E5Jn$_{4!9m-wKj!RK@BItUU=x-A^-vOX*d5vB6N2MsE zH?XOxoz~cuV0992p8su`=s%R~A9(g4C@@0HZ+q-OFfd0oCer_1`CrU9b?qLHu7$(} z+X@66ngod$p(Wl8+XDpPaDzdxNE^R_3ipXmSO7grcq0XuA~v_QcPLhC^2_QhIgT!M z6UCVJiPX4$F9j@*W2WLp==xWAP>Q9U2gxpTu5F5WBX4F2VB${H@a5la+_eJ(qb5Nh zdp$3p8xK)de3Bk<><%9oc{Ktyg%YC<(%9HT=E)-oTl~0A^Gyjbj85=TYJUM^+{^L^ zA*+MtsZ(A~YNacR%<}w4)kU281t!$EFjnd2P-T(A?b~6ug}2z)S8{zZof;}{ znuk$z!#V6`60hgP>0{&IIro%gNT)YBir=*T;bxg@i1i;RCep5^8A*rX-jrym7V(cjSD`q znih3lEw)|`=9u^dqb}GD!K$RCS55J@UVhPBYawJBq<%3#7mSh+R)SiovKoO4CosMU z3lL8tft50_6}h7joEAktC%I`Ucq*1_>96@bXH{Dwb=&}Gb`YeD^c{lm9Z3yn|B_5S z3896u&VQRpICVWNo(WnAtMP9RS{i|Z;8(O&3~KE8ikc{ejM~Cp5nPEYOVH4?f9KO+ ziZsdvBP_uI35lPAFO`5A`cd&rb*K$WPI5x2>>0hmEPtXv;Z4Gi-XA0dweteBLD+*` zd%)UfTW@~lkoaImkvLm8D_<;^4I8l5|D)*~qXP-Hb{*TcJ+V14Cbn&R;-uqDoQaKz zZ6_1kw(U&p+?;d1`?tHgRU|OeKXceZ_8|894G5l z;dj49)V}+V_CNLSQcDdTW5yzmzZVrQsW@AxP`@kWBoV2j1b5~uSI%pNTL;fFhUMG z`D2typ;3l7s*^?UPl2xbysGIQvQM}qQOE2;Z^t4$IMW^pg8p2Y z?OB=SaV6_?y<0Pj#&r8aqwvguD5jE7py*_pl`u|mj%cganLVX?AsK0qg*hIF0PRFj zWfB}+Agy^Y6urtEef&N`y?L(@0#cmf+5*s`7yY$(TwD88Q1F0vY2>C%7GU3O2T-*3 z)Jbi*3rtE1xC;C6{jj$k@H3@XkKgBq5CB)AV*X-k<0l9hd7Ru6=Udh<0HfWq`p{MQ zHtpjH-vev09C_>+0wzUJ;JIeV0_+DHWO!4hdXle-^folny{ppK{fhDs9gf>mX8{w# zRR?qPw0M9@bPb2z#pU2zX7e*`KJLjaQmO<1w%g9Mojx+gs52F^LJS(5D(EB4u&b{D zVLi8WZ(tG9^a2uHHc$K@WW#_zpFpmp?e)q%$KuFeP8Mv_N`mS#g-5A;0m*iPHN0r!O+9Hg&3q4aaYvqvZ(&eTu`!`C9b zQoD9Il7eG2cG=5^xAxz!%2?vJDF**F+x_mr&G-}faq0R6{=3j7XW`;Qx6p6~l@xIP zvm8mr;X_Ky`cB#4CKduGu!Vfs^`z@_P8fWfDLY>*eIC|S=!r{hDWZcs4wS4FSk>%* z1i#FP_Vt4~7Zto>r(PAEq00)~ugktT{W}QAWBZ`Ih|nmLS>-?UmBZYMYL}tZKQEYl zyW`6FC9z3MV)`TDu{+tY4;pdYFD^jQF?&YGeEprTwPD)#G=j5us}gLqqoj&O_WKaC zD<9)w%wtlY;iv!VHQWtJCISglA9x#J03CS^o%rDN8z1A4Y4YKHgjpI3E^aD(?W{}pzKw1pX^lDOGF^`+A; zkeSj*J8;I>r2#Auxlx=mEkvFsoEL1?Lr~GvVT}1-Q$o_6?iv&kWNx|>l?DIujZp)R z(h#Ono100%ti2iy+ryt<2F+MLZNI^&qdLjt>2yF%fH{sv@EK;GOz`3lSXE9VV?qb_ zKDi|li0VqIy(wW?iHJ1D@N3vtA-gViOw7i}e+J}jw>OsU&? zu?uRYvo>=`Mjjjmah#c6;8^BJI!s5rt{_i~MmecGUhV;6^FtZlboZLRUo5V4Tqck( zCQ(xxz@GIHrS__;lnQ`ca@fQp_ypP~~`nSNj3A&!8blPwpQB zSn!X~Cm}HOgELAx@;5kz{|Y5Cfy;*QAk1ErWA6y0NcYQ@Q46L(iq!IFLRieg{L*&@ z21D3Z&G|#Hy}bBJFyJhe=eNSzQcgU!+aBC$RtWIb{bqY&=swxk^zj~D0>ShOq1vqLz z^;_5`uZD?nbU?gy{4T7G=6T3T3FF)l zG7P^+ML+q8}!Xo*4)P-f}Sd)V$ z`pkKVH0t{SHqLLP6B8AVa?Q@|g-SP(N}QZ1%62igDdGY=(k<`PviJ0H36_ z+_q+UpbtJUBK5z6x}+J7drTmy%>?; zdNWa?=!Nf`-N|Gdj4H6qK^1LsF-;nW0Kutt%VGo!;=@Upt_P9%&0NA*l9eQmf=r{^ z_cpEM{e4`(`Z@KE@0fI$jFS4zu>=p-wV7df!V`%8$M!$A3ZPXT{A z^smvf+oTofi!Rh6l-DEyG@*wFp3=u1Zm{(T(=^gu##&KhD~AlR5L}itvx07-r7xp? z_W*p$_#JsC$U}p^KL!}5_;F63K7@;9cK?g7-VexP~5h>zf{ks{RvcD*6odgm(WwXCx1q<>({6+8Rp%@fmP~qOCG|QtVHBv>ML7s^X^+xpaMFa$m_$EC_jiPwQ8bcWa`f=Fq*Nv}TtAdlyG)kOSQ=e&f;u*cnh$a_|sO&dZm>tN*l*5aZ@$vLQ{ zj~(>BJ?x@o7+8%ZS78VDjxwW7A%=Ot!A>3W6ZXb#a8En=gl~Y3O6kT?C7@~y;&8g zhqtg1^n=ZH(j?ERiGHm$mExn9GTuD3&nRE8={><;GiI1TRAAKTGYaoU_BnnHNNry? z8=x8C;TWByRaWPoneVI{b21~}r`+w}jGu}71B}o4oXZi)J5#l2OeAy6{3tLegz0;l zRa^H;mfPNu*iG)EzX zlOX_?RVKnjs^(i$GU{VKlu_hfj2AAC4YXx1OgEQ~u!(KB={%5qGY29|6 zf@$IjgoRU58Q*Uw95o*~A)nu2nVG!ZYgqpsDRVu@(!Qg}V7aTOKd+!*b-6+-1MYj% z(C8p)YVCQWuugkBQ~0BqVLGX4sAMQ;0Dkp`$MTbXxyCD44KQ3k0%_-kuXKD2g zAegyEzU?q2B80Vjznq{aJQIHKk3_%zOZbg*sbl;T1G4PM6}>FGJ--y);0XPoc9G+7 zrNc>jz~<40z0*mUDDzhzFAv9`Y=Bi3Beu)$eK*IoIn56$OqX4LL{Ykb>-*=f!&Dcg z_5$MF84drinsS0p_+#ho@3N}*SQ%gFHcwQcY;V*Gv6mgp7$k-!UiNUF0v{0v7pyep zXbJ}Tj+ZLRSa&%ETtOjdjTU@*CI-at6KT5**Xh=gnA!S1^!}A8Lb-yAbaiV2TL-2S zW#lmXjr_eQT)1VGM|bdrO<5jcXXh?(Glfju7OM+be`a^M2w-q-%^-K=IgE|wwL7~Z z*)k@$fGv`M1<^a8*8@G9fF0Ki}k+}UNCNslpR?@y5=j5 z|HQn%TxrK1L1onYCa{$p2^4FgJuQ{Bqwz#9G{ZxC&^=G4Dt4>xzMQqz)ZX zD3LG*6rv@IfHd;5!WaK$52Yj^q`^I6bgQNh1($L{_Y=Qf)4<4iMS%v_Yqdh1{!8le zqoG5h=3s@i$!Tx*Fa;DJ(qpZmHYQ^x*pnH6*cIJWf)GCmN(2?H1+lZGt93BNna}MfB=ug;MCI*hf zE$qbQ)W~?+btx3d7beL!m!QVT_H3TmJ_8x+l|@Lv`vq4(09tjT1yazT7y4k zrGBZF>alRdtA1D&T-AzQ3HBDcyg13Z9HC2q=SLLK~L2}eYn2gaR5U7Y;67)SBg|g*MYWfY{)E5H)%outR zCZJBA!qTl54?P$Hb%(2Z1^pqAL4PjYh4iqh6U~7=KkGnA~;=c#7&F1|6I6s-w zYF9t>tasy1w5c$@?ype|r@nC;I!L33dG}*=$r(>SytEuUS>G@cX9tM{$Xnav9zK3k z)3TAB)P4^~pJoHE*lHKkFP80h&OEQWfW*N5lX zYhAOTp8gV+$73NWW^x~g2VfA41vJ#1sftvILdRrrp3vTP5;A<=X?`70WQui6hV&5 z7Yo`+Y6y~UvA*C({H+7=EU&Z+v>wGm7(RZzQ?BGHT$_V@dR)NSEC7$rNcVJvSg-}7 z!x^_N8fv-a0z`$@>JgXO{PbCw&Ry>a?V-FpcHV<*WiZpPD-#4) zVeW4ZMhE&h^pS5DU`Y6#{r(o$|F+YnX$F&A3b5wrUbcoF>k$5%goAPN{IBfD(E#t( z;Qz{wz}UWQOutqmKwHLTofGZvnZ|UnW0?pZ^7mML9%&wGzH$NE%4Ta?G`8JP(U>36 z7@x0q;M+DO@yOrhwa@}2@ zcDEYVRk)>4pxh|wpY=->-{qIqo-bw5(e8UjmD#F`Uhc09gDVG$Vbtt9Q^r0Tuq^oL zdJQ6nzg{(>U7ihcTx9c}Sl&!T@m?g_zU z6KbaeM#)kP0wj<&+M*5gfdDy!R3D8R7_4-0X*P@!fJ4bF4Vy(kThm}JkI%yEO#?9C~FoV$4NzGUEKG$j$b+GX`xwv4uKE8f~Y0Ez%0mUlaha*do zAJ|EN9`^QZIj{&0d~)S-f>B>mudUv=yJ{&C$?~P*wmQZ?xahC*(hA9+uc59^Hdb>2 z){VyNq<6lhhm57#b{Ne+1)5vygAP*g5~T{E`?k<_zz7o}u(Dr?861Yn@>}b~j`mEt z@XjF&$3l%R7=Qi|Nh`b#!7t1&@9W?lFE8pEG722~wPG+zyvOtt0ZTuK%r!n(`NR%5 zX(2$@O5?jv?$dSG;g!`MYe`&sD`dk2ddAgty=1danMYl4Xpzi_{y`X6v&!36z}YlV zrGz#1K%Ad61p9&+wAbWE(^ejcUix4a!Q`yR)E7=SI8I2_>f=N**^bw)l_MpzrAGeF zeKTyYLU6+S4ILo~4N6blhh(X+>vTh780&^taT8ihlVOa*JPtO=4XQAmYMg5Yh)&4y z$&XNj6`r>nE$@*0p;zjAUgIU#KMOXz^~p8ohrQu;Fpd83s{PO;~D`+-EH zkrcZr4K8#g^|O9q50_N3z%iQ_tXfk4J;ds^5_Di-yY0#i)hc)uHmu^w(GPqKPk{Z# zhaB4dFd3Vmz|w9G#_rEgMgELsz(pVvc6EGEfCEzgD8pr9Si|k;fmX9(`A>Dk-XRt! zir9syuNY!ZW;SYS%?Av5ln2BKQlO#dDo4eR*1@cYMNJ@nsKM-^0XJhNHa4sYc%U+v zMDCK9&8LdP)A4-~!#|uE*U17E>N#bjd;HhdP+Dye*=Mo_BAnu#G9xE+0Lc^!BmkPr z0hMK1v<=crDkw+~5(2U|ub@yElnI*?83~#U72JpJO_+Kfqj`=)_)x+35$Mpvhu5?* z%%WB#lLdV*=SK{g*4TD|{H`GfFkSx^#CVpvej?K#VT;{fEY)CzOdexlxe4Er#jI%4 zBO`w1ymJ~POVx^$IVR^Y2cZZT1%;5N=Op(hc?ZyfhbtQ0g+O60Qhh^4Z*ef{%Asa8 zTuG0-df8SG;!PJxGuvi5Nou!|sZH_>>EYnO!cSa;h^J7uV+TT zvA8rTYezC*QV0B2&MZ#>2JlD#7w$Jxv&r0m32>oT@X0HDmxioc;%Uc{9G0%XJ48kF zLb9-ro6%+QmN5kt4wR6h&tUEoEzsF0b(n8j1<=2+-}xY~N`b4;t(>)4F#7EpCqbU$ z9Upf2+0?9GExjW#I8K{`H=(yD^N0w>Db%6$u(&WKbaSiVbJ`N?m~(i5GHdlHY|Uyf z`FRuCx7*78m+{Yp?Yeymh)b~Jr9g6!;T`U?6_&S_A=7w@C@5k-xM{Bs4F5aI?_zLt z;9aSE+w6(ziPxlV?nvPQAmG_&H2Mv)?fx8_km>MdIf|Rf&gZ#i0=9<$7F);!99~<* z6xQ#)17+P4yjAPYf75vYE$MM?b^1{N6jenKV!7E9x1y`@ z9Gc6aKQM<6j1|7+ooMqqb^gSFQao22&kRD(WSahGULg|qys_F*{B*`+(J)iKsPeR{iIkK4Hd$tq={am8upV;y7-xetFHNu4jMGn@WHq@hw7uiew+Z@!&gl{Q8rO_g(0) z47Dx2c%m)c9NrexWA=<|+VU%&QbdtKic$*66k|)@ky(ZS+zCIDZGsVXnU?(o79?eG z5Q?;VDAxFu(`lhfhaWVFiR?nvi+IFDpHI8&QbC!c*p5f`vCx4i`N6?>m+o4~{AwH} zTb%LIRHY#b^K{LW-{T$dMRIEqgjB{~el|$5#r(7BxV2|gZikMvy0-PyF5HGV&x1co zjL!tnI}HP&*{->eg7EA98x^J0%wb@pv`8Z|G~W;7C4+$)Hb;%&iGl;5RK8>75P2li zLc}X3Sdu&F%N7k4@l_~Y0+GIKQaEro3?|+KHZhQj z5jQ_J;uX~7RmEYn)4({hXXV6g79p$^MR64@8guB{_SaQi`D0~b9(N(b-Cv|YNOH@m zV31-LJ>sL4ADy++8ry)@kHveO3fB0`Je61%4?-mAjUwDKOslG&YK(NJTFv6ZH!Q*= zh2)^C0C1ZVX#Sze=1y?g{cU5 z!9n+%eP{`WK_PVDp>_Xvg!CmJ6hmTZj`>C)LHiZF{gVy`6FT@zN zI}l?7o9X6ZUKciu|MkpFA#iJ|TfVO6L~(z)7wIj%JOWy0LSX^_oQgcyCox7SbT5#Q zn6KN>V9-s0Kj6G8&pgopgjIeKz|dl>36Owkr?C~%(_kANj~J zgjJY)y1+m8yXgKqe-MKPar}XR3hTG_+R95xP8M5%2w1?1^W_Ur7 z%v)^4wahSTJnmv=L0x#}tzR0Q@naM+HSoVwV_%!Ob>+pI3r>0`*PvS`| zn2{*C54^!c@U6VM5q8wt9KB-O`~^#~iQV@p?zQI%4y!)dA~B+TTaygOqwh{XR^Hgb z39HZ}%cBriXO`0d3>q4e9Y6nLBMCVw*cAGMPPvs4lxzjgu@qytOd?Ei+$bh7H>z z(<>|gxonf>`}SPYc+^1L=FeKChBo^M;swX`Q@4q%u(Bt4jp4Y^tPy0fEX_s?GH6G+ z6DF>wxtQLVxg^Afj8Bkjq6fc}+S@O9FEiJFrNUsG%>N@|JQ))lfr557Z<`Wug9Ay? zxOz>4+8VAjl?V!dUIOvIIVytwOiTq$ld&rb^v@kPv5N``PdH9{mWAu@I6<(f)zqEf zNB_InjrkK^U=25os?tvH3YsN;Ilji-eJkdN zp0#+Dm5096&omtQ{379ggjiAU-)n&0wucSqnKJSO{9+~dCS(?Ew5bwNn(Jb2J+r(8 zEF>>8psSpmefDmj=U9;&+5u(Oy(BGH(IDOmmrA+FJ1+G^{Z}c@tVb5@SpZb2TUL>P z85AC!dd8_c4s6U{%ZS0aJk6qa3D1^g6w9lLja5#2t!)#Tn0dyyi;=^3?F7JHKe?TU zP%0mnDJbIUsHI}MaG@QE)h;Mlnp#Ld(;DL!Yw}@4o`8GNbxH=X_G42V!4Ohn)2=W{ikkj z@il1RxsSveN)FIpE7IPLiz?NuK@xz^1x}BiK_-n!c)7Kj7qCkd>qWmc-rQ|2IVh*P zT3!;zu$!-O#z=hz$}!ikq5h2>ozYnPs6lN>J+p2L|7BvsX)ttnwhZ`a;!dcuc0$#+ zN{h0fQ?TbRF|2}JG?8#lFEO6QOFH7LqI05{9hprdc<1+E0=G*K|RqDkH$ck=S?t zfHQZ2M7m4+6D=VZ>YABaGe7$WpPM?>>*f+Dww>dA$o#oMJyy&dS)0O_-6(v=of)ujEi#2c)t z6mhJD1kEBh{l-WQ0kbbnzj@GIH_O~n3{&k0n*Q6${EiWO@fYzSl^Rw$_fHeMk&0@} zVK6Ax*Sfq4TroI+G4Z`boaVFehCgY>Wct}#m*dd$1F&tVHf74+$awRSGwtzntT`5y zGpFAKh0DT*s)G(vNdFi0&<>A%v<?uR_44M0M zm%Epe0*`Jx10i&1dEAa?=@OxQekd~!?@YlD#pJ?0^kRBu)OR8Y;WKT1)uTS5$lLcf zJBBS!5qI97q14MaSp}w-u(G1>p@9GKq8By zETo@}-hXm#cY3D52_PNk8YW{V{!*QXi_P(2N>AnnxhUtNtS-%~Dnh-cuwOJii7<#y zRn3eMzC9pU%zg5z8=Dd4`f;Ig+Q3HJ``zn8>GU#CfQQVGs@b=08QCqR#C<}&r@8L_ zZ(ER=JH^3{fCiBbj!D+c-on+AgoT4G<@Xr|?H4#t&S9MsrSqzKyS7u2!h)Luo=g1u zDZ5Z4loMP5hmRxY8n0ZPO@$f7`=hTY&p?$%G^LKyZqO3NJv*Dvt+4XlWUbR6Uo0`1 z9Rxa!O_1y`?`}k%qN^AJ^`ZnP%ffGCieo892{Fk)u8~`WXhY=+a?`qU9L}^eDfZTq zeSoCMwe1fr&oPYGlX#?|B244KOniaDKhbQGtUvz0X}r+yd?Qe!E64{Rh|w^ZEw6tpxPXyXMRcn?Y{vQH#RNiSiyz&mp3Rbp8#uB5D(B){{n(+(P0}i_{mI9E% zR7k|O81`%4jZEO6VuJGzU0WjjnPn5oqTU`FP701vjM6p3Y^YmJ$PfR6y30J3TK6|n ztAFwx@&?Y+vb!9zf(4SiDpXq-ryb9lS*wkoW(B5pl2{Z1a$JaoERuyz*94hgdVX1y zo*W$qg7hh>poCsnM7f9@!wjN$Fa|J{C2GK>l_r}-s8pqdQHJTr8=!(LGg+YsMaH$4 zhIw1r+#F{|)^N}`3!2+|?nSA4O0&u)YQ8Y;WY0VMc*^tjnI>w6-#hEBSTSJGsc*JO z_Z=rQzjSE3+eB`i2^v;CyY+aa~XAFzJE~X$^Fnhnd zlmajvZq!p>1wwV?D;nq}m5}Xv3Bm$I1NQR_uSj?h z!Si!h{W0*NVwm$0*uiC@5y2t7iS3BsCT(eFEZ_#M(0CFzQsGauS(f6wqEng=_i~!%koE_5cof_>e5l4qg1A)J@ga~q~L22&313O-SS54!rf?b-r2{)FRSAr|oNNOye ziuMBxuZ#o%PD%N{kK5~eWNF>vR#B0&RgrPuwQiVe!uB(-kWN_6l=`@W1O$t2o+-yM|_Dmvo2^6 z2Zt47srhlXgdqet{Yo^vXUc7z3@Y!#EHlYJyqaWL-Nq<9Qx;gfDONV_ z{MmeeGt4#`^W0-R@7qs$;i>F%^?(+S=+?0P9H~Rr$o>3AY6|3kGbjkwm4<)LW&~csF`ir*S87Qlvk#R?(xs0%d@rhry5XZ4wHX zhFhvG@s_zJ#h63?QnycowdOQ*raLEj;!%(xgFC+{)XV*K<*8SF;8O`{U8Y z*+LzUrJwhM*ymp!tF^iMtMtREg_pOitm;Dtb&IFRDjq(qP6vg>$UTjRyZyVchu1j5 zrr@pKO$J2bvD6v@MfwlOw5>(Y|HkHD7`y-AE1J(-2+F`gxl_Ih6fla*+zG%z1Dnge z2pAwC9Oa?+{@XMqPaOsG%a21i6P2!+*`L51^ed}R2_RU40t#cFux5=7b=obEK+s^BOImYTQgQ z1Jb+Wz{UJVohP}8#ad&fs?tBhP2&i$OML2N?DGmK0Qz_Fi!#c@sU!Y;0G9-sW`4eU zEH9-^^Mn*7ImFClS;lB^0{q6YS!kQu7*q3}qd(E0QS%#J+U5)HehnDw3$2B9u5OMYGfXKOC4pS6uhH-hkFtTU?EJ`CZYU*;A zI$mnIPlLeX0vI-|zM`0xGV2OFLV=NSPvh%`?iY@p1Wxn-GwK*Q`Q*?{*!%3^)c&2S z4Wv{-(VOR)`5=g?H-}BFFNTfs=SHGS`6cm()D&`@_+P)ro4w}@B>ApR33a) zz*s<%LoxPGA|a_CAV6Yu|zJMH!f3}p#lc|a`T%K7yrLl?Za}?#PQ7&!Gv0| z@Z?8Q%-|0!3H@XEN|>|4zt$p09>0I~U`Uj=6~hlqXGbE2ra$xH8x~Q) zr)Nni`-ZUnAn99Lc@_efHuh+8Mdj>q0a~A3YuC_|k)r-#uuH#bxIAR&Z}#%KjXBE-It2 z?)5#Em26vHi76-~B6}&dg>q~^#piuRXGLH}z^R4dr&*!~#dW9ZIebT!udY0SOR2jh z_#)8!Pka5fefFOjnv$!I3!fqxMZg9yo$L)6H;)Keg;q!Q+=|b-Q32A3Y7cltosA2jg>kx zx4br$`%^SAeu1C0U)GK?qMezuo@NsZDPz4qBn?~i4JC1yv5K5z_vjCz(YLG%r(s z!?$+nvdR0CH0#gu-lI9LP>=vL+BvE1up4WwF;P{lnd;7&F;Bn_grOQjN%|`+LFYND zHvBcy(hcAqqCXv%ENZznVE2?*EdW2GG0FTketuRq`p6}&*J!#DZM90~ZlZZMGund0 zQ>me3W{IE7JM)3bZ`@Vdj(+g(p0><)g)rhYLd=}1D)L5XW#Dc(g`o#%o;jvjgI(({ zWxFzG^}sGdYT&p zBb1&X$8gMR#DQQp*{iv*lG7zi~Om9r9A-5x50EbHF?!QuE{^RjH+uix$S<*0+NIfTwk8@|+b zI9>ghhXak(1H&MTOnvTO$SbP}CfD<%GDc}gjN<=P?anIli`ApCICu->30)c#VG{*O za>hS9Zn9(@umhnH+5Zs3ms@L8;aI*vE&PPjS{IBYzZ|D-7tBD+{(;4cblopDoLgU% zkha4Vh|71~!kIB29;c_65D)^)x8+$NU&K*mgTnT)ZNs)J3eQ6$jN>3}O_*2BJjgT_V_cH4m87u3c|s`Wh#8Fo{ZRM#^A2q9Ns3c{k>_PlzkEX! zt3g-D|03PXkI|yepM~Z6>0dCGSUd`Mf=3z#W66{>7fa-crS?bg!sLDjC#u|*4cEp) zk+5s2-PfJg6vp-%pl&<_<& z^$UC*K%?6D1V72*yM@b@3YA)5;6+XaOV-lH?hk+N9hSSQK-sgp=at7^Dbqij-n z=>Xx?h*vtKThqW3a2XXE68|96PS1AMEznaeFwj5J*0zY zVJe+Ax{KGq9X1j15QoBkpYL~nVESUdMC9zH%LV@>)Kk%+4 z#Nfe^c-fO^w4wO&QJiNV8Je>lyemy}^10Y5|A#IMBvgW$8U*F>oz=I2pKxF7mDI?R z!Ojz{K#wx_^C14kvgHuxoM5oq@UJjsX=Hc)<>3Ru zV#4x+L?Z9iG__Z(!<}3*9HW7FFDaVDadwPwK4iYm6tkc#M7OW$@p)ah9?3VU$J&#% zKck<_=X6xwLH`IEds`>Q8dXt@*Gf`DZLz$p2>I75At}?S-4%;MEuOAPA z(9z>=9LsELUrHEU_fHM?i$mLDPKj_OIz)Dq)$RBZn`u2hTLCJO6Y{?pq({%mm|Se0 z-*rq-y*%w>aHhLJXf_g@a`f7c<^wLSgM;wU81oq89Y>%-?PnA8b4`769HPmAK{CJv z5qW9{i#P;Rfa#oP8iJC4J&N>fx%apu{6{@#R}Fv^PQ0XxH$`kLD$F zPPv$D0r)WXP*BsRMcR78p*5U8FKic7U8kcJd9sUyaNfMZ>v}1}VDbn2|5_qMEAN{Q z>~uE2KI)YlL%_fC*!!zu71V^FiN9Gtfq)Sd(B(^&M}4e@m3OG|NkL*?mK;yf(I3^@ zU(B(@Jh?b2gDZ}G))-@H=MvDpJdb2mhj21!7+y zD>_NkYSREO6^_|xWk%OH4j{yIw9Xa)@|^b`2CyVb!tH(BOTp-_ArHeGFEa9*Ika>k zkLSs_ll3&SRMIYJJGetOHyQ?duu?T}vh(5bXPq%t=iM;y*f=5B1FyilhXX?7y$>_j zZj$^7C`Cc3C9zywVAd^fB{G`RK1dt1Y854ME|GGtu0c;=X;8N5Cw$P9^RtKQw0IKEJyge?E+NyOp= z8llWHQ!+MCt`d&qgQWJL`yeu@3`e-`)}|dYPKfu|f92-WhUWaDNi6-_XJy!!84ntx zfy|3&-uQRIN=Okks>XQ03Iy%a(mnud1D!amA?H|D#J{v{sh_x8+L8bBMd6Xc zb#{f?jOA0e3FKoU?$6Sy2XqRZSha>Y#Am+y^0!6zz6kA9)|hX>?qAk57<&%ua|>vQ5_w( zRZ3|YrI??6Kb?+!^?}X=xO04seMMI4AriLzWxazs%+DmsTVR`Pi4T7%z1ij}(O-l2 z#8>m`CVqYJSTzqiI+vfjdP3lX@UDhQiZ6wK-Z6Wc3?tAXsoHkHkw%8 zp{?(gtF-!&Q=+f>Nd``PU$`Mi1f@yXJK4OlHyvW5OUd0ofCxl<$y_0`t>C#vkdx{f zmtu^BAJjJmU)GMfapF$H#pm6Z=kKf|!O>%1q6%K$d>;a!ZS~{&o*d@yK)AON+#b=s z0P}(7CQeyQUbO7CQ;D~>ZR@TJdhbBtC!@y?*w-MW6MWtWgO?vLitZgEe+=w~KkAwa z&!e&eO^KMMISn$6jzE}QY%F9!Nd=#wrDQGe%3G_)SosG{jl>D@XTVZtnZ^jmv{_S69!y*dPvrmd4MGp_UR9!0dpKV+b=c`#v@XLYkAxQ=PP z!_%aDq$c5JkWy7h!kGp5mZIqaob+JX)!R{&uy+u*W_0^M+(PQVW$JOfb92ii1aH&( z;c=S);UL10%ZPXwEO5PsQza;N9K-hQ7J!!1=cq(X!<6{!C7_;S~57- zv3kl(QW(TXLa$JVlj!L)j9rB6E{Km-Y9SshDq0`dP(A0pUF+DSOqpXcxwomdT8Rayc=bq1DacpqwD=Y4X8243URVgNigVuorS>fA)aWUW zg#-})8>#FhB5Xz!X>S|-o3*|YY<62nDe7Pi$`cL&);BI9%0MTz0G=ty_-W?O8>DHz)yf6WJRst$ye4F9Q%BB#AyL=Q!Rx=KL{>pLLz3gtu=Ey`iRBP3|FlpQ3+xl z{4vpz?5iDHk3XIxy{u2sHV+-6f!KgRlo&aIR_-pRd4x)e;y(;bg>D$LErfLSz!v3y4rFKFNPEA- zvm>tYg=>*1kfN!jgUseAQ2JU#7mGuFo~tGsN+Laud`_uqOgjL((X@meR!GeBx{5fQTEnmR4)D>0MS4$ zzZHx*`m~;lPB1JXF+LJU@4KyA-?2;N4#v2E!Fw=aq;0nIgmd7xt^+p!lVO|DObCgP z*bAcddAl@bv0_4tet*n<=o-h^l`zg%g*5fnu~qV~p|Wv~98=nw52PK-w^`*YZamLL zO+b#vs!h17o1BU!7A;=wJf@OH4pAHw4{HD$ zO>Dv9sZKYgWnJA-p+6j;G9Q1U=4RTq^#)ZW9(qsu2?ptGf`46U*5r$E3WTQd!6!Ti zQ6~K7&^1IPMe7c4Q#lH#ET_4N&9I13=%xmRZiRz@rUvi!U_tdjr3Y_(hgbK$nV)A0 z_n;AkfMR@50)w}F6oKQSq>H5#M00sl^dgM#P`0hhy6LOoRvOob5G^OkLXWNrsgdEn z?AoC_(i4ZfqJJ8Uz?uE-edNa;O0yeU1K46_Xb0nOzD%4l&W-@-+_z0M~0THB}HbzQm$8g|IlJ+64Cp)7sk0xOYh2-8vK z!dA+GR8)RbxJBirdttVQId&V;sPJEIU128RvkzVsAAhff76r6~T}e!rqN1Uwuw~wo z5Z%M8-vcfkqCA4$)irKgrNks@^W!4bFrT-$=F;#G!>oBi4cJwe3jc{Zk*I`m-6MyP5mFi@!gN`!a3Yyjke9d)y6S)pC za>-7039qknRvE{`%p?=?(*91wqF` zxse>)$Q6hNp67~(tOq9`morA49d>49?C9eJybHvdMG>2dMG-B9U0@| zcz^H6TV_3k%WeCi`z6m8PIgCU$*n)|yRL_rX^8USxe58~*zR+T_&}MF zo6iYxqL_sRBvit*Uit9Khu4w*KcD?s*oho*OKI5d$uln>U#qY5dOkc;@V}k?c@&8T z7+Ijhsb*YYkD%S2V8fDIX0>@MTv{pGN`HpGk%K=e^jQ!7B-iezbYI7#zSabf_{r}* zX07IDf9T7}v%elHj=*P$3rh>5`--!_gc&dO}#t* zG-7l(Wao!NvjizoWt2{-^0?lJDxX@m1160}D^Ha5L@_(H> zZCWPCKjVG3yI#l_r;15q1BkbPEUd4g^)9WH6IpE?B=m zHN$$}?pDa^4sE}6xnQ0J-HI%Ktq3zY6GX~L$)KvLxaOa2L%l!Ii-{lG^}gRd^dQ>C z!z!`Kq2;IKkRI-+L*H$h{lJ8uGoAJOK&pv{c6+}PS==?tK42D1du%t!zFDIulp=m8 zkG*X5O@x5MY1VpZh5@rnd3H0S_)J%QF*%+YM2R%dgty4;12mLn8Q&d$w`;N?zkO+Qxdf#;!dW4Mmv0+6s%DU&Ak zZr9X%_k3V$xyj7T#e=}cQp637tVr8CN1(xeSxH!DZ>xdN+&(Q3^VQr@V3mIL+{8Cm zkQfFl@{q2Q+?e>ED+4)yM`m94$Igjy^1Ggded6Zhj@#Z7?Xw%Mw+hmB;PHaV%*Lka zXY+|4?XH7;s<9hAhbvpf?;Ec}spIqu#gpaAgVGe*EP~dY#<4~hx)M{+s!~xQIh%r(Cj>#ulfs~XHPV7;$D+fa#R|-W z)`DiE&7$Xt@TCS2w9vDgC{v`H&vj`J7qo)GE=v!tmVQP{pQZ;zDoptt>A{&ap@hp| zd<9UIxq2#1U@p&OG2+!>-<{1A&SngA0rQN3r+0DX;$b8SaO6zoqViN`JY-%LU#nbl z^vuog22Iy|`dYbvTu*tfr##>Kl*i-RSFjRgmd^F1SXrW4G4gl9N(7EdBS{TCcuC`& z0EP)Y*kD^%SuuIACj=hsNudXiv>+>C(Mf;~tU&0&Cp4QCEP9>@UupnB3q8AuGG!$5 zxi0PDJUAHa60E#h`dKY~ij`%WRmHbS;|jQ9R(vgub6m53G!CU+dT|=J5HL^UczRzy z_;K)Y3Q1=Uew2`@s^rB7Ke|e#to%8LEo1ov!wbv!Wn&eqGsZ%>zqLy!w8P+)>{vqICUNfy^_SHGuIEn$l397q@)zwcN6ynl2|2f)t&(Xq9TE&j(b`<(V$KK3Vp9>iR@{DT;cmNCL2U zGK$h!NKxjOM^S^I>%+jG8O)omYwsy?Y!4oV6_9zy=th?!B9F(L4T^}=Y;Q>L>+stn zrw^Kc)Q3ZbheXRgh8Sue`s04xBpWmeQh8h3b8QZjR#66YSGF{p7CiSUI+r4T)prO; z{(yYo0Np$~C~qCS56yVbQH^2tC&Un_RKMyF>N!{u8E}5bL8aNQPcdAnDn->8Ns00i zo8^k(R}8;e`T`6GLOm~pQ+Z*G=JVnrf8qvz+;e#*iy?3H*D!q9ZI0n~E?xO?3`h zgBxV@b2suNcy4-2W6Cak;b&JLGU<_jMU9#TDxaCqY>x>Ox12RR+8klFM$|ffv>~Q7 z%8iO&4+AommMU$Zv=|%WiLv1Y^dq=5;JBmRD9veRf>owMj(G1|UTG(3(_&Q>hVcpp6@2`e*|$Q)-k$W&Q|%gm|Wf zwptDSs9#Wt&*hz&*V0;9!P|)@LN6PPfIa*NVzVR?DqJ#HkBK3%TIj$pf5<@(H0-Yy zH>T_p^x6p;aRao$et}|#Z~YVDk>zQfX6t&(Js;=;lPwe5JO2G_o%P5sNNF3l*5_u8 z{5K)Hjv1}i@uOS2J+_@iH(0!X$P`wJ3)qXf~`}%ukW6OYV+KX1QJuMly2^iSkZ>^107L*8RIu5RXdp%-;`*_Ey z(31b3TfEtaScx#wook6@y)w1mar-0Iyk^q-Wy&S`yJsv zrlL>y#_a%J8kbu}jOGp6dm$dO@G`j|;-wr;3Nk;|C!Dw z@isf3gmdOVz@MzIB5c_J4km9m4KP207kp&g9Z4j4DyLPL^0|r{49kkz5~rLiWA`Qj zLA+)jHw`>b9~An9W%{h-$2> z{Xcw+Y*z|pZe(+pCv+VS0Wp_gRv8ty9J?In0)N6hU`aI>Xj~naV=`a&-_2*elsx;) z=c7RM>q!~XWmM(0d##$l=ZYLwL>^eIt-lb8X@e-Bes0Y_!v%ixQso|FlxW5k?4ihk z(c;v1!_5HF_0jBsd7h{y`g!YSYra#q%RsxdpaKo-+v!h|)1jRJvi?hHcwU zKYs+<1QYyeu?^+~nTTx~oDvzI#x}?0m<%Gk6DqzB-j)OB@J8y~3vUiCA`dTUjba_# zs6;WIDhpawzwhcBhx+}81N;$ZNknqJ4S$~M#3A!c$H=ZW67X!4Rq~%Zg|U@L%nVh3 zN=pUX&qpm`1WaVTR_k>u-?LX?-O#n53k6s6I0wjn;NrzOu=;1nkcTf0Mc+^SzS~U{ z2;gAh)xO2}vRoPpl}MH)d7u>Pz1fM)PHa2<5IYfr-$<^o5Km(#RGcw0uTrqGR>EOLG=at12UaOO0j*&s^q6UV#b87G!XVoL!SOSp z)4r=B6SQNdg6S-t$L`i37@XH$c4~&@wzs}^Tvb_>&peY*TaGakU|MBcS^LpAq;|vU zZcM2G%T-0Rp?AHM+`_)jfvZV=VSnGTh)!i9NSUrK4wx}XdHAD+bJ!1~nll2L8+ZrY zu5I?IJ|fdi>kNcRvvD2X!2XT%SLKD9z4~J866@Q=G?H80n z#cib2&@3(#9D=n#W--gO+$`T_`L><@!t9TDs_ah&3z8r+lT4=KT=s{!9MeOyKl4%N zvOoXV@L8ycJghhy9m!Mya^#PUj-Dfom$S&IF01CYzW!{DOSa0E8=5T^>1<}Tie?@! zIcn+QZ`)gduA4PzQ#AnZCVx|Kf7m3yC~S(kcIyAjAiHnhyEB^r*0-BSkZ+>z=mx?> z8!@(B{l0Fj-6>Bd;_Uo0v+>;2OF+u0qJfYMzMVkAK(6D>Y;0y@+v%@VGyqf<3IYZx zGtfbvF&mc4G1)KtKC`hH^|+#e#fr!Si}QAa=Pc#ok#^%BEjYzd*?-v@y+!iEg4l?f zE>X6Kow5mMo3j2?mqTGe_|_as*dvBh-TY~DW-;U0sKXl@=IuEio9&NYtwDSGlrWL-3pgB2P>(y0#Kv9QCM>!C^(@fyFvm76a((RKZk&rD^76iCV&; zs|p-gn;*ln3u>&G5ZWcye1K2Avs`IxI$LuJEDhgMEoJ4+f~t8I2ndd_UcCX@258$( zf1Ml%fQ^z8eW;wp*%@EfGFhGny0Y^@k4u0MPDCD1tieoj#eYDU&>2e->&RlF7vN{% z#vwW_DW(vL9bS!=AZ_M?BFC8FfZh*P(K)JvJ{9g;>q=IB2^P7I^>4%i9%z7*uJHEOEmYB$bTVQP28bEv2EP1V>$emW|JEWQ_xeRV@a zC<{IuD>|2%j(;-yiVnPDSs_W+)#sD72v>{FbMH9lJa?9|1i)K>e=oAlJZ$D++v%@% zKvJU zM)WOpdxcvW?u&+ctD>)`db%|7eY8(W7yAM}0LdW}|xjL4QT`n(f zI7lrZ*MH6aFi`y)=><`*2dv`a9WdgaqfH*UB1hn;EMPt_(8nv#G0$6_jHEky!PI`-{%A>VY|_`xbZI24IHp zVp+if+N(oh9?R9_>Hw7vZxxdnpB?>6AbQmJ0e?flnr$WQ%|35C{UH0SSe(R95x#xA z0NbmK*zpGBEzLK4Mp9GP`45z%1xigzFqudQvm!@>b;K;mV;)bm!$iX?NTThBC@0ZA zNy5jh;uQ8h5ju{|6L&&9HaDq9f*pP18T*x2;_3BzwKtx3K>K|z%3PnAwzw8~z~-Et z6o2{smQAz${}Y&Qxs`79stlzOrRYyw0k&rlX_lEMFwl z$w&go^b2ITxpU5_nT{^t?AwF5c8%+kt0(TT(G9q&@!VBK=X*Cgs%-X{0)an=!_(4n z%!C!F^%AN72cNi2W0$e>925dHHI6_fE{CF6SdboKYkFF$#cXTdnZQju$5YDWC9 zDqzHZ#bx|{mB@HlCA=u&ro&%l*xc4c8>+1>UE>VZaNG195vqZ@@9Ueft@cFxc9nlX zx4L@SR>RP&tJd}%H_ZV?Hr)*ouEqn6{)kfaBT?6tGm?~z)>dl*%jes<_xQ{fyJuP-kctWFlOh-U)U zm`6F+X|9WCy}kGl!Ir#@%)VS?snCC=jP4^Oe=v2^2C`wZC1R1Kz|sCuS#ubfWWc`= z5;#W}MVcwiRV350V1h+JN|vbhJHU~)Ux#IN0Tbn(voKi+?s^GZMK zN`K~-*?l)KaRFGB@U#GAg0JTI_|qRA`}r5OfIZKVX`N;{vgRNuDz&wkSc1MUpIKD?3UyI!&mzVqcU;QemWhLrKTymRNOi^5)s1B)a;3nSqSeL3SP*Ep4g!&s1n z=_)CNK=jT4y}89Ni%SOH5UGE#;sF*bGbBaAebcstZq;ZZusR^}w#fM-K`4_lmAaf` z=r|y>t8xN-C{IvYb(;zSb3+Zsh>FwzQB$%zLI;{>FeB`g5Z3VA_ASm+s`#6I|Brfo zpvw1+!TWoveGaAxtw{6FzB_;gSpqayX{Pf?zy=m@D$f9Y2I%ujKLLNBGlO%_3D6v{ zlV{+X30TN_)NMyj?We=k^n3o^s0p_Qzk4tzp97zzS$XI z2Dm-tRLe3glypw@UwiaD2~H7(Eu7x==-}QT1MR)VLWEY2g;2Te_XhY31UnEfv)IDx zOz^~tFay~q#si3vR`h@Gk$;UIJkFJfOrdSK9$PA3<02p?W2K^>tHzjyA*oS46M(vU!ZK8tz&06V@=2FzHO`B zP!A#ht(leiS+8l$%u)$jejH1dzq2Fn&6*g6GOLO`pL2PZhij6@80mW0f#$<;zx7DF zzOOrb{3gCs_uHvt{7V*|{~8Mq2Tr;JXMB|-8xI~+$y6jbsQjB-c%=)e7j|b(BXc1O zS+dFQ09uq<=*fTXI6`1|94WLro)#D^VjbEY5@2q37Bpip79)?CFC_p*3pv|~G8wD6 zuFLhXb|;wZX%_yx($Bck#}>Xw8CXhV;rV}L;g2nS1~!r-s_K-Nz+*ibkDORv~} z36jpP@Hy!Ce+xSJGX)(Y2hXl}42x{985lhtbSy?a6m;-k3_2`QETQLA$dP4f&ei`o z(nC>45kws_j5-R6I*JFQ4mpcD3LAA4v#3LcQAc5;jv|aYq>DQ6 z{-L%Lw^o0gqcx&-3e(<`BtGtti%eVKtfv?}sQA+C2`~se^-P7HITwC^8&6dn%9kgdq#o z=c{6_w{QrFfbr(IU)QI!n&uv!kjy-F)wK+JzS-C2-VCD4ZVl=#!yHkjC5Iml(0jgW zIy)8TmHxF?P0#35utHJsOI0DB z>{fpi(7p7}1HQAD?};e$_`Bp471sNH80ZnerY2HbcQ*!zU#yaxvG}F!ItO5+^gm`o z3?bjD+fd<)uV20Xb4KOezD`V{Z?~9$Osf@hhS@)6GQ)YfQvQm{n`)q~`>{K0$nKeR z7`}6u+$9xvMyj6=R0~B1*6an5tM+Q#Qn7!nt4-3I=L^8=&}?hl2e5u;l80EiM5fj+ z7@Q<+Z0L%-Z1+*3<)+XFE7e z3Lby^`VF=GfyVsFIX2)|jaSt4c5F7a?f*w?*bv>Eg=1L;YOM~ZRQjs-*NmT=B&~m& zZ^|dmPH^^bxRrprO1aYuo)u2WG{>o6Ioc6-0PALVm}c=nNo6C+hT3qMO&|K%frQW{ z@jfFCyQ+qU95@mG0A85o=6n$x=T5WX5u9eMFHW-+d$wBi07i@Ws-|E6&0xj3Z#G?w zB%dzE3Ug!DJ$_wSZn~hK;hD#qrfPrt8#|BLlb><3wfCxycZKI1@LRYwe!0iIS-O8(2$|eMaBEu zh9t9+SP|UiF7dgoHb(QDawSN+!UK0g&q*((7taN3p3g8Q7Y!V5X^(#zqnEzQ9dt!g zENM0iQp5S8mSDc}R2~fbJTm2U$v*8qOxeQM_dtee-S$K6Gd`?QRW#Y_O%&K{Yl)}PMwSQXBZ;0dk@L;FK;W?qt{3vO) zI7&J^N;)`7(7^0b(#n5*9#Asho#QqgOl;bbb6EN_Pvj}Pg_?5>nwz7DqsfC*ux9O! zN+tt}ZTIGB#0iZsJ!n#E3;=8Lr-`!ex3+Y>H*d0`WK(%isMnQ&SgcT5E_hA>Wv^UU z4|a;J4ehAC{(z7X1OA!!DbU;CIJF;$u#Mu%Hc~KJF`*G!ySheS8yk1amtd# zkmyI7pqfNNsSaaDupv?!-Wi+yde}%78sp+7mxY39f*w)0Y)|I`E3_?zBE%lGBt9Dex|&i>7d8nblqGJv_s0n zuRbhIr8M`LkuA>q(-*iJh7~1MvY-wSi`MlPWods(*F4ehc(8kMptU`>oz)-O`(|rx z2U=-(*Izr9$_f9KZUrleUM=i8;QMoIh)7GhcEj+AEzF80k1U!7G}Nw}jTd2vLibgq zIL$(jW}%0t1MR6fh_)~8%)X;`Ykp=@o9&5YKJ2P38h3Xo33KVd-<*$h{eXHEPRy=) zx0`>iJBMj|=pf}W!7nld0(_lCKHz{@O6>y!fl%vMj{9P3N(;2w!W9yoaojsXgFplr zUWa7|%R|VlHz#&)TT^&rq5wZb>|0PGv&&?p?ZT6zMI$oq7fs4SymKaCeM{B)mk2pJ zv$wX!c0Ye$tVpK=^;Gqo17zFB(sai4(HnoZFYUaM7pGiUuJ1_)Txx$F7RO`T z(4KmS$)7BDXB8_<2ld(1REIVZl|vho4`&*^Eoy3X#-(ti9-Ihv*p$Y>*vt@I+7u%E z{uq5tyqCEwRLXH58r;e+%w}hkBE2ajJoaPLRWADnSHD&THQsI_n3^g6vM;*MnG49@ zx8|Nkn|f;yczGc~5J zm8}6}VwMS(eH8C7uR9u3I#%#7RD=^r3|?cJupVOnG#l_7FUn@>Ia7Zuq2U2>f?9vn z+~t~~?Nia{jr#Hcb`*Eb*-025Q}52L8J~i85+{jW9lCSx1@WeRO4+5@q3aIs>u$B( zQ$qi}+k(uUg+E(AJ|aI#M#EL)RB|;9@05`?^E61hq>Lq(rmI@7=JYm{t;UA`6kt4X zY>=5({9QjSJh<=H^lN`~rI{Q#RpPb2|-U98xS;L5?HbiaiJ*TgPs-<$R zTq@Vfu&TSNbfdf^yD;I}-tNDZ7xj*Mw{6pPROTudojg?$MfgA!!m6fA&Df!%CKV)w z4UOPuDv>x^Djg0F0;#5ahu=EjyTXQtfIau;dg}|G!k3ou4tsyo7rO9zFgg=9ZaB84 zbFmsw-u!iGLN*pc)y1eJCl(4=BJq`2sz7ZNtVf3s8e%}&(c{pa*&m(6;XQ4tazuJ~ zPeN?Hh(`Up+gC&IWZ!pW$4&lNJsXAr7e#qMrE>aWfe657TaAkEI;R*`XXA)5cV$YT z{;z2cHlzlkg$jQpQmGdxXezR%&X;1u0RfP~00W&+0DlzzW0Ny?zsyId`8YxyJ#y%v z*w;ApS(uvzr`oO{JEVL%*{{{=a*oG z&WVccB0PXUt2(o7>auf*6D-Adm!%sgJUOKup8Lvs;fn6l@_z4OZ4{b_ zm}j$W%g9el3L<rY;=4os!`zbbp?KVhNn2i`A?b*UaO)i!bEpgb9pdM51W*yf2A5 zO20to%$R>j8jkn?_mIiB{IXJNc=k&AuRUEbboo)J1YF5;&sMlx6h2}+Q8F{^Vl26d~^dg{kYSnSwxnGFEM|=;IlMLgR3-_S+@GD)n~1i{yc|@Im==I9B3#N zr)lz-(;_a<^tAl^eAKfJ6??3RMqu&ir}A9rIOl)*nV-u4&1bP6*~IPVIS&_ahN zqA%z|MzgK=a3&`Of%v{YAMR`p&Q%e`Qt=Rp1IlW96c|(DV)!=2@;Gk+ElTkr>z(VH#MmX# zTp1SG3Ze`rZHR1sL7znDWi+0PM=jjx?xlaE(rEkRJ`xzxWZV~4x!>aTJG%ZWh01+U zV6&od=eIAv{Ql)zqBXs@^; zlJq5Ux_?CnoBh5{@u6Cc18dq|o~Xwy+%!pO%k60$H8GXB@HxQIWs0f3ygm6nCeOvi z+Tyu06LxwbX1<<7h(P^;-1eJ70DK*>5LpSea3mxBgtU!JI4dU=hvGVhi*}X0h1AMyLc1W6Cp( zcTt+?@Rywiz;{>%phQ?1=@elmSwbeEAY!V@_FO?Q#LE4-^*|0axCyv$XZiO$AiiR$ zb}ffla8xfM7oDdK%@0-fh^3McXk z&R1~0uJjjz^NV7$5^1cA0jSE;IM1`o*zCDH6JxV}4x88Aw%GhUe>8ijh-O&96O>yU zTxWZ@3>-55V284=kA%qps()m7TOc~Xa}KaCxWhjNi&iPvzIP7E*<3|q7;NwoEm<&? z4@Hk~_l}KE*MqEXEPx$MhI8E(IBN9fmrK2v*Bj%Sto#FBA;-G0OhEh|_!@E3xFcd>vv zbhFmt@cwVU^3@qqCe8)GDOyHCkCu_t`ReC{YS7S1lA5@>rK_W=uw?J(jKB<<0t}Ra z+lbM^IZns}e?-#LV_lNCOVUL6K(+3Cblj*@;iNs*504G}(Gjn_INM%YwrR@J%%=!n z2uhP0L`yo@I74RRV@rFLhi_UYx{r#a^}Z(`H)yB^bn#UN95`+6QnJv3=E+?aYHnvl zLQ?wR-4tn1VjXOQi}zU_1^DJP8Xgs)+0+E$f`ga6e;aJeO#Ia}6{&^HG{d4q@;fH+ z7cI0Gecn?zqW z6+M?{V!!b@OL5(6X(_TU&zg!JE20@#Y)wTCca%063}xa(8J^%DHn?Lnv|e%NiaXbp z{%YKLe_0n5Z1h-@ars%?aa;@BG0)=8s@E2GzQ9HGSn&+*BnEub{StSENAfkm*e=f} zw(V2!r)uZ;sSIEd`he*iOX>XXgDqNeo`f@+*e`Mh?2K-?Qk17NW>ApDdql$dUjocW ziVQ*e|Z7}shSSU=a5MEOiYyF8#ievIT z1RBrgQC6KkWq_&A0-*znXoeIQfKX;}n&dE)jE!)hh6xAN9%Jc8&4l-Q}RVkagbAeu{6 z;~*EJ0EJ8DxQXX7Y$%z7C6`Y6W)~SblM5|V)(UG+b%WXZ95entwGZTJp`h}v<*XCe zT$UERqrwAOEog66lbV{gbs|OCa zV1+hh#oM?y5kB^cw3sU!CA8~ZDrwD23D0kLHe^Fh% z>{^g{c4Fbnt$k!&jXU}5X;j9aMl4Zq9L=R94}U)UUBDKKym4`iazc6Y1tF2*(?)LN z(?@XDm zAVM2wCH~8e#qkK+gKJ>YWSf2_f1WYZJW8fR2Q9O27Mdv2OhOwBl+##F1m&DBDD`_~ zpx?BEow6MJY&uLT2g{if&j94S*|2jM{G^Zn@q%HiL>BMiVv`!~bCp~T+pA%FUFqNF zjgS)H;bLxEY6IV-`BWa7xjYl+q0RGo=w-M6>y3~Hi)e-xpG-tciBE*of7c|UMYi_| z)xQ*c6(LxgnI&kZ%plSa&IsvidLRj{nDsfWJFNs93*Vn^b3<5c2TOKr#ujgJ_3k>E>HfK-w*HEwwu&>6 z`#o?^P}#Prd)^C8<^>xvf5woJPgJ&d@TD!*=mNy{ZR$2jGjI9TV_7WB)!=jchi_Ozs?89Wm2^HR*Ph7yvHN}gLIGWJT*5vE-BlCi66w+8eaRRMoW7_C-0 zHSX@29FKMPH^Mq~D0t-LqgEjKZ9ft_kZv4r{UfzbhD@2qiEIEAQ#7Jd6D0yTB8yCN zn*MXa^K`Rdc?!q`c!cnDyAbJhbvw9d_U58UFYngN+h()ITg%FwRPBC)XBRax-tFrZ zQX0o|bJyNBneC>!K&E%uYh!;U7zpJgm*xnbB2dG6)!a7gt3}3Cnci$xHJ<&Ji+o?Z zi;KG57#zI^DkVnNw{N%}j6DaL%8uU3d|kKof{JditW@cJV@HS=zckw|u!MLl3&M>B zK|fXSPmaeTry)p;Na)&3<(dsKqSS>LLWI2@A%vxj0Rl;bRw#Ce54L~rF+7Y()~$nf zq2!=*iw#2s+m6t;7>_V8LI(`KpVJUH+V)wtono#aI%f#F>{*~2f^SX)V@dw7x8n*45= zSD@(6@b`ylra%)0O}Kw76?6y`$;{ja;9P=Yt_KPi9F7H`Hbc{3zy4O&F7pjL*_ji* zOx`7LlO&uO=1iImY&w`o@F(nk!K2fSgTZWogE$+~>Ef4bGeYfgcfZ^I!)uC9Mu_`{K{9LKdaW6()wMxX~~#0lID11E5agTY^AXBGskOt)>dv`Yd8 zQ|@)MG-kQRTlbBzx;d-bo6UYe9M;)mHm`v$PL7kh|y+FCL5@dC5qj;Rp*%&P0qJWAqp; zeQNYbUo?CK9ZhVP@j{z*#NqJKF?pU7!^fc2G<>A<@uNqIYycJ0_>pT4R)d~OqDtYz z$7!sUaR@Cisf6F1mJn!)<004I>&naxA8^_Q!n>w5P&SFXN&#K!gmVtdyiX2fN=u;w zw*vVbX9fiIh(jEgvGW`i0XUbz6Au#uGch)oQ2`Yyx5NJ&5CQ>nx6}b0F9&}qm>gu< z$d@v0V5{JjWRXG7GJVXnVJb&NTl}AwEt_epdDsExGEC)B)5c;&TW24jsP;yigPC2LJJw*TVIELhwag4Mcy!(_@>=pvPIIg6A3*&ji+Ah3%u9&#Sd?bK0_H2JRTfjQ<`?;FNJz+ZuWelCz zf!p_TZhiv?DZIO~3YXP^I+kMmo*XmaoR=ff(2W!mR{NS?@1cL=Z3#)gp$Oe`Y?RE- z$g#Gsca|Z|SSFKBI5cx+Qs3bc?Zyiec;Kvu&;2O_uks_OYPwsi*lW#4$zhsZ=$c`} z?JuktL++5l@BuxYoGI5-?Ry&SA7He39)9mIRp#m9Z~^)sykKZ+S1u+UJHOfw&78p( z4*+44@D&8jn6Q70=c_ChMhAtadvmLOx!RYjq(9B+eW`f9()6uIRLEH9M_gV@!z8rX zUtM%~Cv6^ccb|^rTabuGlsMz<>ViJ}FGMWee|;I$1HjKO!*MyG(twqi8&Dn6duwML zYBIw#hBQY$azg9bEGA7B_P|B-(>jS|qE_@<(QlRX?}~qZ_|Kw@Hcz6Tqxlr{o3{BZ z^m8EbB>LGqMp+R{XND2DB_3cwx;q`;ckCiV&NI}A&Vn4$wZq93H19Wp6gzURW?x!m0MDMA?oZ>PZ#s3x$(v*<-!GgVWDct)5CyDRL*HML#-v&1 zYX0@e{{RhsFU6O!^BfccH!_#edkqt}+YBAt0Rh3cxDFkd0)GkwM?|W>43TP`hY8Nw z#CfOy#m^F{^Kwpv5`Vo!q{~)IBE`83Q+bL=9aaPrus9`B4H;pEhyt{$;g*g_)5QAU zVYV>j1O!$0h^AHZY6(on7}{!EfoTP%b){bx;eR1uGDg9j(+j}lyk@|3F~VQAdMd*I zBrrLw_%tvXNPi}@nd8zlfZ_;zKLk$>ngqLC5cSmd+HQrWrB?yqfJWNz*xRk#Pn z&Dy%{D8@%Wo-&y0mdA`WXM)j!4XA^pQiH^a(|!wzLcy1E^o?Rg`Mg=8S?p^EeK03}Y& zhkpLAFX7Xo(TmQ%1SWzJCr-i1!ivGt8_4#wUVj`Le;z}+N}i8g zM~5rY=Dx*~FDywy+8(8*FE%mYoTQFsJW0b2r?-NH^}cF~ny)B>l`iRQYB8{V*Zzir z3O*OhLzU}!GCR>>prnL!aaaJPl|vxZF_gEMtezE^{2B3?j{)VlD%N-m)3;dC<3!N> zxPPnalI6!A4MXQ&|Hv}t!30Uv|)v3Zz z8xtl@p#5XnZ@X&GLXEch1B2OIn3#pBP2fh1WwQH=G%#=plov>irkQ#XVVL;~E(GaG zrr12IubFBNuBWIk2t1o>Afsj+)&m%?V-_rzjI2;Eq}7I zF$!3kwu;S^Sn%qRgoYjd{a!qIzF5hsc73ub4PMhZqRV`aK?0^f-f@*^8M$3?aDoR+ ziG*y?OTrVPcbV6W#8?5TS@5BScC}WHvGE(}xTdcTMI2N9uaRgY)D}kl1+?LfK zeuSO_SJr9p)WE~LT)8)Uki&}OiRcB%7pO8w|WnQ5*6%W_*0-1d}&XVI*!Xf>fU zXf>fcY9sM#s*S|!Lb{n~BY)Y#+W+|tNQ;RDM^nf{nVO%DpUF$7VboL?Nm)Cy8bw`$ zM3Q4KS$E9wQ6l+D%JV=^x;d|rv?@$twN;XbCSECPrL1+Ozm`Ta&48JZvmoKKMm?dC z6ffuWOpWBC)yp)Jf)&98EY4^off%((;a0GI(Lh|Mn{ALPKtc=M;C~iolnW4k&Q4nj zUsVFwh41ObtBi8Ru63n97rVaHP8&qDHb?9-mN4S{PMdf+r{`hUvei@A_3529!HQr4 z7EkW9DF{KWO`g5emcn8|-?I1g!|=}(;2Tz!{-uLB^Z&JV$o37}mpe&dnrwz(6WVhE zb64IU=>=9ay2Br;8GjF@@TwJ;dCwG7%MfQV=W=iEp}j57?a7^<4PD-igWqzTyA}DB zx6xFV(v4c^j%RviVGW*xNtR*gn5?Att$+1o6OQbZku}m{5X#CC z7?$)Xr3EX?QMt_OR{g{aP$)o#8F;|R01GQWuKc*J^w;4>qcaF~Q&@3}H-1W8%1+|* zJa$|(dJ!~zb9`s9@^)?8Znw5=+qP}D-`ckAc5BNOpimgrHge%` zk^Qr`WBr^KaZ2*328N6KU~Al3H+@9 zcG23#u<-FffT_}taqt}hNgIZWPiE${lH@9z@Kq`EtVdcL6*>L5s`AH(RqCg);wsGo z6*0h{LTm{a3ykAj)V`L$Xsq=vJ5rsA>ke1-0@nq9sd?agPxJUq6ygtLkYS2X;a=DV znW)Kx5+Z<`8*On$V&YVobS>NT6pGftvYwir8>U&WkuqX`x4a+&+<*?J)ePwsS~{YT z8Fh!Lx?!dy0c$L)9Q4R!i3;G753~Xgl@^}K595Enrb|FCauJp2}hkf2cuMa zGFXFwo6h=^GISra@eg6i1 zAkw;;kD0xhC-%J{@Yhkg3Z9iY%89l2!P*WNAG#{=^wl;%eXYZd@MkN1wVp|5@AIf* zY(5Y;#^{Fuqf0D)JRL(;W!ngq)c(n4+f(P|^rUysu?Khw76;gFp@gAe40b%Uyn(J$ zP_cvgC<{xT&zsS7Ms7Mb3q=GP=UQckqyz9yc0x{?iZ>$<0fu7)VUx;BLvZ5wP$H9% zc@PQ=14uPMR?9tvn1#ylfFU0)%lwqx<=A2%(I{cWBCyQfQzlI06pKvjHvw4>-)LfZ z#~Y{VrZZGHFDSfv%ze2;0T%7NQ@0CIf^_NZ1s3#Z!Us;$aR$w8EVa();IRl%MkY-UE(ufhp5tAIjl_wwUqklx_C`5WPDxYDWdltv86e7Ul~-qtkLj|Z3nW$au&n4xmh9ASKoV+OV9}0p zP!~;WPos01+QGDAN@ys?h~949#XK{3<=4V`oiF615vpTNrrZ~(8B*70_yVVb=%__G z;;aQ|U%Hu;(b)xSIx&=j6Nz%sq%&n{%FVplUfRpt_^X+qx=EBKjVMd{lL?S7V*>&9 zg~I&GknFFc>9j3Zu_#ctNh-EnJfqGmxREq3HtUS9jd|-_*hZO!S!<4qa49#0lzKI! zltaA4(tF3~G&|p{E&hMH?hXeH?hRgjRTq#X>OIY#c2HVuh-!;bf}ah3io>2(TLzRI zY39<}lV)KZUv=dFvah7?+3deFNNy9?MfW%LEJIA32mQ)}U&;P+LGt5G_TDjoP#rM_ zq$NIZbII1+hh;0<=k2|bFUrOlZt0$rn5pKl9MnerrwzQ50+jpN>v{i$L8Kr6fPy+9 zn;Jv-V6vD38dR|M?2|xjQ4=1HxbPDwGEdrG1q**!qe?Rt{2H10yJOIp06<^5R4mvrNglX&mv$vs5@{+Uk zudptN4g>)4)u(`Mizc#{p%de-*iwk&2qD^?^pAV}G4VQN55P}7ZaQmRN6VBT7mk_0`*8a2WD-xFAbOX^3px_8!)m#^nehiJYQo?Tq2`|F4w`97hkhR zQxGv`Wq0Lff?`9H`({<6wy+D-ZcPYYAq=S%c?-~J-%VYaXdLLFc>Y2=)odK`T}E85FWJs(NmL0p)1} z(rIyJnW6Mz#ppS5iEh=7e2b;P7q_HF@YF?C44>_LAJP%rnU^3j4tJdU>@I(2PiHk| z*I0YV7v*i${;qc>w*Hw_WsQijal)RtLVi_;SM;Dn({G;>oDTGLPjHQo#) zTBQU;pWd$FVgf3JA+jQI`HqHx#&G;9vnV*IX^j%xGWvGW+XThGD>r+oyLJFQPVG)9 z4O_o-b+lZv8E!`RSi6}KKwNHHAH;1|(`0FPCzQg+huAM+F0&rm%Gf5#i{$JpEHT&( z8i;pm&*ZKiu(w39Np)TILObfaHg}!reA68oPVxhOQm;xus+%))FSJ(d#>J%P_1ro- zIDkT8?Fe|!*bmwFD2#00mYD-UMvL({)mBS)la+6Bq9a_;^-oSUIqVUgKo@pmpZ*xu z*~Qj0>n&%DWp_V>XHIuW&0D{gvkQfyyK(|oA{}hml$$C3f5s8&{SQ{|E)ST>@VRiL< zLXZQIf=V=9w?ighY$j#| z1UHg^Cs|Rpo9VEw!rG1~c^Z~FbR+KaIP5U&UajXMyXMd-tozNnJ2#FJ6L4;DI?tD) z6!>yWq>Jg$E9HX_<_H4fD()iQ;z&P5m!HEu*957+zxY0xFPmfyqTeu{5S0wxJeMu} z#?zJZqXxLlE=ZN~rA;#?AAeq{xZ?yYeq&ZJz?h`~_%6FJAL-CPY)JSm9`oW}YFKz( z>y1x%m4K*bHu`$2!sHD0@+N=Cuk_yGJGa0Um$5k=z>32m6Rbud6Yh7O$~Ot;a9RWy zy?8Z`X+dPAA6*B>o6BtKVv&5vA}_pk*xYnNYZhyM1ujq_)gMreWc6^VdA0(iVy*gc zR^N(DDNoi@t18(GLQr1UnajdekpD}_x`u8SI=8#Nb)aRjSA6D$k{Vbbddy$Vq5LCvvG1~#!SZz`icwjjPg zr&-fFIq;UDl&cN(4OO|WJAphiOijXPeem4s3E8!4q)$Qi2#szFcMOC~aAt=ZCY-nN zYADAjrGQzK6Lt#%jdz;?^Xi;B9yuGrEGTqIF-DHd4DRMBWI!(+Oz3icJB?c%)sdMj zY#dD|+fiP)XRKYVk*D?-e6M}hGG&j@Y-}F%m>Kk%N@d-|lW8&NjT(M!Cup8l)?N0n zEM$VdGTVHc*UaYeXtt2hBe$7JV;P@VO@tC}0AH2l;362212lJlrPG`oJd0Ld`QGyM z)wc!*+vXd^_LPJSebYFq}$s4FnM)DEtKVeZnd z-*TmbC%C$82TQyV1qw2D6(I*q*S4^PppXnkARr0nh#A4J(Q~-F%-l}v4W^jG(zt3= zNqH{wQ&41}YCT;H==)dwt+=n(s52$fj{yJ9>$x?)}W*-gcJ!kdbTh=cTvD-qSpXh(pZ47wK_2K}m!KpQkX-A20a9+$}uv<|uyXU7q z9@G*XVtW91LakiCtl3sA>y0p!gDVqF|K&(90*(jLN3Uk|gG?hAGp%O9ja3bmYv@b3 z1_h>VZ0r*oH9O!UjT4vzjdKh})iV+YH<6RShYg6fL~&`|Eoug}8VN)0t%4n`XmRB^ zevgImSDr95iV#Hf!PGw$$SNP?O;auy7uhutz(-rMAx{I&vTo6J_W z{shT%p30W?UjWO>7c74f-DHv%rYFccUEcgHLc|Yw>IzL4E_2Ka2$rsI;nE+=xXGyA zEGa-qtUOtvEGDFTI#6osO1eE!?^plrHlMz0o+ha{GO73hPh6+~CUnSXz$#hD2$CQn z{@X&~4~CtH?Thl)3SsXvkJ-syV#(64=y#m8D4c=5y~m3gZ0JOEucw0fciy7nVGe=P^z$LLuLGRf(1B?9p5kz89c_swQDsx=%kTic}uIH4481oras zd%o@os`6R3AQXG)j-wTb{^5^iQzmBH$;}(1WgGNjt+bZR!D29mrBTm*z&Ls}R&rHE zsSv86DTU}@m@{1cvu;HJI1vY&cW(YvKmj>O*L2#Y)n+#6%W0phn!;hyw)dwLVTtn| zi2AwXV3bgMJasKNO-_6+bcV%)sm6*sw{2%U@bOdFq-sJY|X5y9(E1S z4Du=cEx9JW&F^s5t%pyRH66Tp4 z6CBbe`!u(&_(HOuhHnVcYu(IK)q*d3)-6>a8ys&S<6i34KL zPn%2qzs#K?oZ4!?xf&efOo_T6m$&YPg1z94Hh&F;4$C?DL?1n5HaS~Ak<;%ia`j*# zGbv*s*U@EMgh)y(H9%suRO0~9v0tJyyE?5n&Hm7>7I;vMa|0}jil3e_Gz~T2mh%ue z?QGD?@nHk-2;`BzuiYk5_C}fbRf29Pr3YE1<6r(oIK=;0eqWk=$i2fmc2@m^2ug%v z-MS;4DYHz1aEJ7k+o86lW-on;smBgE%!wNld7m1;_%J;5# z0q}KuvVrifV=4C)i>wznBV7^eQAwKFH)!EX0dCbv3C1?AfR^nZgKmb-f(1M zDfAeW6}V59#_b2T(uG^IL@Q?3t*%2 zsXOZt&^;(?4`k>FjRp(H3&jk6lb$&rCfG7J)evN9qSJ>8SK12)_z06UGhF~nB42i_ z%HoU)QpXZg;)$}>vcrnDH>TvCM<@)0gTd8AfVuMl0)P6@WlyqPcChIa5I%3F#ufR! zyo7mkL0k+o-#8ac86i0`?Ia4055RmjsJk0QsiNu>qufjR6Y#fx9M>4{AURERgU|Ew zeH#MB)T5t|7?yEmPL_u8DL`}6t@u7ei}x1SBX|v4zTuo8or~@Uk0BKd!l_)`ow*~dGQ03v4qWnx zMkx;>{MdwI|%btypA$H)|BP@!S`%2m;o zx$tt+SCt>#kg0#}%Qp)4<@oGWWls)1H^s=znn@s0ITV_BMKM+CQTkDuk1tF=$5Dq@ zLRt*Eoc$->H4$Y3=H`|xkS3qgnHu(yJ*xhzRE3@rh<1Co9p!Ip@gT6?rFf&5S zN5bdvvB&;C?hD@oOP1p(EOhLOtPbo`5Y%`nd}}`Ow(lP}hk9D-j6bFC(nlICdIa!S zgAbZ-yj>HuO`nc@oCM9CjbgUn>FW~s>i`55^1c3eeA7<{-;Y)eEK?nmi36cD%y}aG zGBJldbRA8ZP98QvQhlB+x;C-CR?q#o!Dq_;~x5r_Z~E=yPZaJkvmks zUVI;2YLTm#bfp~UN>(nKxpTeWrdO=Kcz-TAwK2Kbx^Z8AEUa9psjr{KG(Xk~=Z>lUw-s|3fuF`&` z>5E#DBT*nv5DrRbCQqOWl;!*M0^m99gCr8g{YnrzL;RH>hffIjVNFaJf+kbdq-0|b z{18=?wvv-3>T3o|`n-THA*rfQAo+dit9#uE*myEjvaI zB{2#vD(+7!j7X=IFU$;z3c(Lx&iZhOhBgMygp{Z*InO`rh93&-ig$5Ybwy?^Oh98u zZI{C|X%J50zBBCZMQa2wy12wBL+^wdA{8SQE6eA|(7G54OUMTS8Al;7-1LtVn!;@0 zcjU`jDq9$gaY)jKJ~G#Z*LIQ>yE3!RX55TuSUrY2@2W_)^V5B{g!Fx4wQp7gV%9HsmqT@-mA z(5Jfeq(J+%N3z@kxFjqeP0PtIWgF(47KAM#nQrRaOkoi)@pF3E^5&l@Wlg?)=jy(G zuXIP1D>;f+t$?ZHf4OrUd~2^9?6CFSwY=)9cxJw*;J*x6dwD_ezh!?hALp92{`?mq z5FTsLb5Ho42eSUlY}d<^iu3!QRRdgj2XI~2$eUgUCJ*5$;MX|}G#$%DfN7A;<%P?^ zBt5K#uat=ro|%o}A4@jUh0T<%^coAZba*<1V0807?JQ8k6Ilfa#LHq$d{de%BAq)9 zdl#(RRu{KXXxzswJTY*=&F|IIlE zj72I>1_#9w?tkUg`~FnBxtsC;o;Y&tZopTASlkB`<3(X zVXre|#s7Zy%mtXRnBqEVGC1YT-x;#t)NE_hA3#ENEt3~d_wV5rl zV{D+|0QW6hK&NFvwJ>0pvh3 zX?Y-qXq?b2K;n5|hI{ltxt2S251@~jLlEuAvTTIz^LW6*k#G1A{Uk6p-z>}-kRrMb zIW3Jr!hP%+G*uJys$7+3zzHrAUvJj1Ik zWRe+vkH4Gopheojr{;#`zfb$FzOK6yPrMUw!3tU=`sJqLbk(5h@p9ozCvbYs>B%YZ zfn&=ASmq!iOjA)K`teC#3s${%elrTBH&wFgTw?2u3*J1TTzHsMt(K%!)8bi}SpqJ*cj!)~S^(;WRRrU_1X zVpv2GgnKFkNn;4wd#wB*e@X#diqgB+;R=17?Z`QFkEkEY^Qhv(St(8{BRi~LsbHhw zFW@sIl>AA2jfK;%OQ7W0R!b~L@SEf6bd5XSTMHFnk0c?;* z)9zbaM}sO|-~;4?TvDoxN&}`BRugPNBT~sWK}0o}a$K}RPqu|P_|?j!!*}9s3c>77 z=5lq1FT?)P7@!?&^2nGa**aVHvfyK2Ax3pMtH} z;7WsQ=Sq}=Y%$3vz}PaC2%tlOQq%rA1(^erj!Yv1d7*|P0<-!kVRHo+1K6TP*C+>w zX;`~@u-T%MDE1^Ax!58D;gn2@@1WXg6x@rkM=TFLcd#Z9YqCrqlY7t>#j$p1?@efYyQp2u~2~nx*8- ziq=GHKN;>Q9n^+nerig<037{|g8xogdjb0NJ0#g*u!I)H({cWagNTz*4uX{jFoDNR zEHaQ9l95R4HdKiGDN^&YZC{VOf3#cxP1vZemsNfjq0mOEZx>7V&ZGofK z@+Pj)>w1pyt~z}Xmm8`!ezI(R^*7MA|D)ovlZE!XaM2QRG;{N9@9fj5om?njw#3Yx zWR}TsL~WN-(|QU`vIL2_gdnX3|^r4<;-q8M3#>wI{|MMYH+;a z4<^lmvKvE>fZZDRGS$J7KTlUc4yVz-y;cM zzPNDXBg2<5E`iELP?0e`Nq=>#Ec_;$?ils`)=G#O8>NA2Biyw%1v$~`N(DZ5`Ih9kdfHFWOOZg z(fa%y^?b801%wm#TuULIpYn+3&4x-{(C{UeYd8bO!+3M4Q_11HaE3{$(F_-iQ+R(Q zW{YtDbyc;qffIzBKo!I-(v%}pSW)kLt!+{{!js03luqJQJyiU`ONfXRmI&OM4_B^) zONDz3s$&I)$Qu_LoFsa#WYH{`^hGsaV#S*K&*%iuf|dq2!UZR)!Sqw+Cj|b*eab}^ zh!Yiqa?KExvhzVnao(|aYx!Ux@Y1$Fjp@?sp>M021G4MA?CC`|9x3JdPKi(>QJ+}s z`&=bB-OoxwK&7dEurywY`}6pl4^iYT5*<$Rp@Eu43<=JUKz8uH(2&(vTv0+3+eoO= zW8fTMY%@y!ulEmbq`}OMsSuk7sqI$hSC6$lM|?q67io>P(Q-SFumwpOD{qG5No1D$ zpFy5erjA%X>+s@!m!R=kL}ITII!Em$eM# z5*Q}W+s%uNYz|e#WG#*L52};W+QuEwgx*PaS?uA;k(9}QU=q-ANu}}9X6VX!Z~7eI zg`}LOsUUcrIgZu1eM&i#i?CdcoqQ1aLp9K&Qyno{OW7^I1^Q}Q|IxFNszSRAI|Y>i zz~m+tRq~x&H+7bv;0TJR<+5Q{RH_VrNEw?g@Wf&}=QzEGe_LsHWA#&bx;@XmT50Uk zd6;pO;rjR|1{qLFu|ZS0<q8)lu0WJjdhJH*c9TP%)*_IMQ z6y~fX^e1y6gT9J|Z;4Z@G&-q66&9(JgY)x7mpGf&sXq_rFAO;BWLes>?$Y_@uX`kD zJRn$a*u-V5cG$56wl7`jiK6w9IcwQKZkFbL9kFbeW@b{=tPOsIHsp zjq|ZK+DMcXN$TPaJu8M}6_G>~N)8vvINZJ{Bo{igCCEi1>l(^a zzB#7)GWUCvU-jrl9O15cSl z{pYNG>x#sd-FklABy;u^$8Hwj_6an71W#!Y)DhHCq%0gLotXZGJmB35jMa?d+8*-I zO$yQsOmE~9JPO!BI*T-@q5yi~$--_PF-~-l$-!34WJxE&bV-36bCN@e(tMQsSPyBW z<8}CoC{O3JEDxI5dkfOhL6^g)1#+D* z&WSlq5?mTWI!v~&hBg#tIOlSZLekh>GmX1^(;|cRhSfWbmaTa`cuq)Z(zwEJ1TjiE z!Aaqj^n4n!{G#e6WWND9qPn!@ceLx^pO-6%aNhB32t67<1oEyHi3?9adAsr}@~rTe zb=N^mL%zj!4$2^!a>Na+`N1=Km!wN36vYW^ytbw(%iDTA_&J^f=ANzeTI^g`IxDsp zig3w(=V;2{N@bd?z z83m%wc-&>E^t;Ai2z-|5?uTTMojdwj`4jLrVqHvc*{5y2R^<$}kjkJ0_k?dZK-1Fc zT8D$SFYCk8w45jH<(kTc=jzYWA(E33u!ekPFk#pYt zdTdk#u`6*M$D+n2)Oj<`wI)=#xsw;J+^K*k=SgTPJO(}jaHd$+xLmKl+N&9OSaZ48 zfvYKTQF$O#n#Po<2L2S{rJ>cB1exex)=)%+I>H3#3d?BKPfS4V1Vnis;&$>EMmY+V z5Ey(ZNg&9Vlx{s*YFF$Dt>qEJ=*nbBR7g~&Z=nvTiU_4KVs~~yn`0^O;elX%F?=M*RGi}E2Eh@j_R9# z@(R=Cux%)^0x4!?dmQC2p$AJOB=wy@(Z7~m)8feHR?W1Dl-)+Oib#jz@)9w4*Z}l9;lf1>v!mvmgh{p2u&1c{ z9~0|~OTqbH5JEIP3!y2{Q76m93?g*~0-uKwlIjrn^5)p`&{n29oQ3x7i;?HIS2@3g zj&i_ZY;j%+z<@HKj0H*4e&Byh&YxyRfzK10WRY=kJd$ZCkP)~q+rXGMnd!uk3Zu|l#u-I zA}nJBfh$OR!S(qY?9Gv`Y+*9+6hk+=-tC1_P8~X~Hr|;&%2oOGl?3mI=RqD-`{cFt zYWE`n;>(Ff+oQmarSMldz^t6&R4^vU8h#pP8YYuJS?jTJT3PWb>L2q|2NvGEap1J| zAc5(smiF(!5hqisP%^@(nrA}uy?)xrgJk$QT5$7F**?Z5Ff<1mnv`g#K_+0jK-aLQ)S^(>E|ti6s92H@x*Dc<8_! z|6_hsF~lbX24LK_GN+(p5=L91%F)+G<ym@3r$p6$VVBlcEm_poqcNaceqC89Iv&mI>-%(W(+xcX zd|#08cJy}ZIJ$i~JlnXX@2Ge)B&z4UNtB>3!ti}|1DcJ)u*gT9(Cv7kmsRy!zzKmh z=@`WWM*7cqjh}AJ1eHWrHR^_v9covf4>klUi@HB#+L4};x4P~rr{>zOvMoD5oDo-T z5tl{PknQ1w;S0m^@<7<6nqg#*#*DJ6B8&uKm8^?KtV&eIA<#2uR4HFA^Oqkh?p>W<^;%HgU-=0iLvIinW9P5=gHMyd4v6hB zv`lID#$dV-FzITRryd+zsi^9Y zyn|Q31tqfpc+BUkE42iW`qn8d@g;NAsZ-VRNdg73Slb7UCn77bKjNRIQ@z=C|*T*Yi}eZ`;N3 zRoZst_H$2jU^YeJOyZu=7_{72^;M=g=i^PWZ`Ty781*@dgrbR_tzthg!?~wJG1#CO zK+izPPZ=bXa2s~s{D?%nAmg8%1=``{WE2Jb$KTyEnx(MOXkH&nz7m+Ritxj;Lre!> zaQIIGe}9(^xaJTMj6z_HHF`0Z=Z%4g=J|R}(BXE~{^ArA-cvo)%ijjpe^cE?%dVL* zdTDnt@1l$&x`XpEBNb4y!rL6<5ZqX40jPL!`?}CYtcaX|o=q@$hDnOS*$Dr(uMe*# z>w{0?3<1vEPVJo#Oi#~sisDEY&046I8YB?@iA-D$pEWx_V(NGc6gsZy~BG z3@$g}!5nU?Q2FFE#b0Q-%D-5N#^itfL}e$tl;7LK78Jz+Nb^|7~pSv-7j0S)!Ytu+A? zn;A;7n-mug40b{U+lOIoYn)r|<9?hGQ)zpSEIp`F_>iPd06EFV zS5I5I)KA)8aRyD=Vl&q;7YdW#_@_>UaAT)9G6R>}Ic}QANMQsm^vFhuV<+p|-IkM7 zCVw(La3&HSiB`ce1<8@2fKJfDi;xi~%`dsEJ>h#$XDZ3GFZvj&>X@+_1Kv-Qx;os` z|IHLA&cxuuog5IShX@PO5XqvgUek;F_rS1>U1d+bKiR>(`FD4H+O@>E%s4!xPRO-; zeww-T(fdVsy%w@mUaQXt7H|=>9;Zf3H8L>|k0bGYemo#{8;7{?;9#$^hl__v;rApG z=c8h`LSe(f>G>%uM8hhG0?1S$Dh3>}|EAPCqDd}Lf-Zj4*XK(-tdg%89bm;7t8zk1 zwDgM*5Xa9iL5_rcj58fjMp{?Hi5XkVt}7IJ>^# zR)+a4X{ved^>WF-A^B8-{cjA9n8(%g5vdl<56rTux)y2~vJMi)wefYO}qxVM2)mWS69vr>h`@U6^%mIp>32vdJ zTNgI@V`hZinVEo)>PDZZ*4V?Xt4rd>?o6ezm?>*@0ijXVR)?3Wii7dKXg>j8_Z96p zp-QZihQq%mtNlS{coEuHHS|E9E@{k%Sg#7-tZx@il?<&s%dzdzB?3e9{E0<0WMx1G zR@?id*dbwSTI0sz^~vF|F*FqmYY-uJY3k*{$UoM99xc{50|irBoiXIm-`Zht zQ`8lTviPms$jSFj1ZwCAIO-12@I+ zh~ws$=6w7!QV-^%ln}&MsNzAXN@U&=gI>4i(;I_Y1S6;yX9Bbq9v}^>bnl^+R4~vOpcz%)2#BWAz zoJx?YvT!WOwxWK2K2V84Afi1P#8Q(>Qi>!BMe_J4gO!Oxs@NTO1-bp)Si$0a}>N^SV5r6Svd_$FP6I8(z(Fdn#Qx)*?OIcEN9y( zB1H~aK7x1{$@>lbyo~8fG&@DWxyb&qbXKU7DqOzKR(TX3mQRUI4%>-3BcN@;FR>Bm zZk0xWW>;(z0Q{A?#reO97t{YT$DLc_O96xZVs-6rW3$C)00DrN@Xbt?YIUSs)ETSC z4a~FZ!pl#A=a0=!iMi$QGhs57co@e?LDf#TE0fCdVy7(nsdpCp5qmVpWVi@cV(=0% zM&Jc1T`UJIga?yFjd?aHCJXkGj*T-~7PK zfuXgPQ}V6Kf&i$^-ZX*5`Vs;T1F$T23j(P929>IAGvfD~V^ePQ#*829L?4}>pC_SNM;;5)dpxYJEkT;u!Hjj!o=~Z2Od=M)6cHUN zDJp@mYi?TEl5$yJ+y!e@Acpyim+8INwJShdb?jov3R%Rve91O6OWv2@_2X0|m7XUbLE^GvYUru1WePz>wl~K2#0Mx^4%=uj}(v8@ojU^{7E2pWiMOJ#Wo# z=fj8ol4ROb<~`T%Do>V!_|Y5Xi%ptg>!dKrLtJLORMRDlDrJ2rp%ZY2DeyAWi)RZs zO|?gGBu(a$ed8f8rAVk^r>H_yQu$=e$>VrIDDF)L@fevsI88hK=~Rrxfa_c#!&XWk zO+)6`_5%eX#=UbZz@Y1X`=%HutQfAis+_|ix z`96j0B6CowVGh~6%*QM1H3+kucy4fcpo4!gd>u13@Ej%Y36;s zSu)}YtxUBvM^_Jk65BjCl1$~df9%VGspP)L22&r21{NQ%S$A<#bEJ&vpfGi8?Q#86Jw+kkx@M%1Z&PQqFh>=fxO%d4`7VOHY4Ckx z*ZyGA4b`>1)^kDB3I9n{shR znm;J1#4p*qSlTU=E#Aw0eQ{iEw4lImmB2g$UH@cfGXT16Jvc!;`K16ko`OgQZ&Q5v zjXLem^Z(WSPu?)JHW^oZM_@oSn0hrj1^aYv(prO&Ke=`TAJS2-lHqHaex#mcOC0WZ zqW1b;k5*cH1a5bI({Vd6>CblTzNU)^Twe2%FHdx2#_5GuV(r=kEuA@2@x-Hd>fRh> zcf%y6R!A?~>eATVK^7qS;x#ncL7hmJ zrTD!qnRd@)RNAHVZ+xGw?pIvwo}m_#tOo2s*=zUY5v0k17lz78Z)}IZp6@#UYujR% zXU9%^^~?uVxK}c0ff=-jGQ|8(Q2^-7H-e2ue-=D(BQ!gcS>mSkVKu|+UqjHzFp@Nb z-PFy!9){V(lt_}18PXckdV0f+Qc9;d z;}w@5WROMtGE9O71>>7;P@cHb6#Q_6GRYOPi|Ghey~3Jlz`^q2gzy;7S;pIvsUPd6 zOm2RP7Sft&>ORh#AZ@yVp}$A_J0-_t;`w%{1u3N$IeryQ19(29(z9JMmccdwP<=Ii^5 zYtw1gH*?}BU?y^)*;w#8f+-ftv;$*t@8-~yBoQVBE(I>{Ynt|t=n8#GJT!P8Q(6I8 z;gFVb<+0nSS!AwISL3kKOGESdfCZ-ns}5dJ>@@Py&5o}YMz>X>UG(xwJLHuPO#3Kv z0!;#qr?;-ZguLF4a&`hzXv!&1wNCM|8yPvc18B5(cvPH(t`K|hU-L7mN0qz7;?wM zmdYRism^>^`4RDt4NXQhbI1-?)vZdQXg*zKJmJ1=d`=mTe=%dlbNN^dllK0ty3-jM z{>~jKc3)k3fg)mr=rG8$piLl6|BtY5j;^HX_Kr2NZBBS%PcpIXnb@3(ePUZ@V%xTD z+qSLA&GWqXzTcnU>a~0As;*PJSFi3myEcB?uQ1yBWVUjC4)ifw(7|6)4E(X6;b5bo zl8F#C#w*T#4@m_{B~9zX$K{u~-sE~nO#1F(SiQR8RsvpzNeXia0cYgmruSqx_rXhfleMtkwHThk~N^ z8U`DE4;DB(w4LBW2@vsy3ZY{9))l`x(PsOZb@gfZD?jC+(5Z3L0MeAZ`E5RINFt>3 zu_Hc9zMKo|Im`E4=SXC2=Y=V$6h}#xFzM;(b)3_iDbG*rISc6VpUpB>a@`tsxE)-4H^;%XN73}GdA7M zhL8q@iwA*O*2LD#(VP^(#ljwM07VN@StTL@mTyBcvQ?u>VN&us|Ml8rI9Crn>dL|8 zx$a(2#GerCaARBBpLwB8n9}AkAQG%cY1zSiuf31Ted>ds!R=)` ze1?diZMQ9kN}sPXjDQk>-$00&ZHfM z-u{bDA{3W`Y9Khz^~bleya1Y!YY2u(BTDoQ%MM*`57=|fzau8XLSY;9#N=*8z{#6p z_-(_WxU8WeODcUt9zb5!L>WRlIztkf@LG4#kUDDj$(fmfua)MN16gF22$I;Kr#L3r zFHAV80JsGMGU*#nm@hx~Y5P_hv(@Y=!Gf_w_i}u&#O~6B$kV{bD8ffW7>(z|WrM=O zTI9p#C1MMu1B01B4i|Bk56 zXh-c&Jt;xs3JK#P!NKx()rbVM-B7(X?PsKrAjYaJRr9JQ)F^E@-n;x;G(o*T`yx$9 z@420jh-{<>%+T+$52ek5s~MuB0VmaZg~5AQ93Q;1}U-KlVJ8BPNW>lUyx+>|_b zyHoUZdvEvl*y}dSp#BZ3f7RU$5WnmG)}gy?q+T|0I(p!#m1t)FyW=VU8IL2NC>JZoQ{0*n|v#-CzPvRR-! zsS&ktWX)n)pjz2pJ6T>KrD&N;Pm|lZJ8I=onToSB^e9UBdymR@(*0N(tZ)RkYD{Gv zpD1UBkt=%mW+__9k+J%!a*2s*Q{XdqK}YIUh>0jY$9VqYu<&bBxsJlB!=Iy-$SP%r z+RB!stQ>Ha&$nUo6?itDGEG#Lzplk*Nm6zmPunP!0Dwd_A;DKF_Ag=qQ~J&9)U=Un zYiA;|W>LOOIdZZdT65QhX(9rvWDAz_wt?kDv*3=g&zsV`-jK{!E1b|8Y}zrgawY0C zhLuL-L;Ki;xvvJR^cyT^2J%#?V;A68xE^|Qkc~E9-Erp)2F&S!q;H?9MnJT5$?@~n z4?`gOEM&Sm)_ZVA+5{`EdiIAnppH*TY5me6aFrVQJ@iELRE!Nw>9J+uR6$}ej425G zD8!?1S01I%9V3xf-BIdNUNwg?Bi(z)^R;%?OVtQS&Zq7#SqOdroyXha zx>6G!zw!s?3g~>;IMe@$p2dT;CAYlZ{QI#ub;HqoURZ+AC+hAUq%_#UY}0zV+8@ce z3B-%N*eWm!*ILCWbSA0xO5a`y;j@WS`4#sBjUP6%RbVhQ6o6F#2zAK_-mqXw+BX5v z)7%=eek-lmo3~y8g3{UozoupB=OKvW+T`88`NbqY09S)5z~^-+LWF9od${A^1<;GT z@{cNSmLg&_L#4~v>%?$4XB~sqPSF2^YNb*si*GCh^oSYg~3(sG_^CcGd zR{8yid!FZrBc7t8#WPydWhk|8_#;0Me_)g}a*Y0>%MmY8du7h5^Fvl+KG&pPd(HvZ zj%LVS_+7b=sWwWo_K4b3Ct$$L}}}hRYoP zQRLbG^QVWoL$m??SqAD~gh7}iB0?A-OA|knLlx_TwrhtTA|wU^UUfL6L4-D*I%FvojhZK6HEd= zZYiUN0Nkt`RON9&glt)m`}U|LDJ2sx^d-)C2fA?aTn~r4G5l52vc?1(L)w1Xurivu zOEF{l$%oS>**x8K!r$P>pQh+D()UAwE zgset2X3=_Mg`MCIcwHQojyMDMfKOD^e zR=J^zUCkp^{prLup(ilueA+*s%}lX;)8&zQK7a|btvJ7R&nOcQN#CD~GI#*_T z;@B51Do+>6g9LtYL4H6_^kh&*a{IEu_P1MDlaY(j-`_&6pO29TxGnA%XE>zcdP;RT zD|y!oO4NrnmiU2*aHP6zAK{!cU(@#k`PVXExt3q`<5pRfVJ0Rja5<;-M}ps#(Y7t6 zTH={<=_gXW+HlYQKoZKID*o`gZ<=pld;{NGh&%{W6n?!Q3zgx@E@FT17@E-XX*4$U zmEU*%NQ9`(+37b=SL4BUpet10?@28U)Dyw36nKa*3r6BwWc|BU_IodukkK~y@mf_S z_t?4yrEXQ9kaZG~C{g5GXL^~p{l;l|vU5l#SX|`2*?_ht=_)j}8ko z#qtR#mU2ym0{MUXXZsydI5emR_fr+sc_Ffa1Y)x$1$_@_8rmMP|JX1vO5`MadfgxU z5p9HBYQEzdji?i*qls)vxEMnB_1t|yAhEubIRr#p*rKtfn7L3ukI&#a$nGrmtyEq! zLp+&-6Gv9k^+}8T2UQpw_KtcM>AFYB;CYbj*+3%%LXtQ`WcC6$P5cK%j)vU;YaHsR zH83ZgE77sJcQsp8yRYE-Vn%L=+D>KO#JURBVhg?ALk5x+F#E)8$>iP!7>TgaHRy=fHxpmV- z`WM`;j|o(bNQ4Q=`U%)t{QwVW9R468f&FJ~WkJFKy}=MOentVNv7mMwYW#vKcD0Fc z+fyu-t5NeXr*JAIOp*TG)%uBUZ6LYw_VUu~hg4!;l=EX@0MTgj5tsSSnfOjHU5L+n zEv;;U`_VpzMrp^UfmllD6XS4zZV2s$Gyie66AUfH4^q*2pGr>sYRG-y}23$ZIEE<-O90xiVBH-tT2Ck2Gw9mGRYn^m*^_n?^4Dgpj zB6?}F-a0bDlL``@8btlIlq)ErK&)Z7?FsQAG_0L>3fLkyiYJ_nA3-M@*(acYtgy^$ zKk{Br7#x}{Z z%Qrq<3?xI$_)e>U^bshBTj&!bX-~UIelxP=>7jUIq#eL<&hWjBJwC@S@Rtu^qBTdG z+1i+>hDNXA^*XSZ-0f78y{zmAfV_x0n6@wJH{1OYp&A`3gO?i`%yc z_R=g))79rTBJ|_8Rma4<#r|MnMw!fkc7?o3k)6#GdJj+6a5$>-Px-P5#PgK<#?{>l zynh94T2CAb{+zi7;?@xJX$@?F=mu`1$|4Z{}eG#G^sb zft(SDQGq)@T>tdxi+q>Os=opg`Hahv(@Y7VT*vLq*p*pvbX*T&*F9+xbe?eG8SI|u z>7HnXv>wb|?%oTalJ|>?37R;Y*(O84IDlgK4o^10;Ly=rnJONpu3CKOi7#=Hjn}bo zZ_g^X+QL9XG6^tBzk_q}xO_c(e?f}Jh>{q@2mGU+wg~aBO?Uxa zzE&(GDo3&v=^EH{w*P_Uz2W9?dMHl0fD2F!-b5@p#fiXXtZAZ0L!WT-;1Y5nKxgv^ zN;nRu)f(na%qYJ4XALxNzY3(mMy-*K|^VpjTH_Ljo? zbg#QlTFUBF9pP40y2x_9_KtlPx~d98)1RvPtIOPDzeTzGP<@iSgXQDQ1tTwj83`EA zLWEc^<&V;1V}-7aNzyHL_~##cyO6Dqui18kW){tOR_ehNh;}E zxX@f!Mt-y5Uwp$%OxA0d5l=UYasW2@85h3Pa+Dm;=PbX!=+o?1H)*z*=Q8LJ=K9DD7W70%dGIkcsWhF?~UCzX)j0LoTKH8#? z)Y{%pV!^UuFP%DU#;A5?kJDs2rE!vBrOeqlkzV>-Zfb zZfeFZ^lCM9lvR-zaO08sM0{Sb8(sPPWgVfTaqj%2@Jfs>MP3_f(bAt*gAW06)vm_U zoO~qyJqzaqc#qPxZ(jL@2m%+YoBXLM6fO)rAV}!SIhQAc=ndSfp?V1v>x=hUVt|DQ zH2vq(jwXOi>;w+-vm$0~+(RMG&;kF$jn`HvwJSqG2>j&(ew-f_Qo8 zus|_Fbc~Ht9CVhDpnZNi%tm=0IuIntL+F!z=BM+4gk)v=KN}$Xf7dd07Iw~mY=FRZ z9V>@b@tXGvJzwTV&SIUuHj_+j zS@A_hBgK@rNf%F|bVSI%zEEKliG>5r+71dx2{=YgLPuCjoQ`1UL*rSewP7$B5Tf>o z5?K|fK;|L{Lm}VqVC9dYc;gC?QC7N?i|&H7@0)NWb=@$@HG)JXL`3dsO)_A%)C{j= zsM2wFn-(Ys=)%eLMF$$~nEj*2M9h^Uo|lk~0)-L`(;W~Q`#ZdXt4Xl~<_~c%8bL|h@oZx)1RK%szDlg{=qTI7 zT~zSm;_eBoPCm+#5M847yzsocadHsRV?yU$6l_hRy(!W~PC+{Av<5>XT}I&PitzSI z$|OD}3DUVJiP=yQv_kmu|l(y^NuguTdkMQU#uu*CA$`x#`VwTjz#%P z3)H;ohJwXr1a4(IeqaOd2_JSwFDF6F(MiuWK19a@zOG8+py7C$P*-r;mE~OVP*;^SW+|pj%*nX>t_@Eu z%)IqHZl8r)6M!CPAK%)Cuj^0t`4VDmxlu#UOOpPgu}t;DVF1tx246ZI<^36wcfzXf z`$)ipZ|`&4_tHT|sW@-hIMt>+SQ+AwLN$S}mbSWHsNX^~cJP?CUQzPU#68Orr6?lu zsM5sJFt_--=~JJpD$?hM-hRU#C0>k$a)-L5G+*pY1WdJl`TlLw88-I|dN zsI{l$_gX$xTmAy3gdWuK>SQd42}hIcZ3G-%3BuN;#y56GEMYwZO~CQ`aLqjcK{7)soiLwLVo)V8I4QN=nueztA_ zzzo!{+oAKLE-aEgvu+8m>+cdMc@ns%cZBKEkbt*$h*Sbkzi{3KF5%R`f)mtbTJ9mh z859>(nHk~JA&<@_du+L@dI~11$5W>#_O@7-eB#Hg!L0qUVYz@edsW^`=)H@8!~mNy(%KMTRWlo_13a)8U+=bM7nZL zz*YtX{zp5oSG-F)_RI(A*Fc>LXMP)L5xepAMX#;;mz2BXCj5$&mLJ&sC$rhK2mZsM z<_O+ZXah2IHbKwkHQkfpCOq^6#E0(^ew3JPLAaDy;sN|D`l1OowCUoxB>tNjI5Z}L zuoQ%G9v77*_Ci<@#I=~#{t4J@Q8P%Qcc{c7)4lFM*A@{uYMsK1nBUg$uj)%MMHY{k z3visv-Zhd3Xd!nUJ=ALYx9tIFXDX1iXH;cn!5TeA;u!>fb^UEGBupJ+v_Y>Ck`m^U&mO zWFx8%uT+6-?D?ZN8a# z>}D$57D#^3;-F+H8`svcZVTmS6A}N0+c=#aYiUKfJUe3$n`oy!apcE<8@#ocH{E(% z1i&2aSe#SbxBZCQjzq%4&Jl8sjtH9@4JKIzLZh&xJr?KVU>lmtgntEafYoy{C6cvf z?&BLX|55C3^Oe<}kFSUB&tZab0x)h}!&;Q9NQM7!b%Qrn3AN__ChYG`zKYeKCygIHjoX4t3BD}LT;(E6-^|1G#pCfIUz|9u$&_f zR4?idPQW7Xb&Bn5JzPGVQQoXEzjUgbaltpK|_7fJT zPx<4*dy*a&F*;nrq-?`EuTKi?0Xt`dK#!-ay~U~(6q>M3-X3c`?KiC3qa8fgTvf=@ zgBm!K8n{hA9RACd3Q3RAW+{bpHB@T=DC4ro;Bj43=AC9z*<`d$y5Y1ytpF#?1vF;*BuKGTQ@EEewj znvI2;W;fl-pFzAry6bmuu{}QpVxdJ!W$S3hP~v{sF>H!meR6+`>_ z;%X%7F3O1bL>vEgSV#u__cSDxPjDP2ja^juh4hcHHzHSCnWn>LL?e_}c!Dq)OFaWo z-oBUjfO@Cmn`Q4FR9Op7AY(==Flwa%_o{>6Y;T?e;U(f}Dnufa;ZeLNiA7EX!(98O z=W)CzLHuUXMY^=?UAlRAKF|MKwAs(xrags@2PJ#d7gn!+3Tc5g3hB*miqxK;FJ?6{ z`1OSh8?d_>Ig&z0vwu4cI8HX=MN5g8hKcv$%$#DGOL^T`nFfsL$`e^hfdr2Thf^m! z+DPGFe96AD5w>7BHU+(fiM-w=6Bp;(&A6PQLwk z_*qD)yOtTB-s$$&jPV-(`{w30%kIX<@han?<@3EDg>H&>n*o{b;ao*wcqS!U_^_*z zf_&VrlirTobu%G$rJmrs5HON(Rve1g+&>c3Mif+eEF0|LU6~6ikvro@hRZ94Ta#ewV~mS4h1AtCO*!Nm3Um+9NxMms-Wvc^R~pnn03J zuB9c6uYOp-IQuy1WMZ$h$$2Ssl(6L`HAJQf7^=Xc+O?)_V~R&^+1$);{uqTk+iv!b zidYkvC1UwzAuItC44f6_2 zid1;TzN@~!s_#N!#FQjC37#lOMSKqcjFgv;U8$DTpA6K#5uOb=!GULs$eFp}1Arn; zf0?fqBf98+-QDfuzfdUDcV;;YB3=q;>+tE?Vx_IAd+6?31GlHXIp0TP=3|+=03JDo zrXYO@Y`$#S?-1e(-l`1pq%xgcKAPH(G%(Wcn%n8|nP5T~gbU?W&vCX};}#G*K`XVx zN&z$xv8lt3P`+%=PRn0U7$>buy0u8mR}>35jj^Yy_+~Vle0^K&^O2W$P-@BwzE?du zJFIb*{=tXk2^?MeVW!>A-LO?vSLZ<}%LSllzfhTw{bog?n3+9qASY2rI@SEBP2xDY z=6rSojzK*gYgK4#=g@H>$rXfsxG})EYX6gF)u;f4_TB5DTinOsRkBm?cF87O%Ca-F zI?v8drY6Z3S(a@sD7QSWpg!+}HYP)@JklKD&Z)hU7ntd}Bxy+};H}Hv+wz0-(t373 z^9Ik-+x_+Qv2x?>GIeKtl-cPwJAZk>^Ogk%k+6A+LP}r5i~`Rn(UkhOZ#ET#5z_fs z-lSmgcudV&7MpS8^GbcSF`gE>KpXAyw zF2$H`mUD_yJq6Ke3~7TTxeg5}5xR*&c09Sq%?ud^o-}qg55Gqg8b-|N%Jv1=Z{%PX z?%a*;)cpxpev|RUQ~_W(0GJO0i$nuA12q**f!`PhMjKQec8{9M#0>#IId*1C%%55p z3)SiwG~;B-jT!N$F*Bz{R5HR%Q@9EZ>C8tB$db$wHA5$NWYfZ#cTlb+lr%OQbX}Et z>_>20pE-Z0hG({a<9C0&iwoDoiJxb$bn!@TxI#1sF}2B-*{lVEY!Y;IId6JKZ}4%< zfX=<2BtQvh;C zlsE#Z;K&^3yNx-?L72A>cNU2XTv;Oa0VEKpzK36ES&z3s4pLUZA7HI(j$4rQRF!=3d1YJY!7y{=#W{3*A@7*7pxJu=3HGsjt6{fE zq6^{qWz0$wsf<5ML(|0Ep@P-ke_nQ}r`2Akte}zXThyBdhD*kLQho2i*>qaUfW^Y8s(=f_OzHY|62bFy>V zg#L{4pdd630oR&-qs8Ee99NMm(e0lvG~6~M6Z|yKS4LL(L`)XN{=qVXChrr9jUQ5*p8Ws;8VjM7Z#y}#SW(>VhmmQXCVSX7; z>JAC-xfM=$JUp(@l(O(Tg*LGXD(~J@A(<1|jj`piaoORqM%iN7yuQr3qt$DgS?XD; zcnXcLvvImInq%T)LU*&QD7VP9$liiy9IE?vS!1H5PIX&LzIU~gfC8^PA>h~5$yJUo zcHC`WLXKr-!*svRI6@3E2oeDDVFm zRyDv~g0}}z`dtbfU~cR%Q>(=_kF)#+ze(eXpCWq8KS^}9V&rQOnqNeKvI zpOQ!qXV~slYgv7o66c!t&9Z8DY=iPL5^V2Jfd7c5(G~MnS{RQDf&asU`t4vna0ZU4 zGckAHV)m~B9rnfG^xs9Aj{5?4zF?rZSZd{Y-chP!2bFMJj&oC4!_8u8`J>9}8|+*G zZcTQ>ilWYIsbwpXWhKV-2kfutvxk38BcR`^bXtuwLUbySAR^6A^FfplooM5TDxKOt z?w)_V0F7*#bo7wO|Ib#y3gF`Y*H)0P`7@fZ5zTW`ulrGmyQcLS8W+Zxha@OcGiI-^ zdOJA0E(V)>4bP*L^zS1b^6+-tAkqE>@!9s6oQ8`AhgNM(H(hz#?Ff`Ir)Ix=LcOlm z^~m;yl%n7kQRr8eQvG@a-BR;N1hn5PababNfFze`Et8?JuxYwpY!~e-uHQfydYpvn zV<4}%N!p+u()I#{3xWh1IIydo^$VDVy7ARFkuxlVW)UI9KA2=Ys#x4qbPF+Ox1gFK zw0tbOn_?Ci)@SqScr{GLbgVY4NEOcRfslo1{M@ee{Guh&G4vrJat1`~ST*S`LNwc} z8qEN!Hfy|XUO*uvw(GL*XO1SArAfN}56Gvx9X)4ll3Yd`k!$EB!Bkf>y_vEo7;|i(?X=Z^(B0wW)6I~(C zXznV0&8O~8&JsqAwUmnJYl@$X6QZ5AU=XS>SKNgg7bZPb!lilPM=%1?`lEe!5Nbr5 z1HcRpi2AsU;Q3V3Ftlv|4!UBSOtuIq_?~*ncZlZBp~h~4lFNV=sXP;`@HiT}}yNATavh>I|vDuff46SNpHpZXGD#D2txK*4?# zUl0J(PP36eEt30(m;DInuP_?`npG!d$E}m{7yp`9OwEof+ozw?Erjf2PFJPRFs+a3 z?=qzyL)%)}vGTM1b@#EoXS+BqHLZ_m`L5zuqqQCl_pCj(lq*kD82!+Yndp+r8~C^9P#NQa>w3 zGZSa`!>;uzoZT)PX{dga`RixyTY=v<=#DyA`_a%`clc~k4lk~0O~q9X?9(q7(!jgD zRf{;(#1x_~#*H29bsw8i{)S#tX-*muk-{GF@|2I$G!JbC<`&sBCwZt`gc8U1o!nB! z+ULizF)BGWWB<~*DCegL9jy}uafIlO)UO4{@kc*k#3vN9YM-`LnHZeJvl@u2xVlq& z4y)=H^V~Kk28=sGa*yOx!@_b9@n>$Cm8LSulR93@~xC!k1ZgDZLZ?``PYSt9fy`2 z-d$C*w2@*k18EJ>`*iC(1-X8#N@TuyJQ|&r9BI;LW?~Fy3bmpxC(K!wpSpi~2xf5_ zF`TnpYxGxU z2hWb{F1OXYXfRjrwK0^hyx_gQG<{6o$XvcbmWa;c|Llx8oW760xP1M{NXm>xspe*9 zXbtTr0xpzQcqW-Junmq(pP5a&M^@-{S=I4W2AnMiThd!^w{vQ_0?9jP8qkz`8vNy|M5 zhdFbmFlB0(@ZM2sIW(-2zZhFU2G1@9waWaN4vp&S;!BQe%K(}9Q55@U!QnEI%|DOM z#OZv9Y!zO+E2-tkNYBV+d}@{^_v~CcI_jRYeMl)o&tzY1?V-Z0Qn)uF1UG4qGnc3V znvreRtK6qD-+Z`oZk6|E?5AK8M~+YDu$f!R8Wcm z9Vui;<^rhQfQ|@Qm7Z%R&M+Qg!m{H{%6$}-y%Z^7Hp=SB(?n)cYf?)%F-k9UW&FpGAs+>-sIj_d7FBQyDTB>c>lOtCaB}rteSz!2^W0DSAV$on&grPz( zqskZ~oR>kMcPFU6Um)1w!YWZfU9AXl(<&TD_hb zW0mao1u;|fx8!jutv6~u^)TIg+0RYmD|h-8C)THA#ERjqHEMO5-a4j5<6m{5^PxMY zIZf1INDgJ_0tD`>PxUoqbkE48$TG2YNzIbl$F2JAr#MQ|%i%TD!{ei6KP^~8RwFKq ztJv`JhDqyyfhH{nhfW-Lt})$?n*0Pzwyagw;wl=$XJ^|3%%_YDCqdrYI2;YbHik~t zw-Gj$))=3hhyq(fakULo)z2I=5j*@<|H_9Jl`|)h?NKqo3wb{@{h{dq|DWp=O0I9U zJhl&`{_j!K>4Tz6_)wN+5}ZjC~!AI`8lSXeU2`O8FW&KVrzsT-}@ z)-bMPSDj)%kq~yoJpZqkhJ*dz;AA9Lz<(VRY%Cz~XymWJKy8_5%0{G)$;zT!KA%PO zV%Se*gV4ht3NC_lnDNTsJOT&utoKhk(%Y>_O^b9+*k_1>EQj99Q!M&?{g=?BDj{hZ z@V^*Inx_z&PqR;uUxJ#zrsBv)Ng0dLKagZhb@a8++#+NwuE4UHI0~U5m{eELb#$~x z-ay~L$-i9zY3f=;cNEHoP~Lp|8WO+3S!+J~=Tus!LGt(Y=-ErjFj)V9GRB70y(yU}2&oJh$^vf!sFoNWQ}MrXgvNG(qsm_6?(C z%nUt0Mtigj4BjG$t?~jLdZf>N#U!a1($F{uCgAf?n>dp{SVI}4mDo%sp-5#9YVt7S z_~)ti%Z?rJtT5f(@-LMR7+NdRY89gRrxy1Q?bQmZ zeu=ue970qsK>vUhJ14Smwk3rKcG-*x)a((%HRUzGfKLVD^=iB`Q+GpvsfMrTW-{2W1BCsP@ErO zOykRW>t%$?#fE-c{_Eo9Wc0`ExL{w&W8&YNyEiH9ocq(w&7nqjuJ`R-v#49AbWp@= z98ePbs$s}$cn54?r9J+#{rjGO*Y&^!5z|bfk!eJtY>SKjqvPclo8z83%DWez^2v^& z6x$+X{iAzuoy_sS7f8A-Q^iq^`$VIEm?&w~&-x_VBCzBbP&5Jr)Xlxi=K0(iQHwkd zWyGgR$yEA~4z&9`Ms(0-+l)_S2EwUK3V=v5EmTMb;aEED5hm_e84;maI>*<P7e6 zNc)&p%+h(zSm7n1iRqf60_q(Rfz;}EhWW&&aj(4go!M!IP8X-}k1lr6=PSzw;Qg;_@55hhn$3BTAnBwZ07ZuQN^45MmmxE5k+@A>9(*$IXurF?Lfq4 z-2qlHI$b4uW@+(n3n%IA1(WHU?APHiQY8f;1T2g@;!Em%{ETt#c*-3=`Vz=IOeEV8 z>2&+Qs|4*OlHIfFf8O{=OdG2{Gh_~l)xCHn;?gMC_@>t5!dL;K`AAIVC|Elp3&_BZ zXn2vZ&0_UrHEwrJQfD^JTJLDy4_K@{o%VCu2-@At@V;F`y{lC63@aJNnEb|BhB)KF#!`#`pSkhUS@lXuRS9#yE3zcBvu52q@N;ye{#; zUM+{qR{4|N!=%8#rZ>Xm=D?X`b#|`7K>Vh(mgtq138yUSx~XJhy=ZdJUbq@>XoLS^ zx9NwXwP`h1*em4(4rVIgOm15+;1;^yl-OgpNnzJf_%}Y?1aiOEM!}b`@v3`M81{e)_OfU(}^Y(VsY^|px;)9YrbcZ0l42TxtEMU*n}tYU>4GL>4on|+0S_ZZhUmtR zntCwdq9@T*N8N?kZ|ERDk1IjPrOZPoq?Ds_8Q6IH`??$aA^3iM@|xPV?vQ=mle-SS zUh&E{XwCxtS2(}~{qGPGS`Ve?cn@ReX2yoM_X0K<6un{2N(+{F9z{s^9hkGq@4W_M z+x0a1CFvSgCd1O{5nxkPWLTnw6S;Oaw)uJ}#R7P*zB__ic$l$>)z8tojHHGY#5~4X z${FlJ)4-KI#&qBE#_2mmhM|t8PK48kBEIz+q|=FU^*?In>n0>7^oDw0T_Mz19DCXF zw7zTVHvJG)@6&2DCx}V5({DD~SWUWZRbal%5Nzl7a(z9q5&&-B;N{m;mfeHXmwxl~ z{ute5vs%1m-GqOAAJ?2H57ptFUXc=V=Z5Er^oM}Ky7&jKmVCKPtD$) zzce*8RJSkUk8BOqIj0FGaaNG5fLFg7( z309%TEZ=OtkuFsC6HVFA(-I6R9!5)-ekG+&Iv9q#IpUCDbEIeX)U0?O?Ok29HLV1Y zMc4kSvJ)}7X{B7}xk=GflpVZQa$v?VHr_Z7cE1Tc9vGR%$&DUuzf|_|)d7sU^g>;b zrGXYkW5$hlN1B&Fq9<-D{-2Y|0J2Qn?|VM$;KUg`27|&BtN7aeqG^F4BSzJevG zB|vKuB#x|LndfSxr=}K-32yTcFHNtc=EA5xyLwShb%ItUklQrje!<5ZG`!Nf4A0-L zPZO*;VY94b5rB>6|s*Umt_jNGM`OS4$}3C8v{4;6V>V z7u)?Ok8$}>%)##Ou+oFD+6W#$)ks7hxoE%s76(?O`k4k|(^t`Ty$dh(hpD}|%B9<;>FYQqv}*+L{kS-m8rRXH?28`@H#IkECHYpKAg zX~F6vYr{{~WB|rcN{m7=N7jzBy(T%n=s0pbO;qku7x1$6P(42}pg!x7VzEyx3iNIE zuFuJd-B!Qfup#%Auao02QBEJ_46E5HZ}mH*O*inCQZ25rU?qQqZCl^Zx^2!n?OnS{@GtH5Obw{nETzQUjcAE*Mi06;!)}6Vm(FEINz$? zCF}67ho@(=%xemzax8E{%m1BBtoVy{r&M`C$Uq>oQ!%pVRD#tldmL+aVQj*2i6Q-n z|DuUumL~^JUfx=wFn2cdmcuLr zFXm6bgbwFLGrc*_ep~^kjJKJEZ`eukZ`kcUgs#{>iZi=^*64uM(D?h}*T(S(#%l$Vu-m4oHK z7eVB|>1uE}5tzj->>V6Q0UWIV-9T_~v-}gK35--5wOwUFZ9AoRl|@Oc^JMZR6`H=A zqnUY7-P@urAtSAh)D*nC9L?uv(vNor6T$u6#8+!&Db;YPRyp*bZGi)YyFY|b_0^TR zi|&D;tCZWnt~#^%PFm0|I;_qGUTMV4&jLN?ZX_ffnJWDhJ(AR|W;SCRtfI z3RuwGVcWtSerQnY{nN&!bDxV}cGrDg*}6HOOFAC6Q-wsXTCuV6~f})Mj>iMli(SUEjU}`zm&S&XjyPDw}5}P zKaXjipf3$#&`~#=B;wu0aJ}sR9Jx-26xVyq-_mN|(O$nfB50#MP@G9DMVlK2WFE=T z5ZJ#PAvF)+cZobf$HD}|u(iyo$k6&9 zIlZ?WWlW*4g3{C+){$2+V=Beh6Cg^z{k4UeZ`YFzFTAfg?#PF1NeqpHPQ5s_b;sAZ zjY|d{WT!EozcG7q@w`x{6t_@ zv2Zsb1+W7?6KXX`bpWJnq=3&}Wjnji_mCaH`58B?jKC~qYijpT^Pe!{f10ACI{Yjm zTx@LI>})K;qMYm^oNPQi+$^G;BA+c*PJl2Qt03wBZwLyj;HRknP2*+b_}nVL;?M!9 zlC7)>=kbCLb@b5rmVfeXL^3be$3HbV?{LfS^f{-kQg)OR(NwqpCLH{|Go%I$rQ|F9 zGfXnPj&4eM8etlOv8a3wJLV`lOnHtT9a9u7M4fHFfUd5HQF$73WrmzI{cwLW*KHH8 z((JHpGx;{%iIB#d>LB5TrVH~A=b#jj7cfZYGDf$F*6k)WGgjT|gvmz3S(uAH_#0h= zoKhI8sM%0nDt97D++N^jGR`EnEZX=Og=&-{In;PrY*;M{!>YY!`s5GBmxlhdnm1cx z=%T*Ufm5*xaI5Qv-Sh7Q!Vs0Pb~LQ;C07qy=R)fKPOe_A0z>#QJ*R`KQL_HPdsm68 zme~3%WIH%Jf*NA>Eu>v1GATBNE)GpJuT34bW(<#5k z5RgcNU&9}jIJP$DyqI1c|HYs=SjV06{@KjqOuPQ@-Fi}|-PNm->pSNA{KnnWd2xgCLYln^*KcjaGZiA_fcMlbJfS_x3D#}Nx?cMb>)`&FvaEA_iS06&b zDC0XZbi6BtYuFs%7oh@=W-vc^!Bx~QUDT{T%q5gARt=c^j@&lgNbMF7b3>{P${smw zfG@J}vqpv4)xq@wIZl^W8=LFbY_VU+mxQ`hH~gACe9?tBt*G7M1%BL#KjL(D`Yib& z0c~GgOJk_A*l)t9T=$1q6{9r5Xo|x%b`!S~$)D|XsdRZV1jG357j~$w3?)1AL0vLC z$DFR;b+L4@h-P*m_P_ZHW^P>$d>H&4sb5 zT<64@?h0vBQ|u9%IZJEj9l3y z!`5?`!UN{13jggA>p77pqjQcnWX8T4YWnw=u~jXDvHwnHc3p%LZTLw0umiC{8TSuE z9-k#+nL2#QYe|zKKx?d@XmwyoE-Ll0{ICB_VDyL6;_HpRE7qT3OdCe@{)5k z6w#Bk2ONuMKBm}1-gNGN0GX(~DdKDE3gH*@cV)iak_lb|RC2Vh@?&+#SejK(U9+aBdH>22kvw!nGZl1{8a! zaCIYV0mU9FNZXM0AS(9Kf`iwE+yF9oOi=DtWEM2yt-{-aYyum9@mAw?A~%7}c)W?- z4rDWE!Q)Nr=8&zR4Nrs8judiu%<^s0(6 z(%bP;c$<-WU_0=5W4pRtJ?ve0Du|6p4b*Ntg<4-#gWQLwNw5*AfDGVu;^{H%1%r5+ z@G{7KU_YM1sz-c(035_qSR0UsfC~;si^aBRwHa%VP}Ur+BGYXSCytww`j(C+fhICV z^avON!{&50Menkw?{}=?+4ptv2pF}B=UODktm1bC9p$a!`5?N^zbH8lCcsfJ1*XA_ zRs82QU2+nfu!{E{mn`rV&I4YWZVW`VweIsedm7AIJeiY!oCBx88L$A(f<;M^yciyWz=mCA89}IxKU=ZvB`@sQl5F7$7I1G+} zAutR^z$lmiN5Le>gPj)ddPo0PFJXoAAfoU)U3g9G|1*gCqI1T2(8L$A(f<5dnz^NJKywf?A8aGx}r#5)g}k;SRP~eCVQ1kdlB{1jHg>kORg%h(>0-QkUrU zsYl0u=m(5`z~~2ze!%DljD9c%7}bC=5B6Go>Q;TgVLm{QQ;(QY4H(dX0Sy??fB_8{ z(0~CA7|?(L4H(dXLEpP)65_jSZ6cR!Fh{+YLk}Y zy5xc-_q0m#CeD=s-oLq3fVXb00`P9km00|Lv(M;aUcEWqtGOhoviR+rbz%dk2Q?P| z!jwGTp*dExxdw}0{;@n3y*VwOq6y`v{qovDD`>L#BY`{?y*ag@Z5Ds5Tb{bq4oh_3 zBB^Fno#qxx^z_N=vc%9X9rc19OAPi(s{7n&i94@2mUysQ-d?cV5|>X%?g8pF`z`T* zK%Kk;V9*i|zahDg8`l#$3=Uf2v7hP0A)qesh$WuYyMb%x_$ z8cbSp^-Vf)49tQVOV$j_D}V)X%95KtEpLw7P#Yw9){^-l~@VCQsdtR?-z#_2$>*sf)>4)n6`4s?lk(>TB8@tG;JyH$VfW}V1c_4gjqky?)}R(;>YlImF0X7pI~cOR6ePGqOmJlEw|s(DC%UO(uy znkN;cqM8tPd)!J(HQg_79~iLI<~B*9QXI6@<9A7_eb{fQCtj2!CB-3d*iyfJR^Aay z1s~{$kuDBf>i0d8BVg20Z*P!frC*$gSDLb(=s__wI5t1nFd-; zt9M>&^(S7^31Sh}TYceAk_0Ji22ECfUX>gYq_6|DSpC%>$!oRxFSh7^hz2$6wE7zs zCAR<~5O!PrB|Y(w(1bmJiVt^M!`QM;u+ihjt>Ns?CFw82K5Llmk|Z=CeP~Frhx@GI zm!I6^ertH~UB@z=uSlvrbgkhT4R^>y5vmm&vxXNQk*98vScK~Hj#{Qwc@EVcG7E%i z;-)P#qq!+m1oW^M!JK7(=C9ESHFhi(3&zno%PeXB3zsbW%8d>uN_V zl__*u=I`6(Z2{e&%QEkc$)mF=(6$t|TjolsydKaCc3O6AULIXcffl8(+p=}N@-$KC z3GD^_mTmrxPSCa#=t&BLmhFC2-ac>$9I))bygXWz!VqvR>wa?GVK54YEjuwOZv>2k zG0V>WL!P!{)^Rj{2_`JNc#lpT1#HO|j#>7qQ}T|388Btp>z|Ovs-SQZ%z{&39uzFQ z@^4)-2Nu9tun3f}GnT#d16^{?vR}ERqYJDuVjM+*yZmcBUtovXt+DLOt&VjZJSdM4 z`lQZZ1xhUY#$7s54oIg@{`|Ed4$@$?W&e7st|P2I&)(;M8TgfeaQW*k`_EckLLB`K zfQ0#^&Zp7#371cr{07VZYd{y1Kc80GZ?)`|oIG{H&6fS&%aTOTZwCa)R}ZV^w#ypJ zS9FQ`WHrWQ$X7eOldn(B_>4OA$`L6JaJ=uyoA+QTru-+HututKJLRQ>eF&3vY5ZuODRe z3ygkp(H=beSNTD}+AOa;dH2<;-gjp0#&gzsl%m812Dp(|r`sbmgh7{5a6g zyMA)fZ!ByHK}Ngh z+Ah~d);L>8E761a%mu#c3e~eh=fA>+_zFAVD{OhMu!Xe3p3w@ML@O1b67cKI3Y$bL p>0@4b?=j_Y#Khu%=<{2#wlInbBif+-*hHaRv5B_%~qMhXhA6;1#E diff --git a/PDF-Manual/ReaClassical-Manual.tex b/PDF-Manual/ReaClassical-Manual.tex index 4beb4424..44eac717 100644 --- a/PDF-Manual/ReaClassical-Manual.tex +++ b/PDF-Manual/ReaClassical-Manual.tex @@ -1,5 +1,5 @@ -%% LyX 2.4.3 created this file. For more info, see https://www.lyx.org/. -%% Do not edit unless you really know what you are doing. +%% LyX 2.4.3 created this file. For more info, see https://www.lyx.org/. % Do +%not edit unless you really know what you are doing. \documentclass[10pt,american]{article} \usepackage{tgschola} \usepackage{tgheros} @@ -26,12 +26,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands. \newenvironment{lyxlist}[1] - {\begin{list}{} - {\settowidth{\labelwidth}{#1} + {\begin{list}{} {\settowidth{\labelwidth}{#1} \setlength{\leftmargin}{\labelwidth} \addtolength{\leftmargin}{\labelsep} - \renewcommand{\makelabel}[1]{##1\hfil}}} - {\end{list}} + \renewcommand{\makelabel}[1]{##1\hfil}}} {\end{list}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. \usepackage{datetime2} @@ -53,31 +51,29 @@ \date{Updated \today} \maketitle \begin{center} -This manual is released under the GNU Free Documentation License v1.3 -\\ -See \href{https://www.gnu.org/licenses/fdl-1.3-standalone.html}{https://www.gnu.org/licenses/fdl-1.3-standalone.html} +This manual is released under the GNU Free Documentation License v1.3 \\ +See +\href{https://www.gnu.org/licenses/fdl-1.3-standalone.html}{https://www.gnu.org/licenses/fdl-1.3-standalone.html} \par\end{center} \begin{center} -Copyright \copyright\ 2022--2025 chmaha -\par\end{center} +Copyright \copyright\ 2022--2025 chmaha \par\end{center} \begin{center} Cover art (adapted):\emph{}\\ \emph{Composition with Red, Yellow, and Blue} (1927) by Piet Mondrian\\ -Downloaded from \href{https://artvee.com/dl/composition-with-red-yellow-and-blue\#00}{Artvee} +Downloaded from +\href{https://artvee.com/dl/composition-with-red-yellow-and-blue\#00}{Artvee} \par\end{center} \begin{center} -Typeset in \LaTeX using \TeX{} Gyre Schola font -\par\end{center} +Typeset in \LaTeX using \TeX{} Gyre Schola font \par\end{center} \vspace*{\fill} \begin{center} \begin{minipage}[c]{0.2\columnwidth}% \begin{flushright} -\emph{As featured in}\thickspace{}\thickspace{} -\par\end{flushright}% +\emph{As featured in}\thickspace{}\thickspace{} \par\end{flushright}% \end{minipage}% \begin{minipage}[c]{0.5\columnwidth}% \href{https://www.soundonsound.com/techniques/source-destination-editing-reaclassical}{\includegraphics[width=6cm]{user_guide_images/sos.jpg}}% @@ -92,17 +88,17 @@ \hyphenpenalty=10000 -\emph{I sincerely appreciate your interest in ReaClassical. This project -is a labor of passion, driven by the desire to provide a robust and -flexible tool for musicians, composers, and sound engineers in the -classical music world. Your support, feedback, and contributions are -vital to making ReaClassical better with every update.} +\emph{I sincerely appreciate your interest in ReaClassical. This project is a +labor of passion, driven by the desire to provide a robust and flexible tool for +musicians, composers, and sound engineers in the classical music world. Your +support, feedback, and contributions are vital to making ReaClassical better +with every update.} -\emph{Thank you for being a part of this journey. Whether you're -just starting with ReaClassical or have been using it from the beginning, -your trust in this tool inspires me to continue improving and innovating. -I hope ReaClassical enhances your classical music production workflow -and empowers your creative vision.} +\emph{Thank you for being a part of this journey. Whether you're just starting +with ReaClassical or have been using it from the beginning, your trust in this +tool inspires me to continue improving and innovating. I hope ReaClassical +enhances your classical music production workflow and empowers your creative +vision.} \hyphenpenalty=50 \begin{flushright} @@ -119,157 +115,155 @@ \part{Preliminaries } \section{Introduction} -\noindent It is important to note that if you already own REAPER then -the world of classical editing including source-destination editing -(aka 2-, 3-, and-4-point editing), crossfade editing and more are -available at no extra cost to you via the freely available ReaClassical -system. There's no need to spend any of your hard-earned -money on Sequoia, Pyramix or SaDiE in order to make editing precise -and efficient. As a classical engineer myself, I can say with certainty -that what I am about to share with you covers all my recording, editing -and mastering needs. Indeed, I couldn't return to the old way of working -at this point. Your mileage may vary and I'd love to -hear from you if there are functions that you feel might be missing. +\noindent It is important to note that if you already own REAPER then the world +of classical editing including source-destination editing (aka 2-, 3-, +and-4-point editing), crossfade editing and more are available at no extra cost +to you via the freely available ReaClassical system. There's no need to spend +any of your hard-earned money on Sequoia, Pyramix or SaDiE in order to make +editing precise and efficient. As a classical engineer myself, I can say with +certainty that what I am about to share with you covers all my recording, +editing and mastering needs. Indeed, I couldn't return to the old way of working +at this point. Your mileage may vary and I'd love to hear from you if there are +functions that you feel might be missing. \section{Compatibility} ReaClassical runs on any system that is compatible with REAPER (nine -architectures!). This includes 64-bit and 32-bit versions of Windows, -MacOS and Linux (including Raspberry Pi). +architectures!). This includes 64-bit and 32-bit versions of Windows, MacOS and +Linux (including Raspberry Pi). \section{Quick Start Guide} -For first-time users, the \href{https://reaclassical.org/quick_start_guide.html}{quick start guide} -website is a great place to learn the basics about ReaClassical. Each -section covers major workflow areas and contains simple step-by-step -instructions with an accompanying short YouTube video for demonstration -(no audio). +For first-time users, the +\href{https://reaclassical.org/quick_start_guide.html}{quick start guide} +website is a great place to learn the basics about ReaClassical. Each section +covers major workflow areas and contains simple step-by-step instructions with +an accompanying short YouTube video for demonstration (no audio). \section{This Manual} -This PDF manual serves as the official manual for ReaClassical. The -latest version is always available directly online or offline from -within ReaClassical by pressing \keys{H} (for `help'). The benefit -of the offline version is that it is always in sync with the version -of the tools you are using. The structure of the manual is designed -to take the user through preliminary remarks, install and update procedures -for both ReaClassical and REAPER then a detailed look at workflows -from creating a project through to final render. After some brief -closing remarks, there follows the appendices (descriptions of all -the ReaClassical functions, keyboard shortcut guide, recommended free -mastering-grade plugins, system tweaks for all three major OSes, and, -finally, a manual install guide mainly for academic purposes). - -I highly recommend doing a complete read of the manual and becoming -very familiar with appendices A and B. +This PDF manual serves as the official manual for ReaClassical. The latest +version is always available directly online or offline from within ReaClassical +by pressing \keys{H} (for `help'). The benefit of the offline version is that it +is always in sync with the version of the tools you are using. The structure of +the manual is designed to take the user through preliminary remarks, install and +update procedures for both ReaClassical and REAPER then a detailed look at +workflows from creating a project through to final render. After some brief +closing remarks, there follows the appendices (descriptions of all the +ReaClassical functions, keyboard shortcut guide, recommended free +mastering-grade plugins, system tweaks for all three major OSes, and, finally, a +manual install guide mainly for academic purposes). + +I highly recommend doing a complete read of the manual and becoming very +familiar with appendices A and B. \section{Website} -The website \href{https://reaclassical.org}{reaclassical.org} serves -as the entry point for new users. From here you can read about key -features, donate to the cause, read this PDF manual, installation -instructions, navigate to the ReaClassical community thread and more. +The website \href{https://reaclassical.org}{reaclassical.org} serves as the +entry point for new users. From here you can read about key features, donate to +the cause, read this PDF manual, installation instructions, navigate to the +ReaClassical community thread and more. \section{REAPER Community} The \href{https://forum.cockos.com/showthread.php?t=265145}{community thread} -plays an important role in the development of ReaClassical. Not only -is it a place for users to suggest feature requests and point out -bugs but also discuss more general classical music recording, mixing -and mastering techniques. It also serves as something of a development -blog as I not only announce the regular releases but also document -the under-the-surface details for those that are interested. - -Relatively new is the \href{https://discord.gg/Gu2m9ccHGS}{ReaClassical Discord server}. -This is a great place for live support, general chat, proposing feature -requests, workflow discussion, and letting the community know about -albums or individual pieces you have created with the help of ReaClassical. +plays an important role in the development of ReaClassical. Not only is it a +place for users to suggest feature requests and point out bugs but also discuss +more general classical music recording, mixing and mastering techniques. It also +serves as something of a development blog as I not only announce the regular +releases but also document the under-the-surface details for those that are +interested. + +Relatively new is the \href{https://discord.gg/Gu2m9ccHGS}{ReaClassical Discord +server}. This is a great place for live support, general chat, proposing feature +requests, workflow discussion, and letting the community know about albums or +individual pieces you have created with the help of ReaClassical. \section{Ways to Contribute} -The most important way users can contribute to the development of -ReaClassical is to actually use the tools! It makes me happy to know -that engineers can make whole professional-sounding and technically -accurate masters from ReaClassical. Another is to suggest features -or let me know about bugs. You can either do this on the \href{https://forum.cockos.com/showthread.php?t=265145}{thread} -or via the \href{https://github.com/chmaha/ReaClassical/issues}{Issues} -page on the ReaClassical GitHub. Finally, I'd be glad of any monetary -donations. You can use \href{https://www.paypal.com/donate/?hosted_button_id=PKJLC3E2UPW6C}{PayPal}, -\href{https://liberapay.com/reaclassical/}{Liberapay} or \href{https://donate.stripe.com/00g5mydzCftQdpeaEE}{Stripe} -to do so. +The most important way users can contribute to the development of ReaClassical +is to actually use the tools! It makes me happy to know that engineers can make +whole professional-sounding and technically accurate masters from ReaClassical. +Another is to suggest features or let me know about bugs. You can either do this +on the \href{https://forum.cockos.com/showthread.php?t=265145}{thread} or via +the \href{https://github.com/chmaha/ReaClassical/issues}{Issues} page on the +ReaClassical GitHub. Finally, I'd be glad of any monetary donations. You can use +\href{https://www.paypal.com/donate/?hosted_button_id=PKJLC3E2UPW6C}{PayPal}, +\href{https://liberapay.com/reaclassical/}{Liberapay} or +\href{https://donate.stripe.com/00g5mydzCftQdpeaEE}{Stripe} to do so. \section{Spread the Word!} If you've enjoyed using ReaClassical in your projects, I'd be incredibly -grateful if you could mention it in your album booklets, social media -video descriptions, or anywhere you typically include session details. -A simple acknowledgment alongside your usual credits helps spread -the word and supports the continued development of the tool. +grateful if you could mention it in your album booklets, social media video +descriptions, or anywhere you typically include session details. A simple +acknowledgment alongside your usual credits helps spread the word and supports +the continued development of the tool. \section{Buy ReaClassical Merch} -Get print-on-demand ReaClassical merch like shirts, mugs, totes, pins, -stickers and more through my \href{https://www.teepublic.com/user/reaclassical}{TeePublic store}! +Get print-on-demand ReaClassical merch like shirts, mugs, totes, pins, stickers +and more through my \href{https://www.teepublic.com/user/reaclassical}{TeePublic +store}! \section{Source Code} -The source code for ReaClassical, the mastering grade `RC' plugins, -this manual and the website can all be found \href{https://github.com/chmaha/ReaClassical}{here}. -ReaClassical is \href{https://www.gnu.org/licenses/gpl-3.0.html}{GPL-3.0} -licensed. +The source code for ReaClassical, the mastering grade `RC' plugins, this manual +and the website can all be found +\href{https://github.com/chmaha/ReaClassical}{here}. ReaClassical is +\href{https://www.gnu.org/licenses/gpl-3.0.html}{GPL-3.0} licensed. \section{Development Style} -Due to working on GitHub and releasing the functions via ReaPack, -I have the ability to push bugfixes and new features very quickly -into an existing ReaClassical install. Often bugfixes happen within -minutes or hours of receiving the report. When I dream up new features, -the development often happens in rapid fashion over the course of -a few days. However, now that ReaClassical has what I consider a mature -feature set, I foresee maintenance and occasional bugfixes becoming -more central to the process. This will give me more opportunity to -work on this documentation, a complete video tutorial series etc. -Part of development is also ensuring that ReaClassical continues to -operate as expected with the latest REAPER versions. That's not to -say there won't be new features appearing! As the REAPER developers -add more new features, I will always check to see what might be useful -for ReaClassical. +Due to working on GitHub and releasing the functions via ReaPack, I have the +ability to push bugfixes and new features very quickly into an existing +ReaClassical install. Often bugfixes happen within minutes or hours of receiving +the report. When I dream up new features, the development often happens in rapid +fashion over the course of a few days. However, now that ReaClassical has what I +consider a mature feature set, I foresee maintenance and occasional bugfixes +becoming more central to the process. This will give me more opportunity to work +on this documentation, a complete video tutorial series etc. Part of development +is also ensuring that ReaClassical continues to operate as expected with the +latest REAPER versions. That's not to say there won't be new features appearing! +As the REAPER developers add more new features, I will always check to see what +might be useful for ReaClassical. \section{Versioning Style} ReaClassical currently uses YY.M.MICRO versioning (where M is a non-padded -month) to accurately reflect how current the software is. For example, -25.6.2 would indicate a June 2025 release with 2 patches or bugfixes. +month) to accurately reflect how current the software is. For example, 25.6.2 +would indicate a June 2025 release with 2 patches or bugfixes. \section{Tools and Languages} -ReaClassical works on top of \href{https://www.reaper.fm/}{REAPER}, -the digital audio workstation and utilizes \href{https://reapack.com/}{ReaPack} -and \href{https://www.sws-extension.org/index.php}{SWS Extensions}. -ReaClassical functions are coded using \href{https://www.lua.org/}{Lua}. -The installers for MacOS and Linux are shell scripts. The Windows -installers are coded in \href{https://go.dev/}{Go}. The ReaClassical -and Quick Start Guide websites use \href{http://getskeleton.com/}{Skeleton}. -All coding is done either in REAPER's ReaScript Development Environment, -\href{https://code.visualstudio.com/}{vscode} or \href{https://gedit-technology.github.io/apps/gedit/}{gedit} -on Linux. The manual is written in \LaTeX{} (\href{https://www.lyx.org/}{lyx.org}) -with the covers designed in \href{https://www.libreoffice.org/}{LibreOffice} -Draw. The ReaClassical splash screen and banner are created in \href{https://www.gimp.org/}{GIMP}. +ReaClassical works on top of \href{https://www.reaper.fm/}{REAPER}, the digital +audio workstation and utilizes \href{https://reapack.com/}{ReaPack} and +\href{https://www.sws-extension.org/index.php}{SWS Extensions}. ReaClassical +functions are coded using \href{https://www.lua.org/}{Lua}. The installers for +MacOS and Linux are shell scripts. The Windows installers are coded in +\href{https://go.dev/}{Go}. The ReaClassical and Quick Start Guide websites use +\href{http://getskeleton.com/}{Skeleton}. All coding is done either in REAPER's +ReaScript Development Environment, \href{https://code.visualstudio.com/}{vscode} +or \href{https://gedit-technology.github.io/apps/gedit/}{gedit} on Linux. The +manual is written in \LaTeX{} (\href{https://www.lyx.org/}{lyx.org}) with the +covers designed in \href{https://www.libreoffice.org/}{LibreOffice} Draw. The +ReaClassical splash screen and banner are created in +\href{https://www.gimp.org/}{GIMP}. \section{Keyboard Shortcuts} -When providing keyboard shortcuts, this manual assumes Windows or -Linux as the operating system when modifier keys are used. MacOS users -should use the typical standard substitutions. If in doubt, open up -the actions menu via keyboard shortcut \keys{?} or by navigating -to \menu{Actions > Show action list...} to see the current assignments. -For reference (from REAPER's own user guide), here is a table of equivalent -modifier keys: +When providing keyboard shortcuts, this manual assumes Windows or Linux as the +operating system when modifier keys are used. MacOS users should use the typical +standard substitutions. If in doubt, open up the actions menu via keyboard +shortcut \keys{?} or by navigating to \menu{Actions > Show action list...} to +see the current assignments. For reference (from REAPER's own user guide), here +is a table of equivalent modifier keys: \begin{center} \begin{tabular}{cc} \toprule \addlinespace -\textsc{PC (Windows or Linux) Key} & \textsc{Mac (MacOS) Key Equivalent}\tabularnewline\addlinespace +\textsc{PC (Windows or Linux) Key} & \textsc{Mac (MacOS) Key +Equivalent}\tabularnewline\addlinespace \midrule \addlinespace \midrule @@ -286,12 +280,14 @@ \section{Keyboard Shortcuts} \section{Changelog} -The changelog for ReaClassical functions can be found by double-clicking -on the ReaClassical package in ReaPack and navigating to the `History' -tab. Whenever you sync ReaPack via \menu{Extensions > ReaPack > Synchronize packages} -or the ReaClassical\_Updater function, this information should also -appear automatically. For all updates including those not related -to the functions themselves, a changelog can be found in the \href{https://github.com/chmaha/ReaClassical/raw/main/release_notes.pdf}{release notes}. +The changelog for ReaClassical functions can be found by double-clicking on the +ReaClassical package in ReaPack and navigating to the `History' tab. Whenever +you sync ReaPack via \menu{Extensions > ReaPack > Synchronize packages} or the +ReaClassical\_Updater function, this information should also appear +automatically. For all updates including those not related to the functions +themselves, a changelog can be found in the +\href{https://github.com/chmaha/ReaClassical/raw/main/release_notes.pdf}{release +notes}. \pagebreak{} @@ -301,65 +297,65 @@ \section{Install} \subsection{Easy Complete Portable Installation (recommended)} \begin{enumerate} -\item Follow the installation instructions \href{https://github.com/chmaha/ReaClassical/blob/main/install_instructions.md}{here} -or in the `Installation \& Update' section of the \href{https://reaclassical.org/quick_start_guide.html}{Quick Start Guide}. +\item Follow the installation instructions +\href{https://github.com/chmaha/ReaClassical/blob/main/install_instructions.md}{here} +or in the `Installation \& Update' section of the +\href{https://reaclassical.org/quick_start_guide.html}{Quick Start Guide}. Simply run where you would like the ReaClassical folder to be created. \item Start REAPER/ReaClassical. -\item Follow the update instructions \vpageref{subsec:Updating} to get -the latest and greatest versions of the ReaClassical functions, toolbar -and keymap. +\item Follow the update instructions \vpageref{subsec:Updating} to get the +latest and greatest versions of the ReaClassical functions, toolbar and keymap. \end{enumerate} -Note that if the ReaClassical folder already exists, the installer -will automatically add a unique suffix to ensure nothing is overwritten. +Note that if the ReaClassical folder already exists, the installer will +automatically add a unique suffix to ensure nothing is overwritten. \subsection{Just The Scripts and Plugins?} -Install both \href{https://reapack.com/}{ReaPack} and latest \href{https://www.sws-extension.org/download/pre-release/}{bleeding edge SWS Extensions} -if you haven't already. +Install both \href{https://reapack.com/}{ReaPack} and latest +\href{https://www.sws-extension.org/download/pre-release/}{bleeding edge SWS +Extensions} if you haven't already. -Import my \href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{index.xml} -into ReaPack (see the \href{https://reapack.com/user-guide\#import-repositories}{ReaPack user guide} +Import my +\href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{index.xml} into +ReaPack (see the +\href{https://reapack.com/user-guide\#import-repositories}{ReaPack user guide} if you are unsure how) and search for `ReaClassical' for the ReaClassical -metapackage and `RCPlugs' for the classical jsfx plugins. Note that -out of the box this does \emph{not} give you the full benefits of -ReaClassical which include keyboard shortcuts, custom toolbar etc -but does include ReaClassical themes and a project template which -you should use when doing classical editing. It's an easy way to start -if you are already familiar with ReaPack and SWS and want to check -out source-destination editing etc. Note that you \emph{do} need SWS -installed for the functions to work as expected. You can follow the -update instructions \vpageref{subsec:Updating} to grab the custom -toolbar and keymap but please heed the warning about using the ReaClassical\_Updater -function as answering 'yes' to either of the questions will overwrite -configuration files. +metapackage and `RCPlugs' for the classical jsfx plugins. Note that out of the +box this does \emph{not} give you the full benefits of ReaClassical which +include keyboard shortcuts, custom toolbar etc but does include ReaClassical +themes and a project template which you should use when doing classical editing. +It's an easy way to start if you are already familiar with ReaPack and SWS and +want to check out source-destination editing etc. Note that you \emph{do} need +SWS installed for the functions to work as expected. You can follow the update +instructions \vpageref{subsec:Updating} to grab the custom toolbar and keymap +but please heed the warning about using the ReaClassical\_Updater function as +answering 'yes' to either of the questions will overwrite configuration files. \subsection{Manual Installation \& Tweaks} -\noindent For a manual installation (ideally for educational value -only or if you already have a heavily-customized REAPER setup and -wish to add all or just parts of ReaClassical) see Appendix E. +\noindent For a manual installation (ideally for educational value only or if +you already have a heavily-customized REAPER setup and wish to add all or just +parts of ReaClassical) see Appendix E. \section{Update} \subsection{\label{subsec:Updating}Updating an Existing ReaClassical Portable Install} -To update just the functions, use \menu{Extensions > ReaPack > Synchronize packages}. -To update the functions and also update/reset the custom toolbar and -keymaps to be in line with a standard ReaClassical portable install, -run the handy ReaClassical\_Updater function via \keys{\shift+U} -. This will sync ReaPack to get the latest ReaClassical functions -then offer to overwrite your toolbars and keymaps with ReaClassical -portable install defaults. \textbf{DON'T do this if you have your -own custom toolbars or keyboard shortcuts as they will be overwritten! -}However, as of 24.8.7 any files will first be backed up (e.g. \emph{reaper-kb.ini.backup}). -Obviously if you run the updater twice before recovering them you -will lose your original files. +To update just the functions, use \menu{Extensions > ReaPack > Synchronize +packages}. To update the functions and also update/reset the custom toolbar and +keymaps to be in line with a standard ReaClassical portable install, run the +handy ReaClassical\_Updater function via \keys{\shift+U} . This will sync +ReaPack to get the latest ReaClassical functions then offer to overwrite your +toolbars and keymaps with ReaClassical portable install defaults. \textbf{DON'T +do this if you have your own custom toolbars or keyboard shortcuts as they will +be overwritten! }However, as of 24.8.7 any files will first be backed up (e.g. +\emph{reaper-kb.ini.backup}). Obviously if you run the updater twice before +recovering them you will lose your original files. \subsection{Updating REAPER} -Simply use the shortcut \keys{\ctrl+U} to open the REAPER update -utility. +Simply use the shortcut \keys{\ctrl+U} to open the REAPER update utility. \begin{figure} \begin{centering} @@ -369,11 +365,11 @@ \subsection{Updating REAPER} \end{figure} -Either click on the main or pre-release version you are interested -in or click on one of the clock icons to select from previous releases. -Despite the REAPER developers having a track record of excellent compatibility -across even major versions, I recommend sticking with the tested version -of REAPER noted \href{https://raw.githubusercontent.com/chmaha/ReaClassical/main/tested_reaper_ver.txt}{here} +Either click on the main or pre-release version you are interested in or click +on one of the clock icons to select from previous releases. Despite the REAPER +developers having a track record of excellent compatibility across even major +versions, I recommend sticking with the tested version of REAPER noted +\href{https://raw.githubusercontent.com/chmaha/ReaClassical/main/tested_reaper_ver.txt}{here} to minimize any issues of compatibility. \pagebreak{} @@ -382,30 +378,29 @@ \part{ReaClassical Workflows} \section{Creating \& Setting Up a Project} -When you start REAPER/ReaClassical from a default portable install, -you'll see an empty project with ReaClassical project defaults. The -first thing you should do is save it via \keys{\ctrl+S}. +When you start REAPER/ReaClassical from a default portable install, you'll see +an empty project with ReaClassical project defaults. The first thing you should +do is save it via \keys{\ctrl+S}. \subsection{Theme} -The ReaClassical theme is loaded by default. It looks almost exactly -like the default REAPER theme. If you'd like to switch to one of several -other custom themes, you can do so via \menu{Options > Themes}. `ReaClassical -Light' is similar to the default but uses lighter waveforms and peak -edging. The two `WaveColors' themes apply coloring only to the waveforms -with option for dark or light item backgrounds. +The ReaClassical theme is loaded by default. It looks almost exactly like the +default REAPER theme. If you'd like to switch to one of several other custom +themes, you can do so via \menu{Options > Themes}. `ReaClassical Light' is +similar to the default but uses lighter waveforms and peak edging. The two +`WaveColors' themes apply coloring only to the waveforms with option for dark or +light item backgrounds. \subsection{Project Settings} -You can open the project settings by pressing \keys{P} (for `Project -Settings') You shouldn't need to change any settings here. By default, -render resampling is set to the highest quality using r8brain free. -Media is saved to a `media' subfolder. The default recording format -is 24-bit wave files but you can set to 32-bit float if using a portable -recorder with that capability. Video frame rate is set to 75 to align -with the number of frames per second for an audio CD. You can, of -course, fill in the `notes' section with a title, author and notes -as desired. +You can open the project settings by pressing \keys{P} (for `Project Settings') +You shouldn't need to change any settings here. By default, render resampling is +set to the highest quality using r8brain free. Media is saved to a `media' +subfolder. The default recording format is 24-bit wave files but you can set to +32-bit float if using a portable recorder with that capability. Video frame rate +is set to 75 to align with the number of frames per second for an audio CD. You +can, of course, fill in the `notes' section with a title, author and notes as +desired. \begin{figure} \begin{centering} @@ -418,54 +413,50 @@ \subsection{Project Settings} \subsection{Audio Settings} -Click on the audio information in the top right of the window or via -\keys{O} (for `options') navigating to \menu{Audio > Device}. -These settings are operating system dependent. Choice of blocksize -etc is also dependent on need and how modern and/or optimized your -system is. For general microphone setup, device and recording settings -specifically for classical music etc I recommend referring to one -or more of the following: +Click on the audio information in the top right of the window or via \keys{O} +(for `options') navigating to \menu{Audio > Device}. These settings are +operating system dependent. Choice of blocksize etc is also dependent on need +and how modern and/or optimized your system is. For general microphone setup, +device and recording settings specifically for classical music etc I recommend +referring to one or more of the following: \begin{itemize} -\item \emph{Classical Recording: A Practical Guide in the Decca Tradition}\textsc{ -}by Haigh, Dunkerley \& Rogers -\item \emph{Recording Orchestra and Other Classical Music Ensembles} by -Richard King +\item \emph{Classical Recording: A Practical Guide in the Decca +Tradition}\textsc{ }by Haigh, Dunkerley \& Rogers +\item \emph{Recording Orchestra and Other Classical Music Ensembles} by Richard +King \item \emph{Recording Classical Music} by Robert Toft -\item For a more detailed look at mastering (for any genre of music), I -highly recommend \emph{Mastering Audio: The Art and the Science} by -Bob Katz. +\item For a more detailed look at mastering (for any genre of music), I highly +recommend \emph{Mastering Audio: The Art and the Science} by Bob Katz. \end{itemize} \subsection{ReaClassical Preferences} -Pressing \keys{F5} brings up the ReaClassical Preferences dialog. -The first line sets the crossfade length in milliseconds for all source-destination -editing. The next three lines are for \href{https://en.wikipedia.org/wiki/Disc_Description_Protocol}{DDP} -creation. The defaults are for a 200ms track offset (to account for -older CD players that couldn't play audio immediately after a track -search), the INDEX0 length in seconds for when to start a CD player -`countdown' display to the next track (a fun visual trick that is, -of course, completely irrelevant for purely digital releases) and, -finally, the album lead-out time in seconds (essentially the time -on a car CD player before the disc returns to the beginning again). -There is a setting for the Prepare Takes function to either use the -old random coloring method or the newer color scheme that uses blues -for destination material and greens for source material. The user -can change the checking range (distance beyond an item edge/fade or -crossfade) when placing destination IN and OUT markers. Setting to -0 would just check if the marker would be placed \emph{inside} a item -fade or crossfade. If the reference track is set as overdub guide, -it will be audible during classical take recording and auditioning -which is extremely useful for overdub recording of material after -the main session such as a symphonic organ part or narration. Next, -you can set \keys{1},\keys{2},\keys{3}, and \keys{4} to add markers -at the mouse hover position vs edit cursor. In this mode, you can -also enter the fade editor by hovering of the right-hand items of -a crossfaded pair and pressing \keys{F}. Finally, you can set the -custom playback rate when auditioning via \keys{\shift+A}. There -will be more on these settings in subsequent sections of the manual. -If you are unfamiliar with these concepts, I recommend a quick internet -search! If in doubt, just use the default values. It is worth noting +Pressing \keys{F5} brings up the ReaClassical Preferences dialog. The first line +sets the crossfade length in milliseconds for all source-destination editing. +The next three lines are for +\href{https://en.wikipedia.org/wiki/Disc_Description_Protocol}{DDP} creation. +The defaults are for a 200ms track offset (to account for older CD players that +couldn't play audio immediately after a track search), the INDEX0 length in +seconds for when to start a CD player `countdown' display to the next track (a +fun visual trick that is, of course, completely irrelevant for purely digital +releases) and, finally, the album lead-out time in seconds (essentially the time +on a car CD player before the disc returns to the beginning again). There is a +setting for the Prepare Takes function to either use the old random coloring +method or the newer color scheme that uses blues for destination material and +greens for source material. The user can change the checking range (distance +beyond an item edge/fade or crossfade) when placing destination IN and OUT +markers. Setting to 0 would just check if the marker would be placed +\emph{inside} a item fade or crossfade. If the reference track is set as overdub +guide, it will be audible during classical take recording and auditioning which +is extremely useful for overdub recording of material after the main session +such as a symphonic organ part or narration. Next, you can set +\keys{1},\keys{2},\keys{3}, and \keys{4} to add markers at the mouse hover +position vs edit cursor. In this mode, you can also enter the fade editor by +hovering of the right-hand items of a crossfaded pair and pressing \keys{F}. +Finally, you can set the custom playback rate when auditioning via +\keys{\shift+A}. There will be more on these settings in subsequent sections of +the manual. If you are unfamiliar with these concepts, I recommend a quick +internet search! If in doubt, just use the default values. It is worth noting that these preferences are set per project. \begin{figure} @@ -478,19 +469,17 @@ \subsection{ReaClassical Preferences} \subsection{Choice of Workflow} -The choice between what I refer to as `vertical' or `horizontal' -workflows will depend somewhat on the complexity of the project. For -a quick editing session of, say, a choral piece or short self-standing -orchestral piece, a horizontal approach will suffice. For a well-drilled -ensemble recording session, I can recommend using the vertical approach. -Many classical engineers enjoy using a horizontal approach for recording -(potentially the least disruptive and making use of the Take Counter -window \keys{Ctrl + \return}) and then either sticking with that -for editing (also taking advantage of the extremely useful Find Take -\keys{\return} and Jump to Time \keys{\tab} functions) or, depending -on the number of takes, converting to a vertical workflow. Frankly, -there are benefits to both routes, and in the end, it simply comes -down to personal preference. +The choice between what I refer to as `vertical' or `horizontal' workflows will +depend somewhat on the complexity of the project. For a quick editing session +of, say, a choral piece or short self-standing orchestral piece, a horizontal +approach will suffice. For a well-drilled ensemble recording session, I can +recommend using the vertical approach. Many classical engineers enjoy using a +horizontal approach for recording (potentially the least disruptive and making +use of the Take Counter window \keys{Ctrl + \return}) and then either sticking +with that for editing (also taking advantage of the extremely useful Find Take +\keys{\return} and Jump to Time \keys{\tab} functions) or, depending on the +number of takes, converting to a vertical workflow. Frankly, there are benefits +to both routes, and in the end, it simply comes down to personal preference. \begin{figure} \begin{centering} @@ -511,141 +500,134 @@ \subsection{Choice of Workflow} \subsubsection{Vertical Workflow} -In this approach, the source and destination track groups are aligned -vertically so that the user doesn't have to shuttle back and forth -in the arrange window for placing source-destination markers. - -\textbf{When Recording material:} To begin with a vertical workflow, -you could actually use a horizontal workflow approach \keys{F7} to -set up just a single group and record left to right. After recording -is complete, and you are ready for editing, you could convert to a -vertical workflow via \keys{F8}. Alternatively, you can press \keys{F8} -for project creation and start immediately with a vertical setup with -one `destination' group and six `source' groups. In either setup, -and whether recording or importing, simply type in the total number -of stereo and mono microphone inputs you need, enter track names and -optionally auto set recording inputs based on track names. I highly +In this approach, the source and destination track groups are aligned vertically +so that the user doesn't have to shuttle back and forth in the arrange window +for placing source-destination markers. + +\textbf{When Recording material:} To begin with a vertical workflow, you could +actually use a horizontal workflow approach \keys{F7} to set up just a single +group and record left to right. After recording is complete, and you are ready +for editing, you could convert to a vertical workflow via \keys{F8}. +Alternatively, you can press \keys{F8} for project creation and start +immediately with a vertical setup with one `destination' group and six `source' +groups. In either setup, and whether recording or importing, simply type in the +total number of stereo and mono microphone inputs you need, enter track names +and optionally auto set recording inputs based on track names. I highly recommend using the first track for the main stereo pair. -\textbf{When importing material:} To begin with a vertical workflow, -press \keys{F8} to set up a destination track group and six source -groups (don't worry, it's easy to add more if you need them!). Simply -type in the number of stereo and mono microphone inputs you need, -enter track names and then answer `no' to auto setting recording -inputs. I highly recommend using the first track for the main stereo -pair. - -As mentioned above, the \keys{F8} function creates six source groups -based off the destination track group, and creates a single set of -mixer tracks that are shared by the groups. Use these to control volume, -panning, polarity, sends and FX across all takes. The function also -sets up media item and razor editing grouped by folder. If you need -more than the six source groups, simply create them on the fly with -the \keys{\textbackslash} shortcut, but note that using \keys{F9} -(Classical Take Record) creates a new source group as needed after +\textbf{When importing material:} To begin with a vertical workflow, press +\keys{F8} to set up a destination track group and six source groups (don't +worry, it's easy to add more if you need them!). Simply type in the number of +stereo and mono microphone inputs you need, enter track names and then answer +`no' to auto setting recording inputs. I highly recommend using the first track +for the main stereo pair. + +As mentioned above, the \keys{F8} function creates six source groups based off +the destination track group, and creates a single set of mixer tracks that are +shared by the groups. Use these to control volume, panning, polarity, sends and +FX across all takes. The function also sets up media item and razor editing +grouped by folder. If you need more than the six source groups, simply create +them on the fly with the \keys{\textbackslash} shortcut, but note that using +\keys{F9} (Classical Take Record) creates a new source group as needed after each recording. A typical scenario: You have vertically recorded, or vertically prepared, -multiple takes of a concerto movement with 10 channels. You realize -halfway through editing that you want the soloist's -microphone to be brought up in volume a little and also panned slightly -more to the right to match the position in the main stereo pair. Simply -make the change once on the equivalent mixer track! +multiple takes of a concerto movement with 10 channels. You realize halfway +through editing that you want the soloist's microphone to be brought up in +volume a little and also panned slightly more to the right to match the position +in the main stereo pair. Simply make the change once on the equivalent mixer +track! \subsubsection{Horizontal Workflow} -In this approach, there is a single track or single group of tracks -with the source and destination material laid out from left to right. -As mentioned above, for shorter pieces of music this is often a perfectly -acceptable approach. With the introduction of the Find Take, Jump -to Time and Take Counter functions, many might now prefer this workflow. - -To begin a horizontal workflow, press \keys{F7} to set up a track -group also with mixer tracks (for making changes to volume, pan, polarity, -sends and FX). Whether recording or importing, simply type in the -number of tracks or microphone inputs you need, enter the track names -then optionally auto set recording inputs based on track names. I -highly recommend using the first track for the main stereo pair. In -the event you are making a simple stereo recording, just create a -track group consisting of two tracks and leave the child track empty -and hidden via pressing \keys{E} on the parent track. - -If you wish to convert to a vertical workflow, simply press \keys{F8} -to create six new source groups. If you accidentally switch to a vertical -workflow via \keys{F8}, \keys{\textbackslash} (duplicate folder) -or similar, simply undo via \keys{\ctrl+Z} and press \keys{F7} to -set the project to a horizontal workflow again. +In this approach, there is a single track or single group of tracks with the +source and destination material laid out from left to right. As mentioned above, +for shorter pieces of music this is often a perfectly acceptable approach. With +the introduction of the Find Take, Jump to Time and Take Counter functions, many +might now prefer this workflow. + +To begin a horizontal workflow, press \keys{F7} to set up a track group also +with mixer tracks (for making changes to volume, pan, polarity, sends and FX). +Whether recording or importing, simply type in the number of tracks or +microphone inputs you need, enter the track names then optionally auto set +recording inputs based on track names. I highly recommend using the first track +for the main stereo pair. In the event you are making a simple stereo recording, +just create a track group consisting of two tracks and leave the child track +empty and hidden via pressing \keys{E} on the parent track. + +If you wish to convert to a vertical workflow, simply press \keys{F8} to create +six new source groups. If you accidentally switch to a vertical workflow via +\keys{F8}, \keys{\textbackslash} (duplicate folder) or similar, simply undo via +\keys{\ctrl+Z} and press \keys{F7} to set the project to a horizontal workflow +again. \subsubsection{Auto Set Recording Inputs / Add Special Tracks} -As part of initial workflow setup, you are asked if you'd like to -auto set recording inputs based on track names. Essentially, if you'd -like your track to have a stereo input use words like `pair' or -`stereo' (in your own language if you wish!) as part of the name. -Otherwise, it will be treated as a mono input. For example, `ORTF -Pair', `Violin Spot 2ch', and `Omni Outrigger Stereo' will all -be treated as needing a stereo input. The function uses the maximum -available hardware inputs after which it disables recording input. -You will see a report of assignments with the option to revert to -previous settings. You can run this as a standalone function at any -time via \keys{\ctrl+F9}. - -Also, as part of the initial workflow setup, you are asked if you'd -like to add any special tracks (aux, submix, roomtone, reference). -This is useful if you are setting up an editing/mastering project -with pre-recorded material. +As part of initial workflow setup, you are asked if you'd like to auto set +recording inputs based on track names. Essentially, if you'd like your track to +have a stereo input use words like `pair' or `stereo' (in your own language if +you wish!) as part of the name. Otherwise, it will be treated as a mono input. +For example, `ORTF Pair', `Violin Spot 2ch', and `Omni Outrigger Stereo' will +all be treated as needing a stereo input. If you add `left',`l', `right` or `r' +(again, in your own language if you wish!), the channel will be auto-panned +accordingly. For example, `Decca Tree L' will create a mono signal panned 100\% left +(note that the `L' has a necessary space preceding it and that it is also the +final part of the name). The function uses the maximum available hardware inputs +after which it disables recording input. You will see a report of assignments +with the option to revert to previous settings. You can run this as a standalone +function at any time via \keys{\ctrl+F9}. + +Also, as part of the initial workflow setup, you are asked if you'd like to add +any special tracks (aux, submix, roomtone, reference). This is useful if you are +setting up an editing/mastering project with pre-recorded material. \subsubsection{Manually Naming Tracks } -If you didn't name tracks as part of the initial workflow setup, you -only need to add track names to the mixer tracks in the mixer panel -and then pressing \keys{F7} or \keys{F8} will auto-populate the -same names to all regular track groups. While re-naming don't worry -about keeping the `M:' prefix. On sync, it will be restored. ReaClassical -automatically adds Source and Destination prefixes to your chosen -track names and are auto-renumbered whenever functions affecting the -number of source folders are run (Vertical Workflow \keys{F8}, Duplicate -Folder \keys{\textbackslash}, and Classical Take Record \keys{F9}). -Tip: Avoid using any colons in your track names and the auto prefixing -will work as expected. +If you didn't name tracks as part of the initial workflow setup, you only need +to add track names to the mixer tracks in the mixer panel and then pressing +\keys{F7} or \keys{F8} will auto-populate the same names to all regular track +groups. While re-naming don't worry about keeping the `M:' prefix. On sync, it +will be restored. ReaClassical automatically adds Source and Destination +prefixes to your chosen track names and are auto-renumbered whenever functions +affecting the number of source folders are run (Vertical Workflow \keys{F8}, +Duplicate Folder \keys{\textbackslash}, and Classical Take Record \keys{F9}). +Tip: Avoid using any colons in your track names and the auto prefixing will work +as expected. \noindent\fbox{\begin{minipage}[t]{1\columnwidth - 2\fboxsep - 2\fboxrule}% -As you will discover, based on which workflow chosen, you can use -\keys{F7} or \keys{F8} at any point during project work to (re)create -project routing, propagate track-naming based on the mixer tracks, -sync record inputs and track lock states. Various ReaClassical functions -use the same synchronization under the hood.% +As you will discover, based on which workflow chosen, you can use \keys{F7} or +\keys{F8} at any point during project work to (re)create project routing, +propagate track-naming based on the mixer tracks, sync record inputs and track +lock states. Various ReaClassical functions use the same synchronization under +the hood.% \end{minipage}} \subsubsection{The Single Mixer \& \textquoteleft RCMASTER\textquoteright{} bus} -Whatever your workflow preference, as of 24.10, all audio is routed -through a special dedicated mixer tracks leading to an RCMASTER bus. -This allows for independent volume adjustments on the parent track -which is generally used for the main microphone pair. Converting your -projects made with an earlier version of ReaClassical is easy. Simply -run \keys{F7} for horizontal workflows or \keys{F8} for vertical -workflows. The new mixer tracks and bus will be created and all routing -taken care of. Any existing track panel settings (including sends -and FX) from the first group are automatically transferred to the -mixer tracks. - -Any and all track setting changes (track naming, volume, pan, phase, -FX, sends to @aux tracks, routing to \#submixes etc) happen in the -mixer tracks. This is identical to the way that Pyramix works with -a single mixer being fed by all the source groups. The mixer tracks -are always visible in the mixer panel and identified by track names -that start with `M:'. Running \keys{F7} or \keys{F8} will synchronize -the track names from the mixer tracks across the whole project. - -The basic rule is to not delete these special tracks. But, if you -do by accident, don't worry. Try to undo via \keys{\ctrl+Z}. In in -the highly unlikely event that doesn't work, simply run \keys{F7} -or \keys{F8} again and the mixer tracks will be restored (although -any custom routing and automation will be lost). It is also worth -noting that aux, submix and roomtone tracks now automatically route -through RCMASTER on creation and are also automatically updated when -older projects are `upgraded'. +Whatever your workflow preference, as of 24.10, all audio is routed through a +special dedicated mixer tracks leading to an RCMASTER bus. This allows for +independent volume adjustments on the parent track which is generally used for +the main microphone pair. Converting your projects made with an earlier version +of ReaClassical is easy. Simply run \keys{F7} for horizontal workflows or +\keys{F8} for vertical workflows. The new mixer tracks and bus will be created +and all routing taken care of. Any existing track panel settings (including +sends and FX) from the first group are automatically transferred to the mixer +tracks. + +Any and all track setting changes (track naming, volume, pan, phase, FX, sends +to @aux tracks, routing to \#submixes etc) happen in the mixer tracks. This is +identical to the way that Pyramix works with a single mixer being fed by all the +source groups. The mixer tracks are always visible in the mixer panel and +identified by track names that start with `M:'. Running \keys{F7} or \keys{F8} +will synchronize the track names from the mixer tracks across the whole project. + +The basic rule is to not delete these special tracks. But, if you do by +accident, don't worry. Try to undo via \keys{\ctrl+Z}. In in the highly unlikely +event that doesn't work, simply run \keys{F7} or \keys{F8} again and the mixer +tracks will be restored (although any custom routing and automation will be +lost). It is also worth noting that aux, submix and roomtone tracks now +automatically route through RCMASTER on creation and are also automatically +updated when older projects are `upgraded'. \begin{figure} \begin{centering} @@ -662,168 +644,156 @@ \section{Recording} \subsection{Manually Setting Inputs} -See above for the ReaClassical approach to auto setting recording -inputs based on track names. There are also multiple ways to manually -set recording inputs. First, you can left-click on the meter part -of the track panel. Second, you can press \keys{\Alt+R} to open the -routing matrix. Once you have set the inputs for the first group, -and you chose a vertical approach, simply press \keys{F8} to sync -these settings to all source groups. +See above for the ReaClassical approach to auto setting recording inputs based +on track names. There are also multiple ways to manually set recording inputs. +First, you can left-click on the meter part of the track panel. Second, you can +press \keys{\Alt+R} to open the routing matrix. Once you have set the inputs for +the first group, and you chose a vertical approach, simply press \keys{F8} to +sync these settings to all source groups. \subsection{Headroom} -Again, I refer you to the books on classical music production but -in general I suggest aiming for around -12dB peaks on the meters. -24-bit recording allows for a lot of headroom so there's no need to -push close to 0dB. Adjust the individual faders to balance. Note that -in a vertical workflow moving a fader will automatically move the -corresponding fader in the other groups too making same-volume auditioning -of different takes extremely easy. When using a 32-bit float device -with dual AD converters as an interface (such as the Zoom F-series), -ensure that the recording file format is switched to 32-bit float -via project preferences \keys{P}. The recorded levels might seem -too low or too high during recording, but they can be easily adjusted -afterward in ReaClassical without introducing any extra noise or distortion. +Again, I refer you to the books on classical music production but in general I +suggest aiming for around -12dB peaks on the meters. 24-bit recording allows for +a lot of headroom so there's no need to push close to 0dB. Adjust the individual +faders to balance. Note that in a vertical workflow moving a fader will +automatically move the corresponding fader in the other groups too making +same-volume auditioning of different takes extremely easy. When using a 32-bit +float device with dual AD converters as an interface (such as the Zoom +F-series), ensure that the recording file format is switched to 32-bit float via +project preferences \keys{P}. The recorded levels might seem too low or too high +during recording, but they can be easily adjusted afterward in ReaClassical +without introducing any extra noise or distortion. \subsection{Classical Take Recording} -Select the parent or child track of a track group and then press \keys{F9} -to begin `classical' take recording mode. If the track group isn't -already record-armed (probably the case before you start your first -recording of the session), the function will first simply record-arm -the whole group so you can usefully monitor incoming signal. On a -subsequent press of \keys{F9} recording begins. To stop recording, -press \keys{F9} again. In horizontal workflow, the key press will -maintain record arming and will begin recording on a subsequent press. -In vertical workflow, this key press also automatically moves to, -solos and arms the next available group so that recording can begin -immediately on the next button press. ReaClassical will automatically -create new groups as required. To manually add more destination groups -when not recording, press \keys{\textbackslash}. To pause and unpause -a recording without starting a new take, toggle the pause button in -the transport or use the shortcut \keys{\ctrl+\space} (spacebar). -To quickly increment the take number during recording use \keys{\shift+F9} -but note that this should only be used during moments of silence (i.e. -inbetween quickfire session takes) as it creates a new recorded item. -During this mode you should use the Takes Counter window \keys{\ctrl+\enter} -to track the upcoming take number (in green) and take number during -recording (in red with recording circle). You can right-click on the -window to optionally override the automatic numbering and set a take -number to increment from in addition to optionally setting a session -name to act as media subfolder (which is automatically recalled when -the window is reopened). You can left-click to recalculate the track -count if you have removed some unused files from the project path. -The calculated upcoming take number factors in unused files in the -project path so as to avoid any file-naming conflicts. With manual -override off (=0), switching back to an existing session will also -automatically set the correct incoming take number. Please read the -description of the function in Appendix A for best practices. - -Once recording is complete, you can briefly use the audition function -\keys{A} which will instantly remove all record-arming from tracks. +Select the parent or child track of a track group and then press \keys{F9} to +begin `classical' take recording mode. If the track group isn't already +record-armed (probably the case before you start your first recording of the +session), the function will first simply record-arm the whole group so you can +usefully monitor incoming signal. On a subsequent press of \keys{F9} recording +begins. To stop recording, press \keys{F9} again. In horizontal workflow, the +key press will maintain record arming and will begin recording on a subsequent +press. In vertical workflow, this key press also automatically moves to, solos +and arms the next available group so that recording can begin immediately on the +next button press. ReaClassical will automatically create new groups as +required. To manually add more destination groups when not recording, press +\keys{\textbackslash}. To pause and unpause a recording without starting a new +take, toggle the pause button in the transport or use the shortcut +\keys{\ctrl+\space} (spacebar). To quickly increment the take number during +recording use \keys{\shift+F9} but note that this should only be used during +moments of silence (i.e. inbetween quickfire session takes) as it creates a new +recorded item. During this mode you should use the Takes Counter window +\keys{\ctrl+\enter} to track the upcoming take number (in green) and take number +during recording (in red with recording circle). You can right-click on the +window to optionally override the automatic numbering and set a take number to +increment from in addition to optionally setting a session name to act as media +subfolder (which is automatically recalled when the window is reopened). You can +left-click to recalculate the track count if you have removed some unused files +from the project path. The calculated upcoming take number factors in unused +files in the project path so as to avoid any file-naming conflicts. With manual +override off (=0), switching back to an existing session will also automatically +set the correct incoming take number. Please read the description of the +function in Appendix A for best practices. + +Once recording is complete, you can briefly use the audition function \keys{A} +which will instantly remove all record-arming from tracks. \subsection{Take Ranking} -During or after recording, you can rank one or more recorded takes. -Use \keys{\ctrl+=} to rank higher, \keys{\ctrl+-} to rank lower, -and \keys{\ctrl+0} to remove any ranking. If no item is selected, -the last recorded item (along with other items in the same group) -are affected. Otherwise, you can select one or more parent items. -The ranking system uses a series of colors and a scale system of plusses -and minuses (+/-) added as a suffix to the item name up to a maximum -of three symbols. This allows for seven different rankings. Positive -rankings are 3 intensities of green (good, very good, excellent), -negative rankings are yellow, orange, red (below average, poor, unusable), -with neutral (no ranking) using the default item color. +During or after recording, you can rank one or more recorded takes. Use +\keys{\ctrl+=} to rank higher, \keys{\ctrl+-} to rank lower, and \keys{\ctrl+0} +to remove any ranking. If no item is selected, the last recorded item (along +with other items in the same group) are affected. Otherwise, you can select one +or more parent items. The ranking system uses a series of colors and a scale +system of plusses and minuses (+/-) added as a suffix to the item name up to a +maximum of three symbols. This allows for seven different rankings. Positive +rankings are 3 intensities of green (good, very good, excellent), negative +rankings are yellow, orange, red (below average, poor, unusable), with neutral +(no ranking) using the default item color. \subsection{Recording Safety} -When using the take counter for recording (highly recommended!), there -is increased safety when using classical take recording (\keys{F9}) -via the automatic switch to a restricted set of keyboard shortcuts. -In addition to stopping the recording via \keys{F9} and record-pausing, -you can rank takes and use various zoom shortcuts. Note that you can -still click on the transport buttons. In a future version of ReaClassical -an even more robust recording safety feature will take the form of -an optional unlock button. +When using the take counter for recording (highly recommended!), there is +increased safety when using classical take recording (\keys{F9}) via the +automatic switch to a restricted set of keyboard shortcuts. In addition to +stopping the recording via \keys{F9} and record-pausing, you can rank takes and +use various zoom shortcuts. Note that you can still click on the transport +buttons. In a future version of ReaClassical an even more robust recording +safety feature will take the form of an optional unlock button. \subsection{Scheduled Recording} -To start (and optionally end) a recording at specific times or manually -start a recording to end at a certain time or after a certain duration, -right-click on the take counter window and add the appropriate entry -or entries in HH:MM format. After pressing OK, the take counter window -will display information to the right of the take number. If you enter -a start or end time earlier or equal to the current time, the function -will assume a next day schedule and will annotate the time with an -asterisk ({*}). Likewise, with both a start and end time, if the end -time is earlier than or equal to start, it will assume a time 24 hours -later. Don't forget to arm your tracks before walking away! +To start (and optionally end) a recording at specific times or manually start a +recording to end at a certain time or after a certain duration, right-click on +the take counter window and add the appropriate entry or entries in HH:MM +format. After pressing OK, the take counter window will display information to +the right of the take number. If you enter a start or end time earlier or equal +to the current time, the function will assume a next day schedule and will +annotate the time with an asterisk ({*}). Likewise, with both a start and end +time, if the end time is earlier than or equal to start, it will assume a time +24 hours later. Don't forget to arm your tracks before walking away! \subsection{Overdub Recording} -To record additional material after the fact (say a separate narration -track or an organ part in a church after the main recording session -in a concert hall), edit the orchestral material as usual and use -a mixdown as a guide track in a new project (or new project tab). -To achieve this, use a vertical workflow via \keys{F8}, add a REF -track \keys{'} and set the ReaClassical Preferences option `REF -= Overdub Guide' to `1' (\keys{F5}). With this setting, audio -on the guide track will be audible during take recording and auditioning -of folders. Use Classical Take Recording \keys{F9} and Take Counter -window \keys{\ctrl+\enter} as normal. You can then S-D edit and mix -the overdub material to fit with the orchestral mixdown or, if further -mixing and mastering work is required on the original multi-track -material, bring the organ part into that project as a new track in -the destination folder \keys{\shift+T} (see below). +To record additional material after the fact (say a separate narration track or +an organ part in a church after the main recording session in a concert hall), +edit the orchestral material as usual and use a mixdown as a guide track in a +new project (or new project tab). To achieve this, use a vertical workflow via +\keys{F8}, add a REF track \keys{'} and set the ReaClassical Preferences option +`REF = Overdub Guide' to `1' (\keys{F5}). With this setting, audio on the guide +track will be audible during take recording and auditioning of folders. Use +Classical Take Recording \keys{F9} and Take Counter window \keys{\ctrl+\enter} +as normal. You can then S-D edit and mix the overdub material to fit with the +orchestral mixdown or, if further mixing and mastering work is required on the +original multi-track material, bring the organ part into that project as a new +track in the destination folder \keys{\shift+T} (see below). \subsection{Manipulating Tracks During a Recording Session} \subsubsection{Disabling Channels} -In a typical recording session, the musicians with the least to record -are often allowed to leave the session early once their work is completed. -If they were individually recorded using a spot microphone, it wouldn't -make sense to continue recording on that channel. In ReaClassical -there are two main ways to disable a channel. In a horizontal workflow -using a single folder, it is no hassle to simply un-arm the desired -track(s). For a vertical workflow with multiple folders, the task -could end up being time-consuming with potential for error. So, the -recommended ReaClassical way, both easy and visually obvious, is to -select the desired tracks in the destination group, right click and -choose `lock track controls'. The tracks are then grayed out. Then -sync using F8 and the same tracks are locked in every group. Whether -or not the tracks were previously record-armed, those tracks will -no longer be involved in the recording. +In a typical recording session, the musicians with the least to record are often +allowed to leave the session early once their work is completed. If they were +individually recorded using a spot microphone, it wouldn't make sense to +continue recording on that channel. In ReaClassical there are two main ways to +disable a channel. In a horizontal workflow using a single folder, it is no +hassle to simply un-arm the desired track(s). For a vertical workflow with +multiple folders, the task could end up being time-consuming with potential for +error. So, the recommended ReaClassical way, both easy and visually obvious, is +to select the desired tracks in the destination group, right click and choose +`lock track controls'. The tracks are then grayed out. Then sync using F8 and +the same tracks are locked in every group. Whether or not the tracks were +previously record-armed, those tracks will no longer be involved in the +recording. \subsubsection{Adding a New Microphone Mid-Recording Session} -As of ReaClassical 24.9 you can add a track to all folders in the -project at once by using the shortcut \keys{\shift+T}. It will prompt -you for a name and then add a new track with that name to the end -of each group. This also works for a single folder while working in -a horizontal workflow. +As of ReaClassical 24.9 you can add a track to all folders in the project at +once by using the shortcut \keys{\shift+T}. It will prompt you for a name and +then add a new track with that name to the end of each group. This also works +for a single folder while working in a horizontal workflow. \subsubsection{Deleting tracks} In both horizontal and vertical workflows, you can use \keys{\ctrl+\shift+\del} -on a selected mixer track to quickly delete associated child tracks -from all the groups of the project. +on a selected mixer track to quickly delete associated child tracks from all the +groups of the project. \subsubsection{Re-ordering tracks} -In both horizontal and vertical workflows, you can re-order the mixer -tracks by dragging followed by a \keys{F7} or \keys{F8} sync to -quickly re-order all the associated tracks across groups at once. -This includes all audio and assigned recording inputs. +In both horizontal and vertical workflows, you can re-order the mixer tracks by +dragging followed by a \keys{F7} or \keys{F8} sync to quickly re-order all the +associated tracks across groups at once. This includes all audio and assigned +recording inputs. \subsection{Audio Calculator} -To figure out required disk space for a duration of audio or vice -versa to figure out maximum duration of audio you can record based -on available disk space, use \keys{\shift+H} to open a browser-based -offline calculator. You can set units, channel count, samplerate, -bit depth and format (WAV or MP3 at various bitrates). +To figure out required disk space for a duration of audio or vice versa to +figure out maximum duration of audio you can record based on available disk +space, use \keys{\shift+H} to open a browser-based offline calculator. You can +set units, channel count, samplerate, bit depth and format (WAV or MP3 at +various bitrates). \begin{figure} \begin{centering} @@ -835,94 +805,91 @@ \subsection{Audio Calculator} \section{Importing} -Read this section if you recorded using a different DAW, portable -recorder or are acting solely as editor and have the audio ready to -import into ReaClassical. +Read this section if you recorded using a different DAW, portable recorder or +are acting solely as editor and have the audio ready to import into +ReaClassical. \subsection{Importing Media} -Set up the horizontal or vertical workflow as desired. Then either -drag the audio into the REAPER window or select \menu{Insert > Media file...} +Set up the horizontal or vertical workflow as desired. Then either drag the +audio into the REAPER window or select \menu{Insert > Media file...} -For classical music purposes, you can then choose whether to insert -in the same time position on separate tracks or sequentially on a -single track. For recordings with multiple takes using separate files, -I recommend inserting/dragging one take at a time onto separate tracks -on either the source group or first destination group. Once everything -is imported you can then drag sets of tracks to the different source -groups as desired. If you have a best take that will be the basis -of the final edit, place this on the top destination group tracks. +For classical music purposes, you can then choose whether to insert in the same +time position on separate tracks or sequentially on a single track. For +recordings with multiple takes using separate files, I recommend +inserting/dragging one take at a time onto separate tracks on either the source +group or first destination group. Once everything is imported you can then drag +sets of tracks to the different source groups as desired. If you have a best +take that will be the basis of the final edit, place this on the top destination +group tracks. \subsection{Multi-Channel Audio Import} -If you use a portable recorder such as a MixPre, you might have a -multi-channel combined file. ReaClassical includes a special function -for converting these into a stereo pair + mono track set. Import your -multi-channel media using a single regular track (for a horizontal -workflow) or multiple regular tracks (for a vertical workflow). Then, -simply press \keys{F10} (no need to select the items). Answer yes -to the prompt that appears if the first two channels should be treated -as stereo interleaved (i.e. they represent your main pair). Depending -on the choice made, the number of tracks in the resulting folder(s) -will adjust accordingly. If the user selects \textquoteleft no\textquoteright{} -to keep all tracks mono, the folder track is left empty so that the -Prepare Takes \keys{T} function is able to create a muted guide track -(more on this later!). Then you are given the opportunity to name -your tracks. Obviously if you decide to move to a vertical workflow -after exploding using a single track, you can always use \keys{F8} -to create your source folders then drag the media to where you want -them. If you need to bring in new takes after editing has started, -simply use the function on an empty project tab then copy or cut them -into the original project tab into the desired folder on the timeline. +If you use a portable recorder such as a MixPre, you might have a multi-channel +combined file. ReaClassical includes a special function for converting these +into a stereo pair + mono track set. Import your multi-channel media using a +single regular track (for a horizontal workflow) or multiple regular tracks (for +a vertical workflow). Then, simply press \keys{F10} (no need to select the +items). Answer yes to the prompt that appears if the first two channels should +be treated as stereo interleaved (i.e. they represent your main pair). Depending +on the choice made, the number of tracks in the resulting folder(s) will adjust +accordingly. If the user selects \textquoteleft no\textquoteright{} to keep all +tracks mono, the folder track is left empty so that the Prepare Takes \keys{T} +function is able to create a muted guide track (more on this later!). Then you +are given the opportunity to name your tracks. Obviously if you decide to move +to a vertical workflow after exploding using a single track, you can always use +\keys{F8} to create your source folders then drag the media to where you want +them. If you need to bring in new takes after editing has started, simply use +the function on an empty project tab then copy or cut them into the original +project tab into the desired folder on the timeline. \section{Navigating a Project} -In addition to built-in REAPER functions, ReaClassical uses a series -of shortcuts to help you easily navigate your classical project. Important: -I always make some dedicated time post-recording to get an overview -of the recorded material, tidy up the digital notes I took during -the session and perform a backup on an external drive as soon as possible. +In addition to built-in REAPER functions, ReaClassical uses a series of +shortcuts to help you easily navigate your classical project. Important: I +always make some dedicated time post-recording to get an overview of the +recorded material, tidy up the digital notes I took during the session and +perform a backup on an external drive as soon as possible. \subsection{Whole Project} Use \keys{`} (backtick) to see the whole project horizontally and/or -\keys{\ctrl+`} to see everything vertically. I chose to separate -these functions because one of the axes (often the vertical) is set -exactly how you need for editing and it would be a pain to have the -axis reset each time. You can also go to the start or end of the project -by pressing the \keys{Home} or \keys{End} key respectively. +\keys{\ctrl+`} to see everything vertically. I chose to separate these functions +because one of the axes (often the vertical) is set exactly how you need for +editing and it would be a pain to have the axis reset each time. You can also go +to the start or end of the project by pressing the \keys{Home} or \keys{End} key +respectively. \subsection{Finding Takes} -Use \keys{\return} (enter/return) on the main keyboard or numpad -if you have one to quickly search for a take based on the underlying -filename of the media item. This will work for any file-naming system -that uses numbers before the file extension such as `main\_pair-T04.wav', -`cello-spot-take\_23.flac' or even `ortf\_pair(04).wav such as -created by Presonus Studio One. Note that if the imported or recorded -files have zero-padding that is not a problem. If you have used an -item to create an S-D edit, searching for a take will ignore these -items and move directly to the original sources. +Use \keys{\return} (enter/return) on the main keyboard or numpad if you have one +to quickly search for a take based on the underlying filename of the media item. +This will work for any file-naming system that uses numbers before the file +extension such as `main\_pair-T04.wav', `cello-spot-take\_23.flac' or even +`ortf\_pair(04).wav such as created by Presonus Studio One. Note that if the +imported or recorded files have zero-padding that is not a problem. If you have +used an item to create an S-D edit, searching for a take will ignore these items +and move directly to the original sources. \subsection{Items \& Markers} -You can easily shuffle back and forth between item edges by using -the \keys{Q} and \keys{W} keys. You can move between markers by -using the \keys{,} and \keys{.} keys (by design given on my keyboard -they are the same keys that have \keys{<} and \keys{>}). \keys{\tab} -(tab) moves the edit cursor to a time within a selected item or items. +You can easily shuffle back and forth between item edges by using the \keys{Q} +and \keys{W} keys. You can move between markers by using the \keys{,} and +\keys{.} keys (by design given on my keyboard they are the same keys that have +\keys{<} and \keys{>}). \keys{\tab} (tab) moves the edit cursor to a time within +a selected item or items. \subsection{Parents \& Children} -ReaClassical can hide or show children of track groups. This means -that editing multi-track classical music can be as easy as editing -a stereo track. When takes have been prepared (see below), all edits -are automatically synchronized. Making an edit to the parent track -automatically makes the same one to all the children too. To show -hidden children select the parent track and press \keys{D} (for `display'). -To hide, select the parent track and press \keys{E} (for `\href{https://www.merriam-webster.com/dictionary/ensconce}{ensconce}'). -The other benefit is that a whole set of takes can be displayed vertically -in the main editing window without too much effort. +ReaClassical can hide or show children of track groups. This means that editing +multi-track classical music can be as easy as editing a stereo track. When takes +have been prepared (see below), all edits are automatically synchronized. Making +an edit to the parent track automatically makes the same one to all the children +too. To show hidden children select the parent track and press \keys{D} (for +`display'). To hide, select the parent track and press \keys{E} (for +`\href{https://www.merriam-webster.com/dictionary/ensconce}{ensconce}'). The +other benefit is that a whole set of takes can be displayed vertically in the +main editing window without too much effort. \begin{figure} \includegraphics[width=1\linewidth]{user_guide_images/uncollapsed} @@ -941,107 +908,97 @@ \subsection{Parents \& Children} \subsection{Peaks Display} -To adjust the visual zoom of wave peaks, use \keys{\ctrl+\arrowkeyup} -and \keys{\ctrl+\arrowkeydown} . This is purely visual and allows -for easier editing of quieter sections. +To adjust the visual zoom of wave peaks, use \keys{\ctrl+\arrowkeyup} and +\keys{\ctrl+\arrowkeydown} . This is purely visual and allows for easier editing +of quieter sections. \subsection{ReaClassical Toolbar} -While I designed ReaClassical to be used efficiently with keyboard -shortcuts, there is a custom S-D editing toolbar for those that prefer -it. However I do highly recommend learning the key strokes as you -will find your editing speeds improve dramatically. The floating toolbar -is visible by default on a new portable install. To open or close, -use the \keys{F6} shortcut. +While I designed ReaClassical to be used efficiently with keyboard shortcuts, +there is a custom S-D editing toolbar for those that prefer it. However I do +highly recommend learning the key strokes as you will find your editing speeds +improve dramatically. The floating toolbar is visible by default on a new +portable install. To open or close, use the \keys{F6} shortcut. \begin{flushleft} \begin{figure}[H] \begin{centering} \includegraphics[width=0.75\linewidth]{\string"user_guide_images/classical toolbar\string".png} -\par\end{centering} -\caption{\label{classical-toolbar-1}ReaClassical custom toolbar} +\par\end{centering} \caption{\label{classical-toolbar-1}ReaClassical custom +toolbar} \end{figure} \par\end{flushleft} From left to right, we have: Destination IN and OUT markers (\keys{1}, -\keys{2}), Source IN and OUT markers (\keys{3}, \keys{4}), Delete -S-D markers (\keys{\ctrl+\del}), S-D Edit (\keys{5}), 3-point `Assembly -Line' Edit (\keys{F3}), Insert with Time-stretching (\keys{F4}), -Delete With Ripple (\keys{\backspace}), Delete Leaving Silence (\keys{\ctrl+\backspace}), -Set Destination Tab Project Marker (\keys{\ctrl+alt+1} or \keys{\ctrl+alt+2}), -Set Source Tab Project Marker (\keys{\ctrl+alt+3} or \keys{\ctrl+alt+4}), -Delete S-D Project Markers (\keys{\shift+del}), and finally ReaClassical -Help (\keys{H}). +\keys{2}), Source IN and OUT markers (\keys{3}, \keys{4}), Delete S-D markers +(\keys{\ctrl+\del}), S-D Edit (\keys{5}), 3-point `Assembly Line' Edit +(\keys{F3}), Insert with Time-stretching (\keys{F4}), Delete With Ripple +(\keys{\backspace}), Delete Leaving Silence (\keys{\ctrl+\backspace}), Set +Destination Tab Project Marker (\keys{\ctrl+alt+1} or \keys{\ctrl+alt+2}), Set +Source Tab Project Marker (\keys{\ctrl+alt+3} or \keys{\ctrl+alt+4}), Delete S-D +Project Markers (\keys{\shift+del}), and finally ReaClassical Help (\keys{H}). \subsection{Summary of Track Types in ReaClassical} -While some of these will be covered later in the manual, it is useful -to give a summary of track types you can currently use in ReaClassical. -First, we have the `regular' group or groups of tracks shown in -the arrange window. These are where you record or import takes. You -can record-arm tracks and manually select inputs (if you didn't set -during initial setup or via \keys{\ctrl+F9}) here (a reminder that -only locked tracks need only be set on the first group and then \keys{F8} -can be pressed to sync across all groups. Second, we have the mixer -tracks designated via `M:' prefix. These tracks shown only in the -mixer are where you adjust the usual track controls such as names, -pan, volume, phase etc. and also add FX. Their names are synced across -the project via \keys{F7} or \keys{F8}. Third, we have aux busses -designated via `@' prefix. You can route mixer tracks to these to -use as a reverb bus etc. Fourth, we have submix busses designated -via `\#' prefix. You can route mixer tracks to these as a way to -collect together microphones from the same orchestral section etc. -Fifth, we have a dedicated room tone track where you can place recorded -or generated room tone (more on this in the mastering section). Sixth, -we have the `RCMASTER' bus which leads directly to the master REAPER -bus. Here you can gain stage into the master bus, add FX etc. Seventh, -we have reference tracks which lie outside of the RCMASTER structure -thereby allowing the user to quickly make comparisons with other imported -material via the audition shortcuts. Finally, the master bus itself -where again you can set final levels, add FX etc. As mentioned elsewhere, -try not to delete the mixer tracks or RCMASTER. But, even if you do -by accident, simply run \keys{F7} or \keys{F8} to recreate them -depending on your chosen workflow. - -It's important to maintain the prefixes for the special tracks (@, -\# and M:) and to retain the RoomTone, Reference and RCMASTER track -names for audio routing and mixer visibility. However, if you accidentally -make improper changes, simply re-sync via \keys{F7} or \keys{F8} -to automatically add back missing prefixes and correct naming where -appropriate. +While some of these will be covered later in the manual, it is useful to give a +summary of track types you can currently use in ReaClassical. First, we have the +`regular' group or groups of tracks shown in the arrange window. These are where +you record or import takes. You can record-arm tracks and manually select inputs +(if you didn't set during initial setup or via \keys{\ctrl+F9}) here (a reminder +that only locked tracks need only be set on the first group and then \keys{F8} +can be pressed to sync across all groups. Second, we have the mixer tracks +designated via `M:' prefix. These tracks shown only in the mixer are where you +adjust the usual track controls such as names, pan, volume, phase etc. and also +add FX. Their names are synced across the project via \keys{F7} or \keys{F8}. +Third, we have aux busses designated via `@' prefix. You can route mixer tracks +to these to use as a reverb bus etc. Fourth, we have submix busses designated +via `\#' prefix. You can route mixer tracks to these as a way to collect +together microphones from the same orchestral section etc. Fifth, we have a +dedicated room tone track where you can place recorded or generated room tone +(more on this in the mastering section). Sixth, we have the `RCMASTER' bus which +leads directly to the master REAPER bus. Here you can gain stage into the master +bus, add FX etc. Seventh, we have reference tracks which lie outside of the +RCMASTER structure thereby allowing the user to quickly make comparisons with +other imported material via the audition shortcuts. Finally, the master bus +itself where again you can set final levels, add FX etc. As mentioned elsewhere, +try not to delete the mixer tracks or RCMASTER. But, even if you do by accident, +simply run \keys{F7} or \keys{F8} to recreate them depending on your chosen +workflow. + +It's important to maintain the prefixes for the special tracks (@, \# and M:) +and to retain the RoomTone, Reference and RCMASTER track names for audio routing +and mixer visibility. However, if you accidentally make improper changes, simply +re-sync via \keys{F7} or \keys{F8} to automatically add back missing prefixes +and correct naming where appropriate. \section{Editing} \subsection{Introduction to Editing Workflows} -Once you have recorded or imported your classical music audio, you -are ready to start editing the raw material! Here we talk about the -meat and potatoes of the classical editing workflows. Workflows---plural---because -I have included different approaches to suit as many tastes as possible -within the confines of the REAPER application. I will explain each -in detail after this brief introduction. As described previously, -you have multiple ways of proceeding. First you can have all your -takes lined up in a row horizontally and you place your source in -and out markers, destination in and out markers then press a keyboard -shortcut to achieve your 2-, 3- or 4-point edit. The second way is -to set up your takes vertically and then either use the same marker -system to make your edits or use razor edits (my preferred method -when working vertically). Whichever option you choose, you will then -end up in the crossfade editor view which uses a custom two-lane view -with classical crossfade function to make precise edits really easy -in REAPER. I don't often use the fade editor dialog -that comes with REAPER even though I make it appear as part of the -function. +Once you have recorded or imported your classical music audio, you are ready to +start editing the raw material! Here we talk about the meat and potatoes of the +classical editing workflows. Workflows---plural---because I have included +different approaches to suit as many tastes as possible within the confines of +the REAPER application. I will explain each in detail after this brief +introduction. As described previously, you have multiple ways of proceeding. +First you can have all your takes lined up in a row horizontally and you place +your source in and out markers, destination in and out markers then press a +keyboard shortcut to achieve your 2-, 3- or 4-point edit. The second way is to +set up your takes vertically and then either use the same marker system to make +your edits or use razor edits (my preferred method when working vertically). +Whichever option you choose, you will then end up in the crossfade editor view +which uses a custom two-lane view with classical crossfade function to make +precise edits really easy in REAPER. I don't often use the fade editor dialog +that comes with REAPER even though I make it appear as part of the function. \subsection{Marking Edits on your Scores} -This is best done using a physical, photocopied score by the conductor -or lead musician. I advocate for a \textquotedblleft T\textquotedblright{} -system where a large T is inserted into the score at the intended -edit point. Either side of the T stem, and under the crossbar, the -outgoing and incoming take numbers are written. A wavy crossbar indicates -some leeway for where the edit point can be placed. Further notes -can be attached underneath the T such as directions for tightening -the gap etc. +This is best done using a physical, photocopied score by the conductor or lead +musician. I advocate for a \textquotedblleft T\textquotedblright{} system where +a large T is inserted into the score at the intended edit point. Either side of +the T stem, and under the crossbar, the outgoing and incoming take numbers are +written. A wavy crossbar indicates some leeway for where the edit point can be +placed. Further notes can be attached underneath the T such as directions for +tightening the gap etc. \begin{figure} \begin{centering} @@ -1054,12 +1011,11 @@ \subsection{Marking Edits on your Scores} \subsection{Preparing Takes} -Whether working horizontally or vertically, you can use the Prepare -Takes function. It is intelligent enough to figure out which workflow -you are using. Just press \keys{T} (for `Takes'). Super simple! -Every set of items comprising a take has changed color, is now grouped. -In addition, source and destination groups are linked or (re-linked) -for various types of editing. +Whether working horizontally or vertically, you can use the Prepare Takes +function. It is intelligent enough to figure out which workflow you are using. +Just press \keys{T} (for `Takes'). Super simple! Every set of items comprising a +take has changed color, is now grouped. In addition, source and destination +groups are linked or (re-linked) for various types of editing. \begin{figure} \includegraphics[width=1\linewidth]{\string"user_guide_images/prepared horizontal\string".png} @@ -1075,131 +1031,118 @@ \subsection{Preparing Takes} \end{figure} -If Prepare the `Prepare Takes: Random colors' value is set to 0 -in ReaClassical Preferences \keys{F5} (the default), for horizontal -workflows, two shades of blue are used which also helps show the user -where edits happen. For vertical workflows, the destination group -again uses two shades of blue and the source groups are colored green. -In this way they match the colors of the associated S-D markers. If -`Prepare Takes: Random colors' value is set to 1, for horizontally -laid-out takes, each complete take is colored with a different random -color. For vertically laid-out takes, each folder's -items are given a different random color. This way, however you work, -it's easy to see where edits have come from. Prepare -Takes can be re-run at any point to re-sync colors and will preserve -any custom colors set via the Colorize function \keys{K}. - -If you imported or recorded all your files in child tracks, the function -will additionally copy all items from each first child track into -the folder track and mute them to act as a visual guide track. You -will receive a pop-up message if this is the case. In the cases where -you might use the function after editing has begun, the destination -group will switch to using alternating colors for items so that you -can easily tell where you have made edits. +If Prepare the `Prepare Takes: Random colors' value is set to 0 in ReaClassical +Preferences \keys{F5} (the default), for horizontal workflows, two shades of +blue are used which also helps show the user where edits happen. For vertical +workflows, the destination group again uses two shades of blue and the source +groups are colored green. In this way they match the colors of the associated +S-D markers. If `Prepare Takes: Random colors' value is set to 1, for +horizontally laid-out takes, each complete take is colored with a different +random color. For vertically laid-out takes, each folder's items are given a +different random color. This way, however you work, it's easy to see where edits +have come from. Prepare Takes can be re-run at any point to re-sync colors and +will preserve any custom colors set via the Colorize function \keys{K}. + +If you imported or recorded all your files in child tracks, the function will +additionally copy all items from each first child track into the folder track +and mute them to act as a visual guide track. You will receive a pop-up message +if this is the case. In the cases where you might use the function after editing +has begun, the destination group will switch to using alternating colors for +items so that you can easily tell where you have made edits. \subsection{Auditioning Takes} -For horizontal editing, you could use the usual transport shortcuts -(spacebar to start and stop playback, for example). However, for both -horizontal and vertical editing, it is highly recommended to use the -Audition function to quickly solo only the folder (or track) you are -interested in hearing. Just hover the mouse over the parent for the -full mix or a child to solo a spot microphone you want to hear and -press \keys{A} . This includes any @ aux or \# submix track routing -in the signal path. You can easily and quickly create your own custom -audition mix by engaging solo or mute buttons on the mixer, aux and -submix tracks (either with transport stopped or on the fly) and using -hover + \keys{A} on the parent track. You can therefore listen to -anything from the full mix down to examining just the woodwinds submix -or a single reverb bus. To audition using a custom playback rate, -use hover + \keys{\shift+A}. The custom playback rate can be set -via \keys{F5}. Note that regular auditioning will automatically reset -to the standard playback rate. - -Don't forget that you can quickly jump to your various source takes -using \keys{\return} and jump to a time within a selected item or -crossfaded items using \keys{\tab} . +For horizontal editing, you could use the usual transport shortcuts (spacebar to +start and stop playback, for example). However, for both horizontal and vertical +editing, it is highly recommended to use the Audition function to quickly solo +only the folder (or track) you are interested in hearing. Just hover the mouse +over the parent for the full mix or a child to solo a spot microphone you want +to hear and press \keys{A} . This includes any @ aux or \# submix track routing +in the signal path. You can easily and quickly create your own custom audition +mix by engaging solo or mute buttons on the mixer, aux and submix tracks (either +with transport stopped or on the fly) and using hover + \keys{A} on the parent +track. You can therefore listen to anything from the full mix down to examining +just the woodwinds submix or a single reverb bus. To audition using a custom +playback rate, use hover + \keys{\shift+A}. The custom playback rate can be set +via \keys{F5}. Note that regular auditioning will automatically reset to the +standard playback rate. + +Don't forget that you can quickly jump to your various source takes using +\keys{\return} and jump to a time within a selected item or crossfaded items +using \keys{\tab} . \subsection{Source-Destination Editing} -You set your in and out points using special colored labeled markers -via shortcuts \keys{1} and \keys{2} (Destination) and \keys{3} -and \keys{4} (Source). Simply press \keys{5} to make the 2-, 3- -or 4-point edit. depending on how many markers you set. If you attempt -to set one of the destination markers inside of an existing crossfade -or within 500ms of a crossfade or item edge, the function will alert -you (pressing OK places the marker anyway). This helps avoid awkward -`sliver' edits that can happen especially if you are zoomed out -and placing markers by ear. You can customize the check range via -ReaClassical Preferences (\keys{F5}). The check range (in milliseconds) -is the distance beyond an item edge, fade or crossfade. For example, -setting to 0 would only check for placement \emph{inside }a fade or -crossfade. - -You'll also notice that because you prepared the various -takes with colors (and grouping), it is really easy to see which takes -compose your final edited tracks. It's worth pointing -out that my S/D and classical crossfade functions place the crossfade -immediately before the entry and exit points of the pasted audio. -The crossfade length and other values can be set on a per-project -basis via ReaClassical Preferences (\keys{F5}). In practice this -means that if you visually set a marker (or edit cursor in the case -of the classical crossfade function) immediately before a transient, -said transient will sound post-crossfade which is what we generally -desire. Often, given this important detail, I don't -even need to visit the crossfade editor view. - -When using a vertical workflow, make sure you have the source folder -selected before you create the source IN and OUT markers. You can -do so by clicking on the item at the locations you want to set the -markers. This adds the folder number as a prefix to the source marker -labels. The various functions will then use this label to know which -folder to copy from. This is really useful if you undo the edit in -order to tweak the markers by dragging them. It doesn't -matter if you then select other folders/tracks. In the event you use -two different folders for the source IN and OUT markers, the functions -will prefer the source IN label. - -The downside to this workflow when using a vertical approach is that -the source and destination markers can get in each other's -way visually if the takes aren't somewhat staggered, -however the process still works as expected. See below for a razor -editing alternative. - -\emph{Optional: If you are worried about accidentally moving markers -and items during precise S-D or assembly editing, engage the padlock -icon in the top-left of the ReaClassical window. By default with the -latest ReaClassical project template, it should prevent manual left/right -item movement and marker dragging (while still allowing for S-D editing -with ripple). Even though you can't move S-D markers by dragging with -this lock mode engaged, you can still use the shortcuts }\keys{1}, -\keys{2}, \keys{3} and \keys{4}\emph{ to change marker location. -Just remember to disengage lock mode when you enter the fade editor -or else you won't be able to move the items of the crossfade!} - -\subsubsection{\label{subsec:Multi-Project-Tab-S-D}Multi-Project Tab S-D Editing} - -If you'd like to S-D edit between various open project tabs you can -set both the source and destination `project' markers via \keys{\ctrl+\Alt+1} -(or \keys{\ctrl+\Alt+2}) for destination and \keys{\ctrl+\Alt+3} -(or \keys{\ctrl+\Alt+4}) for source (essentially the same numbers -associated with regular S-D markers). The markers can exist anywhere -on the tab's timeline but perhaps the very beginning or end would -be good to keep them out of the way. The S-D editing itself then works -just as for a single tab other than any source markers that are set -are not deleted to aid quickly undoing in the destination tab and -being ready to reapply the edit. The only rule when using S-D project -markers is to ensure that source or destination markers should be -paired with the corresponding source or destination project marker. -This workflow would, for example, allow you to have multiple project -tabs (perhaps one for each symphony movement plus a final `destination' -tab), allowing for both internal editing per tab but after setting -the S-D project markers compiling the final edit in the `destination' -tab. To delete all the S-D project markers press \keys{\shift+\del}. -Also, in multi-tab S-D editing, when regular markers are placed, any -other existing versions in other tabs are automatically deleted to -ensure that only one version of the marker exists at a time across -all open project tabs. +You set your in and out points using special colored labeled markers via +shortcuts \keys{1} and \keys{2} (Destination) and \keys{3} and \keys{4} +(Source). Simply press \keys{5} to make the 2-, 3- or 4-point edit. depending on +how many markers you set. If you attempt to set one of the destination markers +inside of an existing crossfade or within 500ms of a crossfade or item edge, the +function will alert you (pressing OK places the marker anyway). This helps avoid +awkward `sliver' edits that can happen especially if you are zoomed out and +placing markers by ear. You can customize the check range via ReaClassical +Preferences (\keys{F5}). The check range (in milliseconds) is the distance +beyond an item edge, fade or crossfade. For example, setting to 0 would only +check for placement \emph{inside }a fade or crossfade. + +You'll also notice that because you prepared the various takes with colors (and +grouping), it is really easy to see which takes compose your final edited +tracks. It's worth pointing out that my S/D and classical crossfade functions +place the crossfade immediately before the entry and exit points of the pasted +audio. The crossfade length and other values can be set on a per-project basis +via ReaClassical Preferences (\keys{F5}). In practice this means that if you +visually set a marker (or edit cursor in the case of the classical crossfade +function) immediately before a transient, said transient will sound +post-crossfade which is what we generally desire. Often, given this important +detail, I don't even need to visit the crossfade editor view. + +When using a vertical workflow, make sure you have the source folder selected +before you create the source IN and OUT markers. You can do so by clicking on +the item at the locations you want to set the markers. This adds the folder +number as a prefix to the source marker labels. The various functions will then +use this label to know which folder to copy from. This is really useful if you +undo the edit in order to tweak the markers by dragging them. It doesn't matter +if you then select other folders/tracks. In the event you use two different +folders for the source IN and OUT markers, the functions will prefer the source +IN label. + +The downside to this workflow when using a vertical approach is that the source +and destination markers can get in each other's way visually if the takes aren't +somewhat staggered, however the process still works as expected. See below for a +razor editing alternative. + +\emph{Optional: If you are worried about accidentally moving markers and items +during precise S-D or assembly editing, engage the padlock icon in the top-left +of the ReaClassical window. By default with the latest ReaClassical project +template, it should prevent manual left/right item movement and marker dragging +(while still allowing for S-D editing with ripple). Even though you can't move +S-D markers by dragging with this lock mode engaged, you can still use the +shortcuts }\keys{1}, \keys{2}, \keys{3} and \keys{4}\emph{ to change marker +location. Just remember to disengage lock mode when you enter the fade editor or +else you won't be able to move the items of the crossfade!} + +\subsubsection{\label{subsec:Multi-Project-Tab-S-D}Multi-Project Tab S-D +Editing} + +If you'd like to S-D edit between various open project tabs you can set both the +source and destination `project' markers via \keys{\ctrl+\Alt+1} (or +\keys{\ctrl+\Alt+2}) for destination and \keys{\ctrl+\Alt+3} (or +\keys{\ctrl+\Alt+4}) for source (essentially the same numbers associated with +regular S-D markers). The markers can exist anywhere on the tab's timeline but +perhaps the very beginning or end would be good to keep them out of the way. The +S-D editing itself then works just as for a single tab other than any source +markers that are set are not deleted to aid quickly undoing in the destination +tab and being ready to reapply the edit. The only rule when using S-D project +markers is to ensure that source or destination markers should be paired with +the corresponding source or destination project marker. This workflow would, for +example, allow you to have multiple project tabs (perhaps one for each symphony +movement plus a final `destination' tab), allowing for both internal editing per +tab but after setting the S-D project markers compiling the final edit in the +`destination' tab. To delete all the S-D project markers press +\keys{\shift+\del}. Also, in multi-tab S-D editing, when regular markers are +placed, any other existing versions in other tabs are automatically deleted to +ensure that only one version of the marker exists at a time across all open +project tabs. \begin{figure} \begin{centering} @@ -1212,108 +1155,98 @@ \subsubsection{\label{subsec:Multi-Project-Tab-S-D}Multi-Project Tab S-D Editing \subsubsection{4-Point Editing} -For this operation, set all four markers using \keys{1} , \keys{2} -, \keys{3} and \keys{4} . Make the edit with \keys{5} . This is -the most useful edit when dealing with classical music or other acoustic -music performed without a metronome. +For this operation, set all four markers using \keys{1} , \keys{2} , \keys{3} +and \keys{4} . Make the edit with \keys{5} . This is the most useful edit when +dealing with classical music or other acoustic music performed without a +metronome. \subsubsection{3-Point Editing} -For this operation, set any combination of three markers. Again, make -the edit with \keys{5} . The missing marker is placed according to -the distance set by the existing complete pair. +For this operation, set any combination of three markers. Again, make the edit +with \keys{5} . The missing marker is placed according to the distance set by +the existing complete pair. \subsubsection{2-Point Editing} -For this operation, there are two possibilities: 1) Set one source -marker and one destination marker. Make the edit with \keys{5} . -Any missing IN markers are set to the beginning of the timeline and -any missing OUT markers are set to the end of the source or destination -material. 2) Set both source markers and no destination markers. Make -the edit with \keys{5} . Here, the destination markers are set at -the exact same positions on the timeline as the source markers. Obviously -this operation is only useful in a vertical editing workflow when -you can select source material from a different track group. The usefulness -of this second option is further reduced if the takes are not vertically -aligned and not virtually identical in tempo. On the other hand, it -could be an incredibly quick method for editing takes of a hybrid -classical piece that is performed to a click track or other recorded -steady beat. +For this operation, there are two possibilities: 1) Set one source marker and +one destination marker. Make the edit with \keys{5} . Any missing IN markers are +set to the beginning of the timeline and any missing OUT markers are set to the +end of the source or destination material. 2) Set both source markers and no +destination markers. Make the edit with \keys{5} . Here, the destination markers +are set at the exact same positions on the timeline as the source markers. +Obviously this operation is only useful in a vertical editing workflow when you +can select source material from a different track group. The usefulness of this +second option is further reduced if the takes are not vertically aligned and not +virtually identical in tempo. On the other hand, it could be an incredibly quick +method for editing takes of a hybrid classical piece that is performed to a +click track or other recorded steady beat. \subsection{Other SD Functions} \subsubsection{Insert with Time-Stretching} -Using the ReaClassical\_Insert with time-stretching function \keys{F4} -, you can complete a 4-point edit where the material between the source -markers is time-stretched to fit the length of time between the destination -markers. This is really useful when the source material has to fit -the destination span exactly, for example when working with visual -cues. The time-stretch algorithm used will be the one set in REAPER -project settings. When there are multiple items in between the source -markers, the function will glue the items together before time-stretching. -Note that this function can also be used in multi-tab S-D editing -mode (see above). +Using the ReaClassical\_Insert with time-stretching function \keys{F4} , you can +complete a 4-point edit where the material between the source markers is +time-stretched to fit the length of time between the destination markers. This +is really useful when the source material has to fit the destination span +exactly, for example when working with visual cues. The time-stretch algorithm +used will be the one set in REAPER project settings. When there are multiple +items in between the source markers, the function will glue the items together +before time-stretching. Note that this function can also be used in multi-tab +S-D editing mode (see above). \subsubsection{Assembly Line Editing} -Sometimes you don't necessarily have a best overall -take and it is desirable to build the perfect performance linearly, -section by section, measure by measure. In this case, set the destination -IN marker with \keys{1} and set both source markers using \keys{3} -and \keys{4}. Press the \keys{F3} shortcut. A 3-point insert operation -will occur and the destination IN marker will jump to the end of the -pasted item, ready for the next edit. This means that in order to -compile further sections, you now only need set the source markers. -If you accidentally move the location of the destination IN marker -in the middle of assembly line editing, the function will let you -know and offer to move the marker back to the right edge of the latest -item in the edit. This will even allow you to do some regular 3- or -4-point editing earlier in the sequence before continuing with the -assembly line edits. Just place the destination IN marker anywhere -in the project and answer `No' when the message box appears. Note -that this function can also be used in multi-tab S-D editing mode -(see above). +Sometimes you don't necessarily have a best overall take and it is desirable to +build the perfect performance linearly, section by section, measure by measure. +In this case, set the destination IN marker with \keys{1} and set both source +markers using \keys{3} and \keys{4}. Press the \keys{F3} shortcut. A 3-point +insert operation will occur and the destination IN marker will jump to the end +of the pasted item, ready for the next edit. This means that in order to compile +further sections, you now only need set the source markers. If you accidentally +move the location of the destination IN marker in the middle of assembly line +editing, the function will let you know and offer to move the marker back to the +right edge of the latest item in the edit. This will even allow you to do some +regular 3- or 4-point editing earlier in the sequence before continuing with the +assembly line edits. Just place the destination IN marker anywhere in the +project and answer `No' when the message box appears. Note that this function +can also be used in multi-tab S-D editing mode (see above). \subsubsection{Delete / Delete with Ripple} -While perhaps not used as often as 3- and 4-point edits, I have created -two functions for deletion of material. Delete \& Ripple \keys{\backspace} -(backspace) will delete the material between source IN and OUT markers -and ripple material to the right backwards with a short crossfade. -Delete Leaving Silence \keys{\ctrl+\backspace} will also delete but -maintain the silence without rippling backwards. +While perhaps not used as often as 3- and 4-point edits, I have created two +functions for deletion of material. Delete \& Ripple \keys{\backspace} +(backspace) will delete the material between source IN and OUT markers and +ripple material to the right backwards with a short crossfade. Delete Leaving +Silence \keys{\ctrl+\backspace} will also delete but maintain the silence +without rippling backwards. \subsubsection{Add S-D Markers to Edges of Item(s) or Time Selection} -Used in combination with Delete / Delete with Ripple (\keys{\ctrl+\backspace} -/ \keys{\backspace}), you can quickly set both source markers to -the edges of one or more selected items on a parent track or time -selection via \keys{F12}. This is a time-saver when dealing with -potential `sliver' edits i.e. small unneeded leftover edits as a -result of multiple rounds of zoomed-out S-D editing. Note that the -built-in checks when manually placing destination markers should go -some way to alleviating this issue which can easily go unnoticed in -other classical music DAWs. Likewise you can use \keys{\ctrl+F12} -to set destination markers (selected items must be in the destination -folder). Note that if using time selection for placing source markers, -as for S-D marker placement via \keys{3} or \keys{4}, make sure -you first have the desired source folder track selected before pressing -the shortcut (a good way to do this is to first click on the item -involved). You may prefer to set both source and destination markers -this way over the more traditional number key shortcuts acting as -a sort of hybrid between S-D and razor editing. Also note that if -both selected items and a time selection exist, the time selection -takes precedence. +Used in combination with Delete / Delete with Ripple (\keys{\ctrl+\backspace} / +\keys{\backspace}), you can quickly set both source markers to the edges of one +or more selected items on a parent track or time selection via \keys{F12}. This +is a time-saver when dealing with potential `sliver' edits i.e. small unneeded +leftover edits as a result of multiple rounds of zoomed-out S-D editing. Note +that the built-in checks when manually placing destination markers should go +some way to alleviating this issue which can easily go unnoticed in other +classical music DAWs. Likewise you can use \keys{\ctrl+F12} to set destination +markers (selected items must be in the destination folder). Note that if using +time selection for placing source markers, as for S-D marker placement via +\keys{3} or \keys{4}, make sure you first have the desired source folder track +selected before pressing the shortcut (a good way to do this is to first click +on the item involved). You may prefer to set both source and destination markers +this way over the more traditional number key shortcuts acting as a sort of +hybrid between S-D and razor editing. Also note that if both selected items and +a time selection exist, the time selection takes precedence. \subsubsection{Move / Zoom to S-D markers} -To move to any existing S-D markers use \keys{\ctrl+1}, \keys{2}, -\keys{3} or \keys{4}. To zoom to any of the S-D markers for more -fine-grained placement, use \keys{\Alt+1}, \keys{2}, \keys{3} or -\keys{4}. If you have multi-tab S-D editing set up (see \ref{subsec:Multi-Project-Tab-S-D}), -these shortcuts will also automatically move focus to the correct -project tab. +To move to any existing S-D markers use \keys{\ctrl+1}, \keys{2}, \keys{3} or +\keys{4}. To zoom to any of the S-D markers for more fine-grained placement, use +\keys{\Alt+1}, \keys{2}, \keys{3} or \keys{4}. If you have multi-tab S-D editing +set up (see \ref{subsec:Multi-Project-Tab-S-D}), these shortcuts will also +automatically move focus to the correct project tab. \subsubsection{Delete S-D markers} @@ -1321,19 +1254,18 @@ \subsubsection{Delete S-D markers} \subsection{Razor Editing} -Because of the potential for visual overlap of markers, I much prefer -the REAPER razor edit functionality for vertical take work. It works -a lot like the process shown in this Pyramix \href{https://www.youtube.com/watch?v=wQXwnvITQCQ}{video}. - -While Pyramix also has additional source-destination marker workflows, -I couldn't help but feel that for professional ensembles -that manage a high degree of tempo regularity between takes, this -method can be extremely efficient. This isn't the document -to introduce REAPER razor edits as there are plenty of resources online -if you do a simple search. Here we are only concerning ourselves with -creation of the razor area across all our pairs and spot mics (REAPER's -default shortcut is the rather uninspiring Alt+Right drag). Thankfully, -it can become the default editing mode by selecting the razor edit +Because of the potential for visual overlap of markers, I much prefer the REAPER +razor edit functionality for vertical take work. It works a lot like the process +shown in this Pyramix \href{https://www.youtube.com/watch?v=wQXwnvITQCQ}{video}. + +While Pyramix also has additional source-destination marker workflows, I +couldn't help but feel that for professional ensembles that manage a high degree +of tempo regularity between takes, this method can be extremely efficient. This +isn't the document to introduce REAPER razor edits as there are plenty of +resources online if you do a simple search. Here we are only concerning +ourselves with creation of the razor area across all our pairs and spot mics +(REAPER's default shortcut is the rather uninspiring Alt+Right drag). +Thankfully, it can become the default editing mode by selecting the razor edit mode on the main toolbar and left-click dragging. \begin{figure} @@ -1346,53 +1278,48 @@ \subsection{Razor Editing} \subsection{Crossfade Editor} -Now that you've made your precise edits using S/D workflow -or razor editing (no worries if it's a bit rough!), -it's time to check things through with the help of -the crossfade editor view. - -While REAPER includes an excellent crossfade editor, it does not reach -the same levels as the ones in specialist classical DAWs such as Sequoia -and Pyramix. This is mainly due to the inability to see the continued -waveforms of the items beyond the crossfade they enter and likewise -the previous waveforms of the items that exit the crossfade. The ability -to visually align transients and then position the crossfade just -before it is absolutely critical (and fun when you have the tools -to do it!). So, beyond the standard REAPER crossfade editor what have -I provided? Select the right-hand item of a fade (or hover over the -item if `Add S-D Markers at Mouse Hover' is set to 1 in ReaClassical -Preferences \keys{F5}), press \keys{F} and you are moved into crossfade -editor mode. Here, the first track is given full vertical zoom, the -two-lanes for overlapping items is enabled, colored red and green, -and the fade editor toolbox appears (I personally position it to hover -over the middle of my mixer. Note also that you are automatically -centered on the crossfade and can use the mouse wheel to zoom in and -out. Press \keys{F} again and you exit that mode. If for some reason -you accidentally close just the fade toolbox, either open again using -action in the action list or, better still, simply close and re-open -the fade editor using \keys{F} . - -So, now you are in the crossfade editor mode, ensuring one or both -items are selected, hover your mouse over a blank area and press \keys{Z} -to automatically mirror extend the waveform view of each item. Essentially, -it increases the overlap so you can spot and align the transient you -want. My own preferred method of getting the perfect crossfade is -to locate the transient I want on the red left item, place the edit -cursor just before it, then drag my green right item so that the two -transients align. Then I press \keys{X} (classical crossfade) and -I'm done! The crossfade happens at the location of -the edit cursor (well, just before it as explained above). - -I love this method so much that I don't miss Sequoia -or Pyramix any more. Here it is in ordered list form: +Now that you've made your precise edits using S/D workflow or razor editing (no +worries if it's a bit rough!), it's time to check things through with the help +of the crossfade editor view. + +While REAPER includes an excellent crossfade editor, it does not reach the same +levels as the ones in specialist classical DAWs such as Sequoia and Pyramix. +This is mainly due to the inability to see the continued waveforms of the items +beyond the crossfade they enter and likewise the previous waveforms of the items +that exit the crossfade. The ability to visually align transients and then +position the crossfade just before it is absolutely critical (and fun when you +have the tools to do it!). So, beyond the standard REAPER crossfade editor what +have I provided? Select the right-hand item of a fade (or hover over the item if +`Add S-D Markers at Mouse Hover' is set to 1 in ReaClassical Preferences +\keys{F5}), press \keys{F} and you are moved into crossfade editor mode. Here, +the first track is given full vertical zoom, the two-lanes for overlapping items +is enabled, colored red and green, and the fade editor toolbox appears (I +personally position it to hover over the middle of my mixer. Note also that you +are automatically centered on the crossfade and can use the mouse wheel to zoom +in and out. Press \keys{F} again and you exit that mode. If for some reason you +accidentally close just the fade toolbox, either open again using action in the +action list or, better still, simply close and re-open the fade editor using +\keys{F} . + +So, now you are in the crossfade editor mode, ensuring one or both items are +selected, hover your mouse over a blank area and press \keys{Z} to automatically +mirror extend the waveform view of each item. Essentially, it increases the +overlap so you can spot and align the transient you want. My own preferred +method of getting the perfect crossfade is to locate the transient I want on the +red left item, place the edit cursor just before it, then drag my green right +item so that the two transients align. Then I press \keys{X} (classical +crossfade) and I'm done! The crossfade happens at the location of the edit +cursor (well, just before it as explained above). + +I love this method so much that I don't miss Sequoia or Pyramix any more. Here +it is in ordered list form: \begin{enumerate} -\item Increase overlap (by hovering mouse either in a blank area or over -one of the items and pressing \keys{Z} shortcut to mirror extend -the item edges) +\item Increase overlap (by hovering mouse either in a blank area or over one of +the items and pressing \keys{Z} shortcut to mirror extend the item edges) \item Find transient in red left item that you want be edit point \item Place edit cursor just before it -\item Drag green right item to align transients (this automatically ripples -all items, markers and regions) +\item Drag green right item to align transients (this automatically ripples all +items, markers and regions) \item Press \keys{X} (classical crossfade) \end{enumerate} \begin{figure} @@ -1402,25 +1329,24 @@ \subsection{Crossfade Editor} \end{figure} -In reality, this process can be just a few seconds to achieve the -perfect edit. In the unlikely event you need to undo, either use the -standard \keys{\ctrl+Z} combination or simply extend the overlapping -item edges again then create a new classical crossfade. +In reality, this process can be just a few seconds to achieve the perfect edit. +In the unlikely event you need to undo, either use the standard \keys{\ctrl+Z} +combination or simply extend the overlapping item edges again then create a new +classical crossfade. While you could use the auditioning tools in the dialog, I have created -something I find quicker and more useful. While the two items involved -in the crossfade are selected, try the following: +something I find quicker and more useful. While the two items involved in the +crossfade are selected, try the following: \begin{enumerate} -\item Hover over left item / press \keys{A} to solo audition the left item -from mouse cursor to end of item -\item Hover over right item / press \keys{A} to solo audition the right -item from start of item to mouse cursor +\item Hover over left item / press \keys{A} to solo audition the left item from +mouse cursor to end of item +\item Hover over right item / press \keys{A} to solo audition the right item +from start of item to mouse cursor \item Hover in blank space on left item side / press \keys{A} to solo audition -the crossfade from mouse cursor to mirrored position on the other -side of the crossfade -\item Hover in blank space on right item side / press \keys{A} to solo -audition the crossfade from mirrored position other side to the mouse -cursor. +the crossfade from mouse cursor to mirrored position on the other side of the +crossfade +\item Hover in blank space on right item side / press \keys{A} to solo audition +the crossfade from mirrored position other side to the mouse cursor. \end{enumerate} \begin{figure} \includegraphics[width=1\linewidth]{\string"user_guide_images/xfade auditioning\string".png} @@ -1429,150 +1355,135 @@ \subsection{Crossfade Editor} \end{figure} -As you'll see, the playback stops using a special marker -with {*}!1016{*} as the label which is executed as a stop command. -It is deleted automatically after playback ends. If you try to run -the function another time before it has finished, just select new -instance if you get a pop-up box. You can stack instances and on completion -of the latest run, all instances are removed. Better to experience -than describe but it works really well. You'll also -see that the edit cursor returns to the middle of the crossfade to -aid in mouse scroll zooming keeping the crossfade centered. The mirrored -position takes into consideration the overlap of the items so you -can have a complicated set of fades and still get an exact mirrored -stopping point. - -You can shuttle between crossfades using the \keys{Q} and \keys{W} -shortcuts. Do \textbf{NOT} use the built-in Previous Next buttons -on the standard fade dialog box! However, there is still a benefit -of having the fade editor dialog in view. You can also tweak the fade -using the knobs if you prefer. Center, Start, End and Length knobs -are particularly useful here to maintain symmetry. Be aware that the -Contents knobs will not ripple markers (but with the introduction -of the Create CD Markers, I highly recommend not bothering to create -any markers at this point). +As you'll see, the playback stops using a special marker with {*}!1016{*} as the +label which is executed as a stop command. It is deleted automatically after +playback ends. If you try to run the function another time before it has +finished, just select new instance if you get a pop-up box. You can stack +instances and on completion of the latest run, all instances are removed. Better +to experience than describe but it works really well. You'll also see that the +edit cursor returns to the middle of the crossfade to aid in mouse scroll +zooming keeping the crossfade centered. The mirrored position takes into +consideration the overlap of the items so you can have a complicated set of +fades and still get an exact mirrored stopping point. + +You can shuttle between crossfades using the \keys{Q} and \keys{W} shortcuts. Do +\textbf{NOT} use the built-in Previous Next buttons on the standard fade dialog +box! However, there is still a benefit of having the fade editor dialog in view. +You can also tweak the fade using the knobs if you prefer. Center, Start, End +and Length knobs are particularly useful here to maintain symmetry. Be aware +that the Contents knobs will not ripple markers (but with the introduction of +the Create CD Markers, I highly recommend not bothering to create any markers at +this point). \subsection{Other Editing Tips} -In my key map, I include all sorts of useful shortcuts to use during -editing. As mentioned above, in vertical editing workflows, the Audition -function \keys{A} is brilliant for listening to various takes before -applying a razor or S/D edit. I can shuttle between items with \keys{Q} -and \keys{W} (the same keys perform a more advanced role when in -crossfade editor mode), shuttle between markers with \keys{,} and -\keys{.} (the same keys with \keys{<} and \keys{>} on them on my -UK keyboard), \keys{S} for splitting a long recorded session into -takes, \keys{`} (back tick) and \keys{\ctrl+`} for zooming out to -the whole project both horizontally and vertically etc. There are -plenty more for the mastering end of things so I encourage you to -explore. - -It is worth noting that all regular markers and regions are ripple -edited appropriately when using my source-destination editing functions -and crossfade editor. I also introduced the ReaClassical\_Lock Toggle -function \keys{K} which temporarily locks all source groups and engages -ripple-all-tracks mode to enable you to drag destination items and -simultaneously ripple markers and regions in the regular arrange view. -This allows vertical source groups to retain their independence yet -still give ripple-all-tracks behavior which is useful for destination -album track spacing etc. However, I consider this function deprecated -given I strongly feel that the Create CD Markers function is now the +In my key map, I include all sorts of useful shortcuts to use during editing. As +mentioned above, in vertical editing workflows, the Audition function \keys{A} +is brilliant for listening to various takes before applying a razor or S/D edit. +I can shuttle between items with \keys{Q} and \keys{W} (the same keys perform a +more advanced role when in crossfade editor mode), shuttle between markers with +\keys{,} and \keys{.} (the same keys with \keys{<} and \keys{>} on them on my UK +keyboard), \keys{S} for splitting a long recorded session into takes, \keys{`} +(back tick) and \keys{\ctrl+`} for zooming out to the whole project both +horizontally and vertically etc. There are plenty more for the mastering end of +things so I encourage you to explore. + +It is worth noting that all regular markers and regions are ripple edited +appropriately when using my source-destination editing functions and crossfade +editor. I also introduced the ReaClassical\_Lock Toggle function \keys{K} which +temporarily locks all source groups and engages ripple-all-tracks mode to enable +you to drag destination items and simultaneously ripple markers and regions in +the regular arrange view. This allows vertical source groups to retain their +independence yet still give ripple-all-tracks behavior which is useful for +destination album track spacing etc. However, I consider this function +deprecated given I strongly feel that the Create CD Markers function is now the ultimate way to deal with CD tracks/markers. \section{Mixing} \subsection{FX Plugins} -ReaClassical is shipped with various mastering-grade JSFX plugins -to cover typical needs although obviously REAPER allows for any 3rd -party plugins. For a list of recommended free plugins see Appendix -C. In ReaClassical, you should add plugins to the dedicated mixer -tracks. +ReaClassical is shipped with various mastering-grade JSFX plugins to cover +typical needs although obviously REAPER allows for any 3rd party plugins. For a +list of recommended free plugins see Appendix C. In ReaClassical, you should add +plugins to the dedicated mixer tracks. \subsection{Aux \& Submix} -Users have the ability to create aux and/or submix tracks that stay -visible (and stay after the mixer tracks). To set up, simply create -a single folder via Horizontal Workflow \keys{F7} and/or Vertical -Workflow \keys{F8} then create as many aux/submix tracks after the -mixer tracks as you like via \keys{\#}. It is important to keep the -@ or \# at the beginning of the track but you can add any name you'd -like e.g. `@hall-verb', `\#strings'. To route, click-drag from -a mixer track's routing stripes to the desired @ or \# track. When -using any of the ReaClassical functions such as auditioning, these -tracks will remain visible. - -For \# submix tracks, simply add a hyphen (-) at the end of desired -track names in the mixer tracks and sync via \keys{F7} or \keys{F8}. -Now those related mixer tracks will not route directly to RCMASTER. -As an example, say mixer tracks 3-6 are all string section microphones -and you'd like to sum them all to a string submix track called `\#strings'. -Just add a hyphen to the end of the names for mixer tracks 3-6, sync -and then create the routing to \#strings via click-dragging from the -routing stripes. This routing is maintained during \keys{F7} or \keys{F8} -syncs. +Users have the ability to create aux and/or submix tracks that stay visible (and +stay after the mixer tracks). To set up, simply create a single folder via +Horizontal Workflow \keys{F7} and/or Vertical Workflow \keys{F8} then create as +many aux/submix tracks after the mixer tracks as you like via \keys{\#}. It is +important to keep the @ or \# at the beginning of the track but you can add any +name you'd like e.g. `@hall-verb', `\#strings'. To route, click-drag from a +mixer track's routing stripes to the desired @ or \# track. When using any of +the ReaClassical functions such as auditioning, these tracks will remain +visible. + +For \# submix tracks, simply add a hyphen (-) at the end of desired track names +in the mixer tracks and sync via \keys{F7} or \keys{F8}. Now those related mixer +tracks will not route directly to RCMASTER. As an example, say mixer tracks 3-6 +are all string section microphones and you'd like to sum them all to a string +submix track called `\#strings'. Just add a hyphen to the end of the names for +mixer tracks 3-6, sync and then create the routing to \#strings via +click-dragging from the routing stripes. This routing is maintained during +\keys{F7} or \keys{F8} syncs. \subsection{Roomtone} -In a live concert recording that contains audience noise in between -movements and applause at the end of a complete piece, it is often -desirable to give the impression of a clean recording with no audience -present. Recorded or generated room tone then becomes very important -as an alternative to audio fading to complete digital silence which -destroys the illusion of listening back to a live concert. ReaClassical -includes a dedicated room tone track for this purpose. This way, the -auditioning tool will keep the track displayed in both track and mixer -panels. Add via \keys{\#}. Once added, you can add clean recorded -noise captured before or after the concert or generate endless roomtone -the length of your project from a very small portion of clean silence -from the concert itself (hint: try using a white noise generator into -a convolver such as ReaVerb that uses a few seconds of clean room -tone as the impulse!). As of ReaClassical 24.12, the Create CD Markers -function automatically generates precise volume automation at the -track level to seamlessly fade in and out of room tone! See the mastering -section for more details. Please not that there is a limit of one +In a live concert recording that contains audience noise in between movements +and applause at the end of a complete piece, it is often desirable to give the +impression of a clean recording with no audience present. Recorded or generated +room tone then becomes very important as an alternative to audio fading to +complete digital silence which destroys the illusion of listening back to a live +concert. ReaClassical includes a dedicated room tone track for this purpose. +This way, the auditioning tool will keep the track displayed in both track and +mixer panels. Add via \keys{\#}. Once added, you can add clean recorded noise +captured before or after the concert or generate endless roomtone the length of +your project from a very small portion of clean silence from the concert itself +(hint: try using a white noise generator into a convolver such as ReaVerb that +uses a few seconds of clean room tone as the impulse!). As of ReaClassical +24.12, the Create CD Markers function automatically generates precise volume +automation at the track level to seamlessly fade in and out of room tone! See +the mastering section for more details. Please not that there is a limit of one reference track per project. \subsection{Reference Track} -Add a reference track via \keys{\#} to allow for importing a commercial -album track or similar to help achieve the desired loudness levels, -EQing etc for your own material. The reference track is deliberately -placed outside of the RCMASTER structure and can therefore be quickly -auditioned independent of any effects you have on the mixer and RCMASTER -tracks. +Add a reference track via \keys{\#} to allow for importing a commercial album +track or similar to help achieve the desired loudness levels, EQing etc for your +own material. The reference track is deliberately placed outside of the RCMASTER +structure and can therefore be quickly auditioned independent of any effects you +have on the mixer and RCMASTER tracks. \subsection{Maintaining/Breaking Connections to RCMASTER} -When adding special tracks via \keys{\#}, set \textquotedbl Maintain -Mixer => RCMASTER\textquotedbl{} to 0 to add a hyphen (-) to the end -of every mixer (``M:'') track thereby removing the direct connection -to RCMASTER allowing for all sorts of custom routing via submixes -etc. By default, the final option is always set to 1 to maintain the -current routing. +When adding special tracks via \keys{\#}, set \textquotedbl Maintain Mixer => +RCMASTER\textquotedbl{} to 0 to add a hyphen (-) to the end of every mixer +(``M:'') track thereby removing the direct connection to RCMASTER allowing for +all sorts of custom routing via submixes etc. By default, the final option is +always set to 1 to maintain the current routing. \section{Mastering} -Mastering in ReaClassical is game-changing. Many features described -here are not available in any other classical DAW. I hope that the -`ReaClassical' way saves you much time and helps you look forward -to the mastering phase of the project. While automatic DDP generation, -automatic room tone function, and professional album reports are the -main features here, you will probably find the revolutionary automation -mode is an extremely efficient way to add static mixer scenes across -your production as well enjoying the ability to quickly reorder album -tracks via a simple keyboard shortcuts. +Mastering in ReaClassical is game-changing. Many features described here are not +available in any other classical DAW. I hope that the `ReaClassical' way saves +you much time and helps you look forward to the mastering phase of the project. +While automatic DDP generation, automatic room tone function, and professional +album reports are the main features here, you will probably find the +revolutionary automation mode is an extremely efficient way to add static mixer +scenes across your production as well enjoying the ability to quickly reorder +album tracks via a simple keyboard shortcuts. \subsection{Mastering Mode} -Change to mastering mode via the shortcut \keys{\ctrl+M}. In addition -to making the mixer tracks, busses and RCMASTER available in the arrange -window for setting static mixer scenes via envelope points, it also -serves to de-clutter by hiding any source group audio. The hide and -show child tracks shortcuts still work on the destination folder but -in mastering mode also works on automation lanes. Simply select the -relevant track connected to the lane and use the usual \keys{E} and -\keys{D} keys to hide and show automation lanes. Look out for more +Change to mastering mode via the shortcut \keys{\ctrl+M}. In addition to making +the mixer tracks, busses and RCMASTER available in the arrange window for +setting static mixer scenes via envelope points, it also serves to de-clutter by +hiding any source group audio. The hide and show child tracks shortcuts still +work on the destination folder but in mastering mode also works on automation +lanes. Simply select the relevant track connected to the lane and use the usual +\keys{E} and \keys{D} keys to hide and show automation lanes. Look out for more `mastering' mode features in the future. \begin{figure} @@ -1586,79 +1497,74 @@ \subsection{Mastering Mode} \subsection{Automation} Given ReaClassical is built on top of REAPER, it allows for same high-quality -automation workflow with a ReaClassical twist. Beyond the following -workflow descriptions, it is recommended to read the relevant REAPER -manual section as there are far more features than can be described -here. For example, you can add static mixer and FX `scenes' to automation -lanes (very useful for quickly setting up different settings for the -various pieces on an album) . It makes most sense to leave any automation -work until the destination group editing is largely complete. Start -automation mode via \keys{\ctrl+I}. Mastering mode will be enabled -automatically as needed. All the envelope buttons will turn blue (`latched -preview') and you will see a message box with instructions. Simply -set any desired mixer controls or parameters in an open FX window) -on one or more tracks and press \keys{I} to enter the values as points -on the automation lanes at the edit cursor position or, if one exists, -within the time selection. Continue to add, edit or audition and once -completed, exit `automation' mode via \keys{\ctrl+I}. The envelope -buttons will then turn green (`read' mode). Hopefully this `ReaClassical' -way can make things faster and easier at the same time. Once multiple -static mixes have been set up, you can then, of course, use more detailed -automation via the pencil tool or riding the fader to, for example, -temporarily bring up spot microphones. +automation workflow with a ReaClassical twist. Beyond the following workflow +descriptions, it is recommended to read the relevant REAPER manual section as +there are far more features than can be described here. For example, you can add +static mixer and FX `scenes' to automation lanes (very useful for quickly +setting up different settings for the various pieces on an album) . It makes +most sense to leave any automation work until the destination group editing is +largely complete. Start automation mode via \keys{\ctrl+I}. Mastering mode will +be enabled automatically as needed. All the envelope buttons will turn blue +(`latched preview') and you will see a message box with instructions. Simply set +any desired mixer controls or parameters in an open FX window) on one or more +tracks and press \keys{I} to enter the values as points on the automation lanes +at the edit cursor position or, if one exists, within the time selection. +Continue to add, edit or audition and once completed, exit `automation' mode via +\keys{\ctrl+I}. The envelope buttons will then turn green (`read' mode). +Hopefully this `ReaClassical' way can make things faster and easier at the same +time. Once multiple static mixes have been set up, you can then, of course, use +more detailed automation via the pencil tool or riding the fader to, for +example, temporarily bring up spot microphones. In addition, there are also take envelopes that you can access via -right-clicking on an item and going to \menu{Take > Take Volume Envelope}. -This is incredibly useful for transparently reducing very short stray -peaks versus using a limiter. Simply create a selection over the problematic -area by left-click-dragging and then \keys{\ctrl+\shift} and drag -up or down to just affect that portion of the envelope without needing -to add in individual points. It's such a time-saver! The benefit here -is that you can also see how the item waveform is affected in real -time. +right-clicking on an item and going to \menu{Take > Take Volume Envelope}. This +is incredibly useful for transparently reducing very short stray peaks versus +using a limiter. Simply create a selection over the problematic area by +left-click-dragging and then \keys{\ctrl+\shift} and drag up or down to just +affect that portion of the envelope without needing to add in individual points. +It's such a time-saver! The benefit here is that you can also see how the item +waveform is affected in real time. If you want to exit both automation and mastering modes, press \keys{\ctrl+M}. \subsection{Repositioning Tracks in an Album} -There are two functions which help with reordering or repositioning -tracks. First, and perhaps most useful for producing a classical album, -is if you decide that you need to reorder one or tracks. Simply select -the track you want to move and press either \keys{\ctrl+\arrowkeyleft}or -\keys{\ctrl+\arrowkeyright} to switch with the track immediately -to the left or right. Note that gaps are preserved too. +There are two functions which help with reordering or repositioning tracks. +First, and perhaps most useful for producing a classical album, is if you decide +that you need to reorder one or tracks. Simply select the track you want to move +and press either \keys{\ctrl+\arrowkeyleft}or \keys{\ctrl+\arrowkeyright} to +switch with the track immediately to the left or right. Note that gaps are +preserved too. -The other situation is when you want to start with uniform gaps between -a series of short separate pieces. Use the \keys{\ctrl+Y} shortcut -and enter a value in seconds. Your pieces are then automatically spaced -and items crossfaded are left intact. +The other situation is when you want to start with uniform gaps between a series +of short separate pieces. Use the \keys{\ctrl+Y} shortcut and enter a value in +seconds. Your pieces are then automatically spaced and items crossfaded are left +intact. \subsection{Loudness} -In terms of loudness, I personally aim for about -18 LUFS Integrated -for my classical albums though it can be as high as -16 LUFS and as -low as -20 LUFS. The new loudness JSFX meter in REAPER along with -the normalization of loudness and true-peak limiting in the render -dialog are priceless. It's another reason I couldn't -go back to the big classical DAWs at this point. +In terms of loudness, I personally aim for about -18 LUFS Integrated for my +classical albums though it can be as high as -16 LUFS and as low as -20 LUFS. +The new loudness JSFX meter in REAPER along with the normalization of loudness +and true-peak limiting in the render dialog are priceless. It's another reason I +couldn't go back to the big classical DAWs at this point. \subsection{Metadata} -At this stage, the only items present in the destination folder should -be those comprising the final album. If working in horizontal workflow -mode up to this point, drag any source material to new group by first -creating an empty duplicate folder via \keys{\textbackslash}. To -quickly remove all the take names on the destination parent track, -run \keys{\ctrl+T}. Track titles are then added to the individual -items on the destination parent track by double-clicking on the item -or selecting and pressing \keys{F2}. Note that only items that start +At this stage, the only items present in the destination folder should be those +comprising the final album. If working in horizontal workflow mode up to this +point, drag any source material to new group by first creating an empty +duplicate folder via \keys{\textbackslash}. To quickly remove all the take names +on the destination parent track, run \keys{\ctrl+T}. Track titles are then added +to the individual items on the destination parent track by double-clicking on +the item or selecting and pressing \keys{F2}. Note that only items that start tracks should be named. The rest of the metadata is then added via the Create CD Markers function -\keys{Y}. You can add UPC/EAN and ISRC numbers as desired followed -by album title, performer, composer and genre. The Markers to CUE -function \keys{C} will take as much information as it can from the -saved DDP metadata but the user is free to change as desired. +\keys{Y}. You can add UPC/EAN and ISRC numbers as desired followed by album +title, performer, composer and genre. The Markers to CUE function \keys{C} will +take as much information as it can from the saved DDP metadata but the user is +free to change as desired. \begin{figure} \begin{centering} @@ -1671,57 +1577,53 @@ \subsection{Metadata} \subsection{Creating DDP filesets} -I have introduced a workflow to automatically add the CD/DDP markers, -regions and room tone automation via \keys{Y} (track and region names -are pulled from item take names, markers/regions auto-snap to CD frames, -initial 2-second pre-gap, silent roll out and album metadata also -added!) . It is \textquoteleft smart\textquoteright{} in the sense -that if there's no take name, no marker or region will -be created. In other words, press \keys{F2} with an item selected -to enter track names where markers/regions need to be created. It's -perfect for classical releases where a crossfaded item is likely an -internal source-destination edit versus a new track. For CD tracks -that you want to have a visual CD player countdown, simply start the -item name with an exclamation (!). Preferences such as CD marker offset, -pre-gap length and album lead-out can be set via ReaClassical Project -Preferences \keys{F5} . So it's now very quick to -export a DDP set! - -Further, you can add audio to the initial pre-gap (an `easter egg' -track) by not giving the first item (or crossfaded items) a take name. -The function will assume that this is supposed to be hidden and generate -the initial pre-gap length accordingly. - -If a room tone track is present in the project, the function will -also generate precise track-level volume automation that creates perfectly-matching -fades at points where items fade into and out of silence on the first -destination track. In other words, slicing and dicing room tone audio -to fill in digital silence is no longer necessary in ReaClassical! - -For more information read the description of the DDP function in appendix -A. +I have introduced a workflow to automatically add the CD/DDP markers, regions +and room tone automation via \keys{Y} (track and region names are pulled from +item take names, markers/regions auto-snap to CD frames, initial 2-second +pre-gap, silent roll out and album metadata also added!) . It is \textquoteleft +smart\textquoteright{} in the sense that if there's no take name, no marker or +region will be created. In other words, press \keys{F2} with an item selected to +enter track names where markers/regions need to be created. It's perfect for +classical releases where a crossfaded item is likely an internal +source-destination edit versus a new track. For CD tracks that you want to have +a visual CD player countdown, simply start the item name with an exclamation +(!). Preferences such as CD marker offset, pre-gap length and album lead-out can +be set via ReaClassical Project Preferences \keys{F5} . So it's now very quick +to export a DDP set! + +Further, you can add audio to the initial pre-gap (an `easter egg' track) by not +giving the first item (or crossfaded items) a take name. The function will +assume that this is supposed to be hidden and generate the initial pre-gap +length accordingly. + +If a room tone track is present in the project, the function will also generate +precise track-level volume automation that creates perfectly-matching fades at +points where items fade into and out of silence on the first destination track. +In other words, slicing and dicing room tone audio to fill in digital silence is +no longer necessary in ReaClassical! + +For more information read the description of the DDP function in appendix A. \subsection{Creating CUE Files} -A CUE file can be generated via \keys{C} (no need create a time selection). -The high-resolution audio portion can be generated separately in the -render dialog via the preset. +A CUE file can be generated via \keys{C} (no need create a time selection). The +high-resolution audio portion can be generated separately in the render dialog +via the preset. \subsection{BIN+CUE set} -Create a BIN/CUE pair (either select `regions define tracks\textquoteright{} -and render the whole project or select `use only \# markers' and -render by time selection if you don't want the first -pre-gap as actual silence at the start of track 1). +Create a BIN/CUE pair (either select `regions define tracks\textquoteright{} and +render the whole project or select `use only \# markers' and render by time +selection if you don't want the first pre-gap as actual silence at the start of +track 1). \subsection{Album Reports} -When using the \keys{C} shortcut, ReaClassical also generates both -a plain text and HTML album report in the project folder including -details such as pre-gaps, track title, start time, track length, UPC/EAN -and ISRC (if present), total running time etc. This is a fantastic -and automatic way to send information to clients or a duplication/replication -factory. +When using the \keys{C} shortcut, ReaClassical also generates both a plain text +and HTML album report in the project folder including details such as pre-gaps, +track title, start time, track length, UPC/EAN and ISRC (if present), total +running time etc. This is a fantastic and automatic way to send information to +clients or a duplication/replication factory. \begin{figure} \includegraphics[width=1\linewidth]{user_guide_images/html_album_report} @@ -1735,15 +1637,14 @@ \section{Rendering} \subsection{Presets} -ReaClassical includes various rendering presets to make rendering -extremely quick and easy. In the Render dialog \keys{R}, click on -the presets button then `All Settings'. The preset names are self-explanatory. -The first four entries are for exporting a whole album as a single -audio file. The remaining use the automatically created regions after -using the Create CD Markers function \keys{Y} to create automatically -named folders of audio files, one per CD track. After selecting a -preset, you should feel free to change any render settings and perhaps -save as a new preset for future use. By default, the presets use the +ReaClassical includes various rendering presets to make rendering extremely +quick and easy. In the Render dialog \keys{R}, click on the presets button then +`All Settings'. The preset names are self-explanatory. The first four entries +are for exporting a whole album as a single audio file. The remaining use the +automatically created regions after using the Create CD Markers function +\keys{Y} to create automatically named folders of audio files, one per CD track. +After selecting a preset, you should feel free to change any render settings and +perhaps save as a new preset for future use. By default, the presets use the built-in REAPER standard triangular dither. \begin{figure} @@ -1758,133 +1659,122 @@ \subsection{Presets} \subsection{Samplerate} Now that r8brain free has been introduced as the best quality resampler -available in REAPER (I highly recommend double-checking that it is -selected when resampling at render time) I feel I can do everything, -including DDP creation, without leaving my favorite DAW. However, -the Marker to CUE function \keys{C} is still useful for all sorts -of things and I often create FLAC + CUE for album playback in my media -player or WAV + CUE to easily burn a CD at home. +available in REAPER (I highly recommend double-checking that it is selected when +resampling at render time) I feel I can do everything, including DDP creation, +without leaving my favorite DAW. However, the Marker to CUE function \keys{C} is +still useful for all sorts of things and I often create FLAC + CUE for album +playback in my media player or WAV + CUE to easily burn a CD at home. \subsection{Dither} -Use either the built-in REAPER dither options or RCDither as the last -plugin on the master chain. If using RCDither or any other 3rd-party -dither be sure to keep the master fader at unity and disable all REAPER -dither checkboxes. +Use either the built-in REAPER dither options or RCDither as the last plugin on +the master chain. If using RCDither or any other 3rd-party dither be sure to +keep the master fader at unity and disable all REAPER dither checkboxes. \subsection{Loudness \& Limiting} -REAPER has a fantastic rendering feature which allows the user to -set a desired loudness and peak / true peak setting. For quick exports -that need to meet certain targets (i.e. streaming) this makes things -extremely efficient and is very transparent when not set to extreme -values. +REAPER has a fantastic rendering feature which allows the user to set a desired +loudness and peak / true peak setting. For quick exports that need to meet +certain targets (i.e. streaming) this makes things extremely efficient and is +very transparent when not set to extreme values. \subsection{Dry-run Rendering} -Another REAPER feature that is outstanding is the dry-run render function -which allows for very quick offline loudness and peak checks and much -faster than using REAPER's included realtime loudness meter. It is -therefore extremely easy to set up compressors, limiters etc in the -project and make small adjustments based on the dry-run values and -maintain complete control over the process. +Another REAPER feature that is outstanding is the dry-run render function which +allows for very quick offline loudness and peak checks and much faster than +using REAPER's included realtime loudness meter. It is therefore extremely easy +to set up compressors, limiters etc in the project and make small adjustments +based on the dry-run values and maintain complete control over the process. \subsection{Other Rendering Tips} -Not necessarily obvious to new REAPER users are the special =START -and =END markers (make your markers in the usual way and label them -accordingly) that constrain the length of the project. Rather than -rely on extended silence at the end of items or time selections, the -=END marker is a great way to ensure you have the exact amount of -lead-out you want at the end of the disc. Positioning both special -markers is great way to generate files for multi-disc releases without -having to rely on multiple projects. +Not necessarily obvious to new REAPER users are the special =START and =END +markers (make your markers in the usual way and label them accordingly) that +constrain the length of the project. Rather than rely on extended silence at the +end of items or time selections, the =END marker is a great way to ensure you +have the exact amount of lead-out you want at the end of the disc. Positioning +both special markers is great way to generate files for multi-disc releases +without having to rely on multiple projects. You will hopefully notice I have included various shortcuts for manually -creating regions (single or multiple) from items and time selection -(great for quickly generating demo snippets). Also worth noting is -that you can still do some (or all!) of your source-destination editing -with your track markers in place as the S/D markers have IDs far higher -than any classical CD would have and are automatically deleted after -a successful edit. As long as you have your ripple-per-track mode -engaged, all your existing marker placements and carefully crafted -edits will remain intact. But, again, don't manually -create CD markers at this point as I include a very powerful tool -to make light work of that side of mastering. +creating regions (single or multiple) from items and time selection (great for +quickly generating demo snippets). Also worth noting is that you can still do +some (or all!) of your source-destination editing with your track markers in +place as the S/D markers have IDs far higher than any classical CD would have +and are automatically deleted after a successful edit. As long as you have your +ripple-per-track mode engaged, all your existing marker placements and carefully +crafted edits will remain intact. But, again, don't manually create CD markers +at this point as I include a very powerful tool to make light work of that side +of mastering. \section{Project Management} \subsection{Typing Notes} -Document your takes either using the built-in REAPER project notes -or SWS Notes \keys{N} (for `Notes') which can be attached to items, -tracks, markers etc. I personally prefer item notes on the main microphone -pair. It's a very useful tool to have docked at the -bottom of the screen. +Document your takes either using the built-in REAPER project notes or SWS Notes +\keys{N} (for `Notes') which can be attached to items, tracks, markers etc. I +personally prefer item notes on the main microphone pair. It's a very useful +tool to have docked at the bottom of the screen. \subsection{Folder Structure} -ReaClassical defaults to placing media and exports into appropriately -subfolders making project file navigation easier. Also, ReaClassical -defaults to separate folders for automatic backups and auto-saves. -These settings are subject to change and can be modified by going -to the REAPER preferences \keys{O} (for `Options'). +ReaClassical defaults to placing media and exports into appropriately subfolders +making project file navigation easier. Also, ReaClassical defaults to separate +folders for automatic backups and auto-saves. These settings are subject to +change and can be modified by going to the REAPER preferences \keys{O} (for +`Options'). \subsection{Automatic Backups} -REAPER allows for powerful and complex backup routines. As referenced -above, ReaClassical defaults to 10 time-stamped backups and 10 auto-saves -every 15 minutes when not recording. Feel free to modify for your -own way of working including switching to backups and auto saves for -a number of unique days. +REAPER allows for powerful and complex backup routines. As referenced above, +ReaClassical defaults to 10 time-stamped backups and 10 auto-saves every 15 +minutes when not recording. Feel free to modify for your own way of working +including switching to backups and auto saves for a number of unique days. \subsection{Cleaning} -If in doubt, keep everything! Otherwise, the \menu{File > Clean current project directory} -is an excellent way to reduce the size of your projects. Note that -when assigning a session name via the Take Counter Window, currently -the above REAPER menu item doesn't search recursively. In a way, this -reduces the chances of accidentally deleting precious takes. You can -always manually delete but, from experience, it is \emph{much} better -to simply keep everything. +If in doubt, keep everything! Otherwise, the \menu{File > Clean current project +directory} is an excellent way to reduce the size of your projects. Note that +when assigning a session name via the Take Counter Window, currently the above +REAPER menu item doesn't search recursively. In a way, this reduces the chances +of accidentally deleting precious takes. You can always manually delete but, +from experience, it is \emph{much} better to simply keep everything. \subsection{Archiving} -There are various ways to archive classical music projects. First, -you can access the Project Bay by \keys{\ctrl+B} shortcut. You can -then ensure that all media used in the project is contained within -the project folder itself. If not, you can select as many as necessary, -right click and move/copy into the project folder. After this, you -can simply compress the folder as a zip and store on an external drive. -A further step to guaranteeing ability to open in the future is to -freeze tracks so that plugin effects are baked in (with ability to -unfreeze later if possible). Alternatively you can save a copy of -the project via \menu{File > Save project as...} \emph{,} converting -to a format like FLAC and trimming the media as you wish. Finally, -one to look out for in the future is \href{https://forum.cockos.com/showthread.php?t=280150}{Project Archiver}. -However, I don't believe it is quite ready for prime-time yet and -recommend using one of the other methods for now.\pagebreak{} +There are various ways to archive classical music projects. First, you can +access the Project Bay by \keys{\ctrl+B} shortcut. You can then ensure that all +media used in the project is contained within the project folder itself. If not, +you can select as many as necessary, right click and move/copy into the project +folder. After this, you can simply compress the folder as a zip and store on an +external drive. A further step to guaranteeing ability to open in the future is +to freeze tracks so that plugin effects are baked in (with ability to unfreeze +later if possible). Alternatively you can save a copy of the project via +\menu{File > Save project as...} \emph{,} converting to a format like FLAC and +trimming the media as you wish. Finally, one to look out for in the future is +\href{https://forum.cockos.com/showthread.php?t=280150}{Project Archiver}. +However, I don't believe it is quite ready for prime-time yet and recommend +using one of the other methods for now.\pagebreak{} \part{End Matter} \section{Thanks} -\noindent\begin{flushleft} -I am appreciative of the collective contributions of the REAPER community -with regards the early source-destination actions (Pelleke, in particular), -MPL, X-Raym, BirdBird, RCJacH, Sai'ke, Meo-Ada Mespotine, cfillion -and many more. Finally, many thanks to Justin and Schwa for such an -amazingly versatile DAW. -\par\end{flushleft} +\noindent\begin{flushleft} I am appreciative of the collective contributions of +the REAPER community with regards the early source-destination actions (Pelleke, +in particular), MPL, X-Raym, BirdBird, RCJacH, Sai'ke, Meo-Ada Mespotine, +cfillion and many more. Finally, many thanks to Justin and Schwa for such an +amazingly versatile DAW. \par\end{flushleft} \section{Closing Thoughts} -\noindent\begin{flushleft} -I hope you enjoy the ability to do serious classical editing with -ReaClassical on REAPER and that my efforts go some way to making things -better, easier and more efficient. Remember that if you find any oddities -with the functions or have a bright idea for something new and shiny, -please add your thoughts to the \href{https://forum.cockos.com/showthread.php?t=265145}{dedicated thread} -on the forums and/or create an issue or start a discussion on my GitHub -repository located at \href{https://github.com/chmaha/ReaClassical}{https://github.com/chmaha/ReaClassical}. +\noindent\begin{flushleft} I hope you enjoy the ability to do serious classical +editing with ReaClassical on REAPER and that my efforts go some way to making +things better, easier and more efficient. Remember that if you find any oddities +with the functions or have a bright idea for something new and shiny, please add +your thoughts to the +\href{https://forum.cockos.com/showthread.php?t=265145}{dedicated thread} on the +forums and/or create an issue or start a discussion on my GitHub repository +located at +\href{https://github.com/chmaha/ReaClassical}{https://github.com/chmaha/ReaClassical}. \par\end{flushleft} \pagebreak{} @@ -1895,206 +1785,188 @@ \part{Appendices} \section{Description of ReaClassical Functions} -\emph{Preliminary Note: }These proceed in a quasi-workflow order. -I include the default shortcut keys if using my portable install or -resource folder base. You can also use the custom toolbar via the -mouse. +\emph{Preliminary Note: }These proceed in a quasi-workflow order. I include the +default shortcut keys if using my portable install or resource folder base. You +can also use the custom toolbar via the mouse. \textbf{Create/Sync Horizontal Workflow }\keys{F7} -\emph{Description: }The way to create a horizontal workflow with a -single folder group with as many tracks as you need. It can also be -used with an single existing folder group to re-sync track names and -re-build project routing. +\emph{Description: }The way to create a horizontal workflow with a single folder +group with as many tracks as you need. It can also be used with an single +existing folder group to re-sync track names and re-build project routing. -\emph{Notes: }Use on a completely empty project. I would use this -if you are planning to use a horizontal approach to source-destination -editing (i.e. the various takes are laid out from left to right) or -if you want a quick way to set up a mixing/mastering track set with -a single take. The function automatically sets up the tracks for group -media and razor-editing along with dedicated mixer tracks. These mixer -tracks should be used for all track settings (names, volume, pan, -polarity, sends and FX). +\emph{Notes: }Use on a completely empty project. I would use this if you are +planning to use a horizontal approach to source-destination editing (i.e. the +various takes are laid out from left to right) or if you want a quick way to set +up a mixing/mastering track set with a single take. The function automatically +sets up the tracks for group media and razor-editing along with dedicated mixer +tracks. These mixer tracks should be used for all track settings (names, volume, +pan, polarity, sends and FX). \textbf{Create/Sync Vertical Workflow }\keys{F8} -\emph{Description: }A multi-use function to 1) set up a vertical workflow -with destination and source groups with as many tracks as you need, -2) to create source groups from an existing destination folder group -(for example, created with \keys{F7} shortcut) and, for in the middle -of editing, 3) to (re)create project routing and sync track-naming, -record inputs and lock states. Note that for 3), all folders should -contain the same number of tracks. +\emph{Description: }A multi-use function to 1) set up a vertical workflow with +destination and source groups with as many tracks as you need, 2) to create +source groups from an existing destination folder group (for example, created +with \keys{F7} shortcut) and, for in the middle of editing, 3) to (re)create +project routing and sync track-naming, record inputs and lock states. Note that +for 3), all folders should contain the same number of tracks. -\emph{Notes: }For all track settings (names, volume, pan, polarity, -sends and FX) you should use the dedicated mixer tracks. +\emph{Notes: }For all track settings (names, volume, pan, polarity, sends and +FX) you should use the dedicated mixer tracks. \textbf{Explode multi-channel item }\keys{F10} -\emph{Description:} Explode multi-channel item(s) to either all mono -or stereo-interleaved + mono - -\emph{Notes:} Import your multi-channel media using a single regular -track (for a horizontal workflow) or multiple regular tracks (for -a vertical workflow). Then, simply press \keys{F10} (no need to select -the items). Answer yes to the prompt that appears if the first two -channels should be treated as stereo interleaved (i.e. they represent -your main pair). Depending on the choice made, the number of tracks -in the resulting folder(s) will adjust accordingly. If the user selects -\textquoteleft no\textquoteright{} to keep all tracks mono, the folder -track is left empty so that the Prepare Takes \keys{T} function is -able to create a muted guide track (more on this later!). Then you -are given the opportunity to name your tracks. Obviously if you decide -to move to a vertical workflow after exploding using a single track, -you can always use \keys{F8} to create your source folders then drag -the media to where you want them. If you need to bring in new takes -after editing has started, simply use the function on an empty project -tab then copy or cut them into the original project tab into the desired -folder on the timeline. +\emph{Description:} Explode multi-channel item(s) to either all mono or +stereo-interleaved + mono + +\emph{Notes:} Import your multi-channel media using a single regular track (for +a horizontal workflow) or multiple regular tracks (for a vertical workflow). +Then, simply press \keys{F10} (no need to select the items). Answer yes to the +prompt that appears if the first two channels should be treated as stereo +interleaved (i.e. they represent your main pair). Depending on the choice made, +the number of tracks in the resulting folder(s) will adjust accordingly. If the +user selects \textquoteleft no\textquoteright{} to keep all tracks mono, the +folder track is left empty so that the Prepare Takes \keys{T} function is able +to create a muted guide track (more on this later!). Then you are given the +opportunity to name your tracks. Obviously if you decide to move to a vertical +workflow after exploding using a single track, you can always use \keys{F8} to +create your source folders then drag the media to where you want them. If you +need to bring in new takes after editing has started, simply use the function on +an empty project tab then copy or cut them into the original project tab into +the desired folder on the timeline. \textbf{Add special track(s) }\keys{\#} -\emph{Description: }Adds one or more special tracks (aux, submix, -roomtone, reference) - -\emph{Notes: }ReaClassical projects can have any number of special -tracks but are limited to a single roomtone track. See below for details -of each kind of track. - -\textsc{Aux send}: Add a rosewood-colored aux track prefixed with an -ampersand (@) to the end of the track list but is only visible in -the mixer. This allows the user to keep assigned aux tracks visible -in the intelligent mixer. Create any connections to the aux in the -destination group (including child tracks) and then push to the source -groups via the Vertical Workflow function \keys{F8} . This routing -is maintained during subsequent \keys{F7} or \keys{F8} syncs. Set -\textquotedbl Maintain Mixer => RCMASTER\textquotedbl{} to 0 to add -a hyphen (-) to the end of every mixer track thereby removing the -direct connection to RCMASTER allowing for all sorts of nice custom -routing. By default the final option is always set to 1 to maintain -whatever routing you currently have. - -\textsc{Submix}: Add a teal-colored aux track prefixed with an hash -(\#) to the end of the track list but is only visible in the mixer. -This allows the user to keep assigned submix tracks visible in the -intelligent mixer. Create any connections to the submix in the destination -group (including child tracks) and then push to the source groups -via the Vertical Workflow function \keys{F8} . For correct routing -to a submix (versus a send), simply add a hyphen (-) at the end of -desired track names in the mixer tracks and sync via \keys{F7} or -\keys{F8}. Now those related mixer tracks will not route directly -to RCMASTER. As an example, say tracks 3-6 are all string section -microphones and you'd like to first sum them all to a string submix -track called `\#strings'. Just add a hyphen to the end of the names -for tracks 3-6, sync and then create the routing to \#strings via -click-dragging from the routing stripes. This routing is maintained -during subsequent \keys{F7} or \keys{F8} syncs. +\emph{Description: }Adds one or more special tracks (aux, submix, roomtone, +reference) -\textsc{Room tone}: Add a burnt sienna-colored aux/submix track labeled -`RoomTone' to the end of the track list that is visible in both -the track and mixer panels. The track will be included in the signal -path via the regular audition function \keys{A}. If present when -creating CD/DDP via the function will also generate volume automation -to create perfect crossfades with the items on the first destination -track. Slicing and dicing room tone audio to fill in digital silence -is now a thing of the past. Simply add a long recorded or convolution-generated -room tone audio item before running the function. The ReaClassical -way of dealing with room tone is non-destructive and instant! +\emph{Notes: }ReaClassical projects can have any number of special tracks but +are limited to a single roomtone track. See below for details of each kind of +track. + +\textsc{Aux send}: Add a rosewood-colored aux track prefixed with an ampersand +(@) to the end of the track list but is only visible in the mixer. This allows +the user to keep assigned aux tracks visible in the intelligent mixer. Create +any connections to the aux in the destination group (including child tracks) and +then push to the source groups via the Vertical Workflow function \keys{F8} . +This routing is maintained during subsequent \keys{F7} or \keys{F8} syncs. Set +\textquotedbl Maintain Mixer => RCMASTER\textquotedbl{} to 0 to add a hyphen (-) +to the end of every mixer track thereby removing the direct connection to +RCMASTER allowing for all sorts of nice custom routing. By default the final +option is always set to 1 to maintain whatever routing you currently have. + +\textsc{Submix}: Add a teal-colored aux track prefixed with an hash (\#) to the +end of the track list but is only visible in the mixer. This allows the user to +keep assigned submix tracks visible in the intelligent mixer. Create any +connections to the submix in the destination group (including child tracks) and +then push to the source groups via the Vertical Workflow function \keys{F8} . +For correct routing to a submix (versus a send), simply add a hyphen (-) at the +end of desired track names in the mixer tracks and sync via \keys{F7} or +\keys{F8}. Now those related mixer tracks will not route directly to RCMASTER. +As an example, say tracks 3-6 are all string section microphones and you'd like +to first sum them all to a string submix track called `\#strings'. Just add a +hyphen to the end of the names for tracks 3-6, sync and then create the routing +to \#strings via click-dragging from the routing stripes. This routing is +maintained during subsequent \keys{F7} or \keys{F8} syncs. -\textsc{Reference}: Add a reference track labeled `REF' to the end -of the track list that is visible in both the track and mixer panels. -If you rename, a `REF:' is automatically added. The track will be -placed outside of RCMASTER signal path and easily auditioned via \keys{A}. +\textsc{Room tone}: Add a burnt sienna-colored aux/submix track labeled +`RoomTone' to the end of the track list that is visible in both the track and +mixer panels. The track will be included in the signal path via the regular +audition function \keys{A}. If present when creating CD/DDP via the function +will also generate volume automation to create perfect crossfades with the items +on the first destination track. Slicing and dicing room tone audio to fill in +digital silence is now a thing of the past. Simply add a long recorded or +convolution-generated room tone audio item before running the function. The +ReaClassical way of dealing with room tone is non-destructive and instant! + +\textsc{Reference}: Add a reference track labeled `REF' to the end of the track +list that is visible in both the track and mixer panels. If you rename, a `REF:' +is automatically added. The track will be placed outside of RCMASTER signal path +and easily auditioned via \keys{A}. \textbf{Hide and Show child tracks / automation lanes }\keys{E} and \keys{D} -\emph{Description: }Hide child tracks to save screen estate and for -working with multi-channel takes as if working with just stereo. In -`mastering' mode, the shortcuts also work for hiding and showing -automation lanes. +\emph{Description: }Hide child tracks to save screen estate and for working with +multi-channel takes as if working with just stereo. In `mastering' mode, the +shortcuts also work for hiding and showing automation lanes. -\emph{Notes: }Select a folder track and press \keys{E} to hide the -children or \keys{D} to show them. All S-D and razor editing functions -work perfectly while folder groups are collapsed. This recreates a -popular way of working with classical music takes in Pyramix. In `mastering' -mode, select a track containing automation lanes and press \keys{E} -to hide the automation lanes or \keys{D} to show them. +\emph{Notes: }Select a folder track and press \keys{E} to hide the children or +\keys{D} to show them. All S-D and razor editing functions work perfectly while +folder groups are collapsed. This recreates a popular way of working with +classical music takes in Pyramix. In `mastering' mode, select a track containing +automation lanes and press \keys{E} to hide the automation lanes or \keys{D} to +show them. \textbf{Take Counter Window} \keys{\ctrl+\enter} \emph{Description:} Track take numbers and session name during recording sessions. Schedule recordings by start/end time or duration. -\emph{Notes:} The window will also open automatically with Classical -Take Record (\keys{F9}) if not already running. It is advised to -save your project and name your tracks before starting to record. -This ensures that the recorded files have usefully unique names. You -can right-click on the window to override automatic take numbering -(0 = off (recommended), 1 = override), set a take number to increment -from and optionally set a session name to act as media subfolder. -You can left-click to recalculate the track count if you have removed -some unused files from the project path. The calculated upcoming take -number factors in unused files in the project path so as to avoid -any file-naming conflicts. You should find this to be an extremely -robust take system that rivals Pyramix, Sequoia etc. To schedule a -recording or limit by duration, right-click on the take counter window -and add the appropriate entry or entries in HH:MM format. After pressing -OK, the take counter window will display information to the right -of the take number. If you enter a start or end time earlier or equal -to the current time, the function will assume a next day schedule -and will annotate the time with an asterisk ({*}). Likewise, with -both a start and end time, if the end time is earlier than or equal -to start, it will assume a time 24 hours later. Don't forget to arm -your tracks before walking away! +\emph{Notes:} The window will also open automatically with Classical Take Record +(\keys{F9}) if not already running. It is advised to save your project and name +your tracks before starting to record. This ensures that the recorded files have +usefully unique names. You can right-click on the window to override automatic +take numbering (0 = off (recommended), 1 = override), set a take number to +increment from and optionally set a session name to act as media subfolder. You +can left-click to recalculate the track count if you have removed some unused +files from the project path. The calculated upcoming take number factors in +unused files in the project path so as to avoid any file-naming conflicts. You +should find this to be an extremely robust take system that rivals Pyramix, +Sequoia etc. To schedule a recording or limit by duration, right-click on the +take counter window and add the appropriate entry or entries in HH:MM format. +After pressing OK, the take counter window will display information to the right +of the take number. If you enter a start or end time earlier or equal to the +current time, the function will assume a next day schedule and will annotate the +time with an asterisk ({*}). Likewise, with both a start and end time, if the +end time is earlier than or equal to start, it will assume a time 24 hours +later. Don't forget to arm your tracks before walking away! \textbf{Classical Take Record }\keys{F9} -\emph{Description:} A one-button shortcut for stopping and starting -recording of takes. - -\emph{Notes:} To use, select a folder track, position the edit cursor -if necessary and press \keys{F9} . If the parent isn't already record-armed -(probably the case before you start your first recording of the session), -the function will first simply record-arm the group so you can usefully -monitor incoming signal in addition to opening the take counter window. -On a subsequent press of \keys{F9} recording begins. Press again -to stop the recording. To immediately start a new take, simply press -\keys{F9} again. To pause and unpause a recording without starting -a new take, toggle the pause button in the transport or use the shortcut -\keys{\ctrl+\space} (spacebar). Note that in a vertical workflow, -the next folder has already been selected, record-armed and that the -cursor returns to the original position for easy lining up of takes. -If you run out of source groups, the function will automatically create -a new one. +\emph{Description:} A one-button shortcut for stopping and starting recording of +takes. + +\emph{Notes:} To use, select a folder track, position the edit cursor if +necessary and press \keys{F9} . If the parent isn't already record-armed +(probably the case before you start your first recording of the session), the +function will first simply record-arm the group so you can usefully monitor +incoming signal in addition to opening the take counter window. On a subsequent +press of \keys{F9} recording begins. Press again to stop the recording. To +immediately start a new take, simply press \keys{F9} again. To pause and unpause +a recording without starting a new take, toggle the pause button in the +transport or use the shortcut \keys{\ctrl+\space} (spacebar). Note that in a +vertical workflow, the next folder has already been selected, record-armed and +that the cursor returns to the original position for easy lining up of takes. If +you run out of source groups, the function will automatically create a new one. \textbf{Rank Take Higher }\keys{\ctrl+=} -\emph{Description:} Rank higher the last recorded item or selected -item(s) (and those in the same group) +\emph{Description:} Rank higher the last recorded item or selected item(s) (and +those in the same group) -\emph{Notes:} During or after recording, you can rank one or more -recorded takes. If no item is selected, the last recorded item (along -with other items in the same group) are affected. Otherwise, you can -select one or more parent items. The ranking system uses a series -of colors and a scale system of plusses and minuses (+/-) added as -a suffix to the item name up to a maximum of three symbols. This allows -for seven different rankings. Positive rankings are 3 intensities -of green (good, very good, excellent), negative rankings are yellow, -orange, red (below average, poor, unusable), with neutral (no ranking) -using the default item color. +\emph{Notes:} During or after recording, you can rank one or more recorded +takes. If no item is selected, the last recorded item (along with other items in +the same group) are affected. Otherwise, you can select one or more parent +items. The ranking system uses a series of colors and a scale system of plusses +and minuses (+/-) added as a suffix to the item name up to a maximum of three +symbols. This allows for seven different rankings. Positive rankings are 3 +intensities of green (good, very good, excellent), negative rankings are yellow, +orange, red (below average, poor, unusable), with neutral (no ranking) using the +default item color. \textbf{Rank Take Lower }\keys{\ctrl+-} -\emph{Description:} Rank lower the last recorded item or selected -item(s) (and those in the same group) +\emph{Description:} Rank lower the last recorded item or selected item(s) (and +those in the same group) \emph{Notes: }See the notes above. \textbf{Remove Take Ranking }\keys{\ctrl+0} -\emph{Description:} Remove any ranking from the last recorded item -or selected item(s) (and those in the same group) +\emph{Description:} Remove any ranking from the last recorded item or selected +item(s) (and those in the same group) \emph{Notes: }See the notes above. @@ -2106,556 +1978,515 @@ \section{Description of ReaClassical Functions} \textbf{Add Track To All Groups }\keys{\shift+T} -\emph{Description:} Add a new microphone to all folders (or a single -folder) mid-recording session. +\emph{Description:} Add a new microphone to all folders (or a single folder) +mid-recording session. -\emph{Notes:} The function will prompt for a track name and then a -new track will appear at the end of every folder and mixer track set. -You could follow up by moving the track using the function below. +\emph{Notes:} The function will prompt for a track name and then a new track +will appear at the end of every folder and mixer track set. You could follow up +by moving the track using the function below. \textbf{Delete Track From All Groups }\keys{\ctrl+\shift+\del} -\emph{Description:} Delete the selected mixer track and associated -child tracks from all groups in the project. +\emph{Description:} Delete the selected mixer track and associated child tracks +from all groups in the project. -\emph{Notes:} Available for both horizontal and vertical workflows, -simply select a single mixer track and press the shortcut. +\emph{Notes:} Available for both horizontal and vertical workflows, simply +select a single mixer track and press the shortcut. \textbf{Prepare Takes }\keys{T} -\emph{Description:} Intelligently prepares recorded or imported takes -for source-destination editing. Coloring scheme is set in ReaClassical -Preferences \keys{F5} . - -\emph{Notes: }With a single folder group (or individual tracks), the -shortcut will auto-color and group takes from left to right. With -a vertical workflow consisting of a destination group and multiple -source groups, the function will auto-color top to bottom and group -folder items left to right. Essentially in either setup, takes are -given different colors and all items associated with a take grouped -for editing. The function also allows for takes that don't start or +\emph{Description:} Intelligently prepares recorded or imported takes for +source-destination editing. Coloring scheme is set in ReaClassical Preferences +\keys{F5} . + +\emph{Notes: }With a single folder group (or individual tracks), the shortcut +will auto-color and group takes from left to right. With a vertical workflow +consisting of a destination group and multiple source groups, the function will +auto-color top to bottom and group folder items left to right. Essentially in +either setup, takes are given different colors and all items associated with a +take grouped for editing. The function also allows for takes that don't start or end exactly at the same time (this can happen if you receive pre-edited -materials). The end result is if you drag one item of a take group, -every other item will move in sync. NOTE: The function was designed -for use after initial recording or importing of media but as of 24.5.3 -should work at any point during editing (for example to import a patch -recording). In this case, the destination group items will switch -to using alternating colors so that you can easily see where your -edits are on the timeline. And, as of 24.8.5, the function uses the -`Prepare Takes: Random colors' value from ReaClassical Preferences -to use either the new color scheme (default, set to 0) or the old -random color method (set to 1). A reminder that the new REAPER native -grouping (when set up via Horizontal or Vertical Workflow functions) -works for 99\% of situations without Prepare Takes but for takes that -don't start or end at quite the same point it is a must. Prepare Takes -honors any custom colors set via the Colorize function \keys{K}. +materials). The end result is if you drag one item of a take group, every other +item will move in sync. NOTE: The function was designed for use after initial +recording or importing of media but as of 24.5.3 should work at any point during +editing (for example to import a patch recording). In this case, the destination +group items will switch to using alternating colors so that you can easily see +where your edits are on the timeline. And, as of 24.8.5, the function uses the +`Prepare Takes: Random colors' value from ReaClassical Preferences to use either +the new color scheme (default, set to 0) or the old random color method (set to +1). A reminder that the new REAPER native grouping (when set up via Horizontal +or Vertical Workflow functions) works for 99\% of situations without Prepare +Takes but for takes that don't start or end at quite the same point it is a +must. Prepare Takes honors any custom colors set via the Colorize function +\keys{K}. \textbf{Duplicate Folder (no items) }\keys{\textbackslash} -\emph{Description: }Create a duplicate without media items of the -highlighted folder. +\emph{Description: }Create a duplicate without media items of the highlighted +folder. -\emph{Notes: }Note that in a vertical workflow, Classical Take Record -\keys{F9} automatically creates new folders if needed, this function -does not need to be used when recording material. However, if importing -pre-recorded takes and you need more source groups to accommodate -the material, this is still very useful. +\emph{Notes: }Note that in a vertical workflow, Classical Take Record \keys{F9} +automatically creates new folders if needed, this function does not need to be +used when recording material. However, if importing pre-recorded takes and you +need more source groups to accommodate the material, this is still very useful. \textbf{Colorize }\keys{K} -\emph{Description: }Add a identifying custom color to an item and -those in the same group. +\emph{Description: }Add a identifying custom color to an item and those in the +same group. \emph{Notes: }Useful for identifying where a S-D edit originated. \textbf{Audition }\keys{A} -\emph{Description:} Mouse-driven auditioning of folders or individual -tracks. +\emph{Description:} Mouse-driven auditioning of folders or individual tracks. -\emph{Notes: }Simply hover the mouse over an area of the project and -press \keys{A} to begin auditioning the audio. With \keys{A}, hover -over a folder track to hear the complete mix or a single track within -a folder for listening to individual instrument or sections. Note -that the \keys{A} function honors any aux or submix track routing. -The main function respects soloed or muted @ aux, \# submix and roomtone -tracks so you can easily and quickly set up a custom audition mix -including a full mix, just the string submix, a single reverb bus +\emph{Notes: }Simply hover the mouse over an area of the project and press +\keys{A} to begin auditioning the audio. With \keys{A}, hover over a folder +track to hear the complete mix or a single track within a folder for listening +to individual instrument or sections. Note that the \keys{A} function honors any +aux or submix track routing. The main function respects soloed or muted @ aux, +\# submix and roomtone tracks so you can easily and quickly set up a custom +audition mix including a full mix, just the string submix, a single reverb bus and anything else you can imagine! \textbf{Audition With Custom Playback Rate }\keys{\shift+A} -\emph{Description:} Mouse-driven auditioning of folders or individual -tracks but with a custom playback rate. +\emph{Description:} Mouse-driven auditioning of folders or individual tracks but +with a custom playback rate. -\emph{Notes: }Works in the same fashion as regular ReaClassical auditioning -but you can set the custom playback rate via \keys{F5}. Note that -regular auditioning will automatically use the standard playback rate. +\emph{Notes: }Works in the same fashion as regular ReaClassical auditioning but +you can set the custom playback rate via \keys{F5}. Note that regular +auditioning will automatically use the standard playback rate. \textbf{Whole Project View Horizontal }\keys{`} \emph{Description: }Zoom to show the whole project horizontally. -\emph{Notes: }Very useful for a birds-eye view of your project so -you can navigate to another section. If there are multiple folders, -the function collapses them. If fewer than two folders, the function -respects the current folder view. +\emph{Notes: }Very useful for a birds-eye view of your project so you can +navigate to another section. If there are multiple folders, the function +collapses them. If fewer than two folders, the function respects the current +folder view. \textbf{Whole Project View Vertical }\keys{\ctrl+`} \emph{Description: }Zoom to show the whole project vertically. -\emph{Notes: }Very useful for a birds-eye view of your project so -you can see all vertical take folders. The function respects current -child track visibility to allow for a typical editing situation of -viewing all of the destination group but only the folder tracks of -source groups. +\emph{Notes: }Very useful for a birds-eye view of your project so you can see +all vertical take folders. The function respects current child track visibility +to allow for a typical editing situation of viewing all of the destination group +but only the folder tracks of source groups. \textbf{ReaClassical Project Preferences }\keys{F5} -\emph{Description: }Set S-D crossfade length, CD track offset and -INDEX0 pre-gap length (CD player countdown into next track), album -lead-out time, Prepare Takes colors, S-D Destination Marker Check -Range (ms), REF = Overdub Guide, Add S-D Markers at Mouse Hover. - -\emph{Notes: }These values are saved on a per-project basis. While -the INDEX0 pre-gap length can be set lower than 1 second in the dialog -box, the \emph{Create CD Markers} \keys{Y} function will ignore and -use a value of 1 second as this is the lowest that makes any sense -for displaying the countdown to the next track. Prepare Takes by default -uses the new color scheme for items (`Prepare Takes: Random colors' -set to 0) which is two shades of blue for horizontal workflows and -blues and greens for vertical workflows thereby aligning closely with -the colors of the S-D markers. The old coloring method (`Prepare -Takes: Random colors' set to 1) uses random colors per item group. -This can help see where edits have come from but because of the randomness -may require several iterations until you avoid clashes or eye-sores! -The user can change the checking range (distance beyond an item edge/fade -or crossfade) when placing destination IN and OUT markers. Setting -to 0 would just check if the marker would be placed \emph{inside} -a item fade or crossfade. If the reference track is set as overdub -guide, it will be audible during classical take recording and auditioning -which is extremely useful for overdub recording of material after -the main session such as a symphonic organ part or narration. Finally, -you can set \keys{1},\keys{2},\keys{3}, and \keys{4} to add markers -at the mouse hover position vs edit cursor. In this mode, you can -also enter the fade editor by hovering of the right-hand items of -a crossfaded pair and pressing \keys{F}. +\emph{Description: }Set S-D crossfade length, CD track offset and INDEX0 pre-gap +length (CD player countdown into next track), album lead-out time, Prepare Takes +colors, S-D Destination Marker Check Range (ms), REF = Overdub Guide, Add S-D +Markers at Mouse Hover. + +\emph{Notes: }These values are saved on a per-project basis. While the INDEX0 +pre-gap length can be set lower than 1 second in the dialog box, the +\emph{Create CD Markers} \keys{Y} function will ignore and use a value of 1 +second as this is the lowest that makes any sense for displaying the countdown +to the next track. Prepare Takes by default uses the new color scheme for items +(`Prepare Takes: Random colors' set to 0) which is two shades of blue for +horizontal workflows and blues and greens for vertical workflows thereby +aligning closely with the colors of the S-D markers. The old coloring method +(`Prepare Takes: Random colors' set to 1) uses random colors per item group. +This can help see where edits have come from but because of the randomness may +require several iterations until you avoid clashes or eye-sores! The user can +change the checking range (distance beyond an item edge/fade or crossfade) when +placing destination IN and OUT markers. Setting to 0 would just check if the +marker would be placed \emph{inside} a item fade or crossfade. If the reference +track is set as overdub guide, it will be audible during classical take +recording and auditioning which is extremely useful for overdub recording of +material after the main session such as a symphonic organ part or narration. +Finally, you can set \keys{1},\keys{2},\keys{3}, and \keys{4} to add markers at +the mouse hover position vs edit cursor. In this mode, you can also enter the +fade editor by hovering of the right-hand items of a crossfaded pair and +pressing \keys{F}. \textbf{Find Take (based on filename) }\keys{\return} -\emph{Description: }Enter a take number based on the numerical suffixes -at the end of filenames and optional session name to quickly jump -to that media item. - -\emph{Notes: }If the function can't find a media item with that take -number and optional session name, it will let you know and offer to -try again with a different number or session name. This will work -for any file-naming system that uses numbers before the file extension -such as `mvt1\_main\_pair-T04.wav' or `beethoven\_cello-take\_23.flac'. -Note that if the imported or recorded files have zero-padding that -is not a problem as the function strips these away. The session name -search can be used to find any text in the filename and allows for -partial searches. If you have used an item to create an S-D edit, -searching for a take will ignore these items and move directly to -the original sources. +\emph{Description: }Enter a take number based on the numerical suffixes at the +end of filenames and optional session name to quickly jump to that media item. + +\emph{Notes: }If the function can't find a media item with that take number and +optional session name, it will let you know and offer to try again with a +different number or session name. This will work for any file-naming system that +uses numbers before the file extension such as `mvt1\_main\_pair-T04.wav' or +`beethoven\_cello-take\_23.flac'. Note that if the imported or recorded files +have zero-padding that is not a problem as the function strips these away. The +session name search can be used to find any text in the filename and allows for +partial searches. If you have used an item to create an S-D edit, searching for +a take will ignore these items and move directly to the original sources. \textbf{Jump To Time (Selected Item(s) or Project) }\keys{\tab} -\emph{Description: }Jumps to the specified time (mm:ss) in the project -or internal time within a selected item or set of consecutive crossfaded -items. +\emph{Description: }Jumps to the specified time (mm:ss) in the project or +internal time within a selected item or set of consecutive crossfaded items. -\emph{Notes: }Various use-cases include 1) a musician or producer -giving you an exact time in draft exported audio of a heavily-edited -symphony movement where they identified extraneous noise or a noticeable -edit, 2) building S-D edits from a list or score which includes take -number and times. +\emph{Notes: }Various use-cases include 1) a musician or producer giving you an +exact time in draft exported audio of a heavily-edited symphony movement where +they identified extraneous noise or a noticeable edit, 2) building S-D edits +from a list or score which includes take number and times. \textbf{Source-Destination Markers }\keys{1}, \keys{2}, \keys{3}, \keys{4} -\emph{Description:} Add source-destination markers ready for making -the edit. - -\emph{Notes: }\keys{1} , \keys{2} = destination IN/OUT; \keys{3} -, \keys{4} = Source IN/OUT. In between the destination markers is -where the edit will actually happen. In between the source markers -is where the material is taken from. Use all four markers for 4-point -editing. Use any combination of 3 markers for 3-point editing. Use -either 1 source and 1 destination (more useful) or just the source -markers for 2-point editing (less useful). By default, the markers -are added at the edit cursor location. It is very important and useful -to note is that the source marker labels reflect which source group -was highlighted when the markers were placed. In other words, to create -source markers at the edit cursor, first select the item in the chosen -folder track and then use the \keys{3} \& \keys{4} shortcuts. This -means that when the actual edit is made (using \keys{5}) it doesn't -matter what is highlighted at the time. Obviously this is only useful -if using a vertical take system approach. Additionally, you can set -the placement of S-D markers at mouse hover position via ReaClassical -Preferences (\keys{F5}). The benefit, other than speed, is that you -don't have to worry about making sure source tracks are selected by -clicking on the item - simply hover over the desired item and add -the source markers! - -If you attempt to set one of the destination markers inside of an -existing crossfade or within 500ms of a crossfade or item edge, the -function will alert you (pressing OK places the marker anyway). This -helps avoid awkward `sliver' edits that can happen especially if -you are zoomed out and placing markers by ear. You can set the check -range via \keys{F5}. The check range (in milliseconds) is the distance -beyond an item edge, fade or crossfade. For example, setting to 0 -would only check for placement \emph{inside }a fade or crossfade. +\emph{Description:} Add source-destination markers ready for making the edit. + +\emph{Notes: }\keys{1} , \keys{2} = destination IN/OUT; \keys{3} , \keys{4} = +Source IN/OUT. In between the destination markers is where the edit will +actually happen. In between the source markers is where the material is taken +from. Use all four markers for 4-point editing. Use any combination of 3 markers +for 3-point editing. Use either 1 source and 1 destination (more useful) or just +the source markers for 2-point editing (less useful). By default, the markers +are added at the edit cursor location. It is very important and useful to note +is that the source marker labels reflect which source group was highlighted when +the markers were placed. In other words, to create source markers at the edit +cursor, first select the item in the chosen folder track and then use the +\keys{3} \& \keys{4} shortcuts. This means that when the actual edit is made +(using \keys{5}) it doesn't matter what is highlighted at the time. Obviously +this is only useful if using a vertical take system approach. Additionally, you +can set the placement of S-D markers at mouse hover position via ReaClassical +Preferences (\keys{F5}). The benefit, other than speed, is that you don't have +to worry about making sure source tracks are selected by clicking on the item - +simply hover over the desired item and add the source markers! + +If you attempt to set one of the destination markers inside of an existing +crossfade or within 500ms of a crossfade or item edge, the function will alert +you (pressing OK places the marker anyway). This helps avoid awkward `sliver' +edits that can happen especially if you are zoomed out and placing markers by +ear. You can set the check range via \keys{F5}. The check range (in +milliseconds) is the distance beyond an item edge, fade or crossfade. For +example, setting to 0 would only check for placement \emph{inside }a fade or +crossfade. \textbf{S-D Edit }\keys{5} \emph{Description:} Make the source-destination edit (2-, 3- and 4-point editing) -\emph{Notes: }Once you have placed your S-D markers press \keys{5} -to make the edit. Whatever the number of markers you used, the edit -will be crossfaded using a short equal power fade (you can change -this in REAPER options under \emph{Media Item Defaults}) and when -using 4 markers, the S-D markers removed ready for the next edit. -The edits are perfectly crossfaded and the user only needs to focus -on the selection of source material. For any S-D edit you can, of -course, undo the action and return to the previous state. The desired -crossfade length is set via ReaClassical Project Preferences \keys{F5} -. Note that this function can be used in multi-tab S-D editing mode -(see below). +\emph{Notes: }Once you have placed your S-D markers press \keys{5} to make the +edit. Whatever the number of markers you used, the edit will be crossfaded using +a short equal power fade (you can change this in REAPER options under +\emph{Media Item Defaults}) and when using 4 markers, the S-D markers removed +ready for the next edit. The edits are perfectly crossfaded and the user only +needs to focus on the selection of source material. For any S-D edit you can, of +course, undo the action and return to the previous state. The desired crossfade +length is set via ReaClassical Project Preferences \keys{F5} . Note that this +function can be used in multi-tab S-D editing mode (see below). \textbf{3-point `Assembly Line' Edit }\keys{F3} -\emph{Description:} Uses both source markers and destination-IN marker -to compile edits from start to finish. +\emph{Description:} Uses both source markers and destination-IN marker to +compile edits from start to finish. -\emph{Notes: }The destination-IN marker is retained and placed at -the end of the edit so that for subsequent operations the user only -has to set the source markers. Worth repeating from the S-D edit notes: +\emph{Notes: }The destination-IN marker is retained and placed at the end of the +edit so that for subsequent operations the user only has to set the source +markers. Worth repeating from the S-D edit notes: \begin{quote} -\emph{\dots the source marker labels reflect which source group was -highlighted when the markers were placed. In other words, to create -source markers, first select the item in the chosen folder track and -then use the }\keys{3}\emph{ \& }\keys{4}\emph{ shortcuts. This -means that when the actual edit is made (using }\keys{5} \emph{) -it doesn't matter what is highlighted at the time.} +\emph{\dots the source marker labels reflect which source group was highlighted +when the markers were placed. In other words, to create source markers, first +select the item in the chosen folder track and then use the }\keys{3}\emph{ \& +}\keys{4}\emph{ shortcuts. This means that when the actual edit is made (using +}\keys{5} \emph{) it doesn't matter what is highlighted at the time.} \end{quote} -If you accidentally move the location of the destination IN marker -in the middle of assembly line editing, the function will let you -know and offer to move the marker back to the right edge of the latest -item in the edit. This will even allow you to do some regular 3- or -4-point editing earlier in the sequence before continuing with the -assembly line edits. Just place the destination IN marker anywhere -in the project and answer `No' when the message box appears. Note -that this function can also be used in multi-tab S-D editing mode -(see below). +If you accidentally move the location of the destination IN marker in the middle +of assembly line editing, the function will let you know and offer to move the +marker back to the right edge of the latest item in the edit. This will even +allow you to do some regular 3- or 4-point editing earlier in the sequence +before continuing with the assembly line edits. Just place the destination IN +marker anywhere in the project and answer `No' when the message box appears. +Note that this function can also be used in multi-tab S-D editing mode (see +below). \textbf{Insert with }\textbf{Timestretching}\textbf{ }\keys{F4} -\emph{Description: }Makes the source material fit the the space in -between the destination markers using time-stretching vs rippling -later material. +\emph{Description: }Makes the source material fit the the space in between the +destination markers using time-stretching vs rippling later material. -\emph{Notes:} Requires placing all four S-D markers. This is less -useful for classical music editing but perhaps very useful for video -work where replacement material has to fit exactly into the time used -by the original. Crossfade length is set via ReaClassical Project -Preferences \keys{F5} . Note that this function can also be used -in multi-tab S-D editing mode (see below). +\emph{Notes:} Requires placing all four S-D markers. This is less useful for +classical music editing but perhaps very useful for video work where replacement +material has to fit exactly into the time used by the original. Crossfade length +is set via ReaClassical Project Preferences \keys{F5} . Note that this function +can also be used in multi-tab S-D editing mode (see below). \textbf{Delete with Ripple }\keys{\backspace} -\emph{Description: }Deletes material between the source markers, rippling -all later material. +\emph{Description: }Deletes material between the source markers, rippling all +later material. -\emph{Notes:} This only affects the folder group that was highlighted -when the source markers were placed which will almost always be the -destination group (the top folder in the project). Crossfade length -is set via ReaClassical Project Preferences \keys{F5} . +\emph{Notes:} This only affects the folder group that was highlighted when the +source markers were placed which will almost always be the destination group +(the top folder in the project). Crossfade length is set via ReaClassical +Project Preferences \keys{F5} . \textbf{Delete Leaving Silence }\keys{\ctrl+\backspace} -\emph{Description:} Deletes material between the source markers, no -rippling of later material. +\emph{Description:} Deletes material between the source markers, no rippling of +later material. -\emph{Notes: }This is similar to \emph{Delete with Ripple} but instead -leaves a gap where the original source material existed. +\emph{Notes: }This is similar to \emph{Delete with Ripple} but instead leaves a +gap where the original source material existed. \textbf{Add Source Project Marker }\keys{\ctrl+\Alt+3} or \keys{\ctrl+\Alt+4} \emph{Description:} Enables multi-tab editing -\emph{Notes: }To work in multi-tab S-D edit mode, the user is required -to use the S-D project markers as a pair, one in the `destination' -tab and the other in the `source' tab. In multi-tab S-D edit mode, -any source makers placed by the user are not deleted in order to aid -a quick undo in the destination tab ready to reapply a tweaked edit. +\emph{Notes: }To work in multi-tab S-D edit mode, the user is required to use +the S-D project markers as a pair, one in the `destination' tab and the other in +the `source' tab. In multi-tab S-D edit mode, any source makers placed by the +user are not deleted in order to aid a quick undo in the destination tab ready +to reapply a tweaked edit. -\textbf{Add Destination Project Marker }\keys{\ctrl+\Alt+1} or \keys{\ctrl+\Alt+2} +\textbf{Add Destination Project Marker }\keys{\ctrl+\Alt+1} or +\keys{\ctrl+\Alt+2} \emph{Description:} Enables multi-tab editing -\emph{Notes: }To work in multi-tab S-D edit mode, the user is required -to use the S-D project markers as a pair, one in the `destination' -tab and the other in the `source' tab. In multi-tab S-D edit mode, -any source makers placed by the user are not deleted in order to aid -a quick undo in the destination tab ready to reapply a tweaked edit. +\emph{Notes: }To work in multi-tab S-D edit mode, the user is required to use +the S-D project markers as a pair, one in the `destination' tab and the other in +the `source' tab. In multi-tab S-D edit mode, any source makers placed by the +user are not deleted in order to aid a quick undo in the destination tab ready +to reapply a tweaked edit. \textbf{Delete all S-D Markers }\keys{\ctrl+\del} \emph{Description: }Deletes source and destination markers. -\emph{Notes: }Useful if you want to abandon a S-D edit, however, there's -also no problem leaving the markers for another time given that shortcuts -\keys{1} ,\keys{2} ,\keys{3} and \keys{4} replace any existing -version of the marker. Also when running \emph{Create CD Markers} -function all markers are deleted in any case. +\emph{Notes: }Useful if you want to abandon a S-D edit, however, there's also no +problem leaving the markers for another time given that shortcuts \keys{1} +,\keys{2} ,\keys{3} and \keys{4} replace any existing version of the marker. +Also when running \emph{Create CD Markers} function all markers are deleted in +any case. \textbf{Delete all S-D Project Markers }\keys{\shift+\del} \emph{Description:} Deletes both source and destination project markers -\emph{Notes: }In order to switch back to regular single-tab S-D editing, -it is important to run this command otherwise the S-D edit functions -will continue to attempt to find markers elsewhere. +\emph{Notes: }In order to switch back to regular single-tab S-D editing, it is +important to run this command otherwise the S-D edit functions will continue to +attempt to find markers elsewhere. \textbf{Classical Crossfade Editor }\keys{F} -\emph{Description: }Opens a custom two-line crossfade editor view -for precise finessing of S-D edits. - -\emph{Notes: }To enter the crossfade view, select the right-hand item -of a crossfaded item pair (or hover over the item if `Add S-D Markers -at Mouse Hover' is set to 1 in ReaClassical Preferences \keys{F5}). -The user is then presented with a zoomed-in view of the edit. Red -is always the left item, green the right. For safety reasons, all -items in the first folder before the left red item are locked to avoid -inadvertently messing with an existing fade. Further, ReaClassical -uses a feature similar to `Classical Mode' in Sequoia's fade editor. -Essentially, the user is free to move the left item but on running -Classical Crossfade \keys{X} or exiting using \keys{F} (after, for -example, setting a more complex fade by hand), the red item snaps -back to its original position (all future items are also relatively -shifted), thereby perfectly preserving the previous fade. To immediately -audition, use the A shortcut in one of four areas. Hover the mouse -in either of the blank areas (no media item) in the top left or bottom -right of the view to audition the function from that location to the -mirrored location on the other side of the edit. Note how easy it -is to quickly set an audition length! Or, hover the mouse on the first -item and press \keys{A} to just audition the material into the fade. -Hover and press \keys{A} on the outgoing item to only hear the material -out of the fade. Note that auditioning in the arrange window or in -fade editor mode maintains muted items on the folder track (for example, -in the case of a muted guide track created by Prepare Takes \keys{T} -for mono-channel polywav import. - -To actually finesse the edit, ensure at least one of the crossfaded -items is selected. Then hover your mouse in a blank area (similar -to the above fade editor audition tool process) and press \keys{Z}. -You'll notice that the waves mirror extend to the mouse position to -allow for easy lining up of the material. Place the edit cursor at -an appropriate edit point on the left red item (i.e. just before a -transient) then simply move the right green item to align and then -press \keys{X}. Audition again, \keys{Z} to expand again. You can -quickly move to the previous or next crossfade pair (with all coloring -and locking automatically happening behind the scenes) by pressing -\keys{Q} or \keys{W}. Or, simply press \keys{F} to exit the fade -view (it goes without saying that the original colors of the project -items are restored). - -Note also that while in crossfade editor view, any edits only affect -the destination group. +\emph{Description: }Opens a custom two-line crossfade editor view for precise +finessing of S-D edits. + +\emph{Notes: }To enter the crossfade view, select the right-hand item of a +crossfaded item pair (or hover over the item if `Add S-D Markers at Mouse Hover' +is set to 1 in ReaClassical Preferences \keys{F5}). The user is then presented +with a zoomed-in view of the edit. Red is always the left item, green the right. +For safety reasons, all items in the first folder before the left red item are +locked to avoid inadvertently messing with an existing fade. Further, +ReaClassical uses a feature similar to `Classical Mode' in Sequoia's fade +editor. Essentially, the user is free to move the left item but on running +Classical Crossfade \keys{X} or exiting using \keys{F} (after, for example, +setting a more complex fade by hand), the red item snaps back to its original +position (all future items are also relatively shifted), thereby perfectly +preserving the previous fade. To immediately audition, use the A shortcut in one +of four areas. Hover the mouse in either of the blank areas (no media item) in +the top left or bottom right of the view to audition the function from that +location to the mirrored location on the other side of the edit. Note how easy +it is to quickly set an audition length! Or, hover the mouse on the first item +and press \keys{A} to just audition the material into the fade. Hover and press +\keys{A} on the outgoing item to only hear the material out of the fade. Note +that auditioning in the arrange window or in fade editor mode maintains muted +items on the folder track (for example, in the case of a muted guide track +created by Prepare Takes \keys{T} for mono-channel polywav import. + +To actually finesse the edit, ensure at least one of the crossfaded items is +selected. Then hover your mouse in a blank area (similar to the above fade +editor audition tool process) and press \keys{Z}. You'll notice that the waves +mirror extend to the mouse position to allow for easy lining up of the material. +Place the edit cursor at an appropriate edit point on the left red item (i.e. +just before a transient) then simply move the right green item to align and then +press \keys{X}. Audition again, \keys{Z} to expand again. You can quickly move +to the previous or next crossfade pair (with all coloring and locking +automatically happening behind the scenes) by pressing \keys{Q} or \keys{W}. Or, +simply press \keys{F} to exit the fade view (it goes without saying that the +original colors of the project items are restored). + +Note also that while in crossfade editor view, any edits only affect the +destination group. \textbf{Edit Classical Crossfade }\keys{Z} -\emph{Description: }Expand the crossfade for editing while in the -crossfade editor view. +\emph{Description: }Expand the crossfade for editing while in the crossfade +editor view. -\emph{Notes:} This shortcut will only work while in crossfade editor -view. If you attempt to use it in other situations, you will receive -a helpful message. As described above, when either one or both items -are highlighted, hover your mouse in a blank area and press \keys{Z} -. You'll notice that the waveforms are mirror extended to allow for -easy lining up of the material. Simply put the edit cursor just before -a transient on the red item, move the green right item to align, and -then press \keys{X}. +\emph{Notes:} This shortcut will only work while in crossfade editor view. If +you attempt to use it in other situations, you will receive a helpful message. +As described above, when either one or both items are highlighted, hover your +mouse in a blank area and press \keys{Z} . You'll notice that the waveforms are +mirror extended to allow for easy lining up of the material. Simply put the edit +cursor just before a transient on the red item, move the green right item to +align, and then press \keys{X}. \textbf{Classical Crossfade }\keys{X} -\emph{Description: }Create a `classical' crossfade either in regular -project view or crossfade editor mode. +\emph{Description: }Create a `classical' crossfade either in regular project +view or crossfade editor mode. -\emph{Notes: }While in the project view, drag an item (or grouped -items) over another, move the edit cursor where you want the edit -to happen and press \keys{X}. Given the availability of S-D edit -functionality and group razor-editing, this function is less useful -in this context. However, it is essential in the crossfade editor -mode for making the edit. Crossfade length is set via ReaClassical -Project Preferences \keys{F5} . +\emph{Notes: }While in the project view, drag an item (or grouped items) over +another, move the edit cursor where you want the edit to happen and press +\keys{X}. Given the availability of S-D edit functionality and group +razor-editing, this function is less useful in this context. However, it is +essential in the crossfade editor mode for making the edit. Crossfade length is +set via ReaClassical Project Preferences \keys{F5} . \textbf{Mastering Mode }\keys{\ctrl+M} -\emph{Description:} Allows for focused work on the destination group. -Couple with `automation' mode, to add mixer and FX parameter values -as envelope points +\emph{Description:} Allows for focused work on the destination group. Couple +with `automation' mode, to add mixer and FX parameter values as envelope points -\emph{Notes: }Enter `automation' mode via \keys{\ctrl+I}. All the -envelope buttons will turn blue (`latched preview') and you will -see a message box with instructions. You can then use the function -below. Exit `automation' mode again via \keys{\ctrl+I}. The envelope -buttons will then turn green (`read' mode). +\emph{Notes: }Enter `automation' mode via \keys{\ctrl+I}. All the envelope +buttons will turn blue (`latched preview') and you will see a message box with +instructions. You can then use the function below. Exit `automation' mode again +via \keys{\ctrl+I}. The envelope buttons will then turn green (`read' mode). \textbf{Automation Mode }\keys{\ctrl+I} -\emph{Description: }Coupled with `mastering' mode, allows for adding -mixer and FX parameter values as envelope points +\emph{Description: }Coupled with `mastering' mode, allows for adding mixer and +FX parameter values as envelope points -\emph{Notes: }Enter `automation' mode via \keys{\ctrl+I}. All the -envelope buttons will turn blue (`latched preview') and you will -see a message box with instructions. You can then use the function -below. Exit `automation' mode again via \keys{\ctrl+I}. The envelope -buttons will then turn green (`read' mode). +\emph{Notes: }Enter `automation' mode via \keys{\ctrl+I}. All the envelope +buttons will turn blue (`latched preview') and you will see a message box with +instructions. You can then use the function below. Exit `automation' mode again +via \keys{\ctrl+I}. The envelope buttons will then turn green (`read' mode). \textbf{Insert Automation }\keys{I} -\emph{Description: }Insert mixer and FX values as envelope points -into automation lanes +\emph{Description: }Insert mixer and FX values as envelope points into +automation lanes -\emph{Notes: }Simply set any desired mixer controls or parameters -in an open FX window) on one or more tracks and press \keys{I} to -enter the values as points on the automation lanes at the edit cursor -position or, if one exists, within the time selection. +\emph{Notes: }Simply set any desired mixer controls or parameters in an open FX +window) on one or more tracks and press \keys{I} to enter the values as points +on the automation lanes at the edit cursor position or, if one exists, within +the time selection. \textbf{Reposition CD Tracks }\keys{\ctrl+Y} \emph{Description: }Create uniform custom spacing between CD tracks. -\emph{Notes: }Using the same system as \emph{Create CD Markers} below, -this function works intelligently based on whether items have a take -name. If the take name is present, the desired silent gap is created. -If not, the crossfade (or gap) is respected by shifting the item by -the same amount as the previous one. +\emph{Notes: }Using the same system as \emph{Create CD Markers} below, this +function works intelligently based on whether items have a take name. If the +take name is present, the desired silent gap is created. If not, the crossfade +(or gap) is respected by shifting the item by the same amount as the previous +one. \textbf{Shift CD track one track to the left/right }\keys{\ctrl+\arrowkeyleft} and \keys{\ctrl+\arrowkeyright} \emph{Description: }Shift CD tracks left and right along the timeline. -\emph{Notes: }Select the start of a CD track and use the shortcuts -to rearrange the order of your album. The function treats crossfaded -CD track starts as part of the same group to cover instances where -a movement follows on \emph{attacca }to maintain the correct order. -Then simply run or re-run the \emph{Create CD Markers} function to -create new markers that align with item starts. +\emph{Notes: }Select the start of a CD track and use the shortcuts to rearrange +the order of your album. The function treats crossfaded CD track starts as part +of the same group to cover instances where a movement follows on \emph{attacca +}to maintain the correct order. Then simply run or re-run the \emph{Create CD +Markers} function to create new markers that align with item starts. \textbf{Remove Take Names from Destination Parent }\keys{\ctrl+T} -\emph{Description: }Run after source-destination editing is complete -to remove recorded/imported take names from destination parent items -in preparation for using the Create CD Markers function. +\emph{Description: }Run after source-destination editing is complete to remove +recorded/imported take names from destination parent items in preparation for +using the Create CD Markers function. -\emph{Notes: }At this stage, the only items present in the destination -folder should be those comprising the final album. If working in horizontal -workflow mode up to this point, drag any source material to new group -by first creating an empty duplicate folder via \keys{\textbackslash}. -As mentioned below, add take names only to destination parent items -that are to become CD track starts. +\emph{Notes: }At this stage, the only items present in the destination folder +should be those comprising the final album. If working in horizontal workflow +mode up to this point, drag any source material to new group by first creating +an empty duplicate folder via \keys{\textbackslash}. As mentioned below, add +take names only to destination parent items that are to become CD track starts. \textbf{Create CD Markers }\keys{Y} -\emph{Description: }Auto-generation of CD/DDP markers, UPC/ISRC codes, -and room tone automation, for efficient DDP, bin/cue and individual -file exporting. Checks against Redbook standards and returns warning -messages if there are 1) more than 99 tracks, or 2) There are tracks -shorter than 4 seconds, or 3) the total length of the project is greater -than 79.57 minutes. - -\emph{Notes: }This might be the biggest time-saving function in the -ReaClassical system. It works as follows: 1) Edit gaps between items -until you are happy 2) Add take names only to items that will become -CD track starts 3) Run the function via shortcut \keys{Y} and you -will be asked to enter various information including UPC/ISRC (optional) -and CD metadata. Done! Note that ISRC codes are auto-generated per -track based on the numbers you enter. - -You can add audio to the initial pre-gap (easter egg track) by not -giving the first item (or crossfaded items) a take name. The function -will assume that this is supposed to be hidden and generate the initial -pre-gap length accordingly. All album metadata is placed towards the -end of the album inside a default 7-second silent lead-out (so that -CD players in cars don't immediately cycle back to the first track -without a little breathing room). This value can be changed via the -ReaClassical Project Preferences \keys{F5} . In addition to markers, -regions are also generated for easy exporting of individual tracks. -If you need a countdown into a track, simply add a ! at the start -of the take name (e.g. `!Allegro'). Then after running the function -adjust the position as desired (it defaults to 3 seconds in length -but this can easily be set in ReaClassical Preferences). It is worth -repeating at this point that you should only give names to items that -are track starts. If you skip an item, the function rightly assumes -it is part of the previous track. Note that the markers snap to exact -CD frames and if the media item start is in between CD frames, the -function will always place the marker on the earlier of the two. By -default, the function uses a 200ms offset for placement of the markers -(as in, markers appear 200ms to the left of the media item start) -but, again, this value can be set via ReaClassical Preferences. - -If a room tone track exists in the project, the function will also -generate volume automation to create perfect crossfades with the items -on the first destination track. Slicing and dicing room tone audio -to fill in digital silence is now a thing of the past. Simply add -a long recorded or convolution-generated room tone audio item before -running the function. The ReaClassical way of dealing with room tone -is non-destructive and instant! - -I feel that once you try this CD/DDP marker generation workflow, it -is difficult to ever go back to other ways of working. The key thing -to think about is that the markers and room tone fade-ins and outs -are trivially easy to recreate if you change a gap between items or -even rearrange the order of tracks. Just run the function again. The -key is the workflow: all marker generation is automatically based -on item positioning and naming. Plus, all metadata and ISRC is saved -into the project file so once entered you don't have to ever type -it in again unless you need to make changes. Room tone volume changes -are made via auto-generated volume envelope points that precisely -map REAPER's built-in fade curves. - -Hopefully you agree that this way of working with CD/DDP layout is -a game-changer, a real time-saver and simply a better way of thinking -about this portion of the mastering process. +\emph{Description: }Auto-generation of CD/DDP markers, UPC/ISRC codes, and room +tone automation, for efficient DDP, bin/cue and individual file exporting. +Checks against Redbook standards and returns warning messages if there are 1) +more than 99 tracks, or 2) There are tracks shorter than 4 seconds, or 3) the +total length of the project is greater than 79.57 minutes. + +\emph{Notes: }This might be the biggest time-saving function in the ReaClassical +system. It works as follows: 1) Edit gaps between items until you are happy 2) +Add take names only to items that will become CD track starts 3) Run the +function via shortcut \keys{Y} and you will be asked to enter various +information including UPC/ISRC (optional) and CD metadata. Done! Note that ISRC +codes are auto-generated per track based on the numbers you enter. + +You can add audio to the initial pre-gap (easter egg track) by not giving the +first item (or crossfaded items) a take name. The function will assume that this +is supposed to be hidden and generate the initial pre-gap length accordingly. +All album metadata is placed towards the end of the album inside a default +7-second silent lead-out (so that CD players in cars don't immediately cycle +back to the first track without a little breathing room). This value can be +changed via the ReaClassical Project Preferences \keys{F5} . In addition to +markers, regions are also generated for easy exporting of individual tracks. If +you need a countdown into a track, simply add a ! at the start of the take name +(e.g. `!Allegro'). Then after running the function adjust the position as +desired (it defaults to 3 seconds in length but this can easily be set in +ReaClassical Preferences). It is worth repeating at this point that you should +only give names to items that are track starts. If you skip an item, the +function rightly assumes it is part of the previous track. Note that the markers +snap to exact CD frames and if the media item start is in between CD frames, the +function will always place the marker on the earlier of the two. By default, the +function uses a 200ms offset for placement of the markers (as in, markers appear +200ms to the left of the media item start) but, again, this value can be set via +ReaClassical Preferences. + +If a room tone track exists in the project, the function will also generate +volume automation to create perfect crossfades with the items on the first +destination track. Slicing and dicing room tone audio to fill in digital silence +is now a thing of the past. Simply add a long recorded or convolution-generated +room tone audio item before running the function. The ReaClassical way of +dealing with room tone is non-destructive and instant! + +I feel that once you try this CD/DDP marker generation workflow, it is difficult +to ever go back to other ways of working. The key thing to think about is that +the markers and room tone fade-ins and outs are trivially easy to recreate if +you change a gap between items or even rearrange the order of tracks. Just run +the function again. The key is the workflow: all marker generation is +automatically based on item positioning and naming. Plus, all metadata and ISRC +is saved into the project file so once entered you don't have to ever type it in +again unless you need to make changes. Room tone volume changes are made via +auto-generated volume envelope points that precisely map REAPER's built-in fade +curves. + +Hopefully you agree that this way of working with CD/DDP layout is a +game-changer, a real time-saver and simply a better way of thinking about this +portion of the mastering process. \textbf{Markers to CUE }\keys{C} -\emph{Description: }Once you have used the \emph{Create CD Markers -}function, it is now extremely easy to generate a CUE file and album -reports using partly auto-generated metadata. - -\emph{Notes: }The genre defaults to classical, the year listed is -the current year and the filename is based on the project name. Simply -fill in the remaining details and press OK. Depending on the extension -you choose, the CUE file will add the correct format to the accordingly. -The CUE file (matching the given filename) is generated in the root -of the project path along with an album report suitable for including -when sending off to a CD factory or client. Any data entered is stored -and recalled the next time you use the function. Before or after using -the function, generate a whole project render in WAV, MP3, AIFF or -FLAC using the included render preset. Then drag the CUE file into -the same folder. +\emph{Description: }Once you have used the \emph{Create CD Markers }function, it +is now extremely easy to generate a CUE file and album reports using partly +auto-generated metadata. + +\emph{Notes: }The genre defaults to classical, the year listed is the current +year and the filename is based on the project name. Simply fill in the remaining +details and press OK. Depending on the extension you choose, the CUE file will +add the correct format to the accordingly. The CUE file (matching the given +filename) is generated in the root of the project path along with an album +report suitable for including when sending off to a CD factory or client. Any +data entered is stored and recalled the next time you use the function. Before +or after using the function, generate a whole project render in WAV, MP3, AIFF +or FLAC using the included render preset. Then drag the CUE file into the same +folder. \textbf{Lock Toggle (deprecated)} -\emph{Description: }Lock every source group (leaving the destination -group free for editing in ripple-all mode) +\emph{Description: }Lock every source group (leaving the destination group free +for editing in ripple-all mode) -\emph{Notes:} This function is now deprecated but I will leave in -place for now. It was useful before the new \emph{Create CD Markers} -function came into being as a way to engage ripple-all mode without -disturbing source group items, thereby allowing moving of destination -material along with CD markers in the final stages of the mastering -process. There is no doubt that I much prefer working with the newer -function. The lock toggle icon on the custom toolbar has now been -replaced by a mug to represent the \emph{Create CD Markers} action.\pagebreak{} +\emph{Notes:} This function is now deprecated but I will leave in place for now. +It was useful before the new \emph{Create CD Markers} function came into being +as a way to engage ripple-all mode without disturbing source group items, +thereby allowing moving of destination material along with CD markers in the +final stages of the mastering process. There is no doubt that I much prefer +working with the newer function. The lock toggle icon on the custom toolbar has +now been replaced by a mug to represent the \emph{Create CD Markers} +action.\pagebreak{} \section{Shortcuts} @@ -2665,24 +2496,24 @@ \section{Shortcuts} \item [{\keys{End}}] Project End \item [{\keys{`}}] Whole Project View (Horizontal) \item [{\keys{\ctrl+`}}] Whole Project View (Vertical) -\item [{\keys{\return}}] Find Take (based on number found at the end of -a filename and optional session name) +\item [{\keys{\return}}] Find Take (based on number found at the end of a +filename and optional session name) \item [{\keys{\tab}}] Jump to Time (within selected item(s) or project) \item [{\keys{\ctrl+\arrowkeyup}}] Increase peaks display zoom for project \item [{\keys{\ctrl+\arrowkeydown}}] Decrease peaks display zoom for project \item [{\keys{Q}}] Previous Item edge / previous crossfade (when in crossfade editor view) -\item [{\keys{W}}] Next Item edge / next crossfade (when in crossfade -editor view) +\item [{\keys{W}}] Next Item edge / next crossfade (when in crossfade editor +view) \item [{\keys{,}}] Previous Marker \item [{\keys{.}}] Next Marker \end{lyxlist} \textbf{Folder \& Source Group Preparation} \begin{lyxlist}{00.00.0000} -\item [{\keys{F7}}] Create/Sync Horizontal Workflow (prompts for number -of tracks) / Re-build routing etc -\item [{\keys{F8}}] Create/Sync Vertical Workflow (from scratch or from -single existing folder) / Re-build routing etc +\item [{\keys{F7}}] Create/Sync Horizontal Workflow (prompts for number of +tracks) / Re-build routing etc +\item [{\keys{F8}}] Create/Sync Vertical Workflow (from scratch or from single +existing folder) / Re-build routing etc \item [{\keys{F10}}] Explode multi-channel items (polywavs) \item [{\keys{\textbackslash}}] Duplicate Folder (no items) \item [{\keys{\shift+T}}] Add Track To All Groups @@ -2695,8 +2526,8 @@ \section{Shortcuts} \item [{\keys{\ctrl+F9}}] Auto set recording inputs based on track names \item [{\keys{F9}}] Classical Take Record \item [{\keys{\ctrl+space}}] Record-pause -\item [{\keys{\shift+F9}}] Increment take number while recording (use -only during silence) +\item [{\keys{\shift+F9}}] Increment take number while recording (use only +during silence) \item [{\keys{\ctrl+=}}] Rank take higher \item [{\keys{\ctrl+-}}] Rank take lower \item [{\keys{\ctrl+0}}] Remove any take ranking @@ -2710,12 +2541,12 @@ \section{Shortcuts} \begin{lyxlist}{00.00.0000} \item [{\keys{A}}] Audition (full mix or child track) at mouse position (includes any unmuted @ aux or \# submix connections) -\item [{\keys{\shift+A}}] Audition with custom playback rate (value set -via \keys{F5}) -\item [{\keys{D}}] Display child tracks (plus display automation lanes -in `mastering' mode) -\item [{\keys{E}}] Ensconce (hide) child tracks (plus hide automation -lanes in `mastering' mode) +\item [{\keys{\shift+A}}] Audition with custom playback rate (value set via +\keys{F5}) +\item [{\keys{D}}] Display child tracks (plus display automation lanes in +`mastering' mode) +\item [{\keys{E}}] Ensconce (hide) child tracks (plus hide automation lanes in +`mastering' mode) \item [{\keys{S}}] Split item \item [{\keys{J}}] Join (glue) item \item [{\keys{G}}] Group items @@ -2738,14 +2569,13 @@ \section{Shortcuts} \item [{\keys{\backspace}}] Delete with ripple (between 2 source markers) \item [{\keys{\ctrl+\backspace}}] Delete Leaving Silence (between 2 source markers) -\item [{\keys{\ctrl+\Alt+1}}] Add Destination Project Marker (multi-tab -S-D editing) -\item [{\keys{\ctrl+\Alt+3}}] Add Source Project Marker (multi-tab S-D +\item [{\keys{\ctrl+\Alt+1}}] Add Destination Project Marker (multi-tab S-D editing) -\item [{\keys{ctrl+F12}}] Add Destination Markers to edges of selected -item(s) or time selection (time selection takes precedence) -\item [{\keys{F12}}] Add Source Markers to edges of selected item(s) or -time selection (time selection takes precedence) +\item [{\keys{\ctrl+\Alt+3}}] Add Source Project Marker (multi-tab S-D editing) +\item [{\keys{ctrl+F12}}] Add Destination Markers to edges of selected item(s) +or time selection (time selection takes precedence) +\item [{\keys{F12}}] Add Source Markers to edges of selected item(s) or time +selection (time selection takes precedence) \item [{\keys{\ctrl+1}}] Move to Destination IN marker \item [{\keys{\ctrl+2}}] Move to Destination OUT marker \item [{\keys{\ctrl+3}}] Move to Source IN marker @@ -2761,27 +2591,25 @@ \section{Shortcuts} \begin{lyxlist}{00.00.0000} \item [{\keys{\ctrl+M}}] Enter Mastering Mode \item [{\keys{\ctrl+I}}] Enter Automation Mode -\item [{\keys{I}}] Insert Automation (mixer controls and FX parameters -to envelope points) +\item [{\keys{I}}] Insert Automation (mixer controls and FX parameters to +envelope points) \item [{\keys{Y}}] Automatically generate a DDP set from items \item [{\keys{\ctrl+Y}}] Reposition CD tracks \item [{\keys{\ctrl+\arrowkeyleft}}] Shift CD track one track to the left -\item [{\keys{\ctrl+\arrowkeyright}}] Shift CD track one track to the -right +\item [{\keys{\ctrl+\arrowkeyright}}] Shift CD track one track to the right \item [{\keys{M}}] Add Marker \item [{\keys{N}}] Open/Close SWS Notes \item [{\keys{L}}] Marker List (SWS) \item [{\keys{;}}] Regions from items (SWS) \item [{\keys{:}}] Region from selection \item [{\keys{/}}] Selection to item(s) -\item [{\keys{C}}] Generate CUE file and album reports from project CD -markers +\item [{\keys{C}}] Generate CUE file and album reports from project CD markers \item [{\keys{R}}] Render \end{lyxlist} \textbf{Miscellaneous } \begin{lyxlist}{00.00.0000} -\item [{\keys{F5}}] ReaClassical Preferences (set crossfade length, CD -track offset, INDEX0 pre-gap length, Album lead-out time) +\item [{\keys{F5}}] ReaClassical Preferences (set crossfade length, CD track +offset, INDEX0 pre-gap length, Album lead-out time) \item [{\keys{F6}}] Open/Close ReaClassical custom toolbar \item [{\keys{H}}] Open ReaClassical help system (currently the PDF manual) \item [{\keys{\shift+H}}] Open ReaClassical audio calculator @@ -2795,78 +2623,80 @@ \section{Shortcuts} \section{Recommended Free Mastering-Grade Plugins} -First stop: \emph{Reaplugs}, with particular mention of \emph{ReaLimit} -which I consider one of the best free transparent limiter available. -You could easily mix and master a whole album using only these fine -plugins. Others include: +First stop: \emph{Reaplugs}, with particular mention of \emph{ReaLimit} which I +consider one of the best free transparent limiter available. You could easily +mix and master a whole album using only these fine plugins. Others include: EQ: \begin{itemize} -\item \textbf{RCChannelEQ} (ReaClassical Channel EQ, included in the ReaClassical -portable install and available in ReaPack via my \href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{repository}). +\item \textbf{RCChannelEQ} (ReaClassical Channel EQ, included in the +ReaClassical portable install and available in ReaPack via my +\href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{repository}). Uses DSP from airwindows `Baxandall' and Stillwell's RBJ Highpass/Lowpass Filters for broad-strokes EQing. \item \textbf{RCMasteringEQ} (ReaClassical Mastering EQ, included in the -ReaClassical portable install and available in ReaPack via my \href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{repository}). -Uses DSP from airwindows `Hull2' with added `Range' drop-down -(`Classical' or `Full') for transparent, musical, broad-strokes -EQing. -\item \textbf{ReEQ }\href{https://forum.cockos.com/showthread.php?t=213501}{https://forum.cockos.com/showthread.php?t=213501}. -An amazing Fabfilter Pro-Q clone for detailed EQ work. Also comes -with ReSpectrum which is an excellent analyzer. Both are included -with the ReaClassical install. +ReaClassical portable install and available in ReaPack via my +\href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{repository}). +Uses DSP from airwindows `Hull2' with added `Range' drop-down (`Classical' or +`Full') for transparent, musical, broad-strokes EQing. +\item \textbf{ReEQ +}\href{https://forum.cockos.com/showthread.php?t=213501}{https://forum.cockos.com/showthread.php?t=213501}. +An amazing Fabfilter Pro-Q clone for detailed EQ work. Also comes with +ReSpectrum which is an excellent analyzer. Both are included with the +ReaClassical install. \end{itemize} Compression: \begin{itemize} -\item \textbf{RCCompressor} (ReaClassical compressor, included in the ReaClassical -portable install and available in my repository). Uses DSP from Express -Bus Compressor by Stillwell. Default settings and ranges tuned to +\item \textbf{RCCompressor} (ReaClassical compressor, included in the +ReaClassical portable install and available in my repository). Uses DSP from +Express Bus Compressor by Stillwell. Default settings and ranges tuned to classical music with auto release. Use as an insert. -\item \textbf{RCParallelK} (ReaClassical parallel `Katz' compressor, included -in the ReaClassical portable install and available in my repository). -Also uses DSP from Express Bus Compressor by Stillwell to recreate -the Bob Katz `transparent' parallel compression settings. There's -only a make-up gain slider as everything else is baked in (-50dB threshold, -2.5:1 ratio, 1ms attack, peak detection mode). Use on a dedicated -compressor bus and adjust the gain slider to taste (with the compressor -signal somewhere between -15dB and -5dB lower than dry signal according -to Katz). +\item \textbf{RCParallelK} (ReaClassical parallel `Katz' compressor, included in +the ReaClassical portable install and available in my repository). Also uses DSP +from Express Bus Compressor by Stillwell to recreate the Bob Katz `transparent' +parallel compression settings. There's only a make-up gain slider as everything +else is baked in (-50dB threshold, 2.5:1 ratio, 1ms attack, peak detection +mode). Use on a dedicated compressor bus and adjust the gain slider to taste +(with the compressor signal somewhere between -15dB and -5dB lower than dry +signal according to Katz). \end{itemize} Limiter: \begin{itemize} \item \textbf{RCLimiter} (ReaClassical limiter, included in the ReaClassical -portable install and available in my repository). Uses DSP from Smooth -Limiter by Geraint Luff to which I added 4x oversampling code. Defaults -are tuned to classical music with true-peak and look-ahead functionality. -Adjust the release to taste. +portable install and available in my repository). Uses DSP from Smooth Limiter +by Geraint Luff to which I added 4x oversampling code. Defaults are tuned to +classical music with true-peak and look-ahead functionality. Adjust the release +to taste. \end{itemize} Reverb: \begin{itemize} -\item \textbf{Convolution:} Convology XT (also runs perfectly at time of -writing via yabridge on Linux) coupled with the Samplicity \href{https://samplicity.com/bricasti-m7-impulse-response-files/}{Bricasti M7 impulses}. -There are other free convolution plugins to use but, whatever the -plugin choice, the Bricasti impulses in true stereo are fantastic -and sound almost identical to the presets of the well-regarded Liquidsonics -Seventh Heaven Professional. -\item \textbf{Algorithmic:} For free and open source options try my \href{https://github.com/chmaha/RCverb/releases}{RCVerb} -or \href{https://github.com/chmaha/Enover/releases/tag/v0.9}{Enover} -which uses zita-rev1 DSP. For paid options, ValhallaDSP Room and Vintage -Verb, Fabfilter Pro-R, Voxengo Sobor, Acon Digital Verberate 2 and -Sonible smart:reverb are all excellent non-iLok options for classical -music and work seamlessly via yabridge on Linux. Note that the Liquidsonics -offerings no longer require a physical iLok so can also be used on -Linux via yabridge and iLok Cloud activation if you are feeling brave. +\item \textbf{Convolution:} Convology XT (also runs perfectly at time of writing +via yabridge on Linux) coupled with the Samplicity +\href{https://samplicity.com/bricasti-m7-impulse-response-files/}{Bricasti M7 +impulses}. There are other free convolution plugins to use but, whatever the +plugin choice, the Bricasti impulses in true stereo are fantastic and sound +almost identical to the presets of the well-regarded Liquidsonics Seventh Heaven +Professional. +\item \textbf{Algorithmic:} For free and open source options try my +\href{https://github.com/chmaha/RCverb/releases}{RCVerb} or +\href{https://github.com/chmaha/Enover/releases/tag/v0.9}{Enover} which uses +zita-rev1 DSP. For paid options, ValhallaDSP Room and Vintage Verb, Fabfilter +Pro-R, Voxengo Sobor, Acon Digital Verberate 2 and Sonible smart:reverb are all +excellent non-iLok options for classical music and work seamlessly via yabridge +on Linux. Note that the Liquidsonics offerings no longer require a physical iLok +so can also be used on Linux via yabridge and iLok Cloud activation if you are +feeling brave. \end{itemize} Final mastering magic: \begin{itemize} \item \textbf{`Sonnox Inflator'-style wave-shaping:} Try \textbf{RCInflator -Ultimate} (a clone of the Sonnox product) or \textbf{MagicFairyDust} -on the final stereo bus. Both effects are included in the ReaClassical -portable install. +Ultimate} (a clone of the Sonnox product) or \textbf{MagicFairyDust} on the +final stereo bus. Both effects are included in the ReaClassical portable +install. \item Or, for an easy complete console vibe, use the \textbf{RCConsoleChannel}, -\textbf{RCConsoleBus}, and \textbf{RCConsoleFinalizer} at the end -of regular tracks, busses and final 2-bus respectively. Note that -RCConsoleChannel does not have any controls. +\textbf{RCConsoleBus}, and \textbf{RCConsoleFinalizer} at the end of regular +tracks, busses and final 2-bus respectively. Note that RCConsoleChannel does not +have any controls. \end{itemize} \begin{figure} \begin{centering} @@ -2878,94 +2708,99 @@ \section{Recommended Free Mastering-Grade Plugins} Restoration: \begin{itemize} -\item \textbf{Bertom Denoiser} \textbf{Classic} \href{https://www.bertomaudio.com/}{https://www.bertomaudio.com/}. -\textbf{Denoiser Pro} (\$25) allows for individual per-band thresholds -and includes an adaptive mode. +\item \textbf{Bertom Denoiser} \textbf{Classic} +\href{https://www.bertomaudio.com/}{https://www.bertomaudio.com/}. +\textbf{Denoiser Pro} (\$25) allows for individual per-band thresholds and +includes an adaptive mode. \item \textbf{RCDeEss Standard }(ReaClassical de-esser, included in the -ReaClassical portable install and available in my repository). Uses -DSP from airwindows DeEss. -\item \textbf{RCDeEss Advanced} (ReaClassical advanced de-esser, included -in the ReaClassical portable install and available in my repository). -Uses DSP from airwindows DeBess. +ReaClassical portable install and available in my repository). Uses DSP from +airwindows DeEss. +\item \textbf{RCDeEss Advanced} (ReaClassical advanced de-esser, included in the +ReaClassical portable install and available in my repository). Uses DSP from +airwindows DeBess. \end{itemize} Utilities: \begin{itemize} \item \textbf{RCGain} (ReaClassical gain plugin, included in the ReaClassical portable install and available in my repository). Uses DSP from airwindows -PurestGain. Useful before or after plugins in lieu of a native channel -trim knob. +PurestGain. Useful before or after plugins in lieu of a native channel trim +knob. \item \textbf{JS Loudness Meter Peak/RMS/LUFS} (Cockos) (included with REAPER). \item \textbf{RCTime\&PhaseTool} (ReaClassical timing and phase tool, included -in the ReaClassical portable install and available in my repository). -Add to a spot microphone channel. Achieves something similar to Merging's -PanNoir to correctly align spot microphone channels with the main -pair based on a fundamental Euclidean geometric relation to create -a more impactful stereo image. -\item \textbf{RCMidSide }(ReaClassical mid-side encoder-decoder, included -in the ReaClassical portable install and available in my repository). -Use the default decoder mode if wanting to convert recorded mid-side -to regular left-right stereo. -\item \textbf{RCDither} (ReaClassical dither plugin, included in the ReaClassical -portable install and available in my repository). Uses DSP from airwindows -Not-Just-Another-Dither (Monitoring version) here called \emph{Avant-garde}. -This just might be the world's finest dither. There's a drop-down -to select between 16-bit and 24-bit. +in the ReaClassical portable install and available in my repository). Add to a +spot microphone channel. Achieves something similar to Merging's PanNoir to +correctly align spot microphone channels with the main pair based on a +fundamental Euclidean geometric relation to create a more impactful stereo +image. +\item \textbf{RCMidSide }(ReaClassical mid-side encoder-decoder, included in the +ReaClassical portable install and available in my repository). Use the default +decoder mode if wanting to convert recorded mid-side to regular left-right +stereo. +\item \textbf{RCDither} (ReaClassical dither plugin, included in the +ReaClassical portable install and available in my repository). Uses DSP from +airwindows Not-Just-Another-Dither (Monitoring version) here called +\emph{Avant-garde}. This just might be the world's finest dither. There's a +drop-down to select between 16-bit and 24-bit. \end{itemize} -For descriptions of the other 100+ jsfx airwindows ports (covering -dithers, compressors, console emulations, saturation/distortion, delays, -bass-specific, brightness, hard and soft clippers, reverbs, tape/vinyl -emulations, exciters, stereo wideners, monitoring utilities and more, -please see the \href{https://forum.cockos.com/showthread.php?t=275301}{dedicated REAPER forums thread} -and import the \href{https://github.com/chmaha/airwindows-JSFX-ports/raw/main/index.xml}{airwindows JSFX ports} -repository into ReaPack.\pagebreak{} +For descriptions of the other 100+ jsfx airwindows ports (covering dithers, +compressors, console emulations, saturation/distortion, delays, bass-specific, +brightness, hard and soft clippers, reverbs, tape/vinyl emulations, exciters, +stereo wideners, monitoring utilities and more, please see the +\href{https://forum.cockos.com/showthread.php?t=275301}{dedicated REAPER forums +thread} and import the +\href{https://github.com/chmaha/airwindows-JSFX-ports/raw/main/index.xml}{airwindows +JSFX ports} repository into ReaPack.\pagebreak{} \section{System Tweaks} \subsection{Windows} -For a modern Windows 10/11 setup, required tweaks are minimal. Ensure -that you are using `High Performance' or ideally `Ultimate Performance'. -which, if not available, can be activated by opening a command prompt -and typing: +For a modern Windows 10/11 setup, required tweaks are minimal. Ensure that you +are using `High Performance' or ideally `Ultimate Performance'. which, if not +available, can be activated by opening a command prompt and typing: \begin{lstlisting} powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61 \end{lstlisting} -You can then select it from the usual power plan dialog. For best -device performance, remember to use the ASIO drivers that were included -with your audio interface. Consider disabling your network card during -mission-critical recording. For further tips see Microsoft's \href{https://devblogs.microsoft.com/windows-music-dev/unofficial-windows-10-audio-workstation-build-and-tweak-guide-part-2/}{Unofficial Windows 10 and 11 Audio Workstation build and tweak guide}. -Of particular interest is Part 3 which discusses what \emph{not} to -do (including not setting your processor scheduling to `background -services'). +You can then select it from the usual power plan dialog. For best device +performance, remember to use the ASIO drivers that were included with your audio +interface. Consider disabling your network card during mission-critical +recording. For further tips see Microsoft's +\href{https://devblogs.microsoft.com/windows-music-dev/unofficial-windows-10-audio-workstation-build-and-tweak-guide-part-2/}{Unofficial +Windows 10 and 11 Audio Workstation build and tweak guide}. Of particular +interest is Part 3 which discusses what \emph{not} to do (including not setting +your processor scheduling to `background services'). \subsection{MacOS} -Performance should be excellent out of the box. Remember to disable -energy saving (\menu{System Preferences > Energy Saver}) so that -sessions are not interrupted. Consider disabling your network card -during mission-critical recording. If you are experiencing any audio -issues while in your DAW, for tips see Focusrite's \href{https://support.focusrite.com/hc/en-gb/sections/360004958539-Optimisation}{optimization page}. +Performance should be excellent out of the box. Remember to disable energy +saving (\menu{System Preferences > Energy Saver}) so that sessions are not +interrupted. Consider disabling your network card during mission-critical +recording. If you are experiencing any audio issues while in your DAW, for tips +see Focusrite's +\href{https://support.focusrite.com/hc/en-gb/sections/360004958539-Optimisation}{optimization +page}. \subsection{GNU/Linux} -Debian-based distro users should read my \href{https://github.com/chmaha/DebianProAudio}{Debian Pro Audio Guide}. -Those on Arch-based should visit my \href{https://github.com/chmaha/ArchProAudio}{Arch Pro Audio Guide}. -Performance out of the box on Linux is getting better with every kernel -release and is on par or better than Windows. As a starting point, -ensure that your username is set up for realtime privileges (step -3 in both guides) and that you set several kernel parameters to ensure -you are running the performance governor, threadirqs and dynamic preempt -(step 4). To make things even easier, consider using a dedicated audio/video -distro like AVLinux or Ubuntu Studio where everything is already set -up for you. \emph{Rea}ClassicalOS is also in the pipeline. +Debian-based distro users should read my +\href{https://github.com/chmaha/DebianProAudio}{Debian Pro Audio Guide}. Those +on Arch-based should visit my \href{https://github.com/chmaha/ArchProAudio}{Arch +Pro Audio Guide}. Performance out of the box on Linux is getting better with +every kernel release and is on par or better than Windows. As a starting point, +ensure that your username is set up for realtime privileges (step 3 in both +guides) and that you set several kernel parameters to ensure you are running the +performance governor, threadirqs and dynamic preempt (step 4). To make things +even easier, consider using a dedicated audio/video distro like AVLinux or +Ubuntu Studio where everything is already set up for you. \emph{Rea}ClassicalOS +is also in the pipeline. \subsection{Cross-platform} The good news is that REAPER and ReaClassical run on nine different -architectures. You should always be able to open up a project on another -machine even if it is running a different OS. Plus, ReaClassical includes -various mastering-grade plugins in JSFX format that run on all architectures. +architectures. You should always be able to open up a project on another machine +even if it is running a different OS. Plus, ReaClassical includes various +mastering-grade plugins in JSFX format that run on all architectures. \pagebreak{} @@ -2974,197 +2809,163 @@ \section{Manual Installation \& Tweaks} \noindent (ideally for research only or if you already have a heavily-customized REAPER setup and wish to add all or just parts of ReaClassical) \begin{itemize} -\item \begin{flushleft} -REAPER (obviously) -\par\end{flushleft} -\item \begin{flushleft} -SWS/S\&M Extension -\par\end{flushleft} -\item \begin{flushleft} -ReaPack -\par\end{flushleft} -\item \begin{flushleft} -ReaClassical metapackage (includes ReaClassical default project template, -custom themes and PDF manual) -\par\end{flushleft} -\item \begin{flushleft} -ReaClassical \href{https://github.com/chmaha/ReaClassical/raw/main/Resource\%2520Folders/Resource_Folder_Base.zip}{Resource folder base} -\par\end{flushleft} +\item \begin{flushleft} REAPER (obviously) \par\end{flushleft} +\item \begin{flushleft} SWS/S\&M Extension \par\end{flushleft} +\item \begin{flushleft} ReaPack \par\end{flushleft} +\item \begin{flushleft} ReaClassical metapackage (includes ReaClassical default +project template, custom themes and PDF manual) \par\end{flushleft} +\item \begin{flushleft} ReaClassical +\href{https://github.com/chmaha/ReaClassical/raw/main/Resource\%2520Folders/Resource_Folder_Base.zip}{Resource +folder base} \par\end{flushleft} \end{itemize} -\noindent\begin{flushleft} -So, the first thing is to install \href{https://www.reaper.fm/download.php}{REAPER}. -I'll let you figure that out yourself. Next, install -\href{https://reapack.com/}{ReaPack} into the UserPlugins subfolder -inside the REAPER resource path. Then install SWS/S\&M Extension either -via ReaPack or by downloading the appropriate installer at \href{https://www.sws-extension.org/download/pre-release/}{SWS/S\&M Extension (bleeding edge)}. -Once that's done, start/restart REAPER. You'll -then want to download the following from inside of ReaPack: -\par\end{flushleft} +\noindent\begin{flushleft} So, the first thing is to install +\href{https://www.reaper.fm/download.php}{REAPER}. I'll let you figure that out +yourself. Next, install \href{https://reapack.com/}{ReaPack} into the +UserPlugins subfolder inside the REAPER resource path. Then install SWS/S\&M +Extension either via ReaPack or by downloading the appropriate installer at +\href{https://www.sws-extension.org/download/pre-release/}{SWS/S\&M Extension +(bleeding edge)}. Once that's done, start/restart REAPER. You'll then want to +download the following from inside of ReaPack: \par\end{flushleft} \begin{itemize} -\item \begin{flushleft} -ReaClassical\\ -(by importing my \href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{index.xml} -into ReaPack then searching for `ReaClassical') -\par\end{flushleft} -\item Various ReaClassical JSFX plugins (after importing my repository, -search ReaPack for `RCPlugs') +\item \begin{flushleft} ReaClassical\\ +(by importing my +\href{https://github.com/chmaha/ReaClassical/raw/main/index.xml}{index.xml} into +ReaPack then searching for `ReaClassical') \par\end{flushleft} +\item Various ReaClassical JSFX plugins (after importing my repository, search +ReaPack for `RCPlugs') \end{itemize} \noindent Now, extract the contents of the resource folder base somewhere -outside of your REAPER install. You need to import one of the key -map files from the KeyMap folder (Use `ReaClassical' for a partial -keymap covering the functions or `Full\_Classical\_DAW' for the -complete experience!). It's worth stating here in the -main text my warning about backing up your own REAPER configuration -before importing mine in case you want to get back to where you were. +outside of your REAPER install. You need to import one of the key map files from +the KeyMap folder (Use `ReaClassical' for a partial keymap covering the +functions or `Full\_Classical\_DAW' for the complete experience!). It's worth +stating here in the main text my warning about backing up your own REAPER +configuration before importing mine in case you want to get back to where you +were. \subsection{ReaClassical Custom Toolbar} -\noindent In order to install the toolbar, copy ReaClassical.ReaperMenu -from MenuSets to the same folder inside your REAPER resource path. -Next copy the icons from Data/toolbar\_icons to the same folder inside -your REAPER install. -\noindent\begin{flushleft} -In REAPER, right-click on an empty part of the main toolbar and select -toolbar 1 (either open or float it). Select Import/Export in the top -right corner and select the ReaClassical.ReaperMenu file. You should -then see menu items and associated icons! -\par\end{flushleft} +\noindent In order to install the toolbar, copy ReaClassical.ReaperMenu from +MenuSets to the same folder inside your REAPER resource path. Next copy the +icons from Data/toolbar\_icons to the same folder inside your REAPER install. +\noindent\begin{flushleft} In REAPER, right-click on an empty part of the main +toolbar and select toolbar 1 (either open or float it). Select Import/Export in +the top right corner and select the ReaClassical.ReaperMenu file. You should +then see menu items and associated icons! \par\end{flushleft} \subsection{Things to do after installing } \subsubsection{Main arrange window } \begin{itemize} -\item \begin{flushleft} -\textsc{Uncheck} Auto-crossfade, grid lines (optional), snap\footnote{We will prepare some snap settings later for adding CD markers but +\item \begin{flushleft} \textsc{Uncheck} Auto-crossfade, grid lines (optional), +snap\footnote{We will prepare some snap settings later for adding CD markers but for now we don't want dragging etc to be constrained.} buttons \par\end{flushleft} -\item \begin{flushleft} -\textsc{Check} Ripple editing per-track (as opposed to ripple edit all -tracks), Item edit grouping, move envelope points with media items. -See figure \ref{Ripple-editing-per-track} -\par\end{flushleft} +\item \begin{flushleft} \textsc{Check} Ripple editing per-track (as opposed to +ripple edit all tracks), Item edit grouping, move envelope points with media +items. See figure \ref{Ripple-editing-per-track} \par\end{flushleft} \end{itemize} \begin{figure} \begin{centering} \includegraphics[scale=0.75]{user_guide_images/reaper_default_toolbar} \par\end{centering} -\centering{}\caption{\label{Ripple-editing-per-track}\textquotedblleft Ripple editing -per-track\textquotedblright , \textquotedblleft Item edit grouping\textquotedblright{} -and \textquotedblleft move envelope points with media items\textquotedblright{} -engaged...} +\centering{}\caption{\label{Ripple-editing-per-track}\textquotedblleft Ripple +editing per-track\textquotedblright , \textquotedblleft Item edit +grouping\textquotedblright{} and \textquotedblleft move envelope points with +media items\textquotedblright{} engaged...} \end{figure} \subsubsection{Preferences } -\noindent\begin{flushleft} -Some of these options are essential for the functions to work as expected. -Others are just recommended. -\par\end{flushleft} +\noindent\begin{flushleft} Some of these options are essential for the functions +to work as expected. Others are just recommended. \par\end{flushleft} \subparagraph{Project > Item Fade Defaults } \begin{itemize} -\item \begin{flushleft} -\textsc{Enable} Create automatic fade-in/fade-out for new items, length: -0:00.010 -\par\end{flushleft} -\item \begin{flushleft} -\textsc{Enable} Overlap and crossfade items when splitting, length: -0:00.010 -\par\end{flushleft} -\item \begin{flushleft} -\textsc{Enable} Overlap and crossfade media when finalizing razor edits -\par\end{flushleft} +\item \begin{flushleft} \textsc{Enable} Create automatic fade-in/fade-out for +new items, length: 0:00.010 \par\end{flushleft} +\item \begin{flushleft} \textsc{Enable} Overlap and crossfade items when +splitting, length: 0:00.010 \par\end{flushleft} +\item \begin{flushleft} \textsc{Enable} Overlap and crossfade media when +finalizing razor edits \par\end{flushleft} \end{itemize} \subparagraph{Appearance > Peaks/Waveforms } \begin{itemize} -\item \begin{flushleft} -\textsc{Uncheck} Draw faint peaks in folder tracks +\item \begin{flushleft} \textsc{Uncheck} Draw faint peaks in folder tracks \par\end{flushleft} \end{itemize} \subparagraph{Appearance > Fades/Crossfades } \begin{itemize} -\item \begin{flushleft} -\textsc{Enable} When editing crossfades with the mouse, use crossfade -editor theme colors -\par\end{flushleft} +\item \begin{flushleft} \textsc{Enable} When editing crossfades with the mouse, +use crossfade editor theme colors \par\end{flushleft} \end{itemize} \subparagraph{Appearance > Track Control Panels} \begin{itemize} -\item \begin{flushleft} -\textsc{Ensure} Folder collapse button cycles track heights is set to -`Normal, small, collapsed`. -\par\end{flushleft} +\item \begin{flushleft} \textsc{Ensure} Folder collapse button cycles track +heights is set to `Normal, small, collapsed`. \par\end{flushleft} \end{itemize} \subparagraph{Appearance > Zoom/Scroll/Offset} \begin{itemize} -\item \begin{flushleft} -\textsc{Change} Offset by\dots percent of item height to 100\footnote{In REAPER versions prior to 6.54, these options don't exist. Instead, -under \emph{Appearances}, you need to change \emph{Maximum number -of lanes, when showing overlapping items} to 2} -\par\end{flushleft} +\item \begin{flushleft} \textsc{Change} Offset by\dots percent of item height to +100\footnote{In REAPER versions prior to 6.54, these options don't exist. +Instead, under \emph{Appearances}, you need to change \emph{Maximum number of +lanes, when showing overlapping items} to 2} \par\end{flushleft} \item \textsc{Check} Draw as opaque \end{itemize} \subparagraph{Editing Behavior} \begin{itemize} \item \textsc{Set }Locked item ripple editing behavior to `Locked items are -unaffected by ripple'\footnote{Technically not necessary as it is now checked and set at the start -of ripple-capable functions.} +unaffected by ripple'\footnote{Technically not necessary as it is now checked +and set at the start of ripple-capable functions.} \end{itemize} \subparagraph{Editing Behavior > Mouse Modifiers} \begin{itemize} -\item \textsc{Change }Razor edit area left drag default to `Move areas, disabling -ripple edit' +\item \textsc{Change }Razor edit area left drag default to `Move areas, +disabling ripple edit' \end{itemize} \subsubsection{Project Settings } \begin{itemize} -\item \begin{flushleft} -\textsc{Change} Video > Frame rate to 75\footnote{The number of frames per second for red-book CDs.} -\par\end{flushleft} -\item \begin{flushleft} -\textsc{Change} Render resample mode to r8brain free (highest quality, -fast) -\par\end{flushleft} +\item \begin{flushleft} \textsc{Change} Video > Frame rate to 75\footnote{The +number of frames per second for red-book CDs.} \par\end{flushleft} +\item \begin{flushleft} \textsc{Change} Render resample mode to r8brain free +(highest quality, fast) \par\end{flushleft} \end{itemize} \subsubsection{Theme Tweak} \begin{itemize} -\item \begin{flushleft} -Using the ``Theme development: Show theme tweak/configuration window'' -action, search for ``mute'' and change the alpha blend to 0.00. -See figure \ref{Setting-mute-overlay}. -\par\end{flushleft} -\item Set the super-collapsed value to 0 in rtconfig.txt. See figure \ref{fig:Super-collapsed-value-is}. +\item \begin{flushleft} Using the ``Theme development: Show theme +tweak/configuration window'' action, search for ``mute'' and change the alpha +blend to 0.00. See figure \ref{Setting-mute-overlay}. \par\end{flushleft} +\item Set the super-collapsed value to 0 in rtconfig.txt. See figure +\ref{fig:Super-collapsed-value-is}. \end{itemize} \begin{flushleft} \begin{figure} \begin{centering} \includegraphics[width=1\linewidth]{\string"user_guide_images/theme tweak\string".png} -\par\end{centering} -\caption{\label{Setting-mute-overlay}Setting mute overlay mode} +\par\end{centering} \caption{\label{Setting-mute-overlay}Setting mute overlay +mode} \end{figure} \par\end{flushleft} \begin{figure} \begin{centering} \includegraphics[width=1\linewidth]{user_guide_images/super-collapsed} -\par\end{centering} -\caption{\label{fig:Super-collapsed-value-is}Super-collapsed value is set -to 0 in rtconfig.txt} +\par\end{centering} \caption{\label{fig:Super-collapsed-value-is}Super-collapsed +value is set to 0 in rtconfig.txt} \end{figure} -\noindent\begin{flushleft} -At this point it might be a good idea to Save as default project settings -as well as make a classical template (if you didn't download mine) -so that you don't have to do this setup more than once. +\noindent\begin{flushleft} At this point it might be a good idea to Save as +default project settings as well as make a classical template (if you didn't +download mine) so that you don't have to do this setup more than once. \par\end{flushleft} \pagebreak\includepdf{cover-back}