From 50decfc6e06cf014d76386a4b1c85eec48b61337 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Fri, 14 Oct 2016 19:53:36 +0200 Subject: [PATCH] Fixed default profiles missing on first run Seperated G810 from G910 --- Artemis/Artemis/DAL/ProfileProvider.cs | 3 +- .../Artemis/DeviceProviders/Logitech/G810.cs | 2 +- .../Games/RocketLeague/RocketLeagueModel.cs | 32 +++++----- Artemis/Artemis/Modules/Games/WoW/WoWModel.cs | 57 +++++++++++------- .../Resources/Keyboards/default-profiles.zip | Bin 238612 -> 273058 bytes Artemis/Artemis/Settings/OffsetSettings.cs | 1 + Artemis/Artemis/Utilities/Logging.cs | 5 +- Artemis/Artemis/Utilities/Updater.cs | 2 + 8 files changed, 61 insertions(+), 41 deletions(-) diff --git a/Artemis/Artemis/DAL/ProfileProvider.cs b/Artemis/Artemis/DAL/ProfileProvider.cs index 0af504d90..011868d59 100644 --- a/Artemis/Artemis/DAL/ProfileProvider.cs +++ b/Artemis/Artemis/DAL/ProfileProvider.cs @@ -106,6 +106,8 @@ namespace Artemis.DAL private static void ReadProfiles() { CheckProfiles(); + InstallDefaults(); + lock (Profiles) { Profiles.Clear(); @@ -139,7 +141,6 @@ namespace Artemis.DAL } } } - InstallDefaults(); } /// diff --git a/Artemis/Artemis/DeviceProviders/Logitech/G810.cs b/Artemis/Artemis/DeviceProviders/Logitech/G810.cs index b9c6a8272..1cb992133 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/G810.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/G810.cs @@ -11,7 +11,7 @@ namespace Artemis.DeviceProviders.Logitech public G810() { Name = "Logitech G810 RGB"; - Slug = "logitech-g910"; // Shares slugs with the G910 because the layout is identical + Slug = "logitech-g810"; CantEnableText = "Couldn't connect to your Logitech G810.\n" + "Please check your cables and updating the Logitech Gaming Software\n" + "A minimum version of 8.81.15 is required.\n\n" + diff --git a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs index 32647e4bb..8da2d0d0d 100644 --- a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs +++ b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using Artemis.DAL; using Artemis.Managers; @@ -7,6 +8,7 @@ using Artemis.Profiles.Layers.Models; using Artemis.Settings; using Artemis.Utilities; using Artemis.Utilities.Memory; +using Newtonsoft.Json; namespace Artemis.Modules.Games.RocketLeague { @@ -25,20 +27,20 @@ namespace Artemis.Modules.Games.RocketLeague Initialized = false; // Generate a new offset when the game is updated -// var offset = new GamePointersCollection -// { -// Game = "RocketLeague", -// GameVersion = "1.21", -// GameAddresses = new List -// { -// new GamePointer -// { -// Description = "Boost", -// BasePointer = new IntPtr(0x016AD528), -// Offsets = new[] {0x304, 0x8, 0x50, 0x720, 0x224} -// } -// } -// }; + //var offset = new GamePointersCollection + //{ + // Game = "RocketLeague", + // GameVersion = "1.24", + // GameAddresses = new List + // { + // new GamePointer + // { + // Description = "Boost", + // BasePointer = new IntPtr(0x016BBFB4), + // Offsets = new[] { 0xc4, 0x210, 0x320, 0x734, 0x224} + // } + // } + //}; //var res = JsonConvert.SerializeObject(offset, Formatting.Indented); } diff --git a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs index 667e19873..ad4403d55 100644 --- a/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs +++ b/Artemis/Artemis/Modules/Games/WoW/WoWModel.cs @@ -8,6 +8,7 @@ using Artemis.Modules.Games.WoW.Data; using Artemis.Profiles.Layers.Models; using Artemis.Settings; using Artemis.Utilities.Memory; +using Newtonsoft.Json; using Process.NET; using Process.NET.Memory; @@ -32,25 +33,36 @@ namespace Artemis.Modules.Games.WoW Initialized = false; - // TODO: Retrieve from GitHub - _pointer = new GamePointersCollection - { - Game = "WorldOfWarcraft", - GameVersion = "7.0.3.22522", - GameAddresses = new List - { - new GamePointer - { - Description = "ObjectManager", - BasePointer = new IntPtr(0x1575E10) - }, - new GamePointer - { - Description = "LocalPlayer", - BasePointer = new IntPtr(0x169BCB0) - } - } - }; + _pointer = SettingsProvider.Load().WorldOfWarcraft; + //_pointer = new GamePointersCollection + //{ + // Game = "WorldOfWarcraft", + // GameVersion = "7.0.3.22810", + // GameAddresses = new List + // { + // new GamePointer + // { + // Description = "ObjectManager", + // BasePointer = new IntPtr(0x1578070) + // }, + // new GamePointer + // { + // Description = "LocalPlayer", + // BasePointer = new IntPtr(0x169DF10) + // }, + // new GamePointer + // { + // Description = "NameCache", + // BasePointer = new IntPtr(0x151DCE8) + // }, + // new GamePointer + // { + // Description = "TargetGuid", + // BasePointer = new IntPtr(0x179C940) + // } + // } + //}; + //var res = JsonConvert.SerializeObject(_pointer, Formatting.Indented); } public int Scale { get; set; } @@ -83,10 +95,11 @@ namespace Artemis.Modules.Games.WoW var objectManager = new WoWObjectManager(_process, _pointer.GameAddresses.First(a => a.Description == "ObjectManager").BasePointer); - var nameCache = new WoWNameCache(_process, new IntPtr(0x151BA88)); + var nameCache = new WoWNameCache(_process, + _pointer.GameAddresses.First(a => a.Description == "NameCache").BasePointer); var player = new WoWPlayer(_process, - _pointer.GameAddresses.First(a => a.Description == "LocalPlayer").BasePointer, new IntPtr(0x179A6E0), - true); + _pointer.GameAddresses.First(a => a.Description == "LocalPlayer").BasePointer, + _pointer.GameAddresses.First(a => a.Description == "TargetGuid").BasePointer, true); dataModel.Player = player; if (dataModel.Player != null && dataModel.Player.Guid != Guid.Empty) diff --git a/Artemis/Artemis/Resources/Keyboards/default-profiles.zip b/Artemis/Artemis/Resources/Keyboards/default-profiles.zip index 6dc6e025f1299b7601de77d725bd65a0bef1179c..465501c5a7c21821121e4545ce507c4ff873f291 100644 GIT binary patch delta 33578 zcmaI71yoy6(>5C1t+;D};_h19-HN+IaVNODI~0n$7q{Z>R@|ky>kWOs_pbl@*IhTy z$~pU-Ofq}+JTsG>y^}PAoIj817X%gr-T-mr&Ikbs5BPXg#K=nhYy8gv8FaR>H@9>) zHMXEP=VE4JRFnb9rkbmRlS60G(Q+4vz70JFzy77`P&dF}Oj# z$E$fJpghP)A}ZI|lGLywhn{TFtfZ!hw^K2VMN{KLhDH1hF;AIvw z_`VV4lQh@|5wr6yj&Sk6 zU%%7)=j_1y$PgP+{ZUehL;xym7DUo(FOM+LIsNp=Fs;%y_Rgo(Aw$vCCa)N5n!n9S z&+zZ{98a&J>d%ee((rb;Uue8k#J3g^_|oAZxhPqimL`yPSR5nq`;eP8t8UWPB<3Z6 zd1g&@nCiZd(Z;hMd`1eNHz#DxrElwg0~0#K@Pw-+%3eNyT3Yvt_AfA)q)6^wY_@A< zDDzW&59mMIJn-l2RA4)=DyUSdOuD>f{;A0I(lA?EPrr$vpo18SnLNWq%tH1o*xb9 zGsv1)^o>Qord)ElnVkXIyxPKD431U~duQm28?xMAxH+8#DPHETPZJBs-MIRp9if!7 zjawF$&_hxjZnRkkugSGAcqN=n4kelbby@CS{IGc*2Kt;lH6A%%JE`@E?w>2<8Dxm) zfQsgx89sFkMHvE)HR&DE>AtlX7KE5j2#mhphH(1@N0O;mACiF)4VY?1jikO59F`*9 zEb$O5VHem>B?ANBqQlrOkjVq_XOxCI_K14Fn@Pxplc|>)HL|Fe85e$aRKO*1xtXcn zl*YdwzP%#nrF;E0#j)Y7Zx@r?s6rRH*QiTpEMrqRR`*lg?jXC)^O;}2U3uD@F~n*b ztSTLcTLT%-a+d+f`dZS9#JB6-oU)Gst!ESNT|V|VkUJuqB4w7n&X#QD23nXLyXd6#wOO%Yfc{g_s4IE3CKp=J z0?%fftiTK0hpY|1$tdv-BLRIwblw%F6^H_S!yAe)%D@>K#T8D7LjM_SWjt!#KYlaS z#+Y)>v~OTpc6Rh~484HHI<%6=;BL!Jw(odcNLlM(@)Cj~+Rl4iW^rd3MW$*^)>rH} zb-MR#tC$J8*MvbP8k&sX<4)m+t7>W_8^N)#Zh=K}CMs=(TfnB^ejd5FruiT{?FxJ- zcQ8$nYSLxUyS8riFQ0^toN4`L_RR8}YrqOgmy?&FC0%V(CcDiyovJXq4;)!9xR?AU z<4(VQyZ|L_F5^EVWSQrjO$jKxx5Pvmt^(=In$RWY%C>|0-ueeI3z=h+jiRk8`4s4B zo9-ST6__;CMs5AVDhMvQq5Ru^hiOO*!+IhF!y<6?cKyPA`7>5@48%E zd%bk_;y$y1*V@9{upxn1TUX>KcRnyjCEI|7=ZVc- z05H!PN%wu1g_;1E<79ah^RYd_fpJ|&a2MFbvQ|r0i=o{-1)tphm38CP#gU|usTET^ z^-;C)IM5gFLG*Il*tK~sFxXOB%S8#ap4SF)WS6mg+Ka_G5|v5_*rxF0>;!TM2>UM2 zj6RWlsk|4f>+sU2m{l+!a`6=vxrYLNa{DPn$09yshZ~-=4=wLLLGK!(3Z!&57#~s) zl=-rnnx$VB@@MS}2L}d3?aa|Y%r=F25-oShWlNJfkuoWalm#|=R2{D5oES~3O#)Dr z_P&JY+yXyonQo&*yh>>+%LwQi?YR$8>Ed4F>pNZ7sFd8$%cCYOr|zLuof_cz=S12{ zLRGbPQ3XSb!TR@>u<5#D5ueM&To73I+k4n6YhR6YUUjG0Vf{>8>vLjg1J-RI@LVqVuyoQ#)Q{<9^wsd zS{4Lvu@<;R9VlchF1`D@n}R$HaG9e{?1_Aa_2+Fs@=p~433<@pOs5v8wAmtpbsyJ< z!U;B1=p7Q7ZS;0vH=fA1?RtOjb>3%v(MvuV*X4|S3o5qkA(q-CKjqm7OA+%$-lmN- zzNI@H=tE(^?e|w=qH4J)#=R4_{7vrKr!#iGHO{#$HXrtYXHF4D@Tsgx-1E`UX;apm zVOTy92yGrcJ(PV_y-SnfDR9_{cSCHBA-8Q%fb$a1wIij96w6D}8>7)u_jAw8{ZMpr zo-Z>8XH0VCn$mLtyoo$m5$PZzJj{o}Ajq*BJ!hKVW4cs6+zdY)lb9vr|Q&@}C66*bBo(fT} z#B-p4<{`Zz`&_zVfBWpCyLj~l>%cr&(5ZlfkR_Ow9(lDqd?yBc+jJIhub9K$^V}l> zo0cK#xKY+koiJ^-ljl}~f@s7}^He+na3Si)2&u!o2@hT-fq~N-2fZ;Hcm&>q4(G4< z9oYX>oCz|Yl#0NTCWLDUR#KNt87<-7RZLP*PncR?=K3oM9f5f4!CZB#|;x;^m5=og@0`GpWkg(u8DM zxZ#A1egao2{eRWu;|D^J4PG)rsU`DZDVnQ(v5oUJ%bk?7*{tE)!i78ZO2rR6t@F@$X- z8C=!^BP$~{!eEMTz=&uhBMvZSW}XtezCeoOmiR>7lNN3zy7@~ClEpVSd-Nt1ewl@H zb2cqk46j{;)4U4$q~_2W4y6@_{3lyrL6DDZ;-APwo70~px@L4xaIBHTe+i`uhFP-A zGE;@yFP0`EesWV(h_Hwe#%^wk_({m~)&0DpP&Y;0B5A$Oc4o5jtY4dI456Nl=AxP|b8>|*YgP?zo=lxFB2 zbhPT0=$6+~ptw0Ti`sj(s)iEX> zMmyF5(>^okJ&-UY01jDgFUc?VzX*W1sLepXxHR1%|M)~qAqrkNAqpW1egq*Cb!Z_I zPXMSVL=a>O%Ri1$u3k2QI|dDpJGNYEwz|y((!N*xb&suTjnX#{eh~f;skadXzi@UG zmXl8cua{ycM{`SAko9fEM{(+|@%TFDvT`(M2DJ%(>bCR9IpUT>?+PD;x-;xLm3XGC z(a&x&<33zJOk(UV%PEf}(x$UUlr1)WGSubiJ6LYTcP?_tmpI)7dKX0g0`}HR8J0QDbV5Z3!JI`+k~VyGTQcsak1N0YTVdnqf;zsnOTK z+qBN>TxriRZ@tFBld@d9+KNWZUv3&fNTE5ywi%*^z6yLh|NKO`bma9YZ=YO*Kz7N{!D}YGmpWU-IstQhDZK)%@iP zhn+cT)X0>%@hTHV-3k<;z)f=k@9Y5NAr$J-^BmsT(fn$qz(w`agdeuTnlzaqN!`Ig z!pRg&L_U}i!~J_Qv<-Bz4R_x4=AFo&OwN{6b1>1wl6M2 zA~|#_N{@>5p!1n7f}AEl$4Wzr_70!jSXtFHMOZsMXTKQOlr_N zaz*Fuwt_Qs>DenxyH5pVt6ZVmf0V6ic&dAj)4rBNWQLQK8v_I8mFjt*H3@5YTAU4B*3;%| zgVYBh%gJkaurvwT%Z&r(!O9b5VAKzywX##Djx`NjAk~YJ)FsA0n%&2{Gyd})=MN58lFN3| zeEpZNA;>aX^9dz?$v(BPA@L0gJ3vLnZPPs1orQRL#`Vz?@rvxq7CXh}w|=T7@sr^G zzBuIN?H2px`ikh;BG!><#dC{E%cFm_Me@iLC@^aRdo5lw;>+-L#;bMaxize6?=a5( zdil{GUOdoa2YWBv{6Yxo?y0*2-6u#mFbCRkf zfaCBBM9D81yCoATVt}Cfa+U16&E-Br-71HP5|!^+>{R)-A}plDKIpNa!ZtApZ+Mbn z_Y@aglx{Hw>WN0z#=pVBfx9VRjEcV|f=94m z;)V}0oH;y3+>wjIU+C-UGP29hi;!407lSd^Lo$EbWWI*KRI^67b2Ip%wxh?#W{Wjm zt0N7=K56P%mo43>5i0gQQA)T(No+M+-9+6>x`8cagKXaVKg8A zzs1X5HRFTz<45&%;*hhl^b9_H>Mr$8gm=7rdnNv9h@B>&DNe(cOBR;1vf1m`|}c0dFTL7MNPOK zJ^rw(*E9J9-tTAm292w^Q+AA=r|;(E(!Zhn=XW{3PzcOa1zT`rFs@WRTX0h1k7)*B zqVg|%Bmf}P3Jk#Te@!!TY{5SRZS6CMu>MUmgw~&D7IAI5T?><&?6%L2DdjLERx8zg zgm=ONBYMF9P?lY-F&YGV;Fw)N_`Y0|g_|S0@F462z>h%=O|I`q5|mggI@hrdhJpm)Qnu2iWu~?R!E049y-0F(>eZUF}e; zp!@EA8#TSr%8k@^)zkH@WktJd$9WQ&!Qt=yhSU5te&s^FEimy|onGs;>EVKX`E67~ zh8RD#)cVzBm?cfIUUIwPg5>are=r7ZWPo$vUfY}mlqxocJd)u$?#JNYBZuoDD z+)dVk9?=qB-j}mAIeH8kK^EAIPfP7-TywXf`b!5btS{pQj6K1XuM6kpc%-ks(^8$x zXBpphiYMkWGJyN}Z+-QK$b?pf)h5U75n)Y;^KTORUCXVkQSSzc^lR>FP zjFLGh!Zuts<8Nt}#PgKSYnf>*FmWWDu&f@6=gJ~lW9V#jpXFru3clo_xK8Fg z9au+u-XVBR`cF#wxQld{^Ey+zJ;mAnI(+;lOwKWBQJN=%KV9r^uAt)z1GB?zn7sep z@wuM?c>+j%BjtoWeXidGdyOZy(5#@qkgYq0w|ZRJ*+@C0#xC4Ow}ud{-d0Zi*R@=R zt#MVoVPAkv`gV0zUA0gqDQ4je)%G5n)M0_TJzN)xSOVnv}Pqx{Nti=tJ~@hopk;ishTj~yeQvi(wwh+!R{c5oDYc{;8(uJ z7WZTF#u8&b@h&u#N<5Wu-WrlJW%Y{q0nIIf7b7%8VVF2fV?6(N`RinVzAH3!DvSxlV*(U?bXXGI1q zA<0bTe4uboewr#Dgytr-h8qx3COJoL)TyZ2V<9%jX*R&^Ctz&8RF_0@4o zmc6j?vaoT_r=9zF^b5Cw6O*P)YKiaaa^IUoB}uc4)sKC!oyI3V!!;8y#`p0=6D+uV zkNj-s5E28=T_MWtsQKAR^VPRGcMIN8lM0#u{@KR9neV;txHPgQ3<|p9M*yRkD;_uArm*QCqDi*aE_5e2T9UEHv|V z$K1sdjY2=b393N{S13dFB)AAx(~l^R0HY2tfJ22h)Wiz=Or{p@!dXwgU~o7__?g#$ z9=kzWxwN}c^@3*a2NiR`($x(LJ-0LC2~^n)B)9!VXQ~$hSFzI-%8}EC(f}_kUyv$W zm1s_Wegl-gzS4-3q#Do@MQVz}A3L7ribC0;{^6XMaZ78&J=Kw@C@J;Jo+X7P0$hS) zc!G1UsAXLKlM!dKqgtg=;*zd|&2NVCq*WS6UAe}gG~zkN*!!t(erKjk`s~MAJ;2P} zYaE?gbzz5|O5IQI?cOlw_%!zjh3i=8wimFOcd$|SW3V%u<*mR#qXK%*z~lp>t*v*s z%Vvf@rpf_leB@_ePnO`FVbk!c~c+H{7T{6cq0Hj@zXLZCKrtC4IS^lrN`VYRcr5u33r2fRoT@ zbApQR6sLJ_J-deG$GIJ8{6a5*%L5GN_^BOz>9(h*!(hJ!QQt{YgLFR4f;)#kzy#^1 zU!cANuKf5&a@R@TxCexYwu!$JWx*U^<9~>X&Py(t0LywFrVyiY?NQ%_Ug{ApC%yXO z11?YH3B?(55)1sVLe*R%Mu>s1YvU5ACW3LV6sIK5Jq=)tul{G|h9ThtSd@4@Ats-k z1*xi^d+Nb=<24t$pDQjlFOat;4M~W4iG_&bV0LHmg9Hb0hD9DACIYWFUyK4TV0v>) z@OpD)f$TWM8UB~oNWH|cKv&Y27WOfg-dyifS|$sh9g z&~GF~sdowp$GPLk!X>~MizWwKO;tAmo~Nk`3AIw(!R}eY^9hb#VNG(RM)_YVVS-f^ zh9f%rnHz_R;phH=J(#Bs3UXcOz$utEbA?v{V4XPsb1*Q-|J>ka3+XoJ@6__l&~)QFwDr}#8O9$+)NN?%4CtlW zxM*)j6zV)g5)k59dtX#x-@e!nLCYZRuy!9KPXisYCEb)HIgph0CfaKc*uWn&yh= zBJq88V@K=6;`)e63GV98lq9a)5P(o&-f}j+o=9?Zpz&s}-Qx1pL?nkbCXJF?62^%n zV0c5Lq^PaMP3TOf@_|#TLN*6mpGfFLJ^VXDYNL=DD>=bFc<_EjIluZvQhP={Uqr zk9!dm4$3k#HIO<2$$%)$TodBDzL(Ij(`Zb@-$xnVrsN9Xk-|>WML!gI0~9a~4nAUPi@O#hRG)Yxm7;#YW6{P-jARoWqnWMpHJw~_&x9#) z&zJjL@f35!Be1Mp$P7%r87LE00XU2q{`89jU{$~`NdjZ>8A%L`x?7ihSGub zhRtOCAVD;xmQ2Ag$5Mc(6NEHwt+Y7Bf$F2<#J=wlcY3Yc0C!eer$f=(Mq{Ug#<$1M zPFq5k($q0L8c{}%OiJynjeKZZ$u&qpUt;=xpC}_Brhe1;^}DzC77K{U(3n^A$Ea7@ zXZTwrY^tV^rhC+>W0O!7quxY{-bjib>ym0~R-ujkEfQPZpW}f#`>8Px)1ES(BL0H! z+Uo+3Xz8^O!%;qU*|m1k8zngohfpXSap=4gS(=l?fW z{pG`P2&+O2Q5ES3vrWJZ1ml(L?=-SIulJ4UlEL(!Utxf$mJy08u`i2CyIp>&r7waF zd|*FQ^k@;Xs$MkxA!hf#G4c1fo%Wx%x#&yk5S7ZKU zxIc!V9&XyK5?4*EWh`Q>fWW)kT>OE3a*5APEH>e_)$x+v1;u<9u*mEJv4Ok!8y`!W zj~*Wxm!Q|P;D4rD6+YnPpqbW`4>_wkbNX;YdmwdAV)dTwCZ~G9ina;nj#j}vYqg~(r0P$trk-fT-Txc zCzmAH$ssAS1~E3NZua@{EZ7?#p9NcnV1(CbCVQ9VOQ-vi#S89R_+ooYSAE7tg?8Xw z*Q25K_1JY~DZh2c)gOE>pwaj@L;cErC$ma_UR*7`8}sR#3N-#7xNdhBvc9zli@3|3 ze|d7BBFd>IzWHoL(z=<*soOqQd+jf&pmkKS=E^RV13%5~A;4rm=J2MoFP7_h_B_Kc z;GPu8NVI2a7UWIe@2ls(?qq)#AI0P}Vv(tMG<1FJaeNua?BQ*%2l8z+ndP=Jrr7%~ zv^EvHp{NK93(%#Pr=}H~!HMY4`O>TijvSd6N}@C4*^V*K(d}zY7*jT|aYtoit+6KkFyX z!j2Tl(tBrFvhH=m1`akq{%yuDFQ_Nu+Pt=8Z8Yyz&`tZn{*Nwb}k@KHTpVD@cg#MIhi{dVr)%gR=K&y=eEE8Q2B$`=PmT_ zA8+qsI+0c9e#ss!mkFL^*coYKX?|?=`Wdz=}99LY6S$} zEW;XY-qhAAC^fJ;9AQ(WYRM>6rcP}=T^LwWla*Bcp$`Z%f!NaXX8)dl_k= zQ_heN6UqA?x3kM6ZxPVJeaL=$$Uh=(4|7Ag5U_4^C?_CWA=8PMx*Xdw76VK(qi|~F#hUknhv(`w%_1qi znx45;<1f(s@op^BK-RLL&VI(`PX)KzTKMOz{KTe=aSNoKF-3}4=zd6+u_jj8oot-W zuG>E?toaQxb)?I4jLURb2}r|5Hzu6qEuRjLn6lAQ?(Gw)Fi`gVeybHN6HBD zzPVjTN`d=G-Eo3MYpVonc%5;kwGG3^>kA>PNPVA1beFiQgM;?LUUU)QW%$GG$TH^NXBl7Qyb<4iz3zGXXH=q7C zAh@sRL2q<5{&|5nWbX5@j%AP1Oz=pm>RZxT1U^WdPMEL#rVk3s;S7`{a39h6DXIF;owr(eC56~d+ zKPL3oh-~XO_As%i8jXjvqJk?Cm%s?5@B=|{O$S2?Am! #hwW-e-Yw{2W~%2`&k) z3Xy=Oh*?GkN8JP?MS=#V4K%do`P8J|qfP-v0R}SA&{}F9K;chC26w>^KJ9r3uj>F= z<_4*!z0KfLtjX%~8?7XpJP(gh2{8r$f{=@f5&;+i*nZ`T#|auSVK-VgS{@#%gpgWE z1bN;P5rMxbB&g>{l1ty9v>hP7LmJS6E+4flmW^Bvl@RDOm&-{v){CcKW?Aa z0m_8(ts}q{)i#1?09ujpm}-Eg-UWAI%sAfQ$`bGzc0|9*8ca2VK`Zc=eZN2K?oicF zlsaI*T8*l1dSoI7xHV&2W&w;{&yU&nu zAQ08omp}{6t8FM^O657$k->GVFX1stf;$%1U`hd+Lcl=IBZE8Dlmkc!o#BDJ<%6E! zw?r$osWZkAIuK!}+kz{TXP4sV=q?HrwgCUY{J8iu

