From d6dfd678b8e9b0c482f524526c59783f0d6f3a53 Mon Sep 17 00:00:00 2001 From: dsc Date: Tue, 15 Mar 2022 20:49:58 +0200 Subject: [PATCH] Brings back the mining tab and adds support for solo mining. - Automatically sets the receiving address and spendkey to the current wallet - The ability to specify CPU threads - The ability to download the latest wownerod release from within wowlet (via: https://git.wownero.com/wowlet/wowlet-backend/pulls/18) - Explanation on how to mine via the 'How-To' tab - Console has a buffer of 2000 lines (auto-clears) --- CMakeLists.txt | 1 - src/CMakeLists.txt | 5 - src/appcontext.cpp | 7 +- src/appcontext.h | 1 + src/assets.qrc | 1 + src/assets/images/fire.png | Bin 0 -> 155842 bytes src/mainwindow.cpp | 13 +- src/mainwindow.ui | 28 +- src/utils/config.cpp | 4 +- src/utils/config.h | 2 +- src/utils/xmrig.cpp | 101 +++--- src/utils/xmrig.h | 11 +- src/widgets/xmrigwidget.cpp | 289 ++++++++-------- src/widgets/xmrigwidget.h | 26 +- src/widgets/xmrigwidget.ui | 638 ++++++++++++++++-------------------- 15 files changed, 534 insertions(+), 593 deletions(-) create mode 100644 src/assets/images/fire.png diff --git a/CMakeLists.txt b/CMakeLists.txt index d1ceda3..5fcfd9d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,6 @@ set(VERSION_REVISION "0") set(VERSION "beta-4") option(FETCH_DEPS "Download dependencies if they are not found" ON) -option(XMRIG "Include XMRig module") option(OPENVR "Include OpenVR support") option(QML "Include QtQuick (QML)") option(ANDROID "Android deployment") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e899ba7..3bd5ac4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -172,10 +172,6 @@ if(TOR_BIN) target_compile_definitions(wowlet PRIVATE HAS_TOR_BIN=1) endif() -if(XMRIG) - target_compile_definitions(wowlet PRIVATE HAS_XMRIG=1) -endif() - if(ANDROID) target_compile_definitions(wowlet PRIVATE HAS_ANDROID=1) endif() @@ -389,7 +385,6 @@ message(STATUS "VERSION_REVISION: ${VERSION_REVISION}") message(STATUS "STATIC: ${STATIC}") message(STATUS "Include QtQuick (QML): ${QML}") message(STATUS "VERSION: ${VERSION}") -message(STATUS "Include the XMRIG tab: ${XMRIG}") message(STATUS "Include Valve's OpenVR library: ${OPENVR}") message(STATUS "This build is for Android: ${ANDROID}") message(STATUS "This build is for testing the Android app on desktop: ${ANDROID_DEBUG}") diff --git a/src/appcontext.cpp b/src/appcontext.cpp index 4b23c0a..244234e 100644 --- a/src/appcontext.cpp +++ b/src/appcontext.cpp @@ -163,10 +163,8 @@ AppContext::AppContext(QCommandLineParser *cmdargs) { AppContext::prices = new Prices(); // XMRig -#ifdef HAS_XMRIG this->XMRig = new XmRig(this->configDirectory, this); this->XMRig->prepare(); -#endif this->walletManager = WalletManager::instance(); QString logPath = QString("%1/daemon.log").arg(configDirectory); @@ -447,11 +445,12 @@ void AppContext::onWSMessage(const QJsonObject &msg) { else if(cmd == "rpc_nodes") { this->onWSNodes(msg.value("data").toArray()); } -#if defined(HAS_XMRIG) else if(cmd == "xmrig") { this->XMRigDownloads(msg.value("data").toObject()); } -#endif + else if(cmd == "wownerod_releases") { + emit WownerodDownloads(msg.value("data").toObject()); + } else if(cmd == "crypto_rates") { QJsonArray crypto_rates = msg.value("data").toArray(); AppContext::prices->cryptoPricesReceived(crypto_rates); diff --git a/src/appcontext.h b/src/appcontext.h index 9e9f99c..6d12de8 100644 --- a/src/appcontext.h +++ b/src/appcontext.h @@ -215,6 +215,7 @@ signals: void yellowUpdated(); void nodeSourceChanged(NodeSource nodeSource); void XMRigDownloads(const QJsonObject &data); + void WownerodDownloads(const QJsonObject &data); void pinLookupReceived(QString address, QString pin); void pinLookupErrorReceived(); void pinReceived(QString pin); diff --git a/src/assets.qrc b/src/assets.qrc index da545e3..9969331 100644 --- a/src/assets.qrc +++ b/src/assets.qrc @@ -37,6 +37,7 @@ assets/images/eye_blind.png assets/images/wowlet.png assets/images/file.png + assets/images/fire.png assets/images/gnome-calc.png assets/images/history.png assets/images/info.png diff --git a/src/assets/images/fire.png b/src/assets/images/fire.png new file mode 100644 index 0000000000000000000000000000000000000000..6f5d037862e943874f3a1529c86e7b9329c331d7 GIT binary patch literal 155842 zcmXt9cQhQ|`%VziTb8VDm9R=!EhOqjU4514K6=@R-hv2Oy~|o9h_*yqA$kw8I$?vv z22nSN9?|*v{_&f0=FFKncka1!XXbsM=XswSZ>X((t=Z7ntUty{NgZgzSK z@|!Eoz%#|01DPLG+l1m~3!`v~yE$j|S2y=J_HywLviEhq<@&(3)8At}iNk$Wuh=&`gEkGi@^ zSnT1(ty?^|wAEBig7cg@2q~Uc=z^o8L%GqX{g!qAAW~KJ36)R{^B8s{nd}E-bo58j z(zJCrEn0(iI+x{$9ObW8i&G&pa}P?tE-)f+ z*^Vg-p@@j{>u#C-#p|GJKgwbTt2geV6BFF6?aF(~R|eOli(!{y5!cG+#t-ZaVTDdm zkrri{i}{G%RC(^lG4}k#By_@fBd`dfgK0ukqo?Pl z02xwgfhS=;o%1T%rDpvZ=IA>gt{0@m;95BM(%qMEm|KlDSQTte6vFTzc`(RhE`%6F zV`pb4IQ*psI9ja`S%`v`@lf63r!wACQ5Df+{CdRsITRiTC}|nxt5o4*uBj8vN;mVk z_yfTe<~tVLwJx!^NScbuQxJH1;Qf1t0wj^d2NqO|TqTuvEv7F82yLAkOM=L3?QF9L z;>VkkR^m`meM>#{!AOP%y}mE0z!FyM{RWl}CB=+hEj+O6d}p>FAdy_W{kQ>=x3l9; zK)1)z)6C|yyq@L+QJ|i;THp62-|G3H3qI;>m=SW8%(VxkQ0WRfn@Ms7Tu-7$w6u41ncsbUxs2f zEEzHYQn7uJaDEJ+G;K9cyW({k3gvE{Xqa#_v*s63Gr6g$scvE+K|!g<1yFkqjZ)O8 zPj6Ec7U7;7q;Po>(_-e_jLHIonfa0}*%W6g% zJPrN;*VgPyg5iKT?)Nmh|IHapMD|iuJ5MVZ0c%%ES`0q=7eYU|i)0 z2|G*wVgQ`x%TxjXwi>C8xI}ba9;6%}N5ny5vhTsQP_ic>MFE_52|f`)E(rxAe~c_4 z6MT<73Z(*_}k61QRNyQGgNm@`k?#_=~h&Kfn;i%a1~(!x)TR z_Nn`%c`!fk_r^vuDC*(&&i;`U8~XC1p{lojIrikRnPdn_*E~hoT$}bR6Wca&W40uj z!g>NYd6{tp103UPnpNxHxdnMrQ0CIt9QSbU4ha`0`+U2~3JlO5H$AHOjX*w% zRKvp3Vw5g8CyfNh8n*Wx2QpD)fVd{y;#Tn6%Wjvlpg<-&F%e_M(x7r1k&Qj}&OTV9)p%H#9f*i;5?r%Tny0BclXG47G}x2QhZ$=$|Qyqg2| zNzm}{$F4+%6j)qDNwIO0&RAk+sk27zlxkQ$rHQ`^)>t=DE|=jrCzV&XU0fKf;WKvo z8Cfjpm`mxmG$P(rsz%xR%Q_a7;BL)8(g04M?#pK%P0mC zjPx8^^{2mOf|74_G+;yRvBzlwaJJksV(_fg*rSFz>0}MWn;9y^c6q0T3iy+tsG~II z+nXHt!rM}Y3=|Vs;H+x^_;j2VU)q+Uoew{#c*UT9p~e{fzhL!K{4acazKNX#!jjhW|j(zIkB+d!pv_;nAp zMg<)nYNZze9EO2l$ne)=Md&wmt{BGKz^y@fkh8irUb;9FbP}1TQuw{gcigQe9bSy$ z&FYmKNXV8%SyLRUB}g@^uJmceF)C|3cQl&e$$LPZeTl@2!JZEL(0Wtin?GcL;k@_E ziGyID_JyxA5WRbb-s6+Uig@WF6co|<;;$|&zRW$4|Mv`0G`dugYZ7;`f0PVlf(ykl zs%oILEMJrYwDw_11)^l|W-ZeBy3cdu?f{$6|F{HIicoz(?KsLJNl!wNKTbLUKc8Ms zOkHI#Y;z&45tz0AwG)N|8Xw0^wcsQNR46K3>_L;2AoW23(Cem}P-^~Yl46qv9z+@# z_A6X1E{fp}`1AQ|h{xhC6yS@^Spce!r!yS1r35IpV}BU=shh+Tf=jl}I9Y`(jI=@1 zwC%5$`FR*r7CE!aqESrnnbMU@67|9WS~$C;9r_NDW4!e;sp9&t@|j?Ff`F7b*A^QR z3A}%G)O{t@VbBqJtU`Qw^(!ml^?O0v0`AkzK2kGSS8#Bu1l6u03ho7YK&SUcwFJ{k z)GGUrO%p~bz&ry~`6$ZeN(*|4f|usq{=5;4dmKB3X5dXV5bw|SaQYY7w0%o;g$*5| zs{Li(+o^@t4HFOIb+-8xg1wtZf-{FbEH&Tl1HJ*=eDfpA+F;0plnnISVwSa*{98CS zhgo$nCvB;({TRg{$34+Mwu90yqE_A3Fg&x9TCS| zH6Gee$r0>lSA#19f^aQSeDA(@@oMkUSyVtwHVIhW7i*!ZB@r9y5QmbHN|S=Wt|ND* zo)cnXoRx#Ze!h6Lv$*IJ8osioD~EeA2%v!wW5W$X2L_T&P&^m(-L}QY@&NBxcViMSAPxp zJUC&jp&CS@;#cMwoyxX3p&mG&2eG|%Pl_|2!u0TeM|JenVAH$2|K*aixrPJ>YsLkL z%V57?o$-=mtJZ^%{eS;R>R;cg;TUhY3FRu24PrL4X}h5dCBacF5@AFP&icB9eVMkrH2irRK$o7oB7@d@T|j4Uy2?jNRmOd$Z|6T z0C%+3Lo|4_!EcReVd0BYvYZ$|$8kT0d{8#K3X)saW%tRK&@M-INT~pzbRT89JwE#l!kSzcKXj7$t&6hmN0&*9A~~ zzyhd8R`W1Za6Mm4^LtPlmlm}ceys>)U5MBh;8p^{VXJu(W{%Y^7A#%oS2<iQBh=m3+u}Dj{2iCH!75zt@$D{l3VyNf-UsYzQ^Wu%K!wT9_7CFj;5o8c zCcGj}JfoMOvrNKcG$n=ZR@I)YS^XmcP6aIMA<*A#VCp*+`~pNaeq$U(qz@ff@>#@+ zx0{67TNrPD5}K`u3aWLrYH)>AKL2$6w)=SZ+Gb&~dnKs*vS3%~3f-iP&u8y7SMf+- zFqC|ilMeG!;F8ZXK%vanbBh)pl6nU9JWk%fcc|cVx&)gI3eB04QM436O-kDg;PKRn z^lr|B6zE?N$xjSgLykIXiBTC*qSSEk!b9<&=*ZaGE{)-svRw)(U0&njawol6d6W!~ zh`7ChTKhHi-w!u>k;^P<}HSOppfeoHdTLJJKceWA2U+82)m*Vz?3h#Do zutgcCDJ3|ttN4KCk7^I_6Ze&~g|K+xQNp)h!3r~E9am$4|M_8K+kJWd{D`n%L4Prx zsjmQhg}ps2XL97wtZtO~&hziT|7rw?qeqg4!zy5B&D|Nx^^gachWB?JX*QKlQ?G|= z4`7vFOyVZ*;d`&ox-V}+#>w8^o!y?gT+cd^;4Ld#3FNG2S_lSpzI5~$TT|81YnnBPZ7u*<( zjh_S}U!$n{B)&>}h8sxYrTGN3Xl=ZH(w>@gh{&YVZ7M3TpY)(#k#(g5K>qrxO~* zn}A#%BAp|xd7d$qqjW_n-#a)D&knZCU;O*pajbjTagBvm4r72@X0o>1>EGowVd>5m z|I{hAK#OuoAqB_BZSyZWIy-B^biael@X`&Q?X&Y%-xhffa7*%&Z%w7z_i)<7ps9P$(ZmU0PO882i>PRh+dDXv*Vh6{n>0 zazmP9G2%(vzk3Re;~H-|7h{tf(S1vUlA32buT}QLdW2Hv^ zunwf#w|KYPu$D(cq2RQ7UrCgjK39oA-w{qaH_i+28)~xw%9NW6=ZZXTH9@9c#>q{Wk0uVe0J4AU!#!{Rr{nvC zKHWodo&>J`jXC=Hx#N@j5L~|I9QM*HONlV&Mf`K4t;cgsH8;5C@$6J9dAg23VX2CTdNGfg zl8RNbELt}b{+sY3HDO#H7qagE;qH(OZN+QZml44P@_B~%V=f{`PnUZp{QM{h;#PAU zD}-4MY~M}$Nbkc*k%({CBC?@z+iI3TRwW^TjVE})jZqwIly^16GDNglmy)O z)pipL8XA85%ubNm66|ZcR&Ao)%~7dfmS8E>ScV!s4J%Fy39_SHZ1RkNQ`7gw-4oLQ z7ax-;<7HS%$UcXb#sLKefAHN#u%Uf^Z68HHT`a*k0Lf$QD>F@e3jix(d*X44YULY| zoMloO3a5vGpCL_;9Wo=SSL7s9NHwg^x~}7e>$bZ`*6IagJja?#n*`cuG0%mps?oO{ zb=QWgf7G@!=G@>4j>N{Bv>ON6QP5a({yve?Gy@$kZTVIGC6-1cscoM8>UZi@oLAQs znmC||K24ZutFQd6_||JrU|lPnEk}4Y2*;DzJ7B0o3-YkxRT*OIbgX>z0J9pbQ0(bk z5x&=O8CgF2Z0fA29cyD(^-ri>v89HK;8aK}@Z89xg6&t+`+UFA!%+zuIbvXTOE}s+ z_uq%gMqG8I8#ULHQj?6PEe4YeN`AOo*h3^ooz0uMqdm3pJ0-N>I!Qu?^=7a5A^Z{u zu3-!Rp;HQ%%o-6fNaY5dUw&e9e3c<%-LwkViRIvJ^4x4h@|3G3+=2H#?n_lxI7qa+ z$cv2)x`}ynWku;3Nl*e>;vs_+EOIhtJP?S<$uiWQ1y&Xp%EXOI(~chYEP0o1v0v>* z97gP4T`KA!EH3)j4m1c2*0s+L&Z^7Z?X5}1mio_wj>9gl(nHz~zMMY+-z=>k5fB$+ju=Pf6at}p2ufGg+20jeCI7vT0KTc|{v=9*(l;=?^+vPky z4&tDXwai69>kIa`Kj{}-kfo?h0`5-gdA4P5dLm%9ko3jWFWB%KU&Kjqqdn{3LpDjj(3msA-wU- zjlov^IP`z)^ZPvWZgsAG$5eBywI9#uhB zx#n3@QC$iLsq(9fIEH9}yVi@KMzz5xzl4yS){c2^EM_ZZb(7wyK=Z6?k#W0;>xh_% z1pE;Se6q?ed7_Z+Ipi+FC(L_-B71~=L9M_Z*_QeBUCxUqKdnyl{MLX390++q$;}A8 z0fsw+4(A-~no6vEJg@hA~0$$E-tem&O8Ix>Y5+@;`cPD>1@_+`Rb=p z58ZX3h=ad*J(bJA7ozxKq+UYLczU6cHv#HMBS73FnEzNE`<^jn$tE=RQFKs-Fk6`Z zEZg?Yn`)XLw%wU-*q-Torv$n_@XEMmX9)DtvJV{s~3mDLKv- zmgk+!ukWm>M!3W=e8d@sEqTi^82?uw0G{3g2oqOwN#{TJcu=s%P-+QLVcmbzYvL+$ zcawy*ionARQ2y~pF@&D^%g`hvvhF`0MEV(tG+@C7#-ELfURi>^U?C7IP6TcVYr9GP z)Y!UG>o=!szV?5aqhEFxI?tcX5@iIAH1%{%5QZOwCOChDHc+yX)e{K4t=}Uoy zPNm+auTnFsTIPETij)N@#E!fvsfJtT`Rc+Kwj19qvpD`VjXN`?0P!|S{^tkjd-YM7 zDA084!0X;63bsCRs5_hs#2cjb5%U&_6lGg&!jSVjC1WWHNQS`-k;#82e@Sb-Qmc+t zRz?}WUYvPdalblm?q2)aD6R2!896oWnyqGtPz}gg zEy;=7BSws*f)mD?)DRZ-YUxxqEfZQpkKhab=D|xSuCnC*Z8nf7vlVXph|N*hK3B>o zJo}YxOQ#J`{F%PZMBUb;rJo$fKlR7?`W$TqE|&yLM2flV`sjw*imdP`ZhtW4uBDd02kEP1~--}*Am?^oI+uN#*L2c-sf|BAv z`#`GhtKKH`VY`%gt+;|x=iaCHmkvkyPEd363*98sbz@j<3VdM0I~El)P_BuJIy^P} zv?ckJWwiN!u-{S4Gr<4}cF-GmW_OjeveYwjNPTPZ)u|L9YIfGuA(!F7Jv@@0bPm8k z-FhNC+e|xON9@bmJ>8oowF^5Hm@~(Plu zC!wSyrKG%naX>oPTeJ4H>e8Rcd+UqBr9ua{t|$-Abj{0P`;6 zb+xGR9lw4?I)*y2X`p@7R{JIO8)i)24AYkjFO zl1sL`Gpv}@|=*IB9zCPEdt_5 zb6EdhbKi5s`V06<62#};^x<5-_&cvRUYdtY;~9OV40?r) zqs-mGTB&Z(%H}Z*DMa9c3fz4DV^GMECTDb65ocMS!E?v>uXSu>nU7qFd(wl4_lCr! zXVMe+ah8wT%D&{r1Rd`p&?%F!ptg1b| zI$xaJENC7P8E_n!pT8M&T9vT%FmyP;(a!7st+Otdx8`J?c>4xEfwZaRaJ8zKyy284 zD9x7Chp^GD5q7Zpoc_H}11(gijp$WC9j>^Mk3XB(vy3o%)!yOLx?tGm3rDyWuWAwG zVwMu%84NCSO`y!t`AbD#J)XYp;jOjI8=7$*ORojMd;U7w&cxox$dcCL9Q1c%wlWE8 z!?DM^+7RA^9xe6k2fnZ*yg7a9H&dNV=C#L!!f5_z-95@uocTaKe~iy(xmXAbm=>dj z{EGNxTor~52?_6&ALxq}r%>WC%PMQ6bEK`Ut!-a!ZcS{*zR7%Z(vkYK#%zz)!fSjj z`7Hrk7osHFC5Ev)^NbG&oqzDj40WhYmL|e#2m4%o;b5^%*M<_7iB5|Lj1#4Tf`TrN zYOkY03LrRdg#Zes9He2!TxBCCmJP$7k>TiB$w*ltknFiZcd5TF_bl`_lA#oytbvg% zL}nPxVD;=AYKgMo7jF!${#|pJhCNjDq(Al}@e?uawS4*fw(6#Eov>*p2hm#03(B9F zWR|B-h&7vO|4p!7QLlCY{^t%`w#~vrVk8g!h|V2 z@?Un&w=77;mXsK7SyjL?FJ}G=cwBHR`0ON3hE~AUdiG#oG3@gSK2@Php%xwbMS83u z{EbP@)=_lRE@b8-ncWy1>zvEdX7E9@vJl$pdm-EeBfC+sx;9Tl-ZwEmYIjQ{C zx1urGO2p5=4Fdc_f%t&lCZ_$CM;~pKK4S>>D1ovT+)}veAFJft-l8 zCIP=hhkOp?{Ltgi=|+DSm4^H>%k(JZ21oP4WmPJzbt%kO(qPrHi0)<~6Q$}ooVZsO z8_-YB2||W;|FL#9A&*S{c+ru>6=N@6j=^dVo~saKSFQgY&y$Se*kAmM)@!@$K%V81 zTBDuU09zaXK-HyJo8vaSdY3ELoA0lO&s&)yPT$s18l6;ipXrnWE-v1Aebn#^TKpu+ zhlNO+O*V7dgnszvfr*Fgx;=$Oew$Wo6Fqz=&x$ZAlRVRkPo?DMi?)OTlyY*E9;H7& zTF}^ep6=_I(LCo(P4}MtS(!VO;`4s+&!c@>F(gnGyQw$y5thdk35bGAuFP@Qi4C)4 z-$G4p71^EA@RX^EvWih32CM7voKhK-vm%}_Zxicrs(5Q-y zn;T7_Q#@gWET1ic!ez$VseQ40%WZ9Q9uA(^cMv9$TW=phf7s4>KGmf6;=vEGuV*&aWCM-gL zAw7Nwk0SA$*34r$dx5j#Uy@*|81vdEmJ+x2qd$7-?w`73cin#=!t z0gBbV=)DEgkl#7c5RJJq(8ET-^&M{#Fa=oh;bDre>}imQ4ZPBG<9W(}H3Qt|9j=k< zPm8EyW&?cv=qNLTEKcj8i{_J_9oMf-2cXUX9!Y}<<+KdVYR(Fb6PJFYE-;2Yg1CFp zp0-ttz#|n0R(mLnHKyX1^D07(?0q|Ke;>!4ZKYF_IZ3xHe$%uWNtde*&@({(UE`6lGooe z)*xMB=Hc(;EJEH0?ssS2_q5^litnRIgosCXT#cQSc7N+vS>-yb0@WS27qnVV?lAv2 zf%Zux-H2NbOp`1p;0S<&K2>g+nusIOW!nMu6-N~3w>t}psj%%zH;JTOr8 z%S&m!qrL{(49iF9)L@PEc~RaV|2p;0+rPN!Vy9ICirjNK-JgF%@Iet(9hdRS_En#o zAN%krW8f5~?|d)hR38e>WNb+7tRAxAEzhq%rFs3h(fkLelS-T${RT3AC-=7U@ru}D zrNH<9&ed&RLM`6#f+Y3%;>bZ%FzvG|T^OUr{t$ESLFK_{QuFPE)vGH`UKga0LbpQ3 z!JwRVoc#l`&qpso#KHYwyHC-gfb=32d|(wHe(5p^9>d^@9Hq!z~fQg4V3FVw$4fb6s zcAuY+TJV=iWO%-T1SlVc+pWQCAh^lzh{B|Zdr81<_o8Zf+fH7Y4Tj-q(N^fXq0p31>%8}ruNzaWACxs#BG+7U@T_dkMDv%VIIw2pEG9Pg z@j1wdp_K>eKo<|(yp@*xx~}SzUxDk3X7(F7K$8MK+}RlZq?%yA5XU|98jt@LMZH?YURwkn5)&Qfbdbn9p>N zOflf5PdQCv;+%Nv>C@pxdY$+^g z*<86jmTd$n<%Zx&O?~;RQS6e146H zclXQdrQGpZwAX!O#s(r4H}Gm{dOA4Dfo(CHAq4?E2~sqCE88(sx#pFmaEmvRY(|nH zl+5X!Hm%lo(ILxASGtTjsf!V*X3>5nIYjmZ-Er!yrOd4XSN&KzLX%LBg^nc)d@t?TCC$AZW&H-814(dd#Dy{&Y?zKsNSkM~8JbaZrJ-LGLLc zh`)mMGRi;YkKoQZ-)Do;5YUO*ET=>nNU%_=>-tKw>*_2~@z9Gav64kNVK_9%WAPYi z`0n0$*WGf~m`F*JRRC1)L-^vG)b_rRr*!X+^Pc}+K0Wm$s%-Y~9o-8(iFxs^tYY;O zoZ;yaede&>7=$OY|HIsaqN~I1YlDcjPEC+-AZR9BVrhs5YmYYY7-EeCoo!z1p zqn(knblso}7n8rK$x$6QLWDqDX&g1?>(S0fLs@XGxJ?BFJ1XPJ&tgEeOep2oCfWc7 zt>wV>KbK;SI9oG0?m#|WTH%1faS58L@JHUAwnkOVvTHQ(sLB}|kT4T3vl`f~BF^Mm zP54yMHg#^eTVG!|T0rzUzvo^77LkLF=cSs{@})rmv`3=QjSD;NPv-u$2t#A?m_DC- zG!@e+7XiL)Qb^-6e1D`z1B%C8%w2s&4?EsPtD!qOI=)H=a+(_6os@Hp4=GYM@v}A6 zEF528-~r45&-x;>J#O8vYC!wpWYKxNaO&#mxW;5cAi3v<_39>^EptGn5jNXJkYkNf$LP z&$mm#Uh~xAYP5!Kt36onk)|~_w#oG~mx!gCH%I#M@Wa{RjH|qI922EC-X*-hV&X9p zaJufgC^n^So33JMAgIvS%S&WNW*EaxqxCgkbH0oCXzIGdU(%7f(7 zj3n0Sd)ZKf=d-&N6qMj}3~%(Dx%!ax0As#XQ_oVc3UaRVUTy=W0eW!#fRS zjMsSb_!&{8qtm9cqe2F6GMQUg-IZMV0m)$A+k51T!3*Yj&iI0T<@{+@GJQCNCoLrH zBF+N@%)t!z!~Sy6@5;ZQ$V<^&m|yhkv=uQzGsQuZBCo#JV7PTxtk?ErXZNGEr)0PF z=b~k@jmfZz3@8U+rRVAPOV!%7!nf#IZlz)gf4z~zm0h7a^2Bp|4!80vgCUcY=Q)!Y z@12wrLZ&lY$jPbr$^J&>ZrAlq#U)}_`GWpr=akZSKFD)rPsuktbbV+3rkc~z(Z#sj zE1lBtv#1&>6lrK0*o<|iqpXm@1*YAxv_Q#n7@&7w9b1i;r+oajk1F%AuBFDAqx>mm z%zQ0Q_6N9cpDZVezna3YW<~Sj^?QiGWBqOCT&;?KNR)HMdNOh{0iTu%zGCZXn8ybyiaCoJ`GQ2bb`@XAWL79&-n|~H72bCS#)#ld zq$iuiVntX}XNy?`G5e8)POS9fR2J=$`vvnhswwK$C{ zA&bjv$gD44nOXv)sfvpb;%sf#r9;cR>v`IsoiGZ>Bv9ud9%l)w@Pk6B%xf6I zc*{hsXaLh^&AjbGin)N7nL@>~iDJ|c(O_kxa*64{E&Rr7`T(HrZ1aZzTW5;fGq1Q1 zo&x2D0Efon^LU24)o)AT1AA+Ezt48wI(1pTxf6xrotQ9CP*&mv`+FKQ+R!y}JLRM? zSrg-a+&g?M?zCo?TV~PjG5tcjpuDcQq=_%H_te{kjht-@xPaxzi-aM|D9JBo%n7_LW1QW(8@4_6vn(J|N59@ zHf)nDb)+asd?nw=MN;Z?u8lAMmn5T@3@WxrBPu>-3m3!b-|(3^Js~|7QwOR-2_IhJJZ#ti>m&v!pWaI@dm>8SdEVI5C`*Lc$3oDyMbK5FS zNh_iZ%cJ5SyQvRT31ApZH$KvqA4XZaH?}u7kL?oik9*4K~NliX1BVJ zC{vg$xhWOS%-uWh!5o%vO&8zvGp1gedK!B;=1 z_A#CD;*511;pfvpJq~^P40^Q_#*69wEF%rIKYCnZ3UG?-@@)O$EaoE^HR1LHLL((0 zg8FbN<2?53eNgnyzwJD8v~XyXXS?9g*qG=y4-`B>*FJ{@25SgU{Z@IP3raI16Z=4# zl?d1p{T?NQKK)eRxtjEIxX4-p_DP?)nrKat^kJ-61Kg0dnnnTnb6f3lL;0kp<8SP5yx@DQ7)X_S;j85(0svkCd}$(+l|pBy&=EEQw&ZOW)8%$FNPh;tVrLO z6izn#p51sK9*wLuiuhQtJQSbkH{r~Oxi+v|yz4%BR=OH;z4!6yN|`%wpe~~wad#`G zqb#J1$J?`SDXfx@3g%+VQea!40;~2z0#23&xNn;GobIHI9Kp00S45%OaPaT4rQjC9 z2dax)+2W)%lKy2cMd2S@y2ZOrGTd_~EvIvs`K#-0*w6mE?o0Nrt92dySW+82LwP!G z&Li$q3inNYZH&5hLY#w6(cUsRJbbA+;_%(3RJN;w_QjR>EB(dei@gh^ie zDuv31g;<%jjCg@ss*%lY^MQje0EGB6u$xi&;mAB0I1V&(%3sV&hXKr(e~UP^yZB@` zG(DU z3C&^q+8(RBJG$XFZNBptZBf}hqG%th6?%U;w()o9x#^f-0PmEGbwyeA``k*|{2$eC z44PbWw`BswI0vIOSWOuHXFybH+`%E?0_!GgtL~M@?7d1hH?r5E)3s*Kc%Gi{_kl> zuD5=nQxQX)&yxR(Ney2m?iSk@)(Z>5*9?`OR@yfl#F4hV{oX}{Q>R6ur$t-AaZ+Gl zRdU?ClS@FzCP&5djovItw9~vfi4F;f0r#Io%V*$Uz60eSSKJvtz0>?tDuv(8tM@0E zkNwdgCVF8r1=nxp!tr3~IH*Uwjf6_}J+R{Ez;;y3ehC-6ybrOS?H^^`fL;$5zU!QU03=Hx8W z^YhSGM_YFL2N#1bv-UN&YDHY{#G&pD^hF+fElf?*dh!8#h<*3r`u-xP^GAJm5HvQ; zxLnH%2IGE<&k}OAb(y1AHnTp?b`%d)Jro@hn!E9{%gBYDpkR>+q}>Z04N96JH?hUg z40d%2RYP*{&~3-zWNx^M1IvOcW94PTAIh~u4=+cphfxqRWNFiXWR=7Bh(eAhM_sXQ7rVQKHwN>n)qDlRpCtR;!B7{nuHOTVbzGkn z0RM$u_Z{;yZJ_ zQJA&-kQZ@va(RqGWuF(Ek138-F0UQlecsNPNXkppf7OJ!J=byD4 zX3?_Kf$QH97y28$OM6LvERNFSR$XDIy@VjI(?{3qc7CiW9pT3*V`l{e69&>+18p>KiVSnxn@axKSKM2TlJbk;g50#+nh_P zB$Mw`&bTE`6@vy)A8p%=u z)Yjk6n_PJK+M?6CNXDK?#JAv1eS77TyeV_%@74V?Rn>fIA%+f7z6B3kS9FQmJmw^!DpQW%XT<<(%i!OnYg2WNjp{n|SU z_>-+)=eg@f4{OsnSn}&z$){XWdNzFhMo4hHhKcfRR~B16lgt0WX7GUF)1R7|D(2+c zJt}|gB%%}`Ub-K=jIsyb^%w5fnONJulT`MeG|Rr!gY6dX)qm49ZXJ%DvI@%KDk2}v zR`R|)nIOd8y?G&`&u2oMKC%4TSAZo!v2fo#3nExu>Mx((Cx-$lz4?!XTF8iNV58-{ z0+Sw|!O!6#>sEeG*=9^-x>(qZ%crpQWJn0SWO=eOlQsiV3fYRNS zjg9!jwSGeLv5>%_yIiV?>DY^Qmu{(2z{hbPIS#jX==s1A1^T4>5Tp^$xD*xGmdeMa z(bB#qOC@JUIzVq$x`S(?{=H%D{?w<+==$)kJXKa*bWL~y>k3BGaa0N*p!Al>eJ(eI zLwm09P}fw9EQqQvm=~QB5^_G{`9^Y?0LJW%&D!~0T%`Xe);^X}LEm8ek2e~Mp?Rv{ z+dStx8rihfvgj#)tQj`#qreq%aS+`eu9J6TK>xYa9z(>(SJR|U)Vg{8o})DpTal2` zBkhyR$i%t-h+;!zuTvj#xFa?W{XjZOPgw>*WM_5d zA4a`fKiZBYx)r#F&^sB)07Mhd-jBrBr+4;MC{u$MsDc1uzZNr!Ak3CeDu*+oKAI2S zN#HB5r=YZD`^)mH$&YuX9B5>8$&q?;etjBoo-a#<;Wu!oS;7w(1ltu!U$jRYd!26d z(O(=q>+b!XfVILmiokPE&#E3x>1FVav+nE$C9UXM0BKsCP?;}c@;(hJjXVuIf^~Fo z>|MF~8k)*)wvjM-628(at|+XaBW}Eod9^JZ6RUV3!h7SiWA{$?tSIbmh>Ux^x&`7e$2~h z#^nsMe`tU!Y8Y4*4=&7lw1iQ9dmp>D@1Idx+x!9L6k*Tl!|@^CxqX3Zw)lN^OgeEu zuonn4xZlemHxR$`;^}BQ_p6J@a-tyD&T&WRIod~Ic`GU~q5JI84qt7SbU0c*pecc_ zbRUAj^cti_F|PwhEg)ljsT1%|EtZt6)*7>F#$LbM&|_sQ`=>svhukl!$IHtFE8B|g z=4R06%IEVbL0-E&2nPn!8}2&H+Du03m;RlT&ENU{5qZN~B5pQjBt!+#SLulnpx@96 z2?_b^p}wZz-dbUuwQaf<2XYV*FQGCNFZ|DwCR|)d=g{DKvim~6LU;VOx~jW6p`m&f zA^VQ@#t3{@DdMW<{pG(2i-6EqmsMV;SE-A}AtGLzAw8mG71mVtR6v1h9Z#_@qGmn_ z%*Z$3k7AJ*?e{20THZxEal~E=h4PMBUX=;;%Nsgm+_;2&OAKS=^x+=>_gdqWm6##5 zhJ`QIB0IYYqL~zMzhC*9Vl=N2XNFG__tEw(qAv|V7!|EZ6DF7RWB;K)vSMvcF^4L~ zBg=tZJ|OC0VBk3?Xry30jPX?&yf;FEEvATgy4R2C9<+al#M+?IGU=JlfdT7hpYGiy zZuqb6`4*ydx1$@n2wv_476fO|aVRQ!+aua&@4&x@onBjv<(m0&W3QLS`mJ}8opD+MQK6bsC&rvyYUtxux^Tz8*&grt5Wj_Lb z(H2oWTHSv4B<5;#Be<}F7W=TFDrVY+&qdDj$DbXG-D4V%!xjrhrY+DK$6Bq)dRxde zd4P=qq&=oOTv{q&*#g4#xHPv~G+hJqw>!%%f|4$KUUWJ)FAVD)exrUqEQ&Esyg$S? zmLZNd8h2}$E-?J)cY8}< zjMJ~T4aTy!FpHFSsQ$p;6sH@a^d2KniFMCSx!#-YCRPP4-mEM-U4Q2#q`nZmwVg7Z zK`UhG*x_{Lyqi-ubMHPm?nvSiuY}w>`a|_rFEM>{*kjLAFJglgm)=$>1eVl`Y!0GF z`t-7E=G-IyB7N7AIJxi^m6uj_&>u}|3FjS+Tyhu$CD7$lclpwMavKwRL3684Z;So? ze?W5i$joA_BE)SfFWXU-J+{u_Q&Y0$U3be7b*)*y1SG%F+4d`gVae|Q*_FH&6%1#Y zcNeg+02;z{x#i9z#zuX%ej-Vful5RW5yp zBasg5H%mCx-9L+3elc+oHjcE#E%Dg51qiBtofUlxotNaCrNIZJFE)w!e72Ge`1A)i z)w`J8uT4g28X$QjV(o22g#Ue7T3Aw4EfL;0l!6RG;aGJCH5Ofp3SVq|4KQd+0e z$>`&M>@~~@-Nq@eIDTw5>B>{~ghG_C_tz#a4kOOQyG6)49z8PO67M>_(X<`X6rY&{J$3fMNJ%uKC(oY$~(6;VJbY975wCnQQ6mg;+hY0inu?H{~rJ$ zLEgS%y=R<88Dq4(bxOJ}17$>V-eIhxC~mZ?ejH@hrr@iZsuDNjX0v9yTN4wEj{cyP!Vo1!B#1GD=GmWoENgzi#6`miz5QFSJ@oaRZIfv~@*WH^i7Z9FG+3 zSgksyQOdimF`@`{nxrFjV@Pr2)93H`#V_CU^;d6sJwCC&?|3=Ba=Z-O-M^t(?HFSw zq50~YU!h#Z;do}V+Y_}^eu~*IlS{;DDL4vqCdQ0&72_ap{p0b#)r)-v@?JmVZP%iW zk?1^#39YKxbSs9-1%)_%1$`;4ZN7FGBcC_z49aR!PIzaD)5O?|lhqno@_Xk z0VbpakbIxQGVNN6?%eL2-BTt7+-F8c(x6}{llrim!*TWHQ4DD*oaqO43 zeZW|QcUE=+N})82(@2U|@O9%%m=o2~0M62+eFLv9axy|i z@;sf{tmY1)n)3a{rgwiQN<@g9{USq15M&BEKPtj8KhKT98rVksu_ zR=hTLNm(laM5U!xL)g)huy#s=DL0j=_7%p-@3^U}+Y7an1=3_dTXE5rETKB3r6Y9? zf&Ox$X*+D?vAQtNlKZKemT{a>MHHT#6V_QVdu7SWgq(;eG6w+w_miL(QjGF-{oTLw zFTR`RGgal7r%9w$ZMa-|ViIc5U;p*LC&b7%U;hegJ@4Ot#UKCpM`8$k`|DrOH5HBb zw@7==8H^Zb3PrGfixP6JBpil;zVB}yjH_!>Yt6Xe_*ooiP1D>w2O3znE#7%bOc=XJ zOpCdyat>9%TX~qzr!!U?wp~X|5kU#<9*<}>^KgHMQLt)S!Z5PwR@6?a4dOhrZW=!R_!D6q z*mf(1%bDk=XNrQC%ZWaYJiL2DyIwJdKqAw6PyhUk1&q@er+I#U;`8TEJnZgRRW0Lj zr134o&<>{H%cUy2kU3rT&Hl<#u$ zHpb9(E4fi5QQVBRcw?nba+>8ct~G6Eu}+Gj=B2+TExsmS)l%W13NdGSu`VELYh)}c zl*OZ>(AG)<6^&K~XU#2f9pX&NQYaNuA;c)f=~KQLRITz}-CCoFmbF|j6vYt;reqx>#Q!K1Edt%OL@3@RTRogHx z=)KeFLJXPx{hLL#8f3f-fy#N}G^4MfF=NOnfD$B+b%tp;W67-R4coTE8_RmPV~COz zp2k5AV&j=ZB;Dk}C zVYhw27|mt6u-&df6_JdWg`!2WA;U1@Oh=dtrGT+T@>W`~{eKFlcFsw_OR43s5Wuf< zo>eQ3P+cNKiGmxaiCNT*m**#A65!W^ir$7HCjBTv%Vt0AJ4WE!+tkaJ=V163`}S;NrZsLR)_wOV4lv1Ib% z3jtZyHf_Udwc_q>OSO=i#rjg$a}_K2=Ff<3KLL@(6L}d_FSI z6Q}c;$LD84npy9*s6{gU^yLv>*Z8_-v)fWt^`BH?D(>#~l#)3fUU=B<>FSzw)8UMz zvX0hE<)uQQwYj;GuT0x(sO)q)-TGE<-Kj>SOCp95MZ|l9AyaZ->`%+$I#5(5r65r4 zwr0Iq(XAWmwnACJ6tc=xwWV7(REt|QEjJH!YuuC6th_+4b)sO5XC4D3mnBao_H(1O z>_V28>pTaPGMNARzxwaL^WH2Ew`||LuH*5`Ge7?D6L7{&{~{M9eHd)Q0tdXZ9N3d9t!S|ZbaQ9r~Y3-c`Wp{8jWh7sX{`kP_IFI>yA z;QFRd)i@0pim;Pdl=LSet%ad43RZWdD8tt6;`;nCF<#a~nBBPd;*6^-vr1sAmw9&l2zVOR; z50p7FoCl_UWK(Z2S)+@=wvFrnrog&sQ90pt;dFYTlt|sRgcSJ0_kZO1@P++u%Magw z&&%P!s*%uFo(8-%c&*6u#MmDRF%TA>=`f7cO-<1Wr87orrdh7M>&*`B9ACbC;dDH6 zfB%MQm>BvA?`l+5SZyF?NYGf1N}#gl{rwv@RmX5V(H~!_E63B*qtMERnak@LrNCRm zaOu&2vj$rkiWX2)KTZ7f@dM*Dv)%1^^VK`%C={^W{XHRO`YAAmMA3#zKQYD3YQ15< zU>%g!k~BusxSF=@1aOpqVhN!vHvNH=BJ1s%&!0apCb*y5`oz&`(2JTE<_UwC;hLtw zxq@*T*SIAitZ&a%rUSgK^&(J(is92W$m1L>NppcicQAXfa-buv5dxmiUZLqc? z#zIO3WBe^CTb59&UdDd&5C6e`_nlmG&8_p`d_GIjaxF#6m&=jg|NcMl)mLBBbsg3S z@@==<5o2JpUSX^z#dxDe)m4R}+_tNE0jvJ0_u@*&y2gNW7N@5w<>sSM#z^O<^Ng2~ z%Vi)=nG|LFYpugpPAF9i69AQQR+CHO<>f^V3NoAZj;3vwH-R|t<`9;2rMk_Jz83n@ zG)L)OF^Zw@SuYmvah9~H)rNVRS+^@nOpNDVfWlpe(u&LF!fFXB-MUd=@%#(xf}AO; z$Wqc8y3K}|g(}@P9lFQ|^mIJ3?pA#H{E@mA+xF#h=K1M~nBtOWFvRIh&Y9g-wEe@E zN5UM$-J=xKY2fk0Cmaexq4An|xZo>K$c2Y@?|A>!d$fiyO+4J)(bOJWz?IB=zA&6m zXd*^sF2@7A{Z{fTOD?9aJ;rHJg}M?m+{67_AyQ2<`@4JA>lMf2k(@<#J|2%;PA5`G zoo@rf$QHi^|E!U#n6eX&CKAvUq*AL6rQ4z`5h1L1mU+CI3 z>&=$q<;>}P;raE6Vdy#bJ%{5f-Dbx(zx)jwYQ`obhR{vCA}+S3r1+{$_Qf1IES`oA)Fhj zj})ViJO|1wOp7ayPcI2?yWlYtEH|O7GW|F*jFZ%B)D1C}W$zJ*b0kMmP}JfBveypZ z6f)Ksj<09Bm0X#=`Q~e!6F9KZn!osqzu&QkC&U9P*h1DW2c1?rQ zUdn-VUNC`>Vy5zPExcULRJN04+cXJrt7O_$E4V%&73pNqfUi7xmRRyQjS{X?ijt&E zIp=~ZnzmWtwT3C+y_m5wFvY+eMWdhQ`4%D)>XE!jb4lb>peVGq7^egWh(LwB5d%<| zXGyG1LRC-5TdV;0_Yahkn5L0bplTX|7Pf&=in?n^{X~B`kuM0lA!%H(bZt#rE7UI0 zb`5h;^p_LQuP@Yfg(-zRUdS;p&ViNntm=x#(-YYjb`Kk-BW${w)8mQCH?p8^Jl;8m zsVrlN<9Ix=+wU>n^L%O3&a8R!^?T-+iL;Qlrtyr?>XyLH$>3~7-E<;_dVk~6UVRv) z$Y-c_jy?ob&KRw5%Zt@0bqj$BBEl?cB8xgF|NE-hit3>x$AvIU$TG^PBBO_|YSJWN z>sV&cOK>eI`f);`sH+-Gx-nlAQq)yaq%4^(^LPHUfA-z`uio=?cxJzs+O3D#1Us5|N7tjE4o$3dbMJ|+f!Bb(i`Epzu&RmwA9{9h{q_FgAs*nk?Xoa>z^s# z*SX3$f4ef}9I@6c0Gg3*vqoFX>&q*{Z+wIhsS!;;jE>!7tS7t8W9q z*$QVoR?F3W4ncYrD7eZq&ht{d>!t5B##^0URaul)I4cq1aU9XcQi?(qjmnCg^6hp~ z6hxJoOIkoJHRC+7*=}j;X8Em4D>y|l_5=N;$7m^wxuX0prwch{tP+pO=g*%Bai*$0 zp#-v4qy=s>&!TSC&Jp6$bXF2MOq^d19G*W@SB8ymu|=U$LFLRe^=Mm&L>Zlw=F<1f z^GMft;@qQizyPbd#>R-(id9=tV$a+k>1s!ckts&n^;!z0C-D$GJ$;sv>1k%W*>ik7 zb2^=9s+zLIvvVn&&L@G_Xv4N!OI<^VZT6$YY8%o0 zOd>5yBkKqy;FV zmL;mPa+RBB(WOf&bZv|G4z!YhT`t5q3adbgxhj(v{9mD4b)5TN3^C`E)bmXtY)wYx@ST-oE*K7K|r|vqY+*5f^34zn$m7F40E9Mxn4!kqi409Mc z96qz|S~lyJ*AFjHG+kSfN+eP!3Yw;)zg!q6ff(<08z52AEXk)5X{_ON6p*rYu&Nuh zjueU2iWEQeq^M}?744GWS*>@>L!`fq#1JS-P<6Q^vQ{+fj@k=XBbNXrF^@fYic|^O zc8xKX-~aeMRpnT%R#Z7rlyt)U@P{8T#cm?GnOX5Ve(XX+%qTC^etNfx!uh7^l@ z9=#zjXL^@Hpxx;5_Q(trN=`Wv4kq5@m^ZBWWJkFN1EZie7dk zPWo9=j)XWd1zFPOBoTC53L1?ye(?+>Y~>kaAeGGBev2tE_ZOyqq-{E~5?Xm$PAH4ljjwTSO-hA%oOpeDX1iL^Urtos62=~H#U(ooXPl7_>G}1- z>GjOfwpsIwU;Y`ZZo^MMeB{!P80RQS;qX``W!EuA`gtP6gs*B!%y{E&#aQz^ zp>yWt66R9%g+n(=a`c9x$$`~j~mYrmpDT$p+R8qYCsx8C9_k83<3McTHbG2V4tPvtbNeq_JjbANxwuYdC`B}X0}?$8EaUk{8!q-k3I)xY}J zfNp-;pjba4mV1e(o%l(=FQh^_HVHDn&1BUf6B*?UwAnj`Q`x&h=q-vSHSzPDxgS6HIi5R3<_-cPX9A0mW zAZ=tPu-R;cMBRA8Ec=bBvbQ-m^D{ZZdbh)< zLeTsI)s8d75Bi4Y1(d9=yc%8OrLX-p*t*qkOzWvS|lJk9js z#3c{pIf(LM7S@MWoX-~tEGapBgo7|a&eT;+Qi*98mhXE3`s7Fm3WLC0g^HAk)6D0m zFX$3!8^t)CF;>aamB^~AaR&bQ`~SeZ_wNBkf4R`A4F>qjzx=o4oEgW7)n?1<^CPcu zCdQHNR`{ECaS=Yh9GR!U!(G8QEvD}H_ka2C$;$Bl{X0JV^b;RHePp-W6Xu!mGEg#% zrxD#cN=~SfFv_uRD#jw?>v^69BAq7A#}i+^eBv}*_*;MbZ{r%r>E#s?eE#%Em}cHT zyki;yR!5#cKT-Lbhx>adhLROw&dhT{tBh9g_TeqtyDfkG{s-o1=FPhY#_`NcKcJlO zYMZ9v<@kcBI`(&Wgn|&fa_04PBx{9o7Bxri)^BjuF%I!YM>Ez6$i_R#dMxzsQY1&R z>ZAh0F$f&USwRn~!ZZ&wZG-Wmim0Uss}%X&Yc$3hp~EXdLmDmesW4&`GKc@1!Estz z3X_uY)>U3^5=LG)S*gYQBxPdGiWzcT0-qs9!qV(+L9<$I`02+_eD(D^?(W{v4+pmE zJOwW>LvC2OxxT>6X5zN;0}B)gNSlPEBG7Tb2)GLJK181c?vth6#Y@6f5B zlx7$sV;_mJ@cMeDi2U#@ElTfv^W;zcTZCI_=;uu9O{EV_NJ1QQJXTltCUd&rY zme8aeDM~bcQsVjL1??2|reV&3=a*;7l(>7iXM8=$!>8IjAhQcHMl zqOCla^O2_Mm}4Mj$uCseFlSK{Ds2fiaktvgSclu*NjJ)P!RQIn#OeHsR#AxPDH2a7 z=HrpH-q5aB1PYCIq!QWQ?U}JDl$&2MY967x{vT9o9VUjd*nCN4~sG3{?yEkiA zxg(UolxC{7rfxd!mbCJC9)W@NYR9jB^XJ^{_YC7e-Bx(t;*3FO!`w%#E}Sn%`pdv? zfBjo7(=+GeKtEoXb0JLwU;XMm)`(%STdx?Fq_S}ql%lF@<`~75+Zy7O$eEvs@)WQd zr7|H-c+)IqsfzV_O9(Ss7mN{qL{1T7Br{@^c#n)T6!mkl_?6f#aS62mo)))hDJUzs zCSjh*ND;?LBv%7DW>mK1X{I2K=8)w^5kjQtR%mUQ=de^WTn~`QFkB=efyFz8`6vJI zfBtTsBjcFZZnvDz=UZYl#K_(Lp4XQ%zx$iNRa66;YphZWKT}kNm_-V`_F_tJN?c<28D|WAKT703N;nS9Eof9( zOPM3{Nfv~)cJwc=gz-XU6{HEHGI1WzCF4=VF_B_nnj=l!(6kN83Ls^QGtFYYYu63F zvN)?C&0-G9$b4)pN=Z(qt{cJ}NI7vhypm&Pyo}4J1w%hjTTf*iwiHQWYQ;DXtlF9| z_Z+@_!75R0q?>f6UQ(GkC#?6RB9tj_EZfzZ6a_W#`tnNKw9-9OU>F9Px*-)Y0*(eZ zMs@%IAOJ~3K~%%Qc)oBxo-wKhNrp4$&e?C+4K;;BnGxojU z7>pt2f^FPlolt-BM-B}1&)bEx1ox~qlng?f3{s3#fTE#@agQvDO4Zi4zgua8(w2Dv zS&Mwf;sSLT>lufMc?xLl&?y!Aeq_J9=X@F{+3@b|Hw=BmnvSP0XV&X2kB?7W3z}1k zRFx!4z3(`k2KmA;w^nwgubu*K4+P8iTuNU4Byp?hLe4Wv73MJTdVJ*Z@iQ?_fJB9j zSyF(`iC%9FZP!rMwOp+S@#=>Z#p(@cTM=2x*;Hn=mHBhC+hV-~l#EGANlLPEv~7d; z;@}fwS{7+=j-;ee>YBEdaYh^2D(4)T!%RP1n5L1oYuRj8OSAn%yK32QH#jSmhTH9$ zs`liPq}yWYIhn>QIqI2V7{nLi48E%HmE+y}_js)tPbcozTUNeiQ#II-+14GVWQdXB zc%p>J;p1m6&o88YVz^v*d46TM^t>LA{P4r~GY1SrbV9K)@!dF=aziz<@GP(y-mG_`@Imz?(O3u|{N^7^GuRc6aAQp?N!F6(z%j-y2ZO+2N|4?L zF;z*5(0GZir!3U+R3h3zQR0VBS+4vcC5gC4Sv*=RN{;;9n!dl>+=5l*mhHAUX0Gaw zbCO3f#^RTN-D=emQ$Q_%mAdkj6d5lU4o{E77-^TnpQq<1?(grpwt0tT>APwLAY3TK zlz4i4T6$y)eSf0Fh&P5j&Afhk;(RzVyqt*Rh%FPg6dphQ#Hy}QWUgfC{v-yp`};Ry ze6yPU!~N2&lK90pzhE2(hW^5Ky@oKcS>#dUJo7BwF!CSqpcEy|Vqr|24kt<|jKjp2 zFOS^a-*LCwGMtX&FfsKfnzkl{k(?&hO+|k?5eBiFE97@Jhrl$-?^!uV-N-W9D#Lsk z82gbo_YasX3q7qAZQaTe*hotAd^&PI9?_*xX^kxfucVQzYAZsT`SAG%Y#qU5Ox2)_ zMZ1cs+c3oh){{`goH@L{@_Iheb!!quFm^GrX?N`J-ja#|W%=o+4-DbLcE9ERVNZV< z=-Q5lhX?AqS#Cj|oB~!Cn&rhcPt($2>PRVrmCw7xOT?{Vl6*k8y^fAGzPZp=)a@S4nBFu{i4q zbC80Z7;b3&a$VwN#QCT-eLrAyMc>cZ*4nve?^#S|nE zCk09Z{S`X3BWukRBg%;nL#{r{GO?5;K=gAVk`yb&+l@%;pXW+rq%ED2#R6XvRa1%7 zx%fupAWM>c$&P)uqia_jP6wPf3k6-eRv<2xUMcboVP0w+rCzb?R&2LhthP9-sjX+c z40KJ)JWcFYD{=_L{!H7{jH8&rE~ghtnD7evDUyp~j0saYthbylJ^wFNZ_;C1cBbb& ztJ!OJr;8i6%}gfAB8x0k!O+0=KrTZlLk0|a;F(930Ku>U{|x>&xdF;DG_VU*lvrdk zyL)f+r`g?VJ@|G6rBNc0_vSef=j^q<=6#>n)eXD-;RW!s%oDmqREdHSd>%BfM#5(X zEGpq_4H;_X*tnLaF|=(ZhgD3(aiXT+8ci%S+kHz+Ge#wr<-+Gr-{DNcnIx}QB&fTo z9mZ(-ZcA-zTGyhrlKDUhY14}_?nGGyHu*`uNKx65*Te{Xk zk>RmblBbhnWS#}=)NR_81}->Dqcyb=@mI)DxmNfa+Mu)ynUzxO=O8QBlrmP;kTsR6 zsjKEC{CYTFRvE!rqDr%{Q?io7PuBPrkaonHiV$U8`>eE%AxgxglDy!>i<8{^&0qhk z-*kOX+jV#^@p;-nh<*(qzOd^<2(p{{A2Sp1=Cbepsr=!Ai8<|VtA9x(*c35s+T@i)?j))(9Fw$@Vt#lDPgQe8^z)mMCeweC2`LI zxGVX5%~mmP<$|Pw!Z4mD(ws;>y#yyiVY}Nh443uP$|yA6NBpvgT|P$UX|?2=XQwUX zb#8Kcd}Py!47$=<%72nDIkzq6%MUsSZzyP*t`%Jmnay@954JYEd;9jqlaah9MbCcI zqm`lWdST(}3RkyyAEC-Js8&+VFw6wG$bVNw@IkRdNiCM8MK>)wnU~G+2mVzcD z+K|Q1EK3j|a}q(DGSv!bPHZ_OfQPhLpst zH;)UZ6i&khtBjcRi2V5R2d=jbbtCME5Ip<+j{Ux4oJN)q==&Y}tcZw`uiI|XrefDi zD|I>@`TXg7no2B)ZJa=K;k1Ml9xM!Uf0 zyYIk=VJ$niS_=ZLQPf}TD91bE`H77g&|#qXnTL-f2~E4%@%fua-v8`tcGvIu!*}1| ze5Swdu_dEZ!j>$5=jjn+E!%#}>+4tKEC8d!t81cHoX%&KrBI9}l|}MO*1>RziQD^o z4u^w;0u2{-ea|#``nu+F9_i{&y=!6T;u|eS+s4`;c#G{GIw`({OVV~#x<6vY5BXq`#b*0fA(MU<%gg0$8UefGzMDNVdVM4 z3EG-znqKl!pY6S}p0jIDKCI4BjbA)%EB%zU)q04G+}_^s#TV}+1xx2JlhrPQmaiJDbr@3#uqTT$?>XtcsT)vb?c>%o_w~PBh6~O~ z#zWV)%wu63WmCj6S9ApjODU-dF;Q>k$$3%&V@iI_SG(+3 zIkvl&ep_R!#E=9263|W&@{F;L5*99}k@4=9gDn^xFukaCcdet_)}*3nb`2(X%$I>_ z`i?hO2QEHC3h1m*Ifz%LC~~T4yN=3Q9&T_=%fYix{e&h{kjYnNQvwh$qXTZR_G$QhD^aC54h11K_O{-V(Lt5Qk~52WT08J z*yGKb%d6FMIvQAKF}lJ;Bl7Q3u-1{HU>_>20ea ze7^aJ_cK>l2LbS=#NFLJRpofNe?TeCfB4-$@cQ+E|MUO)Hz=j~i@*3w=0O~JIR)On zIZ!)A*V;Ac_xu9Du`4{~Sriq*f-&NLl?_3ZIYY{8TD$m0gtELLMupK%1~0}@iju@B zSaVDiIjdEPX;-nAn499-Kkg43uCBH$OTaHt{$E-gf|7Bn*=}1&LPJ(p%4lL-s2d~V z8vX2R(cFB#Bd0=LH!m2zahgC&zbUZ=f!Z4K9I;B_8p~;TB;~Y{$E2-!ju6mF)3hx` zOJMI3JSivUu#nbFio3g8Av2{!=Ni8M<~z<0k2JPIMbA8(c)b6FRf*sQIJ?HIdk>;nsHh1(=7ak?G}|1+0TS&;QsSxn#!{6TZUnjgz%ghF9Y*5@%7Jt zhO26R{Pssc3!KM$X+Kw)v9X4>Yl$gydOQ-R1?3|ajRr0c56qVnB_~1fHw{#kfRU8u z=Jqp%OxrhT1LJbx>G6)!(*uXy4qY^)jII@xR=6}{!$>?na@8tS8EG2BvUrh28$<95 zk53Q0di$E9Gmx;>P&bWG-u=w9TsYp}a5+Ab=0y&|rkC$yQJl^fz)-uETx8alfhkNV zBk>6-3$5N75eQNW`|Sol&%A&03UZ?B963i^T~SmJ28I<3^>f%4JVT#_z6RpQ$}vg$ zABGq*^P1sXSC*!h_{5wtF$9(+%Ass!&>CZA8fVGU&5%Q;t}2d?kG$G%ak^q2XVH83 zAe*XXkq6fpP2cyVlz4o6WVhSX_Zvcxsea#YsGKk_`+mbTPBI@zntsz@biw-(V=9K> zg3+3$b@*i>XS-g$8KnfOB8hqlrA4i2ZN;(#Dd9?HS!5oec!v8HN)`~#^Sn|eh#{>( zNJiww>oy~o@}kkGoIq&Kr$q*5*-GzirIpY|&}4G3Eb9*1%KI{wSTfTzvCI*pWgu&6 zN8j!KL^INg%01_}t{Iw2$>23B{5Ud4iEylIaj-rgR1#QI))_^`IEv3g=01+a&k_}| zrfykl2r=L)Ic$yA#E_W6#B#i$vYE%b&z!47(^^iK6R9LVd^ljMPF^Q0^qZc#X&9!X zcv`GsUWBz;Tk#4_DG|Nrd^*!Kjc_Y-Mg&5d`};>qgzGo&W$kG#+ifpE*+mXJlP%NJ zAU}VM5TF>jNnI{nZ?`-xCu(Qtx(biM=!(fFn!2!rK+c|J7U&EsOLGaClCr2zwFu#K zS+K#A@Hpjh2C@oFv&YpIr3$JR4jfaUMW&S zUPG1fC;6Qvs6-5v%RwW^US=u5WmJIMTKq<1q0Iz%6U* z@q7?0-qUu?nl&OgzvqfTDJA8umM?BuXC!S`({?q{%YzkS6y%r|ic!v4SeaJf$66bj zrhZvRZg;X;e0n^SRsvB@vX>T1eubj2>05cw*YZtt1ev@9{5W8h(4xgSs9uJ@x#XAD z2Nc6)64=ZG6rYL{x};|IHuK1m3>cGml3eA8)8CXg3|7 zK7Z!T^?On*qyk@l@dZk0w%ZNUG_%_u2q|)VcSnp1C3~96uxT40GL6$3Qz`Qw9}-R5 z^ZDkMX`FcT>Mi4C;4)rb%z;ITaVdnr>HYyfO~QU4(VB`lP8bqzUhP@tlf(izODJo; zsDig|-?D^xHC{=zcz=IOT^s7kqKl?Bj*=2pSCR8T2_q~6@qEIjnPoc5gx_h5DdZHy zR*(}>$uL|1yNPM^jDDf59ATN5$0yP}<5Y#R4ck|*(WYJ3m%^x3#-WNsX^S$3sK$Q?>rlAbVVp%-LHm0jIGrxku31BeG+I@Zn6XAvDfObk z=jQetV6myHQC^W`GQ_Bxt3iu$s+vDSr7=>lA%>E@|`&oG@q%JX?J?B9B zWm==@L_|hWLJ6Xvm8dXNO6!fUB*HPvfU4b z(pyWrWURy$7=u#Kbv5(sd3ZQMQMgwAjM0|31gz53MhI8ld*&d-E@OpnU@MJM!dQq= zlEJR8Utx^q`|rOOm~0W7eJ%nB$}vOCJl#AHW{*=9B^B-;|H#K5zv1ce6Pvzf@lu|? zIb8AS$2(Gt?D`G2A8$}Gv)>*>mhCL3+Z$eQHhlHw4a+b}nV&q)IQp(*7{#!ZVnCP3 zPtSn{y_18%W$Ns4XI?7JX2SO*ZU2-O+#8H;xh93dXEl) z<>`n&Uobi2*3hPHZJCA(t?N;-V3ieofe&mpE!(c9QH8#;pbLW^sEx*7?rCzOS|-M) z8|n(QD)gI%6z6qj5FuykrV??Nv6Q4F_k@Bepkl<27qR%S?MepDbo8SsROw3(nP4wxJ}j%0aP| z47nth#gmGrX?k?A7*zv?q!gwyxca$57Ikur5*;y5Birqk+Bu${j_h{Zb$cnKIi*B! zIgKL}2~a9IqKlB?%-{U=zx<8T(r-P-)+xox+-zm-ISf#Q_%w_cK78?>|NY#xPG}pMPGJS}P>5lsxk?tv#V;7)C%e z8C~BHd}N+ShG7s@TuNLnXDRj88}C{A-ZUKmKE_plFRRBekCf!e(F^h1*p-T%@qR`d zy|z_S%1+b7G|m6X>UqE4N$aDu1m10@bpCTp1ew|U+wmM z|LwOlO-)xs zrje2&)8#A-6D_VxTQ?$$uN33?i8!2S*9gw@+n^J@QC0o+w3^A3sp5F@8^ZWSgf35L=d^WXos|Lbq$ z7bj_C&qkRL!b|L1*L9?n$vJZM>cIJO=IZc@zx~_)n_vIxFIc=tiU0hUKjpCBt}<_d z))-xrvnIt1MX#cyLe7%AF)t%krO`&B^_;6oNpAJJwuHD4qkvqDm0@B|qNub+GcWVn zQpmvUd9C>;Z-{&;v^FTLz;H^YZJQV1@OIP5{G@KFUHzits49b2Mu^OP$FR0a##D0p zS9T?Qd5KYcb|or=%9Vu+a(%U8}QCyZy#5BJQM zM=TQ`-t^SUbN}gEDicY5r0B@@P*c=Q3P(s6>N3-tL~j#%yihJr)X6iQZb{1pnZsUo)J~EG1FzHWXFS^#`&t_?#I1 z#JtRCZ6%^nX-bH6bwdsjlUHM=v1qHPoTlJeLZEUo$j?ha7f5qL7m4Nj3q{<{rHDHE zIrQXtNF%A>f5MU*V_5t|&IQ-hEXyd7eU;&KdgA8pGhcl9p4*#`+}z&s_1EvPW@S`r z!{t0t*PXchd|dl0QHZaAq8JBhFP;xKZCE*pa$tb4 zGgB53l&o>hde})t@XQB&W?Y<3C-#Tk`rwPAv=sGnv(IzDR(Umv$;!(6$TExFx323K zsBv0}N_Ab6iZDf0g2%@rtu8{gI!{Eb7^-+4Mj6_=L7`dv%+u2&dW~pMs$h)-KS%G0 z^Fr`}IV(2(hBt5C5W1e7cBElq`ZO|L7IMSlH&H^%;F07%aO~|Oo$O13I|>2v%x8VfYq>EWP31|3zMoj-UOU7=%rvxqTRI2 z?Z{<#ps37#+n`fn{&Z$IJy6BWbXnMT4O$1TzuIy3BSj^OF)XPfYEQ~1UUwVPc)|NZ z+aK`b#Kv}99_|Uj^OIkF$y2;ApC)Q;&?r(WI8&2V5N=3};(%5T3g`qj03i}oCWK53 zkW`^4A$Ajsus2O)*9-sk(|6x-c>5k*GQ%*Ch@_m@?B7t<0sVfzlgv}2L{({pZXaVr zyJiLBc$D@io9LPbmIb2~)3`tcA3R}6)U}e?g--ZoCgq97sMJpO>K}BNp z#OP^i{j$}|D@oir`7S>v$G2_sQXtqYI;3ajhFBvSR1sdNl~iZBiFdml+wE3Lku`2W z64WiK(zrE!`=>wsn!CFjw!4;G0y!rR*H;vzYS?Ucq~xJQv}UbT%8M#eZhomcHroRs zPEvMRO-co=6s2fF$Sb~G$CAq&XS3}kttzH+dn+%_F z7Hqs!aK4BqMGKzp?tI6@!rke@ z-FW2e7q zE&+|_{CJO@6K2k&i=x?UObpapi?JEBW^WtjMROSgei-Pxon)dc6Q6(h$mS710@N)=&a$oL<#n&`4A=q!~$R!LmE+AxR6@p$3x z;f$#@?e0BjOWpNkXVI=k*$p2*4?LX~Y}*p?qD?s*xLiD?Y1uXnDQ9Ai_!MZH7NyHe zsIyvE%o3|09NLmI$|h=KF|K78C+0AtOwSwx%2pJ>4-?z%R-zG6q`Zh_zO6~oyo?%* zwri}%A}jl4c~L2c5acpdilQ=Y-%}8@&i^?{{aGtvj9E_} z1Z|%pISU5;czhz4#6SG~f8fpAw`i@oes$p0^#N<(cs#P*wA3{3>^=YhAOJ~3K~%0` znr31Yhn!NfsmK{@Rq^!nM2dxy4HQddpVgQWC7{qKWn|Z^)_~&5u-UXPJ`>S&2v&U< zE)2s(f?RC%GW?9uQ#aL%FC}GhU6vvbwzM4M8rY&~nu@xqR%f6HTw;h=<0Q~FBa-%& z?DQhCswzw+{i{-n5;MEaj^XLd`BA>~sR#t;nGw=&dhw+o`~vS6=6PnC7PPWB(=tzi z*7Xd-yoTzw*vc@?C;T#zmWj*hkvxx_9v<-1z%*TOPNQ^^&&|T+a^!~}KH?fjz3I4{ z&z$ho*IVxWnIFy%{BVBcVHyY&;hbcTt2DVRYx5j7Ttw;xxAFm{MVwBX589Ylfr=s$oisp%jLYSmw-O z_a5hj`FeP@VV*DIhtcA+eMTF^5K$=Fu0iF6$|Txab9%aGI-O;h>NAzD#88$+m~}c2 zvd*`br_)7Tt|%5Cs47uHmz+7D23#fc#$^dmWL{{r<#HKVmIddUHRIT>L_2Yz9}Wk` zX_AG5R*cgmKr1rUDuy(F^Vk3KH?}f(?_azWX59ch->^AFP`s4ueZS%1;enJQfB54c z`RUJoCK)D`;nmfit~0cqtN|Y$o~T{F8oBa%+Y7lnMo-f=SW}@@wc2-|&0v2Tcs>U# zJs)H#MW$)QhgoRZtrh&b679#P?<9`_S+PEEYK&EqingvV^Qt~nJY&!1RkT(JUa}@a zSm7i}uWgA`NGXY-N9^~{?=MNiwA#QGt6pH5=v_xs)%axrohXXct0V1R&N7G%!LLr) z3dusRC|Pqk4cy&5FkS}gzM>S-uzd01J&HnOG&%&r(~&ey^i72-nPGe)mB1VZ;%Z{D zRfSKHDK4m8!x_&%eEyd2A8$EEPi`Db6x;WHkCoEgjSJV*HASI+h@EQajiw^08UD1g2In8 zk2g0ojizhh_WqX3=>%EPRF)JMR1UOgG(qg_6xzno)QY+>7@MeCDXYs8>6?bSs+gvP z4-m^Lpi6`#Y6TuQ&7mvsWy&rSj0p&4672EH5Nd08m<+rL&{J&M+%9O zBwtq{IE9p@>ZM4f)ODNx==pXpaR<*iDN0G(Ef<~4Ev~NjvgHb%5(_a$%zyP?{Exrc z@3)jvUV3r0metRtOb8yogjGf=570C&1fTisZ-39G+3;7t{x!=q@{6DUlvjrho4Tf| z8=j7`#<{t@W83eLsnhr2VH zih1(<@Z)EWS)UZ1U9aM9O=4- z)>XVcT=R7Q!0vEBIm6R(WLyUR;xB(er3-#Mv+HXbSNQV79@`X@ikM0f*DO_SG)Bw8 zTvDclg>7xA@LV4p+pCtvkD^aWBK}g#Ot=i_2vu8Cs*LM3eXD8OOw|^;tCq$YDy`XH zU(vKJm&cJMfRCc{NhksdZDo#;>kYO)@VjqsIK2Nkvuate;A&={*=%1CJe;2f>ZT#9 zNWW=_L9ms*>o7o5)x3UnElN_QsH~<{5k;bQmdA&CO3E~@<9s|5GdvwnD_A;m8ApbB zB<0AQh5r&m!Bq|OJTt6;*0z$6YZ<6#tdUf<5G12#nwC|7XV=SE><=XgPu5nJh-j4_ zk0<7N;_aKaSXF@myW8zht3nUt)_dNT$f{68Bc*t{wqqP+8?arScwO6ZIS&M%*mPS? z#|xXzaETKb%k|+kF=P(=gShTeCS*}r8Y^=lgqHG#F<&4QDo2dtSA#I8Ki|eEf*3GFN@YVXJAK#iWRfV3Q@sNL>th2uv}8 zvSgR2+Ln13IHy6<#p=w}`=9aJb{rpJ`gkIo5>+Yam{?RqEj|5fN7Ytz8zFVilP9VG zCe!XZDqAxLPf1X#ifqI)g0^I%QMDo~4MuF>??3#6>sKF8{efsIl(BredEo7P$1=`> zIZ%<3BFl84GFn{5F)=L*w!rP@Pq@nA{X%XVTm{A?T&(DNN!1&d8C@xqv62$2`vnWLz^0t4XjRg2p*u z8jE#8N>>W*A0Mz-Ok=Rmh`4DIN$@mH)OF4Ac*HqJUDvd2vpP;it8sUCM+kwpZ{M=t zT`^upN=*1U5tblqLA6#YUeII$GEMm4Uk-vWi~b_6yvUTEU98XLeqIj}c`%<3mU&*N zs*I~eRVvi0!o$M@P1Ddcl2P)!YRyW_V9OGa%!a}^iHS^JL!*;k;WnZ@sa?Z7N0ue7 zN!*ejB5PU!=_vFIomyd5pNS!-KgHOg{vGcO}C zdWAuTh;M~H>b zH+K{z!8^lcz;0^V%J6!>#pne;EzI+YoD8kDv~^1iiQzoU`c4=6-G=3~K%1#wZP;BO zIPCY_-#=oUquTep|KghWWyAdKiBG@(mhtWZ6B5ZTBpE$r2;Q!sG+dRLn#Uhn7G8`A_-u`4QD-9>z1f>nn^dOydznB!-!JJ~8-- zVb1cI=0b-sJ&TWAy%H+fx3{;H5UKZDOwpJrQ%IceAKC82v_`OOcYA!0_Svu7MOz6( zx)k}oTU)I|cT4f2*U(zXVB%Afp?^+_lq8OGUM8BlA!dnTXquWB^9ybLaX4}wh7}Z~ zX}gwTm}r&3{EL77zx<{Y`NMtRV1*148gl>gdW#Hz;(JFHS^|DpbtNSxXnWc!k z)4YhBhRcPRGP|85y!-W#sw&4ciU>+7r^q}D=VP7~kuF`|{gPD+u)sg$I3Dp@L!xN1(Uk!0`F@q()=np#@AQq<}`l&WMLXMqic#Ii(| zd10Q;Y`0rBU5~43N-oq!gjiOC(-p`22d1YJm)l2v{KL1L?jN}LTU=|Ydkdy8P6Ky$ zH?lr+9lEmk+Hvb=o|ed@DnhAPVjv@O;dvfuRN<;|yfT)p((Idt);V15@GH+F#(>Eh zLP9Np&UGm3c)ScWZHwz1-CkjBpsfpjKGQnOcDEDGrT3&9xtxzYp6+qIlLYdvhEC&c z#2g%^*W@aI%jj04_B*OWOLhs>1)i4A+&+CvFei#D6f@JjGHl*AcsCQvj7=VY_e7I5 zryq}e{_X~+8s-2=SvFnIGS6Tgr|4<6JGR&FIW6#b^b7;M{o>D1wj&{k#jbatGj%Pr zdTkB92spQt!p-L!@P*UyNbMXsCfw@XP$-5eQ#4wFCeaGYRiBvK%XfET#&CMP2 z;?br>D@RI}B?#tVzdx)(D`~BFyDe5%tJS@rk)WcmL{bpP@GxFvxv@$Up3~*$d10I; ze93J08#cQwXkoti;MpE_5?uW^|MXw|#s^ui)O9Vc%ar)^=@Zj5@%r`aH50XPI-OQ3 zlnhC8&V2RmEB>Fq{kQ!5r$1%8>6qt{tHXv@`zFIQ&P+l|?&%zPW zMo7TVvwlJ-SAxVdR$7&mA}PkTm8z&~L8B{ecxE5Uuqe}ZZq0-cNqN((JMd+ajMY_5 zY1iZ_za-IqAZuKs4V4rA;XE(Q^J+mal5`!`ib>x0dK)ZZt;W_o7ApXh5F$k>%(Lnh zB^TaHLbk?egCeupv{aSj=JRL#?78{z6Zf|_)K-R&!{d?5-2>?|F&)onAIULr^{(Z^ zSMO=Mn#**-`-RtU-_W%!clQsR{KSu!6Ss?Jv6eXtk;$#uFH4%KEHIB;Yt6gL(dI%~ zX6m&fQ!4ZN>Iz*7W)3**Xl=vgG%(Me?RLkm-!KgqLLA6p;(FiET7|2$^ule6+iXy^ z#a(aMfBlB-hXd7BOKPF|u%-FQfvH}IE}?3L+d8UUMYe(B5>uHdz2eoMz2)^Uzrws~ zNF{Q3({cS_M}6(6I)yd`R|~22yV+7%&3<>qvILfSAsWMy3v*KR zhxe$eL#YkZ0?X>NN_pmZy61Q~@^m^AawaK7K&ncuEtPR}ZWTdVkt7tY7^aaWMz;HF zVwTYH^Ehz2oN2nAhtm_&d8S@(ex(iD?G;)%VpOCeTaRa>qs-LATCn&?%u&+$j3yU> z25VzhDxBoUK93x%6Nj!ghPLammE}B*^6aKaS+z@_Z*D}KC=zSC62KR>+b!OE`o5Q7 zlX*rd#hW*8*lac^rCzAwT5B$kC$uj7{`ddLmp^$&NS3Op31m`9E16hKNV!0ztF?-8 zIOlkL7+yRqrHC6*uMfURv=zA|QuM1CEy>p68S9<}hMH2M(IS4TUCmM!Iejtf&9BKN zqKjVLo`rdyUuHIS-HJ{>vmOL%S*Z$s@r0o1x(@I!)rbhs+{-pe8};G}d_FK@2m-M! zGDzy`hP0%0AS>KNIV7NRE2xKp)v`|Ox{eYHT4$E&!lW|O<%k~#HcdrZ2K?nhMW!{1 z&8BCV2CSCVU@Vc#bRmor#b}CFr0hT$G6M6}WYi+Kdmla8S}GK+tqXlqV)HF%5Mk z@8Rl~Uqi0x^PcnP3qx~HT{j#*JrLQA_z3QnOu_-)rXk+v^*HF;ZwUZEKKq5cXON6JGCgniUm1Xu)amSR% z0SrQmv&Pc);y0;lD{+eBf;C!`Q{sLl0!`CIjPXUpwJZz6FbJ10XD*k^%L7wY745d? z{nuad$8Z10e_d(b{Nz2^YNnLHNc{X1lUR3iB1Dfd3O`5Ar;)nu={jjao^7`hKj0<& zwE{4d;#Rn>94tyHj8$a+Y^D>yX^LgFjf;+Cnk1;HX=;2}#CmTGhpQbSbn7mtWAzES0UX81YR0%5Z*=eh_BE*@l6TnW00abt`4nd0| zmLmR{m{B=XqGYBdgw`FxLMe%59Jswaq2s{q$L~3`4Q0BZOJvj3C=%yK*&>CqFbqdr zB>-HX14{|aKI466UINJ&N{$dkqft_%Gn)8xrte#>x}GM;d$77@@*^=W#LGx%EWLuQ zwG^XSvd1|^6%;0V;;>+A#k=b-Nfdk@7)?vPX)qt&VD?)vGu07l2x&s$P)TEzg}Oyq zgX>$W0w!gO7U9$AJ+|8OM)kP;HEzG77>iDc^s_5oJ-%W7^aJ73N9LT+MHr^_S8pj* zPqqiPzjkaU&vf?ye=vkkXRs4p(-2a@)`qg}_~CLU+6~+7dmb(`*qOJ7YtDY5f?^7fr!!AaGp_2%CNX^c#M`&80jMhZ4r^`5TAZ#iB$g=OLt{0iDC(*qm-13M zpf$F3#Jp-5*7n~oGs8Tx*9S}`M7P@395yZX`qhD(+nbl+od9dP7uZeHG;B5!d&{zjO+7}D6L-4}OA4GWXRNi1%R=Qel?77?yTKYG@Yn*ntcZRk5MN{0a=v8r z%NtiKf`5^r;rj1(b&kq9LbfKgbL;j*3}%!+N!_2Fc#v_G!&NOY22Q7eoD#W|l^Wil zm4$USvfZ|v&k`|UjN@?V#PsDXkR|pINLhxO%d#-dGge#L)q6uOl$>bVnyNA!AD(d9 z;*bDrlp;rupJu45=Q}}opeW2*z0^(y!R~Om`qP9(&cHUhUAYU&E%sHJYL(a+xS; z!Dt8BkW_=|c9^EY^u2u6DMFFZ=`9uDP^KZ*Ev0fql4NsqEvhM4H8GEOa2_cMye~BS z7Weus#chS69Vcw%d0iP)HD44?Xh~$hk01(w2zXONOphCF|MgGOaTJ!HmFj*pLiMB@9~8 zwvA}!ZHH1y(!JMk<>&rfCeRl)n-=FR$EQi+9kpyyrZvbWr?k3arJ89QVWGz8S(Zd) z1><+QTu>_@)?ta4Kv9;m0*R4GrS(uOYc|Lt=)$6z=ZW9{;rDD`ZF&9W6*u4fj!r|} zShBXHIH6R=pBILQ8AYMBnyb2_Z)!$W@K#aIGe*^H8c9lz)-iaGp987_i^eH~wT8aw zSVCmcnn%A7mzln;>H95>(|q%fzo(6!SUJMz>8UWjV6-Bbz}5Sf>vtP?Z86s!r7h%5 zgE{Oe`weB&Vfz~I??~YSej%ttC^fb_P;aj=-4^OzSd}@ViV(?C6s8JBe%!< zBAOw19*;9FiNSH1rRCf1u5h-&s)`a7+x?EpSWe5po9hGf@gAi#fx;9$Gl}tdVVpd5 z-OzQLbsevS7?&O;B)e|0mE-B@1iOy&`9iS`S!LR;p{zmbS65f~m`P~Psw#*&wrl`g8t@$Pl4{8@S&TV+nS4- z7^jK8Ta%Nt;Yo{Zml`#%b>`{mAecrjIBV+k5@V9^e1N^+lX*n>D z_pjKVG^^g>RH6ir$`Ks`r9iJVJ`BwMMCmlGR>bV+m>>@#%){Z z8q~Unm8J9=I)iIFY`Ub(iBKF$ttkC1zIjI5T~X|sk`<~1S%IsJHWF}^%7k$R<1|_A zp+sCKS-18|v%c+#dqo*1bZfB}4%LHOHwtlKrVZ8#1CN?8$=If<=M1yVg*F$A&_(4T^ALn|@L zzIpQo+d8c4c=6%|-~8q`8HRzYt1Gb-8^z#uA#;87(MOz4CqDi3Q=UD$lW4uwhOS%j z%U}JR;G=+3IWy0mwy~fs^E}H;ZZfTIXtb8wA|z36Rrg1GkdC6bZ zb#)med`IE%bH><);C*F)%14axtnU}YRPo6$+MOl7C2I+gu53-PZ-Jt`Y(H{Eq~D1i zsI1hGVokQTb&m}(6cVX^jX(&2i_0}WMuu@>WmkkO^5ed9U=68yYs8e8=9!E2hW+E7 z?32iNKuhu#AR&A6T_5QVbLYhD7a`~T@+nWtWgy2X;qBr?Tnlr^ZLInAC|4-d>Fl9En_R3-NX%Bsb*4R<$}thL&I8q^JxHL_2Nfaq9@R?^DUjOte;m3W#*T-&ngZzzZh{Zt|)M~0M$IdTjw%ER^b1y2u;TwiP;1{?+E z88v$*KMY z$VuV?l$J-UohC$IFHA7DrD-~Hl4U_!)Y*uA#5hfLsUX+~MR-Ix73}5Z1ux&crZDpD zZ+{!56w@@FNl=SxRS1Fae)qe4_St8YQuwXk`Yp89{PNS!xxBpO5B|yTbN~7!U;g@Y zzWMR{JlsEUb$w9}w+OyE>*%ep`m~WwrCV9%x(}8vM6=$kX__rc2fPm)Pe-~|64AtS zQ`V3%Wt?kS{0Zfsi_>?+`rWkPwN($VpJ1*BPo58b+ zk=9yb<2dEa{czw|It~~H0=hB)vx!Vo;mwOz5;h%+tkrU$?VZHsbv@&-XWdwA+cD53H>l)PMKC)lxz6%)fZUZvsqsgJT$qbGle(9J+BT=Jld8g3URQY z8(u#iI88G{3}|PG23e`TaD))}_RYs=rFr_hM>^-&tTq@R_!-+g+-^xBampvQtmrmt=91YxKC!;Kq;I7AI-HK!jl=+a{P8z={qQx~ zDYn}Ulb;#J6UJ&9+oIu2lTcP1<8t+0DV2_ID&4_3G2+%r;til+Q_5^MTOJ;Fym;|~ z^?J?o=kM|Ga8Hbp>+5TdM@ek|;SYbv^XJcj!t2)}8F?}Q03ZNKL_t)qan5n~>`s)a z+pQ3erU_>)&+l$YIT3=VcNT|Zv+8KA;q)|sHPyXY+`D!44e&9F?_|o1r-{CITwQLM zX7QhJ&akAEDU~WE){t_LnLZ1nvuPTf6NR30j;<9vrsTprdz_OssvyXvngm7K&eiRQ zW*BCU#}n2z>~|+XQs%|1S7unJswYQ?#3WcrV_Qhjn1%t44rP#s<8X&p7{+tyM2$R*DneFgnnNNn{PF2Td;*-GQ~&8Elyux^esxg zPv(lERupxVs`9ghsHWhjbJEQcwOOJT}^ zI3|h)ahDULrQvj{1V`C~-CSPbjO9e&gNu&q%WEJK@=IiLUDyhJlYh`iR3p+@lxs zjoEub6fVSX{wLq%i!Z-qoIOvwlSqpjnUUr>GMrABu16th-OdUtlR7VHWidvbF@mn` zuy%U7f9s3y3ox_*JWD44?P|b>% zEH7Vw!67S}ZO3rjV^d+}I!@D!E?P2Wv?5tWv4*UnHx{cj(R-}c_>$REh#9PMv|7RJ zvAVE1WuCQ$Zr$^6zhi9*&2 J#w%k&lsiH?aQp`(PS;0i`>vy+ElAN^gK0ioT(+ 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 z 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, &Nodes::WSNodeExhausted, this, &MainWindow::showWSNodeExhaustedMessage); // XMRig -#ifdef HAS_XMRIG m_xmrig = new XMRigWidget(m_ctx, this); ui->xmrRigLayout->addWidget(m_xmrig); connect(m_ctx->XMRig, &XmRig::output, m_xmrig, &XMRigWidget::onProcessOutput); connect(m_ctx->XMRig, &XmRig::error, m_xmrig, &XMRigWidget::onProcessError); + connect(m_ctx->XMRig, &XmRig::stopped, m_xmrig, &XMRigWidget::onStopped); + connect(m_ctx->XMRig, &XmRig::blockReward, m_xmrig, &XMRigWidget::onBlockReward); connect(m_ctx->XMRig, &XmRig::hashrate, m_xmrig, &XMRigWidget::onHashrate); connect(m_ctx, &AppContext::walletClosed, m_xmrig, &XMRigWidget::onWalletClosed); connect(m_ctx, &AppContext::walletOpened, m_xmrig, &XMRigWidget::onWalletOpened); - connect(m_ctx, &AppContext::XMRigDownloads, m_xmrig, &XMRigWidget::onDownloads); + connect(m_ctx, &AppContext::XMRigDownloads, m_xmrig, &XMRigWidget::onRigDownloads); + connect(m_ctx, &AppContext::WownerodDownloads, m_xmrig, &XMRigWidget::onWownerodDownloads); connect(m_xmrig, &XMRigWidget::miningStarted, [=]{ m_ctx->setWindowTitle(true); }); connect(m_xmrig, &XMRigWidget::miningEnded, [=]{ m_ctx->setWindowTitle(false); }); -#else - ui->tabWidget->setTabVisible(Tabs::XMRIG, false); -#endif connect(ui->ccsWidget, &CCSWidget::selected, this, &MainWindow::showSendScreen); connect(m_ctx, &AppContext::ccsUpdated, ui->ccsWidget->model(), &CCSModel::updateEntries); @@ -421,13 +420,9 @@ void MainWindow::initMenu() { m_tabShowHideMapper["Calc"] = new ToggleTab(ui->tabCalc, "Calc", "Calc", ui->actionShow_calc, Config::showTabCalc); m_tabShowHideSignalMapper->setMapping(ui->actionShow_calc, "Calc"); -#if defined(HAS_XMRIG) connect(ui->actionShow_XMRig, &QAction::triggered, m_tabShowHideSignalMapper, QOverload<>::of(&QSignalMapper::map)); m_tabShowHideMapper["Mining"] = new ToggleTab(ui->tabXmrRig, "Mining", "Mining", ui->actionShow_XMRig, Config::showTabXMRig); m_tabShowHideSignalMapper->setMapping(ui->actionShow_XMRig, "Mining"); -#else - ui->actionShow_XMRig->setVisible(false); -#endif for (const auto &key: m_tabShowHideMapper.keys()) { const auto toggleTab = m_tabShowHideMapper.value(key); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 574c282..a7de9cf 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -207,6 +207,20 @@ + + + + :/assets/images/mining.png:/assets/images/mining.png + + + Mining + + + + + + + @@ -330,20 +344,6 @@ - - - - :/assets/images/mining.png:/assets/images/mining.png - - - Mining - - - - - - - diff --git a/src/utils/config.cpp b/src/utils/config.cpp index 6cd65ba..7068595 100644 --- a/src/utils/config.cpp +++ b/src/utils/config.cpp @@ -33,14 +33,14 @@ static const QHash configStrings = { {Config::autoOpenWalletPath,{QS("autoOpenWalletPath"), ""}}, {Config::walletPath,{QS("walletPath"), ""}}, {Config::xmrigPath,{QS("xmrigPath"), ""}}, - {Config::xmrigPool,{QS("xmrigPool"), "cryptonote.social:2223"}}, + {Config::wownerodPath, {QS("wownerodPath"), ""}}, {Config::nodes,{QS("nodes"), "{}"}}, {Config::websocketEnabled,{QS("websocketEnabled"), true}}, {Config::nodeSource,{QS("nodeSource"), 0}}, {Config::useOnionNodes,{QS("useOnionNodes"), false}}, {Config::showTabHome,{QS("showTabHome"), true}}, {Config::showTabCoins,{QS("showTabCoins"), false}}, - {Config::showTabXMRig,{QS("showTabXMRig"), false}}, + {Config::showTabXMRig,{QS("showTabXMRig"), true}}, {Config::showTabCalc,{QS("showTabCalc"), false}}, {Config::geometry, {QS("geometry"), {}}}, {Config::windowState, {QS("windowState"), {}}}, diff --git a/src/utils/config.h b/src/utils/config.h index 98732fb..b4304f4 100644 --- a/src/utils/config.h +++ b/src/utils/config.h @@ -35,7 +35,7 @@ public: walletDirectory, walletPath, xmrigPath, - xmrigPool, + wownerodPath, nodes, websocketEnabled, nodeSource, diff --git a/src/utils/xmrig.cpp b/src/utils/xmrig.cpp index 4cdb709..69a9698 100644 --- a/src/utils/xmrig.cpp +++ b/src/utils/xmrig.cpp @@ -7,10 +7,17 @@ #include "utils/utils.h" #include "utils/xmrig.h" -#include "appcontext.h" +#include "mainwindow.h" -XmRig::XmRig(const QString &configDir, QObject *parent) : QObject(parent) { - this->rigDir = QDir(configDir).filePath("xmrig"); +XmRig::XmRig(const QString &configDir, QObject *parent) : + QObject(parent), + m_statusTimer(new QTimer(this)) +{ + m_statusTimer->setInterval(5000); + connect(m_statusTimer, &QTimer::timeout, [this]{ + if(mining_started && m_process.state() == QProcess::Running) + m_process.write("status\n"); + }); } void XmRig::prepare() { @@ -28,74 +35,82 @@ void XmRig::stop() { m_process.terminate(); #endif } + m_statusTimer->stop(); } -void XmRig::start(const QString &path, - int threads, - const QString &address, - const QString &username, - const QString &password, - bool tor, bool tls) { +bool XmRig::start(const QString &path, int threads) { + m_ctx = MainWindow::getContext(); + auto state = m_process.state(); if (state == QProcess::ProcessState::Running || state == QProcess::ProcessState::Starting) { - emit error("Can't start XMRig, already running or starting"); - return; + emit error("Can't start wownerod, already running or starting"); + return false; } if(path.isEmpty()) { - emit error("XmRig->Start path parameter missing."); - return; + emit error("wownerod path seems to be empty."); + return false; } if(!Utils::fileExists(path)) { - emit error(QString("Path to XMRig binary invalid; file does not exist: %1").arg(path)); - return; + emit error(QString("Path to wownerod binary is invalid; file does not exist: %1").arg(path)); + return false; } + auto privateSpendKey = m_ctx->currentWallet->getSecretSpendKey(); QStringList arguments; - arguments << "-o" << address; - arguments << "-a" << "rx/wow"; - arguments << "-u" << username; - if(!password.isEmpty()) - arguments << "-p" << password; - arguments << "--no-color"; - arguments << "-t" << QString::number(threads); - if(tor) - arguments << "-x" << QString("%1:%2").arg(Tor::torHost).arg(Tor::torPort); - if(tls) - arguments << "--tls"; - arguments << "--donate-level" << "1"; + arguments << "--mining-threads" << QString::number(threads); + arguments << "--start-mining" << m_ctx->currentWallet->address(0, 0); + arguments << "--spendkey" << privateSpendKey; + QString cmd = QString("%1 %2").arg(path, arguments.join(" ")); + cmd = cmd.replace(privateSpendKey, "[redacted]"); emit output(cmd.toUtf8()); + m_process.start(path, arguments); + m_statusTimer->start(); + return true; } void XmRig::stateChanged(QProcess::ProcessState state) { if(state == QProcess::ProcessState::Running) - emit output("XMRig started"); - else if (state == QProcess::ProcessState::NotRunning) - emit output("XMRig stopped"); + emit output("wownerod started"); + else if (state == QProcess::ProcessState::NotRunning) { + emit output("wownerod stopped"); + this->mining_started = false; + emit stopped(); + } } void XmRig::handleProcessOutput() { - QByteArray _output = m_process.readAllStandardOutput(); - if(_output.contains("miner") && _output.contains("speed")) { - // detect hashrate - auto str = Utils::barrayToString(_output); - auto spl = str.mid(str.indexOf("speed")).split(" "); - auto rate = spl.at(2) + "H/s"; - qDebug() << "mining hashrate: " << rate; - emit hashrate(rate); - } + QByteArray data = m_process.readAllStandardOutput(); + + for(auto &line: data.split('\n')) { + if(line.indexOf("\tI") >= 20) + line = line.remove(0, line.indexOf("\tI") + 2); + if(line.trimmed().isEmpty() || line.startsWith("status")) continue; + if(line.contains("Mining started. Good luck")) + this->mining_started = true; + else if(line.contains("you won a block reward")) + emit blockReward(); + else if(line.contains("mining at")) { + auto rate = line.remove(0, line.indexOf("mining at")); + rate = rate.remove(rate.indexOf(","), rate.length()); + rate = rate.remove(0, 9); + rate = rate.trimmed(); + emit hashrate(rate); + } - emit output(_output); + emit output(line); + } } void XmRig::handleProcessError(QProcess::ProcessError err) { if (err == QProcess::ProcessError::Crashed) - emit error("XMRig crashed or killed"); + emit error("wownerod crashed or killed"); else if (err == QProcess::ProcessError::FailedToStart) { - auto path = config()->get(Config::xmrigPath).toString(); - emit error(QString("XMRig binary failed to start: %1").arg(path)); + auto path = config()->get(Config::wownerodPath).toString(); + emit error(QString("wownerod binary failed to start: %1").arg(path)); } + this->mining_started = false; } diff --git a/src/utils/xmrig.h b/src/utils/xmrig.h index c25c52a..662de3c 100644 --- a/src/utils/xmrig.h +++ b/src/utils/xmrig.h @@ -14,6 +14,7 @@ #include "utils/childproc.h" +class AppContext; class XmRig : public QObject { Q_OBJECT @@ -22,15 +23,14 @@ public: explicit XmRig(const QString &configDir, QObject *parent = nullptr); void prepare(); - void start(const QString &path, int threads, const QString &address, const QString &username, const QString &password, bool tor = false, bool tls = true); + bool start(const QString &path, int threads); void stop(); - QString rigDir; - QString rigPath; - signals: void error(const QString &msg); void output(const QByteArray &data); + void stopped(); + void blockReward(); void hashrate(const QString &rate); private slots: @@ -40,6 +40,9 @@ private slots: private: ChildProcess m_process; + AppContext *m_ctx; + QTimer *m_statusTimer; + bool mining_started = false; }; #endif //WOWLET_XMRIG_H diff --git a/src/widgets/xmrigwidget.cpp b/src/widgets/xmrigwidget.cpp index c683c9e..74b634c 100644 --- a/src/widgets/xmrigwidget.cpp +++ b/src/widgets/xmrigwidget.cpp @@ -15,19 +15,28 @@ XMRigWidget::XMRigWidget(AppContext *ctx, QWidget *parent) : QWidget(parent), ui(new Ui::XMRigWidget), m_ctx(ctx), - m_model(new QStandardItemModel(this)), - m_contextMenu(new QMenu(this)) + m_modelRig(new QStandardItemModel(this)), + m_modelWownerod(new QStandardItemModel(this)), + m_contextMenuRig(new QMenu(this)), + m_contextMenuWownerod(new QMenu(this)) { ui->setupUi(this); - QPixmap p(":assets/images/mining.png"); - ui->lbl_logo->setPixmap(p.scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + QPixmap p(":assets/images/fire.png"); + ui->lbl_logo->setPixmap(p.scaled(268, 271, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + ui->lbl_reward->hide(); - // table - ui->tableView->setModel(this->m_model); - m_contextMenu->addAction(QIcon(":/assets/images/network.png"), "Download file", this, &XMRigWidget::linkClicked); - connect(ui->tableView, &QHeaderView::customContextMenuRequested, this, &XMRigWidget::showContextMenu); - connect(ui->tableView, &QTableView::doubleClicked, this, &XMRigWidget::linkClicked); + // table XMRig + ui->tableRig->setModel(this->m_modelRig); + m_contextMenuRig->addAction(QIcon(":/assets/images/network.png"), "Download file", this, &XMRigWidget::rigLinkClicked); + connect(ui->tableRig, &QHeaderView::customContextMenuRequested, this, &XMRigWidget::showContextRigMenu); + connect(ui->tableRig, &QTableView::doubleClicked, this, &XMRigWidget::rigLinkClicked); + + // table wownerod + ui->tableWownerod->setModel(this->m_modelWownerod); + m_contextMenuWownerod->addAction(QIcon(":/assets/images/network.png"), "Download file", this, &XMRigWidget::wownerodLinkClicked); + connect(ui->tableWownerod, &QHeaderView::customContextMenuRequested, this, &XMRigWidget::showContextWownerodMenu); + connect(ui->tableWownerod, &QTableView::doubleClicked, this, &XMRigWidget::wownerodLinkClicked); // threads ui->threadSlider->setMinimum(1); @@ -47,75 +56,49 @@ XMRigWidget::XMRigWidget(AppContext *ctx, QWidget *parent) : // defaults ui->btn_stop->setEnabled(false); ui->check_autoscroll->setChecked(true); - ui->relayTor->setChecked(false); - ui->check_tls->setChecked(true); +#ifdef Q_OS_WIN + ui->label_path->setText("Path to wownerod.exe"); +#endif ui->label_status->setTextInteractionFlags(Qt::TextSelectableByMouse); ui->label_status->hide(); - ui->soloFrame->hide(); - ui->poolFrame->hide(); - // XMRig binary - auto path = config()->get(Config::xmrigPath).toString(); - if(!path.isEmpty()) { + // wownerod binary + auto path = config()->get(Config::wownerodPath).toString(); + if(!path.isEmpty()) ui->lineEdit_path->setText(path); - } - // pools - ui->poolFrame->show(); - ui->combo_pools->insertItems(0, m_pools); - auto preferredPool = config()->get(Config::xmrigPool).toString(); - if (m_pools.contains(preferredPool)) - ui->combo_pools->setCurrentIndex(m_pools.indexOf(preferredPool)); - else { - preferredPool = m_pools.at(0); - config()->set(Config::xmrigPool, preferredPool); - } - connect(ui->combo_pools, QOverload::of(&QComboBox::currentIndexChanged), this, &XMRigWidget::onPoolChanged); + connect(ui->lineEdit_path, &QLineEdit::textChanged, [=] { + config()->set(Config::wownerodPath, ui->lineEdit_path->text().trimmed()); + }); // info - ui->console->appendPlainText(QString("Detected %1 CPU threads.").arg(threads)); - if(!path.isEmpty() && !Utils::fileExists(path)) - ui->console->appendPlainText("Invalid path to XMRig binary detected. Please reconfigure on the Settings tab."); - else - ui->console->appendPlainText(QString("XMRig path set to %1").arg(path)); - - ui->console->appendPlainText("Ready to mine."); - - // username/password - connect(ui->lineEdit_password, &QLineEdit::editingFinished, [=]() { - m_ctx->currentWallet->setCacheAttribute("wowlet.xmrig_password", ui->lineEdit_password->text()); - m_ctx->storeWallet(); - }); - connect(ui->lineEdit_address, &QLineEdit::editingFinished, [=]() { - m_ctx->currentWallet->setCacheAttribute("wowlet.xmrig_username", ui->lineEdit_address->text()); - m_ctx->storeWallet(); - }); + this->appendText(QString("Detected %1 CPU threads.").arg(threads)); + if(path.isEmpty()) + this->appendText(QString("wownerod path is empty - please point towards the wownerod executable.").arg(path)); + else if(!Utils::fileExists(path)) + this->appendText("Invalid path to the wownerod executable detected. Please set the correct path."); + else { + this->appendText(QString("wownerod path set to '%1'").arg(path)); + this->appendText("Ready to mine."); + } +} - // checkbox connects - connect(ui->check_solo, &QCheckBox::stateChanged, this, &XMRigWidget::onSoloChecked); +void XMRigWidget::appendText(const QString &line) { + ui->console->appendPlainText(line); + m_consoleBuffer += 1; + if(m_consoleBuffer >= m_consoleBufferMax) { + ui->console->clear(); + m_consoleBuffer = 0; + } } void XMRigWidget::onWalletClosed() { this->onStopClicked(); this->onClearClicked(); - ui->lineEdit_password->setText(""); - ui->lineEdit_address->setText(""); } void XMRigWidget::onWalletOpened(Wallet *wallet){ - // Xmrig username - auto username = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_username"); - if(!username.isEmpty()) - ui->lineEdit_address->setText(username); - - // Xmrig passwd - auto password = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_password"); - if(!password.isEmpty()) { - ui->lineEdit_password->setText(password); - } else { - ui->lineEdit_password->setText("wowlet"); - m_ctx->currentWallet->setCacheAttribute("wowlet.xmrig_password", ui->lineEdit_password->text()); - } + int egiwoge = 1; } void XMRigWidget::onThreadsValueChanged(int threads) { @@ -123,50 +106,28 @@ void XMRigWidget::onThreadsValueChanged(int threads) { ui->label_threads->setText(QString("CPU threads: %1").arg(m_threads)); } -void XMRigWidget::onPoolChanged(int pos) { - config()->set(Config::xmrigPool, m_pools.at(pos)); -} - void XMRigWidget::onBrowseClicked() { QString fileName = QFileDialog::getOpenFileName( - this, "Path to XMRig executable", QDir::homePath()); + this, "Path to wownerod executable", QDir::homePath()); if (fileName.isEmpty()) return; - config()->set(Config::xmrigPath, fileName); + config()->set(Config::wownerodPath, fileName); ui->lineEdit_path->setText(fileName); } +void XMRigWidget::onBlockReward() { + QDateTime date = QDateTime::currentDateTime(); + QString formattedTime = date.toString("yyyy/MM/dd hh:mm"); + ui->lbl_reward->setText(QString("Congrats: new block found at %1").arg(formattedTime)); + ui->lbl_reward->show(); +} + void XMRigWidget::onClearClicked() { ui->console->clear(); } void XMRigWidget::onStartClicked() { - QString xmrigPath; - bool solo = ui->check_solo->isChecked(); - xmrigPath = config()->get(Config::xmrigPath).toString(); - - // username is receiving address usually - auto username = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_username"); - auto password = m_ctx->currentWallet->getCacheAttribute("wowlet.xmrig_password"); - - if(username.isEmpty()) { - QString err = "Please specify a receiving address on the Settings screen"; - ui->console->appendPlainText(err); - QMessageBox::warning(this, "Error", err); - return; - } - - QString address; - if(solo) - address = ui->lineEdit_solo->text().trimmed(); - else - address = config()->get(Config::xmrigPool).toString(); - - if(address.contains("cryptonote.social") && !username.contains(".")) { - // cryptonote social requires ., we'll just grab a few chars from primary addy - username = QString("%1.%2").arg(username, m_ctx->currentWallet->address(0, 0).mid(0, 6)); - } - - m_ctx->XMRig->start(xmrigPath, m_threads, address, username, password, ui->relayTor->isChecked(), ui->check_tls->isChecked()); + auto binPath = config()->get(Config::wownerodPath).toString(); + if(!m_ctx->XMRig->start(binPath, m_threads)) return; ui->btn_start->setEnabled(false); ui->btn_stop->setEnabled(true); @@ -175,10 +136,6 @@ void XMRigWidget::onStartClicked() { void XMRigWidget::onStopClicked() { m_ctx->XMRig->stop(); - ui->btn_start->setEnabled(true); - ui->btn_stop->setEnabled(false); - ui->label_status->hide(); - emit miningEnded(); } void XMRigWidget::onProcessOutput(const QByteArray &data) { @@ -186,14 +143,21 @@ void XMRigWidget::onProcessOutput(const QByteArray &data) { if(output.endsWith("\n")) output = output.trimmed(); - ui->console->appendPlainText(output); + this->appendText(output); if(ui->check_autoscroll->isChecked()) ui->console->verticalScrollBar()->setValue(ui->console->verticalScrollBar()->maximum()); } +void XMRigWidget::onStopped() { + ui->btn_start->setEnabled(true); + ui->btn_stop->setEnabled(false); + ui->label_status->hide(); + emit miningEnded(); +} + void XMRigWidget::onProcessError(const QString &msg) { - ui->console->appendPlainText("\n" + msg); + this->appendText(msg); ui->btn_start->setEnabled(true); ui->btn_stop->setEnabled(false); ui->label_status->hide(); @@ -205,17 +169,62 @@ void XMRigWidget::onHashrate(const QString &hashrate) { ui->label_status->setText(QString("Mining at %1").arg(hashrate)); } -void XMRigWidget::onDownloads(const QJsonObject &data) { - // For the downloads table we'll manually update the table - // with items once, as opposed to creating a class in - // src/models/. Saves effort; full-blown model - // is unnecessary in this case. +void XMRigWidget::onWownerodDownloads(const QJsonObject &data) { + m_modelWownerod->clear(); + m_urlsWownerod.clear(); + + auto version = data.value("version").toString(); + ui->label_latest_version_wownerod->setText(QString("Latest version: %1").arg(version)); + QJsonObject assets = data.value("assets").toObject(); + + const auto _linux = assets.value("linux").toArray(); + const auto macos = assets.value("macos").toArray(); + const auto windows = assets.value("windows").toArray(); - m_model->clear(); - m_urls.clear(); + auto info = QSysInfo::productType(); + QJsonArray *os_assets; + if(info == "osx") { + os_assets = const_cast(&macos); + } else if (info == "windows") { + os_assets = const_cast(&windows); + } else { + // assume linux + os_assets = const_cast(&_linux); + } + + int i = 0; + for(const auto &entry: *os_assets) { + auto _obj = entry.toObject(); + auto _name = _obj.value("name").toString(); + auto _url = _obj.value("url").toString(); + auto _created_at = _obj.value("created_at").toString(); + + m_urlsWownerod.append(_url); + auto download_count = _obj.value("download_count").toInt(); + + m_modelWownerod->setItem(i, 0, Utils::qStandardItem(_name)); + m_modelWownerod->setItem(i, 1, Utils::qStandardItem(_created_at)); + m_modelWownerod->setItem(i, 2, Utils::qStandardItem(QString::number(download_count))); + i++; + } + + m_modelWownerod->setHeaderData(0, Qt::Horizontal, tr("Filename"), Qt::DisplayRole); + m_modelWownerod->setHeaderData(1, Qt::Horizontal, tr("Date"), Qt::DisplayRole); + m_modelWownerod->setHeaderData(2, Qt::Horizontal, tr("Downloads"), Qt::DisplayRole); + + ui->tableWownerod->verticalHeader()->setVisible(false); + ui->tableWownerod->setSelectionBehavior(QAbstractItemView::SelectRows); + ui->tableWownerod->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); + ui->tableWownerod->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); + ui->tableWownerod->setColumnWidth(2, 100); +} + +void XMRigWidget::onRigDownloads(const QJsonObject &data) { + m_modelRig->clear(); + m_urlsRig.clear(); auto version = data.value("version").toString(); - ui->label_latest_version->setText(QString("Latest version: %1").arg(version)); + ui->label_latest_version_rig->setText(QString("Latest version: %1").arg(version)); QJsonObject assets = data.value("assets").toObject(); const auto _linux = assets.value("linux").toArray(); @@ -240,54 +249,54 @@ void XMRigWidget::onDownloads(const QJsonObject &data) { auto _url = _obj.value("url").toString(); auto _created_at = _obj.value("created_at").toString(); - m_urls.append(_url); + m_urlsRig.append(_url); auto download_count = _obj.value("download_count").toInt(); - m_model->setItem(i, 0, Utils::qStandardItem(_name)); - m_model->setItem(i, 1, Utils::qStandardItem(_created_at)); - m_model->setItem(i, 2, Utils::qStandardItem(QString::number(download_count))); + m_modelRig->setItem(i, 0, Utils::qStandardItem(_name)); + m_modelRig->setItem(i, 1, Utils::qStandardItem(_created_at)); + m_modelRig->setItem(i, 2, Utils::qStandardItem(QString::number(download_count))); i++; } - m_model->setHeaderData(0, Qt::Horizontal, tr("Filename"), Qt::DisplayRole); - m_model->setHeaderData(1, Qt::Horizontal, tr("Date"), Qt::DisplayRole); - m_model->setHeaderData(2, Qt::Horizontal, tr("Downloads"), Qt::DisplayRole); + m_modelRig->setHeaderData(0, Qt::Horizontal, tr("Filename"), Qt::DisplayRole); + m_modelRig->setHeaderData(1, Qt::Horizontal, tr("Date"), Qt::DisplayRole); + m_modelRig->setHeaderData(2, Qt::Horizontal, tr("Downloads"), Qt::DisplayRole); - ui->tableView->verticalHeader()->setVisible(false); - ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows); - ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); - ui->tableView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); - ui->tableView->setColumnWidth(2, 100); + ui->tableRig->verticalHeader()->setVisible(false); + ui->tableRig->setSelectionBehavior(QAbstractItemView::SelectRows); + ui->tableRig->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); + ui->tableRig->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); + ui->tableRig->setColumnWidth(2, 100); } -void XMRigWidget::showContextMenu(const QPoint &pos) { - QModelIndex index = ui->tableView->indexAt(pos); - if (!index.isValid()) { +void XMRigWidget::showContextRigMenu(const QPoint &pos) { + QModelIndex index = ui->tableRig->indexAt(pos); + if (!index.isValid()) return; - } - m_contextMenu->exec(ui->tableView->viewport()->mapToGlobal(pos)); + m_contextMenuRig->exec(ui->tableRig->viewport()->mapToGlobal(pos)); } -void XMRigWidget::onSoloChecked(int state) { - if(state == 2) { - ui->poolFrame->hide(); - ui->soloFrame->show(); - ui->check_tls->setChecked(false); - } - else { - ui->poolFrame->show(); - ui->soloFrame->hide(); - } +void XMRigWidget::showContextWownerodMenu(const QPoint &pos) { + QModelIndex index = ui->tableWownerod->indexAt(pos); + if (!index.isValid()) + return; + m_contextMenuRig->exec(ui->tableWownerod->viewport()->mapToGlobal(pos)); +} + +void XMRigWidget::wownerodLinkClicked() { + QModelIndex index = ui->tableRig->currentIndex(); + auto download_link = m_urlsRig.at(index.row()); + Utils::externalLinkWarning(this, download_link); } -void XMRigWidget::linkClicked() { - QModelIndex index = ui->tableView->currentIndex(); - auto download_link = m_urls.at(index.row()); +void XMRigWidget::rigLinkClicked() { + QModelIndex index = ui->tableRig->currentIndex(); + auto download_link = m_urlsRig.at(index.row()); Utils::externalLinkWarning(this, download_link); } QStandardItemModel *XMRigWidget::model() { - return m_model; + return m_modelRig; } XMRigWidget::~XMRigWidget() { diff --git a/src/widgets/xmrigwidget.h b/src/widgets/xmrigwidget.h index d146204..465aaf2 100644 --- a/src/widgets/xmrigwidget.h +++ b/src/widgets/xmrigwidget.h @@ -30,33 +30,41 @@ public slots: void onWalletOpened(Wallet *wallet); void onStartClicked(); void onStopClicked(); + void onStopped(); void onClearClicked(); - void onDownloads(const QJsonObject &data); - void linkClicked(); + void onBlockReward(); + void onRigDownloads(const QJsonObject &data); + void onWownerodDownloads(const QJsonObject &data); + void rigLinkClicked(); + void wownerodLinkClicked(); void onProcessError(const QString &msg); void onProcessOutput(const QByteArray &msg); void onHashrate(const QString &hashrate); - void onSoloChecked(int state); private slots: void onBrowseClicked(); void onThreadsValueChanged(int date); - void onPoolChanged(int pos); signals: void miningStarted(); void miningEnded(); private: - void showContextMenu(const QPoint &pos); + void showContextRigMenu(const QPoint &pos); + void showContextWownerodMenu(const QPoint &pos); + void appendText(const QString &line); AppContext *m_ctx; Ui::XMRigWidget *ui; - QStandardItemModel *m_model; - QMenu *m_contextMenu; + QStandardItemModel *m_modelRig; + QStandardItemModel *m_modelWownerod; + QMenu *m_contextMenuRig; + QMenu *m_contextMenuWownerod; int m_threads; - QStringList m_urls; - QStringList m_pools{"cryptonote.social:2223", "pool.hashvault.pro:8888"}; + QStringList m_urlsRig; + QStringList m_urlsWownerod; + unsigned int m_consoleBuffer = 0; + unsigned int m_consoleBufferMax = 2000; }; #endif // REDDITWIDGET_H diff --git a/src/widgets/xmrigwidget.ui b/src/widgets/xmrigwidget.ui index 5fc6db9..1fdeb50 100644 --- a/src/widgets/xmrigwidget.ui +++ b/src/widgets/xmrigwidget.ui @@ -6,8 +6,8 @@ 0 0 - 1329 - 540 + 959 + 534 @@ -29,14 +29,66 @@ - 1 + 0 Mining - - + + + + + + + Clear + + + + + + + auto-scroll + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Mining at + + + + + + + Stop + + + + + + + Start mining + + + + + + QFrame::NoFrame @@ -44,7 +96,7 @@ QFrame::Plain - + 0 @@ -57,378 +109,189 @@ 0 - + true - - - - - - Clear - - - - - - - auto-scroll - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Mining at - - - - - - - Stop - - - - - - - Start mining - - - - - + + + + + + Executable + + + + + + + + + Path to wownerod... + + + + + + + Browse + + + + + + + + + CPU threads + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Qt::Horizontal + + + + + + + rewardtxt + + + - Settings + How-To - - - + + + + + 12 + - + - - - - - - - Threads: - - - - - - - - - Qt::Horizontal - - - - - - - - - - - Qt::Horizontal - - - - 0 - 20 - - - - - + + + img + + - - - QFrame::NoFrame + + + Qt::Vertical - - QFrame::Plain + + + 20 + 40 + + + + + + + + + + + + + 16 + + + + How to solo mine - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - - TLS - - - - - - - Tor - - - - - - - Solo mine - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + + + 1. Go to the 'wownerod' tab + + - - - - - QFrame::NoFrame - - - QFrame::Plain - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - - - - Pool - - - - - - - - 0 - 0 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - - - - Node address - - - - - - - 127.0.0.1:18081 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - + + + 2. Download the latest wownerod archive (right-click) + + - - - - - Receiving address - - - - - - - - - - Password (optional) - - - - - - - - - - XMRig executable - - - - - - - - - /path/to/xmrig - - - - - - - Browse - - - - - - + + + 3. Unpack/extract the archive + + - - - - - - Qt::Horizontal - - - QSizePolicy::Maximum - - - - 24 - 20 - - - - - - - + - logoimg + 4. Go to the 'Mining' tab + + + + + + + 5. Click 'browse' and select the previously extracted wownerod executable + + + + + + + 6. Click 'Start mining' to start solo-mining. Goodluck! + + + + + + + P.S: Do not start multiple wownerod instances, i.e if you already have one running on your machine, things will (probably) crash and burn. + + + true @@ -447,32 +310,85 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + - - - - Qt::Vertical + + + + + wownerod + + + + + + + + Latest version: + + + + + + + false + + + (right-click to download) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + Qt::CustomContextMenu - - - 20 - 0 - + + QAbstractItemView::NoEditTriggers - + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + false + + + false + + - Downloads + XMRig - + Latest version: @@ -494,7 +410,7 @@ - + Qt::CustomContextMenu