From 8099d69a237b994fde84bb6dba6938127c6fa813 Mon Sep 17 00:00:00 2001 From: Dolobarsch Date: Sat, 5 Sep 2026 03:04:12 +0200 Subject: [PATCH 1/7] Neues Interaktionssystem implementiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Einführung eines modularen Interaktionssystems: - Hinzufügen der `IInteractable`- und `IInteractionLookupProvider`-Schnittstellen. - Implementierung der `UInteractionComponent` zur Steuerung von Interaktionen (Tippen, Halten, Kontextmenü). - Integration der `InteractionComponent` in `KingshearthLegacyCharacter`. - Hinzufügen des `InteractionContextMenuWidget` für UI-Interaktionen. - Änderungen an `PlayerHUDWidget`, um Interaktions-Widgets zu unterstützen. - Neue Assets und Konfigurationsänderungen für Kollisionen und Redirects. - Verbesserte Modularität und Benutzerfreundlichkeit durch klare Trennung von Logik und Darstellung. --- .claude/settings.local.json | 3 +- Config/DefaultEngine.ini | 3 + Content/Input/Actions/IA_Interact.uasset | Bin 0 -> 1174 bytes Content/Input/Actions/IA_InterectCycle.uasset | Bin 0 -> 1395 bytes Content/Input/IMC_Default.uasset | Bin 9111 -> 10048 bytes Content/Testing/BP_Campfire.uasset | Bin 0 -> 71208 bytes .../Blueprints/BP_ThirdPersonCharacter.uasset | Bin 129195 -> 140587 bytes Content/UI/WBP_InteractionContextMenu.uasset | Bin 0 -> 24322 bytes Content/UI/WBP_PlayerHUD.uasset | Bin 29844 -> 31757 bytes .../Interaction/Interactable.h | 37 ++++ .../Interaction/InteractionComponent.cpp | 205 ++++++++++++++++++ .../Interaction/InteractionComponent.h | 144 ++++++++++++ .../Interaction/InteractionLookupProvider.h | 33 +++ .../Interaction/InteractionTypes.h | 25 +++ .../KingshearthLegacy.Build.cs | 1 + .../KingshearthLegacyCharacter.cpp | 37 ++++ .../KingshearthLegacyCharacter.h | 31 +++ .../KingshearthLegacyPlayerController.cpp | 3 +- .../UI/InteractionContextMenuWidget.cpp | 110 ++++++++++ .../UI/InteractionContextMenuWidget.h | 76 +++++++ .../KingshearthLegacy/UI/PlayerHUDWidget.cpp | 11 +- Source/KingshearthLegacy/UI/PlayerHUDWidget.h | 7 +- 22 files changed, 722 insertions(+), 4 deletions(-) create mode 100644 Content/Input/Actions/IA_Interact.uasset create mode 100644 Content/Input/Actions/IA_InterectCycle.uasset create mode 100644 Content/Testing/BP_Campfire.uasset create mode 100644 Content/UI/WBP_InteractionContextMenu.uasset create mode 100644 Source/KingshearthLegacy/Interaction/Interactable.h create mode 100644 Source/KingshearthLegacy/Interaction/InteractionComponent.cpp create mode 100644 Source/KingshearthLegacy/Interaction/InteractionComponent.h create mode 100644 Source/KingshearthLegacy/Interaction/InteractionLookupProvider.h create mode 100644 Source/KingshearthLegacy/Interaction/InteractionTypes.h create mode 100644 Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp create mode 100644 Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h diff --git a/.claude/settings.local.json b/.claude/settings.local.json index c4c27d0..aa3c1f3 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -3,7 +3,8 @@ "allow": [ "mcp__unreal-mcp__describe_toolset", "mcp__unreal-mcp__call_tool", - "Bash(python *)" + "Bash(python *)", + "mcp__unreal-mcp__list_toolsets" ] }, "enabledMcpjsonServers": [ diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index 631e962..dbdea0f 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -73,6 +73,9 @@ AppliedTargetedHardwareClass=Desktop DefaultGraphicsPerformance=Maximum AppliedDefaultGraphicsPerformance=Maximum +[/Script/Engine.CollisionProfile] ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Interactable",DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False) + [/Script/Engine.Engine] +ActiveGameNameRedirects=(OldGameName="TP_ThirdPerson",NewGameName="/Script/KingshearthLegacy") +ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPerson",NewGameName="/Script/KingshearthLegacy") diff --git a/Content/Input/Actions/IA_Interact.uasset b/Content/Input/Actions/IA_Interact.uasset new file mode 100644 index 0000000000000000000000000000000000000000..15ecc1df135b2b19ef0d57fed3e0b61a7582e2b6 GIT binary patch literal 1174 zcmX@utTpfZ|Ns9Jm>C$jm>3v-0cj9mJsi*8v+8W5^r;({PSt+)%1sf82xVblURiN0fUNoIatvA(Bcyk}lXYEfcx z2~Y(C11Au-f(!wIc%XfXK-$^N&DGq(!qm;s(#X}t$kou&z|G9e$=S)t&CT4!)da2> zr0)q(6A&>>0TDnD0(CHm1{nzBM*#UCoCB4Q0n!Eax!>yEmAK5C;a0iT`equ)JP-ys zij{!_XznYML}no%Pg^_G)l@quH77N(I91nF&jKtDlwk41ArF)TgM|z?K7$xjfc7N; z0}L4e!}&ib5J65)Ly}_!^8NDjQW?H5ALW$=asm>QvlG)(ee#nNb26(EK|$#U4BO&@ z#N<>4p_0lD1)w5A!M$VeEKw1Vy5QuZ%z_eq=lr77Q2(T?RA5y6@YJ;vLy~jN%Sg;i zPE7$v9>djjr{AyvWu0>pi;Edb$}1-F0C~t!88zvIHdqW4*^szq5RypX;Q*?GI-a4} zy+ahp1&1&wltDldhzUkFG{%5I4gvpw!Nv|{BU3PSAWLBYDO6!X44`0#bASwx*Fb<9 zhw9#}Evzyv@Q4pcn zlOTAiXt6gHy$IsL2HT6CN-3hEP%Mg?C_+(DG`_dlZO7VBA57l7`QCgp``$OnUf6l< zTcJ?svk_9cmXIId(Z)KT)9bk}uEYM*Q|bK8i_VU7xAS&F)&Q38zdQe)zp_yEA~421 z411ektr3Q=O&*}Wh?-36K2FhN303n&xFZo&rzxuFLPm*GNF!tej7!J__6ZJc03VWq ze8A6%qSzvEQnR=_EQW;eu4Z1~xB$<$EGFYV4Q>hh$Tst~Zy1k+R{Rduar`v#kKjkU z+k407j!XA~_0zX+y1120uZ%7OPovutxf)pf_aT0N5iXaKH>3 z$=2V%NfT6Te_3(O`h{W_u#)AlATZb_h<%5YR4l3cB(+~w6?)95C7HeRG*<&CpV4VY zDv_iqJwx6`JrlS^GIEOL?v>+d+MP*K@@sZxuD%r7+R6>Zw17zFYo!q+melmXB5~)l z(F1s`XhNlA!8TRngrGxKPRS?e!Gt2mV`pXTZ4{cVC1r&Yhn^X(grue8Z8O9EMp*eT zMO3_eFj0re=En<(6zyq0dJ-fC8p zoBOJ<#^%+D);7EmLZjD6iPivPRpC__sqj2Z{~H>JhoLe3BUT<(bh)v4C;%3(G6VEo z<{Sl5$}GVmzMPBQ6J>)H=E$?WXe(CtGrXEt=7n(6ib-1musZmce7$T_@X_L#QIOCe zEp~M;vyzMxsn_w-w literal 0 HcmV?d00001 diff --git a/Content/Input/IMC_Default.uasset b/Content/Input/IMC_Default.uasset index 7935a056d446939cca180f0934c91b12dcf6b83c..6430975147e329af1ca2f923d7cb95c43bc69d0e 100644 GIT binary patch literal 10048 zcmds7du)?c6hFW~+(2OnA`b=SHRd+9bsLP=wytQA4W!@<#Eg$}**@vorv17xUJ?w1 zAVg6FLtuXp3^Ay|Kma8Q1W8b10xE$hpaB)c2XEwE&+mJbZ)J}rbdBXC-M#nR-@WJF z-#Pcyb?@tg>;4S}gVWj&CAKEI!6{_VA%9l3QnR$_A)>yVwT#Kk&C9h8vskk-bF6u}d6uHAoUB4yw$)~{ z+H$Qb8sH9`yOl`v7^la$3>nesZVHT1cCj9xg?hc0)9>a@={985=8|o@zM>U(9-E7C zpic~{Ew$%~p0!AAlDU+cI@y+!I#IZUp44Ex#ufsr1 zXZ&T(gCG<{bu!g;<8p?>>65)mhRt0mxt(H$N*^8m_?y2l9-~&(T0K5Nld^-~!!d=l zr>giDkWuJVWRIK9CE5Ispy=~SwG(_Eukb0gWZ!a1?#SArT1AAEzn7-%K_A7mxm|Uq zF34%FdO_5dNM5h(uJF_It#*!Yiz-izn`+OV>46qD>eaJL%@fG!8OcS>GCHAx>%?7>Aus8^a%K1OniqJW}!+~q|cPO50@;6oM! zw}BWZW-3|5G+^4i)rcfRJyEWxgnnA^NFCf~=pA0+lqFZWT2I3>`z1cbwW`~6My(#V zB4#UksaR4ZTIo8uErDT718p1m@~ZY)zLW<^3mo1A(2sFY#*(Ffa{Q|WN2Sb~xrr9b z!>kFp>-gTlOh8IJGvt}FU?Te-tDJ=ym3RVvQC2C0t8ljLrv;l{>J0zDO2|KpF18;F zYo#8ypv!IccSOVS(_a-%C4?#bY3teEtezk_XGs-eoX07-8wa{ktnjgQCS^~r99eynr6*3`B={%3m{c3fi*!uB&+iwU}BPa6d%T3wRg zPfE?~mDo?s1WtMTKq_x}Azg^9?E`x6L!dKQB_?H8ceh?vNw~gw(P6!;PI%3c$Q_h}t4p$1kZT^&056xOp=r>~)6 zAndfpL}yaOWA969MiV<8mXw{lmDt2ylNhZfFBI!*2z8 z9g;zMz9F6q^g1LddcHZ_;0ST45#pYW5SJDqEIH7R*Lgo+9(uV#TwouoUJ@f}@$R18Sv%O_e zw0Apfe%Kqr=eMSX?cs1Y&u?Q3+rw4OZ10m6wuk$x+1?jXw0A4af7r9b{r622?cEHs zhrK_X&!a7D4;NfBpTD)Ry>?;tF1E0}@OTME(H>9bz6J4h_ok%1Gxb-I`W!cZXQ1#? zpiJM7(JuUchqKDKm>N$}^_G?1(CyCXp_E@M)k3?p+Dtu|uD0oF?ZAlp9;i+!7{rT2 z7x)3vPfOHwg-137BQeWS5Q1Ac1PcNJkhw9gyO8k4@1QYA!b=5W?f_3ULkvCPG72#i z=&?Z{_EyL}mDhM7!z{!+Mni`l&Ere~P(Ku@CkndY+DrIO0AgHCp4N(lV;O=Y46cWm zdqo+`*$}le<6Ond8*qXj!>4L;@w1pNauIe$0G<>@ZiDTMAixfv2IE)c>{1#Ltj;RYp z94Kp)HvD(qcu3v<-(Q$M{L4eQ&D0wzm#a?< PeKFzd-6_WZU4j1(NU*wW literal 9111 zcmeHNYitx%6u!^`wFLzPEa0PHd6c@{wrt;kY`0rn?29f4ftYsKPPZfb%I<8TfJ!is z1|iY}(HQ6t)E@?7NFbtM0z^rC!~|4Af`ST05l~*G@~-Ebox7bb+p>ms;}TCYd*`0} z%{}*i=iGbGOndOPDXo8Zbad3lF_ze$u^UuEE_|BYvh|$p-SLH<6K&_u=WQI8xF>Ze zV+3J)29_jNyoFc8TXZDOeS42UHVyqQ`B2r z9>1)&l$&Zw#CpN+kg0{SBDz}oDYqy6NnR87F8sNcn_sK(y(U@2P)gjj(?ks`f^)wnGuIU&liH^!|S1uftxoLa(?tNdf z4R=PYz&Ow+1~q^s&_vG~gt*~UOHZF?&PlHp9ire9bvYUNN;@^gTe@kdHbrt;-&}_q zC)u+-9nkS#;=BWdP9%k0(>99gdaKPVd1SrW)gZWRVx2-CJNn_*=P@4Ms%TAaugK<3 z?f4FkF|q^BlAl3_(I!i77rT&T_JI?l*DEwtdEFk-D>pIA&ePHm(iS(#Vo>>8h3)|Q zC}GqCihYoYdU*o%xJ3cQ3h;w!rA85A_MH0 zU4CcK&YWXgXJWeMDu>V{deOD8*dfwmR#BG8O0n1=G)iu-kJTIzn^?PYGlGq)t0j8_^tBzwTH!RVw|YdIBsgl6c2<;?n)np8D$Y`QG`U@} zxJ*`SC4wxl7RRaG@dP6p*zV~IHYEh^D`=4H6{{y6q+=XRzqa{YqFS*wNTgYjXfV(^ zU_mFHIOwkjq}*L6)k`7~Iqt`XC2$0~3p!%;<%HSjw!-ZaSzFwpA((UJ;+I659K;xZ z*md>^QdbGKC4yZnbK3-mv|K=Jp)a3@$YaChre-kOokM+W@5@&{8%T%%B}wgR4n&%j zo!n6MDku%{Je#rYP#dOXMgPTumlf{aau~z2%3i-_c$sX=E#T&QCA%FHJvGz$K^!UO zd6?n7`Kw`NKI?yT(3!{SPP-KaV#BAm7;9$xogSuZ{^Io>FlBD{5_bFT>dYQ6<)X{a z3O?E>^@MRZitNIR7jHe;{dlY%ujG>1@mA}rJ#CuYudhKms(fmb$$ElqiS85!}K*X*Yi5Yd(M?I8u3KWt7A()waSXU zQoEtAzf`zO(P67sm)`K?+QArOnBZsa`OlulvI(@Qp;{sebqf)X?<|`3M(2}iYlUbR zWRb01v)FuBo0TGy0;OV`egXERF1=cpO3Rl!MB_5a$JW_?&%xx>h-SW7%_FJGu>Hev zkciHqX98HJQ_G9ApXaFeSPfjl;d0f+d*SjT#N|hbD+q&ARm`B?T%~zrM1X4}oIV2F z6~bjkfV)h%tO#(I2$vlO$9XPP+fd+ag@of-i<=aH-4i!CLR?yexG53hR9Khs5e*$& zk8-M7NuqKm(gYIZ7u^X09v39EuYfl2yF=~kj>aCILky$D{)@8(^8NTg8Satk6J?!UNd%yIez1t!4!`cg--(P)f4@Z}FemDEr9x@KCy#!4jN=;ql-})~cpGd>B z_D1%iy;~vv!=4!Gzwy0j?`DWS?5&}E>igIp(l;%i)B4yRatf_IOCQ?{jh7dC(H>3Z zz6J5snTZ5mlGNm0d6(4YM_H7=j!^ewJg4MJnipc61w5DIZ&XSalMya^;yqMQF5V~x z@;tMq2TeAZp|nnlxbI2ID|MH{1%80=?FiP@VT^tq$89gNi=xnB9k06kZr$FRUS_367BZ_q-<>n=n)My^AT+Hs}<2(LqsYjQza zspO6*dCHN33JDTuNPoI;L_@T_qK@UvMd=JN0>LX7NDNaJj5HiuQHr!wg|wKaEx5Pg1}A%zs8ifU=3+SFqPwsVmbUA?n)33`nK4Y;z4x~EUZo6w zVu3u+lwIpp%J|pp|0xTEj`G{{SC3&TGWwKpi@a0@^53c)q<^t_tNr~|8AYET!8ybK W%&2n48c*iWiT`SU8viR9@c#hq`)L9I diff --git a/Content/Testing/BP_Campfire.uasset b/Content/Testing/BP_Campfire.uasset new file mode 100644 index 0000000000000000000000000000000000000000..33862bdbee373a6b4169622c72759fbf42c6422c GIT binary patch literal 71208 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 Dw24Je literal 0 HcmV?d00001 diff --git a/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset b/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset index 590d9db4cc22988c75ba366159f64ca3d4a85d01..6623a9b9c71ccaf3269f8ec2003d2f058d7bd04b 100644 GIT binary patch literal 140587 zcmeFacUV))^EkW#6h*Ou*Gdr!h$0|eMOvuRv0;G#5u!ja2`VUx*Nz1X_5wDnSh0(} z>$QN_-aBG%s35#E=bR;>n)~tIKi=>2i_bCV?9T4&%ud_cJ>=NLPAdybOG`sl3DHm? z2Q?@Q7<_wxyN7v`(E~>B zn~}dSt}c{KY2GGul5fP8`+3baT|e_mvp$cI34bSvHaq%0f9>zN$#Bo!!(#xh?cYJm z5Bql5;Hs{lcID4(L1!p?YJPLOrtfs!z2h!#S?&4LN(0JTw|cVYb>sBh$?4-JKaN`> zhVDo&S@Gp$m+j6EwC2v2>b3c!J(M{OS$5OaJEz@-ElnmR{1NfM1Elt{&~U7e!i zg>e#5tW4U~$uC5q#yLtL5roTx5@@DI0$@Zb!0bQZX_x^a`tZ%SHFxP|@!kbI)o7Q5SY!$ zY<)er?|7l@cAdd#uFGDVoc!@Ha4f=MpE#&mqz+LbuPg+rO`ycsxDVgbI6xRJ6i9_# zEKO{fdZ`^=P~qFolr9c0j4Z2ZXH@B}oMWKB`}l?p6NbykH;*p%4HfG6v5}%!A(`SZ*#jx0O*~@b;$_&51a<YoJgQ z7%h+qNhki-EsF3=DFbgINF0OoIg+C>E)Q`+9m7P?B3VLUf>b7qaTdqKiDQMaGSa+B z>fZWT9WE1zWBUp~Qb>lzju0Fjl!+zMAhAbeERLZ_S26*0#W5m+95sCQ33UnXLtMo1 zVbMbNfAW3u)QL@*ijjiYaAAa>DAq+Jjf)l}ka2&!Q&-2T7;!vc-Y9Khhic&%D~fTB z7D%OJ!3o!u%vj>$q7z&MF@i`TDRFc^fh0OggaQW2ccf4v5k&||@~8VeWQn6hB1rI) zh~tD3SpxCc{zSx#T_O>Wl9SmdXsA8f2uGPr5FX_xkRa_Qr5m2s!otxaDUtQQE@nmt z4SCu$Wsd`h_M?s)k)KYah1VuuL=ff}9W5T^0#b;KBc&f26kuOaEF;DSjh8YH z&M^^0crP_j8*5-RF@V-7J`C6ee2EoCkP#;BdpE08*;gbL0SxhP*P}=K>S{wgVqJtX zfhbz)Cx{hBlg2W;5y%g~6Dy665i-I1~;iz3Kn^_G3~6-$|cdI=MdmysaW zPNLWdQEVi6HbF0|MR`E5RI!5SK2o7?Y;*#d@-V|6MZ2tjR=E3u(Zea3AggO!4t-EU zoRHLSJnsQBH)3%#F{u~v3dO<+9?C?hk=phY6uB@eYRDdDk{f-UGY}D$)v$s@2YhVd zqAAU>w`y$c{LgDvwyeHB#F=cbyTYBJ$j>7dXdNmD7rF?gjQv20F3rgN1BV-iGXT>p z6ONXVut#HeprnQcMu~>XNUP{0D^WAy5ydksJ~9YQyiiKg9$q=l$OrR`su3+5P0VVG zox#+TFkmXnK29`z!=#`p(ZVvtBOku@v|)q?#4}zHElL#1^=tD~tJ@4$6TmFJdYpQc z;VL|oarL=Rm!n32$XO5_jSLN`XgWe1Lp)$iqHvMSSs;~>Op`BvfzPO+L4Z&eFX3#~ z#M}iez%1TrlNta95WCiEJdkx| zJ-CQ_i^ao3{6wQ6Bhi z$MHE82EYIZh$5q8ZMYyUpJx5T_}i_MWKic9U7v@OC3wCOXYa!WgY_Xj63Kp z4i}&#D|iC?uh7ociUbETd?kloNsX`o#~c+b{0pAC1mu`9uv`7 zvt~mEbj?4rbQ$`=vPourxLL{9J`5fjVFU?5sWDi&wyEuLwhJ)tj5+PRWkeJ7IL`4> z8O#x9Wf?LATV{U1L2<^2OehuGBNw@6H;EuF%0~=QK=$M3BNZwF!-cWJ0I^s`4$WLy z3*9c)qO5{xW#^ak40%ai4k;{h55R&5&Iduk(p0uz)+v?QG5xSRc1R#?3Z6~~(L}hA z7&UM=LgVcMv9=JjM973=)S?jK*NI-}M7eN?Av1Bob0_49i`X+hCXOE)L4xYd$YP+F zl0cb2A|p#c^q|=A1jk2_=#Z=M7H&>XMkMiLyRb4f&y6^(;v(rad>)+bdl%Zb+<8t#4`CT zuV4LWGc!ntlE~Os#Vt`xg>1+~M2ntoGQytO=RRRVNhFGDNOd8>_mmlY49|w5fg)N7 zD=y+BG3Kgl>WbFi|A`9eD#nP@8MIs?Ao1oeEf6#37>KL>iwQVdsznS9QsQD{*b`@r z7NgV!iE&!V`|CfSBU5RWoWym(#o9eJN2?%urtLIbd^bbNiQ^Ajr zdaJFTA#WM{OuV=H&kG|_KDiMkJDyc#I>%Vh+3!abhSl!m@`_8_aGswg?%)&?E>) zhm28Si_^8dFfOCT&IuT{v30#S|2YS(Agu%VGJ{Pzj?F5?xhmrkSvO#FXc;&}+I+-BTkyJgL?hz1~vl}W@200Pcr z!iztXaKKfB6(oL!_g@%8R}(>y<7X~@Y0uO%6Xy&;n+#%P)<|Q>024_cN!#sD4zy7K zX8a7p%aAg^PNFq_=As^OqQF)&OTywv*+HD9s)Qs2q=od|a(p@3D7??^**^^x67Csp zjSGxZ!%2tdQ6L0T;@rh28>#LM!EJd1Dkb%GRIVUvF|-j#SeL8iEOkZhRS0*8xaE*A zWI4u~9LueK1mD4Ncne08*5f<&$7*k33|JpV1HT50P?r}mqnoL_YY*BK7K&RBkIPT$ zff(6Bxjh)SXMZnLS#O~0nY?{O?Rurk5=^J5)Guwb5Cq1Q-AOC)?gSQo`rK6RrW z#PvZWWhHDdOa2zmS3`E9h|sVmv|Y$2oDVExxN>!i+GZRH7I1;rmcVUaDU6?3+Mk>n zI88;NU;vT0z7e9m#zs=Izhqf7Ga`8ECyD@X7ac2lfvoa@>vPKn>eGvXekmK*w`{1&nLU~n)OozRCj^RK>P!?fy z=NJ2#VLG1MBgmH6bCJlb z05F%3a)a$!SJSt z_TNN_2o#JIM)Va4NBIsNDg_Ta_UvnyvhrY9#&9XRkY=;a;Zz2OM+svDr1ap7QRp4m zc&!5az6Otfjy#fLawuf=EJl05eN*jqe!e1r!BKvJMecXorHV#2P=rn!b5}A+Jmb9B zyeZK#4$#v@055*;>f$I!ogAKYuRmH5%sxR{ESfP^vnD(m$`&%|Hb;mOWMsYNtQE-Q zK=DwSLZCW+)tyxgER!kcY|~u+t7~YqxtS;zmq@}(H{%SjLHgkxo7bSEF;Adn14D8< z;hY7^BxOde`!Pv7 zYjM&}wikIXgOnYaup>7a2NDE1tsqex+5JlWFk%T3$A?Ghp`+Hrm^xu=vt=lh3dJlT zW;14OU@&0X2yF%?7oVNJ5{$-@%N^m8&}_oIQ7Cdu5iHbMuQff^{tTMLAc-h45*9`g zWW_U!HVh(KLc@K}{Udkbz$&P$j%a}m`eS)9O~2WeK7K|UL}FO&2bM!hS{khGhU+fK zV1etbBtPD}LYeI$%0kBYZ(ca=HX@;ga%cBxh6`h~*>xMqY^@f7R-vC*5*@*%+*qL@ z*#WzF=m{Z-L!OQMxDxXS?A}Y+wu-c?H}Y>pyeL-M6%*aku6<$!k{Dq`S4UV9aQ8%a z`K;>}zi5r}ER=Q)^zshzhwfrSScM^ab54com9=F8#;&aJO1pYMN)7Xf0@!lcm$Ov6 z{V(7k`Naf}r0$*lM_X49j6y`ZOglTH1{n1D|CAU`wj;}~3Bjd33ZJp1wXCj)5ZuxtPD6CAq3+C%PnxD zT`P^cjHUZi4RulQ=ypw69-47LB>&D>7j&MqnjZ_w1Y06Zhve_A7hdDamDb{73%5zw zeHvWg%)2)*is1>jfyA^c!@))%hSF)%6?^f55rdpS)*z}klb0tZw=VTT`%3Zn2u6w^ z%MJ?xHr-1$?Q7Q+^^*ehiA6WZk071Z7S%xoSCCY&vy;Y7{eV^vWDJZzm&*psyrFED z4Xwgbaq;x-wV4*UB|~JzC2P{bITSosBavRU(i(#K?q6r_h3wDJW`{Dd}qY>IsHi@?tJICU5zA*4{9*iU@+z zh&3do=*m8%jEziWqejm~n*xR~8a8lXrIi2z6aky7gC2cX!HA2?MTOMh#ugu%Gqjx| zXr&n~8zecEv5AQk%ewUvNn?aEZ-^p$i^3$}poz=IVFegwRRCe9o&xPLtZ#~nRWVf- z;>Pz0>FXHa;po(xPqvPmzZ zw`kd6CtMvHSis_%>^rtt6K9MsPf(%%AshDJ;-hQh$HvEyz9%M&86d{zVCKd@UI z+|!}W2_zCK80%+ruz4)^%vieboB#Y9b1Zz01#)bj2|Zl zqUf018v|U^|L^ClE7(=$fmswAMbxC?WDI8~rgJAX@+g=;CM1d~q zz#$JstR(Z&7`iGNLAlBpdK7eIMp;QyqPI6xV|dBblvj|w5gutM6<|9Z!8nG{y)p75 zBr1+s>(CY68y?O#x2Pdfw`tmFZkXh=+?KdEj|f5LvUVK;M2L5Zm-eJ-D6oOffgz|e z#4IoO6i&TjKr8Pf$2ve0hg2yZh<$Wu5b}o+ut-OV!d}1S;C)4iqAVrd$21zBnNJt) z8&OshNpTPq5+zwd<0{l5RMq{MR3$$lrd)gSl)J%cs$!YO)lw+h3cpPhAGmuuSagB% z!O|fxC34it0C%HElmWJ+z;tNnsuUt_48*w)B?#rE+`3*qJlaXkoS{&tsa3DrD_}&a zuX0Jp!O;#;hbt|5EA;hi>7jIDZwj1X*B%vm`!%? zkLmuOz$4Zwhlgga$_g}iRaT&B!HUWRq2<7uwQ$i7j{Dc-qc^~oyJ<7{#wq!AOOz#K zoH`$JH405Jf(6kR9P$IjjVY0nTs-u4&n9Qz|Aw1yG?; zSFe+v;@VeF${ZT$3^WLlu5h8AOsof4wNbHp;dE;jh>MNTixBIH0ZO6=xsmud6Q(PN zSg}l~hv_^$NZ&^2iDLEGOnX_>t~Zohl_R{IHz=y*#=-hH^3S;>t=QB5PSHQ0hS{&E zT4>SRR$YVk7zI#KC>2E;-Eq||kzN146H02y6iGz8|7#t*08seRhwGOIOB*4};Dd$- zKl|W-CcQt*7BT-LTKxRM!S4n*ZSKA*IGio~V1LbPfNROsZ2`DeHNdsu>af4DY}ceJ zyq;Vg!nLiTKV60X^s0d4iikdUvkCe$RuaxmNx1Gx!u3!R&R$8lUP{6_C<*7NB%G6y zaL!7?xhMg*5$4TQNjMKB;5I;i&6I?rI-n@0T+=eS!v0z)*&o%FU-d_I&xZMoQ9Qt0bJOl5lQH!g(nP=dC2%lPc^G*RB;I@_`dbZn-IeHX6~J|>0nU)CLpqMvfL9UjbPaG_ zxc*SjJJ*0$5zeFrIBLrZpugoc;8ldnQv&WW^oNTB{8Xjqv_FJvt;F~c?kd||jr~0W zxb;fFJp{NFO2AzQIE?4i)0b z8Ywxx#!A9rZcQ2fQQi90_?jw-SE~lN-dr8712StEpCTNSMgZ8V#-|A9uLNGyb2BC3 zE-5j-wb0+{D&VMWJmc!J0nWDyycCYcq-g(iYJl_O>JZMo3cPeKX^e(&^j?vFx1pSC z&g9x?Y-$9V8O-_M2VV@W_@O2A8|$H~vc4+9V>%Q+uM}V~pGR{Lh!2yJ_|XiK_lkG) z!a8|P&G=}}Fkb;5w(o-f!3SfiXihP@SAmZK;{KyJYoafT>+2-|VGKjtQ<{+e&0I(8 z`_UdLRQYdOTNA!Gt_kMP6h8)BV_PWnb&3H?UwHQ}T4_q+l=nma;#6F3sC{0sOJxW1lMz^BIzSWzGR2Psm)Hl!u=8%t}V zkLtry1$-z%UAYeGz&%~>hE;(N`>*(^2_Ma&RK)j_>jd%b;O@5#R-~dL7Ws2c__8># zJO%oYW?bW8?}%>!hbDB$@8g@rbx{>Q+}T2W*&NK5kl)9*h3n#t0)429RF1IP5%+80 zvr+K-_^7;8#5WWAN7Y0OOX0%LtC;@|-z?}KdsoCaDfYj^cLE854`S%W+!3N9{%`SN z?~3>a|A+X_a5N#lh1~t}{}A651$sr5AL5}o2BfbO*WKxOMJm`r zT0+0Ev?hFQxxVnv_;9xbX~sP$918lQTU_w=z6yM_jpBDr_=-5ds_-Ei#CMFtcP>$p z3PlX%@0G##wE}&(cZRVw;_J;#WXky8$5+S=ttx!D!;JVAbM#%G^xxvceQU&*%;Afj z{@>!G@-m5&;kPu{ficwdscHUd;-@xriu8TwVt&co-=~k}G^(0EJVlQ9E^_=Fp7#6r zYN8L1oFcwj96zm>{60P{u8XSZYr)~;ark;H|9yNl@e_}gB7L@8!o6qu@8h$mfj&H@ zkNBQ*^EYzq@8hd!{tyk~Ys%S|LA!n*UrqCeIRnHujiXPz@4v-|IT*x8^}X=W@8he9 zpNLBl-!Y*(i8t4zAqL0Q4i>v+RsQ%|GduqKE8D@e*9F0kIJWrv!6RJ z{~i>I21Rjei4GiBC=Zr1;)fpbyW! zQTcq!(Kkc$_wfZlzxa7q0Uw^B!zz@QWDX{w@$ciK^H&u<>|GJx_a^@>K01G8^lANj z_}*6Fr;7qV8*uaYUHkX((RisUe3YLQpL&b`79ZtjGmbv(*8eR&YCpSk_>6V`J$w%p z<`2zRM@|Qf;GX7RhPM5Ed~KmW{5(*==K{~Tr-CSv#sawTGv{Bx_k!(;+*iPd^gV%# z;-mD9G5CG@=>FI}1$^k&>7Fs>v*?-dbyeWw*v^cN8+wiTtcF~JyA|-cbBz%n-RnH0 z@CSrx-~SXJrSI2A zE?v0v;X?UF9wEoaQ*HF<%*66$AM$QF`|6qGuF{@BJYrH z`ke56mUPBMjn3z9GM{Pud^yeJ{XKd^k>g#xdg9a9(kK@gDUU=Ns>Fo^k$h z43sCx55$AC;5YI}4=#kq`NA^1KL-8dT;crzxW_redz^Rd1N$t7a_k@R&}YPrW1!E- zYveh7rgF%GGMs-bM?N5LC_TsMwCrW>?Q{cmBNc5K8EPY5CdAfSI5*`%u5Mk*Z z;!Nt*siRRxy`Dy04bA%XG#j^W(zs#6#%)`))M{G1EUw{fRBP2zgIVAuK|N7xT&sz` znPcsy{sQ&3BecvX%w1K-z-h-Z?SQNA+jR?*{8?9{*&oeYv~1s@qoGkJ3rj0&8(TYP z7rv{TyN73BP@lg2`VR;Wj}Q)xj1mo#%Hl_k8l8|hanj@|Q>RT&nKwUe!NNt0mn>bq zX6?Gn^&2*B+PN!x_ny7`_8&NY;^e8*XU?8GpPP5>@9Q^i-n#wh@sp>|p1*jR|LViX zPoKYhE&TTV2hxRf(ho~n1-cpoT`Fp7s%q*;7f)prT&j)LYU!KRZsO>#E*R0Yt@(sH zT26CU?KoD~pj*Iu?J&tzjb`mE9<~2~q%o8!N7$eL6J=$D$?3XH>chcKmBy-#!I*xs zGhCglF}>u&#$g?cPA4}>G0doIP?Y^6V!SNxCCT(C9N#j@-1neE60fLb-?D$x4O(ox8<&t#J2&XyAGxz;B0Lm z``;b5_e1c&@QZVvbWB#4M5(MaJe7E9$@?PLz0>ObRVZ1xb_c(hl#-T9OUa|_vqsfz zHts_nCRuVq3(D?);IPY_Q(##{2crA)cGVvc_}l-Bwo$QiQ>I0^yd5a z?HrdFxTotn!smMdc{dNI@wB!49cp=|#|8E2lyudh!Ri!GGTS%jTc9X6>D}>V4z=uh z<@8>E=Gqn2m%y;$KlA*9QVYG^9BRcMR$qGm{+OxJKQodyjj8qSr}4baR^4)P&RZmT zoY7jWGpobyG2vsrrlt8t{Pn4Wt>fUyIk&x99$3D){=^}o%vbfyvjZmVKHXx>4gZY0 zX}kKjnGkh2WW#Hbez&HNBaFV@F`iqvcGjFya@1G%hjv`U!dWAaG>SdB_v`isWA|N% z|I+K{u*d1|TCSS4Ztd#i_Nj04^5_1{^U0`{dE{QP=-Q2!ED@HF4oAq9gda=A!+z+lIV{;-@8Phx>oAa4QsDBbPgm z$!)xAZa`qWqHJ>S#qC)yZZGq2XrQ_8VeV_4&(jMxJA37sSPs9od-tG&@f}ysep=*L ztFcbf@D1MtUWE?hbF+?bX*e zO%8?DzT9?~`UKhZti^vdb+#XQ_)HJoK9_Z0>~5#NeAth<*LEAd-7#7EapKJe>iI!` zPHAB&?Vr~!*V1c-kxy^$K-!!Csgy4z@p?XUF;jv>8(5gG3u zUXy(*DSYJ60NAC|zi|Ckhx(ngA_5Yo-dboJJTZn=eomUw0J$WE}M?I`n+Kx zNpdMAqw@|Od*>ds<7~b|{nhEu(ueif^~Rx|F3!r)k#SL<)N_d4vX1xGT-5nI>D@y= zHCfB-nT;1?PuiQhAf;OJp*5~TUg;sMM^-iC? zHZEf15YH$xR8 zyArMQW789tIMlMW%M+dBlfU%r;G<;| zM4Q*1HtX=WO^ee#3$D#x#mm!qZDqjke1G$V`Cc2AoEpA#xoGR5(6Ms`qraRU-uHz6 zM>S#U`J=6GvfUm?gkZJ8ohO4ornm(^Ou{eX1vhJJ}}|ti46wpH9h0q zQ{ob~7#okQw=crg_U>Jct|kHXmI=)b`(0`<`ia)b5i89*-*2~n=-WmUURtHRX!Wk; zs~)1A-h(5jz4b6qjeF_-@X6<`gAaem^g|=%91czaz)!ywgmb>>uD1GSuIN1Y2**;`2$*DNhzWUj~&QP~Yo})b;Gs z%Ewo`z1a^xm3KPX%cf?z@k#tRjqP4PodVu`bX{Yx|6D04=;!~qzgQH(iC$mT5eE5#Ud)JWcKz$3 z&_@fC(kHYoSv{rB`p5SgbRVx-H(YFb=X|S#=HCbYY4+vL5XsSb?%RS7$NxQ6cWlF6 z`?{Xl^y#PZd3DcFx9vXy-qt zT6cc@mc88%Z@%lN_Vrtx^Svfd`_Z@W?#w;g)(sx$;yC|8=ZV+e-c`>}J-v4C-)*Bz zOjO5Cn6CEWipKbWn?Dr$Wz`S2qUgzgnt2(d}+Blj$|Jy}cW&(|V&1#K+k^C1k;BCjBp zX*>VjIJr_Ujj^>`N|Hdr>pYO%82@PC=7N|`cY{ywGEmVd44gml`}j_uz7}O3Oi~@( zY>!n*qM_g7fbLIbCW%bDZ?-rXFyzhErH=b1m#F3k-rbawodSqA*52>2+rwnHyGduS zv&$S>`Kra+wn_ZDb$-Bd$IQFu?=|TV{!OD%YLC2UOMh5Sc-r`As|Eh&o*&FH$~9bQ z!3%0oE8%o%T>Yc-XQp32ILpq-?5{e_AGC64dFl3>dYyOJ|1ErzUb0X7#OTbA1LsD~ zKbNy6pthS{=y?AjbGKgl@GbFG|I^R;cU?!!U74`0P0s!?o2Se@+UC#M$^J2}DcAh@ zrtKJy{CWKqmAsI*B^IxS|GW)Bm0^Z@M|tEHaMhuaf57VyPb-W^kZ};Th}!$8d&;90 z!f!XEFuR^?{(n*r^YTT*MncHuh+hnNw`@gf#7Taf&=S7(ZG+Qsp{_MT~&Vn;r zeM`xZ{Z~9}dKzcFpI5wowsrbbBU8Kanj-T7-8~03UO9K?)6`WP$BM>$4QX&mRq*`e z@OSesztkK)FzNi`aeDXPExdiP>Ezn3IyqCntg7?$b*9-R^}-`75*y5rbeQau@NP(0 zyHH7kI$PKCulMd`b-GoL<$DZUJb2~&*Ojh$TVo#R4r=*fy8VZ319x4|iq)HEyK`CE zOdW~Y5TBqX65GGb+P3WEJtH5ZujUZ4_-;6NJI=^DJ(w(oFmU9OoE*{lQLT0O#Jns7 zonAQEtGAwEyZFp^7^u>KP9?Zp#M}y^9W{)BGS3ux+a))_-d1?ee|tqO2&}KI{rjyK zjvFuTUrP3jpR?7@)GOJx!$D1Zw@vYVSAMkd>um!HDdRaXU2OH^5#mQftyM z@$%LiC+u4P5u9jwF~Q`{r+E$R8h$8_3T^h*TH|Sd!D7|rP0zmjYt)a^Gi3z{CNVs- zPV<~~4~#p!;KhYPQ9HA!)hVm$kIw;x3&FtCo(Vh)Q*)EsgTdi#gZMSz$X!cqq6GwX zhbRStk!9@N!&Os!1O2aUEUZO3mW6mTS1fOMef~xJKd0N}8S?H6zOGXrUwes90S~tUv;f)?Rmy%aMhqpSmyj_m1 zIDc?jF2B}t*khihwJRcW!e2g*dmJ3RaWMCb6>NVBw3 za`h`xj=+TAq46-Fy5&2hC3ncXwT!v@y+3^+Yop3#iM)#S-auLFaQq__e%zLzR|B z_Xm8@N{GCj+zOTMG6W@Yp=;E46Z@3N#XVnQgl2^cfKE=)~B@IOuap8>g~nnjMu;Ke{X}$XYC7OoiBfX>%^b(X5E4T;bB_tZY@5q zJ$m)q(*w}+5pRng{xsT$jfHK7KmJLf*0gesy8sXac+vC7B7Egv#8e=GvYtq+%@Y|YQ6cF zJM1eZO%BZ~*c;$Ep~W;C^&X*NIe#2q_}FYTWjx<1t( zkX*30-IOzrr5?N&76D5=L!Ad-o)SN>UW`%rLVlA~MO$ny4WF_uqv623VsC-vjay6k zvRGTS@pcmjeH#;#z}t6qkegLqGqdjz_GiBN=6~L1GP~dOy$0I$88-&3{r1Uk`>ekF z0cm3%rhodpwsx(O74eyans*HyEz~{!WZS+k+I{yP@_w8!)}wQ6_rC3t8)dX!IbwPG z(Y~6d2II1COTT1Z;rXV%Ly!0FI4Iz}6yjEtxq2h6pOZDf^0dEyI9nVNoRUHoCH}~( z(^+B{I4r1Wb#jXxIfggyFX*DhYq?^LddlE}0`K|n0u5F0CVXG0wD)?q>&Z<8pEL9^ z7HP2exQ=N{t&pJy`kF@SPwhTlqo8Y#5gB(yyQX)D{1hHxR?9YeX1{sX_bhdyRQkrB zJGS=j;oWW8lkS4gYr+$Q()`rMw8~w%*6`TFyiFY-Z=ib!7Q0Eq>7g8*B9W1}x>uVxA`OI|}icuf?8C-)YQCHn@2|ZCR__b*q#0!QzmO zfp1e%*7@!;QDpVPdC9#>Z(*Jdb8w#j zF9-Mka&Xlp7yt7doHghYjVOFG-5~oGPqc2?zkA}7c@7@P?0F!qtsw)qpk>md06(4w ztk@hYr{TiC6dR=#7F|0}f@R}J=ZUVCh0ox}<>520XL~mYe606o5ikEE_bry)xxO;P z^jv{Mcb>7#|Q#U@S7e{GdZojeV+mziK@^eLd^MVJNw40ui?)5U4O3yBn2@G2i9Wbsn4sX99!@>S(nd;6da@%;Rl~GSFbnf z9G9T=6BCE>__s3iQhXs4^0@IHEU{1OyOuGKi2LTJmX=n|-ekS2clU%i@y^Z;(Y0ca zjw)F&(RD!F*;4}&)O6B#4=!Xq=zss`CL@>Yy&v?5NILe@cu#hY$7+wpJGby^AKL8p zcaP6e9aZO^|B+HqY%AS)F6P$9t0TS)IrFh3sO^AdA9S>eVpg0j%60X_JRAho``n67 zAJo+uoUr%$m5J#l=J%4IG)A)_So^xz5m9eRV3nazlYzSh8zoVi8n$jFX>q#S z+n&RB<&D)JzPi)B?E`OJnfPgDtuK1A;(~R5K5q5RWvE3$H z+|;jAl9Eb^CwUm}?YLXhY54L`+wYFA)m1jtx_54K;+_>97Hss5G&(nZdn?`1BYRET z1WQI$&58GCO}xK?Pb^j}*YGth^7|>uhP1G0QNY9_6a68AS7 zZqY_`Snzc{u0R#SU|$b!2zqov3p3QO`4-OV4sp+9uhyU%TJJg+`9mI#$RL%zG5K|K zi^B+nDb0k5_vfrA)&TYCCHT7bX3_@Yd&v0E`<^?GHND%o=-g=at8O^y4(oh|U$JOt zb;-iRwZT>Ix+`W}Y-TY3bf?*A_J6OPleJ4~*7vRLmYDDXe3fe+JDxSaH+$ldC&5d5 zoYi-q-#w`Q@+$^m*R5u&^z1FR>bJ?BGp$mC1IGODQ=k9s&BOx#BO@nE zzb}1$<88`4;P3sm`}+-E)!^?Zd;NaY47I4U*KIyJGj!OvGQHnWOTFf7$v ze+G07?mTN>@`m4O>IS3(Wy#tlk2Y*_x-;df_s7e-iB-y|g-ILOJHrf>b-o8Wby{Hm z5*CqsEuL07H-xG? z8DIE3aKiA7e508jvrj(G=^0}h)@i;S8x z%>P_-{i(ZcclX~Dceils$m4(isorW*_=>-dp88|2k>3K@zrB<-N)VMKEW(pL2B;)y+xs zjk+bM7g$-yUOdI17_;R}bk`OlAxOn7Oko122^yw}d9NU#N!HCtin@Pzx3(7f+G=*c zrLm_!1M|^2K)TM*Kl|y2fWQcduVNuvmx{6B%R|OtOQ)=L-d<;7yHS?cMrU5k|55)) zMCT^GjW^mpDSp21LH)r=iv~_yuKvB@_hREb%Vj}Ft~{UJ`wg+ZbA!A{JwHR^h3cc9 z&FW2f{=nJv+<6-{L+zXPOTOB)op)>R=?1Orr>s~vEY73JX@feOOjYK@8H?t1Q;m7n zT$&PQl(j=xyLaQ+S~5ug-LT#~VC~YMhq}G(zjo&0CGL-QeHxKJv)_Pvi}pei?o96f zke2Bku3!3L?y~)ogU*`PrSSf&<_DkYZT3!8+tF*u*92#=@!n^#bb_l?q7YH9OyL5^wHqEl0ErpnCX5fZ>UGd3LoKrxq*5bri-V7g z{yFYpOWK7Tnq*pRe5>=Ikf`r(+Kv8cd^+%*#+MMa%g2UyS;DOp2O!%w$*p z;?Bdn_Rm|^CoeW@jo!Xg3Gd$CNZs`XJ`;nc9UEa2o%z^x^d+*fhwX^=xn36OCmnRB zmXfV=n%nc1MDE_dW6`|*wHg-sez!d7TW{dyc3n@nKJ&fS^7ZpwcD-h=2usVz=_|8& z(q(10*N$5nHofC3-qL+ghn9UB&M`Z9tt25M>I_J2b9oZ($5J7r1;7pB+RPFn?oIuQ zrmW6T0cB;bifWy>#1~f|7_WQ7Di$(u*=b}}p?7?V*1?=TdqZ}%y*TSc2iv}vgP+`a zyY!{3VWTdy&u&$DZ||zwLUr%;3Ei%~esVx9CvT0##1Zw1)${WEnrIKX%@-dCnm8!p z_T60t3qSV%KF{^)*4!hq*=rl$*lM$NS0E(d2Aw^_3k&}d=+xte*Mal^6{Gep69%UF zpL>y$*dQ&xwMXmlVH1vS>y+D}S>dy~M`QVk9TpiKeLkuF)W@0|=lkqFIBomV7N+Zb z>Rj%1rJwF&<6B!7{vA1gjO)JE5*yX;DW8)@Mus%Jd#?F8zS_(uGe7;6pndnv2-}go zF}2!|wH6qNnY;f8ge|e#Nu&$vIQrq@C>7jf#i(s}6Y$1YcqlzuWt*6ozijnK?&6ah zkLEixx#|zwq8O1iNqQx8UlVshiXoOtCs~qjZu*WSqb*i5w`q|do~a3J_+x#~;#9+S z$!(j3?t8NGbH+kQzJ;9lP)bgoG007}+oqmxZFS_xzN3R$8<@CXUX`WW{Ql2n4ojQ` z>rRG$DEKinJ9^)=B;(W%&z^tJdc%9F$>%|L3?i3H z2h|NrynbYA{2x2#&e02PkPscvCe`bj`m&7s>qG9^_c9pLtK)skSA7%jWt}=S_wwRG zqvk!Hh8;Szq1{vIQXU3eI%&~5Y4r_?GFSNTxE*H*Q5g?-g!{UAX>V;}t4O__E%0Wb zm{^b52L|bD?^-caUKaYGZ~YOGJ~G*0EvzNA?cZm;YjAp8uCC6S?|tisn~<$3=S;Gv zFKEZ_o;)_(rj*!ZxQ(wrLvzQd&`s*?mh*-PvqCi8f>y>~Iv%(Gv-Ym6S5l7%)qT46 z{7ltzB-e&KoU7S?=lD*~JYL@IlbB!JYmH-)%Fk8Z<{z}xOZBYn5&LlNpj*wuc$Yh- z2fx`Jqn%w4xo`IcmrWk$&IOiep8z|R931Q!917!4T;>CdeFBU8C$Ps`xPi$jwq*9M zjB#@SB}Dbmi8pSLQOaiSd^DOz6mEdM>D9?iFX&{Zb{>=WGNaD9TSwPI;t53s_YeO} z9`$~_r_j#+$Yjzzv~casp822sYR{fHbl0$Y29h0PZ+_{ydHvs6b@xmWo-;gYedTjW zNLJYBsEKhGW>2-Q2Hd&4 z+bbb1cI)#M2hN__k^jce&%eX5cY_yAe0GuVaV{|BNx_)oi)vY_Pu)eX>37?8Ri5@S}>$91e@EOKBPVGqHUo5Gdj8PE7Gyp__FT1mb`k0iu?~11sX*)e{Vf= zX-MZWS7Fo2Pj&2$caE)U^D&<^>O)5D?^Ca^JD=qJsY{xWhRcUd4-W@TE~NE$Xmr&F z;tXbc5K@x-Zm{#Wyt(1AHwvjHP0VZGPH6RAYbEX?20|tQ5^`yp%hPjVv49bbSm!fu z@1u-y_rK*&_&I#ksYTE4xX-@Ts-f-EhHnc?7A$*Ir}qtWo7VL;CZ0BlxPIIIs-Ayw zDakU6x4rE-?!+69?L`4C+DDHbJZkueQgUGYy0CXTUveI~&F<+hOxu}hHRZHxlBSB) zq0t)7p@-L9ewO-St9HqUZH^xf`Hl$}TOR72&kMV#9-jJsD}fxFLt8tek^x`W2)<^7 zugUkxRNXbvi`no++v2vkXMWuWM>A^s1KAtaT(G}JAj{w0)W~`M?L|Nd7zr_#SG1o8 zX%+No^YFL@O|Y#G3Ge*VsPsSG4b*-Pi-~;nGwaR% z{a4%7HL3e?aq+g#y-pM#UhwS6^#ijEPA5)T)^gR!4LyA{Rm|RH7iC#JJeHt(La*eH z=9igtS`UxM0}k=q)plRleiEkB5}%f6Pjxu^Aj=B2%o8!84fz^`jHhH$hbi}uQ14li{(kSp<(QfXowX@PrHr{{s z%%HGCJHUJHa@gWISbBZ_=r0@c4V%9y+acUzy{>0}!(#NuWwSap1i%9%f_>=HL6ZsG!14tUc#r$P= zZ}_!27lBMb1dt$fa)ghEd*7k`VkG{3y2e<$x_XTeiOglzmeyD$8x`!`uWOXofP{ci zBhBI+yG6K|CHmVyjkBAZlUZaG-*&jf$2!P$grwhSW3i8mBj3@H?%UAupjg>0HR^Y{0?x29C*?_VFZ$L=X}56bn7_ z-~cq++8y{B2K*HfJ_9=fW+sdz5{f01xRO!ON(|hW!^-EU>RLLoS{xSn$o@BJ(B%5z z!$@R62TIKdMjql|WIXs&D=fz9>gjkW59Q;j$F;01kv#Z$2ezFrNT8hdKJXL=TtaCa z0T6XKC?nt*j%FwvHmCS_@Uk3xFUR=5ae(%NID`xr& zFb*o0Jg`=D*z={IGD!VHyl*1;!c|@a|O=I=b7>-lvGD09l`HXNk>UBx`S;T z24mqtu)|VPxrS0m?PSdqw&nVWfU{DJ2lfoN9PH8igrf^FEUjpskEoxrG(;?k2(l! zLLy@og1|Dw1ILtsp_I}&q2sGsKdG$Y%%Kg61N$$>OZ(zMu=MZD7nM3WmB?4Lh>DR( z)wOgqTHIJ_rmQOmWkdquH6U}CK{JJaUBDVuRq9-2sZ$lDik^sCxtd4h%8kegUSA4l z?CLO(FMW_K5j9Vo|7_sf37+i~=xC`FUOM;kh(OW)bXACp zLm6BN3K&{dz<@8`vHx0g-@hxxRL)RVaHcRur*b3r&Wg4A3iWg}bQMtZ4E*mBqw_CO zOUFm0-Vfw;7}yciV0moFE0g?R!BP5kE6h{X{--+!WeWC~wN0kXDs}|uZ9Kd>j4OhX zperJ{cLr!la7-|^tgMvzJxaeD~#Qb84WuoeTdkG zGS)YWkq?a7^*Q+8l{~87hyf`Y33%d3Ke%Jp^gPH+u;Z>Cg3?8G`*+7gBLvohyKpo| zF@7fzM)RwBIvxXV8Y-q;&1;i z;ir5<{DI7TqvywL0LrnPuhrGl@pRzEQ!`(wXC4ZF78-pMZOwz%tJ(X?(oa{lPS6I| zsrv9+sXTaXzB+iCkuYOoEgrn6&O$0TGNc{lTs|@yVbK|pd&z&c(xsdZ0(}Yx%}1+_ zl7*3zq6Al0Pe){|6g`w{LdJ5jaT@J`2QTKc_sVcP7+||7@B>@^Ux<=u{Eqp@VNA|U znFz^*<3!EUM6I41L?;#yuUJ6T(ha_GMUJa*TZmT7AijVXKA_GFq8JO%ep`rdETPtw ziEEtUSw3SlPOcg6|3;Ik0-paXvrE^Vaxbk6}VRf$0tSvDj#?>tSXU5&t%wamS zmQ0lD0&|72sx!=+8*^{P%%3a#Zvk_U(X0#1EaqXHpu`IPw}CQ#8CD)ZvLmP&??0zU zG0*XTWmak4r0Q991+RrUHTus&DbCUv#r1|8Gn4F{CCryO%#;=UbLHk3*BUs7c2MU6 zGie6j-5BjvftKR!a3r^ObzC`c&F0a>ZJyo@g$i{2C9v7Ownh^o{EhHa|~! zZlhH1l;?I}<1iy>!)S*!qb0bqa{``XP7-;Kt3q>TW-vd=Y81OdRLoXVTUoOf(HL8C z*Q6_8Lz?8P4BUa}T8T!Qg`<@6KnmFVnsHLg&1QfwD#7)v8Bm7nSvCWNrI?FFKY={y z0&-YYUg%dDAi9pJ-mmw88I(fQ!DjM$C`AE{CE_4%8P3FQigvRn*T=sVANeU@kTzZj&kGhuQp<4Ay!W38Ie>!43(#28e)2t*a6+m2+uybUgSQ zD#}O=jTRL(88f04y_SPgy-|I`{E9hawX8wjP~XtzS%K_hsT-7_rNf*HMjxnqc2I*p z40jO}_03T!yi{_K3Lm&Ihau;LlTv-qv7>gNCB`x1m~dAEt%N0v7h@=MxI;@}0b_Os zNHh4K&sY}R-=JO=u{(2kD{BeO;|GEiM8UkHoYOUW&00=dMuH`YgIQA45bEtKzXn=xo*82jwni(9kB?z=ht;67Jl9e=bmt(J9&` zIB^Lhvtl5-!4paj*5Zzmd{*7L`^wbT;%b6{&e3r1Q7t6pCa(75nY;@RaxN?m<>*0c ziX+7F+rk(v8OdgS2}%w6Z={$H<(NC{#!!OMdN-iljKhT(y_CY+k%Ll- z4C}*)Fei?=*NRzjsvme30P{(5j`mh+1PwVT%*kN?n5D;zuM_Yup205f(Oan=scg8w zJi7u`9$GUzwuM@Zgi+^ke*^tFW^ge+rd|@U`zVE%&M?Lvp@2(~ zo~o$vRjOB-uTqR3ZP^8#sU&0{SmN zsb1x?X9j%4nLs<}!pt5Y?w#Rsf>LKj-qBWK2}ZoAF{lG*W1Y&d@*qFNj)0E0>fBjN z4ywAWI!ldwf24A5J&5apa#WrPrS=ln>?jp7_#f?MpK4psOdjU8Fq4Pp2-r4#t8GK= z6yDd6rup+|xupVZ>5i zf`XO8K-Zk^&>HO(dMS*Q>Yd>UwE))+xJt)-3+e&J3uv>@BcR8_n88wkrol?#rTanhh?TAv zaL-=OE1VO|L9p^t-p&tE3RC6vMCBc2Tu)$pME|kt2`t5UPG0(}^+X6aqRN^`y^W$w z;2yG^QXbfDW#pKy$tucmdAqFGb4@%HD21~r2USt#&`LxyQjI>C&45!0q;gJe(EpkT zrt5x;1f0PmqHcwO)M3mR29^v@NXqm7ZQ+lIQb;~GY8+8GcVDxOFyNpnpMArEKte2jQ@qM?W74mIy5@?yw}3 zleSo;`lC7;4*nb?28==RBs1<=vHLbuYLPmzQhiddN4;r(7@-u#isxf+^~UyGF`pKv zRNvI=S%PQ7HJJQuno)6;IZ7#974<^C0;@?cFn{oCI;dWttmEp{iIH{82H?pd zlzd#P;#$@YF4P``bOUX`d;ms>=1{L_Jrk6|tIa_vN}-&t>ZOma@@n>8H1fxD+bCUl zs*63hhxg9Rs-Mk3ikW(9Ly=!&lo~(f8|Kt(fKQkqv4wy5#O{9J&Ly7I!i*bcQE=x3 zvnZH*!~IKKLn`Ln#wvxE(oHFo(-p+f8U^-}dU&KJiR-np{CDAMDoU^`a74b^N4qXR z;SvfFtK!Z;5O5M#Xc)oZh{72zv%B^5pDNpg)^XEhLThEWSTn`k! zYM#ZMoTiK+SYU?Q95Io zoCS|eRf;}2f7rKJq*=0>?GxK4`hOX415e?}M>f0Kkx@P>&K#b3U?XE5N&RI@IVVuhLS6p9Cj*cRoe%B4yqz&tBYNzuR(jMNGs*^ylQEt z<51)lJ7eX!How{)%5$wUf2w~wpfYTATuZAKyZp2O>KSTmACTc#kP{yK3^+@FWxGbb zh6OX5JhG63r20_Zxp|uNbY`>~vnwKKS#>Gp{UWY!%IT_SoMv;%=Mz1_v*SAm7=gQ% z*-+Z^Vx@YfaS-l(p^ReOi2IF}5a-~|2d-dn_t6IaVWfyzMT{|RpdQy`7(^00FLd@0wu^4!rGM>$8Ij~0ts*JahVq8=q4W)A%|k1YQsEb0UcyP{fH z>f_uLeB4S7`d89K=bTzKw2|dAck+A=UCmQilPXWTQprf?Mo_cNQ5#!c<|qc*7ms8p z)f<&FJTZpZY1~=021!DB!<7r}yy6NSV`|*N#}kAoXPDu}Jvfv*+{KsUU8NLWx>~MI z&ML;o_{IfY0U@r{9G1$GMrB6Mku^$lO^4`N3>D^o{B(;xt%CCH^!XsO_RyErNI+MLQXrw($sg_i_ zP*T`4qp0PWxx-U9C|5R6gFEf)DGfZ^fcvz#?#A35uG7&9P;T?cR;BPZlOP-BY=gXBVj^ zv5_QVWB>6;wo+|SN91jGD@7mmH-4byxME`8wLlvs&nKW|#+>)6aAdx{nPH_D)# zrhQ7`ZNouT=c%ivu5xU+Uny)f!-(^wI7>9E$j(vK?|dFm3WFa9rTE4jM(gYw!;0?< z;~RGs|CWr5dk+ua!mFwcJ5IDK^j&85jXdSy%fFjWKvy%0w&fTHO=s%=!h2IRMsjB41miV-kQw%^MM~#!rDlyv z3r09-713t0yA1e0`f+>@08i+kl;Hjh$`qdM#kdEdQFfdZczi-BywrQ+nh|&C*mtXI zqUWSi{mNJE?0KnwCRwMH!a;e4ULLiJJr9i@22V4wdoRd4H_#;1FU(J{XMWI6;dv<6&Bw9(#1Yq2UtA31Aah;E` zDrx}kuc1C5G)95e3V1Ilg_o{kkRCZTiXJ_*95omJQLleLjNP2*f(7Ti+Sx7L+;${Pc8bv7r z3Mxt!q$wgrrHCLzu{S`U4^)((qQA;hL==1~{O6l{&(7@Z%w#teeO#E_*>l_Jx6aI= zfbe9^5O$)qB}fqc;uxQGnGXZ1Ri$3+5o698LzF>Y;0LrBt10{>B}UKCbm%(95wHe~ z9#pP>WJ*1+4H}Kf)Lkh-#lHf=o_Qk9lN8L8j{~Zec>+#=LaY~K7K^zAPA7=j9O%Xg ze2k#PnH@ZPfq946lh^9?zXNKQ*F(j=k~p=2kq+kNnbaG)C|3D=IG{S27M!JpHNs<| zmxdq1yU1ecFP?W6r<3p$ftb%?CX2otCkSxnLT&emyf@cw=nMW~r6$DoNkDk=cwJ~W zR-Ul}o=RFhTGRHY0oBDcqwhs;3|qw>fLMLN^AQ-&VkK9cu|j_gd|}Jt)IBUcR@3fh z^4_0j_C>7Idd!aogfUCrsuxow@OeOWG8e?#TrHg?P9$T&%)wtlJJDU0q2wOtP*;BoUlPZ06h{bK=7Nu5Kxug;{mnH^G@N_ zu+uM2O!B;0>0m|Q*Rmadd*r#aG0(*Qubyis0>U~><|@ow))*Tr3cm>mCmyi} zU;noO)z2CNUx~Fdct`YzurrK>u_k~stytX@J|DIKzlsqNJPs^II|}~4fZA;!b75Bn z=itSefAI!m@#LP+6JZIkkSJR1)pLQhGQ{>>K&{r1xqR1Q0>eRV>-&J(V$Pz61xLlm z0sXRA!Nj-<^F{0{r3(z}vt^wJS0|$aej0f>#Ex_lrIitAtr}IjO`+(^99AlLfq7(a>9x8p>v<4pe`b)sSmS0S3VH%+4{QRnx zo)Fs^)3PmOigsOBttX7^2P?9|p0J8*Y*8&u;32kOW&O-6;}an_d9lD5Y-l6iB^^e3 zY-ZH7vls`XH-|lmRW0=P*weu?v)JRo3>M=g%z4yy z&&qp$dyDo`slK&NeWD3{`AE_oJkx{GJ@_D=-xK!Y`-VF$&4rQ6If)Bfb77y3Vyn}? zVFY?_mB#$~-474eX6;TjxRFL&5pPOwEX$~SD`sy>hcCbzMX^RKp4t?etktp*`c#0x zCa~O$`F~|8Yt6o)fVyGls>XBOA+|pPs-63J-=0Y?3s@02FiF;lR{jjAezp$0S3vaV z9myK-b|kC=z&bFRZmU=U*1E7RfO!R01+XtJ-uuvA)9zmZwaY8B0~DVs&iNHAN9Nvn z*+x-yo9CX~qd=ENE4+kuTcbDyzX>H{1 zw(|FF%I~4{6o8tyolI-5q&1|mfGFEawu2VXhG>ghz^Ws|xE1(0hKZI?mg~pZAD9Bh zZ6FPhaHTD@fO!;CH zpsKY2Ra$zm=Pt@%1(P|!bz@G<^)N+PV*qTl%|Xx9;awqU5u-Ff!{~VkJ;&7AtXp6y z1=|8nLg{J1h>~GULmMwIFq0E>VPA*y1xFXg{9KahDv4Hy`Ee9$7NTV<9mFn+$c0q_ zL9LO+6t50qT}iZxl?2i1B^^}l=%1s5Y^~Nh$d*~UI>@&FPuD?z-_X|UB<$}>9%YerX7=tp*%4cKcg!74h*LakJ)lHF49V2i_tR)NojJ+O_ zOC9-W#|TIl?y5xBKrd+?HP0lV0N(13M5k?%Iek}!tC+B%mlXpG=5dF&I5(pHkk zdb-GE?J0{_@+xkZBwrGeXA8HMd|B8$cD{tZU6OoJCGR`m!7dnk3-;lG&I_JMXxpbp0FSc1g>NSIe=Y%$izyT8`DX(rDFR%h@hj$62q` z6)K!C5x7}vc;Q#5@Fb^bLDgm>Ou0W{T#ZJWI7bi&w#7T%z^MW~1(!ye>PQp&GJ-z^ zkD!et&sxcnZ?EyXJjcMfl0YPn-6PHiT@kCMEI;d&RMst3Pqk9UzB*IMzC$|$K&n`~ z~u4UxvLZND^h(MveMlObIaM7h$a;NgLs`{FFm)y6IsDsJWm5WWv&YhUOtJUn>oMW=xo1+x zqkwWh6zoVFWkIiKN2Oeh@BCX=^&nX33e0@l(MsG(ul&6lkIY1UVzkl9pf?cb8hl#? z&8oDyU31>5(g~hs?qgKR8qsVt%RnE@vJPIV;)H}h-Jn)LwR9I=s@n4xs`hBlR&YCJ zG!~_8)z@g-R=r3`wykQAwry2cxNTL6>Zz5&uM?Y%uZnK3Mq?>_v&VNVh0z^rr5GiP zb%j88q){IHf)0u?Vezd?Xf2CnqJ^`5fvv01l4{vVTT81aQ~NE}R_u}TNKotFw0)G7e?xipna~;@yYkF2 z&^=h>7o%QvUsOFAjat~>8f&q3b%^mb@&SdPuV`ztZh>hJenmsu&snu$WDVL;A$Vo= z^ox-vQ`auEx`BH!1Hp`#CB#-@?aQDK>O8vex&i&fb6nc}gOZm<$+uwSd9|&w2Qr>P zs5|Px>zTUquKIkVmIJjGtV$Z`l)7`zI;HL}XuXZPb8oFt>dJfZ_!@QpU-dO=@AFUc zG{(|lpUTovb;?&dyoO>e9XzkdzRy}ds=V3ntJ-JGb=1wi$XaKM+ggfZrP@`Nf_*al z?BDCOhBz&vo@Njp%j`6RSlO~p)t;sh95c%=QnmR-4`Y^Jq-ygE-80KCQZJ6v8rV(e zo|J9Xc;tqh>UfUF5Jof8;vTu7WwZw^R=w#zb>!ynPeDJAgtanaucdla(;$?;rFXb zzJ;P_Sui62-*tY-6nqxDEbPexT`4HqY!Gd;-(p{8rgwqO1&d$r7{5z;XEfq1ir$Hy zs%-QQd;db`t@Tdyo50b!2Mtv3&@PW&RPV+kRM%1!*4lrN!ef0@pm% zhg@36uBtNIZqW>*_pzv|c?kdM}u& zWoqvwd>w4#e{ntz55zXF%1HH++WB~(r|lsZRhrxZ@V2fucXx>-X5 z)hyLRqcms~^8vBysy3J-BXXz_d{I{$F4-!0tKEkZ z-pygvvFvlH=XkhZ#fbr4nbG#FLL<@t6lAU7pvWh9 zgA&{y7G=Z+%-FM7_isg6-4=TjqMzk{)yOW3)&@9J(rqx$OOjXWNTuX>#Up!_4$S9x zOsslJKvn%HXbhw8wbV0SYCA@9SM#Z}fnZL&`?nj|ETs6`Wh>XxYxIxysqivAfs4t(Y@jTq7R=jT339Yq;E(~9$y?Cq^bQN^|LCFldK z>NB$H>SRG@FSY$&aal6@0&|IoXJJ`RHrq8en=Rg%>2y0h&XnkMM^=_?0)blgO?Ib^ z^R$f39Fvym42??9c8+tWWqN$GHfE(21xiVXNb7r-S>NP@>5}oRB zJCZ$4cc=+`M08VIb!xg>#<+B6hBK4!=|+FtqaDf4EPAJt&DN}$7tpz3P#AX09GC5B z+0T`ooJweQ8=>5JDff?@J{aa?Vi;GLRJ1s5T)2?khBzYzbNgUWRHDPd0p9$kzWkmS^C*?Q>MTPYU^Nbsnkuu2najo&7a+jsXb;h0dK7EAU~vP};T{;rS_|g=#8d^!kZ@IpdrH(yQO# zUa=#RT<#1OGjZvTFWJVY;tCzZ#1b*&HRFdA*zEv=z5scYyc<>5|M4LjJ2)(C}F^;rRE-Va_EB_ zWOz(M@??xiA^cBb+5Hlztvye|5GfgP!|1KU4+`1>T6FFb$x6#wbZ!AE0Hn(d+CtxI z3Lzf{w63uJsDx+>jg&AHs3`9dp#WW%zh=u_wf}ROFj>ZkBu%+pn5LjnLX$zG^xK>% zG0#^y9}^Ht_ey;8WQ<6`8-H$+z*}VOjT*^2Et_Ua7;x6|wkrLu{9Ec}k9{|AV(iw) zu&E7RO&iD@QOb;!CAFf?lQ2YHqo_$gEY0f=St?J)h!kqBq8n|SuwppgtLefZwgz1o zKEg?0kX4N?pabM@pbOV)dl|bPmx)6ZUo64O)@u0j1%D>2akZ?xcgQWR%p&pPpk1p5+NUmVJ&vugVx`*x& z%F~5>uvGlUJ%X1Ax>r=6>1IA4;|It|0ry%Jmbix!pEgU}ONq~!CB96F|7VuCn-U)}OMHbAA2mzNqeS#H2zkn1@ke0-ST|b& z^JI)jNyJe6I|W9g=s1m?*Yk&;-MZn{fg zo{SMGi68?;f{>^D6@QdOXuzium?vXI-jb{lN*a_GAy4@${wO))=-wwM(h@`l>iE^5 zAIONV0$ZFb?Jh)veVU`t_ZqrqN@>Ijp=Gf*X?wnt`2l{q^l`i z&FQL5S1Y1sh&9lGk#RiCZ~bTy=_30B|=jW{E&glAowNh6ma@Xw;Gg8P$*@U#ICHJ*hjnE_P8{6md7p@ zdhCg=@yaTV?L}Eq%R);Hn)&XrK_gqONZR$q)=uNX$K2{85L8wMLOJ!y^&-2n1jj;4runJc5gNSA5=YG#@X99ikWbad+whMia<^z zJ6Y0;T%OEoRK%o}A2gx`a(az0DaLGwku7orHdMwR3c1Q(FLEoWCHCTQ2ikxVvXlgS zi_vGKFNB0J|1iSP2BkeMK-E4L?n<9z(M|!vU1d-tK+_12e@qWdBfug|PlN$-CiHL- zjHk2#Tr(-ch_%<|r~3dHjgg-=ShT{3#cT7^eE>!72)+o0mfB#^%0tAK`ju$=K|zIG zKc>sWhg^el>|p>>@@N4yLy%<(k|^J%`h+0SDD2oVqg#BHr`;x*Ir;t)XK~vk9qA%?Jyv=9m`uK4glye zkI-b6!q=AfWiR_c4Vl`yYdd9S3L4s)6@a!hlU93~EW&^x!)w-18zp^vjp$SihfG12 z^tzJNsZN}?uwDcqp}T_h=;jJ0va|fojXEf&hEC z3(#cN)?GVAR;IM7tyuwROIIIK;flT?xw%|GGnQ9DN+}*At=7PC3w-Q!8B8EBmcj-2`DaiUHT|P|V`mUygA;aT9QeE^E3T70mL$dMOl6Hi0eZa$(YTe9FpDTjQRCGRZRty z;K%N9UcxF@4qOcx5w5lngrTUH|L`p3Yl`IzP2a$fi zC`)J&o+)8K7#9b0GnKnHe)_|n%??FB(%|}z4~|SZ%_txfD{gJNZ&0J|y+54JkJxc< z^6e30dpv3cn}|X(DBTIsti;M0P9$h+=bTDxn&6Ym_lHt769mn#yN`j&Y{b2~Ur+uQPpgue40%Tp2R>=t0^-N3Z+6-X^85-PF6?n? z5%{5p-HFO5==p*EjHr)ur#UlI(sP(89)%rbnYP&Rbc7ZqRc;JZeyZG1enM~vYlt;( zh+DtEoX0PL06yB$oB&l1cH8yjmh7(gF3r7S>aO1vWkm(1m5h+pYW+kBIJQ@0Gc0mb z$Chv9*m}{RC1}T1bKRr8zG!ew#J0T&LnFVwe=wr}jM%Xm8I}>OEFGJXGXf2k;-z%Z z5z+YVQ8nxA?>_6b>t}X+py|^_u(EJ$z#kzH8cy2goEo<7j;M_vwTU?wyK)O?(8Kak z83nz;{?i;7Xm5D-aNj-;w~2Z9*4ZaF|Iq#qBiNk^H~jfgA`a|T*_b{u^*xl)$APsV z!1)iKjv3f+U&8ZM?poXWnfD(-WtQ5JiyRaJabQu%Xgc^xK`MnX5t)zkO`VsW{L^k( zda;ZVDQ+f@Zi04Rk7QTenEdWv@mo(En)B+8Ut4IMS4C7!p)OrFhBQh(aOJVs=bLT0 zuS#XdZR!GTRbrH^dTcyKIKEuJ1@=nN^^^xrb8{P9V3G` zX!XVmEa1kchCl?ha$@dV-~5!){r+`*SASi9eH9R?hn3TK1Em2k4IfH$CYhlX2o12b zu+T8Y;t+H2@iS1y1s_dr-}2Fxi8EX)oO3pO5{rz1(D-)a!*eeCZc^8^7uv5{{^al1 zf<`^;eN-kxS<*OWd#AR>grKiXY zOnvE5@_j-3(nSMbsn}=8?!-rz_WpiG|JGHt`lNVh!nqz@_r=Yde*4i+d+x|?8sA~` zvKx(HW$8JyIn<3~n~{&9N5jP@_hY0#z7Ujzz>wuXz#bv{u0bke4Y&V{Gne(*48 z)5G#n8HJ0=$1?Gq2(i$4-<^D;!KXcUuKeiiyT8;w2V?^g?D!AU!Xpx%OPuNY^xCPl zUS192^{}f@nG9v+mzq)gwfjzKv?%IG#N3HJwy%j(HaV?n%#}zN-7kG9Ybv~7I#{K+ z{Zif&%gQY|b7#Wbspq#f`|{o$dnJyD*e@B`g%PYQ{gRO{0SyJIFX)K>?BKXpI_*uE z`*t(OZ~u4qG9y@7_$A)8>BTkTiB_1&`@F4OuS-X*jX-d)`d zFv<=PvdZ)1wtStQxmJdcv?Rt zYk2(j2Y+0Qbxft@DkrjwSnWVt~b=Y+>XPp+Pl5%uVi zzRmAhT-#>>h_?BZ(18BV&ux8A>WII(FZ_7Z*&a=oWEsKoMfTzle(^0ZKQTv`-b3<0u zzRC(Mc))yM9KCU_yeqnXAC@&0Ucd9mZqL0)+mP@sU%$i4-MVb(_Dt8U$@4yGVmE>rc0Ocuwkoj`oyoRR*nDn6jYYf8Ex&2k z<1sIM9DQ$I=XUGCbV~tKI;i=?-f76cG_(Fl-AVk*W!0zovDSwI52R>_0_WfdVVb*@z|b4eOEr^Ib#GfoW0wraAbxn zJJVAoF5Ttu*qde1!*%J-7USH`?6Z6ea*<&$9XL#cr~un5W+ zv-|S=Y2{K9mW)~+vu5%-c&GwB2MFyIRpm^j<=4kAPJ8je!3V?l8o|sv^8cV23QWSv z!q5huhBde2zv7(uUa6V>_|V#z0IO#-sej!tTkNt^)7GBN*{L8=@s$ahN^ zC}s5pNKr|*Oboi0n7wOiwYi-)#P2#*^_P3@+IzFsNUF+8;dE*?h^>CCSQfa0>I)u>YhdV$c|Eh6RE z{txq#*2Y$Pq4#HVp8>6U*srKe247lllTcQ{1A*!$SBDsWydS-D*ojw+_Re;?bHcUB zf$1uj0RF9}EZzObnj<~uO+P*>{n&Hej9{&~0L8vEDG&b;lxfmr6t|`cnw%Knk5=9> ztln|5(j5N?L`JWaFF(8L*xwS@ta$3HsCI`EL607WCu2GI(z8#38Ep*kwBE*)P_6B8 z)f@*zgW|BM1n{kux#;X&hib*&S8-p~h#r;hHG-vb?G*dcpx3j5h0!yNTH;*pm~487 zHZ25b8Vk@LatYx6)W!-upAA`)uylW~th*2WxyA_gHW#4Shn^6(jh+f#KOXwbtNYTEFjL3wQ&5?QY_8O5z>f+nYG9Tf@c zac4Wdi9wU&X%{#DROe<qKJHi)2+{L=sBXH|x{6RcM$J zn#XshLwDjfO1+KrX1G~-8C-BBn1X=#qa7oUjt%WL=G^Y27jt7hCpVu`T)iH4mTRZj zSKP(PA1_nly_{%n&7UAjFa<&LXYBev?j7*)f#`*Ym-qi;$$iQ&O%F@s+Wq)bEQ^XX z@v^n16-9XSwo-GvEe1`{TZgMu+%Uao)GE*F1Ml}}J^==yhnY{FZNS`Y}tw`(zBOva_w0-%u2UCUlKBeSZ7l4c|vSyK#BK>1j_b zHi8+>eIb%k+Y0JHjqSa9_{$-;{}HpLV$a=^XP!}3y)6YSDb#NvfkHjZa0aYWSb|$Y ztitFj_1kg;vQ}YA2Q_DE)SR(r_9xK~g+(M?pZNS(BUnD=Lr{iQ*nW^tBjQ#*Z>YIN zPU^xg{1dl`z@1|`w_dsFeEqm(+G9qt@^!5gb!t{El8valZl@y#;+%5HeLO}FJw zZ(92Bt99=+f^E^X>a`9W{!2{DWUEMVWz%a)4R=pRYl{2a20|bPIAj&!7#kPCG^iF( zHtE^VstuXbG-2_dA74Ly#Y4{-!8T}c^rhA@v2>_y)wX!3)gKoJwR)K0unsP=kJFRw z&a@A3(3hgj$@ZQBDw2@d<#EgsP}tAfiZeh}R}J_u>A>dh&n2#JIQ8hA%AC_o%auy( zvZ{;TB}Q1eM0^h=XqUL~yGbARJ=!H|WyjA$=3a5zLanv2OKe8$(Yr(=SiWRqa4u0P zv`-f0=1bqrfgrt`GlChqIR$&3vK2|m;mN{zs%EI^l2Zka1A)BWlNrGbJz4P)RE4T) z<(+&MnIgSs0!4b5p|=7>rRaz1QFHnSgcKBj25yW(t^^i+0y;|86eeRo&&GykI{LDF z*gC&lAzaOElipi=)%va7_tpQX|H{*Q&NB)?vAo3dW{L+tcuk|WxBL>l?$EV)H1E?tnxoGw&>%raZnf`D9hm%V^wvtz zTP6&9YpM~r?U zCM|a4o*3QjzVcB+*1g(vzY*+Wwn5-K-8pdPrVU9ETh^~Hx8wE$9gSf5ln>#5*#>$4 zr-W>90lAW(hupPehR+C#8X2*@L#t{b&m6u&Yl9Vq$dr!^=bT@=L{S(+-KeoWlXxeTd#yb+FBw z<(DX1jDaZQqM1FnY#taEKhIhH=6cuNkO&&}u&LZC#brt3l$sllU2$Z4#F`yDMx|u# z-43)YX&fjK_j?)Un=-+422hopk?H#D!NQC_Ce^-qX#KVKMXi11<9562)nB8PKFI_Q}C=kA2P z-B%_&^xncQZ+%g5ml5n@_I$wC-aEZ>)w<)l&Z@s*-O?NHUtt7OG?Vfo_{yhPoPwxW z{i`&=Kdt0|G{&u1FhPYjo2i-Yr$l5iHM3P#W>%H-HRu7xkuJA?K4V&=q#frn-)nLz zdY{%1$ZVC+g8u4X24@5-f|)VpdUPZPhLMk%)uAl<*YKf~m3Wa3I`mJf8^OxL%!Ia( z2@#I^C;kakAZ^x)h8oNj?Yzau?r_LHXhnOj+1y2cjvUl==fa=AX?R(uzDA0MGfb-z zw^it{C!**4KD83BYh16p5v+)c2Fms50A>~f_7|uC_||MvbIG4C_Kbb zNvmy_OQKp*oY17!FV{ZWK63NQ$kPeiFH19mos;lhRf}=k8`_{omqGm)b2@3zAMXCg6BaP(}DyHG8^Pg`Sa>& z+v8WBdvg4{RhxD-g8jf1QtT!DA^H)SX?Nnq%Jx)8mP))Ql^%NqWR!DEcBWnOhjP-E zpK|au)Sl$>I6HC*@hiiTW2eK)E>VfylbV)gAMK`ZP&T)Z%JzugqNNFG>FJbpf+Gj@ z+efE?-Sjuh6Izxm6EM_XrKGqVSHG z*05*h7#CI9&^{qGE!|1%b=tGDNMWhPR4ReiQd|=S49Gvs|3&Z!GNZ9Z>9;c#V z9=9Vii#}0H-jpoe?aI*j4dP7_ysXw?q=h;|ISVuyyd0gDnUzS4RGI^cw+7?M+Zl5*?0NJha!Ku+6b1ZY223{o}?D( zSb?T?h5r~Iy@3c5v(=$1*NRccqM5Mz7XD1Q_P{jrocGa!$1 zQ>;uAUb31djI)|1tSZ%MLWKeE+&zALM$*=$^VaP6;KXapQ_#cH1Z)SrxMINYUz=YR z`Q&#~9QL7C-D?E<2Tl_}=GvKqJ2Y9aA!b*(&ZB$v**@F|c4?Xbg;9c~y-*IYFMsK= zj2CX}7{BkG4?cSF^7RiH!7fb`1V01*8@Sh!Qg}S>^~MuVtnaaJ^OCooY?pTmQqaRL zO%n>>f6!d7II-ho*U2pr8y2_BS=To0WpG^&yEIL}4E)kG!Cd!(R=ZjUTJ)>))WZ1L z51n}Hxfgz}3$@e3{w~u5;QslJ7Y{ui_iK+$ueaJ*`NuY!j9?e@Gy(W7`XYSXj*%ZH zE$-2^=}jY64>p2b%+mzmn~>Auo(GSdj(G0&9S_c19XHSj#-n7){!f@DU~KOt1vdzm z!=CXXPe9Mg#v$*svOu1U5h?Quyg*{31o|CP_(&%3ARb3E5N;8X_it6x4Ghb3%!T@t z=j?VrB#s?2yX)NUD_eEU$r{AC0U6$2ZAJH|ZyCMp>PcOCK6>qEciwr~R}UG%3c2eA zo-u2@JP6<>ARo*10AKy5K8;{Ma{-El7D;U?!A%k9CIU`k=s%eXxS8%EO$ov1?<|xs z)!#p@^!K1>&Gw9pf0Qxso2j{HdH||QSLM}_e?0!z%411O>pna+XGV<$tYpC(z$vQR z^cYW}4luTC-{tJpb6!b&Iyvmfi=*rHW88o|tpg|_oc`W=Wu5v>AO1OE#x!@I7PmPf zj9`T{05F|-t7nzOz%UBR0D!OlfTIztEDZqqpg$A}$_p|8&@tq~_Yngt{1!9o-fvFU zZ`ypR5v&?2lfi4;H3<+oF)gdg0B5p?meIpwXeHg9olMUH(qh(sWOi1IC!{;zYP_pl zUO)ghUcs@41+qp5{s7k>k~3olTb)r|Mz9++h=wRb%c}^IkcJ0&`zEJ4GaQOT>N_qy z&7=8%Exubzn|v7#kMelwWJ-!j%Nm#N$U(|f`{Z73m&c`pDougdYv}S#vsD260on>D(@A+fz zFMDpJg?5y+WCarq-_v?&cMd)Ffw|Z7dmK#Q1 zM~zf7$IB&wul_L}BUoAXu(uG7`p2Pwe?hdBmH`|CG8BR~fVPjndDq#IUq>zNzT(Oe z6IV83B`anFz%VW7lZ8u9|M1c3n$04%{$9E9u3BTNGj1T1hnQ{XzFpkN$~^}UO?;~3 zXP;JfZYysDD}n(qZ}qGK8fGCV0|37I5BD0u%F+PvV4eO0$RNHT0{|T>;6UZ8U$QE$@$6w8u0XTwDT}H4=LrlRh?_aDD znZEFdxeFE5e+rpv0GIV@$mKYXHa3#35$w_sQ_D5F4_H$A4?1%_!Ah#Mde~nif>kqM;OI|Nf;6J(0Ec1>pW z$eItZfFDW|EceEgS^rH6lrKp6L5KbouST!|s7wZ5+KT0*C}tzdi>AFdK8wDf+=CYU+b5KRPv$6eMULbmjNW^ESWqY2uTgU9q$K6|+8L z6o4BO(4Ow~->NZ!9Y7%&eC)Iol(aFmtN-Q?P_dLCrGt*yxjTAZnD}kt_9VxZebNtj zj9~vpWipf&ZQNcUH1s_6#DS^L_KJJ-KUcLo)4Ew*(4dF0a-v>e8uS}J%cOT<47{4@ z1sL4GKjBdYWqC)r;Y>q_y*z5~e4nD#0s1 zc<7zmQrj&`ob_jR#dTAE+QlfK4BJ!(y4Sz`+6Y#bHr0f1)W1s{H0X&2OdCMQrX4qS zz52pSNjt}VF{o3_(auJ&i`k}tZ;L1HUsE&kvul1 z33eIZB4duK=E^&*<`-^qV);JlD`YclC#I%qBaBVw&?7ISVVtaKv5XNZBWb8?&~|)( z)d}AW`t7=y7k00C|EEs9y_0{`%68n5?)6`+HiBU=!@aCIYn|)5VAmD7dpEC{3V7l8KayOqDgO)gF@lIMt~@-}d3WOS z{~oJ$Mg6M1jQHP~@YVC*2$m1RWGHR^W1Oe|-Uv`>NSFSz^nhFPUqPNS1u|xcLTwxI zhl1bmWRZXu;S)RytVDkB@n4yCH5u+=_|^H;2v7ucZ|^yOTQz??tCm=T;1V zK5A|ImtViWey@2(Fs4sg0;ooX`iqZ8Xik=8Da0qxWApU1JiUG(wTE+zBRMBJ)q&?j zo$ikOs3<*+k4M&N_Lb?eRj0Z%33fFF9Q7`r?87e#OvB+|CVlK*L>1~^7QX_qR20eq zuIya@OUobbe?R`dE-l(jTkypoBUrvt+u!URj0%UC9T$T&SWa|vX=okv06BE$F9Y^J zcwgdUE0?_U*v#-FtVs|TTSFJR|L>-)?Z2(}T*B@~8GmKo^1)Ff*d=QKS00$Ntl#p4 zthjAs8vb8g^;0d3VEL2}LGc?jsQ6pFnY);+VT!^5@!&3Q{id$0iiH~v7j7xF-5vcJ z|8z28!J7HCJf9yZ&nN&twuT70kJ){B{437^VY{003V>Zg2w>h9d>c$(fSQcL1pv9DxQXsZCV#MEdG$fD^XlF(s`G@A zXE~ko;I}?R5Mb7v9;x;FwCk~PZ*5P9_Txj0VEL2};eXjGW(yV+VZ^kRR!d9=$!ADT zLH7~ezi#}@>~B8ny0B09sSRzW`MfKets;`}el@Sb%LiJ$9rsw&YgJumu8lN;F@1`R z%|=Y2RGEcUbagt?J*kl%dXkr3W#;Vb^w@5o5&~@Z!tF>vFdZ%(3C2XsG+Z$eWB zD)D-=L=0B`B@?yGU@g`&<3`G>a9Ng7qlf`{9~)HknS>QwQSN{|uFZ!f09xYjms<;X lWyUQ}JpS9d+|b)!I|QqSp{5bx)b{bNYvZIW$XG-?otE9ojm22EP2e(zl zy;4)L&3+zVIxwT|$rvSZ+&2FFbfXsg8lg`M(b0L)>Z1g3o9DF3$@UJqgJw;hb$t2T z<57KZ+hQr%fQ4?s`<~t(vZvx|UH^VGgi^{AnR_kVUcd8j+@pG|=*%1pH=^8o+Zne} z`L@D}=_T_E>0@wPjqbyP{oR(y7tOo7FUzsjP!zYxNLL?wC%&U}(T;hGUPf(ZV|2)j z^Yd=9^+Bs=5^L7QD##8UiQ6ovZ+&R%a#}fm-=KvFLxZ1LnjyX!j${vRAViXa=|B=mDU28pKD_bK&E1j`c`Z`92 zI+ljo`j!TUR>sEqdcYg^fGgRt2u;JU>(#k!RTDd3wXtY$4^ofyL&yT3hZb`CZSb|q z%@GIXrls3%eW!V;`MK9zfCHSslpqp8e5g*J&OZpZj2`V{V=&s25y7CxGBgY{jfsBT zA>iHA-6v^6Y96HKDz6%@ma;%Hg1 zV;DYefnkgw4*Kq(F+q%{&xSRF$zq_z=8GIaLTZQuD=LlyhFmy$-<1m%ovBOMY3Rtk1kya7(*jTjwqV4v6&=M6Dkzh@aq|acW zHVgZUAdW>0gHAxX#WP}Jn86H`{Pigf#J7lvp(nVu$oEm9uvc!*(s8b zcgO^Y2NoO-Jt)+j9s_b}w&&LfLgOrEEaEs7vF>yhBLazYOrk*_m<}s8 zE|Nhw3i?`N$tOg#a$+LToRinbf&T?sGeYQb5gcq>_qZ5_Z5%5IeSIsZ0+tK3nZ*c- z<1i+LGFa~PxLC|(XsNap7$%VG30{nd5Y%?;y`(g>IWuO^gA!aBj9>!U42D-YBf^sr z5{uFbrj7%SIzo+I95Wc*6&~)R$lFRV>cmI@UCzKRY{_H=Gg&jxs}zL-2s<6a9auOj zvFH&#u?#m>L;_m;JktZ*xC4Oe$P;mZ1Cyk1`i%aCymvwr1N9SM`;4#+n;n5P`v%v6 zTUg?o4i_3Ia4;2IE|79HP!D0`f!|h70fHSpTt}i9KEGk(VkyA(hj_ZKA$$AqKll4v zp@V%g>RzUuBb0}4I+XX?RpXo*CS*mAhycC$ca0GK7XA*HCuR_nV?~eU zpj^$y+oO6M;K|^`#jqyQ@q&f!HqX`h6@6!{@aG1WU(sK-%<%#z>fpx`2a@oKIN-8l zbgl73UrD>7*#p32WFnL80IKW2V9j=Bv%~$}nVg`|Ux__Gpr!||-4%2)ede!#vAdj3 z!NlePbYaIc{B7AWGwCtGzXCr|Njlwy0Rq^QIU|(wE9l%uW_-WkwPSGX8T1HFs5K)n zE+oXCSC?`I5_f*lrIW5dh9{!FGdqY5F8|8_r_VzlXz+5)9ncYFyB##Fcon|_?;vNq zsu8~Fg(rCg!{05AW6$KEO6gUbe__2V953s;udMchbf-gqo^)0)JJL3SP3JhU@XZXy zFPsa=3N#w>!h3bmiz{R1FM9gLMfdGoIkGP?I+77X$FU+3DeX;|3+ta1Jt{UXf@g*d zNp_2d;6ZlS(<4Ic8DJ>nRQzzFW5gKi8vwSz#*y|-dV zuw&4ybK@7lTGnAf?mDc~_RWXDN@WDz3_N2YxhUH+;sUJMIQ9fHiI6yEU-TeYHLT)d zIoJSXq$HT8?_2R1SRf+}N@-_L0G*Ndb}{s*P**ly$qQe;j_2v{3SzJro@_P;om#P7 z5SC7IL`MfP%EbNjE6^OZY@ntVdrxQxCf5<%uqBO)m%FfZ1S!S9$0i^kH59K_44e@J zF_78-do>8a);Kq2;3>c$(kCihAjY=^POuP?DGed!?DelLK_}L1$GFHS8&)v#?z_Bz zfFfGFIP@3}vfNn92T__EJkUYud=u_1SPW%775xUc!9*&B9&fwX26o}*R2^(kb`VY#Sa{Neuu-x9z!uOKw~IT#oz4kGcPw@!gFrUKQf(6t4wkWd6bF_9Mno(F z)vJi@h13wF|2)LA43ujFR< zI~(s#&;j4RN+6yMPUvD>VrQU?=^vv&-$VnU0gkM8Gr=A(ra<@=di_KG0H}~)w$r|O zSugeyT;m)E&8_=692}IvO?VJ84sRGa+GXwjh{dcnVgk-b0{Rm_ULZLodduqH-_RQJBAsEQ%D?T zQMvE(+rR;~FoTR~Ohzmk;#7MMEbU<9?;gX5g)FmpkN}YjL+mAj7$dkN3yMWgzn&?E zwH3P{UZHH_IsW$kPP*V@I1$EMBAh^S9aDdF+TdRSow^5X{jlpM!2+?P3T4LxqbYkO zg~8bjMb})2IY|LE3KkgBzc;TYH-f&M(2!yU1op!VFwPG-G3*3l z)kZ0A<|jh#*3C+e;+DJIhV1kYi#ED&^;Y9ZqMuNz70#15IQ!&=PFSU}lBruX;$Zbj zSsq{_`V+GIcPynSLbSCMe3Ud3x0~2({hYxm2DNr)K!0pWG;!aBZ4gl4y3o`&9VQFD zCbTurD@p*2gzsl!qs1aC4c9`D+8O7QzlOC~)K8AD1XK&z1U-hk>`7R~+Jg4FWEhA& ze0m_L9MU^d<%Z3EkAV*t`Ya@qq~Z(RE{sSV8Hm~O%`;lKvx(qth5V6YFyFaQaI~b=IxUPY-v3Ld%jH5;@ zrxUo?cyGqTYFMU{G{FmAP)P1i3h(;_yZ~bzjy3;_2;o@RPPQ2944hRbG!*v%ckMLY z%x6(PK%}FEn?Is*_BsJjC%6ceS_CNje+7F$8=;kZ`vmp^C(uA9Kl{86e4}98*|EOp z@|2}~JPngkjO}{{#8Ma(i%zs{jUYI}caxaGcnykRG2eiyT=7l>HSk~V4^fHDEuAo& zHnu~IA(t$w7GUxCNF6wi8_OE|awrly(9Z<6tmM5vo;zIc_F~Rp(eWmOfzY+2`4Gb? z5bku|c(m#%Xv2-g4RE+bhBM4ybm5b*4`k+D+Pg!n9ai@m7Uiy>Tmlhe-kc!F;vxo- zcN4BOt$lJfNJ(bMrCta52q}M^iv1$jy1-O)rw4`OiU}m)c+=K_B{m9g1JNK(!cwps z*B`lyfK*k^6wo-akwLB#9^QlSK&-lq7;iQ#e?-)`jlu4NytBq{0cBFrdV9vpci^G! zG0aGMOoD=UXj~-TOEQDPQIp?`Qt0|UDMuk9+P+{#99$yM#Ou2?A>Z(11TnC8TQYFL z%N;63DT#qMxE)--r#2R7sk`JD-VRSThY%DMpQ=&=cOol*!Dt`r`V3H(Ck~Iec!iU& zNG6Mp1P6F1f*yD`6WN>*sh|g9KZW{!Q;PsoKmyv47bA%xIw3tl5NFP*%o7j6BfRMG zjNpk(#!R=6kXXFh&As-{x})6>?-a;lm;aEJ*TIxtL7|LDI%+RoJ`+|0FGdi~q`Ro^ zn_tpv&`~UuS^TqB60;RArPOS-dY$1((D-!^gP!Ug;fJ8=#e@YEsz98WIAZ1CRvVGT zXio)s0C2K#{!>naix6iPR{28IfI1E?Fhvl-X=Tcb5N;z;xU#@2HV5Sytjqu`O18P0#SLvF#^hR zudbB%K`4jbRb(Y^JJFW7}W8q6W-> zJk=df|5!9!DN7HwFu2l#*Sp`Gz~x8)@nnS33lXvRZkSgIM5xBj73%A9Ya-Hew?HUY zMj#lb_9S*pL@>q<6)3LdQK9D%8Z2M9*nwWn`?4MO+uX+v9ZwWuwOl|c(Q!;xtQORL zW3_x(^q5FSu$BeRvB_&BzinlO{y&Tcr)0!xc{#cGdth`df3DXfh1Hh>WIDzYS(z5s z17o!uEd0TUNMq@>tv6YpbS&@mf+D?Ofx ztG75$<<=L`p5w||Fij``9~K0Cn_x6XV511QKaa_A)LA%p$!CZG*jRXqXxvpIvnn+p-~J=zvBNWA*wItY+SVuyh!($V7qgSGBV{8n z`AfMFg*0mCL+G`_3X7q4E)O#j7G8#_*x~8mp4v#upspGcj?QMXJkvSy-O8dsh#3F^ zz5+ccwWZ`ZNXA{KIWuRifys%(L<3hoqwm2-ox!&@t71+TiwG z%QyaZHm?2?Ej%48ES+u8{&@@S!B41UjM~wn!CBfHAspKTbA4KXT{sO^5b_=pMSrX= zqTID*pM(h@A^W(?EZ+8^>HyB$k~lRf8}PwX|DHtxCwfu8E?+~A>S_RrP< z|6~_8gNN{Y^2mf6mrnk`-18`8$pKvK;dYh9qkHeo*YKWftGwom4Ns| zw&V3W5~q52zwAb2$T&hIzFZgt>L4MAXHp}|!Z!0TO|53Q%7F}H)~3T$?7{6-9qLsG zE`Rg(h=XDRgrbO^U!A-t*dZM}563?X9N_$^2P&x9KQxNS-l;vxdm0#+Ow&=U-BL*i z8AMUDGalGW1^a_?xhWe?fp7+goFo@61*h|}^703_M>_XQFN0lqQ?yPTr;R-O153Xx zj;t4_rhFz5>ZVq!lCt1qrUpGi$o^YWxw8 zW_SMMuT73ekI4&gncvbcvX6qH#=t8O?0QhF!XnnmD#ZZN(n+{Czml8}^Kub{TYdnf+AAUUsK#J5WP`%&$KA!VHS0}>FGkT7eZ1f z|Jf-i$Uh58LG;=PppoCUtzBgJCs`??5CwjzH*^}30_oosge2AB*xm61I;7zfN`~<2 zgHJe!{Z0%n`|#r%=x~Hqd_c-U%qsl8AMP*}XvRm!kVV{kM3i?rGCrao$n+K-D0Ryc z1k7$bAar)y0YM5n3h+rC5Pg6h-nMO2Cw>L)q5pTmAv#h=KYRh0e}@8dbl(Fm_RpBX z;{OZiTCg4qge3>Bk*xA<{Ungl9y7MsIRfU1-Nt~v%QFj)%R0&z#W ztq?-)O95Vsc*_^C1e4$wKFC@`K6K&(@u}12s;KF zhly=K2+pfS@aN9z*#BI0FfDsW6+s02XV-+73rgXgR8+X(ZG+tO|92|5fSHCv5ug9~ zR!17B0Ur>!;5dulGDuw?<2Dh0L8ovClklf7oFIAK9UM$_H~^nW4{)Mn-%$+Lw+FcX zWFO$0#YK&}qiaX@0oB@la7VD+6nY6~)C;)77@trt;ix&l>!;+<4!;6?eR_$Hnk)Z= zkD4q01V_!4e}bdt%0Iyk>!lp3y@b>6C7eMo;l}n7Zd@Q!Da%Ep5y?yBre!L!rkd5+{0eNJ?aLIkJKqOcg|w|sB2z1 z5DBM3zMjNzBf7CiSGW@xPN^4g$1$98FW`zW+{j+Q9m8;=x`CtQrD6cgH;L}xNL^7e z8Rn5>4{%gW2Dl;Jz>!VJn7Y9Do4T?_7__>*D8!K*(Cj>=iiVz>c4z)?91 zz}a?3mmK??>;pLJnwRcl+)jcJMIkE3QN#OhDvySbvUNSE7U~uHF{%z+UE!%`0(Cqv zP=uoPs6Y=29dOL#p$GV>6Z(2fZxjII<1G(8xTk9DP|AxSCq_;;^Z=GRD4IRV7fRx) z#XzvOQe!p93y{B`(3vFogURfy~41b=u!52-Gv@iTL5|~B<-*N0=)zh*Q+k{s2T1cU8!{5_e75>p;z$82QtIn1F!?V^(2{@c7IQAC5fUtdQcDtdW9rRKZn1kw~s{e zo<}~Ii*fjb1G11g6=cA|j{wM#uN}>e{ zlz+X;DIX8`$5XLiS^&og9o%g?;S~RP3(V5kMfuO zq)#Qz`fusMvs^--(jsQP1f^2w0&UX%8#-TL?Rda@so0e=}x z#+N&pe^0L``@tR_=t+?DUgZ3@^q>X<^cGV7vghyV^`uXr#Y-dcc=fRWzEj@Tw9LVQJ$~Wxve@hQ& z!8w+cFZA5MN3Wra{ouV7KnCcYBkAqD@b~nn`Q9Bp%3lJ>VkrIc-_!FUQFKQS!V1Vo zBkgzb)_+TniZ7IWm+t;zo&N|_^d){P6G5`@o|Em=EyYFpAy~(m&Tz%I~VAF84j@lgeMZqesP;aU{LH zU;bV`ir#Y``M@2AlBm`2wK~cFYwF=h7kRqg_9Wj368ISpJqz464$}jYAY(lVGw>V9 z1bP3bm!9aoAqPF>p$GC+;*+9B$=C8P(4(H`RPoS*b#DME3e0~Db@8c>Ps)!+<7@a}Ce&^e@M(lkQ+z7nQyHHy-VmQA z_*BKGF+SlLqY6IZnW{8CwedLtpRiwoJ)s;v0JMP*;0t^j?xBz34fF-Ff-Ybj@CmX3ufP+?2jk!#`k)PDg>ee_1oh@^9swTig~(UXGtfSb?FaAx1GGU`pku&E;R9Wt!Eh8k;1lkF zN8k-?2{wgmn7d$OxCYyT&4C9>C!i0Y1G2y?=tu#d01q~THn;{`QP*H!7zcQMV!D76 za8vg{59m_&pkL54bx-*lWpii;*+Cza44@CV2ihP%=mF@1%%E@30oVn`f-aTu3GHwX zb^<(9Kj;m{kH9D3qx>0QC*Tug0l9m90OMHhP+V|qf7t#U4Ro}1uthZ7Oan)5e~he9 zUl9>e5#hd~eMI~B>)T&kW{|j;nD~fc!zEuqjlZv#kZ{rdM87ZX<;G)U1#Q$^F}e|)r`L*n?I6*R<88-e)5Y5d}} z_Di4_njnohD3NJ=`~reP!XkY{`(l8j0}&sMpPx^FUrWexvk$S$V~ShmR^>ysWNy_4-Zi+q%zRzBV*|Yx@49 z8RP;vse>z77rDf-Tzmoo`~t!t7maTwKKaE31Qm6J23dFr)1wEE&`lAMuw1kA(D^<} zdY+#o17q%q4pG*BG4eBrMo88>!RG(3BE6LI}67B+PTAy9Xa7p{HqrfCtG@Q6eDmE7{^}J^;x?`62(LsqXJWFT}PBzE_ zgVQ|osw5>HcW~VK?%7D7tM$%#XZ;vR!^G_LcQ59>);hFy!`f72*OHsH+yBFs)MQai zQ6($u>C-|s+YfEXN;(yauV2v?yZND2sT%{EJq{(R(v(`xt~A+nm3iTlTJhtGnYVG6Y3mS!g zhVozAW8IQfP-nt9$!Mt9sJ1LHFmJ!u@o%PKYeu>XJEBBMxv%vOr%#8{?mqaG>z!)U zZ#y$yD+k%RrhW7}rj?^8ZEGiin$=C;*V}$;%oILbWguzl5VW8)1B=C{u0Cz~TieSG znIidFsYuTM=9~X zM+t2jJLOf;{MRq-+R=1#AC<#R`yC5>U6hUNgYLYHzC21e+o53k!>6q|qbBd$d?r{a zUB0wfdQRa6gSfF1hY6j!>vDGR-itL?O4+!oA%0qUwhst>m8Lt zywc8mmM}A))fRGmXv>vi|D{Hj(`+jS#=g3|?)#3mqtR|nE8Y8NrKTQ=d-?ofo`Xxn|8vTw>YG{aS+{-V@v1J;kUZb!39 zXs_kN#$SBzl9enc)aD}R+mw^`0VCTgd|FX@tVDBoL#EKj31#dFWtFP57t3Xa`;VD( z-|OSVRU31shCR3*9#*_--mV6ZCp*GWmXcg!*(~;jjWY)oyt*VNdve9@r1V4Y%s-6Y ze}DWi=FWx1jG+&7RzEYNC6>)@O>%tu{KVpKl50oFtjf5oF#d@DeMTu`=$d|`k5%wj z>?)n>#unF@^-88+)UE~7t{llabAWYk%+lg1rY4QgE7(63PLBV!kFhNCc*}uTC#1}t zy3cxZAg^?-dBU*+yA5-8-;G-_y6A>jfU$gzr>OM0Nd_woU6j0zAKtibaDd^2Pw$e% zeTIH0M_5W};nOCmh&j$!V(Z1|$rH-6V*>1Xr7HfsU^c^4}Ovzc|lNAXqMEqwzxa2$LBMH z@^e4RHL&FxP+G-SSEZy8z`C?s+Q)ekTg8s5N{`jYGo`BfDd>U^W}L%u?Qo}x za(S1Ew4b@_oRsTrKJP}0{+Pw+XDV_)<ErG*m;^6k&*8{T#Sr6{!qx&&g@3AjoFaeW$YIz z>N>HJs*#r>e@t0$#cl4SZ3mTWI0yXBu8DIK_UE%}p5Km|?%r-4ef?@xuC8fb>B_v) zU0KP)^Fq((JT+w=sMu;g=%ZZWikbZegqh4un$@aGGc?N4ywb2+HB$(A*EHm@{r%)& z865faOd-BbO-0+WmH6;780Lr9;Y=aCiqb|TKD)AEty!^?xu8z7*W0wxb-dtH9R<;4Ep<$)svPq>|B%}kthJhM;1r~DgYRe_^NPq{Dc zTl%3OOX-&QP>Z_9hlSh5rCrG>DjyNbQt97vFn0SK(V0s$gNrAJtPYA6H4|&cAFK|Z zCHI2Oc@(*;E;C!L{;q8O?VM$q>t9AMwpF(~ZcuwRAX4SZP_=$JLp}{tY7jiKqfEZ^ zguKL~o6LRJLR@lv#8wwuRPQJoKJb>KYSyNH^9n0t8*@u&ZfOTzIOkn$%ICw)$>MEq z^Y=``IYcHOXba99x0CAX>nGG^3c`A1)bebR?hciwx$ZPq*W9i6OqRF7Yij={m)T;A zSO*Fk_C_;@JMR-2U9$W7`F1p6{hNX&m-yxZC&#=C_*!l`W|rr;>J^Dh?QzBW#Z!;o z&(>RcN$Zo`roBT&l#A9($yO7VyzaL5RP(l>Lu{%Blnc5E$a~apFE6c&U7o007gD=M zPyXESfoZ1qUu|jD;lHtaz{kzzHD9Ma-SAezNhVCv{JH4Y#Np5N&%F`YQBj;>VySam zMCz`z`S3fH@B5CqH=&&IPR#6<=!@|l2^!arIy@=1-PNy=A0_EbU-NQE(2K`;=Dt^U zej1=lyWXldeOyA+1Ec;*Xq=!d%Box`S(}v_U}_>?Fk!QNRbC0rC8_xP{oMzeLTTw9 zHfStfio=xgWGA#HqPiO=E7C(tlSe?_VW^d(zjjwjDb|(U>C;T3q5?D~BT1BDpB;6* z-s#|McLDF3dbfvX(kqCprcT}TYQ@T{70GhXI1enc)6Cqw`)2G~G5c#fdayqZlAMzt zMGoAEesuSX#3osz#herGWpiQ#>{hSPjja<4+jynuEaTI==i2>s#M7=GsO=yAIPu2I zd5Y6NZm7H_zuscalHIjt1$}(&R2Vv|qQ)70Jz#l{W&LUQ$LRse0Wkwa_UBnwI4cBd zKdO0k$ox)=m;X5PGil>D$;+>wb+NU2`Uz%%-_*y~WooXTcC6lSJNmj~&9+ss&i1LP z>jE0G1DoA-l-|1KU$2ZZ@i^67B9Q(7rDDO4ESl15%f=qk~(k@c`^~)-AbIraWj%t6JHEmO?5C8h!ZF{I(Zc z+qQ@|i&h5-9Oqvfe&~MCsgh%tN9@-6x@N`uZ>?(D;~rK8CKs>XBjlhWbwK68QLXnb ze&LI*Ilnhg6#j9ydfI@~du~+-&)uZ5$lYY{voHH~7k(I`SkPbHUo%kTn!%1~XBX@H zYI4eq`m9r8U%O`fzAdpfz))Cl$>|u4i$!C9q$$-;Yde%>xIjMsjtT~E}ux@+UVc1an5l= zm4>f!M5Tfo4P=RYKOyL88qUh{Gld2pNpZmWoHCw-hRL$0THFV;_1E2&;ey5mG-U@g z>es3AhhI1uQx&#%^opzOug{xU7n|E8AJiYa^!TFgiu6F~+N9>{#(iv|Xqi(3{13dC zmVQ9SaP3WPL2)NT+gTDt;;)*2?k~y`x~8N0L@Y3&&39kMo65Yi#o_gDKlldRcy(x7 zb>&_!D`gSW`g=dsMjTD2yCGV`0h9d~&mSq$S$AbtJ2G22O4#e=xHP4UMR)6mxwX{4 zYCBrPNZlsdkS62uDm40v^kxRXTqa-Ag;S5(KIbY+-#v=|8>R}4@Beelv;|L>w!O`B z=bwA%qXm(k;%!l~bY}`HRV1_#r@3V<B%8%{~9oZj)&(?QmjU5Kr_`GL(pQYC$-Y;1BbKd%m)yw*wY}$BE z+;)$dS1VId<}#V)ZMr@>_mgi`zHx)(&5v@8<+Idn7Jts!B)P23ye7K1bRECb%OMj@ zP3H`H^W|}y!MU?f4Qii`E1FX;o$&tUj43gfugTK*i(X8R_dawjSAgSn>d1RLoM6)K zHR#s`j5F3h6VQ|?eBU2$0k-2SZhrZ3Obd~94aO-(wy1Ya>5m0ZahSmwYeNEYg}06# zIC;?^b_4vOczMGM9u8cGS}Ws_#MPFmTSk4Zq^M`$EGNVT0N;67yxftR@>q+Mxlj>|Y)pKj%f>kk4U5QiBI7 zIxLAgaV=t=irFG%;S3K)rdmq>_%`YC!j{O9O6woow#wKy_D<|ny!6)3PFl8a)X5e- z`~9m-MXt;{Dpd68Tjdx2*sSBLA_mv&C|0~1^i!pwdD2F^(U;DzNnP_~c)k7s**Zg! zy$X}dW@qHCmKs`_Sg|!K;Pia^k@6R+hskA^%_;Y*`mD7q=d(=7snz?OL=?>E;VJ^#FIG5hK zVCbX$9xJ2|OU0&LI9dErCUmIZ)SF`#{VY?bKXe#BX`NA(fm|q`XZ`lVtyc?dY!J>~ zvV&%O7rG0~kuKea{kPsV|1k~~^FG(xHa6zxX9}-5UK8tZu-PlSrLY+-r#IxOR>nN> zdV8QLX*ilzPeS$S(@)#ve!NjmpQc4l=HfWp#F^1=MFjrcYD`tWu@f2%Gw@q zo$FQIQihs;%L4ikTWF(}E4v7GB5`~kWY@%OxQ1scUIo{EfJG22JKO_-l7eYHR;M|QSn_4wf^;I@`WMS8=oOre+QH8LKyx;m*y+s=% z8fW&+T;NQ<6YF?-j_1LT+e2xp6P|d+>7R8~Mf@_QakZ*L7>nG(JreX+2a{5guK*6h1Gu)cm(Z|Q0izn7j`Mjb;z>L1|z-^g?k4K}_o&^`R zqwPBF=$V0L>1>&HbWY9C>5)Y{N=`*H9z`D6F=~7}DzZ%#=+UI4TG zbIuqqmcMMHcwBa;*$QjVzU$i2_(`9oG6h>ko*BDX{=AL*=`GUI%Q-&YU-jmn;?(cB zQ#j#X{cy2M6Wx}UYZh*Ht6D4nRB1G4M2cih#ese73HN2P!gZgSh&S0a?0;JNBV?Jf z?Tv#1!@ry!?eVqz{hPXr0zvuvi!T<998)12=r>}L%JFwe>H{~Q*kdPgM0r)}rTt@v zwIkDT<42F>e+0=t*O~Yx{Rk3@GVO2Eaz}oo6ngdH>baOwX|kVDy!A}>%o);Nv+44NpJ3* z{kYS0%HDMqWoh3fk=54wO({RmHaBc#jr%D7X>glC=v3FFS5MkFXM(S``5t%~%C~_b z>*v-|(~ef^KQU=XH|^wF#J-nTFb}ouH@mZQO)hr6s2vxQ)s9xvZeLuLbUf+G7S@B) z)z}{;^-e8l^Tm7Sxn)VAapSMD%%1Cu4Edtb^Yap-3BP+bLuJlBL_ANsTE{gk(q7p~6EdU0B(ep2CgSd;8|@j?=q*xXZYuglzCh<};Z-}U2EPsVM@4EFL&XP*3FP^unIzYb zv1_B54;)ffoNQO(HTUM(>g7Ltc51wAeQni_XgMw3)gL2qa0ngdHnyd9($7{^@hi{1 zRN6ErHSeiCt@KgsC+Gg6pNZe`6fO}oNQu2%wqsQo2UlfI2-oHP3}e6V8(r3pstc1s zA15U>WD5FhlyP3t#+P&@$7h{Py4j*hCM%16e&hd?E8P;*j=!l*RXplI)1mL8%Qong zPi@unaj6l`sZ6_)t!G=MHR)?+@P`1|psk;7Pg?718!h|ng}G`%%j`Bz<0HKHNyTZ< zeG%aTO+g={WX@&V2YD4KLu>DzW*B^(T|V;++spj+?TZ!bVwzLmZ29JOKhBz^nO0S0 zE~{D7D6wc=>z3DgbF1VfvZU`<#Q)6a&mJe%q;9y(t!cDm(QQk=RJ5_BT=%?60h(kuNp_cfjzhq0*_%qoUdtq^-#AxwJ9u)jO`@L6`Wa&i z?uh7@Y`%Z0ZjJ2K6|vr&Oii5HMsAK*udc5+)R;KU$L3(-0ac|53(i*GX4ZaHSQhAZ zGJBo*%H_UWj0ftBJak=UeCch`>mzRTWz13#JEiVTFPy281I1-@o!KXw%5yFZZ4m3=IZAicTzIaGKBZsd;Pe% zAX+|rbK48{oo%_VPF}nCIdj1MxI=BPq>h=cexNqo<*Dsnk9}vKg`wKP zkF}L6oLDha;zfc~L#Du#q_8ys-}2j@F38n!F`3_7BDh9GmKmS9$F?;wY}6TlKXmWw zKu+%Fb8k~`hQDge-_n>E%5OX8K$W4Ga!~4)r{&{U@87xDM0{%1(_M5ON$D@oCGY5t z&RNww^uFIKv1<}Fa+%Fu)<;r48{Bgnq^dM93vGJ)(Qivge&o-rtFNN^2h2*jRTSl% zuN)}4X4UC>*V3o93lkP_W(l9MZTy@`sncZa2QnH@bf4ijxa7=l3~(^~L1e$-8QGrVL*ZJ#BizJ=y2^ zf=iss9KuZ1`rV!~GwGCzo9rgpy$%|u_i&27Wroa+&y3&Ohy8xiM6s~V^lzD>%Y=`* z9&GVhpSsJpR-Es$=e~L6+K#i_Rfi3~>V`z8ma;O<9dZXUA738z*<8l%+paU|{XN~R zT!!S8ru*%16dE74@|phG$|X-XX^7=$J#5XVJ*%8iv9ZN|d&51(d&e<&U;~Cmyzapz(5(?!^(ZD>CO6JW13^t$Pvkt?pcK_4e}R zFGpL&1{MvhnL6dfTAfv{!b(3|+(nMGZaP*Ow&z&u%8bX+=f7RgA0i)Clrz1*ox{@s zF(-0F)cOw`@zZF=ZhCC6w9K`7Bnk|u4CRe_B+c5#!mT&HHk^<&CA+wZ6DkFmCA3Ew*#UCzWO#&MLXO_Q;g&0x<)HVpF!8IeS?$ zMo&@Ibnl}mu3h^%%4W)uwNsqdg-1O;exoQv?r4~*wWscYtEtO}OBfso!!yfIhHBzim{nMY=kN=vi?$-Z_1LyEfmCpl(U*P<9mw=xH z-<`G(_mdYbzmnZjfa|5VL*JcOI=(L>)U;^nzAc90KR%zLw>GDi7kzaWnK3r~%T=k& zp!uosXqbLsVLxY&Ex6*nPPR5HdC;nHrKNZy;Bjojx*Rl04PASiR$#L3tRK>GNcGb* zUwBy}WNq@0ROfqJP@KdQ_^Zj>oUM<3mezPDWXJI<-;RC#;ah)J&E!3fE6mlZrpSiJ z#zmKgD>*)3WgV}a7gJ~FDQ1kHlM2L7WOAfVKh7Q|^pe(+S6VPt{q(8SD$&*9%a1<@ z-spRD?cF&_d-fb`DcFAXnZYCHXD8@&IxZq#WepQPE?Yd=W5h(oHFl=qXG?e4SNoO- zx*JQLn_4NWbSc(qo1NNMr3qJy8uk}Cr+>zk@a+?pUeB3wci3oUFTP#TtHi#0Kb1Xs z;^cg{LLG+ro?U4ccTMX(+n$6C4_-ZFbg@iYfej;4cIBS)1Ak09W3t7{W{+BNewF#v zkhSaLhT-P{>qe|7;VbpnqGv8R5|^25B+^A#Og)#|qw0jr^f%|ScHKs1anidt6R*Sa zn>?UKpPE(l0Q34aF4ix<>Sd^_kTrih zvec&;EhwzNX5=#SP|zI@k(%f-xo2%B>)y=cD-V}%w0i3rU!~X}<2B^nxzF+2*!p)1 zub3ro<9__BiC9`^i#IyzD2ek6O$4w}j?Mpt_4?UMBC{+L3c~ z^Oh(3XLy}nYZ}A}(2YQhBol!+!w*VDPc9*0FULHk38yLqPpz#pa^IDwlXuH|fbfsE zQyQjf(8Je%o_0L-L**y=GvjmRomVGi#Q7{s67buerI^lICHKfQbl9?pc4V^VJ8jy9 zZJEjeYf4YNoWRWuw721Xp(gON@6(6pHxi zIoKc#2~kzPql)^4l}Jr>SEgvwfe}-5mKV_1mKG@=8D9HPNJ>GxHeBw@<()B~S6qEx znUcQQaoa$P+=_j%IkzTEMvlVL#TDUd6BQbTg_6Y$KS*D_`Al-BjCIhvjS6qR`)w6x|hXP4F*ecH}B#*4Mj zURL2d)Hu#Fa_8m*)k{Vt?Wp;zU%2a+u&^}6s68TPUhSx&ptgMOy7m3ntPr;_b!@iT z@#wvk@r2-Q$L0*UP{@>w&zGB@VPP@#+lI*oqj#mhx|C;dFYqAiZ1hWKRRy;}hsM@f zDE$arIEo|sOkl9lyz@UVuLd#~?0u5u&5E?{=qY|a(63+uiV z6-1T@k1BBxDwMn;wn3~eJbM4cM}Y(S+*OhEd;M(QDJiiZfv4I=6^=ZzDo*jtCu8B# zO()mcs5=*D2iQ2IUJ4(#b>frF#%;=bCsuAU(>Pa|bUM{aKV05xxk<(Lr+cb@B&`h3 z9=-pS!h$Cgr|;Bv*gJXH6jnJadd+pIHoGsGwkM|TDNHxG;dD?nB5BsD+*Dd$8+6ZH z&}6HlDh-#Ng*5oqZomN(-<`YXV8b`sBh^n;YE#Z-shmuKtW-bbh#zLVjCxUTJ|I6Y zg{7qWETthYVL@q{cC)+C$jjR{)U4Ir@l4Aj$Uc<$W@I(JN4cvFMhN(Ds$DNpY^W8tUoW4bX@#yj*nS?-{mcH)|rjlwyjCn zG(6bYH>+@#=74vC5%JI61x?K^4+&5B#+<6}cK(`@Kx_DZ zleu2!4*NM2uUh!V;9S`B;kx{<>^)j$yq0ebJCgGxywVp*eNd83QBT^SDqiLwed%$q zXI{zuF#R%3Ez8zid5z@ftUG2hqH9wY;kh=jurQhXZVH-{OAeljeRgH*(+nMjO z&n`=FLRO0J+!&>_^cBtC>ob(y#A~AK9XD!bxW1?j9k$a(cdVzy`C$!tCHy1PZmn3= zx+g_!@YnSt3U?2)65GUQS}X21`b^5zm+B=7s|JK?9F%(hc6-D3ywEh6G)JM((lVhs zohNO4J7liC5lzUnPS3(`XY*523zdSmQQ%Vq-dJ)09!Zm@1%7LZc2=q?JUv5K>vS%FD%SAqh{9Eod(L=*eI?kzG|szhq14C%@cxU23iPhyl^J`Nmjiuh&~4Ugmvt ztH2qrFUDp$p?p%oG7HT6nj7QyCCJ(+80QG3EVmg6HE(#Yswh4?z9St;!QCHz9p1qY zar^)9b4A1dJQn|6(dkJ1MfK#D0|DKhC=J8?)UPtxu<)0UGc-F{#P5kk1Mo?F{kjYO z{WohmhmPpDd~a!i4+r~+A(J9wJbbhwjcje5qM1xxj*)>8ba7_-xlGaub();uIWt}- z&O$HPT4%P0G48Rlv$NEh5o$9wJjT_?+cr98(yY;JS8EF!3kw@ZM&#H~JMTd4@Mx!* zUZM8kzJ9J_aR)v;@M-M>SMi>@wj4jNu|9OWhy*`d%ZMPBYkVMctW}`>#E2k!$EZM- z=WJ(fM-N{ePd44xG2F*)VnUGa*fzY9KwbXXj=0pWX2G6G3O$-fUd9uCjCbA|^ay789j0Jqo^hpM+ zAl=Xij6<7lGb_SR*EWpd!-I1Mi11H`sVM^0|Dty8??1uY>M3*m_VYEGzqNG!j?*AK zu*0xc_}5&C9~j4t#JBQy_H=yxKk@ErZQ?uNJ9_c&%Lc_Tqlg~`f}!xG0-c@ASojKi z;@2vn6C~*9gjVjaPeK>?R7V%_L#92s=r7R3k317C?%tE#ZSYUv#6;qskA#mn5E`Y%-OTu@L<+r!vHwzR0wD6na;i{gz=eE-DVCqVWys|_1 zDFI^OUw>fZcY{Zwcoc%7@sAKdYaISg|3Lg2h(d8|EFRI19OZ%UqA(n^#$nhH#QDcw ziZUOG<8OHpBJoT_K_qv-w@@_s|7DtPSSKt@m4-hU!KKmJLeZpb(JAKu64n`Oj6;l% zL*6JDF)=0<#z?~-Kj4nG$9fIK`eh;;0yY|3CJ@a=6qNvEi)P|cV53ghPWyDf{@mo@GPYmApgcnVk=v=N2%9DxFm3*i@W_}6a2a8D$r-8s8|9YxXZ z?C+#b(fOZ60m?eogjaH~?J2*c;b=v14j%h!AH|6%2_sIv;*Sk&)t`GP38^^QvxFl^2@Ubb*T&+HLK$HnFu*h30N)wl zk3iYrj|^Gkk40JIe|pH0I8E?Jkj5fAd=A7a)u6o1{%Pb#{@{Dc@3h2wuGT?!Ws zCrjMxzm<~mx=txUuMiP=Gn4LnDQ+Z4UV4^Hi-b}`UigD|y4Zp`JpVLsH0rL^s@qn} zZd!R)A}Y%D%#kh0ktP1{U=R^k!?1rTV$WjYJIED+u>~L-Q^a3!3)W!bt3Z5my)X{< zfUY1W2N8auf%`ynK?F2pd!e|+2agNGtqgqaLEz(HC^mtIoACfGNOa z9uIYD-J)XMpT^Me2X}k6FvSDRSFX(%Sktk17IUoERVhm$=izk=qc@9aynUFq95%H^Tpn z@v9}iH{p?Ec(3SEw(racc;k;2PhK2A&`RK;Al-!md=!@ZPlkN`TQ8>k415JF1vxt9 zH=V09Z?7UxKgA8T3+UMb|9g*-`w zAn&C3q#*_Jn%ZCD&*^sI-JRfu%abC`*g}Zt8%p>G|FOa#3^pZ+W6J1a1VkCS?vK)}7gyn}6!3_)#J`r~IvZf1t8**oVP> zs8h!j9_4>Y*OXoyaXhxfJ`Zam$n&RmivGxdi9V$_pzlT48&-a(27n)T>h(|k6hEU# zetOm`wK9jG1dKhH90NF1$m`#|pIU`2@ffIeD5A+2R`rkYR7FCE$hBzrt0A~N_Kq`< z9sHb6r@g?HzQ#NHAzV%W`6|8&T!o;6Ha)&N^m58Kif|AlN6?%~>yu%9jd ztB-9D*{n6TEYx8vaf>1TYmD1$I;hexB$tDp>Hg2<;jMH0U$H7xH|gH0ws_Toni};_ zzgL>2EDHM#JHnFOD+6pVU2G{s{LhxOG3+(Kh9aQmsi^cy`uX+lf|%C zIH`K24UYPhw|CWwQLivjwS-^yc(7{0&Y#M@sr@XaaT?YM_qu0qrgUzCV;oc@jfvS| zM9dP{*;!(pLQN8M54%EL!ZJ{wzb<#BHm8?|c=2n0pD}nv24wej}1-AkOtx$`Fbpmvvf&H+%y3jvWfT(@UpVxIC zY{6KZb#NsK7S*Mm$D)(9qkLc-kx1mjFis~0f8*U~8NX!skAxYs>F zc3rj1dxedfZ%|*+C8CxQ_BWVs5c3SN??bB{Zh=S#H5bS}VD6dV9$3TRDFW|&v*;CF z%5y*pSA0SZqf-->y~0894zmLyG4KpL!BY*05(b!G$f0!c6+{Ys%(E4S)WLskh{yuZ zH>gz>s9TYAf1f2(9p4LkK`6F6_&K#l@7Z3|$Qd}2L}4rO&Jb#~|D7H+XYBBpSX^xd z>%t0VOLEvVOzGUCK=-sRyPBDWry`=joTqRg}7vcwP=g` z0a6d&f#*OkJW=Yjsy%uAyR?F2j~|wE7QS})BP69w*zLy=br%}0xo~OpP9BJ+z#;HI z7V~I8cs6$}0k47e8|1LT?NB?^BP4-rT@OpHL(&3@PQ9Y5LPGIoCQuimsx>nR3oBxd zpe7Er*REA@YJR|b0id4LsZr-%aUe!QK}`nmLzNyXzLr>jaRl{FjQ?MIR{|JCm9!@U ziqTaN1QCz{K~Rtz0tk{jKuE$3a>)<|5)26>6Hb8$$|0bjfLt!hDRQa^qKF`__b#IA zqN0L|?t1LXx_JE_{Pp#FHT}A$yQe4QU|kE(p4{ zU(|v4gH=p>q9mSp7^CsHBjv*Th0bAr1M@i|xbTm8mPGIAuKMK>hVL1oomKn2T(!^g&Qc9}d%LQs(#t!%J|r+;e63?=SIbg%QFTF$zCRKg zTkj`ZV2#&_-z7Mo5$?+_V8qS48 zc?QX{&OBnvE%X$TWmVr1-@-rVHhA~KEYG^t!Ja1g1dqiiL4#fOz-!KKR2%jRvlKk# z@npTR5`d*byprWI$}_}OyBwu3t}PH>h9AbeilSG&?V+yPW~oOc1>O!;;X>*Y=o_>E zYX_{-5pRJWz+ZsP!i<0!4?aUXg{EPy`sMu~-DBnT0`}~6USUiSgAnp!wDZGV^%T0E z2;EV}dIJ6t{}by8K;h5n&~WRCTO~%Jn#i+_Dihd4)+vo5+wDejUEE!Hn>hb>u z^a@`tnIy3WMw#;7*+yI|ONE|&!`?9T4SQOwaoq_cKm7yk$rNqJNkQxo!v|w7MA3I~ z@7y!*5P?4IHp5c%)_O$iYJ0HX_~+anuZPt3aI#079M!So^@Ve5ytk^hrthtCYhzqt z#+0g>ph_#Z7Nw1AcuK8s)6a`>YuT=FW4%>p@v#xrOpv9~?`;v)C|c3nT=GJ-r-b!VU-aS|&ucrd^yQ{%GOt>=?_jIs4vxS=a7-1aFXKFTxGmTHch z^&_k~Qe0$Px{}NRPcWa|VOx^DeSJLmyr?c=vutZKkM!F8iL-d(rw`d9c!pC+a-ux5 zWeZ&1ny0+x&ZJrx8|F$B{eZH#cdqYly^*ZwR4BH3pLfYVLnY9fXJYjSDTXDPV_Ta? z64E(Ni&;c@=DMO!=Z|=bMaOlXZEw8N*KHKe*}$IHr#Ms=$%nA}QJ(p>Z7|o9G%cA- zHKARZG{WLEuo&?u&)v2yu#XQrHRB2^S-)BoRbq0IXSWZTSX>k;Q@j@lpM=VOQ-?BXJt!8VjzUg4@` z_JgqZ1sR3ki2cTP!Rk6SgdLLX>^bwk*$aDasu8M_D?Y zH1U|TRfCN*M(*@@4zK39Y;((#t}GdAB?iti$2Qg|bKC>B73F!zRckC~I5CFkGkU+?!}SN-y8*-p;P{xP1o;1v-1S|@u6 zl{A(aog?dAVZ`+UG@gj#=oD>mRi9UreMzPu;qbRos3ox{kG&C*lcmWqx4zL;+dNA2 zQftz1?45Pe^jw@k5WD3V6U1DwkAO3sSWUtf;E7D^sA1K_y+(O9$@@_LHI+H$SuB$E z3!bx_ZAcCqV^>3zhOTAowV$r|NRsV%l8c|Wg>$(M-oJZf7T4wQqPc5zAr zXB)6ji*+|*cUY&x3NW{$JUd+Vd$}y7pIoU==fmrh?y=VBE$(#HBJYJ6ZKHV4LoR6| z)~4b_dM|AiD7<|5{CZEjT=m2}L&QPM!FWCldw)11gcH{|=Y%tcVy7>GxRoIF5_^Ey z^E1XhA9K~OzFxw93C<|s`5-})dau*-xT|)V9@u=GrszQU;kj+ZU9eAy)5GnE0-R{U zi41rmi1u0w+?^!PO=pt*9@FdZj_!s5b?WzuRM6dItEBbi8=|x(O6_a?@ z0yavIC%`fzCa#|l(5czusu!LEjPjRABZO!UW(2FY_quAEM+i}NM7wYj4RZnJ0K~^| zhtsOiR>T)^vQ9)E#VJTUVB{o2jj-3-t~6x$2E0j2I_%lsKv=#>o1a z&!=7W&`Xw5pSXj!E}j@xpBKgxcjkA=1mtsgcnZ&|j=&Rk1yN~4n8Xu#?#mmW&3i^- z8>&T@%A5@91uH0(TT!0iSy8yVQ`vB?7e_@DWplzFT^Lr znIFtkI1dFbc2aouqN{$HXIAH%)V)BKfGE#PvfWTksUdSz{@|RdS@%TD6598&D;#;= zSKAG36)RFzqhE2=Hq$SxGVG*STd95u_E~lMUvsUA7P;8^@v(k=Mrx{n=Hk%p>@l zIJ1CN4lIH=Yk>27SZ|Ay>F|f41vtBklkBh}LPuIFJo<~PemTYyPpcH1g_=se;C!2S zhn-Hv5m&7-6~LtN%fSFP&Qi#=kjSrdsej2HL;X+|`KpQMEM3`vKq z!;gSAzOq$@E<*LB(HPVb44f=SjlzP>6UjRcDp1dm8e{kQe+zq$bMqt}8s* zUl-Di$TK3~StQk?mA>C|)fUr?xfioBbQOC5BKm;mBjC>>k}J+wVLk@F&}DJz9-5w{ z^m|<1htkZph-KQ0`TMRg=EzL=wT1n>_JOOOm^bh^+7h+GXM-h%Rff%jT@z25iAVM zp&#PeL#zM+!Bf4M>0skvJMe*5quPQ`BI*}$Q#@0QGhSjw0S-9lg=fCtIYG`apF$r+ zBn|TqFa%Vm_msTXcca+HkL=wayk;^#Hyxn%o$?ryPebsyOhVN7yZWZXC{H6EF5LRxUA4~Z z4P)HHJQmnl0SBhaHqpmFT(z&uJG^x0VkeR|yz>FxjhM&b=RtSj!Nc2umc!RUv|l{U zs@l5GUG>YdIDn!?h;c+s=Ug7gY4nssOZs%8Cy0j8?n498 zMez+et+o3Gq^%9KyteXtJNdo6_I(JQZPd%g$h;0(UIVfSqHZhM4|+f!qA%_NGZMqN z7gz;`iJnlG+lSQ!rhsuD$OELc))#t!Rb%R=Q=clP*v%E~b4!SmagTy4XaV?y#}+n~ z%SDPU$_s3D3V@SJP$Jsn2#C8G_(!!0=vF~E<~%iTx4{?KjfNBS84P*EQF)* zAVkkjGKkobD1|v%P-~?zB`bsQmPN0a*F~?t%b>1Dza1H5ZFQDG*37b%LDv1>x(tTe zhIT<4=QJ+xp3B}gV8#8vVH>Q*g=Y&M7kHCA2JAP$2W6O(&Bn@y%ZYi{+RMQnohYaK z2wW2@J7J#@!4jo(&qwtU5d9SS;d}({Ez%jh^m{;T-VF^{zl(D1HBEvKg_SPX4d)|- zjy$5@qPEk>V|6P^Ia|t-9eEwM-$%YQMxHg?dF0DO=Mjez^7i}4pX(=rh+1XKBp6hT6B%=+(-;vBh+f@|d7sQnvPuar<4$OIFGe-)2cIJ1Ix>tt@&C zm2%cgmT{IVJwkn`Y5|?utWt{2|Yj6%^Ew$3yJccOetfg*eVYJBlEI7i_ z0$lWn56ZDVTWjyR=n-1ibw4uwMP1YYzPjB26cQnzPPP>#LAfXyuJ2)%V}~(A{cvN) zcDSs^&T6MpmA`WtyGT5cP^mB9krR>}e&qB$+>#kNcTraK<*ak+?8vr6g|Xb@yp>xC zH;$3oTIuv)C3~P;w+Bpx)x3|Ax(tQWUL$R&tJ?^suCy#iXy5vnlzrc9u~dsG_P&f3 z6IP#RCfy$el)c4BJ#Ewly`mqTa^c^F_O8o8q@yb^Gxnp7xRYFkS~d2}M0>*9Xk{@Q zh;t3bUO}@y+T5=_Z}riMoMxV5^pUlq*=m)6Ihe;f@=+BhBtq#1wF0WrUHnm1&tK@$ zqn@qce(Y#Gm%epdqxP*^k<#p2mmsxoT~@eneH8UmE5(l!+xb`LuCG?U6n=@o=u5%7 zW2qEgvWP3V-H}Fp@C!01e8Q58OQ@Q~W1_-%L{#mMRHOC1R$Ze(lP<;F3+#ywjl7>w z*)DlnbWJHKepyM8?q9J-4vw*=7^R5i4c-9OuaFXORLBeXDPUsuD-9`vRO+)SV`0U6 z-2>7!8?{kK*w}ERZpAHqCz-jWOP9(keFxB)S0%sp)G>6w_5@#aiDn(qIjDLw>JD5u z4x0Tq)w1%~p>LKpJ#J-Xm(|%U@}60CRm-67o0VSA&?c5RrrGV@VI&k=Nvpn(#L{XN zv&Nd9wZd6ie~(%_oyElyUgnW5o2WHLknJ#!G+;c#sg?=v7GR6b@@QqnOWrc+yJFUs z30N}5x|Ukm_L8;^ErUEM+kUNVLut@!WgGN)f+fa!CewEnooz$O%ZrYowY=zFiau)P zJCms^VV*@xT2}G=o7u`h*L7%V^=u`rWi^xO^A<}h_DI*Ly@r)o_LJ^~Y zKg%mew|lTCFT7rTUsOLCjaJy+T1&AS9b$Z~Y(VkXD{5=bJuvN&M>N!V&Z!S8ZBV^J z@XG1w7b{Dq$1YUaz`a<3U`5O$#9HEP%V0(Hb#(D%L+lP3pT;Wv(J1{MtSqnED_bDz z6@$bz!fAZ;@n*ZPOP@8@(Kg#6XPGT&Z8;Y$ zRiiB7Z8Gfaf7fXZaau$_%^)n6-Dw69*>cWRPg4kv*_9W$YIz}XcI8E`T3*PWU3rmv zew^08ZaUATtgEngp`IH`>QMF}tX8I|kMTO!_@b`CEran7-J1SZJ-1MM3eGb>)iGkL zrCU^#(g>~wD^`Iar<~iCbzJPM>=4iL^1${q5*Kh7YKcl7M zXFYH0^Sbk_UHtv3((mD1q%0B-z!>KTZ^3)9%fgo2ZKUAbR)gr9?H1cIJGpbW7A$$W zWBh)XJ1dX(T;xv7ROKUg*!veU?<{v>-W0wI>xPw=<5up_FWNzi&K6I{&|31!$68pQ znJ6o3p>samsJZid+>V;tSxU#xddy0H4k`T}%17?3XDM)*{TAmv;d7m*L>vfO8&2|g zE_L>}OJ4GHuj%(VCi@EdNr-csr`QM3eao`5cuWh+o!xpI8p5k=rv5y+3|_L{>9V2PV2-Vq{7wo^?z1NmUN$&l;B1vjLpFFO{_V>~Xsiaa6VC_w80j;p z8mm$F9GvyH^kOxb<=8KFmS=q}P?G2MBH~h)T1x!Je3B8||^! zOm?ond3;Wxe|&y+ZopWyaf=k+IDd+v*c5(IQ<5D|vmbH^73TJ*~+ z%*-ORy5FkZ1sfxb%pgLh!S&aBstJ7Z@(G!ABDG+=hD-$@b3MIhn6NEK^aXqwxj9oj z7t+^cUrvGFQKl_4JSNWlm`x0ts@tvF9rER5-4We|%1MCPuece%^S0 zejuB;30zvzn`Awn(#GOy>ce)xJ&h@ssdE-JPc#+1j6QLhfxP@Qf4~R6dwfyUd>p0j z-3E*vI4-|;{}$t7l9N*>WM{Vy#I%b+R$$WLw1F+MQg4~kXVS!0g>h|0CAON{y94DU zq@={R8k3dO@wWW*n10C<@&`_CnwOp!mlPM5)WbinV^&JPku7hVkUFVvR=3**4NmV! z8I*d{C$T^7CiZEa92nfUV}D;t&XmE)@j02f=@Un0cT5=BZ9q{;kue_y)zd?AbCfe&o1OQ++7|vNCh~D#kbBF(^mcLa1!%9QZ(zIJ z%+^^s)J98R(&U`Mt&_+4`zvjZ0SVz!moAzX7}zd^ww*F~A%f^2n%Xc1?L@yRpTHdI_96xM?rg%0Y zudz}T?c>kUEJQC~AdBjI{^u;iFrs;y=l$=`{`u_LAHV;p9%(YY-CCwSe8X4RO{Ay9 zMf+P3e=nj>Na@2`zD4PG&z?Pdoy=S;uefMU!79Edfg%0GQO0SRSw&ufu3E4%-~d8g zr{W8xu!UjSdTK?Dg||u=E_Lt+(+-n50RT$<#KkjLUe(@CNfgmRpKrpEfWBt)$= zRKif9lDx+S73g#E3!b8f4*ykV!1dvTRw)&AWtt*J30+2vQpe->CoZpcPogbKe}27L z5TzL!ibf&S@W!78GV^+Q4PLI5cPg7^Nf>Zed5aOR{9V>X%Re7DIcZm1%jxx>&mPDe z(dvwrHSJ_W8yPeSSHMxdzLqV8NY)=HL+uk<4Ce*@036sF^r=pttLRgcJ}?$n(g%JR zTsWYHHh={a{V%##6Y?|?yj}?o_V@^O$3@X?q5Og-pON>ddVoG?23-P z${+#7&$T;&@)z0~S>D-0As>aD+dP1UrFp&|G}S zJyMV$y4O^JdB8kD!9SrSCETl;sSP8ykgOH4kh=uRm~58`2YHEI<_m=Eqjs5xDDxq^ z%)^wq#V+%C$~Yi+QLxYiV4%>*&W~AKJ(J})-v;YuEtl0 zFj5E|$7o1G5C{RhEoz5W|ADISmYH@2X$A5d(FeNRhCZ$615De}2bkVKpQiMwOCR`l zUi!q)rwe^xI~&pm_1n{@6MdS{rvrUD(x)+fn$f2=eOl7zX8PPnA57ra(5D`K>eHtI zeXgTVbNaNPPiOkvL?4(hq!5l3X<*%cK|E(k81C`m1j;MdSsi!b{2w+YuWY@k_WIH9 zA2l%XoEWH?0`%98J|%~6?-!oAX3D)OJ@@RZxAw)npQ;)V&XBaJrs|IpW=a04m9=i> z50&exc~Eo{!q~@UD~sh7mx}nai`snxHH9w1)p>mDF-;8vf|kl*P)`4H_N?uooc!tRS=&K*h=$X4P>P6}k{Oil zU`!Hy;=Ch$1=*S2U`WP0DLatm^?5V%as&B!IXS+OIsRtey!?^b0SfGRwOAPsS|%+d z^L@=DAG5TPvj-e{H@4fd8*X_0?D2>04H>f#0HF#)$3mP-_iBQ2K^>L`fx#B4NYJOj zEOCP>$Rk15OocL~u)VjcBFoCgg1vl6CY?ogrOf0Ddh+rY?Ha7MnW_zzS<4MYgst=% zV8LpCHB}=Tg2|z`w-qEYznH5rt3+GD-X1ko3wA{}%tak$sFo?=m~_;HYBrqYDwwm> zQ%IvW+m{Xs>{Z1>74;u5R~ z6;UZOSF@pv+5UhC7ggXu zs>z`WbF95up6*d449DP#s>z`j<{0KHH91sSP0VjfE4g$H6`n1y6dpc!c&(b3E6vn- zi3AKzuct;x*2`K}=Q_zX24A>>njAhj>n{Y-8f62DMl}H2xFCQn7yvbf>wN-m9)09> zz|X!4$DA%&48T~J$6YC`wq1J!sv((M)&Od48#+)oh&Ef%AOL+q>i{s*!Sbb`rq(yo z!IGsER@<)aqYktLI@FdmI@H=hI)>N2Rn}2J!%d*t_ZtD1qy0Du3zDey%M5q&E!^tCVXP z)kK4_n}WIxFVH}2&jD)EVjH!Gxt*lEs4M*ui#+kQrJ8FhQq;92m5z-i#Ta}MxB zMRl-7d?K2p6eL~+WKrb&ESuC=dDA@BEJ$n*(1uh9wUt^mt7%<`KXqQEHZ^3_YBdBl zJkbWRQ33i;sL(pEP1;)=(p*qSlDo znZ`0^NDxUCkadK~Q=1CG#>_&tj|vObR!uB?k^4}q1(oQ+btIL;+3NWYF!Ld+%jFmJ zQ*-!Gp(}SvAavzox<|qN680X!G=)+DS_!qO!M+pzM;&=J*ef>lUS|+?v@a>62nlbBG;hni@0YSqE=uSDxhIb+R}2h{HAU$Yok0{ zX6%vImh#FAQu$RnIP@(f<0`uvwd^vuuSK!|;>k$BJX^aH_bRV6War4tY4RFE%{Bp|)w&o&*zA&- zD#EiQ3<%@H38toUk4BHYnbG8E!u|EDb-HK7sBahr6w+FyYi;_}uUU82m*1R>-7_om zrr5DPms-IBs3em%Nf6CqvM7*HwRJA3U2QWArHo&+rkNnfa~z@Xu^`JO?U2S z*yRTlHxq4aLeTb2w+BA1IO~nrrL!vzJg|6kN6==5{avYOpe?HOX{$qh*PnLz%taFt z;vevz%$_!A*;t_ChPK03E?*FvpWSoUv>F#wZNBU}&}N2V)<@FpBQ|_fTc_uZ@@u;q z@xB6oT0){fhfa+K{C)j7qkCoNYG>6@u%9n~j9(0UaIE*DDM~z~kbD7=e>uYd4D-b> z);Ck(=MUC@_DHK&l9$K7P$ln7)i~65!;j}*>b!qq(X!YzCo8_Wr03~n;D;GD2#rxP z^8=F+QJM=)UjaorT?Ittz@?`o16kjY^K(7=jX%R69`$hHandB`6EFhV7)2Ve3V% zNW_M%*2bm1KCFLv?Ct}pL*h=|b&D!>Y}l+6%L-PWhRw*T%l7%IQo?ZSh6YUNEt|L0RxG%3GB`>Q#>H<<>(F9pi?rE!5BleC zc~^_FyP@%wM#tt~^!e0o8_srkXwAbvRt1e_*bCe%UCWckF;8}0G2_hrJ(u1%Y3a6C z-Wdh79BC{$TZ%|IQt@r+X>z)4ZRz`D`y#fb%LX2*)MxNBX-il2{$h6jHdR!4g4`fs z`|Zx;g)?t@|GkVog^g1>j$VD070l9>!t;+#n(WW?cnZ)MCAAL$k$-J745f@;3_{$V z^3sM4-P3K`Hz|)k@@xAEYhLe);*JAM`Jm?BzLnSZ7?O~(H-AHgaXr>wX$7;is5*sZ zu-dIhn4X+CB7XG0X2#C$@bvupT^s&FAXgMNSaCs@BelOt-#*#Dq_20|byY{W` zU;9rzSFsOpXX2aLtz%OkOPiDTUe)PWKfBHfrtbtOhRsWraUD_Hp(J}YAdj)yaRpeE(`8{-dk zK9IWLl_tLL{xM;-6|DRWAE-cbL&;T*7Tx*L)jxDwyzi2t13T7F2PJ0M?*>j|C;b6; zJ{mS^$h)u4=(h8ox>4H)#W%5n?cfS@J&SvIr%maa?w{oC=J(~$;p;^I$imU1&kI}E zkuZDl_Pt{YhGeDRyDNLgXBTdQKk6(%C1>mIM_-hRZ|lZ8Mf)Bi+Z3^rm%riUpYpcd znzqY(*~_1A+j5a=>u7bZB`^K$mfs-dr_0k5=MT%?(&U#{8(G21-_{`_GV-#5k>5|e zEP0PFd(fc@*VZDC^8i!6mp&ESXPlUsH$3IZd;Yay_gkNJwSt}hwhmY?ueI@`=-De% zAD-}f)azZ|=wJmao~^@NBAq$yD%m%6}1gj=|?ydTzFyYGR-C*Dq&b+Aj!CNSM`fGHo;yzA{ectyjS@f#bh*gvDq$8TG~&i`o& zSogT<^@XupzD=J!ylB)1?|u576|8u+=zNYjbSBD+W5B?jyiZpDU*OvcvCH=_>$`Sy z;EWZloMR3&vw1pFvWqEGww4@4y+kJQWc0H^^cMQi`bo0uwmVzPWG%Kbwi{TZoHnp7 zEzU$f@sP@_g1jt zDUa5Pc_Ih9Wbfjl;$_Hi_@cFdfk)~>pTuV_J~`upQK>6Ou1Q=!Z6on3ybT1Qz2c+K zT)3uM%8Kl#?z!cS)(5O$_7nLh=!O!LfX5mIME>Or1JLw^CNWRTW?uZ)j=S(Z7c zh@k6cUsvynVV@N@8F9Tnis;wZp%8#l}^ z>@_ZV?VvM1PQBylE7ZYY1!zck&%Nf|mJ1u~OP#ajlfQ3Tm|oKgRy+kL*F_GiM{)gJ zuwiz~LEn72YZ7h+CV+WMESRxnHTs7{sp_ydLcx!wUjdi`Yd0D2)}UcM))d{id7 z?)FCUs}^=&llpaons2rq0BLnpnMizK=jq`ir|DrW5TV4PX*)f9RMBCbSC_Qo648+M zQV-mMx*Q3^JqtWQusEJ^_(LgT2YTMV>D3o>*^;vFM3w*Caod6G8Fw^R1%D{POx3EN zRO3XGjM#nu%KD++PjjENf|b7m9YdJ@ar6CO|G0i&`r@PS9{u*CD}Dt9j?zK-pk`O6 z86$na)a|k4*D4c^fBW)ZtYGEmK!XCL_VlUtOYbLNdZ<(EhCSJTSk&>KrvP_D;qrC8 zr$7Jeu2BDx~qBDwC$6Ao|F3ir|($7zEwKaI-t(97Z(o9 z%g-6*O`unZ_$LP>iP7OBUwA#3(xh%L3_$wAh??Q}ZfL;`rDi_^l$v25DLn-#MZvxS zdeN=4`q9zaH*el(Zw|eW*jwNqgEs_|2o!rZPzjC5fx4D(Gdq2t!HyxwLjq0aS;Pu< zn^s!<2{NQUeNW0A6=Vn9pBK!qn$Cf`8)kHm9d+XHn+MZ3BwhGK@8b&|1vAXBFVUDx zL1thC`q9gz{n)b4&GqL*Cuv{tD%swJep3CU+(Me2+RBQo)o;300`3u4Oi0GoTdUdb zl!9x3#8$VjdgiC~?_?~T`O(~*6OVPbg0}Ubj=i{=$ezG?d3P~j>hY$LkbpTQ*+s)v;Cv=vZPu~BofR% z1t)Q9o1v7%I!fzRdp)+e<7|yG{^CYr4ppcyugci(($+t?`IGpVqiJBB8K$`=ve6*x zFl5>$K>>*GJ|>smu^k#bl1xdL5-MB^MyMq$9) zEjtiRA3DTSP?$r$K_I^{lU5V{=xF^t=otJ!7Ab^gOtP|RLJ3)3;H5lDKlU@Hp^)i| zp#?XR{%eN=Ki~L%rPPIAtZSaUzsf?8Z-&)ZIth}GWs{I^FP`&Z6H(&YT#5Q2mimJ@ zL`-5JCVA26E=}UszVynkpFc5s4oEb^z6v(4jId(<^K$a?qkED^;L9hUh`#9K9O@e2 zT^&k$?nV+`W|KZ$S~YK}rDiEz=xD0Ajn{AEf(5SE-sl)v4Mxg1Z3#8FW&AX5J z;hFTOijo3f?KrK?pk|mB+>t#5rKB+dg#JTCG|rU?8-u({2{NpiGaDnQQEWDj-SpF} z0dF5kSaNJl|DRUgsX63km@eohNz@E%zwB}TvN%=JhC+ufXf`l1*i=BabX?{-o>z zKN;DwaV>ZjZciwWT~zhW*DL(B`=+$lvTiH9_5}htJE@VxZ=55W+QSmmUGeuYZ>OCM z+dcYX?O{%cTi319rh17hTlX0^EP8J{)sd+P-cY)ZKDU1J>yyW}d=bBG>zdSWW^7(z z1uOp$Ob5dBz-7aqjk@Wl#GREgo|!i1%nhKx&W0in3DlVPKCNKoAA)H>n40&KL4g|z z&(y3nd;h$56Ygypn_eyL@v)%L3@cs;=C`=F3GSSj()7~pzt&4$UEzUGuA8}gkriwk z*e_FXUWFCKal>TtfX7hGx;zh6Gjfh1QcspTrz1+qXk>$I=_z@|MYALyliRgk0=Fue z+7jnw31ItU8@_&nirbpN#bh6M$(ByZE6ARu+~YeZOoWx!-0oeKy18S@{)Q*#JbHVT z|1b(D#3m4a(uGOAs;^vod+MTQA5V(!f9+x`Sn<@S8MSVVV5ZTJ!9)I zfi^b>WMxAOcEZBk1MyA9{ZiQASljMv9@)O?zUS-CvVv_^It^+E&bOvz=dxCe$}6Nd zAX`3aFjA>*xOGDy93*lZTfp`jR8zS37MY3yfd z#o@Io4-I%T{m70UkELyDF#Y|Zm`I&x&3alp=Xh$fEKFjolS#zyB1LQxmwZ0;&A#t< zjbGd8gQx|Uv|plX8=J%?#2&Lrw1WN5m_!h7Hi=fS%~Gy#F&c@oF^R2t&1k7IjGWyB z!1AuLa;;1cK{3o;`>C(5_`{}MJ)W!gR{yo%?Eh6Ydldw_+8O>^?zy~SyBq$Ku<_gd(X9$w zFM!i*hFLC#wKix!K}%}u5)>xGP|EnlFx_Fl>*~L*8UAVP(H=X;tvdMLPt7oYI}a`8 zgN~x=pPxQ5ZCk>w3lnxu8us#ZE7;%Bm`p(nhVP~LKr#0h&MpDp!&PtkIO)xvsq;SH z@$!NFpWb5yE8euEVX;@@!UI^wFKQ?`9lTW%Qc5~FqBuG@pna8_FF*8c;#~{w%guPX z_PfkvpvpRkn9i};ixO%b{2=|lriV{gyL9C)D_D8zAa)vKtM(pp_KNK(yLTVl-}Lj9 z;UDXxI-sNC)D^y>Pe*sZvqJpfjn6keYy~@?brAT@^bee~eM@@m&P|&x*mKj7PFAqr zbnDbHc z-YtsN#pIcww}1;ohM`0@7XhQRPKQ%ftI7f^_7Tkl~-IU z-`5_OBrQCkld#xj*DH=`3QWO1W)0Y)R?J(K1ap#ttW5R?x(rvLm*>VY0>Q}2C! zN!OP@thCPxc0OA^;Op(3)1^w?@!jUu+p=-hRd+pT1=~*LI2p(16$zfm+2*U|z?ln~ zzH41D%xN5u$GDXUCPFA|)$AGS4@GR%>>(#Lt3vV`v4inW*PA|=J)>dzo*!~wzwUIx zb1FYcZMAeG{WZTx(h7D+mdC|7jA7M`DL12|v>0-0P_sIeZGMF(YJi=B>-ZL$K!^F2 z5LU4AP&3BcOE{WeumMWK(dMxgG*~s%wiUDyv=e1(&lgk8hy`uNpqoCq;ONq%`OQx* zXguce7OJ4JJ;%weL8m&e{7>IkyREus+lwD;xN*A`>=2dX6rrFoU1CF6)xAG;VYE*G7K!z_6-Tu<{TnCN7-d0N=B{-p{|Ien#v)L%;gu%b4xQtzg@^ zL6pZmNsZ9T60w#_>)NgBaR7acTZv$T2I=t!?XSgylCWM#WvEV%HCeFi=MjUt?OpQk z&l+6Rxv#2DY`3wHeJE{r#g6-9GZyu^I_-)^*YvQ0or5|tRWh6cP;tMC@<~-fn3U)rLlP6zt;*`8XoHi==JYWDhZ&Tv9`+8Y3#7lowX0R+E z(1UcnxCH-Jv6WNDKz^})2V-8$muX`M&+E3J$J$n%rW6cf+<**|-IDIVxncC`%cgeC zSX%Y?(4iN7a<3Jvm~sl9F>8W6aB&lnoC06-?_^lP%0o_t^%6@F^Y4v-56I^-_#ToX zk>9zfy+Jk+a`NbBC;5Fz)>I1*@i1431AN0>(|wE|3ojdRr$dPeg<~+k&5%Q(AHN zM1-LNeF?U}78b}_MZ5qvM~Up10XULXTUM~@qPX@qN{b@>f$meY@mz4<%q;&npB5YG zOV7CllwW_rkG{|&OXGY2Ph%=Sjj|H63&!X8rXXj!cN#q_6v#6{wN60n<@7P;c`5>a z7T81GFcKc1X3>mN6m(|JStp9y;_Z~ z73@l-(tqVh-BMm7WsU|jBO@KDh&;r(=%siw>=zQjb@J+ZhW%y77w=TQ;Qx}J`l{XN zwc9qvv%Ht^3|p*y>eU}N%lKFCk2ALKpHc1E&Fy+HZlDo*jMSPwlPV z!_t zOdxCZD=>hYe>ugD8Ehe}+OmTE?qaei$g3+C6C!H<9U*Q9TsDg#j|!JjuU4aL1^eB_ zRJlg?u1CuJYe?Kqq$5>UGwkOQ!H8$r4YyWX{NwxS-S$4x?a)g@rf%U`EbR+xPS13-L0>y@Dk&O2HC}IOZVR;U-Q-BnM+c( zKRW%f59bd~wt^i(C7FU29N)vcn9N%z+dt{@*}`63a-$!Z!Vt!|(UI{n^B2N51|`O6~T$xgj*l1mZE@EkA6Dn^JjE z!lP4nJX>w|a}Qa;%448_CsNn}d0dnW{l)FB7dj{~UW^zqPvet44_@0YulvTUYfjpk zS!;^QQ_U<8D(&fGey5%lEFjUw#h}1t@H1tNs89173V}yBUV{$v`xdNVebAUpM%wU* z4bmQQ3H@uEp%lexM0-U|@P;$B&RDuZrTNVlDCmYt^N+ZJN;8bLLW@dXLA^g=%^Eyr)Ha~9T!b;oE?EJP82sgvV zqA^Nl!bznpUkO$Qq-*%lA4d`w$Wo`|6@^zR_k4f^AZ@pEwag6JBb_ZXc&Kb`kmIY1 zCzF6gY=bWSqS?V6PrsM;@bOFb_PAv3aYg|cF#$1jZ+>&B73@Vx1}+9YEyd@4z;q;N zr};gwfIE&L<%5oSMSC*NPX2q^lj*)o`{W!6Si$~`#$+lh+PFVAG-RCq<0x)8ovU(Mb6|6jU>N>*L{9+%_ z;5dSm4?4E*xvJY`XP-{rJO0B#ofF^hVg);&bqe_2_{Y1}*NQvdeM8%c#~O@SbJz;@ zU!YUZ5h+L^)6T^LuKjWzZna5D!f>fla*Gqkm%BvEK3Pv}RngVNp8+%7YlWbUdm>9axKU6J_2Gwc8Sb?4r} z$OH&tBh!)Y%|FUy1tSX>OooXe`25SrV7}>w$IJwF{Hk?<5kaa?AM=k~0UplCfDZFJ zJFH+e(3nhRO84paMrEs~@bef*ljZwZBF_@0B@f z38k>ZvdmD*_(ki2BX|ud&-}X~C|;jF=3mAGymsj5#d>X7?1z^g z8|$Btw&wp%RKKKNm0ni-?@aib`ELa)PyWLRHNS-rd~QG=^RKZ1?#TcDpai8;;-VGa zsNA#C0Thov>+y$Di0?F6z|Y~iY)6wSv~z@e3?_|UHkN!?0`SNQ!>3! zK5tS2osi4-c`l@YFP3dTxe4r3vdC*IzNcWv=4-35scd4GJ_y)i^%PRVJ7=1vo3 zco+gHWJSTlYwHN?s^~Bgogs81UXAxS)#%ZApB?YEq)+S9TiVVrysdz>;%372`GfVJ zJ<{rxmg^f_t;9!hf13h@);ae+X7_Q=A3zpp>w!A7+F|6bK;12#~y6?BnJe|yQhr-BgP z`=w#*ZI{`VGE!ycXG%@2KTQfrUp##i`fAbhME__X{fL3#9+ke4HBZSa#%-2zuL?&M zf>$2YJGNilF(1Y5eYp9|w3$P__sYT{)8GJ^!FsKI9Vmezq{dQ)p(GApBZZXwm6-Cr z$P3NfM42BrWnN*I2?P9^%v70iM#9VjeHFnqF3WuV5++l0(3=t#zM-N42e~x^ uO8|7lKcut@I5hi)KR)o?#-ipoy>Jx94VtT_i63_8UGdfDu5T%UDF6S7qQ;m2 diff --git a/Content/UI/WBP_InteractionContextMenu.uasset b/Content/UI/WBP_InteractionContextMenu.uasset new file mode 100644 index 0000000000000000000000000000000000000000..0d0362f86051b0c76c2d048e724d0b2c359566d9 GIT binary patch literal 24322 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 r-YlAOV(z7{*vm5s9CIs-{5Up3$ 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 sj`Kb5;6#X28bfXDPJAB0WCDyM3M0cQ; GetInteractionOptions(AActor* Interactor); + + /** Runs the interaction identified by ActionID (one of the ActionIDs previously returned by GetInteractionOptions). */ + UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Interaction") + void ExecuteInteraction(AActor* Interactor, FName ActionID); +}; diff --git a/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp new file mode 100644 index 0000000..aef11eb --- /dev/null +++ b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp @@ -0,0 +1,205 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "InteractionComponent.h" +#include "Interactable.h" +#include "InteractionLookupProvider.h" +#include "Engine/World.h" +#include "TimerManager.h" +#include "GameFramework/Actor.h" +#include "GameFramework/Pawn.h" +#include "GameFramework/Controller.h" +#include "DrawDebugHelpers.h" +#include "KingshearthLegacy.h" + +UInteractionComponent::UInteractionComponent() +{ + PrimaryComponentTick.bCanEverTick = true; +} + +void UInteractionComponent::BeginPlay() +{ + Super::BeginPlay(); + UpdateFocus(); +} + +void UInteractionComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) +{ + Super::TickComponent(DeltaTime, TickType, ThisTickFunction); + UpdateFocus(); +} + +bool UInteractionComponent::PerformInteractionTrace(FHitResult& OutHit) const +{ + AActor* Owner = GetOwner(); + UWorld* World = GetWorld(); + if (!Owner || !World) + { + return false; + } + + if (Owner->Implements()) + { + if (IInteractionLookupProvider::Execute_InteractionLookupLoop(Owner, OutHit)) + { + return true; + } + } + + FVector TraceStart = Owner->GetActorLocation(); + FRotator TraceRotation = Owner->GetActorRotation(); + + if (const APawn* OwnerPawn = Cast(Owner)) + { + if (const AController* Controller = OwnerPawn->GetController()) + { + Controller->GetPlayerViewPoint(TraceStart, TraceRotation); + } + else + { + TraceStart = OwnerPawn->GetPawnViewLocation(); + TraceRotation = OwnerPawn->GetViewRotation(); + } + } + + const FVector TraceEnd = TraceStart + TraceRotation.Vector() * InteractionRange; + + FCollisionQueryParams QueryParams; + QueryParams.AddIgnoredActor(Owner); + + const bool bHit = World->LineTraceSingleByChannel(OutHit, TraceStart, TraceEnd, InteractionTraceChannel, QueryParams); + +#if ENABLE_DRAW_DEBUG + if (bShowDebugTraces) + { + const bool bHitInteractable = bHit && OutHit.GetActor() && OutHit.GetActor()->Implements(); + DrawDebugLine(World, TraceStart, bHit ? OutHit.Location : TraceEnd, bHitInteractable ? FColor::Green : FColor::Red, false, 0.0f, 0, 1.5f); + if (bHit) + { + DrawDebugSphere(World, OutHit.Location, 8.0f, 12, bHitInteractable ? FColor::Green : FColor::Red, false, 0.0f); + } + } +#endif + + return bHit; +} + +void UInteractionComponent::UpdateFocus() +{ + FHitResult Hit; + const bool bHit = PerformInteractionTrace(Hit); + + AActor* NewFocusedActor = (bHit && Hit.GetActor() && Hit.GetActor()->Implements()) ? Hit.GetActor() : nullptr; + + if (NewFocusedActor == FocusedActor.Get()) + { + return; + } + + FocusedActor = NewFocusedActor; + FocusedOptions = NewFocusedActor ? IInteractable::Execute_GetInteractionOptions(NewFocusedActor, GetOwner()) : TArray(); + +#if ENABLE_DRAW_DEBUG + if (bShowDebugTraces) + { + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] Focus changed to '%s' (%d option(s))"), *GetNameSafe(NewFocusedActor), FocusedOptions.Num()); + } +#endif + + OnFocusedInteractableChanged.Broadcast(NewFocusedActor, FocusedOptions); +} + +void UInteractionComponent::TryBeginInteract() +{ + UpdateFocus(); + + if (!FocusedActor.IsValid() || FocusedOptions.Num() == 0) + { + return; + } + + CurrentTarget = FocusedActor; + CurrentOptions = FocusedOptions; + HighlightedIndex = 0; + bHoldConsumed = false; + + if (CurrentOptions.Num() >= 2) + { + GetWorld()->GetTimerManager().SetTimer(HoldTimerHandle, this, &UInteractionComponent::HandleHoldThresholdReached, HoldThreshold, false); + } +} + +void UInteractionComponent::TryEndInteract() +{ + GetWorld()->GetTimerManager().ClearTimer(HoldTimerHandle); + + if (bContextMenuOpen) + { + ExecuteOption(HighlightedIndex); + CloseContextMenu(); + } + else if (!bHoldConsumed && CurrentOptions.Num() >= 1) + { + ExecuteOption(0); + } + + ClearCachedTarget(); +} + +void UInteractionComponent::CycleContextMenuOptions(float Direction) +{ + if (!bContextMenuOpen || CurrentOptions.Num() == 0 || FMath::IsNearlyZero(Direction)) + { + return; + } + + const int32 Step = Direction > 0.0f ? 1 : -1; + HighlightedIndex = (HighlightedIndex + Step + CurrentOptions.Num()) % CurrentOptions.Num(); + OnContextMenuHighlightChanged.Broadcast(HighlightedIndex); +} + +void UInteractionComponent::HandleHoldThresholdReached() +{ + bHoldConsumed = true; + + if (CurrentOptions.Num() == 2) + { + ExecuteOption(1); + ClearCachedTarget(); + } + else if (CurrentOptions.Num() >= 3) + { + OpenContextMenu(); + } +} + +void UInteractionComponent::OpenContextMenu() +{ + bContextMenuOpen = true; + HighlightedIndex = 0; + OnContextMenuOpened.Broadcast(CurrentOptions, HighlightedIndex); +} + +void UInteractionComponent::CloseContextMenu() +{ + bContextMenuOpen = false; + OnContextMenuClosed.Broadcast(); +} + +void UInteractionComponent::ExecuteOption(int32 Index) +{ + AActor* Target = CurrentTarget.Get(); + if (!Target || !CurrentOptions.IsValidIndex(Index)) + { + return; + } + + IInteractable::Execute_ExecuteInteraction(Target, GetOwner(), CurrentOptions[Index].ActionID); +} + +void UInteractionComponent::ClearCachedTarget() +{ + CurrentTarget = nullptr; + CurrentOptions.Reset(); + HighlightedIndex = 0; + bHoldConsumed = false; +} diff --git a/Source/KingshearthLegacy/Interaction/InteractionComponent.h b/Source/KingshearthLegacy/Interaction/InteractionComponent.h new file mode 100644 index 0000000..da7f11d --- /dev/null +++ b/Source/KingshearthLegacy/Interaction/InteractionComponent.h @@ -0,0 +1,144 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Components/ActorComponent.h" +#include "InteractionTypes.h" +#include "InteractionComponent.generated.h" + +DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFocusedInteractableChanged, AActor*, FocusedActor, const TArray&, FocusedOptions); +DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnContextMenuOpened, const TArray&, Options, int32, InitialHighlightedIndex); +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnContextMenuHighlightChanged, int32, NewHighlightedIndex); +DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnContextMenuClosed); + +/** + * Drives the whole "hold E" contextual interaction system for its owning Actor: + * every tick it look-traces for an IInteractable, distinguishes tap/hold on the + * currently-focused one, and either executes an interaction directly (1-2 options) + * or drives a Context Menu (3+ options). Interactable objects need to know nothing + * about any of this - they just implement IInteractable and return their own + * FInteractionOption data. + * + * Detection is a single line trace on the "Interactable" trace channel (see + * DefaultEngine.ini - ECC_GameTraceChannel1, default response Block), not a + * proximity sweep. That channel defaults to blocking everything, exactly like + * Visibility, so ordinary geometry occludes it correctly out of the box; to make + * only part of an actor count as its "interactable hit box", set that specific + * component's Interactable trace response and turn the rest of the mesh's off + * (Ignore) in its Collision settings - no C++ changes needed per-actor. + */ +UCLASS(ClassGroup = (Interaction), Blueprintable, meta = (BlueprintSpawnableComponent)) +class KINGSHEARTHLEGACY_API UInteractionComponent : public UActorComponent +{ + GENERATED_BODY() + +public: + + UInteractionComponent(); + + /** Fired every time the look-traced focus changes, including to/from nothing - drives an ever-present "you can interact" prompt. */ + UPROPERTY(BlueprintAssignable, Category = "Interaction") + FOnFocusedInteractableChanged OnFocusedInteractableChanged; + + /** Fired when 3+ options are available and the hold threshold is reached. */ + UPROPERTY(BlueprintAssignable, Category = "Interaction") + FOnContextMenuOpened OnContextMenuOpened; + + /** Fired whenever CycleContextMenuOptions moves the highlighted entry. */ + UPROPERTY(BlueprintAssignable, Category = "Interaction") + FOnContextMenuHighlightChanged OnContextMenuHighlightChanged; + + /** Fired when the Context Menu closes, whether by confirming a choice or losing its target. */ + UPROPERTY(BlueprintAssignable, Category = "Interaction") + FOnContextMenuClosed OnContextMenuClosed; + + /** Call from the Interact input's Started/pressed event. */ + UFUNCTION(BlueprintCallable, Category = "Interaction") + void TryBeginInteract(); + + /** Call from the Interact input's Completed/released event. */ + UFUNCTION(BlueprintCallable, Category = "Interaction") + void TryEndInteract(); + + /** Call while the Context Menu is open (e.g. from a mouse wheel axis) to move the highlighted entry. No-op otherwise. */ + UFUNCTION(BlueprintCallable, Category = "Interaction") + void CycleContextMenuOptions(float Direction); + + UFUNCTION(BlueprintPure, Category = "Interaction") + bool IsContextMenuOpen() const { return bContextMenuOpen; } + + /** The actor currently under the look-trace, or nullptr if none. */ + UFUNCTION(BlueprintPure, Category = "Interaction") + AActor* GetFocusedActor() const { return FocusedActor.Get(); } + +protected: + + virtual void BeginPlay() override; + virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; + + /** Max distance of the look trace. */ + UPROPERTY(EditAnywhere, Category = "Interaction") + float InteractionRange = 300.0f; + + /** Trace channel the look trace queries - see the "Interactable" channel set up in DefaultEngine.ini. */ + UPROPERTY(EditAnywhere, Category = "Interaction") + TEnumAsByte InteractionTraceChannel = ECC_GameTraceChannel1; + + /** Seconds the Interact input must be held before it counts as a hold rather than a tap. */ + UPROPERTY(EditAnywhere, Category = "Interaction") + float HoldThreshold = 0.4f; + + /** Draws the look trace every tick (green = hit an IInteractable, red = blocked/missed) and logs focus changes. */ + UPROPERTY(EditAnywhere, Category = "Interaction|Debug") + bool bShowDebugTraces = false; + + /** + * Finds the look-trace target. If the owning Actor implements IInteractionLookupProvider, + * defers to its InteractionLookupLoop first - implement that interface directly on your + * Character/Actor to fully replace how a target is found (VR hand ray, a cone check, ...) + * without touching the tap/hold/menu logic below. Falls back to a line trace from the + * controller's view point along its view direction, InteractionRange long, on + * InteractionTraceChannel, whenever the interface isn't implemented or returns false. + */ + bool PerformInteractionTrace(FHitResult& OutHit) const; + + /** Re-runs PerformInteractionTrace, updates FocusedActor/FocusedOptions, and broadcasts OnFocusedInteractableChanged if either changed. */ + void UpdateFocus(); + + /** Bound to the hold timer; only ever runs when CurrentOptions.Num() >= 2. */ + void HandleHoldThresholdReached(); + + void OpenContextMenu(); + void CloseContextMenu(); + + /** Executes CurrentOptions[Index] against CurrentTarget, if both are still valid. */ + void ExecuteOption(int32 Index); + + void ClearCachedTarget(); + + /** Actor currently under the look trace and implementing IInteractable, updated every tick by UpdateFocus. */ + UPROPERTY() + TWeakObjectPtr FocusedActor; + + UPROPERTY() + TArray FocusedOptions; + + /** Snapshot of FocusedActor/FocusedOptions taken when Interact was pressed - what TryEndInteract actually acts on. */ + UPROPERTY() + TWeakObjectPtr CurrentTarget; + + UPROPERTY() + TArray CurrentOptions; + + UPROPERTY() + int32 HighlightedIndex = 0; + + UPROPERTY() + bool bContextMenuOpen = false; + + /** Set the moment the hold timer fires, so TryEndInteract knows not to also run the tap path. */ + bool bHoldConsumed = false; + + FTimerHandle HoldTimerHandle; +}; diff --git a/Source/KingshearthLegacy/Interaction/InteractionLookupProvider.h b/Source/KingshearthLegacy/Interaction/InteractionLookupProvider.h new file mode 100644 index 0000000..86fe030 --- /dev/null +++ b/Source/KingshearthLegacy/Interaction/InteractionLookupProvider.h @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Interface.h" +#include "InteractionLookupProvider.generated.h" + +UINTERFACE(MinimalAPI, Blueprintable) +class UInteractionLookupProvider : public UInterface +{ + GENERATED_BODY() +}; + +/** + * Optional interface for the Actor a UInteractionComponent is attached to (e.g. + * BP_ThirdPersonCharacter). Implement it there - Class Settings > Implement Interface, + * just like IInteractable on an interactable object - and override InteractionLookupLoop + * in that Actor's own Event Graph to replace how its "look at" target is found (a + * different origin, a cone check, a VR hand-ray, ...). No separate component subclass + * or class-swapping needed. If not implemented, or the implementation returns false, + * UInteractionComponent falls back to its own default camera-forward line trace. + */ +class IInteractionLookupProvider +{ + GENERATED_BODY() + +public: + + /** Return true and fill OutHit with what was found; return false to fall back to the component's default trace. */ + UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Interaction") + bool InteractionLookupLoop(FHitResult& OutHit); +}; diff --git a/Source/KingshearthLegacy/Interaction/InteractionTypes.h b/Source/KingshearthLegacy/Interaction/InteractionTypes.h new file mode 100644 index 0000000..5765a30 --- /dev/null +++ b/Source/KingshearthLegacy/Interaction/InteractionTypes.h @@ -0,0 +1,25 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "InteractionTypes.generated.h" + +/** + * A single interaction an IInteractable currently offers. Order matters: + * index 0 is always the primary (tap) action, index 1 (if present) is the + * secondary (hold) action, and 3+ entries populate the Context Menu in order. + */ +USTRUCT(BlueprintType) +struct FInteractionOption +{ + GENERATED_BODY() + + /** Shown to the player (Context Menu entry, interaction prompt, ...) */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") + FText DisplayName; + + /** Opaque id passed back to IInteractable::ExecuteInteraction - the object interprets it itself */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") + FName ActionID; +}; diff --git a/Source/KingshearthLegacy/KingshearthLegacy.Build.cs b/Source/KingshearthLegacy/KingshearthLegacy.Build.cs index d5407f7..136e06a 100644 --- a/Source/KingshearthLegacy/KingshearthLegacy.Build.cs +++ b/Source/KingshearthLegacy/KingshearthLegacy.Build.cs @@ -30,6 +30,7 @@ public class KingshearthLegacy : ModuleRules "KingshearthLegacy", "KingshearthLegacy/AttributeSets", "KingshearthLegacy/GameplayEffects", + "KingshearthLegacy/Interaction", "KingshearthLegacy/UI/Menu", "KingshearthLegacy/Variant_Platforming", "KingshearthLegacy/Variant_Platforming/Animation", diff --git a/Source/KingshearthLegacy/KingshearthLegacyCharacter.cpp b/Source/KingshearthLegacy/KingshearthLegacyCharacter.cpp index 87a2777..7589b26 100644 --- a/Source/KingshearthLegacy/KingshearthLegacyCharacter.cpp +++ b/Source/KingshearthLegacy/KingshearthLegacyCharacter.cpp @@ -19,6 +19,7 @@ #include "GE_HealthDebuff.h" #include "GE_StaminaFatiguePenalty.h" #include "KingshearthLegacyGameplayTags.h" +#include "Interaction/InteractionComponent.h" AKingshearthLegacyCharacter::AKingshearthLegacyCharacter() { @@ -64,6 +65,8 @@ AKingshearthLegacyCharacter::AKingshearthLegacyCharacter() StaminaAttributeSet = CreateDefaultSubobject(TEXT("StaminaAttributeSet")); AbilitySystemComponent->AddAttributeSetSubobject(StaminaAttributeSet.Get()); + + InteractionComponent = CreateDefaultSubobject(TEXT("InteractionComponent")); } void AKingshearthLegacyCharacter::BeginPlay() @@ -276,6 +279,11 @@ void AKingshearthLegacyCharacter::SetupPlayerInputComponent(UInputComponent* Pla // Sprinting EnhancedInputComponent->BindAction(SprintAction, ETriggerEvent::Started, this, &AKingshearthLegacyCharacter::StartSprint); EnhancedInputComponent->BindAction(SprintAction, ETriggerEvent::Completed, this, &AKingshearthLegacyCharacter::StopSprint); + + // Interacting + EnhancedInputComponent->BindAction(InteractAction, ETriggerEvent::Started, this, &AKingshearthLegacyCharacter::DoInteractStart); + EnhancedInputComponent->BindAction(InteractAction, ETriggerEvent::Completed, this, &AKingshearthLegacyCharacter::DoInteractEnd); + EnhancedInputComponent->BindAction(InteractCycleAction, ETriggerEvent::Triggered, this, &AKingshearthLegacyCharacter::InteractCycle); } else { @@ -343,6 +351,35 @@ void AKingshearthLegacyCharacter::DoJumpEnd() StopJumping(); } +void AKingshearthLegacyCharacter::DoInteractStart() +{ + if (InteractionComponent) + { + InteractionComponent->TryBeginInteract(); + } +} + +void AKingshearthLegacyCharacter::DoInteractEnd() +{ + if (InteractionComponent) + { + InteractionComponent->TryEndInteract(); + } +} + +void AKingshearthLegacyCharacter::DoInteractCycle(float Direction) +{ + if (InteractionComponent) + { + InteractionComponent->CycleContextMenuOptions(Direction); + } +} + +void AKingshearthLegacyCharacter::InteractCycle(const FInputActionValue& Value) +{ + DoInteractCycle(Value.Get()); +} + void AKingshearthLegacyCharacter::Jump() { const bool bCouldJump = CanJump(); diff --git a/Source/KingshearthLegacy/KingshearthLegacyCharacter.h b/Source/KingshearthLegacy/KingshearthLegacyCharacter.h index 085953c..ce1e31b 100644 --- a/Source/KingshearthLegacy/KingshearthLegacyCharacter.h +++ b/Source/KingshearthLegacy/KingshearthLegacyCharacter.h @@ -15,6 +15,7 @@ class UInputAction; class UAbilitySystemComponent; class UHealthAttributeSet; class UStaminaAttributeSet; +class UInteractionComponent; struct FInputActionValue; DECLARE_LOG_CATEGORY_EXTERN(LogTemplateCharacter, Log, All); @@ -58,6 +59,14 @@ protected: UPROPERTY(EditAnywhere, Category="Input") UInputAction* SprintAction; + /** Interact Input Action - Started begins a tap/hold, Completed resolves it */ + UPROPERTY(EditAnywhere, Category="Input") + UInputAction* InteractAction; + + /** Cycles the Context Menu's highlighted option while it is open (e.g. mouse wheel axis) */ + UPROPERTY(EditAnywhere, Category="Input") + UInputAction* InteractCycleAction; + /** Walk speed is multiplied by this while sprinting */ UPROPERTY(EditAnywhere, Category="Sprint") float SprintSpeedMultiplier = 1.6f; @@ -120,6 +129,9 @@ protected: /** Called when the sprint input is released */ void StopSprint(); + /** Called for Context Menu cycling input (e.g. mouse wheel axis) */ + void InteractCycle(const FInputActionValue& Value); + /** Advances the regen delay/ramp curve and applies Stamina/Fatigue regen for this frame. */ void TickStaminaRegen(float DeltaSeconds); @@ -144,6 +156,10 @@ protected: /** Currently-applied GE_HealthDebuff instance, if any - reapplied/removed wholesale by SetHealthDebuff so it behaves like the old "set to X" API instead of stacking. */ FActiveGameplayEffectHandle HealthDebuffEffectHandle; + /** Drives the contextual "hold E" interaction system - see UInteractionComponent. */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Interaction", meta = (AllowPrivateAccess = "true")) + TObjectPtr InteractionComponent; + public: //~ Begin IAbilitySystemInterface @@ -219,6 +235,21 @@ public: UFUNCTION(BlueprintCallable, Category="Input") virtual void DoJumpEnd(); + /** Handles interact pressed inputs from either controls or UI interfaces - begins a tap/hold */ + UFUNCTION(BlueprintCallable, Category="Input") + virtual void DoInteractStart(); + + /** Handles interact released inputs from either controls or UI interfaces - resolves the tap/hold */ + UFUNCTION(BlueprintCallable, Category="Input") + virtual void DoInteractEnd(); + + /** Handles Context Menu cycling inputs (e.g. mouse wheel) from either controls or UI interfaces */ + UFUNCTION(BlueprintCallable, Category="Input") + virtual void DoInteractCycle(float Direction); + + /** Returns InteractionComponent subobject **/ + FORCEINLINE UInteractionComponent* GetInteractionComponent() const { return InteractionComponent; } + public: /** Returns CameraBoom subobject **/ diff --git a/Source/KingshearthLegacy/KingshearthLegacyPlayerController.cpp b/Source/KingshearthLegacy/KingshearthLegacyPlayerController.cpp index f72a280..603d216 100644 --- a/Source/KingshearthLegacy/KingshearthLegacyPlayerController.cpp +++ b/Source/KingshearthLegacy/KingshearthLegacyPlayerController.cpp @@ -102,8 +102,9 @@ void AKingshearthLegacyPlayerController::OnPossess(APawn* InPawn) const AKingshearthLegacyCharacter* PossessedCharacter = Cast(InPawn); UHealthAttributeSet* PossessedHealthAttributeSet = PossessedCharacter ? PossessedCharacter->GetHealthAttributeSet() : nullptr; UStaminaAttributeSet* PossessedStaminaAttributeSet = PossessedCharacter ? PossessedCharacter->GetStaminaAttributeSet() : nullptr; + UInteractionComponent* PossessedInteractionComponent = PossessedCharacter ? PossessedCharacter->GetInteractionComponent() : nullptr; - PlayerHUD->InitializeHUD(PossessedHealthAttributeSet, PossessedStaminaAttributeSet); + PlayerHUD->InitializeHUD(PossessedHealthAttributeSet, PossessedStaminaAttributeSet, PossessedInteractionComponent); } } diff --git a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp new file mode 100644 index 0000000..d515f73 --- /dev/null +++ b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp @@ -0,0 +1,110 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "InteractionContextMenuWidget.h" +#include "Interaction/InteractionComponent.h" +#include "Components/VerticalBox.h" +#include "Components/TextBlock.h" +#include "Blueprint/WidgetTree.h" +#include "KingshearthLegacy.h" + +void UInteractionContextMenuWidget::NativeConstruct() +{ + Super::NativeConstruct(); + + if (PromptText) + { + PromptText->SetVisibility(ESlateVisibility::Collapsed); + } + + if (OptionsBox) + { + OptionsBox->SetVisibility(ESlateVisibility::Collapsed); + } +} + +void UInteractionContextMenuWidget::InitializeInteraction(UInteractionComponent* InInteractionComponent) +{ + if (InteractionComponent) + { + InteractionComponent->OnFocusedInteractableChanged.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleFocusedInteractableChanged); + InteractionComponent->OnContextMenuOpened.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuOpened); + InteractionComponent->OnContextMenuHighlightChanged.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuHighlightChanged); + InteractionComponent->OnContextMenuClosed.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuClosed); + } + + InteractionComponent = InInteractionComponent; + + if (InteractionComponent) + { + InteractionComponent->OnFocusedInteractableChanged.AddDynamic(this, &UInteractionContextMenuWidget::HandleFocusedInteractableChanged); + InteractionComponent->OnContextMenuOpened.AddDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuOpened); + InteractionComponent->OnContextMenuHighlightChanged.AddDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuHighlightChanged); + InteractionComponent->OnContextMenuClosed.AddDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuClosed); + } +} + +void UInteractionContextMenuWidget::HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options) +{ + if (!PromptText) + { + return; + } + + if (FocusedActor && Options.Num() > 0) + { + PromptText->SetText(Options[0].DisplayName); + PromptText->SetVisibility(ESlateVisibility::HitTestInvisible); + } + else + { + PromptText->SetVisibility(ESlateVisibility::Collapsed); + } +} + +void UInteractionContextMenuWidget::RefreshOptions(const TArray& Options, int32 HighlightedIndex) +{ + if (!OptionsBox) + { + return; + } + + OptionsBox->ClearChildren(); + + for (int32 Index = 0; Index < Options.Num(); ++Index) + { + UTextBlock* Row = WidgetTree->ConstructWidget(UTextBlock::StaticClass()); + Row->SetText(Options[Index].DisplayName); + Row->SetColorAndOpacity(FSlateColor(Index == HighlightedIndex ? HighlightedColor : NormalColor)); + OptionsBox->AddChildToVerticalBox(Row); + } +} + +void UInteractionContextMenuWidget::HandleContextMenuOpened(const TArray& Options, int32 InitialHighlightedIndex) +{ + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] Widget received OnContextMenuOpened: %d option(s), OptionsBox bound: %s"), + Options.Num(), OptionsBox ? TEXT("yes") : TEXT("NO - add a VerticalBox named exactly \"OptionsBox\" in this widget's Designer tree")); + + CachedOptions = Options; + RefreshOptions(CachedOptions, InitialHighlightedIndex); + + if (OptionsBox) + { + OptionsBox->SetVisibility(ESlateVisibility::HitTestInvisible); + } +} + +void UInteractionContextMenuWidget::HandleContextMenuHighlightChanged(int32 NewHighlightedIndex) +{ + RefreshOptions(CachedOptions, NewHighlightedIndex); +} + +void UInteractionContextMenuWidget::HandleContextMenuClosed() +{ + CachedOptions.Reset(); + + if (OptionsBox) + { + OptionsBox->ClearChildren(); + OptionsBox->SetVisibility(ESlateVisibility::Collapsed); + } +} diff --git a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h new file mode 100644 index 0000000..99ad1c1 --- /dev/null +++ b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h @@ -0,0 +1,76 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "Interaction/InteractionTypes.h" +#include "InteractionContextMenuWidget.generated.h" + +class UInteractionComponent; +class UVerticalBox; +class UTextBlock; + +/** + * One widget covering both interaction UI needs so you only wire up a single thing + * in WBP_PlayerHUD: an ever-present "you're looking at something" prompt (PromptText, + * driven by OnFocusedInteractableChanged - shows any time the look trace is on an + * IInteractable, regardless of option count or whether Interact is even pressed) and + * the Context Menu shown while holding Interact on a 3+-option IInteractable + * (OptionsBox, driven by OnContextMenuOpened/HighlightChanged/Closed). Both bound + * widgets are optional and toggle their own visibility independently - add whichever + * you want in the Designer, named exactly as below; all population/highlight/show-hide + * logic lives here in C++. + */ +UCLASS(abstract) +class UInteractionContextMenuWidget : public UUserWidget +{ + GENERATED_BODY() + +public: + + /** Call once, right after creation (see UPlayerHUDWidget::InitializeHUD), to bind to InInteractionComponent's delegates. */ + UFUNCTION(BlueprintCallable, Category = "Interaction") + void InitializeInteraction(UInteractionComponent* InInteractionComponent); + +protected: + + virtual void NativeConstruct() override; + + /** Rebuilds OptionsBox's rows from Options, styling HighlightedIndex differently from the rest. */ + void RefreshOptions(const TArray& Options, int32 HighlightedIndex); + + UFUNCTION() + void HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options); + + UFUNCTION() + void HandleContextMenuOpened(const TArray& Options, int32 InitialHighlightedIndex); + + UFUNCTION() + void HandleContextMenuHighlightChanged(int32 NewHighlightedIndex); + + UFUNCTION() + void HandleContextMenuClosed(); + + /** Text color used for the highlighted row. */ + UPROPERTY(EditAnywhere, Category = "Interaction|Style") + FLinearColor HighlightedColor = FLinearColor(1.0f, 0.85f, 0.3f, 1.0f); + + /** Text color used for every other row. */ + UPROPERTY(EditAnywhere, Category = "Interaction|Style") + FLinearColor NormalColor = FLinearColor::White; + + /** Ever-present prompt - shows the primary option's DisplayName any time the look trace is on an IInteractable. Optional, place it in the WBP subclass's Designer tree. */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr PromptText; + + /** Container the Context Menu's option rows are built into. Optional, place it in the WBP subclass's Designer tree. */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr OptionsBox; + + UPROPERTY() + TArray CachedOptions; + + UPROPERTY() + TObjectPtr InteractionComponent; +}; diff --git a/Source/KingshearthLegacy/UI/PlayerHUDWidget.cpp b/Source/KingshearthLegacy/UI/PlayerHUDWidget.cpp index 5e62f88..0056a7f 100644 --- a/Source/KingshearthLegacy/UI/PlayerHUDWidget.cpp +++ b/Source/KingshearthLegacy/UI/PlayerHUDWidget.cpp @@ -1,8 +1,10 @@ #include "PlayerHUDWidget.h" #include "UI/HealthBarWidget.h" #include "UI/StaminaBarWidget.h" +#include "UI/InteractionContextMenuWidget.h" +#include "KingshearthLegacy.h" -void UPlayerHUDWidget::InitializeHUD(UHealthAttributeSet* InHealthAttributeSet, UStaminaAttributeSet* InStaminaAttributeSet) +void UPlayerHUDWidget::InitializeHUD(UHealthAttributeSet* InHealthAttributeSet, UStaminaAttributeSet* InStaminaAttributeSet, UInteractionComponent* InInteractionComponent) { if (HealthBar) { @@ -13,4 +15,11 @@ void UPlayerHUDWidget::InitializeHUD(UHealthAttributeSet* InHealthAttributeSet, { StaminaBar->InitializeStaminaBar(InStaminaAttributeSet); } + + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] PlayerHUD ContextMenuWidget bound: %s"), ContextMenuWidget ? TEXT("yes") : TEXT("NO - check the widget in ContextMenuWidget is named exactly \"ContextMenuWidget\" in WBP_PlayerHUD's Designer tree")); + + if (ContextMenuWidget) + { + ContextMenuWidget->InitializeInteraction(InInteractionComponent); + } } diff --git a/Source/KingshearthLegacy/UI/PlayerHUDWidget.h b/Source/KingshearthLegacy/UI/PlayerHUDWidget.h index 636915e..ad6b81d 100644 --- a/Source/KingshearthLegacy/UI/PlayerHUDWidget.h +++ b/Source/KingshearthLegacy/UI/PlayerHUDWidget.h @@ -8,6 +8,8 @@ class UHealthBarWidget; class UStaminaBarWidget; class UHealthAttributeSet; class UStaminaAttributeSet; +class UInteractionComponent; +class UInteractionContextMenuWidget; /** * Top-level player HUD. Owns a health bar and a stamina bar and forwards @@ -21,7 +23,7 @@ class UPlayerHUDWidget : public UUserWidget public: UFUNCTION(BlueprintCallable, Category = "HUD") - void InitializeHUD(UHealthAttributeSet* InHealthAttributeSet, UStaminaAttributeSet* InStaminaAttributeSet); + void InitializeHUD(UHealthAttributeSet* InHealthAttributeSet, UStaminaAttributeSet* InStaminaAttributeSet, UInteractionComponent* InInteractionComponent); protected: UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) @@ -29,4 +31,7 @@ protected: UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) TObjectPtr StaminaBar; + + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr ContextMenuWidget; }; From fd08fe480421c25da208f12bb4eec86819eb7d8d Mon Sep 17 00:00:00 2001 From: Dolobarsch Date: Sat, 5 Sep 2026 03:13:51 +0200 Subject: [PATCH 2/7] Interaktionslogik und UI-Aufforderungen verbessert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neue Funktion `GetInteractableDisplayName` in `Interactable.h` hinzugefügt, um benutzerfreundliche Objektnamen für Interaktionsaufforderungen bereitzustellen. Die Logik in `InteractionContextMenuWidget.cpp` wurde überarbeitet: - Aufforderungen werden ausgeblendet, wenn keine Optionen verfügbar sind. - Objektnamen werden in die Aufforderungen integriert. - Zusätzliche Hinweise für sekundäre Interaktionen und Kontextmenüs hinzugefügt. Binärdateien (`BP_BerryBush.uasset`, `BP_Campfire.uasset`, `BP_ThirdPersonCharacter.uasset`, `WBP_InteractionContextMenu.uasset`) aktualisiert. --- Content/Testing/BP_BerryBush.uasset | Bin 0 -> 22613 bytes Content/Testing/BP_Campfire.uasset | Bin 71208 -> 79342 bytes .../Blueprints/BP_ThirdPersonCharacter.uasset | Bin 140587 -> 174989 bytes Content/UI/WBP_InteractionContextMenu.uasset | Bin 24322 -> 28756 bytes .../Interaction/Interactable.h | 4 +++ .../UI/InteractionContextMenuWidget.cpp | 30 ++++++++++++++---- 6 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 Content/Testing/BP_BerryBush.uasset diff --git a/Content/Testing/BP_BerryBush.uasset b/Content/Testing/BP_BerryBush.uasset new file mode 100644 index 0000000000000000000000000000000000000000..229d68c83128560cba96beaa10420e2c34463f44 GIT binary patch literal 22613 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 be)4&&!p=o4OBsA+QQO349-qgGf&PC1>#!R5 literal 0 HcmV?d00001 diff --git a/Content/Testing/BP_Campfire.uasset b/Content/Testing/BP_Campfire.uasset index 33862bdbee373a6b4169622c72759fbf42c6422c..cb624162330fcbdf252ef247ccdadd46d6896521 100644 GIT binary patch literal 79342 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

NRUTm5ncAQ+*|}J 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 ZN+59yIK*Xmp;xrk!9Di44T%Ne|3B8P+dcpQ delta 19794 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 IkK?sv zkXd)C>1{n|!JA>dFADR6@_npo3*VU}k;ay!D|jZtvZ;^`HXVrthjhX0i5%QxbcOef z&$yB`9I}t0?4C{9vjjXolXf$;>NLNc%fA3=%vb}|5pBl+!U*#nYYGm`p zgPE0hSc>Sj`jwBp{~Vew98+I6?nsUznl|jGe#m~Q_mYy1WH%m2yfAjsPQy)M-hcfe z`1j|4bwxahnmTFAk#&j0O`UAE+)K1Ok)24MWP>`{8CQqYNk>Z1r@ngI9F>&ab{(C5 z+w|yzCZ428oqS6ECBMH%(ymmI4Adlj4dLwxJi5eH^TLyOYm+@Gsh(@c#*L8-AF?<3 zO~&eKlR-SmGflF(`Gkh=+4R*qU=h;4ZkFug;-_+y3>ya+>`7}{} zwfIf4+kiBdy}VtafQ5QrV=d7(B-P*szX!##gJ#5E$H)p3%|W>gC!{LQbS9>{j>MjBv>p)??<_?uy#o~STOQ}RFQ|_(r=FyV|&FGq` zwCB)g@|{5~offGpwjH^4{QdoAV(NhckJy=cZ({xZuGjT1y4 z`m9x|z`Me}Y#=-vaH7FHx`s+XNG@5CHrBmq8Z6LIz)*P&Za{=Ry`iMA2dO&%o>Ib1 z3p^<_!aw-X!UX?J@eh39<6js2JBEKyT7^r}&xF)AjFF8Hb0=* zTF+4Z6i0N&W97b}B`PYfg|fcJLYP8LPv+l9HTXb+H4N}%@7D}kzgu%~ z_qH@sf4cnrnjL;b^B^lyn&m{3H9?tg) zHI{H~@vCvgLI>NDPHlY;RbWTz{IEU?J63&^6C%J@DR7eRg#VXeOPao+Vpy-X{eq9n{+A|b*|U0yL)lF--k#K^UwCT#7e6T>_vD1g zrCBEjyfE*g`|MY0opzr`Up5<2Gz}`*@O#*H*Wyp`*;15BnHs>`NEuhhZ+Gp*woTaY o*tQ8DG5)RSeM3d6Q`;(vF#f+(G1$3n6$>y@>P$NQ51}X1TL1t6 diff --git a/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset b/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset index 6623a9b9c71ccaf3269f8ec2003d2f058d7bd04b..67623f49990e2f88b7c070af32ac1d582045159d 100644 GIT binary patch literal 174989 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

^P<4P+YWe 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 PnG?7Bv2kf46Y&2Bft!-N delta 4562 zcmcgv2~d?)6uv*3JXu6}4<1X89Yhoc6>*KnLvRUD6HpQGAv_U*rz~mZC@xLQG=y+0 zODm&gYP7O?O)fKOHjPcq15~J|K8{C;{i@notghX_nz~ebI(2J zF8|;Cqq1(VvcVW)dGUokLHR4^zq|Xu)+58;EZ(=X+f$$4k$O0YF*{?-;K7&?~#mK9S_(ED4%^BxQ1Ju5PqR&x&2%pL%RsRjPQz}noR^%)x*yr*7p0=>; z6vB~DJ3Ob%j{OOd2P;&xeBVaW=QCD{g0Cwaejei#uzH?_Mz2TVrdOw9n|H0^m^a`< z1tN9HFjw~!+|m_8^T0;9TomP)=+~xr-G`=~C6VA6P?$u66*t?O=G0c#*jiY?xmC;k zQB-1UYN@TNthX$EnBBbi__y#(KweY{Du@Q+le^qzZ<*3mxoj~P;p+j2F$F_ptuG8U z`9pb$FT@5WC?yaP7zcHMI<-|Z(g_z0FXTnFRdud%N^;Ipdvi-B86%)vAbri4a1H%BRQ=7p2i!&USC8X!(hfXd$mA?(#&Vx(ak3=NO@el` zaf$lFN!!-`fOsNt>JKM_?hi-1gh=38c}GU0ok zyqG#Zs~1YDiPa5I1|#cw9&xg*b$AQq!kp2uQ6)Om-Ywd6zB&o~t0N&QDlYLajU}an z_7-unoFwM>RX!-yNstzs7A_%F9)dKBybhejAzL*N(h#Jb4iThPMFJ9+_=jdtI(M@< zK!q2Iwtp#yXPF{WrwftRj1C}oW~DvN=+M>D0?|oFE|d6{YIZUy&g(Y}4rZ0;18Inp zVjZ3-g_v>^Al&rssMbjfP$6xr2)F>SkgYp%1uJ6zv#3@@kxkz7)EP6+Q$F z!%3FS3>!-H%KeZ%CwPWg=!oIRhZ>kRXu5TXf>n0sJwh~R2u{PK!jKN=h}$6#_YkUi4jK42l+tc)@96v7$}!!ifg| zSjv?o?mkZR4qakU>%a{GcHY9aX`K`tG9!vv>{22nH@1lMr&Q;OT-@hrSC9 zTkKBOR}GTMU}i>(PiIbh?%F-Z$EL3K$#f?hhnuY|R^Gre_6wSu3mswRosn7cwrs3x zSTT9y(a9Ns;qTOwQ&(9U-@#>z3Uzth8t*Q;cJLga9eim~UM&7ja_Vv9(LWtg0bE`j zl_uliqI11jknfY6NaV33$1kpj{O~Dq^C99ah+MxHQh(f7v(oTVXGWj)~KnOU# zCC?NRZK4->jiLsU)+k@SitReXR8@JGHWDV<<6EZ*O^V>e_#_xxvrkrcxKNq}C&oc^ zJq8M4k1`Gt3T;TKLPjCe(`oaCGj_vdITBa*nsxg6 GetInteractionOptions(AActor* Interactor); + /** Friendly object name for prompts, e.g. "Berry Bush", "Wooden Chest", "Workbench". Optional - an empty default just drops the "with X" part of the prompt. */ + UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Interaction") + FText GetInteractableDisplayName(); + /** Runs the interaction identified by ActionID (one of the ActionIDs previously returned by GetInteractionOptions). */ UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Interaction") void ExecuteInteraction(AActor* Interactor, FName ActionID); diff --git a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp index d515f73..dc353dc 100644 --- a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp +++ b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp @@ -2,6 +2,7 @@ #include "InteractionContextMenuWidget.h" #include "Interaction/InteractionComponent.h" +#include "Interaction/Interactable.h" #include "Components/VerticalBox.h" #include "Components/TextBlock.h" #include "Blueprint/WidgetTree.h" @@ -50,15 +51,32 @@ void UInteractionContextMenuWidget::HandleFocusedInteractableChanged(AActor* Foc return; } - if (FocusedActor && Options.Num() > 0) - { - PromptText->SetText(Options[0].DisplayName); - PromptText->SetVisibility(ESlateVisibility::HitTestInvisible); - } - else + if (!FocusedActor || Options.Num() == 0) { PromptText->SetVisibility(ESlateVisibility::Collapsed); + return; } + + // "{Verb} with {ObjectName}" on line one, "Press E" always, then a hint for the + // hold behaviour only when there is one (2 options = secondary, 3+ = Context Menu). + const FText ObjectName = IInteractable::Execute_GetInteractableDisplayName(FocusedActor); + FString Prompt = ObjectName.IsEmpty() + ? Options[0].DisplayName.ToString() + : FString::Printf(TEXT("%s with %s"), *Options[0].DisplayName.ToString(), *ObjectName.ToString()); + + Prompt += TEXT("\nPress E"); + + if (Options.Num() == 2) + { + Prompt += TEXT("\nHold E for secondary interaction"); + } + else if (Options.Num() >= 3) + { + Prompt += TEXT("\nHold E for Context Menu"); + } + + PromptText->SetText(FText::FromString(Prompt)); + PromptText->SetVisibility(ESlateVisibility::HitTestInvisible); } void UInteractionContextMenuWidget::RefreshOptions(const TArray& Options, int32 HighlightedIndex) From 0b34a9742abba17181aca8840f2d1543d15cd067 Mon Sep 17 00:00:00 2001 From: Dolobarsch Date: Sat, 5 Sep 2026 19:01:41 +0200 Subject: [PATCH 3/7] Verbesserung der Interaktionslogik und UI-Optimierung MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Änderungen umfassen: - Projektname in `DefaultGame.ini` auf "Kingshearth Legacy" geändert. - Neue Konsolenvariablen für CommonUI hinzugefügt. - `ListView` ersetzt `VerticalBox` für Kontextmenü-Optionen. - `FInteractionOption` um `Icon` und `PromptOverride` erweitert. - Debugging-Logs in `InteractionComponent.cpp` hinzugefügt. - Neue Klassen: `UInteractionOptionEntryWidget` und `UInteractionOptionListItem`. - Verbesserte Eingabeaufforderungslogik und Sichtbarkeitssteuerung. - Binärdateien (`.uasset`) aktualisiert und neue hinzugefügt. --- Config/DefaultGame.ini | 3 +- Content/Testing/BP_Campfire.uasset | Bin 79342 -> 88789 bytes .../Blueprints/BP_ThirdPersonCharacter.uasset | Bin 174989 -> 179358 bytes Content/UI/WBP_InteractionContextMenu.uasset | Bin 28756 -> 31175 bytes Content/UI/WBP_InteractionOptionEntry.uasset | Bin 0 -> 39949 bytes .../Interaction/InteractionComponent.cpp | 22 ++- .../Interaction/InteractionTypes.h | 15 ++ .../KingshearthLegacy.Build.cs | 1 + .../UI/InteractionContextMenuWidget.cpp | 143 +++++++++++++----- .../UI/InteractionContextMenuWidget.h | 53 +++++-- .../UI/InteractionOptionEntryWidget.cpp | 84 ++++++++++ .../UI/InteractionOptionEntryWidget.h | 81 ++++++++++ .../UI/InteractionOptionListItem.h | 24 +++ 13 files changed, 370 insertions(+), 56 deletions(-) create mode 100644 Content/UI/WBP_InteractionOptionEntry.uasset create mode 100644 Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp create mode 100644 Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h create mode 100644 Source/KingshearthLegacy/UI/InteractionOptionListItem.h diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini index a9f6caa..29bf27f 100644 --- a/Config/DefaultGame.ini +++ b/Config/DefaultGame.ini @@ -1,8 +1,9 @@ [/Script/EngineSettings.GeneralProjectSettings] ProjectID=CE954E444D2A872317AAC38182169D03 -ProjectName=Third Person Game Template +ProjectName=Kingsharth Legacy [ConsoleVariables] CommonUI.CheckKeyboardFocusAndParentage=1 CommonUI.DisallowUserFocusedWidgetForPendingFocusRecipient=1 CommonUI.FallbackToDesiredOnAutoRestoreFailure=1 + diff --git a/Content/Testing/BP_Campfire.uasset b/Content/Testing/BP_Campfire.uasset index cb624162330fcbdf252ef247ccdadd46d6896521..c4cfddc1f438ebb15c0e602f0505b526d5fa6906 100644 GIT binary patch literal 88789 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 b(yGb{z`kFVkpr!&d>+_LrH@!Skm&ypTl{20 diff --git a/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset b/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset index 67623f49990e2f88b7c070af32ac1d582045159d..b34e36996d1913e3195b097f9e896584ccfa0414 100644 GIT binary patch delta 44475 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

^P<4P+YWe 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 A0{{R3 delta 6722 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 Mq~~+|nSsUs1-gA`s{jB1 diff --git a/Content/UI/WBP_InteractionOptionEntry.uasset b/Content/UI/WBP_InteractionOptionEntry.uasset new file mode 100644 index 0000000000000000000000000000000000000000..0680b24588fe9e5c0c7ec5e548ca104ec6a3d8f7 GIT binary patch literal 39949 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

tB6 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 literal 0 HcmV?d00001 diff --git a/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp index aef11eb..db42270 100644 --- a/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp +++ b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp @@ -39,10 +39,11 @@ bool UInteractionComponent::PerformInteractionTrace(FHitResult& OutHit) const if (Owner->Implements()) { - if (IInteractionLookupProvider::Execute_InteractionLookupLoop(Owner, OutHit)) - { - return true; - } + // Authoritative once implemented - a miss here means "nothing found", full stop. + // Don't silently fall through to the default trace below just because this one + // came back empty; that would use a completely different (un-offset) trace and + // could contradict what the override deliberately decided. + return IInteractionLookupProvider::Execute_InteractionLookupLoop(Owner, OutHit); } FVector TraceStart = Owner->GetActorLocation(); @@ -87,8 +88,19 @@ void UInteractionComponent::UpdateFocus() { FHitResult Hit; const bool bHit = PerformInteractionTrace(Hit); + const bool bImplementsInteractable = bHit && Hit.GetActor() && Hit.GetActor()->Implements(); + AActor* NewFocusedActor = bImplementsInteractable ? Hit.GetActor() : nullptr; - AActor* NewFocusedActor = (bHit && Hit.GetActor() && Hit.GetActor()->Implements()) ? Hit.GetActor() : nullptr; +#if ENABLE_DRAW_DEBUG + if (bShowDebugTraces) + { + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] Tick: bHit=%s hitActor='%s' implementsInteractable=%s currentFocused='%s'"), + bHit ? TEXT("true") : TEXT("false"), + *GetNameSafe(bHit ? Hit.GetActor() : nullptr), + bImplementsInteractable ? TEXT("true") : TEXT("false"), + *GetNameSafe(FocusedActor.Get())); + } +#endif if (NewFocusedActor == FocusedActor.Get()) { diff --git a/Source/KingshearthLegacy/Interaction/InteractionTypes.h b/Source/KingshearthLegacy/Interaction/InteractionTypes.h index 5765a30..8172338 100644 --- a/Source/KingshearthLegacy/Interaction/InteractionTypes.h +++ b/Source/KingshearthLegacy/Interaction/InteractionTypes.h @@ -5,6 +5,8 @@ #include "CoreMinimal.h" #include "InteractionTypes.generated.h" +class UTexture2D; + /** * A single interaction an IInteractable currently offers. Order matters: * index 0 is always the primary (tap) action, index 1 (if present) is the @@ -22,4 +24,17 @@ struct FInteractionOption /** Opaque id passed back to IInteractable::ExecuteInteraction - the object interprets it itself */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") FName ActionID; + + /** Optional - shown by UInteractionOptionEntryWidget's Icon image when set, hidden otherwise. */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") + TObjectPtr Icon = nullptr; + + /** + * Optional - when this is the primary (index 0) option and this is set, the ever-present + * prompt's first line uses this verbatim instead of building "{DisplayName} with + * {ObjectName}" - e.g. a chest can set this to "Open Chest" instead of ending up as + * "Open with Chest". The "Press E" / "Hold E for ..." lines are unaffected. + */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") + FText PromptOverride; }; diff --git a/Source/KingshearthLegacy/KingshearthLegacy.Build.cs b/Source/KingshearthLegacy/KingshearthLegacy.Build.cs index 136e06a..d53dece 100644 --- a/Source/KingshearthLegacy/KingshearthLegacy.Build.cs +++ b/Source/KingshearthLegacy/KingshearthLegacy.Build.cs @@ -19,6 +19,7 @@ public class KingshearthLegacy : ModuleRules "GameplayStateTreeModule", "UMG", "Slate", + "SlateCore", "GameplayAbilities", "GameplayTags", "GameplayTasks" diff --git a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp index dc353dc..f22ec64 100644 --- a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp +++ b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp @@ -1,25 +1,41 @@ // Copyright Epic Games, Inc. All Rights Reserved. #include "InteractionContextMenuWidget.h" +#include "InteractionOptionListItem.h" #include "Interaction/InteractionComponent.h" #include "Interaction/Interactable.h" -#include "Components/VerticalBox.h" +#include "Components/ListView.h" #include "Components/TextBlock.h" -#include "Blueprint/WidgetTree.h" +#include "Components/Widget.h" #include "KingshearthLegacy.h" +namespace +{ + /** Toggles TextContainer when bound (so a background living alongside PromptText hides with it), else PromptText itself. */ + void SetPromptVisible(UWidget* TextContainer, UTextBlock* PromptText, bool bVisible) + { + const ESlateVisibility Visibility = bVisible ? ESlateVisibility::HitTestInvisible : ESlateVisibility::Collapsed; + + if (TextContainer) + { + TextContainer->SetVisibility(Visibility); + } + else if (PromptText) + { + PromptText->SetVisibility(Visibility); + } + } +} + void UInteractionContextMenuWidget::NativeConstruct() { Super::NativeConstruct(); - if (PromptText) - { - PromptText->SetVisibility(ESlateVisibility::Collapsed); - } + SetPromptVisible(TextContainer, PromptText, false); - if (OptionsBox) + if (OptionsList) { - OptionsBox->SetVisibility(ESlateVisibility::Collapsed); + OptionsList->SetVisibility(ESlateVisibility::Collapsed); } } @@ -45,84 +61,139 @@ void UInteractionContextMenuWidget::InitializeInteraction(UInteractionComponent* } void UInteractionContextMenuWidget::HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options) +{ + LastFocusedActor = FocusedActor; + LastFocusedOptions = Options; + UpdatePromptVisibility(); +} + +void UInteractionContextMenuWidget::UpdatePromptVisibility() { if (!PromptText) { return; } - if (!FocusedActor || Options.Num() == 0) + // The Context Menu owns the screen while it's open - keep the ever-present prompt + // out of its way until OnContextMenuClosed brings us back here. + if (InteractionComponent && InteractionComponent->IsContextMenuOpen()) { - PromptText->SetVisibility(ESlateVisibility::Collapsed); + SetPromptVisible(TextContainer, PromptText, false); return; } - // "{Verb} with {ObjectName}" on line one, "Press E" always, then a hint for the - // hold behaviour only when there is one (2 options = secondary, 3+ = Context Menu). - const FText ObjectName = IInteractable::Execute_GetInteractableDisplayName(FocusedActor); - FString Prompt = ObjectName.IsEmpty() - ? Options[0].DisplayName.ToString() - : FString::Printf(TEXT("%s with %s"), *Options[0].DisplayName.ToString(), *ObjectName.ToString()); + AActor* FocusedActor = LastFocusedActor.Get(); + if (!FocusedActor || LastFocusedOptions.Num() == 0) + { + SetPromptVisible(TextContainer, PromptText, false); + return; + } + + // "{Verb} with {ObjectName}" on line one (or PromptOverride verbatim, if the primary + // option set one), "Press E" always, then a hint for the hold behaviour only when + // there is one (2 options = secondary, 3+ = Context Menu). + const FInteractionOption& PrimaryOption = LastFocusedOptions[0]; + FString Prompt; + if (!PrimaryOption.PromptOverride.IsEmpty()) + { + Prompt = PrimaryOption.PromptOverride.ToString(); + } + else + { + const FText ObjectName = IInteractable::Execute_GetInteractableDisplayName(FocusedActor); + Prompt = ObjectName.IsEmpty() + ? PrimaryOption.DisplayName.ToString() + : FString::Printf(TEXT("%s with %s"), *PrimaryOption.DisplayName.ToString(), *ObjectName.ToString()); + } Prompt += TEXT("\nPress E"); - if (Options.Num() == 2) + if (LastFocusedOptions.Num() == 2) { Prompt += TEXT("\nHold E for secondary interaction"); } - else if (Options.Num() >= 3) + else if (LastFocusedOptions.Num() >= 3) { Prompt += TEXT("\nHold E for Context Menu"); } PromptText->SetText(FText::FromString(Prompt)); - PromptText->SetVisibility(ESlateVisibility::HitTestInvisible); + SetPromptVisible(TextContainer, PromptText, true); } -void UInteractionContextMenuWidget::RefreshOptions(const TArray& Options, int32 HighlightedIndex) +void UInteractionContextMenuWidget::PopulateOptionsList(const TArray& Options) { - if (!OptionsBox) + if (!OptionsList) { return; } - OptionsBox->ClearChildren(); + OptionsList->ClearListItems(); + ListItems.Reset(Options.Num()); - for (int32 Index = 0; Index < Options.Num(); ++Index) + TArray ItemObjects; + ItemObjects.Reserve(Options.Num()); + + for (const FInteractionOption& OptionEntry : Options) { - UTextBlock* Row = WidgetTree->ConstructWidget(UTextBlock::StaticClass()); - Row->SetText(Options[Index].DisplayName); - Row->SetColorAndOpacity(FSlateColor(Index == HighlightedIndex ? HighlightedColor : NormalColor)); - OptionsBox->AddChildToVerticalBox(Row); + UInteractionOptionListItem* Item = NewObject(this); + Item->Option = OptionEntry; + ListItems.Add(Item); + ItemObjects.Add(Item); + } + + OptionsList->SetListItems(ItemObjects); +} + +void UInteractionContextMenuWidget::SelectHighlighted(int32 Index) +{ + if (!OptionsList) + { + return; + } + + if (ListItems.IsValidIndex(Index)) + { + OptionsList->SetSelectedItem(ListItems[Index]); + } + else + { + OptionsList->ClearSelection(); } } void UInteractionContextMenuWidget::HandleContextMenuOpened(const TArray& Options, int32 InitialHighlightedIndex) { - UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] Widget received OnContextMenuOpened: %d option(s), OptionsBox bound: %s"), - Options.Num(), OptionsBox ? TEXT("yes") : TEXT("NO - add a VerticalBox named exactly \"OptionsBox\" in this widget's Designer tree")); + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] Widget received OnContextMenuOpened: %d option(s), OptionsList bound: %s"), + Options.Num(), OptionsList ? TEXT("yes") : TEXT("NO - add a ListView named exactly \"OptionsList\" in this widget's Designer tree")); CachedOptions = Options; - RefreshOptions(CachedOptions, InitialHighlightedIndex); + PopulateOptionsList(CachedOptions); + SelectHighlighted(InitialHighlightedIndex); - if (OptionsBox) + if (OptionsList) { - OptionsBox->SetVisibility(ESlateVisibility::HitTestInvisible); + OptionsList->SetVisibility(ESlateVisibility::Visible); } + + UpdatePromptVisibility(); } void UInteractionContextMenuWidget::HandleContextMenuHighlightChanged(int32 NewHighlightedIndex) { - RefreshOptions(CachedOptions, NewHighlightedIndex); + SelectHighlighted(NewHighlightedIndex); } void UInteractionContextMenuWidget::HandleContextMenuClosed() { CachedOptions.Reset(); + ListItems.Reset(); - if (OptionsBox) + if (OptionsList) { - OptionsBox->ClearChildren(); - OptionsBox->SetVisibility(ESlateVisibility::Collapsed); + OptionsList->ClearListItems(); + OptionsList->SetVisibility(ESlateVisibility::Collapsed); } + + UpdatePromptVisibility(); } diff --git a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h index 99ad1c1..3dc3abe 100644 --- a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h +++ b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h @@ -8,8 +8,10 @@ #include "InteractionContextMenuWidget.generated.h" class UInteractionComponent; -class UVerticalBox; +class UInteractionOptionListItem; +class UListView; class UTextBlock; +class UWidget; /** * One widget covering both interaction UI needs so you only wire up a single thing @@ -17,7 +19,7 @@ class UTextBlock; * driven by OnFocusedInteractableChanged - shows any time the look trace is on an * IInteractable, regardless of option count or whether Interact is even pressed) and * the Context Menu shown while holding Interact on a 3+-option IInteractable - * (OptionsBox, driven by OnContextMenuOpened/HighlightChanged/Closed). Both bound + * (OptionsList, driven by OnContextMenuOpened/HighlightChanged/Closed). Both bound * widgets are optional and toggle their own visibility independently - add whichever * you want in the Designer, named exactly as below; all population/highlight/show-hide * logic lives here in C++. @@ -37,8 +39,11 @@ protected: virtual void NativeConstruct() override; - /** Rebuilds OptionsBox's rows from Options, styling HighlightedIndex differently from the rest. */ - void RefreshOptions(const TArray& Options, int32 HighlightedIndex); + /** Rebuilds OptionsList's items from Options; ListItems is kept alive here so the ListView's UObjects don't get GC'd. */ + void PopulateOptionsList(const TArray& Options); + + /** Selects ListItems[Index] on OptionsList, which drives each row's IUserObjectListEntry::NativeOnItemSelectionChanged. */ + void SelectHighlighted(int32 Index); UFUNCTION() void HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options); @@ -52,25 +57,45 @@ protected: UFUNCTION() void HandleContextMenuClosed(); - /** Text color used for the highlighted row. */ - UPROPERTY(EditAnywhere, Category = "Interaction|Style") - FLinearColor HighlightedColor = FLinearColor(1.0f, 0.85f, 0.3f, 1.0f); - - /** Text color used for every other row. */ - UPROPERTY(EditAnywhere, Category = "Interaction|Style") - FLinearColor NormalColor = FLinearColor::White; - /** Ever-present prompt - shows the primary option's DisplayName any time the look trace is on an IInteractable. Optional, place it in the WBP subclass's Designer tree. */ UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) TObjectPtr PromptText; - /** Container the Context Menu's option rows are built into. Optional, place it in the WBP subclass's Designer tree. */ + /** + * Optional wrapper around PromptText (e.g. a panel/border providing its background) named + * exactly "TextContainer" in the Designer. When bound, its visibility is toggled instead of + * PromptText's own - so a background that lives alongside PromptText, not inside it, actually + * hides too. Falls back to toggling PromptText directly when this isn't bound. + */ UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) - TObjectPtr OptionsBox; + TObjectPtr TextContainer; + + /** + * The Context Menu's option list. Optional, place it in the WBP subclass's Designer + * tree as a ListView, single-selection, with its Entry Widget Class set to a WBP + * subclass of UInteractionOptionEntryWidget - that class receives each row's data + * and highlighted state natively, no BP event graph logic needed. + */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr OptionsList; UPROPERTY() TArray CachedOptions; + /** UObject wrappers backing OptionsList - one per CachedOptions entry, rebuilt in PopulateOptionsList. */ + UPROPERTY() + TArray> ListItems; + UPROPERTY() TObjectPtr InteractionComponent; + +private: + + /** Rebuilds PromptText from LastFocused*, collapsing it while the Context Menu is open. Called on focus change and on menu close. */ + void UpdatePromptVisibility(); + + TWeakObjectPtr LastFocusedActor; + + UPROPERTY() + TArray LastFocusedOptions; }; diff --git a/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp new file mode 100644 index 0000000..5a70655 --- /dev/null +++ b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp @@ -0,0 +1,84 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "InteractionOptionEntryWidget.h" +#include "InteractionOptionListItem.h" +#include "Components/Border.h" +#include "Components/Image.h" +#include "Components/TextBlock.h" +#include "Components/Widget.h" + +void UInteractionOptionEntryWidget::NativeConstruct() +{ + Super::NativeConstruct(); + + // The ListView only calls NativeOnItemSelectionChanged when a row's selection state + // actually changes, so a freshly-spawned row that has never been (de)selected would + // otherwise keep whatever visibility Highlight has in the Designer - force it into + // the correct "not highlighted" state right away instead. + ApplyHighlightVisuals(); +} + +void UInteractionOptionEntryWidget::NativeOnListItemObjectSet(UObject* ListItemObject) +{ + if (const UInteractionOptionListItem* ListItem = Cast(ListItemObject)) + { + Option = ListItem->Option; + ApplyOptionVisuals(); + + // SListView recycles row widgets between items; a row reassigned from a previously- + // selected item to a new one doesn't necessarily get a fresh NativeOnItemSelectionChanged + // call in the same pass, so re-derive the real selection state here rather than trusting + // whatever bHighlighted this (possibly recycled) widget already had. + bHighlighted = IsListItemSelected(); + ApplyHighlightVisuals(); + } +} + +void UInteractionOptionEntryWidget::NativeOnItemSelectionChanged(bool bIsSelected) +{ + bHighlighted = bIsSelected; + ApplyHighlightVisuals(); +} + +void UInteractionOptionEntryWidget::ApplyOptionVisuals() +{ + if (InteractionText) + { + InteractionText->SetText(Option.DisplayName); + } + + if (Icon) + { + if (Option.Icon) + { + Icon->SetBrushFromTexture(Option.Icon); + Icon->SetVisibility(ESlateVisibility::HitTestInvisible); + } + else + { + Icon->SetVisibility(ESlateVisibility::Collapsed); + } + } +} + +void UInteractionOptionEntryWidget::ApplyHighlightVisuals() +{ + if (Highlight) + { + Highlight->SetVisibility(bHighlighted ? ESlateVisibility::HitTestInvisible : ESlateVisibility::Hidden); + + if (UImage* HighlightImage = Cast(Highlight.Get())) + { + HighlightImage->SetColorAndOpacity(HighlightColor); + } + else if (UBorder* HighlightBorder = Cast(Highlight.Get())) + { + HighlightBorder->SetBrushColor(HighlightColor); + } + } + + if (InteractionText) + { + InteractionText->SetColorAndOpacity(bHighlighted ? HighlightedTextColor : NormalTextColor); + } +} diff --git a/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h new file mode 100644 index 0000000..465d392 --- /dev/null +++ b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h @@ -0,0 +1,81 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "Blueprint/IUserObjectListEntry.h" +#include "Interaction/InteractionTypes.h" +#include "InteractionOptionEntryWidget.generated.h" + +class UImage; +class UTextBlock; +class UWidget; + +/** + * One row of the Context Menu's OptionsList (a UListView). Assign a WBP + * subclass of this as that ListView's Entry Widget Class in the Designer - + * name your widgets exactly "InteractionText" (Text), "Icon" (Image) and + * "Highlight" (a Border, or an Image - either works, tinted with + * HighlightColor) and all population/highlight styling is handled here in + * C++, driven by the ListView itself via IUserObjectListEntry; no BP event + * graph logic needed. + */ +UCLASS(abstract) +class KINGSHEARTHLEGACY_API UInteractionOptionEntryWidget : public UUserWidget, public IUserObjectListEntry +{ + GENERATED_BODY() + +public: + + UFUNCTION(BlueprintPure, Category = "Interaction") + const FInteractionOption& GetOption() const { return Option; } + + UFUNCTION(BlueprintPure, Category = "Interaction") + bool IsHighlighted() const { return bHighlighted; } + +protected: + + virtual void NativeConstruct() override; + + /** IUserObjectListEntry - called by the owning ListView when this row is assigned an UInteractionOptionListItem. */ + virtual void NativeOnListItemObjectSet(UObject* ListItemObject) override; + + /** IUserObjectListEntry - called by the owning ListView when this row's selected state changes (drives the Context Menu highlight). */ + virtual void NativeOnItemSelectionChanged(bool bIsSelected) override; + + void ApplyOptionVisuals(); + + /** Applies bHighlighted to Highlight's visibility/tint and InteractionText's color. Called on construct (so freshly-spawned rows never default to "selected") and on every selection change. */ + void ApplyHighlightVisuals(); + + /** Row label - bind a TextBlock named exactly "InteractionText" in the Designer. */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr InteractionText; + + /** Option icon - bind an Image named exactly "Icon" in the Designer. Hidden automatically when the option has no Icon set. */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr Icon; + + /** Highlight background - bind a Border or an Image named exactly "Highlight" in the Designer. Shown and tinted HighlightColor only while this row is selected/highlighted. */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr Highlight; + + /** Tint applied to Highlight while this row is highlighted. */ + UPROPERTY(EditAnywhere, Category = "Interaction|Style") + FLinearColor HighlightColor = FLinearColor(1.0f, 0.85f, 0.3f, 1.0f); + + /** InteractionText color while this row is NOT highlighted. */ + UPROPERTY(EditAnywhere, Category = "Interaction|Style") + FLinearColor NormalTextColor = FLinearColor::White; + + /** InteractionText color while this row IS highlighted. */ + UPROPERTY(EditAnywhere, Category = "Interaction|Style") + FLinearColor HighlightedTextColor = FLinearColor::Black; + + UPROPERTY(BlueprintReadOnly, Category = "Interaction") + FInteractionOption Option; + + UPROPERTY(BlueprintReadOnly, Category = "Interaction") + bool bHighlighted = false; +}; diff --git a/Source/KingshearthLegacy/UI/InteractionOptionListItem.h b/Source/KingshearthLegacy/UI/InteractionOptionListItem.h new file mode 100644 index 0000000..fd1bb85 --- /dev/null +++ b/Source/KingshearthLegacy/UI/InteractionOptionListItem.h @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "UObject/Object.h" +#include "Interaction/InteractionTypes.h" +#include "InteractionOptionListItem.generated.h" + +/** + * Plain UObject wrapper around one FInteractionOption - UListView items must be + * UObjects, not structs, so UInteractionContextMenuWidget wraps each option in + * one of these before calling OptionsList->SetListItems. + */ +UCLASS() +class KINGSHEARTHLEGACY_API UInteractionOptionListItem : public UObject +{ + GENERATED_BODY() + +public: + + UPROPERTY(BlueprintReadOnly, Category = "Interaction") + FInteractionOption Option; +}; From a36eaf27bcccad3d399a21aa9258ef783c7517ad Mon Sep 17 00:00:00 2001 From: Dolobarsch Date: Sat, 5 Sep 2026 19:09:47 +0200 Subject: [PATCH 4/7] Optimierung von Kollisions- und Hardwareeinstellungen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Datei `DefaultEngine.ini` wurde aktualisiert, um neue Kollisionsprofile hinzuzufügen und bestehende zu überarbeiten. Ein neuer Kanal `Interactable` wurde hinzugefügt. Alte Profile und Kanäle wurden mithilfe von Redirects auf neue Namen umgeleitet. Die `TargetedHardwareClass` wurde auf `Desktop` gesetzt, und die `DefaultGraphicsPerformance` wurde auf `Maximum` geändert, um die Leistung für Desktop-Systeme zu optimieren. `ActiveGameNameRedirects` und `ActiveClassRedirects` wurden hinzugefügt, um alte Spiel- und Klassennamen auf neue Namen für das Projekt `KingshearthLegacy` umzuleiten. Die Datei `BP_Campfire.uasset` wurde ebenfalls geändert, jedoch sind die Änderungen binär und nicht im Detail sichtbar. --- Config/DefaultEngine.ini | 58 ++++++++++++++++++++++++++++- Content/Testing/BP_Campfire.uasset | Bin 88789 -> 88846 bytes 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index dbdea0f..c969e3e 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -74,7 +74,63 @@ DefaultGraphicsPerformance=Maximum AppliedDefaultGraphicsPerformance=Maximum [/Script/Engine.CollisionProfile] -+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Interactable",DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False) +-Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False) +-Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False) +-Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False) +-Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False) +-Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False) +-Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False) +-Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False) +-Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False) +-Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False) +-Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False) +-Profiles=(Name="WaterBodyCollision",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="",CustomResponses=((Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="Default Water Collision Profile (Created by Water Plugin)") ++Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision") ++Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.") ++Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ") ++Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ") ++Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.") ++Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.") ++Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors") ++Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors") ++Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.") ++Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.") ++Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.") ++Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.") ++Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.") ++Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ") ++Profiles=(Name="WaterBodyCollision",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="",CustomResponses=((Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="Default Water Collision Profile (Created by Water Plugin)") ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False,Name="Interactable") +-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") +-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") +-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") +-ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") +-ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") ++ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall") ++ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn") ++ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic") ++ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor") ++ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic") +-CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") +-CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") +-CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") +-CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") ++CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic") ++CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic") ++CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle") ++CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn") [/Script/Engine.Engine] +ActiveGameNameRedirects=(OldGameName="TP_ThirdPerson",NewGameName="/Script/KingshearthLegacy") diff --git a/Content/Testing/BP_Campfire.uasset b/Content/Testing/BP_Campfire.uasset index c4cfddc1f438ebb15c0e602f0505b526d5fa6906..332628c2cb73479c5ca3d241218afa6f68f77e87 100644 GIT binary patch delta 655 zcmYk!O(?@*90%|{kLJCmXvu7C(!9;IG-KXr^O)IeF)s%$ILJwwl8eiVq}5YaLJqj1 zr~Mrq)glh2?BHb$C9V!57k&r%{lB-*_xtO28&$4L%5ZVf!c9s3RO@N^n`STdsa)N> zAFWSIn663GXsj z3Ra;fB3P#);@UJv#J(k7nEU?sQ)P+xGKiM%+H<&MFC|a>%uz$XWUboC=v6&lg}`Z< z(_p6+_vs!+Ee+@dxYUMrGDfo+(GvJWW@9g-k4?C5fY0sdOc$e~865=gw4h(XE3N22 zAEWba=oomS9o^t&)YXAL09!lJ>V8J`UFZ-vuN$2PU&=h~Vf4a*djed*&`vL-!!EQ0 z9&)3N1B`BY&>P^*0d%I1QLi5z1g8ekui#_=9q=>yF!FB^^Y11j%N}BigndNGJD#)o N?33+e+d>+vegU8C>}v7DxriyNMxn`7xiXlD)ESDiOQiRXmAi}bS&$JjTvP% z8V{c|L{Q++5E*1!2!_oq5)srHqVvA(_kD-6BdeeD>QrY(&SO5i$tZ&52R93sj5(BrB(W64HS3_v)G^3}(=rnlOh1LWZO}No<@Y)Ev1`dy+#TiE3 zW9TB-I*xV*8Eu7G@cJpTs>0ewsqp!TTO`EW~Kai!Os-{Ak}Cqs9PQ2J3@p tYnaiM5IPNB4x=>@MujLk4nChp*T7j3Ek+qVS@^e9jAmX7M-H;l^9vWx$vXf5 From e4fb702a1cb02731aa26df34e506f8a4818e9fb9 Mon Sep 17 00:00:00 2001 From: Dolobarsch Date: Sat, 5 Sep 2026 21:57:27 +0200 Subject: [PATCH 5/7] =?UTF-8?q?"Hold-to-Interact"-System=20hinzugef=C3=BCg?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ein neues "Hold-to-Interact"-System wurde implementiert, das es Spielern ermöglicht, durch Halten einer Taste mit Objekten zu interagieren. - `UInteractionComponent` erweitert, um den Fortschritt des Halte-Timers zu berechnen und über das neue `OnInteractHoldProgressChanged`-Event zu übertragen. - Neues Widget `UInteractionPromptWidget` eingeführt, das die Fortschrittsanzeige und Interaktionsaufforderungen modular handhabt. - Veraltete Logik aus `UInteractionContextMenuWidget` entfernt und in `UInteractionPromptWidget` ausgelagert. - Zwei neue Widgets (`WBP_InteractionBar.uasset`, `WBP_InteractionQuick.uasset`) hinzugefügt. - Logging und neue Abhängigkeiten (`USegmentedBarWidget`) integriert. - Verbesserte Modularität und Benutzererfahrung durch visuelles Feedback und klare Trennung der Logik. --- .../Blueprints/BP_ThirdPersonCharacter.uasset | Bin 179358 -> 180019 bytes Content/UI/WBP_InteractionBar.uasset | Bin 0 -> 23770 bytes Content/UI/WBP_InteractionContextMenu.uasset | Bin 31175 -> 29348 bytes Content/UI/WBP_InteractionOptionEntry.uasset | Bin 39949 -> 39695 bytes Content/UI/WBP_InteractionQuick.uasset | Bin 0 -> 35557 bytes .../Interaction/InteractionComponent.cpp | 17 ++ .../Interaction/InteractionComponent.h | 18 ++ .../UI/InteractionContextMenuWidget.cpp | 92 +-------- .../UI/InteractionContextMenuWidget.h | 57 ++---- .../UI/InteractionPromptWidget.cpp | 178 ++++++++++++++++++ .../UI/InteractionPromptWidget.h | 96 ++++++++++ 11 files changed, 334 insertions(+), 124 deletions(-) create mode 100644 Content/UI/WBP_InteractionBar.uasset create mode 100644 Content/UI/WBP_InteractionQuick.uasset create mode 100644 Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp create mode 100644 Source/KingshearthLegacy/UI/InteractionPromptWidget.h diff --git a/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset b/Content/ThirdPerson/Blueprints/BP_ThirdPersonCharacter.uasset index b34e36996d1913e3195b097f9e896584ccfa0414..8f86ef68b8671c2e54ff4af70660010a93f9d5ef 100644 GIT binary patch delta 14830 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 delta 14304 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 diff --git a/Content/UI/WBP_InteractionBar.uasset b/Content/UI/WBP_InteractionBar.uasset new file mode 100644 index 0000000000000000000000000000000000000000..15b34f10755b39b6db6f9b19677a0e07a03d7c54 GIT binary patch literal 23770 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 Ee;M1& literal 0 HcmV?d00001 diff --git a/Content/UI/WBP_InteractionContextMenu.uasset b/Content/UI/WBP_InteractionContextMenu.uasset index 7cd0feeaf90ea1498dfd3aa89b027fea412b435f..4850b410c3fc236b0ba12735433880d405b4aea0 100644 GIT binary patch delta 8368 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 Sv`JmwVDHA%K@+b@cmEf%5G7dv delta 9335 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 Rn4KaWI)+)Fij}$%{{f=adFKEC diff --git a/Content/UI/WBP_InteractionOptionEntry.uasset b/Content/UI/WBP_InteractionOptionEntry.uasset index 0680b24588fe9e5c0c7ec5e548ca104ec6a3d8f7..2d6444d3d9b62d12dfc0214fa66022e563cbf2ab 100644 GIT binary patch delta 6879 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 diff --git a/Content/UI/WBP_InteractionQuick.uasset b/Content/UI/WBP_InteractionQuick.uasset new file mode 100644 index 0000000000000000000000000000000000000000..6a66df8046d04fe99866e32d269de73d1991b411 GIT binary patch literal 35557 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 J$bg9d{{U$uZX^Hz literal 0 HcmV?d00001 diff --git a/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp index db42270..674e1df 100644 --- a/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp +++ b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp @@ -26,6 +26,7 @@ void UInteractionComponent::TickComponent(float DeltaTime, ELevelTick TickType, { Super::TickComponent(DeltaTime, TickType, ThisTickFunction); UpdateFocus(); + UpdateHoldProgress(); } bool UInteractionComponent::PerformInteractionTrace(FHitResult& OutHit) const @@ -120,6 +121,22 @@ void UInteractionComponent::UpdateFocus() OnFocusedInteractableChanged.Broadcast(NewFocusedActor, FocusedOptions); } +void UInteractionComponent::UpdateHoldProgress() +{ + const bool bTimerActive = GetWorld()->GetTimerManager().IsTimerActive(HoldTimerHandle); + const float Progress = bTimerActive && HoldThreshold > 0.0f + ? FMath::Clamp(GetWorld()->GetTimerManager().GetTimerElapsed(HoldTimerHandle) / HoldThreshold, 0.0f, 1.0f) + : 0.0f; + + if (FMath::IsNearlyEqual(Progress, LastBroadcastHoldProgress, KINDA_SMALL_NUMBER)) + { + return; + } + + LastBroadcastHoldProgress = Progress; + OnInteractHoldProgressChanged.Broadcast(Progress); +} + void UInteractionComponent::TryBeginInteract() { UpdateFocus(); diff --git a/Source/KingshearthLegacy/Interaction/InteractionComponent.h b/Source/KingshearthLegacy/Interaction/InteractionComponent.h index da7f11d..dd10ce2 100644 --- a/Source/KingshearthLegacy/Interaction/InteractionComponent.h +++ b/Source/KingshearthLegacy/Interaction/InteractionComponent.h @@ -11,6 +11,7 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFocusedInteractableChanged, AAct DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnContextMenuOpened, const TArray&, Options, int32, InitialHighlightedIndex); DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnContextMenuHighlightChanged, int32, NewHighlightedIndex); DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnContextMenuClosed); +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnInteractHoldProgressChanged, float, Progress); /** * Drives the whole "hold E" contextual interaction system for its owning Actor: @@ -53,6 +54,17 @@ public: UPROPERTY(BlueprintAssignable, Category = "Interaction") FOnContextMenuClosed OnContextMenuClosed; + /** + * Fired every tick while the hold timer is running, with the 0-1 fraction of + * HoldThreshold elapsed so far - drives a fill bar for the "hold E" prompt. + * Fires once more with 0 the instant the hold ends, however it ends (release, + * secondary fired, Context Menu opened), so a bound bar always snaps back + * empty. Never fires at all for a 1-option target, since no hold timer is + * started for it. + */ + UPROPERTY(BlueprintAssignable, Category = "Interaction") + FOnInteractHoldProgressChanged OnInteractHoldProgressChanged; + /** Call from the Interact input's Started/pressed event. */ UFUNCTION(BlueprintCallable, Category = "Interaction") void TryBeginInteract(); @@ -106,6 +118,9 @@ protected: /** Re-runs PerformInteractionTrace, updates FocusedActor/FocusedOptions, and broadcasts OnFocusedInteractableChanged if either changed. */ void UpdateFocus(); + /** Re-derives hold progress from HoldTimerHandle every tick and broadcasts OnInteractHoldProgressChanged when it changes. */ + void UpdateHoldProgress(); + /** Bound to the hold timer; only ever runs when CurrentOptions.Num() >= 2. */ void HandleHoldThresholdReached(); @@ -141,4 +156,7 @@ protected: bool bHoldConsumed = false; FTimerHandle HoldTimerHandle; + + /** Last value passed to OnInteractHoldProgressChanged, so UpdateHoldProgress only broadcasts on actual change. */ + float LastBroadcastHoldProgress = 0.0f; }; diff --git a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp index f22ec64..9d945e6 100644 --- a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp +++ b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.cpp @@ -2,37 +2,15 @@ #include "InteractionContextMenuWidget.h" #include "InteractionOptionListItem.h" +#include "InteractionPromptWidget.h" #include "Interaction/InteractionComponent.h" -#include "Interaction/Interactable.h" #include "Components/ListView.h" -#include "Components/TextBlock.h" -#include "Components/Widget.h" #include "KingshearthLegacy.h" -namespace -{ - /** Toggles TextContainer when bound (so a background living alongside PromptText hides with it), else PromptText itself. */ - void SetPromptVisible(UWidget* TextContainer, UTextBlock* PromptText, bool bVisible) - { - const ESlateVisibility Visibility = bVisible ? ESlateVisibility::HitTestInvisible : ESlateVisibility::Collapsed; - - if (TextContainer) - { - TextContainer->SetVisibility(Visibility); - } - else if (PromptText) - { - PromptText->SetVisibility(Visibility); - } - } -} - void UInteractionContextMenuWidget::NativeConstruct() { Super::NativeConstruct(); - SetPromptVisible(TextContainer, PromptText, false); - if (OptionsList) { OptionsList->SetVisibility(ESlateVisibility::Collapsed); @@ -43,7 +21,6 @@ void UInteractionContextMenuWidget::InitializeInteraction(UInteractionComponent* { if (InteractionComponent) { - InteractionComponent->OnFocusedInteractableChanged.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleFocusedInteractableChanged); InteractionComponent->OnContextMenuOpened.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuOpened); InteractionComponent->OnContextMenuHighlightChanged.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuHighlightChanged); InteractionComponent->OnContextMenuClosed.RemoveDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuClosed); @@ -53,72 +30,19 @@ void UInteractionContextMenuWidget::InitializeInteraction(UInteractionComponent* if (InteractionComponent) { - InteractionComponent->OnFocusedInteractableChanged.AddDynamic(this, &UInteractionContextMenuWidget::HandleFocusedInteractableChanged); InteractionComponent->OnContextMenuOpened.AddDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuOpened); InteractionComponent->OnContextMenuHighlightChanged.AddDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuHighlightChanged); InteractionComponent->OnContextMenuClosed.AddDynamic(this, &UInteractionContextMenuWidget::HandleContextMenuClosed); } -} -void UInteractionContextMenuWidget::HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options) -{ - LastFocusedActor = FocusedActor; - LastFocusedOptions = Options; - UpdatePromptVisibility(); -} + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] ContextMenu widget InitializeInteraction: OptionsList bound: %s, WBP_InteractionQuick bound: %s"), + OptionsList ? TEXT("yes") : TEXT("NO"), + WBP_InteractionQuick ? TEXT("yes") : TEXT("NO - check its Name in the Designer tree matches the native property, and that it's reparented to UInteractionPromptWidget")); -void UInteractionContextMenuWidget::UpdatePromptVisibility() -{ - if (!PromptText) + if (WBP_InteractionQuick) { - return; + WBP_InteractionQuick->InitializeInteraction(InInteractionComponent); } - - // The Context Menu owns the screen while it's open - keep the ever-present prompt - // out of its way until OnContextMenuClosed brings us back here. - if (InteractionComponent && InteractionComponent->IsContextMenuOpen()) - { - SetPromptVisible(TextContainer, PromptText, false); - return; - } - - AActor* FocusedActor = LastFocusedActor.Get(); - if (!FocusedActor || LastFocusedOptions.Num() == 0) - { - SetPromptVisible(TextContainer, PromptText, false); - return; - } - - // "{Verb} with {ObjectName}" on line one (or PromptOverride verbatim, if the primary - // option set one), "Press E" always, then a hint for the hold behaviour only when - // there is one (2 options = secondary, 3+ = Context Menu). - const FInteractionOption& PrimaryOption = LastFocusedOptions[0]; - FString Prompt; - if (!PrimaryOption.PromptOverride.IsEmpty()) - { - Prompt = PrimaryOption.PromptOverride.ToString(); - } - else - { - const FText ObjectName = IInteractable::Execute_GetInteractableDisplayName(FocusedActor); - Prompt = ObjectName.IsEmpty() - ? PrimaryOption.DisplayName.ToString() - : FString::Printf(TEXT("%s with %s"), *PrimaryOption.DisplayName.ToString(), *ObjectName.ToString()); - } - - Prompt += TEXT("\nPress E"); - - if (LastFocusedOptions.Num() == 2) - { - Prompt += TEXT("\nHold E for secondary interaction"); - } - else if (LastFocusedOptions.Num() >= 3) - { - Prompt += TEXT("\nHold E for Context Menu"); - } - - PromptText->SetText(FText::FromString(Prompt)); - SetPromptVisible(TextContainer, PromptText, true); } void UInteractionContextMenuWidget::PopulateOptionsList(const TArray& Options) @@ -175,8 +99,6 @@ void UInteractionContextMenuWidget::HandleContextMenuOpened(const TArraySetVisibility(ESlateVisibility::Visible); } - - UpdatePromptVisibility(); } void UInteractionContextMenuWidget::HandleContextMenuHighlightChanged(int32 NewHighlightedIndex) @@ -194,6 +116,4 @@ void UInteractionContextMenuWidget::HandleContextMenuClosed() OptionsList->ClearListItems(); OptionsList->SetVisibility(ESlateVisibility::Collapsed); } - - UpdatePromptVisibility(); } diff --git a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h index 3dc3abe..7fa15c6 100644 --- a/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h +++ b/Source/KingshearthLegacy/UI/InteractionContextMenuWidget.h @@ -9,20 +9,18 @@ class UInteractionComponent; class UInteractionOptionListItem; +class UInteractionPromptWidget; class UListView; -class UTextBlock; -class UWidget; /** - * One widget covering both interaction UI needs so you only wire up a single thing - * in WBP_PlayerHUD: an ever-present "you're looking at something" prompt (PromptText, - * driven by OnFocusedInteractableChanged - shows any time the look trace is on an - * IInteractable, regardless of option count or whether Interact is even pressed) and - * the Context Menu shown while holding Interact on a 3+-option IInteractable - * (OptionsList, driven by OnContextMenuOpened/HighlightChanged/Closed). Both bound - * widgets are optional and toggle their own visibility independently - add whichever - * you want in the Designer, named exactly as below; all population/highlight/show-hide - * logic lives here in C++. + * The Context Menu shown while holding Interact on a 3+-option IInteractable + * (OptionsList, driven by OnContextMenuOpened/HighlightChanged/Closed). The + * ever-present "you're looking at something" prompt lives in a separate + * nested UInteractionPromptWidget instance (e.g. WBP_InteractionQuick) - + * BindWidget can only see direct nodes of this widget's own tree, not reach + * inside another UserWidget's tree, so that prompt/slider logic can't live + * here; InitializeInteraction forwards to it instead, so the HUD only needs + * to call this one entry point. */ UCLASS(abstract) class UInteractionContextMenuWidget : public UUserWidget @@ -31,7 +29,7 @@ class UInteractionContextMenuWidget : public UUserWidget public: - /** Call once, right after creation (see UPlayerHUDWidget::InitializeHUD), to bind to InInteractionComponent's delegates. */ + /** Call once, right after creation (see UPlayerHUDWidget::InitializeHUD), to bind to InInteractionComponent's delegates, including forwarding to the nested WBP_InteractionQuick prompt widget. */ UFUNCTION(BlueprintCallable, Category = "Interaction") void InitializeInteraction(UInteractionComponent* InInteractionComponent); @@ -45,9 +43,6 @@ protected: /** Selects ListItems[Index] on OptionsList, which drives each row's IUserObjectListEntry::NativeOnItemSelectionChanged. */ void SelectHighlighted(int32 Index); - UFUNCTION() - void HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options); - UFUNCTION() void HandleContextMenuOpened(const TArray& Options, int32 InitialHighlightedIndex); @@ -57,19 +52,6 @@ protected: UFUNCTION() void HandleContextMenuClosed(); - /** Ever-present prompt - shows the primary option's DisplayName any time the look trace is on an IInteractable. Optional, place it in the WBP subclass's Designer tree. */ - UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) - TObjectPtr PromptText; - - /** - * Optional wrapper around PromptText (e.g. a panel/border providing its background) named - * exactly "TextContainer" in the Designer. When bound, its visibility is toggled instead of - * PromptText's own - so a background that lives alongside PromptText, not inside it, actually - * hides too. Falls back to toggling PromptText directly when this isn't bound. - */ - UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) - TObjectPtr TextContainer; - /** * The Context Menu's option list. Optional, place it in the WBP subclass's Designer * tree as a ListView, single-selection, with its Entry Widget Class set to a WBP @@ -79,6 +61,15 @@ protected: UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) TObjectPtr OptionsList; + /** + * The ever-present prompt + hold-progress bar, nested as a WBP_InteractionQuick + * instance (a UInteractionPromptWidget subclass) named exactly "WBP_InteractionQuick" + * in the Designer tree. Optional - InitializeInteraction just skips forwarding to it + * when unbound. + */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr WBP_InteractionQuick; + UPROPERTY() TArray CachedOptions; @@ -88,14 +79,4 @@ protected: UPROPERTY() TObjectPtr InteractionComponent; - -private: - - /** Rebuilds PromptText from LastFocused*, collapsing it while the Context Menu is open. Called on focus change and on menu close. */ - void UpdatePromptVisibility(); - - TWeakObjectPtr LastFocusedActor; - - UPROPERTY() - TArray LastFocusedOptions; }; diff --git a/Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp b/Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp new file mode 100644 index 0000000..bce4851 --- /dev/null +++ b/Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp @@ -0,0 +1,178 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "InteractionPromptWidget.h" +#include "Interaction/InteractionComponent.h" +#include "Interaction/Interactable.h" +#include "Components/TextBlock.h" +#include "Components/Widget.h" +#include "SegmentedBarWidget.h" +#include "KingshearthLegacy.h" + +namespace +{ + /** Toggles TextContainer when bound (so a background living alongside PromptText hides with it), else PromptText itself. */ + void SetPromptVisible(UWidget* TextContainer, UTextBlock* PromptText, bool bVisible) + { + const ESlateVisibility Visibility = bVisible ? ESlateVisibility::HitTestInvisible : ESlateVisibility::Collapsed; + + if (TextContainer) + { + TextContainer->SetVisibility(Visibility); + } + else if (PromptText) + { + PromptText->SetVisibility(Visibility); + } + } +} + +void UInteractionPromptWidget::NativeConstruct() +{ + Super::NativeConstruct(); + SetPromptVisible(TextContainer, PromptText, false); + if (InfoText) + { + InfoText->SetVisibility(ESlateVisibility::Collapsed); + } + if (WBP_InteractionsSlider) + { + WBP_InteractionsSlider->SetVisibility(ESlateVisibility::Collapsed); + // USegmentedBarWidget defaults to full (it's shared with the health/stamina bars), but + // the hold bar should start empty and only fill as OnInteractHoldProgressChanged reports. + WBP_InteractionsSlider->SetSegments(0.0f, 0.0f); + } +} + +void UInteractionPromptWidget::InitializeInteraction(UInteractionComponent* InInteractionComponent) +{ + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] Prompt widget InitializeInteraction: component=%s, PromptText bound: %s, InfoText bound: %s, TextContainer bound: %s, Slider bound: %s"), + *GetNameSafe(InInteractionComponent), + PromptText ? TEXT("yes") : TEXT("NO"), + InfoText ? TEXT("yes") : TEXT("NO"), + TextContainer ? TEXT("yes") : TEXT("NO"), + WBP_InteractionsSlider ? TEXT("yes") : TEXT("NO")); + + if (InteractionComponent) + { + InteractionComponent->OnFocusedInteractableChanged.RemoveDynamic(this, &UInteractionPromptWidget::HandleFocusedInteractableChanged); + InteractionComponent->OnContextMenuOpened.RemoveDynamic(this, &UInteractionPromptWidget::HandleContextMenuOpened); + InteractionComponent->OnContextMenuClosed.RemoveDynamic(this, &UInteractionPromptWidget::HandleContextMenuClosed); + InteractionComponent->OnInteractHoldProgressChanged.RemoveDynamic(this, &UInteractionPromptWidget::HandleHoldProgressChanged); + } + + InteractionComponent = InInteractionComponent; + + if (InteractionComponent) + { + InteractionComponent->OnFocusedInteractableChanged.AddDynamic(this, &UInteractionPromptWidget::HandleFocusedInteractableChanged); + InteractionComponent->OnContextMenuOpened.AddDynamic(this, &UInteractionPromptWidget::HandleContextMenuOpened); + InteractionComponent->OnContextMenuClosed.AddDynamic(this, &UInteractionPromptWidget::HandleContextMenuClosed); + InteractionComponent->OnInteractHoldProgressChanged.AddDynamic(this, &UInteractionPromptWidget::HandleHoldProgressChanged); + } +} + +void UInteractionPromptWidget::HandleHoldProgressChanged(float Progress) +{ + if (WBP_InteractionsSlider) + { + WBP_InteractionsSlider->SetSegments(Progress, 0.0f); + } +} + +void UInteractionPromptWidget::HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options) +{ + UE_LOG(LogKingshearthLegacy, Log, TEXT("[Interaction] Prompt widget HandleFocusedInteractableChanged: actor='%s' options=%d"), + *GetNameSafe(FocusedActor), Options.Num()); + + LastFocusedActor = FocusedActor; + LastFocusedOptions = Options; + UpdatePromptVisibility(); +} + +void UInteractionPromptWidget::HandleContextMenuOpened(const TArray& Options, int32 InitialHighlightedIndex) +{ + UpdatePromptVisibility(); +} + +void UInteractionPromptWidget::HandleContextMenuClosed() +{ + UpdatePromptVisibility(); +} + +void UInteractionPromptWidget::UpdatePromptVisibility() +{ + if (!PromptText) + { + return; + } + + const auto HideAll = [this]() + { + SetPromptVisible(TextContainer, PromptText, false); + if (InfoText) + { + InfoText->SetVisibility(ESlateVisibility::Collapsed); + } + if (WBP_InteractionsSlider) + { + WBP_InteractionsSlider->SetVisibility(ESlateVisibility::Collapsed); + } + }; + + // The Context Menu owns the screen while it's open - keep the ever-present prompt + // out of its way until OnContextMenuClosed brings us back here. + if (InteractionComponent && InteractionComponent->IsContextMenuOpen()) + { + HideAll(); + return; + } + + AActor* FocusedActor = LastFocusedActor.Get(); + if (!FocusedActor || LastFocusedOptions.Num() == 0) + { + HideAll(); + return; + } + + // Primary line: "{Verb} with {ObjectName}" (or PromptOverride verbatim, if the primary + // option set one). Hint line: "Press E" always, plus a hint for the hold behaviour only + // when there is one (2 options = secondary, 3+ = Context Menu). + const FInteractionOption& PrimaryOption = LastFocusedOptions[0]; + FString Prompt; + if (!PrimaryOption.PromptOverride.IsEmpty()) + { + Prompt = PrimaryOption.PromptOverride.ToString(); + } + else + { + const FText ObjectName = IInteractable::Execute_GetInteractableDisplayName(FocusedActor); + Prompt = ObjectName.IsEmpty() + ? PrimaryOption.DisplayName.ToString() + : FString::Printf(TEXT("%s with %s"), *PrimaryOption.DisplayName.ToString(), *ObjectName.ToString()); + } + + FString Hint = TEXT("Press E"); + if (LastFocusedOptions.Num() == 2) + { + Hint += TEXT("\nHold E for secondary interaction"); + } + else if (LastFocusedOptions.Num() >= 3) + { + Hint += TEXT("\nHold E for Context Menu"); + } + + PromptText->SetText(FText::FromString(Prompt)); + SetPromptVisible(TextContainer, PromptText, true); + + if (InfoText) + { + InfoText->SetText(FText::FromString(Hint)); + InfoText->SetVisibility(ESlateVisibility::HitTestInvisible); + } + + if (WBP_InteractionsSlider) + { + WBP_InteractionsSlider->SetVisibility(ESlateVisibility::HitTestInvisible); + WBP_InteractionsSlider->SetSegments(0.0f, 0.0f); + } +} diff --git a/Source/KingshearthLegacy/UI/InteractionPromptWidget.h b/Source/KingshearthLegacy/UI/InteractionPromptWidget.h new file mode 100644 index 0000000..8ac3aad --- /dev/null +++ b/Source/KingshearthLegacy/UI/InteractionPromptWidget.h @@ -0,0 +1,96 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "Interaction/InteractionTypes.h" +#include "InteractionPromptWidget.generated.h" + +class UInteractionComponent; +class USegmentedBarWidget; +class UTextBlock; +class UWidget; + +/** + * The ever-present "you're looking at something" prompt (PromptText, driven by + * OnFocusedInteractableChanged - shows any time the look trace is on an + * IInteractable, regardless of option count or whether Interact is even + * pressed) plus an optional hold-to-interact fill bar. Kept as its own + * UserWidget (e.g. WBP_InteractionQuick) rather than folded into + * UInteractionContextMenuWidget so it can be laid out and nested independently + * of the Context Menu's option list - see UInteractionContextMenuWidget's + * WBP_InteractionQuick binding, which forwards InitializeInteraction here. + */ +UCLASS(abstract) +class UInteractionPromptWidget : public UUserWidget +{ + GENERATED_BODY() + +public: + + /** Call once, right after creation, to bind to InInteractionComponent's delegates. Safe to call again to rebind to a different component. */ + UFUNCTION(BlueprintCallable, Category = "Interaction") + void InitializeInteraction(UInteractionComponent* InInteractionComponent); + +protected: + + virtual void NativeConstruct() override; + + UFUNCTION() + void HandleFocusedInteractableChanged(AActor* FocusedActor, const TArray& Options); + + UFUNCTION() + void HandleContextMenuOpened(const TArray& Options, int32 InitialHighlightedIndex); + + UFUNCTION() + void HandleContextMenuClosed(); + + UFUNCTION() + void HandleHoldProgressChanged(float Progress); + + /** Ever-present prompt's primary line - "{Verb} with {ObjectName}" (or PromptOverride verbatim). Named exactly "PromptText" in the Designer. */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr PromptText; + + /** + * Optional wrapper around PromptText (e.g. a panel/border providing its background, or the + * Overlay it shares with WBP_InteractionsSlider) named exactly "TextContainer" in the + * Designer. When bound, its visibility is toggled instead of PromptText's own - so a + * background/slider living alongside PromptText, not inside it, actually hides too. Falls + * back to toggling PromptText directly when this isn't bound. + */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr TextContainer; + + /** + * Optional second line - "Press E" plus a hint for the hold behaviour (2 options = + * secondary, 3+ = Context Menu). Named exactly "InfoText" in the Designer. Kept separate + * from PromptText so it can sit outside TextContainer (e.g. below the slider bar rather + * than layered on top of it). Toggles visibility on its own, in lockstep with PromptText. + */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr InfoText; + + /** + * Optional hold-to-interact fill bar - drop a WBP_SegmentedBar instance into the + * Designer tree named exactly "WBP_InteractionsSlider" and it fills 0 to 1 while + * holding E on a 2+-option target, driven by InteractionComponent's + * OnInteractHoldProgressChanged. Left unbound, holding just does nothing visually. + */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr WBP_InteractionsSlider; + + UPROPERTY() + TObjectPtr InteractionComponent; + +private: + + /** Rebuilds PromptText from LastFocused*, collapsing it while the Context Menu is open. */ + void UpdatePromptVisibility(); + + TWeakObjectPtr LastFocusedActor; + + UPROPERTY() + TArray LastFocusedOptions; +}; From a5eb673c6e0e1379f39a39a8db3197ab6576bb70 Mon Sep 17 00:00:00 2001 From: Dolobarsch Date: Fri, 11 Sep 2026 01:52:59 +0200 Subject: [PATCH 6/7] Interaktionsoptionen und UI-Verbesserungen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neue Methode `RefreshFocusedOptions()` hinzugefügt, um die Optionen des fokussierten Akteurs nach einer Interaktion zu aktualisieren. Änderungen an der Navigation im Kontextmenü: Begrenzte Navigation ersetzt zyklische Navigation. `FInteractionOption` erweitert um `TextColorOverride` und `HighlightColorOverride`, um individuelle Farben für Optionen zu ermöglichen. UI-Widgets (`InteractionOptionEntryWidget`) angepasst, um Hintergrund- und Hervorhebungsfarben dynamisch zu setzen. Hinweistext für sekundäre Interaktionen zeigt nun spezifische Optionennamen an. --- Content/Testing/BP_Campfire.uasset | Bin 88846 -> 155141 bytes Content/UI/WBP_InteractionOptionEntry.uasset | Bin 39695 -> 42262 bytes Content/UI/WBP_InteractionQuick.uasset | Bin 35557 -> 35971 bytes .../Interaction/InteractionComponent.cpp | 28 ++++++++++++- .../Interaction/InteractionComponent.h | 9 +++++ .../Interaction/InteractionTypes.h | 18 +++++++++ .../UI/InteractionOptionEntryWidget.cpp | 38 ++++++++++++++++-- .../UI/InteractionOptionEntryWidget.h | 22 ++++++++++ .../UI/InteractionPromptWidget.cpp | 2 +- 9 files changed, 111 insertions(+), 6 deletions(-) diff --git a/Content/Testing/BP_Campfire.uasset b/Content/Testing/BP_Campfire.uasset index 332628c2cb73479c5ca3d241218afa6f68f77e87..952a409337662a3d195395b1bfe7572a0c02aa98 100644 GIT binary patch literal 155141 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%0AbOzxh-ct4 zkk^Q&Gl@zNXJPjjk(Q1Zb`t;GImtTW>i5`s`$s7-BexPo6h#pQ%HLs!8krPCfKfyh zq%e}scq&h!Zxy3~b2_C(+O>ap5lKSk;Zb7^;j|F+Dv*Tb6!kR_W8BY9wZ9t9|{tC7%nYb4v z^%h*jZi?bG_?tp4P|sLR6kYj)mor7+6z>Mjq$}hPbyyXC!QwF>zE@A=AkJ4dSy|pN zq8piK{DWmeR0jWy_DM8?1iCW%1)E=Zc`w>E&jWc@JIT(wxX>}g`sxWfwX4r#g+0PQ z-x9&K>RFKP#C^4D@b-)_=Q6mT=bTr24Y#wFV)X_a#Bnn}f5H^c@QY%en=s-qqF#8W zP~y7s3~F5lO@v2)T)}H5P)p1oJP9IbNF-x5(VE^LPE{xO?>bWV-2W`UaJpwh!bykt zpPmij5`62~5a-gfWkag`qKM;O*AZf!?)vmEbC|7gZ9Q)rjY7z10zJi#%)k_yUFi4} zio5YdzwY0A&@Z-dOYFGuzbmyX-xAzYYvulgE2I{34FAlMoJtf~=wBh}DR!vwJn$9N z0?&FeUK2g}sjhuv=4b%pE29-AR+d>3BcL1M&G8FfE3K6g9z3vm(?O?>pFZ_X9a~u= zH1`$a)zzZxY&K_}U(h^Jra!02YukzICa=J_ywE2MF@=_Yb!)^ST`dp2cM1g6>`~F%OTr>RULdvB6*Go@*gUmOEz%o zM!)cO)>`Si!t4WrWc&+VE+j18{r63N;c@p6&Q>4KBO){IoJGg(FiK-2FI10#G+OsP zW8==jLX9HU4td}Nr-0atAc(z>QpA533uU zBhMz!xB3N*M}a4V5ZfXGMqH@kT1XY1;>MaE5elADfL!7qp7T~QF!BMqtl#Dr-WFOb ze%{1A`n}yRI7~lwe8TA;*7Kkjlw-dXu`RMrh^>$VSGtAKL6cO@3c97!e}{JME;*dL zLHuBsR>dUltQM7s!o!J!$cQ3aqvAm1XRtp7s=5j4y)&7^q5&6`69nyGRGk=SXF{rtdn4+AR);0fokM=ai{hil&m0cg&haXla6<> zUwC=F;mJyQ8ka9kyIaHPKF6$GIz;0;h$eB5U$pkpTDjT==e3cJL!S*_RNw0tZjLQH zLDzYHpI@+AYpvAkXDrE%oz8qZ5i{c1d>!KbenDjENg$1c6hO+6H-q%RpTYiMor-4_ zRrVO)$kC~`>Zzy@1KuTm;brOZJtK%U&+hG(Y8c(6hxILkpv;ncfSx$^fY<&VwHmc^ zGhOo|h^qLRmqd!>!F>yP7f@;v4{Cil-toN3WxgX%te!Z-r^<~Ynm}$>y|)AF8A9C0 zIu$un?B>9RB9Cvh^AGujm-jD_@5Y(~yQ;d(Eb|Kn(~h}E)C0=lf0PwRzDDI%VMWmf zz5qFL^$#9QREs?X?f%(kV_PYHgBAlUU=mAIl)DEI(;v5^J^gzV)Vw)+(QDopW|>onQUC zYps0S9Xx@;QpBS}##0|1%kHCoVddOD`+Xfc!!e2VenDd0LllA)26CY(B%4b2;NS5) zc?x|Zw}_k-qDZVzV9%ke*bOme7a#Krudg+UJ{n&d_qc|~UE?^8)8UxJ6Mj*}Ss|Vy z_2!4p(#ry4}G*uR3E)A2s#b*%1M zu4wjTU!L{~rLk6{wACb@(e8cg4tp~tg|Ph4Am{fV@H_%Px5rsvjO$syFfb>v7QxyD z@pPEvBs>N70M+vd&@aU|#1ZfuSO*|}jU+zCYq)@SgLcg`t?$4a^TYakdd6pd_>Eir zZFOTUG7##`ZhhXK^J|pMM6Zy%VHkc-}7z%tuHb)^yk}0Ke2bBZ%j* zm!$F#SXJSfbi`!XT}JeVy8ayn>0N7ta4cGAuXNcGl@eU$&}E+@~YQ@qnFCyd&zIN?d#-}c(ysO_r1uI>Nv+RG^Ws@K_M{~fQejIys_ z`78VHdWGpO`-qd&Gu3#jjdwGgOL;fLxfHt@kbOi`cvb-KD?s+&^NQUl`)Wkhm;Lv> zLU$gUYgR!Yo3pm_*zn{GKX<2gYA`na9f%M)wq0Ja8#OQNESk4lgQClE{rGI;t&v$m z7EC?Cp`Nisq>Q);&pBg-jOY8XmxBCLJe44qiIMA?r=GyJ8tC5Rl@mtIQ=IUmd3(L~ zH)@{huWQ~1UV9lePxU&R=I!$e%cyw@mcN?!p;wqj*;g>DFZ&;9(0%)Mj@YmsM=XXF zCM>Jkdxb1u6^SSg5g{TzWIUk1$)w468XhrVqJ|4H`f;`J0yZQI|L`m;up<^kc11}T z_K9J0u;YTKxUgoG>3omnn^F|y~>iZLg6ldsAKk*AHa}l`YSq`+QNSchZHrhGf{L+VW)>?VRw%ELo0k|8c-4Lsp6Y})V^0cum5@iZGX=U}(ILlp zW)B$<>@s6r<{Z&~X`n%Ip?>59lB?dZ0aef_{89j{6LK?SfS{1_my_7=T0urN+46!|K(cuoUNVU@ru@SEmQM#9nr#mbp)*sb4g}! zy6@fi*NSQTMx)KQKCwqmAbiNxVbx}%nKI_izV!Qxc_qBio$<-nK;1{IUTB{u5YyquoCexec<+R?%J~)0U&j|6LUl4hp zK>Y?Kc8+wK4*3PaGoN6|bV!G50SS96I;0={f^;@M86h6=3nD*J<&Eo>V1*c%D0{>*uFIL7r(Hz(^}yP%Bhs^Qu_h= za}Agyybr3+$(59s45l-N-h#w+h`jDWlGTI$CSwoM8`Sk63#INOwEMx@eWbiE6lT&n z8`(4TiIQc(Vvd*~@1y0tGyD*V6|E7IDI9o5RAE6(>rN9^mR!$tAm-*WMGGK;0tH*) z#&|GFlp#)6_}~}0jK_(UIhQexPzMg|k2v!K(Ktf`E?@}LIEpLaQf0v9%4PUrt_NOE zoJLkhweijCi=F0=M*)BD4K8!eH{1y{kIt|WH7kk`l`80-<^kC!Zuig41ENLdsgi6+ zFV8-r#sAKEaGnE1!aPcEGmMp}YJ;Z^)ja7E>3h~)v3ZgwmP?ia#K#JsZ`keAgP4#(%T}ai-h>v-~{6~gFwL-2*=?9)bsXo3)51hlg zR6$~VHMbUc;!nZyZ7uNIke{jkd@_`}hU-Z#8J8}DcrroJ%%jl#gl;$RTtxLph8;}ROCK9DTF&_VC%K}?6^$n6jm>+FTSP8-x$L`tAQupdFq-GRf362dJgpS`wW!YCIohE; zI@j@g6bhR@%gm|j*&cmV-l+BuuKRpqpN;2^sYEuE%XmJK>E|+EUI2Rys-5qc(bsD5 zpS1*dLP$}p&s^QaKFDvoLS`;9uWM$#@Ea_31=(FDbepW}xTkdlc9;|uzIFUxkAd6; zW-NxRglit)|4)xmQw?yJCVxE!a#@^T@GVdOn|%hj@W01vU^Kda`PXlF%ka9!692pX z2BbodFnmeHznb{s~!&6+3mj2mi ze5K)a~Heq)IYJ9V8%RPZH>I%U;`8td3%SV>Y?}Oi@kDWsj+LL&kg%bZ&0}2b=K7mx;HMUH$Wf< zx_<*s@K|9|+JSbgi^fP!ey)&SJ0mY@vV=}T>4l0bxWk{ICC2F0ZG?uYOnn&%h!Y8s@U1Hc5p4X z)-~62d%fP+!#^!X4;~@wq&F;FUtc<_G*#)LJ`0}X6aAT^v#kpLjZfh9lwD+-sN0vC z=5w7b30o;0?!WN~v=V&r?#sAdJ^#sC$X>*o7IM9cW#DD>p0&47|HdcE{?xav)1NTZ z;}g$oZr$Viwsdv9=GH0n9Iv?RJeRQT)?=XRL?sMGwI<;h=IgNQF46#e ze)i<-^2vFxf8|rfX*G+2bv@T-l;y{_N32Wvtf>sSM#A+kpB$Z>T|WKWwXb{o$rS!; zKjEJdNmkE(dU|6Bxk0u}tQB?lrVXIGXUys!r~9fAI9;{BZpZ2FKY){MIrA1}EXT$u zT)mrc_BnN5#R4MBgRZ;Cy)ze#J2m>dPrkhi`mkKo$9hG7_o@2UnMYe4>946b_`kAV zQSa)^|v*#IG97vK7s8j`vl!1=x?a$ zHoZDl4!*#Xzt!K&tRI}7$5|h~Z-R__ygxSyuCsqd-dU|6kmcZv9=xLK)0ED=m`C28 zr;LUwH5o>F7_C>Q+-dMZ>eJv<1A^Fe)m&xMdv-Z z!ZV^c#ZMwYn$@#S$OC%fz5WEPGw)fxAf2pj#y69EYl!}aYt1#pGw(50wgmOVCD%2& z@f}vET`K({L@OMCWc-xY)Y-m5+$y^P`OdlG6!^e4TXXW1P(%Z3gey2Em$!{>HJ z$0>OyBPq(cWZmJG(=Nn7+4V|8(IhUA~b$x^1{gim6w z@i=SBNx|RO#?t<-qd}R?Q?27+JEtW2_Con0g&LaI&=XjMSav0lK@i zqqP2{9njsS9i=RfJkFYP5+2&sLU_VZQ^`|tqHhaSx00vFqq=OcwA2N^+~vA{Z62Ni zW%~6I)iq8}QHlQ%A!uaX17-Ccw|kCC+_}UhJnuD&#{c<<(BG$Lz<0JvzWM&|(=-45 zPtRbs+1nV`37)diXv@CCw`9OVb4%ar1hiz&Bx!UUZ1%BffqpAtkn!SY$Ol%XXj}<+5ZCRbMq91$Ne-f**GBx9H&BvW~?0J{zp~P&n(I1=^A}A-nqPW~1lvFmgxXdyrzNFGpUQt|T zcW&A@D8*cA3CgwD?8RkMgW@wMC74Ug3yUkLhkiXNp|3cfV5XLqmsm&rDG37M_PVy>_kjj~KN=T{Aq-Oc%S z^OO=x-yRpIRG7<)Y(oMau(V+$704R@$c{;|*cooIwJf9DPMpZu$Gov%ZSZ3(SQnrMLS1Trn!R3)hq{7DKpeNt2M^O<=d?leZ>WUR9TvBDK9C` zhrnc3Sj#OH_F|exg{vjCs4bRr35JvSh`t6|HHy4QB>k;JApk&9oMy3`!7E`RA&ZZr zBX#(g!m*_lS)+qWBa@RyPA@JFwMRxoqRKuqFKuj4(a7;t*)wN^RK|rBB!fr zWM*DzNmbsM=)|}<;E$UzIyAk?JT5+XRPdO}ywH-$ysWqsRAh}!51ta1ip#SdL!@Lm zu|)|&2Y2SmR+5blHs@BATU1GA?)c24N$J*#QgexvM+qjm#5~m|niH&$(5Udpkl-jE zI-gC=>R9JVbD$e()`H3s3-pHm+N6^h$>FQ&Y)gsMluWa|h#HCiIt_^9hk)cnj~u#*Bfis_zDHxXwU{9bZk~%@>7zuNGoWi zH84VbNUKAYMYv3{mCNYlR2ZHD36$ZZLEf>yav z`}QUX5JemSXymv9;8a;Hgppy6N+vHyYh=V?l$;Auj}RbVYsek1*X|$IzKsBkk`<@b zyONoQaulxB8W>eblKB;B>4RFO5xTLVLw&%yrgSoSPkHEQB+IVVyOQ;F1F8T!E42p3 zPQMsBNfNbtT+6vT?4eV!p%W}viBw=vXCh6z?6Sn_S z@=HSfkOcNto21jRtG9pu$Nk&uha^aMwMn|K^RL^#pY?P-k%XzQHc8Fy`f2-jXRh^c z;_fF5IE>091rFR8D68CkwHTyT7?r}O>-cEa=pBD<2upjs+tyR9Kl}Sr7G(*?r2nfI@9S+Dl2rLhBkE)ZO=z^2I8E9oUg>u|CqEBTe9N>O1fWzvA zj~ase*#K@k!=mpRg8RY%F1q&MzA=Eiv~Iyg)h)Ph>lWOux&;?mx8N?RTX5ghEx51i z7Fs<{YI&wH}u&eYp z$j>1Aq7E4Do3(2g>xJ4ijQ7XdHH`Tm+BJ;zQtcYXeu;Jssv3#w#BmzMRazOS1|kHk zC}N}zn@nXgLhpfEI@sLfTAJ@Ksb?7OaA@7}#bvmb5KvD?2lN^vFP$BqbZBO+Vx0DE zgg90!bA`AWe*X)tvX`NevGbRPaw9o2&>4%@T&;o87fX^l0v{cpt1pqJeWSS4aBYMt zJ633w%uBBr&aZb2?`fpe-x%80`xr9oeGKo{JBIV>ol95L`xsW&6hpbzk@dm#yN21c z9W&;=kf6KNtA@ z^fcMhZCa(#kQo~WqaLOo>5Yr%L?Q|C`+0O;OlKcDJJ30R&favkr?VfOIM{iqJNkTp zuM7k7xhh)t%8JdsdOe)BJ}zt5sEj_3*4@D1+N2llO5Z)`tUIE2Zrl{HcA7cRVR>5@UCZd>+BpLR!rAFI28 z$TdSNA~t}|3+N1`6Km!WIy=!BNM{h8UFhsg=lOI(7CX{eZ7FKd@ri}+GGP9j zJTrR8mbx2<^t=$}?sV22;~#nYlC620|46-K+w_&Q!dK-x5$tqBXmK>4lht;OEYUwe z9_U=`C~`o+LY*TJ=z;M-HzQW#rb)S&dCwY8pwupZwOQ6o%(1(Uyo|{^9|*=1pY>JdZ3#*^cdP14s?+- z=_vEaAsz&`LN}dGlsdYx<;&o<+Bdr3)DK4&6@?o+HqcwiPCh%H)*7c9I^hzX+BlUt zFb<=-X>_K`M)S2s7}3O}KeW5R^YfZqN^NMWJ(RVk8tSeN$qLtkqE8X(qm;RaX6H{V z`h?0m$_iuuzI}t2-vWox)jahPjKbLNJc9G{+Diz`Wq>aF%oD=ye^M2W z^C#vtJ%tO9Wb9`cUtev^I&jQ{58zhW;uX!zq}?bsFWnzG>^Xd;9>ARzR{a^ zW4oyZ_Kj|u zW^2aFF*at0r!Ibu3nrA0vk=JGz(t2>()C%o8OP`~w&wXOV3TnC>>Mjsk`l>g=D;$;r7mpcujCH3=aNmR$5t2%yrM z5aihD8AMGdhq}-=kv%;P9Ss6CE@zAdNM{?hUVbw96 z?f|tonQZZZX#QS1}BFmM1)3#M#RMhM}@=($3-M1 zMFdxGRv5fLrjy%NXI8jRwPuAo>9YcPky539RA*NF1E`x$HjED8Wo2^|@H{&T7)7;g zDdTYo<}u$C%)jb6m_L9RSv!z{LE?{sD79P*2K z%XPIP4x`$9I%V)CR}yH>U=S$gP3$BCy1sOc0~|zxjE^q2X;(C(+Coy!Z7(8U>$*p4 zfv!3$DC@bOIMA0C!CJfRhIXyBYkYNKd}!LK(c-H%KX+3l>d^jb>}@-6|CGd$5Yu&vbFj+gD>K^{1!KAHAd)K zk^1sl;nd3cMuNtma9~rQ_nqB(J#u72;)c;9Ub^F^`AFbO25=kPyB-+FO+W6Kd-=^f z;up=kY27_5*SzJatcd}L)7VV)Kej$ZV?@>Qzo(?wM{Ig0@7x0`M|8tDK$3wh6geFj z$NXlYUp_za`izy|zuYhBxaC4mWj|@Xq$D+^n~|aE)&h%6@#mT=rdsUAOEh*&?CV-r zo1)p0SN5^}%MU!2b>I%v-f04b z>lpB;fD?t@#$bTx)E+lZ5d0ZKySJ;}YB{0dh)tFToqv7z)s7g0YuQQz8s{gY3IJ)?W9ZS@x@x#JdW0zi3-@G^P&6}B> zy>ruae~&TmDb2zA?y|>Ebf0j$TG`w z_kn#O4*hDZ0cluFN~xo`WJ}W_D&@qISFJqPcK%<+600|fAPtL^r$(SA4Q)KC8@Pqe z5xsD5RRNikj_AB~PbZ6x7C5x`KuJ40NVk_dSyI$RnQVji>vX$Ws*}k$K(`+ByBhbRyltXf9HFLB!=tC4=YW3b|N? zf>0-=wgdvr&b*uORhP5fH#C2D`^BR>tN5_*IThjxP-O)b>21y&iiK7TBMr7|nu{x; z+`^o-Z|Z}PK{W=uudD0u_H8}eJ5W$aN=gJIVuxQo>^8js#VS&kGstv-LmekoWCJI{ zPG6u@k+SL1Q>Oqm!Or*^a#7e?5Gm)$P<@f>A@(5+PeMS=t593cCI!^GIV`mmLYeTG zzRum;)IR^`Y9={u(^kK$+oSdSbjku$LKk))qqNHq_l$Al%zd-!tr=A*qir2N%$RGn zMu^AM%;t~NstoeZTod(Tdc;pyn?>3Nx(4KUU>QGtzvp7l74hPRJrrjb@?pkUt0C5K z&_;&NYcHNiUGY>h_v%NF>o#+`2{N#l0o*VpK{zXnxOP*B7M;SKn-h z?n%G;ojN&Vl{E;-V)XVI&{c6z=#^0gL6B9!400hvu$~!)-+54&qS@NZ^Ph4`PtbHg zLE1pgW1T^nIyA{B?(L{>wGH9Lf2_@7pKh&6Oq$n7}nI z>Xhms0a>TShZ)l;wL(1Vq6mYzACF(j4`Glo9` z-XSzZ$K0_8N1A^6$a`DGSaIC}73pZbT1iDWFF=Cqgq<(E(#*VObgr3s_vD;seArt` z9mU0@Cc3kOH!qYYv|gR1YIN<@nes13b>DHZ#;=XLB@YCtSZofZt|pZ?$)PrOlUgOc zf@aWj8q z$lH?zme+f!q_){WXgc?Sk65iUMKaekdW8+-;Qx$T``9aqz{au+_#*yCsJ zv|+bwPqp+}@M%iI!Yj*SfqhM03FPpyZTERbY;B*Ew1bb|408_P!;Cq8njs$b89zae zg>F@&-H+M!$dIKczkBv@7a#VY96v$O+1{bohHm@Wb3?kv9_Nmehw@?bP&pck$uS#d z`~>F1jx2aR@r{FIcRA+?_D}jv;lqk~{Deh5%mHYu(suMjsMpa^6ZkfJWHM!btDPR3 z&$%87adiKU5BuQ8m#1i$6kMMTA0%hpD%o=xYLTy?5AB8~ zyv!X4ylW#{US4iH=N2(uQyXuz-rQ-B9mvLF1{@~9%z-s!peC&Zv`AnIARL5_=y;GR zy&)f^knH>8K&*{ZI_^hB3cmzjihc+ch;|SR(%jn=Mb8V1?6>BGBo$J>ew%>WOy_<( zGtt_y(bi$z7u3ifz2tqv-zW>f5xrdtPxDqW-}rGiQIvGmqM-JgO1L@vwWB_`>iG7QJ;Pba@-2M6x)3LRj>7PcIO@HAD767 z{rCDU5*!5mVWy~+?fiY739awW4`}Tk%!hfPax`FvfqD^+OY25>(S8VCDJM98cuX3C zIsrjHbOt#;1u3jHe}MI=&VK01)qP(bxe(*Fa!m5hBef1arYt}u)XVZMbNDc0`XQL4 zvdcw~0Y(crgaY5ZgAX&NAA&KToxg!R+Q^od5}Z78>3-R_tt#!`=)K4qWMeS{`XMlL zU`-jg_M`+gBrpZ4v`(mSr3HIuM(jWDvoXhBvaMQ9EL^XR@OK=ZUI|M3)MsPHq^7U0 zcx8g{EC!P^8gRuW(GMX8f%kGfb~H-+ZnW#>jeZT@Jlzz+hq+N2_*`icti;tR0bez z?38t@AP$R_3b#6)v;gj%AOt$}TQ(^%S4cI~r#X>xTN2Z#R$HMAo!x1Zk1uZA zb>yMv;=xWk+jQ}~LaT-fOh_&8jCH;G8|s8cwvp~is{Va`?)wFNSPm%Ffu1gLE zwR>?qDV`70(|)1NXwwkcw2E}HU*MPhPdXoFO#6lZ>9GIphnCP}zaYo8wRHmW?ta%} z&(4g2?@w1>!H2B_Vk9X2OEUz}4j9DDEjACP&{M43Ue<9U<3I`v9jy zY2lb=sDK(yR48a8CHoI8kdnoka4J783lzh0RMiLor0aK(aO9AFl zpiQK+-|=|3>yAbJMCq({uf;hdEtD_t1fn1$1kmKD@he}?AMmyBf_2koIX~O;ln*mz zpKXSC^zQP0rmZ4MG9xLfb_?^|A;5b{QPfgk1_i1p1wJc$S1z1lKYs>wXq~m#!DZFn zL7RNMW=+`rdrGUD5?TvTHGv-#%+XObeBH}qpEdGWB+i>qW2?)3KFpX}{1ox{$ZA-^ zxQCBr8)^=|Fs4e?DBxX_7D0}%)wxgit-s?j`;S&%E$BPTlMgH1o>w#*+5!c&`3TZ- zbzMA88=xXMKY9(hC{QZ`=LkV<`kq~YtMlWJUSO{f%9NlCoh^K<^U%6~_>`Bf?Nt5C zKmH0;`8zkYa4{l$^upsBT~o4pq*t5nIA(1F86Rd$3x}tL$HkauPTMj^n*F+2IoBSu z{Sc(l!a

81x|4h_3+_k6ki=uz1{KI|1LM?*d&kUPO~IU52~ts&Uq1Z$|UVo1L0%ZHn?)%ot`3d_n+T zDZdzCe{}IqMQ@bpG#?W5P)`uII&163o7oQMUiJPIAorv&Z z#=K|S1o6mD=zx7qS_C;p=H2`Jtf`}9KgO=Z?Oq?da%gYvJZ}!;Ee6t&@9=9o_J`Y-#t+ULHq=#sKr0R19*kCeMf624Wuh`RF~6J}cmIG};GXK#tWvU9Gh!X`0Wnnfv}qYwNm#4;u)?NKo1y zJ~zl3qaq?z#LE&v3J7rX@VR}8&DuxNlB|eXHO60PoC>%$QnLSW2Ps*MPWY<;QCMk_ zca-w8r(6imfZ`}{9ajNDeg!jBN~xZxj2?AS9{U;rD6Wm*tXY8IEEW&MP+$eGgfPCB z+x!cnV}8(2ks|8nDKd~7(b-d6xs`pndRDm4sz&9T)^aUBm#b6iDWDg!o`MfErl)|t z81`Mn(AGt^Gs*`!SWm%+l?+b-ci8mt6d)1n75K0c>nZ9X0rc?{ASCM*_^=Y_DZp|e zfMa8OAK*n=wx9?M|8$0}OB1kJK*@Z7i$zmnegYex+&{lAE`2&KpSPAwZu#b$4A}h;KFpXNM2vW3_mwoZGb#Xbu=^o=Sjq4pV#F=G z!-OD>9t0#}-+#l0l~@k~PcXAD8PZm8_QeGtIE$5F4+4LRVc!p-QS`%50tK~c23n_x z1l>z5biYFZm!Y6`WdfSL=sZCY4Y{zVmCcVmzS(3tcllGf%6b-_GlI|t9qdgVJ`6?? z8uB5bTr%P_1W@N?_6a9y!nSDQ~`<7{KuJjF9dXNvR0>nsA zk&X90GA)T?Dzply;efB8$3-M8LD7U1qF{YUp(?B%*S z>aR&lerxPZ@sL}=y_~WJyDUHI{PfcO8DlBlK5*)^MV~K`ZFXn9P8sUJzDIUd8sb`awfDZ8z{!dD<5XcAy5uCa1Dg? z7!fsE9vv7mTs}G&zdI{1B6LKw|A;X6$Px0ep`r2cz?*w`x^27h4R#@ATv$!zl`^l4`~H5j<+_#@~$7 z__5ZihYCxMCQ#IGg`WA>xt~jhelPVc=swT zpUNr*`cAK(Fn!B;c@D*89meOIHR#oSR+p_AvNMVIgqBluf(SgZyz*hNBSk|=a-^1} zeCjWAm03HwIat_8?WC^m7WQ^7G8d_Xql=4`m95mlLWbWqg1>%ETc5^!mQS@x%Wz{p z>*K>Flbi;Z8&<%^he@tm8b-F3$IX`U|r8}m8J{^U1 zyFi1*V0uPFsZ&M?ne*%1Ntj^|cM=AJ-E|sDonAhWIlr!YXQwrwcNT+3?P(}=djF8- z{8}qtaL)zpstE77WS~q1F@%jIh6q0ZCPu@s&U-FR_j3-H9Z=K?r;#~VRdXY6fNinDk4D1PkO z^hLj{d*!h;J$hvN!xecHZ+;6ed!)H8kc?QeY~z$HiobJQ)I9odn+4jS4$VEy}OmYyQ__*8{T(u4G$lsRyCjHYnu48 z)(13LtZd&!t*HwD*f+qM(7f-Wk8W5G05n*vY~MvdHyoIEZpjW2nmP*Wc0m~|R<`fL zX?4v>gXo1F_CPNzR<`e=Q5niH)j}{yJjqUXRt8KJ#{lt{I>BY6Qh2 zPFs#NZD8ZF;o{^YKjz-wMe!D{u|M=(AKxP()jY78*X&e^?+qL-KV-MZcZICQ#GICo z%qU)CdzZ&sC)oL>&7IQXqDhtO+RXV`UitWM02Po>l5PQ8mG)FG{1c6aQm1KC#CdVu?1!nomd{%0 zqZ`%(01Xzy-JB?=)ak}p&syoD4A$)e4HkoMkI+!+lu-hnwbDl~?63zkSPcK=kSM0q z>E#1>)=D3}v(p-&!D8^Z5)GwJ?;pyuRyryFN21O>RIMn+&+|+nKsyrKatc7Qmf>D< z{17c3wh{7bd`u-7^x>;)a=wwo5aCC>&Y*+>&QMUx)awO=0SkMca_iC2YmU!t+Zlt8 zpQ9{54Y*1aL-VlT%;3Y|qaie?E|?7R-&9JP#<&VPRpt9&2^17sxKJV>M`pF_+Z(Rf z?wi>9{GRgF*X`oNTGIO}V#ULAteGSA&P?1gf|0k}6(~>wA%up$%dV;H< zkdO?3i~c)KNP(n*1A>|pNiiID-S?LVzB}SA`)=}s^oMWiWNoe;cHk99(P zSZQ=ZAP4J&_^@JjLZ*m~!pG3ii85$q=Cm|$&bk~v%$RPd72;7JHw1E|n}0fD^)eUV zt!=Em58m&1k`F7fZs;TIjF1#0hG+*mAV3;c*EHbik>I4|8&Yg5EzY5c?=K=8AliYU z7%Ug7Twm>QYTC*GpPkz~E)0yjGRhNjP*9tFQ8$oXkgx7+B2b1xC^G?N=!mY2~c2;JS1MDO4)h84eMa^ta`~$h;JUirT0O{YGb7uJ!f& z8e;}7@!U5c=+gW5-H&qH5>-2 z7L$h`Zna8KLjqSpd4x6Xt-wpM&DUS`T0duZ-l6_+iEusaCFJGhwsUR~<2AMMM(fR; z2H63w$*w`ZS3z}pElO?Xk~H8)>B)(64)bAu0x=XmWV=3B&;%m=?b;uyLqVt*#;$$5 zTbOrgn(nzN;^$O{YBg2fV@qwO6RNS&g1s{%_Mi9Jm}4*5RxKx%52Nw{gGJl*eS_OI z-1ucbAP#)M-FZG-lU;*+(YH68SlR!PN5b@)%W5rh?8=9g*>%CYfT6ARx9j%E9uziSUDKVMlPGTh(ay zW41jqWa-K8o;}`F5PB-M;RgPA)UoMNIi*uYV;z?8C6@5tVRp5ES`s0)HNGAyWe%Ri=nwC@7@_XiUWPpoXfb-CjX3KAP1aAl=`UGq>c9VRj_U~!hsBOl zf+$w1#2cNU&xD~@h>n#`5N690CBZH&mVh?$=I4m5!(C%MaPf}5|X`6~C(q)d%UwH4^7hlKvaBL#94U3ie zYmtbW`&Mq_qBOK|D#0LKj5kp%it^X~sBWG8wb{9c&Eq;bx$M8bcF3y-e~;sKOzN+# z5MkC|^I^vH*Ra5hN{(7)Ir*GdQp((cTh2JAAxNXI136fK&4-m_e+~SyzL^iB1`O?@ zbZ~HD7=K;prVCS;I{LxY(GyKh33z9nGavRLI&5eM);aTGrPpD%BxZ7ynhT1tOTCEZ zqbDf{HiQC1`*5lt4VFhk6-ZEj_6tQh7uMmVxlS8=3BFh)5-SR>t0F0g3klM5(MytA zs6+~f0O#kznP0lS5XvkkQb^a3%*iA+L2)ce1K-p+1LQ++h%n=E1ZYKKHQv@7S>RfZ zh_9A;b6E>ncXFjIiD^`8wGc_Dpx(4DCH~FyOn9yjIG!*OwKPa>)h;V1%@*x5IBXroK!xOa z4hM8NqN6i9x}c*gI-Jna4IMQpdnAUa$k|TKFAlslePQOlsz&6Li4TuA*nlp8p!Ot< zyZ~2rQG6=co{x%ZPiU=w-kv&(8neDvTffVV{E~tf{d(-P^Fswig@%NnVm^YR{#ul% zFv~N7sKYY{+unK5(RJs>A%8YoGr6*$sCTiT1`*ZMIHGo3`FetH+)v$C-;1#w`^8^% z1Vx2z1Hk}V#mmeBY9jp|g3boKZSW5_+9-DVY-zmX>>{(%e+!BV9sz;@MD;>sj9|d^ z&8i=&8g^B-Fe7korAp7_f}(;WgrJ?Mu!Sb*=B*JKBZ#UPm;dNhr(5m|m(Gnlo>fI6 zC@S44)J{~m`z$Cb3=2jORc6`Ov)z+KkF4HPQrpL+%n}rp-elKKRM;CB!H+fnq3h1^au}E~a04NX?rGcB@2nK1aQF7h@#Z`KBbFDVWyqVK#q`Uly zpDThK(q9}q_&+DgAt_rJm1*Dj+Mhkk)4}s)J4M<((e%5G9VApcI%}U^SP3VFD(Lw& zngE+Y0U|B#2j7R=XeboMWoA@@ok-W~hwjWj*+|m+tyz;t^IA)4&i?cH=sxLPbv7g4 z4w>h#McnQRUuw$F_fahCe8Kc&?)$D~W|WKjgX&G_|Jqpe?fbt&)_mijsNHOJjX$?m zk~m13?>U*Zd#}!BG(KsX^YCpqx@KWBYOc6>AjIt2ns;4wcOnN61v=~CHaEq^Rj4C&rGw&IqlHJozu zfI@Rc($@oCMRQD#Q}))?~J+s{IS8kkE&fiqwH(%^M=o+Jb(RmE9Z+dQz%%g6%+*4roZi?u>U%tuDcT$vTzXXpVotsZg81>#-F{o{=S_8hQ zub6e$?{Sx(ZtCttB06+U{?TJ@x8#OM`HCTu*jsSd%tlhC{SvJGA+}yEY6RFR79Ptm znO)C95--YL`{vnm-L=0ZXQAxL4KqdiJin7k%V!XfHdCN*r`v<19Om chtHZIJ86UtZWw#RA)rD|b{qJg7X&E(e|$~Jf&c&j literal 88846 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 E0IH^z<^TWy diff --git a/Content/UI/WBP_InteractionOptionEntry.uasset b/Content/UI/WBP_InteractionOptionEntry.uasset index 2d6444d3d9b62d12dfc0214fa66022e563cbf2ab..9e34e302d49a176c808c56f264f9492682e64732 100644 GIT binary patch literal 42262 zcmeHQ2VfM%`ky1zP=g?%0vBp%frL;JY3T$42_%4k0+-w-Ik?<~D}>N{RRJ5KD2k$p z1q(&=i6U5^_1RIXiWCc|2u39T?>9TMx4GP14v4<@_q~D5&dz-EwfW|oZ)W#)cQ5F4 z-`TRVvWX##g;ry%l+H*GW%nF&?53-JOuu$_&FaVB@6+SOq-TcAVyrgR_1!(b_wR$g zu6b%9+ctYjr}ovUZ1GhsCN9h{KYrlDD>r}g`ic7W42;eDc$Vd{_>8094IjKYV*8F= zGYGEr$Jy(4WwhUvQY-xS_vddlb)mAaqd$A9e#Wv^J7&N4_=drM^a`c20j~4!%}shL z@nDnHw>gb1nzf^{gz@)$mNN9kwwoSrys)I1`Ct;2eP8g@*T)lX|E2D}s15Niq(nwg zSz9`~rJ4$rZX?sWjZVm%kY;l!4pXknVz*@!;cv3dTC!7ZAx-Cr*rrfbkI3E zA+}e~KJhVq;uCtM^ym@WJt-zBIX<>mY;0_wUOkg~6Ns8XtZOV|IDa3lmOU}pbN=y4 z#&Au#U>^)&>~lK48?Dywr+n_725aA16`MRi$G-d4&Lz(P4!FQn4N`SAb|S_U(wMF~ zcOIGCv-1eWs+gQg*PfAmcs*5APxDhxbv*skdGB?|*sf>n$U|zG{7d~_hEBbQ3XbaP zf>q$l=l*p?6KdNnE7xHua&=3zJCu9%;sE4MqWV6L(cd*CDr+rhGpyRF9(H3*Q;&QS*?V7G> zfFg&(RFdhi7by-`2}^tGD+>S5-Aln!OBiII0-Yz zNwk`r&JoHKx5c42hnZZKsY!sMuTy?wlN}l4-Ho6f>I=*)E;B zn_BBDM_HT}f?>nk_U#KzOkn!6AHEsM8B164O}Qn*6vdov&vZNTm8{8%b%c`VWGkPz z;X3F%!Rl6u9K>p>+hS(#)w+6QGks}RiPNPNj#3;>D0-f&PUmusvP+5-Rxj+GmQ_EouIgrd@F)Jx<8z0oH(XXq9mL^=lmS!_sa!nWu zWeeu612x@7}Sw#zr>|z+CMt1>&t*jBqs9hXSE4%;P)W>1*qHq|^7i{_+M-xB~rZd(~?&`~N_l*O+WEEqkLz!w( ziZ#SVtaCUVw(sh=IJ9yo<_sH+YeliKU&ESDgt@?pDdr@5t{bB~&6a0pFHC6kJ9MB{ zsZKQ00Xuai8;?yyX^+gv7Vyp=o$TC%c_S4@Uv$u^8wbCwHA+TCv0{#v|{ zyWAayq@%FjWT>!tGl2*UASG!$Q;Fy4^y2GAjWtra@4aJe0f&8 z$;FzK-1{~>Uka`?)&2g+fj=N}szTENb)cC~Kx}dC>$5R#xL&wl-7x>3Q_-=!#L4Ey zzYzlFcwJ&=Fv`$8^IcU7~44Jv59JHkFGX;*lRFskES_3e{z%u4>ud! zf(nO3!^9_WbDH2i6BbUbaRAf1H;^_ho^StQ4_^S<9Jy

nq4w9)on6XUwr*SE$t- z$>aC^cqbf5xwf9!snb6{YXrwLL@6n@JIqd&*mc-ebX2;@=_>CnoUC5UYVSiY=@d|z z9I6j*lITo9*-%rFW>-CLpEnOfcc@ZGrpg`MO|72Y4)v);nI;-sr1|5s`l3hFLeH3+ zy?y5Zj5+e5G?Zy#O&Ic3Q zPWTzJqKupF2ai{OOcrF?onx3I<$DE#1`tlR^TIt=Sl}=?J{EP6jKkTcbW=Vy4A4{rjtqGA=z}gom`7$Iu98j zh_eWW*w|IF6yr|l>$;O4-UOl4OLeebwSVKdt560HsW`Ij@D6;OrZ@->%ihrUZfJ+x zk!K#P`(fKmNaj#XRyOL*M~5gJCEJ511(T5 zE;NX}ajqSJa23$hJMZa#&E?>T26x0xRoVzMe5yq>NXpC@M2mPIIJZU zLGf_-Z0P1I;f+VB{ydQeDuwflA7b;NE>X(8{JN;0T7qK5nK9J^S$%@!Hz$CVE;HYH+kDs+PS;_AHcb|flsJ5F;@eZ5Z@#a#*7iy7QS72Oa z+cEOVS+U2Sp1BE*Q7#BQD+x@k?D!WmlMo}z>LH{bX92lASAn`JVUeG|I}+BCKz@@n zWcfaK2CPmUmagJytJ~9+h%6`gVPA~51}_?pmxK1N6B77?XENGgzR+;1STq4xdW#jY z=olzekTlxX3y=ut3IqY+2$@}qxLMab0}H{ zV?m)!F58;Nz7Ey%iBH9N<3_`c81C8<$??<9Whl`6b&JsnGr(QB=^kU1)qko3g9`a9 z&l>hmUW3lp8IW!hMQE;N)JJg`fBNZ-ITww+20bHo1e77)8(_P_^>R|p=HFn2B82;8 z&eWw%fk#~jlT*NQVMx=3OX1uxxD%{)8ov(~uRVmpG193x(k(PYa!c-UU|ct-0i}Yk z`X^^ig{SoHnvC&puEoO2tK2IBoBHVjEQ9j++S2a=&I<`> z@&@SS3TwhZz!jF5Ucl&Y&oWnAs(L}e#yn84GAwnyfHWq#?qTBk6|)zxH%8i^sEAQp z3j1Eb3zTytBf7IJ@x8;!IbWprYX!f4Oq%A#$MLZbtl zIZo0CsWGQSuN_rs&PctQU}vNz3@)SQ9F1~M?b0-qK{&lNba@=pt%YD!X7i&m1zW|~ zFT6CBAp$dEw~AYuMR6MKHfxDrRcgNHGF6EV@K)uYBMG<2;H(l%RkTWN5K_iL_DQ!^ z%*H&2y^x!xz1T*vrqP9MFeB~R8*O%@)lU1t4v)b)siMSar3l2xEm=33;j76^xqCHg zGwr3B=fny+t#a0Rz!#h{J65VpxIhXS^rIG2h^7u1Qe2ug;QY#4m|h!#HmgNY!O4Re zq@r;s+z3=BP58~YsX`*zY2QFE7gkO>xlH*+gh7`%hA_pHmoNY~{FZERk_OXrs+c-M z_Ubux?*DUoPQ{HVEjW1w5@f}m)2zXio2wMLXpHjS<6{`sVZ@z5zQd#MNUZy{j*RCm z`RvOsP1IOISH25_XNzHtfe58Sbb{3lCKfpl^L+za?Wn7JzG*7MlWi2qkZwZj7_|_E z=GGj$tAHDJJ}ttzMi8>l4msUFi8LDd4N<4jO(>m4m)+=a+bD{$xGW~Ckv5*(MIwAr zEDmF_dfOFXIf{!mCyX?UW4_@efmUr{5n++I-N}hMEwra^%;)>vRx74_lgsD?OKO{3 z+W14zW)CNt>9KT%()cV}l0Z`)RF7WJ-)Q6%ah#eKU12me}1y z+(xqjIL-qG*qKwE3bherV?YW!{k&uQS_T8a+<1Yh2KsAxRW*xd3VzdZN)`hM!laSZ`B&P zmbvP4P1NNWC@OBd&8SQ@S>1e)kXeioGP~Rk8%1t;Tr&MmrVgC+%PFcWYooeLPsTy? zad!~<=k?gsrcju$h+8~P-gVuy@rLDjg&5bfwAaPAi^N6NeCikU_x z-3KRU246yBw!mJ@TdPg%{5c#np|PzxBX!-$y#pLcjw0P?A>DPi&@(68(@?PErkveq zGIPv`eH}`neJaRk;c>iU4lZlu#K6xQzPf$;QfMuR4n|$pQ_qFNv&0) zQhrM=$dKVMDO{Q)cETtGz?`X0^ki&^Z1LC)TsYY$Jr-p)=Hgi?#o5J}<8~QM)?!nM zIyZAeEaLYUjTZShlRBSh)73z#Hx(LYWXwO5h|s*I6cT#7o`KfpQZOu|J&cf zy=(aC;I#6;{VhBa=Zs{ys}h{b{ye?ojQh8|Na&p%n44O|L^--cnm5yNrUORfB*g#cAA2dXCOfa7}o!9_qXtv9QL=m(t!kR zV9CHYynI&3`*sytI5~nKf42eDNcX8Hc7%Ta@Q}!3mXgUA+!LZQ5ZqzHw<$=tCxd`H zMED*I0`4HeJst$yeuBFM1 zgEMld%HhI;gu`7ZBt6}AY7vuT@gV7My(rVeN&oVcsKe==AmL=&%J9*iC{LBaNuDc% z3keb*_8O2X!v~*_FGsK8R#J4EafxJ z=0%nMxmfu?&zF4l=Tu6H0|cTc<@;Ty^LEtg5rG==?G*XqDxfFr?GK`NQqXKq_@yt! z7?$I%`&>b|l2ai0>WH?WcS1)``ee|%Tfn?MS7a(V1xxR^j-K@GdinC^RYFKq2TSjm zj-H$&^zv1kU$ykU)zNDuP=nq8kzZHE^p5K28Floey?jx{^uE#23->{SDk#=GDS=eT|z#o+rCTbB8U`7zC_X97d>3QojWO*fmiRwV|`O>G9&s(2o zs(_xfmoqy1>_B{u5WJ%Qc8Pr76(Uo~DUf{6i?(`t5me@jUTGE5yP%T~u`Tu_W;g7ryMDK*a^&

S)SegdrX-7KlFCprQ7e35MPc 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 diff --git a/Content/UI/WBP_InteractionQuick.uasset b/Content/UI/WBP_InteractionQuick.uasset index 6a66df8046d04fe99866e32d269de73d1991b411..57974fcd62062a56fc1c56df460c4beb0a24c07e 100644 GIT binary patch delta 8432 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 delta 7918 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 diff --git a/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp index 674e1df..4f85289 100644 --- a/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp +++ b/Source/KingshearthLegacy/Interaction/InteractionComponent.cpp @@ -164,11 +164,13 @@ void UInteractionComponent::TryEndInteract() if (bContextMenuOpen) { ExecuteOption(HighlightedIndex); + RefreshFocusedOptions(); CloseContextMenu(); } else if (!bHoldConsumed && CurrentOptions.Num() >= 1) { ExecuteOption(0); + RefreshFocusedOptions(); } ClearCachedTarget(); @@ -181,8 +183,17 @@ void UInteractionComponent::CycleContextMenuOptions(float Direction) return; } - const int32 Step = Direction > 0.0f ? 1 : -1; - HighlightedIndex = (HighlightedIndex + Step + CurrentOptions.Num()) % CurrentOptions.Num(); + // Scrolling up (positive Direction) moves the highlight toward the top of the list (index 0), + // matching how the mouse wheel scrolls content elsewhere - hence the flipped sign here. + const int32 Step = Direction > 0.0f ? -1 : 1; + const int32 NewHighlightedIndex = FMath::Clamp(HighlightedIndex + Step, 0, CurrentOptions.Num() - 1); + + if (NewHighlightedIndex == HighlightedIndex) + { + return; + } + + HighlightedIndex = NewHighlightedIndex; OnContextMenuHighlightChanged.Broadcast(HighlightedIndex); } @@ -193,6 +204,7 @@ void UInteractionComponent::HandleHoldThresholdReached() if (CurrentOptions.Num() == 2) { ExecuteOption(1); + RefreshFocusedOptions(); ClearCachedTarget(); } else if (CurrentOptions.Num() >= 3) @@ -225,6 +237,18 @@ void UInteractionComponent::ExecuteOption(int32 Index) IInteractable::Execute_ExecuteInteraction(Target, GetOwner(), CurrentOptions[Index].ActionID); } +void UInteractionComponent::RefreshFocusedOptions() +{ + AActor* Actor = FocusedActor.Get(); + if (!Actor) + { + return; + } + + FocusedOptions = IInteractable::Execute_GetInteractionOptions(Actor, GetOwner()); + OnFocusedInteractableChanged.Broadcast(Actor, FocusedOptions); +} + void UInteractionComponent::ClearCachedTarget() { CurrentTarget = nullptr; diff --git a/Source/KingshearthLegacy/Interaction/InteractionComponent.h b/Source/KingshearthLegacy/Interaction/InteractionComponent.h index dd10ce2..27163b7 100644 --- a/Source/KingshearthLegacy/Interaction/InteractionComponent.h +++ b/Source/KingshearthLegacy/Interaction/InteractionComponent.h @@ -130,6 +130,15 @@ protected: /** Executes CurrentOptions[Index] against CurrentTarget, if both are still valid. */ void ExecuteOption(int32 Index); + /** + * Re-pulls GetInteractionOptions() for the still-focused actor and re-broadcasts + * OnFocusedInteractableChanged. Call right after ExecuteOption - the interaction just run + * may have changed what that same actor now offers (e.g. a chest that's now empty), and + * UpdateFocus alone would never notice since it only re-pulls options when the focused + * actor's identity changes, not when its offered options do. No-op if nothing is focused. + */ + void RefreshFocusedOptions(); + void ClearCachedTarget(); /** Actor currently under the look trace and implementing IInteractable, updated every tick by UpdateFocus. */ diff --git a/Source/KingshearthLegacy/Interaction/InteractionTypes.h b/Source/KingshearthLegacy/Interaction/InteractionTypes.h index 8172338..47d95cb 100644 --- a/Source/KingshearthLegacy/Interaction/InteractionTypes.h +++ b/Source/KingshearthLegacy/Interaction/InteractionTypes.h @@ -37,4 +37,22 @@ struct FInteractionOption */ UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") FText PromptOverride; + + /** + * Optional per-option override for the Context Menu row's text color (both normal and + * highlighted state use this same color, so the indication doesn't disappear on hover) - + * e.g. red for an action you currently can't perform, gold for a special one. Overrides + * UInteractionOptionEntryWidget's NormalTextColor/HighlightedTextColor for this option + * only. Alpha 0 (the default) means "use the entry widget's own colors". + */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") + FLinearColor TextColorOverride = FLinearColor(0.0f, 0.0f, 0.0f, 0.0f); + + /** + * Optional per-option override for the Context Menu row's highlight tint - overrides + * UInteractionOptionEntryWidget's HighlightColor for this option only. Alpha 0 (the + * default) means "use the entry widget's own color". + */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Interaction") + FLinearColor HighlightColorOverride = FLinearColor(0.0f, 0.0f, 0.0f, 0.0f); }; diff --git a/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp index 5a70655..b8c5fe1 100644 --- a/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp +++ b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.cpp @@ -11,6 +11,17 @@ void UInteractionOptionEntryWidget::NativeConstruct() { Super::NativeConstruct(); + // Capture Background's Designer-authored color before ApplyOptionVisuals ever runs, so + // "no override" can fall back to it later instead of an arbitrary hardcoded default. + if (UImage* BackgroundImage = Cast(Background.Get())) + { + DefaultBackgroundColor = BackgroundImage->GetColorAndOpacity(); + } + else if (UBorder* BackgroundBorder = Cast(Background.Get())) + { + DefaultBackgroundColor = BackgroundBorder->GetBrushColor(); + } + // The ListView only calls NativeOnItemSelectionChanged when a row's selection state // actually changes, so a freshly-spawned row that has never been (de)selected would // otherwise keep whatever visibility Highlight has in the Designer - force it into @@ -59,26 +70,47 @@ void UInteractionOptionEntryWidget::ApplyOptionVisuals() Icon->SetVisibility(ESlateVisibility::Collapsed); } } + + if (Background) + { + const FLinearColor ResolvedBackgroundColor = Option.HighlightColorOverride.A > 0.0f ? Option.HighlightColorOverride : DefaultBackgroundColor; + + if (UImage* BackgroundImage = Cast(Background.Get())) + { + BackgroundImage->SetColorAndOpacity(ResolvedBackgroundColor); + } + else if (UBorder* BackgroundBorder = Cast(Background.Get())) + { + BackgroundBorder->SetBrushColor(ResolvedBackgroundColor); + } + } } void UInteractionOptionEntryWidget::ApplyHighlightVisuals() { + // Alpha 0 (the struct default) means the option didn't request an override - fall back + // to this widget's own Style colors. + const FLinearColor ResolvedHighlightColor = Option.HighlightColorOverride.A > 0.0f ? Option.HighlightColorOverride : HighlightColor; + const FLinearColor ResolvedTextColor = Option.TextColorOverride.A > 0.0f + ? Option.TextColorOverride + : (bHighlighted ? HighlightedTextColor : NormalTextColor); + if (Highlight) { Highlight->SetVisibility(bHighlighted ? ESlateVisibility::HitTestInvisible : ESlateVisibility::Hidden); if (UImage* HighlightImage = Cast(Highlight.Get())) { - HighlightImage->SetColorAndOpacity(HighlightColor); + HighlightImage->SetColorAndOpacity(ResolvedHighlightColor); } else if (UBorder* HighlightBorder = Cast(Highlight.Get())) { - HighlightBorder->SetBrushColor(HighlightColor); + HighlightBorder->SetBrushColor(ResolvedHighlightColor); } } if (InteractionText) { - InteractionText->SetColorAndOpacity(bHighlighted ? HighlightedTextColor : NormalTextColor); + InteractionText->SetColorAndOpacity(ResolvedTextColor); } } diff --git a/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h index 465d392..42c2d0b 100644 --- a/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h +++ b/Source/KingshearthLegacy/UI/InteractionOptionEntryWidget.h @@ -61,6 +61,17 @@ protected: UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) TObjectPtr Highlight; + /** + * Optional persistent row background - bind a Border or an Image named exactly + * "Background" in the Designer. Unlike Highlight, this isn't gated on selection - it's + * tinted with the option's HighlightColorOverride (from FInteractionOption) whenever one + * is set, so a "can't do this" or "special" row stays visually marked regardless of + * whether it's currently highlighted. Left at its Designer-authored appearance when the + * option has no override. + */ + UPROPERTY(BlueprintReadOnly, meta = (BindWidgetOptional = true)) + TObjectPtr Background; + /** Tint applied to Highlight while this row is highlighted. */ UPROPERTY(EditAnywhere, Category = "Interaction|Style") FLinearColor HighlightColor = FLinearColor(1.0f, 0.85f, 0.3f, 1.0f); @@ -78,4 +89,15 @@ protected: UPROPERTY(BlueprintReadOnly, Category = "Interaction") bool bHighlighted = false; + +private: + + /** + * Background's Designer-authored color, captured once in NativeConstruct before any + * option is ever assigned. Rows are recycled by the ListView, so a row previously tinted + * by one option's HighlightColorOverride needs an explicit color to fall back to when + * reassigned to a different, unconfigured option - rather than just leaving whatever + * tint the recycled widget last had. + */ + FLinearColor DefaultBackgroundColor = FLinearColor::White; }; diff --git a/Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp b/Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp index bce4851..564cf2e 100644 --- a/Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp +++ b/Source/KingshearthLegacy/UI/InteractionPromptWidget.cpp @@ -154,7 +154,7 @@ void UInteractionPromptWidget::UpdatePromptVisibility() FString Hint = TEXT("Press E"); if (LastFocusedOptions.Num() == 2) { - Hint += TEXT("\nHold E for secondary interaction"); + Hint += FString::Printf(TEXT("\nHold E for %s"), *LastFocusedOptions[1].DisplayName.ToString()); } else if (LastFocusedOptions.Num() >= 3) { From 90de51b1a03eafc9acde6d0f24e6e5ac95f28dbb Mon Sep 17 00:00:00 2001 From: Dolobarsch Date: Mon, 14 Sep 2026 13:41:00 +0200 Subject: [PATCH 7/7] Aktualisiere BP_Campfire.uasset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Datei `BP_Campfire.uasset` wurde geändert --- Content/Testing/BP_Campfire.uasset | Bin 155141 -> 155142 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Content/Testing/BP_Campfire.uasset b/Content/Testing/BP_Campfire.uasset index 952a409337662a3d195395b1bfe7572a0c02aa98..4058f953fabdcde6123d4e485298972c89885d61 100644 GIT binary patch delta 2513 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 N@3YxaDmY5$`9Hgcqx1j(