From 807ca93d9763569c86e80e597377586718a92a7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20Dj=C3=A4rv?= Date: Tue, 24 Apr 2018 22:24:14 +0200 Subject: [PATCH] add t16000m throttle with warthog model --- JoystickProxyWin/Joystick Proxy/App.config | 2 +- .../Properties/Settings.Designer.cs | 2 +- .../Properties/Settings.settings | 2 +- JoystickProxyWin/Joystick Proxy/settings.ini | 1 + .../Assets/Devices/T-16000M Throttle.meta | 8 +++ .../T-16000M Throttle/T16000MThrottle.cs | 55 +++++++++++++++ .../T-16000M Throttle/T16000MThrottle.cs.meta | 11 +++ .../ThrustmasterTFlightRudder.cs | 66 ++++++++++++------ .../Assets/JoystickVisualizer.unity | Bin 361940 -> 386164 bytes 9 files changed, 122 insertions(+), 25 deletions(-) create mode 100644 JoystickVisualizer/Assets/Devices/T-16000M Throttle.meta create mode 100644 JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs create mode 100644 JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs.meta diff --git a/JoystickProxyWin/Joystick Proxy/App.config b/JoystickProxyWin/Joystick Proxy/App.config index 3e82400..2ae6106 100644 --- a/JoystickProxyWin/Joystick Proxy/App.config +++ b/JoystickProxyWin/Joystick Proxy/App.config @@ -14,7 +14,7 @@ 127.0.0.1 - 11011 + 11028 diff --git a/JoystickProxyWin/Joystick Proxy/Properties/Settings.Designer.cs b/JoystickProxyWin/Joystick Proxy/Properties/Settings.Designer.cs index 1d90053..0009dd5 100644 --- a/JoystickProxyWin/Joystick Proxy/Properties/Settings.Designer.cs +++ b/JoystickProxyWin/Joystick Proxy/Properties/Settings.Designer.cs @@ -37,7 +37,7 @@ public string Host { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("11011")] + [global::System.Configuration.DefaultSettingValueAttribute("11028")] public int Port { get { return ((int)(this["Port"])); diff --git a/JoystickProxyWin/Joystick Proxy/Properties/Settings.settings b/JoystickProxyWin/Joystick Proxy/Properties/Settings.settings index 54be849..7fd9a24 100644 --- a/JoystickProxyWin/Joystick Proxy/Properties/Settings.settings +++ b/JoystickProxyWin/Joystick Proxy/Properties/Settings.settings @@ -6,7 +6,7 @@ 127.0.0.1 - 11011 + 11028 \ No newline at end of file diff --git a/JoystickProxyWin/Joystick Proxy/settings.ini b/JoystickProxyWin/Joystick Proxy/settings.ini index d5ca1c9..3127e23 100644 --- a/JoystickProxyWin/Joystick Proxy/settings.ini +++ b/JoystickProxyWin/Joystick Proxy/settings.ini @@ -1,5 +1,6 @@ [Devices] 044f:b10a = Thrustmaster T.16000M +044f:b687 = Thrustmaster T.16000M Throttle 044f:b678 = Thrustmaster T.Flight Rudder Car Mode 044f:b679 = Thrustmaster T.Flight Rudder 044f:0402 = Thrustmaster Warthog Joystick diff --git a/JoystickVisualizer/Assets/Devices/T-16000M Throttle.meta b/JoystickVisualizer/Assets/Devices/T-16000M Throttle.meta new file mode 100644 index 0000000..1b44196 --- /dev/null +++ b/JoystickVisualizer/Assets/Devices/T-16000M Throttle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7fbd963ba751bd04cb1ff238250b4398 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs b/JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs new file mode 100644 index 0000000..c2b95a7 --- /dev/null +++ b/JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs @@ -0,0 +1,55 @@ +using Assets; +using System.Collections.Generic; +using UnityEngine; + +public class T16000MThrottle : MonoBehaviour { + public const string USB_ID = "044f:b687"; + //public const string USB_ID = "044f:0404"; + + public GameObject Model; + + public GameObject LeftThrottle; + public GameObject RightThrottle; + + // Use this for initialization + void Start() + { + UDPListener.StickEventListener += StickEvent; + } + + // Update is called once per frame + void Update() + { + } + + void StickEvent(JoystickState state) + { + if (state.UsbID != USB_ID) + { + return; + } + Model.SetActive(true); + + foreach (KeyValuePair entry in state.Data) + { + switch (entry.Key) + { + case "Z": // Throttle + LeftThrottle.transform.localEulerAngles = new Vector3(ConvertRange(entry.Value, 0, 65535, 28, -25), LeftThrottle.transform.localEulerAngles.y, LeftThrottle.transform.localEulerAngles.z); + RightThrottle.transform.localEulerAngles = LeftThrottle.transform.localEulerAngles; + break; + } + } + } + + public static float ConvertRange( + double value, // value to convert + double originalStart, double originalEnd, // original range + double newStart, double newEnd) // desired range + { + double scale = (double)(newEnd - newStart) / (originalEnd - originalStart); + return (float)(newStart + ((value - originalStart) * scale)); + } + +} + diff --git a/JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs.meta b/JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs.meta new file mode 100644 index 0000000..cc81260 --- /dev/null +++ b/JoystickVisualizer/Assets/Devices/T-16000M Throttle/T16000MThrottle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d8f20cf39e163a34084b55c27ea096a5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JoystickVisualizer/Assets/Devices/Thrustmaster T.Flight Rudder/ThrustmasterTFlightRudder.cs b/JoystickVisualizer/Assets/Devices/Thrustmaster T.Flight Rudder/ThrustmasterTFlightRudder.cs index 92fe419..f4d654a 100644 --- a/JoystickVisualizer/Assets/Devices/Thrustmaster T.Flight Rudder/ThrustmasterTFlightRudder.cs +++ b/JoystickVisualizer/Assets/Devices/Thrustmaster T.Flight Rudder/ThrustmasterTFlightRudder.cs @@ -4,7 +4,8 @@ public class ThrustmasterTFlightRudder : MonoBehaviour { public const string USB_ID = "044f:b679"; - //public const string USB_ID = "06a3:0764"; + public const string USB_ID_2 = "044f:b687"; + //public const string USB_ID_2 = "044f:0404"; public GameObject Model; @@ -29,33 +30,54 @@ void Update() void StickEvent(JoystickState state) { - if (state.UsbID != USB_ID) - { + if (state.UsbID != USB_ID && state.UsbID != USB_ID_2) return; - } - - Model.SetActive(true); foreach (KeyValuePair entry in state.Data) { - switch (entry.Key) + if (state.UsbID == USB_ID) { - case "Connected": - if (Model.activeInHierarchy) - Model.SetActive(entry.Value == 1); - break; + switch (entry.Key) + { + case "Connected": + if (Model.activeInHierarchy) + Model.SetActive(entry.Value == 1); + break; - case "Z": - LeftPedal.transform.localPosition = new Vector3(LeftPedal.transform.localPosition.x, ConvertRange(entry.Value, 0, 65535, 2.0, -1.2), LeftPedal.transform.localPosition.z); - RightPedal.transform.localPosition = new Vector3(RightPedal.transform.localPosition.x, ConvertRange(entry.Value, 0, 65535, -1.2, 2.0), RightPedal.transform.localPosition.z); - CenterIndicator.transform.localEulerAngles = new Vector3(0, 0, ConvertRange(entry.Value, 0, 65535, 30, -30)); - break; - case "Y": // Left brake - LeftPedalBrake.transform.localEulerAngles = new Vector3(ConvertRange(entry.Value, 0, 65535, -20, 0), 0, 0); - break; - case "X": // Right brake - RightPedalBrake.transform.localEulerAngles = new Vector3(ConvertRange(entry.Value, 0, 65535, -20, 0), 0, 0); - break; + case "Z": + Model.SetActive(true); + LeftPedal.transform.localPosition = new Vector3(LeftPedal.transform.localPosition.x, ConvertRange(entry.Value, 0, 65535, 2.0, -1.2), LeftPedal.transform.localPosition.z); + RightPedal.transform.localPosition = new Vector3(RightPedal.transform.localPosition.x, ConvertRange(entry.Value, 0, 65535, -1.2, 2.0), RightPedal.transform.localPosition.z); + CenterIndicator.transform.localEulerAngles = new Vector3(0, 0, ConvertRange(entry.Value, 0, 65535, 30, -30)); + break; + case "Y": // Left brake + Model.SetActive(true); + LeftPedalBrake.transform.localEulerAngles = new Vector3(ConvertRange(entry.Value, 0, 65535, -20, 0), 0, 0); + break; + case "X": // Right brake + Model.SetActive(true); + RightPedalBrake.transform.localEulerAngles = new Vector3(ConvertRange(entry.Value, 0, 65535, -20, 0), 0, 0); + break; + } + } else if (state.UsbID == USB_ID_2) + { + switch (entry.Key) + { + case "Sliders1": + Model.SetActive(true); + LeftPedal.transform.localPosition = new Vector3(LeftPedal.transform.localPosition.x, ConvertRange(entry.Value, 0, 65535, 2.0, -1.2), LeftPedal.transform.localPosition.z); + RightPedal.transform.localPosition = new Vector3(RightPedal.transform.localPosition.x, ConvertRange(entry.Value, 0, 65535, -1.2, 2.0), RightPedal.transform.localPosition.z); + CenterIndicator.transform.localEulerAngles = new Vector3(0, 0, ConvertRange(entry.Value, 0, 65535, 30, -30)); + break; + case "RotationY": // Left brake + Model.SetActive(true); + LeftPedalBrake.transform.localEulerAngles = new Vector3(ConvertRange(entry.Value, 0, 65535, -20, 0), 0, 0); + break; + case "RotationX": // Right brake + Model.SetActive(true); + RightPedalBrake.transform.localEulerAngles = new Vector3(ConvertRange(entry.Value, 0, 65535, -20, 0), 0, 0); + break; + } } } } diff --git a/JoystickVisualizer/Assets/JoystickVisualizer.unity b/JoystickVisualizer/Assets/JoystickVisualizer.unity index 4d367c7aeddc14fa1dad91adcce59a3163a1a7f0..bb26ecf6dd9161304d54b3e41db529d627ae537f 100644 GIT binary patch delta 49405 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

F=RMpA|xG$|!pgqls*>&0uWGNEZH= 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 delta 40105 zcmb`Q33yXQ_y2ElZy;=vB1@p9O`$;9Q;N387I2{|ND-8Rpuq*pp0XAJ(+X-)(1OTR z*#e?gWC@C-Dr!*Fs-OWEs)81m*P?)7(;}e%@60`u3GepveV#wh6VrU|nKNh3oH?`H zn|P+O#b=K;Z>(9rIj`9s{7lod1kL*Gvc}CVS8Q*;eB#Tar(R}Q>byK*dP*Hj-Gz$_ zLyHS7MUPtSq56jPDcw>pw6U)B2E$T6^lJm_k98~!LZ3IWo;EBELm#xTuG1}zLK70L z<8{krp-8fIkZx%la<;Lq(JhY9&UV%^-I5R*+R-{V!O|qO`YNvH^3YHHxLngv_kq?8 zhNXGvz;)Iy3`?`n3pZLv>XsHE%TRvZ8M^*vYnEatr}g*J?}&azn&L(aRb zC+wD_P~FMa8+1$S(9P4VP3u^aL-)?IuBvBUW`yeat;;R`7uS7gL1Q&{Jx#j@?*?9* ziIsuP$7dT}OU}G$#hd1=uW57f&gGU8D+BZ4Gnaden7x6fZN%p~cs))m2-Xvy>*AHN z;w;za*J=Qr_zQJu!<#yFylGlPOe6l@mflFyDo_F{v|EW)J2WjF zpCPWbex|?BXHQT@Clf0Hn~(a1)hSZ2iKgYFAoOate|VQD>;sc6zJpj4OnSyE zGL+*j9!JdHRMT?s*^Zazi_e9=TrjC`fS+IlP`Yp+F;6q4@M>aJVA6%-K6Y~lX^!To z5bylMox}>kq=8HPvxHnNnC#-E#QfeCnpT2>yzgF1{eiz}HDFTV>%?-=M^fSV%DZ_Z zwFuY`=*7$M_r1g_63y;x43;nDi199-)o!XNTLU(W_dhpnHbHNa^1>Wq5isf2LSp%? zl^05WSSJ()z#fDyu5U51^kil9BgD$VxITo5cJgt5g(&PvQ2}@Aag&9?0ubUZIZe## z(zGBx^Fn8cIZ~A|`%ZS?!L8+h-Gg^-%*VunVA6v(cUdCj-2OI7a5%v-Fxe&jhG+5E z(OhknTz_IEU{ay)T%nM&rwO-;iVKJpfyvmKPAm$>z2N69nL)6moodPJ?<^Jy!(iwq zp>P+m?Dk6G8^p@NWH-G@%+o>Xo0zgy=qm)9K>8-7Z1oFR11MYa+{51rmY=R#{5-J; zSP2UAE;)O66ptq@ucI>XH)0Vm+2Y@cc{-_tR7hFV*Z1Koc&^f_z+^1+Bj)K!4MzRiUr*mG1jB%`Vr`Ylvb(8@ zEyT*fHliHwIxDfD(jjCynfB+RvD=`AZJl9+2TIL zycw$EzQpW3RK+Pb-6P6+z+{GV5etJ!eW}FUnHc}FC2a^+Wh#Z=OrI+hI^a{O@LOV~ zU{YZ&*u}IRtqLu zVi5CPrz*A)i-HwF9!msmThU2T);CC%4HByX^YQ-Y0k@rCUXJRgmxx8dq%q;l%lOQy zrC+aFx0_f1Ot$WAVvZY>zITX~gGqhRs-Gx#oVn!iRIj=S~q1^lBl>6YzoOu zC6+x{({_RJ_}D#qk&vqelil<-G4BwiZ|7Jc=hvzMrC`W}TFy;MaQT7e4(Qb?!KC}2 zAm$mWTD*c-5KK-)PZG^pPJ7Hfo30}qF;M(zhEvfnHMa?O2K6G zCm*cK<4$wjqRK8DF-EX-FzM+<#Qddzvhcp7d1m2Tv4nyW?wOB?1;C`-C&XMMu`hrO z7QWi3=41Gq76g-VG@6(*PnErD!wMl+1_p1L>%ZOv9ixRtP3roJ6b|Og7|Lfj_w^x7vG~5f6US;3|#C%{<&e`jPkc*O>pZ9S~f_dLA&j^M2 zU<*iLA7V9N(t~}aTs{`5kmG*8V*Ffgmlg&S3mVj~T}jY`fh~>6A{GRbEzTyEGf^2c z`HFXh!Xhx)x+%nJ!KA*a#PTO8ebc~r{hBseDI6C(D->pfNriV33xdhk-9^le$zTjr z@W4oG?rh1`m4b=Z;qP|D98*=<_EK&t#=mS`2ZHI-G%Xhec@P}PnJ*L;g2_Polvp*G zH0H8}#45lx zLI+=jE85r+Zo*g5X4-+g1=9hiEpJ4hN<<gSeo6h8nT{PIhfS9ffyfqWxW5nYn~w(1ds}!s+lGf)_^%7!~3rJwx}P3hPVdKxnrYQJ&dAtQ<`0`|PoAg}!Pq8R(z;33?yJ1Oa#Pe*S`3;S!A1ewd!Y4id}x zNL9Rd=WrJ;X%%3ILy=VW5zF4I{-r!G&`F;D8h1YHkyKqe_2a^_FM=bqg zrEn0jGB7zJa)`M{PBVA4~@D(;w{?tOyLF&RqYkB3KJ3-MX4seneHWhM2Zr zRWdB`xKNl4CWrCO#DZW_-*95C14`eBM88?M0#NqT6;re}-0CQpRCpz^{7;p_EMiq) zG6iQ7EBZ|7+i$o?*EQ+D1>IkpUTBQJGs7JO z%K?*t*^^i$7*f^hJm4ivEPmLbf z5#n0<5hZt;SSgs4d*jcpow%IiJGH8QlUNy;lzR(|*RMIh$2mUUlkkcZz9tHDAp2=Q zF&~&Le8bUqg!)q(Cl7C?QV^oNs*+$U&lXB~% zgvFh4St|pR(Lb4(R-=rmT~xmdmn#C3MxP@Vjgw1yy}OX}9hKdL_O~V&1(eAmnV9!y zl`>O^rT?M~JT>qNq0kG)y}*O@A1C_?R!EF{M!#=>V5ML(-VDyT|Lw%Tb zHD39f^F?9Tag{(O5Gw(bUE<5xCgkiVRN^WiRs<#+H=S4%%rB#Q2EmeFRqIlxoe~Pe zU~<^CA?AsyirY##FsUz%Sl&ssoIklWzbo3Km4lHN{Mspku2agw)5J=_HlhGeDrbmg zpH>DwX7ve$J}{Z8A177=HUj1Nf})g|2N5W}uv{?sKL|J&LMeES8eS+AYG-2>YNLr2 zg2}?S5vu`{EgnOx=r?8Hz*El(eHCD`->)X-{v96V{m+L)*T**t!62ZF^lrqQwaV4i zz0A;00h0}R(N8eXYKcYqW@4JIDsDZQ-+aM+ z0WcXz$;5(SQeg@)mtl!D#6_$EtS5BT#cS0I%Y{CF6i}wj)damZ)spP1Z|lJ;t_G8G zy@=)3QF6u3F+wf^CgbA)V!3sdfeVR+!Qg4X2)IQA^X$sPgu2s&!cs7)un93oJ*Dt+ zVntxG>zWdC)>r!GbPEc7xnOdH6?XHRumVu_UDh>k3c>6KN-&#P08GlYdgZ*3b770* zgok*Z?=jHDJ*;JeEx8T!f35B&_UaPsCdYV|C z!>pL+fK|kN#JDkui>8UPC1A3}NyMUHydi!b{hv=+eg)n%UxEs*FNoEENvjVM%WI;H zt|Ar%lSaGq-xd1OFIS#9_1;0jJYbc&*%0S3&3`4Y*xtet8=ozYX@V7j#avBHb6Uhf zgbQUty*mpzFPIF>3Stp3S+>kQMabp0R9*5Eu}Dk5YTeTWJ*`yhRuQWLldT(S`C2G+ zBr3P&5-S9g6|<}(Lar7}CZ955z9f?4`Tr?`Q9v2NPZKL?ttwtucw8t9gUJyQAm&L{ z4Ovet2qtIG4aD+Nl)m?O+Ol~4S}CAZSP96P!=+mC0kKlBd|XS#E0CTg_{x9jm578po|CMsXa^x*0fQAr-|jZRSJLJnVt=CEdnMp;V;B; z(kwB3$B5N{NiQ5HR@zQ_0qswVb`lCJ0gIuSkJ)y_a@$*CtJe0!aynRIi`EXrT=Ayyj4c9fcRl!N)5P{tMB(QSjMI1DKJ$xAG~i?aHI?SBfnaxfV)9}-LNYSC6e z7w^uGh=sw*@R_eG_7cnM7W0;0`~2FZUbv=}0?J|X1u=Vf71alc6@p2HRm2?bm_jY( zE!S0CUk;e;P8YEVm~?-tVCetc3^S_vKKqr%<3!;KFzJPz#9Td8;op+(6LJACnS6dH z=EziX!QB^yTq&6J)^=i!o{;0?kGtz7DF`TA_cF2cD=e`S@vUpCdP7_*1e3wFjaW69 zY~3sG{VC+US1PaWBvu6`Q@TGyFegh@TtTcFOlG|qzqIeeD|Tk9z&y8hv|w&9*>!&q zD+iO6oG0e&rH0}KlliqUpsb|JozsQFS}>`wD>2_yN?|u*)nL+F-H8?UR{F9Ad?EA& z!DM%46La?A-h%(R`y&NeeR=E30AmHLf_D(hyINKJ3b9Hs>6x9xyw|9Ti&yRw`pUrI zY4iN=0fLTemBNL@iom48MZ}!fDTT+~KM94oVA9nmh=swV2Nw9IGl`L@Wv>Tl^p~@9nDMhltgJ$rjfuYzI@X3K`5$)!DN>-C6;}+s<;`kaxmE?&53#L!TL{Dyd}w=!xa_+%HY~c ztQJhRWE-*k@k(Kkn0BvfNVDf%LSHtRY)Err0Wk8QU;8vaO9;C1RS8f?_5UT={ zarEN5j|+W{8OrF*#0tS=cYa;(UViB6*J=UfgmB1&TH#Df?8ft9VkNUwTKzzE3G!Lo5g;6|N=bny1{qj#vel zRG59{J)tiOCJpRG%r{>(?kZybD4>ki-ULe)SYqE=IliI6P;OuZOa|8pVmbFK1Aiq} z0VefDiREIJl?En$;S~Bxz|igH`Y(x~y-20t*2K!eq{3uko?@l&TwuOXSP15Xq5L%L znE~!xZgeRzo&$b3mn&E~m>f+%p7Wc~@qlv8!C(DmVK5m;Rm5t+N}!C-5rZ1PA>@h{ zD$nE)s|E9s-1Wrr7paEaKuq&Ls9K^Wd?plTgGpCghy}rJ1Fq=#U&U~(u9ey*Qjg^w!F3?UW;lb*SWn0JY)cqp-2FzJ~k zwRZ@8?xl!A*~d!>mMv8k+eQ}&LFZ$t#dV04fys*N60<+9Dz*~~fXRy6&bj(#?!hWB z(ZxLfrxDC8RSMe?3xi1)wkMXiOeq}FV5(493RVDJJel1@%)VUd8%nGYY$Igq;FSx; z>(^XQD22zr_6db~V6u--5UT={E&i2Q&I)B9s=acFvcbCjvBJ3VOi2wrh1m>f-Kh}oZ#4MF?Q z5-bFiuKtaf<7ri~KYZgYTwxAaG2XeWi-<+Qq-TnWc~&WX4-l&Ylb*@jUwn&L|2bAG z3rBH?eyDVA8bEU~XoCXT;MC@cb#!Iea;7EBJ$*2D_eTeKqRYKK?KjJrkIS}++$E@FinVvX}_ zsRU~PH=-bq%r?YIpHZ#*q{F>t>%e4xMu>Sf#uRG%i3P!=w+;}?c~W?4AE3O1{;+=O>m)faPjqco9d=+#45qcP>#n|cVgZk_bU3I-wyro zE9YpuX=Q-Y>W_%ow<}}*x}m#}D*=uxrn9O>gZ(SwyMZl0n&Gp|G1oK{1w_6Sp%Y9AF z2UWz+8FK{=Nrn^V~Lf4 zNrkr)v%hJHeJA)1VijOg-=M^ULSGb226_&$JpWtD)hTm+8OtlK0+W60B9<3c6{ixb z1d~zShM0G^s(9AxCxyN;FsW}gG3VQ+KC%9rL$Cx;rr<(i?st^J+y@5V&JD~5lk>qa zV%1>MGdB~<-J=W~POJt@dS=q@2l@A3G|ly{8r!druX_h)*$1`7rV%GSM0%wDNl_a3oA zFzNpHi8(${t*d&XOz6u2lkWeLSS6V7mLC;2hL`&(sRZb;qMZVJ(pyu-1^`L*K&BY@JF6U020GRB~ zWMaoa27FUpt>hkh3NvcZa>pLbI_u`pQd`M-_? z-N%%|PQ)s~Wa~Pdn0zmE;1Nk>U^=lvFlk^%Vl`kJAzlZsPQ*%2D1EE^N7o94m4IVt zIISj@e$t$r_=(mUVjg0A6}*;MUL0FT%ooQ3#7g4WdSd=S92~i{Z$9*D6<{)2^N6`m zsn(4m766m28%-?dv})Z7*C3&<2uud+lf?L!gWxT{i2juXeSoDfARR9z1?Cw&OxM)=l?4RmH^7(bR{u2 z=2&TUSND%XVLq7brf$S)z@!(t6U)0^8R#Y!1(W*h^DL8j{aX4BN?|=f&dR~0!urIV zH!6hc-_ZJjCPs=;KJyhtqP7OUnjffC*)PrPzc2u1*9aIGMgd#f_= zNn&9z8LTUb<&RVb&dX1n#tjUB@uXD`uZ-;z1*-s~I{aD>g4ubhl1yUdV6s1Z67!5w zm2_Pd$ep)d$o48^>~-HBz7vx)}~JA=82m4NXA zUGT~vRtv_@R}NN9tE*PTO7eMNqW>GivP6Ob0nKPlB32Q{d>sc) z=PikV$(9rl%buVb^7*f$gj@yKgOKN5{eqZhq8gqD{RArkWlO4vc_&$8=XGBaD+iN( z_vJ4$MJ3f>_fREY5zCpZjF~=nmyoLjlX5eN`Q1~L;Kp`ULNEv>TlXw6=TsHd+3Qkf zpgyevOe*X}%r#Bv+Yo3kp?$WpdI7N_Fsbl< zVo@*|M}A@@bCkZ{J4c1SFc|l$`2KG#!Sq7q)-}&w5Q61k{0|<%Yl*q$s*2YUD+QAk z2Z*KLrz)QEmv1&yXkIWGGgJTa`30;5T!D)=yuM30X9~`fb2OggAXWt?Tl@pDocXHa zABk0iNe^~?_b;K(xxgBG%HCa)HHRBx_hbDhgDZoe4=jL-+?ZouRR}>xk&-)3tPo7j z2d^yeR0wgc7EDI^Q$L;*%u%dj;b~%}U;)V6`24?$p!)&UlGVg2!DLICME(>CwS`t~ z1p4DLl->GrA3l?6c@L{fwh^lWlimsv%PCPS?d@Q^e$BC1Rq}4-wL)PI*ps-%`~5v) z)nHsIp&uMdbtz<3vD;PoM~{713=lNMIw-7YGwdQ`dk zRbrkc%GGsmEf#WNF#ZQO&`!*=RJFJsu^?C(WcU`mKCzs~WP{QE?;5NV3X1?`q<>GW z7EBuW1F`(amBJs1;Txv0ZW?}5ROrhFld&~|SO84MOlH%8_lfnNYncj~!lSp}2Sc@N zFxk4f#45m~G4~NmU#^UqM=T5`VFRR5bA-K zb^2GLaPA5fTspA`m@I2ZxhKuw%0$_(66*5HnscRU$k)Wmz^Ea9?GQmbQ!P16EC423 za=xQoD69f2hGO253&gx-%9xA9s=)?Z%E^E``iWHqtXeuBe+}_!``E2~ zzRd>d5aswC!k#u~dh^#QRknDnaus@FT+&+DxP zl+oIon0KS9_`}xogj_Y)J&@<_|A<)5vnqW%`mPf>r5a4?OCXl>oYI$q^5`ALezIQl z9R0K5*MH$(GeFiP%Y!%Z`%l$#xA8y44-e(8ST;odoi(X}nbQHd4EwCc+S4+GH9KmZ z9$ItM`j|B|;F$FWi=+SLBk%ESvtPSt$nW(Z{4T97TXozTNSIh&GU?@Yx8@Yxa^p4i zM~yGBvMWzm7qib#SWmIHPFS0>_kXos&zeWAZ{l~eKaW~dbXziNdYdi#-I~bqzq2)D zt~1ub0&ZZ%7pyH<=~=6tl>%Cl+2J$ROiKz&IBUI&$|am55nLS*F)~AY&sv*WnB%O~ zU_bn3EeBruyLFC`UT!LM)mlf0&(qnFGrV-I)k#Vr-RPXPE#6Yw=$Wi)sNRry&Rcic zQek9;X=Ks`tJjjs7F@7S6L_YnC3q2LIxborjoLug)xd@SBKU-@%pJ8FLU;!g26N#A zuJgp|0YZ-dCoS~BMe8TlM(yyo=kylA+pz^#>T@jZS;G59N~n)T4_Yi8*m0}wxA9Zm z$5?S=o0Bcp^&8pzy|$hqyP+4U*3V~ALvO&wU$8pZyx*+}qSbrNW{jw#d&TF?rdJ|$ zbki$K%=UQd>P}0#Fdy!Cqpl9GgpSnJzqeXCvSqK?QrHjmAtC;5%UliQ-zhAwfu3aY z=4@yiBUS$Wmdi+B_O^y22I4Mm^Woy&hYg3VBidEQjy!C1hTMY<_3nb~Ws4i?oyDI4 z_2+x)&oY)!Vzgn?N{p5$cchN(@|HqVD?U4!|KyKrcVyce>4~C0Hkr;i)=1A2pC2)u z;k^vb;QcevbVlSd-N~xA8+W7Qhct#OQbPreb=|@Srx`t2xkH~XTzP;Edq_`WbMG}8 zu-pXl=S!x_aDu)_2rV~NdYkCZM(LrOlU6m~LOc0$h# z4Zd8ju<&qlGT#LR+-j#@DGYtnY>53JBDS=pK3KrDh&C90uBASl8{SIKv~)EG4{zIR zA{JLB>ULbr7^hz@s@-8K>XQhM@S(ZFG(VU~&7p92C85LPMxqRCt}QvVJ4run5ydN5 z@f~o<=gIm=gi+TNeHz}@q+oF6j?^1cfSKci*H&SU53h@>Vfz~zm&3LNE`5$@&uY^a zM=JGBq3Oz^R5WttA6DKw7gKrf@Zo!26bVps+END>QFGdo3a_ccm4@En3oY3jaRV3X zwxkKI34Qg>rr+~wtqoaqdwmx!uIZrr@zy$BHxt5CQ)O;P-OhsPy5qm-Z8Tg@vS*n; z3!TamI*H~^>4?$IJ7_su_JQGK^*V{}8{0|G{7cO zf!ta2K-Vr%#wQBdUUyug;vMmvsVv$>bcE%+m3Ks=uKL5GDoV}4uKFSI`F^v>_>3lZ z(;b!!wm(I0(Wq@)4L#VnE_w?~_qd99Bi}SD;zdzI!a{^0$6>Z?F5>2m?)pgaIbimi z+fDs8pKV_b->i3|mjB#uT{Fa39hQNyD%8+;pV=ce-V1g@&Cwph#eFjomwcF$tjN{T zOko+uduJ9|XtRg9^wh8UFIk!)OVHnum#Fa=<=_oV^o?ekv) z@OU2?fTvlXX11OzyPwX(eN8`7yM+AHpVUq^dnC}G5|?PvX4BX1{-Q5(QENLfB0^mT>Xo{vWuvLC>2*+- z%BEaL!{TnXK8Gix>yYGPKHg|rR60ml#KX+Sm$;P8_71`v#XqlQ1=peM^*QLKOtvNm zru8%v8Na&ARFZo=lw`7uO&CSVY|8cU3^#L=@XX2^;28e#5z{fg8{qHw0dR$iOO(EN zgWfiQiyLbO;J@a-v{1&4dR>d{N_^bJj#uefp)NP+VGFzPo8B|z%GJl1Id3al-vP0^ zW*B0Z>v)W%ro;M#n{{*5LJ6Yu=2!|vjYtJ%jlab$39>>1hU=%TLd!1Gt?92~jpV&m z=gXljw~DT6JraYNpBl=+9M={qDk8ahq;9Xv4RT!4b4hvnYAZtZ)zSKSvjLTC{hPKV z_UczyJXDX-#|S0mtoSYrl~H5S2dH{1`XJlv1Fo{t>;v!Zx?T9KX`J7(*!Da1M8v|r zJ1JTpGNaXd7e(uMvr{5>QM5vK$lW613+_gc_Cf_a*h#CN$Tr@Mkl>$bUUJ=|-_5EQ z>W1z;Tgt<+84KKliKQ3Yau1dcJUoy(zD0LjyhpzS;W2hR;*n!7EBGAM9UYIP6c{X0?f)q6VPWJ*uDw+ zy=+k$hH(Bw-N6d))SaQyiF&TNY76}^NiVYq`)DFwJ%z@AZ16PXSl3kO%4Acf#s&gD zVda|0T)2$CkNAY$eW#J#514jGrjgxuns$49u$yMiH+&*jq9k%9@6vKJ;Ed_CP^7jO zO{bAWZI4dJNXmx1j6O4Is5!lyJUU&sH{*K$5f|XRCxfi(Ge&pjUZ&ea$7bk;g%wVO zS?*dmt?4Y?A-q9}`4l+U}-81+#2UJN@`*CZCSm zTC&)Yg*uk<4fJ|!Nh`y72?)MsgE0$X9f`fQP){}g?vJHNz6MTlLL;R|)1P@j9qg8!QTBIgsbcH`88=j`z@DY8UO}XJCIHwakiN$@(zG$BuCYP>__?8x?4B2ZM zy%)nblkZ$p*v7pS@^bsS5BhnJ`b_<$`(hz4aL^oXu6@YFTr7S*Nn-;(#?FUh8r_w> z(FD(aY#2B!VfzQegD>pYhl|gYmxBj*&N+Z}T|YJJlAriBn99Q%(}J-0*a6x*kj36l zVKE>1G_)e0!eTQ^pvaKV(Bx#6aSn4o7usp2>+28L8nEDJVxGJBnV9FMeExqdT6daF zcYgtsuzRS3uABUYzQ=N9=xCMxi#d(bhTzQCWMdIaO~V#?!XY%7S5F%P-(fVl`Vg8N zw+0HZ?I{=@^c$S8c@t{bd|2OGmq&0(t2(UzV7(ciqMNA(5(60%8|_(VfC5I-@CD%>(8b);gFLkLkaQYjXX693A_=Fa3{;k%s;4 zdDdm4;bIkYke_`g^*!-pE$IyQFBr0CXgN8XWt>Ly>zze{_*-M}^7cj+v-}3rdfo}Ix_^g%8iWS?jzy4ANLj_%4JL2}Y|bZ_ z8QY#LG@3Tk`Hkkdf4uD*%p~R<0n)-H;jTqZ_*{E&D_Hia1Bg2V1jPg3U0`U1)(n*k+jLE^E!)8MYbbxyyZQSOylG z8Fh>nbYy`lw$w5B-X7!nJpONf`|29cn+p|MDXpky@cqm2dImpZ7+c@CWdA}36pjY4 zHksjog0JhkHZaVSg%xc5JE(7W17o;o8s%1ZLriyZM<&RvD-EZee!dW^}+6IoGX?x)KPKEJ$inUVQ-jstlah{x6`)HAyplXuW5{FpDpLDt>LPV&#|9YzZ| z{#z$---HGv7utu*M0uC9~EojcLLhW59P6#?%P4cG~(vG(6rSY9rM#M z!uY_zK{}rZqv<&N;h$-X?&}z@YHFq8yEqa3_%l#L3-2sH-x!yd`b;U6C%RgTo58y%=MESr_AR{I5<^yBe44 zV&_2XnmlZNnb(cf&8IV(M;tvcq9Sf%zB#4mW*F{9SK+ek)vLv-Zsmhm;BT*k{6@d! z*Nd0w-Q?uXCNpNZc3pC^A_6oY{uZnHgC8da8S*zW1J_}xZ4K#V)3 zgxF|^i*3c=HhGE}-`B8=88+H-2$>YdgB&vJXV@}3UW3L5;s!GRjO82tYyJ~IAc#M& zVas|MEn4!+@%s~XdAGd0A#VF3FZU0f?8Van&yVk!0oSy*VV-C`X9iqpZ(}~zfQ|Yf z7sPg9d(34lu8Ea3HZbte;XbjcYFILIc0u3RRJEIbKGHXSsvO%7p_&>h?uYu>Ob1pj z75&jY4u+KrWcy?Eb(A*|LdOOe5sP`Yx%nC-PjUAwwC7r*%v=LnH8%tji|h1q=Yle+3*Fgte`)=6?+)wv*8?@YE9Jwq{>J>D(5jxP4Y}I%;>ey z-Zwk}?!FoVGFh6ZFi4i@=81+2CyfOY#VT;hB(VxSK8XT?_WzzKa8l7^jK2SAo3aV+ zqn}7aZ{j>a1Q})d`BSJPD8WakP>guZvE!ZkUt{F>R1qTy(~J}wf9B%4xD%dTS%|?O zkoV04AM<=?8hV6;-kN4)n1A=jn>gRO&OG0#&c;Amu}JR&&QEt(elPSww2sXHc%gs> z{l{$kUexfxRk%kQEufy?YGy<4bo%@lrGV-2)9;WOusWF)%s`+mnJGeP>?{hUjWmDH zA_a@c53^$mL?}^ajn3ks#4K~5DXEZ#wLI>eORkm2o%iwXn=4{`-`w~Zm*<)gz<}fD zy{wzeschGMMh)v4`#66AYT+@y$D9Z5zF*|LH}0pLNA_0xdGhchR^pbvWHi4PGrEY3 zrhSxAOh(g?Dtdq$U2Ga%j0J4m9>%=w%eV;47WaL5`l7SZT@M(1o85Y$Sfegohz8Rk zs5oBsEE1(~ES?#fzsRVxSO&$-*YnFTJ;wtvUlS1XwfH;Blo3<4!6G(W5`dVm9d)qO z2`|DPTL`ACY>RgArvmU96L)vKH7YTBn{VyK&Hj#qV0`>s&OgV`F_1^2uyQ5f(VaW!;3u6ufT=;36jvUM~p*O zR@t9VF-wgVA_Qn>mfjId$G~G0u%&Fj2QzcRK=n;^Sfjq?RJz zVBfUN@C(`3Xf5#sEDA3(j^Wyt<>)xqS-oL9{#=zzUGew3;vYSTOSWH_$JO*JV989~ z^4|M|Q4#m#!QCs3J>pK-X4ZGG-a=%jm)Ob2aOQkVnQ@2sOy_@*GBlFM7_F*3PyOfY zB;;s4jB?zOVm-{KDhkoGr)esqll#EaP|vT^qX~{x81%8JZ0RaKm4&viG6u!Z5Z=|u zKkC64ZXJ!K@_C5C$Qm(rTCX*S!PIvK(;?i0dt>OgX=jo zKCVA$vw(@#Cgzvcv?YJOLwvZA)%2UQVCa3COQ;CZq8(VE1(QF2iEdwv;xr)ciuwX?R^yr zGWi6@w+;(ly>$ELdd)ZleDO6z_5ZwKLt)-pv0>}7i)OWm+2liSVjAMn5MptF);BDoVO$tSV)*Qak-RMKGh-{h@@;sYe=IRQ?|U2FZr*Q(@bR~e zwk`S9_}k3*sB!;qWElB=K^~W6Yf3n>+_A~sUH3AQ!2w_2o#?e z_83jAmg_@!`tB|Z+w~*%QRS5=TDcT)5UDi!@Sy%coMJ8g0KI|-2R=X-|Bbt$;Sb@) zWWFvo?|M+sT=d1${cmN8&Z*N@FkxgAdrac929PTmM-K2;Bo0+fDCqrtq>wel1CNDE!x zCs6da*0|`F))CZ$^UBDjX*n8^X*qF=k-@UlutV}5FbZ{kciS+EKw#4VlPHg|LMyF|&MVP6`*(0z^4->pe(%-5Jo`0C%Bsa76FY*c@3j4{ti zJcn>j^6!`a7V}XWUH}^awe}Ma2=zG}%W5OOF-pzd9c?;{YO$IaTTM|(&*>B$LCw+X z_^8~>_Rq(SWBQ>Vv4!G;dCig7U>4^91HLo9=KlQte;myGxY15O`V;ru6-^9-f4FoN z9R7j&THa^>krE-Q-tr^wO5p_b!*;rTuug)*DJLCSAI6*eHz;%I_TRIMQjXYtxp;+vWiOX;FE?^Y+m0qH?Mp^ z(!GJ~N~}^mr^M{C^b}l&e0~ZuTx>CF-kf2<(;{8-=Rw4HriYl1orbfxx-wR97{`ed z&KSd?;*B$Z^M=J)p_SjTK&drnY1X7E+x;5_3#Ht^Zz@tp39H^$LzY_nl=So*U!3|p2>+^{q6o;Yo`rodfo zF)Z$$l-O)(z*}s#{&+iXzICl*yBePg>R@BmpRLDR!i_La?l!og{rLkP=99Q|m+nGc zn|aHRo@ese$!m1Wt=f(~q`6&%8^+eN@!V2e&vqVpc1i=AU!-fgkL75D10Y93+h8+a zdmGx^@ej#ZsM%bMAJfE+@&-4unMZkaLm{oPjUVMLXe?ZRys<6rBx@r}O+cokAB+); z10M6@^#72<#y87-6X1Q`o${_h6POiAu>Hp;e}yn@a(obm4tZ0diOpPq(){nboV-Ja zf2Eh({@dYS>!!k81De{-vtvWCTJbfrVYPxZ!pfT2%saf4KuX5o^vltlpn2Pu6}5on zMS!qqUvs$OpVJ8!z%}uB83t+#o4ICtfE{Uxup8jCnY-6JS;m+6yxoZ~jN6P*PVzWK z7!GS`GjkFSK3ibh_~lkS@lo1RRDQT6xpcm%X+kU8f4_x7D`!Wdun#Ne7R;S!YiJqF z1|-Sb31bp%u1kP8+zKS({6UE|V%0Ig@0%ISl_ZO0nQ|#BQw@WyPQs8Fj62D;t8IhP z`BvSG2|;8Eih;Bre3=SXf0r4l|goZ*6PQl3$KLj8K>N%ggaM7Sv@+vduh0 zr#*3>WQ;04&#g2cXW5=iJwa$^|3P!S}8MCC?9>?3VRNFyI zb2g!k?P^xh##VzTNAS&)6jswz#}2tIItq`Hq}lFeNgv^H#)>o~l;+}@mr!*YT+h=} zJA^YgD`;liqV@=9{<+l5?9uiZ?6I44Q#x=f*s>0`_bq)Gp0@gndD8K~wYQ_q@Q962 z1xwwE)#$lmz8ali8-aBLzv;emBGmHbfn14Bgxa`8#7?#zyGA?xo(dijmd_e}WllbY z+cBBuP9odrI3+yEc7|Lkz9tlzjEMdpk5tf_1ye+$#8Emo@on7HL$H57#b!R2w}BPt zP<;JVn|QQ&D$;(O<+Q@jorbW^K;!V!QEN66-Y^G0M{>ofYKHLGlUC{y)+tJ)g^kQ6G0J95ZDOrol{hd=3&g zR+NR8I`M6`dkN-F`kj_c^AvqFXwKGB(<<-HP3j2_-#mt1x#U z^e}I20?tBTK@P$7Py3srr=cfzQA$vAq zp!3hP+VZ?;qx6-i)P3FEPHw=%d|v-fQUD(#_^dX|ovZL$<^( zTFqNiE4PY~txhMzee6D4ZIx)w(k3<+YqyOCO2C|-13|Pmu#KERXHEh-f=E4a2T!R@ zkx}W#C~!}XFReXK+Ul{xLEE=HGj6BMxS9=k58*uQCCc@MY&-wF`z4G(zPN;J- z+^luRb^YX>hzzsLW_Ixx+`QmjPETmetUxF6&(E1IiB{Om?`_f%e(9^|qqrj`I=zP& zA3_;CN<5@>>Onff;=P%sywZfV=#T3-~EfJJU-@=gjTPK1dy6NFu zU)T)W2<{S$c@hD+Ic(c#K@9D-tz)^nu|FNc_v4*I?ze59nM3$vb0SaMLw&cEZMPuG z*6*Rbk8faE@j2mLB#GE^bLqQ0+w=R$<~C#p+r1sB>Bo0%{M@+jd!h+j-a`}O?w$tO zfR_>Z^y3ub3D8Wo`hD9Tp2jM%DCY|rn%GxYUOKV6K15?&AH*j1lW$;Ow)g{#g!nm~ zOQC+u>GV|Gm=A4X_L+{|T<%B6&8^tDk6;t6#hq=jbPa!m8KeU$riseE7pb8UTmKkt z!Uy-FOd{L8*R~3c9lHFcJ9z*N%i7lU=Koif( zg+H;CT9QI|%y=YaTzubtK6CKr_HX+fkFz7&)L}Tr?Pxw)H1kv2{Qu)?lND_6L0c_5 zbP*3ZPQ75Q&(aQI*}(_n0keZ^p5^PvZ_!!~UouCir