From 145dffd0a95949719cc66ab75a6f715f16350b94 Mon Sep 17 00:00:00 2001 From: asb2m10 Date: Sun, 29 Jun 2014 01:29:34 -0400 Subject: [PATCH] External midi sysex support --- Builds/MacOSX/Dexed.xcodeproj/project.pbxproj | 2 + .../UserInterfaceState.xcuserstate | Bin 113781 -> 114892 bytes Builds/VisualStudio2012/Dexed.vcxproj | 1 + Builds/VisualStudio2012/Dexed.vcxproj.filters | 3 ++ Builds/VisualStudio2013/Dexed.vcxproj | 1 + Builds/VisualStudio2013/Dexed.vcxproj.filters | 3 ++ Dexed.jucer | 1 + README.md | 11 ++--- Source/Dexed.h | 34 +++++++++++++++ Source/ParamDialog.cpp | 32 ++++++++------ Source/ParamDialog.h | 2 + Source/PluginData.cpp | 4 +- Source/PluginEditor.cpp | 9 ++-- Source/PluginParam.cpp | 4 ++ Source/PluginProcessor.cpp | 1 + Source/PluginProcessor.h | 8 ---- Source/SysexComm.cpp | 41 +++++++++++++----- Source/SysexComm.h | 30 ++++++++----- 18 files changed, 134 insertions(+), 53 deletions(-) create mode 100644 Source/Dexed.h diff --git a/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj b/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj index 0403310..c06b953 100644 --- a/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj @@ -100,6 +100,7 @@ 0B2C1056583363B66704DB9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../JuceLibraryCode/modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; 0B338B58E9C37E83F0FD865D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; 0B7725520356AED2C80FC943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BD21CA621B7350EBED18C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dexed.h; path = ../../Source/Dexed.h; sourceTree = "SOURCE_ROOT"; }; 0C0B6B8DAD62A3F5C926825F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../JuceLibraryCode/modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; 0CB234755B75E0DBC2FFB58E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DCC7A5AD5AC5D3637FFAAFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; @@ -906,6 +907,7 @@ 3BE8F91A99E8F48CB9F10C1F, 68D35AFE11BAA35EAE497D47, ); name = msfa; sourceTree = ""; }; 29B923E6EB12F97B68585AFC = {isa = PBXGroup; children = ( + 0BD21CA621B7350EBED18C0A, 45ADFD8885BE76C7F7D999AC, 5C0A1B7E2BF8FCAF5A1E8616, 59D15F780D468B587F9C7E78, diff --git a/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate b/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate index 86539cbcd237702165bc6d6a60b1ce83705a2b90..8891e63f78dc3f2c0457e28c772dffd02edfef96 100644 GIT binary patch literal 114892 zcmdSC2VfIN(?5KBRd$cwPe?ES**l#qx$sc(zVG*igjl-S-_Fj?&dkovtrxYoG{-u#vv*O5 zqA7-ADURYZFU`Dc&hVAdj#zVB>zv_ji940RYamdc{WQRAs>Du>FY3aLrdWGYP6QgzfUYBn{8s;A~s^QigM z0%{=@p`z4cYB?37I;k#dCAEq=nmUd;o;r!zKwVBo-r{t#?CmI493NbU`8^dn9@0RRyMSHDE@B(mX10x8#ja-8 zu$VoLJ)S*{-N>HKp21$lUd>*^ZfCD$uVb%gZ(wg^Z(?s|?_lp_?_(cjA7dY9pJ!iS zUu0ipUt`~9-(f#vKWD#SzhuAV5Jz(i$8sFUa{{O1M9#sbb51UUb8&9Y!)0-e&l}V{^I`T5l{0R&+{TL@oBt?H}iHrgLm;m_@VqT{xE(lU&t5n#e4}rnXlrj z`I&qTALeWMI(`;En{VWs_$a@aU&1ftoB3sYJKx2x<=64+`Q!N$_!IdJ{HgqD{6_wC z{%rny{sMjzzm>m(zmtE2f0TcWf1H1o-^stqzsA48zsbMDzsrBXf5?Bzf5v~#f6af- z|G@t&&;lc{0w?f-K`;t7!7jLk!NMqEv~Z}9BjgHsLWNK%R0-9>Orb^y3$;R>FiV&% z%n=p~ON6CDv#?B9E?g>HDQpt93fqM3!nMMU!cD?$!Vcjs;cnr6;Q`@c;Su2p;Ys0H z;W^7qC<>(4@6Lphy0bNjcgsxIotDB{puUnvN)HUgr>6Yt`(sk%o>yFW# zpgU2wL3gI^9Nk5_%XFJ{TXom!Zr1J4-J`ot_pt79-Ltyqb-Q%0>)z45r~5?rsqSmt zH@cs6zv})LDUlZiQ7>9VyXY3Z;t+9^c$hd=oFGmVCyA5ADdOScRIyZ?CYFn}Vx2fk zoGs1~j}#lkMdD(yMO-1aimSyn;?d$-ah%L$F%p(ekWQ9P zl}?w=lFpSbkS>-kldhCDOWUMtr0b*`rCX#O(w)*h(*4qZq(`L3rKhB4r5B`^rB|fa zr8lK_r1zzdq)(+Uq_3s#q#vc9rQf7KrGNCap402}dVQMSqPOdvdbj=%y;na>KT?0F zeyo1HK389$FV;`gPtp7ILH#uS5&8;!wLYw$rLWh|*GKe=^ilm%{c?S){wRH?ewF@c z{d&EuKVE;5euI9a{!INj`t$V{=`Yn^q3_mj)nBc@R)2&3X8mpYJM?$!@6$i1e^~#R z{z?5a`sej8>38X0)4!pATmPQ^L;WZE&-GvFzt#Vs-=qIk|A+o>12V7%!5|ro2D8Ct zNH@3)nTElJp@tEL(T2ke;|w{5d_$38f?={@sv%$~HIy034ONC3L!DucVV+^3p~28( zSYlXaSYc>4#0)D9YYgiQ#~O|^oM<@3aGK!^!`X)O3>O+MFq=Xbc68b?X~(7=pLRmpDQO$hPER`{?VPl8(=JTADDASe z%hS5kHm6;cc6HiyY1gOSoOVmv?P+(U-II22+JkBTNqaQyv9zbso=$r{?S-_RX}i*1 zPurdLcG^2>AEbSl_G#K@X?ViF zWpbManFgDNnTDH2n+`Q)nZ}uNO?jpwQ?Y51X|l;@@|#Lc(@Zl=<)&)WOjDg{mT9hO zo+)BF($r*%nwm|^Os%FiQ_R$9T5VcmT5meWbe!pU)5)e&OdCz7o6a_!W4gd}q3Kf7 zWu{H0Zqqi?RixAfX?n`^oauSf%ch;C*G#XQ z-ZH&ydf)Vc=@ZkZrY}ujnZ7f9Z`xz}+4Q^V57R$p%FLQMvuKvgX=anzX11F%%r5gG z=0WD6=3(Yh=F#S{<}7oLIoDihE;3IvPclz6`^+J8srd-=40Dya+FWa{GuNBvnirZQ z=0&)xT*nFJ%B=gDU)65&qXPM77pKrdve2Mu|^OfdJ z=B?&!=I!Qd%{Q8FGT&z2VZO_JxA}ha1LlX#kC>k@KWTo}{G9nE^ULN}&99l?G{0qj z&-}jmWAi8GFU((>zcqhn{>i+@{G0iA^WWxwEP9K_tC)?1FT z9BYv+*mAn%49l68vn-ccF1K7^xze)9(rwvn*TOP7JY&|@{#3Z%lDQaEI(R)vQk!LrLByWwQ^S8Dp+k+yVYS$ zw+^)qvktdrTXU?r);w#zwZK|vEwTozL2JlbYMo}CZY{IcS!Y>iTjyBot#hsOtV^s* ztq_e?>+#kTtS4H}ww_}>*Lt4yeCq|)3#}Jfw_3MZud-fky~euTdad<3>z&rS ztan@Qu|95n!uq6jm-Q9vtJc@7uUmIp->|-E{nYxI^>gbU>(AC-tiRe=8)xHfg3V^L z+Z?uZ+fdsu+i+X9EytE?%d;JBn`-mf{I-BCXbag&Z8f&At=3j&Yp^Y{HQJhN?Y5(A z9k!V5SetCaw&QGP*v_<_Wjot;j_q9AdA3cqZrf(t7TZ?aHrrLUt8KU0cGzyWJ!E^> z_K59K+hexJZBN*C+IHDqvAt@0&Gx!&x9ttvC$>**pV>aQ?XmrA`^C=KSvzO9*sXS( zeX!kYA7USBA7>wL&$j2-bM1NdeEU?p&+fMe>{a$^`%HU{J#4SF*V$*;7ug%_P4=jL zv3-esslD0WWnXDuWnXPS!G5CsB>TzsQ|ue;r`k`mUueI`ezE-$`=$2F?3dfO+po1> zXTQ^am;G-0J@$L;_u22aKV^T~{*3)u`|I}I_BZUG*gv&@X8+v2$NsbZ7yGXc*1|*F6gUbUMUG-eiDQDJ)G^I5-BIhPbIfwgcFb|q zJLWp(IhHtWNf+~#=D z@gK)Sj)xtOI39I8=6K2RvSX*?UB`Ql_Z=TNzHxl(_|EaY<1feGj(^grbVIr^JuTgo zZcewPThndngVVj~L(+$)k4qn)o}E4^eRBGg^uyC@WytJBw{ADzB7{p9ph(l?}^pMF95h3OZiZ%yBpepULd>9?itNWVS(q4bB-A4z{S z{l)Z`(qB%0C;i>@_tM`_|2qAf^l#I@OaDIohx8xQ|8Y`InSeHmBX` zbq;Y3b&hk6cV;^$IVU@(I1hKuaF#nOoR!YG&Uw!H&IQh9=Q8JVXNz-%v(?$=TPUc3$J$?!4W3hx1P7UCu|Hk2xQAKH+@Q`IPf%=QGaN zoUc1~J3n@Q;{4S4ne!*-9_P=_U!1=>e{=rs{3Aoi&}E1jj*RpSXU4FM;Ta<`ax!u= z@-hz3n400s@MlzJRAp3W%*b6oYV zxvs^oC9b8eW>?I$%C*|H&b8i!UB|gjacyv&?mE|Xp6h(qC9X}bZr3)~wXW-2*Sl_Y z-R8Q}b)V~g*8{F6UAtVbxZZWW=X&4urRyu#*RCI3Ke_g}{&M~8`o~SVkz4OJxQ*^K zx5GWy?R5`v4|NZ74|k7nk9TLgbKJS^N$$z+DQ>^J)IG~R+dao!@1E8bIAJ++?so&}zTo``3OXQ`*z zv&_@siFrCbU7q!xV?4)tWX~y{4W3gyr+LoxoaZ^;bAjgy&y}7{o^H=}&$XWGJlA`6 zcy9OH;kncEpyxlHhdfVtp7uQBdDgSb^NQzH&pV!XJ@0wm_k8a8!tswXX4D`GEd4pIrFs4jhSae@7i0&s3;bDyfk07Ker|SgR&jA4KdZFVSCX9@DlQG=PaWHYcN$rd>i{)|~jdTDNLYFky>(Xb*KF%N++sydpY9nq#l@3jq! z0&T6G9c?Wwkb8-kU5Q3zt)(E3SYt;t+FH@p1ntKrv#lccw5@AxKB_BP)&wJIUfdk* zh?oZhxv#MkvN!$r7BNpr229~3l9OAI;}7Qgv-|;nC@a6vpO;mfA1KMn@#p8}7UUNd z_(CPg+}5_WwJd7rD2vT%jx{f80d6xABLQT8>Z7%5^9#p%bFvH9kM*w2$;&Su>n$$K zTfhEgW$yE+f^I4k1ZjGiDx!+15^BO+b=q4&j&sx>qcPA9Uq?s7n$18kaZY8pO37L2 zw0WFDO{Ye0rw*s4Qa;L01*jkuqDrZ0vQ@UpcG)4P%T75%cFFGTR2j_R462-}pekWb ztEri?2WIdPd60Yqe&P|mdDJ4F~Mlc8x}=dB4#su3NLM2RoSqzc}YWO8^}D} z7mGo1t)aCu)YJ^$#L64iv~_hx%vl49x~{XirMYvBuOr$JhRj^&tmfz{6+3}Tp7omk zl-UYKW6eui`#~Vwsrb#&7|};)R@&SWt#0UCx&S_^Oseqa>Xxo0&8_NJ;~LxBMKiC- z@kOy~Djj~rB6ERzYvuYFkmUTu~#MH@KLM_`&Ev1^}A@V5sPz|7kYNM>1 zsTEYKJX9XGnQEtwl84J9-UqG3sEb7xmmw0hXolZz?xkE#r-sWtN} z!@*`y?6%g14w(Jb)I_bDwbU`ax{;xq(elV)QwtT0ILHaqi3=;k6$Ik~%2sdI^`IE~s!olc!Wok^WVolTu1kCn6Jaq@UMTh5Vl z<-BXC^QiNw3#bdJi>QmKOQ=ibeED#BsoX68gAt3738O=aL=TzM2+MpNOv{Ys&T)y! z9~WM;Vo@8Yn|FZc{)W!RrKMnKU{b=-7RcL1n-Z-DhAoT5x}solG6#SSMi+H0iI|5D z@YoMJxxBrtxwR8824XGT+0oV5+0_B&z%u|&dE1hhHhou7H&Uaormm*0p|(@kQrA(} zQ#Z&3a-m!#7t1B`1bO1s)J?Edhr)liQ9HosPJ(4>hW{qZQ{Zn9B3YB6)$I+fP0=Pr zD^)wF$}k}nvM#2BktEseHQ+X&Q9l&KxHdGmf?cj^Z2>Z3zxyL24k;R^aVOENAnU9% z+R+MPXl?~r_6HE3FclX>IV=evZdM4l2@_6OQCHf7)Ur+Tq1Eb#N2r2LvPl!<~-Fd^WYXnPCzR$nKK zd{GxDq$UDOGI_YMtsPY3(B$tD5JaQCMp8ULmEUs|p8sgE&)b!JLBXQo& zS6i_)ZL7*aX;+gaN%XOAM*--jp*O1Ot z>Id+Os^Gz7CS)0tE98Z8)yqKk6Sar>xgMgcn4+O_Wqo)}EV??-wqk{934f)2i%TW@JHDcph#( zItt@kT-wsGBnF==AvPE`b);(MEe5k(C(oK+-qqOL)G)1s*aKxm$br)1;G2L(m|IHNi=S;j}9@4}{hNj+I1*iWJJh7$|m+D2fdECV7sTR$;wpNW|<+ z2r6|nThLH6jG8zwK|d0B1(+IvMxs%0iZvP?N-acV&|$!lA`dcFm{R5EFbQH8z=wv; zhL*M^0K$WNp{;PzU zEN^RUAgdB&RnySABpPVzYV8E2DUY@;>0D|?a$G59q8gx9)?YZBbZnPPqYYl!uU zm>uMclqdwy<4qHAgcQCbn;qy3mRE0XKwaQjf<9sK)~?MS>&+&+hTMXZvEIUxlK7?p ztw+agMaQ6Hk&Lk1C9jlM$*W~>+EapHQ=7)u#lVe^Z-_0*U6GSLUfc7<#>YAu$Ey_K zwyuuG==c?}#SP;ZuZT2)-5%H27%@*c5P)dwN~Q4u_1?6)sI{$A?fvir>Ak%foR-Rh zs<5Y^4X^~_@h)ii7IX?am6})wRy5kF1Q2K=I_@fTIywWLiOxc2qjTi7^6Bzc`F8mU zdAGbq)5!DDCDiDx=mK;hx(Hn?uanoy$H>QSMVF$>(B;I)^x3Ct?XK{i0p!`(blFuUs@WM zg1do0xkE7vU=F|ntAxbHt8ME$n^!~ubVWO$Xy84MVT8R<+8X8K%qIDG3u==o%VEKY zxneP_n+fB`w}2gLS=tus+;=@xcVpEZZH*wIwhpo(Q|Iz-bPqTZ*e2D2Ro4_*lkpaG zFS<|hGy@R8z6PH3Zl;R=0cu${dQd(wv28;SqbK^E?kCYxFx}6{C&?RNx=)kGr~uEC z`FlY=x&Qfl8SR8WWd2@(`FjPuCZA$<5NV|oY26z!cN~DUj_7KPmNzegNPbNKobvb; zZB1QZZ^kc!?;}gPnj?!EV$F@Q@vEAfmP9+_-$Q(}sLkKDdfZZ#?>Cf4dSN)a0ygf= zjb3GI6fxI8PGv=VOO*KkXp^@c_A%a-%^jUx4K3ak(axo9P2N$Baj3vj;$NCZd7E3k zqm(u4>uPFlOU$3TtsWIIPxG}9Z6J#3ZD{qXX)SNtVsFDD2*N-oy-I@1OIFCM4ZAJE7jNg*U{7ycn|H=Fj z4T3*pGWWn_?m@rE=gP;Mhr>*=nGti@0nB8w{Y@CK_yqk9Nd@!=`cpn%zN|+(|DoCb zhE8)dPYbk8zCgZMzC^w>uAQ_V21Fa=3;P`qZKBPzSsBny7|>4ICSPP0<>O&M3=F9J zzz0;-4*N_<1@$CW6s4on6{Q1*8E663@s^j*s_^EF%l1~bfeL~nT~^lWCB1@1HMT$^ zq{+LuqiuzEA1sK!tGT5qHol^vu_`=g{J3%C-?()9GBY7JcS2m3XbOioYd%s{5IQ$5 z%*Fo`LQCy%LT=H7c@W>nqMDuX)U_^eZCll`6ZN7Yj(m^JPuQl;W((NP@Pl|b{@n(_2aZ@=p3v=O6O!zsY_rEI2^iOz9F%s z>G^a+zhYWMH-ea=@{RH>Ag0?i4O~hzuvxyT|ADvAE9ezU-)%7PHu@;}X0r|k?jbt3 z@n0OcI-1V@y~wlxY(8NV+8OmO?rK%imR<<&z>|=;dxEzkdQ?|)M>OWm^)_@YQH~;F zW4(|x@#c6}HN?E_9c?R{VfjbQ*_CbH6(k=)d`ALnaa)HMqKg)9XPb9aOxeCKjW#Zi zb*)G!-_i83{jO`7#^^Kpc=-j_{J#7_|DjRxzNII> zpcoJ4P$Kg&@;m*@JPY!@nIt-3#v>0ip2?Blg@so_{MhLc^Na)cW4(9oOTnFlRyRhK z;|Xu9J=zEd^lDy`?EBi_?TU_OlB4MH>CG|k3dlcsTN+k-J7H((g8(S<8svj*vg@ zUvL$gvN8})GF8k>`4bQv*~Bx(f7x^XFYbc!KwJCYim3vgr7WFzIM38G3;PvlggFuf zx=8*~{ssj4ttQYY5$Iz1tNsProDk@85a@Ddh5R)LG=m5flB7o*xF+`6?SUdL{h!z$ z_3mauZovdqXh)?8t&>^Puh5QW)`HO1%iqgCfzbA7LX(Nmu>3>+LOUTLw39$+Co!kU zKZ4NGKxnAzpu$i%vu#{jv7}=hh-=aRgt&S-n2@6hYGaC^&ScK(S5W6O7l1{)Nd86s z9W3G>nxHNvg1SupwSPff$!uaaDRyo%2x>F4RsPLv08tfzsB{qO;semHy=L7SNa8C3 z+ZHu*85^JUqmq_O&5RK_535p*AXG0UGHi(r4j99wP&1`!)HRBr)SuOeTK)M(blfIc zJs4+hQGV8z>JH{EYV;Q7cIFP|PK+pw5JvPC=5BJxjS&L}Bg#28IT#6dHZ(4W84s?P;&W966D5OG%plN))#O#Cad`n~jT0trG|bDqz+-yJCGG6Y(VuyEO5sMI7p()xgMor;wCM zBqlBe)gOf&d^FL$I^%t$oST!7GK*LSq|CzR-PO%P0g;=OJ`ON-td5nSbc+=+@^rI$ zjG#)UPRUQl=Ych`R%-NS*35$355Z^<`4J=!KMt11RHxFq*i4nyqY!urEldK?9wLvK zrREql+@b979xg{}YmO4^L2GH%uO*wHn7}lSjbIpl&t?qv1V|^4UW22)g!m zvqcz<=y^1OokSi@#AsxGkSMzL#SFFztOr}p zR0+#h zkmzqRT#|BYL>h;4*tujh^%#xoX6Ioves9_kVUHYeA?GBiSQEP#1gaGLu}d(@jk_9l z8MSN+yPR!dS74NfQ6WYpi71n8XJg6LcWfuyg;7361%x9~n3a$YsW==qwSB5mtf39$ zXm)){^JCa!F@kw6hAKg5+*7MKZ0gxcLnv}mssY#&*ppLQp2BXxXaYtPwT=@tkZQ*r zveG_cF4>1{dOUMZDmqpKn@NcU$#rU7pUJ|3=(X%w?Ah!&?78fD?D^~k?1k(_?8O*O z!RT;|refs7$d6F~BT%*wMx_`{yOzC_y^Osa3fXqEo7ir4GrNTviP3b7W@5A+YS|hw zIt`;cF!~Ln-__bSi&B!eB-)XvyHu-HBHX*5)pVM7_c2;)br4&T2vjg(a<>Q04{B5PndqEP%uYoyDmX zX5*!$q<@Wh@|7mNTiDyky1f;nvTk+l3VCFGLT`pmJ@!3i(zULiV4qHD^$hzgMpYP9Ys)8@-(geRQd_^oLV;a3 z3*NJ)o85&`m@qyAwDkhO%@LsNQHtV0+Il3SN3KPGBdp#T^*IH|PpAfxy9 z)1qx~yxE~fQ|wm|U9w+eG&fOR$bQHE3a*>|p8bLSk^PC?!~V?vf)UuB`4}z0Xdy-s zjE=;p;cE6b_ILIVb|U=wn}u@MMHm6!%fU`7|E|VpjXY*PIKL=4L?C4$^HdfU=Am50 zr`$h4GUchd25O>O6L>=EJW1IT6qIN#xu0hq?OA9ws4fZbdg_knY0s2O0#|$2qL${y zagAB+EnPA7ub5ID5}zAR;^6Ist(=}Sa7Hc-qb7`^7%j$V$yUzHS*W2LgfB}mY9=mX z8JVSw>W=0Wa7e9nRNGTqFud2JxUGj1<)jjY1=HaS0FI8es@)O28fl&+wbd}+-H|t! zJ9jOg4+ZxnIZ$$+Q&PCTer-X1VLqv&d4)TK8${{3!JL;H!VTqyal@(IV5>DQwX%YR zJ)(l$3k2*yu>y3p=W9~TL&_Jc7He&Lo?+C95jc!h7`4byQ8PYK3Y;=cD&)9Cr7IK{ zs>Q=fgwKtp3bt~Ga$~r|xUm?uV$_b&Q5bc=TLRp8O3zN@a^@!Y2^!X>R7`MrT)rCY z^(d2CxTtVk-O${znJXYg6Qpo-KpM3d4+lYsmq06>TFA#i+DC3O`51$b@vsSPr}XGX z&d2$Y2P5!?E6L%)LG0+&+>*LPh#OJ|SjtW7zpi65H=T^D|B?@QwSqf>n-MXOhGD17 zM2`$o7u{yAoWSifJp??7sU|h;D&Lxdj8i=;Dcjh|Re=^(BM(=@`Jn!A9LaY+fmQ3-s^nxB!#gJV z#l`E_@8TA65$;InuL1gNWH?^YHxtQJLfeL=+;hR z`@qFE#fzo}nu2+49nG4*C4HTY5yU#jCNJc6?kII3V{{TmvbOG20j(sfXcf1bTf>1o zF-FH>bUa2UB&{OFGRO6M@9KUMQTG$~uI?#<;LZS1kRw?Sf@t~_GJp;7!(i@QGIih_ zj)}ka!(GT-q!vvlEJDglFRAmjnY);%CaJOB7jjjPF6Ay$BlrK-WHWa;K_@}}emY>S zuEprgZti-F&Poj-xSP2h5JGUbaJO=|VRSY|=U{a17VdUnuEb~)MxZR4w{q`u zA3zB45k^}u+Dbx*ZU3hs#Pk<0xpmC01#5G%OL9mIQCO6-ejdEGS6l#}@>8RTZ@6zY z<8w1cSEm}EpNR3)NnvT@X2RT(KOj=9ZAFIA6DS=?%71m3)fE@|snGfsKEB-#PXx-+I3 zo0C*y^Txr){=Hd-mx>oPw>FLLr`p&%CUNF67V1Yky{%m<4((^u2NIz3C&i7^8|q}7 zLzdvV7`-P$56<2pcV1!6xPl(@bRmCfe|FVfoNtKY zfTZ9+w4Y62QEq;ZKK{u6l#=h~f8qax<2wFV{x|-2{tt}c-#;<>3!}fc@_+GvQ@aJ& zv;2c;1gc6i;2LLv4=3rV*lgG%#@bqD$?_NDfN;-iQ9D)<5m0Z4%foV3L%NIP5 zPZctSLom%@sFv5>)fc?Nu;k3BFkBdcX&%!8>TRBH5fLV-{y6bZ#bi7-K!C`=M23sZ!{F>S!K5z}dyhVhy) zZNan^(>6@oG3~%~`gPPu!4LBi6hcC&Fin^)l#$~?ITO=Pm?WVJ3pH4njfIt1ScP>i za(GCVzP;x}HKtsX0ahGx0q%JEI=(R@M>nz3whqWJK>pOJCWRrns$Re0k1hr0($+Cw z0f>ehm%_^;0Ihzk>1u_W8Q`c`$&N$)Zh1ot-oqrXlt5QK`C+x0A5tDoN<+8}0`e|x z9pt4`Em@-W2P_!D5Db@}#n_wT^S|Yi}=w{6eg(wW7JTIWZPsIOTJE zsx)n@7b4W?ZNgk(o-kinAS}c*XpsxkZcKYHow-doQfLqs35`M%ra_rDV&-xzjKxAJ zk@Bb%f0@eFI5^?bIE7ke&j_Hw@9*yZSm>!GiahT4=bS|dzF zi!pr!re|V$7N+N5dOoIME|0|YB22^7MKQe?)5|g4hUs=pcVc=qrq^Nm7);BUJ^|Ak zFnuZMt(I4rG<&6c=RW2jNB@zdySu z%b)ElD9$Mklm-e)l99H=k>DljUP!rtg4}{ae{NP@akf7zKUAEZRZ2$lwN^Gp5NDWkhHjs&4rFQh_$c42N|aVX25o1c@FU*yZr z^5+)>vWkLG1Oj&=6&9D|CG&J&9O#r}e#(yU-kAP7jIlB{BXHZYc#TUeN% z>&wp1^(P}e6i3SHgOnZ04`t{1f?1)0($cK_;v&$8Jh+z$5(uH}BEP=`E*VNjdOVIa zz7Gg?ehnVi%N=8s< z3xc^NS^g3qNUWr=BoDv?#i3v_PcO!i^7O3>Ky6(<^bLf<8zEAeBHcSdx`pm;*@J1qE3pMY(xddAa_=V2-aSr?@yppWcWg z74?IZlV1`7eJltP%`7e`%qj^LhO!EMh1mhP2`f|*OyTL>I8sR;q`W|GQFbnjDUh8* zB%W88!uVK z^A#19_ya{Hpd`sipT~Kc+y@DU;xEn3&CMz-C@jg!FAV`wVU91WB#;N9g0&YaPSK}t z;z)=0LCVQ3EG_W|17JqT1m^kzS-zqmTozWEpI78BEh-4*1d@6BF^=TxgX9Yq1;|Wi z1wx?S`M%;D7+3+(@uGs#KxtlfFfTtD>DM??pbt`hDV&|dJ!M&i{vxn+d7)62uLSNc zgB!OB0y)|Fevn@>(qD0;P#>fse|AoG5SnH~*#yj82yA9HSOtG57y!wI3X4*-Ku5=s z;1sFX+!cg;`6VR<#aY4P(qgcg!BVhKumXMgd8I`~x&9nqFnP7;gg8=JAEdlseqnB) z1hfEd4$I09$-yCs*;K#m=Rhb;GHN$zP~cBX!^m$W<{(F_1Q(ExOUVL&m@bP5 z52A>gZXE;?N@;@YzX&gv2rm!QwfzZiiw>d>RX#&7U6&#s7`E2&6dgqI-8zWaXLnOO z;6f&{zaFq(tyM@jt%u#|7+wcdUnbYhAS{(*8tM-E&gTufu*MQ>PUa27(rjHl0f%5` z!G5r`PzOa)-MR>-Bm2=Rs)Nfqx^)mkHS9;L7F{c8wF1+P`_U?<>*_TwO`L0VYkP5_ zJvml~$rFg>mUQbN_FTI6`BApgI`S%@?qp0i_csYI>dw$60aRyM&m^3s^O_-YO=!ls zy7LoE=`O%@i#Ep>6ZlIoy`n$(S9IMPd;z9gQ{a=px9P4H+MoWG1|D3Vd<;}rt_DyEO_5Bzi8+Zy;}Ot0+$hxteXe_!_@ z0sjEg>-R(DKGS_cT78b`WA~%gx4Q31E7chNfN87^WDgn0&zL^0zk&R!`%4>00Mp0! z3?xNLA`%$@7imnN*e$Y{K4~8`TGTSoy>)d*6p|xdvG`_Q{St0Fh(Q`d&7*7k{PBiTt09#pR*F@a1_OEN zW^txigXzmKefhp!ni-v%oMIE}#rb{kVD}GrS3=Hu>c+bi>b(t5F+gG?Sw2me-YlDT ziA&&S9;k2RJmYGW zmnxWJh+vMz^!16;3h_8`12y_8@p$nB@kH??@nrE7Oy7WM@I*IZ`esbug6UhY5>FLR z6E~9E7R8O2z6~=MVdfHY$s+k5D9*6N8ysGRO)sn_xKX5YjW>Smq!e~0;;d96<=OB7 zH8$7`%dBCInyMa_M5gtj#I`9^>LsQ9NlZmiuM1V5Ybc~PGYLeM*G1H_o6H}H7mJsO zmx`B(my1`3SBjg&ZgI1?McgWG6R#4l7OxSvi`RwboiI0m`-Ps*1Hq(Z4kDway53DQJqk~CSGA{{PG zm3)$43P?dIB$Z0jr0G(bbc8fRDwisxN~ub!mS##dQdp{$>ZDoHY-x^EFU^(aN%N%z z(n2XB9VsXf>qmC`C{wX{Y$ zT3RbXns5iEZ^!f6*({EuKqMmm!{Vt~8!}R-@hQQ`SOn-#wk1_oTra#5>XPAb#gBc1l2s1Qh z7|gJk;V{EvM!<{?Ga_ar%;+&=z>E zLYOJV%rwkQ$4nV!j=;rM0yCAEslrS(W@cih1~XyI)MBO%GqW%=8#8k-Q;(Us zn3;!}`IuRNnT42%VCG27G+<^CX25tgVJ3>1#h6)wnWdO%#>_IzEXPa>W>#RP6*Fy^ zX~)b_nCZYw3^SdW>B7uP%&fx9YRs&`%+Z)xi?ZD zPQ=Vfm^m3Ur(k9SW=_S-X_(oFnbR?I24>F0%vqQ@8#Cu%=3LC2hne#+a{*>9ln;$x zEh))zC0q}Tlv>M9IBtLozGCavK}w^nwydhsR~`umXM{E4;|Z~|H!)DuR8`e#L?;oV zVSR||s;jGNYD2+Db-Ay$w5p~efx3Y-@bqpl%U50&jQDB-(-VXn384$AJ|N+p)~yTI zS0poV<^W_>{v(pf&LLzY`azrSt08RGgaTC+)!|66tVSE!`J~C9c$4^DyX)5Z>&nW5 zky*Z)GGAqFg4v4*t*1Bbv_K#-D^wE(*=nGd62j5F3E^$Wx@nQJN+KyAnTm+|lh*1A z(rQ%iR?|Y2p&DOp2)M5*Eh{gpoE8aG1w&e+ZqjIK??#D{mQ@DI>w=-k^pFoOr3^<( zYpN6v!-%bTJD>cVC`1*^*<_2a&HQGFjQS$RZr$IQeG8MR*VMz zJfR*r5OsA`xE8cK5CXm`r)h0oB5m9$ZOY(QWTK!c65KT~U5fl(BXooM#Us*-kO|cK zeuL23Q)q)Q%Sk5oZ9?Hnq0qQX*01*n*@zUf3SR&&#ET?JtJYUDEtFU;ANFk$U;5Cd zw5(F`3Sh#^!igrI^kpVIqpTX%ts*aNRG$;F;VH~0s;ki{CRZ^sT8pnpi;R9+glp@| z6E^KzLY1nS;ZU_tv4Tnm8r%;m;S8wajJ9|oREJA4*R2ET!@7)A`YIBLdkA4B>YotC zRFfF`uX}?G*H$GK+8=~)&;XFV{K4OZ)`{Sj)#Zw@^4C=cfy44DVwB^9(IY}MqK7D0 zUtZ=1t5E^-U*-qPUt8bH&*)jwWN@D*bu~3)(WEk=7YOmF9%67MGr%kb%fjHk>%)-> zF!1FtWkhb;D%MM+(b%3w;8?<;npq)G9bZs2X+(p<;1YrnFi43IKyU2D8~9UoM4DPB z&5z#Pi#RkV9$7#f;IArIO^YTd8zHv!@C3+}Rgvm4ZMOC4gdn|#fN&TABUuZ^M+0#Y znvp#;L>iIVWwq0ZkE;y&YJw3Ee+@(cJ;KN&Z5%yqVC7AZR7Gm*s}rz;35mUjq^bsH zSTT%R$3qE4k}jyup*)yu@AV@HQIaksf`AHN7^ED5xF-~-O~D;anj{SxW=a_oj3P0c zhY^}VJ>1O*g{mPAD4RvxNN5gmC<)qegmy>|El3&S0Ah=+B0}Wq=|2nuj!QGied;IlVzaJtuevk27wT+ZO(hAbddYt( zAxjbz3_fWJs#63XAhaV;HC(dM0GIzmEaI!KF0Th^k>H>VLZ_zkpC7COnFly&OGK0UGD3aG0MsD6(y}?4WXlQZVacQ<+*E8k;8v4Gs)n}VP%W&6 zL=>X0A`OQmH%yGTdd4&Yk}~F+J}i~ifZ3Q`RWqZv*{LI>?quX1mPo*$u|9{;jq9II zT_Z5mxL1b|GDTPBk+#DIXj@lXT?b1=3A(k;7Vf39lx})FWJ1#$_R^U;8}Vpc>#T`1 zNSW;(3G{TPQ7<9XBa_EM^oQsu&?>e!9GPAUQM<3!r?pu|+KftWqb=%0++S5r3{g@j zpj85)__<7LJ zlzu{$5aq+S+OXG{LyB+X_7CZ7g4BB^6xr`ZOy{Yi zhMUVfy|wB+MeEk7R-raTv@zKwT-YD6Lgp(a&Qq~~nhsq;h%-otUa{J%lM08uG1#cF4edC==2X2;WY~ zeNfd4w}dPAhr@03?QlHU;mseH>&@~i8-I95gUkBQb}vovDEY1li#Q371HpTK365Q0JwO&G<*<}y zh03d{Nk1C9&k@wT{g49D-$;3__G_v1FA{)B`vE}MstJL8RFo$vV%tfO4&P5CP!`xw zRzT{}4=I&I7Fho(0W025FlEU>CNr_pb`zBSUAVQ=YhWuG_LY(mlI&t)3g04d6Zey; zy2_d=$mo<;RaGZ|-X%bLSzqPwn+m$%*R`mYBml|cNLe@ncQHUZ5jMo+3rzt&AW#zq z<|!2_u1~&jMPx>(9-`x*hV$`%8Cxn&AVRXQb!1U$yHgG5GXk_1HRu6S&01j2oPoi< zBwz*mGP)!%WtXg_PW9jHGX&A>04!P%PPo3Z)|c4Cd`}<>_k{}rQC6vhps4p=nG8s& z)Rraklm^p&$q?diu$?eo2;@kf5Y|92zRQY)!D#htl?+w_T(U3vr*arqV}(a>t8q0p zI0#JkzQDxKJdy)*Lk4NRPkI(_U0q%W$;rBK3W|rIOx+hAi01c*hWrQtZ0hFRFo>Y- zlgW#t^@SL+Ukt@1tDM0>a!6CCgtiYSX!~oqs(oQtGQC0s!zco^muRI&Ey>uz)8Q}| zLZG@t4%aY-0F>^lsMR1Po;=kK9@VX7k|t&m%((+&LU~=gddaS`gNjSNC-IY%k%8E^ zHUhl{VZmz?oseTT>1Qti;OvGDa&qXcZi7qF$N@R&iKGJoY&zuINtj-)d;!cSQ1b}t zUgEcbQL95iI7==|ETuw%G;Lrx^ovvr>%BI?6!^|asHUc>Cc$0_0j>S7pfT7*!L4iF zmU!TkJo>=&P+&$R45@HP@sfxvt(P*5p^9oaG4WRgwb;bqC$Mz~#d|3nWh()pFF@Qu0Ct3MT#z_uHiSqQd-3xF zbDmH?u-w6_*_y?jP5^5Tgy$qtXlxRGQ&SLz83g~}G^Q{=Qd<>)-wQ<+P2V0WNe`6= zIRavq`oW$_uqzG{n*<(x*{&tf2c+mpf-kFp+!M4!_vBPIDCMUtH6v9EG|ut<{t1YBzjWUZB3}Q4vb_{ux(gCu&WPh6iN*N2?HTj zPzmJ{;l!z%;YfnM;Gob|&b2;D%R+FTlO(r<`D`Rz9h`wk?F!shZ50t!qKn0(ivwEE zz2-q1O=V~{NwR43+)VKO2O=%)C@hc?ZMFPcB2fZ-&{1_$4OyXtNZLpj2W0INB8e|A zI4ZA6NTP$l9+2K7E#NQ&ps;|e>fj_#Tg!cyaTn=o*?|b1j6ikj5HQ7$`r!;v6BbdO zy}0|;q~FB{*{?P%EfQ5y$fVdpsp;txVyq>7&N|RO70*mYrG^>GK96`0$PQN4mTF3T z4C&+G3`!jw>q2FVVi=+3u&%Z$p>LR=mmky!>MCbcLNO4q?VAQi@*3YK{2RzhK&wrL zhI}$XKDaefSE(SE`}`s8gurkrfjuDqnOJ&pSW=!-0S-sYlo?L{*Eohcz`De$KI>l- zu~OX$2kx4P&n3uv$zLReZh^xNgNj3?B2rOk$QprtJiwgRAj-@qY4~fQ9lqsCP^tYpRyu_c8)pwNL9Km0#8Ol~t;BzE!2A zP-Re63WY_18Z7~CxRQW}_8mM)%8)o{(f)RPt+#Cw3V zWJs|>SXGvg+I0sgwS*eM_887wRJR4mSEWF?wklASFfKQe9vb#(s#Bzv=%J#nytb?w z++ok2Ux_=_BI0nUTsfZ8*266aFS?{XX=1*V?XT(#wVrm6p7w2lqzo)cm(}E7C=i0< z_nOG;kZ*OhL$x)Ltz6HH7LK`SaV9+3l_kRFQ~lQ zKz@MoV*uBXJ|#$F_ZewgAdw6Bg0vjJ&n+v6rBCE7zb1|S12u+`B84i>xX;4ivKN85QgMn1NnidO?iA;$7X96BP81O(TB(wZI zk@9Z@aoRy4!jU)l!le2X!=D6n`oVz41AD02=m};2A*cs6S>QBEmE22wvW)aWGYT0g zpHgNEXK5NLM^KgDf!5zL1FZ^28@oE-O2R%X4(g2SYDlfUax_Wm2m)0AoR}`7jzE{~ zMY8`L8j1m+r~r8ORcj~2Mm>R@b5O8Q7ekm20V-54C_C&>P|eqAa!Dh-g#Wc(;5C!# z*-#ptNPrtHq=V{zt%Hggq>xN|>B49y=m$5g$wI1u!zxWOP6E9*qw(LTH5nSBut2pI zI2hdoyz*a@$}Fg6)}jjIAq0C+T`by>1(#?xw?>=Pvn=uwQhB77Bto+xq0n&EB_bZ87E> zm0ymtce1_SNo6cD7N=aZYn*6=-->yY`Be5F<7DF$bsPkg?P_%{bjy zW<0_;!&q*tFjg9?jMc`O#u{VTSZk~^&N9w6&N0>-=Nji3=NlIo7aAkRBaIElMaD*B zlQC*sY+PboYW#o1odr0M?~zs z0I{JWDk>;8Y}f(2*cE%h-sOMK?xbv7@S4caeV+HZ31+_YwbN(LDKsxKFE$sMi_J^S zCFWA|QgfNP++1OZgm{*!tnNKpGY(B+&s(H0pnAez3GoNlg!+fUsEc4ms zbIfba=bG1<&oi$#pKsn^zQBB;`6Bbh=1a_%nlCe7Zoa~NrTHrJ)#hu=*P5?0UvJ)M z-elfvt~TFbzR`S>`DXJi<}K!1&9|9vH*YoHVcurG(|nitZu55YJ?4AO_nCK?cbe}v zKVaTve$f1o`C;=T=10xD&5xNMH$TChSR(RT5qZ6c+$18aMdXbl@@5gaMMT~vBDadj zZ6fk65xHGN-YX(^h{*dzL^T|g{iABbr+_d!qi)s;)N+un39DlRhZI+sgE%A6Q%*eG)R~R3)4_x8ZJyDg=w@f zjTKzFXqqTYlZ7c;n5GKTbYYq)OtXb)t}x9Lrd(ml7pD2bv{0B92~&|UEfJrc;DzwJ@y_rqhM#Okp}(nAQr@I$>HbOdEvhLSedCm@XBj%Z2Gm zVY*tFt`(;1g=v#8RSVON!gRARZ4sv1glQ{DYktbS$NaSU8S}H|=giNWUogLD-fP}x z-fw=%{IdBK^Q-39%&(i@Fu!R&V1CQ|w)q|NyXN=I@0&j`e`x;5e9-){`4jV}=FiNZ zo4+uBY5vOmwfP(KA@jH9@66wue=z@O{>l8a`4{uA=HJY}oBuHXY5vQ6*rHe>EGJkZ zEhdX<(JZWM;aDO9&mTMM<5P`e7X zhfsS9HC3nsggRKL!-P6cs1t>nE!62koh?+q;Eo`5u~18dS}xS(LR}@)H9}o0)boUT zu~4rT>h(h1EYur?dW%qR7wUGQ?hxuDLfs?O=Y;yQP!9<89ibi+>SsdzQmBW7`h!r> z>afsG5L$DgnT6&QnpbG8gw{@I9fj6KXg!3MD6|xzWeBam&@zQKN^ot2Hc@EVLYpqQ zbwQgaw0xm05ZYp)EfHFo(3S~qBG672+UY_&OK9f{?LwhlBD5=nc8$N~{U-DX zp{qh~CiD}99xZgc(A`4!3B9$@+X=m+(7T45CS{otJWVR{I)C(;jW|u}sFy!4s4Vp7 z=9CxamB;ZidNH?Amd6DzedaB7m$QUdNy`GaY1SPoY?*0jw~;mGMrapY zW{7KeeaymoCudsxMiHC+(Muaq#Q*Am<%RhiPG#6XHYc~BsG+U-h9WokqgNh7MdShG z%L;;VSYEh<7Z8HSiSt%ZLyZazjcz)&8ilxKR55uV7ph8@@Kt|9jg}Z1-NGBwjqs6? z55YsvLb9OT5PYjYy1WsBkD3K}Tf9~xl6G;E~m6qUd}Ghkm7i#U{V+-HSxPtw0DS`PBwJAgZXSDbTj-vt}wrF z+=9PV_BDp^JN?ni8zKCtF=%Lbpc!iLkG+eF>o*L6>-#u&=5Bv<#ec0%y_PW~`$_!V zlEEca4Rd0h;hKAx4>dv;!|%oA^K;_n7yC;}{fh%1|M$+zt8eiIMk)8P2GaOaf~~E* z!nL6lmm2bSvT)OQ`9r766Z^*xFQ5qxNzSVb@eedfd>}cE-Y7);^@jKdnU9T{^*k$A^oWK1^rrDRLMu} z{=6c2KWE(3tn8q<{NSHfMx*=pk7cM!yD?v{vkJa%r9IJ>eq*iQl9olum1nA zd~$YXR?u|$lYeO8fphww7mIM zX-i5f8uX~o8}eTy(`&BH$S*ACT-1W%+@cj+pHW`H843RR+&Et_(0Ipt)X@IP3F)bw zD;6?<$mh3&w9bJ);K%yM=Uet0()Y3U+6cea)}zqt?&}TEUo#4L>Hn!JWoAwf<`X|0 zsVco?==4gHZdVS3thA68q+rRi1|8-5MhUO|S3#?PD}d!=Lpqml|L0S(21B0zWdO+i zVf6DJQ8almpmQ^0wNgOuhf9Q`sr4c?oYJ}?ze2W;xG4r3#I4&4wIjqZEk}n5# z{;7!#BHhwtXmyZ%#71aU6X}{EL4A+5Y-Y&*gf|=;FFW-5x`z5&j50oJQd1n#k%Wxi zTiT5RzG!*@%n{@`Ewt5Z=`jlUs!0RjV7n^A&_H}EL;N>Q3UENYY_UTE+}@D=?J*l% z&o3z}&Z$}72@V2{e+nH?wCrN2@_p0IESg^uYGzME_K!^(HV0f-zG6wm!cgf6hV-BP z(M64@B}Z)+0@H$uf~tyOQ^3jy>rt6yWjQNCbx1XI_|+f1;QvL3(Bk_V#sBV)&TT~T zf!D6e;}~vo_F!CK8H(M_CHXl;tadg0y?6cVi&_pcO8(Oyy`m8%AJzHBoTaAw3+arF z5obwRd4oJ2W+-&nA6@ldD^#zS$g5cjG_LXrql5aGBG`}q5A=}^8yUD%IWz+% z7{x?3u9(mas0)5WYqE`ERQ8kqW=&;zSzO_gyrRndg1Ew@^wcoN^cB214;ycZcxF?jKZz|Hq-xZd7yO}l&?(#Ny8#k9aV$&8<$hn3IF-@mm(i zIU&Kl&M2Y7G1$5ax3F4SQOM0eMj(P|UAK-Gx^B_3+R&}jF>7aPrU3HlTeiFd?cKDT zWtnpEohzA{9yF}aw-`EgY0`{pVou%iTu3;!8sfV(X$Vk%L!^OE?=}kP(KP*ot1r@u z(C%-CA--3W#0UEKU`HG({y{^0+%cFG2AYZb6|=OYys*ljwUCSJ^W_qFs4BY+RT7#M zsrox(4I=fFQ9x4TZeVISk_djr5oV9C<#R?sDgNlP|GMq1*XD)nnr0Oh=KpO+rR6?D zle8u+lZ_}U$;~M;?j#GTU9TGQGn&+#hRAOav;#&7eVeq~Ub`X^x?J?0A-umo`i%cN zP=A|H2AjsEe{&X4dhsmMkr@2_61rl-ZKaZ+vkSp%qFEp zz^U`g3YHdChHhQ9{Kk+!q)F>L!Om=WRjBSi7_x``2f7O@6hacEB$Z8IL7M4R?+ z_B#_&(o*W}cZS{WjCLEsvyMUjhK8qp*DlB0Ls%}CQEHIC(Xoa`Q=0SwW1zLEH{GdU zX`|a2MNIQYi@ycqXe$)|!)(WB$V1*{Xt1ZxVrI?vh~>S@>g^OpcQzE8;g7C7Hj0Iv z*$=KHX&dh0MfWh2nZ+mR|4Ny^uVw_DVw4>iLK?hPhB~X7zOtNC#07~3 z`TpF>`JrX3Hp)2JAARb-N~!<7H>_)E!cLl#*Z?gqSrV$&8HQS?Hg4tKm@WrXuKw%c zA^u%!6e9kgMgn19^$Q&doNuUfT9f*?fZYXErF7`^Ux$yr*pPlklVJ+ zWS?~m>TtdOGq)W+vg^ zw2r>n(CWM|6ccKr6gOxf$ZCA3L=#VGc=rl+)gK`%6=-!z18{C{c^nNBAK11^6$!W;9^?;2Wd z_D7%mUstsHj*bgvztM1I%9&GEPBAxD8EZBn;s3}`>V{+6MTR7zv6B>{$7hBfHywj% zeb6~aT=NZlB^sKYUmM!o()0zzdd*RY!QUH2+h2vfclr-3cF(w4*FCcehzooyQ z=AOMOF+B-U2^r~WC(m4!oRF5vFX^>{TU$FI*xJV0*4ob6UYK?Y)BVEqfH3W?G z-uijf=$Wh1Wk50#Qcs?`D!#rcL#?BZ81m89F_QptqWms%^O%%#>cYq^#4 zUtSibSA^+RVS26Fy3D#fsNUOJW z>p2*4t}q=CrnjUKZ%fDQ*uQPUPq$7dVo8DUCC8^zXYn?YQ&MU@eu4E;DfmL`Mb?Y0 zmk86l!t|any)R53R9i2zUXI`^h3P|K`bY{scs!GQ=d6d$eP~7GbeS|s34!_=pHV;1 z)z(|2DK}VewBBUpXr51m=~H3)Oqf2ewr;WB8VvLo!t~|w4|LV~`_#?-0;Xi7*9GHV z>jTn)unp)g>w{SEurPfsOy5Wg4h7Rcb7KCK>{+W)Qd96tT51MCPRU57!lu+^&lA>X zq}(U1Pg(a^spj7a)Az#kgE0MAZGG1IT+lN=3DeKV-7`DKA1HPHG;HRo)CBT0JtLzw zQD3vZbwuC1ZG8tD$lG6q={IS^??KKy)~^*1T>C+pAFU#!0h zHA1K-2sKiurfTc&);|#XmrzxqY6w;J<65icwBEV@xmGg*T}NtKGVNzt0^X|a25nI` z^N}26v)EcH?QK?}HWO-dX-kWs<6nvRtySWBwJ@&7h6|bH=&{i8rg(uueSBD z^+Z7qk8%jrDHU`bPiODg6LT=}&-QaxCB~;`;N+x)j1*a4Q45D_+qp7S zXW7oSonzy`v^b&03pGKgiPg4sw)3by=LOi3mlBQ$^o8AM9m9typqQJZ+ zDKSkp=xOx_#I^@)j~p>~9<}Wb=FSkI4y~U%H^2GrlXGO}nIL<*jFh@meA@Pc^!GEi zXKl~fo)_wHp^gyhNTH6Zw!LWEi<0|=I$Ee>q>^Kgr@wd3owKX?yzvZ)69W^a`1B+? zro{Nf5cj-gd;f^}^MUQdpnGW2Ce*oS_vfR(xM}F@RY_?Xj7Srb>V_@0&u!mGXNQ}8 z*bdpg#XH{%b&^mgOYdX_y1D(^7d&@w%UP?ElhVnC^mI9gPfkk<>6Cx9{dGjAAGRw> zdpqNeDMFnp#ZC)k#@w|TpZxqDF-%KLlr2+yQp(A6(P?R^vX8DEXxXFeN9^zI7CZgD zo!)hZP-jZfvw}&te{|`e=QGesk^Mabt-w?xAwHzXx4Z4K#}C_2+gsU<9)FHd=hiv) zc}MeM3;vwFDm6X{^ApmO5^I_*dndc>^}|kF>^{IQtr2oTpjrQ60If&#?&QhT+l_JZ6 zY4YMt7SACxOi7Tl(1c`K5gPE6nX9@Krp(5xMp`Kc8KgYf{*kG&{ zszB~>UMI@TJKXE=6TvY+YTX#Xeu@1`X~L!U%j}oiuMp~KLOormX9)GoYWr38t8vY> zLdCSRrEAVPu35ir*@hd=Ns|qiY--Y2@u3o@gv{yeH`{NQkq$S|vTwED5sb*WLS1J> zBrvzQC$VL)E6$)>Fa}5Vd+l;YZokjI!@kpgzfji;mC?`!p+dsgTkA!-SP_LD?ToM~~k-4FM)j+;Z* zoE%&SPplmi*?+PBdBg<#%YHa0u3D%!)QPLw&^76e`2pJ#lUTtuGSHzpS{zA~<3xu! zDC#Dm-ds=A`g@C&R>nNJPLjjnJ(BYrK1Ynw-qA{^TZDS6blz#GiOyA zvl%(EkqzKXeoL1vc5Msj=-}vzWJgCwCr4*T7olzy>K#JeCe%Bt9o-z=gF4{xfv zf{N~26j(dM}@jusE-Nt@oL8$$6O3z z!1aVs<&KDYe0M~4KGtkT=Y(KzlH${3ClMbSokb2g8xPy(IZ7SO#vPm_{NQu2$d#xzm)sZ@oaB*9NOMKFDfP2P{hk=M!GbNQDjZ6Sm(Gv+H#&_z2khx2BE$p z)K`W2nowV_c3kMVC|I%I5bB%Qa=eE&U-_;HY-o5H#T} zp}uXH5Eu*G_s1LMLARvUwV$^+H~S~~ZPQy_7jQ;mT1M?~#_^EjF-!>Ce>xs_JV9Fm#tyDN&B!>l(V}9s7^yRbEw8Rte(nf#@ZpAp zjzbPQcn9R=d?NP!6;&9U?(K7BEQq$_h7FsFEc++mtjmuuUkfN`kZZ~v~auU&bH2W z0cn~dvl2PDy=Noe5c%YO_voWk)hmlEUG_ucJ_4+!kn z2<^mL-|U=r@>yqIbq!*fJ4>;twY{=)lykgv&S>Wt=U68I(q~w02zTTN|xN?S%XT9&ya7ZB-W0`oU@%rTz7ZoI$3vj z76{EHG`BR#6KDhcFW%O2+q_`=&q}_`@ATCAt(0@Ivs7kexJ^0dQfC=LD}?3~T8tDL z8xT6D^?eyDnTRc5tQAo4V!wH8_%DYC7hXV>8cCo$4W zk?U@()yN&7#KZ)Cspo)moa+%Bc5vc6-?<@}A?=0M0l`M?*_J)!mC<(vd#$>ui1RY% z)l$W93y{uhoYw{=brM?VI!XKQKE20zug+SP9@r|)NT^*MbKc4=(TZPtD zXx*f}-2?W{-LCeDTNjK=LYiD~OwKIaahQNMc$t+&wPs-5>c z9|&p~FSG&*EwWX(>g+c0vz?0n;h?tasG0C#i$ORCV)q`T9N^t$J{6|c}v zB&Wz0S#Cd(UX16_w64kc(D~^R1%KxJ9Kl}-t&h<9O2PdM!S|k4wUDYyTNY^8SYnWi zcM0ieT|1F>e&_sIN)DTDzc_zI^6x?$Ahdx}@*pXB$4eWtdJP}XicY$Gu_&E))|mIp z>1J&`b49o`q`FRUMY>Ebn*G5-8zQu!LK{}?(p^zXdl%R93>Vr6DRty=ZQ_QGxPMmr z@91h1ljT@Coo0hq@B$-~I(r;0ITa7Pc|(uZifbxDxqoSf(BxKy z7TBuTv3BUYS9B~Qjgyk(raL(oSc6WEPa&!6d@$FQhvcyDNV@V}1xV&Lr#V8Cdli~L z5TKF$daVDDg(f5;DlwVBQ$LuBQ1j{p7rV-2n8I~Ju5woeg1H(hM`*cHa9%L-k5`ZG zz^iwO336FqZdf2VDey~T?d-&Ll1m^s?3lu}#&ue->7m!0kKka_!_N2A^=m9_+XSb5 zi3zn61=m{F`A7@9bm7|Ix&SpV652wc$!!pgZ4jz4O9)S2`5SBH3BeIcU~xYwMYfSF z#~Y)2*A=e7?rgXh16J{jauVha=nhEu$$bjH(YO`;afsmDYR8m!;=CU?*9DpkB5H7SUo9d zd%9e`NMr8^b?XBEf$I|lyFPS%8W)U;Rn~R(luc->^Il%K?}|h+L^UZW^jGi%Y8720Le!i5Y42C$sKBZrR_29htj_yXkM-^fy-u?J6nx>Okw@-&ehJZnt26!xlOHO=4jC zp|#!Y{7t|dBfoXD`7nxR zp5_RH=#**`qtqRE(>iQoEOQ6nwAOAB+7`nKxyG`gYp*S@2Aj8}+B)n$#eEw72;2R- zPj{bzqq#KkHlf`v9lbT+=#hILo_61ja)~4G7FQ}+#tL@e7gjrr?#F$e`$7bV-K%w9 z-_B>cvJGW zJILJBz)~iw4z+3Vru$tPy>PFPy5DoZk83^@+LJk};kWJdr_v?-$xjwf^35|F)0s`(tO&LrLkiOR=8j zo|ZCn;hG6gw8t70^@`A5trJzXe#^Bhe>0q2w>j$Zcv>MU>@ta`wWm!`)ayd4`L=@= z=Z-_)R#smf6qU+%Oh(J#>Fnu&sIU_hPft&;pr`{v3w&V_Sp8&z@`w0sS&gV#UwM)} z8HftodU^VI`YP=`{e||9(B74Se=pd2wZG=_=%>id_&}YFXF5jfl_K9wO0QiO^9=Ef zl%5Nh^qx_k(Fh(Zv=4;#p%na4K(K$`=CN~(eJ~npBFk{M{_=}wvS*q!Jly83XS!zw zLT3q$k)YfY(1Lpcu_LCYchhOP669O@iM;29+*H;Y>P?|MIUe~fPuMkE&jJtM@^}^r z?Q@~YO#$u8fU=WHEADN3IOx!1#^ZASlp6Bdk*Cxn`il_%M|Lye{du~FZpK45^R3Y2rhpdM6yU?LHIG*g2&%|LN4Byd zZy9;c^8|XBaIeyMF7nXB$gccHq5XtRV+m+mzgum0{v4EUXb@3XpESP)+YEZo~=mpZ1LRcxy^IC&{&80Luh{r?XPOj z9iDALX@`Zb7}Ad47-Pq6$86-RfQ-_q^eG2f<;dQ=WG{?**K$Hy3(~x)9zOJOAMeE({va z+nKfT`^57lqQZ73p07M#qvIi=n}sevn9y5F9e3RS>`x!IxEA9RQmCg1%n4-6&eCAL z6+6#Qp5KuhzW)E=`7@}ZRp_=_6?evtxM+OWjtpvzRs6aZ*=zDPLt5Ckjl9jhEtK|N zRCEYkevF~>F$ODJBbJ`K&@oA_n90`-Xhme(my#$arm3}c)ob^95FB`zGyd|)BphBlgeZ#!>i#Dz^IZx?S@^z1J57@@~XJzE7M?!WS{ zR@pL@0y{f=VvC-MfgLrv%o@S*-V_9ft!Ca-Z(2~#HbQS(r{}OG>pt)OSg`&lrPkJ1 z?*Q)*X>z!Z(mT{UEGVkI(CcjiRIR`3&rV-6$xjQs;1pli*m=i#CrN4HIuGw;Zx$9$ z5qc+~%Z&iNOTc3P{#}{o#X-dq8H3Sz@a|8&M&3KiI}f2@yE<=McyS!*UjF=-Xd?Y(0d6zPUs1ny(QjK z?^2;B3B8ZdSw60J$fDOcg-Y+;xDVoM&#sKi<(kC>WhIqM@_UyqSx~A>&Se#qrM=5nRMnSnoGPU!HtvX#I{CSk9Ky!EqooUqd#^04`J~)?n)eK)>qhVC zLQmf4JyYm`&pEs`UrE<|g*}#QO#-KU?U&!7d)F!{8@=ZWJ#}@Iyx2uKT zccb@Op|d68kNzjWZIXW5EcE`Ne!Izgv-d*jo`FIi5O7apu2`;fPrX#aH;aG%=#onZ z*XVt_mwDty?^dB_ZuD*w`r!XX@9k3WdxSnDRPUYM`-6H96Z+7A-i^5-uTJjs&_@V;l+f84srmD#y)PWG zC3?}?C)ikyltZqXao5g~doRCr;)gW?UiH37dDixvUeJak3j${s?A&ba<9*BfHjfE? zw9v<_=F9-L=;X>r5-SY!UUTn!@1%DhtP%2o_hW?Ey74U{pM}{2Um`|JA)k8r5E&uk zgg#yhNe;fClEBx$SpM|#afjcGuMzUK_mGU*H$tDd(fh5?C#~*2hYTOjy{{bZ#L+=h z0*A=e{P|B_7Cbk3fA;<&^emxgZ}R@;{axs^=2K<3tvot3aN%=Jz4k{tYyT~?EN@|< zJVdXujMGZn=P#=Wozu6b#i6MBxJb?3jS5TYc9O_Y>jkUzS|(f@ET zEm&4TDJNHOR-r$-+tL3zSjNWZ>*YNJz;ikX%SbH#>c-LaYCd?)%y0E-f@N8SRUS?bxXYo61u_-rLmQHh50!gRlg*^px5A%qWt}xyL9a~GpOYfo|zu}u|Ud@Wo_!( z9kCMvUU;czujaku;wgTbtaBI@P$R1}C$C^|yuz9C%@LQFRHNUf#P0l_lFA(y_7_{)M3gPWwJ6$$yG{}rAoO{shp~usjOG7P_9<4RjyYyD>o=NDYq!wlpV^W z${uB(^1AZA@{#hf@~QGiL`1}i5zdI%h&B;jBjO^`B8Ench!_Ezb=$!Fc<0>n1I0Z)D zH?o<38m9Ec&+@mLiZQ}BUg>%xb$gU=w9o4s>!ZP?h8GKc36)&vB|hsK~QvdNq)|X zwmB7T6Z*s_w9OnBy(rjh7AT80DrV|dZ8KTug`$ zSMICuRr;3smiwxFD|{<`t9&Q;u3jHLZpCa_t zLjDV5PX?Z63w^E7asGOtZxH&0Lcdt(mkRxIp%V+nS=S2vdZBL;dbQAR6#C6V-y-ze zguYdrFjDGtw(lI@THm?8b-wd_>wV|@Hux^^UFf^Wcd_ph-=)6Ge3$#K@LlP<%6GNz z8sD|P>wMSyHu^UCHv16AIEc~BPN6?2^hbsMgwUTB`tw5HC-hf@{)W)s7W(@_|48Vc z3jGVA(+__q^dE&z|4P65mxww+M5!VwN<^I~qFRb5n}~9TOhtUgbxt~6!{|mFqgMYI z*4irQc(w_3Do{qlE3|zF4gEPvwlOnTqfP~bEW7Ro=dAjS zdzo}jl5IkZbCm0}e8$a8I>*U2W@(~+^L&K6SbRSiPGWVUDK(+ylKKWsj&VJcenpd{ z2f|w#xPZO>v5!9EswMrZCf&AIzXsG7A7fmdq;s0iM)2U{wcsQ#??qVr?57;hJ`uiGRAEr=M7DA(NPY* zjxlaK(m5)%2^NI7C?o{NRYy99pEe-`_3z6Jtzj|7l|?#7pEjj{dKX$YD8RUeNarZi zCbU7pRtw+`u?W;(9%6|G?r(vIK>r7=k{sfuk=Oma+$(C-xbU7KRkV$y|v zx6rq*?mUI_bSoB4U06`KU|~gvL2DifOj>GxsF5)+X0VhoNXoc3AY(|(P@&%^^c^)a zIt*H$ZajQeP)g0iqhrR&hsVf=?+-jYK4yZ@9}xPkx`&Tc@|2kA^5LoSVdj}=KO<(Q z&>t51BmeyHyqG-saE^Rp=Izdc%+ zU&eeRAFJn{Louvae=qbOj`rA3F~7>k>gDinF-)z068g_ac`R0mjSRIg))cD>{a2y? zcC^Qu$C~A1bqNq_iESzLKZO40(H?Wex_KlIOoh>EE5XKmvWT1#Ww z#I~1Z);T7&Lu^M86)B=jM=P^iY|jR&_KNK-qBIeuAMLTESlJNA%7!?KC2Ukpi%l0% z%|%p;Fsg>O39$oWGaJ}BIChALGK(lnNSO^R92q;N!DC}%$BC$D5oMK+opX6jqAjeS zXt9%Hr!;tMYV0%-WfxHn`Phcl#$#uMIS2F&#Efja?MGIJPLZICe>FNo;BCQW3F2MD7()J`oiwqFRfnwj!#%h$2dzMO0VT z!PEw2^dj5;~i*jtW@Y0{Xr?sk;W!9c9BuN>9t7>zb!R|iLYQEiUdXe0Ivqlk7* z8uA@+S{Q5GIuzC6Kad}0P#kMqAr#fgAD!9w(NbV%F65y8*ozIvbotMRVf7N!xJD?d zTa#vlLGK4wUc&4d#9kA7?G&z^t0-XGKw;xRQM}L|dO!;F0T%J2FN14f3)}?{!sGBX zJPXgmes~#PgEtg*A;1kC0a?~G$bi1kACPO!gds2trowcX3A14?%!6FWhxtI`!x`U- z^(wdzK2{VPdfP@p0jvi8o2?pdf?MEL*bWcF9@q=7z&r3RdH9 z7<7t>0{j%y8oEIWjDS%v2FAezm=0yI0xp6Z0UyLX1(Xr<0Z>NF$3RSCK8J7NcSVV% zj9BcAB?hs?fT5le+ZMV)FCYf7lVJu_!dkc(HUf1s_6E2K$gx;*EOr+>4dg^DIT5=L zUV>NPHK6?1?-iw$0?nWWU}Gy6v;+LzDglUjt9~#HD7)1>sDM*p6Wjs20bjOy6869| zK)J0bx7A+Q57^%d-?sV;@NKKF;2XgHR#J~2;b-_2@JDO(Xx#}i0ROh04V2sZY^a8v zfb7<90Df(aUt8nX*4Wh=zqbBTQQF|QHjCg^pu9FeDN0-Nt8H_@*KNIkoo%~9cjyVd zAs!MT8OXP`qhTzJhlxNO+Rg%Uxvd{^AP)*)1)K)x+4f?%2CfHu)fT3qFKD>FUUr_OZ|g+Cc|E|MnTs z7y83M$OPdKzZ$nYx`WFy!Pk7xo{qw4;KQqw7*PII-CgT+=2LX z@IV(h35b0M@~Z>7b$AEf1LD%*Bf$3^h;;{I-GNwlAl4m-bw_fpBeFW8cSro+k$82C z1M;rpRG>a}oC&jGF66-Na4$Rn55mLnD3EI%$?J}9zyWw0-UafZIOXkJvyOBCt}h`z*@i`oz8? z&iK7Ee(#LmJ7>ZW!0(+Wz$D0mDxi((jPE+10;_?%>5Ltnv7__r@TQ`4;n^-c*QFTv z`!4)VmowljAWmJ-s|&H|aw%L6SHjhBE!+jWU=QqrR{^;67`2nXR4I0WQ*ck;YDy7q{L*3cH(!%`rYJyyZVfK5I4yPnw86PtQsQ%`K_ ziA_DRsV6q|#HOCu)DxR}VpC6S>WNJ~v8g9E^~9#0*who7dSX*gZ0deMWT*!y{un-nOIV^)JK=)qP0rBs(8E$}^U<>>NhZUta zHuT1Z-q_H)IiP!Q?C*{Jz0tjQXXpwEkOV1^2I$tiFARkdFbc*%DU?A4phs`=sW6{_JzxEZh|j`+oq zn{n6^9|8Cw{%p7eu7&Gi6YyL-&&A&Xcf#Fp58MYk;dyui$dULj;T!lCzE_k45BPu_ zNgziO@KHhsSPG8-_9eUy34bNwuO$4HgrAe}bJFebo1!H1eDV??Hp$qZdp8Oi%_v8aWT}^%$K44nd4c5bDfUFc` zrQ8HOm%?)?+u>f=0gu9C@B};sPs6kDG9W(%`6g#}5AZwur6_5{I1SlpEx-cNK#bEI5C;=rK9s{rKt89f zfir-dO+$yYi{VnZ0`OfLzDvXAG|Eq-yfn&5M}9i;)2)E)bT@dR2c$y=^Z{}qoxDk( z2gE*|veSusdJ!yvRe&Dp#5^5c($~RNK$++~03AG`#_FGGjU&>wODn=>}SPT;u=p3A_$8TdA1KfDYd!}stL{0e`-VU`E*YaitG z!PY+5*(Vm-Ku72T)RR6vp%)~Z?IBI1yR` zIno!~`nH4i&;dF@B4j{67zl%56kt=|@h}OntM3XxzrIfae(X!m_k9znPkrBm58wwy z>4zWtodA)b0)Fh*4e(vR-jD#vKt<_CdHse1<@Fm2o*t3rG5pl0Ptf!{MZja z_NxH=*AKt-y9UsyA34oo&j|2_ZHx%e(2ioAbbj6z*mYw`Y8SJ zRsUfy87Q;=A}EGZD2HW$5Bi@3r@|UI186h)qeuViVKdwSH^COT9f)6lbm>n&(4V^B zpSblWPW``uKNV#_6tsmjm>v0%{HiE}tk4Y-AqCQ*4~&4RFau_T zA9A4p7Q$j!2`9s9z+Z#TgmVDh2BF)a3jlu&A`XL|fHwdiWZD5+GyB3wAm1{x0oyWX z!W@_ng-`@bU@4TtdbkI$CljA${-7v>$@jtdbTBa-jPC{yhAF@^gUQvw%K=>nqw8RN zH~3DtACNH^pA3E)o`V-*AG`?%;ZvZD!IUusoridU92qhQhQM$jHbaQb5Xu`e7jhsU z$lW27JA`tFQ0@@Q9YPsHUIAndIix5Uca%=c} zD1;&)&co4d_*z&8=feenp2M#J{4#tK+zR+{_?wC{!USd@?jy+E5yW7`Vkm`jSO%+r z7>rmAYXEs8cEgLXACNWTbvOWT!w2vU`~<(kAAoO160eciKC%T^0AG*n2ibuBBP*c_ zC~qX?jl_K3>S?f`Or)ONTRi1Daj6lFB_jP4C-FbpOE@fb}! zMq|(D5-5WTz@E`(!a1-G&W8(uaz|6%Xv!PC8OYVq_;&OYum@fQd^;N7j(!I|0&E$5 z2)+mWI|e<*G=mcXzm6e>W3XjRHQWf;F$O!v+ygt{0l;r#h}#%qHHO?D^En`Q%y;l3 zVBeVE6lE+v8%utS^+6kG51pVp^n!Ru1mZY$6iftib1eQHI|JrH9u&YrSOk{>u^am& zVBgsNfG%TS1MC}%U1NU&Y#aLrkUQf}02R<@oEy+*Tq|e`9iTIGgPuT4#`T2}kPFKI zUys`cyWj=DpW`TN9JY_c_Ho!g4xf&r%yE=CjxxtbfC=#L_;xT7uxmUyGoE@jeglv% z6x|Xf$1<4$i;~Q&Ia;+;(DNsn0Pr{ z1?1vHa&h7&xD~bnxj*r4cm#;oMC_RO3cL>ZaUyv+@qNIb6N%l#p8!8j#E%p4<0NdG zMC>L-L31Ehlainx41~cj3`PQVXi_#zgBdUz$mdB50Np2@3Ks+UJqh1WLf=W~I|+R! zq3@*aa32tZN#yt>be^;uo(1AQX&-zH-@te9BcSJG^qY)+lUslld_aCpZVTu;8GR?G zLIx0v$!puWPC9hUrfdalgX*c@I}@b7zfk94~yV5An&p+f=l5FAZ}UsAq$(co`Pq9oXaBTvWQjI%kU{+Yt}FD z8~mv#*$SKh*qj{==$GvR50Hb|-GTa)jh@*_fc@FnpN;+5$FMX&a{wLY=0X7wm$^3qxit57z{hj%hI>HD zc@y4-_uvEgSyBAWft>Zb!3#cU1#O`hWI{IJdp~yjDa*eE$^qT|F;R?7Kt^;(LhyC-ge;)SFy9=IzXW%(_9`?dZfFI_42I^C<**V?hShKypmXkexB$rMT>P4QD{KY)n0qH|hx_1hz^Az{!)x#+ybbTd z`|ve<3qQcm@Ec%59=hkDdtM7LLwo21U7#!UfZos-XoK>`z<9uxylj{TGXQ_*VNc#d zz@EHQVGU4+@~|WCY&aM2eICBgyBTf;Y{|opJnYE37aoS)@C0B_-dlhTdDxKm0UU%+ z;YavIQSw!Yf)-$bXs`h~=c98zI_GD?P#6v)As?1P1uO^ro{!)2(K-KYK+pX3umNs> zn_&x}Z$A3wqi_C0@F=_h``~53@A>#WAD#2jtsnwSphGig4eg)hks1Ny-z zAYTf|mjZI703R1j1?pPCd?1$#ieL$p!aBGDu7>Mi6QFa!O@L1e@M*zL*rh1*@y+~J z&=q<>Z%BY-K!^E*VHn_}`D0)_OoA*RALnlca%#befUXP3;ROY-5EcVEEm#WWa2DXd z1(yIZUqH+kTm$%V!5wfH+ynQ+gYXCt_XT_5L-+`&YYWKJ1&0-7;R&EZb0AL_V#`9} zyf6mPec>P&0>pSB`Y$9W7vi&p_-r9QTZqpVmcV219J~RvH47*6hNJ8Xly;a=DYyWnBi4Nt%x zcotrOeeg2825-XK@E&{!AH!$xC42+l!H@6@{0@I9%902$fey{V4AEc*7kD8S+CY2g z1YMyA^o9gThBW8{{b3Lcf#EO;#=-=c3{zk_%!0X)1NpE37C|wTLOCph6>t)q3TxmD zI2+D|^>6`P441)`a1C4!o8d;d1#W{o;4ZiacEAJh5IhQx!&C4KJP&)}C3qFyfVbdX z_y7*Vr|<=Q4d22K@H6}de=16e0w+KVz@H^?kPi5#Bpc>{AF!na8%j37R=5v{cgZX8 z4iLwZKNO`@1>#eRoKobJBBvDpmEyP3`EWX%2j|26@EAM+-@q?`UQ3C~QsS|6Bvio3 zfKQihhX>(dz`mu}we%}RDRV+=XbVGO987>y;4C1o%eDdfmf_1XbS^{ZGITCGtSIGC zKt7dsgG5LM;$M#5<=9_-HW0h=ivYXJAA#L~f6MV}`5{HA@Irg&2$?V%$fb%xCj60x$f-b11-evx0-q^Lr4@WY9#>*ZCAL&zOXXrfMkRSxc@2;+l{W+at9%Y# zfG^=kAim3-&>GspK){#F&}rF1SPJCqvWo#(%dP`_vkYC9Jr2lOhMZ-{S&m)Hv1>VY zEguilUB%BBq=mPP8f2;6oRX&gpRi^+ksv<^J z_@(L=xE08WDr~CS3*^NL>i!Dkt-voUIsx)lVAG08kOj+OHLQWna2sreJ+Kd60&;AH zltqrM#5XIEv9cQs18iG45thPAI0>rZcDMuf!vT03{#2Az8bm=V{9jA=8D3?X^$+{n zw9rBbfj|;kNJt2T4pLME4G_X$?*$8DZ=+*DilQh@5Cs)QkuD`DReDE?h*T8|O{56Y z0)#+-{7;|vojJ~#5A1!fwSH^ee3?16^6hQsy?gQ;FED~n8N))nyS?qI_gVh^zPsyV zjy{cO!oxhpGkl2e_4xvs_SwiLe7BG9_VL}m`tB>szAbPceedR8`ZI+0u$R8}($_Qk z+DTvE@0%Y&zj$hqOjmB_PVAzeUGy7_?D{RhUG&?_5srrNhJC)_w%(|U@4WFKdVj<2 z-k65nz3~%!*cZZ^#VAKKjcH9=?w~sl@j7qw4)*q@zTZ^)&0Xy0KnVRkqkm=e-oFjk zlf~o6yZ?*0#r~f&mep)xa|mz6l8D=R%je(n`L}%jt+^~^Iafk>JBl*gg}&Z?1UbB| zm$&6Gz@HDONF^S?{SJ5n^#*)}`3J~pz-i8e@J>tG(VpH6;9b7QJ-#EScjM64yEW;~ z<2=a}+}*pgIY|K*Ll}4s?sZ^i-e3^+Ja2XDtiu{Jp<#Gt`%jJEaeg8q8;3?K3v-h`zFd~Um(&)!P z2J`Qqxy2E`h46u%KhX0Bdj8-8KI3zalaD=pn2p>&yp5TB%fb*wR;4y|c!@r!GjbcA zJ@StbM%lwC`yFM!qwH#w8AeT~D1?vn{!v+O;%@F`4ok3ykIPUAd3|h0AItLNH<0zm z=Qtn2Cl4W;PoBo?pP2m<^NrTi=ms=IU!%Q?qs>41XZB)mpZc>;ufqJF4#NDOj>MmT zdW54PeCFN!?0T~J5WD~E3;rgLvmuP}=VQ9kjW03d7&DIX=VJ=7tIu!e0Ul&I>)9B> z7xidLbB3V)7awsUgt5gaK@XncIo#4%-y6FrgfDB7P6n^z@0>5q`K8>yJjme?#<_uU zZeW}n733XF2;<%T`1)ib=kZS>=ken)-}qeq;y5Qm znBW#B=w*W3C)|d56S^al2{M`BI}`p!E)&$5=pCHs*%Q5k6Fq;T=TG$fiL>zc)5Ikq zOe#)!D&RAdd}fl*Oq#>Lf4(e)$x--wY;q-JJoz!6z;h;h&SamPQi>R2d6=ho26sGV z6>CEHN}gY(V}`HZU=Tyt%^{A2Fx9P0?Z6G#)6}ty<1`n!6vDI`q*0GfxbJDV(2s!( zW-?!+$7$cQ1GhQtSAIvX)6|?^60=X2(e#$wf%&JuMlbArdLKMkL`USdN)ztYtmw&)CdX^f5ypGxRaz5BBmW2QmMQW1PUeGwg7NcW{QeXIu_J zxsYpLxuqzBz2(Y0*Isg~P>m$yoSRH4^3JVKLz>VW?__QpuHiboU%4I0rYkoh&s^_R zuD?5T@5SD8-A8T@9^*;uH}`p7g}n|Ul?G0RxV8rHFqAK1cneqtAPo4beo*m3S*j&ht+oFShJT%st1nZB^1V!tLC}y*$7} z^x!d`Cb_>n5&~q17!woLf(?XwFI2!NI zLhsK)`7ZpMdfNnQzenPLanse136n2H~@d)n2Ujk}A}}>`T(A z&&#~U0OY&G=a=kYAAfR?BOxp`%hC?qKqtDe0dp_?h2Pj6!ZOcX)(Y>;vTN|pEYrub zkN5=hEi>P8dtct1mbB(-=CO)3xZC9$Ls*f3&#tIP17y2mD)VvgE8P2vWg)CAO%$tZcer6YD{9#WBn{S~z577gA+-&a6_PY5b zd7KO3$LqNXpa1c8?!xzfJciHy=mvf~6T%iXx44-t{TYCFZp$`&c8lk3k>{2}A#82N zb;xsT7M=Nkv5aFPQ}EoamnjNiTQN$~8yRgI!Z1eg2Y;iVZ6`P#!uF2bihj52cl*6; z!DqMYXZwEs3SmcMuAv?J*`c2udfB0u9eUZJmmPZ9;ki2s(a+96aqMa5Xg=c$e150- zcFJO>+;$e=J3n>eHtyhV?!zvB`i9xe!!Ca|SvDF1MhybylBh3-6rXa4S)zkkgVma&pGA^cH=I;4`0 z8UC2ceANGAF+RV$J>9s8TaoSVANd{ickkms2zxRy|DLO{<2`n~XAx%Dvw=^H}LbL=Y4Cc7DJ!4%qVnyEx$U z2kh{#TA2B-Ml_`bbMVZ+R$+gC`Od+L)WGKt%KKnlo}m}L=|_LghHxlCaY|7JyF6r< zhwSo@ybj6h&|&`lY(5vb6vE*ynE$YwKYSm)bJ*Xd$D*i==N?O- zI(B;Ozr4gN$m7_>5dQJmf6V?*d16rKpU=_bKjWDc!ttu4l12vha9o|^@;^Qgdp~Yx zCrYEY6Fz?;5qmiCDP}z3Mo!G&Yvg#+EGK>bWH~C}@4b_sAeWPJIq5qmr;&@>I=PS~ zEMq0BapNag}i@C@kZ#f&-#vTrHl;fP@4BnZ% zq7cp$!%oh)xie*OQ)l#d<{tW^_8E20OvK*Le1jW1qt2OytYR(e*~kyb>dY_vg&R1d z*4dJjMlNS75R09kt%2Q~t%ID-regXTF*9 z&6 zdOg2_&79*(2nBXoV21^26_~G}J`HI?bFSe!3Nfg5B)n0PdmS2=;WrJ}zX^mPdG+UZ{ED13u#m z)VSczFHFJiFQ|24KK63KUM?)fU0=8o!bO>1Y{9j3;x_E};)AGhu_tD{_+S2qTfV5~ z#Xgw%qS-F4ME@7v&c&h-3ZqHH-U{ulFav!THl{W9SJ;mB+<;vc-iTcms#T~~p<0D% z6~0bi-eoZFF&y(2%D3=y%vm^>rO32!HQyoI!fnX3(7c7e@&|i3%xPqBDGE1!N#B<$ z5=V7vQHNC0F~=o0a7pf$WN>Lb)A^QF$l#JXmwv+zFWKQGJG}G{C&}Y1=eZEV<;uw7 zau>{e*{qk}#*CLgWdf6#$_&0{0gG9NSudOQ@><;VW%FJB6SXcEP>A`iL@0szu9)wN z`L0x<8j0A`m8RIqmCoeQjhnfR`+1N@c$CL^k^$)J$|CmTMz5HyNWG#8RK@d)YET<> zirhhwJ1A;K3tG{J>$wTFirie0J1CNK(R0YANH#_8py*BB;vEJug3oaSMQ)&IDRL=V zjTGlVs}CkS6Fk z(h@yKZbe^_fqcV4)QkMYpB&=^r#Z{{5GfWYPAN)Lj%ebkMLj&fSUWn9MQ3ujjXSxA z`{>R?JjtuP#rup#9>vBoo=MDP7IT@8UW+Ye4O{t*!<^y_`CQ;qh!ii0UW@CsxL%7_ zq!KbJuHWJ^DSjQXd9k8?M2uCGDo9-IVOa!wlkMmg5FWs$FsqGA((O(CM)3vHvAa^=vWTUuU;~@@k*)0DC)6%=410_!j@yok!QP^( z;KrkpQ8UV%Q5kqIqZ-kQj@*hni|URUqaNjPUf?BO;Wc_A|EPBvfqtW=FbzA7`i40y zK|WEdSi?H>A0?|Ody0}(l#HTe6!mZ4?k`GKrR}A3Y0BaLN>{`jrR}M-zDu{D137f# zW^Ut79^?^vqW98I@eBiTE2ZUF`Y-IKv|A`s0yWC0Q6`Rf5~xF6>QSGDG^RDzV{c{d zMowkqR7R~bYL$5wIhE-}ANtXsw;9WK?4U42%Bo$~&6ll?xym-9C2Ewtns#)?oMpRl z6LwVAdsg;&K4ua>;0DU>z0ldrQdLYAcYLc(=;Czw$CIuTJ?C(lB57Ok`NzeC5qo z-hAcTa|0bwtGqpx|A=L{m-1WL%^}QI{vS?~hYZVK36basYDSmBtkE)!Ry#VKCN#%< z(QUW}wW71J!)UoiyPs&eM%!Jqd7>xqJ@yo>cJxusAlK*%TtdDT)T$uY3Keia72@!& zRj7$fE3`nS6>?Cgf;ts$<4zvr5qjcwDm;aZE4)m9hVu!Z@de|UNG{(nhj}bu5v$qE zFZ{)EPNDA#`mUhw821q49%A$zQtQxUDvW=bWW*_p2J;=YckA_I4l4Q~r zc~*KF^Hq8Wb^KOoq|#W%BWJ%^8mTmkxqQn)maq)-`R&q3rQbNrDeS+J{a3R8O71pJ zy|~hp!~WwcQi&u|v5z>t#NB}X$Ju|J{m0#e{m02C&Tir!q6a;Bj^4;8ZY1)E`x5(z zo6J<~BhEhJ>?3XwOIgl(^c*LjxI=iy(x8bfT>%H<5yvQ32VkpD;fKhzGI3}Y1%2S!ncj&G1#Sp1dhX!0r4xV4- zPVV7;9z>lgPa_|{cN(ek5--z__xKbURZ*jg8dYZSH8QHQm}RVBHEVIRRqVFPL1a@! zHdSO3FPr!hL}8!tam3@jj!!~P@oBU`Hu3fuFN=8ljK2?=#CzA`pW<2c8ZV!Cy~e+a z`;XUe{72|FUZ3&$jJMNxJB`A>Z*M+t|r3$foK64&jcf9^(Y3xDX=MilLWka;cU?O_Fi< z)!coxCN!rdt!c{*bmJ}_MLyN!Q_U``y+SYE;vEJtgkijo-mA&0S}u!NjlQeNr<#1K z>A#x3tLeMiZuasge{r0`5J@P7eI`_=7ImmgJ(^;t39V>@+fQgmXKv>~p1~dyUPIOi zvQCh7f<6=UnIP+g53$>XPjL4MGg*jU{X=#m2{KNQae`hG^qL^!1Q{pDI6=kNiopiTX{{Z=!w^ z^_!^QMExe}H&MTd`c2etqJ9(gn>dYcS%Hib^_?i=L>VXQJ5k?>`cC|Vz3k^G1tF4D zf>;u9qe-<%A&tf~qa}JyYKxweI&us5^Ca##NzX}oPSSIdo|D{hlAe?Foa7dg^qe#b zcbqhZxhzG`NqSDwbCRBuWSykvBt0knik_49aG0|cg-G@CRG}J4)WjWEuTMjopzrGX zuCDLux6%teRsV*Ctio=qt5aPz)!kq9eb{aFe>h1VYF0mw-PR~ZIn=G8UJdU}jdawl zp>B<~Z`DR>xStwl$VaW3YSk=BY045!3~JY` zLt|QVHEPvVt7aD6xS89ygS)wx9z4tIyv@4|<~`nLG-DWxo2ogH$$X7H)m)Fg)Ra?A zIn_MCA-n@MaLcQAAxZB#EU;8fPQd^zckKvAMd-rNT z$A5W=KG<9B50Oo6+0-7-B)(!6bMfxgUdR%bv5p<=;TUIeL$zg7TTjV>GPvX97-FeR zJhjNA7514dmt^})w$J1{xrayS$rH#Z*M=QZ@3tlwn)ChIp@zsdSd)^DwJ>o-}y$@)#+#%~6hobq3dkl!HYru9O$uq$qXFutTt$1_QHs5$JVXy3 z!(LPDHN_pJ$S0*YeR&gimGT8^(Nl{3q!!0~sp_Ss;`ymfXpTCm-tW}w=}0zergp>a zrrwPlQtcvDtyHyA`_Z2P3}XZ`O8tn@e8xm(vY0io zscScNWmQ*Jb!Amo?{yPNK~{cuI8s+ubsJ%px@M?*12^NI>fX-nC|=)JC7>+Zyk>$Oul6iOVNM2{?pw|x?4&Al|!5)k8>1I7$Wsb zAoF@MuUDQJV#(w-9%e8f@;UbFx0WOI^=s82r8G6oGi=H#|oFStOJ!fp=Hx6?e_gFuQvP9z^>$}JL)v?$5 z_F6xcblhY8W?aXAxP!aVcm3|jvA(|R>$|?b>%Yj$yvmylV>FZbn%T@_0gJKA`s>)p zCVs?S*01I7$Sau zI+7{xOnGOPCx%$`ohj$cMqEu6oykG(nKz^NOuc97JyX`1kMbDL(}#hKVhm%^cjhE! zAn#0hXUaQM@0ohd{EiLCx?uuo$gE)l^wF>v?=lEkG#rjwZ+MjBoZ<}mn6FV~WZ%fG zH%g%{S8)@!a65N#FH_M^BYSTouSWYQ3X#V4*x1cA_T9#MX{?vVdTHDQH`n+M?#9hE zet_qA0lRDb3VLq5md*Tzej9ss;{(`9<0B!`qy*7a#H}|`vx(W8sMkcjCh9e5%9{-4 zW4>S<6PdzHW-*sZ_@~nzp1JUAYxGG?hbBIW%?0O?&bLPxCCV^EM+Gi5Z%H%ICO^rn$^v1@daT zp6}Vhc78(tP4(;duOrR$(5xYC=|C3lvzhyBX1C4kwwc{FyB9aw?0u%Q2Jb{O&ug}e z-`T@{4j_kS=efw`5NRHWqAYT0E|=z&xSA*V2>my=i{|#wT>i}$vy7Ff*W4VrDZyWu#DTBG +5= zs!)w2YLZMU>C~qoO=!+lwBZ`AqXRc`Gq)kfHulqI7IT=-!VqbzUfTrJXsbqBHQGLh z+1vI-_HEzhdwxOQZSAwIeO}#&tGSl;+`tkx;PY48(bZc+iA zMlSNWwk&$ORtDF~;M(py&9l6~ORQ!K+t`V|+UdPr17y;!2{LKdkD&}>1S8qUaZZxQ zxe&Qd-`CyDt=z%gjOS}+F_&*C3X%4DYhQs_ybta5*Is|^_1FFd^w)kF=5PN4`fR^F zL^{+W6Pa~z*Bx3Q+YWl`@ID{%5&G+(zYhBApuZ0KyZ(A^;udb_F5KDm-!PkbEC`Vs zic^tFRKe}s@F@R9UpKr$FV?e@pRvyy>@!PmS@x9G4!4t)MHl{q+F5F6shefqtj95H zmix$hi+31=S+YhT=Pa{ijlqtyX0n(S*j?6l$R}$vTai!JF7|Vj^ISsS9g7i#yXY8A z3})+C6YoJsId;@{M|a=xI`rMKGdbwJ96HLOqYOIApkp8UGk}2%=6yzE_Z{uN zqrG>u_l}EL&MMZjjvx4mJsjf{XUM0JDVDif4I&mwAoe$iCCtyoanixra_)F`b#rVLl6yeW#UdMAn`5@)w6W%1QD# zhwM9f4?CAa)}5=9Oe*PQ(wJt*zVo%{x$|x4x$}K=rw5PmB;JqCvhVyldhR>|J$D|> z7{)P?DNJQHdhWa)Id|TIzB~WIZ|ueloey#XJ!h9d&e`SBcXnl}l870y>*C$ZmUXtA zvu{A(*_KUoVp0j10?as5`!JTIhVI-e34Y!i5=j?g7mF%Ugz`bOD z&kpvX-|Qo}mu&ZveFpcET@WH&+)9_S=-F={N4nIa4l?gjA2-uQ?p<2qR=RZNcJ4vX zT^{679_J~Z;br-F6NSEWWS&!rDwrXsHW^%n%yaad(*c?1bm2e9J?AbS!j0$1JV(ztuOaiCH*qgH za?csgCrm=-IeO0d2ASt9U@>yfF+bu%^38GNH zn;g2`#{467zKXjtwDlV=O7uqfz+3fBF9k{olW;fBFCY_y7N&ksF)*Ki-Gx AmjD0& literal 113781 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 &Td32 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 diff --git a/Builds/VisualStudio2012/Dexed.vcxproj b/Builds/VisualStudio2012/Dexed.vcxproj index 3558a70..28766d5 100644 --- a/Builds/VisualStudio2012/Dexed.vcxproj +++ b/Builds/VisualStudio2012/Dexed.vcxproj @@ -1137,6 +1137,7 @@ + diff --git a/Builds/VisualStudio2012/Dexed.vcxproj.filters b/Builds/VisualStudio2012/Dexed.vcxproj.filters index 1e2689b..0ec4f8e 100644 --- a/Builds/VisualStudio2012/Dexed.vcxproj.filters +++ b/Builds/VisualStudio2012/Dexed.vcxproj.filters @@ -1419,6 +1419,9 @@ + + Dexed\Source + Dexed\Source diff --git a/Builds/VisualStudio2013/Dexed.vcxproj b/Builds/VisualStudio2013/Dexed.vcxproj index c81b7a2..70a3aae 100644 --- a/Builds/VisualStudio2013/Dexed.vcxproj +++ b/Builds/VisualStudio2013/Dexed.vcxproj @@ -1136,6 +1136,7 @@ + diff --git a/Builds/VisualStudio2013/Dexed.vcxproj.filters b/Builds/VisualStudio2013/Dexed.vcxproj.filters index 685192c..34d1244 100644 --- a/Builds/VisualStudio2013/Dexed.vcxproj.filters +++ b/Builds/VisualStudio2013/Dexed.vcxproj.filters @@ -1419,6 +1419,9 @@ + + Dexed\Source + Dexed\Source diff --git a/Dexed.jucer b/Dexed.jucer index 9aae1aa..6cb8688 100644 --- a/Dexed.jucer +++ b/Dexed.jucer @@ -16,6 +16,7 @@ + addItemList(input, 1); + sysexIn->addItemList(input, 2); StringArray output; output.add("None"); output.addArray(MidiOutput::getDevices()); - sysexOut->addItemList(output, 1); + sysexOut->addItemList(output, 2); //[/Constructor] } @@ -123,13 +124,13 @@ void ParamDialog::paint (Graphics& g) g.setColour (Colours::white); g.setFont (Font (15.00f, Font::plain)); g.drawText (TRANS("Sysex In"), - 19, 170, 131, 23, + 19, 178, 131, 23, Justification::centredLeft, true); g.setColour (Colours::white); g.setFont (Font (15.00f, Font::plain)); g.drawText (TRANS("Sysex Out"), - 19, 210, 131, 23, + 19, 218, 131, 23, Justification::centredLeft, true); g.setColour (Colours::white); @@ -146,8 +147,8 @@ void ParamDialog::resized() { pitchRange->setBounds (192, 16, 72, 24); pitchStep->setBounds (192, 56, 72, 24); - sysexIn->setBounds (104, 168, 152, 24); - sysexOut->setBounds (104, 208, 152, 24); + sysexIn->setBounds (104, 176, 152, 24); + sysexOut->setBounds (104, 216, 152, 24); sysexChl->setBounds (184, 256, 72, 24); //[UserResized] Add your own custom resize handling here.. //[/UserResized] @@ -209,10 +210,15 @@ void ParamDialog::setDialogValues(Controllers &c, SysexComm &mgr) { sysexChl->setValue(mgr.getChl() + 1); StringArray inputs = MidiInput::getDevices(); - sysexIn->setItemEnabled(inputs.indexOf(mgr.getInput()), true); - + int idx = inputs.indexOf(mgr.getInput()); + idx = idx == -1 ? 0 : idx + 1; + sysexIn->setSelectedItemIndex(idx); + StringArray outputs = MidiOutput::getDevices(); - sysexOut->setItemEnabled(outputs.indexOf(mgr.getOutput()), true); + idx = outputs.indexOf(mgr.getOutput()); + TRACE("output idx %d output %s", idx, mgr.getOutput().toRawUTF8()); + idx = idx == -1 ? 0 : idx + 1; + sysexOut->setSelectedItemIndex(idx); } void ParamDialog::getDialogValues(Controllers &c, SysexComm &mgr) { @@ -244,9 +250,9 @@ BEGIN_JUCER_METADATA fontname="Default font" fontsize="15" bold="0" italic="0" justification="33"/> - - @@ -260,10 +266,10 @@ BEGIN_JUCER_METADATA max="12" int="1" style="Rotary" textBoxPos="TextBoxLeft" textBoxEditable="1" textBoxWidth="80" textBoxHeight="20" skewFactor="1"/> + + using namespace ::std; class AboutBox : public DialogWindow { @@ -47,7 +50,7 @@ public: g.drawImage (about_png, 0, 0, about_png.getWidth(), about_png.getHeight(), 0, 0, about_png.getWidth(), about_png.getHeight()); g.setColour(Colour(0xFF000000)); - String ver("Version 0.5 ; built date " __DATE__ ); + String ver("Version " DEXED_VERSION " ; built date " __DATE__ ); g.drawSingleLineText(ver, 9, 118); } }; @@ -147,8 +150,8 @@ DexedAudioProcessorEditor::DexedAudioProcessorEditor (DexedAudioProcessor* owner global.setBounds(5,235,855,90); global.bind(processor); - sendPopup.addItem(1, "Send current program to DX7 via sysex"); - sendPopup.addItem(2, "Send current cartridge to DX7 via sysex"); + sendPopup.addItem(1, "Send current program to DX7"); + sendPopup.addItem(2, "Send current cartridge to DX7"); updateUI(); startTimer(100); diff --git a/Source/PluginParam.cpp b/Source/PluginParam.cpp index a7f7ff0..5d09062 100644 --- a/Source/PluginParam.cpp +++ b/Source/PluginParam.cpp @@ -23,6 +23,7 @@ #include "PluginParam.h" #include "PluginProcessor.h" #include "PluginEditor.h" +#include "Dexed.h" // ************************************************************************ // @@ -57,16 +58,19 @@ void Ctrl::bind(ComboBox *c) { void Ctrl::unbind() { if (slider != NULL) { slider->removeListener(this); + slider->removeMouseListener(this); slider = NULL; } if (button != NULL) { button->removeListener(this); + button->removeMouseListener(this); button = NULL; } if (comboBox != NULL) { comboBox->removeListener(this); + comboBox->removeMouseListener(this); comboBox = NULL; } } diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index b18d9f6..706108c 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -21,6 +21,7 @@ #include "PluginProcessor.h" #include "PluginEditor.h" +#include "Dexed.h" #include "msfa/synth.h" #include "msfa/freqlut.h" #include "msfa/sin.h" diff --git a/Source/PluginProcessor.h b/Source/PluginProcessor.h index 7ef1315..aeb9929 100644 --- a/Source/PluginProcessor.h +++ b/Source/PluginProcessor.h @@ -206,12 +206,4 @@ private: }; -void dexed_trace(const char *source, const char *fmt, ...); - -#ifdef _MSC_VER -#define TRACE(fmt, ...) dexed_trace(__FUNCTION__,fmt,##__VA_ARGS__) -#else -#define TRACE(fmt, ...) dexed_trace(__PRETTY_FUNCTION__,fmt,##__VA_ARGS__) -#endif - #endif // PLUGINPROCESSOR_H_INCLUDED diff --git a/Source/SysexComm.cpp b/Source/SysexComm.cpp index 5a47916..3450f29 100644 --- a/Source/SysexComm.cpp +++ b/Source/SysexComm.cpp @@ -1,14 +1,25 @@ -/* - ============================================================================== - - MidiMgr.cpp - Created: 24 Jun 2014 2:43:55am - Author: Pascal Gauthier - - ============================================================================== -*/ +/** + * + * Copyright (c) 2014 Pascal Gauthier. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + */ #include "SysexComm.h" +#include "Dexed.h" SysexComm::SysexComm() { sysexChl = 1; @@ -49,7 +60,7 @@ void SysexComm::setInput(String target) { int idx = devices.indexOf(target); if ( idx == -1 ) { - // device not found + TRACE("device %s not found", target.toRawUTF8()); inputName = ""; return; } @@ -58,6 +69,9 @@ void SysexComm::setInput(String target) { if ( input != NULL ) { inputName = target; input->start(); + TRACE("sysex %s opened", target.toRawUTF8()); + } else { + TRACE("unable to open %s", target.toRawUTF8()); } } @@ -75,13 +89,17 @@ void SysexComm::setOutput(String target) { int idx = devices.indexOf(target); if ( idx == -1 ) { - // device not found + TRACE("device %s not found", target.toRawUTF8()); + outputName = ""; return; } output = MidiOutput::openDevice(idx); if ( output != NULL ) { outputName = target; + TRACE("sysex %s opened", target.toRawUTF8()); + } else { + TRACE("unable to open %s", target.toRawUTF8()); } } @@ -105,5 +123,6 @@ void SysexComm::send(const juce::MidiMessage &message) { if ( output == NULL ) return; + TRACE("sending sysex..."); output->sendMessageNow(message); } \ No newline at end of file diff --git a/Source/SysexComm.h b/Source/SysexComm.h index a6ce6bc..04f5da3 100644 --- a/Source/SysexComm.h +++ b/Source/SysexComm.h @@ -1,12 +1,22 @@ -/* - ============================================================================== - - MidiMgr.h - Created: 24 Jun 2014 2:43:55am - Author: Pascal Gauthier - - ============================================================================== -*/ +/** + * + * Copyright (c) 2014 Pascal Gauthier. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + */ #ifndef SYSEXCOMM_H_INCLUDED #define SYSEXCOMM_H_INCLUDED @@ -39,6 +49,4 @@ public : void send(const MidiMessage& message); }; - - #endif // SYSEXCOMM_H_INCLUDED \ No newline at end of file