CD%kk~P>`u?-E}|SjF7Gq} zkO4C580^C=%713b{l_fy53?-(YnI$Uvrhfy*g;HuqND?>)kx{S?|qCdcYu`NH6!qE zqp)-soBiQZ*CXi}%M1R6^I0MjPzlg?RnSC!Rs+TG3i_cm6{fwV>PbC%S4(!}G znj&&6HLMH(guK>a>J&fli|El{0QU|A_)ii+0m7K{8d29x2gBVQ>;Qc^es}!{>z!ku%Ub*OLhj;J_ zwn6GgsOb3_z)LdC?gA(Qbr;#MqJJoY5CGzNy8+Blb}vx<6tIK`4RT-vVU006*eRgY z8btbAxg{{8>Qg_?s{6AI;On9cQjE*IihxMmN1R!ROJao3TokH-aYKX1Clnu`1hoyT z>QD7bt`+Fd&D2%`UIGegC`BkxP-A=qwd%j12C?uXsLTEZHRgYU8VKShuR6LAW?XAX z)zk-hN$#XEVJBqnV@ut0I}O_zyhdCUbo^IZz*|W_^^+oyfS}4rC59!0WdL4YVAJg8 zu`ICX1r-MZh?mp||KX+92QLx+@p9-NFSY*5ON0+zY6%_VwSEQh5?BW!rdHm@lhz>{ z*kc)iT%K!&(0gDv$_J=B`5(ZP0lolVp=GB9Jtloy6i?e1z>8m-t+zE zy%)egvIu^7ZyV-+y!YYa_>c-ehA=*RBNba8g#x=K~b|RFX}RhfAu2 z^AXo&LN2Vzs$i;MMb+OrZnydJ==4AP(fH9^gk_5<0m`bLLdr_OlN0}cg1ZDbGwxcok0cnszod$t;pmo^QUNmAB~s4me<1s}+#t#Axa~1Ac_VN)<;4T?jpo z1Xb)KgHeJq7~B7u!9GItzZq-_)c(j||4Cr^a5hTl5B;uYzMd8p);WWYyct4kY+!p2 zVF4e4Q;=nu(fM$Ba7-@qN=;54W?9*nwjY5H1dmF0%*eQ{>i~{!kE&%?8$@ zvJ^oH(C+&f*J()C3Q9jp5*H-hALX5Jazdxcloy#7XDVF+T~+R`d#)7zty16-(`dnY zupdz6L>EI_`lvJ)Y(U0Q0>rU;J8Ut4Sl+24AmSrW{!1uipo9X9#}xZdMnU_?D4@FY zpF}D4kx{7s-?4=Jt@j07@a?wi$KPWDfAkhYi9EX)KPz`p=8vi(2})mL@u0+*_UoA1 z>kluFigJ@uK^-V_CII&QsKLv=s!@RT-;uykkb#VoljvQbS&9IaDNq;!X>I6B@jhx6 zKvxBA>h@@c{Sj5lATpslc@OE_B}PcWZV;^`lROWHPzg2y00M|1N*G`mU`3T$b|-t5 zq358oO5H)=M;3ROVFXZ}=llUHv|wcNQ8jDW^%Nm@TLQ0!28FR2NF5jUp^FesyWD^_ACUi1t7{s6T7g>m0B1Qdp~YgE#a$6m zfBFdUF0F}<3!iN2sT2iNQU8^2;QzO>Qz<6U8jM`05ZPD>BD7V|8dz_6!mv^lE(h(&XsVUV>>0RFn!k03T-N@CznQ}?k5=Nfa_xB z#;iwAAPIF3B zsq0nVobNE^4mQ<4MYIp~I^P6*x07TX>2tlUw)YaN5PPNWk9kw^?~l>#uY?`+_Tprm z^z}UTwPrgdHu%@-nIThH2)*}SEhXS5_| zfuy(ToQw7L6@oKAtw!0#+TuHPlSgb^5G|Q!6^3(GeVWp53jS*LdToWr6B1m@@*b^V z=e&|2=2Oo~9X^gVGIe<6UjhB{&oNV{QHEGzDb=|K6LqH<10{OyZWc z8VKPXF`c{@yJlMC@mc)1`_|tgW856`SUo~_C4yM@`D{&=w?$rjI82^lH>i%oF)5=Lk$TVv#uUYk?z`R{j z*`sZIdGr-uTbc9jS63KI-3~N|Z~AAQFTkvId8F_a?MZR*D)q`Sx?b%8aj;KV?u6)udBbJp4S?q6O~VTf>2JgeE1q(8H5Gh~lW?TTj+un{ii zG>KN76NfK0G*Y@uC`9rUQ+DUYx(_7pYAJFh9M^ZZ`t>T!+MCZTQSqv+^tb!I{Uv=I z;>$hrv1+HO`17Wnv=miOl5b39^9R~y^B0>9#evmt+g|b177irfOze_sbsld@j?zx@tz>*JKl{en=KqoJ8F;h;8ej9>{4XkQ~@Ni(2&u)&_lnP zX{UisnaEjKr)ff<%Tdz%Z?|cZx}$olr`6g5G|o)ZYwcr1iFm665mc?1;y+q{oI2;- z^1T}61hDvXBi6}Gfy{ILS#l$R-rd%&gvTq7o4B{Q_xdTkXxU44w4M0thU&k!f3Ux~ zSN@s}?R7s8t1KerE$;8p;69${FptjmwG{12vdV%<{H{s_G`IW9yjaVaHVR&uyXfx3 z=_;m=Q$T&CPe>5-ibkky7^u%+K#DIKEr3t_a^fD?7D!3@H;~u*l;{Br>G3Bzf90Qz z(XjRYKFjt~S2%8-BiC{}$1;zfzik-SEFaTbak#4p6|4Dt3!lqI_(ykh1&>}i&7fT0 z#Bu{idKkyVfcV1_YRtQny)?|b(R~9j`_nHMN~w$o9j`0*4Je~3Vu|njd)<#7-|ZN( zGEuArS!sz93Hza{vV>D}?Ok~^_7x1@DmcwO8Z65?`O=%z^j*GYXQ~n>YO)XCo>XXO z_K&!j5$!hozzJy3BG6j_bCH{;6}aBbFoL$SUZ2S$1{T+l{;h?3$J^jgvbQR#a<&`i zT1c{(r4YqZZ@;XMA+J{}HVvGq#%$s54A@bk{RL0Ay0xXT5Xn6iSwYfj8sqMXs7$pY z@8xu~?D4t2Y^HJVIfgSTH|*EC#PL=7b)c`&flaS@7$={(+fxcZGS+Bk(R3Kx-TJqt zP9tUwB%q4E@vA|(nzJQ2@3Ghz$}J&*f?R2e-9FWxuzk$Aq#xg&RXJ|`e2K>17kW186ckM$z51dfqh%YvnYM9$hwbDFLg4Xzc=(mkHxxrnPE&FA4b zfPv!%tV@U-_POKBi*qU2+~@U>N^$qnSvHM#rt~HIoE?hyXIZVy^WO?uo8J&_2D%v0 zr_ht|-7@0v8F9gO2jcJ%Sa%2Vf8c-*Mb8FQk~9UhJ2!P;>QDwD*+TKAn!C%jEtsNw z$nAWl*PAI*@*DGH9m>Lp!*$#l!65;1GGrOBq|s@BCnmcZTv2`nBrcAd3`LW2LZ=Ix zvBSq{*+Zu%g0qO&wUa;(MVnHA`Z}82ZB|IQ)EWY`>6Y zZh*I#gX7)aXb0-*;DDav%rzF46cwKl6YTc@DyXx+|8+JD)Y)hfjsW1=!=!stCmMyx z34V`pKx)H@&Yh4AVlA`Y^fqQC9@J0;XW*C=SUM?3RTP-fPA?p2)Ez%FX<5Qh+LJ*t zd92BXEa4a#gB+z^07$#kF$uG85&Fjt%S6Xvz<@EvQ)a==T72up`Y5UV%>EOM#-(loIkPegcl%N{sv~e z9Ippg{1)4o$!An`D$=Q->?elJmd$R+5`=_NVRbRLn;gF&cgdM`=`Ci?K&x&}GV!>n zSyOsOWo-54s1+tIc$Tw7tZ3nvbEQm;Nt16xC}Ne-oM4~GL0oIgV{^$`Zc9Xec92H2 z8GUiYs$X7;Cr)>`O3c_PPAtlIRsiPI{Ky@nGrFc~BhZOX=Gfrc9sbLDG#*DBF>@mA z5Z!;NbZl+2>nTF%P(1v@i@C7X42?Bog<7EFy2w4*@(tVLZK9?ySpT;Qzoqw9Qnl%d z`7$c7q2*3HkvMvjJ**j7{LQNci#?j7CD zjF`~&j(K5%z@nmxiip{ZB)<~ZR%(bM_&gfysyY&xztrIcE#Ii%jEBEAJVCbOiAX!s z--vVOuqqdZ2wmG(OtQkHR6C94BD$vW_Wry-52g`dxgh1_{5gLmrhHK|BgBm5^$pkk zL|)F0tEq~&1L36n&@=^(G%D6N}5u?_#AtTQ*jSw_p+D~9UxWoRPbW-{> zBi~DMAbdR1BBQT?)1NEYuGI0igT+r88Q7BOS(Aew)U0vv2W$6~8o2x`M*P9out{9Y zx)#gQk(_9{33&L@5IWDE^KDsq6EAYyZ$Q*r^nwnxixAZN>2ZjMqtksb6d?j*C)9@LAtK zMZ)7Jn>5<2_osXJsHvf9G^%1=pT^lU&gX2s>NVSYPayx7wzK?NFmnE%N9xSV|CSfM`CN| z0&ry3tfJ;UF_|%m({h(?>!geBs-RU1Qw|#?AU-R?RDTnampAiUfMgFme0oE?)(ax@*o}C)2+s=GQL$2jel4 z%(Lu9SyeDug+0s*zH^Nl%bsMYVKd| z=NUS;DxHfQupcf*IFev6diG|!6Otu^Qip+r#K}l?jt~_un^v=IFM3YP9e1uRr?$5D zU_z^Od2kvjxaHCSHV_(+AijOc2k)-HNP}~SeZXWF!WCL}%|m=+8Yu#kYmY^J(;Trk z(pMSp>9ixdu{HL3SU1}62sPF}*{iW=Q6_*b$x7w>9K8^16T>!^<@ovIfp6ilut-~+A*n#!S>22VDCg7t5{}%qw z3&4r~eaneT|Gv$D4FJ@&fCFg%?{7JY!t2DqY;C6%Nzf*1-M#ZXqx<-{1zqWR^?sbu z#I@nV?Xd|HP7g(!WhJOMnQn^ZFTnd`AwPySWtlvLi}TX(AB@K-7TMRl#rDALT)402 z8qdW$lb(!0?;-k7Th;TqE+e72vGV8r92{Zq&)%4eZ5Ia z>C4?$18yJIL#&nIy0wU;3*k8L{l)gK3P=osTz8=XQEC=P?#>NN&-LkcopLGPLmNy5o`C_vFnx;&zdi@<_c$9F* zhWHfwlotK8){zNB%I`P1VT^gcaLI{A$xZt!&+3LH&?51?ko`WEviw5H89Q-h8E^8` zbP{ylec(QGcrcgqt9kW#d>7{_a(QvL57EfJz1GX^D4IVvgJ{?N(U?U~ed(D8m@C-n z{^sraJfFT)FRYk-KHmQPxVezY_kJdS4&+OPo&JC7`UuvyB;WsbKB$@9**;Lo z{Fl^UpA=W#Ha1_8`$<1*Wh&t8TyTBAEaU6A%KWUM z1nXoJN6j(<8wKPM>hx>?Hr@*35DX9Cz{hI8fh|Ky2O_^NM0x;!tMXmD`XTEW9}^T$ ztu;MOnLdQh(kv>mScr2TnqdaDaQfVxVqWtz5tV)s>-t5~n?sNL6I=;6X(D}z=Nt9F zu5AqMQC-CDKJvChbVEGS2KaW@%Hk{by@go>Ws+I8pc5B4i2-Mk5jW)#z12uuXN5Nz z`7+5$6To3xo?_t%xMJ%4dE)%0>qH}HE;H!I)5RDg>Ww1PPq^h>n*8O$3iRj3uR_fT zbFhX;*&(aZ3h(OWyv|m6CMZzJ?l~Z59CX^>sA(@UFyF&uQVLGzqxAI1Qo*aq)#zFf z=$C)BClGA!mMKO|TFX@&esb_>8~RM6T-n&o-U!^+Uo`O!J}9!7&G>k<-kN%U`Xv|E zEc$sKtaGw_t?uPW>iq=9pt@XQ*Lf(=9KnLr#YR`Og-axJA!}S#t6t#K8?Jm>t1U*| z&e~eSXwtq2NUz*_9hyl5vlbE#!`q_rjrD{6V#S3C9N?BeLe}EtQgY zF)^|6OpEk;m;k*O)nYO4$_ZEvT_WM&gpb03mVPey563-E{0``_?`*kp+#b88rNN!K zAjIKcQR2yL3yFlZ!a-(;`Rq#DT@Xub6j(+AAA(cuDwryZBH);h=B;7d8qaind{1D2 zLCHB&xJ`&`j2nGKcqQLAfqR)9h*fPV-_brXj(n|Q*=UJ!@cY`G>CCxR|NR@T<)`x# zp!U+)PEPXo&%WpH*2xZ}XF_tn2J78XO#yG#Y%Ctr~$Cwuw;g+IXR`3 zUum7yj0#?Vost@*Tal{qk%!MpucYl$0;=U<`G?`T7rJc8VwPC*rSqfUi;q z-FNwI3OW)uG5gs$8YD{S$4)q9dx4$yDviY<^=q2kr#o6H7F)qJi12~#U3ypvX8IiE z7S$~UC`Up_Q)OJT5Kmx3Ou74O0d;M8T8|SbGWSAneHJ{d@uPF4%gv83Wx)MVfDP_( zAV#8GkR6nsrB&!P-X|{jfaB32f6mNN^tF-Gv#n_TaRv{N7W~q0-saRNyDGW<#C6k3xNb?7U*d;GVE3n`4s^=?BHGpH$zE@9J==ho`CJ%pX zZr8SGka>}^uIS=Q8Pl;lld9{T0F?EB7Zvlj6Wq9Q|5(mSQvM~zh?mc+!q?0_DGGdI zShf63GbXDZo-Bm8nHf_SmaakrvkT79NiFhryuvnH^tR`EjINg~U!;e}i)43#E54W` zjr^eMGK}T|axEI?aClK~;nmu3!hEfL8dkI3Sy$!xSBX-!%cIPXvl}kylEB_eyLq!r z+@e>n#1`bW;$GNskj}lZL(Lm{XKfu$D-$pBAx~nT5-2D{uXhTHgh}^yX={4DTZoOz z83558SPnuQHFYGxfrcDgg6@z*xCef#i|4i z4Gxjt_Iw%%iz8M*V5*d%ArLbl(9SRi9&t3p;jR%#kE>i%sIay$!G61?EFp!PKFdhu%f@e zsKzKWP-Ly}STwt+hLm1vRuv^bw@JfOFF&`K8ojKTx7RA2CEf3jp3tjk+^|cH24k$y z?wHUe5B?Hvm0}6-au}>ddfUK>8}>E6^N_cV+p2li z{WjdV`1^Ud%(lp3ijE-5B*6;vr=-r*mB)w7eFbul%w^!@_4&2FzWf>b5`yo{IL}1u zK6mj0fu3{5=<6i)_g#?trhbn?#P2TTUo9pT{-cI59a+ z76F=IR(pZSn?ygp&BK4%&8of>{(N?pJeVU&QwU*~0QmD6E}pC8K|Z{b0=!KjFMfQw z3OLP$cATUO@KH$i;c!$eBK!8NOgi{;`6zq=K5tH)6nWwKDu}-;9BE|oRhVQatFv)w zdw4Hewr>_yfAn4#WNxW7MV$x<_S5g_1Qws-Y|bWtLyJZC(~^J)^ug*Ws{nWh6nI}U z+`AY_x)`Ud8Urdd91##H^y1-^IaFCq)!EZrG1Tm8D??jyQMF#Hi?ORoJIpuc(yPC) zgGA9}Qzsj(wMG@!c%EHN_EBE!Jw+aDvmJU2t<)6lUK$!GW?HFXT;Pdml=I#cSpsT=1iQ;nRm#o5o7en%>M%nT15G^% z=ZG#d*D5NTVbhcdyJ#lIbWR3d8sCV-B{WL5QyNpGE;{%gw^=XP*iOs{uI4|RtViEz z)@+5c!FI;Uy{`fx$C&ghxb!TsH0A98%T8Xg4#=^|aq>lj%&UsFCJ%0fV1S*A?B)jH z@FwmW2*r-6=;jtitDs1g=9~7jdp!3R*Y7K=JMx46V?KB;@t1=c2jOJ7RbLdURFmhT zqgdO2G<>?&k)PRy4!)&d6b7aV(P7M2|7h>_hwtO)&sxTRwRbP~-%D202)QRqR5Qp{ zY@RJ(uCcgk#mkG&136efEtdMlk_pF;UPeVn8PJAXbFG`V_t0^vQ-<4?6cwf9QQ*C@ zY5A!Ac0G4A>?29dM~RSV4LuOco5GY*D!QY0_!2Wwm9vHN(oxqa?T&BQnek?3;=K&1 zX6>ks9nc1+I=vnon^&%s;l|!mt6*CL!8fCP1bMPJNL39YlGKls$T+lwBz@gmt3OpJ zWbVwjJXxV(C2`6_WeH=?u@js1YI8%7)*Uofz2IlPV@7?wzJ0X_B=k zERhi1rV2>sgUJ$eU-noB%*7hOYlyLRS%)SE&Bel3zhH|)Bnh5FeO@D%t6v5N<9BMz zIV5S%VORnt0TBr;5%3X^A4mu^-g2qK+c~L!%-k`<1hbLodSOks#F(x|HN0U1jV44;X! zV+);>e7M$=7@12qPYu>X&CFx=XUl*MMMPVkx?*)%rm`6q9|06lA=`444lCfy#&lnx znLr?(1>NP8!#7mfzX%+b!Q!oSW**e-|5Jo41){Pnuu`D;us zB^^j>NuGdZVW3@(J3pX)r|^0I#Fj#d4_^4BLCHr5Um}~%8pjT@7&D=v8*Ev^Cc`eE z4&my#+qraG*tG-#Oh8*WKydS=!esdQW<*uYxNq6I?8~FJL@sRuT8S|Cq0Axbu4KXL zRKZe^#@3+?-PurBTJ6W|x72ix@nb7si?{8Q@!jlz+fuJ%`V$MJ#)(4Br6i5i58^7} zzwaAg()eDq@rbW~k|XI$dk(EO|K{DAmDHKMvJ(TWov%oV6BZNvCqHgYR2dK|)Ax~v z0eOM4#(6o;e@G`FyGh-2g1X$4Tapv4c~D{tOP30xEm z?oj1GlujBS%{Ae+0;lURTRFH+Bg;M;$GdG)l23n-vCz(1(Q(f#S)5#t7_Snu*>XG2 z>#LIxBw6;sNc7zQ)<~)$!2NQa>|4{SD%E{m!R5eVj%%N7T|TuWJbQ1>T3@&ih>hyDGPM;4#nm2h@xln--Nkw=&OS zbZxFtxyup1c_E=4!@@C}^cbfMd070e708-ODowVps+w7PbQrx;VU>8{6RVR+GLHO1 ziQ%3j%BKXogJgoJItyVZ#%ve3ZB&IVKrl~6kLWY^FEW#0Ts3xvWpO?lC^?Wf56?Z| zb=TOFVA~s7F+q^E{)$iv=SM>+1~9P#1eU&FQ8IcA;SzULIx$ktz^VR1vw9@ad?Pqi z6}dGMUbO4EqN`FkRB+fiDA69Afi{H!IU;?k5i0O7WaKcJ630qfhI*^kli9>vVEv2J zlX{9TzdGM9QGzKSZn#^W^eh6aS6Xvq7e-MX?=kIb=oUmzf=v_~{N9lDYobTmePk8K zQMH|8nT#cSN2BjL;47N6I~>O=7p6*K=S(4A^FCKL#rU&Ih^e$(Xsc2W+J1pXVcSg& zvKEOrI(mVG%60}al8mwPv?DMh%XK6rU|!xs*-E6Yw>optY*(6U`a9p}u#wS^ts*5V z>kL%4`JUUAW-*Hsx2|;wCrS=IV>ZIx@I;Bh}k2wjpg2I&z#c*oqp(am-jk1m@~*5RB~Y3MI+5mQXN1cpg6j2$`qC?HtuQ;YiE zxVF0>F1rvK#)El!E=WVa{%Fmtt$-Lt$qWysn*dn1dxa?Yj)qY1UGz6x1)U<}ZH<*n z%&P`tY19(bk`P8E*4`WhQMX1o=zv)oLbiH*HaA$Q{)eEO!bAHRAVNUtk!z@W4&5FO z!NLRhXbbnI05fZ6PUs^j97H+VSb~xVLE5Y|ztu^)}7ybEA72EHhzrL&IFy8(5ENE{krR56svkvCc-ONWz0$rHE{WR>y{tC5R0M<}A7fAH|^0jeFJ0x+pe9TEUaOBsL? zO>@BeYM6SI0Bsn68XF*oMgH3q06yVuqcotzRso>Kzz&dE3|@v2u7Cj0;Q^F1F&sT% z-zI|9P_U?RQRC7j;UQ8Ui(Ccg&VwPk=^|o1h1bP^uGzS)vLpPA)hneB+;Y6%hOz6} z@-aaLIs%-5`7k8e*{qaP?w|?hD1`_6gd^u3;v2VZk5Aeubz1LTIQ8VX2&u1;iHE_) zbH_UP`ykR}%gcCfK1In!IPUsoYv}B76ZouWI^sO!!T9Q5Mbn#Jz8;*dp-?IHlP@TW z_eA~Vn(C|SxZnSFb8+n zQt=xp@GA`ClEuSK>maj4tDr@CBMRR=R`f%i)aBVzfKqN0XlmE+3#e2nwNf-&I&&_U z&XwwUGiMXF5VhdSVNZ~SRaCdIM$81cYFLa&w{bT9?&T7pO@lkHxo zlJ^4mp616!`SSe%op6|F7@bmH?z#%{gb#hUA3_COMJoJM+Ef~nr9754yP6uqQ^oQc ztD>d+^ER#)F#l%WR@laRDlIpU4MoAG#|VKkjRuY~4M{0aDUUC6uwJW_+PB7`Q{Y=} zfRUw2dpy-RRn}r27Oi58^>x|DcXQ?zh6-IRwMn@P@w>9jqR3C>L_2$H_&i^4jQI`L zq|UX=I|udC)>{xZB5_cRQft0$PGqiBO%frpP7}5tZF(QsJaQoc3?I66zI9LHc9@kh ztV}fBb({q3TPQxk{2G!!NqwFZH`eu^IdS9GFMbZp)9-ANK|=um9nWEnh5j9wPu}u_ zU<00{KM&1wKgTL&PdM9j`Wp9QX<%^|1Q+O9ET2xB`T6wti%2&(M?GTMM`zjmaVT;tnl_$d* zc|jChXI6E4aJF9LJQ>|2^u64X+vx#{M?@eJA+1yLOK}0$aCM|G3zK(YjShZR5~aGL z&{bhk8M8N@?fXRTTcp=Tc%aKLPa41Sic1XF9nsz{DUTGU+~B9EOKFEfogQ4LPh;Po zABF?&gU2{7H!Ff|?M=JUKONH(d%M492}T|-e2|v(7&2*vdx-MIWQjar{_3QmhWP|! zfX>vd!Pr$^r}s#y@Y?$BJB_<+xt(8fEBx_NI+av=EsMD)=SzgUpet_Qy26K^_46$b`+E&7s||}PC8^1GmfSNPIP3N&A~=e5-%dPr zA!S==+?8-;w+(%y2+-dbxx{$TFNDzn-{VByTC6c;GQ}c*ddd)BDcOtU!dAYAwJ(*H zflZxN<{Y_x2Pg|_Z_|EUqPs#8D`PRgOm}h~_KFFaNyw~f?j}a+?Me5R9UPtxK{#Fn zyUat)$l7&5(7VfQ=?gU=ld(>v!J?MePYidy4u1t=nR`nEr@ZVl79G}GtmgbYKYvy& zsiOudjyG5lq} zxlk!}g{6!-{&cRp6n@%~tn{_drXm#h+{w7Lbcu$uwV7nRc77f@TWv!^+2@j^Sh`t8 zb#A`}T@hJv5dH9LMvwaVg;zI3z_AJ<6o_p73RSOgSC=!ADZI13e)bk;d{9s7HIJ3 ziERw7^B?z2ogp}TlAKPxc1AOFe&?EK3IiZK;T+(dhg5dq)byRz#c%8yjk_+yBAkJ&8Zwzih0!rJLBjq zr{C1fc$RL~MebE(MXjgoou8XwX%aGYQf|Xc$)h2^26H-Bcw=9++MF8a8UZe2zZE}` zeo2m10wT*4(&z{8w7Dbvck3z{&|-jrouVkVz{0>lD?DL#XaTXAGT;k!^GAR0%aV<) z^gL{k_pCSWt1L-a<@to&Tk!#eV0>EikjL-Sp^lIB!QI1?12S=-`Cbo+ zfo0jBf_r8`dhR)K(8o&R3}K`~UBd374Uxwd_vnzs2xrYtc<2sIGlP3)oxTsjQ4tXk z5D|#eQi{nT5)laUrUSM?UBez)1$ztTTr&m+X8NPeUQx_mk;CnOd~)};2;kVursv1M zx*U1u%_kIe+W1I*@LE!`G>2S7GAO!McIsoz$B#F}6g@iS)t^Uv!^|B&vve>dKaA5x z;}}R`R6UR}IAFJj)n$ZG@|Z^Br7^8fRLFlFechHMFTYW3k&w;Dp(TS6VtWyuT?cja zWq0f6(&qogs3o}6-wJ-dfx1co09^mq4fI9w(*QUIFrORKziRd=AjQu#v{@|MTi$|m z#%fM24W!{`7?hydD=)nKO8xPEnPL@u!Y+43IcgSspCG-r=C%U`vy+I}iQs8GtCwa^ zu?aXtJJ`GrTZG3MqJUx&t4);ZgVO_i%wwVPx*)Oa>p27d^RV(a3KNu^* zYAG5s@V&QhfW9Y@{0`jdTy~57o;K{9DHHgH2ps%_ANvUYz;$pYwN;JXSFNY1 zG5q(jM|(&n7e1T453W0uoh$mwv>=?X#zJDJ&(XA*oWs*D8si|y2_WHT5*?nLbAzL# zIo?vjAIU6qxaJxlnFOB9z9_IWBllHW%o?YliK7Tjf~&${4dM*<3h z=S<))L#@M%zbdLg)=Y2L*xvzx6k9#GV2ND`seIQ$ZbW-Q4%{iUKW2ILm@)=|?t!AGTW|3VH3LRf zmlWtrGODp7}hqyq!tk~T0K34+AjBA5bp=gx6c<5MWO$LNa9+N)C% zAJ}h-fG;yqIBDb#lKHq)qfRWCSTyg7Qd>Zv(uoBfhBpu@2VcKRgQdh%4yW1TCV>vL zRnd=%ig(CMJ6&rng{Ls*>0&U95_^EGB9#~-LVgp`F(VZ^`JMio#-aKrrL)OyH#NY| zC#yt{M3TF?4x5~xGB32Xr!@&km|eFNY#WGKKYB{%U8r17+>lX`1Vx8g3D3&FV?{ki zPkmDbw~&sO2V_Y5N~S1(QEO&?VR{UKZ@@Bcv^sV(-qo$HvH?$$834-|;@d(PF9xRs z?FrxQbBVhC~sG-LhxRolG_}M zyjUETtU6+%gMAa~Itx99Mcz@onN$%tgK9#Hv`pij-{)E>YZn!6jPdsrV)0nL)4Zjs zoj@n1Kt0vzfI`b6qtaT?VOo)^8ud|7o6kwwdoVdX&37O$tvWS%4NGax)a>Y(h5<&d zb_(_QRVqhIW{D$#`btmxAS*;*@>A-vmH3HgK@w&KIdOs8i!X>6d~(MHMsmk2HLB|= ziy&LM<8lXLtz%s=VhPKXlhjQs@$<;!xdJJox6)a&V-zR}{BoBp!(w6UVwdGyR9-2& zTORiv!O|o`hIz&9Rs2mD;fKnphtlJ6*DQ0rYAC7#?=6eGQw~3iUi-cUUKs=u^4x-{ z3RIM2ZIn5ysG)p=P(v{bIxYuRek_U6UF4WU(U7eDAVT;#y-&HFUye{ZsBaccRgzeh z@O$z56khL_hctZ0)`5^Z#EaW^UDBH^-LlFb-feIt_bDaTfrPC6s}LZ^8x4ppKXeKz zVb|9)E!_z>2s%>p%pPv@1M8ePv!*UeUzOFDow`&lKRH(&N@|`B9khw_#;B;+_#{9OD7SuA=P}i&zb8S zsmlru`wGM*Pu?;zcySBua6b~8gb8GK zZa$iX5PYqE43iaP)*CaRP@#LG*Bt#O%iP62igPN!)?j;#aO4749?g8v$5n&#okbZK z5kYr;F|1KxYXY&IqG5<;v4Q;(%WrE0Hd4pf*oS;&?X=KjJhDX3!hS{iLed1Ai@)iq zXWY*u=(gZ^A|FQrL7A+@J(8G<3&e81$4zO_^v>iRlu7T6DkboKp|cue7vX@iWf6hl z`0Ob1{Ls(Ha$Famx)`oMj9D9``Zx-#6cx7m*w}VZW(KWFhh4Y*bumpYxGm#Oh=qaL z!)(l@lC?I-tYczN0#T2^8^LTe;eL$w_^a#3xoKAOd79?+42g~O`c0i7P_Ff!I7ov+{Zd3`=`A0jR9dRAek_CNS_SO@i_hPY! z`&yN@&b}|kCe#()lf;5gOC@<@C$x52ns%}caIpR{&7qHiQ5d{dFqk-y^Nb0zw1kvpC5Rclb zrqq+$Ck|GYBRBe)^n`CQhL*BkZAaK*9js3wCuJbbeIT=asrDPMQulm<38Gu*@eSky|#EfH&%Ul)Bv3n3{O>1==N1tP&#bAq_j zIH^3-JFkdfS|fqz&X;4x{RR7%loAAj%}$i|SljtV!n&P{!{ymUAHoN^y?tn~>*(PV zyx!|*nTx;mpq=l)kMV2k0IK@d%$HtMU?^F>62Ry)mz%mSTc(sEDL974t90^kYFw7M+z`6vgMeew86o`dW-)Q0x)V&aX9!1I*ferDiS z+812Uc3ss=H5hgNIneft3n-y^ExsJ}9gxENdB}OBd`UKl9(2io@fq)dVC1in`^|v7 z$_Tb`ltVNCnt30yvjpO(uz|x~03PdDC<;6IdfD1tAmf~=x-h-wA{55SdjhIuPU>ab zG(Xy`%~$sVTyn%P7iUM5g`_8<-!Opq(2AcZPZ?k8`CR4fzGt>Y&A5pcQUoJYgL+jG z9_lRU1&Jzs85eeNQFVLNwu>|ReiIA0Q}rz_kMz3bbkweZW=;RKvU(x8+Xs6|TEEsc z-aK`>`ho=vPH{CpDb-K!=E1&j=;2fyz7S`OQ&(1d1+ z$XGX0k7mAmC_qA;zHX7Al}d~)Dq)K^t)Q1B)MSn$&(dN0dU3}*H6dbYG2rXfV=x9d z1{_mp0FE&uz}zqKyA<3Z7H?guRblyFE_P>ehCdHCBZKoN)W1~xCW|LbB%IX;FPvq} zN}}iwu{&%Zz(09$i!2YGP8g5{>=k$po5!<-VjAEb;Ehfn;2qvCEO3idLfr~>-Iccg zT0}sI+#^W|g%|A5D>@>lu=FW>+U9wMU_?Iow?-miNnuG4(!s&(f#p2}+)Z6{b^4g^ z+rfd==q%x>_jts`(~QK$jkyBZ)x2D(nqWlo8w#`EBti`62KFDUd8lqrC?uuXRivh8 z@3^Jq_btkv!2WJNu0D0hr@$p&%={;!QI{D64{*B)`%xeCL~48%;!}uRpZU#B@Z^KA zNBv6X$Lf~W{FU2SFtL0jIGLUgb0tsTdD|#y;VA5K!4wLxxdp>eqQ7VC6RhkGehxF@ z@NXnmL*-h>e~J)#F%YvfnzuU{Qe)kwSfKq_Wl3e@3roi7+_P8QMa*3ZpI&Ffx#QAf zJ_z)z>nl+cakU5tmk9u}cg7F9BxivfYC zoIZ~S4-*&AU-uzN-TfV6RBadQDy;fMU>x6EV^P^+>+aWF7Ua2Nfk-{t#G^@`^t2kQX?yd@*N zJNdF|gUh@Ov?F}ip0k-LcCeoyAi2JC4m{p(STLa5A}h4<;h&G@>*%amxA=7E{;l%y z3-d$RW5@b=Pv@jiU0LqzsX^Jne2h-{#qjAqJr(0dS5zILsFy+l7fyCdoDlLAKKJP) zZ3V+uIbxy9{)?AsEmh?>JoNLxM{e9V*6!^1x7sll%xt;AOnglRa7{yR_%9Y_5~92} znY#4`aGo4|Rec(4AYT-9-g-bi#s_pl0-LA6fnL6kYzh>lYSRW>Xx%9+6R2iIw5VvF zvP>W1)#J&c8AMB@P41iODf5}OGjz1_SsLX?84}=`7|2SR3G*FoXU(*L`Em)yGI)|f zP8iZ{l=&Z|&2N)xDa;YIMA5^;cB$5)mCgCM%FC4**5pzUTyzNA)w^k!-u73MP|cYe zMN?Eu8pf;`#xM>N-K|U9SPFhd?;_eaHjHUCje+VzS~OW(B;UubYeHS6DEcr~fmSc0 z5k?zhhHiua7cn2mhfV!@PpwpPQ!XlAerk9U2*8YMMyZ?!-GNRr<(QiOEW{lFk= zNWmi^$~GLT4znlec4W9l{3cdy#=~|#(9B6eo|KcYUk+7aaV4SLFLP9{Eprt6wSI#V zT0QTc+Zvp@%$>vpS%IiAgiWiF-Pe}-HBrm#IJ`3+2(CFFBRh{ZvXaWvSBEbAs989Y z{rfiBmTwB@1$vCnfPRrhxZc`zs;m`o-rKzwO zp+(XdQ5ESfE`w(<3^)mR%pqXzOVRvLmvmh8GQFk-=F6krJor5p} zlsb5GZEro+M^&W!{Gb+LTthSBr~F9caHV#^;)WV6BAcEgilHIcriQ{<$$&C>K@d3X zX3Jzf(u6~}iD`o5bR|V$@mJbPtc$X$YYRloSoa(sPw%`q7z8HU*86+9V6g{y&DkA>+>{wCj-YUF#BGNrRE2Th0_i0)6uV`Qg!`JO0z>QU(Tb~i zPvBqiV>r~>L1oNE#>Y#gz3IW;P;ey~lVLPVyKsmljb>$s%B@9~khUsv-|fxQGh}xd zG>3n=O^lU}c54c~kT9ACB^+JeDRfNJE7~A- zD7bupF|xMxnp1c5Y583G(HrREQrH27u}_SJ8w|Q{YPPy#ZX==U<}rhV{Deux{b8C4H9;*@dM^gR-vwvhRr9*5hD~v0Erj~~1br0N zZzgO<&t!>IkjtaU^H`{$$s%U_E$0q!6Vm1qaOdY4u!#22$Fr8dX{g_6mI*zJq4N%{ zXz`G{e*hh=U;~4vU;{ zTVtu#Dy#qq2A!7$s~D^WtE8WhPtjIQIgs z`lfH33}|wZZ=>hI7Fo4-#~?Dtmp6FkTbD3XTxtds-IkW$hj;z*=6H5AdsNi4$03iQ+sNi|2?u7z4 zE>O?mIjiTpGxASDny30ICJFI5Qi%<*+!YN=1%=CNB_sWqC@k8*VWO5-Xit8F8(a2hvAnAFM5XBp~jbznQEe@ zSSgFLuYAv$J5|$@35{KuuDSCcE3Z(IS6>f|Im@T%QE^zzObzQ@RvBW3r@dTDlm`OY zf+yc<(Wh;wa;0C@>d6UEk1<6tr0^um;R0#06DqqG3%6`R;=qQ!CH<)A!3P915W6)r z4r=>e0?+k;t@&tXeU4CQbBX5Cq7OM$v?H~q@$Jbn+# zS3=XYigrjA zm(^aRot2JD%bZx58Kk{d9PPMUZDH-4|Fpki6ZVlP+!$6Wc}Uu$OZcJTVe5*YGbql+KVXZbYmo%4uH0mY;=OdvQc@sx4%J z&3Q0+-{jO6+5hm|fob&SCoc74>x?OTKP`*}pj;OlAtcucV%CJI$Wq>1w za<6+`{WdYGeX3U!B_bZod$ArmCq¥-9YNE1J3j$QaMWZ)BHyJ#iOh0hSHL zCAIPMY=_gIT$l)RIKNa+^#;vsa&RLl1V4+Phx4fz9~6RwkEXqH-0<}P6*{2O+>r0t zM@C@Bvv48|0Z4|#Z3uuHu)s|Iw&pM&@iK0fNfdPY_ zl_ClKk5blt6zi)f*&iAf3lSLSuv-MxE{rxwyOBj0AZxxIB0pEH$k8;IwixPt5L8VV z-hV2S7e1r%vsxlvkY=^FhlUuc4omQS4yUCa7Ls=GJP$Es4LW2E;D$?t0e~b7F|`CH zECyJq1l&xp(_vKuwP+Ebj@i|_DjDsL-$7!dYpTJ;c2#l$;225~)NqhCUdO!ac3|YU za;uTW(Jp0z{!VBPM*PGnwGrDT3Le3H^xtZtsE+OWqndsm{;DQ_BJJcVglApcoSsiv zi0v9k?tg+qFx&?Rvjqa~3&Huk;H7OLq>n>VGw*4?hfn6_hWZtSFK&+v=))S5hKi2^ zM2@u~Q2X*4gzY|_>$wR>Q$Mzc>9tHf&+PMaa!mn8_z1hyTJ;COTM~`8B-mZh)e$fOegF~Mb5zQ=@3C=Q zWw6cV;Nr#-7Med$QJ3b`G^arAr%XgT@uqfWA${;v_(bp2zMEDfb3x&5){=AJRs_W> zsQn$Gao-aHj~)mHP7L_}<)Ef`Zj64sP@n&v&;BPPHT=)qnE(J702i=~pw*W{F%9-x z5>cxEJXVtZU-{K(&)GTuco6`e%Lo2^;|BnS*S`Q_4sQ0YX3nav&Q>;N%zwfGxYoqd z(5JzwxPQU?4fnr6_+ROeKb(?(Hc?;(m!=C z{~rqEkL=(-a+YHKrMmILFV%mS{agO2Iw9F#sy{{krTUL7MmT!^m)=$68b3{okNQjg ztM}hokN(tKDC%#B=Nw4nz&|0vKF|EB@&7>lhWd}%KaKa{A1}iFi$zh|Ul7mvUlrZW zoIQ-5pS%8cpu=3L9}bi*^Y#}DSm*zn&9BJf0Du=N#52&JY*zn;`WbcnFEhAv&Hdz) z{vVLv^0yhD!-?Slf0y~ge`L%4RbR!y#Kz23&dkWd?Vn4)iBs+egSY#?6u+4HzX|*u zoa{Fk$uroSpI``oB$-dl1%L4u0eH^&p9Fq`{Fc87{JaES{I^P<5qQf5yegw9``^%>`zWt)`8|AnB z)2CYg@hRfJ7*V(W%Shec+04jR&B4vt-pJ0(-t})<-;{?Ge^_Q9`4=DNH~%-Uzt^t+ z$;3A~OcP@)M#r z=oiFq`7gw;aeV+_Y99a){jZz-xEwQg|AKh#`8|*MbN*%Z+>u`(Z~tSL-}1NBpSzrY zTRrjgpECc~1^v?!fR+zBKkWUx_5LmYRsQde>Yw#9@?RhrlOIjeuYM~w@1H2X(W^hJ e=y&PArIIYvbLSWE97;I}z|9E&s9i%mAN@Zx%>XF? delta 42 ucmZ2 p.Game == "RocketLeague") != null) offsetSettings.RocketLeague = pointers.FirstOrDefault(p => p.Game == "RocketLeague"); + if (pointers.FirstOrDefault(p => p.Game == "WorldOfWarcraft") != null) + offsetSettings.WorldOfWarcraft = pointers.FirstOrDefault(p => p.Game == "WorldOfWarcraft"); offsetSettings.Save(); }