From 988ec944bc96afc559e82c9f72e416d01ea691b5 Mon Sep 17 00:00:00 2001 From: Aussiemon Date: Fri, 6 Jan 2023 03:03:36 -0700 Subject: [PATCH] Initial rewrite for Darktide --- .../import_config/texture_format_spec.config | 37 - .../physx_334_win32.physx_metadata | Bin 50078 -> 0 bytes .../physx_334_win32_64bit.physx_metadata | Bin 59508 -> 0 bytes .../physx_341_win32.physx_metadata | Bin 41199 -> 0 bytes .../physx_341_win32_64bit.physx_metadata | Bin 49053 -> 0 bytes .../physx_342_win32.physx_metadata | Bin 52281 -> 0 bytes .../physx_342_win32_64bit.physx_metadata | Bin 49053 -> 0 bytes .../physx_411_win32.physx_metadata | Bin 40057 -> 0 bytes .../physx_411_win32_64bit.physx_metadata | Bin 40057 -> 0 bytes vmf/gui/vmf/vmf_atlas.dds | Bin 2097280 -> 0 bytes vmf/gui/vmf/vmf_atlas.texture | 18 - vmf/itemV1.cfg | 7 - vmf/itemV1_stable.cfg | 26 - vmf/itemV2.cfg | 9 - vmf/itemV2_stable.cfg | 26 - vmf/localization/vmf.lua | 53 +- vmf/lua_preprocessor_defines.config | 1 - vmf/materials/vmf/vmf_atlas.lua | 38 - vmf/materials/vmf/vmf_atlas.material | 26 - vmf/previewV1.jpg | Bin 127520 -> 0 bytes vmf/previewV1_stable.jpg | Bin 135902 -> 0 bytes vmf/previewV2.png | Bin 116850 -> 0 bytes vmf/previewV2_stable.png | Bin 96534 -> 0 bytes vmf/resource_packages/vmf.package | 28 - vmf/scripts/mods/vmf/modules/core/chat.lua | 64 +- vmf/scripts/mods/vmf/modules/core/hooks.lua | 43 +- .../mods/vmf/modules/core/keybindings.lua | 25 +- .../mods/vmf/modules/core/localization.lua | 83 +- vmf/scripts/mods/vmf/modules/core/logging.lua | 101 +- vmf/scripts/mods/vmf/modules/core/misc.lua | 9 - .../core/mutators/mutators_default_config.lua | 22 +- .../modules/core/mutators/mutators_dice.lua | 92 - .../modules/core/mutators/mutators_info.lua | 69 +- .../core/mutators/mutators_manager.lua | 47 +- .../modules/core/mutators/mutators_reward.lua | 48 + .../core/mutators/test/mutators_test.lua | 19 +- vmf/scripts/mods/vmf/modules/core/network.lua | 394 +- vmf/scripts/mods/vmf/modules/core/options.lua | 25 +- .../vmf/modules/core/persistent_tables.lua | 7 +- vmf/scripts/mods/vmf/modules/core/require.lua | 80 + .../mods/vmf/modules/core/safe_calls.lua | 5 +- .../mods/vmf/modules/core/toggling.lua | 2 - .../mods/vmf/modules/debug/dev_console.lua | 16 +- .../mods/vmf/modules/debug/table_dump.lua | 10 +- .../vmf/modules/gui/custom_hud_components.lua | 255 - .../mods/vmf/modules/gui/custom_textures.lua | 260 +- .../mods/vmf/modules/gui/custom_views.lua | 331 +- .../mods/vmf/modules/legacy/options.lua | 273 - .../mods/vmf/modules/ui/chat/chat_actions.lua | 170 +- .../vmf/modules/ui/chat/commands_list_gui.lua | 150 +- .../vmf/modules/ui/mutators/mutators_gui.lua | 424 -- .../ui/mutators/mutators_gui_definitions.lua | 326 - .../vmf/modules/ui/options/mod_options.lua | 449 +- .../modules/ui/options/vmf_options_view.lua | 5507 ++++------------- .../vmf_options_view_content_blueprints.lua | 780 +++ .../options/vmf_options_view_definitions.lua | 454 ++ .../ui/options/vmf_options_view_settings.lua | 20 + vmf/scripts/mods/vmf/modules/vmf_dummy.lua | 4 + vmf/scripts/mods/vmf/modules/vmf_mod_data.lua | 2 +- .../mods/vmf/modules/vmf_mod_manager.lua | 26 +- vmf/scripts/mods/vmf/modules/vmf_options.lua | 105 +- .../mods/vmf/modules/vmf_package_manager.lua | 26 +- vmf/scripts/mods/vmf/vmf_loader.lua | 79 +- vmf/settings.ini | 1 - vmf/vmf.mod | 7 +- 65 files changed, 3788 insertions(+), 7291 deletions(-) delete mode 100644 vmf/core/import_config/texture_format_spec.config delete mode 100644 vmf/core/physx_metadata/physx_334_win32.physx_metadata delete mode 100644 vmf/core/physx_metadata/physx_334_win32_64bit.physx_metadata delete mode 100644 vmf/core/physx_metadata/physx_341_win32.physx_metadata delete mode 100644 vmf/core/physx_metadata/physx_341_win32_64bit.physx_metadata delete mode 100644 vmf/core/physx_metadata/physx_342_win32.physx_metadata delete mode 100644 vmf/core/physx_metadata/physx_342_win32_64bit.physx_metadata delete mode 100644 vmf/core/physx_metadata/physx_411_win32.physx_metadata delete mode 100644 vmf/core/physx_metadata/physx_411_win32_64bit.physx_metadata delete mode 100644 vmf/gui/vmf/vmf_atlas.dds delete mode 100644 vmf/gui/vmf/vmf_atlas.texture delete mode 100644 vmf/itemV1.cfg delete mode 100644 vmf/itemV1_stable.cfg delete mode 100644 vmf/itemV2.cfg delete mode 100644 vmf/itemV2_stable.cfg delete mode 100644 vmf/lua_preprocessor_defines.config delete mode 100644 vmf/materials/vmf/vmf_atlas.lua delete mode 100644 vmf/materials/vmf/vmf_atlas.material delete mode 100644 vmf/previewV1.jpg delete mode 100644 vmf/previewV1_stable.jpg delete mode 100644 vmf/previewV2.png delete mode 100644 vmf/previewV2_stable.png delete mode 100644 vmf/resource_packages/vmf.package delete mode 100644 vmf/scripts/mods/vmf/modules/core/mutators/mutators_dice.lua create mode 100644 vmf/scripts/mods/vmf/modules/core/mutators/mutators_reward.lua create mode 100644 vmf/scripts/mods/vmf/modules/core/require.lua delete mode 100644 vmf/scripts/mods/vmf/modules/gui/custom_hud_components.lua delete mode 100644 vmf/scripts/mods/vmf/modules/legacy/options.lua delete mode 100644 vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui.lua delete mode 100644 vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui_definitions.lua create mode 100644 vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_content_blueprints.lua create mode 100644 vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_definitions.lua create mode 100644 vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings.lua create mode 100644 vmf/scripts/mods/vmf/modules/vmf_dummy.lua delete mode 100644 vmf/settings.ini diff --git a/vmf/core/import_config/texture_format_spec.config b/vmf/core/import_config/texture_format_spec.config deleted file mode 100644 index 8a09b05..0000000 --- a/vmf/core/import_config/texture_format_spec.config +++ /dev/null @@ -1,37 +0,0 @@ -formats = { - R8G8B8A8 = {compressed=false, alpha=true} - A8R8G8B8 = {compressed=false, alpha=true} - - R16G16B16A16F = {compressed=false, alpha=true} - R32G32B32A32F = {compressed=false, alpha=true, hidden=true} - - R32F = {compressed=false, alpha=true, hidden=true} - R16F = {compressed=false, alpha=true, hidden=true} - R16UNORM = {compressed=false, alpha=true, hidden=true} - R16G16F = {compressed=false, alpha=true, hidden=true} - - BC1 = {min_width=4, min_height=4, alpha=false, hidden=true} - BC2 = {min_width=4, min_height=4, alpha=false, hidden=true} - BC3 = {min_width=4, min_height=4, alpha=false, hidden=true} - BC4 = {min_width=4, min_height=4, alpha=false} - BC5 = {min_width=4, min_height=4, alpha=false} - BC7 = {min_width=4, min_height=4, alpha=true} - - DXT1 = {min_width=4, min_height=4, alpha=true} - DXT1a = {min_width=4, min_height=4, alpha=true} - DXT3 = {min_width=4, min_height=4, alpha=false} - DXT5 = {min_width=4, min_height=4, alpha=true} - DXT5n = {min_width=4, min_height=4, alpha=false} -} - -platforms = { - win32 = { - formats = [ - "R8G8B8A8", "A8R8G8B8", - "R16G16B16A16F", "R32G32B32A32F", - "R32F", "R16F", "R16UNORM", "R16G16F", - "BC1", "BC2", "BC3", "BC4", "BC5", - "DXT1", "DXT1a", "DXT3", "DXT5", "DXT5n" - ] - } -} diff --git a/vmf/core/physx_metadata/physx_334_win32.physx_metadata b/vmf/core/physx_metadata/physx_334_win32.physx_metadata deleted file mode 100644 index ec592bd494dfa3fc3dc520ef3d41bd5ec693d0d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50078 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

v_x{U^|6cpTZd`L&ozI0&q8Thi^IXy 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 bD;tA!Y_#*qUoI(g!(|M$-hCkFJqiC8+zi+t diff --git a/vmf/core/physx_metadata/physx_334_win32_64bit.physx_metadata b/vmf/core/physx_metadata/physx_334_win32_64bit.physx_metadata deleted file mode 100644 index d1ac91a4be55e85df0df704cc086180de611a185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59508 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 diff --git a/vmf/core/physx_metadata/physx_341_win32.physx_metadata b/vmf/core/physx_metadata/physx_341_win32.physx_metadata deleted file mode 100644 index 5fb35d445b3aa7e88e76ffec51185c6d14921124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41199 zcmd6w3zTJ5dFM~lpn#~2LTnrYx3H8Zw50kGY&$(t)m{ClSlwK@svqGI`&QjkRhPc6 zzK`xI=*cP-6ErZ>qZnBU<1~>Gb)2LZlSHDJfh>$BLq%lK%#*|3^Um-n@4}f2u(&er6uUv+&1K&i2lt}+wNPh`Je4dwQ zg}bKyc6Uu3rMskvd?yaFEItNyb_Rbp(pCN{TuW5WPr7{C-;0BF5BWcd^q*$`Zt(nD zjcbYG$M%g~BI~Gh(pCS9aV?P@#^=2*k?p5+<)i)g;~)#!{{Yfue-PIa z*`fZOE-|D}{!tuR{*(U)9E?p!|34u;BvwZp|P9Ip#!Gf*d0CeTQ z>JFTg!}hFH^hG%EYCilU!QXJL-l{a(+|x*Y~Mdd z9!jWvIX^uLPR9P>vf|3hUwHNpDiLSpWBWbpZbJT%zX(p2#V%{(kT^IsD&&ug&2f10Txa_kwTC z;r|tUQx5-Q@GTjf^UGu4!{DL*!?E`icoAoul753rBW$1V1F#>4;`9D=0y{1+$iRQ9WL1 zd|5u@Q-I-+|16L38NivY@-X81*IVGWH!h7dz!;;nDCu@wD1L)pCfQjoe!m0#Q#kOyp#SWD4*}9Q=8;`o8X^A*K;HcS z1UScHNT2QVEdb8{w4Jt(B-1{8#|*X4KS1|~IMUAtwU6Sd)(mb*6 zF38yiOT^>sBZ;0edYmzG(~)SRK>MsiGH)q|r_VWB^$}Kq)aM+7Q@?on93y=G_KD-) z0n_*hwGZ3>pPX^};M5XR{95C7E93hb%>R;rX(;TBbJahgnfRizX(!*sU zmxI3ncVr~Mc$v-6L0l+u-t{c{+cEYv?)|2;U?fcx>&TyYSr zf@5t4XZ>#lAH=z@{xX2{+rZz3b5{ND0>3H2*JO!1-r66K?ReE+8O z`Dc?%`#k^~WFgM_%RXZ$@$G*ec_<-$mj5R?_Nn(5;PgEd{{f`4|76W?@CnGXZme|IBOmu=ND$5X=DJuo4|`W!{sHM?Xv}ZGR4(?oWI@;elW#xYvcp?y$<|FoCk5F z%fB9M4#y&xU%u>X{(OhiRor;y!TE>ryV`M_j3^&($T#B5J|N-#oaD#h%h`XWya;Dl ze~Is3R{vstjUTp;#t+kna4-g3-?M(WjLQ6RqW(p${^fJE6S?|Vh_nB6(S9roS(mgg z`Fp|B;~&XJ*na;OJZt=(2EQAeb@T13`Sg4$fQRM>BuAfs{wAD5`s}|CfNx20+$Qqh zz=v_im?$oSoPYlmd=%%9eb)a;@Lf6l8SwE8&iel!@T~Di&du5M_)~mX{u^<_@fY%s z`j>$p%HSGbYM)guUlC_sv;OQ~!#FcGYUkqc8Ow5H&($ZV|3UkQto=N`oIW{)_SHWU z|B>$3PwkuLDqroJ#nrwqhtoIN59yO@{$zWE+II+T%la{IlRr*YxHJ3zX5^u;zO>;B z`8D8VS$q_{ki*BohjREH@ZlUj0bb1DjL$*vLmB)gFx8)VB&t8Ze@-J0h4oXqNx%tGbk#nO<6ffY6FHwj6rZaeY~R1b(F8w)L+Q9Q z^1NrCbC^W=29Ut@FC`Q|&VN6G4Kkl2$q4mV;^QFieQs$KoyNs$z|Tu@>65PpUzNdW z|E=JfH{`eU*Mcd2EJLDvoS!!%4~6R=rJDr&@b4eS!O23L`Zs~IZXr(n1~@|);?!RR zr@tXi{SSll?>IvI6JV+zVTHH13dHC1>5Q$ z58_@TJLH-_d`@2|oF5qfGOigTrIS(Eeg|RWIIh`#XFeRvbN+8CFKF#a2$&%WiCuMC^P^4gEz57a($Qo>pNpIq;EK36-C z>-{do+5VhAIo5`8NDr4r*nZc-$0E)l|H-*OHJQN~znh?cFo(~9-Uwa@QR`P9E0oO4?i{{`@B250?8 z!J9Z|`9A@EJVT%5zXyCVhaUmIEr&0H-=4!yfZvhB?*TuN!3U83yWn@_@GpViox$0E zzX^U1&Y}KG{$22oXYkWt?89kcTTwW^LL&Yn=xcmD>}6CxCD;5A;w)eD!%65%Po~a! zT@?Kcj#Efrnc|v%2f-M_w8+0r;CavQUEuP+;2BXl>_7bbFN$BjO|k0_{{0tO7U$oW z(cciKe_Wq1%q&Lb;xdta$bIrKegjCq9sGh6$E}f% zfhj(;AyGNhzYlpRzI~fw+vYRiWLf+acvgI9{|~_#pOF4TVDj$}@<`+#=ifg=9?Hcy zlx`C6!|&IB1wM#tt`XCm?a#lDqi(4Dr=a^Rj)K!o>mxb(0r)@$XSA&E2!!pYbd!J|@?QWa3vtGm1 z9yxj<|0{sD)d;$Dq4*zxV`*QeQ;GfFi_kwABpF$pq+VOMXdE=Yo zSL2)GS9-GZm}j43M525HNcax&P(tm08tKo2lllB?DnO|J5;*UDPDUYrE&h0oW4n(# z14bVKkUn)NtL({qf4LO;y!Z9}@~;HHAjO@!DgPbdtJ6GHzVxN%m%kJGoZGU>|7Gw( zipvh`cNlyy&0YEIpKSkv<2V`d%YQHQ*B~{k{1f17Q`}my@&AwDLusC>zx1W&m;V6t zH>UKRx{2?X!8fJ2?6Ce%fp1CkRQb}Eo?reCpg)|__sc&QjW?R&vcvK(1>cqC&Vb@C zed+n-Z-V}KO5ZPk47`})vcvMP2cJxHXMmjTFMa8${04N%nU2duR=BIvIKSV4Q2!wR z2sl|5|0Fow332-OAo!B;i*yS4pM%q1U*8yXoc>E6Nk&w^(ELO@LoVObu&w$}s?uP( zWcz&|dGhA(b1uxEzX!qZgPlJAUHP>Ci{PKi;n#tGHiL70Qw2YTGh-mXacPA77Vw8~ z4sn+Me(-QY^ zdEi;~dl7t94u8YXU~J^@E5KK0@Gi<90lyghV(TV;dqV$qgKx^vC%*}NO9p3rZw4O* z&#M1C_;`js?SBxwn88nj{}wpKj~~Y~WdO&21}F158HM~IaOUsh&cM5o&haOG+!|Ts z&Mf~4=(BFVzF+>g!I|IZPTiFM95{w>KX(S`AIq1%^!)N)f`0n>?w9|@H!XdB%MR^d z4qm{y&p&5??Z@)jH^?P^`PV>y5Wv^>%Rd0VCdFlkG|cq z8I8XyrSI4O?cn1nE;}rL7`&L~srpM_dVcu_pg)F1q4Dj!- z8Gq?Z&oBSe&_9&Y_sf3>yqw~)!}7lhK9}asfcl^GrRSIbUFcU+`hNKOU`R`Wn#WYXVU;5JX%fAQux25#``acMM zdy2~r>;Er&ONxauq`Q^fA=EKc{uZsU0fRB`gjifV%&w=pZn8I@HOD{ zIjzs~kK@<`mbL$PJNTBAecT%1^O^hC!#Mlp8;Bpq_hZl>&EfZh@58Nxw1AG+#4OqZyg z*f-w7Kf;29+K2pdaIz4;(z9Pc9*OL;e{FL1L;Z{GI|5GT$47RkKL)-E=a4?@$M19L z{we*v;Hv+q5^-MXuDSm;jXWw_ek zego2fADsP%N7_E){|FAYw{Ktli}8H|d}9WG8tH!n&he=_;4%@luj$72<5aSEF%hKUBZvzK>~sD?nd9$_Jk5|C?ZcEzZ7uG7A6w zmA8Tq;rbvB`AtSq|Dyh=NwIdApYd4_-2s>GpI8=U7+mq8e-f4ROW^x(P<;OwX9{iK z2u|j6GRnB@S_v(I;2i7v@yKg9X>5ubPVABM8@WQXs!kAgprGfqo5`` zFRf4h9QZ$FaQ4qL@W)Y{XF}~e0RATMvvc^B;92kgTfo%*Ct*t>KgrepCk1g9=lAWM z$iw)b@Y0oak7s{QiC#W(*$;7kfBqHZVeE!IJzN@L{B8yx$2lv$3*a2PAHY_-f>%Pdt3N3{36EHkK$Kx#p)3=lc5X$iwzyACjKzZ1n6ik3{*NM#2d4P(t;8 z7t*(blZ80zHxABt(WdO;(#QcY)sO8bQ9g3jFU0x$J&Zi`{dOGElbu_^K7!*eB!v89 z{Xc`_ZgAR2>yv*0$9)<6F);bBK7p)#cJ%Kr(RSKC^FHa)xu(;)&J1SU^KZMqfikk< z`?Od75b{e@4*h!`2c>|6c6>4Y519){qz(^X@aId$zX6;>{?R`FetZy|wxzFFQ173S zXHAOZ)(H7a;A?UA^)1EN24j2+NT6-yE7Bn3oJ;fLPyf$H9*S>Y{xN=U0w)Xc%RT$U zG~z_15La2~RYOC#IC)c=M(DF4V4 z|2(csa>mg3r$kuR<#PT_LU$Sm*Z(}EXPm>&0FEQzS?$mD%RD&yF4r$E4A zrIA+}pOdg162_SF2jGg|<2K3sDt_dOpU>qdx%z*IpN6%(_Od1zT^6> z0DcmO%EhG-jsJ&n7t+5H=}*A^qbZJCBg^%#XQ8Y39G4Q#iVwNs<8%4R`u!u0tnp9& zA`XtvkpEnNa(%f9d=7`~;?fA`_g59N|Ne*k_23K0O`qkro<9XJ)vpRJQ9g3j&*v~} zWV!a``cvymu0N&c)T5s-pnY+SA_1o*{CXtL;3$KI;-mIwY_fRX{BZ=fRsW{voa#@m z`ukj2$&>j*iSR|2%f;uF&L7LouLbyb8;)T(6pGJ>z&?&+G=sB#pT)5&gR}j99|yl* z;*``ImquRc{6+uNK94z@JgI%i)jmFlJ4X0^!S@G_zlU%r-BLWe3buZaA|VtX@`rJJ zC4;m6@(-7Zs2u8ReYOgeWl-o3Me8#%>PU}_!v4+m2w=xddHOBG7`dy7<9@l4jT=8YTZQ#doW*_Ha zgqtOh>%dgMM{Sb%RsG0SKcBB~dC6735MQo-e81)UE9-X(hwM7@(G=|G`A44TANfzx zKmPX%@{jSCD1I%^|DqtyE8I2rACDu?Dx5draLwW<+8!Af!70omJ(GZ+JHZ@Qk~zzl zdjaJi^(C^y{VV?a*A(g~-6Y_LoPR$~mc>t@4EDDWr+@nIuR{C_;PQ`sKq5a_KL7hJ zN=TplFJXf$i?e=N{;7WF<>)^H`;1-4{`WoqIX_C|KRN4232~Oc^0KARC!>HL@^isC zZbRjt52pAfV;gx@KDo*daoQiuDgWm@`yv0yWk1AeeP?5lr~pKyk0X9&kC9P}^m{csP;&g;KraK&#Cwj_!Vx%%&- zAkN~PKiR+NUsnG*1{+myzy31C{`WrcW)8m-ypzM(zq0zTsXz4Df7v$j8<$2t3a0w| z?Z49FdHsj_Kh6C|?aTIAbai?;{pUW^FR%ankrzLeSN{odw*P-e9{QKnKb{0< z+hp;-0neKMXrJqg8*}uzema!FP5oiN3?Aw~&w=IjAM(8ZL;lm;f7HHgAGP1h=|BI1 z`eBM#BD6s{Z?G4?6Y4Zb*Co07Pl(h0YUH7Rt8wt(f%Apyt4qP>kVr1O%ES5VO7MG- z5SqXE{Ja``F@xU={Soj7!4Kg`m(SOCfDdQz0q|c1 z=l<21xK8Vne*nCg!|w#=-?oMHIetD0elUlB9Q?){en0r39R2`!Ifs7%oc}*lX9ns= z{~iUe=J2nAH*@%3gLiWHcfsd#`19b$b2y(*i#eR@pW8C{OR%l^g>#%_rMn>4{Ni(% zGeWNUCB*-KuWz`2`0BUX`JFz?Z|A<*UtA5o&#@5a{^EWdXSf5WWFe;ch4X{vk27&S zgku$s<&h&R3R{rGD9ljpS$`A>8ED87u(Asm#K z(>}MNes|zV3vEz73^rgd`+mjm1K0RfpJYb0FLnRW*$=f3pBrBUCku_QKk@8y3`k_3 z{(s%sXZcE3KG`P=+5hG%w9oiFhlBP*_4`N9KG!D_`FR=%uYa3O_4O6Y0icV($$V}# zZ2RPue+hKeKB4kyKUBW#ztZwo!_XNK|6eXvntv<$O!F_ku88>WR=z6YU#Gk};@@DL zZT=GBoQQu1PxyMy;es5f=Ml;n$iAnq8=?!>kUWjh7Hyfj4xVWxs;MPXBUT$xQYL$AW z)~!Xg(!4nr=Oy)q#s#{C#ct^D~+s5_eLNj(rbfP}piaW7Mto5?( zjc1I1#_yW$ptd`1&)IU@ru0^$Q|eS2^{Cj{yt!Cvbt==(6 zVxyIIr&OPgqr-8l9#{94%9U<=cemQ9G^-WlJz8l`H`gCFG+@9#Py3-x>c5@fiyEO+;Q8xe1xPfT47T8pq zH*W_=BHHh0Y#K$_7G(SCQX17<^Y;)d;%t}-ms+!xdQ?L@TT>{Vy?IBgQL_nFbyv4q zWyPX7UCcJS+Zwed;>*q+@@;(F^`MZmlZXXJ278z|vir$V$IBD-5&CP~sr5${RkBew zUEfnz5%9?dYgb&Eo$KtV#MQDGiuY2Zxn2%;ZAU_@am-%WImBLjnQhoIEE%W!%2DZw zXQoFf6+ZRfTkj{Db8#z9GPTUGLf%xm>ldYFyIbw$o-0*ntb5SdmV#DgYa{7^5wmZf z@5J>EgX)u=-OZcj!@fF4?N}Y*ua~OVPH}j&Z4=o+AJt@peW}=}F3e)2u}jtL7^>~Z z#Iq@??U~viw@_AXccqRo5zk|`9of1Svlm>5Ti4ETGK7+~(8jzwYy0Tl(lKjqY093d z?d91RT6?BgIt$<+g8dWML7kj2g$~QZY ztzv~7iI~mm9ZM3Atb_J%&E-QYsedU!?c!+IFyRVgeqxOZ3xEdtVb!@+2ttO zf$7OSQu=OeG*wv*A~@KKftQFTYL#$5Yl~syZf~|LRWz-e4)7$jBTUm(4dupr;~Jlm zuF}&c0z3C^eNU%VN%Fb-C3!gOJAG!^x_`s^$yOXkd-+=|&Enx%siPBA>S&Ql{T5DJ zxGl}&wlsfB)aLJAo<^DNYOY-tdoq41hKzkwGfB}zquZJ`6P%4UwD(LQBdxfp zsf}e$?*?liJbW2RtZM2VI90YipRIAj&`nn*L#URd*g=76G0VCoS(wt7W&M&YOmSJZ z?x&d|pS0y@91EeU4XDOmGKP1TX6tz7mg8va{*9)!YOJ{#L2S>c)~CH^%0YY+tSsH6XlpouA%4!48yHMnn(b^gx?C7Q^mKWoe3XGPy|04F3^TJ`W$%yicEH6WCZ1wk-&!fPweC(3+K~&zy>Sz7Hoc~V z#)w_AE9b-!ni)6ic`wbDH0oBTZkey!3f69|HWtQq;&-?9X~5xPiXN*qyVZ6awX1R5 z?0GPQ>GT$_a~&%kP8O#&P6xacEI94TwQL48YJ}%|o9k2ttuL+8-cf3Ib~lc4IgJ1v zRu}8VmyMbP8~un49NQV7?~cpJ+7v>9j@w)Is`p#Fx-$(ogO&bXtkOL-E}+c|nR(YU zYi>-ueD8DDy0YV_IKQJ(1v1_o!yDdE#NT!1cfI-DfPU7-!l;ROq5t6#>E0-3-69>_ zVAluzYxAzB38##;yM66bidoMndZ zVFq8Z6=P-KUHe(~SK8fD)jWN@OE!glB-_!kwH22R%UL^!{3J|$h({B(_Ih_O2%NS? z7cix9&F5li0#kA8z0p?XXq?Ou?I^}#my6hRItP97-sk0S$9VlSO*Gl4Vy5Bi?vld% zgpfzS)POt2Ef~X$Q*2-aPtR4VWpmZRds@uIig~ZKx0*GgcC%$(Wlg{*{F~myVe7+VGIdfiKt zQ=Mbj9Wctf@G=(lZpRzPyt{Ony?iJWRTR=em1^&I zHoHnP4Z}{Hc)?&@hwxg}mEFKDWp0zg?Xw@N>-1F_BRhj9|a(BzF zOx%ROqZQ+sV&0{biNH^btJrvSjwEwRZNg7Z^rG6%YGbN|tpm)AwTb@4P0e4s)DBeY z+RMoT>2RjQ0)2uG~w_3SOY_S<53)Q;WW``*Lwq zZ=rrR+f;bl&>O~XtX4H?MYUa}HUn(yj5=YbvQie`%hg&c&F&f0%xktbft26vTVk(D z7L}qL{9ML{)4lyfWS_x!_p6sn*iv*afXZXvV#mjE?>;0=Oi%Ga?Dkr4hnGmKs9+ga z6VoximDSvdZQ5#JwTTxiyp8SK^m9NRyf@VFJoK_ z3ir&(q@dPrRx&SW$+b+ncP8DsH@w=`R^xD7r)3uz@68BLe*exCOSL0} zxF@?qSnm2aNjkQdxIcwWbG}xhBPNpzHnD7-IKELGb21g!*DRw|kr$oHE`0G#qODY; zq&{T(847nj-`($NDq%;pTPf=+9d}zx$tW<$4kN!<%q^Ho_@?YiL~}-anh3pKja^6b z(neaX61$E0wu?HNMQSpm?P=PsSlfes?!8%CtvyZcPeffzL)M`rX;0I1)lvJM6MmT9 zu)9>prZwKu`|mIx^XrM}!{{6ASx#SF-S78%nr2rA)2XpyJDw{5O>43`$K7fB{B*V3 z#ycN&R!x$fG)y3pzGwh;SjaRk#{ zt6N8uC(O6qF1CuWFOp74y1v_wb&+8$>_f^vz1*D}2zsQc8=De)y*k{@BU2ZXb$b02 zJ~exPMo^p|z1m{Fv)i`rPvhqEbZp=Mi}NP0xq%CIdTwJQwu_B~-VWom-G59L^1d3z zOB^j=HpIu`TkI*p{EG%#kQv_SY_7NjaOoL!n@#j_JRkAvvcM4k3c@*tJT9I6H9m^H z_D*a}*$Vb0nYfr8i)4N_cV?(tZ_NEpIJcMYQP>0KW`5_0-9|WqcSqcCm z-rEN15$9_Gz?K6eC8XFdF6FG>^AVdT_tZD z$Zjv$Uo9!^osD{bGrD*uiQJdQc9CgAw^haYursI4BYT0ZBYVN%bdCtx3qX5eVQ&}d zh_}6DubHE2Isu+K6}wrtr?*f#Q)k+)yT59x4cl;c_pkI0-4j4fp$Z z|Nm!t&i0wJ5Em7?YNq>i|IYV){q=YH^yxDz?cF}JIa#&(F$vR!mf!TsYc`ZD|Esh% zN!GAEo2_QW&oVFKE+%(LRuGRR?-?uP#>xFsfxPFfkXuJ?V}ZQu*#1LHLLaAs<*Qhh zyzN07`lxnQi`&TxFr&ELp1A)^F0a4h-a!sNj>-G|KwqqgSVa1u&yuhovFm7@+=rPX!?me? zqKqW&WB$-FvACCgpCzY0NFJ-x>>-vOZ#kyzbn3pqH%PDgp?O1n8M6wM&v`uUHxJWH ze))UWNFEL)3uW1P9tW2G$!G36<`>-;{vSCoFkNz3ovdcXMa*&EK{1cJgbhEJ!^uAN zL!9&T`%8ate$r1|f8 z{usr*l3ZRt=Gm@smLHTuHd23u+^fmujfdi2^6nt7apj>`YTvT&G#e0CvG{x23iWEe zac`hE=D$CT$cxR-imQ*3hvBif(mej($$`Oj8Jvbwlg~x;9&|1KOT6OcTdJ_;SU<%5 z8#yqexJx)M6~)!%D`_o?pQI9=XW^?!S=RP{92Wxs3(fN6B5A!)f0AEV(J;V)3kb<;&#C z#-SL5tsM>SzyClE*Gp{Ne#rK``9*T2_YzGwCJ!;Kc9fCCJ&PRbWA=%gAh&EDqFsvT z=aXA@eUOv9upiJZ{qPg~xt?+)*Q$mRe1x=QO+Bfm#hJO6^AmCuHSpeO;}w_uloBga=4BlOY*EZls-W2N~=YYhkmf_ z_#>?NEb~dLi`l1j&KJnxI*RH22HWLt!-kT^8iNCIPhcS&H^hjN`u%8+o9vUH zOQtZ^U)do)k6Q)0mUfSE{~Y#XBXf*z%+K4|zMpyCc<4I1S#opaY2G+WZpt`ZU-Fw3 zU0Ptf{H=QBY)*cgg>XC&3rdo^(($;L@;<~IK8g87*T=`np${lZpY)6S3vzk)RdElI z%e${C4!%K7*LYU1^eYaYWfieF_(#go23Ebb!q#uYEr608)>H3~>p$C4E9LfDO+ofOi%4Odd zBleXASuVMGoZ1D7(>MpBe32)JQ@o~fbV7!czd3D-N)41e^*f#CMP}sbekeZ(%l1R_ zFWr=4Sx(pcV+VvUQSY}SevZX~;_u%Ag|IQ}A90VRLd8M0-xsqzoL?~aDoL*7T^@7* z_GSH}``Z=dz+g-yM{<>4N$yEx^0;frJvoQddMND2E-B$TIMn{>RL~FHL$Z2x9qk|o zCUzake>3DT-(yaYJd}}M!S*)uNvn%-^55;`)*3hDKM90TOTS6(3M)gW^r9_HZzYHK z8!=At_a1Us8({3R^6qDQ=;ts7#H%0Lhl4Fc{Xm5!ac3zPOpKHNLcJ4Cg8$0ueSq@N z8j~lzpDNHR75|eQ+#egaae|6xT^q7Xa>RX^^77U>^7F&w5PvbflKTj`QVw^)&v-KQ zA7W5RcFNCVR!lAr z`hjDmF*_;bBv0d!ax6S2;=g+ZS+03ioc0xggq-{+PWyncCB|u9+d%y#<969ca;)gm zIP>es&D$~jlI0W!TgY{cxiH{RM$&x$5^{@H7nApEj<$EbcqnE2F)HqH zp5j3L?O5F;g~25#!-smV6$j)DzL*sE;=;H;Bgk^agSas6W1Qmo)r^;t$$;IGV?~$5 z{W`g|RvY6KFK;3@VI2A?c_<^D_gV5za_~cp%dR7Ezr-9Zc@&do@1wl3)x_lKdOJ(* zpmDK&NZ|hK=C|5u4Fmi`vDD>yraBihC`&QUP}txyc+({e3&RDdRA0L4w31hQlpRe+SFb+~- z)~rSC=bVvLp4AB~%y-_RZ#U)?`0xX4R@czh&> z>e6}WB69FUOx}4fCV3*cOLOFjyNp~Zhf_bEM{XjAThI1zJYxH&x(`l~H*wMDY5mS} zKRG?;$uBq$N%CgN!6&ijbIDsEhsWC(CwZ?Y2mi-7$-9T#viG5O9@6{R9{L4ir=8F zoZhegD!FaOp|9Egiqr4wwi|;vPxGD&T02&M6@T)JVh}k#`>0QxRV9}ON+nlZIG=`` zPSHH6@jYYmChenkE4rk3c?I=9XtlfSljY_j_F;UL#Ou0zHF>nhuHQS@em8S5k|Vj| z-boIA0F%e*ylgI8@1q>eGkM$taAsJxOjchs!?a zEg5&Aebir+kraO#5A|crH@i6(<=0amtCwZ)5z-r1$h~`o+y}|YKIo8bD62moA@}Ej z+*p6*zt4~Z6B}Rk_Z#GN50pOW4%2tZ;rHWU^0@DldqM$sF%(+D^%RqLIopf;B2IpU z%$WbKjL4e=%%uK^lUy{%xN9kIH*@GL*++7$=#sdwA0@US6R*F+xPkJ}hPhnrI7WII z+x46$Cd+v`Nsf}o?_a=VIn8IclDo{9*gScf?O{L87^@_?;?!@npAlraIQ92klv}bk z^(Da5`@((X^5%Q3>pnql%7maOeUhp9>ht9GSVQdkki4&uD;LQ7Kjd!7kte;YaRFI6 zWS^K`aZe{#E#R&sH($X03b{rOr~bZ}T*o+cDbIf|C3jnnJoTeSZmEDfLGI21?)BtO z6>x7RcUJ-TE^?=HxN)mT`eSl$vT|(P#C?X`Jvp4Nx37_VyK%AWP26|Ly)%dVXSVCQ zGi)fqRwT_E{%HBPxC=0GTMDo92V9N+Qap$Y=gAl+`@(thjERyQFV*e?)cZ{4_gh2k z{`Oq9%ilU*x%zP(Ir&lT%Ej#?7xuR#$a2}Kc-HUqfk1}Zaf~ERztaaZiqqc*Xe~`hptbJgR+JS$DI0(0Ng6(%OAG5mHc#J#Re(y*w?>XfiY!Cem znM$%#^4?D#?J@s}yPsU1pT&KMT%MoBeV82l9Mk)8wuk*#f{{$CnCt%bm*i3XO#7&v zSfbyr{SCPZYbZxJ#g+aZ06(!Y{J|G{KAT|ZA^;TMdF#h>&# zp^-1xid3SU(0{nrm84(s@?05U0OCdM;>G<6IWRF!X$sN>wv`kEPbzG0n8AG153J}pC$);V)t`#?<5D`#kl*} z{t4zK<6`r{U$Fh_%n{Eq?tioW0w}aJX`dMP1h%hbzA=XzhY(9IAU9>@*tltYUr26S z0e3yQT?O1L$nDAD`fS(pTiLi+fA1g{#!JaqCB>`y`+MZk9_z2T50V2jiu)uv*cRhB zY>A#15GzCRXU9nL^VcX3SxlZdt^f2pE%nn03*>42mv^6$Jgxuo=E+BBSLo*nDYIPq zS3l8LYTR%%YTPuxfGOEWa;)gmQz$Rg`vEmtE?)PKtH=Y1-9N;=kQ|s8hxdU4r7)bH>+~#VR9$!D8{WL_YdT5v*S_Y@mTzT z+tQMKMsb&tyR(4%C32?u zGX>lm$i2IOdn>tnbGY}iJ)B?88mpwZ`3Sk9c}??GIIm&8k{rqXd_*r|RZ09fE51!0 zhq1UiPwso`A_m78wtlqvhUfHcd6Bl zvTq%^l5wN#dl9*{SuV#u$ur!gtbKbaZ^Bwf+4o9vlg5p*?-;oaS&sJUI+Fh+&lzW5 zS^IvS@-|xADEr<_Zpye(_WeG&ZCQ@?Wye?Y40kDO-&xArWv!#^`y9Elaii?}I=PuF zmt&vgIpgdrYu~?8-a%^{W#1SA-qIoajI!_9VY_GQOc@(gz=Yu|O0H*c+@?7M+n z$GB1U9U|Aya1#5giLT*o%qkZD!Kgpw*0N^WwRDSphWt$Xvi_4i zcanXLv7qrSQQje|A7$Uw*597yeEw#$8W&de0y^%F!nz-QNz9 zAG5m0*+=@oAn7@;MQ+0C&_!|VZld>y$H`3@1DWEi=#uQagIw8aN4@{}ZE`cl#l}PH zFuiX)n8S@b?Md$>_fc}y0`7C<<_oy5l56B}=dB*;Jh_sUW8)$2 zhvX&;xQqCM^Nl%N_IY)}I6bdIKjb4ljdH?xR?MMY@u2v8j(+HFZLv5IcO^M6F>YN% zZ^>9C=~dic7wC<}z2a&oIWV#Kle`9b@GY< z^;5j!xnIx^$-5)y2V~{R`(1L_mWcU9df!9t(j4w)8u};X;1{r2y&B(7lFN%zjoU-y zrc9Q6V?|d+ehy!jzC~`Al`(dCdKJ%#1F%TQ@sVC}k|n-O?w_eooK+{M@x>(l;==hp z#wlJN564-8-dKM%KkIiM@G)5Fv!Y9iXWbVjtTqhH6tcY|@UIMBa?`#f?Ow}bY{ z>Qz7F7svyL1i6#;fxR0kXWYuM1QuxrImtsE`m7}VWpXz&M|;eF(s!5~m{@;1Y(LIC zZ#-^idy#$O)F0Rv>&IOylqXJd^W?oFBCiaXN&XWjxoD1Y`d#>crQDKnllGAuE4uWd zh~82FsVFYg8{;nE@3S5V^gdvkB*$yDbq))kCU?$`QOt6>KE6us2gby%4{?u>yU+y1 zI9*2<;s@rIo?=`quEu?H@+@-rTeVT#I&#=|jB#7o9>(8;)Pc-Sb4gqne=$zKOWRAi zB|H0m`$&!xW?wTAy{FX}@Zv(fF;2e^t5Pnm4a^%^y&8`WxsEZh@eub~a<}Dh`n}oR zBoaQIpD>G{fKdT&;I$KA7=wO68$$3y_0GTcyXcL822#c{bQi_!axqnNaH?BR$b-` zCCg&|6ZZsiYjZfQubx3pW0v*v1lz-SIps}o-{QrE^LUKYbK}*Ni+JhSM{*>3Q$#OV zCGqE2v6DOw;WM?PjC7sPlIzK#KE}x}`^k+N2U(IwG0Dr>9{S~+8UtQj=$9C$_0=)T zMPE+`a;)gm?QDMw^Lwo})(`pbescF42btM^i2E41Pvvl*XM5OR_(mx!H~ja#WB${5 z53v9S&k}l`aFdrE>+dPQO8w|-tiOL3vG1Uk|HkKgaB&xVn?_tZFEo=FxAlUGh+U ze?ZF5;zB=%oa_`A`Z>m(r;eg{d9?kk=b5(zelD9WvR_?)wEg^^oNo>-&bUZ#m`yOPDm`B`6AIeC2uF&(sq}4rWA8}xi6sPI@XFyEe z^E{qBM7?<4id{#NR}}Z(jrjR2bs&?U#f5$jIrT?=`2ppQnT%LJ#H}tti(f;;I6WWf zxu<08Y5Pc@6HPCe7|L2^0-UL{edy)qxz}!!4+%|=YxBVQxY#O^h?M||9PHR zbe-$@D17eOW#>wc^#5|nm-aG0WQQB=ljRPvy}|q*V`6?*yeR(86mUgxb%Odr|2-HO zC;y2H{TFgNMO-+a#<-RG`O%(FS9;%4y!)j@{jSkWb2mwFBuw_5m2e$#v< zy?PFqFecVtoR6gEfJrOI?jPdx9IzpWlV16yWE}b+{vZsor0Y!_>ez&0+V8)2NA~~9 zl~}M0V+@&L68D9YuLTq1zRC9QGe;Kl%OSRh_LYrQlE1};aT;>6Q~NZUcVXM4ebg?w z<19Rmg(*9ZjmJ~jei`#!#>M&}PW=!kxd-h$*m4Esh_fp9yowx2{S_DXcghj|YZc4l z-o^^(m|`0;aoP9mC2PY+?N)SY!?@2w`_B0)_bvOxh4zJ<=T*9WSrJL9u`UPu1CHX~M=$DYwDdIxE z#JH9EMf+0PZ-V{j>?3`$bAE;W5LeU>aX;yP=2EpUb75Dd&n4j|H!TgXl#^fnJ_53!U!zrHS7jUQTg9N#g_8GH}`cbq`Gef(IuD4f_lU`GiEa8hu z{t>7Cpm~W5GI6>eDelYGHY)D_6ZJQY8x{Ab$aM<1HrMVsJmY$c#q--D z{)3H5k6}SvQ9O(LX^&^ci{c9LyhLC8IPv^``nf2c|Eyp<6sO|Ccn-%+oaX1hqFluD zs5t!!xuW~Wx5ynVkf(L$Ed`v`oriKb`A_j&H7*vAj3{5zn}1;{Ra?lh*CeCWq@6 zob-v+e7}y|+pQrs-)lW|ExDx}PS2}5$(=RskbScD={~)e9DYw2(|etri*z%&yuUjZ z*Csb*^6(6o?eDmgmLzwQ%lkWFalb{bY=TygkoQJ%GdY~*p|_DcSirrT+${y%edG=m zaA(O?3%HMwn=jx#O|IzgqQ5|{Qy}jgIs9Gp>WH7^zweM+Ea1LJ?zRF>>xiWSPV478 zbGS9n_JI{%=ZlOrWSV!yh4XI6nRu7Ph4XHdBmWCSiIo=jr0j} zU}E#ery_dC+?oDMdez@A2YO+j+I31+FPNC#uRY3o<>yBz7kXoU`N0bHo@a+Hxk5dQ z?@MVsE+?0#H)|i(#4-EUQjX#j+QBNx-_je}7n3JW_JN6US^M((ajBhuL4yCC`!VkS zEL`pWr>#{9{(qgvCiwO2&m{P5=Y) zR(?|QP5b`21aF|%xc9-2b8m4UpWvP4V^(1XTD=O-ziU=uHFm+OgZ8~@mD{mgg?*kE zna|3LH*QR3=PO++?cRvPb=M@l`F6LD3M*U9)$5ab%N<*(ytuzsX(UG)?Fy<6)Ml?v z7L$|7t^Qy`a>5EPS#XV8+6%2}@9LykZ`GR%&7@gbba{Dkrdw(Cj-Vt10Ry%>mae zSE|)|Yc3&L?ssP@ha0uzc)MOrn$y-~2Tgz8;dZ-`G;cW3>g}yH+uf5%bIZb!Bem|0 zy;{|5D>o{wTGC2T-r8>U`rV4TV|VNL-b$}GJzFtBje4tA=}sn<*4#n^1z)jF73=KO zEtOtvN24;=v+~TzPK{MCqBYyC^=q!OIl%VUjyU_A-Ax_YX?ttEd9SzUw0GP6O26K2 zCFTC6P320rU!QH%rcd_zHFHC^(lpuKq+9Ft)wZqP>sMN{wd826+p0D8SE}`e-rj{q zzusxojXhrP&9-~>{>h}b&^=O_tgxRkXIAxOtJ18`?&#KM-LWY*6VpRjwhanQU$xTgVAy*7`jI28TCazg+1tix zsnOtXIC7*{>sx@d`juH7b-L|W)tm}HWF5M~0=BxX(yw^$x7zhy%{kV3YH?TV)+>$O zt!jO?)|>8k7iRkw?d~XPEi~C+9j)SX%?9)T&RW}i+C7N@+q7xBQC4ZAc)aF@M$KNG zkJ#m{Ns~b^XhL@=!*#pTovXK!rj522W%?1*JG$+rukfetT4*%Ty<}d6xz57YcC%w% zM##r(+p~vp6f<_lJc8>3ai(^|!|J3TFv(C0>~-cehka{Z^1gN#KybQLm`&bUyK42h z`TmZ2tx;8*sSj$C`2oSQzaF~n6TaYQ5?>Br@3tIC&gdaM(w()}J>n<*1Gxdy%N~gEb7|`>T#u0Cxov}63=ug?wP6IFjzJ0M@YxUvOux01MrcJWp z#ul#K-7Rx}tJ1jPFfNjwA0mJ0Crt@KES1}hlXG^xA*7oAN@^ak>1Sio+;{jut!uiP zd+RN`GHQ!9=WgDz#pW^tXUbbsZ9m$$rT-{I}mxtg7|?=ZAO z0WL)xr*iBv^u{L#Y`SgD+7!(hpgFy8xLQ9BdfMiW22M;1`wnlezKRz66YFTVN}JPK zeczH=K@E zzaANbZP{UE(GDw% zw`YHRLVYcar5NMuSzeWW?JJf3hNe-b;}Uc3?b{6A*dm;@DA0rmtMnrD|0Qo^HyugmIE8yXf@GucLiZQljhLb`wr84%y!$!&?LDxbZyAC zwrfX@q#CTMV)r{&Wox7^mtAI;(>S)ZsOyj28+u$(_7XeTQ*YL>f@t_c>+n{$`s^h=&LjQ# z`s`7+2J!c0Oj9%Sw)&WFH>wF1uWpg6i_WbtIVt)cPTM7B!+^<>bGluj?1I&{tMwx% z{R*_axET|Ky0oor7ZVm}JG<=#ERVO^vdos8+mh+oO`9CLwcV{Ht~6b@g|++IJU7>^ z&6x*xZ?na0t?SRSOMf8Sm;Fl9H*cxUSB}@EyO~i9ef#Tkbz5PZJ{(QE#hW`UFZKp) zwv096aJzbPy{*X2LH3}46Sr86?^knowU49q&Yq;#ZXB<5ciW8R7O&0`J+1&uGRT2Q zf6DA^b#wJN9OI&|Zj+hK%zmwXpk~hqSVG#wQ?9kP)GIx$zSAZfM=Tfj*E;rmGZ;!c zW3ykli<~|NF?-yqKB)7WwsDQh#l8;fws!0GYNr`)zHcy_+tsJc?$p3`cmth=XMf2dg_>2 zK4cH-WK{oz?Gd<>ciF>OGC17RJ`o&cbq+YwX;NP@?aUq&Up6R~?U5SD3{-h7I&w;M z04^M&!Eh|A#pq!^+uCUNZP9($W}qz#jiY`xv*(G5-y5-2UU}ZOV|rJ)wb|gvN4DDR z`K#h@Dbuxn%KEY=eR;s)+CN@tEDR)vHU6BiW^g8#;xZ^b^yj39gA-1W$*-O8NZ6#P8v4}61G9coLD@$}HG zA6b~g9+zL4aKhiwt=T=rJxiw(L0DI7*!Ck0N#~U2bXc99mo#@a+J`H)bzn1Nb9#7j z(+t-x&7112YC1VK(T8v?XZ<{4Q>{H(aB+tnOt+so81g{{M|@C`4tVoG2N%7fQb+y- z9fkBwZbxbOoUl%3hINDUQ%Cttp48Um^!~shFHbZ&Xg>K(xX%ytq@*IgMU)PUArI&?T4N3A`KQZL&GIg46Q`a&aTlswFiw zQ|TpTDpL{ZJnm+2TRghku6r@ywnMN|3msw`Rqmc_`Cwh&4A0_vLYsTG?Sl;lUR7=z z2*+jsc1^Kq;{hMd>7hxnee|F`4YI*)#c8z-igbD4ZX9;zkvd+{1aDIO%DvL5+XIxn z+zMKfjuw4YzP~uGr_d1dLuF4JdcxRit5r=}Npn}F2M7B;Tc2#FvR+mDeyr9qb$-vF z=^nGS2_&BTmbOO*tZ%?WEA|q(Pr#RUHMiryJ&3fj`xUd;I-zKR}S5*MDFgn zdm0w&f#G|MCr~rbWv<40%~{DkprvJrrPS(`8YG>jC>yN>!@N!W1(KvyE^Q)R?@4$HTlaZRBLmKO(l3z zrbZjiWM9WzuSa7BQc$g+Ml(rqy33w!KNW^ zP+GOG<3e?tf7@wxxM&g=UXjdegWCFUQR- zVdM=T+O>6*UJWT!_i$z!gUvy4xda<<+u+Y=Vnpw59mdN89$CC#+poD5PvBmQFVn|} zTueZ2zs8Nx^f8<6x(hAy^0a%yyI@;Iwl9*cNkgCevGfdj;crs@?!_Zs2)d;yjGe|o zRL8?SaeZ;#+GeTl3HV6j~nXt-do-AOnjVV7~wnYB$gi%jp4pu%+?FWJlXlCX(I zNH7Y+b#54jtCAh{#hRbLT~~M0UHdA!48HcxCcZmW8sWt#R$aU(ef>YO@t>T&DVy(90~JU3BVdG=YQ5YFbf=cX&ymN|Z07lfzz z!_aR)rDvXjKNo)Ckfgsb`G0o?J_^62K>o5b@GIc!3*=t|dxD@W=SBHegmcMn4(GDj z(nC^7d@E5bk8g*alfz#}x|Kh|xdkidsV-mocM?_iEc@q3|8BPL`pCYEIJaQ_Q~TCJ zqUvbrmQTD%6wBg^q+9)8%((^ABmcZHB&z)^-SSEQtwgab{ck4S^snOFg6Wa`9U(DG zUi=-zJp09efhgZ($^U24vx549!mkp|KFM1!`$kE4FeJwPNBvzv{G&v%m~-iZ%728Y z{L-nI4xb_6T%snaWTIN>b4kDKGyOJ(Mo_5pFA-ITbWnbUzam=w%x0yV9j7_}2PF_< z`z^2Lw|@&vCYci6B=H$JT;@EBHjUsFITiwA)Icon) zL!nviukn8wTr931moB{W4EiO%CFswR7oUcU*`B3;l=N4_ zFDT%zg=_xHl9&FyaQQZmSK;LX-iNO$;J3n87x1^k*A(z~!p92uJ@9n}{J+817x3SL zU!B7>zdQmThiCO4jlD0xXE<_5`VFTpsC~W$P(RG_?-Q`B@ji*; zE|yik_-gpF@u|!NaVuXsOpofL`mRA%bw~&0QL>mEphGg2 zZuvC+HNM5vN7MWkWPgHKhQ;#cANB8_hObI-E?toQcN5h=r8})(nSL35DMt>;yy%?G z^#@7(ZDP9rTKT&FeF{EC-Yorp29uA{L3L61dInRv@pCva|EiB$uzEaM|EhfXr;Oq( z`&FL&Gs;n>D!LH**UPYPEpZiz91{PUe_l)C6jA=q;_9Ef0D1n^_^H9=U+J`ZbLv7H zCLg7PCEd=6`EON}$@HAbf4_+Q{Y3uDv|s)2L7;3?9@ERI3*w&y6wUvS!ZjAN^zfy zuR>lr(!q3XiS(Pz%KPo=m;bLvhx93$9H%bqhpCKou=0CR`D#N8rsqucJ5%}MZ=sC5 z{&OcxHl%~u_sfxe>O&U3UHi1YdH@~Lr}~+k>3JBYGSb1y|HG*KtobR;6aC>tTy3x{ zL|lC&k+X~umyg19WHb?we$^qFw=72_uQ}T4W7rCmyyh4V!y%H_7}5QAC@$TT*}4NKIwX#3p4$iBP^I6$-gidXLF3@(NXhn87?LtnjEJ|xCH(@ zuEetV82tG;T=!42Z=5_9Opo?AHU#@LM_Ib%Q~w-?i)Hms)qk3}8Xo)4=8C{U>jJ6aN#q+BTNw(gpeF z%S7wDW_Q#)rN`jv`?0+7Z^Eqpy2n{CJ@U^pwfR8E>VKz6AAyTy>6e`JoBw5}f{u0` za|a`4?Qi}unOOdX!9J7KaRg&5uk@S$ERV65AuF!*+YEBFc|=@$1PU=X|A^}uU-o5j zjql6Jqw>ayCda7@qx`Oi&v3-#WnArZHGD3`t^G8Ay$-%N#kq9h&HP>qzk%Z_V!Hh6 zU<<+Ml!V?eH_{f3kcAV^n_& zv3+^{OZjd5sC{hwD1D45A838A`f*yS>LU*gukVs7muZv88ZtN$$0ekzNs%i34` zjqvpNC)owH-%r8w#_wtPU2xSc)^E*c_op&EYknZP^h?OE=a?n0{`&#=)hW(p68<}U zoGban{9;h^?{C8=IcDis{XYZWR=~dupUUB?|NnyLjX!a1&Zfto`A6kHp9_t@Ec+z? zQuw|cZsW_^XC&mC;iz-fU;S&GqkLoSJTt!XjGXL+^5U{TQ~y4%zlfhnUR*)?t$!r; zlOEU4+BeOud~4r4ZteS>aM@=1v*g8X{#1KpweJ{htNJN#M?WE~2uJn*4dhW!eWfD~ z;;)5^-Ih0o-0`DZVDUk<+!X7yJd3s!%<|C}d}g6e1KE`cBM z7F;ZkAA^?*_>aTKa=7gOkMMDhar<%Ug7_)8^}n=z;_ruVR*o%^X4Dxf2RKgdKBc#6U5IVYwh!Ct}WR8NnH0Jg_v7C)V_a1?7;UCEuB*r z9*^{E4zpnSMoG~6S0T%Pn*Y9u4zZY%gMPLDgXB@j(y#l* z!|*))e-i1}8pDFwsrLV$L4VwTtbJwQV?;64-{ee>>h}$Jx_=m#|IWg>>ib#xoqyoz z^_9u1{ujW@9JA^#{(bN@Ib8eiuZGJ{oG!CpT<_OkP1KmTaql_<*Vg`4KkEZJDsDr! z^^XU*wqSb1ZT^V4Y*EnsApci6myax6OhN6p7ahkrSNo-TB`RP3wP5+wzZc1)kk!AB z!`?zPW^!JFa$$E7RUfe|Zh7OQ*>WGU8iVOz{6p~3H00X&AH&VR<551d<9gC;{AKx1 zy1#-BG3hipPF)cHDm<_MY5nmyyv#96Ui=&IRR#R4XD#1uZLS3bD9MC|4QW5x8m|G!v=esPf_SgKWu{KULIZj0bhXMki(_F2j7>& zZGBu#acf^2zhi==L zSjO@=K@bHLl}V;Y@S6{OfSKK`uWR!^x7#UkEFzpSXOWkX8RnBKa|&&HY+E z#HB+ai(duXL{wXri6+OX3*u&9Ii%@e`SktW_Ml&Ll%*?=!W>NNV`FKqJT>xsFGsO7 z*VyjEU&1kKet0X)>^nss3#Lb0bx=6ve*KSe*?%{@%+YN0IsC82-+l0_IcD`A-QPa~ zALpoIOfRP{Nd6JP6vsUI&%kHkdGdb+xFJVg`o9I=SHPeDY=8gGDqr%Kz%{q!@gIOU za=7Y03GZ;svws$TJV##T-vmEVzz@T3E8r*Kw-@k}@V6E4yWuBu_$cY`hu>MiKMubu zhpYd74t_Vsto|$hm+*Jx@Y68$;dD@2DQJ9U1>@gD-p0p6QAX>h;x<2Iag}fL!ztuV z&QzWIoKop~i1(AAGL75(y9y>Bri0nH9$s|+-Uc`O%aIZ*NBu|Ne<{S}`xL+a(Dz?r zd0gL@$=)n3`?Nlhn^laJ%V`pJk%#{r%i?vQ>L`|QDI*+)9Vd=(9+z+a8zudA_ysA> zr3>$bnSZ3if|Vord^>-Q^SdVl>#@Ku~^jhNi$uS6Ke;sJ{j}LHCj^uTJSIF{@bT9EEHpF#7(Ea1BaFwS%l(t{|F1YHR#qWcC zgqUuB8$X|feSug;KCZvwq zQEiasSCDo+Tzc~SukWAt7V!PZ-%!BY@O=gRN8r^0eiFV=z<&weDB!;e?-cM4!}~d0 z`)~gPz66)=(*7f<^kw+59DW7qe+NI#G0(sHIO#+Ie;)j{0zL}Ay?}o|{B1d0_1g|V z3D2sZ?B5N)Ge=&$0>7((H{f>{@MG{(1^g%A_ZILw;qT7j_rPp?-%lP3){Y;97maU? zUmM>Vzb0pT9*Oj8j99RIqa=KVJPKLuf132i;bJjAM*;-NKLOWu%*7PMpUuZ>8rwrW zC~)#Pz~m*PFyasH{maG3>pGT?%fAeML5c@)SN^Nu7o~Zse3Li1xcsfiYi`Rc|Ml>4 ziklwQ?+|=dnuqe$Kh^%_z&W@Om;XlOSCg7o{z>?n6!%)Z|Nj$wEX`B(H+hqb%l`oK z>r(PT-1+wt@bxKfdQ|@}z^_j8RQV=va&h_pfc$t$J}&>6G~Q&2n;w;aF??H^2L)>-~9u$bH{Y~EFto$~z;!5W<2`j?cX^yuBkkvoL ze+Dj=$A1|vbF#SXdjP&{{F1I9{=0D58_PR|fy;iAC&>k?U)KC2J!2u?m(XqXpR-EC z>{RXdHS!eA-{)RfJb$l(-;16h`$PHC|AX*%7w~K0@5|v@-!$O&bCeIvZcbegzXkpv z$1JY$Z-sx7W1f9?z#qxs(ti*9(;Tz(i~kDz3kCc`@V_qLzXShz0skCa70)VP^?M9{ z9z3sp--3@6@aKIGW21my3co0aFH-&l{KfDWdo%eR1lhL(zCK4@{6_fIIb8m|89olr ztN#*wDo0-W-vXb>;iut02Um#wr}3;XO8hTyv6zb~h(8Ed{vjR|ypD8@Ka=Oug^_Sn z`Hv#6y2bKw`Co)9f6RlpEB`S#LwJ}61+q`&o4m=zAwVC z<~U?uP@wix`RW_u7UJ?>i~K4;EFYJ@2fjMRO^?cN!`GyFP+Qu1;6 z_rTYsxam>(AB5ZecZGqVKwR}VdBbt}k0O6HAg}&^4IfW&)8q8RC(}Gtf0H-4xcnE< z_}fzQas6KjpGtAlqw>e$GijcxzsZ|iT>c*9=Th=<`G?_qQ{42Z{GWv1kmf;wzQ30L zP2S|<^528}zLb1i{)6ypiklvl|0(!Fng<2e|4iQG;`09z`9?}UF8{0-=0D%6{4%_s zlDGAPmEQ@Rg9~x_6UZ--n%Dn+7=Ap(y%s%zYo5xfIk4AD&U`h&lK>_ z!qf8;*%R0(Q3$FIEJjQgC{BgM1mL>l-xa`l8m;O_5hFK=R zp7dXXtN$pb^~?VsC91t+{no$a-$&u=a`=}>|8uy;r`3VeBv|`e{Z$VI9TlZt{xw<4 zHxu}2besQgC(VM@L)_-CEUxx@28}EIS@k>9`!So}%E+6IW`mBh{{`q@!!gz`rl5a+ z<>l}(&i4|{ZZQSxUy`46DPE8A%Rg(89S!O6L1ih7!_7ak&w`cnL-1Whh1fp%SwXsQ zfQ!XkOyOo&hiL6$dQJWfu%hzCWuroteLsE%d2#8;lYeIOSi1|NBZ@QYr#&%O@9{G_Yofo`X55rbB}fWPA? z|E1-{AA|pM4p;wN$;VNeXR_LN6#fGEIR*SOc;55>)i7)SQ|Pi_c8Xj3pEAhNxZZDX zC6D}nGD^3s(~5}9{FxOlH=3``R``<6vsUO9)oM_W^uj0eha(` z&$_?817`lw9BIMoFK+f{alK!>k31@S7188OkG1a@30du{d}?3K-;zzs|9WKKgUTF& z%i^lv6kPt2PSeY&3wvNzKee9)%O`I2%i_BK9wLuyzny4ursoZ?pCR5! zLY951|9gpd!KEWDFaBZTy*d05nAvZAf~-S&?B8FK?zDd8{Y*&Ln$FgBZZLDLZ@WKB z8F~KwQdIsJ`7KyEvhQ)CLYXK%ad7>Q%w-ZKqZkK1Uvl=1a?G+%`t|+zD!6o;y!k?M z|3aSCDbA$};!nWWaE#?WWo*Ob-!ci(ZTV)TkZ|tB#r~K5=aWYv)^GO7e=mTGW${ZQ z{o_&+g0+*leSbf0kfZrQT;JcTZ)Ne*q^~89?8z!$-w*yEybM<~y_~wR8D{-&Jc4GQ zcw%3~?NnSoboN;yn(g#V_RS$XPt^Kf(d3+Q{EQM0!}Ho->z5_C`mWY5X?g44BXH$W zke^(Bj%wc@MLr!)hJ-i6%s-tdlle#7{1bDtL)`q6#ZRNNsQsR-f3$x58EhD%oN=Pr z#i05La39my!M``X5elE?qcN|N1Jj=AYvx#L@gCZvKh6*{S;dBQbCM zi+_u#@tI}6)}LBmj=&d)rk7I}G`~N+od5lg_;caM$Ss@AZoB`KVOGBe+=As3xBA5# zwJw~geYO6y^`+LICKtp@-(RMEiIXI7SjMj-@c^+3%kq!4zkHL&i{_8R=(hTIBIB(7 z;#U8dTUPO8{;))BvC}j8=gH0=XPRHj*moOo9D}m_^H$iqh?6;7^?M(2TMk$I{Tfm4 zFF7Rj=G28JJAcVOYoAAgP93a$#I1c|jyW#q`9jYR8h;NGE!|V@U1eXthe^otkN88x zPv&sd-|XWw3098eZGAQZRT&DhN5R%-Vv;dAF$MK+tsl=Ps?Jt#8^6-8^;zEhIf{(d zXL|mK>&K-F;#!|^8_ML;ulkvNmT&KBCtgzjwff5j3s#T6BHHMtX7?aJs`^1av z6Mri0)88+cee%Br^Itczf5srk72#a_kH^U~!f`z@G)thgJsD5H6_m&1TmnCLzyh`; zcQjk>0h)c1w_tj-f2Du_T0t_F?h^PB*Z1RMdHjCLP=Cwfvd{khDvN&@ZuY4USTH+O zzW%;TAxmET578l($5p>P`>cNF707=X{qkLw{;x&$Ykss~_KT~I3Rzs`pY_t^_a`U7 zkN7j;8n;>HpAR$tC1absR=&8EpT(trRYCc$i1cUKFK+s?xb#mH=ojA#&#T{#Gn6m> zRF+?h%2yw;VB=fd=AW3G|4$=OG`}~IX9`&s)Yb}bipoFfliaWA7uOu4kj3TSJIOP{ zF{}TG{~~;@fPVnKH;2prA0^%ZSNoe?oVpRwEZuF+4z!=ELi)Cs}Cr|-1La+9-+RG#qIfQ1Rndx?%%pUtVYKL z9M=U69zdN*ZiseCHwOF*HLsd;Boy;mHOYC;GF_~2fSav)xYxkud6@u>c46mvzt>F z-T|}v$L)Vs#EbfmI=Qkt&sSPcdpT({JWO23s?~zCL z<@Jxxz|}T+{LkTe^PluttM;+> z`%e1LzfwP@h-E=K6wX^U@ZU-6G^E?9xb>ebF8vpgNA_Jr)V~842d%FzhA)sPZh9?` z=C8}(caxAcf9d{t75qdFzX$mV_yh2L#B}+(KWv5T`~58auYvD^uY>Cz#9=6i*Wu$i zd=&npaP426&3Rg0{LS#00)7Wv-?nARYy7+ezPEtC3w}cZzYo5zfPVm9E#M!9>;E%# zc1HbV-^1`m0sj=dQ@}qD?-%gDgfA8F$Kl5dxb9CU3b@ukx8?9B&~5XJ<~R#yg%fd` zUt*3r7sPFT$>RUN*EiZfe8$WD{4Sf#?qI&#U%UvuE3hoC{l(qHl_7FS7GgHPXnwHy z<802yh$F-^t)DKX?4tYMYvI;DC(viX>=d{8>x4m$#`S#mQKIb2njh4^)qjfCPwGD% z@~K{?ms1y<{mhYCKdmID`Oe7xto4t$^{<$l9&zhmS^Q~~srTFRb!?xlZ=dS*v$c=> zdxEI&owR=?^3Oge?SHKP;?}-d+}cm&$MrW=;%YznE{k`f@?-zn_!lo~AMx+z_A&p; zKl_LZ-%0ztf%?6Tm=4mR@YAqSe>(JQ{9d??U+a^~XzeT6-w67%+DG?|kHE#U#@ELp z{Tc%nOuy{^lb~PaTe{^l{bE`AKldc{%Ri41r9Z2F{}}1l`ox0Sd76ahexFZ`<;|C) zpclf$V(uk;`xKS`5@fA?vdWkKtny9&lP&*MQTh8!DMzcn#_x_$|8dUaHs;dZzxKh! zBx7=%x}f`C3qHYB9{&;e#vDFM`cJ_pIcE7+{O94@a=7fj4?b1Ee+{njnWbOy55x23 zFO~lpxYi!lhdE8|&tHI9`>HQlu=!2=Z;1*qm#-AmKL1KQ$@xB_rE}`Sxt9#|k69u| z%P0Fs$)k{0zboKkd3+N*Z~RFAEL?pzPyR;uNCB_IFDT$g;TIL~x5Krz$SeOIc)5W8 z27FZxA0=JwyP9KG`+gi*Yu`NopXvW^^;vYt_B{Lb|9>g+{}+)j^8Z)hMgD&rUgZB3 zRKCdn7s8ADe=)pVP`^vzdHz@bx(d#Jx&Bf6tVwg-ObFu$TKkN<6#o;CkDXFZ$n*b= z@S^rvfS*$!e+Rs%eclIG`^d*nC&oejPv5VSCD*=>0+-c4D3SmE7OuXTSHI_6y8Q2Z zg1CGCBmb@^;T&RcYjSc0vgY6WZBiqj`B(GPcJe4ZM3fD2(D>O6e~3iIG*|omF#LoR z64PA!2Q_gFvpSNL1o2zp_ZRSAfPblge-J)G-Lmw{zrP0`hpP?K_KANUK9j@s_eXyZ z-v=MhkSD41P53Febf@*Jf2e)#g{zNo@PYa$JnI#M_9?p*|6}bV`z|4mf^=KDOW;R* z1Ki5a;=ADL8+q~z@S^^IE8KjS)<23~)lc(NR{c&QYyD3;ESMh2zlS^uS@wzlS9nqV zeiNQoKeKOH{eu4=j_jLpR`?&YPwn%kM1?ZZ(siw%@%1>o%z13T>`@pcuHYleRUBh3 zrXYSEoMDv7<-Zrh*Q9u?{}u4D6z9?f>Hk6aI*xheUklg#k;T=&4#BU^;nM#T@bLnE zFMP6qe+<5@fUAE^rFm#So8QWTuL?(NOY48;Kl79E&r`Pb&rh#FI0QRY{l7*Yg%P5B z6bJDq;9`0FLJBVz@K?ac3ixLDcn&AIbR&Ep$9)*B7zf#R1U|zt%f26j{VeezO5Da72es(yMut#(oUEZqt4qxakT zzB|3YZv9u!ZjY*d2ug>^8y_W2^NaS^l@_LzOzc3;Z-k`A2E7{NDe^-27+ur^|n;cs#!1`kVjM|E>R= z3_j7p#-F%-pA>UzN3D-uANq%MTDqxH|6CxdzU2&l6sEsVS%S$vlb1gfMu|U8p5q*2 zE@t6p;U~C|tjQbGQO{p*3@nTPI`VIVKPN;E$@u;-%=}|M6E;1%fBZgq6vl}oI*Gz4 z=bwd-bIh_|T>XENqxy#V-6op9Kvp)SgLEle_5I#Q{%Y`Rd@tPW?+kEazjQaqqmb2p zs-N~J#Io!cKZd;K`8@t+xY|FDza4%<0e?4qUjhFEc(s6Q|6!qk{}b|!9RBpNf&WgD z$3ooxFC>q`31XQT2l;0deu86G{nh@jgx{9KCI2e;?FC%@=WS^oZd99)we}w&kA>L& zJ>*fyvQPc10vF5TvcC=2c+KJ@yZ&wSp7OX5?7J0NvoGnCWQgs%E7*5}^fECH^3N~A zPjFN$6XWpyNdHJEQ{41xd^{ZVccOIDq4s}-D0VV~%fEj_l){k=uKN8caYO|Ytz52L z_zKMGUk+(HSU%OyJ;Za!@~`*^KVo_OvZhBDL~b1v?ct{V_K^s=Mh|9WCATjB@hqwfvwktNp~)KhB1$4XoS}x)ffB ztkwUNOYuLJPu$+m#N6z_{L(APbCP3RzWRfL_^aS|a?InK;dkY5v;XcCH~Xbu_FMUD zLcSS}Bg7&O{=depesTG+{->Io|MJRzs`xBzXZ=V1wqX53?bjxcLfrm7#jm}71TL1v z)qZ!t^X3=pAL`p#@~0yE%AwDzY_m_?=9et4`q})V`k9<`C_E79kH@c#AMv8`t@3Sr ztNgTn&Fd>mFXIXQEcgF1KHL2tNmrEg|5bc?N&kAnGfMh50?u)NDSvKB|K7thOJC*p zIqq){pIa)IH4+Z!p6&kD>#P;}qU7uq`fl}U zEA(~Q$`$$sXvGSBNncu_@1a+$)U0^cO3huRm6{<|u2emLhd8seYkg^cq0;4S`+8ko zaaF0e(C+q?z&R;bt}WGD?wYfirJc1(qjaFrt|)1DZT?CgW{#C^@fYh#M>)B6(ZP-F z#a6Xpxtej4ztvlS=v$QUwLI|zTH@Cw#LHoif~+8 znrJlI^Ob(PTbf;{RNF^4*84juol?{N>}hwan<%JXY7X)>XDZcdy>+k@vd;9obCvy# zTIoo;UM)3eL0mMw-2QgEQEFauwAI^DYqq<`O3jUn2M*M_yLz=Mw#_suty-zYl6z)p zQ@hpccPqGKd+W%KO0PFNUqMl$-l|o)W2H*#;9^53KH&;WxB}6Qm0oR2qjIpv`P{Ki zEhNc^)_k|tuerqLAluH`0cW4HyJ=U5?Wpw@e7QYWdbi!L^y}?bX{Ntn!%U^yug^DX zv&VY<8gA%Tn&|G9y0u>4*krxeue9cCr9-uDtJc_Asn!>JI~E)LdZ$q*?~!_MzTK<$ zkCl3h-2;{R+FY&GQvnAm)!O#fT)kPN1E?yU%KV{Pf3|*0Z6H3?KDgEuSMM)6v#Q5h zm1cc@OSeAnt|=T7lS^4PsRAgkT4{FFY`uQ{z=2k+*HfR_(Uw?ZwDMnb;6Sg|r-QWm zm3h1BblW%AToJy>I>8lm*y?1ZU-8~=wd=i_b1XHb-_^SHN@IJgTA#1=X8Ya6`98hf zU6opk%>byVntyApjW@f;)KnWbY=)Ca`yHvdMltLQ@_ltVEj2^)50EMnbhrvvx(Dm6 zQj>P}swiE(c}ut5^a);c+hU`kij@}Z5%PmAsc-*N?=l2yF7s+E%L{Tn^Mq=Y-}eTu%zspm-@9r0 zvy1zy^&`qX%dF9mU~)3Of1-MGu-FUM#Yto~YxO-zEb<2W-`#%h=blqP*lLou6b;j6 zGU6ze+k{opi+UGqZ>b)Y($+wTS}dNx92nCCbtZr<0PjQvT_5RtXJr6 ztR|Xv=EiN8enbhntI)cO&7JKww=UmP7MoMGBee#un&Yn5m~L0quI@Z!@dsz8`B1(u zHC<9^w!PS$cN3iVHqz7k$tW#hYU;7f8ChEOv} z@q>bDDa#ehvM6OJ%i3jGloGOR+$}XTy31BS`I8Y7R+H?+@M!hwTWfB-49MmnPfPt{pg#lt5C2`<+W-b<_ivmUb>p!h^Q_a1u+&3acM?OOCR-`fzXP zg|%d_#Kly-S=ZX3;ZIuoH@S6Zuha|kNPnR|f5@#q{C!!|)Z7B=j)iukTGF!BEpKhm zxs_#@6nzb68DcbpCd)9VGeScZNNrc^2afr*=giWCCJ3w2WShaHrP^mt=!p>m{d zWj9krtGu1{gLT%{l&7m%w`_BlGfTYzV*yK!{q5?pwXDT)5RV8F+(?SAS95!{udB7r zo>H&fI8y6wXU1~NR_BObSOK6}IR`4e$ozbDqIyJ*alNn3WX8K zYi+DodbaLP5bdai;?7!!C!0Z2A~E5Y?3Q!(u+&Vs^?a1(OPUO;)3D69%Q|bfZjXhr zpZLS2zZ+<{xT3c=JBy88t<-DOYMp@v2bfN8i8|NO%AsU&>ix7QN@2n2SFTkzsHqY6 z_ny|Na@tT@y|<;(>+fhE(Q+CG9kMPq@UI#*aW?%(4P5gxz|fVJk4E2Qv4p=hoazyn5~n=XU1D(ah48dIRLFIm#2>SV_NExZkzz z_e%O%kA+bOf6@QAMTRHJgJF>lcR2LH_}o3~*@RPN?d~7@EXA#F2CAFaF4nroB7-#O zc+Qja<5X2SEKc0YyXT)2efe~QaP7>s2h_omzB$p+(^qv%oBI<(*I&)GyN4IUNGh|c3IyX(EhO2gfKqf<47za{(8v9VjL z95Q45Ac~Wi`tV1GT1UNm-~>%ulgF6SwB`%GbdITq_12wYH zdQX=bC7)-C(BC2j%;$|pT{~@qt;MFFZ6~{xgWMGS zJnJt!uvLe#+Ranp>~F3mmlRyCO%o2o;+mZP2rm}+^n2#Y)IUAmpjL6Z*>LW>U) zk_K5?v;Ss4$(?2b_g3)?w-tXu&!^$Qeiz| zn|o~gXoDe)Dz^=!YYfn?sWxqV2H%^LOSG_$9`U4;4Q?y0R5mD*<$=3#AbFs!mow2j z6u)w>bm}}n@meb)rH(E7s^QJW5qk=av-zgtX~Ui{cCcEtNvqV{R_V#XzRuK%oyvOE z_)e|XQfYqApy?j7Z4=1yhkZ--s!XG$SPs1|Q^VP{e?{c)!94r5sui{r!vmn@@lUZ+ zQ(T7^Nwf3&bt4XYEnM*s$%+cioXyVHcvsd82eoOp&1#beE1t%7t$zim&vQeQ_iA+&1Su&_k>C62m@0cwJX>I}TwFB1z*eIk@R~kFbH)I=DP> z=w@X(xA)vVO$&KfpilQ5!`E0(pqS?lE`?f$S;;-1CFiCxJTuv4c*1LL?6wcpTGAXm z6FnJm=Z~*kF>#7p7?+y<;Hm8h;rC>Bh~;j4k)*S|r2Q#2&GlGGM@%LcHnDu2G`^{h zJGct$>Qre}^3tjN!k2dvJxg^$)`xsQqwvu4!}WB>61FrJ>s5P8r`^^{G722>!zeD6 zxrM1jPs*W0nzJCDy5qX)q<_ze9j-U*sI=I$<|%#niuqV?Ph20SZ>VPldF$$Nzn|{7T^*)V zr^R=?PykKqvIfJ$Ve`^_W3k6GA3Liq$xj;25lLTkfL&I1yn@a6-ekS2Ei@jv>`miF zy%xtUanBpRWNaM@UX61pxhKh_4>kv<%Qev8Z1AT_3O#yzYrkF|ge&@sw*8u$^aSop z@#n$E>baVL+RDb{E+yVqYYkl63vB9~(TQTKJokzk7wNFc9pP zX5HA8IOx^c-Mr-L;)|wQKF`bDqq2&B zF-e-MqBcmvmX1!tj*d=c`mg|Qv&M^*4kbCAyg9H$?O`Y9{bc{klAIc;y~;nrhI_en zKKBmDJ@SSfcJKJXu2QrOCBY(oy zkw1}h`iBkr6QDowaIlMXINDzF=gQG=oq^p+IinP+tb5Kpn{f0@?~y3MRbDUIXLw22 z)FLEmh2b>U48uvKE%l|EpT8U(T%vK-?S1<@)por%*>%;r(omw`iEeG!z|Ew7fR){5 zR#eAIZU6a8pLJMi7Rt*7-fQrtp6?H|i^w-lO5VIQoZQ}jv%mW|nXu8CNNG*hO;jAJ zx4aU&|0MagSC=q#ca4{1joPGUDsFtf2Qn12;G5uf)jr5-mI;|v`@~|utpUrG4!b(+ zKKJx(mAjm5A8jQGn-;s8;+2gJB)7fl&o{UDB8L6snu*Z~`tu9!Q>3N};1h^ANliU$ zkow{osX`)b6OkM5-Cxq3G|I!smi zZhL4ilV&)5z2;9^keAcE-W+T{&+w5QZ=JVxc@e4Ahp&CIxs=AXQMQ{!dA);FN3Zqe zpKnWhhPV@6x`OFov8T7rxmniwEP4|idcN;P>)3b>{Uqr(^mFTC@`_d^F!l4Jm2P#8 z%GMezxBRDSfw~(U?|f!-14!}0UCQxaCE zdf6OmCK>67vr_$Oz4vB&vQ`zOYt_TsuUd5(;$b44yAodMEzixzf9|!nUTGypOz@&& zC%cdvD`BB&&NWRiB*t`sW8)4w`mtvZzIE_Q~`O5OM;tM3*=W@`G?v>wnbA3Zq5mhKkf*RX3d zzfh}gt84D#D^mo1$SqQJR}Fn`u!y2RRyFf11IoR#a%`U0+D@-mMnCsyrkmU9QC_hR zWpOE%LEA3gq9BQ3{$n={Q+K-`SQGARJCZ@hz{UQ}-L893_Wi{#80nDnhmOe=X>ore z3oc()ufg=;$_|%_ve5A9Wck{R>zvzX_PF|a^ z$K=0#pl@(@9}6FhOtssG7CZjqZZ{LV4RL9d9sWXJ6R--?6MvNb>ZGcEaiRPhHq>@Z z?7eAv<4v2Vw{D-_eAC=DJFnff`KC>~cJAIx+T70Vn`d7$@a-lZX66^zjackf=8p}1 z9}(Jlpj$Unz07Bgb3_lJygrZa!PhkTfM@7dy@hWgnKIh_zCKlt?%~(fx@`mA019EN zfjPM_7b{-YFg~NZIdJRu#U`F`%QW8~+~XDPxJ7qt|Ez^mEj3zeCBohoFFjZ<#m-^i z^!jxc(ea!8L_RFzynW;f6Bd@=!rY43~RR#YspJZn)pS z`~N@FbGFZ%g}A8DRWseE`**(Y>#x7lr%#_*Y47%#Ey?ONk4cy=u>7W1UcIqo`Cp~A zNwSvh*=!9fewKL=cM-XZvx0amdCyoOH%{)C3gkU+h1_~_n+oJz%l02y68bn5EMLX4 zhqXWBm~K zZ{)y?;x6XAR1{a2k;{uK>AjL1`Wn+a?z@$|kla%WxL+lQ`$tTk^d2OKF&o8I$(0JY zKDl)T-0R3q6mWNwdwv1;d*mhyxc@?KV*&R^A0>B94ySqdv*f0Xi^a3%l`oSk z8;4>LwsthQ|Na9xTraV4`yt!&<`>D8-itNim^{R^+EGRl_bhU#kJ%?~g50ush;}KS zpHFVt^+8VZ!hS%v^utf^=LX7=T&o&N@Db8Za{g%fx3~(qQ14WL%Rkb4Yall^9-1dL z|AE0ZCpi+mL^*F@Ua|)CRUFDlx_<8=H(_-#z3T6~$l*GIEXlLtQ2GG5E36hp9{Rzy znNu88*G=q4I4@tkMENkY77pi45PZn95) zE}6nue`SaKJZ=@}TG~Cv{d3rlP0TUAF+Xo-`+nwm!;2$YR8(1adV*SmI+k|nkaT{A}4VE-6{%G(mbra;m zaZ?*;^=GByb`9l8?m(k2N%o$IUi4S#N7buwt57cV;3GMbJI{9MSG{uCcQRrh?p;cf zyHdZb)IM={Q$KtX>&IK!E<0tHa`oc_k$xavlz!BHr0aXig&z1tawPZDY?pr3E0=v= zjM!HeWVz(#acUPRPU9Si@?r)cq1A{S<9LZIF1-U1Y$>Xjj_v9Q->!Gk8yQGBY;86RgQ$as)56SA)b+m&V znAmkB|ILuYe2+On@=!*41>4)qC#^2V$$z(#TW8#m|0EDXE&V3B%dHHZ(u=k*y_Fo^ zZ^Sso-+RbmZGf@M%DbQKp`XJT5U+k{9}cz*^#c`_#GR#FFfmU43-wMo3H~dq_W{a7 zYfPT>eyTvPRQykJaDQyv#tAB(b#2Hl$r1Nu%FA2l$j=XxL;S_`O70`%N;%x>pYdeq zKg6Jt?3AC!$fF&8R=fD~EIgGQm{Imguf`YtK|-!FjON`UJwvqZv#_h6?Oo3~^5CCe!ewvy`@b3wqNjHLPgCFB;ZE++5S9BuD<$=znh>+F-&dx-5V=4XtF z>D7Fy@z_aO8Y|@ZXnq#AgPdh9iPy2XZB~I8RKoj;F#V|9O7%Y4+`Ji$@leY4V^rMZ zJjH?f+p)Sy3WG~fh7a{zD-OsRd@(8R#f5QyMv&!-2XSHC$2i6Fs~ImPlL5OW$BHhA z`*m{btTx6eUfx7*!Z`F(@=!)P@3Z8c&ur zLE~cmkih>z?iQ{@d9>qOOu9L&bfB!^oseoGxWtL9a zXO!NjlRKTmN$&)?dvZ9%f#P|BT*-3yyKJ8^`^bOdi`vDD>yraBihC`&QUP}txyc+({e3&RDdRA0L4w31hQlpRe+SFb+~- z)~rSC=bVvLp4AB~%y-_RZ#U)?`eU+5)3JU)^` zb?H2GAvyRVChxo#lRS~!B{}lMT}rN$!>J$7BR7%5ZD4yi9u~ zpPZiatsSesia+^9F^C+Webgt;s*+0rrIITyoKHhe zr)Zwk_?|I&llD=&6$pr3t~a-;-&A~l&g5j zz%UY<-2v3G%eWFN{%vhNw>a9xhl z`)qR8izA?0nemYCitwim^V-Y17~a4OX{m>0x_`zj$P|A-6s zRbrgtPxqse>D*->$&m@;EZoTc%-eCSzv8ry-pJuJZnKovDd1Y<`Z=8Ro+P)J!)2fI zmW;c=KI$*ZNQys=hx#$*o86p?^6ROO)yp#Y2SB|NiLdW+%=T9n>lor>?1i=bV*#;j}qIEiPzs@+(3C~!(6U*93#Dq z?Rw4=ljS^}BuB~P_b*_woaVDz$z5tpY@R&L_OKskj8&3caq2hP&j_+yocjAN$}L%& z`V!#jec?WGdGo#2b)O(NWkOJtKFQR4^?7o8tRZ%NNZwb-l?&wkA9Av{V};WSvfXt;yy#}o*Yis+t zzde`j^0&@cu6|rgPJUFoa&h~}h5aoFvRrm5p7lF@AdsPU93zR-@AScp;`H|cdG~4c zL+e;vld*V#Zls&pA7rpCYabY-cHo~O4#F*+VEY}+$E+?k9^;O--#e1adro-=+e1G? zrjqQGy!Vqwd(400?kAV$XK^1Qm*;13A0`Js$Mk-j?O{KbU?kHj=DNTAC3#do(>`h^ zmgx6ue?xA<8p;t)aizb9fUKB(U#Fb!GA~h9R@Cgr^&&d*!^7GJITR!G44LL ze}Z|*xY&H~7i|AJbHsCu``>I|4TY8_?Gxjk!1i^_H|22S5Mt>C=;RY{u<>Wi^&tG^`CyHrG7eLfjq7M^6oQ|r}banJoyOi3jI7GWtL0- znkV{7jT??ejhp5dFeUp)jul;c3gv}*KcGg-#q0iYC3zsR`-iv}k^>Xt@IDafI&!#< z-~#DG8a_=tS-b(J?9PYhr59gP&#wsapK0>Z&UekOP&TE*jBu8>TAJL0gRT4kWif@z0 zVJxoBllvaI3+xyl$w3)O^48)H2rOYvi^&uBWO7f*aug^|{*ye&M#3?Y?0YulU1D{k z>|0N+WZWqGUPNwPmdmkE@(gz=Yu{eVo3PeV_Pvtaq;aF{J4S9}mZN>Tj^sbdbH>?M z*1lh-yiL|N%Dy*~n=)>ceZNm`Tb84J+3}S;!(GbScb4*YS?ehKK1Z%>+$j6LPHra4 z<=7{A&N%zZ+V`)NchK5K**AuOw{*xpqwIS&xoVc9ecADqJi}ee+IKDG&0Fgz`)(lD zF>aK7hsgD_9PP`FujD!7>`V47P>$jh?InCMtzv$j`EQWNVXPnG-a-z{DDDH~U{8!w zKR!wh^UEl|JV*{}zab97ElHmGD|xR;7PmwWaS`Lx-`^nj zgB-o$-bfCPjrm1--%AebqnKWCe?)GqfO~-4GYh!CBsWpOeU04498Udxgxr*IvHpr% z^Hg)3rELY=CFFJ$a4#UYCx=_`>XM!0%EsZEvur5IzG-re9C_kq$#rr#ja!Et{@tS3 z_)6Yu$Svi_6L&YcJ99Y1FVY!uD36-2{(u~q*tm^DfTfRreD zklT~xXrDOwPx2^cdHhjc*?>{@{a zon&8QENFa7ly}JLN7;83xq0J;^irPe+d;08M1eV3DadzQ;O|W#8@OK9J>d z?2|l-S!Un6DDQp)M%njKa%Z!8DOmP>iQI>?9PJaQ_>(+}S!Un&DenOTM%j1K&wB}< zvTW4#yN=vvvmEWq#-HSQ>4W*@MU8^ao1Cx-ZMy!a`XvF_qT)O z$E@yg_K`j?NP5m|k(;nObWt3;o9I2_adK0}K&Ch=x+MGVAXm29QSU!~o7{|XvGLG4 zOz#^H=5XUqdy>3^@|N8f*e>oqa)%1!eUx0afcqS|`2y~%qnt3F6?14;JSaY&qaV6kTPzO5T|o{^j9VYk zTQXKjdKLHA26|(0uejPt4oocmB<}`tW5&hg$uIgH$}@B19gOq?F|DM(U(o)2oxEZ| z{S>cw?ich!^6m)w0aZ;{(&WsF^(Ud6NG04x%6e56;LWQi}6`)BGCXVuARd@)JCxNyFY zaf+A6!*Q0NH`ZUx&-$GQd<<6ltmu;BS@(qrtBu98`ui;E-Dq4a4)pKfK93y6?Vx?K zdesm41@gclLGGk|VDBc%8MksQfkoOuPV!KPJ}XIoncU6H(H`@k^c^M#Cf45$+mAEP z8;{%BUSyv*^#}IF`f=9^<%yHrJbCYk$SVV8lK;d>E}CPUei!~Wi{!}xoUI*{3EE{O}{FUIM2X?rQR zWM|)RAIWjT>}w{X_p}-VURyo#zJ@oS~W0hp5xUj!5PQSakk8;u93HwNnnMcT$Z3FD}#@;~u8Ge+=|q5XeCpY20VYs!M&L zWLeCA;+{ZmT@I)9)icOx%(8x-V0#!Zr@RU7TfDe%9*=Q)ZoGo&Lc9O>-e5Q7kk*@Vway>cJ$2j?AKe;jEAWQNnCV4sAL%*C;W5A0G{SxD}zB)#^ z=AT!$!aUUc1sT}U}Y!CYj-za6}hX1~I%zrxX zAr`>kSwhbfZt}8Y{XOMZsULlf_4n^0_8l}D9PR8IFF4FHiXMFQOcA zsEv)U`ujBU;9~vIcsz?7m>73OL@)ZRq<9dgctCr|p-)KS^!K%h`51TJ(YAi4{xLg_ z*{8oJ*+Op8xRQOO&x$TxAL++Z0I471!hVFDP7$YZK|f;LO8fCL+E-^jVe;^iKGzBR z8fW1Ixw0L{;!o?{*N{78T*-uGo&tVJj>jix--FB%^N2g?Lm5fW6?$Hnw7LiFBMuCb;xwKA42a2l zp2w4is29&$vFk|kisJse5kH@$4rKDPxX{lbr~b$|Du_{$DQn(q86=>~NEPvfLrIH<;gJOw7-U7scP103 zJ?5$(Q7pb9Ok& ze}7K?;T%r>3;O~8DM`QdhR*>dgLGem4M>`=^c+yKI>?Y5E4rlXQqKY7RtulWZ9 zSI+?x#>D!I^O5u%Flpu3{X?9d12*Px(ks7|j6)y9AA}*6biIi~9h*>0`~COs$o^ls z5(}1Lj3F~j;=WMwwP0f0H`)Gu=E!1xImGtRzOu1O^0&A!PD4(1YM(~)E^M2$kJ=@7 zoQ21+FlEQF@pvlRFJ->VxL7~LsUPAb_n@5zTP~*@aaQG?SCJ#Bzv9CFPC3GVtzuc+ z+gJe|Q*1*fF8iLnWNrAU-HI-49QS!>-#K69zGa`d(7uq9Tyf$3BgUPlj-vat_NBDn zG-2nRvXAspOzP)r*q{5YAvSK}cauA76_AOKOW1U^bQ9Y{zhDihB)^CY{StCIMO^5Y z7`IZtXkSYEO|bu*eWXuz&abc^;)?nq?kC+3{k`+hc&L+>YdjVs{VfNa{G<0XcaR@5 z2KN~be|m=gKiAijLjzdJ5%@;72bh{%uKUt^355NCJSE9p&kFrNk2s9YSK{>doM1+A zAEJI-8!=A((C-THP9w&BEYgps7^{@+hyGm+w8!MBA77+gFrzs6C9fZnC%@$NL)^pE zi?N95{g+68`6>=wO5;JC{DZa_C%qT`0tkCgXP=l}abx5z$>E;H_Asu%Drr2#h4#fb z>3wd2eUlNrvHpq+^~N~q-C3Yl++K2dewkjOed2!7_8pDb7mkPKHF4qm9C8}p^BnM^ z`)ZGR^?NAAiE_ju(y54jr+t(AmR@n1f6*A@G;VLD+_G__;{IN8GX>mPatCubjqfMP z-C`W#Pxf2UCE52ma*I|w%D%rQcUuAXC2~sz+&OZ07I5DucPfX|_+I>r23WewKCA7M z?Qe~@)6IQp$KIluB zUdZ+x%nw;(OrGLX&u{ZNoZ?x20e9LyNRT^epE3KWA4U5#GqkJddV3W)=`|I}626$^ zA93mrnwQ8R6Q}!;;=XKcqvHNQQGdg@QE`8YT&IA0Be{M7r?}6%-sC^UGp@H-JijgC zKiH`B7#748#k07d_IOsjD6SCCOZ3H$6VLCbpNr!8&kDvvaVjp1=WyJ_X@34I%0)bn ziqo%Bid0KbgQow25c_@dI{}j(v<6`mrNP+(zW9K1>D~e}vKkf0XcnRZK z@$%!u^Qv{;kK;aD_Kg@rdJ;M5MIH8nl~fcL#&e95-b*PL@r-*W{vU=gY2E&8a=3oM zNuOBF_v^{M-5O%^z1Bn5kXy>(^t`&0+*#ue*(YnC?$dk8;rE0wz1P~gNH>$q`@3Ut zZE{m456^Jf{*F6oNpdH-yuT9`_gm!3CTPtFd2b{)lf!8qdKC#I-BQ5aNA6Go zca~hWfcqG^`2z0KA6VgazQ|ZZrg>LfIPZp>iFZj{IPXR|^8ZoS#d@Fec=`u(F8Zi`(){$j%cbOw z6>xg*(lrkE!E}Akg630=2j)M`r$5eo{{q@ow0_whiGwB6t)za73+MYKL6(ctKFCVf zMKXGAP#W>BUikGs!x+)sNP zXgtC=(0Kef^U&?|^Y1dZVH-*qL!^7yKJE{feT#d4WZYnvlHy8oJ{;(c#S8A=NS`1F zCN^(;Dx!DHo$0@%SN;8RpcnS3U8iLAf{E$<+M}#jetv{}9juc4Exn#vkEiNnpJrIUAqdavDK>%+V`qeZpU&J_IX}p zJ}WQYxG9;PuXL@ndlL@VU!C;k+uc4YtZX$`ZAj`ZcWkBd;{IBtksN8XE2uh9o4qPo zOim`Z`h$(h2`jv0!8LAeFSM$?tCD8DRc|gdlV)Yn<>kehZl%>b((X2sW42vdUff&h zUv*V7+iom0Ta(P!GvAPGX*Alim43UMOwU)U?Gsz;{k@e=(sW-pwY$~pOi@2+4!CBy zQmxioa|zLMzdKVo+^8kT+x2SFoVF%AX!`RGx7&@RdBcfTZ*Q&H?w(AVTNjQTsdaDc z)v9J&xlw7=l2(H9b?sKK->sNCcDIi2t@L`+vlSE6sJCjB?qpJF%`G%g@D=M-vEEMI zTItnxG%9mFE6<$l)K~>0TC?3+zve2N18jfoh_lbx-PDntwzt-s_j-Fyd$--M^y}?b zQtofwT&{Hc_1Q*k`ed(PGdFZAO_SYCy0uzzj3*yHuyY`a(QpGrtND$V-rj&6O{9h-79F+GH3+n~VoRV&R7hOO7HA34&h^?Hbzy=|P9 z8V&x2BS(6*z6D6DUzycWr`vv2&8hH1)}bpbV5{3I{fhT~t6lHaoMWx07I(F7z0%m- zs@7*~z3F~;VYYA4?v9eyLX!>F(JDSyZ#4h!thLRj-IExw&6~FyWtBFH$7^nA)a=#y zh+W>AG#LbgCUl1~T(>LTxq2&U+Gu-GrXMlAquXx!3V-UZg+>G2OXgLW>nvQ?Zg$Me z2>F<8d-gDnV#dyxM{s>0&eU#rSe^6(CK+mhz0REGuy3tP-q-E|2u_y@v&lPaSFJub z-``QMHL7Ye^+9biKOk84*F(2`!WaBZ;>!W--IgQC89k&&+EdG1T&dP<8b0>cPj}{P z-C7ED-Nj{Wrk-(8>GT#F1A4yFIO5H-Gp@@t`ct;H(*R6>Z(r=!T75V*Y}vW6d9!S| zv4v}Qcgx)0sx)pmjEkh_hsa<0NmD`)OXYUs`q`8;_Z>b^>zc0S z-g?WfjM}2jxm&hwwK>d8sC92Rf+^8X@)CMB`_B0o-CsH3H8ffLihzQbFpucF2N#5&ro(&n^Q z-?yX|c?13T0e=UuJ5PPC)igE|DTAw8JJTcVihk z@ZMBsbrG3?10MvHHbmWu9nX0+7~JihUcF&M%jv-GhyDuFq}4RNwf(gw?v?EHtnMa|Qdh1q9TXtAkw8P5c ztx2cf?RnVTiy~Rd%p}D`^wi}p_l!fM= z+VNV$Ts33&zQ(?G731p4M11D#ln>$ir0J@X>Gnc*)=hBU+jjQ8!v;bMr>34Qb_NHw z60%z`JZWp2R^N=O`pCy<+&ua6E7MD;nb!D=!ny@y{W1hKL&%0@2x^FIJpeIf+;6MN z9$OAIyhC;ErPuJ@%3RCtywzH=^}t3qT21uaT|pSnq&ali4LzwF1uWpg6i_WbtIVt)cPTM7B!+^<>bGluj?1I&{tMwx% z{R*_axCIl0y0oor7ZVm}JG<=#ERV0VWtlBGwRc3x^}mgxYBgp7S`@-%iLVI zHfJ8(z0DT0wXQ$QF8zUQU-m0a-@LUpUpZcv?q)_c^zEBh+Qv017yCM_+uE($v*od$_<88>2Dn_D>fO!GLZeqpdW~AG zGqB)@O{cd8!F8f?G+m;4Kiw46*n-oqU#sq-wjSC2y@%B*oHkTf@9n7c`g_~Qv8Xl& z9aV@8{EI?NW>J4jh)|{~CyvYRL>)rPT_kEScSPkfqiszje-=1Uf8-IIYqxajO@56%y3(Pb`9+{(M>pBKG; z3j-cIbM=@ySkgDQbnpyT-O;xDlU=(0Xr|pgw!oEqdVZ^A>o|KR#segap~A9%8nU}6 z3t{85yZFl8nyn0ia)=zL_ZBJ*clQm77z%$&_E*Q&Zmn`u#`=pWtg@-k{L!&q2hlxn z0;a8PCv8f@nvcG8j;V9Kx2;=0UQ6eQUQ)BgE*7!bdR+AB(_g^%YW5K5hG?eUu$cxA zy~~t^6)}rm+%|KZStiV8oO0W);Mw_lqv}e1drqsNvhJR4{h?-!q}S=X2U_Rw>F{7M zari#rk*#4jPcu>7461r3Ow3FDy~>qe7L;9)Q%w4t>?qe_cjhV_>E?ZV@}IL#*hBAh z`j9=SlTrN>wnyMj-enJC$>4BL`$TY*)j8lyr%8Ruv@?59eA%E_wnu6pGf?HV=*TJ2 z0l0982E(ze7Ndvx?7Bv~Z;S53HUn*4XdLyknLSTb{N9MI^2+nJ9n-tgt<45UKC;zj z&tDaPOPQ|qQ`VO~>B|ES*Z%QJV__gUtnufBHG?y`6qiBip+6@*9Goyy>)UhYme#E8 z)upy&D*efs%B+YzwbopJJ|iNn3`L}sfe0;@Wq7)JzS5>gtlWc&^t8+n`Ki#x+%4+; zuwj+zk9T$!ROJQ+L7Z9})_8qk&2oisIFMrr_sUf8ZOm>QGyHjHicg z{m8-`_PG4YgcJUbZq4o~?pZpW2*SEr!?qu3NIIu9r^D*>yrj9a(LP+Utpl4Go72OK zn`XFnY2H+CRny6_i9UpDIqT;Un`-URf{Q!sV7mRx!H^FsIO2nfbikVjI=JW+l{)e# z=qRLbayv@H=Y(}SGprk&pE}BK@}#ydulI76*GFWPEA_#Zou0wkj2za+q+s`Yxj}AU z$Eve(NQZ*lo@AwWG!PP0NkC8)p3DFWW&uALr~L_9Bx?CNp+qg9LUXt#3i=aJgOjJz z)xh8?PQ~OjdZTh02ci|G;l-Vb&S~_ba~cPthc3DFPT<`bZDa$0^7mkS_G?uuwx!4iKr#L)cF!I==If;C*~7RI zbFamY>><)tR3_O<)3Y^uW7cGbG3~Z(wP_Dl_B3|mrsrBy-<}(q_EyfH;2-bZxo*?I z?@{|USK)UZaGu>ZXMF=6TCtbNeFDC;tGOKq?m?t=c9$I7bi7Aw1Fto=ymIJfC31Jq z-P5p;cM5&I4-DU9Jb{{dE^{^3YtBmU0WB>{B%hgd$S1t!)^7V~tp&;SOz>o6cmD9m zsR?V`!Z>OA%(rSs$o!t}4%u=yJV@(pdkOnfwrP&XN(;nvao8s(@W|o?+kVaK@C5F)_%eNr z$i)QY_G{c2O&_!AuDj4OFHgHSybHEfWcwo7nl$veA4|`m7yc&Y?_NCOg`iuS!q{mX zM0GsO6W14q&TcqtFPwuP6OzX`BNF?_HMG-#ovgQizu!zW@FU!Az8oN%iQGios3^IdPONVfye1<~9vpAatn8$+R~Is>B|4TJER&U#fCqAogni2+Mo9g3rAJ za*w>+VfT(7>?#G@Kz@74e``tUkG$81hmrnHE3q$a+eK~+xmAVvus^TOBVVwsBVT}X z`p4Ah3)bihzR~R|`6vjsmyWqIh=vOW+nt0n5_TE)oLSq1v&i%w2`XIY@sho4FA1Ai zgao57T<3;ixGLFEU#$80%e4*;P2#lM`}TLL-FREFKn@RnMt?ahj zit1$2_CJE@+d3?nwpM$&VDB~TO}+j80K16xOD9xsUmUJ(AAXg;`?zzs(VCuxHCZ*Q}2)f;e>bfl<`h=v!JN$z!c78*qb0JF~lE&zEOr zrIq4y*fe~&DItOrPTW&9Rl&3l`KT!Y91cBk4kR_H)3}XGC~*=s<&cz8D4YaJN=yI$ z`~Ls4cV_RqvvJ)d+{4Vh@4dhGdG7Pv=YG8Jj>X}9$984w)?K!L^AB&`{)TPaw`~96 z&D(Zw-L-w!o^AW~?|Z}RckSCdxnt-Yvd-xz1jjsa?AU{HFBH9Z6A^2OUt`O72iX0+f^FrU6Ja)Xt z$#FU@t|;#BSfgIcYejlfab@n5I5MkoZx`oyiNps}EbrZFD6-?6+C9$pgLB8#`89GM z5?3@Hj(^MhhaDW4RJP$Q*w+iyJhI6wKWzF4ns#!}vK{Xgw+VG*%#n%HgW_I;%GCbx^J;%o`6RfMUaz~qE{@LwDZRg= zcKb2z3(NNNm&J{?``X-Jh>ORgYzVpSezwQM{j;A-(q(;77edi~p1@Vg&(~<-+Nhl4 zmh$svwcnz=XgoYW4v6D;q~v)$xKrFtaGW=zc2v}Ee*+mx9*?u);_;wvC(B*yc>Ijy zeNZ`VNZH~2=$FOO2KLGNtl!+H#9cjx`;5423pmHY?}+o<9o1|7j)Rw@g16|lLEv9h z#aES=z@+RQ9k)&3Qseer$?>=V8%iFxt5t}{&27BF_N;Z>HtA-|9a4%5%if;QOM9LE zvU)wfhb5O8KbB*;$JB29u6M5HtfoTj7w$<;mb+HJthImUeoXr56Bez{`roB?_tW*x z)to)3LTm@)#mRElYKPAyACX*UsdLFE)NcLO=UmO%XH|&%S2l#){VU?!9u9Bd&3T+7 zQF&4OhB?RUK#p%1;q31f+tUbVy9e{TK%VzQ`@z_#9bSLe4*(TL^m@KuUch}m;pbEw zIR3s8b&SPP|CsxxIA)B4QM><_+T-!%+UsPwmUm@jDEp_|jStS9FA_(FuCSZ|sKRyP zUL>Z7yI$Oj3pk&LVml5-$}HFKuWpR&;2z?3-{N_+MI4#bJhK0GisO3EHNo;&X1Z1F zZ&f~tx)kU0K~vmDa6|r!g92@*#NB{0by_cqL+M@O_FNah}rTrw%n{)_d}*G{8)e^K(-o|0$1zcNOz<^P&Ej#+BlCImX3 z={x$x{ZjMbebeKTS9H#?pPv%P_)F=v+&>amD&W4R_Sk=nK_~aqe*Ug_w$smUH}Cf} zmuNvFvs(YG*W>FjF5y0xDSMP-9aAZMXPNzC&VIHGaxU|hD_1PItc5&uHs&nPQeIF8R#tABkq1&Z^Xy))SMks`&*P>KtoEe*HinMe@CJ$ zk5x%!ug~W8i$fMtNx3s~dr`p{bShb}D*m$ETJ=8LoX5Awj@9Cxa)?k;dCJ1q30;_gNTb&l%w{`RQ2 z6JSz$?Z3~7n;*kHC9YGz*?<38+|n5C8{!@);M~9U&jEmR4xf}A)_b+M2MajIf#Z3T zxDs;u`vN{2@Uj2Q+0Txz3rm-*nS;1B$s=cb3-vyh>s<@CR(a%{tk-cmuopneFDFpX z@fhVs`!~NvuJixE;no%YOUWZQx*si~E)`eTE1v8Z-bs0Xky-_@?=`Y4qoXl+& zM`ktdCUK=P+}{;9IfmOQZs!xyHR z;@rP?h+FY@PId4DYLERwA3E6{`!9ZvlzKnpIPmi{nN(bTXpMRufB#ZE`<2qWT^;_U zxFWruOXxkQdzsl@$KSt?^s?x7SKE$@s$fR{nL{xo`{lojE1DnXz9nuG?oRp7e#xGj z%fAs>$}i?#B#wScasIpMtHkXEM;k`%Ft<(IzA>DC7qlOo=Lm|qQOHK)&wg9_w#VzF$M*tcOyc8q6hm^n+$Q}`qV^y@qugDI{&C!#%zIuo z#Irp$e|u_QQf|g_EZ5vmi{rjRrik->qq+O~bCTnArilBfxQS6f*OvEh#l_=B|2esz zqtBOYXDqngy!HLQ?4RucCk;2blQLEKI>q~!gO+Q-GgMIB_~@qNI`ko%lt zE`DDUbGF-D{Jtc`Ij+3Vl%VS%K9+-GNE6C;%bs~$r|dQ7_v4KM&f`&*yv`Wzt>XFx zob}F%TP)y4pWl|iU4f77Wtquw#vqPwsGxs zJFl6xsNK(HW=6T3#`|{h{Jjd9QO@hsQE{&TlUo1g)gIe%0j!hdnzP+(zhDTtIoo?y za!Y8lEfGFg$KNTA>vJkjeO~*=;&y^_tfu6BMBJe<@;)xEJVxGch`YN$p4Y#p#hn<# zeM4Mz47Z*}BF*EI@{9GpSX`rkv;VFa*8#_(#|y=fEN`>8`%$}^-kZfOjp1$+_l_~# zkBWO>4A&C(o-y26apwxS3Dh&aN8Hb#oU+&4hr~Ttz)=>{C&isdnLZx%Ga07OisOIZ zu^RWg;(l%n_XpzsX#w}&)b4o3px z;y4~Dy??Cs*p4N3QfZxX@2g)I&+3=q<91<#-`9Od+$J=X6P)Ak5(WSgWu^MJLG3SB zUIIs*qk2&l(rd&`;3~y=e0Pew9$Y-W9z*NRrLO#DUzv_bPVB!&@}}_ZemY+663<5J za(jUBWv(ucOp5ckdA%xuTf%2lp8foG$-4k1RIY+F|^2~ip9LFNXt(W4LDldUc ztwT4ceTQ<+j}*5@?Qc;&S-{Pz{eI=!3%Ci?Gre2fPLyf$sJ)JZ_les(hWn7XgJZZ) zh&xokJ)w3#UzWk8{PIO{alC8<>tuVrF3$C%Ic;aMUoPdqDy95l?xo_$tj28>M;lU{ zyXWU4#?(-psxKaoH%T6|lst1j@A`LS_J_m`o_l=WAm8_}_)6^m^QWN!;_naZLG1rB8~xY7F-oaW5#~ep~JF`Z6CWb)UkKwk6 z`;jr+A#pp$a3{p=E#SO9cf}n9hyShcpSib-<9~mj;(~MW<#p)R0?vMZkK`Q!x7v98 zb8+P{+(*S78^e8C++Ab1&xyNx4EKBDPK@EcB(7S(eM9Z>JX!+l z;(eO)&2n-nS>|)y%Otl0fP0NOmYH6w_WjBi3%Ih{C-U1?d~>XsepFm+FV|-$>z^0b zQ_l8O|E%w(RnD~~CGQ`peO&*{*&g;UWyeEnlxNOzi{yPgA+JnW$^J8E zxol2x{yWKUN^S|gQNRCC1#??VI zq~gWA1m?)lf`cV4HQdQKmB>E!;|j;?sN@5F~bjFbK1 zf9Gi@8dG+x*G;x#7p_xwSg(KAau8g~jtR*-tNxX7z1sLLi91%nS+B=!Cpg++{sI*s z{ba&_sqwYF?~nYKvcu!?pg1xq?%{-9bt&}A@nFvJz{Z%PO-$zeJ0s4c6vzFH>0{DQ zTT}h>-^)HNZW3GxAL~Ogq~A=~u@phJ!(41f%=s2`9v81e)@N?5cKk>6?@P)zK@e@R z9Lt?h;hW+(hf?w9^U!z1od8#Yuu*xA1IJ$poaZI|eF7i)-f{Ik$wSppqHLzi|5lz` z9Z z>V~7z%ky|@9$DVFxW6ai=SSTs+=E-ryP zhmZB47?StZcT3(Qs3lXxofG#_FtpKjdc*!_YLC~0ha+Jw`uyi}9YkdhqS5WVX8Kjh zdqO#xlwZs}CGJ82_xp+dT?m@;FYEVt+~;hzmho|WPUF9Kmb}YflGl*gp5U%i`>T{c z048OJ1RA&z-QFY z(~16V0Ow?WUYyT$Y)|>me(|}EOv*3je6Hg&V~Xn}`u8}ME7^bMV*kaQ?fC!YzjNv* z$Cm!HKKIk}D2{`R5o9~e#dgG;Z!s6|=P7Qj_WpI9n;iG&<-a8un2M_ps{IqnA1L7L z7q4sQ3OKJXpOrkWf7=t|HlYE0Qrwf^QgLeTKZ$#)fP1#jFZN3uSC2xsljF)<99J>t zTfEPB-C!(ppK-h8enobU(`)Y8((7@H^>W;t+)u|rH#%pR0CDV?7-LM{r~Uj}LLFsT z4vHap|M2tg1ZwG9``3c4*X!gaFsXRv{Y+jbCsAH4uDnieE8wixekp;Y4dx#%;{wU^ z+#Ktu+sStO-=}^dHx4Dng4Lq&VCAYH=lSDSKb9_FI(~`Oo`)Y)9FhLhf-f z7sp@B*&e^Y@;QPwOyc8qi?$titA9Jukg{V|?Jea8!KLEBob51Yxewz$_Qk)KGKZ=` z46|%|Pf1_QrR-hcO-M`Psbf1neAgN$|NGhR5XUyMqkegx+U=iM2Fspz9~Kw)kMf)> z*Y8=M?cZhmiu7|VQsZVj{QI1ubIGqI?6}%SARo2EzXv9g(rbG^FS%q^HD~{@J;hn?bFRxJ(03`l=3XF<-AHlQs6CFWjk)OX z?f#jI`XP z^rptwT&y?6S?`aJ(QEGA;)>$nr`Fg%bAQ$S^K(?uxOp8n7w=oCaa-&8{=@Q%e@7XD zB>G}3GJPuHzjJw0`1U+9=lzC_DbC~egyfdNtrquR6nAV4_Z4w>6>uKk?})n_9OKXZ zM=>P#?|b4FQM+3IuH%2;fOJ1TDb9Z0CThG6tRC^o;9k5Q019OfCw#S_9G3Rpv zVZivjHF5G44H0PyHGf_y0hg^+H9q#4jcL$DHk9^O6{5=DZI&{>o@uOZ+v!rQ*tV zIIcLhskl0yu!F3VoK5rZo_f!Grec^55{zn1l=ahTI zT?Ioof*rNj&(rsdn*?wI+^GM&pZ|Svd@q{vi+`tePTVhobB~F8d<^%vxF-rYuUAisD|&Bh&gZ|P_qOJI{`*3KUcXPgD7{aE!~a(J z&)he~{lOUSat;>KACBR!7WYR5+zo1v=kH=JI(&OQH5ad^F-M!2%*E?zit~BxZ|b?z zU*pcPcO=Gl3A&wZ zkGXh#UNVH-oY%=`>l`~ekLc&rdSH8fKInr>oe$;{_EM&k$HiP6&oO6v&BgJY;{K+` zv&T1%za=^4nZ)1egr85?$;j-UMT5>GC+mu054>is(jy_P{a_M`W;Sa0k<_tl*L|1ZhJocG_+{?R8Xzwl>9mt_2Z z_qa6to5z=hf2ng_b`cB4`i#F$y*&ID^EnxRv3EuI-R*NT{`%~B8UMC;WyW7HT$SpD`KGKl-|qHVfih~gZprGcaE(%V@o25m$YvYu3agISX0~RF*_rHY zez7e(jl%5

cP6p;hf|&6@RAy}8iLnw7(*?h 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

cP6p;hf|&6@RAy}8iLnw7(*?h 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 y8smKk-saM<22K{+zwfx%-|j&u#MN&8kaM zRTL=-QG%pINhw4jl~f=hA;AksJRniL@Ia{^K;i+O5dQ>!L-PAZM4U``N|eeYWy)7) z+_{=L#~gFavApN^&9PQoUA=4kJD+{_SvV8;L}j&;IPQm8^WQih)%OtYTml1FINV#lR{CRxz-OfmIBwVqg^ms~A|t zz$yk-F|dk(RSc|RU=;(a7+A%?Dh5_Du!@0I46I^c6$7gn_}dW!%*LoYsjA9nJkP^I1uzWLd&!Z$BJ21olRfk%&m zA2^kgKnxW2U7CtzA9z?>e?Y*#DsD(&&KpurMStpcr^5Ik_XOeS^AxYjV zN6Ph9IA1D9a`|F7@A=_e!3(EzZaC`}&|gv+bSa&J7fNPwAM82r#X&>)L$%- z3}OfUW;xGDXp^zH(71IROVDpP9Em5=(IjJ!#Zw$-!Wy4Mw#V*u#1kp$r@a$WJm8mL zI_rjr_poA&^Dx4E74UgMF{79=|0>SpAH`6Sm`Vrne*hbptCaM~rU3R!M?f|*uAuybjv#I5uY6ap;60Q! zrVM&DW^_~63l(U?Z-8tLmdf=Y&)#~@^@52^W}Rmzz;hYEo}k)kJnC1a{GoV}{Sux* z^Aq=VEWgUvfh4x0NA?Afb>>y2JzWk}{@~3<*F&l|1msrxV#-XuFlaU72M(4Ofvw&+*zWC`^ruIm?cpRe zn9PFZMmy9QPDA_0m!ZY=v*74p5!&nx16%#wK)W{xHnuvn83YEC!{B&+8W`@+1GjHJ z1P_*%f%TyE6|4-;0|zg^4h$|o2B*)yG1*#v5!`$Jd%^jKKMYJ?{W5U^!D=W2c9=>2;C@tb@bk68*2P+N{A#T{c)I3~UP>P2YV$|M?dwOK+wUK3U3~p$=f$rdjz4Q1fB3Al zeY46(T;*i0Vqg^ms~A|tz$ylQq8R9pk3tXf^xe-xXOCZpE}p&(UOsylLW0lU{VeqQ z>*Vfj;dA}a1wss=j$!TPJcM;hf9EMvv`zoV{XD=eV zhZoV_-XePQ`s?WN_1j2$XFpos97Z<#2NBBX_TVtm**y+#Z109CBkj&KoXEIQ)>r6X zk7P1n#Y9T@(=aGlHVWR2vW|@kN3zC^B381lj7bS`6Z@ytf8$912-&B{Ro&1Se}hCUT|{8FgO@J5{ks| zZ8DO=w_tSq>-@Ro+!%N~0xpRns6_{L#0A9hCD=cj$`n-M@0@_Vj)m*R8-Sm!cTU5v9Rdq2| z^4dY%)#*d=$bCFiDBH zE5kd10fkr5e_t90Kx`S8LkZ6Eq~F?sofvD@gs~c5LLc&_@d?5}jKy#t_YF4}%QY}! z5$p`!0<&R{=_a-f6P2nPVPPZ1rN)UJ7XLbzxNrjELl`eOvuN0xXTo%I->@gXG%POe z0voJ<-IHzL#Bh#lNI1)U*tz;bjO!3@fL{E6$A{eU1BPKWe&Jj6hs2enGOqC`_|veR z>=n=FYOWCD{IFlo6F&%QgDrW+t9FbL9n5b)m|wmS-Y1UnV^&zybUuvRY-eudTlggL zN5&Zu|KLj`9`ri$68qC85~E7S-oi^)+Y4z1(pW#={uy z7G5Uaj60)*JG#_NKw<@p(|^)VK1<>kpy*lM8e$LX*W=U}t;~ zT3ZhW)mNr54Q`*j32h(04-Kz>9@>5UZK!|oRdD#^`_T0DuT3t#|Ks4nn?DThJ^5Ae z_~YMG85qM09Dnt@z}dHdZ+-Xq59^KD$MsV8HsIEe*ZZ%3yWTqgwC;5;*PACF*K7N) z)+>9j)@z4ftZ&}_YK`MHfB15(arE&~ZTfbt^Yr%~?SA~-qsH|0qvq`MN86WQKWZI+ z^~k9&9yRA5R%^bWXwA3UyZhU*cek3y)jY0ZU=;&@l^EDPI1VErl`lVjA9?q)Ux)(; z!vTaJzy2};_7{#1pFepMh7X8<`%O--pGUy&ENFT$@PG8(pZpKekAM0<3;)N!|55ON zRQUhZhwoxwe@S$4{v>*O^*r+A^+)NAZuN%I_4V}_96%KOAKU0oqT8c+OalIoPmZ6& z!2j{B{(&T>vNM{;o857=H$I8AdegX9X-DA#Vq3#mwAS2-RyTHHK~NrR9+j~q7!eKt zSejKCXN?$RO&MqX8fP6GXN?9tb>fD5IcEJEWBn@(3@-M-tC<+m4V_zy- zES00|^Tfdsan_)5)}Pb^OPfyDaJ%q20&GSfn3%O?l(jLqu=u0Uk6~_f$0V|owJzAc z7A;llG1m0x_u|sUdAz)_nP43qmy~Kv>iTL!e>L?F2T%a!rp#v6xKYL`enU7Fe4meD z4EzK*l(AB>y_|*y$;VmC0-y1bTaXXTH}VNsIjT1JNF^9Mqhn!z@c@h`Z|(3jw;b~w z{o?y55IYNOcIYD`yst8WKJ_W=F275^2})v_Tme7j4ZG8v>sijh`(SlS#+kGE;lSE5 zh8XpznC8D+T*tK6xp4uI6;VLCu)XBpQD^cYX1GGFwK51}N!ed#d%0~;ga#0)o~pS~pIY!vJmdyQLwlTsN><#NJ8 z@E4xpE#g@ADknv}iE&)mY5bb{kbVUHaIQ(Aeu|9Hj{OKf*IA5f(Qtfag_wmN+}?V!X=x5niJXJ~LcPf5P(MLh%RavEv-` zAbsQmF=mO5c`l7p0(~YX6zPkAv|svoZmFrf5-8O`@o;lCx1)OY1|;bvOeWg z^C$jQTlrab(#~=ah(DV<`Ifr6XPltgaLwkB_!EBCZ=-O!#vmLlE<(9W*x*}Uig3CF zd+@1e^Cm1UA4-@<@mA(z=E33-U+Ni9EGu^I#rmVKau_ZtgapZRQM`x;FwR7CCeA~B z;X{j4;?s`#4OSog3?#&PnqTfYBE`9J0h%+-IrS`8jC0woy5N1|_*61a@Tsni#hwBD z64mpd*tz$m#;WHQeh_XG9x@h7St))x6bgl(y!jA5I=u?-?CtaK@H`BbkAVFpVYq-W z7(UY7okk|}v*_l|C<5j;5w?d1i0mF6TU~g7Fx+}*d~_1h@zLou`WB(}a4f98!2e<4 z|Hkxrcys-4K||K{6pmvZ#v`*3~oHstR-3;MmMA-8=MaO%fFB;XI92MSwP zft-I3D7Mdq{{vo!Yn#hJGTW7`r}Kk#?yncx=O)?WWG&duH|@HAcp-Z;eWbzR6ic#4FVSXarS2ufb2L85|9HNq|GM!Mt@2e z9~TiL(wWYtwcbrqGEs{x)vi= zW-aD$6+8>E#aPYH@->5v;d^m6nj_@}FlTvjK*k3#2a1OnF=f1v?khgIuj|HBz#A!k z;JHfpASW??2wTJjhZwoZ zWKJ!<@RNLH{ep3AeiQ>5GuMq@kw3A|-T{&g>PPz2PIYyzxi$YYpQex4r0!jwkn*F9 z_fp-8%^RhS2|Fl_Cwt&IgxB#WJTY^|{Axa8!v7DY#)z%z$8ucQ`zMF0&RBV8i#gUD ziZjBu;=7a+C4r;y;T3HBc12-`;fAZdT;RH^j?M~n74-e*%qvNxPI0AA2 zBD_-&C2t_|h#WZK|JvR)nE#7#^YB$f0tXQ7U3?YkTzoPS{y%v0n=pI+k;cL2;jPQ> zLMqe6X$b5eY+wBl0{;iW{=xF-#hnb_1lj*L4#3@*2gm^sKVaBjc>v-8!2avn``7yc z$_41Z{FUwdiwEdG{_Ugg?JtZ2@cU05{Z;lcR&7`NV5=Bd#lR{CRxz-OfxmnVjP@5X zB(9P@|CliT+pm6z!2`tM0pdEJUp$S2{}Yd2e~g3wB?;HfBtogJWV&*a^!slTFaO>D zHu=?m{I8SX|0MW73I0!k|5M=q6l?D!96<8&>D%PR~R7~DaqPzY^TWm zmn4UW7s=h(RT3T`&2g&LouvKRb_xz4jij~)hiUfzQ*Zz&@PF#~>UFZ!ohB=dP6|nq z50GNLV?u6v8i1K(-=C$cn_{n)Ewo~qHENoJH0$#W8^)xNdv=XAZJPBZw+d;nhDzb? z6zlsWby5=6gp92K+;dXArIyG?fH1TFzxP8x8WVOYH4j;#oFl!$;U!1<}H z&Qn@&)0wV;^)qRmW1lwUG0Dqh83TC;%$b8PTqOgf(3^q}NP+z&NjC3Hc$eS$pagge z&x;4hl2DMApfHzWa?Pj2j?UBY2xfUC%VpaP_q&)f^NlC`EX7J<+)hS3;o{Zz;I4`;~dbLVBcQ?e)g3!A*lqbV;3(Xhf$zz~aa1Uc(;%c=!qE}m z5@Q~f-=drc*=zYL^kX~$eLe69X0!TMzxQ^<+4H~W<$Q5&rk`iUN`8l8%!lR7@T_1H z`553|VN40%=`h>x#^J%?82%UbS1w0F`oR1N@IU^6!^4NNi~4c&%CBHn`hvr6ehL}(A z8*T&N(;j=|Ys-_-{K!tY1k=kL5`T`yX!kj{HuB*;rq}s{5A-h0k9OZ-d33>zqTjel z;?4L*_?EbGlN67d2kC$C3H$WMYseqWxA7_RtK#WC#x(E3`rvZ-RJa@YS-zz-ZVSDZ z1EmfLzabDt)x46cx zqQ&=vEwV@PBEK>haM)FBwmGCt&h&E6+DnJ};Dl!i|6s3t;8p4g{#_uhTJVmUSS)5- zVT|9482?7aYR#<}`Tx;_lZzM<2mi;}|Br*=;kEbT;Qu)L{E`@Z`f>L3xDeSJxU{r~9Z{9}|HfXMKRKY}Cp$U7YU2>bt$jgwE|>i+vsbNO|sHhmWo z55WF^u>0coh5Liq(%6o{`~h$KD$qRp*4_oEj9#qwUjA}j_+NPdo69fPl>c8DJ%7~L ze{ZF*e|`F9h5vt|J)hP3_%FXcUioU}t5poFV&HFU3=F5U#DiQt{~~eu?0s^1^D6P; z^KX*3uf9y2-n>lA&mJeao_NN!w_p7-wYz_8_&QNJODBrQX}9$_ef7KlGX32@`&a4d z7yluDZ7`EAfrp>I{W|^TXTM0ZcFIU*XOA#nV(U7|v9iJDK6Z zRfgRDbZ@-O>`YFxexsW$)weUV^EcVy!9}js9p~zsgG{qK$?~nh?9TWkvwL`%fd|Mm zwstdv{d3i4`Bu)dw$fibuoda)T88>S%qlp(oB?OCWo~U*S{5>;@&;q8aji`K5~&RJ43cC0N1F<8y@WbX z{byNIN;fufRxFtw=@VvFpOhKa(phj=j=r<3RWoYGx)+%1=hQBiN@dw!&GMZ=;GCcJ z{F=rGoGWEnk4i8078t9WWgVIUlTem`))J3yO7cUF{a|cz^#VSS$%7zqbWJ+tAB`9L zDq!m(i{6Yr?3ZPYi=@>?Sf2i}02jNLVgEe~Zp#8%w4lxcI&%`)FTr%PPyJ~j4IWaN z0raS?wFemE_q^$$AL|RulfgD6OQ%^s8h~%eiXY&^eu|B>Ug$TwR5C_8yj0bAA^4^TK0th2ig-yP;)9IK zQi*NGKcL$<3SGmc%8wDhKyHN~lB?Vn{3wdY@@1G!aW%Mv#|PV#KO-E-?2soSUcz_} zCkdWYf8sSP2S+-^IWT_Zoe)0o9NZ($jB`M#VNK#zyod0y@SyT&Ouzc)nSvvM?|=`% zxFneFN4XoPaI`}`*RJDBOwGw=Jx->RHp=HgH+ao2C-9rugk9E;>_)`Z7?+7&aey=j zvy(f+LxWBS)AI=(OE``bQ^MQAxAty|d}cVGzBCs3h*&niGO6ezPb4dSMR9YyDlQJ` zPA|_bHhRLZ<~!vG$=AeGg5Or-i8vOYC=P&p713dN=Gc=Bnjam@M;iZKUJ8DoGs22` z=%bx-l1#63Q_;o;#x`3CP|KmxylKwlN7+MPHV4cNJa3g4C?;q_yxsei`H~Jq*w`?= zus!}1_hdRWztYP!&OIAHyhRee#r!MZ^7|yN=^>X2eRp|Qw39zg7ko-mpZ}2U@*~7z z5&|H}M?%Hx$uH7_Ph9y{z7YSX`Lq~#m_wDCLjuLP1KKcNa>T?TD6a>^i>wVoMzY_@_A99dVI=1|@X0Mlc^W}Gm!{t>RNrKlC!v6KmE}Ztjj+@&% zNpb;_hsz5q_fO7~ql0;JJUdDD_VyDyyVC@D{_%t3i^Rs}c5;(;lcST^n-AY4_V(wA zwLpjur>5eK-J8VT&6kPx(VO`8;(Y>%gU4gJ#z`XOAH*d7;At#hoAYi`KUNvOik7;M zqZw}+@j8zqmC>tkp?MbOTYq7Gko9B@DN4;-#Lv~j`z z^#7R&_+K0FE;zwT*3d3%OBULW3m(d|7Ij(kI!K=NFMvOvXWi>kx?l>Ib(}W$9fUS0 z@haj99MxsLs&@QWAHL_Z;=1`_gsaAO0yz zClo`KE%hpP7PaB6KIqqX!8~l2RcPm<$%7}1Wc(dFVw4UTFDI#?X>WJ5Yr*s zxaRVa1G7~xG)TC_IWJ?QN9Wjr4#teJ($B`etG+0;;iwly@NXVJyAC)Jp2Nw3%b1U1 zj=8k>A-2TtSR5%H7uPjNLtC;M-HSLztVSJJQ;l#;bn}M zFy2CZ14_g{7;k~!7F*Rrd7l>9}gRg;lRI3#?i{x~`kNs{q%nH62-*h)`%6TIGu(@O$3VMt~V*b=l{L(|2;XA5otFfpQ zZ;XlJwuoxs4i2C5_!0+5nvZs56i-~!cr5;Pta{v6 zEND)to2R{FZE=9*1)&a_MnXrLKeHX|4?oBUN%*k? z{~Lc^ZEdEHFQ1UpwwETCKMnp*_jdQwZ~z&;^+&$jUW)Jhr+GIZy?40K^OhnnAkE%> z=KR^K6kI^6Hyo$8cZMmx{hu05XK65h3Q3+`J+l)0p9KFWJB!zn6!<@N`0fu<;sDa6 zNwPM1n{3X%Om3Zhljy(yU9#9ZONaxgO+Jq|jy}cP$KS@LpZ;O2z5EpQwr?Zgf0M@X zr*QxE@51B&gvk#G^Nqhyjr@T2$=AWn)9?6u1J8{I@VZad{lTk1v2(M|`vdER=F;$g zY3K18I@Wlv;8FAJ8@>tfc!mFeqBY;&*1fFNxK{hLs~A|tz$ym*@-eWpyPtay@P3ZH z|J>8JpK>~W^5!e&>HDvp$8WxJ;Q+wvFLTG|PaW_-xU=T0^X4S`|8D>05A*-gzxu!P z;Qu`MKM(%Tht}2#;Qu`MpJjMeQsB67@${X0w7kiK{Y}9Cg+i%O0Q(mud~AV3uRvBPo}l#)&^e@Fjb&Vk@cp5 z0M@Qt^NOqiO<1#u@^+Va%#J+;+6)~>KI<>f0U+@Y7Q3ZinFkb<@SCnl6f0}OuV8ndpixvxNr?~~Y z71E%2j`Nyt;-r8I6LBY+J7Pp-o|r0todhcK#4I#UO&nF87&U>%a_;ZDl-w6jRE6&; zI~+UY1BmN#=u`Fhuc~8lQiKwDCiHVJ#%Ez7{DyHM;w8jG86QC%<0rVK`r-vtU-!sI zxyz>^M#XCoVkJ0;GQ0=59Pk)A=elthTr+(tnFHmhNRL3KBRA?;_qZ;eKnd%X$AUgP zmOk~150noBH{vR4nK<#L3`go;{g)uXjf=CUKA(l%74iuk;9d~&>0DSDx^p|u^IxYW5HWC-M z`7Zm3Epa}=|KjAZhYzOEm}gIXkL9?)1Kj7k7)OBpIr&LGwHy-sButNryE!0MWT$k? zXR2c#wcy&_+)>KEY9qhl9G+Bs&pbg=SPADK(m~hFM)1GY(O8Ic2ci-i9lcPM^=b{9 zZ}mrCHrLofMt6rTnTm&={#e zjtg^Mu4a`prEC0t%3sRofyYXUr&DY|BIRhq|8Qfbj**{l`ol>`TCYEro5({V%B_wpBQ_N?*LeG47fiF{?D$j2Q5d9 z_hZOoJIFzh=lGj`*=Dz&>yHn!i}PCt9v}w~;7k{%Irjc@;QuV&2GF%E96*-+{~Y`O z+5Ww-_n(Ce$PUMcnR~Hg@P8(nE@s*P&mh@K|2i|e{Wjg4zDR@rGwk`NkyLH`I^BKo zn-usznS&Q#??1_R`r?(ri^T5d|3&A>{(q>k|9NQR=%es|kUW7vdGscr{eN))JI{V)9DsO$d;G7z6S%_vE9}48^IOHh zDh5_Du!@17Fb4P=^LeBoVUIu0et+Tc^fnI^6v+rNo*dEz2x&Qv&?AoU+Zx4>j zTf-wC++Xf;ojd>^jOK&=OMyVB4F2Z@&s2#u9xuRWwNc}PXUnWR%V451Ycrp9T7^ZY zu2ooDTRkm4!7JJ*Ewgat1Ao~vxIr)5vx!Q3z4%XEaE)|SsP0QxfJ%=q{nkgRQbslR zeII;LrYwUY%Cs{*=+MjAW!BuZ=OtQ7-J_1ry7o>#c1ag&RI?G#Rso~I$*6TKb2XpRuHx2g90uuE7*quwD~6Sf#zK2 zIGgub1N&gxGVj#;68V|sbQ#=_e{%RS@3Seb4N*3KT_wf(?BAQ+VDt)k0P;Uc)VZ=m zeguP*)lM6!V1M){Opn@0KkI93&6mOR66VIyhYZT}t4(RWgkkMDujm>!(ob6BQk^pW z`h3L92WIL;>{0~%@BpS841oQaGGp@L2`co3jtn-sK6dKkW)+p3n{K!R?7^-`yiAUP z&srY+DW7rqR!rW4N0wwY%9Eo%hLk?i5pkxrAKMH1J#1~w5i62WS z5qD&p^w?uO71JU<$|KY`_bAInu8FULR;znpEBUEN_<6*IaYtY!C8%p78aUM~@*T1w zxd4P?&A6yaqb=@8JcIbChf?_|_8|twFL0d4F5TC4<0>fOLeh4wYuJ!iJ#4pYj7=C5 zuEG<)L9Pg3iM$q_tK?aeNUz!{N9KWl5cj2H({o=>N&4Ebg}W%JjeP_{_f$`%t}{=@ ziQsQ?Sjh3Qe4COTgZs&gQT`2jDZ%{8o3Y#${+68Crhf4Sul1LhnF?bnL#@?FJjiRz zJla)`3$jCb9Q1`>xB(B4$Is|5DM7==%DIvz@|=qou$&is;1FkUI1mcxk^iKZ-=4dT z^Q`idT;p?y6*i6GLUQCG<;3BUlY|}#{U~QhI)r~Mr-}Gd?vcjj@SH1m$$X2yZC>yR zIZ<3gfyxJe%WwRw=-lQRe>%EH|FTP1+;X94M&f`gaIJaKhPv5FRJm{gBqDJg;hBb~ z!VcPDi|UgQ;u>d#eNZsUSF#)_a*}NRYz`Suo^}=kYLBzAt16Dte6DfJ2l%jn4x4M* zSpJi8qIkTROY)YmNAp8n&4bzy2cB}jm@78*5%9nHS-Ry*o-ayb5Farv^V40MymE;0 z%$ahHln=yxJUoEg>h$xS!ET`^q=~x3LJ9dbi=) z{{v2Kwmy9Och;-B&-ojI*K6(NS8MG1ujQL(kCX$j+PC@3@7t_= zwer;}239e!ih)%O{8eIrj}mzZe}F7j>W%hFuReU^KY0T-zkO8#^OyJ=fZ+BwrRCKN z@8t5CfBEEXnQJ~d{AKnr%IooNdH=(oRNnpv|58%D_|1P_j(O86>znHMU|D_s`F9o8 zT2=5z_3`UZ)zjP86{L3c@RKY0mysPDRUzMIBJ1n3_d zSZCH%g5|9aYf#xx$DBIrT!j9xUB|q$jBbzfS`DaH16wq}gEi{Z*$1v+kJ+J8HnBFY zNf-63WXuhT`s7+2+)bH5msbZXGu}d7{Uhkka6euL%hpK;sDo3gtaoc_!;-ruVb4<6 z8?;Afw!zZbbh4JNNgupGjn|?Z{&Ce;1CBuU*Xgf;)aeU-amJE*xQ@;oKF;bK`xB~T_4s_DY;8P@ zN$sTzv3_*SJ@usoc=L(o38~^!#+4*_+^HbuXRrl6al|WF9pa!$OjL;l66Y;GYT&IZ zQqw&^5=r|7@lht=C)F);ufklH!TlAmR+X6JqZLK*I~78?LhM$FMV~pZ5Q9E-#3dNV z!hGLxL-1W-2Ok2!r!L^HY{xvBa6-KB4j;l8O6Z2i;SUIKPFsLmNunGGy9VZhYj7Uw zmaxIYZf*Lit>wL7gGvvRl-FYUH9QmIICvq!a%6ac!DAzyjn90M#C7o^e8d56gIHFM zh=(7Pk0Rah6rRVkL#~M9aZ9;2vcITtXmcO`8qXp7(N~nHe~1qc`b_nBLBf*AWsh+v z8i(vtpV&dacR3o^ZuvR17bl{7a4$8pN%im-?S18i$Y$kwC{M`7A>FcDwrX4&yKL6j zsIPjQ^WjYLWw=Cp68ou0eQ`o0^z+fbR90M$68ZIUI&nvq2%(a$ERRHW)z`g^c1`_( zH_cw@vswh87^-KKT zX}*j6#^A@YVuJZD)1Ud;N~+0M*r!;ikT+Gmo8tnT|9QQ@K|D~O=gD4P&@nc6;=06Z z$xg1pXZd=;#bU#3=ep(`NY7_x8sf8*vtzOa+%2a;de;&R9|h;t(>Mr5kAr5T_X?P&-x|Lz<54#H|SUO;G9!wIJq*u zsaYIq{*|X>IZTO65$;eqY98P1D}v>Vv-3-D_vpym*xL5^wtsQ5I4d)iIb&C8$$@!iKA5feg9TzC`v-9f$Qsg~>VjvK) zKSFW*{)fWu^~b#5Jul=NM+M&5&u=c?<(FUoalUuyIsPBIW)b>AL-+ufHz64OoK@sIwQ^0RQt(`k&N)`JeqS4P*oSzmcdMH(1{^!2gZQXCF3Lhiw2! zn>yxi32cD>H~98(lR6tnlU(Wz*Q+-DTD#>nI!&bIS2vr$r>5WNwD}%D3;f?~b|&qD z-)z-dgBHiF-ri}GzyH?)_jA72Vmr8nJ`?bNi*;5DT+<@Swh2aSu?}v6`#0HxZL{uc zlb6{B6Sc9e&C;*MI#%QxPZ%Yqr!#3;J7UwP2l}*-_EiiwRPoK3Ue5|TP9gfpnFSJ-wqr1|U zUEl&;Z?mRuvCc+snep7&%zfG0VjYYfHS~Keut1AFUVKt&gCm<@sun{3MUAr!o@g`H zHu#5Qm%i`x(@zr&fbLS8vJLKI{3ZI%wAlY{f%}``NEBVgCRm0#`4%{t_Brk+<#W4^ z?oIAnJL#1D67>i6Z?l$`wBQ3;;O@5U<$8;CcZ-~YHhCd!H~_BY+W1QTYVm<>{8(Tv z3!4(vV~yV8%W?QJw<#OI|LUg=j+b3+KDABzY?FHUIYXaTnq8`k4(n6>=$JN5jfb&N zSM!qMIBxa90L+hkMLYZt7|$Z_B5Y14#wI@mMV+`#u##U+VX5=UfQ7I7?Y$T%M`8T?O)^P2HdItDt` zz-h)GG0(gJUJ*?iQ2+*l(|+= zUQHR5cAv3Y4vh3-YZXz>O&Q;n@vZn43D;fa-tdu*qUu-hnR0L7RrvUbHv7?uFT{%| zzd{_0@hGaxyeU`3a(B!&>|yT8JmQQ;c{_|#+zEr!M;!E_1?;qb)Lu3a7aF&XO(o-3 zKjKlu0olE~F&8T2`Y6YSerZE~h(zbas&ZFUR(Kg**X|@sUFGQ9`A&UUj*|A8h)t;Z?r)klh2DLjF*0O zpE*_iGOvFHVh&%s6`na8hsK2t<#XBisAKs-%x6{euQ7oCE%!)staikK zUDN!^e&XEP;t$5<>O-!?D<3T&XNSHl2TJqA?^T6w2`ZPV0+(#O9IvBbbA~aKCzeWE z95EE~nUWQ_SsSCq3-%{>C{|Y9ka%s)qS71h z^DoL~89ZOvo1K(fot-KiK$$va{w_dOCC_-Jxz#K4y?=7y_WZ+>bD#P?*uQ-KlJV0^w#qSDm050$PyKdvm z1^YYk>?ntb3&`>OV{5Y6l6hf4s8$ItH&G4j@|HdmYI)mhb>K zKXL%M$}CXoJPQ<>H!9aFyKmNWg|Xp(fB1BT|5x~bmHWGjfmIBwVqg^mKT!;T`J2dw z~?R(i$-TUKCFcf~c z{{Jnv*46{M*0~oue)Q(;7ntK> zm;IwI>%A`P!fkMIN5^2r4r|UX>$o0mwprSBSO;#aJ!?wZd6I1~T8A}im$fkUi@MeY z-*hBk?JjHT4r?^KPTQ{9zz0Y=tequWYy)n=0c^t+&_}LA*<)?rQD0y^>d2;im;PyA z+Gg#FU4EDC{SIq;jfHykE^BP+I9+gFPxV+2({E{;{m5pY^ZC zu+9B0m};BtD*DfNSo3zkA&j}$0Z(_p#U1u8@pZ7nTDZ%;I)88>zfB#LR#){o-m>#d z?nga3M_(78$tG)0{(F~ib$8e=>%alf2m0|PYxr%x9k5N=WsQ#hjQJXj+TmS;4r}yn z30SJjdjlPCct>-lV=#pJf3QdM%C#JItlYkd+&1yC1s2%SG4mnWqW%{4ZF9YYuXVl+uDKKLGY?y|-=yuPVu$(P zBz`tka;;4aZ311zBW)5p@HZv#O1fuU4xCS0LTqeO2fnD(B959sRrnh?7dRir)FMV& zz&Ch?QVVPbFHwXyg7eCWYjRD%DowDNcq6#7!UoV#e2@u{Y=cR`*pgMcluuhhWDceyO&+Q@F69qSwa)OkiWDB(~_4aU5oG0~s$YRDB)K2X6# z$LKfigfXbSor_n&R`Pm$##d|btZ~n5+W;ck_%ts1ZQ#cSab~$R(tEGp{GtBvgYs4y z#4x!)Mf!!uaSPH%N1$ zvFW;OP(AG4z!z2zA6cpE@(*)-$1kaW{EBTFyL@grOtL8+PxFF*zRn9=jLqddsgI3X zKlGtEQ0^4DK1Jf8jLnwo1mEk~{1Q9NjdF6bmM_D28?q1CVE-SEE8EaK^Lr+LXp9zH z#5(y{Cd$ET@b8CmoEl6Yr^HpkxADssc(H~)w!v?QY$v{)27CSTwe-rb7PsvAGiPbV7Uk50&Ko7eYG zE*j0wj-IKFYICy==5K)Q>y<{c-k%)S+5gwII@rGs_OJ2x0_w+CkGVdogZt5UUE|vV zm0&nt3&qoQuz!{P|LXMpZ~4=EKa~CP+lsgIv{F0xLgMr7ejg6N2ltmMqnE|~SAS5v z`2LRzM_>L?;q({(D8KjW*RYtU4*UPP%F+9*KY5t}|7ZN+%d~g^Bmw?UbRPc@-&lN% zQAUgH%SdJKb$IaZ?}xij|3ExIkbVE4zw zKWR0Gt2tc7z$yk-G4MAd1}>hy-1-Z${p{V(w#fV6zJBrf7WjXgzXPxZ{@;EIZoho` zZkv7oZLoibJOD6st_%L(2LE^1`|nD?|6TBZkM&It{J-=0H-Fdz`}bJG_2=i$cEJBT zVAmdaz0Z1Tr?EL0ko(_fJ6$qp_QpGYv)3mFV1V?Cl~$j<{yzKv1EkOE*!^%M(MSJ4 z0_N`{Du+70zrMp7YY6`DgZl>v$EhJ$pwIq)pU?RXS<4S82dq8&ta%5>kaZ;Igcptnp1Un4KCGNAvlML7k8-RU=VAUb(z#+#2*3(1Q!+mg2AN()`4-6;=EM14> z&8iOit=)jN_5gg*XDzw|_D6?9`_hni00yl0C_U^fsLs%@ZVc+J?LKSOA#3e{Y+?O7 z;CRT|7u_}Ld9*N9J z-2pgv08Sl%{fF$CV{2we{{E11fL{h+^#OSR1D%7ptuFC^k3IQKb%tP=A?-)3ovEJ~ zu>Ky&XYBJo$bj{-q|cufv}5-9c8~$<(rU*k%GA#b^0G*XS>+(gciQ*EKG39CnzC9b!cDga7k8wCN!` zjCqHA4c*&e%w1h44tCgs8rZ5FnHF&>4n$(yhPB~brGyw# zu7%~K5UX4Gn;aBJZOI8CR|nnLuk$wJlzKGQpGb%14xilHUEqG6yeVv@AMiiCl4tGt9Toqi`erM~rk~#;%Si&N%U`A& z?BC`CrsPxI`2zp7m20O*|{iTLGN~`lx6gHpO+R z)Oe}Wf(F{;H?mEf+Z^+(Z_3Y%aTD&A`S;acdWbWJ*mT-lZ^H+f4(7~aO8(|IQS&Qa zOvmEH@RQ|1k?)f-ozlx60&GXfFXA_7lTQpNM`#lsV3Xf5Eu^VK}9=4llJs~Gs}jDgAGeCI*Vp1kf|K6}>#|MwOb zPj`+^Z~OC$$2&K#KlHC(eKC0Y{!{(cbKmT7%mcRVx z!-RJ-@#PP@th4qc2PfCNi|gmR>>cm1_q*qo%6n&zpO4>v`gTw9{onbc zz2E$UKOVpQ>g)04vsZhP+t;6uKYaJA@zZx-?!EZp)86d-X2N%mCanJ^kJf`@`gxEE z@BWX;8=oM1sTwn(o@!xQ`W~5 z$_Z=b3F}qKn6>SMwe5s8B5g}!*2Jo_$68SJrmP_+602KlOuZWQxhFf>I~*e_r*ICE z33;$%*1BWfKcK8k$p1&TI|f@$C14}!lqcXUY^#hZ$9$u4pKDVv*BHz(Vf{OHi{4~o zvpeCF0Q)*-ZES7f2*#u+kJY~f95DeCj9D8``EK0=VXQv)Jn5RUKHXQJtdSXyI|eJO z+|&5!XG+@%*jQsiM`jE@o`Ah4VD&LF+~^uZ)UUlA|^Bjiw(6y$5{0lpGw(ceq#I+5?#lv;c1^T(b&OT z6J$&-Fk?xL?|rhzUZ4EAM~v*^vpvm^>dBArAba4DT~gD>3mO3%hF*k=z+ zvd8%@I(ET-Bgzr|jquYh^DfyVHb>MQQEv#g-DQ5@s|pg;7Y8M7%C3n^Li)*M8a}Hu zAa3A`s&EM{c#PZtU45|efM-Fx65LGzZmhV2h8sDY?$EZ!aS!`- zug7>L%5T}BAGH%tK`u&V2i-kH+(ZvNZgq(JuJ{Z%fG+$PZM+^B%J>b{1Akh5l{{+_ z=_F4Fj>IKr#c{jj?~ogkvVQOTHXcO%Gat(JQD5R6dput~J`mUABZ51msdHXcjzv%W z3b-1b8mmW+Otr(_uyR(=tvnX`A-{w6@GI1Di?T~~H1;0zrhK0+&#U!EpFRFgVwY#> zN4xl7Uynan&}FVV?4Ng;OG%I4r!MDa1DH{5qzhXLJsoRI>Kk8MUJuWucpS?q;yLY_ z|J8#0aM&?a( zcPDyy7{eZ7ixQia3uR;FcgDtd=gUG* zI_Ov9Ro)bHS+M!je9O0p=2SUM)X9?Dl<4w1qPp^h{$9X#Bo^CRUtixYv=`g$qvu%Y)i{0yxTR#nALon@)0@Mi<+ZXE+m+t`lb*^((x>xJy zRSc|RU=;(a7+A%?pT_`ylW&CVA-jvKr{M9|;O=*OSI^(?QtqBTel@;){%%il_2T__ zdHHHGUy6%M67$@NW@o)c&|9$%FfAPOf!2eV5|CII36#Rbx{@-T}d59b= zZ(r|&{|~_ad_X9BczAYuFrF_D5i2jAy*dQ@AA z^KX7J|mcGeeHR{xjBAGqBDP>*_gw82X4kf6g;=@c$uyfBA^@@e%92 z8EbgS5$nAf>(x0j12@b``LuJ^s7I_V=d9!Asa)=e_2rCp>JjVI8Q64==zPYydB)mr z2A)%S#2RqUI&=p1pV4N)@f^(0wdxF9Zf(FVGce2?4&X=vwwRF*p>htcIbv-;M`Vxm z9l={@EOW**0|(8q>j=AMa2B$425&G+NT=hXr$*cIO#M;PH+JXpa|Bym`t|77n}cO% z67c_=HR=)LIAU!*2g}XC$49JJ>8m_r9Xw+#j$L{B$j-pVGkkUgu9&gTJwj$+@guPK zOv3m7k67>8bxPW2xR;$VPx#TLy==`MNtgQ7vHAt`qsK*OM)u62=#5|pV)b-Ry(8WU z(43K;<9UCJU#PrA)iW%NBQ8@!As9)0$2SS{=l9`?XUd2De zhlkAFKA7v!;>s-^5?hDN%>m=$*~lF*cl(IW_whfRQSksQ1IOd`3{7i|7 z2{AL}nsGJgo)SM3;%`g|4^uE6iDv_@#~YLXVM2V3!F47)55_Ukr#K&RLc8><;}JIQ z(T_NZJ$$xDf8sYr)Uo^Y2Y=y>=x>+)MiTCcquAxy7@>O?88QBcc2);oYmaa8bL@?H z&zyXg+6a3jy9oIgj(CU>aWBy^IV#?e=Vv4#_9+YSA)e{uc$YB^@yn39W)pvaZ3y;P zo(y$-a$kJq$_(KilxH){a34%LuLK9>YfSPjwiK+r#>Q{t0DlbdCGGs7 z#;*3nuFVDWL0xZTV_^QUS-KT7JT&*E(Y!0YTj!|x; zG2YK7{rJQhF^Fi~+_Q0Gqvi^`@&k=Y_VNC{wYPqmd-;_7o)ORaoql}4vpwW@UubjAkrGL=_|L=hLdtm>L+rH`+w=O%qr@z^jfd9Ano?jb$->U7t zZT4UPc7w73{;$^#zpTLlR5)hVUi*d3n-XOK4xrFE{^T~tZ*%qGOG&0SdXa9;J|?%8 zU-M@Nj^kkbScSh8m~Wj%O2g;j^5|8l)O`}fXEc)w=A@*JUeT ztbDPGfmIBwVqg^mf1NS#?DL=RBZrcw?|yc;ym@(ecybN)erLzW*UygN01nyvpFMf| z)e*S=2oB%~4qyiU2YVOi%WwXZIrx7L{$GIq=ivVZYmNo@fAQw$zrWyb|4ELYy!-n2 z^vRoJ_Wu{GNtfXN6ZZd)!T%@i{_Y9y^PZ6Mf70FCU*5|J_ z|p&RF-Iv0gi2 zy?4gC@)X>E%6d}e8SAz)*4Jm)cgi~Mlt00>WF2}cVNH6f>+JpO{t`Ju$C9<=DY9g( ztm89q&?!2W(gO}ZMYvWyV-HIAmf-#~3G3ZcFvTf*vZ{Xu{y$|+Oj$Tr-&{LoeSOX! z9oM*)U?A&D?IiSd4)#Cg9n>?h6l3t|%Rj@`C4DZj_k_LwGw{S2_~ujs_K`iOtdD8u zoa!FybnZE)-~}W@{p>00DcFIJLAy)V#q!@7<2?n#llYlGOJp4U zR93qsxYz{Ur{I6CWtL#}GaaiwatbGL3T{}^=hSqbAw?51t%so5+Z5-@NFEwV` zFToe*9IO2q^-sb4Cd8NekT0oAOd+ZdM%D3>c;h^)drR^wj6XsWP%zP6M-U)MX!h9XmW`V5>u&Iu@Up%4Bf;nC29{6dF?-$6N`Cl-8I3Cxy z9*!627I!p5H+&BqlUsm$s?OMpHBJfar1r)wVVCh>VC^I1ki3{f`Z%O7<0$A`$KoOm zut!|QA${#52aHvG#36I2V{sJl62?31Galn8zpG0uYKxHCETBe<4JKJQ(|8w?cFKZUpX+!SJ`L0;!zI7e{gKP2jf)^%v61V z{ki5(c=lB48v4BhwP#EdY?<<0>@%0x0gr;s#FO$$u)&}5TXDcMx=*Qm6Yj&yXnfME zyc))!ekl)BVvBNglqa;$vpLCR-6^+%zGWBD=kVY=jVjaAnfH-1m+T>a}@ z+>r@$J(0hO5fkYpF80Zr+9!`=U%rKdp&d53`F(z$H1899D{ji#Dh@PXx-MV+#W|&a z>Pt_3N*;#gDrp|&2j*nL9{7~k?!{{VxMKjtg6zB6(3&$)V9qzvBBg}Qq&J~C706JI9YOFTD%-ueGp5~C8spRx7 z7s$$ej`!K~pTY?+xA>cS_+MNcb5HzG+MML_2P*lEnDXz@Boqo6Kb~>jDfoZN-v4xa zxVPWio9=`8r(l1{gxvlqd;SOD{QdsqV9NbzcXu*9JiVO215CL-0rOA5|C}FAb=)0I z$NP)(G3DNHI@=>hW{-a(cb&%J9ezo__n!PXEpS`u{xV9e`8t{~7rIf;Gn(`2U>!|4Xp{MZMLz&@uS`lDz** z*1DIwhbNa{|I3}p;gyx+gDY_V6&!$x*JxjX`z6==%ggJ{!QK@)jaR$_a4lg!`h>y~x$4eQZsZ@^2EYu1z3 ztZ#2wPg38#W}STlR=$RpxMrPs!&;g)YFD~uZEiw6)xBXYdBghumh#FAseZo6Hs1U#0B31~XmbdkMB;3-!}E{FrAR&?x~AT&d*V zHMsp2p|7ls3wy40-R^~>vf)ZTxf5)o9`@eCeO!YBuQ``pw{QSA@kHjDTnT&@zfPuf z5Bq7$_^+sY#eCByd&S!SioHPT)wv1tbV;9=V3uqAB7a>H6PL{46&O)+37)?qMlKQJ zrFem_)#idZIcMzWoL|uHoOTyri*x!D?{cP+wrBVZZpS%izEz3?ItO>zecBio#kEsn z+BhltSc>bSJfmDP&nI9z@nUdIUR0{_g}|6fSpujafHz_GUg>(0TP@Ee5%@o#m( z?8-yoIKN=5=*ljnhv#*Uf5-vhoZK0m<6m-MD%OtQfjQ653=Fw&+~OQxm@vj;#PVZ! zKH*jhGkA*ybGl&ul~Y3BEKImK^ys4zM9L&=rcXkl|PhEBQ9yq*v$^wo2{JNb=j_V8jt3O@%}g`nipbr zf!z6-oFmx`2e2rVYs`m#q_+I7%_Z0{ll}4)ZRInw!7Y-TB)#$_{mK@NTk{I`SMJnI zb~BgoR+Ty5Il6VTW;NJVWL) zd`p`oc4}^mik}6)A9H?-X8cCZ!T01$C6C$vw|1IK_`rq5G;s$vFjJluzX8}pOfx3U z9i`?*J}|qKL&U#Ha|!=uk#FTLYVEDX!SZ4OwwKKL9>9XX3%DQ$V1~>~^^G}y2T(GD z1DNx@zy;WUMh?In{68P=&u87;{W&rl&rgp=`}3pe{Pd8${{xN>UC-O6uY*iwx)1)} z&o`I*e5Y>$_8)V+$Nu{`mD}2-9M#5e2Ghsi_QC&s_Wpa||8A~)#2*;E-6Xfa1sBjH zKcJCvw)i`*jjGpqUh%iC{ZwHr4uHQQ@Wci8=fMBj2Mz%IpM3q>e;lWbf&ZiI{f8yI z2N25n^I$UD4WtXB035&y|Nlg5zQ4}>q?PW~e&s3#Rxz-Ofxj6suzPTPfm|Y2SI^&F zKL7mF6?p%WT>opztL4p$tApj$)#CE$_07vKF4>R2Ik|p%^YW|jui5{<{(sne)32(s zX3aO>b28JGX7>$^h^UB)3fQ1XC(>{FM(I=<8^8|GRKT z&9}xKcieIBhdW07L-l(m_}2MSRbS3{t4`Ja5M!>r)|@dTV#eA#o|v)L{@dT?WhL&r zmf1e}pR=3q|9@HA_FcZ^arUK_tHC%d#Jo7g=!EMi&i_Do+c?-$JBeMPza z-(Vhp36Q%aYGp3_?z!xB_xo<{!i)$4ONr|isIzd0!% z%8N@(&fC5-FK=`5jy&R*b?|kMsG&jq00Eys2~f z#H0G`qs?Q#(Z~OG`KUV<6)>;n&SUO;&9AZIMV#w{@`{ z5FfTdp71Piq8Wdzb8u?QOHi$QuAJaC#o3H7I}zx&B2SWDkZ{K%U{baB)7l4CW6;KWm*mW(BIr9R7EQVxjeU?8` zXOIU*$O8-JfirXYZ!u9Gl*78^&^H&q$OUudqGK)?EsHh>|I5aAvhm*>{52cOCI694 zUW6PFIV_hqi}|wYn+@Jl4k?TOt0R9Ero5BMmoT1ulat(!X~~(GT$B3l1h<(S6F!~E z^_^~SXa?sq@F8+up&87pd__8Al*`&dza9AS4*H1FIZg+&nRCdKrq6R^j_IGKevD0n zXF8OIZ>QleY2fN~-rJ^rsxMKSMoZ0!O`la8lZrp5b04I#7fZc~BMp11HYZ&<4)H{1 zD(*iK|)ix z$H=n;n|dJbyL9X$8K}9jlSlC)-x6I**F4xD6rY_MQxES4IHUlP&&^C7`yS`rSP_hv@Yqae;PJR zqeT`|*OV%GA7+(E$obQX`FItsuz;q;0KO0@P8WLk!j?W)412uxbIbaWb8wK(+9g7pVhpw z8~$fVJ|G>@D_uO~)8fPX|I+5oo0rOOR@&m=;I#0_psPv>1c>Cv(A z>HPkshet)HhA&&ey|OfgcLJuarDM$cgw)jRg4EcJi7C9_KaDzpRQ>}XnKp&r#^jjw z8&i@q^ONJZQZpC7g&H;2cIMh59uZbv159=KgiOn{Qp@_S&_P+bUNl?Co9^7FV#+7P@go$Qoaidu0ai4M>il zU${GZXQ+2gE>Hdxxgclg`ZC9wqGOcyS6f^wvVuG@d4b_^C5w4);G$5T1xPMEIzM}F z_q?qI&EKw1t@$Q|=KvxTcYhroU;4E_X8ey4Gy2!bzfOK1@cV$@2ma&x0PhRRhVr1? z?K|^x!2j9Q`R5i_*XNbiHs$ghKtAsP%-@ol<)bbjKd-XR2ma5?EUNG=Um5KK{}+J& z3&8$9s1W>L0RH!Z{|mwYMd1G;Vxl7Of1z)8eR1*beMS7YKoK!o;rs;)irCjE30)dh zOe-n_`@&Kiql6RJY{Y!{( zOiQd)3f?MZ&%cx$Kq(lej2O3!*s+whoOrC9xUh`4uM8|v&U^jJ!Pli==`v!pGV0IE z!K0;68S!m7SfZ31KpAxfWgM5WFIfuK(6v(HyE1euBTg=b$}|_TW*NA@%t;@I(<7dx zBFzi_C?&ov1KX5Q=UPe}TuOXa4k3@Tl-Rixd|yV4T1MPjNsLS1@G`JcDY0%T@|HVx z4i0lntw0%AQ?^r|GGbd~bd(Vzmx5Qy!0lx`6Ts&n^q2e&=CM`~AD0tXmxGtf$PHA0 zkC~5a$N|PK=Uh1$L{thHzMLdCTQ|9zLo(L=Jg~JjN?`CCWu6UH=DhEr;_t z=#+yl*=qHfe#%|sAit?iL2k9#*dd$$(<4_An#KF&sb86`nZaMP)Q35<;7QGj!{jy4 zIU9Ym@zrc>X^8o=MBqZ@L&%@-+0^s6>8lzacQ*J<$I3gZmPfghEbN=jF`vV87*8KJ zbB2>&@knlXdNR2Wa`;}z;@)GdNA)$?tchx3vhbB`u`|xeHD?y~r{>0+ zX<bWzxswufF(&)ZF`HL*_Ioaf8Gx=V|4_G%^*@^zfXILxQ!}tvHWoxZvKOJi= z+3(NPTCu;6?SqUhwZ6JOyH;k+<+Jj?EWTfKZLYq^j5BuP`yvbcpGEzD7Qa{7yay*+ z_6OEyrR?-&$HpgS$86YSY(fqoi#_}-@P9V%{L2FSXC@@2XKmQB-Q?f5re|fY-?S}@ z{{qb7Ik-&tWb&VZnbZT2tIwe}E@j8&lnnBBt{u#^1N@)LOZ?M3YqFD}6!HKmj>x1W z`_hyoOK9RY@&H?7%a3oiM`vtuF58g+{*MR$$E~kyU%$GbIo1)eZ8i9R75IN8v>aLn z{$J{dN?D>D0IkOsk?3|rrt=zs{dWFS&c{{7{eOSmuipp!KH&EOzYqMAd>|#Opb#n+6<0TutlPM) zgd9K#Ie=nn0E)r>rAZliW$gc#5r33yP0uW)2B1uol$ucr{x1jrmx2Aujy(MTE5QF1 z;Qw;)e+Brz68yi5n5Yu`zbh@bq>}dwR#fgeu!}svE@HIZ;DFuK02l)Q?*{kpA_uUW zy$ewlIKP^hrYd1uS~aoJZm@q9u~8M*s#CIjyOT2VtB7l>iE*k#-+nuX))0%<5UbZ9do}z2Rp7TO z;=o$2Rf8?6#fv;Z4KZ{TeQKDeMsv`&njAn4@n#Km)tajsJ*$a%YjsRKyqnn2@PJPh zF*33-#_6dcZmpi>=i$23$V|Li%a|(WLrzBx*r}R%Yb_QVvN6URjvOBGt_53Zo*Mer zN=7gN^0`G-8VfJZ*)@lbXXUjyv4aCUxfmN>12(NDj<2%0LaM-jb>I?F4e>5A*lPHn zyc)1e74Ma*As0{s-)iu0HJAdPvvcT}bMUv;kQ-1xbA9f7HFz36i)z8W;#&=lr~&`O z*HQ&uM{kY;f~!Q}jT&+QW)0~JKPU3DCRS&S#v_x_iM{_C5xE2Awbg-<4G&u8wpKCU zZra*;3m0qc3@u=8%?s|YW^T#J{DD=BuaaDv4|&jav2;XMOD#OAiQ`2z>_QYpwRp9>J;0Mtz?26xechP@0IhS3m(=Pb$#s?W^t;FXl@TE%pvjY29 zu=cyaua)qv0LztguAIC~1)Tpl#3|lejs<@EP@I-78N6-&X?fB zCYOO96*9Jnu|>$LJVqh+Od)eChf#=*gfzRZ~-h9tDgm1gjTfL!IZkyAbSO$a<5auh<;60yFJ zWZ^qh`6C}S0P0<_NeJHPcw5KkKf1m6?a{vLftdbj6YQX>_|YQ2>WFLwfvh3-Z6P^7YK#IItC}ENfqYE9 zCLXLQ_P3j3tv%N?R(^=D2bmn4Y%AXf{}=H7ze0Yi3jdXwwTR`>1w1EL$o_wUi1+su zf%}Uhqt{}iB?aU^3aRriShs0gLEP5VLiYa)*!%Y-Y)kcR+Me#?w=rKtp1?;gfSS5h zxzq>bkpsvhSCGs147GS)Wm&`HvhB+fvx7YwGQs|tv>A(nmhWKSKiw0Pok|`ch2!nu z|83y^MDOZ6-t7^$*&dO!(HoN+XYs7(J&!A5`H#QVkjVptt}9s%?q9mt9vuPp4`cs7 z#Iq{T&E7x%G@I`Tb|=_)4j@?10zf7Q;98NnFwnVa0qs2U0Q302!Ea)d>-_ltpA_%; z_w4@T@7ej+(7%R$AMpFYzlRT`=N9jRc0-lq0CsQMp0S&{{|aaqw40j$DxLul?PmYK z8vI`a_OH$^t*Y6Ou(=xiUk(1RX}bOY)PnzO!T)vO|2pvhp5*k@J;k*LYTe$jJrPmS zwL1$d>$axn?j;AXx4yY;FLeNWc_wl%HSTrPFz(runz4_%{(bE0?}7I5OyfTG{OgHn z>X)uuy$}3fzcDGTfx7>OZRyz!;QxAJoCf}OdLJ=Pz37{7zG)<8tq%wYHbnebPmJ0? z>|9R_)<|sFNKD$u`3B<5diIVQiB%hk{Tsp7jl{MMV4`~B;RcTD!Pfi05e>BUYKaf) zp$7Og5CiW6^VW0R#2od+g7rZVab|Zpg*-^|6FW(;#`-Ui~t2I6VW(MY^3swW<1 z4z4>jr$=(ti_{<9jl{0Vhkuzx-OeTFQd$QV*j{eL6p8i=i%utOtb;c07x>e(-EG=Q-ip@xOb1-5Pi|2JtIR8JnE5uDM$zIwd~?B77# z+@NdB$5=}P_}{D_YbZJ3X_rj(#PJPUCz0e^v?!>Nu}~oV0u2xNAcwU9{BQVz{~M(< z&j2(+4b=Rjr>)-f3$il5WC@h7$TsG@KI^*X)^#vJJ#qa$V*Y)clbrj|75M`j$UW@? zE8rJ)$!BaLTd?RTuGlw@P7p| zS3(xy-b(CZj^Tk!F6C0Fp$RMJ z|1v9(uUzxY%4wg?zfg}OKDsWsp$hi@B|`;vkzUlu*u|4N8z;3jPBS+?K>dr|!$pTay;d-33&jGt-$u>kU2(I*+M!SqVB((eg6uGF%H!)RY2r`tQGA4(}x-u>T&Qr z>Sj0xPo6oz9$uph@)_CiDb+pE$0qwAqZ=7n3)R%j%C7UO$6*|6$~+n)TZ73f`L0mS zPz7sk=0}Iw`Y1lbSA=~+%(~(il4BQ`T=hueQGx%OmTTp#jcTEklfr)9a-M^);C+JP zT_*lo<1hU+{~QnHu`0m-Tod2fbpZQIF0O@?V`FN8u$|$StPO<@dmTFy*NB&~u`f`oy8gJH;`?&(_Ue0~5KE}p#;|!mYD~eARQB+|0eg!o$<6A z!s9B|+m~)z3+`X#iOE^%S>;>qjLclNy6|X3Y{khi@7kge_Ws>bY5Vv$$2@yzTsi52 zD)Zlf)Br4Ax~XCjxPJlr|MNK({{NQxe?14_-~adL0Q~!Yejo7rfZqrFKJZWS0p1n7 z7phmARk(Yv@cH(gzP%|~g?oANe|=(lc0INK^}PG9A-Al0A31;qUwLgqMcw{=Uaz;| ztFPuaB<~+-*f;d|#v_mZb7RupzQzT%b^Cd~zlnGH?awZ%-cLNbKYZzmCXNrJW)<$= znwouJM{dc1l+1zy3l}atNN!+%LUOw3;Fk2vgKIY?9*T)eI7EA3>yDge-u-tldR@FB zasbV|58zO0ZecTYa7AofbL^(AhyM1rza1jZX(m={CiZM04s2%MhGR!Fab64Ya5J%Z z3-MnIm_aS)-7UnEhrkAhh+kVo#F))|7PSzwH4~$@5QDZ5$2AitHxuKv5Z|{j$04Qh@Zj^k$HwH9Jm(-N=F z%Hs`f<^5=_#KA2Nr@NK?+C$*CW^w?n{AU_G+|9_*O1#=iT-_|9@1Z$eTBHv#WV3XD zTEGg;kaTJ#er_T6!Lh5ARx%uv&A+K%{@_;Z;AjzX+yaJfCTGBPcQZKJ z*qCuG#Ja6u`BrKL4uSn!ATxIES~J&Lz#^s}@78Mu=N|$O(a+LM{M^j@|C-_5LT*6U zTEO)!V5b)BXx0LIA3~m1&W(^@EhJs6!Ufm)wQ&7v`At+C!f@YGP_> zYsrn&GVfjp9_~8&)v?E3hun3@$!9zD6~T4nLLj%O7XCF(@*m>EaVnS6~})`_|mYD;EocxriOy^b|7^Q)bcRd!PCOf9w&sh)_r>>~O* zO|29499(nj*vKF~@aI~?$1eMNY9%x4Z0w9LNiNPgu_t!2yR27V zbBaJOPmNl>7ge(*8I>ce1MAmevsx$pwC?0hR3{}n)Q}gh;hr=yAtUQ!)7q-0NPTPY z5$c(oby_dJZ;XxULmO1PI3Q3h*X?y8*?#uep&BToJNhUGXM9~cN++w$Rm*opEppdU z3slRqOf}TK)bLwXD+-TVUblQrZ0)*DTWffyU+vn2EwvjGw^uJ;y{?XT0oJWtv!OOB zdTlNLcU!Y6HoiJBEvuII`qgeu&Zt=%zqy85fNI{SQ?+8v`l=;S(N)V=uieG}2<}eU zp0<1Ij%;!;o?XmSNv(ecRA%wSm3h`=m3U)wibLZI3nLOM3xgc%^6X2u=Z0=5$gzhe zWroCLXGA6KN_RwVOS6S-OAcM{+v;7Dv&FeAZIdHvN4#rQ&U)VY7aJV1Wwm2z$}0Xl zU^)LE80n2ISQ5I9{|V&P9@G!GZF&vlsvLV{a=pb9l@;U+PY<+(CN2)PuU|;5zyj}@ z{CSp;&EJM>DEx-ngKz#l_A~rE{QF{lAMpEt-v|6Y;P-+5u@CU>?L*K3QA%dv0Wkjo zu>V1D{vqD~e~{hq!hK{NKv;7N^tM^3}iCTfqOV;Q!VGqyO(= z9WQilIs*Pb4E{fykzdhD>~olRG#%miFn`{6jGBVOxg}MH$pajjKY#vF@c&V;|54uU ze>{49+!6i{;OK^}+mF*81OFQ$2hg@X%Xb`k+NlR<+mf1jET?pLTXJS@8#M{-#5ir_ z0NRMx+K9K>h|`Y~6Som_w-NibAwxSkfDW+#ad3AVv0giIUmJU+?Zl4l#INndp&g8C z2U{N}j%z1IY$tASBNlAqa~pAKJF#{f7|IawUmG!B8?oRCj@yZ|naicNL;cuaJx+Yx z&h-wRgN`$Q8_xx_gGG=Jp3INTA{}=S%XW~HXa}dXfwO46ZP4+srOPyT2lWN*M`bk9LG3!gtb40Umn5Vj-k&H*5431 z9RoKU21gzdsV_FrvGOqL(~6vjp(FUM@=E%we3T*9T=^>HuapaF(PwI0)G8;W_7MJi z2zk^tQ%iD?`u0QM-Gd^=9zvc2$YqX^QTd>Q%uD@={Q$nTAHO`n{_7$3!%e;dnbn&7 zgpQGEKdq@9VLs(Gn#cjD4rV{=s2YtXonxN;K~`!^?2bnI?MG(SW;CJCe&*fJ9(xn- zKUYnT#x^1Y=g5)38~<;@uJEDmBOtJe96+PSvsX=DYFivmav$VBTwd{Nq9y0zY(l># z^k_m4)df+zVpZNmbul^zxm6DXKM%DqUgcp-eGopdAA6~0r;)WVxfYGbC!4^u<{Zar zn;`L1O$_sfPz!^cRtLN+O<>E$z}b43M&6&%7;SF*6yP28`BbjODD zW~TOuwXK)Gko%*a2wl;KagDt5t^sT>JFEUl=jDIc#ba#Bcck<*HBOREbFu!|$==Aj z{u;>xH1G^oBe?+8Q>hNBiR1l&*g&>|Ujw-S)l|tg_?+#_I^$QYGc{161q&85axd=( z|2NU9_Dgn_pYB&nU-dV(lWtlY*%NByzGYr-Bl9$omo{q%_HX+3+xd=9nBnBly38J^x0i0qoxpvo4{5yg>u_zh1<+ zePI86>o;%PLk?kYN>1UPCCip8&rlcSiLV9!SA+ShmL!%}Iiiv)t)UysEuMrj@7mmw zRldVT%hLAx!2dq*f3ACFb~gBbXH5Q~G~Nr4vMjkei9EnI+mh{D))yU1Se047fqnh8 z?DfaER%EOUw8kta53m&6AF(p)U>JD-kHxi-8h{)}$htxs6dbv^GEnaVaIeT(6c$&$ zfO>%W;Qo1G8%w{5*k0|&|No>tAAel@KaPw2HuBrZ?*o1x_}|?J!2QSO2y9^iqn8~8 z_a7$@a5ST6*YTvC`5b4Nc2mmE$n~Ke**k} z0{nlXd{0XU*#Crx{r?l-|C4FiMc;w{ze`NXI?20`zXSiDOv=tb8MSKdDfazOf%{KW z2XLC_0ls4&@oDh?>Ga%!Q^Yu(Uw=LSG;!T& z_8B{gvpR{-I>B&V#A>IB^SX%hI*9|jzyh7*06O{H#q+(L#EqTAp?=N9$kfGgmlFc_cY%Mp$OCkN{kuXVB2SYa z=+rSWdKdC`BKK+9)5OMI&}qppopf!Ex{1NNs3Y#;fB3q=|L7WKyhLs$K zr|bxZ>5@&s!d=wvc7pG_!0BB)7tjT6#s)UVxpW=-y3pOCKG?|8rM_J61pk?SV35=7 z{hQCoa+*EV)8PM3!)sAMC;YU2r;x$OFI!4>@Pb(r*$V95CE1OP$O%u@#j3eaNe1Sf zlR1ca0+BKBG-Eh#Rm(N&X=(t>+G))+R%AGzE3PfKz~%a4Qc zO&$qcc^ur-2A^Z##^bzy?HDxx$HDVQ@iXPUjxvvOXUE`w44WJUcbdEf?NR(vbVS7S z$w%<5W86DOk@YC^A4ZQOBGyCgVdSB&TkTQ&_lSt&!_1)^Mk{i(g8y51rky$&`w{*l zuvPUi%yk(2FMcMEp%&Swn=y4RhvC`EJ76$>&rnTJ{)i=F*SGPH*K9V2ZsZ%oi zupc_u-G{j^TDiYkwMO_-EAqEU7o$IUDX{-x>L3ndb84hQIp#C-;%jEjkZm?6HM>5C z(Ob1Tt?~iZRO>x!pSiV`eTCc{J(T{;qfIAn=3;dOOid|2|UWP zuFy^%z#5agKZsg@Kxbt7V)6hBIi4St(J*gS;n8ow|KI-a9&7pa^WzD>5BPn+?*o1x z_+P~byx|ewK_{S7OP8lLzP_{_P^0`X@L@#qEO%nM+O^Td-qv=_h+JtAVv^M;4rd5-uGUXC6xY>$qi9>$*&5A`8# z*E#i3t8wN$^Ijk(JSTaGF(uapvT*&pNcs|gpXd4F3)BFhqq~>( zyyO8JTp$)U@|phVL`;8y_?`2?=fK++!06|}4{9%fWqQE&@UqIjJ>XkxY`s7XZS2G~ z=69Z_y#QuDKS$WebwPG9Ho_Lf#^=BOcK!uw|JB!!<`5xkkJd^ufF%sc-qi6k-l{dc zpzFxTybjINGk;+Kwzuf|Iok8!|8w&e1fZW4d%M(!`H`FJ=!@JI&e_jVJ8)h^{QzSv z*um%{xi5hGrCZOUMS&LBJz7`-oMB8XLOBq>}Czm=ret~Sle#!*ctko zybykCTAhc#@>0r^oMv1X?+EDhhAlk}ox)d6vyP|fFY3gP=;P&li0C_H{SK^m3ZGGK z;XB5kM$YfZOP$0wPvIM!^Pbc-{8fFZ`*10D@g1^Iw-Wk~bDTfHS}AXFlDRsV`y|I5 zI)+ZNzk34yqLXUL0d(j(d{08upg44_x{MRz%^dV`YVLM(j#gvY`#;IM@lNs_KnJb( z7+%!>lLvvP!)PaAmZgb04^*h6x6V2cj;QL_?++^UsvD91w0jj8#O z97Y~&+X1dKeK}T5$_duJ10QYYUQqs}gLCFQIJ*Nnfeop5u^Tzmvj2}9)Q`X)zwKcB zN$~FpNOMTW6MT1=`7{=6s`@0=2Az=oum${V9gIIAdDKFZ-P9S$e$)Zzd^=+~XH#xT zbxHKIs76P1P0Axt7ZYUURbTEOU6NXN3}%A?=ZDRvJW!oTnBn8$8=KqOD5zq z@@owtT{H4%-5`^f(ir|bK%b2ctgBgD=`9I~FWl*s*Zoq7HDpv9;EQ_j!nn-Qgh{p5VUeKqu7^NiX1tY~fA z=CkFs2hQe~)}GDCD?gW-ReUaaXTkSr*~RCQ((^9xe84&C|1Xdu=wbi=g3V^T@GtY1 zoCovw)L#F5v3}(L?#*bu*SpxgrH7cKCvI~}kFT=6H#B_NMbXZJT|Xpe_oz4_B96Jt`~H96-Ts&25>tNQ9Y$C9KY+{8>k}?7U$g#_+OTCS zFRxg;;WBxFEBq%wUwmRxAMcOqXTB?7|32RPf0=jxU9s6*SNMPBJ}^rk@mU{rm{&L+ zAg&uA*1bZ!c!k>H0b;}}#DZ6d-_-UIQ}z+NslCGUvsb`71H{Gs#B_bo751pF=sJAV z&x|Fm6~8{>y(`S4x%$_JNr$6KnPpe_w&n#naE{0b;<*tXChckr({m?+sg`YyHIbeT+4Hh}ExvZ6xm% zVqVG2e3m{ie?P4`2IKaFwJ(D+2f#IbvJ0*3AwH6?PsfsrwjX`2P#fRRIQRvlla0^T zevYxTvk#1n-WKy2JL~h6g^L3Fd2U{Pv61O}g*8DhS0A`ZGWRoPfa5EW;lUhNIA`XU z48-L+Hnx%+I!2#<_=)djh+|71y7Ymm)E_-9mwB&0tyMDX_%dU3z7KsbOD{0TWk_ph z){ixk44S(S9WU`2-gfL~H|LB@hM!f}ITw5x>~KlfMd+o^jImx}Z~6-JT$25vOFG83 zm*poKL+!~W@XHV62QFdvOYr&uJN^Jxz098VMKJdz`t{n>pJUro@<8K2R-i%jX0-Pd5PK9a~|I3nddCy&LYz}`k!U| zS$Lhp56{8ld+c?F^WWnO$~}A!-aZTIyt(FZde6{LIScAZ?A;o}{K{FFF`QGLqg#A9 z*A1^Tx{i;Y3A9>uzMJ{ZV54q)LUVP4(G20gw2m`;7Ikxfbz_4w+!I~2-MkCqY;dr( z8(CGyL(PUoIg)PhpK5x#(M9rfNj}ZVJf@HOgEMvA1NI|%wuFGAJB~- zbo0DPH?;xXM*i7an{L)kwII~aIJy^7G+kUE$k>7#s%(G4Hbd5sZ$56`pW zP0ay)T;JzP3h ztUK#Q?GM+eDYD6))X)SOJFyO3@G`_YpTX~`Neb`g`4QPtdQ-RLWqrtRQFnx1Mqbv+ ztPy#Lf2@z@WX-iUsUfApEP@8-L?o4no`wczzGzN624J8!|6dGi;V&tKN(ORI4lQ!nL3t`N2IP1R0u zKB$X1sUfmbmt;9ZzMz}DbT>JGE`F~>-v?MM-MJ;Zx|gnq?h1>H>WW$&+qE)wL)Vh! z(Ov5{Z#%<#{JW?J>Wbhx`GGFp2iVR31a$EpfG*yB+sW@`C+`D1&AS0llP^ELV(q%` zw(iIhoun4vgu~@ho}t~ndPkcrV#_h!`+wZAJne`xI-|uMlikdo|3Ut+ugS9}uQ8^e zdGG4d#;lo`IMEW^1XBQ<25Z#&q1bIAIF zjY|?M;v&=QV%gV^aYUx9ZV<)C7cu@pu9M2jFt8%(7cNiQxa#pwRWjfy>ew z7Kf}YSm=yQo$rmwo)@~I(7*rxPm1~eSJ`{=%i-S#_4|O|2mC(pKhFoikw47QK89m(p`e4Uq%5yfeSziYPU!=*o_~vdh#4^z(keE93#LSS*&le_0rLWyj(B{owz8 z@c$L?e;@e2kC@{s`2T87N$pi)uL1D?Rq+4St*Kd8!TkgLwLt&IZRywk_P2li5&Zun z&prOgyNs`~w?7E>zs~;twdi#TKZ5_S#cxj=WWVkjr1L|O(QB@g1Gv6AZqs$}|8?;H zHRc=S-OAU&{y&lfxE>g29VG6%P8_LvNG2ZA!d^!jXt7Q*ra8Y0oIs{)|uxRlhIRK-F<^m%OO1Fgp zx^5W~fyb_4uj|rLeb5s-IS0Y0Ltx))YOyW+?bpFR*O7(RuIuV|gZTeCxPOSe406IV z&~hETejUufb;tFE*g`xsH|;g94S~I{e=~0Zyevapzos^rIe6E=Any^l4h}IkmrTeu z%p61FMJrnjf@2I(FJScH+2rfc5ZE8xEzB7>$b8cGI=O;D_9L%>|B>4^Bpc1jD4RJX ztI-WP7!$~tz(MeuWRmQL515B_@LZD&=za}*==d5jzvwD5{fI4pWUe2U#~j2Eh8dXRd+GufnsR{mHB7N8ZOhz#0#LXH6~$pH-gdD(lh@ z1{&aafL1x2K78~FW3F({oANbF?AMn+SbM%knAe;RM^ir#^&e2%6zu>f=_$Fs@TD_re=u# zMqc!0oa-W3o_ZbC(ohEiKN0*4U&Grbo$S4wzsS9++8%VXi#X?ytu#j0jU3p+$ilte z1NGu-$mEg!J=j@wO}+T3&i7*PUT|wK-z`0S$IKG;f~QC|N!ZKPi+`%lMRiCQ;BgTj z>;+?A1S^{w7}j69i@(-EHAq?uox30%xZaCTV+$vJ+}PAh{g4NnhV`-zy}GUzzmYFo z#5TRmaX~g>o#{s&%N>IKJn;4O@*D|scy*5XJkp)>n%AQ~J@}*{c=pV#webh^F?CwV zp*1ivb1xa6(Hi4t7qLYzwK}~vJ9DG2Y-oH4`_1*a07mbHdcgalUY<$n1*7-yz10K$ zH*?YUk_V7~T?EJXsvoUvdXaNl8?!#Fhgloegj%S@J>si%mQ7iMi{c6I3;bS*dcgm^ zThn&-c*2+TkOSylx-#bCs`c?bybD0o%YXl!2iy08|9c{%S6`qupcnjqA#!ERd5)=v zOE?eyKgaP|aslV5xjVCQd)k@JDH&?Jy1p6;`E#JA&9-6qo8kszwJb)kn`|-bj-_P#@ejo7rfZqrHNj?z2W&5=` zx?X$W_%*Qq^^~23*Vy~N4o1J8T~zfWbRGOZn4VjD9sDmEWdDCCI5>C+{67f(9|Hdm zf&YiV|HI(_A!3f9ElH_EVE$pS%unF|o5j@!eq!(65ZM0)vCvKS|8KC5e}nyhwIkH` zkFf9m6aV)&!h8O2#%|trD<*#PEinHG`~Nq=|0C+he!`M%X6EU_BL_;E$B9}=?MFuw}^2^ z!Ih)Lxwmyp9D1Ah?KXLU+r*x?G@jV^7V)O8tN(2s(|?p0k7L&evF<2Xe-xg#!4D(E z_P4>q$l)B7EX3-3cHAOX9A*3n^4wxh$#F|E5l@Qm2zZF`u2C?8=(Z;$>^3=oQRp^# zird7Vw}{Pe^Zfs9FySaQ0JE}kU1N#8rSFJj2K$d{-axBOyl;{NxIJ&df>C6@g+8*0 z+FQshJtPx-?W6D*MStmg3%N$Y=cDYUkAl~+MeuFnT(!t_3cf|2;9Kyy%{B2e*XWBpiws}*kASsVub|uDW@Kaitd84YsymVcnMSbp zEv*srGN+5VwboY2to0G!5!w+jKen}vN)GA(w0@(~Q-nW^fd5C>vqdLtfZoh0f-m+6 zw2X)^a@~|{l2vmcA9LBvx=L@>l4GmvjGq}_yQwwg+)ddMnQtQV4QwkL$rs^kxk-D2 zH5_3LIkx?Tf87L|--PEdIPE5w{3m$R$N3Yy$>G?CS!Z%mo?&>C_pmDmrDNruZa`{H z9)x+X<4Z&2sg$20mti4yVI5??>&(HiG=l-Gi;;io?`hjKmF7^ghNRr>#k+*g%P z0z+Q|TU`bJUqz1}>7(NxS%a(KwyWSe@)+K$_}zd==dtls^rD|#pH-964^MNA;{o&) z@2fgb9-yBbLLYWh9;2UDG@$X=fSia|^rikq^);s6g+7|2ADi@p4+qfKj7R?g@TaMT zK__z^nfvK$&M}AbBm+FFF~GQf@&J9j8?GOH`&f?w@1?@$Ig6qt$}J&On>p#{M`H0 z6uHR*xgZaDAP;#S_f<%BB*-^Q;tR&5Mu++z`l!~3d8j`!HA4gNqCUk*-A+&+_o3PW zz7LG;!Twjlq65l5anDKCesoekN%HkePT82Xy~=gdM|MJIe8Hm{tA37UXH#P(U1je% z8w~KBX!vQ3wceZ`p!R^g6*Wx|Hf8NX81Kcl_I`50tY0Yeg;9g$5#K(;k9ERtw2so} zs@5DiuFlz5KE)b1Wh?x}EgPuj>Z)uZ+sNnSFXR)c*>WSdy`TO5K7KFysneI9s>>Q! zv^a2pJiq|YB$@T$xKG!yr+h}e}7s|K|k2P4;tXvpMlWGsQwje*Ix~fTG7uQe;?StkG=oC&B+;;c}}mN z_u*V7SAKcrn)O$}|Ccu>@3_SO09@ku;_A4KKk)3p4@o<7dy}($JyFrorWTLA|8vk; z_WjRTLN}hF4&W5~|EIwICl>}rwt@YRMkd!C=9&Lyasc~j>n*OteeC_rdn}*vELl-v3={AMdW&nD_wPe~&tV`yAh={{KF;{|~mL?i@?W@{J{? zWjtX2{{i#eU%WW@0sHIsiLV||2Qbd@18~APvDyRT(=m?6h%Lv66(2xj!NAB_`hKcKy*bHv3Dzz<{pmUN!6_lbeW!3bl-vt#4{9#HT3 zfOk^eC+>bgd@ni1sn5L+jj{hfMhrd<-ABfI#GYfsxL^1_02?v4cZ`^IjQCP5`nVsc z1^?^XIGF!FvGF*1jgto$mmEf4o8tjk$jB-gzyt8`jDh8)?-=xu{r@pyc^!|<$uIjn z00WGJ-Nv8?`Yb(Vr&(Ep$HBg1(0y>cXbk+#wcrQfQ}i*P$2b-rbhM7mpTB4f?2lX) z##ymTF#1{^>blO&wd3IHF|e zo$iCp?}Ekeg8%P<|L<{phxQJ9@8TbK!QmV$pJZ1%%GxXUbc>c;l}q`Y5$05G%H+4W zrt8Xcky{BO&tM(Fmy|mq2cgf(MOa6aZ(!~beC8&+M!;3%Zfrkc?-6kH2!2OC!hM6B z+D+#9iFftgpoTzsji0DxP`_bxy2)HOpke4IwaD`mbOX{kavRng^u2-X!}#$qc<_dD z6yy(d{RX_1)3`yNV;GwaA(wI?!`!=~L1Z5mf$?r2Ki8c@;zR8}`AF+e;8XDtk0ITt_@M7FG{pY@4fb?3ZkYbct0-S$=4KtJKj9oX82k}^T&nrG z!5WJXdb&h6xHe2aX~^`UKlj_P^o54tH;gaM)xxNceV8>BNsnQ^R~T@(;scPx`V34s;^l^JT1f={)_1@nf|&$h!>L zsg0s#ZkyJ^*j;kVMzV!$DUzMgSv6FweE{`2ft*Kg$82pCwiuKh=j=DzYCLsH++(VT z8e+ZS;YC*u$BrR*spg0JBIhu50kWa=W32eh`UAd#e)eIt=wSRrYs|WiUPN0T||YVaUxKnrqSG#m4rs3D|s?-=Z7fb8}9g`F&!of`1|x zFbwt|(r2xSc++oCyzmwE!H%{Y%r^+(lU9*g1IfD>8;PH6DIOZ9x%j;@Idb0re}n!1 zVQT*kvHw5ByKjbRhp7V?rlx-oygx)cL><6TIG@4(*Lm*$I(zB?2t*KgT&HM6K5O##o+(K)rCj1SL|%c z@T|^DiAbv13T=YoqjomM#+0`TOHw>_}hW?#lh772S#kG zT};1);D3Mp|37KJ#~wm!e`R?(~;rqM;@LqDJZ)`_?+5MCZ--9hl84tFl=8W!{DXqkBB)QCT!h0o>{p2XR!Yx_WvIi>}q(JT~zZZaz)G|-VgYQefmelz7N-J zNt)Q0vg2`lQtIPXaT_1=zQM;^(y|^W?#Ow(YJI{){I;|SSJ;xrJg+|y9u@tVcmGea zFEUx%ba;|?|2-z2nqa;O@c(1>@Fs}MCixGjN#eChFwG<}+5{M4A|!0-1bh4wI!C*it)snw>4DNeEEIla#w@nh~8=?ka zg7}tmE^H+koRjdKkp9vS{PBdb@NzvSrk#)-)kl57xX9=+HsqP(N!9?JUFJM3wy>z* zQ)1r7Rz8C}CWw8}*@`V3<~niz6Y-M`!BvysCTwnh%vkYZ?%>IV0f7_Xgh?=iXo5I; zR#u1OF*sooJpWj-f(Irb#)^kcYw-lzKF0nNV3i55ifPHYNS8_W{3eilf}Fqv`GJY~ zTwlm%%_}`=u_by3+aB{w#00WD0XICB?C53q!bi4M-$(TQnRPa{(lI=KMlNKt|BRfE z!Gk|j=llqa{K)PK(e+2z_mQrHd8Er@_&)?Y{mgSN55Yp?BF)+v&_P@_PVe%$iQ!eYi(;G%k z%1-XVbD#eLxX)g!@*L!`oXX9Sw{qNPKJpVzH}e$yZGiEazCRYeDLmU zeM=DaBdRsAQ*#;~uUaH%Xt!`-^8`sfEdZ`_CI6Sfw_Hk496h=*w>VW7+ zZ4Yy*c1Ss(S^LtT+zjJ9cXS@QBb^}fPEMnz^uQMwYe5J5U3X~29ejeEkykQmoYuqC z5=pK(IgFg>aff?B`rUDQ!i-Gh#8fi{Z`U1sUNul(YKXMnI(M5qj_3|HH8oQBh;mfA zF4>J;G`A}x+{lQ}v+gDjCRt5Ctu2^e>vWfUVU+K{QG8N%SFTIBGUd4BPowfRbkLgV z+#Rm5=63m<$)%AW80GtG6kM-ycfjn_EG-_Ty$kjq<=Ow+e2oElw>yccS$8%i z?YQlYSav&V^}12=-*=WquNmdtE~A^0GwviLrQeB7NE{7|T6sHeYs$#F%}KXJYvMND z0{h>jy~(q4Bb$1`o@A#{+g(sHrjDJyh zLYXhvy(Qb~-Mj-z=G}l>Lt^tcMr^HG7ZO{r#^Q-z1w~oC$q`VPCpy;?v8mE&U%J^w zy@3^efxHWF5q%cIbAdHvlYjr;p9ApM{rY{t?*o1x@cY0&$p?7n|Ig54wZ8H_k9PVh z9)tTIQ|~W&l%7}eb5`;0pHs35Cbp(!Pk{R;$N@}>>~{Mk_ z=kZBtFGTCMY=5Sf_x?TS{{UZXNK6(z_bgfVjQ0ahZQj0Ps=m2xddbSwFR0Oc!F(@> z;ikd=Q|tpy5tq$CQ^cMO{T#AFNnn;?=&&)6mh0_ zOoN%Gs70OPKh$T4?_Ll~P7~)((HbJ|hPUel?TqFU&pCQQK4Nx`K#S&ApBMBoGD#N6 zKs?Gd2jgth#GcdO1p2uR58}#c$pikMCWrC@tTQFqh>@p}Zw8$60{lM(E}K>hy+F5_ zIhxj7U`yn+&k&Qp0Dn%g=a1aX6>OPdFLxTeH$|-bf_Gs}+gu?pz&KOPD?O#3>?AqS z-T5LQ$cl`zrHk{<=kTB5xq=yD+iBSzy{9EJSeawT6uL}Phk;DqDcOm6u#pA1ER3~G zfz4llzo$iDeQ?=Ot2{`g8@^aq$O!*(>hrl1o6FmX%Ji%u~ z6RhPVSY?8D;E_La>v)p$8lFew56D}DjN_LNp>gi5hhWBs$n*#-`-uDO5%WJ}%mZW_ z7k}m-F%ITe-*NQQv3Q#K zHHVIwSG6q<@edK#$&DZ@GOI=f{?zMGvw=R;*Mv|bW5Sdq&(6i>5s0epHU5zNcAeFFKak1 zd+^;rUdh53Q)eUD(1jW&_+XcZ`01Civh72yA7t#T^}-)boeyh2&VNma4?G+X$*Cc) zOY5(C9Wxj07(QX-VLgpa1GKj2Bwqp3kBg7y)tc~qtTmz5DU7wnZ#XAj=pa8bbzI0t zAJu4unA$47qvb2CpF{pJYd?-X77KH zTKsFS6+5p+q}B{XB<{XU4&Wl#{{nma=T@Zc>4d%uUB9ct6H{NiPvW0Ek>|T)>$DV$yHzqg6y)ttJn15MlY;m|_ zX+}tBLYdpUw!lFjYgEeaAkXUb0DDBzBKj?GMy1dHZ|za|&-?eU{666K0lyFUeZcPn z|Gqx3ZsWFR&~vr9B{fsL?|<4?x$i}8S?zQ1|BEdtnKSJDzYviNm;(1tkpq}Y&n}q; z|4)Per@{Zz;QuM`|8(~0=hNW-m&6=1>o;zExg)o12JAWm{(ng>;MImrDKEkPub`LV zOQT+a`CqYz|2leI{7c%GD`Gdiq6Xl#Xyy9&x9t1BruP30dmAsw1H9!wj$VQN-=t>w z-jr6?zxGD1c*S%7Z<+56c>4`;@>`3=_BJq(W2^lQG23hC4e{X{V!OA*j&F(e-x7Pj zC9ZtK{@82wy50m>?C+pA;FdRFn77~ujeSe}_Y1M|Tj;e~V*5A5t8a)W#Rs1DcVGrx zQ~L`z9cvj&ZxZ^cAf&QWIh{fN41>O?# zza@r#D;=P>JOleiIufHw*Eh)VnsINWKk>cfg+IDjo$tQ1;9q2R8C!A=J3H0qwXTDe z(Oo*b-holyf~Vh!FY)qQ>N4QrFa$1VyyYFZ|1H@1Eq&iHx9o=9ZSZrv1zWu3eT8qp zL6Y?y`2Q{Xpu1b`FVYPxthHbbJ#WE1MkeVXdy0ZAPV620PCV6u``=+(=CF!h6PLf% z{NRzSQMV zx8g((YJjNGLEk6bo0B5$p{Lkrg8PB~j;Cr_f9diRpEP`tk=l?TU4No^9Mt5n|Ic{p zYWPh5$Mk)I?vvpBr_7;x7x=0UhWZ-nROqX*Pq}X7X8oSPSG70P?YO0r(HEVm&!Iku z{Ek{(!%tM}Vsv4BjQ++3^wCsao`;{wdJR4R5Ul>t%9NMt0;k>#eoX zb^a6bDLzQXgx&un(B|9Fy~Y0ORm7!O8$Tk;vZ%`sjUjqni+fHXR?R!17uX* z%=pfn|Co9!_VkS&@-MKucpLtj>)#%O|DUQ>itn%|sxPDOlR#?3#7q86OO2CDHCp&3 zdAK>b>1XPoWDAV}|33l$Px5=E9QjkNJ-Gh~|L^yN9P?B5|DUq=|71mM++^6Y6;D^L zUH@eH>exx}|K!r;(T~~xpWylaN&bUplKuY)aQ|a+06&uhc+Bx5-lIECZQMA|&fVwv zxCh|>`^Hwl+a+{;T{Sj8r#!y<%vef;Q9~`kUN3ife`~Hi`0W9?6|9{`O&L1cH z?dkUczYq9*!0!Y9Js+U%|26aydXte?_A0Y**Bfg8U-2A(=na_vE!h7x?;d)oHm9ii zZPBjA*O~d1@7!+pFJFE2^}9_~{lC-=|EIU2ohP6C5*V8Jj+o;u`2QE`|9=7di+(Ms zIrwYznuK4e{r`>F{XNeC{K~%nd+Ppw0ssF7{{M}A|6if^OINM_ZFR!t_hC^h-Y<<_ z{ef8L1Ni>~`2RQR|347pyf3V%{jhBHx(^E$EdIcJAHn}0!2iEf`~Pu{-V+yoAdY*_ z9?^ULSM7J=$Ule=_4y<80sQ|vxZnfz);j(`T=^0F@R7Lj58~~Q;6eB=`oMDlzk_c+ z+C3p3$w~Z9y#5|M@B#ew9)2H*J3kVOe;^JtMC|;LSlXNeTl~hgkHnw!w|?Z>2i^_+ z5sblgyX5;QB7XcxEX#Q32ja)~#L6Fu(?1e#|3S-V&+qjAo!I*Wu`@D#}ox6zjb6+zo<<+=uxy9Sj*npLk30u}t`^M$Ppdfw z_nQ7+?0}81rN&!juaEQRFMiM7{|E5Jdu;v@j3HS*20I+G+lK{<13wbmzenbeb8^2& z_TR99+7GjG~7K#cwy z*M8$z<9`)j+TX;3JO_Q@#dz$bG5DP8H*nH>aLsS%r}Mvohkm1d59WWbW68+pUs<1D z@W0m2>UJ@YHI&W6CIzmQk^h5zz<$GR&wLoUem4qthP zyvjMeX8p(ox!h@056}54ssrUlBT)+7*tKS79EfYG|g&4;uL-7wb7qtJ;`pqX(ZQCqAc|ml=Fh z*Js%Or?$pQJ(1(3@-XNy1+JfAJ!UvJ&AkJE@-dzzn)9W`(SMpgYG-w@*fh=%dVP_B zS`+Iu|7$4R$g%Gdjw4vLS0?Y%2L>19X!ebUdpEucXD+YmfkZD^3)xtU=<*Wb=iBQ(P^ z0IF|##qkR;|1>GQfL%f zB))hA9DjrT|7+C$U!~<8jax6W?|%XO|Gh0Txs(0>6JY=2{10F&bddf3eT(hUb+o%e z*Ax}A=bs;BTc;X;9ULbIT4T1@Lbt^8KLD}h09Nt;04u=$OM~s}!#Va)|L+3#+rr~3 z%rgMO|KtmV{}=rC;uQZie;n)g0lyFUeZcPnejoVv^MQz{=-;4U)$)A*ugRGO@1c)L z8Ts#b`_BCLYSVIxKJ3UX`IuE$`FnCk-tWA7?&DWq&HtECcK(mOKmA|7 zLmzWaJ^h{i|38R1eoxrG{SV&t_XqLPA1-g$?}fV>{#YBA_~~zd``f3em23ZuUK{^u zO~RH>%h#^^6uW8bpIg$i{s8m;34L0*F76Zmee`F@(x|_PcRod~TKngQ#FS6G^XN16 zjh}hv@u#f9^3UW9{+d63!C%bxiTdroLw~YA^O=3;&&0%^iFZE{^Z!W{#Gjvt$Nz%<*9k%e!RRU+%D_pTU@a5v%gd$o1cjTKQZSg&i^$x_n%<=&-@ScCoszAMF9byi3R^6AAl^*zcdc~{CDv4 z=b&J7{u8!>FLGP$f9e?7CEMpOauRp{#a`}bFu-Tpzlfbb&ykM*?dMO#>3^rz{7>i; z@6rB?c>FW*_9x=t&tMbLCw-Rg#O8kogZ#x9GoR)av0wfPng7o70cz3FCVl@d-N76G zg}wI-uk$+3bY-isq3qsJ34j1tKma62uy?RmiR!XsTe57+cAPrNILDrhk8@6(NivDY zlS!O7PMpMc;x@KLN*0R<5QRh`dhfmWM&;MJpLYYwT<1rA<+86_+CScFef#^?x7NGf zwZ6UI=ULC*o7W!3;k*M@=ek#8dRK8+Ex}56h|yhM+jup8@Xxzo{5wyqU0=lBW1-rl zpF8|c;JfTq7GhR{xrrUIae8knew0P{d53wpLmk;&?j_bfwOOeCbskLv1 z-M2OO)V)P}w-r;?&utkPOvhS(_~p4xEZ)U8)#V!8Od$R?YwtEV;ug5#HnE52NxTim zaSPlgUg|d5eYluE)1=hOBSZ*@6#*NShrC&VO&sh)RsNjH% z&k`SUlexHo!DYDKW=wB$O9LDUI&MXb9f6AKLLN?k*4K3FFlZal|Ry==w8#wu;%d{-i7<9%UFGH@;qK+p5^PC>?>d6J>VMe z8R%48*I6$s{aasZ8_f#(B!}DLNFS!-VLd5s*EDX$ko%+$LZ9MRT-3kClkc2J`*Y2W zkMzy_c;5u?UuRs_j(lcLG(O^E<*H7|;wazojo30rUccs6c8&L->uCP32ji39RLS_S zF_t%}!}#K^v8Gke_$K+tdXp|jbAAm@>N>`FooH)ftz^AOKXYB{hIMaq#Qi_xwdTs& zVJz@e@z+(-kH%?p#@xQCwMeWr52nZAefFB>ojO_(+0uF~O-_CL0HzIg0z+j9KHOZ4dM1BKE8!d|Vm( zbvT4;VE=1q-{8$3d6UmU#rZm)Y1fWlcP!v-5`; zS=m42w{*XslD_%-^z}Vw;?D26Q}%u*xb@862Qp87+ZoFHmM3ZdH+{*+{xUA>!k=ec z_{`VRPJZIQqXYOuezX7o%{cd&-%H55`lU?;pZw3s`=0+#(awxt^=BOaEWg|LI=|cZ zajv}>*nIkFZ{nd#p0pF^xTheLed$PG>)HJq_rH=ynVXRJ%r<^AFe9}6;-*c9UrEY5 z@micO<)k0%@7;3YS6nIkUv_LN_;hqq{`33}!0z>tyzbvGuZzSo63fUMh^&Fg8i=fc ze`^hF&DnhmyNSJf=BXENf%$Kpee#9dm!JFSyX;B4d*b|4w=s?{zq{|)nRmhex558l z?`I3aBzGQpGC67WJ9IIM(r z)kYaPT#4EtM=c?ryhjeIK1;D=JiVb@fWx0W&%uDi@vekZY5uN6!D)_ugz zUq&9ym|ge4PC71SoQgpSeU~YY@`L^MQufZwbT9RaHFn*j@$(-6CFJ78;QumkNa>n& z(WU$rUztqpfc=?EKfe2jMG)UT#M@8o1LlijEu)PR@Jp%F8!Ur6DAQ|jT5+_~TMYIu zfx{>Uzn6j6OEKE^*!aL!%#915c&+F*2E~*)_m?r=V(yjyj8pUI zQoFJe){@#TR;;y_@Sk>ECB*Zt)(3ub&1)s&fS(E6l{uX5yW#cdD`akpz=n5aVC*~0 zcM;E85oIy!nKCH;rI4~PJ~_?mE2hjzA!|fDl(-gn1i$zkcpslQu0s3~r|~X6zRzv2 zo^JEK0yv_;9qQj^ox@!OZnF;zuY~R-m;m<_e+M1_4k=!I1n1&Z|6SIgI4U$J-dn7t zTikzB$1<+p;(3D4NDz;4gX5d5%iF9^l{dlv($L((FZvAX+znp813rbL@S)FesU3I? z+Vur)vfoW#fg8l`CTr&AYRNcFr$W287$00Ce1R10=cC>lD_B```5CYnjiMXZ}6;ZE-dDX1HPy|>3(dD=ziX( zZ}MJex+%>eYtrVK_Yc!xv2JZm(4X{JT2I8yqqeL)jm_qSwz)sN_Ta~endS%WmRDLT z>6ya(S9nb-rkY!6nQrn-OM8T0=!sk&X{V&$(K+V9t+CvUiE-W9up#Q^V~;(?xHjD4 zIlRHTdWZLCG+}7XsE5Fc{1HhX*4(x%Lt@f*`_ z1{0HS=$Pm09lpbV1N?uJ@;1EqJ8d8>`P(s` zZQlm}e=Cqy@J%=X;{ifh7yi_ndi+nE!M$Ha8}OBl2S4&9U)td>Y=}<%Ey~Xax1IZp zKmEjOlpl4)?|I(k+wl~34(xv#4&Z2f?vsa-_Pn^;5tp}P&4#3GSK^_~{2yRieD-39ZPp1JaDF?;L9Coeu(4DK)8d-PN>xr7~q`^(t-FUCs9iAo=N zG@%UqUk3J<-7omux9&#;vdhSC%JL5#Dtr3nH|~M`%dq?Bp881n$&1gIv-f|Wy^s5p z<>WWz8QHlNTXya)XaD~mnE!tEp8e%$0Pd%6%f8QVAl*mvSV>t9{;vS@m#1WIyMN%s znfq`6_u2oy5B`5Zf92$ql~@J)|K&3BvU0F`IeB0uddv!RqLt*q735{*l(GtP-AZ!L z3Uagus>lh;oi1MmKFcb>RaIC8xuh9* zsDgaEocyqoT(c7FRS8E@slKUGsd1<-`EI4^aK4iIjF;;e`(@>fs{%Yw0amME%;oA| z{;wK&uYA+>D$dEra(D^+c2pajsxL zP-Ct_Lt6dE0wLx1|m|ipQF11xoT<^<>UpaF^%yi9O-{<;$ zd{&)uxC6%(R51o$;TO-PvJhU1dlQOzZp5qI#iX?< z(s`^1KcqLgiw}jwNxBs@CgMWSu=wx^Z42=dXJY&X_`e8zd51m!BCxCOv6B1HfrRU@ z=IJx3koXkArxb$Eis-+Hv4}5`Hm8U+A&x|P7c;P8A@2=$!2X4NpQ4Dlyh}gQ@0i|& zIVd7l(y)lfDS}Tb0)vV_flu+ljU-5OB5lYW=2LZxxF&sx>J-tAv@z&hTxe8$@>#kS zI2hXE9Q_yZ-6Cm#?xGKuhDEWZlupJpFRCx?j_y^A&@Gwnr-(Vz*e!1Or}4Z?Da{G| zkzcx?yI_B`Lh(hIG$_`V`~>G0QQlP?#r0s!PlE2Txxo+O#JqTerq^NY#w#)R#wD?? ziahmU!1z?Ji1%p4N?IXe=eBdKAI-Zo zGR#GIj+j@qp}Eso&|W$1n&umS>6fgF1C3EXt@P8rLzYq?fknh30i@vRp&pI6!f%yyB z`)6MKg~{m|h2Z`|aDNdTz-@E@x4{0lcON=>oBjV=;Qw3f|KHku@c0dVKki_`g?HHh zzYhL?6a4=Z_Wys(p8t=)|37pk_Y2r>I)l4DhkeSs@zAU6|G&iE|I_|0XDW4$|K`9HvDc!v#dyzy66;QvbUo2o-ck5)YY>gOxj|9=4fe{k^l zxhnSjtIj?3%7dhoj7sv72jKo{?7{9M1=VN)YQX+A;Qj}c56}Trv-kgiz5i-*p&Io6 z)$IRQga03(|F7ovjqAYwwU0gacrE=^lZVxkLq8zLs^M5xO^#QG)soxQlH=8aEoymP zL*7>lR;VR+tRXL}CEu(ePctJotpWR2lLOX}1J`;(33i_Sv08Kl)wEMX8`b2Qb>x?| zGIH*Ea@%V1%Q|w)8gk8A^+E1gyFMzKV_z*;iN4%5uPe! zTChtU_tj(7}gtHA@ccB*l-Ws(3)nNY`_W!HFgf-xzYWDt# zxpyUwzBxz~k%vAnjvYry}yZU&C4CN_0oIP-;ZRKWo};Jo^)Vk{5TuGWL*Q!&Fo-Gd+Q z8pcnIT(!(iwPKC`y7vKPHF!($et=c64&j%)y0411;CJFHS$hw_{BT!rJ#h(D9E($; zKM%(tELh3BYCI|{z+Y8h5aWwj11j&+=6x_t6_`XER|S0=FQN1Jc@O{Y)Av2b45uQ_ zB6uInTn^^HuWPI`-47q(H(d(tl(Vkx=^oCh&OLBW8Fml;z>cY}*Jacd7a>iFOnq6& zb0zJ`J+7gRaopqClh#Cjaeq+S9NB&5%rqplhxWs7_Y=1g9g7R0ei`e$6hF*VkGPe| zc$V(-8zA?B3CX2kQ}HI^I>doUr&DTeavyUCuM#Q+`9K4ex4K9Mj5(D?$h12=dn%>> z3C9Gz6ET%O=Dy<2dFfE3x4EZ!%sa7+*I1rQF8cpFX#a1s_kSxREBiM3{~PT8OKb3RU;5#S_{xuh8K=MJO*s4=@c*~L|9{J#|6if~|DPKVz5J)}0Dp}3|EsCT zUj1_X&MRL;3-H@$|9>rR`-RV7uP5z&;iK&NKc9L2vrkc82yMA|8m<3PIDmub0P^7h zc5Hv5Bth)5<%QZ(% zU#RALhc)|;pRRu5i6?44v@W$a`_dQdKJ%^0`q#g4ukOgF{<3auU{5_cN9~Ez=j*P% z@P(t02)0gYB^Y+*A9|LtqPhY7gm#gEy`|2~ZcGPd*xwn4Do`VfL_8)HG z`vCQn^_#YAZvgApr)}BZNPg7F?-?~7C^%c6f25$H;L_8LshhK!6H+r8>C24Yhi_!R zv|+{SDVxaQn#j!>gK-H>V1{~fyn1kZBe`ueIWT3g8Ea%8n|i(ma>_<>wq`I}BROX? z*rAc!w2|DI*GY}!^xPk6)OB*qMsmF-tdSg6Wdk{23wTX!G=Zs_$T6FAKlK~PgYhGY z`$COim`3v92Cm7kMz{f9dmH2{)};Epw!Rqy_xhX2bDO}&jpWEJ_|b&XkFP=PVNL7> z%jYIAQ6o7sefXNlg;)EbJ)f>M=sJ0SJ$qUWKNsFBfi#it%+;R+{Zb$-LLU#++n}GYKQnZ zb)B&~EoR`T2KHIiego~u|3>Ca_cf7UD`t)O-pFyIV$65_8__2;a9odZ%v@p|x2SLC zpq{oH@TCzP)yVe|77X|7S4;@pt z9$u%ObyUk7*7;T~6kns)4v(kK<@49`Kkaqw)7LTIwbZRA=HhK?ScA1-m^$XSh8V(4 z1#75NO{x3fG@P}J=>h9m{KW&-n5>F5X1on;JdlA2s{@HC)szn$9&r`%a2ehQ;Ft%j zZD~#5Fg#Tlx(lcDCJ!)`(vEPCPr4ZCQgmD;Q+@6gM^U9dxn}2xk+s8XbT4Q-JOS|= z_bDq__i!xInz$?Rt4i7s+Bc4aQujUJIhG~_UM5y`D|kLlFT#6HB{36s!FU7GqnK_6 zT!tLcS{I&5S-7vs*eN&U?}2 zc*_-E`GHx<8n4uRU=`um5<_?)-U}-EZAfuCinnQoNn?`UN9|RzPD~G^ zV@&Z^yTpcAXbzcc;*Ew#q^=p>4qv-+O&2R2aSoo zt$q0+gG;L9vq9^zG795;ppx&Sm17mW_n>u(s^T+C9QlK!)bvXD?#lS&lnVaeuWHkl z?5gx_xs{u9c2%GOs6_i;nVgnh0p71n-@3h$|M)BCv#^|XTb`A-ry?hR-#xH?Y1Yo& z_x2tsDCIW-%eLg~D&e;T?ozi9{C|gjZu!%Wz8mA)ekcn}@2&Xk%RfuVed?#q zQ0@=b$0YuM^1ER4zYk?y`Wt@d?;Ea!yo^l;D6$)HgeN8^1?Rog53)~XazI1a8D~b;Wlt+8~I%;xoa~yYb&{H3wt_k zly~^xsDA*hW6s3hr;ibgmVQ2|kT&p`RA&wqte=n3z7iEi(4a z+9_qN@C2>2-yz@dvz0u!4P8SUezk3&J;u|j@yPH&eKUTY3z^U4>Fv4?YvJBja_BaA zkalur-P?|Kf-!g*kEfM!F&6n6FrUFft@zcd>l!mSrfZRGdNiHAP?@}XIA)VT1ygIKrF zKXrUupn8!K=1(za6tT-2w-o*E%nL1fC<77|`a1*cQIiAx;Et$q&!uW9{H4 zywXa16@T^F%-lDt9&u^X7#T0e-ez!K6Z0q@rv(n632WxqxF$6E&EWqA@PCuqr(M-; zA~sFBkMTDXy9VM;>1l9!;kA75OO#;4I_`&G2-dSM>ZxzM6aK)B>0Hn_2=JG*A@!`4 zI`jYyl=V?jQT6mCF2i0EmwM);9(+}gA9XVNglC{Fv?=&e!&<3dIj3v2_*l>Vb(GSu z)DW{8wZmK*cLDycWlhzxMx?c=W&PKH>CtAmq`#0)wfJInnO`&@zB>9aZ41vq9b>5B zy{3jzoMR2+sl{|}O(-#0uWRHd^C6yv^PUI9U-}LCQcM5b4_D#|&{hb8hY7@+PDcGQ z{#w>v&B_?`n)@8+T+sS>19j^*#MDSDA`Sqn;WsX8(4m;-hCa<#)_^!5)3VU7>56m${Wln0SUn9Oq<6~T=9nx!JYke_SVT}`YdCpa@4pUpqi<>b^8{=Wz>xiRI zx+rONY!1P{=zN@-ziP0vX_VBb?#E|ojAYUyDXwU79M#e_Y2Nf2KkAt08lG+9;6cyh zuGPG=wyNbfzEw--r123O<}XmgdaOo6RSO4T@sj@*dwi$8_t%en(7Lkw{K0C~^^v`DtFI;D!vO>$uV3)PI=Dm{rCBvoOpmzw0F`P6o)bj?mB`y z?|}VpqT9d8UjN&00B`YMem}u}n0EZt@3W8pJ@EhEdy)=*)8WtkOYG}$+b{j8FZIYD zVqXbuJO3r&e~y10d&8Zu=M!0%f9<3Bum1iEaof&53I0Ft3}l}Sq#r$!yzj;Rf%Jl1 zVE*iAch)w_j8OK)6nDb@L~wtQ((elG@q+uENxNQ*4Qx6Y!T*u(|34DJ1iySt5SfF> z97NW@2V)J8XS8DA>Z2{Eue{jIzJCkYzvbzVyxMa3<6?QbXNXy3X2WIO*S*a7};BNuN!clG6VaKG89 zOV781|J%@fw&i;Qpdm0_&HXYYq8@_R^~+2?e>mvW`B5&>hi-EO$UF6bTobO=&sgpgm4)$w1!QGwk7G30hUF6YS z3;C#eR%)Ca zcasCtu2=QD)~wk;+p*R!n1Qj|*t$7pyl&#-uy%<>2Yq*gnZ&0scg&5)PpsoQ6%WM- zyw`#6U5W{Kpo1K}3;fjy7tjSZ=px7OpzJhrxVzLg{&26m9n9WtB|fp2PhIAgc4C~m z$Hy3*9n_bf^yB85t5fj+&vX!r4tO5bY3F+zYKL*S7_%ErBMy$n;-T?$uolEG*}M{i zb})hr-oo1s{?TjyoR_HKN=IK zbUbKuLeiT^OVYx8OE05wa6Vv~6rKz5DdJ0{D+%)@XnCk>`X1JS=~!6n4LnOa4=3Ym z0RN-8iHAR-Uwl!iv8tpknQ2K_uQmqOB6R|$OHqB+QWHEt_zg|B|i8UA_|Q)!xXZxcEMy>4I(`03HuO;4rqs6O{d-3 zBl+5_KGZMI?y6o&?V8Vu2gl;bG$#$zX<&{_cf)h1I?Z7HMtq?^G%{gbk9-x^rLmZ1 z%VJOaVEzV7C7Piinkea_&|7JY_`$l=8fwOWtx@CHR^!8aW+Rwi8n0$)khEUaCtO>T z_%_8-^9g=$gsW);|C{bhbEnv7eG(5nN49=>o)r(BYeJJ?^Q-%K4>7$Oymcdc|4q4j z_BU-z-;Bn{-NbX*z}|lo*uM!aKvUMPy$zY!I~w_{YeFB;l$yD%abxTmuS{Qm>6|9691&i`G)&S$?x`4=1azQX?l9{Ce=0Dk}%@a53f zGhfM<+{2#&pku?xm1Cccl zSp&bIHGuBF6YId*FFgCPj+5t~Y(IPD*-m(Xc6fje@O}sS|4uM}#~IF3cD?ZNH|#w4 zzZ3l51^(|s``^oV0J_2dUEqJi;|GqO=?4FIf&IJT0J<-~@LJEF!>78@|971@|4bM7 zzX$x^jV8Wl*Z!kD?EiPO_us?5e^2)AeLdtjJ?#DWVZG=8dcglZ;X&mkt6q$fA@j; zd&xJ=z`=dg?Iq9aBR}k?>;)tBfaAI;g^~Nn>3YEiz2vFA;Qs;Y^^yP6p0AfYw}17R z^F6vo4ov^v9&*GU^1yzuUO#0Y7_$dF+($b-V2oaHo{oFTrB(J*_N(N){MWfY)lvIc z54o@PiO#nN?9Vs?oVT&`lh5{$^Y)P6TYFBY+IDlluUF$Duk9xez2wr2mH4=Q{pkPu ziAgV*zXu%DE2Cbo`~{Qi-hReG{a~-+=5YJzH`vSg%r|oPUa;2yb%>!?cw6J{CAaUR zpFS{i4{d8)T=QtW8k^257X9Shy_D9kd?TOl1#8NG>w}p0u}+wefX1Ns_u*q7IEy&P zF&2L>_`ipH`*c5;p%={1hfm#V7hj0KS+7d^rETWK?eE8T`G$FW{?!M6zxa>vYgaG+ z(VweN_maQUzgzcr6C2fG4ujoT591Z5p}FqE*FG>U?YgxVY&{Tb_0`Q<(Y*CA4*HDl zA->%2?_nLmo48qT@Hue_;(kR2;+XXSPvsLg)XlND zC~*w%Q*c#qKa?HlW2Bofj)}NRlM?0^!aP|A8f$SB;&9-1eBz;ur(jH-E_e%%C(usY z9XuDtPl%`BHCzb%gi16W)HMwauT8(f8bVWnIh}A9rh$-#gTAFN@wO8`m3B?_@T;A< zYA4>RBTY#g$DE^W^f1h;)n||2G%u{#RyeFyzORCoCD^9(GITmyQjD48o?tK!JBC+^5%FCW!6>r;9l zE7g|zZE%nIruo#`Pz-JURbR$=t_kP= zAN-kVyo@_j-#j~tt@)-{f&W|4{xgrn+Sao8v7qKpb767Px`eA~k#0&pa-YU6eHQ%( zqzyv@rTzn^b>bKf&)o|4Z{xkA75<=&&#TroYu2=}_uqz=t`!cT9W6k6YGzjR)*bn1 z-43=>wxj=V1^2h5W^QRqO5M}~_HSX2AI|=8%l2J+n=`X>8)fYOqv1Q#!2kEub6msz ze+?W!wLcjDK)ZwH{6N&Z)0zA{Nr`&l77g( z|M%i^uKpe01Nduj|Nn}1XZ~4~Bkhm88xQA-v4IGP3-w6`_oP&Bh8^}2AcKUZZ zu;|F1(+6YEDKgKId5)}s$Qp>OfnWX_IC=4EH`cRS9zAub=WxM=-s5Mk^jv)UrS4Og zp6TJc0o{D}zx(P-ulA5%^qsl#d@t4=9lfsqkw+YTo6r7k|4V=JZr|&FalilA=l;4s zCh<@o`AzS>qXm6Wzw+tcV0>afHgNj#^L@HM|6oC1!TGEG2acT`c;bn5{p_jt?c94< z*1tJ>M_)?D=KgIvb`R`3cDkS6KpMn`!2bRG?_dAMjI4pZ$IlGxK3p)6nX`L<-$x$c zcbNw0uTN!ctaEVvhNz(pQPG1@(J_PMUIXM|gXCm`l>IvP1>^hqZSx^=`$6)$0rq_c z$ae?HZwJVq!KJVT=9F5e4Tj=!R5pay6798 zXDG%A=U{WdeJ;-++yo_YWIn*zwB@A_CtQkKKI@n`x(3lesAQg9{cD&j^^NI#KQ;u0 zVZ8o+^7Vecv&)#7YnO2#YKyuyM#f=n4dB1|j*sw4o<7Xx8@w`rDbC_+GzQJ7xSc-m zCR|jo4-*F=E~y7yM?VIi;}_p!ycKck2V3+o-_{Q6#yBe0Qa|$!cV%l+>(jUo=GFKi z+T*pSH`*!QAkYW?7r!8`3r@>xyaauS!+;NQ^zprA<9=AXJ+y5c1$BE_@4BZ`{nA%A z&x7$69QW|Q?_HE#{7;~Goo+Z6v?%_tE{2jdAu~?H^fG8QSVNt}B&_9#mDVB_jl~A( zYS87lyNR7R4cZNMfxX37z_G+iL(|E6L{r1}JYt>H55lXt#LIOvJ~TV=os`mN=r#VU zZUD^>ZP6#1oi2XYup8|JdY=Hgkl1dX*DkP}IE^ljY2S}_1#Qqui9dR+>)hjqmqGJ` z)`)n((|C-@iBLPeYZ(IGMD(nx?(@Po4F$X0qM3B|4yD+X|ik%HDXT^Nk__${AQ5-Zs{HCkcl&vk@!+J*RW#g6>%k)Gm=Z#a7U%a+;xDww^aC|4< z9qQzLp^Ntg)Bo_E#JxN(%!~A8GOZ!a8SjBz@X(#Sw=&PpF5a^`xzG42Cft9MjOxt2hd5`4ks?_;5P%?`OZN5*4(@fJ~P|0ckgY- z+V&nTXogRyr;WyKJM$aXMZ0RFJn=PwEhnm-p`6N4_WApX`A?Vm(vKHY7A5Yuc*h-= z{|@$+FXh-zeHn*;6uAwkVIrW$RjN@N-#qa)8j{hK-b?VF5@5bj{ z`pty=r#>6VJn>2Fqx`qvb9~?bD%yhczD>tZVMnliNqes51-G5f_Gc7qPCoEbx;O23 zN?_ahMEHdu$Nt2o=IFboec932xoOx`y{?msFc2OlNh8|HWr3@}D+ISSSrCQlsZ zJESAzdL!hdBVglU^34(Q?GbYDQQ>}JRBQwcJ4`M(%0A!-IpZ*S?g)A72pDRFyk6LU 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

uv@a)6VKe3N0G^MQFHgC6*FUpoz--Qj0dZIm1 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%0D`TpSP}$edG5Jqx*n;({FZd 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 *zxb( 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 diff --git a/vmf/previewV1_stable.jpg b/vmf/previewV1_stable.jpg deleted file mode 100644 index 6104d0b68bed32acbb60fa269f1fbb7748ce75c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135902 zcmeFa2V7H2w>P{)sL})!rALaW^xlN1NIQrqNN-{YJqZwsz=2q?03s?~i3oyp=}keD zqA0yLX$pj{Gzld6cCZ}J^E~%H_r2f!zW4q8UPkxqHEY()tXWfb3G2TpeUvc`sLn+< zX8|Rq(S(8(K(Pqzm=7v)&K~CM=?Zxo8AM`9XH$nTJTIQI}M&-pkCB}yS6R?fcWm8 z=i^S83rN@*SBx(P>x%J$X`3p;4q3RNoiG8|!+^Z3oT|F4oVtQ6OkP1<7Nq6D>Hyli z0Kh;!%gW2kJ^s-@3IzZj)BJ1`0z8KPMNKnxW_rB3Ue$^35 z^Q&&Pknhz2`rw(`zwI-nk220;X`rp`aK^+~*Wi>6)$#y~{wX&!hGsVapwPZPCVD4e zmR8mEGR^!e+00OwVv%(fKDm>GcefCjQ`@9 z1L5W43#xerlvi*FXmfINWF_H(xgl8s>)n zk4E^vS?o6*sO0x~4H8^wWMGejG_bpM4*;G20MK$V15n#!FbDE$+)go>1JspgAvE=U z-h(ulza9TAqKN{NG*~wm7?rJUat?;@^YN$B;F_RDbigiv9oPf#fIF=Sa0rkBK&7CnP;IC&)Eepx z^?`;$Z$o3DPoR0wN@ydr6FLf=gKp5$({j@boF%Ibf4+g=;`UX>BZ?)==JHX z=-ugq=_BYL(dW~@qHm|4pkHNRVBlepV9;bRW^iQiWe8(PV8~&pVd!A^%7<4ni0)-g)x>fi?N!qgK>&+lW8}T7?V1aF_RNhAX5}m8dD`xE7NDD&0QS3#CK`# zI=9Px*X3RDyYhC`?;6^*%*@Oz%&f+Imf4N@5_3HBbLO|qW6T>YoGeFJv{`If{8;X= zWU#zq>1SDHWo13cdW_YY)tB`SYbNU(){m^;*tpoF*$mj6*l=t~Y^7`+Yzyp6>|*T4 z+3neb*kjp?*jw4>b~EihxLbR-CD6U|e`Gt5iNdxZBaZvbyHZ$0lE-yS{dSie#raKlS5sH=?|+O_Bj0LaN7}@BT7eH zk0c#wm7tMOmT;4JB+)KOC#fchmV6@FE5#ypT*_Z6TWU<2Tl$pr73nhR1sPEpYnf=7 zMj5iKlB}m}n(Uw)r`#WMSL7iFT~?#FYE zFPxA);d7$o#JaY+c8KJ zTEEvozyM*8X|VK%${!(r)ETlEni?h=j-NVm%I8$25slFwM)!?|PK%vJpDr^7j17$M z8xNlmKjVF->MZ@)GiQ^|PMXM>{Ato?%4OvMbAx7w%>2w=o3oqSnrE7? zTb#7GXEACiV;N%k-ip`C&8pm*!P?w9-FnqV$0o++v#pYCm~D@pxZOp&clNyYp7t*t z*c}`liq6xWw>Y15e#_C=@rmQ=1%nF@FDxOn5pjrFr(;eJoCruwztdmTcX<+cYSxf`?`m*M}`N*)50?!#fUnOsz7t1JQJIu?Sp!M*?pJ zP6g=(Jq@M}Mg+h9^T3~%{~QZB9+DCY3B3^d8YhCghWmU;@6xl&yDocNZoVRW<=&N* zs}@%)uL)ecbZz3g-u3J-wlJTt-WwV>@Hc61y4`HKrEn|Z7WuZ*?WSUGR-`#@u}+5%yi!L@N`lJI%D*i$+NmlmCVd6{;a5Mnry#pLXK@tTkgr+ z@;s@$lzi^|@aMpDzvnXr=L>oY4GUivsTSoGixodC;VQXZ3MmaNT`F@e8!fjgZ?E{H z;&r7)Wl5EERmO`0FOpvFeHm4~tNL0sr6#Cm^_ADFxmuUniPsLV2j5t}>8d+h*HUj- z|F%K5;Z5W5#+tX9Z(qDqe^=3@+En&l`F-gJr4J>|O3fuL$}Od>Dy`*hYHgM6N877A z;2pJ{Cp#Ou47%QTpYCq&G3)8;we214bLyM!_w4^N;6JcAcxi}k==SjL;na_qyn>GrY*or3|CRLIR$wL$rg+iGJShk;(9JGx98p;B|ww(f;E`fIj5XvBM4PaqpWMpDw zVPaz8VBW>dv6r2Ng?;aSF0Q>?T>Cj#w!@Fp_ryQO5LRYpRyNk%Y;3#tu(7f2p+;XQYF&D1ez9P}&2Wa&*VfI&uknUzVre6P;3U zLPT`0N$mv%MV~9}+6-d%Oqa&KAh1f@PYSOdJbC||lg{f@U*&xrX5+}OMc3YR`b{kB zia$uZUK~@`^=aj4NqzU{RdZ+mu-Np{hMvha6+H`=fE#fcWsSX4>l^?L4X7>cwoVN6 zbV}PQ9FXIr1vT&%=Ax6o9KDCCL9I#ql7i@kF`p~*A=&1@Y98`MU0VEj*%vwfONIYf1M$C9pbP*k(Cs!k05~v4XC!qGa&#keq8GTQG^cSbn-e(lhLQEu zgX!JPQG)e??-rSqQqrO`H8(R^o%QbN9XsAR8WvtZSKq=_RvCUt;1e!L+v8EmYkgY6 zm+O2sC9k5Mgsw;h>{7#?;(SO~(m@nAno%u}tC3q7+R8vocG=mMrppemBMSotp;Q`bUb@obYw;$@7arvDN_P5w-}+qTHR_F zhok^%kyW^-76hqP4y;z@ST}O@!lc$Z%fmnaG#Na6F&HI@HYzQ={g4>iGG$Xn9_owx z_{B;vmnrJ~k(KvXaZ54lfolsA`56I8*HV0Ch`Hf2ez!eZSa8OBt03zYF@+T1Yr}=m0B1<5^hl4*oUvVTuSNW|O$)2YRSDjPabkrJU=6htcwy;~T^QmYRx5`=_l{G`Ew8>WQ^|mqoYiNi9}ZF}sfg9K+}-+ktGqJ6(zlYK08XN#d*{kBWn> z$Q;N|YEcYsgJbF;6U(L+HxA5k)g9PB?q|JsqOh^N#{9Vfv{Iqp>bz@iRj?w2_c7A& z8peXsHtun${fIF($>t&L-GjR#&!cE(pB(J4CX6y|Rvi-c(?V@|m$N0~`|2Ae71e5! zPK9vVo_{s`#%ANKg@)V5iO+(E`s$+)1h4jHjbrkQMkC!6K=-rJeBj-6*7^1&{_|1y zO%KQ$FnEu(S2X(+T$6LEQ+2$j^{mDEjbx~6g43v}XZV}TYu;aVHHP(HydRiYVZ3?2 zBsr-jdn3EaUx(>(l>G6os0 zt6H`XkIF`|!EJGPtpXEH65Bq*bmXV=D=)@Qo1Mx~>TVA~BkvT%k{?W{$MvFEQE_HQ zQNvrU83f{cW4K11(^U0fP_> zar4vaRp>%3XpAmCvuuiL^Y4+b%K6y3bhCNpbYbJYhB(`~B>P61wkc<&2U92#AN*ln z<(hKMGzBO7|1r;FF?5HQeihk7TWV zvRJcu_}&WH9hA41ls%uE8)%_2x2l{tpSsedyh?ty=Hkp=80+U?(cP34M~?hfY-jecl3`wsHF`a&{a3CyOVraahQN8M6Q(q4;f+V)LY6Y{( z!Sm>RX194yVUk;@#;hZ{(G)TF&JXRDIq&~IzwkpaF1djulV zm>`s^|aqI1VS+hJRN`uPFtxjy6ifBjmEmz*C{O}^m zqO;i}v{O5)i2F8NZ+dZseEr#!#xvz6S*xfpiEP28E$0gZGsBSqsnPzEDhEm(%(Px= zB?aLIeB4&@S8>N@`kvRgTOZm#mb+rzE0-gEeyxh%x3L1BGEDS5D2F%Ppa4DaG|{a_ zE4O$4n$iU+c_CL`_p&}IweX)*ib|icxzqZ`K#0)N2*Ezl+vm+iJ?+8#uSuc@T0Z5m z9k!I`KPql)vFFL`*qrlTvy!o9Ru(q5yT>@nRmrHDmV+-B_e7m6^5X2d>wlL%Vod;C zeGS1BV7wJGuDt_43_UmS=T{(~Q<%PY_@#e;u@GWkL; zcSGELSuSey#^F0`t4#ELaaERA7qFJiEktOO0Kr$G}(h5-&~8rk!}bZa_jHo?TQTYY-ed zO8dBt6u?e*u+N#{kj{iR*V1W&Hdc1{oY~Wg>V@41 z58g%wmo>~6e9CySEEfM6MFCp%i~AZn32`)p_E&nCfYk^5z373Eoaa}1*_(?)_ThTr zy&K&eu`le3m%{`2Lm1*jIbxr(^=-s&;lE*)74VyiswJh_o-ZlDi7@rxO%A?WX|d+ADfOCk>4!(-3th zi?woP)@i{@qd_9i%ZNZV@59Qn#1-U&|@u1kd;;WvzWsm;J#k?{J zaAHUEK<}govaxVB3f`jt0k1g}Nc|Mxkuxs-g>g2N_Pi7h!`Xlqx7;2h^L;DT7ylZ%PkgelDV!+aH}@Pt4VAO zRUmoJjE~`^K5Ryhllq)ja9thMo4E{KMgD7*E>Z2l*)FSaof2K5N5J%~)}u5uD=)*v zlJ?D!sgyFTH6N$8Jj2j@R-hEys{QGsfv$=tgX?7@rc5+%55g8bq84CnmWy7wm)}&` zPvVzt?Q>Nt@>KB1*2X|A!-cm4-{5+LBd6azFG*P#>RE!}fIAuq53++QqxnJ?ceVJk zIS5MH+S&?^-4Nurx;S?4Ofo!RnCu?f_0l2B(a#1@5N%w408>$A6U{Xow8}EnZEQ%J z{dz9Zm1UsK={`L>JSi*wkD;skC>^8w$Hz2>)Xc36luDZU-akeOO2hSt6reoE7aikr z28D5>iB*+Z>Jb{m3U%mA)!}yo?Nqdq~sF6EfW{rD=+=AciNW2A1OfMM*JJ4rL8A*xZF3y zYMGfYOJCB0hdlg`123P*AoMwL@=fcwBnpt#k=eq|s@1451OS&=`$+aS3+-9bN;jop zx{vWfGh`nrv8d8gp6=SJCorL>tzS(WF5eLS_POquyvS;7Xdv$4SQL9JVS)l!&01P` z@;|#6Y_D9=;bZ;uSCML_)+9C4DvG|*O zN;$Y}JK^ramsf!9c`3P%hVTmO1`i_@1|~)Gsj?QSp+%z7vth&VK^my7fFShU=}NE{ z_ZPQ7qwl%cfPYVXcJnSRTLA|J*e9xhn^E*F6?|{pUeMC^O*Kg(V9mChJ1z*FODs2Y z4XD$w!xiUhJ$IA5TJGLCIvP+!zI(jna*4tTAw)R;pLVY6Up6XXtiyi!8#(RoULU9r zU}^~<9#tEwg>R5+mL|h`x#js_1!dl(I0`TlE&aT(SM%fKJpsG(GvmA?!BLalHZ_Fw z$|^gLYy>jxp6y~P+hE4m>Khfg+9H8|1-UoyFeulnN(#UR-Ydj$3B5SL#LF3fw5$v# ziG1&~+_<10if35BJv`ZJJ)2CjUoUKU+XgKgXlPwX-*06EBZ@XAA;_6*4KwEr#{ax? zi|}M9Ji%NOxvnP&K$!<9;tq%Y;707Ea`{8LB@N6{O}OefYHL9m@t%i=c?< zoBQjy5UF0}cOJE@`6pV~7Dg$67+oFjAif7yIhm z-GlxwjME2(r3&i8rV&O0D>ZTy;J5-IuSwuub4o**@~bvTAhc&SM5uYBXr;>RgUi)U zGJ7`p2J`(jjPA$V5wrOK(NHQKK ziG@yfI}qRWlS1zHBt4zs}Px)vZ4C8 z)22k7_WRlo-}fusofb=JL3q;CZg%Ge$uz!yY!fBTc|4kpmPr!J_4O)`_sJmEvwU(s zlL}F^Pl3N9l`x-v}%h=M2*VcWacYW7hS)tr! zR5q>G5K7G+AL&QiL@Vmh2ubO^7^DEY^-xRTDJdSzzmnwc^6=Qv)e*`V-e}3&| zk8X2_R)m}ZyRcZA_ZVZZ;ltii&1&d1<;yc{oeH~9T?y(!qlu?W;~R=`l&%`1T$k>= zI}!yExV~q~^ilpLMMJZ2-1NL{{@J%78^TQqGnNeLoucYEmB{4P0A{VtFF_$}qJ=rO z&h%G?Pd7ZrYz;@|-dQ6l^7`xamlnk6+?8MkbyH{XKA+YK6e z__=&MsWDQt@v>WG`Q^z!Zv^F(3DznXqjS*1eC(M;U4rwA`Q0ugZ`1UeCmZ+dRt$Yb zmcu6Iu`vZXs!x{%e8~=y(Yr%hAYU7eGr$FWOXv@H>BEr7%EG}+x0TXMlMA?SK|_ma zt!N^yy@o8MB^ERCqPQAHjJ#FIJ|&m7Ikfm8bTuXB`kgKJxn>gg>w#Hs>?IQH<9gyu zvC64TuN4d!;GB~*<@|s*CC%G);`i5nH;GLR-WtERrf>k&2?yEw4v zhV1Qk434+9sb~NnZ1fgMdvRa<=B#YHzJ4Bk;7lv>wE_NAX83;Se$9mUH&*ocKg)DP z;B-FB^qp4Lrf;}34?WMguBzeQpjd^qd50~1^(DU3XWAz#_{(5*lN1L*sY~_6?pHn4 z$06M>?_ieE>);ck)!L}mOo;X20}-xbo#L((;40>u9eMFW!3`OfW6`tb{mnO#5k4oa zz3%75V2FSB|U)P>hyf6+4mCv|pZ8V5R%_C*<;qLXyG}D3!>-$JYhK4t5Mse^J z`%O)q_ua9R+*)O7v9j-NJB~A~_pNOve)9i3H1M7ek=S@V%c|Q3QIlL?!&#yFCHcF_0l}V~ye%vw2Q+DQj>so9{eAl26kL3qU8ZN0J zGw)+hTu|uK-VpXF+=*6~PS98+;mLv`$-IHZBK}WZf_=GHoxid#7e>%BL_k;KIU0LT3b}-5y&2>~Tg*DDSHq-rcL}rCqzC&p2pl(hE zila~Sa*uTbd9BsF<}3vuoSmMrGI!~`A8do=Q@ANsohr@1*Fh4=>7VIDd|b82aU2Qv zn8psezA5;&5G+1qKoVG>0FlVh8>`b~YhMI$)L?Z#NpYj5o&t152J*g9y-X+|MY;!Y z?<+PqFCCqOf6{Lr6kzuLnR?>DrlrtqY3Y@9<;f_5B9mZbl^$UZQ#b&}uWBA4srOmm zFrN+|@NeA`A{ho$k+0+pS$s0`t5vA+Byb*K2>6Qk2#qVSeC)|x!@)1lNA4}o$VB=@ zFc((dZ+wcq>h11a{dC~vgM!+HP~zZ>)_TA3bj@oDpk8sRN3GYgfwfMtxRzh&<5(^Q zu!eXEEg#bz@V#Hf}wn9qs}&iWjt01U_nn>-lmowlvzx)wS_`ME-;f~)TW zEmuX<^WahnV7lC;>U~09d_Ppc?agLS^L@oTa!gz6p9y0qr~9$5JyZQgRgm4PTr2hB zU3oPYUAYVJKU%fP^n?3MSA+cz9z36t^UTzKvg<3P;#Ean{Ko(6IrlX zQu)0jg}L}N0h@F$%jyuFs82NoJok>hvl{UFk47_pxM zOi66Dw&s)NOFn<&iB(RAqQ>XE=wRh2y2oWMtRbO^L4}C}0{UY8G8(S1-Ilh7k4i^o z!)(gdd;TN~@d>}ZE7Hwj7aBy)Umpy87!x-nH-0OQefL8kpU#R^m>;qyB&-*lYs)uPNSoHu=vJy7Rqdbt)>dCqFMdRR{`g1;Og zC;<5Ue6^L|a_W#iQ-dfGuGijO#ilw@amp+74qnD1klAY%nHOrH5*LjOJ|#CN&FWpc ze=sYUAG{grky2U7OSzvAY0me^pqTfT-?2-A0oKGhOtwpQu~u0T4txgm$LUuJmaPW! zjc^Cug++^M-(Xl@51kn#2x!O^&!KIuD|U@|VP07J4{7setI}mP04#4aUQ`WPKm;9reb4v&S#gPW1PM7`R6n*w@cQWmS4e9ZaVgCUW&uvWeNI3IQP zb3}yx&8|{4tBE_ue0Xmzjn{l$)>Jr5SH9M}x5({4+i?c}8v#|=>hKtJQ8>Z6(K19G zB`b(*)UIsQ>nI@4PY-kDjXUG}$1_UGODeZKJiWYwlNL%ddS31C*<1(Tckd+{n=UhT zYv->F42EbV`g*sgsiM|j4fSd`FK*Q$A@>FCdF}{MfO_}=|A{0)TOV1KEpTKWS6nPt z8M({XS^u?{!*7#TDFcPNJv&l{`G#uMY0d4+ZK^AHo#J=N>BXCy!OrO>0|H1~OTQ@^ zT%nyo!Lt+~&zyU*`)o}hLMo8W^X}-xqC7m;oB}NGL1hS+4S+*<%DPXQ#>I&d)f1f5 zRI>YGiHK3vboaxTijZE1Vr6y946bKIlB!dPF?yuaQN?1`=j*1<6aX{5*l)Zg^G(UL z`~CaY12Gz68>hp)>o%M3c=&JPl1PX1QTPN*dhYnA{#(UoCa~FDrh083;Rf2@JZxut zc;9oE>Aq_KuL$N}6=YxPIdc&lP?r=ddr_OPY&WuFa(<=_Tx+q@>ELHPL`{TE?QJ8! z-t-J^GIvb==JmFXry?W^r~>V{iFjn=PvBcFbF%Z{G1m{B=g)=O0B-x|md ze`L?CT__%$rfPva{<`7PWM#OZki%2EoPei9c5VF z?+re6?*pcw3a^Xq%-Z2R91d~ti{SDWNE?qNo-xZ8p`MRmujf_1vhI09I#MvJRORwA zZ`HvigP4(m^uwtZRX!_O?LM7Uu)1>cYC-N+vt4DWNdsx$NI)vlrVw6h+8$!HDWT4d zSYxm=cwR9))_v7@Bad4eAx)sY!ZrbmN*hj_>s$PQS>5|5m;8Ix%SRfItO{%;d~K_( z(;ttYmcX>TX|yX@dr)2#Z_lum_a6R7!|hRE z4FYIHf=^&qi@=qRo33e3QA&&yh33Drg|v#FeX1#>t;$;a;pKcpio?^K-Al{t^K);B zd~>AM&!nS+nKI9b=kJB2q~6~gRHgt2wAqD;(yS=Q=C^C}-h-7Pxl+Etnj?J{3cM0` zJ9E9X%e%<4ja8Mos!N{=UNn;S>Cx6bk0)5Rx(}Dn5^Id4XZH5=j@#;7AH|^Cdcuf< z%GK4H_~!1Fo|4$Xq%OB+!h_x}8zWft4a=U}p2bA_@HuQkBw9PYLF)$CgH&)8F*`hC zyPrHO7g}rB9C)CGzL93pcz0QFAsw!{x}o2tKYN7C*+c;py6jx^rUf+89DCG*-)ZP1 z=e7>n8Vn8d(w+9ejawF}MHDnHA7e@F zCFlT?eIFjKtM(1)#;KPs43{M57qqT;Z?PHe`WUwAxa)-U3`DZO8NJ`ggs1RzKAFVQaUL5~v>ac(XZGd=%gvA{xGqGVIZcxA|VQbZl9Y4j$S-5sC2AYr zzWvZrxfN8TkQeG~hQtonU4F^zJ@Ss5BTU3(EUkzW{=9DUem;{ z0#B>nSY=ezyjeas^5~3nJC^x~RyNPe=K`DaPV@fShe!e*hIxMW*?N6J`NlH>$Ikny z3*5ICOR#v+MNFRYDKLsCDeVt`iGNbF5)cGmN?uJ}jmq(}Pe848H1cy>gcpnyV~ujl zgcHBk7+B2nNv@QY9l)ohfglZXWbmxxuLz;8@O7!m6xDr4)=KbYQ@JR`$=`qR+8jfDXGm6wLSeY3B)6ZN=hq7 zx=0!!;LW(fOpu{Qx?PWaB|X}P7idI&|H4i3ScjVhY&wrriO(M{q% zaquM9>`@*05Bk7m!paLx|Fh+Bnw2+iab$_)WgA7Ezc|j{x6J$$*Q1qv&1+%C?*#&W zD4b2^?EB}HS;sa*wFZdE76co6XK5qlpl{?y56Jg>p1Q7LdnE{uF66j;vPinzWn->1 zp&?oM!N#^#udSg-zUSqwtYU2q5HnV!Nts!Fl`$I zzhPMJ&}0?5&gQG@pX9`%5d!<7ojt~+^0tq9q?MYoQvV%7eEfuh>;yTl7L73t4#Nz9 zGm2Dxal|dX(w!VI&sc6grIi>I{q|jmfMJHqh`Cb5hGX$(->+-%&WZ%ph0VP!E04;g zXFYTAYpGkpZVfCY>X-ZP9j%Qxq}?f!S)C`|otJtm5|7P&n_fBh*c`M6uVz$O9A0d| zbTuy3;`BgKfwgkj?fTUZtg7I%#X#$bWyHG=`Lh^(f|V7|sj>q(+1V>&j~);+D>ffF z^nbOAnBYbWiiLWL#R`5nWO3C=?I651nH8Zn2gZ3jA?`r16X_&6qmG}xc6X##QEUxKX zy%`eeRMq9bXja{ZyO`(qz=qH_b)`Yp@K%RQ82Gjfez(CfJggZ?xJ42I-=jao-#jfY zRcBVmBlwxp_VsHMY18oKGGhr)+yRvsbOAaSc+H zm1`RF$Vb|6sCefqO+|VQ2~-(MK7r=USgO zcLgVH){1HBHxn!@ZfzP$WK4~8X73rdLKG$To@;JtY;1WN&*$Ubh$SV*_1mw7-k$2W zR-5VLi8sHndTPsa)<*&7`sw4Kf<*AVhl8O6tIHq3?hQzGGCCi(CFK`-%ljcN|IpM5uUlQ~=OEG>n~s(w_X)b++gwaTB|Ox&k5_?53{rKcZ9fS;-` z8O|HBKd1z}l~*LftH>OgB-Gq|m+a3q=QBXW#K#wKBI{ zS*)*)^Bq|4CX`mrg72Rih^2?d{Z1!ns|V-3uYdQB(2toBteR^{l9!YW9>LX6CY!CPO4ipF4!Xr!g(VBSV(f-nb4XtNK1;J;MXrJBkfxy>*{rU%WW-4)3gm1mR za~~c)O0Pzh33NceYc@^jvuLm7MqkIM zqWE)ifsUJaQ82r7!%=xY#4+)Y=M@#v*md&6ZiS-IPUm|~*NA2p*+1eIEkCht#_xwQ ziT`OJ9_g}dIYO)%IW{ytjlLQ=Fe|hns(OKaH*d^qQ#pTfzYCi$tQqjRp)p=N)t6X|o>5rsUbV@dU={NC920%v?M7-v(Yub-Fk1$WSK z6JPDh!^fY6GW`&flx~hi1=#j?n+A zSyP1Pcm5e4#4#&s4clQi!UyAJ;fe$Y7o4G>H{?(Au~9QjK%Gute0?z}PYl}SM-i5v zIaC#XRZcFm~Jq=ynPBU%CUY{?5x!K%?d{E-x>SD6N09js^BFktYu3vUthwhY>cWKltsT1UJdn)^9t_(FgOk6t#o*$D@$>o{iyi}drMvyw zb9GFqwHt5qz&cnR{d_TcNHo&N(UI!b`v1EBP(L5f zzg>8?jsJI!5!U7J7bkj0Pv3KnE`O6^Lm)jp&w=jw23Y-bMyGyme~drbe-mbM#rOmr z_jGglX({&ao!9@#27Aun^xeB0B$@n?KED4#-25l|@8ZlCT(m)Nbf4dh%kjPb6MDZg zz#_nD44P_dCSQyfcv;6Hf8XzRd4e0`KXF+uY;UCh#AgPF*!3U9x7XAmYD3_48=TJY zrEU8A3g+0RL3gNasXg1Nzg8_(9#BgFBkC-D{QZE80uV`%1mP$4gHB&Na1%Rl6FYDd zJ8%==9&`;12?e)H?adZu>&`;12?e)H?adZ@sEfSJ8%=*h!;C>6FYDdJ8%;_ za1%Rl6FYDdJ8%;_a1%Rl6FYDdJ8%;_a1%Rl6FYDdJ8%;_a1%Rl6FYDdJ8%;_a1%Rl z6FYDdJ8%;_a1%Rl6FYDdJ8%;_a1%Rl6FYDdJ8%;_a1%Rl6FYDdJ8%;_a1%Rl6FYDd zJ8%;_a1%Rl6FYDd|2M)-eD~Ts06Jp=fEjpff7Xs2I1V_0&0d3A7J)C`ob+*!#Y4g8sp<41Afz6jarAiyc8%Qg$+deI$o4QV?}<}a1#8KxsTg6Dg}&M zBZ#=*=c_3UYWlqkC@&+UUlspLYoSooer-!*eRcf7!vC3Vu~c_r851NH{LD21spF4C z`-=Qk9Q+{l|4MOC{8wQo#IKTGpf~n*@0}1bNKYgRYy%4ptlTd>y<9QA7_2MC>sOJ# z_3T&n_H6j69XPiCTKwm*%V1EvKrat*t1prUFtbx{4u z4kW&dg5}(t1OKI{s=DmoMZp!~1VVoNJ7MZV+qSd58x}+f3H-4XOp)F{C{H)o_C!>7 zL{Pz2G=;H_{zxa`A56D@VPV4Vi2cJ{%bV1JDu%ohW5^zs6M6C9~Vknu-5{n+V#jqHEikQ36!?KhMC-pnr@VE>a1 z{`(R7x9jKsh!Og?{ZP>PcWe1S>BsLY=70B0`!{ooI{p5djQ%ZLf3?f~SLPnItkZw%`t`lt@4zkpi`O9P zhPU0x-)=^JvcNkWD*5ZyO6%t>(9U_s0y`GivA~W6b}X=Cf&Ysv@Yl;3BpQ5P3IJcd zP!<5T?H4M5(=qB>AIczb4SbpOUk)^X1?aEvTWJ~^2o24zjQ=V@c?EDVLcn)WPzVP= z!vTSEKq$i?+#ZZl2YCXjNlyda2G0XYFfcIE)6p_PchNuqW{^z}1>66g1IAz$l!1m3 z!UXJM-VM+|ptKMul&TR8J(C}V21?68$4P&HflC-*l-qM$USu!R*%RE3q6+&=yf5#+ z5G|&iQm}MT(PtM=ZM%~An5puWFZZ6DJcrfMRnbEnGBdZ}EqvWE{?+NK@BM4Y)S@?? z6Ngoum;H{Ysp}j30iq(gxVpLf2V4vcx*m4p=B?WgVq)Xs6B5&&re{3M%qlJ^Ei136 ztgCNmeEY7ctGlPSuYcgv=gFyQ!pzF*+WNN*BG`Qhl!lfTN=HjeOHWUS0#)XqJ-|sP zM-K>d9Y4z;@3_aC@x*13=)EQ>7q}Ie3Pfw$wSAWMja^X`yJxx|aq`QP!h=dY=ahAv z#CKt@-q-b|>T8DdGgrBGeOuw>!@LjDitD;Qt;9Snsqg;0dPvX0S=B!*Hodf=XL8LY z;6_|VS!3_iy1u3B#hdZZ%HQ@)e^WECatpkbkXiArpRjR6{SRyRpxcRAl}!UPM9Kib z0uB!i2b2SV16}u`FlWpXj<}DqEIXW)#Q1h(r#x7ad_e(>-O&LW*?}x)HEAfovx)Rl zjROYunPtq^?sGR1G}<4@=LG2rQ6d*Zh5F|>t3STx~sSKD?u!Ql~qdeZBE3&w&^S@ z(=+OPR{#~jVR@m!B89asL?T8z;QcKC&d2)YCx60rvpWF z530kP9xe|zy8TB7+qy+asjptA%dF7AKT@kVHva%yf%W>o;9c8=P>__;E8(RGGe4w;_0yA#OeWf4yXbuvX!r=%l2(^h`e-}R8Uxajq zSQ95m(_db)eYy)Zij@Mw{9fkY(CP&HxWNaaxs(YgqaAnl>PZBWcp;j^gZRG#i~Cfq zP)#~4m1yiMj=Fk1AgMxJpHWljD!!`%In-_J%GrS}Q{*};k}kGpJPcIU#XN=h-5?2XAZ)ptji zZ|w<8R1gB8-YTufQif`Yf&vHILmX^=jz`rbx7aBU0p@xUT5|b?kl)B&N{-bgnECnV zshMt?*jPxU{_O0WML3O$n*6OKc?y7x07+!5$*p9vv2WBDMajPw_Dt^XOEXmTH@CKh z5E!BW*EJRB4&GQAS~^;lhJuP^r&$Dx9y$SQ5E)h#gass@NcUchM1TOR3IXt(4}=%F&iU0oW8QphZ9-{wfupo@R7x4O})NPHfwx+EbQC8_fRq#bS|2+iqPqXZw@ zk&CbR`oCI(fAP1vR--|!dP(%*YN~o-Xv|)h8c#n%aC!Qxb8*Ml-hwi3_jC_qWRY`d4owu@RHoPQU-q)mI3s6)MPmKc+BsE!mz&Dz-QL zDI|}eAM1N8+^!XGWKb&RpDu))vuKB4vX?-m7=C5gkII85sr7ieOvJGy@R=u$MDdj+ zV?WS6fcgXV_R?+=S;ZwB4MK#{xbx`V-)4gL;Te#&isQ>ZwCF{{;imgz6xw45s-VO_ zvJJ-#!P37={(Xe6E|y747iu>{i)%jtReUfG0jH1{ zN3$D1p#f9GbdPr-F3PXNLH-V-xhlM&RA(Qf)CctD_TU@)y~2VQ)1;R74G@wwVhavG zmr??;P|V(vmboNwMZ+JczZM?#DMgGD29eX2=R%o`jH2haBT^w%u0)E15c%Nf)J z+PD%AO^CJFlkB+6jA_EX8jDYbh&m7YztvulP~_@pYUYC=98FIo!b2E33JFh)q=XM5 zw08P?WFcG@;n9;?p;ZW-;EtW=&byS;rcxv_GwauNWd%cO0_2nR{M+A+NvL8dI#nbn z7LK)YYxWOLnZD&KmZCW&3bi_%GbQ{^t$)+SjfWr5`*~Z*xDJu%gt=WE-iEpRI!3%; z)k`d32WHh^-$gb8_T-y=ZSDRsvLD&fDI!*KDN6qUfPaVQ)6E(M)g+cx0^Uoifv5VC zK(Y6@$z}=-Px(E6+3AVlia7j6G+gBH{ihYKJ$iYkNToqM62&}BE|MdLMqYhLz?EQs zs3+Q^Apq+nbcRTpQlV+9)6CYCp#1*;pHd@IPwBPEKT%`;_0Jsp^+EHgr%71~Y1Bcl z3UKQ z9D(gbbSg;CuT4!KV(T;pynaHye=Pl(;nbMoEno%z0M-}$+R8sX`@KN~gWK!n`+6vJ zAhQ~L{$5%C00&YU4K@SPN{{Sxziyes7tIYM0pnF=&as{n^Px}7=(0equOrtg_{;YIgG^(OS zr4x7y3?z3{i(U*+jugxaKa+0+&hYRWS1YeF;6Fp?`oASYAWY-G1Aki)il4+ z12B4d*4;sDpCQq8wY<0UQUOTE#Lf6XZAt@c+=Z5rAQxlax+50AzF02ti6 zlO;4slE@fB%Tt=q%T( zCA`TzN%beEA%-hIl+Q2PnnZLG24K+0M1eslS%k2#3vO)I`g@@@6sJm30wh*y)|BWc z>>N!6N=TF%qJXJ+5*Y5~e@Tq7Aua*@eJ}34E>+S9uSElRVps}@3^9cS-%g;ZCo36d z336FQjkqV@y0=98dTsh@N0MYngv`Zd(-K7^Ipkb{cMJI-kWalZs3WVR1$AS?pa&;R z(J=!4kZ*s*{{W}@{_5lq2sj;XMhxYF$5^oYD{}6((S^g$Qxdx)*G@j(f;RwN4OEs! zk+lmd-HG&gD3O!>uF(ibt4$#Ix&-h!>(I{syDtC3FVs`Oeis_P!cmvbYZ8z4>sbdTP@;U4O(bY2(8+c)B zfFn|4xVhw?P&Xi059!acTk;O&awJ~bkM(|i4f%IK<(-A21UQMa>)hBQf#^fWX@(Ib ziVH9R6MG_-xw-oNJ&|7Ag27Ya9DRBn>>FbueM=MifDf>Gde*%!=_(_Jk(p%jYEi-d z!2H;KO8)>)>+B(QazwS%bc2ucbTL~NmB0}IzdV1%^p~lvb5tXSIOh)_QbXO5TZ>p+ zARk_Tr?aiL?p-UW44?R+_VgU)dq_ppNfTCDWO`$d`yEOPAo52FAz(c%DE*S{^+smk z1{Xi;`#O1t>HrQneEJP7q}sIOH2k{2kj)%qPKfF?G?1i*IS10gQGnEd{s-gQ85>{a z<rsd;3YPLlp}^IQo8F9;KsU zj~aEGZ{(@6FjdqD)=@`YSxBuaEyvr{%9mwp^4vC`@xQiKaYkZ0e7=1g3t+B6HBh7W zpYwFvyKxVcf-Ic`Zu7vblE#V=Wv5Z7v`PY|s%AGNpVDppJ-CxAngDClbHa?6s1@?) zF zRDcF6P*gAgl`JS20%%I{6|V}@qN6MpQ(Ep;yBnd!qNatX(ED* z>NTpdE1tG3?hoaw@h`GEPx()LhxoPDF>P!I%C6(sSPzn0Q~fDqGB~VmBXVuI^1GKA zRk=59TgkQdw%4oMIj=nP1aVIqKPJVn6Wd>Y{rHdGAG~L@9^^-FE#Aww%W=!o!D}LY zWI{&pn5bu2CLy9mRVu&LHn z?5ce9)xCSPGkA=|v1fN~;mhM18mbzZrG;rC2U@sAa&A)hfA2%jpLc#%+;8Shli$m( zWsWJMlFd;d+vS-NWNUdOS7D%%tRA|_COrXyVq%3?5<3K^WPdN8j~$Qvr8iH?EvHM?+f(_4VYa3> zyZ5%)*?Y>P9ZyxatMXY*;@bv`ttQA*ZTwE`ho@qut;%EZG;zHWMPnRhZbsJL_IvNK zedqS>UEcQNclU3)nAk1hgqw)>1ceL9G>e6R%;8o-0u}gv7bKUR`CpYcEzfu54XfJ? zyJ(Yg+9YkRcwi|n?@L=)ZsoR)c96WuJeuq#Mo@-pgW;$VEe{_@{{Sq{<=NPqANgxl zZf}G8yDz$ad~6Nbx%Y16>+b37dL6&glWi`!$M1Tr#WohYt0ZeMIa%^i(_N~eS_$Mp zzI{s>$L@Li#{KEGj&1wUe&OeRp4XT85?fg;qPehl{o@_WQJ{O2m3$|M0};s5GbjO6 z)N6g(d4Ah)=ef4eZMkASmt}_9R})w(g5xP?GLEZqMBtgJjEH znWL?&qbrW6mkiRf>5a*gTkjX|o!7e_!NCTTi+)i!3X8=>(SV zGKRN~cmunr)zByMqxo!nYT5gX`BQ8Tpy}?p+kJ`hQ+v=i%n0f`=Qq0c=U-E7t&g^M z4{Pkq-CP^CvV&+~X--!qG_@wKDujACk|uDCalf~I@O#;Hy#3?vdCz~fo0GP5k$G}k zdr}41c^^!YKCM!L`eM|EPPOFSldE3``Ro3-7~ennWAls*4j+(^4{Lx9Wq^`gsjSM zz0r(KkG(ND9lNzZyV$PBqsu_`m6dysElpYeTT>#wI=romDRqsme)InOpS!N_bspOt zx86H!y@@1_OKFX~(8*U&ARnltqPoyK1S_na1P+kc*?V_CDeu1M9$DCBx)Iy$XK85J zmMzQbT4cS3&&AdB((Q3vr1CRqhW0EdHvk6DjNi&z;KzOZ*ZyFi9`apTiokjA*f}GVIlA-NeqA%) z+=Vr^l*e@dh&2BIrep%qppdP(bkrP$l$CudQD4jR`6Fy>*He7QljiSN%e(tSp}R}9 z_J2^-9goF!=)2wx)j~0q?v|-&@?x zmvZ(eb@pE3-FYv6x3@d2v)i+^nVw{eQZ}VnDZ=kUhSGlXg2^ zUfK7nz3%FJ_%80zuH+j{Cw0=K!=U_7ReB0#+eoi1?aK0svSZ z?mVIG`S%ZYZL!MjxvvLdh9w0W+t+mZ$Rg z++9Qbx%VFS_@mhyvwM8#+}VAVpRMao{Ol?WFIP*3!EW6A`|x0@rOG{i4xb;jOV>oT zF-4CLB&zZ%DmiyNee1sSyLY&sc`c8Z`P-N6HZDcktv5SCd1*7f^j8TP@Fbi}ixay$ z1pyh06jene(O{*J3wTg6#R$IUUX=PhzrdDQY z-YN>YD?{HZx?5{>C(J*PzZ*K6cUE?m$?Fcuq}n?laLrdqmdjPkm&W4jA82KAc=7hx zEauS5J+TxjYo%RB@JOIM zc*-!TCcR*%ySoO-u=9PiJg05pZP)fT*J9Ya%k+}Y2$tO>khG>Ms?7q(%*hnWjLb%& zeR{X0_YT0>DTmmvfUDk=)aN6d8=&N&+MAnkRHQyiY^81zH_TGfQ0Z!VDWF-rQD0O} zBtGRCq%z3TlY_u|4vMU7QqlyAMPxZA=6t^|+t69txy|v~9kJG58atO~uUK`q)ciW*S4WJbSHi;m`rSaWs{I>S^jx zym9M#a@UbrhPD?3+(yUhKDPJnt*5tDNBMdRw&uvD+&ho#vNkj{(5-D`O{gtoW>tl0 zOQQyf9!I;7Z=_rE?7wliduwuI9n5GCr_b&5=)-QeTZy~RVv7ELU+3t+B;u4lE{X`K z;GsyCC4_0Fr;TkI2;*CRfSmn)p278Q;%ln8CpGz=g-SxMg&6edF_WHZcZclg(rM;n zX&F$zk;!2xJY4=o_#XWbR$?6XkLS~JGlB$Tum953g8>ptO9YMzz1vX)TZjIHadXAL z1K2lxo#5SXgEwtg{x~|DeZRDZeo@%2UKH^}Yyl(sZRPXnaT)MM9INUG#dP{luJ;@@ z!&v(c{YQ!kY#-;;j<&uMpk=Shf}{3y;rHQTnJNlF9883R!?ZRIY}Nq+pRK-w*)iLE zd$f{UkJ2Y9Kh=*;mc7Em15pputvKLU{J&>VQISlbm@VP$c`poYyWnty|&4sSnQ20~eB zwY+NJmA<8n5)`Ab4b84c;1AEVi{iAd%Ew6Z=*6NMKvf#PT_*Cm3Z|1Ya^P_T*0?BZ`UerV3r9?ZwS;??AD`Jf(<8q{{S!_ z<N(QBnMy>E5vUIojKMo}}+E@-F=RJmAb>|xkzj8LQ?aD=Ubzuy9lrL=ZNVfhxjA-&lGCbB_ zQ@2{lI)qj+vy~Nov235_m++slzJK?3R{WUlFOGR{<)^eZbfe@OA zC!R?+TQ!n-+Q>(5EhmiHXq96Tp=Q+D1^vhJqxn&EY<~o{{^t2N*8P!;Z{fRV9 z@pE%+c3bYB_j%fp1T*D(pYjZOA5swaSN)d-Z_i^{X@|M~^1ioc;2S|MJ z*qht4YqJ~oa(pD4E_;!82UzV*)nBwXOg(A0<uT4_g> z&>g|;Kfe3NxIWACH#Oe7?7JoEAR)4QI zroq@NmraMXDmK;=Cq(s_MilVK%LOJd$07aRSm%$sKe^jaHFH(JwtV-@56N4$-yN)R z+)Z_K_7d7l49RyD)a=p`dWkKxks}crvXg_PBia4yyR+IQv$eX}MV~Tk`%~VlUs)`> zed=DvHQ`0Oo9d*Ip-HtY%q%B>9YJK% zAtTr?*-yLoy0KNRSGDs{bH4}9V~bF=b$za!f_!*J8~2H@FH)cCj6PFHN> zu{C2ImZPXdrIJb%Vp-lMQk$P(edmkXZeZFhxBG5k=IgE6CP{ZqvL6Mk;L}T4Ep63R zW{ycFDKI)bVAAHHO*y9j0GD}dl5D7c9|m&26?!MDQ~BQ3{8j9Yw}Zjts<0bNE7*JUtMm=awV)Bb~X1)0gd%S>d&~wYh!6 zXoBTKL1%D`E$`mu)<_se(3VJ8viC(MqB=uwKaju6Q=__%;T~TT@@H)CP4~991}AEF z?#rd@zQWqQg`D`cnab{6x3)Ki3Y%)=4%6$c)eaggF6n$V9d!;yN*T;`B1qaqkvjWJ z@816a&c5l~KZR+@d)~toJ8(-|d8FI7RM65r&xs8#kV=iDxsefcX;pLDDCWL$ z4twDL0DN`-0LUMYGVRR&0CV8!Ftr6F7DBqCA%{wT zEVICDPPmy@F@1!+_hCJ?+BtXLO|~`Xowgwaw{U>A*UK3ylSdwvF*#alN>Kb;A_;4)5=sk4uKhrF|EeX&iea#q&EQs(r+1ZfI- zomT8U)$%B5(Kp^XZR3o|XYw1@anRIZbG0~`t097(EL3A~Wbx6^W-9WO6?KxsfuhJy zO#;0wJNS!|8LrHy-EEk$sp!6B^E8lB!$pZ$XtB7<(b7`T#Prm#N2tl;ggjBGMR^bD z)H%J$zrS@}gSyg*9&&jHhk6T7N~Iq7M$XQsqf zOD#mj-mVpZPVQKu1`=pcY^rsjx%{3zhqnnOxljP?2czA*MQ-vbC0ONJODcEJE@x+>3tOKz^f;$B%EpYLd)SHpmpA_4#z3Ti1poE1=Rx>>obA|I^i% z3nIggiOVaQ5nKkiHsle1t;ytjkNL4BlY74ri~_&$)yGrsv@EmxbIP-q1zr|4_3vPR zok!);j+e_)(S=q-atPs1t$DxrfDf?ht40rqdXtq40H|xL1F0EG2x>9a@YXSvS_$Kr zA!S019+DnFLjcRcu@?75y71jzH5$HW73pM~OI$+fG?^oho(K4U%hFe`c9&gNZRyh| zw{g?wFx5~|WEQ9H+Lh%GB-p&nFi9iPMshTfTErF-quf~gjJely=Iyh2`deM%akI=C zNU5X}qyXqh?(AdbS!`Uw zPvhDD03&Y`Zq{41o#oR@d1owbshd-HQVlddbXOH8$QpG5{q%jN+W8BZ{kZ22Tjkic z?p)>@Tbp?!h9MMRS!Vt;Y!y{d8K9P!%Lt2SC#2Tl&(Py&>ps$+)u{_I)0JYPR?{22 zl3bfD?s>WTdmF_hh)ad6WDNS(tSh6Gw#y~N%oP+9oB%0ON%ZyT&~)w#A(z|G&08Hb^KOdQ&&pf*mN(rJ5+&i3U9qKlXqg;h%ALs8@TqaU%n17=yIay&A5^&w(IPhM;*KyC3%> z_OoS0$RPP@1iN zWoi3B>y=-47&c}1o80ZEmLax}Y_h(R)c6sYqg$xdCDNrpEgVvf0e}mrIRF!zP|f%J zC*xMn?YwVJ?VMid-k&2o*PzZNw~kLOiQ9WCU~~^v?v0zdadnmZXYVUF{yTYZ%8Z3o zMOsUau1a{RT9F|xOp4ozeIUDAU;`2>w$&NLViPha&>KH%F z@$~3n>)n|a=J{RxvO4=C+dESq*WV+03*nad?;g0z?j50x?2X~OyLWGHYTnGM+S5|> z#az2f`{7$dO(qJ0lC@!_jA;(OMku5+y!NFEENq0(jGu>x?eqD1)Du621*Yi*pY+cp4@>6xkaQu$yO`E&+ zo-z z<3x!~q`3)m1Ohc7i3W#;0sjD1e6!FxEvy?0+xC`FVoHG3T}Gq|HEWDkgNUH0&r|n| zdHt=l`)j?r_q8`?aC}wlkB)txygnm#m44OgTn6atp7Prp)2Y(0p#Dl=u)TI;#QcKk zO})A@lv#X4{wy}`#!ErDaStU8N-Q@e zGESvoT|%cCY6TAw#-_ap@^&5$hvXNRQ*PS8VZY z?ry|_k;ubItth1V)DO#|i7#SyZ&~)P>c?hxt{1&AeOuXmm$B;O7%soryGOQYI`?&M zt(A_>L%6o5U#{%K?XAZ?CJe$Y4MI-z>>x>%T*>V*yJ)3l4O9(<`S7p&U(e5@AKg}0 zR%7R;>7iJP8PPan_&l1EoM$dF)paQiJ z+Rh_r9u+Z~GXen_#&N=x0C@sH=s3bvWZ?Mi@&5pLRqidxRoR>8=eJb#mt|Cp4_M>z zwEZXAy;HS2F9X(;TV9{7saF@jlL4KFA(qP)`^tKZq*RgV`)3DwumPv>y4Yz+iT`-_}W{`di-+SxE|8^ z2eE!Q^~YdVZ5`u@%7fb%Q5gN7>htJtt)$#rd3HAT%%@297fj{%-(z5UQ{;cgef3ej`p>yqjA8OL8((?t zte!U)x_XRl9N9>Uv5e zxbb)#z7CH+95KUOnC#QQ`8rmaB1foNgG7T{5>x^dfadM16{rN7=RGWF)y+uA=&EnI zaV%@bLK--Pq}59`R+-?bS_etsouFlzLq|A67y{wOudhDb49&un>7yJHU~OUVMT(JA{JPX}2acw?^VD2zBLNu> z@?ItKJwYZ-LgcHtR4!PP&4=UJZPmu5Bn~|o#I2x&0g3r_!|(OvBZb&gz@%%Ffutj8 zHUo>fy}hH5gApLsy*!|)tvK|)pvqxfy!8c8(?;lkpIeo%8t?wne^+vcOQZw@ zdi1qfV`5r{gNNJ0pf9rbta)WPOn!)|KWZsb!0S|#UoT^zYV{jf@$A;Z&%>ne@o^mz zZnwfjSQHHZ0ITw^U;otAlL182(9%0N@iNK~TIyLPf3GCzTYi5&z`W6S99!n(X-btp z@rCMm_IGNQUv9ZrjG&HCKEX7Ur}=tYtZ~6kuN-8&ZD!Yg5w!4BF#gxj`vhH0G`|9Z zKH7CS+SE+j0FurA9?DvBkD-CB zG4kj^4ZL!~?2I(|gIfOpFYtbS1{9m04Yzl`7bispZbKVeTPE7wbo7+9&p}U0)BU^| zuOdKb{JFljpXF`}r`b9LpRvHCR`WRZ~ZD7Flbs@=O-j4lD-;+&#!UwA)WK*xgDB zZMTddn*^0fa2WaolTRO+J#`Q7eeI^%?qA*aoH=sFSm)<0f)?EN;2a3#xUem$613FQ zS{X%Dol0~lHR!C@V|OJ~a@JO1o{ZK;(%&JL!{g(4B^uz7R$9QiWR6R(> z8zD#rhdm;W3bvUhmbWXj=@k&2GHz;V9c9#`Nob=g=GPiQB%6C}cYA3HM+Jrahvfq( zKesgV>6tx~-z?#t=XU4rPqb88(YH9Iq4WkbLP4(r+3Id1Y*g;ricB6ea&6DP%hyt3 zY3OKPdYpw^m2<|E{jrn53d2iAWtv&NLMYI+iT2&*_?s*S|b zN|IT$s9X|Hmqxsq>@oK-4rl!hMW9#Z_rrUT5?1ZpW&|@Qvnt1DJ;haGNwFL}sKa3R;N&&eZ z@vhca=3U>!meNUWQ3TU0YRvLixT_V^PPZW|k`}#pvwGU?{gUJc+w3`x+QWXjxqYu} zxVn-kt*ru*i9AU!hZy>Mb&})5Qle>85LgmG5ws{$gCV#!ej_(axM(o2V(M_2p(Z}A zN{F(wjWs~X99*WA>mbTSFq26It_xj>zEkq%?Qy(q7Tcxn-SoGm-6Vu7qNqbe(5?do zDNmJnb@Q|D&$jy?w0`MtJdw%VxMt2@2gLTq&f5u&_)cY5tv+3B~e(ADyuSn75C_1YfSAlMYIBm}R zVvjRYqN6EKS5a528QwyRXU^pak{MbT42wlI1XK1pzbo#w|ZR8guzJzB0edvsAB(l(N7< z4FDpQ*T4*Yog?;k{lslUqk0oFYLrdl_@j!a=(sT% z$+oPNQC?d3r%uWpRZc;Qs(u4v3P*=#y@$&lDjaaKV0fA*w4Os&XHE)MKG*_*+&f`bW!%kRua%h~;Lv~bw{(~!eqDKYccNYzq|eH=7Y=}%6Y8F%%Q zWZa->thZZtflUhsToOF$N9^b)d+e{eysx=IVay)gZ#KJ(s99lqS#>fgp5P#)7# z4Sc#2u|F^NE^jH8qOQbl5lKUlNVeWfyumJgyP8|lhuKvVU zyzIE$(@Kz|MKjiIJ;O|q>Q-pVteDjFDu55_Kz@hX_2zz6e-FdvoxO{2r16^mTDlC} z{oj7@HUj1Ey@=-cqKD(vwcd98{{XVjuYh6k~V9jX*4oLu(YZ4tt2Y^4v+mdT>`eMIj5BLe_ zsiBtHM~iPParx^>7N2Ql0Dpt$(wyY!&MG>rbkWpm5|$81vMR=_tdc=D=Z=3K$mdxE zp=PSKKh;n3^lNVLi0c!p3V9m;05O5{6|b#24r(_Gq?5@SLn=vaQLzgmxGTs8<-sQR zA3^PWc7TP?9+0)gH4%mK`+7{vn#xGCK$5XHl2$6(T~Kl9H~L$T$v)NnEDJ(c9TvUB z)om+>l1ZqY;U(2r` zfqR{GF>2S$f1j`a)z!0WhmMAgWx7VN62Y(OQ!J2l}19G`XV@3=NeKe~LX zs0@-4e|c?^F^<;vK{RH8t7mjHh1VQ%p4q~J<(%t$e%9Z6mu{^LbwVnp+&C(VsQ%=P zHfCvLrKgHYfhM-a)vUC{{se38Y~@~Smwn|ut99`_IRbbS1)`r8AUm3XQ^ZP0JxM;D za;xu4>_xA$e|R2#xTc z^c2BGPawk@+$x~~Y`%ilwf_Jf%^LDa*va)SLwwJtSp7c5ZEVU-jD8J&foiy+rZ|0{ zZ$od!&7}rkeP#DuMK~1OCXI2}#jwzGdHAGinE|)2>@f+Te?w9m+*|JM`z4PqZTlQg zN57D~p1vGJX&+u9*J-b*HoTJkjpoI(xyn+1B5cZC1|6=>bjV;TbbHK5Ye< z38%~Im9S~imEApiv-?79Wcdt^Myi`?*X5`dEM`E{!~94{wAn~2Ttv+E6thF)B}%do z>wi%m;*MSCE@b3Ct2=$XQCwcd8|rk_!9FO;1ArM#b5L+;f!9p^=KHbx8TY$RR~+%U z-)=h}D{eQih%Ij9f+oBNz`IL^j*Rj`>EU*jXxK`DyPAN$8xhqowM9k~eQrEWJd##M z@|+blEE9c{?+dh*Lv2JVL`4dtyAtB;3BNO|^C!JOPir;DCR*H~MPO7CNMH?UvsR>2 z0AtW~$r!zY{_9zHefw;%`^<0KG?3oS3&%X33{lAxtr3gGpKS{18v=^YA=CwRn%A!P zB^_Sh8(Lg8>aE>TZp@^VR22~8@zP@|X({Mxs&X}THQ3{76G`Dg8xl;8Ol5D+vmQ$4 zP3M{Sd;Pm|*#XFT4KT?kBk%r*537v%_^A{pH*&lC908Z!P`A z7m>=Y_DVELjWk-LkVzT>pc3_m$cV9U%e6DqJ)ME2j6{PEB{AL9R4|2(8K=faFZ-5Q z;kTE@5~urKCg<44Zs+zFE4K5d&nD4+a3pZT*_in=k*Y6|?o;MRSfB16+>lAMTyxLe zTily3aQRF#J6J;`KfWS_oHS7*h_AFM?u-boK%o(~dQ9cFemgUjr@+$g$TsZ_aDtLt z+<3Wi6;ydTsf;n=r%Is)KMj(pTX;=r0hka}5D63S`I?Qq+Wu4bL!9n;JKTPB-1$n$E~B+GjlM@8St}Gv8D^NI7B{jG zew{Bus}*oUlC^x!?K+KzhpOEBYjA(K3MzVWo5gN-tjM)xMLk758%>I>id|T|mPE|P zL~|rQT_h;x@y8|mmwkV_L9lNdZ;f+vIPl&xr^8mMA%XbOMF==*1D>;&?^E{+X{%Bkxi6Vg=5i2}%)W|B`E5vu;d9_8FcY01}@mm7maGF(OB(zSUzzfOu& zkjguVHBsC+XEQ&$<73^qi|;$NY`b48#kttevEME4iW9@LwbK|En&pmY)?}HLZPG~0 zcM>;(#dQ)BSxM^-W+Nt+0eneYMy*Sgq2hF^o$~>R}q64Rl1A) zS@y$rx|5OQz20Va@FbQ%)zs|}O=5)cV@ApD^K5h@`~LuYd9cU#tk`)s+dB(uSvPxY z8zzV;h6wi)H`9~=4KX4E9wQzekwmG_S@(=Pk7DDt>#$dR%^LZIMlLzHa}i@D9DTo zA!5PEZHX!KyJu~+RYg`GC}gOECyZa=IW50ihM-q$zAmO3$s}4FokOTfWh|;EZ}(l) zv&ekRdAiSZ**9IPIc=c~`eb7#Y?2a@HlQov)Qw_|fl^OZ`{Mf?zjj_>l}BQ7ISXGNLa|>0;wS7-E_%>%i^&QTfTQ*LS&yV znEE`lG%`_A(iQX9OH&HbJzT9Ol&6FiGDyctixcej>tpukmJ{nY4WiZo-VRINUF5HEcYFKou^#lBcY?}tR0E((8b#ttbkg26_?Vsy z)hphq+%sl3MD+BP`>Xg{ZHn0HaGS2Gsq3)$oK9MXm8s;XshXwXsTB2x$V`Qb>A(0y zp7!iKsb|Yu2KCE(WvoJL#$Of$3X-OR!y}Ct8X8dfb7^^gFf8lTT-Iw{b>7s|N7@07g)ws&xD!GV!;xh?It69EN2600#DGPemq zxE8!rO%)jw;n@;coJwwQclnBLN7}hs;R)116;s4e*1u;( z9?MyM?Y+kP!fgKlcdl*s$DH{qoA2$WX-)0T+T2Ev+kH$ih>_Ap@sKu(I8*`72t9Dj z?JWH)IT<9{@zzs)yaJc|r?@v9IVxn0q&2cjMU=^tk(J{q;}r60V{lNlkFcJ@?w7V3 zoXc;y^4+f9>}aL!;*u))YLQo3dE}`BjYnB0?+4ru@8!swe7oNud*{FNb+i$)%Wnqp zxmn+76)oV~%W%lC;h&?Ggw$1g(!U!`J3zl{n9DL6$Vdj6yw!+Z z;*bF>ZbKmiFb3n?zc$OtF_nMn)ufumRg&2pFe0FuDXBX(ry{u5#xtUD&NnuHDJ;{a%J|*Mq`cBhf_*3ij5& zKC|=g!}n?TuicH_+kWR?yuI6U(_BXhJ4W^U$;{FkQc2u8!y+gyRRb0(Rq@hWIo18G zjjGPlO-E6grJ-7{nHMh=T3CgQ>5aoMbFA943m#c37+y^1Wklb0{#iXEGBgsknQPzMEw;upjKla3u?@3=m~{o%P<-*Mc1#^g)bq1&SI z?j|p7BydLb{Ye@J(g7JPMh6qnPgx)pQ%T`50@{jm=m&%#kz=WSj^e~d$6Kbhm#|JK#snh_2*CyGQ4jIm4tkaXF+ zY+mNp7qGXulb-8{>n*ia0&V2 zhf;Ic?A8{q8N4vdB>C;I)6_*qWL13TI&CL6gq+A4C;Q4ZVH}qlDiSsyPi41uwmZh% zb<5Yz7Q*BTHxV45ew3Kb8i402%skIh7q|=d()wHLyB2?$LpLV;TK(r>?J%d&gB z>{qs5d5%YsZZ=)GM|4OCQUR|bb zJ}IhXP^{WkmY-a=AXpFu$Tz>^+_APa(p*Dp5B8F{QC}i(Dm@37^y`y*ymnTbZQcFD zevC0QvBAQEPB2MfQKWZjBALfayi~vFOQRbtBE&Z~Uq(p9D}arMJFwQvRvlzOrU}jtjB3w7%}7a&zhpDHIKFYBbbQ6e6mrrvQqeAF{n3{{VKj z;kl>W@;k|m<=*iY@xMsVDzTd8b9pq+AS8aHPb;%4EkiR938i{UZ1&s~n@bH#KVRQc7nL2WjXWzLmCf0mMXqn}BCdJYlIxa8n-5c*$%q;hDecgGZ>MpKjmbVZj6ltYrt3AZA==l4X(-p5l{%dM(JeF5CiNew3 zwmnV~I&I9@LzYuY+k+@(3tJr6>FVhr{xOTzvxvcHq)U)b>RYt#TOR)a5avCmba^CG zZ{zr6InZlH3>310MJwe_h<(N7Uv~YLk`H4&)!S|$wX?a4cN1 zBu=4Sf`V-f+cevczbbcO6gO7VwLmpO(85f5E1J2|!E!?y3iZ{k?$>DKzwVQ}Uu@d; z{{Up(w#dXUBzi6)k8#`}few?LV zSFj>+w=z?rBME3QV3;Z^H`)l`ENh^$~)7^xB$HS@;TY%aNW&J^9Z_W&#u@nen2 zty+}~!oLEXAB>K$Pwvb2L-#9ilWF&#nzyU(Z+)48nn^b^FYfEx*c26IhBqtWK`Mj( zHFC9*FioI#AeBbu-gs@@fXU&oJ0C5&@pV)(QRFgNqaNPGS3FTPFysW)(LP%%Ql232 zRy1YH081$6*ejNOwC3w;`%TvOb%$?}Us@=vj-Z;9(uYiF+!{PD$n}<<{{Vge0DkRP z{HMS2A1(4;<<3@@HqC8yAyu`snUQ=oxiikbHRQ2{SBC8Cl(MZ^c!g~(20wH3X3)cD zGk<4SpTuJjSLB@x)ft+0imHmbWtUpjRmEG5jfmvRp@6wz>F4uexL=?h7mjy!%v^MmXw_VZ0ko~M*FUu``sdj91Dg3?h|LIkilzm_%@ zxxc)&+pleRTRSbwZE)6iNv(cg#;xdMH4F_YN{n^$SI?Z6%)Z$3cQkS*IqlCEGHn-6 z1d3Njia`b`;acV!h|0@u)vTy!H9EK$c5dja#qOP$TAFCHTmJw*r!^gIIxxfRS}5wM zu()_t$#^PqIqH?3p@_Rl8BxM}h57YQI$86E;*t;Q{>NuaeI$b=%#NkyW5I}s5QE8S z>(^U8=w{#Ux6B`R4oSJOEAIEYoXW>}X;BEY*=+4@7SnHl9_Yj0ylpWx*E-4v0Zv`D zD^u@%!31!`9zCzKr<=f|%JWURE1E)30O7P#fE4`)wZ6}zP3`wExscJG;AemfZH)f_ zwl(#yK!5KlxN9H2hp`YtZ62$8ZK_uhu36>YKxQaAg9VIf6$N->rAK(t$hElISr$EW z?XB>%^Q4zXq!{`}@zlUa`Pk|tylrb}W>M^)?)Ncy`GQE8=?MjKkowpLQ|MF>M;g%e zC4YS8*0!53vkQA}uQ0#d%w=R?vRjK-*`b;sK-MMFVsfM^GosT`t7q}b96o1YWU3=* z)|(lNXL$sz6*fC?P~&kmFDPqD#gz$Z&9 zh6DW7`E`gta9x{w+stoB1LC#9j$g3KI1QQq87f=@=dZrLWz>1wWU&4 z^1uX=KpwOPooDadLv>zd{_*dB*s(;8OMmk24D$2 zLxP%uld(j#=4q0zeQ#opWiy;x&$bXXO)>$lnlTdkwB3U@`wwOtvr8wioW0;M@c@Gd z8njO!EA#T>$Dnt%@a@*W-v{qx+l{$4WNu2*0v+LLcDpwdiXCVa5(be`jAN%bjyAD- znx3hac`LTY*T}(MwG|?wpK#%E84-odQAoZyv6537FcFo*5Lh+AAdEe!iW#{P?5}On ztp2LyS|X$1Z4EZYcNrj{A2(3$F12vy~(j+`q> z=^B^us}%%`d&K>NmM{6Ic)Hp)NQ>R9a>$F0<&PmnNC2JylSgQvy+^6D%%52ZbPM7yg6U z-`)b+>Nz=f_9D#_TUk9}(fvZiZ;8GdU`nZ01UeuCF_sW~-*m)>BLS*{a!fviZbm68SG?QU~Yj z?rXN%Z4Sq^L3^~@%CXwQDAB3^07Fsn01h}-wd<7J&F-%@?Y`;ziM?{)xLd82#m6#k zg-ln{s4Ml?3_nezDi(&MGO?6~CW2T9# zVTu{5DdUi<7>&a+f=?d9aBN#P-MFpgrqCd{hf=5ow4rV!DaNlxtpKR#QOzHCUwL`s zlD95J=Du@%!)Lyh7rByHkX=l$nuukYLKcA03#OVmQL3Y)w)etg=%C0{QpGf{98l6k zq9;@)7?mWN6&C>cMTN<@C)k?G;#Mf7=~|vXy+OA&^jDD8sK06cen6amEOY==d6B$r zsWk8dFRcJSLM^J`pU*b-a`H)C3c#x}}H{I&~Q|zC&))253OAL-ywI)v*T})ez z3CLP@@au`Gca621pdoaE0_$b~k@OmDKEID(#EvvNg6G$)hlWR%*`bz3@Yf&%K+JtV zEKQGUrbE&dbrzcI3tJ<%aqKhR*PeoEG-7(EvhDD1LQt~oW)XgedK^SFgMoF;t z6y`gqR^H;)E#Y9eXc*JtaHP<%10sOn@$~9d_V<=ATJLV(5^=XLPw9CgAw;aLVlooJiX?dQOUPF=WnJt?jm>*6@_BF zdaJIUI#mgsKcGOZM^Qf`{ndA?FTNJZ_i^3)OYTtFt|8t{)UmdU-d};1YjWnLU7q8^ z+ox?reL~4lLjluwb#6R<{oHSWMOyv0vMOhaLJ9kN{o=u(tazF;rc~Rsvb8d`y)`mS z2PuDT`(w+}^7hVmTcr!SZb%pd#VtXqf;fXSfd2qE)Nlu(ANPoR?-#nh=URJX%KL*$ z$-I|!A-I))v$)=w3P`b$+T(16&ADn4moiSZ)gG>vojsDT#C3lBrdg^|Tngs0*oo>Y zCaN^FwRlriOB7F1@@ZOH+F4sbIz|41{=;78ZIE1ZzbMFKPY(HEM+ztj6PVhx?0!2QbKqx+`&{S=$M)cemX+-{TG%QTGb8ot=Ka7Km8X-K3;DhF?MK*=3-x2QL~ zILu8{y@|QztEr=-o>5&UKC%faW~WIQl&hnalt^D!k5LPI4|1jd03~t^*Av8fRuF-T z)fz+~0!2oa0Wx+C!=aFM|ZM~H3XR*|WuD4L?GoEH3#1=ZU*c06=j@~17C$Y9b%imMZf^G4ZB zj$%iSrZZZURIeZdp*h1WQHlgv@?MfRrf{-l6JuAt}SnvG-p4koz;bdvhhPJi+yYWR6gh*xJo9iXmC z9dZMixmSGU-Pf2oPnq^xov)a-_A$?CaE~0&Fb08@fF&BbmDZ^0bt@5`gAMnIhcDE< z3x-O%xT@-RWdv(gOj%@(Ol1~kqO7d^tSwDbP7F+M$_sr@xVw{LZ}r*t7+u?=TL|Y4 zgp8}QkItay?dzyNdJWI$zq^C(Z-24w*AR0GTsx0X7n z;;Od~U|?dy*2J1dD+7zp(&8}H5w8p+sYjNj*GL-b2{*a-G3|Rwa_6_#I|bANR!y>L zWkbcKc)UkaeoLhR&uGOu<{v%#vwQDX-=|^sBVpbS-)j8vWw&i}Mmue7Ai5TCT%wK* zE3}sk006wCx1UZM#~AcG>v7W7&sAS8KMB|P`s&)&W&8bk9F=8E@vgU#DWrOmt9SYW zIQC8L)zZuD=IeC~YaDY)c2yTTDGI8CfD2G(9Z7$F4XWd0`|W#4u%O0cI-^Ek)GaH3Db{OYZBE**tY5C~rZscf8}rb}02Vv^4OjxFnZY$y<|g z>^tlLbdQ;Ci&Iv^PGJ6lSMyzThRyEHXi3blZD^H(8t(SO)%lqE_(4C=- zq>j-Ltf)y%uG+X1C7cuDRFkD@Mmkv2)MH|%?;zT9zc<$ zt8k*jmL~TD*vH#JEFRs$?~8`|vH|%9(tl!t53M@I-@m-}JHOvr?!w8EO};ke*a1!r zu2>r3Nb+FQ5C;m^hf40r2B#;nF%eq-0L5}ymWRivcyTz1sZvXi^Fk@|k=Wat+uTd{ zeY7%fyurCT60q5Y)#%blxcQa{*z2Sp-!aUQ*n2hX{{SXKb|af`=AWqWz^76BkASPMT)OG7kkoS>#M6%XYOeZK8qUCvBT~C!%FQU z%-6DeZM+Yr+GCnldtJ8qoXUu(f3k+?_=t?mBZ6j8j}Udkt#&R79y|b3a z&~FW;Ge=CWkPMWNWvL~aIJ~VkD!!xz4CnTxTMm82+}F$ya}ObGS5Zb&c7kWNxfN`Z zfX2WRN;)a>_>}e0PhdTq-Mydt+k2_7U*9Fyw|lPJYrX7@Rv^)$-8@&Yv!VwtYjG;k zS;!Gev=keVderH@em=gVN*SugF$qWm-j8 zso#hhvCA@`rl%&kY?Gd_&zpI&{{Wx4 z=bAa!bAlKzH;vNb?c#`17)0_HSRxb@iWQ_tCHLH+@N|`HTXGbu| zO(YGg#QuT%Ksmkmzt`D(Ge}$-kQe?dJr>CnC?qwgJSpY&`gB+_{dlZ|p~YckIm<&+z;jy;Irza?K%EmUHh2l>h9F*TfQ;!5JGcgDS)ZN0vW6zyHwG zrz?}G`-!hp;B+wun@O}nJrR{?kTil;C{bq^*5=d#B4uO2k#bvxu2U6yyTItns{&xgkkX2~ch90MiKA#Oguy z;nqxAt9>*QuttOmtuod1rTI5wds!c_6`!iF+9SGR1$yX7=B{fpSDQ1eIlfm~> zRAPK}QN=BERP)nj9Y zDP*z^SJGH zcXHfXtjOA$O?u-a#Z;)^f!w%LT2`ku>z?JoVslt3sOzeQ4}g92S!8sln-^I~!mgVk zOEF|vYG|q>5+V8KmjqdugE}RGCdilM|p|M-V7M1gU+GH@b2iNiOimVWJ!EO{-BIB=bWGRaQj= zk_F3BqOXuaT~3E1O-aV5bV4p~?kk&Z*zEcH`n_|xmgRKZJG7IeSMV_=l~ejJAg%#m zNb9>>Up@P?&0lm8?>5Kn`dj<^bIGjGBeA@Wlc12u*=b$-+E+h`?B$rhe(l2g3hq>y~YsdEYbb>O%4ah>r(^Rp@q@N&I zIH^2(%&)mGHf_5%E&cR8zufP{54iGVyOb+h7w{}Etu8z`z|`)mBn(7#V?m4#gg@cU zKVR3uBEqj8*-64Xp`G1U0-gl9k=s&Pbl%?N-M|%l%6v@5nn%vK>zf?78Y^v?9Z_S` z7Ooru3=>i*`H}NI723GA)g@b3RoBt|{4d0{RqOXjB$|oQ=AX!xL^ms95Pwf;WBumH z!U$brAZj2}9#uHvarW`(TXi=t$u*^|)!b7}0}~ufLlr+0I>nG$fRf-dX%sXV=tzCA z`!{)PUa+XhQPu7W4#39m*{E>U{{VH4O})K#E*o)COHtt-4=MY$@NNh@8%ok*X|zWcl6_5 zhAggjxXf~qq%U>Gu)G~y$jeQ1=uh2Sl8Yz0=;XnrUK@JivNPbRGLXd)qR3OpI>#0} zEdorD|1IwHs^eVs$;0+#rD@P4T1u0BZw)@f3XZ$9K)OcLonJ zxHnXjb>{QhqDp$I%0@XHwKW_yt4~WbxX9y=`0fuWEZ&ITHqqoDNgRN(#rs94IPxDd z*=$=dJBH7AK?>cF%u15lT$AC*fKZS@sLHa?9;y3<%s+KszUSTdn7!Ed8g%6zeC6m_ zCb@xy&h52?kO=kLqA%B2+%$m49Fe?5WbKj}m6|Z}o>=l*3!*7rvNx@K=Hik$P^~l! z*y?QJPZ39QVUi?~Kvz1Hk5Rv|w#5sL?LE$Y%$b2bEw)I%LPrC&-G^JmXV^L zE0^7r%~si6y;zK}n%U{G)A=c}xyS&8gs@o2AS&lWI0D_{YUR!SNaii7Ib0MG$|@#Z z3dch_p6J*U+SSr%Mn_na?B~D!_(iC zxQHvb4HTNAk$?!YdE-k>k|~8+dM_0Yas;A@sd4e<=&K>D&D2p-$XHNgE2`0Fj+Gt$ z(Vj(8W6@(98+R55Z<76|jgm+ao`zEkAz0QzKeUk)=rRyBfTZTV2Dz`8w(Y~*O`qJ| zi2s7z1aA9vfG1oNl!^5 zF5T-$)?EM=N%A#y)m~=M#xjc)CZAQV#M^=Fv)M@6E?&R6@xQjd`Qc(gTG!WJDZp2u zxA(N}iMadg?SCu5YoblNmy$wA9nxN3P*8)Xv_nQDS5sh>Jq2Bhj+k#OK1Uf}HDz@s z(xT1d+PuoLQe-hXN`|JQklmfcRVYYqZK#28Ils43M{&!1!MEPqBzBVAm}CpUtg%qI zBhG{pK2<$i@9}we$^P_v8PEK$yxiS$4&Sy%eQxuAX#|#c!2K&L>MpvK=_N%26!N&xwd}iJy!`(F_rT?=K_4OWr?nQFg~Z5F zql)`(k)@G)C|*akk}nadQughrf;NtKKLA~aU(MeosWEWI2yb` z6v3Lje9adlP~t1nMof${c1zd>q&JVzAGe+#HYQdXlZ8mJjcCyT5s=toUK-B4mz#yPne~nRiIjc9F?7W={^v0L1wT4yFV6!6zf2rk520=CYl*$j=KlcQ)>3kg)irl}xWJv16X8PC zJ`kmUT5b#}RE%PUx`MyE$L_ei+rQcU=6%Jn1KZt>8rY2jW^ zi55!>`vY?iB1_9Y)BRoZmEPsPhG|xn(vGbZaTDZHy3fp&J!U7fKYMMf-#_mYZd2up zPaoTDx0LVp?YesDS+1bCit7IWa8)Ggj^LrSfM&3uo{Cs>P2lmul`#v-kYuvZ#N^#t zDDrh{8!rKXbpY}>_mxn)Nw-+a!0UJ;uc+)^zJGVSC@eXHn(VFR*KG#zxJHaCMpe9@ zOJ~TBT=b>cxcrt!JC2%@_Rj*{BK@;;@) zulljk%ibB8aC=UsvMO|+DJ4}sG;&CwqY3oJ+62F@I8g}Wf?qrgjl?0!vgKy2g zp2cuO9lR2RXYFC)6;L{ zUVL2y?Mn=W=whb`%{wep(&&Iy>Xq6_X9fbqJofhU5XHz_KAR}yR)S!l;6}z*qo`jonhqK1d5exrj$a%ihEMXzDPa)BA_-^n)Cgii zPo_B}X+Y$QDZTCNDY?%YTHH#+D2-W(KOtOtoN)8u)XB#NmmW- zHnZGUcX;07+1AvtR|F7Mz~FOU1QLE8IjE;uf6TnE{Y$dDve~!0cifN}Vs&;aCBAid zbV^jRkf_C6k_cTS5;1K(sZ)hJb8uELqsUbh%~jClqyGSM*h+ul74+5lOpYTTPNlGo zOFGu0$O#FiGOom_3U6Dw-$}Ua@u4tBScArC9HdB$sT{6NX8!;}APyp+fzZ>Hxms

Lhxl%PmEHZ17~D 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 z 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

g@=BkN5Xo^Phh>J-uc&)ckRD=+Ey-4yiXnr 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 z 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 diff --git a/vmf/previewV2_stable.png b/vmf/previewV2_stable.png deleted file mode 100644 index ff8be0e7af34199979b067c56b61ae067cebf62c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96534 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 diff --git a/vmf/resource_packages/vmf.package b/vmf/resource_packages/vmf.package deleted file mode 100644 index d94302b..0000000 --- a/vmf/resource_packages/vmf.package +++ /dev/null @@ -1,28 +0,0 @@ -mod = [ - "vmf" -] - -package = [ - "resource_packages/vmf" -] - -material = [ - "materials/vmf/*" -] - -lua = [ - "localization/*" - - "scripts/mods/vmf/*" - "scripts/mods/vmf/modules/*" - "scripts/mods/vmf/modules/core/*" - "scripts/mods/vmf/modules/core/mutators/*" - "scripts/mods/vmf/modules/core/mutators/test/*" - "scripts/mods/vmf/modules/debug/*" - "scripts/mods/vmf/modules/gui/*" - "scripts/mods/vmf/modules/ui/options/*" - "scripts/mods/vmf/modules/ui/chat/*" - "scripts/mods/vmf/modules/ui/mutators/*" - - "materials/vmf/vmf_atlas" -] diff --git a/vmf/scripts/mods/vmf/modules/core/chat.lua b/vmf/scripts/mods/vmf/modules/core/chat.lua index 3d5e4ae..dea76e4 100644 --- a/vmf/scripts/mods/vmf/modules/core/chat.lua +++ b/vmf/scripts/mods/vmf/modules/core/chat.lua @@ -1,38 +1,18 @@ local vmf = get_mod("VMF") --- Constants used as parameters in some 'chat_manager's functions -local CHANNEL_ID = 1 -local MESSAGE_SENDER = "" -local LOCAL_PLAYER_ID = 0 -- VT2 only -local LOCALIZATION_PARAMETERS = {} -- VT2 only -local LOCALIZE = false -- VT2 only -local LOCALIZE_PARAMETERS = false -- VT2 only -local LOCALIZATION_PARAM = "" -- VT1 only -local IS_SYSTEM_MESSAGE = false -local POP_CHAT = true -local IS_DEV = true - -- ##################################################################################################################### -- ##### Local functions ############################################################################################### -- ##################################################################################################################### -local function send_system_message(peer_id, message) - if VT1 then - RPC.rpc_chat_message(peer_id, CHANNEL_ID, MESSAGE_SENDER, message, LOCALIZATION_PARAM, IS_SYSTEM_MESSAGE, POP_CHAT, - IS_DEV) - else - RPC.rpc_chat_message(PEER_ID_TO_CHANNEL[peer_id], CHANNEL_ID, MESSAGE_SENDER, LOCAL_PLAYER_ID, message, - LOCALIZATION_PARAMETERS, LOCALIZE, LOCALIZE_PARAMETERS, IS_SYSTEM_MESSAGE, POP_CHAT, IS_DEV, - Irc.PARTY_MSG) - end -end +local function broadcast_message(message, channel_tag) + local chat_manager = Managers.chat -local function add_system_message_to_chat(chat_manager, message) - if VT1 then - chat_manager:_add_message_to_list(CHANNEL_ID, MESSAGE_SENDER, message, IS_SYSTEM_MESSAGE, POP_CHAT, IS_DEV) - else - chat_manager:_add_message_to_list(CHANNEL_ID, MESSAGE_SENDER, LOCAL_PLAYER_ID, message, IS_SYSTEM_MESSAGE, POP_CHAT, - IS_DEV) + if chat_manager and channel_tag then + for channel_handle, channel in pairs(chat_manager:connected_chat_channels()) do + if channel and channel.tag == channel_tag then + chat_manager:send_channel_message(channel_handle, tostring(message)) + end + end end end @@ -43,26 +23,10 @@ end --[[ Broadcasts the message to all players in a lobby. * message [string]: message to broadcast + * channel_tag [string]: tag of target chat channel --]] -function VMFMod:chat_broadcast(message) - local chat = Managers.chat - if chat and chat:has_channel(1) then - if chat.is_server then - local members = chat:channel_members(CHANNEL_ID) - local my_peer_id = chat.my_peer_id - for _, member_peer_id in pairs(members) do - if member_peer_id ~= my_peer_id then - send_system_message(member_peer_id, message) - end - end - else - local host_peer_id = chat.host_peer_id - if host_peer_id then - send_system_message(host_peer_id, message) - end - end - add_system_message_to_chat(chat, message) - end +function VMFMod:chat_broadcast(message, channel_tag) + broadcast_message(message, channel_tag) end --[[ @@ -71,8 +35,6 @@ end * message [string] : message to send --]] function VMFMod:chat_whisper(peer_id, message) - local chat = Managers.chat - if chat and chat:has_channel(1) and chat.is_server and peer_id ~= chat.host_peer_id then - send_system_message(peer_id, message) - end + -- @TODO: Rewrite for Darktide + vmf:notify("Chat whisper is not yet implemented!") end diff --git a/vmf/scripts/mods/vmf/modules/core/hooks.lua b/vmf/scripts/mods/vmf/modules/core/hooks.lua index 3df68ba..b68bc09 100644 --- a/vmf/scripts/mods/vmf/modules/core/hooks.lua +++ b/vmf/scripts/mods/vmf/modules/core/hooks.lua @@ -8,7 +8,7 @@ local vmf = get_mod("VMF") local HOOK_TYPES = { hook = 1, hook_safe = 2, - hook_origin = 3, + hook_origin = 3 } -- Constants to ease on table lookups when not needed @@ -36,6 +36,7 @@ local _hooks = { setmetatable({}, auto_table_meta), -- safe {}, -- origin } +local _hooks_by_file = {} local _origs = {} -- #################################################################################################################### @@ -390,6 +391,33 @@ function VMFMod:hook_origin(obj, method, handler) return generic_hook(self, obj, method, handler, "hook_origin") end +-- :hook_file() allows you to hook a function across every past and future version of a game file, +-- allowing your handler to replace the function in the stack, +-- and control its execution. All hooks on the same function will be part of a chain, with the +-- original function at the end. Your handler has to call the next function in the chain manually. +-- The chain of event is determined by mod load order. +function VMFMod:hook_file(obj_str, method_str, handler) + -- Add hook create function to list for the file + _hooks_by_file[obj_str] = _hooks_by_file[obj_str] or {} + + local hook_create_func = function(this_filepath, this_index) + local dynamic_obj = + "vmf:get_require_store(\"" .. this_filepath .. "\")[" .. tostring(this_index) .. "]" + return generic_hook(self, dynamic_obj, method_str, handler, "hook") + end + table.insert(_hooks_by_file[obj_str], hook_create_func) + + -- Add the new hook to every instance of the file + local all_file_instances = vmf:get_require_store(obj_str) + if all_file_instances then + for i, item in ipairs(all_file_instances) do + if item then + hook_create_func(obj_str, i) + end + end + end +end + -- Enable/disable functions for all hook types: function VMFMod:hook_enable(obj, method) generic_hook_toggle(self, obj, method, true) @@ -439,3 +467,16 @@ vmf.apply_delayed_hooks = function(status, state) end end end + +vmf.apply_hooks_to_file = function(filepath, store_index) + local all_file_instances = vmf:get_require_store(filepath) + local file_instance = all_file_instances and all_file_instances[store_index] + + local all_file_hooks = _hooks_by_file[filepath] + + if all_file_hooks and file_instance then + for _, hook_create_func in ipairs(all_file_hooks) do + hook_create_func(filepath, store_index) + end + end +end diff --git a/vmf/scripts/mods/vmf/modules/core/keybindings.lua b/vmf/scripts/mods/vmf/modules/core/keybindings.lua index 38a55ff..4a8ec88 100644 --- a/vmf/scripts/mods/vmf/modules/core/keybindings.lua +++ b/vmf/scripts/mods/vmf/modules/core/keybindings.lua @@ -197,8 +197,8 @@ local ERRORS = { -- ##################################################################################################################### local function is_vmf_input_service_active() - local input_service = Managers.input:get_service("VMF") - return input_service and not input_service:is_blocked() + -- @TODO: Implement check for active VMF input service + return true end @@ -304,8 +304,7 @@ function vmf.generate_keybinds() shift = modifier_keys["shift"], function_name = raw_keybind_data.function_name, - view_name = raw_keybind_data.view_name, - transition_data = raw_keybind_data.transition_data + view_name = raw_keybind_data.view_name } _keybinds[primary_key] = _keybinds[primary_key] or { @@ -337,16 +336,14 @@ end -- Creates VMF input service. It is required to know when non-global keybinds can be triggered. -- (Called every time a level is loaded, or on mods reload) function vmf.create_keybinds_input_service() - -- VMF input has to be created only during the actual game - if Managers.state.game_mode and not Managers.input:get_service("VMF") then - rawset(_G, "EmptyKeyMap", {win32 = {}, xb1 = {}}) - Managers.input:create_input_service("VMF", "EmptyKeyMap") - rawset(_G, "EmptyKeyMap", nil) - - -- Synchronize state of VMF input service with Player input service - local is_blocked = Managers.input:get_service("Player"):is_blocked() - Managers.input:get_service("VMF"):set_blocked(is_blocked) - end + -- @TODO: Link this input service to the player's input service and find some way to see if it's blocked + --[[ + -- To create the VMF input service in Darktide + local input_manager = Managers.input + local service_type = "VMF" + input_manager:add_setting(service_type, aliases, raw_key_table, filter_table, default_devices) + input_manager:get_input_service(service_type) + --]] end diff --git a/vmf/scripts/mods/vmf/modules/core/localization.lua b/vmf/scripts/mods/vmf/modules/core/localization.lua index 163190c..0c6e8d4 100644 --- a/vmf/scripts/mods/vmf/modules/core/localization.lua +++ b/vmf/scripts/mods/vmf/modules/core/localization.lua @@ -12,6 +12,8 @@ Polish (pl) ]] local _language_id = Application.user_setting("language_id") + +local _global_localization_database = {} local _localization_database = {} -- #################################################################################################################### @@ -25,8 +27,35 @@ local function safe_string_format(mod, str, ...) if success then return message - else + elseif mod then mod:error("(localize) \"%s\": %s", tostring(str), tostring(message)) + else + vmf:error("(localize) \"%s\": %s", tostring(str), tostring(message)) + end +end + + +local function get_translated_or_english_message(mod, text_translations, ...) + + if text_translations then + + local message + + if text_translations[_language_id] then + + message = safe_string_format(mod, text_translations[_language_id], ...) + if message then + return message + end + end + + if text_translations["en"] then + + message = safe_string_format(mod, text_translations["en"], ...) + if message then + return message + end + end end end @@ -36,37 +65,41 @@ end VMFMod.localize = function (self, text_id, ...) + local message local mod_localization_table = _localization_database[self:get_name()] if mod_localization_table then local text_translations = mod_localization_table[text_id] - if text_translations then - - local message - - if text_translations[_language_id] then - - message = safe_string_format(self, text_translations[_language_id], ...) - if message then - return message - end - end - - if text_translations["en"] then - - message = safe_string_format(self, text_translations["en"], ...) - if message then - return message - end - end - end + message = get_translated_or_english_message(self, text_translations, ...) else self:error("(localize): localization file was not loaded for this mod") end - return "<" .. tostring(text_id) .. ">" + return message or ("<" .. tostring(text_id) .. ">") end + +VMFMod.add_global_localize_strings = function (self, text_translations) + for text_id, translations in ipairs(text_translations) do + if not _global_localization_database[text_id] then + _global_localization_database[text_id] = translations + end + end +end + +-- #################################################################################################################### +-- ##### VMF internal functions and variables ######################################################################### +-- #################################################################################################################### + +-- Handles the return of global localize text_ids +vmf:hook(_G, "Localize", function (func, text_id, ...) + + local text_translations = text_id and _global_localization_database[text_id] + local message = get_translated_or_english_message(nil, text_translations, ...) + + return message or func(text_id, ...) +end) + -- #################################################################################################################### -- ##### VMF internal functions and variables ######################################################################### -- #################################################################################################################### @@ -89,9 +122,13 @@ end -- Localize without parameters and return nil instead of if nothing found vmf.quick_localize = function (mod, text_id) + local mod_localization_table = _localization_database[mod:get_name()] + if mod_localization_table then + local text_translations = mod_localization_table[text_id] + if text_translations then return text_translations[_language_id] or text_translations["en"] end @@ -102,5 +139,5 @@ end -- ##### Script ####################################################################################################### -- #################################################################################################################### -local localization_table = vmf:dofile("localization/vmf") +local localization_table = vmf:dofile("dmf/localization/vmf") vmf.initialize_mod_localization(vmf, localization_table) diff --git a/vmf/scripts/mods/vmf/modules/core/logging.lua b/vmf/scripts/mods/vmf/modules/core/logging.lua index e7a9740..0b6b6f2 100644 --- a/vmf/scripts/mods/vmf/modules/core/logging.lua +++ b/vmf/scripts/mods/vmf/modules/core/logging.lua @@ -2,26 +2,56 @@ local vmf = get_mod("VMF") local _unsent_chat_messages = {} local _logging_settings +local _logging_settings_lookup = { + [0] = {[1] = false, [2] = false, [3] = false}, -- Disabled + [1] = {[1] = true, [2] = false, [3] = false}, -- Log only + [2] = {[1] = false, [2] = true, [3] = false}, -- Chat only + [3] = {[1] = false, [2] = false, [3] = true}, -- Notification only + [4] = {[1] = true, [2] = true, [3] = false}, -- Log and chat + [5] = {[1] = true, [2] = false, [3] = true}, -- Log and Notification + [6] = {[1] = false, [2] = true, [3] = true}, -- Chat and Notification + [7] = {[1] = true, [2] = true, [3] = true}, -- All +} +local _notification_sound = "wwise/events/ui/play_ui_click" -- ##################################################################################################################### -- ##### Local functions ############################################################################################### -- ##################################################################################################################### -local function add_chat_message(message) - local chat_manager = Managers.chat - local new_message = { - channel_id = 1, - message_sender = "System", - message = message, - is_system_message = VT1 and true, - type = not VT1 and Irc.SYSTEM_MSG, -- luacheck: ignore Irc - pop_chat = true, - is_dev = false - } +local function add_chat_notification(message) + local event_manager = Managers.event + + if event_manager then + event_manager:trigger("event_add_notification_message", "default", message, nil, _notification_sound) + end +end - table.insert(chat_manager.chat_messages, new_message) - if not VT1 then - table.insert(chat_manager.global_messages, new_message) + +local function add_chat_message(message, sender) + local chat_manager = Managers.chat + local event_manager = Managers.event + + if chat_manager and event_manager then + local message_obj = { + message_body = message, + is_current_user = false, + } + + local participant = { + displayname = sender or "SYSTEM", + } + + local message_sent = false + + local channel_handle, channel = next(chat_manager:connected_chat_channels()) + if channel then + event_manager:trigger("chat_manager_message_recieved", channel_handle, participant, message_obj) + message_sent = true + end + + if not message_sent then + table.insert(_unsent_chat_messages, message) + end end end @@ -37,17 +67,18 @@ local function safe_format(mod, str, ...) end +local function send_to_notifications(self, message) + add_chat_notification(message) +end + + local function send_to_chat(self, msg_type, message) if msg_type ~= "echo" then message = string.format("[%s][%s] %s", self:get_name(), string.upper(msg_type), message) end - if Managers.chat and Managers.chat:has_channel(1) then - add_chat_message(message) - else - table.insert(_unsent_chat_messages, message) - end + add_chat_message(message) end @@ -60,6 +91,9 @@ local function log_message(self, msg_type, message, ...) message = safe_format(self, tostring(message), ...) if message then + if _logging_settings[msg_type].send_to_notifications then + send_to_notifications(self, message) + end if _logging_settings[msg_type].send_to_chat then send_to_chat(self, msg_type, message) end @@ -73,6 +107,13 @@ end -- ##### VMFMod ######################################################################################################## -- ##################################################################################################################### +function VMFMod:notify(message, ...) + if _logging_settings.notification.enabled then + log_message(self, "notification", message, ...) + end +end + + function VMFMod:echo(message, ...) if _logging_settings.echo.enabled then log_message(self, "echo", message, ...) @@ -119,8 +160,8 @@ end -- Can't be hooked right away, since hooking module is not initialized yet -- Sends unsent messages to chat when chat channel is finally created function vmf.delayed_chat_messages_hook() - vmf:hook_safe("ChatManager", "register_channel", function (self, channel_id) - if (channel_id == 1) and (#_unsent_chat_messages > 0) then + vmf:hook_safe("VivoxManager", "join_chat_channel", function (self) + if #_unsent_chat_messages > 0 and #self:connected_chat_channels() > 0 then for _, message in ipairs(_unsent_chat_messages) do add_chat_message(message) end @@ -135,18 +176,20 @@ end function vmf.load_logging_settings() _logging_settings = { - echo = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_echo") or 3, - error = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_error") or 3, - warning = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_warning") or 3, - info = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_info") or 1, - debug = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_debug") or 0, + notification = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_notification") or 5, + echo = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_echo") or 4, + error = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_error") or 4, + warning = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_warning") or 4, + info = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_info") or 1, + debug = vmf:get("logging_mode") == "custom" and vmf:get("output_mode_debug") or 0, } for method_name, logging_mode in pairs(_logging_settings) do _logging_settings[method_name] = { - send_to_chat = logging_mode and logging_mode >= 2, - send_to_log = logging_mode and logging_mode % 2 == 1, - enabled = logging_mode and logging_mode > 0 + send_to_notifications = logging_mode and _logging_settings_lookup[logging_mode][3], + send_to_chat = logging_mode and _logging_settings_lookup[logging_mode][2], + send_to_log = logging_mode and _logging_settings_lookup[logging_mode][1], + enabled = logging_mode and logging_mode > 0 } end end diff --git a/vmf/scripts/mods/vmf/modules/core/misc.lua b/vmf/scripts/mods/vmf/modules/core/misc.lua index e07e313..092a56d 100644 --- a/vmf/scripts/mods/vmf/modules/core/misc.lua +++ b/vmf/scripts/mods/vmf/modules/core/misc.lua @@ -18,12 +18,3 @@ function vmf.check_wrong_argument_type(mod, vmf_function_name, argument_name, ar table.concat(allowed_types, "/"), argument_type) return true end - -function vmf.check_old_vmf() - local old_vmf_table = rawget(_G, "Mods") - - if old_vmf_table and old_vmf_table.exec then - error("Unfortunately, workshop mods and old-fashioned mods (VMF-pack or QoL) are incompatible. " .. - "Either remove old mods or disable workshop mods.") - end -end diff --git a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_default_config.lua b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_default_config.lua index ac250d1..542a8ca 100644 --- a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_default_config.lua +++ b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_default_config.lua @@ -1,21 +1,17 @@ return { - dice = { - grims = 0, - tomes = 0, - bonus = 0 + reward = { + credits = 0, + plasteel = 0, + diamantine = 0 }, short_title = "", title_placement = "after", difficulty_levels = { - "easy", - "normal", - "hard", - "harder", - "hardest", - - "survival_hard", - "survival_harder", - "survival_hardest" + "lowest", + "low", + "medium", + "high", + "highest", }, incompatible_with_all = false, compatible_with_all = false, diff --git a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_dice.lua b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_dice.lua deleted file mode 100644 index 5fc675d..0000000 --- a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_dice.lua +++ /dev/null @@ -1,92 +0,0 @@ ---[[ - Add additional dice to end game roll ---]] -local vmf = get_mod("VMF") - --- List of all die types -local MISSIONS = { - "bonus_dice_hidden_mission", - "tome_bonus_mission", - "grimoire_hidden_mission" -} - --- Amounts of additional dice to be added at level completion -local _num_dice_per_mission = { - bonus_dice_hidden_mission = 0, - tome_bonus_mission = 0, - grimoire_hidden_mission = 0 -} - --- ##################################################################################################################### --- ##### Local functions ############################################################################################### --- ##################################################################################################################### - --- Adds/remove dice -local function adjustDice(grims, tomes, bonus, multiplier) - if grims then - _num_dice_per_mission.grimoire_hidden_mission = _num_dice_per_mission.grimoire_hidden_mission + grims * multiplier - end - if tomes then - _num_dice_per_mission.tome_bonus_mission = _num_dice_per_mission.tome_bonus_mission + tomes * multiplier - end - if bonus then - _num_dice_per_mission.bonus_dice_hidden_mission = _num_dice_per_mission.bonus_dice_hidden_mission + bonus * - multiplier - end -end - --- ##################################################################################################################### --- ##### Hooks ######################################################################################################### --- ##################################################################################################################### - -vmf:hook(GameModeManager, "complete_level", function(func, ...) - local num_dice = 0 - local max_dice = 7 - local mission_system = Managers.state.entity:system("mission_system") - local active_mission = mission_system.active_missions - - -- Add additional dice - for _, mission in ipairs(MISSIONS) do - for _ = 1, _num_dice_per_mission[mission] do - mission_system:request_mission(mission, nil, Network.peer_id()) - mission_system:update_mission(mission, true, nil, Network.peer_id(), nil, true) - end - end - - -- Get total number of dice - for name, obj in pairs(active_mission) do - if table.contains(MISSIONS, name) then - num_dice = num_dice + obj.current_amount - end - end - - -- Remove excess dice - for _, mission in ipairs(MISSIONS) do - if active_mission[mission] then - for _ = 1, active_mission[mission].current_amount do - if num_dice > max_dice then - mission_system:request_mission(mission, nil, Network.peer_id()) - mission_system:update_mission(mission, false, nil, Network.peer_id(), nil, true) - num_dice = num_dice - 1 - else break end - end - end - if num_dice <= max_dice then break end - end - - func(...) -end) - --- ##################################################################################################################### --- ##### Return ######################################################################################################## --- ##################################################################################################################### - -return { - addDice = function(dice) - adjustDice(dice.grims, dice.tomes, dice.bonus, 1) - end, - - removeDice = function(dice) - adjustDice(dice.grims, dice.tomes, dice.bonus, -1) - end -} diff --git a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_info.lua b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_info.lua index 5f99948..5377dbd 100644 --- a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_info.lua +++ b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_info.lua @@ -3,8 +3,6 @@ --]] local vmf = get_mod("VMF") -local _were_enabled_before = false - -- ##################################################################################################################### -- ##### Local functions ############################################################################################### -- ##################################################################################################################### @@ -23,28 +21,7 @@ end -- Sets the lobby name local function set_lobby_data() - - if not Managers.matchmaking or - not Managers.matchmaking.lobby or - not Managers.matchmaking.lobby.set_lobby_data or - not Managers.matchmaking.lobby.get_stored_lobby_data - then - return - end - - local name = add_enabled_mutators_titles_to_string(" ", true) -- @TODO: change separator? - - local default_name = LobbyAux.get_unique_server_name() - if string.len(name) > 0 then - name = "||" .. name .. "|| " .. default_name - else - name = default_name - end - - local lobby_data = Managers.matchmaking.lobby:get_stored_lobby_data() - lobby_data.unique_server_name = name - - Managers.matchmaking.lobby:set_lobby_data(lobby_data) + -- @TODO: Add mutator titles to lobby name in matchmaking end @@ -56,49 +33,11 @@ end -- ##### Hooks ######################################################################################################### -- ##################################################################################################################### --- Append difficulty name with enabled mutators' titles -vmf:hook_origin(IngamePlayerListUI, "update_difficulty", function(self) - local difficulty_settings = Managers.state.difficulty:get_difficulty_settings() - local difficulty_name = difficulty_settings.display_name +-- @TODO: Hook to update difficulty name - local name = add_enabled_mutators_titles_to_string(", ", true) - local localized_difficulty_name = not self.is_in_inn and Localize(difficulty_name) or "" - if name == "" then -- no mutators - name = localized_difficulty_name - elseif localized_difficulty_name ~= "" then -- it can be "" if player is in the inn with no selected level - name = name .. " (" .. localized_difficulty_name .. ")" - end +-- @TODO: Hook to notify strike team of enabled mutators - self.set_difficulty_name(self, name) - - self.current_difficulty_name = difficulty_name -end) - - --- Notify everybody about enabled/disabled mutators when Play button is pressed on the map screen -vmf:hook_safe(MatchmakingStateHostGame, "host_game", function() - set_lobby_data() - local names = add_enabled_mutators_titles_to_string(", ") - if names ~= "" then - vmf:chat_broadcast(vmf:localize("broadcast_enabled_mutators") .. ": " .. names) - _were_enabled_before = true - elseif _were_enabled_before then - vmf:chat_broadcast(vmf:localize("broadcast_all_disabled")) - _were_enabled_before = false - end -end) - - --- @TODO: can't I do it with hook_safe? Also can't I just use 'sender' intead of extracting peer_id form cookie? --- Send special messages with enabled mutators list to players just joining the lobby -vmf:hook(MatchmakingManager, "rpc_matchmaking_request_join_lobby", function(func, self, sender, client_cookie, ...) - local name = add_enabled_mutators_titles_to_string(", ") - if name ~= "" then - local message = vmf:localize("whisper_enabled_mutators") .. ": " .. name - vmf:chat_whisper(get_peer_id_from_cookie(client_cookie), message) - end - func(self, sender, client_cookie, ...) -end) +-- @TODO: Hook to whisper incoming players about enabled mutators -- ##################################################################################################################### -- ##### Return ######################################################################################################## diff --git a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_manager.lua b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_manager.lua index 44b95aa..78853cb 100644 --- a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_manager.lua +++ b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_manager.lua @@ -1,5 +1,5 @@ --[[ - Manages everything related to mutators: loading order, enabling/disabling process, giving extra dice etc. + Manages everything related to mutators: loading order, enabling/disabling process, giving extra rewards etc. --]] local vmf = get_mod("VMF") @@ -23,11 +23,11 @@ local _mutators_sorted = false local _all_mutators_disabled = false -- External modules -local dice_manager = vmf:dofile("scripts/mods/vmf/modules/core/mutators/mutators_dice") -local set_lobby_data = vmf:dofile("scripts/mods/vmf/modules/core/mutators/mutators_info") +local reward_manager = vmf:dofile("dmf/scripts/mods/vmf/modules/core/mutators/mutators_reward") +local set_lobby_data = vmf:dofile("dmf/scripts/mods/vmf/modules/core/mutators/mutators_info") -- Get default configuration -local _default_config = vmf:dofile("scripts/mods/vmf/modules/core/mutators/mutators_default_config") +local _default_config = vmf:dofile("dmf/scripts/mods/vmf/modules/core/mutators/mutators_default_config") -- List of enabled mutators in case VMF is reloaded in the middle of the game local _enabled_mutators = vmf:persistent_table("enabled_mutators") @@ -49,7 +49,7 @@ end -- Called after mutator is enabled local function on_enabled(mutator) local config = mutator:get_internal_data("mutator_config") - dice_manager.addDice(config.dice) + reward_manager.addReward(config.reward) set_lobby_data() print("[MUTATORS] Enabled " .. mutator:get_name() .. " (" .. tostring(get_index(_mutators, mutator)) .. ")") @@ -61,9 +61,9 @@ end local function on_disabled(mutator, initial_call) local config = mutator:get_internal_data("mutator_config") - -- All mutators run on_disabled on initial call, so there's no need to remove dice and set lobby data + -- All mutators run on_disabled on initial call, so there's no need to remove rewards and set lobby data if not initial_call then - dice_manager.removeDice(config.dice) + reward_manager.removeReward(config.reward) set_lobby_data() end print("[MUTATORS] Disabled " .. mutator:get_name() .. " (" .. tostring(get_index(_mutators, mutator)) .. ")") @@ -74,9 +74,13 @@ end -- Checks if the player is server in a way that doesn't incorrectly return false during loading screens local function player_is_server() - local player = Managers.player - local state = Managers.state - return not player or player.is_server or not state or state.game_mode == nil + return Managers and Managers.state and Managers.state.game_session and Managers.state.game_session:is_server() + + --[[ -- Might not be necessary? + return Managers and Managers.state and ( + (Managers.state.game_session and Managers.state.game_session:is_server()) or + (Managers.state.game_mode and Managers.state.game_mode._game_mode == nil)) + --]] end @@ -154,7 +158,7 @@ local function mutator_can_be_enabled(mutator) end -- If conflicting difficulty is set (if no difficulty is set, all mutators are allowed) - local actual_difficulty = Managers.state and Managers.state.difficulty:get_difficulty() + local actual_difficulty = Managers.state and Managers.state.difficulty:get_difficulty() or 0 local compatible_difficulties = mutator_compatibility_config.compatible_difficulties return not actual_difficulty or compatible_difficulties[actual_difficulty] end @@ -302,14 +306,11 @@ local function update_compatibility(mutator) -- Compatibility with current difficulty (This part works only for VT1. Will see what to do with VT2 later.) compatibility.compatible_difficulties = { - easy = false, - normal = false, - hard = false, - harder = false, - hardest = false, - survival_hard = false, - survival_harder = false, - survival_hardest = false, + lowest = false, + low = false, + medium = false, + high = false, + highest = false, } local compatible_difficulties = compatibility.compatible_difficulties local compatible_difficulties_number = 0 @@ -342,7 +343,7 @@ local function initialize_mutator_config(mutator, _raw_config) local config = mutator:get_internal_data("mutator_config") - config.dice = raw_config.dice + config.reward = raw_config.reward config.short_title = raw_config.short_title config.title_placement = raw_config.title_placement @@ -493,13 +494,11 @@ end -- ##### Hooks ######################################################################################################### -- ##################################################################################################################### -vmf:hook_safe(DifficultyManager, "set_difficulty", function() - disable_impossible_mutators(true, "disabled_reason_difficulty_change") -end) +-- @TODO: Hook to disable impossible mutators when the difficulty changes -- ##################################################################################################################### -- ##### Script ######################################################################################################## -- ##################################################################################################################### -- Testing ---vmf:dofile("scripts/mods/vmf/modules/core/mutators/test/mutators_test") +--vmf:dofile("dmf/scripts/mods/vmf/modules/core/mutators/test/mutators_test") diff --git a/vmf/scripts/mods/vmf/modules/core/mutators/mutators_reward.lua b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_reward.lua new file mode 100644 index 0000000..236bf22 --- /dev/null +++ b/vmf/scripts/mods/vmf/modules/core/mutators/mutators_reward.lua @@ -0,0 +1,48 @@ +--[[ + Add additional reward to end game results +--]] +local vmf = get_mod("VMF") + +-- Amounts of additional rewards to be added at level completion +local _num_reward = { + credits = 0, + plasteel = 0, + diamantine = 0 +} + +-- ##################################################################################################################### +-- ##### Local functions ############################################################################################### +-- ##################################################################################################################### + +-- Adds/removes reward modifiers +local function adjustReward(credits, plasteel, diamantine, multiplier) + if credits then + _num_reward.credits = _num_reward.credits + credits * multiplier + end + if plasteel then + _num_reward.plasteel = _num_reward.plasteel + plasteel * multiplier + end + if diamantine then + _num_reward.diamantine = _num_reward.diamantine + diamantine * multiplier + end +end + +-- ##################################################################################################################### +-- ##### Hooks ######################################################################################################### +-- ##################################################################################################################### + +-- @TODO: Hook to increase mission's reward according to enabled mutators + +-- ##################################################################################################################### +-- ##### Return ######################################################################################################## +-- ##################################################################################################################### + +return { + addReward = function(reward) + adjustReward(reward.credits, reward.plasteel, reward.diamantine, 1) + end, + + removeReward = function(reward) + adjustReward(reward.credits, reward.plasteel, reward.diamantine, -1) + end +} diff --git a/vmf/scripts/mods/vmf/modules/core/mutators/test/mutators_test.lua b/vmf/scripts/mods/vmf/modules/core/mutators/test/mutators_test.lua index ef31971..32617ed 100644 --- a/vmf/scripts/mods/vmf/modules/core/mutators/test/mutators_test.lua +++ b/vmf/scripts/mods/vmf/modules/core/mutators/test/mutators_test.lua @@ -50,8 +50,7 @@ create_test_mutator("test_deathwish", { is_mutator = true, mutator_settings = { difficulty_levels = { - "hardest", - "survival_hardest", + "highest", }, title_placement = "after", }, @@ -64,9 +63,9 @@ create_test_mutator("test_slayer", { is_mutator = true, mutator_settings = { difficulty_levels = { - "survival_hard", - "survival_harder", - "survival_hardest", + "medium", + "high", + "highest", }, }, }) @@ -98,7 +97,7 @@ create_test_mutator("test_one_hit_one_kill", { " non porta ante. Phasellus consequat facilisis quam quis dignissim", is_mutator = true, mutator_settings = { - difficulty_levels = {"hardest"}, + difficulty_levels = {"highest"}, enable_after_these = {"test_more_rats_weapons"}, }, }) @@ -116,10 +115,10 @@ create_test_mutator("lmao", { name = "lmao", is_mutator = true, mutator_settings = { - difficulty_levels = {"hardest"}, + difficulty_levels = {"highest"}, enable_after_these = {"ayyyy"}, - dice = { - bonus = 2, + reward = { + plasteel = 2, }, }, }) @@ -131,7 +130,7 @@ create_test_mutator("test_more_rats_weapons", { is_mutator = true, mutator_settings = { compatible_with_all = true, - difficulty_levels = {"hardest"}, + difficulty_levels = {"highest"}, }, }) diff --git a/vmf/scripts/mods/vmf/modules/core/network.lua b/vmf/scripts/mods/vmf/modules/core/network.lua index 1f813a7..14cc4a5 100644 --- a/vmf/scripts/mods/vmf/modules/core/network.lua +++ b/vmf/scripts/mods/vmf/modules/core/network.lua @@ -1,419 +1,29 @@ local vmf = get_mod("VMF") -local _vmf_users = {} -local _rpc_callbacks = {} - -local _local_mods_map = {} -local _local_rpcs_map = {} - -local _shared_mods_map = "" -local _shared_rpcs_map = "" - -local _network_module_is_initialized = false local _network_debug = false -local VT2_PORT_NUMBER = 0 - -local VERMINTIDE_CHANNEL_ID = 1 -local RPC_VMF_REQUEST_CHANNEL_ID = 3 -local RPC_VMF_RESPONCE_CHANNEL_ID = 4 -local RPC_VMF_UNKNOWN_CHANNEL_ID = 5 -- Note(Siku): No clue what 5 is supposed to mean. - -- #################################################################################################################### -- ##### Local functions ############################################################################################## -- #################################################################################################################### -local function is_rpc_registered(mod_name, rpc_name) - - local success = pcall(function() return _rpc_callbacks[mod_name][rpc_name] end) - return success -end - --- CONVERTING - -local function convert_names_to_numbers(peer_id, mod_name, rpc_name) - - local user_rpcs_dictionary = _vmf_users[peer_id] - if user_rpcs_dictionary then - - local mod_number = user_rpcs_dictionary[1][mod_name] - if mod_number then - - local rpc_number = user_rpcs_dictionary[2][mod_number][rpc_name] - if rpc_number then - - return mod_number, rpc_number - end - end - end - return nil -end - -local function convert_numbers_to_names(mod_number, rpc_number) - - local mod_name = _local_mods_map[mod_number] - if mod_name then - - local rpc_name = _local_rpcs_map[mod_number][rpc_number] - if rpc_name then - - return mod_name, rpc_name - - end - end - return nil -end - --- SERIALIZATION - -local function serialize_data(...) - - return cjson.encode({...}) -end - -local function deserialize_data(data) - - data = cjson.decode(data) - - local args_number = #data - - for i, _ in ipairs(data) do - if type(data[i]) == "userdata" then -- userdata [nullptr (deleted)] -> nil - data[i] = nil - end - end - - return unpack(data, 1, args_number) -end - --- DEBUG - -local function network_debug(rpc_type, action_type, peer_id, mod_name, rpc_name, data) - - if _network_debug then - - local debug_message - - if action_type == "local" then - debug_message = "[NETWORK][LOCAL]" - else - local msg_direction = (action_type == "sent" and "<-" or "->") - local player_string = tostring(Managers.player:player_from_peer_id(peer_id)) - --NOTE (Siku): Multiple concatenation requires the creation of multiple strings, look into it. - --debug_message = string.format("[NETWORK][%s (%s)] %s", peer_id, player_string, msg_direction) - debug_message = "[NETWORK][" .. peer_id .. " (" .. player_string .. ")]" .. msg_direction - end - - if rpc_type == "ping" then - - debug_message = debug_message .. "[PING]" - - elseif rpc_type == "pong" then - - debug_message = debug_message .. "[PONG]" - - elseif rpc_type == "data" then - - --debug_message = string.format("%s[DATA][%s][%s]: ", debug_message, mod_name, rpc_name) - debug_message = debug_message .. "[DATA][" .. mod_name .. "][" .. rpc_name .. "]: " - - if type(data) == "string" then - debug_message = debug_message .. data - else - local success, serialized_data = pcall(serialize_data, unpack(data)) - if success then - debug_message = debug_message .. serialized_data - end - end - end - - vmf:info(debug_message) - end -end - --- NETWORK - -local rpc_chat_message -if VT1 then - rpc_chat_message = function(member, channel_id, message_sender, message, localization_param, - is_system_message, pop_chat, is_dev) - RPC.rpc_chat_message(member, channel_id, message_sender, message, localization_param, - is_system_message, pop_chat, is_dev) - end -else - local _payload = {"","",""} - rpc_chat_message = function(member, channel_id, _, rpc_data1, rpc_data2) - _payload[1] = tostring(channel_id) - _payload[2] = rpc_data1 - _payload[3] = rpc_data2 - Managers.mod:network_send(member, VT2_PORT_NUMBER, _payload) - end -end - -local function send_rpc_vmf_ping(peer_id) - - network_debug("ping", "sent", peer_id) - rpc_chat_message(peer_id, 3, Network.peer_id(), "", "", false, true, false) -end - -local function send_rpc_vmf_pong(peer_id) - - network_debug("pong", "sent", peer_id) - rpc_chat_message(peer_id, 4, Network.peer_id(), _shared_mods_map, _shared_rpcs_map, false, true, false) -end - -local function send_rpc_vmf_data(peer_id, mod_name, rpc_name, ...) - - local mod_number, rpc_number = convert_names_to_numbers(peer_id, mod_name, rpc_name) - if mod_number then - - local rpc_info = cjson.encode({mod_number, rpc_number}) - local success, data = pcall(serialize_data, ...) - if success then - network_debug("data", "sent", peer_id, mod_name, rpc_name, data) - rpc_chat_message(peer_id, 5, Network.peer_id(), rpc_info, data, false, true, false) - end - end -end - -local function send_rpc_vmf_data_local(mod_name, rpc_name, ...) - - local mod = get_mod(mod_name) - - if mod:is_enabled() then - network_debug("data", "local", nil, mod_name, rpc_name, {...}) - - local error_prefix = "(local rpc) " .. tostring(rpc_name) - vmf.safe_call_nr(mod, error_prefix, _rpc_callbacks[mod_name][rpc_name], Network.peer_id(), ...) - end -end - -- #################################################################################################################### -- ##### VMFMod ####################################################################################################### -- #################################################################################################################### -VMFMod.network_register = function (self, rpc_name, rpc_function) - - if _network_module_is_initialized then - self:error("(network_register): you can't register new rpc after mod initialization") - return - end - - if vmf.check_wrong_argument_type(self, "network_register", "rpc_name", rpc_name, "string") or - vmf.check_wrong_argument_type(self, "network_register", "rpc_function", rpc_function, "function") then - return - end - - _rpc_callbacks[self:get_name()] = _rpc_callbacks[self:get_name()] or {} - - _rpc_callbacks[self:get_name()][rpc_name] = rpc_function -end - --- recipient = "all", "local", "others", peer_id -VMFMod.network_send = function (self, rpc_name, recipient, ...) - - if not is_rpc_registered(self:get_name(), rpc_name) then - - self:error("(network_send): attempt to send non-registered rpc") - return - end - - if recipient == "all" then - - for peer_id, _ in pairs(_vmf_users) do - send_rpc_vmf_data(peer_id, self:get_name(), rpc_name, ...) - end - - send_rpc_vmf_data_local(self:get_name(), rpc_name, ...) - - elseif recipient == "others" then - - for peer_id, _ in pairs(_vmf_users) do - send_rpc_vmf_data(peer_id, self:get_name(), rpc_name, ...) - end - - elseif recipient == "local" or recipient == Network.peer_id() then - - send_rpc_vmf_data_local(self:get_name(), rpc_name, ...) - - else -- recipient == peer_id - - send_rpc_vmf_data(recipient, self:get_name(), rpc_name, ...) - end -end - -- #################################################################################################################### -- ##### Hooks ######################################################################################################## -- #################################################################################################################### -local function vmf_network_recv(sender, channel_id, rpc_data1, rpc_data2) - if not _network_module_is_initialized then - return - end - - if channel_id == RPC_VMF_REQUEST_CHANNEL_ID then -- rpc_vmf_request - - network_debug("ping", "received", sender) - - send_rpc_vmf_pong(sender) - - elseif channel_id == RPC_VMF_RESPONCE_CHANNEL_ID then -- rpc_vmf_responce - -- @TODO: maybe I should protect it from sending by the player who's not in the game? - - network_debug("pong", "received", sender) - if _network_debug then - vmf:info("[RECEIVED MODS TABLE]: " .. rpc_data1) - vmf:info("[RECEIVED RPCS TABLE]: " .. rpc_data2) - end - - pcall(function() - - local user_rpcs_dictionary = {} - - user_rpcs_dictionary[1] = cjson.decode(rpc_data1) -- mods - user_rpcs_dictionary[2] = cjson.decode(rpc_data2) -- rpcs - - _vmf_users[sender] = user_rpcs_dictionary - - vmf:info("Added %s to the VMF users list.", sender) - - -- event - local player = Managers.player:player_from_peer_id(sender) - if player then - - for mod_name, _ in pairs(user_rpcs_dictionary[1]) do - local mod = get_mod(mod_name) - if mod then - vmf.mod_user_joined_the_game(mod, player) - end - end - end - end) - - elseif channel_id == RPC_VMF_UNKNOWN_CHANNEL_ID then - local mod_number, rpc_number = unpack(cjson.decode(rpc_data1)) - - local mod_name, rpc_name = convert_numbers_to_names(mod_number, rpc_number) - if mod_name and get_mod(mod_name):is_enabled() then - - network_debug("data", "received", sender, mod_name, rpc_name, rpc_data2) - - -- can be error in both callback_function() and deserialize_data() - local error_prefix = "(network) " .. tostring(rpc_name) - vmf.safe_call_nr( - get_mod(mod_name), - error_prefix, - function() _rpc_callbacks[mod_name][rpc_name](sender, deserialize_data(rpc_data2)) end - ) - end - end -end - -if VT1 then - vmf:hook("ChatManager", "rpc_chat_message", - function(func, self, sender, channel_id, message_sender, arg1, arg2, ...) - if channel_id == VERMINTIDE_CHANNEL_ID then - func(self, sender, channel_id, message_sender, arg1, arg2, ...) - else - vmf_network_recv(sender, channel_id, arg1, arg2) - end - end) -end --- VT2 uses the networking API provided by the ModManager. - -vmf:hook(PlayerManager, "add_remote_player", function (func, self, peer_id, player_controlled, ...) - - if player_controlled then - send_rpc_vmf_ping(peer_id) - end - - return func(self, peer_id, player_controlled, ...) -end) - -vmf:hook(PlayerManager, "remove_player", function (func, self, peer_id, ...) - - if _vmf_users[peer_id] then - - -- make sure it's not the bot - for _, player in pairs(Managers.player:human_players()) do - if player.peer_id == peer_id then - - vmf:info("Removed %s from the VMF users list.", peer_id) - - -- event - for mod_name, _ in pairs(_vmf_users[peer_id][1]) do - local mod = get_mod(mod_name) - if mod then - vmf.mod_user_left_the_game(mod, player) - end - end - - _vmf_users[peer_id] = nil - break - end - end - end - - func(self, peer_id, ...) -end) - -- #################################################################################################################### -- ##### VMF internal functions and variables ######################################################################### -- #################################################################################################################### vmf.create_network_dictionary = function() - - _shared_mods_map = {} - _shared_rpcs_map = {} - - local i = 0 - for mod_name, mod_rpcs in pairs(_rpc_callbacks) do - i = i + 1 - - _shared_mods_map[mod_name] = i - _local_mods_map[i] = mod_name - - _shared_rpcs_map[i] = {} - _local_rpcs_map[i] = {} - - local j = 0 - for rpc_name, _ in pairs(mod_rpcs) do - j = j + 1 - - _shared_rpcs_map[i][rpc_name] = j - _local_rpcs_map[i][j] = rpc_name - end - end - - _shared_mods_map = cjson.encode(_shared_mods_map) - _shared_rpcs_map = cjson.encode(_shared_rpcs_map) - - if not VT1 then - Managers.mod:network_bind(VT2_PORT_NUMBER, function(sender, payload) - vmf_network_recv(sender, tonumber(payload[1]), payload[2], payload[3]) - end) - end - - _network_module_is_initialized = true -end - -vmf.network_unload = function() - if not VT1 then - Managers.mod:network_unbind(VT2_PORT_NUMBER) - end + -- @TODO: Not implemented end vmf.ping_vmf_users = function() - - if Managers.player then - for _, player in pairs(Managers.player:human_players()) do - if player.peer_id ~= Network.peer_id() then - - send_rpc_vmf_ping(player.peer_id) - send_rpc_vmf_pong(player.peer_id) - end - end - end + -- @TODO: Not implemented end vmf.load_network_settings = function() diff --git a/vmf/scripts/mods/vmf/modules/core/options.lua b/vmf/scripts/mods/vmf/modules/core/options.lua index f2c7944..65a48a6 100644 --- a/vmf/scripts/mods/vmf/modules/core/options.lua +++ b/vmf/scripts/mods/vmf/modules/core/options.lua @@ -329,24 +329,6 @@ local function validate_keybind_data(data) vmf.throw_error("[widget \"%s\" (keybind)]: 'keybind_type' is set to \"view_toggle\" so 'view_name' " .. "field is required and must have 'string' type", data.setting_id) end - - local transition_data = data.transition_data - if type(transition_data) ~= "table" then - vmf.throw_error("[widget \"%s\" (keybind)]: 'keybind_type' is set to \"view_toggle\" so 'transition_data' " .. - "field is required and must have 'table' type", data.setting_id) - end - if transition_data.open_view_transition_name and type(transition_data.open_view_transition_name) ~= "string" then - vmf.throw_error("[widget \"%s\" (keybind)]: 'transition_data.open_view_transition_name' must have ".. - "'string' type", data.setting_id) - end - if transition_data.close_view_transition_name and type(transition_data.close_view_transition_name) ~= "string" then - vmf.throw_error("[widget \"%s\" (keybind)]: 'transition_data.close_view_transition_name' must have ".. - "'string' type", data.setting_id) - end - if transition_data.transition_fade and type(transition_data.transition_fade) ~= "boolean" then - vmf.throw_error("[widget \"%s\" (keybind)]: 'transition_data.transition_fade' must have ".. - "'boolean' type", data.setting_id) - end end local default_value = data.default_value @@ -388,7 +370,6 @@ local function initialize_keybind_data(mod, data, localize) new_data.keybind_type = data.keybind_type new_data.function_name = data.function_name -- required, if (keybind_type == "function_call") new_data.view_name = data.view_name -- required, if (keybind_type == "view_toggle") - new_data.transition_data = data.transition_data -- required, if (keybind_type == "view_toggle") validate_keybind_data(new_data) @@ -525,11 +506,12 @@ local function initialize_mod_options_widgets_data(mod, widgets_data, localize) end local initialized_data = {} + local base_depth = 0 -- Define widget data for header widget, because it's not up to modders to define it. local header_widget_data = {type = "header", sub_widgets = widgets_data} -- Put data of all widgets in one-dimensional array in order they will be displayed in mod options. - _unfolded_raw_widgets_data = unfold_table({header_widget_data}, widgets_data, 1, 1) + _unfolded_raw_widgets_data = unfold_table({header_widget_data}, widgets_data, 1, base_depth) -- Load info about widgets previously collapsed by user local collapsed_widgets = vmf:get("options_menu_collapsed_widgets")[mod:get_name()] or {} @@ -571,8 +553,7 @@ local function initialize_default_settings_and_keybinds(mod, initialized_widgets type = data.keybind_type, keys = mod:get(data.setting_id), function_name = data.function_name, - view_name = data.view_name, - transition_data = data.transition_data + view_name = data.view_name } ) end diff --git a/vmf/scripts/mods/vmf/modules/core/persistent_tables.lua b/vmf/scripts/mods/vmf/modules/core/persistent_tables.lua index 15cb300..47cafc1 100644 --- a/vmf/scripts/mods/vmf/modules/core/persistent_tables.lua +++ b/vmf/scripts/mods/vmf/modules/core/persistent_tables.lua @@ -1,6 +1,11 @@ local vmf = get_mod("VMF") -Managers.vmf = Managers.vmf or {} -- @TODO: move it to on_reload when it will be implemented in vt1 +-- @TODO: move it to on_reload when it will be implemented in vt1 +Managers.vmf = Managers.vmf or { + delete = function() + return + end +} Managers.vmf.persistent_tables = Managers.vmf.persistent_tables or {} local _persistent_tables = Managers.vmf.persistent_tables diff --git a/vmf/scripts/mods/vmf/modules/core/require.lua b/vmf/scripts/mods/vmf/modules/core/require.lua new file mode 100644 index 0000000..15ea6b9 --- /dev/null +++ b/vmf/scripts/mods/vmf/modules/core/require.lua @@ -0,0 +1,80 @@ +local vmf = get_mod("VMF") + +local _io_requires = {} + +-- Global store of objects created through require() +local _require_store = Mods.require_store + +-- Global backup of the require() function +local _original_require = Mods.original_require + +-- ##################################################################################################################### +-- ##### Local functions ############################################################################################### +-- ##################################################################################################################### + +local function add_io_require_path(path) + _io_requires[path] = true +end + + +local function remove_io_require_path(path) + _io_requires[path] = nil +end + + +local function get_require_store(path) + return _require_store[path] +end + + +local function original_require(path, ...) + return _original_require(path, ...) +end + +-- ##################################################################################################################### +-- ##### VMFMod ######################################################################################################## +-- ##################################################################################################################### + +-- Add a file path to be loaded through io instead of require() +function VMFMod:add_require_path(path) + add_io_require_path(path) +end + + +-- Remove a file path that was previously loaded through io instead of require() +function VMFMod:remove_require_path(path) + remove_io_require_path(path) +end + + +-- Get all instances of a file created through require() +function VMFMod:get_require_store(path) + return get_require_store(path) +end + + +-- Get a file through the original, unhooked require() function +function VMFMod:original_require(path, ...) + return original_require(path, ...) +end + +-- ##################################################################################################################### +-- ##### Hooks ######################################################################################################### +-- ##################################################################################################################### + +-- Handles the swap to io for registered files +vmf:hook(_G, "require", function (func, path, ...) + if _io_requires[path] then + return vmf:dofile(path) + else + return func(path, ...) + end +end) + +-- ##################################################################################################################### +-- ##### VMF internal functions and variables ########################################################################## +-- ##################################################################################################################### + +-- ##################################################################################################################### +-- ##### Script ######################################################################################################## +-- ##################################################################################################################### \ No newline at end of file diff --git a/vmf/scripts/mods/vmf/modules/core/safe_calls.lua b/vmf/scripts/mods/vmf/modules/core/safe_calls.lua index 547c7b8..95bc058 100644 --- a/vmf/scripts/mods/vmf/modules/core/safe_calls.lua +++ b/vmf/scripts/mods/vmf/modules/core/safe_calls.lua @@ -1,5 +1,8 @@ local vmf = get_mod("VMF") +-- Global method to load a file through io with a return +local mod_dofile = Mods.file.dofile + -- ##################################################################################################################### -- ##### Local functions ############################################################################################### -- ##################################################################################################################### @@ -84,7 +87,7 @@ function vmf.safe_call_dofile(mod, error_prefix_data, file_path) show_error(mod, error_prefix_data, "file path should be a string.") return false end - return vmf.safe_call(mod, error_prefix_data, dofile, file_path) + return vmf.safe_call(mod, error_prefix_data, mod_dofile, file_path) end diff --git a/vmf/scripts/mods/vmf/modules/core/toggling.lua b/vmf/scripts/mods/vmf/modules/core/toggling.lua index f8c7d1c..c247b18 100644 --- a/vmf/scripts/mods/vmf/modules/core/toggling.lua +++ b/vmf/scripts/mods/vmf/modules/core/toggling.lua @@ -12,11 +12,9 @@ vmf.set_mod_state = function (mod, is_enabled, initial_call) if is_enabled then mod:enable_all_hooks() - vmf.inject_hud_components(mod) vmf.mod_enabled_event(mod, initial_call) else mod:disable_all_hooks() - vmf.remove_injected_hud_components(mod) vmf.mod_disabled_event(mod, initial_call) end diff --git a/vmf/scripts/mods/vmf/modules/debug/dev_console.lua b/vmf/scripts/mods/vmf/modules/debug/dev_console.lua index 52801a2..db4a37d 100644 --- a/vmf/scripts/mods/vmf/modules/debug/dev_console.lua +++ b/vmf/scripts/mods/vmf/modules/debug/dev_console.lua @@ -4,6 +4,9 @@ local vmf = get_mod("VMF") -- It would requires hooks to be pushed higher in the loading order, but then we lose hooks printing to console -- Unless we find a way to store our logging messages in memory before the console is loaded. +-- Global backup of the ffi library +local _ffi = Mods.lua.ffi + local _console_data = vmf:persistent_table("dev_console_data") if not _console_data.enabled then _console_data.enabled = false end if not _console_data.original_print then _console_data.original_print = print end @@ -14,12 +17,6 @@ if not _console_data.original_print then _console_data.original_print = print en local function open_dev_console() - -- Forbid using dev console in official realm. Hopefully, temporarily restriction. So no localization. - if not VT1 and not script_data["eac-untrusted"] then - vmf:echo("You can't use developer console in official realm.") - return - end - if not _console_data.enabled then local print_hook_function = function(func, ...) @@ -50,14 +47,13 @@ local function close_dev_console() -- CommandWindow won't close by itself, so it have to be closed manually vmf:pcall(function() - local ffi = require("ffi") - ffi.cdef([[ + _ffi.cdef([[ void* FindWindowA(const char* lpClassName, const char* lpWindowName); int64_t SendMessageA(void* hWnd, unsigned int Msg, uint64_t wParam, int64_t lParam); ]]) local WM_CLOSE = 0x10; - local hwnd = ffi.C.FindWindowA("ConsoleWindowClass", "Developer console") - ffi.C.SendMessageA(hwnd, WM_CLOSE, 0, 0) + local hwnd = _ffi.C.FindWindowA("ConsoleWindowClass", "Developer console") + _ffi.C.SendMessageA(hwnd, WM_CLOSE, 0, 0) end) _console_data.enabled = false diff --git a/vmf/scripts/mods/vmf/modules/debug/table_dump.lua b/vmf/scripts/mods/vmf/modules/debug/table_dump.lua index 657c5a9..83fa7f8 100644 --- a/vmf/scripts/mods/vmf/modules/debug/table_dump.lua +++ b/vmf/scripts/mods/vmf/modules/debug/table_dump.lua @@ -1,6 +1,12 @@ local vmf = get_mod("VMF") -- @TODO: remove it? +-- Global backup of the io library +local _io = Mods.lua.io + +-- Global backup of the os library +local _os = Mods.lua.os + local function table_dump(key, value, depth, max_depth) if max_depth < depth then return @@ -222,8 +228,8 @@ local function table_dump_to_file(dumped_table, dumped_table_name, max_depth) -- ## Saving to file ## -- #################### - os.execute("mkdir dump 2>nul") - local file = assert(io.open("./dump/" .. dumped_table_name .. ".json", "w+")) + _os.execute("mkdir dump 2>nul") + local file = assert(_io.open("./dump/" .. dumped_table_name .. ".json", "w+")) local function dump_to_file(table_entry, table_name, depth) diff --git a/vmf/scripts/mods/vmf/modules/gui/custom_hud_components.lua b/vmf/scripts/mods/vmf/modules/gui/custom_hud_components.lua deleted file mode 100644 index 108f06f..0000000 --- a/vmf/scripts/mods/vmf/modules/gui/custom_hud_components.lua +++ /dev/null @@ -1,255 +0,0 @@ -local vmf = get_mod("VMF") - -local _ingame_hud -local _components_data = {} - -local COMPONENT_STATUS = table.enum("REGISTERED", "INJECTED") - -local ERRORS = { - THROWABLE = { - -- inject_hud_component: - component_already_exists = "hud component with class_name '%s' already exists.", - -- validate_component_data: - class_name_wrong_type = "'class_name' must be a string, not %s.", - visibility_groups_wrong_type = "'visibility_groups' must be a table, not %s.", - visibility_groups_key_wrong_type = "'visibility_groups' table keys must be a number, not %s.", - visibility_groups_value_wrong_type = "'visibility_groups' table values must be a string, not %s.", - use_hud_scale_wrong_type = "'use_hud_scale' must be a boolean or nil, not %s.", - validation_func_wrong_type = "'validation_function' must be a function or nil, not %s." - }, - PREFIX = { - component_validation = "[Custom HUD Components] (register_hud_component) Hud component data validation '%s'", - component_injection = "[Custom HUD Components] (inject_hud_component) Hud component injection '%s' ", - ingamehud_hook_injection = "[Custom HUD Components] Hud component injection '%s'" - } -} - --- ##################################################################################################################### --- ##### Local functions ############################################################################################### --- ##################################################################################################################### - -local function reset_component_status() - for _, component_data in pairs(_components_data) do - component_data.status = COMPONENT_STATUS.REGISTERED - end -end - -local function get_mod_hud_components(mod) - return table.filter(_components_data, function(component_data) - return component_data.mod == mod - end) -end - -local function remove_injected_hud_components(mod) - - local visibility_groups_lookup = _ingame_hud._definitions.visibility_groups_lookup - - local components_to_remove = mod and get_mod_hud_components(mod) or _components_data - for component_name, component_data in pairs(components_to_remove) do - if component_data.status == COMPONENT_STATUS.INJECTED and _ingame_hud._component_list[component_name] then - _ingame_hud:_remove_component(_ingame_hud._component_list, - _ingame_hud._components, - _ingame_hud._components_array, - _ingame_hud._components_array_id_lookup, - component_name) - - local component_settings = component_data.component_settings - for _, visibility_group in ipairs(component_settings.visibility_groups) do - visibility_groups_lookup[visibility_group].visible_components[component_name] = nil - end - _ingame_hud._components_hud_scale_lookup[component_name] = nil - _ingame_hud._component_list[component_name] = nil - - component_data.status = COMPONENT_STATUS.REGISTERED - end - end - -end - --- @ THROWS_ERRORS -local function inject_hud_component(component_name) - local component_data = _components_data[component_name] - local component_settings = component_data.component_settings - - if not component_data.mod:is_enabled() or component_data.status == COMPONENT_STATUS.INJECTED then - return - end - - -- Check for collisions. - if _ingame_hud._component_list[component_name] then - vmf.throw_error(ERRORS.THROWABLE.component_already_exists, component_name) - end - - if component_settings.use_hud_scale then - _ingame_hud._components_hud_scale_lookup[component_name] = true - end - - local visibility_groups_lookup = _ingame_hud._definitions.visibility_groups_lookup - for _, visibility_group in ipairs(component_settings.visibility_groups) do - visibility_groups_lookup[visibility_group].visible_components[component_name] = true - end - - if table.contains(component_settings.visibility_groups, _ingame_hud._current_group_name) then - _ingame_hud._currently_visible_components[component_name] = true - end - - _ingame_hud._component_list[component_name] = component_settings - _ingame_hud:_add_component(_ingame_hud._component_list, - _ingame_hud._components, - _ingame_hud._components_array, - _ingame_hud._components_array_id_lookup, - component_name) - - component_data.status = COMPONENT_STATUS.INJECTED - - return true -end - --- @ THROWS_ERRORS -local function validate_component_data(component_settings) - if type(component_settings.class_name) ~= "string" then - vmf.throw_error(ERRORS.THROWABLE.class_name_wrong_type, type(component_settings.class_name)) - end - if component_settings.use_hud_scale and type(component_settings.use_hud_scale) ~= "boolean" then - vmf.throw_error(ERRORS.THROWABLE.use_hud_scale_wrong_type, type(component_settings.use_hud_scale)) - end - if type(component_settings.visibility_groups) ~= "table" then - vmf.throw_error(ERRORS.THROWABLE.visibility_groups_wrong_type, type(component_settings.visibility_groups)) - end - if component_settings.validation_function and type(component_settings.validation_function) ~= "function" then - vmf.throw_error(ERRORS.THROWABLE.validation_func_wrong_type, type(component_settings.validation_function)) - end - - local visibility_groups = component_settings.visibility_groups - for key, visibility_group in pairs(visibility_groups) do - if type(key) ~= "number" then - vmf.throw_error(ERRORS.THROWABLE.visibility_groups_key_wrong_type, type(key)) - end - if type(visibility_group) ~= "string" then - vmf.throw_error(ERRORS.THROWABLE.visibility_groups_value_wrong_type, type(visibility_group)) - end - end - -end - --- ##################################################################################################################### --- ##### VMFMod ######################################################################################################## --- ##################################################################################################################### - ---[[ - Validates provided component settings, injects the component, and returns 'true' if everything is correct. - * component_settings [table] : Settings of the component to register - ** class_name [string] (required) : Name of the class containing the component logic. - ** visibility_groups [table nothing selected local _commands_list_gui_draw +local _commands_list_gui_destroy local _chat_history = {} local _chat_history_index = 0 @@ -21,14 +22,34 @@ local _chat_history_remove_dups_last = false local _chat_history_remove_dups_all = false local _chat_history_save_commands_only = false -local _queued_command -- is a workaround for VT2 where raycast is blocked during ui update +local _chat_message +local _previous_chat_message +local _queued_command -- #################################################################################################################### -- ##### Local functions ############################################################################################## -- #################################################################################################################### local function initialize_drawing_function() - _commands_list_gui_draw = dofile("scripts/mods/vmf/modules/ui/chat/commands_list_gui") + if not _commands_list_gui_draw then + local commands_list_gui = vmf:dofile("dmf/scripts/mods/vmf/modules/ui/chat/commands_list_gui") + _commands_list_gui_draw = commands_list_gui.draw + _commands_list_gui_destroy = commands_list_gui.destroy + end +end + +local function destroy_command_gui() + if _commands_list_gui_destroy then + _commands_list_gui_destroy() + _commands_list_gui_draw = nil + _commands_list_gui_destroy = nil + end +end + +local function clean_chat_notifications() + if Managers.event then + Managers.event:trigger("event_clear_notifications") + end end local function clean_chat_history() @@ -36,42 +57,42 @@ local function clean_chat_history() _chat_history_index = 0 end +local function get_chat_index(chat_gui) + return chat_gui._input_field_widget.content.caret_position +end + +local function get_chat_message(chat_gui) + return chat_gui._input_field_widget.content.input_text or "" +end + local function set_chat_message(chat_gui, message) - chat_gui.chat_message = message - chat_gui.chat_index = KeystrokeHelper.num_utf8chars(chat_gui.chat_message) + 1 - chat_gui.chat_input_widget.content.text_index = 1 + _chat_message = message + chat_gui._input_field_widget.content.input_text = message + chat_gui._input_field_widget.content.caret_position = Utf8.string_length(_chat_message) + 1 end -- #################################################################################################################### -- ##### Hooks ######################################################################################################## -- #################################################################################################################### -vmf:hook_safe(WorldManager, "create_world", function(self_, name) - if name == "top_ingame_view" then - initialize_drawing_function() - end -end) - - -vmf:hook_safe("ChatGui", "block_input", function() - _chat_opened = true -end) - - -vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_input_service, dt, no_unblock, - chat_enabled, ...) +-- Handle chat actions when the chat window is active +vmf:hook("ConstantElementChat", "_handle_active_chat_input", function(func, self, input_service, ui_renderer, ...) + initialize_drawing_function() local command_executed = false - -- if ENTER was pressed - if Keyboard.pressed(Keyboard.button_index("enter")) or Keyboard.pressed(Keyboard.button_index("numpad enter")) then + _chat_message = get_chat_message(self) + _chat_opened = true + + -- if message is sending + if input_service:get("send_chat_message") then -- chat history if _chat_history_enabled - and self.chat_message ~= "" - and not (_chat_history_remove_dups_last and (self.chat_message == _chat_history[1])) + and _chat_message ~= "" + and not (_chat_history_remove_dups_last and (_chat_message == _chat_history[1])) and (not _chat_history_save_commands_only or (_command_index ~= 0)) then - table.insert(_chat_history, 1, self.chat_message) + table.insert(_chat_history, 1, _chat_message) if #_chat_history == _chat_history_max + 1 then table.remove(_chat_history, #_chat_history) @@ -80,7 +101,7 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in if _chat_history_remove_dups_all then for i = 2, #_chat_history do - if _chat_history[i] == self.chat_message then + if _chat_history[i] == _chat_message then table.remove(_chat_history, i) break end @@ -91,7 +112,7 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in -- command execution if _command_index ~= 0 then local args = {} - for arg in string.gmatch(self.chat_message, "%S+") do + for arg in string.gmatch(_chat_message, "%S+") do table.insert(args, arg) end table.remove(args, 1) @@ -107,13 +128,21 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in set_chat_message(self, "") command_executed = true + + elseif string.sub(_chat_message, 1, 1) == "/" then + vmf:notify(vmf:localize("chat_command_not_recognized") .. ": " .. _chat_message) + set_chat_message(self, "") + return end end + + local old_chat_message = _chat_message - local old_chat_message = self.chat_message + local result = func(self, input_service, ui_renderer, ...) - local chat_focused, chat_closed, chat_close_time = func(self, input_service, menu_input_service, - dt, no_unblock, chat_enabled, ...) + -- Get completion state + local input_widget = self._input_field_widget + local chat_closed = not input_widget.content.is_writing if chat_closed then set_chat_message(self, "") @@ -123,24 +152,19 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in _commands_list = {} _command_index = 0 _chat_history_index = 0 - - if command_executed then - chat_closed = false - chat_close_time = nil - end end if _chat_opened then - -- getting state of 'tab', 'arrow up' and 'arrow down' buttons - local tab_pressed = false + -- getting state of 'arrow right', 'arrow up' and 'arrow down' buttons + local arrow_right_pressed = false local arrow_up_pressed = false local arrow_down_pressed = false for _, stroke in ipairs(Keyboard.keystrokes()) do - if stroke == Keyboard.TAB then - tab_pressed = true -- game considers some "ctrl + [something]" combinations as arrow buttons, -- so I have to check for ctrl not pressed + if stroke == Keyboard.RIGHT and Keyboard.button(Keyboard.button_index("left ctrl")) == 0 then + arrow_right_pressed = true elseif stroke == Keyboard.UP and Keyboard.button(Keyboard.button_index("left ctrl")) == 0 then arrow_up_pressed = true elseif stroke == Keyboard.DOWN and Keyboard.button(Keyboard.button_index("left ctrl")) == 0 then @@ -151,14 +175,12 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in -- chat history if _chat_history_enabled then - -- reverse result of native chat history in VT2 - if not VT1 and input_service.get(input_service, "chat_next_old_message") or - input_service.get(input_service, "chat_previous_old_message") then + if arrow_up_pressed then set_chat_message(self, old_chat_message) end -- message was modified by player - if self.chat_message ~= self.previous_chat_message then + if _chat_message ~= _previous_chat_message then _chat_history_index = 0 end if arrow_up_pressed or arrow_down_pressed then @@ -171,7 +193,7 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in set_chat_message(self, _chat_history[new_index]) - self.previous_chat_message = self.chat_message + _previous_chat_message = _chat_message _chat_history_index = new_index else -- new_index == 0 @@ -181,41 +203,15 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in end end - -- ctrl + v - if VT1 and Keyboard.pressed(Keyboard.button_index("v")) and Keyboard.button(Keyboard.button_index("left ctrl")) == 1 then - local new_chat_message = self.chat_message - - -- remove carriage returns - local clipboard_data = tostring(Clipboard.get()):gsub("\r", "") - - -- remove invalid characters - if Utf8.valid(clipboard_data) then - new_chat_message = new_chat_message .. clipboard_data - else - local valid_data = "" - clipboard_data:gsub(".", function(c) - if Utf8.valid(c) then - valid_data = valid_data .. c - end - end) - new_chat_message = new_chat_message .. valid_data - end - - set_chat_message(self, new_chat_message) - end - - -- ctrl + c - if Keyboard.pressed(Keyboard.button_index("c")) and Keyboard.button(Keyboard.button_index("left ctrl")) == 1 then - Clipboard.put(self.chat_message) - end - -- entered chat message starts with "/" - if string.sub(self.chat_message, 1, 1) == "/" then + if string.sub(_chat_message, 1, 1) == "/" then - -- if there's no space after '/part_of_command_name' and if TAB was pressed - if not string.find(self.chat_message, " ") and tab_pressed and - -- if TAB was pressed with caret at the end of the string - (string.len(self.chat_message) + 1) == self.chat_index and + local autocompleting = false + + -- if there's no space after '/part_of_command_name' and if arrow_right was pressed + if not string.find(_chat_message, " ") and arrow_right_pressed and + -- if arrow_right was pressed with caret at the end of the string + (string.len(_chat_message) + 1) == get_chat_index(self) and -- if there are any commands matching entered '/part_of_command_name (#_commands_list > 0) then @@ -224,16 +220,15 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in set_chat_message(self, "/" .. _commands_list[_command_index].name) -- so the next block won't update the commands list - old_chat_message = self.chat_message + autocompleting = true end - if self.chat_message ~= old_chat_message then - + if not autocompleting or not vmf._commands_list_gui_draw then -- get '/part_of_command_name' without '/' - local command_name_contains = self.chat_message:match("%S+"):sub(2, -1) + local command_name_contains = _chat_message:match("%S+"):sub(2, -1) - if string.find(self.chat_message, " ") then + if string.find(_chat_message, " ") then _commands_list = vmf.get_commands_list(command_name_contains, true) else _commands_list = vmf.get_commands_list(command_name_contains) @@ -248,7 +243,7 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in -- chat message was modified and doesn't start with '/' - elseif self.chat_message ~= old_chat_message and #_commands_list > 0 then + elseif #_commands_list > 0 then _commands_list = {} _command_index = 0 end @@ -258,7 +253,7 @@ vmf:hook("ChatGui", "_update_input", function(func, self, input_service, menu_in end end - return chat_focused, chat_closed, chat_close_time + return result end) -- #################################################################################################################### @@ -303,16 +298,19 @@ vmf.execute_queued_chat_command = function() end end +vmf.destroy_command_gui = function() + destroy_command_gui() +end + -- #################################################################################################################### -- ##### Script ####################################################################################################### -- #################################################################################################################### vmf.load_chat_history_settings() +vmf:command("clean_chat_notifications", vmf:localize("clean_chat_notifications"), clean_chat_notifications) if _chat_history_save then _chat_history = vmf:get("chat_history") or _chat_history end -if Managers.world and Managers.world:has_world("top_ingame_view") then - initialize_drawing_function() -end +initialize_drawing_function() \ No newline at end of file diff --git a/vmf/scripts/mods/vmf/modules/ui/chat/commands_list_gui.lua b/vmf/scripts/mods/vmf/modules/ui/chat/commands_list_gui.lua index da9b1e9..8d0b72b 100644 --- a/vmf/scripts/mods/vmf/modules/ui/chat/commands_list_gui.lua +++ b/vmf/scripts/mods/vmf/modules/ui/chat/commands_list_gui.lua @@ -2,7 +2,10 @@ local vmf = get_mod("VMF") local MULTISTRING_INDICATOR_TEXT = "[...]" -local FONT_TYPE = "hell_shark_arial" +local DEFAULT_HUD_SCALE = 100 + +local FONT_TYPE = "arial" +local FONT_MATERIAL = "content/ui/fonts/arial" local FONT_SIZE = 22 local MAX_COMMANDS_VISIBLE = 5 @@ -11,41 +14,118 @@ local STRING_HEIGHT = 25 local STRING_Y_OFFSET = 7 local STRING_X_MARGIN = 10 -local OFFSET_X = 0 -local OFFSET_Y = 200 +local OFFSET_X = 10 +local OFFSET_Y = 300 local OFFSET_Z = 880 local WIDTH = 550 -local _gui = World.create_screen_gui(Managers.world:world("top_ingame_view"), "immediate", - "material", "materials/fonts/gw_fonts") +local BASE_COMMAND_TEXT_WIDTH = WIDTH - STRING_X_MARGIN * 2 + +local _gui -- ##################################################################################################################### -- ##### Local functions ############################################################################################### -- ##################################################################################################################### -local function get_text_width(text, font_material, font_size) - local text_extent_min, text_extent_max = Gui.text_extents(_gui, text, font_material, font_size) +local function create_gui() + if not _gui then + local world_manager = Managers.world + if world_manager and world_manager:has_world("level_world") then + _gui = World.create_screen_gui(world_manager:world("level_world"), "immediate") + end + end +end + + +local function destroy_gui() + if _gui then + local world_manager = Managers.world + if world_manager and world_manager:has_world("level_world") then + World.destroy_gui(world_manager:world("level_world"), _gui) + end + _gui = nil + end +end + + +local function get_hud_scale() + local save_data = Managers.save:account_data() + local interface_settings = save_data.interface_settings + local hud_scale = interface_settings.hud_scale or DEFAULT_HUD_SCALE + + return hud_scale +end + + +local function get_text_size(text, font_type, font_size) + local font_data = Managers.font:data_by_type(font_type) + local font = font_data.path + local additional_settings = { + flags = font_data.render_flags or 0 + } + + local min, max, caret = Gui2.slug_text_extents(_gui, text, font, font_size, additional_settings) + local min_x, min_y = Vector3.to_elements(min) + local max_x, max_y = Vector3.to_elements(max) + local width = max_x - min_x + local height = max_y - min_y + + return width, height, min, caret +end + + +local function get_text_width(text, font, font_size) + local text_extent_min, text_extent_max = Gui.slug_text_extents(_gui, text, font, font_size) local text_height = text_extent_max[1] - text_extent_min[1] return text_height end -local function word_wrap(text, font_material, font_size, max_width) - local whitespace = " " +local function get_scaled_font_size_by_width(text, font_type, font_size, max_width) + local scale = RESOLUTION_LOOKUP.scale + local min_font_size = 1 + local scaled_font_size = math.max(font_size * scale, 1) + local text_width = get_text_size(text, font_type, scaled_font_size) + + if max_width < text_width then + repeat + if font_size <= min_font_size then + break + end + + font_size = math.max(font_size - 1, min_font_size) + scaled_font_size = math.max(font_size * scale, 1) + text_width = math.floor(get_text_size(text, font_type, scaled_font_size)) + until text_width <= max_width + end + + return font_size +end + + +local function word_wrap(text, font, font_size, max_width) local soft_dividers = "-+&/*" local return_dividers = "\n" local reuse_global_table = true local scale = RESOLUTION_LOOKUP.scale - return Gui.word_wrap(_gui, text, font_material, font_size, max_width * scale, whitespace, - soft_dividers, return_dividers, reuse_global_table) + return Gui.slug_word_wrap(_gui, text, font, font_size, max_width * scale, return_dividers, + soft_dividers, reuse_global_table, 0) end local function draw(commands_list, selected_command_index) - -- VT2 requires applying additional HUD scaling - if not VT1 and UISettings.use_custom_hud_scale then - UPDATE_RESOLUTION_LOOKUP(true, UISettings.hud_scale * 0.01) + + create_gui() + if not _gui then + return + end + + -- Apply additional HUD scaling + local hud_scale = get_hud_scale() + local should_scale = hud_scale ~= DEFAULT_HUD_SCALE + if should_scale then + UPDATE_RESOLUTION_LOOKUP(true, hud_scale * 0.01) end local selected_command_new_index = 0 @@ -57,7 +137,7 @@ local function draw(commands_list, selected_command_index) for i = first_displayed_command, last_displayed_command do local new_entry = {} new_entry.name = "/" .. commands_list[i].name - new_entry.description = commands_list[i].description + new_entry.description = " " .. commands_list[i].description new_entry.full_text = new_entry.name .. " " .. new_entry.description if i == selected_command_index then new_entry.selected = true @@ -67,38 +147,36 @@ local function draw(commands_list, selected_command_index) end local scale = RESOLUTION_LOOKUP.scale - local selected_strings_number = 1 - local font, font_size = UIFontByResolution({font_type = FONT_TYPE, font_size = FONT_SIZE}) - local font_material = font[1] - local font_name = font[3] + local font_size = FONT_SIZE for i, command in ipairs(displayed_commands) do + font_size = get_scaled_font_size_by_width(command.name, FONT_TYPE, FONT_SIZE, BASE_COMMAND_TEXT_WIDTH) -- draw "/command_name" text local scaled_offet_x = (OFFSET_X + STRING_X_MARGIN) * scale local scaled_offset_y = (OFFSET_Y - STRING_HEIGHT * (i + selected_strings_number - 1) + STRING_Y_OFFSET) * scale local string_position = Vector3(scaled_offet_x, scaled_offset_y, OFFSET_Z + 2) - Gui.text(_gui, command.name, font_material, font_size, font_name, string_position, Color(255, 100, 255, 100)) + Gui.slug_text(_gui, command.name, FONT_MATERIAL, font_size, string_position, nil, Color(255, 100, 255, 100)) - local command_text_strings = word_wrap(command.full_text, font_material, font_size, WIDTH - STRING_X_MARGIN * 2) + local command_text_strings = word_wrap(command.full_text, FONT_MATERIAL, font_size, BASE_COMMAND_TEXT_WIDTH) local multistring = #command_text_strings > 1 local first_description_string if multistring then if command.selected then selected_strings_number = #command_text_strings else - local multistring_indicator_width = get_text_width(MULTISTRING_INDICATOR_TEXT, font_material, font_size) - local command_text_width = WIDTH - STRING_X_MARGIN * 2 - (multistring_indicator_width / scale) - command_text_strings = word_wrap(command.full_text, font_material, font_size, command_text_width) + local multistring_indicator_width = get_text_width(MULTISTRING_INDICATOR_TEXT, FONT_MATERIAL, font_size) + local command_text_width = BASE_COMMAND_TEXT_WIDTH - (multistring_indicator_width / scale) + command_text_strings = word_wrap(command.full_text, FONT_MATERIAL, font_size, command_text_width) -- draw that [...] thing local multistring_offset_x = (OFFSET_X + WIDTH) * scale - multistring_indicator_width local multistring_indicator_position = Vector3(multistring_offset_x, string_position.y, string_position.z) - Gui.text(_gui, MULTISTRING_INDICATOR_TEXT, font_material, font_size, font_name, - multistring_indicator_position, Color(255, 100, 100, 100)) + Gui.slug_text(_gui, MULTISTRING_INDICATOR_TEXT, FONT_MATERIAL, font_size, + multistring_indicator_position, nil, Color(255, 100, 100, 100)) end first_description_string = string.sub(command_text_strings[1], #command.name + 2) else @@ -106,19 +184,19 @@ local function draw(commands_list, selected_command_index) end -- draw command description text (1st string) - local first_description_string_width = get_text_width(command.name, font_material, font_size) + local first_description_string_width = get_text_width(command.name, FONT_MATERIAL, font_size) local first_description_pos_x = string_position.x + first_description_string_width local first_description_string_position = Vector3(first_description_pos_x, string_position.y, string_position.z) - Gui.text(_gui, first_description_string, font_material, font_size, font_name, - first_description_string_position, Color(255, 255, 255, 255)) + Gui.slug_text(_gui, first_description_string, FONT_MATERIAL, font_size, + first_description_string_position, nil, Color(255, 255, 255, 255)) -- draw command description text (2+ strings) if command.selected and multistring then for j = 2, selected_strings_number do string_position.y = string_position.y - STRING_HEIGHT * scale - Gui.text(_gui, command_text_strings[j], font_material, font_size, font_name, - string_position, Color(255, 255, 255, 255)) + Gui.slug_text(_gui, command_text_strings[j], FONT_MATERIAL, font_size, + string_position, nil, Color(255, 255, 255, 255)) end end end @@ -149,15 +227,15 @@ local function draw(commands_list, selected_command_index) if selected_command_index > 0 then total_number_indicator = selected_command_index .. "/" .. total_number_indicator end - local total_number_indicator_width = get_text_width(total_number_indicator, font_material, font_size) + local total_number_indicator_width = get_text_width(total_number_indicator, FONT_MATERIAL, font_size) local total_number_indicator_x = (WIDTH) * scale - total_number_indicator_width local total_number_indicator_y = (OFFSET_Y + STRING_Y_OFFSET) * scale local total_number_indicator_position = Vector3(total_number_indicator_x, total_number_indicator_y, OFFSET_Z + 2) - Gui.text(_gui, total_number_indicator, font_material, font_size, font_name, - total_number_indicator_position, Color(255, 100, 100, 100)) + Gui.slug_text(_gui, total_number_indicator, FONT_MATERIAL, font_size, + total_number_indicator_position, nil, Color(255, 100, 100, 100)) end - if not VT1 and UISettings.use_custom_hud_scale then + if should_scale then UPDATE_RESOLUTION_LOOKUP(true) end end @@ -186,4 +264,4 @@ end -- ##### Return ######################################################################################################## -- ##################################################################################################################### -return draw +return { draw = draw, destroy = destroy_gui } diff --git a/vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui.lua b/vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui.lua deleted file mode 100644 index 9847b8e..0000000 --- a/vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui.lua +++ /dev/null @@ -1,424 +0,0 @@ -local vmf = get_mod("VMF") - -local _MUTATORS = vmf.mutators - -local _SELECTED_DIFFICULTY_KEY -- Currently selected difficulty in the map view. - -local _DEFINITIONS = dofile("scripts/mods/vmf/modules/ui/mutators/mutators_gui_definitions") -local _UI_SCENEGRAPH -local _MUTATOR_LIST_WIDGETS = {} -local _PARTY_BUTTON_WIDGET -local _NO_MUTATORS_TEXT_WIDGET -local _OTHER_WIDGETS = {} - -local _IS_MUTATOR_LIST_VISIBLE -- 'true' if Mutator view is active, 'false' if Party view is active. -local _CURRENT_PAGE_NUMBER -local _TOTAL_PAGES_NUMBER - -local _IS_MUTATORS_GUI_INITIALIZED = false - --- #################################################################################################################### --- ##### Local functions ############################################################################################## --- #################################################################################################################### - -local function get_map_view() - local map_view_exists, map_view = pcall(function () return Managers.matchmaking.ingame_ui.views.map_view end) - if map_view_exists then - return map_view - end -end - - --- Toggles mutator list (switches between Party and Mutators views). -local function show_mutator_list(map_view, is_visible) - - _IS_MUTATOR_LIST_VISIBLE = is_visible - - if is_visible then - - -- Banner - local banner_widget = map_view.background_widgets[3] - banner_widget.style.text.localize = false - banner_widget.style.tooltip_text.localize = false - banner_widget.content.text = vmf:localize("mutators_title") - banner_widget.content.tooltip_text = vmf:localize("mutators_banner_tooltip") - - -- Players list - for _, widget in ipairs(map_view.player_list_widgets) do - widget.content.visible = false - end - - -- Players counter - map_view.player_list_conuter_text_widget.content.visible = false - else - - -- Banner - local banner_widget = map_view.background_widgets[3] - banner_widget.style.text.localize = true - banner_widget.style.tooltip_text.localize = true - banner_widget.content.text = "map_party_title" - banner_widget.content.tooltip_text = "map_party_setting_tooltip" - - -- Players list - for _, widget in ipairs(map_view.player_list_widgets) do - widget.content.visible = true - end - - -- Players counter - map_view.player_list_conuter_text_widget.content.visible = true - end -end - - -local function change_map_view_look(map_view, is_vmf_look) - - if is_vmf_look then - map_view.ui_scenegraph.settings_button.position[1] = -50 - map_view.ui_scenegraph.friends_button.position[1] = 50 - map_view.ui_scenegraph.lobby_button.position[1] = 150 - else - map_view.ui_scenegraph.settings_button.position[1] = -100 - map_view.ui_scenegraph.friends_button.position[1] = 0 - map_view.ui_scenegraph.lobby_button.position[1] = 100 - end -end - - --- Used in the next function to calculate tooltip offset, since Fatshark's solution doesn't support --- tooltips with cursor being in the left-bottom corner. -local function calculate_tooltip_offset (widget_content, widget_style, ui_renderer) - - local input_service = ui_renderer.input_service - if input_service then - - local cursor_position = UIInverseScaleVectorToResolution(input_service:get("cursor")) - if cursor_position then - - local text = widget_content.tooltip_text - local max_width = widget_style.max_width - - local font, font_size = UIFontByResolution(widget_style) - local font_name = font[3] - local font_material = font[1] - - local _, font_min, font_max = UIGetFontHeight(ui_renderer.gui, font_name, font_size) - - local texts = UIRenderer.word_wrap(ui_renderer, text, font_material, font_size, max_width) - local num_texts = #texts - local full_font_height = (font_max + math.abs(font_min)) * RESOLUTION_LOOKUP.inv_scale - - local tooltip_height = full_font_height * num_texts - - widget_style.cursor_offset[1] = widget_style.cursor_default_offset[1] - widget_style.cursor_offset[2] = widget_style.cursor_default_offset[2] - (tooltip_height * UIResolutionScale()) - end - end -end - - --- Callback function for mutator widgets. It's not defined in definitions file because it works with mutators array. --- And it's easier to work with it from there. -local function offset_function_callback(ui_scenegraph_, style, content, ui_renderer) - - local mutator = content.mutator - - -- Find out if mutator can be enabled. - local can_be_enabled = true - - local mutator_compatibility_config = mutator:get_internal_data("mutator_config").compatibility - local is_mostly_compatible = mutator_compatibility_config.is_mostly_compatible - local except = mutator_compatibility_config.except - - for _, other_mutator in ipairs(_MUTATORS) do - if other_mutator:is_enabled() and other_mutator ~= mutator then - can_be_enabled = can_be_enabled and (is_mostly_compatible and not except[other_mutator] or - not is_mostly_compatible and except[other_mutator]) - end - end - - can_be_enabled = can_be_enabled and mutator_compatibility_config.compatible_difficulties[_SELECTED_DIFFICULTY_KEY] - - content.can_be_enabled = can_be_enabled - - -- Enable/disable mutator. - if content.highlight_hotspot.on_release then - if mutator:is_enabled() then - vmf.mod_state_changed(mutator:get_name(), false) - elseif can_be_enabled then - vmf.mod_state_changed(mutator:get_name(), true) - end - end - - -- Build tooltip (only for currently selected mutator widget). - if content.highlight_hotspot.is_hover then - - -- DESCRIPTION - - local tooltip_text = content.description - - -- MUTATORS COMPATIBILITY - - local incompatible_mods = {} - if next(except) then - tooltip_text = tooltip_text .. (is_mostly_compatible and vmf:localize("tooltip_incompatible_mutators") or - vmf:localize("tooltip_compatible_mutators")) - - for other_mutator, _ in pairs(except) do - table.insert(incompatible_mods, " * " .. other_mutator:get_readable_name()) - end - - tooltip_text = tooltip_text .. table.concat(incompatible_mods, "\n") - else - if is_mostly_compatible then - tooltip_text = tooltip_text .. vmf:localize("tooltip_compatible_with_all_mutators") - else - tooltip_text = tooltip_text .. vmf:localize("tooltip_incompatible_with_all_mutators") - end - end - - -- DIFFICULTIES COMPATIBILITY - - local difficulties = {} - local compatible_difficulties_number = mutator_compatibility_config.compatible_difficulties_number - if compatible_difficulties_number < 8 then - tooltip_text = tooltip_text .. (compatible_difficulties_number > 4 and - vmf:localize("tooltip_incompatible_diffs") or - vmf:localize("tooltip_compatible_diffs")) - - for difficulty_key, is_compatible in pairs(mutator_compatibility_config.compatible_difficulties) do - if compatible_difficulties_number > 4 and not is_compatible - or not (compatible_difficulties_number > 4) and is_compatible then - table.insert(difficulties, " * " .. vmf:localize(difficulty_key)) - end - end - - tooltip_text = tooltip_text .. table.concat(difficulties, "\n") - else - tooltip_text = tooltip_text .. vmf:localize("tooltip_compatible_with_all_diffs") - end - - -- CONFLICTS - - if not can_be_enabled then - tooltip_text = tooltip_text .. vmf:localize("tooltip_conflicts") - - local conflicting_mods = {} - for _, other_mutator in ipairs(_MUTATORS) do - if other_mutator:is_enabled() and other_mutator ~= mutator then - if not (is_mostly_compatible and not except[other_mutator] or - not is_mostly_compatible and except[other_mutator]) then - - table.insert(conflicting_mods, " * " .. other_mutator:get_readable_name() .. - vmf:localize("tooltip_append_mutator")) - end - end - end - - if #conflicting_mods > 0 then - tooltip_text = tooltip_text .. table.concat(conflicting_mods, "\n") .. "\n" - end - - if not mutator_compatibility_config.compatible_difficulties[_SELECTED_DIFFICULTY_KEY] then - tooltip_text = tooltip_text .. " * " .. vmf:localize(_SELECTED_DIFFICULTY_KEY) .. - vmf:localize("tooltip_append_difficulty") - end - end - - -- Applying tooltip - - content.tooltip_text = tooltip_text - calculate_tooltip_offset(content, style.tooltip_text, ui_renderer) - end - - -- Visual changing (text color and checkboxes). - local is_enabled = content.mutator:is_enabled() - - style.text.text_color = content.can_be_enabled and (is_enabled and content.text_color_enabled or - content.text_color_disabled) or content.text_color_inactive - - content.checkbox_texture = is_enabled and content.checkbox_checked_texture or - content.checkbox_unchecked_texture -end - - -local function initialize_scrollbar() - - local scrollbar_widget_content = _OTHER_WIDGETS.scrollbar.content - - if _TOTAL_PAGES_NUMBER > 1 then - scrollbar_widget_content.visible = true - scrollbar_widget_content.scroll_bar_info.bar_height_percentage = 1 / _TOTAL_PAGES_NUMBER - else - scrollbar_widget_content.visible = false - end -end - - -local function initialize_mutators_ui(map_view) - - -- Scenegraph - _UI_SCENEGRAPH = UISceneGraph.init_scenegraph(_DEFINITIONS.scenegraph_definition) - - -- Creating mutator list widgets and calculating total pages number - for i, mutator in ipairs(_MUTATORS) do - local offset = ((i - 1) % 8) + 1 - _MUTATOR_LIST_WIDGETS[i] = UIWidget.init(_DEFINITIONS.create_mutator_widget(mutator, offset_function_callback)) - _MUTATOR_LIST_WIDGETS[i].offset = {0, -32 * offset, 0} - _MUTATOR_LIST_WIDGETS[i].content.mutator = mutator - end - _CURRENT_PAGE_NUMBER = 1 - _TOTAL_PAGES_NUMBER = math.floor(#_MUTATORS / 8) + ((#_MUTATORS % 8 > 0) and 1 or 0) - - -- Party button - _PARTY_BUTTON_WIDGET = UIWidget.init(_DEFINITIONS.party_button_widget_defenition) - - -- "No mutators installed" text - _NO_MUTATORS_TEXT_WIDGET = UIWidget.init(_DEFINITIONS.no_mutators_text_widget) - - -- Other widgets - for widget_name, widget in pairs(_DEFINITIONS.widgets_definition) do - _OTHER_WIDGETS[widget_name] = UIWidget.init(widget) - end - - -- Modify original map_view look - change_map_view_look(map_view, true) - show_mutator_list(map_view, true) - - -- Find out if scrollbar is needed, calculate scrollbar size - initialize_scrollbar() - - _IS_MUTATORS_GUI_INITIALIZED = true -end - - -local function draw(map_view, dt) - local input_service = map_view.input_manager:get_service("map_menu") - local ui_renderer = map_view.ui_renderer - local render_settings = map_view.render_settings - - UIRenderer.begin_pass(ui_renderer, _UI_SCENEGRAPH, input_service, dt, nil, render_settings) - - -- Party button - UIRenderer.draw_widget(ui_renderer, _PARTY_BUTTON_WIDGET) - - if _IS_MUTATOR_LIST_VISIBLE then - if #_MUTATORS > 0 then - -- Mutator list (render only 8 (or less) currently visible mutator widgets) - for i = ((_CURRENT_PAGE_NUMBER - 1) * 8 + 1), (_CURRENT_PAGE_NUMBER * 8) do - if not _MUTATOR_LIST_WIDGETS[i] then - break - end - UIRenderer.draw_widget(ui_renderer, _MUTATOR_LIST_WIDGETS[i]) - end - else - UIRenderer.draw_widget(ui_renderer, _NO_MUTATORS_TEXT_WIDGET) - end - - -- Other widgets - for _, widget in pairs(_OTHER_WIDGETS) do - UIRenderer.draw_widget(ui_renderer, widget) - end - end - - UIRenderer.end_pass(ui_renderer) -end - - --- Sets new scrollbar position (called when user changes the current page number with mouse scroll input) -local function update_scrollbar_position() - local scrollbar_widget_content = _OTHER_WIDGETS.scrollbar.content - local percentage = (1 / (_TOTAL_PAGES_NUMBER - 1)) * (_CURRENT_PAGE_NUMBER - 1) - scrollbar_widget_content.scroll_bar_info.value = percentage - scrollbar_widget_content.scroll_bar_info.old_value = percentage -end - - --- Reads scrollbar input and if it was changed, set current page according to the new scrollbar position -local function update_scrollbar_input() - local scrollbar_widget_content = _OTHER_WIDGETS.scrollbar.content - if scrollbar_widget_content.visible then - local scrollbar_info = scrollbar_widget_content.scroll_bar_info - local value = scrollbar_info.value - local old_value = scrollbar_info.old_value - if value ~= old_value then - _CURRENT_PAGE_NUMBER = math.clamp(math.ceil(value / (1 / _TOTAL_PAGES_NUMBER)), 1, _TOTAL_PAGES_NUMBER) - scrollbar_info.old_value = value - end - end -end - - --- Reads mousewheel scrolls from corresponding widget and changes current page number, if possible. -local function update_mousewheel_scroll_area_input() - local widget_content = _OTHER_WIDGETS.mousewheel_scroll_area.content - local mouse_scroll_value = widget_content.scroll_value - if mouse_scroll_value ~= 0 then - _CURRENT_PAGE_NUMBER = math.clamp(_CURRENT_PAGE_NUMBER + mouse_scroll_value, 1, _TOTAL_PAGES_NUMBER) - widget_content.scroll_value = 0 - update_scrollbar_position() - end -end - - -local function update_mutators_ui(map_view, dt) - - -- Show/hide mutator list if party button was pressed - local transitioning = map_view:transitioning() - local friends_menu_active = map_view.friends:is_active() - if not transitioning and not friends_menu_active then - local mutators_button_content = _PARTY_BUTTON_WIDGET.content - if mutators_button_content.button_hotspot.on_release then - map_view:play_sound("Play_hud_select") - show_mutator_list(map_view, mutators_button_content.toggled) - mutators_button_content.toggled = not mutators_button_content.toggled - end - end - - update_mousewheel_scroll_area_input() - update_scrollbar_input() - draw(map_view, dt) -end - --- #################################################################################################################### --- ##### Hooks ######################################################################################################## --- #################################################################################################################### - -vmf:hook_safe(MapView, "init", function (self) - initialize_mutators_ui(self) -end) - - -vmf:hook_safe(MapView, "update", function (self, dt) - - if self.menu_active and _IS_MUTATORS_GUI_INITIALIZED then - - -- Parse currently selected difficulty in the map_view - local difficulty_data = self.selected_level_index and self:get_difficulty_data(self.selected_level_index) - local difficulty_layout = difficulty_data and difficulty_data[self.selected_difficulty_stepper_index] - _SELECTED_DIFFICULTY_KEY = difficulty_layout and difficulty_layout.key - - update_mutators_ui(self, dt) - end -end) - --- #################################################################################################################### --- ##### VMF internal functions and variables ######################################################################### --- #################################################################################################################### - --- Changes map_view VMF way -function vmf.modify_map_view() - local map_view = get_map_view() - if map_view then - initialize_mutators_ui(map_view) - end -end - - --- Restores map_view to its defaults -function vmf.reset_map_view() - local map_view = get_map_view() - if map_view then - change_map_view_look(map_view, false) - show_mutator_list(map_view, false) - end -end diff --git a/vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui_definitions.lua b/vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui_definitions.lua deleted file mode 100644 index 371a2c8..0000000 --- a/vmf/scripts/mods/vmf/modules/ui/mutators/mutators_gui_definitions.lua +++ /dev/null @@ -1,326 +0,0 @@ -local vmf = get_mod("VMF") - - -local scenegraph_definition = { - - sg_root = { - size = {1920, 1080}, - position = {0, 0, UILayer.default}, - - is_root = true, - }, - - -- Fix for FullHD windowed (not fullscreen) mode (if everything else will inherit from sg_root, its children will - -- stick to the window border instead of the black gap) - sg_placeholder = { - size = {1920, 1080}, - position = {0, 0, 1}, - - parent = "sg_root", - - horizontal_alignment = "center", - vertical_alignment = "center" - }, - - sg_mutators_list_background = { - size = {547, 313}, - position = {-2, -2, 2}, -- @TODO: fix the actual image (-2 px plus image overlaping text) - - parent = "sg_placeholder", - - horizontal_alignment = "left", - vertical_alignment = "bottom" - }, - - sg_mutators_button = { - size = {64, 64}, - position = {87, 430.5, 2}, - - parent = "sg_placeholder", - - horizontal_alignment = "left", - vertical_alignment = "bottom" - }, - - sg_mutators_list = { - size = {370, 265}, - position = {80, 61, 3}, - - parent = "sg_placeholder", - - vertical_alignment = "bottom", - horizontal_alignment = "left" - }, - - sg_mutators_list_start = { - size = {1, 1}, - offset = {0, 0, 3}, - - parent = "sg_mutators_list", - - vertical_alignment = "top", - horizontal_alignment = "left" - }, - - sg_no_mutators_text = { - size = {310, 30}, - position = {0, 10, 1}, - - parent = "sg_mutators_list", - - vertical_alignment = "center", - horizontal_alignment = "center", - }, - - sg_scrollbar = { - size = {0, 290}, -- X size doesn't affect scrollbar width - position = {452, 52, 3}, - - parent = "sg_placeholder", - - vertical_alignment = "bottom", - horizontal_alignment = "left" - }, -} - - -local widgets_definition = { - - -- That photoshopped background texture which expands displayed list area - mutator_list_background = { - scenegraph_id = "sg_root", - element = { - passes = { - { - pass_type = "texture", - style_id = "mutators_list_background", - texture_id = "mutators_list_background_texture_id" - } - } - }, - content = { - mutators_list_background_texture_id = "map_view_mutators_area", - }, - style = { - mutators_list_background = { - scenegraph_id = "sg_mutators_list_background" - } - } - }, - - -- Widgets that detects mousewheel scrolls inside itself - mousewheel_scroll_area = { - scenegraph_id = "sg_mutators_list", - element = { - passes = { - { - pass_type = "scroll", - scroll_function = function (ui_scenegraph_, style_, content, input_service_, scroll_axis) - content.scroll_value = content.scroll_value - scroll_axis.y - end - } - } - }, - content = { - scroll_value = 0 - }, - style = {} - }, - - -- Scrollbar - scrollbar = UIWidgets.create_scrollbar(scenegraph_definition.sg_scrollbar.size[2], "sg_scrollbar") -} -widgets_definition.scrollbar.content.disable_frame = true -- Hide scrollbar frame - - --- The 4th button, which will toggle old "Party" view (which is replaced by "Mutators" view) -local party_button_widget_defenition = UIWidgets.create_octagon_button( - { - "map_view_party_button", - "map_view_party_button_lit" - }, - { - "map_party_title", - "map_party_title" - }, - "sg_mutators_button" -) - - --- Text displayed when user has 0 mutators -local no_mutators_text_widget = { - scenegraph_id = "sg_no_mutators_text", - element = { - passes = { - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - { - pass_type = "hotspot", - - content_id = "tooltip_hotspot" - }, - { - pass_type = "tooltip_text", - - style_id = "tooltip_text", - text_id = "tooltip_text", - content_check_function = function (ui_content) - return ui_content.tooltip_hotspot.is_hover - end - } - } - }, - content = { - text = vmf:localize("no_mutators"), - tooltip_text = vmf:localize("no_mutators_tooltip"), - tooltip_hotspot = {}, - color = Colors.get_color_table_with_alpha("slate_gray", 255) - }, - style = { - - text = { - vertical_alignment = "center", - horizontal_alignment = "center", - font_size = 22, - localize = false, - word_wrap = true, - font_type = "hell_shark", - text_color = Colors.get_color_table_with_alpha("slate_gray", 255), - offset = {0, 2, 4} - }, - - tooltip_text = { - font_size = 24, - max_width = 500, - localize = false, - horizontal_alignment = "left", - vertical_alignment = "top", - font_type = "hell_shark", - text_color = Colors.get_color_table_with_alpha("white", 255), - line_colors = {}, - offset = {0, 0, 50} - } - } -} - - --- Creates a widget for every mutator (that string with checkbox) -local function create_mutator_widget(mutator, offset_function_callback) - return { - scenegraph_id = "sg_mutators_list_start", - element = { - passes = { - { - pass_type = "hotspot", - - content_id = "highlight_hotspot" - }, - { - pass_type = "local_offset", - - -- The function is executed inside of 'mutators_gui.lua', since it has to interact with mutator list a lot - offset_function = offset_function_callback - }, - { - pass_type = "texture", - - style_id = "hover_texture", - texture_id = "hover_texture", - content_check_function = function (content) - return content.can_be_enabled and content.highlight_hotspot.is_hover - end - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - { - pass_type = "texture", - - style_id = "checkbox_style", - texture_id = "checkbox_texture" - }, - { - pass_type = "tooltip_text", - - text_id = "tooltip_text", - style_id = "tooltip_text", - content_check_function = function (content) - return content.highlight_hotspot.is_hover - end - }, - } - }, - content = { - mutator = nil, -- is added after creation (i can't add mutator here now, becuase UIWidget.init() clones tables) - - text = mutator:get_readable_name(), - description = mutator:get_description() or vmf:localize("mutator_no_description_provided"), - - can_be_enabled = false, - - highlight_hotspot = {}, - - tooltip_text = "", -- always changes in local_offset pass - - hover_texture = "playerlist_hover", - - checkbox_texture = "checkbox_unchecked", -- always changes in local_offset pass - - -- Presets - checkbox_unchecked_texture = "checkbox_unchecked", - checkbox_checked_texture = "checkbox_checked", - - text_color_disabled = Colors.get_color_table_with_alpha("white", 255), - text_color_enabled = Colors.get_color_table_with_alpha("cheeseburger", 255), - text_color_inactive = Colors.get_color_table_with_alpha("slate_gray", 255), - }, - style = { - - text = { - offset = {10, -2, 2}, - font_size = 24, - font_type = "hell_shark", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) -- always changes in local_offset pass - }, - - hover_texture = { - size = {370, 32}, - offset = {0, 0, 1} - }, - - checkbox_style = { - size = {20, 20}, - offset = {340, 6, 2}, - color = {255, 255, 255, 255} - }, - - tooltip_text = { - font_type = "hell_shark", - font_size = 18, - cursor_side = "right", - max_width = 425, - cursor_offset = {0, 0}, -- always changes in local_offset pass - cursor_default_offset = {27, -27} - }, - - size = {370, 32} - } - } -end - - -return { - scenegraph_definition = scenegraph_definition, - widgets_definition = widgets_definition, - party_button_widget_defenition = party_button_widget_defenition, - no_mutators_text_widget = no_mutators_text_widget, - create_mutator_widget = create_mutator_widget -} diff --git a/vmf/scripts/mods/vmf/modules/ui/options/mod_options.lua b/vmf/scripts/mods/vmf/modules/ui/options/mod_options.lua index 868cb85..4fdd7b8 100644 --- a/vmf/scripts/mods/vmf/modules/ui/options/mod_options.lua +++ b/vmf/scripts/mods/vmf/modules/ui/options/mod_options.lua @@ -1,126 +1,389 @@ local vmf = get_mod("VMF") -local _button_injection_data = vmf:persistent_table("button_injection_data") +local OptionsUtilities = require("scripts/utilities/ui/options") +local InputUtils = require("scripts/managers/input/input_utils") + +local _type_template_map = {} + +-- #################################################################################################################### +-- ##### Local functions ############################################################################################## +-- #################################################################################################################### + +-- Create value slider template +local create_header_template = function (self, params) + + local template = { + category = params.category, + display_name = params.readable_mod_name or params.title, + group_name = params.mod_name, + tooltip_text = params.tooltip, + widget_type = "group_header", + } + return template +end +_type_template_map["header"] = create_header_template -if VT1 then +-- Create percentage slider template +local create_percent_slider_template = function (self, params) + + params.on_value_changed_function = function(new_value) + get_mod(params.mod_name):set(params.setting_id, new_value) + + return true + end + params.value_get_function = function() + return get_mod(params.mod_name):get(params.setting_id) + end + + params.display_name = params.title + params.apply_on_drag = true + params.default_value = params.default_value + params.normalized_step_size = 1 / 100 + + local template = OptionsUtilities.create_percent_slider_template(params) + + template.after = params.parent_index + template.category = params.category + template.indentation_level = params.depth + template.tooltip_text = params.tooltip + + return template +end +_type_template_map["percent_slider"] = create_percent_slider_template - -- Disable Mod Options button during mods reloading - vmf:hook_safe(IngameView, "update_menu_options", function (self) - for _, button_info in ipairs(self.active_button_data) do - if button_info.transition == "vmf_options_view_open" then - button_info.widget.content.disabled = _button_injection_data.mod_options_button_disabled - button_info.widget.content.button_hotspot.disabled = _button_injection_data.mod_options_button_disabled - end - end - end) +-- Create value slider template +local create_value_slider_template = function (self, params) + + params.on_value_changed_function = function(new_value) + get_mod(params.mod_name):set(params.setting_id, new_value) + + return true + end + params.value_get_function = function() + return get_mod(params.mod_name):get(params.setting_id) + end + + params.display_name = params.title + params.apply_on_drag = true + params.default_value = params.default_value + params.max_value = params.range[2] + params.min_value = params.range[1] + params.num_decimals = params.decimals_number + params.step_size_value = math.pow(10, params.decimals_number * -1) + params.type = "value_slider" + + local template = OptionsUtilities.create_value_slider_template(params) + + template.after = params.parent_index + template.category = params.category + template.indentation_level = params.depth + template.tooltip_text = params.tooltip + + return template +end +_type_template_map["value_slider"] = create_value_slider_template +_type_template_map["numeric"] = create_value_slider_template - -- Inject Mod Options button in current ESC-menu layout - -- Disable localization for button widget - vmf:hook(IngameView, "setup_button_layout", function (func, self, layout_data, ...) - local mods_options_button = { - display_name = vmf:localize("mods_options"), - transition = "vmf_options_view_open", - fade = false +-- Create checkbox template +local create_checkbox_template = function (self, params) + local template = { + after = params.parent_index, + category = params.category, + default_value = params.default_value, + display_name = params.title, + indentation_level = params.depth, + tooltip_text = params.tooltip, + value_type = "boolean", + } + template.on_activated = function(new_value) + get_mod(params.mod_name):set(params.setting_id, new_value) + + return true + end + template.get_function = function() + return get_mod(params.mod_name):get(params.setting_id) + end + + return template +end +_type_template_map["checkbox"] = create_checkbox_template + + +-- Create dropdown template +local create_dropdown_template = function (self, params) + + for i = 1, #params.options do + params.options[i].id = i - 1 + params.options[i].display_name = params.options[i].text + end + + local template = { + after = params.parent_index, + category = params.category, + default_value = params.default_value, + display_name = params.title, + indentation_level = params.depth, + options = params.options, + tooltip_text = params.tooltip, + widget_type = "dropdown", + } + template.on_activated = function(new_value) + get_mod(params.mod_name):set(params.setting_id, new_value) + + return true + end + template.get_function = function() + return get_mod(params.mod_name):get(params.setting_id) + end + + return template +end +_type_template_map["dropdown"] = create_dropdown_template + + +local set_new_keybind = function (self, keybind_widget_content) + vmf.add_mod_keybind( + get_mod(keybind_widget_content.mod_name), + keybind_widget_content.setting_id, + { + global = keybind_widget_content.keybind_global, + trigger = keybind_widget_content.keybind_trigger, + type = keybind_widget_content.keybind_type, + keys = keybind_widget_content.keys, + function_name = keybind_widget_content.function_name, + view_name = keybind_widget_content.view_name, } - for i = 1, #layout_data do - if layout_data[i].transition == "options_menu" and layout_data[i + 1].transition ~= "vmf_options_view_open" then - table.insert(layout_data, i + 1, mods_options_button) - break + ) +end + + +-- Create keybind template +local create_keybind_template = function (self, params) + local reserved_keys = {} + local cancel_keys = { + "keyboard_esc" + } + local devices = { + "keyboard", + "mouse", + "xbox_controller", + "ps4_controller" + } + + local template = { + widget_type = "keybind", + service_type = "Ingame", + tooltip_text = params.tooltip, + display_name = params.title, + group_name = params.category, + category = params.category, + after = params.parent_index, + devices = devices, + sort_order = params.sort_order, + cancel_keys = cancel_keys, + reserved_keys = reserved_keys, + indentation_level = params.depth, + mod_name = params.mod_name, + setting_id = params.setting_id, + + on_activated = function (new_value, old_value) + + for i = 1, #cancel_keys do + local cancel_key = cancel_keys[i] + if cancel_key == new_value.main then + + -- Prevent unbinding the mod options menu + if params.setting_id ~= "open_vmf_options" then + + params.keybind_text = "" + params.keys = {} + + set_new_keybind(self, params) + end + return true + end end - end - func(self, layout_data, ...) - - for _, button_info in ipairs(self.active_button_data) do - if button_info.transition == "vmf_options_view_open" then - button_info.widget.style.text.localize = false - button_info.widget.style.text_disabled.localize = false - button_info.widget.style.text_click.localize = false - button_info.widget.style.text_hover.localize = false - button_info.widget.style.text_selected.localize = false + for i = 1, #reserved_keys do + local reserved_key = reserved_keys[i] + if reserved_key == new_value.main then + return false + end end - end - end) + + local device_type = InputUtils.key_device_type(new_value.main) + local key_name = InputUtils.local_key_name(new_value.main, device_type) + + params.keybind_text = key_name + params.keys = {key_name} + + set_new_keybind(self, params) + return true + end, + + get_function = function (template) + + local setting = get_mod(template.mod_name):get(template.setting_id) + local local_name = setting and setting[1] + if not local_name then + return false + end + + local global_name = InputUtils.local_to_global_name(local_name, "keyboard") + return { + main = global_name, + disablers = {}, + enablers = {}, + } + end, + } + + return template +end +_type_template_map["keybind"] = create_keybind_template -else +local function widget_data_to_template(self, data) + if data and data.type and type(data.type) == "string" and _type_template_map[data.type] then + return _type_template_map[data.type](self, data) + else + vmf:dump(data, "widget", 1) + vmf.throw_error("[widget \"%s\"]: 'type' field must contain valid widget type name.", data.setting_id) + end +end - local function get_mod_options_button_index(layout_logic) - for button_index, button_data in ipairs(layout_logic.active_button_data) do - if button_data.transition == "vmf_options_view_open" then - return button_index +-- Add mod categories to options view +local create_mod_category = function (self, categories, widget_data) + local category = { + can_be_reset = widget_data.can_be_reset or true, + display_name = widget_data.readable_mod_name or widget_data.mod_name or "", + icon = widget_data.icon_material or "content/ui/materials/icons/system/settings/category_gameplay", + custom = true + } + categories[#categories + 1] = category + return category +end + +-- #################################################################################################################### +-- ##### Hooks ######################################################################################################## +-- #################################################################################################################### + +-- #################################################################################################################### +-- ##### VMF internal functions and variables ######################################################################### +-- #################################################################################################################### + + +-- Add mod settings to options view +vmf.create_mod_options_settings = function (self, options_templates) + local categories = options_templates.categories + local settings = options_templates.settings + + for _, mod_data in ipairs(vmf.options_widgets_data) do + local category = create_mod_category(self, categories, mod_data[1]) + + for _, widget_data in ipairs(mod_data) do + local template = widget_data_to_template(self, widget_data) + if template then + template.custom = true + template.category = category.display_name + + settings[#settings + 1] = template end end end + return options_templates - -- Disable localization for Mod Options button widget for pc version of ESC-menu - -- Widget definition: ingame_view_definitions.lua -> UIWidgets.create_default_button - vmf:hook_safe(IngameView, "on_enter", function (self) - self.layout_logic._ingame_view = self - end) - vmf:hook_safe(IngameViewLayoutLogic, "setup_button_layout", function (self) - if self._ingame_view then - local mod_options_button_index = get_mod_options_button_index(self) - local button_widget = self._ingame_view.stored_buttons[mod_options_button_index] - button_widget.style.title_text.localize = false - button_widget.style.title_text_shadow.localize = false - button_widget.style.title_text_disabled.localize = false - end - end) + --[[local settings = OptionsView._options_templates.settings + for name, this_mod in pairs(Mods) do + -- Custom settings + if type(this_mod) == "table" and this_mod.options then - -- Disable localization for Mod Options button widget for console version of ESC-menu - -- Widget definition: hero_window_ingame_view_definitions.lua -> create_title_button - vmf:hook_safe(HeroWindowIngameView, "on_enter", function (self) - local button_widget = self._title_button_widgets[get_mod_options_button_index(self.layout_logic)] - button_widget.style.text.localize = false - button_widget.style.text_hover.localize = false - button_widget.style.text_shadow.localize = false - button_widget.style.text_disabled.localize = false - end) + local text = this_mod.text or name + Mods.Localization.add("loc_settings_menu_group_mods_"..name, text) - - -- Disable Mod Options button during mods reloading - vmf:hook_safe(IngameViewLayoutLogic, "_update_menu_options_enabled_states", function (self) - local mod_options_button_index = get_mod_options_button_index(self) - local mod_options_button_data = self.active_button_data[mod_options_button_index] - mod_options_button_data.disabled = _button_injection_data.mod_options_button_disabled - end) - - - -- Inject Mod Options button in all possible ESC-menu layouts (except for developer's one, because it will increase - -- the number of buttons to 10, when the hard limit is 9, which will crash the game) - vmf:hook_safe(IngameViewLayoutLogic, "init", function (self) - local mod_options_button = { - display_name = vmf:localize("mods_options"), - transition = "vmf_options_view_open", - fade = false - } - for _, layout in pairs(self.layout_list) do - for i = 1, #layout do - if layout[i].transition == "options_menu" and layout[i + 1].transition ~= "vmf_options_view_open" then - table.insert(layout, i + 1, mod_options_button) - break + local options_no_after = 0 + for _, option in pairs(this_mod.options) do + if not option.after then + options_no_after = options_no_after + 1 end end + + if options_no_after > 0 then + settings[#settings+1] = { + widget_type = "group_header", + group_name = "mods_settings", + display_name = "loc_settings_menu_group_mods_"..name, + category = "loc_settings_menu_category_mods", + custom = true, + } + end + + for _, setting in pairs(this_mod.options) do + setting.custom = true + setting.category = setting.category or "loc_settings_menu_category_mods" + setting.indentation_level = setting.after and 1 or 0 + if setting.after then + local index = self:after_index(OptionsView, setting.after) + table.insert(settings, index, setting) + else + settings[#settings+1] = setting + end + end + end - end) - - + end]] end vmf.initialize_vmf_options_view = function () - vmf:dofile("scripts/mods/vmf/modules/ui/options/vmf_options_view") - _button_injection_data.mod_options_button_disabled = false + vmf:add_require_path("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view") + vmf:add_require_path("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_definitions") + vmf:add_require_path("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings") + vmf:add_require_path("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_content_blueprints") + + vmf:register_view({ + view_name = "vmf_options_view", + view_settings = { + init_view_function = function (ingame_ui_context) + return true + end, + class = "VMFOptionsView", + disable_game_world = false, + display_name = "loc_options_view_display_name", + game_world_blur = 1.1, + load_always = true, + load_in_hub = true, + package = "packages/ui/views/options_view/options_view", + path = "dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view", + state_bound = true, + enter_sound_events = { + "wwise/events/ui/play_ui_enter_short" + }, + exit_sound_events = { + "wwise/events/ui/play_ui_back_short" + }, + wwise_states = { + options = "ingame_menu" + } + }, + view_transitions = {}, + view_options = { + close_all = false, + close_previous = false, + close_transition_time = nil, + transition_time = nil + } + }) + + vmf:dofile("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view") end - -vmf.disable_mods_options_button = function () - _button_injection_data.mod_options_button_disabled = true -end +-- #################################################################################################################### +-- ##### Script ####################################################################################################### +-- #################################################################################################################### diff --git a/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua index de31a69..0f0016a 100644 --- a/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua +++ b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view.lua @@ -1,4269 +1,15 @@ ---[[ - * If you're changing settings defined in widget via mod:set don't use values which aren't defined in widget - * Don't use tables in settings defined in widgets. The widgets are build to work with - basic datatypes (with exception of keybind widgets, but they are working differently) - * Using tables in mod:get and mod:set for the settings that are not defined in widgets is fine though, - but keep in mind, that every time you do it, this table will be cloned, so don't do it very frequently, - especially if the tables are big - * No external config files. Everything should be stored via mod:set - * Use mod:set only if you need setting to be saved in the config file - - - @TODO: [BUG] checkbox is checked at first tick after showing, since local_offset function is called after rect drawing - @TODO: [BUG] searchbar's input will stop working after using russian character - @TODO: [IMPROVEMENT] opened widgets are shown even behind the borders - @TODO: [IMPROVEMENT] dropdown widget goes up if there's not enough space at the bottom -]] local vmf = get_mod("VMF") ---vmf:custom_textures("header_fav_icon", "header_fav_icon_lit", "header_fav_arrow", "search_bar_icon") -vmf.custom_atlas(vmf, "materials/vmf/vmf_atlas", "vmf_atlas", "vmf_atlas_masked") - -vmf.inject_materials(vmf, "ingame_ui", "materials/vmf/vmf_atlas") +local _widgets_by_name -- #################################################################################################################### --- ##### MENU WIDGETS DEFINITIONS ##################################################################################### +-- ##### Local functions ############################################################################################## -- #################################################################################################################### --- Bandaid Fix for fancy ass ascii causing line checking errors. --- luacheck: no max_line_length --- Bandaid Fix for this file using lots of duplicated code and shadowed variables that could be refactored --- luacheck: ignore 4 - --- ███████╗ ██████╗███████╗███╗ ██╗███████╗ ██████╗ ██████╗ █████╗ ██████╗ ██╗ ██╗███████╗ --- ██╔════╝██╔════╝██╔════╝████╗ ██║██╔════╝██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║ ██║██╔════╝ --- ███████╗██║ █████╗ ██╔██╗ ██║█████╗ ██║ ███╗██████╔╝███████║██████╔╝███████║███████╗ --- ╚════██║██║ ██╔══╝ ██║╚██╗██║██╔══╝ ██║ ██║██╔══██╗██╔══██║██╔═══╝ ██╔══██║╚════██║ --- ███████║╚██████╗███████╗██║ ╚████║███████╗╚██████╔╝██║ ██║██║ ██║██║ ██║ ██║███████║ --- ╚══════╝ ╚═════╝╚══════╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝╚══════╝ - -local scenegraph_definition = { - - sg_root = { - size = {1920, 1080}, - position = {0, 0, UILayer.default + 10}, - is_root = true - }, - - sg_aligner = { - size = {1920, 1080}, - position = {0, 0, 0}, - - parent = "sg_root", - - horizontal_alignment = "center", - vertical_alignment = "center" - }, - - sg_background_border = { - size = {1206, 1056}, - position = {357, 12, 0}, - - parent = "sg_aligner" - }, - - sg_background_settings_list = { - size = {1200, 1000}, - position = {360, 65, 1}, - - parent = "sg_aligner" - }, - - sg_mousewheel_scroll_area = { - size = {1200, 1000}, - position = {0, 0, 0}, - - parent = "sg_background_settings_list" - }, - - sg_settings_list_mask = { - size = {1200, 1000}, - position = {0, 0, 2}, - - parent = "sg_background_settings_list" - }, - - sg_settings_list_mask_edge_fade_top = { - size = {1200, 15}, - position = {0, 985, 3}, - - parent = "sg_background_settings_list" - }, - - sg_settings_list_mask_edge_fade_bottom = { - size = {1200, 15}, - position = {0, 0, 3}, - - parent = "sg_background_settings_list" - }, - - sg_search_bar = { - size = {1200, 47}, - position = {360, 15, 1}, - - parent = "sg_aligner" - }, - - sg_scrollbar = { - size = {360, 1050}, - position = {1562, 40, 0}, - - parent = "sg_aligner" - }, - - sg_dead_space_filler = { - size = {1920, 1080}, - position = {0, 0, 0}, - scale = "fit" - } -} - - - - - - - - - - - - - - - - - - - -local function create_scrollbar(height, scenegraph_id) - return { - element = { - passes = { - { - pass_type = "texture", - style_id = "scroll_bar_bottom", - texture_id = "scroll_bar_bottom", - content_check_function = function (content) - return not content.disable_frame - end - }, - { - pass_type = "texture", - style_id = "scroll_bar_bottom_bg", - texture_id = "scroll_bar_bottom_bg", - content_check_function = function (content) - return not content.disable_frame - end - }, - { - pass_type = "tiled_texture", - style_id = "scroll_bar_middle", - texture_id = "scroll_bar_middle", - content_check_function = function (content) - return not content.disable_frame - end - }, - { - pass_type = "tiled_texture", - style_id = "scroll_bar_middle_bg", - texture_id = "scroll_bar_middle_bg", - content_check_function = function (content) - return not content.disable_frame - end - }, - { - pass_type = "texture", - style_id = "scroll_bar_top", - texture_id = "scroll_bar_top", - content_check_function = function (content) - return not content.disable_frame - end - }, - { - pass_type = "texture", - style_id = "scroll_bar_top_bg", - texture_id = "scroll_bar_top_bg", - content_check_function = function (content) - return not content.disable_frame - end - }, - { - style_id = "button_down", - pass_type = "hotspot", - content_id = "button_down_hotspot" - }, - { - style_id = "button_up", - pass_type = "hotspot", - content_id = "button_up_hotspot" - }, - { - pass_type = "local_offset", - offset_function = function (ui_scenegraph_, ui_style, ui_content, input_service_) - local scroll_bar_info = ui_content.scroll_bar_info - local scroll_bar_box = ui_style.scroll_bar_box - local scroll_size_y = scroll_bar_box.scroll_size_y - local percentage = math.max(scroll_bar_info.bar_height_percentage, 0.05) - scroll_bar_box.size[2] = scroll_size_y * percentage - local button_up_hotspot = ui_content.button_up_hotspot - - if button_up_hotspot.is_hover and button_up_hotspot.is_clicked == 0 then - ui_content.button_up = "scroll_bar_button_up_clicked" - else - ui_content.button_up = "scroll_bar_button_up" - end - - local button_down_hotspot = ui_content.button_down_hotspot - - if button_down_hotspot.is_hover and button_down_hotspot.is_clicked == 0 then - ui_content.button_down = "scroll_bar_button_down_clicked" - else - ui_content.button_down = "scroll_bar_button_down" - end - - local button_scroll_step = ui_content.button_scroll_step or 0.1 - - if button_up_hotspot.on_release then - local size_y = scroll_bar_box.size[2] - local scroll_size_y = scroll_bar_box.scroll_size_y - local start_y = scroll_bar_box.start_offset[2] - local end_y = (start_y + scroll_size_y) - size_y - local step_ = size_y / (start_y + end_y) - scroll_bar_info.value = math.max(scroll_bar_info.value - button_scroll_step, 0) - elseif button_down_hotspot.on_release then - local size_y = scroll_bar_box.size[2] - local scroll_size_y = scroll_bar_box.scroll_size_y - local start_y = scroll_bar_box.start_offset[2] - local end_y = (start_y + scroll_size_y) - size_y - local step_ = size_y / (start_y + end_y) - scroll_bar_info.value = math.min(scroll_bar_info.value + button_scroll_step, 1) - end - - return - end - }, - { - pass_type = "texture", - style_id = "button_down", - texture_id = "button_down" - }, - { - pass_type = "texture", - style_id = "button_up", - texture_id = "button_up" - }, - { - style_id = "scroll_bar_box", - pass_type = "hotspot", - content_id = "scroll_bar_info" - }, - { - style_id = "scroll_bar_box", - pass_type = "held", - content_id = "scroll_bar_info", - held_function = function (ui_scenegraph, ui_style, ui_content, input_service) - local cursor = UIInverseScaleVectorToResolution(input_service.get(input_service, "cursor")) - local cursor_y = cursor[2] - local world_pos = UISceneGraph.get_world_position(ui_scenegraph, ui_content.scenegraph_id) - local world_pos_y = world_pos[2] - local offset = ui_style.offset - local scroll_box_start = world_pos_y + offset[2] - local cursor_y_norm = cursor_y - scroll_box_start - - if not ui_content.click_pos_y then - ui_content.click_pos_y = cursor_y_norm - end - - local click_pos_y = ui_content.click_pos_y - local delta = cursor_y_norm - click_pos_y - local start_y = ui_style.start_offset[2] - local end_y = (start_y + ui_style.scroll_size_y) - ui_style.size[2] - local offset_y = math.clamp(offset[2] + delta, start_y, end_y) - local scroll_size = end_y - start_y - local scroll = end_y - offset_y - ui_content.value = (scroll ~= 0 and scroll / scroll_size) or 0 - - return - end, - release_function = function (ui_scenegraph_, ui_style_, ui_content, input_service_) - ui_content.click_pos_y = nil - - return - end - }, - { - pass_type = "local_offset", - content_id = "scroll_bar_info", - offset_function = function (ui_scenegraph_, ui_style, ui_content, input_service_) - local box_style = ui_style.scroll_bar_box - local box_size_y = box_style.size[2] - local start_y = box_style.start_offset[2] - local end_y = (start_y + box_style.scroll_size_y) - box_size_y - local scroll_size = end_y - start_y - local value = ui_content.value - local offset_y = start_y + scroll_size * (1 - value) - box_style.offset[2] = offset_y - local box_bottom = ui_style.scroll_bar_box_bottom - local box_middle = ui_style.scroll_bar_box_middle - local box_top = ui_style.scroll_bar_box_top - local box_bottom_size_y = box_bottom.size[2] - local box_top_size_y = box_top.size[2] - box_bottom.offset[2] = offset_y - box_top.offset[2] = (offset_y + box_size_y) - box_top_size_y - box_middle.offset[2] = offset_y + box_bottom_size_y - box_middle.size[2] = box_size_y - box_bottom_size_y - box_top_size_y - - return - end - }, - { - pass_type = "texture", - style_id = "scroll_bar_box_bottom", - texture_id = "scroll_bar_box_bottom" - }, - { - pass_type = "tiled_texture", - style_id = "scroll_bar_box_middle", - texture_id = "scroll_bar_box_middle" - }, - { - pass_type = "texture", - style_id = "scroll_bar_box_top", - texture_id = "scroll_bar_box_top" - } - } - }, - content = { - scroll_bar_bottom_bg = "scroll_bar_bottom_bg", - scroll_bar_top_bg = "scroll_bar_top_bg", - scroll_bar_middle = "scroll_bar_middle", - button_up = "scroll_bar_button_up", - scroll_bar_box_bottom = "scroll_bar_box_bottom", - scroll_bar_middle_bg = "scroll_bar_middle_bg", - scroll_bar_bottom = "scroll_bar_bottom", - disable_frame = false, - scroll_bar_box_middle = "scroll_bar_box_middle", - scroll_bar_box_top = "scroll_bar_box_top", - button_down = "scroll_bar_button_down", - scroll_bar_top = "scroll_bar_top", - scroll_bar_info = { - button_scroll_step = 0.1, - value = 0, - bar_height_percentage = 1, - scenegraph_id = scenegraph_id - }, - button_up_hotspot = {}, - button_down_hotspot = {} - }, - style = { - scroll_bar_bottom = { - size = { - 26, - 116 - } - }, - scroll_bar_bottom_bg = { - offset = { - 0, - 0, - -1 - }, - size = { - 26, - 116 - } - }, - scroll_bar_middle = { - offset = { - 0, - 116, - 0 - }, - size = { - 26, - height - 232 - }, - texture_tiling_size = { - 26, - 44 - } - }, - scroll_bar_middle_bg = { - offset = { - 0, - 116, - -1 - }, - size = { - 26, - height - 232 - }, - texture_tiling_size = { - 26, - 44 - } - }, - scroll_bar_top = { - offset = { - 0, - height - 116, - 0 - }, - size = { - 26, - 116 - } - }, - scroll_bar_top_bg = { - offset = { - 0, - height - 116, - -1 - }, - size = { - 26, - 116 - } - }, - button_down = { - offset = { - 5, - 4, - 0 - }, - size = { - 16, - 18 - } - }, - button_up = { - offset = { - 5, - height - 22, - 0 - }, - size = { - 16, - 18 - } - }, - scroll_bar_box = { - offset = { - 4, - 22, - 100 - }, - size = { - 18, - height - 44 - }, - color = { - 255, - 255, - 255, - 255 - }, - start_offset = { - 4, - 22, - 0 - }, - scroll_size_y = height - 44 - }, - scroll_bar_box_bottom = { - offset = { - 4, - 0, - 0 - }, - size = { - 18, - 8 - } - }, - scroll_bar_box_middle = { - offset = { - 4, - 0, - 0 - }, - size = { - 18, - 26 - }, - texture_tiling_size = { - 18, - 26 - } - }, - scroll_bar_box_top = { - offset = { - 4, - 0, - 0 - }, - size = { - 18, - 8 - } - } - }, - scenegraph_id = scenegraph_id - } +local function load_scrolling_speed_setting() + if vmf:get("vmf_options_scrolling_speed") and _widgets_by_name and _widgets_by_name["scrollbar"] then + _widgets_by_name["scrollbar"].content.scroll_speed = vmf:get("vmf_options_scrolling_speed") end ---███╗ ███╗███████╗███╗ ██╗██╗ ██╗ ██╗ ██╗██╗██████╗ ██████╗ ███████╗████████╗███████╗ ---████╗ ████║██╔════╝████╗ ██║██║ ██║ ██║ ██║██║██╔══██╗██╔════╝ ██╔════╝╚══██╔══╝██╔════╝ ---██╔████╔██║█████╗ ██╔██╗ ██║██║ ██║ ██║ █╗ ██║██║██║ ██║██║ ███╗█████╗ ██║ ███████╗ ---██║╚██╔╝██║██╔══╝ ██║╚██╗██║██║ ██║ ██║███╗██║██║██║ ██║██║ ██║██╔══╝ ██║ ╚════██║ ---██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝ ╚███╔███╔╝██║██████╔╝╚██████╔╝███████╗ ██║ ███████║ ---╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═════╝ ╚══╝╚══╝ ╚═╝╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝ - - -local menu_widgets_definition = { - static_menu_elements = { - scenegraph_id = "sg_root", - element = { - passes = { - { - pass_type = "rect", - - style_id = "background_border" - }, - { - pass_type = "rect", - - style_id = "background_settings_list" - }, - { - pass_type = "texture", - - style_id = "settings_list_mask", - texture_id = "settings_list_mask_texture_id" - }, - { - pass_type = "texture_uv", - - style_id = "settings_list_mask_edge_fade_top", - content_id = "settings_list_mask_edge_fade_top" - }, - { - pass_type = "texture_uv", - - style_id = "settings_list_mask_edge_fade_bottom", - content_id = "settings_list_mask_edge_fade_bottom" - }, - { - pass_type = "rect", - - style_id = "dead_space_filler" - } - } - }, - content = { - settings_list_mask_texture_id = "mask_rect", - - settings_list_mask_edge_fade_top = { - texture_id = "mask_rect_edge_fade", - uvs = {{0, 0}, {1, 1}} - }, - - settings_list_mask_edge_fade_bottom = { - texture_id = "mask_rect_edge_fade", - uvs = {{0, 1}, {1, 0}} - } - }, - style = { - - background_border = { - scenegraph_id = "sg_background_border", - color = {255, 140, 100, 50} - }, - - background_settings_list = { - scenegraph_id = "sg_background_settings_list", - color = {255, 0, 0, 0} - }, - - settings_list_mask = { - scenegraph_id = "sg_settings_list_mask", - color = {255, 255, 255, 255} - }, - - settings_list_mask_edge_fade_top = { - scenegraph_id = "sg_settings_list_mask_edge_fade_top", - color = {255, 255, 255, 255} - }, - - settings_list_mask_edge_fade_bottom = { - scenegraph_id = "sg_settings_list_mask_edge_fade_bottom", - color = {255, 255, 255, 255} - }, - - dead_space_filler = { - scenegraph_id = "sg_dead_space_filler", - color = {150, 0, 0, 0} - } - } - }, - - search_bar = { - scenegraph_id = "sg_search_bar", - element = { - passes = { - { - pass_type = "hotspot", - - content_id = "hotspot" - }, - { - pass_type = "rect", - - style_id = "background", - - content_check_function = function (content, style) - - if content.is_active then - style.color[2] = 50 - style.color[3] = 50 - style.color[4] = 50 - else - if content.hotspot.is_hover then - style.color[2] = 25 - style.color[3] = 25 - style.color[4] = 25 - else - style.color[2] = 0 - style.color[3] = 0 - style.color[4] = 0 - end - end - return true - end - }, - { - pass_type = "texture", - - style_id = "search_icon", - texture_id = "search_icon_texture" - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - } - } - }, - content = { - hotspot = {}, - text = "", - search_icon_texture = "search_bar_icon" - }, - style = { - text = { - offset = {46, 2, 3}, - font_size = 28, - font_type = "hell_shark", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) - }, - search_icon = { - size = {30, 30}, - offset = {8, 8, 3} - }, - background = { - color = {255, 0, 0, 0} - } - } - }, - - mousewheel_scroll_area = { - scenegraph_id = "sg_mousewheel_scroll_area", - element = { - passes = { - { - pass_type = "scroll", - -- the function is called only during scrolls - scroll_function = function (ui_scenegraph_, style_, content, input_service_, scroll_axis) - - content.internal_scroll_value = content.internal_scroll_value - scroll_axis.y - end - } - } - }, - content = { - internal_scroll_value = 0, - scroll_step = 0.01 - }, - style = { - } - }, - - scrollbar = create_scrollbar(scenegraph_definition.sg_scrollbar.size[2], "sg_scrollbar") -} - --- @TODO: make scrollbar full windowed o_O - -menu_widgets_definition.scrollbar.element.passes[15].pass_type = "rect" -menu_widgets_definition.scrollbar.style.scroll_bar_box_bottom.color = {200, 140, 100, 50} -menu_widgets_definition.scrollbar.style.scroll_bar_box_bottom.size[1] = 12 - -menu_widgets_definition.scrollbar.element.passes[16].pass_type = "rect" -menu_widgets_definition.scrollbar.style.scroll_bar_box_middle.color = {200, 140, 100, 50} -menu_widgets_definition.scrollbar.style.scroll_bar_box_middle.size[1] = 12 - -menu_widgets_definition.scrollbar.element.passes[17].pass_type = "rect" -menu_widgets_definition.scrollbar.style.scroll_bar_box_top.color = {200, 140, 100, 50} -menu_widgets_definition.scrollbar.style.scroll_bar_box_top.size[1] = 12 - - - -local original_scrollbar_function = menu_widgets_definition.scrollbar.element.passes[9].offset_function - -menu_widgets_definition.scrollbar.element.passes[9].offset_function = function (scenegraph, style, content, input_service) - original_scrollbar_function(scenegraph, style, content, input_service) - - style.scroll_bar_box_top.color = content.scroll_bar_info.is_hover and {255, 140, 100, 50} or {200, 140, 100, 50} - style.scroll_bar_box_middle.color = content.scroll_bar_info.is_hover and {255, 140, 100, 50} or {200, 140, 100, 50} - style.scroll_bar_box_bottom.color = content.scroll_bar_info.is_hover and {255, 140, 100, 50} or {200, 140, 100, 50} -end - -menu_widgets_definition.scrollbar.content.scroll_bar_info.bar_height_percentage = 0.5 -menu_widgets_definition.scrollbar.content.scroll_bar_info.old_value = 0 -menu_widgets_definition.scrollbar.content.disable_frame = true -menu_widgets_definition.scrollbar.style.scroll_bar_box.size[1] = 360 -- don't change visual scrollbox size - -menu_widgets_definition.scrollbar.content.button_up_hotspot.disable_button = true -menu_widgets_definition.scrollbar.content.button_down_hotspot.disable_button = true - --- removing up and down buttons -table.remove(menu_widgets_definition.scrollbar.element.passes, 7) -table.remove(menu_widgets_definition.scrollbar.element.passes, 7) -table.remove(menu_widgets_definition.scrollbar.element.passes, 8) -table.remove(menu_widgets_definition.scrollbar.element.passes, 8) - - - - - - --- #################################################################################################################### --- ##### SETTINGS LIST WIDGETS DEFINITIONS ############################################################################ --- #################################################################################################################### - -script_data.ui_debug_hover = false - -local DEBUG_WIDGETS = false - -local SETTINGS_LIST_HEADER_WIDGET_SIZE = {1194, 80} -local SETTINGS_LIST_REGULAR_WIDGET_SIZE = {1194, 50} - - -local function create_show_widget_condition(widget_definition) - local show_widget_condition = nil - if widget_definition.show_widget_condition then - show_widget_condition = {} - for _, i in ipairs(widget_definition.show_widget_condition) do - show_widget_condition[i] = true - end - end - return show_widget_condition -end - --- ██╗ ██╗███████╗ █████╗ ██████╗ ███████╗██████╗ --- ██║ ██║██╔════╝██╔══██╗██╔══██╗██╔════╝██╔══██╗ --- ███████║█████╗ ███████║██║ ██║█████╗ ██████╔╝ --- ██╔══██║██╔══╝ ██╔══██║██║ ██║██╔══╝ ██╔══██╗ --- ██║ ██║███████╗██║ ██║██████╔╝███████╗██║ ██║ --- ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝ - - -local function create_header_widget(widget_definition, scenegraph_id) - - local widget_size = SETTINGS_LIST_HEADER_WIDGET_SIZE - local offset_y = -widget_size[2] - - local definition = { - element = { - passes = { - -- VISUALS - { - pass_type = "texture", - - style_id = "background", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "highlight_texture", - texture_id = "highlight_texture", - - content_check_function = function (content) - return content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "texture", - - style_id = "fav_icon", - texture_id = "fav_icon_texture", - - content_check_function = function (content) - return content.is_favorited or content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "texture", - - style_id = "fav_arrow_up", - texture_id = "fav_arrow_texture", - - content_check_function = function (content) - return content.is_favorited and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "rotated_texture", - - style_id = "fav_arrow_down", - texture_id = "fav_arrow_texture", - - content_check_function = function (content) - return content.is_favorited and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - --[[ - { - pass_type = "texture", - - style_id = "checkbox", - texture_id = "checkbox_texture", - - content_check_function = function (content) - return content.is_checkbox_visible - end - }, - --]] - ---[[ - { - pass_type = "texture", - - style_id = "checkbox_border", - texture_id = "rect_masked_texture", - - content_check_function = function (content) - return content.is_checkbox_visible - end - }, - { - pass_type = "texture", - - style_id = "checkbox_background", - texture_id = "rect_masked_texture", - - content_check_function = function (content) - return content.is_checkbox_visible - end - }, - { - pass_type = "texture", - - style_id = "checkbox_fill", - texture_id = "rect_masked_texture", - - content_check_function = function (content) - return content.is_checkbox_visible - end - }, - --]] - -- HOTSPOTS - { - pass_type = "hotspot", - - style_id = "fav_icon_hotspot", - content_id = "fav_icon_hotspot" - }, - { - pass_type = "hotspot", - - style_id = "fav_arrow_up_hotspot", - content_id = "fav_arrow_up_hotspot", - - content_check_function = function (content) - return content.parent.is_favorited - end - }, - { - pass_type = "hotspot", - - style_id = "fav_arrow_down_hotspot", - content_id = "fav_arrow_down_hotspot", - - content_check_function = function (content) - return content.parent.is_favorited - end - }, - { - pass_type = "hotspot", - - style_id = "checkbox_hotspot", - content_id = "checkbox_hotspot", - - content_check_function = function (content) - return content.parent.is_checkbox_visible - end - }, - { - pass_type = "hotspot", - - content_id = "highlight_hotspot" - }, - -- PROCESSING - { - pass_type = "local_offset", - - offset_function = function (ui_scenegraph_, style, content, ui_renderer) - - local is_interactable = content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - - if is_interactable then - - if content.tooltip_text then - style.tooltip_text.cursor_offset = content.callback_fit_tooltip_to_the_screen(content, style.tooltip_text, ui_renderer) - end - - if content.highlight_hotspot.on_release and not content.checkbox_hotspot.on_release and not content.fav_icon_hotspot.on_release - and not content.fav_arrow_up_hotspot.on_release and not content.fav_arrow_down_hotspot.on_release then - - content.callback_hide_sub_widgets(content) - end - - if content.fav_icon_hotspot.on_release and not content.fav_arrow_up_hotspot.on_release and not content.fav_arrow_down_hotspot.on_release then - content.callback_favorite(content) - end - - if content.fav_arrow_up_hotspot.on_release then - content.callback_move_favorite(content, true) - end - - if content.fav_arrow_down_hotspot.on_release then - content.callback_move_favorite(content, false) - end - - if content.checkbox_hotspot.on_release then - - if content.is_widget_collapsed then - content.callback_hide_sub_widgets(content) - end - - local mod_name = content.mod_name - local is_mod_enabled = not content.is_checkbox_checked - - content.is_checkbox_checked = is_mod_enabled - - content.callback_mod_state_changed(mod_name, is_mod_enabled) - end - end - - content.fav_icon_texture = content.is_favorited and "header_fav_icon_lit" or "header_fav_icon" - --content.checkbox_texture = content.is_checkbox_checked and "checkbox_checked" or "checkbox_unchecked" - style.fav_arrow_up.color[1] = is_interactable and content.fav_arrow_up_hotspot.is_hover and 255 or 90 - style.fav_arrow_down.color[1] = is_interactable and content.fav_arrow_down_hotspot.is_hover and 255 or 90 - - style.background.color = content.is_widget_collapsed and {255, 110, 78, 39} or {255, 57, 39, 21} - if content.is_checkbox_checked then - style.checkbox_fill.color = is_interactable and content.checkbox_hotspot.is_hover and {255, 255, 255, 255} or {255, 255, 168, 0} - else - style.checkbox_fill.color = is_interactable and content.checkbox_hotspot.is_hover and {255, 100, 100, 100} or {255, 0, 0, 0} - end - if content.is_widget_collapsed then - style.checkbox_border.color = is_interactable and content.checkbox_hotspot.is_hover and {255, 166, 118, 61} or {255, 154, 109, 55} - else - style.checkbox_border.color = is_interactable and content.checkbox_hotspot.is_hover and {255, 103, 71, 38} or {255, 89, 61, 32} - end - end - }, - -- TOOLTIP - { - pass_type = "tooltip_text", - - text_id = "tooltip_text", - style_id = "tooltip_text", - content_check_function = function (content) - return content.tooltip_text and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - -- DEBUG - { - pass_type = "border", - - content_check_function = function (content_, style) - if DEBUG_WIDGETS then - style.thickness = 1 - end - - return DEBUG_WIDGETS - end - }, - { - pass_type = "rect", - - style_id = "debug_middle_line", - content_check_function = function () - return DEBUG_WIDGETS - end - } - } - }, - content = { - is_checkbox_checked = true, - is_checkbox_visible = false, - is_widget_visible = true, - is_widget_collapsed = widget_definition.is_collapsed, - is_favorited = widget_definition.is_favorited, - - rect_masked_texture = "rect_masked", - fav_icon_texture = "header_fav_icon", - --checkbox_texture = "checkbox_unchecked", - highlight_texture = "playerlist_hover", - background_texture = "header_background", - fav_arrow_texture = "header_fav_arrow", - - fav_icon_hotspot = {}, - fav_arrow_up_hotspot = {}, - fav_arrow_down_hotspot = {}, - checkbox_hotspot = {}, - highlight_hotspot = {}, - - text = widget_definition.readable_mod_name, - tooltip_text = widget_definition.tooltip, - - mod_name = widget_definition.mod_name, - widget_type = widget_definition.type - }, - style = { - - -- VISUALS - - background = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 0}, - color = {255, 57, 39, 21} - }, - - highlight_texture = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 2}, - color = {255, 255, 255, 255}, - masked = true - }, - - fav_icon = { - size = {30, 30}, - offset = {15, offset_y + 25, 3}, - masked = true - }, - - fav_arrow_up = { - size = {20, 20}, - offset = {20, offset_y + 57, 3}, - color = {90, 255, 255, 255}, - masked = true - }, - - fav_arrow_down = { - size = {20, 20}, - offset = {20, offset_y + 3, 3}, - angle = math.pi, - pivot = {10, 10}, - color = {90, 255, 255, 255}, - masked = true - }, - - text = { - offset = {60, offset_y + 18, 3}, - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) - }, ---[[ - checkbox = { - size = {30, 30}, - offset = {widget_size[1] - 180, offset_y + 25, 3}, - masked = true - }, -]] - checkbox_border = { - offset = {widget_size[1] - 184, offset_y + 21, 1}, - size = {38, 38}, - color = {255, 89, 61, 32} - }, - - checkbox_background = { - offset = {widget_size[1] - 176, offset_y + 29, 3}, - size = {22, 22}, - color = {255, 0, 0, 0} - }, - - checkbox_fill = { - offset = {widget_size[1] - 174, offset_y + 31, 4}, - size = {18, 18}, - color = {255, 255, 168, 0} - }, - -- HOTSPOTS - - fav_icon_hotspot = { - size = {60, widget_size[2]}, - offset = {0, offset_y, 3} - }, - - fav_arrow_up_hotspot = { - size = {60, 20}, - offset = {0, offset_y + 60, 3} - }, - - fav_arrow_down_hotspot = { - size = {60, 20}, - offset = {0, offset_y, 3} - }, - - checkbox_hotspot = { - size = {270, widget_size[2]}, - offset = {widget_size[1] - 300, offset_y, 0} - }, - - -- TOOLTIP - - tooltip_text = { - font_type = "hell_shark", - font_size = 18, - horizontal_alignment = "left", - vertical_alignment = "top", - cursor_side = "right", - max_width = 600, - cursor_offset = {27, 27}, - cursor_offset_bottom = {27, 27}, - cursor_offset_top = {27, -27} - }, - - -- DEBUG - - debug_middle_line = { - size = {widget_size[1], 1}, - offset = {0, (offset_y + widget_size[2]/2) - 1, 3}, - color = {200, 0, 255, 0} - }, - - offset = {0, offset_y, 0}, - size = {widget_size[1], widget_size[2]}, - color = {50, 255, 255, 255} - }, - scenegraph_id = scenegraph_id, - offset = {0, 0, 0} - } - - return UIWidget.init(definition) -end - --- ██████╗██╗ ██╗███████╗ ██████╗██╗ ██╗██████╗ ██████╗ ██╗ ██╗ --- ██╔════╝██║ ██║██╔════╝██╔════╝██║ ██╔╝██╔══██╗██╔═══██╗╚██╗██╔╝ --- ██║ ███████║█████╗ ██║ █████╔╝ ██████╔╝██║ ██║ ╚███╔╝ --- ██║ ██╔══██║██╔══╝ ██║ ██╔═██╗ ██╔══██╗██║ ██║ ██╔██╗ --- ╚██████╗██║ ██║███████╗╚██████╗██║ ██╗██████╔╝╚██████╔╝██╔╝ ██╗ --- ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝ - -local function create_checkbox_widget(widget_definition, scenegraph_id) - - local widget_size = SETTINGS_LIST_REGULAR_WIDGET_SIZE - local offset_y = -widget_size[2] - - local show_widget_condition = create_show_widget_condition(widget_definition) - - local definition = { - element = { - passes = { - -- VISUALS - { - pass_type = "texture", - - style_id = "background", - texture_id = "rect_masked_texture", - - content_check_function = function (content) - return content.is_widget_collapsed - end - }, - { - pass_type = "texture", - - style_id = "highlight_texture", - texture_id = "highlight_texture", - content_check_function = function (content) - return content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - { - pass_type = "texture", - - style_id = "checkbox_border", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "checkbox_background", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "checkbox_fill", - texture_id = "rect_masked_texture" - }, - -- HOTSPOTS - { - pass_type = "hotspot", - - style_id = "checkbox_hotspot", - content_id = "checkbox_hotspot" - }, - { - pass_type = "hotspot", - - content_id = "highlight_hotspot" - }, - -- PROCESSING - { - pass_type = "local_offset", - - offset_function = function (ui_scenegraph_, style, content, ui_renderer) - - local is_interactable = content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - - if is_interactable then - - if content.tooltip_text then - style.tooltip_text.cursor_offset = content.callback_fit_tooltip_to_the_screen(content, style.tooltip_text, ui_renderer) - end - - if content.highlight_hotspot.on_release and not content.checkbox_hotspot.on_release then - content.callback_hide_sub_widgets(content) - end - - if content.checkbox_hotspot.on_release then - - if content.is_widget_collapsed then - content.callback_hide_sub_widgets(content) - end - - local mod_name = content.mod_name - local setting_id = content.setting_id - local old_value = content.is_checkbox_checked - local new_value = not old_value - - content.is_checkbox_checked = new_value - - content.callback_setting_changed(mod_name, setting_id, old_value, new_value) - end - end - - if content.is_checkbox_checked then - style.checkbox_fill.color = is_interactable and content.checkbox_hotspot.is_hover and {255, 255, 255, 255} or {255, 255, 168, 0} - else - style.checkbox_fill.color = is_interactable and content.checkbox_hotspot.is_hover and {255, 100, 100, 100} or {255, 0, 0, 0} - end - style.checkbox_border.color = is_interactable and content.checkbox_hotspot.is_hover and {255, 45, 45, 45} or {255, 30, 30, 30} - end - }, - -- TOOLTIP - { - pass_type = "tooltip_text", - - text_id = "tooltip_text", - style_id = "tooltip_text", - content_check_function = function (content) - return content.tooltip_text and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - -- DEBUG - { - pass_type = "rect", - - content_check_function = function () - return DEBUG_WIDGETS - end - }, - { - pass_type = "border", - - content_check_function = function (content_, style) - if DEBUG_WIDGETS then - style.thickness = 1 - end - - return DEBUG_WIDGETS - end - }, - { - pass_type = "rect", - - style_id = "debug_middle_line", - content_check_function = function () - return DEBUG_WIDGETS - end - } - } - }, - content = { - is_checkbox_checked = false, - is_widget_visible = true, - is_widget_collapsed = widget_definition.is_collapsed, - - rect_masked_texture = "rect_masked", - highlight_texture = "playerlist_hover", - - checkbox_hotspot = {}, - highlight_hotspot = {}, - - text = widget_definition.title, - tooltip_text = widget_definition.tooltip, - - mod_name = widget_definition.mod_name, - setting_id = widget_definition.setting_id, - widget_type = widget_definition.type, - default_value = widget_definition.default_value, - parent_widget_number = widget_definition.parent_index, - show_widget_condition = show_widget_condition - }, - style = { - - -- VISUALS - background = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 0}, - color = {255, 30, 23, 15} - }, - - highlight_texture = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 2}, - masked = true - }, - - text = { - offset = {60 + widget_definition.depth * 40, offset_y + 5, 3}, - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) - }, - - checkbox_border = { - offset = {widget_size[1] - 182, offset_y + 8, 1}, - size = {34, 34}, - color = {255, 30, 30, 30} - }, - - checkbox_background = { - offset = {widget_size[1] - 174, offset_y + 16, 3}, - size = {18, 18}, - color = {255, 0, 0, 0} - }, - - checkbox_fill = { - offset = {widget_size[1] - 172, offset_y + 18, 4}, - size = {14, 14}, - color = {255, 255, 168, 0} - }, - - -- HOTSPOTS - - checkbox_hotspot = { - size = {270, widget_size[2]}, - offset = {widget_size[1] - 300, offset_y, 0} - }, - - -- TOOLTIP - - tooltip_text = { - font_type = "hell_shark", - font_size = 18, - horizontal_alignment = "left", - vertical_alignment = "top", - cursor_side = "right", - max_width = 600, - cursor_offset = {27, 27}, - cursor_offset_bottom = {27, 27}, - cursor_offset_top = {27, -27}, - line_colors = { - Colors.get_color_table_with_alpha("cheeseburger", 255), - Colors.get_color_table_with_alpha("white", 255) - } - }, - - -- DEBUG - - debug_middle_line = { - size = {widget_size[1], 2}, - offset = {0, (offset_y + widget_size[2]/2) - 1, 10}, - color = {200, 0, 255, 0} - }, - - offset = {0, offset_y, 0}, - size = {widget_size[1], widget_size[2]}, - color = {50, 255, 255, 255} - }, - scenegraph_id = scenegraph_id, - offset = {0, 0, 0} - } - - return UIWidget.init(definition) -end - - --- ██████╗ ██████╗ ██████╗ ██╗ ██╗██████╗ --- ██╔════╝ ██╔══██╗██╔═══██╗██║ ██║██╔══██╗ --- ██║ ███╗██████╔╝██║ ██║██║ ██║██████╔╝ --- ██║ ██║██╔══██╗██║ ██║██║ ██║██╔═══╝ --- ╚██████╔╝██║ ██║╚██████╔╝╚██████╔╝██║ --- ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ - - -local function create_group_widget(widget_definition, scenegraph_id) - - local widget_size = SETTINGS_LIST_REGULAR_WIDGET_SIZE - local offset_y = -widget_size[2] - - local show_widget_condition = create_show_widget_condition(widget_definition) - - local definition = { - element = { - passes = { - -- VISUALS - { - pass_type = "texture", - - style_id = "background", - texture_id = "rect_masked_texture", - - content_check_function = function (content) - return content.is_widget_collapsed - end - }, - { - pass_type = "texture", - - style_id = "highlight_texture", - texture_id = "highlight_texture", - content_check_function = function (content) - return content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - -- HOTSPOTS - { - pass_type = "hotspot", - - content_id = "highlight_hotspot" - }, - -- PROCESSING - { - pass_type = "local_offset", - - offset_function = function (ui_scenegraph_, style, content, ui_renderer) - - local is_interactable = content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - - if is_interactable then - - if content.tooltip_text then - style.tooltip_text.cursor_offset = content.callback_fit_tooltip_to_the_screen(content, style.tooltip_text, ui_renderer) - end - - if content.highlight_hotspot.on_release then - content.callback_hide_sub_widgets(content) - end - end - end - }, - -- TOOLTIP - { - pass_type = "tooltip_text", - - text_id = "tooltip_text", - style_id = "tooltip_text", - content_check_function = function (content) - return content.tooltip_text and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - -- DEBUG - { - pass_type = "rect", - - content_check_function = function () - return DEBUG_WIDGETS - end - }, - { - pass_type = "border", - - content_check_function = function (content_, style) - if DEBUG_WIDGETS then - style.thickness = 1 - end - - return DEBUG_WIDGETS - end - }, - { - pass_type = "rect", - - style_id = "debug_middle_line", - content_check_function = function () - return DEBUG_WIDGETS - end - } - } - }, - content = { - is_widget_visible = true, - is_widget_collapsed = widget_definition.is_collapsed, - - highlight_texture = "playerlist_hover", - rect_masked_texture = "rect_masked", - - highlight_hotspot = {}, - - text = widget_definition.title, - tooltip_text = widget_definition.tooltip, - - - mod_name = widget_definition.mod_name, - setting_id = widget_definition.setting_id, - widget_type = widget_definition.type, - parent_widget_number = widget_definition.parent_index, - show_widget_condition = show_widget_condition - }, - style = { - - -- VISUALS - background = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 0}, - color = {255, 30, 23, 15} - }, - - highlight_texture = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 1}, - masked = true - }, - - text = { - offset = {60 + widget_definition.depth * 40, offset_y + 5, 2}, - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) - }, - - -- TOOLTIP - - tooltip_text = { - font_type = "hell_shark", - font_size = 18, - horizontal_alignment = "left", - vertical_alignment = "top", - cursor_side = "right", - max_width = 600, - cursor_offset = {27, 27}, - cursor_offset_bottom = {27, 27}, - cursor_offset_top = {27, -27}, - line_colors = { - Colors.get_color_table_with_alpha("cheeseburger", 255), - Colors.get_color_table_with_alpha("white", 255) - } - }, - - -- DEBUG - - debug_middle_line = { - size = {widget_size[1], 2}, - offset = {0, (offset_y + widget_size[2]/2) - 1, 10}, - color = {200, 0, 255, 0} - }, - - offset = {0, offset_y, 0}, - size = {widget_size[1], widget_size[2]}, - color = {50, 255, 255, 255} - }, - scenegraph_id = scenegraph_id, - offset = {0, 0, 0} - } - - return UIWidget.init(definition) -end - --- ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███╗ ██╗ --- ██╔══██╗██╔══██╗██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██║████╗ ██║ --- ██║ ██║██████╔╝██║ ██║██████╔╝██║ ██║██║ ██║██║ █╗ ██║██╔██╗ ██║ --- ██║ ██║██╔══██╗██║ ██║██╔═══╝ ██║ ██║██║ ██║██║███╗██║██║╚██╗██║ --- ██████╔╝██║ ██║╚██████╔╝██║ ██████╔╝╚██████╔╝╚███╔███╔╝██║ ╚████║ --- ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚═╝ ╚═══╝ - -local function create_dropdown_menu_widget(dropdown_definition, scenegraph_2nd_layer_id) - - local offset_x = dropdown_definition.style.border_bottom.offset[1] - local offset_y = dropdown_definition.style.border_bottom.offset[2] - --local offset_y = dropdown_definition.style.offset[2] - local size_x = dropdown_definition.style.border_bottom.size[1] - local options_texts = dropdown_definition.content.options_texts - local string_height = 35 - local size_y = #options_texts * string_height - - local definition = { - element = { - passes = { - { - pass_type = "texture", - - style_id = "background", - texture_id = "rect_masked_texture" - } - } - }, - content = { - rect_masked_texture = "rect_masked", - }, - style = { - background = { - size = {size_x, size_y}, - offset = {offset_x, offset_y - size_y, 20}, - color = {255, 10, 10, 10} - } - }, - scenegraph_id = scenegraph_2nd_layer_id, - offset = {0, 0, 0} - } - - for i, options_text in ipairs(options_texts) do - - -- HOTSPOT - - local lua_hotspot_name = "hotspot" .. tostring(i) - - -- pass - local pass = { - pass_type = "hotspot", - - style_id = lua_hotspot_name, - content_id = lua_hotspot_name - } - table.insert(definition.element.passes, pass) - - -- content - definition.content[lua_hotspot_name] = {} - definition.content[lua_hotspot_name].num = i - - -- style - definition.style[lua_hotspot_name] = { - offset = {offset_x, offset_y - string_height * i, 21}, - size = {size_x, string_height} - } - - -- OPTION TEXT - - local lua_text_name = "text" .. tostring(i) - - -- pass - pass = { - pass_type = "text", - - style_id = lua_text_name, - text_id = lua_text_name, - - content_check_function = function (content, style) - - style.text_color = content[lua_hotspot_name].is_hover and Colors.get_color_table_with_alpha("white", 255) or Colors.get_color_table_with_alpha("cheeseburger", 255) - return true - end - } - table.insert(definition.element.passes, pass) - - -- content - definition.content[lua_text_name] = options_text - - -- style - definition.style[lua_text_name] = { - offset = {offset_x + size_x / 2, offset_y - string_height * i, 21}, - horizontal_alignment = "center", - font_size = 24, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("cheeseburger", 255) - } - end - - return UIWidget.init(definition) -end - - -local function create_dropdown_widget(widget_definition, scenegraph_id, scenegraph_2nd_layer_id) - - local widget_size = SETTINGS_LIST_REGULAR_WIDGET_SIZE - local offset_y = -widget_size[2] - - local show_widget_condition = create_show_widget_condition(widget_definition) - - local options_texts = {} - local options_values = {} - local options_shown_widgets = {} - - for i, option in ipairs(widget_definition.options) do - options_texts[i] = option.text - options_values[i] = option.value - options_shown_widgets[i] = option.show_widgets or {} - end - - local definition = { - element = { - passes = { - -- VISUALS - { - pass_type = "texture", - - style_id = "background", - texture_id = "rect_masked_texture", - - content_check_function = function (content) - return content.is_widget_collapsed - end - }, - { - pass_type = "texture", - - style_id = "highlight_texture", - texture_id = "highlight_texture", - content_check_function = function (content) - return content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - { - pass_type = "text", - - style_id = "current_option_text", - text_id = "current_option_text" - }, - { - pass_type = "texture", - - style_id = "border_top", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "border_left", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "border_right", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "border_bottom", - texture_id = "rect_masked_texture" - }, - - -- HOTSPOTS - { - pass_type = "hotspot", - - content_id = "highlight_hotspot" - }, - { - pass_type = "hotspot", - - style_id = "dropdown_hotspot", - content_id = "dropdown_hotspot" - }, - -- PROCESSING - { - pass_type = "local_offset", - - offset_function = function (ui_scenegraph_, style, content, ui_renderer) - - local is_interactable = content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - - if is_interactable then - - if content.tooltip_text then - style.tooltip_text.cursor_offset = content.callback_fit_tooltip_to_the_screen(content, style.tooltip_text, ui_renderer) - end - - if content.dropdown_hotspot.on_release then - content.callback_change_dropdown_menu_visibility(content) - end - - if content.highlight_hotspot.on_release and not content.dropdown_hotspot.on_release then - content.callback_hide_sub_widgets(content) - end - end - - if content.is_dropdown_menu_opened then - - local old_value = content.options_values[content.current_option_number] - - if content.callback_draw_dropdown_menu(content) then - - if content.is_widget_collapsed then - content.callback_hide_sub_widgets(content) - end - - local mod_name = content.mod_name - local setting_id = content.setting_id - local new_value = content.options_values[content.current_option_number] - - content.callback_setting_changed(mod_name, setting_id, old_value, new_value) - end - end - - style.current_option_text.text_color = (is_interactable and content.dropdown_hotspot.is_hover or content.is_dropdown_menu_opened) and Colors.get_color_table_with_alpha("white", 255) or Colors.get_color_table_with_alpha("cheeseburger", 255) - - local new_border_color = is_interactable and content.dropdown_hotspot.is_hover and {255, 45, 45, 45} or {255, 30, 30, 30} - style.border_top.color = new_border_color - style.border_left.color = new_border_color - style.border_right.color = new_border_color - style.border_bottom.color = new_border_color - end - }, - -- TOOLTIP - { - pass_type = "tooltip_text", - - text_id = "tooltip_text", - style_id = "tooltip_text", - content_check_function = function (content) - return content.tooltip_text and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - -- DEBUG - { - pass_type = "rect", - - content_check_function = function () - return DEBUG_WIDGETS - end - }, - { - pass_type = "border", - - content_check_function = function (content_, style) - if DEBUG_WIDGETS then - style.thickness = 1 - end - - return DEBUG_WIDGETS - end - }, - { - pass_type = "rect", - - style_id = "debug_middle_line", - content_check_function = function () - return DEBUG_WIDGETS - end - } - } - }, - content = { - is_widget_visible = true, - is_widget_collapsed = widget_definition.is_collapsed, - - highlight_texture = "playerlist_hover", - rect_masked_texture = "rect_masked", - --background_texture = "common_widgets_background_lit", - - highlight_hotspot = {}, - dropdown_hotspot = {}, - - text = widget_definition.title, - tooltip_text = widget_definition.tooltip, - - mod_name = widget_definition.mod_name, - setting_id = widget_definition.setting_id, - widget_type = widget_definition.type, - - options_texts = options_texts, - options_values = options_values, - options_shown_widgets = options_shown_widgets, - total_options_number = #options_texts, - current_option_number = 1, - current_option_text = options_texts[1], - current_shown_widgets = nil, -- if nil, all subwidgets are shown - default_value = widget_definition.default_value, - parent_widget_number = widget_definition.parent_index, - show_widget_condition = show_widget_condition - }, - style = { - - -- VISUALS - - background = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 0}, - color = {255, 30, 23, 15} - }, - - highlight_texture = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 2}, - masked = true - }, - - text = { - offset = {60 + widget_definition.depth * 40, offset_y + 5, 3}, - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) - }, - - border_top = { - size = {270, 2}, - offset = {widget_size[1] - 300, offset_y + (widget_size[2] - 10), 1}, - color = {255, 30, 30, 30} - }, - - border_left = { - size = {2, widget_size[2] - 16}, - offset = {widget_size[1] - 300, offset_y + 8, 1}, - color = {255, 30, 30, 30} - }, - - border_right = { - size = {2, widget_size[2] - 16}, - offset = {widget_size[1] - 32, offset_y + 8, 1}, - color = {255, 30, 30, 30} - }, - - border_bottom = { - size = {270, 2}, - offset = {widget_size[1] - 300, offset_y + 8, 1}, - color = {255, 30, 30, 30} - }, - - current_option_text = { - offset = {widget_size[1] - 165, offset_y + 4, 3}, - horizontal_alignment = "center", - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("cheeseburger", 255) - }, - - -- HOTSPOTS - - dropdown_hotspot = { - size = {270, widget_size[2]}, - offset = {widget_size[1] - 300, offset_y, 0} - }, - - -- TOOLTIP - - tooltip_text = { - font_type = "hell_shark", - font_size = 18, - horizontal_alignment = "left", - vertical_alignment = "top", - cursor_side = "right", - max_width = 600, - cursor_offset = {27, 27}, - cursor_offset_bottom = {27, 27}, - cursor_offset_top = {27, -27}, - line_colors = { - Colors.get_color_table_with_alpha("cheeseburger", 255), - Colors.get_color_table_with_alpha("white", 255) - } - }, - - -- DEBUG - - debug_middle_line = { - size = {widget_size[1], 2}, - offset = {0, (offset_y + widget_size[2]/2) - 1, 10}, - color = {200, 0, 255, 0} - }, - - offset = {0, offset_y, 0}, - size = {widget_size[1], widget_size[2]}, - color = {50, 255, 255, 255} - }, - scenegraph_id = scenegraph_id, - offset = {0, 0, 0} - } - - definition.content.popup_menu_widget = create_dropdown_menu_widget(definition, scenegraph_2nd_layer_id) - - return UIWidget.init(definition) -end - - --- ███╗ ██╗██╗ ██╗███╗ ███╗███████╗██████╗ ██╗ ██████╗ --- ████╗ ██║██║ ██║████╗ ████║██╔════╝██╔══██╗██║██╔════╝ --- ██╔██╗ ██║██║ ██║██╔████╔██║█████╗ ██████╔╝██║██║ --- ██║╚██╗██║██║ ██║██║╚██╔╝██║██╔══╝ ██╔══██╗██║██║ --- ██║ ╚████║╚██████╔╝██║ ╚═╝ ██║███████╗██║ ██║██║╚██████╗ --- ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═════╝ - -local function create_numeric_menu_widget(dropdown_definition, scenegraph_2nd_layer_id) - - local offset_x = dropdown_definition.style.left_bracket.offset[1] - 3 - local offset_y = dropdown_definition.style.left_bracket.offset[2] + 80 - local size_x = 270 - local size_y = 100 - - local definition = { - element = { - passes = { - { - pass_type = "texture", - - style_id = "background", - texture_id = "rect_masked_texture" - }, - { - pass_type = "text", - - style_id = "range_text", - text_id = "range_text" - }, - { - pass_type = "text", - - style_id = "new_value_text", - text_id = "new_value_text" - }, - { - pass_type = "texture", - - style_id = "caret", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "slider_border", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "slider_background", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "slider_fill", - texture_id = "rect_masked_texture" - }, - { - pass_type = "texture", - - style_id = "slider_icon", - texture_id = "slider_icon_texture" - }, - { - pass_type = "hotspot", - - style_id = "slider_hotspot", - content_id = "slider_hotspot" - }, - { - pass_type = "held", - - style_id = "slider_hotspot", - content_check_hover = "slider_hotspot", - - -- fatshark solution copypasta - held_function = function (ui_scenegraph, ui_style, ui_content, input_service) - local cursor = UIInverseScaleVectorToResolution(input_service.get(input_service, "cursor")) - local scenegraph_id = ui_content.scenegraph_id - local world_position = UISceneGraph.get_world_position(ui_scenegraph, scenegraph_id) - local size_x_ = ui_style.size[1] - local cursor_x = cursor[1] - local pos_start = world_position[1] + ui_style.offset[1] - local old_value = ui_content.internal_value - local cursor_x_norm = cursor_x - pos_start - local value = math.clamp(cursor_x_norm/size_x_, 0, 1) - ui_content.internal_value = value - - if old_value ~= value then - ui_content.changed = true - end - end - } - } - }, - content = { - new_value_text = "", - range_text = "", - - rect_masked_texture = "rect_masked", - slider_icon_texture = "slider_skull_icon", - - caret_animation_timer = 0, - max_slider_size = 242, - slider_icon_offset = offset_x + 4, - - scenegraph_id = scenegraph_2nd_layer_id, - - slider_hotspot = {} - }, - style = { - background = { - size = {size_x, size_y}, - offset = {offset_x, offset_y - size_y, 20}, - color = {255, 20, 20, 20} - }, - range_text = { - offset = {offset_x + size_x / 2, offset_y - 30, 21}, - horizontal_alignment = "center", - font_size = 20, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = {255, 100, 100, 100} - }, - new_value_text = { - offset = { - dropdown_definition.style.current_value_text.offset[1], - dropdown_definition.style.current_value_text.offset[2], - 21 - }, - horizontal_alignment = "center", - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = {255, 255, 255, 255} - }, - caret = { - size = {2, 25}, - offset = {offset_x, dropdown_definition.style.current_value_text.offset[2] + 10, 22}, - color = {255, 255, 255, 255} - }, - slider_border = { - offset = {offset_x + 10, offset_y - size_y + 10, 21}, - size = {250, 13}, - color = {255, 100, 100, 100} - }, - slider_background = { - offset = {offset_x + 12, offset_y - size_y + 12, 22}, - size = {246, 9}, - color = {255, 0, 0, 0} - }, - slider_fill = { - offset = {offset_x + 14, offset_y - size_y + 14, 23}, - size = {242, 5}, - color = {255, 255, 168, 0} - }, - slider_icon = { - offset = {offset_x + 4, offset_y - size_y + 7, 24}, - size = {20, 20}, - color = {255, 255, 255, 255}, - masked = true - }, - slider_hotspot = { - offset = {offset_x + 14, offset_y - size_y, 24}, - size = {242, 35} - } - }, - scenegraph_id = scenegraph_2nd_layer_id, - offset = {0, 0, 0} - } - - return UIWidget.init(definition) -end - -local function create_numeric_widget(widget_definition, scenegraph_id, scenegraph_2nd_layer_id) - - local widget_size = SETTINGS_LIST_REGULAR_WIDGET_SIZE - local offset_y = -widget_size[2] - - local show_widget_condition = create_show_widget_condition(widget_definition) - - local definition = { - element = { - passes = { - -- VISUALS - { - pass_type = "texture", - - style_id = "background", - texture_id = "rect_masked_texture", - - content_check_function = function (content) - return content.is_widget_collapsed - end - }, - { - pass_type = "texture", - - style_id = "highlight_texture", - texture_id = "highlight_texture", - content_check_function = function (content) - return content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - { - pass_type = "text", - - style_id = "left_bracket", - text_id = "left_bracket" - }, - { - pass_type = "text", - - style_id = "right_bracket", - text_id = "right_bracket" - }, - { - pass_type = "text", - - style_id = "current_value_text", - text_id = "current_value_text" - }, - -- HOTSPOTS - { - pass_type = "hotspot", - - content_id = "highlight_hotspot" - }, - { - pass_type = "hotspot", - - style_id = "dropdown_hotspot", - content_id = "dropdown_hotspot" - }, - -- PROCESSING - { - pass_type = "local_offset", - - offset_function = function (ui_scenegraph_, style, content, ui_renderer) - - local is_interactable = content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - - if is_interactable then - - if content.tooltip_text then - style.tooltip_text.cursor_offset = content.callback_fit_tooltip_to_the_screen(content, style.tooltip_text, ui_renderer) - end - - if content.dropdown_hotspot.on_release then - - content.callback_change_numeric_menu_visibility(content) - end - end - - if content.is_numeric_menu_opened then - - local old_value = content.current_value - - if content.callback_draw_numeric_menu(content) then - - local mod_name = content.mod_name - local setting_id = content.setting_id - local new_value = content.current_value - - content.callback_setting_changed(mod_name, setting_id, old_value, new_value) - end - end - - style.current_value_text.text_color = is_interactable and content.dropdown_hotspot.is_hover and Colors.get_color_table_with_alpha("white", 255) or Colors.get_color_table_with_alpha("cheeseburger", 255) - style.left_bracket.text_color = is_interactable and content.dropdown_hotspot.is_hover and {255, 45, 45, 45} or {255, 30, 30, 30} - style.right_bracket.text_color = is_interactable and content.dropdown_hotspot.is_hover and {255, 45, 45, 45} or {255, 30, 30, 30} - end - }, - -- TOOLTIP - { - pass_type = "tooltip_text", - - text_id = "tooltip_text", - style_id = "tooltip_text", - content_check_function = function (content) - return content.tooltip_text and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - -- DEBUG - { - pass_type = "rect", - - content_check_function = function () - return DEBUG_WIDGETS - end - }, - { - pass_type = "border", - - content_check_function = function (content_, style) - if DEBUG_WIDGETS then - style.thickness = 1 - end - - return DEBUG_WIDGETS - end - }, - { - pass_type = "rect", - - style_id = "debug_middle_line", - content_check_function = function () - return DEBUG_WIDGETS - end - } - } - }, - content = { - is_widget_visible = true, - is_widget_collapsed = widget_definition.is_collapsed, - - highlight_texture = "playerlist_hover", - rect_masked_texture = "rect_masked", - - highlight_hotspot = {}, - dropdown_hotspot = {}, - - text = widget_definition.title, - tooltip_text = widget_definition.tooltip, - unit_text = widget_definition.unit_text, - decimals_number = widget_definition.decimals_number, - range = widget_definition.range, - - left_bracket = "[", - right_bracket = "]", - - mod_name = widget_definition.mod_name, - setting_id = widget_definition.setting_id, - widget_type = widget_definition.type, - - current_value_text = "whatever", - default_value = widget_definition.default_value, - parent_widget_number = widget_definition.parent_index, - show_widget_condition = show_widget_condition - }, - style = { - - -- VISUALS - - background = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 0} - }, - - highlight_texture = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 2}, - masked = true - }, - - text = { - offset = {60 + widget_definition.depth * 40, offset_y + 5, 3}, - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) - }, - - left_bracket = { - offset = {widget_size[1] - 297, offset_y - 6, 1}, -- text positioning's living in its own world - horizontal_alignment = "center", - font_size = 39, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = {255, 30, 30, 30} - }, - - right_bracket = { - offset = {widget_size[1] - 33, offset_y - 6, 1}, - horizontal_alignment = "center", - font_size = 39, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = {255, 30, 30, 30} - }, - - current_value_text = { - offset = {widget_size[1] - 165, offset_y + 4, 3}, - horizontal_alignment = "center", - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("cheeseburger", 255) - }, - - -- HOTSPOTS - - dropdown_hotspot = { - size = {270, widget_size[2]}, - offset = {widget_size[1] - 300, offset_y, 0} - }, - - -- TOOLTIP - - tooltip_text = { - font_type = "hell_shark", - font_size = 18, - horizontal_alignment = "left", - vertical_alignment = "top", - cursor_side = "right", - max_width = 600, - cursor_offset = {27, 27}, - cursor_offset_bottom = {27, 27}, - cursor_offset_top = {27, -27}, - line_colors = { - Colors.get_color_table_with_alpha("cheeseburger", 255), - Colors.get_color_table_with_alpha("white", 255) - } - }, - - -- DEBUG - - debug_middle_line = { - size = {widget_size[1], 2}, - offset = {0, (offset_y + widget_size[2]/2) - 1, 10}, - color = {200, 0, 255, 0} - }, - - offset = {0, offset_y, 0}, - size = {widget_size[1], widget_size[2]}, - color = {50, 255, 255, 255} - }, - scenegraph_id = scenegraph_id, - offset = {0, 0, 0} - } - - definition.content.popup_menu_widget = create_numeric_menu_widget(definition, scenegraph_2nd_layer_id) - - return UIWidget.init(definition) -end - - --- ██╗ ██╗███████╗██╗ ██╗██████╗ ██╗███╗ ██╗██████╗ --- ██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔══██╗██║████╗ ██║██╔══██╗ --- █████╔╝ █████╗ ╚████╔╝ ██████╔╝██║██╔██╗ ██║██║ ██║ --- ██╔═██╗ ██╔══╝ ╚██╔╝ ██╔══██╗██║██║╚██╗██║██║ ██║ --- ██║ ██╗███████╗ ██║ ██████╔╝██║██║ ╚████║██████╔╝ --- ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝╚═════╝ - - -local function create_keybind_widget(widget_definition, scenegraph_id) - - local widget_size = SETTINGS_LIST_REGULAR_WIDGET_SIZE - local offset_y = -widget_size[2] - - local show_widget_condition = create_show_widget_condition(widget_definition) - - local definition = { - element = { - passes = { - -- VISUALS - { - pass_type = "texture", - - style_id = "background", - texture_id = "background_texture", - - content_check_function = function (content) - return content.is_widget_collapsed - end - }, - { - pass_type = "texture", - - style_id = "highlight_texture", - texture_id = "highlight_texture", - content_check_function = function (content) - return content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - { - pass_type = "text", - - style_id = "text", - text_id = "text" - }, - { - pass_type = "texture", - - style_id = "keybind_background", - texture_id = "rect_masked_texture" - }, - { - pass_type = "text", - - style_id = "keybind_text", - text_id = "keybind_text" - }, - -- HOTSPOTS - { - pass_type = "hotspot", - - content_id = "highlight_hotspot" - }, - { - pass_type = "hotspot", - - style_id = "keybind_text_hotspot", - content_id = "keybind_text_hotspot" - }, - -- PROCESSING - { - pass_type = "local_offset", - - offset_function = function (ui_scenegraph_, style, content, ui_renderer) - - local is_interactable = content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - - if is_interactable then - - if content.highlight_hotspot.is_hover and content.tooltip_text then - style.tooltip_text.cursor_offset = content.callback_fit_tooltip_to_the_screen(content, style.tooltip_text, ui_renderer) - end - - if content.highlight_hotspot.on_release and not content.keybind_text_hotspot.on_release then - content.callback_hide_sub_widgets(content) - end - - if content.highlight_hotspot.is_hover and content.tooltip_text then - style.tooltip_text.cursor_offset = content.callback_fit_tooltip_to_the_screen(content, style.tooltip_text, ui_renderer) - end - - if content.keybind_text_hotspot.on_release then - content.callback_change_setting_keybind_state(content) - return - end - end - - if content.is_setting_keybind then - if content.callback_setting_keybind(content) then - content.callback_setting_changed(content.mod_name, content.setting_id, nil, content.keys) - return - end - end - - style.keybind_text.text_color = is_interactable and content.keybind_text_hotspot.is_hover and Colors.get_color_table_with_alpha("white", 255) or content.is_setting_keybind and Colors.get_color_table_with_alpha("white", 100) or Colors.get_color_table_with_alpha("cheeseburger", 255) - style.keybind_background.color = is_interactable and content.keybind_text_hotspot.is_hover and {255, 45, 45, 45} or {255, 30, 30, 30} - end - }, - -- TOOLTIP - { - pass_type = "tooltip_text", - - text_id = "tooltip_text", - style_id = "tooltip_text", - content_check_function = function (content) - return content.tooltip_text and content.highlight_hotspot.is_hover and content.callback_is_cursor_inside_settings_list() - end - }, - -- DEBUG - { - pass_type = "rect", - - content_check_function = function () - return DEBUG_WIDGETS - end - }, - { - pass_type = "border", - - content_check_function = function (content_, style) - if DEBUG_WIDGETS then - style.thickness = 1 - end - - return DEBUG_WIDGETS - end - }, - { - pass_type = "rect", - - style_id = "debug_middle_line", - content_check_function = function () - return DEBUG_WIDGETS - end - } - } - }, - content = { - is_widget_visible = true, - is_widget_collapsed = widget_definition.is_collapsed, - - highlight_texture = "playerlist_hover", -- texture name - background_texture = "common_widgets_background_lit", - rect_masked_texture = "rect_masked", - - highlight_hotspot = {}, - keybind_text_hotspot = {}, - - text = widget_definition.title, - tooltip_text = widget_definition.tooltip, - - mod_name = widget_definition.mod_name, - setting_id = widget_definition.setting_id, - widget_type = widget_definition.type, - - keybind_global = widget_definition.keybind_global, - keybind_trigger = widget_definition.keybind_trigger, - keybind_type = widget_definition.keybind_type, - function_name = widget_definition.function_name, - view_name = widget_definition.view_name, - transition_data = widget_definition.transition_data, - - keybind_text = widget_definition.keybind_text, - default_value = widget_definition.default_value, - parent_widget_number = widget_definition.parent_index, - show_widget_condition = show_widget_condition - }, - style = { - - -- VISUALS - - background = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 0} - }, - - highlight_texture = { - size = {widget_size[1], widget_size[2] - 3}, - offset = {0, offset_y + 1, 1}, - masked = true - }, - - text = { - offset = {60 + widget_definition.depth * 40, offset_y + 5, 2}, - font_size = 28, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("white", 255) - }, - - keybind_background = { - size = {270, 34}, - offset = {widget_size[1] - 300, offset_y + 8, 0}, - color = {255, 30, 30, 30} - }, - - keybind_text = { - offset = {widget_size[1] - 165, offset_y + 6, 3}, - horizontal_alignment = "center", - font_size = 24, - font_type = "hell_shark_masked", - dynamic_font = true, - text_color = Colors.get_color_table_with_alpha("cheeseburger", 255) - }, - - -- HOTSPOTS - - keybind_text_hotspot = { - size = {270, widget_size[2]}, - offset = {widget_size[1] - 300, offset_y, 0} - }, - - -- TOOLTIP - - tooltip_text = { - font_type = "hell_shark", - font_size = 18, - horizontal_alignment = "left", - vertical_alignment = "top", - cursor_side = "right", - max_width = 600, - cursor_offset = {27, 27}, - cursor_offset_bottom = {27, 27}, - cursor_offset_top = {27, -27}, - line_colors = { - Colors.get_color_table_with_alpha("cheeseburger", 255), - Colors.get_color_table_with_alpha("white", 255) - } - }, - - -- DEBUG - - debug_middle_line = { - size = {widget_size[1], 2}, - offset = {0, (offset_y + widget_size[2]/2) - 1, 10}, - color = {200, 0, 255, 0} - }, - - offset = {0, offset_y, 0}, - size = {widget_size[1], widget_size[2]}, - color = {50, 255, 255, 255} - }, - scenegraph_id = scenegraph_id, - offset = {0, 0, 0} - } - - return UIWidget.init(definition) -end - - - - - - - - - - - - --- ██████╗██╗ █████╗ ███████╗███████╗ ---██╔════╝██║ ██╔══██╗██╔════╝██╔════╝ ---██║ ██║ ███████║███████╗███████╗ ---██║ ██║ ██╔══██║╚════██║╚════██║ ---╚██████╗███████╗██║ ██║███████║███████║ --- ╚═════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝ - -local _DEFAULT_SCROLL_STEP = 40 -local _SCROLL_STEP - - --- copypasted 'math.point_is_inside_2d_box' from VT2 source code, since VT1 and VT2 have different implementations -local function is_point_inside_2d_box(pos, lower_left_corner, size) - if lower_left_corner[1] < pos[1] and pos[1] < lower_left_corner[1] + size[1] and lower_left_corner[2] < pos[2] and pos[2] < lower_left_corner[2] + size[2] then - return true - else - return false - end -end - --- #################################################################################################################### --- ##### INITIALIZATION ############################################################################################### --- #################################################################################################################### - - -VMFOptionsView = class(VMFOptionsView) -VMFOptionsView.init = function (self, ingame_ui_context) - - self.current_setting_list_offset_y = 0 - - self.is_setting_changes_applied_immidiately = true - - self.definitions = {} - self.definitions.scenegraph = scenegraph_definition - self.definitions.scenegraph_2nd_layer = {} - self.definitions.menu_widgets = menu_widgets_definition - self.definitions.settings_list_widgets = vmf.options_widgets_data - - -- get necessary things for the rendering - self.ui_renderer = ingame_ui_context.ui_renderer - self.render_settings = {snap_pixel_positions = true} - self.ingame_ui = ingame_ui_context.ingame_ui - - -- create the input service - local input_manager = ingame_ui_context.input_manager - input_manager:create_input_service("vmf_options_menu", "IngameMenuKeymaps", "IngameMenuFilters") - input_manager:map_device_to_service("vmf_options_menu", "keyboard") - input_manager:map_device_to_service("vmf_options_menu", "mouse") - input_manager:map_device_to_service("vmf_options_menu", "gamepad") - - input_manager:create_input_service("changing_setting", "IngameMenuKeymaps") - input_manager:map_device_to_service("changing_setting", "keyboard") - input_manager:map_device_to_service("changing_setting", "mouse") - input_manager:map_device_to_service("changing_setting", "gamepad") - self.input_manager = input_manager - - -- wwise_world is used for making sounds (for opening menu, closing menu, etc.) - local world - if VT1 then - world = ingame_ui_context.world_manager:world("music_world") - else - world = ingame_ui_context.world_manager:world("level_world") - end - self.wwise_world = Managers.world:wwise_world(world) - - self:create_ui_elements() -end - - --- #################################################################################################################### --- ##### INITIALIZATION: UI ELEMENTS ################################################################################## --- #################################################################################################################### - - -VMFOptionsView.create_ui_elements = function (self) - - self.menu_widgets = {} - - for name, definition in pairs(self.definitions.menu_widgets) do - self.menu_widgets[name] = UIWidget.init(definition) - end - - self.settings_list_widgets = self:initialize_settings_list_widgets() - - self.ui_scenegraph = UISceneGraph.init_scenegraph(self.definitions.scenegraph) - self.ui_scenegraph_2nd_layer = UISceneGraph.init_scenegraph(self.definitions.scenegraph_2nd_layer) - - self.setting_list_mask_size_y = self.ui_scenegraph.sg_settings_list_mask.size[2] - - if self.is_scrolling_enabled then - self:calculate_scrollbar_size() - end -end - - -VMFOptionsView.initialize_settings_list_widgets = function (self) - - local scenegraph_id = "sg_settings_list" - local scenegraph_id_start = "sg_settings_list_start" - local scenegraph_id_start_2nd_layer = "sg_settings_list_start_2nd_layer" - local list_size_y = 0 - - local all_widgets = {} - local mod_widgets - - for _, mod_settings_list_definitions in ipairs(self.definitions.settings_list_widgets) do - - mod_widgets = {} - - for _, definition in ipairs(mod_settings_list_definitions) do - - local widget = nil - local widget_type = definition.type - - if widget_type == "checkbox" then - widget = self:initialize_checkbox_widget(definition, scenegraph_id_start) - elseif widget_type == "dropdown" then - widget = self:initialize_dropdown_widget(definition, scenegraph_id_start, scenegraph_id_start_2nd_layer) - elseif widget_type == "numeric" then - widget = self:initialize_numeric_widget(definition, scenegraph_id_start, scenegraph_id_start_2nd_layer) - elseif widget_type == "keybind" then - widget = self:initialize_keybind_widget(definition, scenegraph_id_start) - elseif widget_type == "header" then - widget = self:initialize_header_widget(definition, scenegraph_id_start) - elseif widget_type == "group" then - widget = self:initialize_group_widget(definition, scenegraph_id_start) - end - - if widget then - list_size_y = list_size_y + widget.style.size[2] - - table.insert(mod_widgets, widget) - end - end - - table.insert(all_widgets, mod_widgets) - end - - local mask_size = self.definitions.scenegraph.sg_settings_list_mask.size - local mask_size_x = mask_size[1] - local mask_size_y = mask_size[2] - - self.definitions.scenegraph[scenegraph_id] = { - size = {mask_size_x, list_size_y}, - position = {0, 0, 0}, - offset = {0, 0, 0}, - - vertical_alignment = "top", - horizontal_alignment = "center", - - parent = "sg_settings_list_mask" - } - - self.definitions.scenegraph[scenegraph_id_start] = { - size = {1, 1}, - position = {3, 0, 10}, - - vertical_alignment = "top", - horizontal_alignment = "left", - - parent = scenegraph_id - } - - self.definitions.scenegraph_2nd_layer[scenegraph_id_start_2nd_layer] = { - size = {0, 0}, - position = {0, 0, 510}, - - vertical_alignment = "bottom", - horizontal_alignment = "left" - } - - local is_scrolling_enabled = false - local max_offset_y = 0 - - if mask_size_y < list_size_y then - is_scrolling_enabled = true - max_offset_y = list_size_y - mask_size_y - end - - self.menu_widgets["scrollbar"].content.visible = is_scrolling_enabled - self.menu_widgets["mousewheel_scroll_area"].content.visible = is_scrolling_enabled - - self.max_setting_list_offset_y = max_offset_y - self.settings_list_size_y = list_size_y - self.original_settings_list_size_y = list_size_y - self.settings_list_scenegraph_id = scenegraph_id - self.settings_list_scenegraph_id_start = scenegraph_id_start - self.is_scrolling_enabled = is_scrolling_enabled - - return all_widgets -end - - -VMFOptionsView.initialize_header_widget = function (self, definition, scenegraph_id) - - local widget = create_header_widget(definition, scenegraph_id) - local content = widget.content - content.is_checkbox_checked = definition.is_togglable - content.is_checkbox_visible = definition.is_togglable - - content.callback_favorite = callback(self, "callback_favorite") - content.callback_move_favorite = callback(self, "callback_move_favorite") - content.callback_mod_state_changed = callback(self, "callback_mod_state_changed") - content.callback_hide_sub_widgets = callback(self, "callback_hide_sub_widgets") - content.callback_fit_tooltip_to_the_screen = callback(self, "callback_fit_tooltip_to_the_screen") - content.callback_is_cursor_inside_settings_list = callback(self, "callback_is_cursor_inside_settings_list") - - return widget -end - - -VMFOptionsView.initialize_checkbox_widget = function (self, definition, scenegraph_id) - - local widget = create_checkbox_widget(definition, scenegraph_id) - local content = widget.content - - content.callback_setting_changed = callback(self, "callback_setting_changed") - content.callback_hide_sub_widgets = callback(self, "callback_hide_sub_widgets") - content.callback_fit_tooltip_to_the_screen = callback(self, "callback_fit_tooltip_to_the_screen") - content.callback_is_cursor_inside_settings_list = callback(self, "callback_is_cursor_inside_settings_list") - - return widget -end - -VMFOptionsView.initialize_group_widget = function (self, definition, scenegraph_id) - - local widget = create_group_widget(definition, scenegraph_id) - local content = widget.content - - --content.callback_setting_changed = callback(self, "callback_setting_changed") - content.callback_hide_sub_widgets = callback(self, "callback_hide_sub_widgets") - content.callback_fit_tooltip_to_the_screen = callback(self, "callback_fit_tooltip_to_the_screen") - content.callback_is_cursor_inside_settings_list = callback(self, "callback_is_cursor_inside_settings_list") - - return widget -end - - -VMFOptionsView.initialize_dropdown_widget = function (self, definition, scenegraph_id, scenegraph_2nd_layer_id) - - local widget = create_dropdown_widget(definition, scenegraph_id, scenegraph_2nd_layer_id) - local content = widget.content - - content.callback_setting_changed = callback(self, "callback_setting_changed") - content.callback_hide_sub_widgets = callback(self, "callback_hide_sub_widgets") - content.callback_fit_tooltip_to_the_screen = callback(self, "callback_fit_tooltip_to_the_screen") - content.callback_is_cursor_inside_settings_list = callback(self, "callback_is_cursor_inside_settings_list") - content.callback_change_dropdown_menu_visibility = callback(self, "callback_change_dropdown_menu_visibility") - content.callback_draw_dropdown_menu = callback(self, "callback_draw_dropdown_menu") - - return widget -end - - -VMFOptionsView.initialize_numeric_widget = function (self, definition, scenegraph_id, scenegraph_2nd_layer_id) - - local widget = create_numeric_widget(definition, scenegraph_id, scenegraph_2nd_layer_id) - local content = widget.content - - content.callback_setting_changed = callback(self, "callback_setting_changed") - content.callback_fit_tooltip_to_the_screen = callback(self, "callback_fit_tooltip_to_the_screen") - content.callback_is_cursor_inside_settings_list = callback(self, "callback_is_cursor_inside_settings_list") - content.callback_change_numeric_menu_visibility = callback(self, "callback_change_numeric_menu_visibility") - content.callback_draw_numeric_menu = callback(self, "callback_draw_numeric_menu") - - return widget -end - - -VMFOptionsView.initialize_keybind_widget = function (self, definition, scenegraph_id) - - local widget = create_keybind_widget(definition, scenegraph_id) - local content = widget.content - - content.callback_setting_changed = callback(self, "callback_setting_changed") - content.callback_hide_sub_widgets = callback(self, "callback_hide_sub_widgets") - content.callback_fit_tooltip_to_the_screen = callback(self, "callback_fit_tooltip_to_the_screen") - content.callback_change_setting_keybind_state = callback(self, "callback_change_setting_keybind_state") - content.callback_setting_keybind = callback(self, "callback_setting_keybind") - content.callback_is_cursor_inside_settings_list = callback(self, "callback_is_cursor_inside_settings_list") - - return widget -end - - --- #################################################################################################################### --- ##### CALLBACKS #################################################################################################### --- #################################################################################################################### - - -VMFOptionsView.callback_setting_changed = function (self, mod_name, setting_id, old_value, new_value) - - if self.is_setting_changes_applied_immidiately and old_value ~= new_value then - get_mod(mod_name):set(setting_id, new_value, true) - end - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_select") - - self:update_settings_list_widgets_visibility(mod_name) - self:readjust_visible_settings_list_widgets_position() -end - - -VMFOptionsView.callback_mod_state_changed = function (self, mod_name, is_mod_enabled) - - vmf.mod_state_changed(mod_name, is_mod_enabled) - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_select") - - self:update_settings_list_widgets_visibility(mod_name) - self:readjust_visible_settings_list_widgets_position() -end - - -VMFOptionsView.callback_is_cursor_inside_settings_list = function (self) - - local input_service = self:input_service() - - local cursor = input_service:get("cursor") - local mask_pos = Vector3.deprecated_copy(UISceneGraph.get_world_position(self.ui_scenegraph, "sg_settings_list_mask")) - local mask_size = UISceneGraph.get_size(self.ui_scenegraph, "sg_settings_list_mask") - - local cursor_position = UIInverseScaleVectorToResolution(cursor) - - local is_hover = math.point_is_inside_2d_box(cursor_position, mask_pos, mask_size) - if is_hover then - return true - end -end - --- [VT1] [VT2] -local UIResolutionScale = UIResolutionScale or UIResolutionScale_pow2 --- @TODO: replace with `VT1` later -local USE_LEGACY_FONT_NAMES = VT1 or (tonumber(script_data.settings.content_revision) < 1296) -VMFOptionsView.callback_fit_tooltip_to_the_screen = function (self, widget_content, widget_style, ui_renderer) - - local cursor_offset_bottom = widget_style.cursor_offset_bottom - - if ui_renderer.input_service then - - local cursor_position = UIInverseScaleVectorToResolution(ui_renderer.input_service.get(ui_renderer.input_service, "cursor")) - if cursor_position then - - local text = widget_content.tooltip_text - local max_width = widget_style.max_width - - local font, font_size = UIFontByResolution(widget_style) - local font_name = USE_LEGACY_FONT_NAMES and font[3] or widget_style.font_type - local font_material = font[1] - - local _, font_min, font_max = UIGetFontHeight(ui_renderer.gui, font_name, font_size) - - local texts = UIRenderer.word_wrap(ui_renderer, text, font_material, font_size, max_width) - local num_texts = #texts - local full_font_height = (font_max + math.abs(font_min)) * RESOLUTION_LOOKUP.inv_scale - - local tooltip_height = full_font_height * num_texts - - if((cursor_offset_bottom[2] / UIResolutionScale() + tooltip_height) > cursor_position[2]) then - - local cursor_offset_top = {} - cursor_offset_top[1] = widget_style.cursor_offset_top[1] - cursor_offset_top[2] = widget_style.cursor_offset_top[2] - (tooltip_height * UIResolutionScale()) - - return cursor_offset_top - else - return cursor_offset_bottom - end - end - end - - return cursor_offset_bottom -end - - -VMFOptionsView.callback_favorite = function (self, widget_content) - - local mod_name = widget_content.mod_name - local is_favorited = not widget_content.is_favorited - - local favorite_mods_list = vmf:get("options_menu_favorite_mods") - - if is_favorited then - table.insert(favorite_mods_list, mod_name) - else - for i, current_mod_name in ipairs(favorite_mods_list) do - if current_mod_name == mod_name then - table.remove(favorite_mods_list, i) - break - end - end - end - - vmf:set("options_menu_favorite_mods", favorite_mods_list) - - widget_content.is_favorited = is_favorited - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_select") - - self:sort_settings_list_widgets() - self:readjust_visible_settings_list_widgets_position() -end - - -VMFOptionsView.callback_move_favorite = function (self, widget_content, is_moved_up) - - local mod_name = widget_content.mod_name - - local new_index - - local favorite_mods_list = vmf:get("options_menu_favorite_mods") - - for current_index, current_mod_name in ipairs(favorite_mods_list) do - if current_mod_name == mod_name then - - new_index = is_moved_up and (current_index - 1) or (current_index + 1) - new_index = math.clamp(new_index, 1, #favorite_mods_list) - - if current_index ~= new_index then - table.insert(favorite_mods_list, new_index, table.remove(favorite_mods_list, current_index)) - - vmf:set("options_menu_favorite_mods", favorite_mods_list) - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_select") - - self:sort_settings_list_widgets() - self:readjust_visible_settings_list_widgets_position() - - return - end - end - end -end - - -VMFOptionsView.callback_hide_sub_widgets = function (self, widget_content) - - local mod_name = widget_content.mod_name - local setting_id = widget_content.setting_id - local is_widget_collapsed = widget_content.is_widget_collapsed - - local widget_number = not setting_id and 1 -- if (setting_id == nil) -> it's header -> #1 - - local are_there_visible_sub_widgets = false - - if not is_widget_collapsed then - - for _, mod_widgets in ipairs(self.settings_list_widgets) do - - if mod_widgets[1].content.mod_name == mod_name then - - for i, widget in ipairs(mod_widgets) do - - if widget_number then - if widget.content.parent_widget_number == widget_number then - are_there_visible_sub_widgets = are_there_visible_sub_widgets or widget.content.is_widget_visible - end - else - if widget.content.setting_id == setting_id then - widget_number = i - end - end - end - end - end - end - - local is_widget_collapsed_new = not is_widget_collapsed and are_there_visible_sub_widgets - - if is_widget_collapsed_new and not is_widget_collapsed then - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_map_close") - elseif not is_widget_collapsed_new and is_widget_collapsed then - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_map_open") - end - - widget_content.is_widget_collapsed = is_widget_collapsed_new - - - if setting_id then - - local all_collapsed_widgets = vmf:get("options_menu_collapsed_widgets") - - local mod_collapsed_widgets = all_collapsed_widgets[mod_name] - - if widget_content.is_widget_collapsed then - - mod_collapsed_widgets = mod_collapsed_widgets or {} - mod_collapsed_widgets[setting_id] = true - - all_collapsed_widgets[mod_name] = mod_collapsed_widgets - else - if mod_collapsed_widgets then - mod_collapsed_widgets[setting_id] = nil - - local is_collapsed_widgets_list_empty = true - - for _, _ in pairs(mod_collapsed_widgets) do - is_collapsed_widgets_list_empty = false - end - - if is_collapsed_widgets_list_empty then - all_collapsed_widgets[mod_name] = nil - end - end - end - - vmf:set("options_menu_collapsed_widgets", all_collapsed_widgets) - - -- header - else - local collapsed_mods = vmf:get("options_menu_collapsed_mods") - if widget_content.is_widget_collapsed then - collapsed_mods[mod_name] = true - else - collapsed_mods[mod_name] = nil - end - vmf:set("options_menu_collapsed_mods", collapsed_mods) - end - self:update_settings_list_widgets_visibility(mod_name) - self:readjust_visible_settings_list_widgets_position() -end - - -VMFOptionsView.callback_change_setting_keybind_state = function (self, widget_content) - - if not widget_content.is_setting_keybind then - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:device_unblock_all_services("mouse", 1) - self.input_manager:device_unblock_all_services("gamepad", 1) - - self.input_manager:block_device_except_service("changing_setting", "keyboard", 1, "keybind") - self.input_manager:block_device_except_service("changing_setting", "mouse", 1, "keybind") - self.input_manager:block_device_except_service("changing_setting", "gamepad", 1, "keybind") - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_select") - - widget_content.is_setting_keybind = true - else - - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:device_unblock_all_services("mouse", 1) - self.input_manager:device_unblock_all_services("gamepad", 1) - - self.input_manager:block_device_except_service("vmf_options_menu", "keyboard", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "mouse", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "gamepad", 1) - - widget_content.is_setting_keybind = false - end -end - -local function set_new_keybind(keybind_widget_content) - vmf.add_mod_keybind( - get_mod(keybind_widget_content.mod_name), - keybind_widget_content.setting_id, - { - global = keybind_widget_content.keybind_global, - trigger = keybind_widget_content.keybind_trigger, - type = keybind_widget_content.keybind_type, - keys = keybind_widget_content.keys, - function_name = keybind_widget_content.function_name, - view_name = keybind_widget_content.view_name, - transition_data = keybind_widget_content.transition_data - } - ) -end - -VMFOptionsView.callback_setting_keybind = function (self, widget_content) - if not widget_content.first_pressed_button_id then - if Keyboard.any_pressed() then - widget_content.first_pressed_button_id = vmf.get_key_id("KEYBOARD", Keyboard.any_pressed()) - widget_content.first_pressed_button_index = Keyboard.any_pressed() - widget_content.first_pressed_button_type = "keyboard" - elseif Mouse.any_pressed() then - widget_content.first_pressed_button_id = vmf.get_key_id("MOUSE", Mouse.any_pressed()) - widget_content.first_pressed_button_index = Mouse.any_pressed() - widget_content.first_pressed_button_type = "mouse" - end - end - - local pressed_buttons = {} - if widget_content.first_pressed_button_id then - table.insert(pressed_buttons, widget_content.first_pressed_button_id) - else - table.insert(pressed_buttons, "no_button") - end - if Keyboard.button(Keyboard.button_index("left ctrl")) + Keyboard.button(Keyboard.button_index("right ctrl")) > 0 then - table.insert(pressed_buttons, "ctrl") - end - if Keyboard.button(Keyboard.button_index("left alt")) + Keyboard.button(Keyboard.button_index("right alt")) > 0 then - table.insert(pressed_buttons, "alt") - end - if Keyboard.button(Keyboard.button_index("left shift")) + Keyboard.button(Keyboard.button_index("right shift")) > 0 then - table.insert(pressed_buttons, "shift") - end - - local preview_string = vmf.build_keybind_string(pressed_buttons) - - widget_content.keybind_text = preview_string ~= "" and preview_string or "_" - widget_content.keys = pressed_buttons - - if widget_content.first_pressed_button_id then - if widget_content.first_pressed_button_type == "keyboard" and Keyboard.released(widget_content.first_pressed_button_index) or - widget_content.first_pressed_button_type == "mouse" and Mouse.released(widget_content.first_pressed_button_index) - then - widget_content.first_pressed_button_id = nil - widget_content.first_pressed_button_index = nil - widget_content.first_pressed_button_type = nil - - -- Fix accidental LMB binding for Mod Options view toggling. - if widget_content.setting_id == "open_vmf_options" and #widget_content.keys == 1 and widget_content.keys[1] == "mouse left" then - widget_content.keys = {} - end - - set_new_keybind(widget_content) - - self:callback_change_setting_keybind_state(widget_content) - return true - end - elseif Keyboard.released(Keyboard.button_index("esc")) then - widget_content.keybind_text = "" - widget_content.keys = {} - - set_new_keybind(widget_content) - - self:callback_change_setting_keybind_state(widget_content) - return true - end -end - - -VMFOptionsView.callback_change_dropdown_menu_visibility = function (self, widget_content) - - if not widget_content.is_dropdown_menu_opened then - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:device_unblock_all_services("mouse", 1) - self.input_manager:device_unblock_all_services("gamepad", 1) - - self.input_manager:block_device_except_service("changing_setting", "keyboard", 1, "keybind") - self.input_manager:block_device_except_service("changing_setting", "mouse", 1, "keybind") - self.input_manager:block_device_except_service("changing_setting", "gamepad", 1, "keybind") - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_select") - - widget_content.is_dropdown_menu_opened = true - - -- if not check for this, dropdown menu will close right after opening - widget_content.wrong_mouse_on_release = true - else - - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:device_unblock_all_services("mouse", 1) - self.input_manager:device_unblock_all_services("gamepad", 1) - - self.input_manager:block_device_except_service("vmf_options_menu", "keyboard", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "mouse", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "gamepad", 1) - - widget_content.is_dropdown_menu_opened = false - end -end - - -VMFOptionsView.callback_draw_dropdown_menu = function (self, widget_content) - local ui_renderer = self.ui_renderer - local scenegraph = self.ui_scenegraph_2nd_layer - local parent_scenegraph_id = self.settings_list_scenegraph_id_start - local input_manager = self.input_manager - local input_service = input_manager:get_service("changing_setting") - - UIRenderer.begin_pass(ui_renderer, scenegraph, input_service, self.dt, parent_scenegraph_id, self.render_settings) - - UIRenderer.draw_widget(ui_renderer, widget_content.popup_menu_widget) - - UIRenderer.end_pass(ui_renderer) - - ui_renderer.input_service = input_manager:get_service("vmf_options_menu") - - - for _, hotspot_content in pairs(widget_content.popup_menu_widget.content) do - if type(hotspot_content) == "table" and hotspot_content.on_release then - self:callback_change_dropdown_menu_visibility(widget_content) - - widget_content.current_option_number = hotspot_content.num - widget_content.current_option_text = widget_content.options_texts[widget_content.current_option_number] - widget_content.current_shown_widgets = widget_content.options_shown_widgets[widget_content.current_option_number] - - return true - end - end - - --if Left Mouse Button or Esc pressed - if Mouse.released(0) and not widget_content.wrong_mouse_on_release or Keyboard.released(27) then - self:callback_change_dropdown_menu_visibility(widget_content) - end - - widget_content.wrong_mouse_on_release = nil -end - - -VMFOptionsView.callback_change_numeric_menu_visibility = function (self, widget_content) - - if not widget_content.is_numeric_menu_opened then - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:device_unblock_all_services("mouse", 1) - self.input_manager:device_unblock_all_services("gamepad", 1) - - self.input_manager:block_device_except_service("changing_setting", "keyboard", 1, "keybind") - self.input_manager:block_device_except_service("changing_setting", "mouse", 1, "keybind") - self.input_manager:block_device_except_service("changing_setting", "gamepad", 1, "keybind") - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_select") - - widget_content.is_numeric_menu_opened = true - - -- current value text - - widget_content.popup_menu_widget.content.new_value_text = widget_content.current_value_text - - -- new value - - widget_content.popup_menu_widget.content.new_value = widget_content.current_value .. "" - - -- decimals number - - local decimals_number = widget_content.decimals_number and widget_content.decimals_number or 0 - widget_content.popup_menu_widget.content.decimals_number = decimals_number - - -- range text @TODO: maybe improve it - - local min_text = widget_content.range[1] .. "" - local max_text = widget_content.range[2] .. "" - - local min_text_has_dot = string.find(min_text, "%.") - local max_text_has_dot = string.find(max_text, "%.") - - if decimals_number > 0 then - if not min_text_has_dot then - min_text = min_text .. "." - - for _ = 1, decimals_number do - min_text = min_text .. "0" - end - end - if not max_text_has_dot then - max_text = max_text .. "." - - for _ = 1, decimals_number do - max_text = max_text .. "0" - end - end - end - - widget_content.popup_menu_widget.content.range_text = string.format("[min: %s] [max: %s]", min_text, max_text) - - -- if not check for this, numeric menu will close right after opening - widget_content.wrong_mouse_on_release = true - else - - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:device_unblock_all_services("mouse", 1) - self.input_manager:device_unblock_all_services("gamepad", 1) - - self.input_manager:block_device_except_service("vmf_options_menu", "keyboard", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "mouse", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "gamepad", 1) - - widget_content.is_numeric_menu_opened = false - end -end - - -VMFOptionsView.callback_draw_numeric_menu = function (self, widget_content) - - local numeric_menu_content = widget_content.popup_menu_widget.content - local numeric_menu_text_style = widget_content.popup_menu_widget.style.new_value_text - local numeric_menu_caret_style = widget_content.popup_menu_widget.style.caret - - -- calculate caret offset --------------------------- - - local font, font_size = UIFontByResolution(numeric_menu_text_style, nil) - local font_name = font[3] - local font_material = font[1] - - local new_value_text = numeric_menu_content.new_value_text - local new_value_text_just_numbers = numeric_menu_content.new_value - - local new_value_text_width = UIRenderer.text_size(self.ui_renderer, new_value_text, font_material, font_size, font_name) - local new_value_text_offset = numeric_menu_text_style.offset[1] - new_value_text_width / 2 - - local caret_offset = UIRenderer.text_size(self.ui_renderer, new_value_text_just_numbers, font_material, font_size, font_name) - - numeric_menu_caret_style.offset[1] = new_value_text_offset + caret_offset - 3 - - -- blink caret --------------------------------------- - - numeric_menu_content.caret_animation_timer = numeric_menu_content.caret_animation_timer + self.dt - - numeric_menu_caret_style.color[1] = math.sirp(0, 0.7, numeric_menu_content.caret_animation_timer * 1.5) * 255 - - - -- PROCESS KEYSTROKES ################################ - - local new_value = numeric_menu_content.new_value - - local can_add_more_characters = string.len(new_value) < 16 - - local keystrokes = Keyboard.keystrokes() - - for _, stroke in ipairs(keystrokes) do - if type(stroke) == "string" then - - if can_add_more_characters then - - if tonumber(stroke) then -- number - - local dot_position = string.find(new_value, "%.") - - if not dot_position or (dot_position + numeric_menu_content.decimals_number) > string.len(new_value) then - - new_value = new_value .. stroke - end - - elseif stroke == "-" then -- minus - - if string.find(new_value, "%-") then - new_value = string.gsub(new_value, "%-", "") - else - new_value = "-" .. new_value - end - - elseif stroke == "." then -- dot - - if numeric_menu_content.decimals_number > 0 and not string.find(new_value, "%.") then - new_value = new_value .. "." - end - end - end - - elseif stroke == Keyboard.BACKSPACE then -- backspace - - if string.len(new_value) > 0 then - new_value = string.sub(new_value, 1, -2) - end - end - end - - local new_value_number = tonumber(new_value) - - if new_value_number and new_value_number >= widget_content.range[1] and new_value_number <= widget_content.range[2] then - numeric_menu_text_style.text_color = {255, 255, 255, 255} - - -- clamp entered value according to defined range (if dot isn't the last character in the string) - local dot_position = string.find(new_value, "%.") - local string_length = string.len(new_value) - - if not (dot_position and dot_position == string_length) then - - new_value_number = math.clamp(new_value_number, widget_content.range[1], widget_content.range[2]) -- @TODO: remove? - - -- Lua, pls! Sometimes "tostring" returns something like "1337.5999999999999" instead of "1337.6", - -- so I have to convert number to string this way - -- UPD(bi) 01.01.19 I commented out following string. Rething this whole block later. Seems like it can be just removed. - -- new_value = new_value_number .. "" - end - else - -- if entered string is not convertable, change its color to red - numeric_menu_text_style.text_color = {255, 255, 70, 70} - end - - - -- SLIDER ############################################ - - if numeric_menu_content.changed then - - local full_range = widget_content.range[2] - widget_content.range[1] - - new_value_number = full_range * numeric_menu_content.internal_value + widget_content.range[1] - new_value_number = math.round_with_precision(new_value_number, widget_content.decimals_number) - - new_value = new_value_number .. "" - - numeric_menu_content.changed = false - end - - if new_value_number then - - local clamped_new_value_number = math.clamp(new_value_number, widget_content.range[1], widget_content.range[2]) - - local full_range = widget_content.range[2] - widget_content.range[1] - local slider_fill_percent = (clamped_new_value_number - widget_content.range[1]) / full_range - - local new_slider_fill_size = numeric_menu_content.max_slider_size * slider_fill_percent - - widget_content.popup_menu_widget.style.slider_fill.size[1] = new_slider_fill_size - widget_content.popup_menu_widget.style.slider_icon.offset[1] = numeric_menu_content.slider_icon_offset + new_slider_fill_size - end - - -- ASSIGNING VALUES ################################## - - numeric_menu_content.new_value = new_value - numeric_menu_content.new_value_text = new_value - - if widget_content.unit_text then - numeric_menu_content.new_value_text = numeric_menu_content.new_value_text .. widget_content.unit_text - end - - -- DRAWING WIDGET #################################### - local ui_renderer = self.ui_renderer - local scenegraph = self.ui_scenegraph_2nd_layer - local parent_scenegraph_id = self.settings_list_scenegraph_id_start - local input_manager = self.input_manager - local input_service = input_manager:get_service("changing_setting") - - - UIRenderer.begin_pass(ui_renderer, scenegraph, input_service, self.dt, parent_scenegraph_id, self.render_settings) - - UIRenderer.draw_widget(ui_renderer, widget_content.popup_menu_widget) - - UIRenderer.end_pass(ui_renderer) - - ui_renderer.input_service = input_manager:get_service("vmf_options_menu") - - - -- CLOSE WITH PRESSED BUTTONS ######################## - - -- Left Mouse Button or Enter pressed ---------------- - - if Mouse.released(0) and not widget_content.wrong_mouse_on_release and not numeric_menu_content.slider_is_held or Keyboard.released(13) then - self:callback_change_numeric_menu_visibility(widget_content) - - if new_value_number and new_value_number >= widget_content.range[1] and new_value_number <= widget_content.range[2] then - widget_content.current_value = new_value_number - widget_content.current_value_text = widget_content.current_value .. "" -- so "1337." -> "1337" - - if widget_content.unit_text then - widget_content.current_value_text = widget_content.current_value_text .. widget_content.unit_text - end - - return true - end - end - - -- Esc pressed --------------------------------------- - - if Keyboard.released(27) then - self:callback_change_numeric_menu_visibility(widget_content) - end - - -- Fix for closing menu when releasing LMB outside the hotspot - - if numeric_menu_content.slider_hotspot.is_held then - numeric_menu_content.slider_is_held = true - end - - if Mouse.released(0) and numeric_menu_content.slider_is_held then - numeric_menu_content.slider_is_held = false - end - - - widget_content.wrong_mouse_on_release = nil -end - - --- #################################################################################################################### --- ##### MISCELLANEOUS: SETTINGS LIST WIDGETS ######################################################################### --- #################################################################################################################### - - -VMFOptionsView.sort_settings_list_widgets = function (self) - - local sorted_settings_list_widgets = {} - - local favorited_mods_widgets = {} - local favorited_mods_names = {} - - local regular_mods_widgets = {} - local regular_mods_names = {} - - for _, mod_widgets in ipairs(self.settings_list_widgets) do - - if mod_widgets[1].content.is_favorited then - favorited_mods_widgets[mod_widgets[1].content.mod_name] = mod_widgets - table.insert(favorited_mods_names, mod_widgets[1].content.mod_name) - else - - -- if there are 2 (or more) mods with the same (readable) name - if regular_mods_widgets[mod_widgets[1].content.text] then - local random_number = tostring(math.random(10000)) - - regular_mods_widgets[mod_widgets[1].content.text .. random_number] = mod_widgets - table.insert(regular_mods_names, mod_widgets[1].content.text .. random_number) - else - regular_mods_widgets[mod_widgets[1].content.text] = mod_widgets - table.insert(regular_mods_names, mod_widgets[1].content.text) - end - end - end - - -- favorite mods sorting + cleaning up the favs list setting - - local favorite_mods_list = vmf:get("options_menu_favorite_mods") - if favorite_mods_list then - - local new_favorite_mods_list = {} - - for _, mod_name in ipairs(favorite_mods_list) do - if favorited_mods_widgets[mod_name] then - table.insert(sorted_settings_list_widgets, favorited_mods_widgets[mod_name]) - table.insert(new_favorite_mods_list, mod_name) - end - end - - vmf:set("options_menu_favorite_mods", new_favorite_mods_list) - end - - -- regular mods sorting (ABC order) - - table.sort(regular_mods_names, function(a, b) return a:upper() < b:upper() end) - - for _, mod_name in ipairs(regular_mods_names) do - table.insert(sorted_settings_list_widgets, regular_mods_widgets[mod_name]) - end - - self.settings_list_widgets = sorted_settings_list_widgets -end - - -VMFOptionsView.update_picked_option_for_settings_list_widgets = function (self) - - local widget_content - local widget_type - local loaded_setting_value - - for _, mod_widgets in ipairs(self.settings_list_widgets) do - for _, widget in ipairs(mod_widgets) do - - widget_content = widget.content - widget_type = widget_content.widget_type - - if widget_type == "checkbox" then - - loaded_setting_value = get_mod(widget_content.mod_name):get(widget_content.setting_id) - - if type(loaded_setting_value) == "boolean" then - widget_content.is_checkbox_checked = loaded_setting_value - else - --if type(loaded_setting_value) ~= "nil" then - -- @TODO: warning: variable of wrong type in config - --end - - widget_content.is_checkbox_checked = widget_content.default_value - get_mod(widget_content.mod_name):set(widget_content.setting_id, widget_content.default_value) - end - - elseif widget_type == "dropdown" then - - loaded_setting_value = get_mod(widget_content.mod_name):get(widget_content.setting_id) - - local setting_not_found = true - for i, option_value in ipairs(widget_content.options_values) do - - if loaded_setting_value == option_value then - widget_content.current_option_number = i - widget_content.current_option_text = widget_content.options_texts[i] - widget_content.current_shown_widgets = widget_content.options_shown_widgets[i] - - setting_not_found = false - break - end - end - - if setting_not_found then - --if type(loaded_setting_value) ~= "nil" then - -- @TODO: warning: variable which is not in the dropdown options list in config - --end - - for i, option_value in ipairs(widget_content.options_values) do - - if widget_content.default_value == option_value then - widget_content.current_option_number = i - widget_content.current_option_text = widget_content.options_texts[i] - widget_content.current_shown_widgets = widget_content.options_shown_widgets[i] - get_mod(widget_content.mod_name):set(widget_content.setting_id, widget_content.default_value) - end - end - end - - elseif widget_type == "header" then - - widget_content.is_checkbox_checked = get_mod(widget_content.mod_name):is_enabled() or - get_mod(widget_content.mod_name):get_internal_data("is_mutator") - - elseif widget_type == "keybind" then - - loaded_setting_value = get_mod(widget_content.mod_name):get(widget_content.setting_id) - - if type(loaded_setting_value) == "table" then - widget_content.keys = loaded_setting_value - else - -- @TODO: warning: - widget_content.keys = widget_content.default_value - end - - widget_content.keybind_text = vmf.build_keybind_string(widget_content.keys) - - elseif widget_type == "numeric" then - - loaded_setting_value = get_mod(widget_content.mod_name):get(widget_content.setting_id) - - if type(loaded_setting_value) == "number" then - - -- the fload numbers is some kind of magic in lua - local decimals_number = widget_content.decimals_number and widget_content.decimals_number or 0 - loaded_setting_value = math.round_with_precision(loaded_setting_value, decimals_number) - - widget_content.current_value_text = loaded_setting_value .. "" - widget_content.current_value = loaded_setting_value - else - -- @TODO: warning: - widget_content.current_value_text = widget_content.default_value .. "" - widget_content.current_value = widget_content.default_value - end - - if widget_content.unit_text then - widget_content.current_value_text = widget_content.current_value_text .. widget_content.unit_text - end - end - end - end -end - - -VMFOptionsView.update_settings_list_widgets_visibility = function (self, mod_name) - - for _, mod_widgets in ipairs(self.settings_list_widgets) do - - if not mod_name or mod_widgets[1].content.mod_name == mod_name then - - for i, widget in ipairs(mod_widgets) do - - if widget.content.parent_widget_number then - local parent_widget = mod_widgets[widget.content.parent_widget_number] - local widget_type = parent_widget.content.widget_type - - -- if 'header' or 'checkbox' - if widget_type == "header" or widget_type == "checkbox" then - - widget.content.is_widget_visible = parent_widget.content.is_checkbox_checked and parent_widget.content.is_widget_visible and not parent_widget.content.is_widget_collapsed - - -- if 'dropdown' - elseif widget_type == "dropdown" then - if widget.content.show_widget_condition then - widget.content.is_widget_visible = (widget.content.show_widget_condition[parent_widget.content.current_option_number] or parent_widget.content.current_shown_widgets[i]) and parent_widget.content.is_widget_visible and not parent_widget.content.is_widget_collapsed - - -- Usually it had to throw an error by this point, but now it's another part of compatibility - else - widget.content.is_widget_visible = parent_widget.content.current_shown_widgets[i] and parent_widget.content.is_widget_visible and not parent_widget.content.is_widget_collapsed - --get_mod(widget.content.mod_name):error("(vmf_options_view): the dropdown widget in the options menu has sub_widgets, but some of its sub_widgets doesn't have 'show_widget_condition' (%s)" , widget.content.setting_id) - end - -- if 'group' - else - widget.content.is_widget_visible = parent_widget.content.is_widget_visible and not parent_widget.content.is_widget_collapsed - end - end - end - end - end -end - - -VMFOptionsView.readjust_visible_settings_list_widgets_position = function (self) - - local offset_y = 0 - - for _, mod_widgets in ipairs(self.settings_list_widgets) do - for _, widget in ipairs(mod_widgets) do - if widget.content.is_widget_visible then - - widget.offset[2] = -offset_y - - if widget.content.popup_menu_widget then - widget.content.popup_menu_widget.offset[2] = -offset_y - end - - offset_y = offset_y + ((widget.content.widget_type == "header") and SETTINGS_LIST_HEADER_WIDGET_SIZE[2] or SETTINGS_LIST_REGULAR_WIDGET_SIZE[2]) - end - end - end - - local list_size_y = offset_y - local mask_size_y = self.setting_list_mask_size_y - local is_scrolling_enabled = false - local max_offset_y = 0 - - if mask_size_y < list_size_y then - is_scrolling_enabled = true - max_offset_y = list_size_y - mask_size_y - end - - self.ui_scenegraph[self.settings_list_scenegraph_id].size[2] = list_size_y - - self.max_setting_list_offset_y = max_offset_y - self.settings_list_size_y = list_size_y - self.current_setting_list_offset_y = math.clamp(self.current_setting_list_offset_y, 0, max_offset_y) - - - self.menu_widgets["scrollbar"].content.visible = is_scrolling_enabled - self.menu_widgets["mousewheel_scroll_area"].content.visible = is_scrolling_enabled - - if is_scrolling_enabled then - self:calculate_scrollbar_size() - self:update_scrollbar_position() - end -end - - --- #################################################################################################################### --- ##### MISCELLANEOUS: SCROLLING'N'STUFF ############################################################################# --- #################################################################################################################### - - -VMFOptionsView.calculate_scrollbar_size = function (self) - - local widget_content = self.menu_widgets["scrollbar"].content - - local percentage = self.setting_list_mask_size_y / self.settings_list_size_y - - widget_content.scroll_bar_info.bar_height_percentage = percentage -end - - -VMFOptionsView.update_mousewheel_scroll_area_input = function (self) - local widget_content = self.menu_widgets["mousewheel_scroll_area"].content - - local mouse_scroll_value = widget_content.internal_scroll_value - - if mouse_scroll_value ~= 0 then - - local new_offset = self.current_setting_list_offset_y + mouse_scroll_value * _SCROLL_STEP - - self.current_setting_list_offset_y = math.clamp(new_offset, 0, self.max_setting_list_offset_y) - - widget_content.internal_scroll_value = 0 - - self:update_scrollbar_position() - end -end - - -VMFOptionsView.update_scrollbar_input = function (self) - local scrollbar_info = self.menu_widgets["scrollbar"].content.scroll_bar_info - local value = scrollbar_info.value - local old_value = scrollbar_info.old_value - - if value ~= old_value then - self.current_setting_list_offset_y = self.max_setting_list_offset_y * value - scrollbar_info.old_value = value - end -end - - -VMFOptionsView.update_scrollbar_position = function (self) - - local widget_content = self.menu_widgets["scrollbar"].content - - local percentage = self.current_setting_list_offset_y / self.max_setting_list_offset_y - - widget_content.scroll_bar_info.value = percentage - widget_content.scroll_bar_info.old_value = percentage -end - --- #################################################################################################################### --- ##### SEARCH BAR ################################################################################################### --- #################################################################################################################### - - -VMFOptionsView.update_search_bar = function (self) - - local widget_content = self.menu_widgets["search_bar"].content - - if self.search_bar_selected then - - if Mouse.any_pressed() == 0 and not widget_content.hotspot.is_hover or -- Left Mouse Button - Keyboard.any_pressed() == 27 or -- Esc - Keyboard.any_released() == 13 then -- Enter - - self:deactivate_search_bar() - - return - end - - local keystrokes = Keyboard.keystrokes() - - local old_search_text = widget_content.text - local text_index = string.len(old_search_text) + 1 - - local new_search_text = KeystrokeHelper.parse_strokes(old_search_text, text_index, "insert", keystrokes) - - new_search_text = string.gsub(new_search_text, "%%", "") - - if new_search_text ~= old_search_text then - self:filter_mods_settings_by_name(new_search_text) - end - - widget_content.text = new_search_text - end - - if widget_content.hotspot.on_release then - - self:activate_search_bar() - self:filter_mods_settings_by_name("") - end -end - - -VMFOptionsView.activate_search_bar = function (self) - - self.menu_widgets["search_bar"].content.text = "" - self.menu_widgets["search_bar"].content.is_active = true - - self.search_bar_selected = true - - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:block_device_except_service("changing_setting", "keyboard", 1, "keybind") -end - - -VMFOptionsView.deactivate_search_bar = function (self) - - self.menu_widgets["search_bar"].content.is_active = false - - self.search_bar_selected = false - - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "keyboard", 1, "keybind") -end - - -VMFOptionsView.filter_mods_settings_by_name = function (self, pattern) - - pattern = string.upper(pattern) - - if pattern == "" then - - for _, mod_widgets in ipairs(self.settings_list_widgets) do - - local content = mod_widgets[1].content - - content.is_widget_visible = true - end - else - - for _, mod_widgets in ipairs(self.settings_list_widgets) do - - local content = mod_widgets[1].content - - if string.find(string.upper(content.text), pattern) then - content.is_widget_visible = true - else - content.is_widget_visible = false - end - end - end - - self:update_settings_list_widgets_visibility() - self:readjust_visible_settings_list_widgets_position() -end - - --- #################################################################################################################### --- ##### UPDATE ####################################################################################################### --- #################################################################################################################### - - -VMFOptionsView.update = function (self, dt) - if self.suspended then - return - end - - if self.is_scrolling_enabled then - self:update_scrollbar_input() - self:update_mousewheel_scroll_area_input() - end - - self.dt = dt - self.draw_widgets(self, dt) - - local input_service = self:input_service() - if input_service.get(input_service, "toggle_menu") then - self.ingame_ui:handle_transition("exit_menu") - end - - self:update_search_bar() - -end - - -VMFOptionsView.draw_widgets = function (self, dt) - local ui_renderer = self.ui_renderer - local ui_scenegraph = self.ui_scenegraph - local input_manager = self.input_manager - local input_service = input_manager.get_service(input_manager, "vmf_options_menu") - - UIRenderer.begin_pass(ui_renderer, ui_scenegraph, input_service, dt, nil, self.render_settings) - - local menu_widgets = self.menu_widgets - - for _, widget in pairs(menu_widgets) do - UIRenderer.draw_widget(ui_renderer, widget) - end - - self:update_settings_list(self.settings_list_widgets, ui_renderer, ui_scenegraph) - - - UIRenderer.end_pass(ui_renderer) -end - --- update settings list widgets position, and draw widget which are inside the visible area -VMFOptionsView.update_settings_list = function (self, settings_list_widgets, ui_renderer, ui_scenegraph) - - local scenegraph = ui_scenegraph[self.settings_list_scenegraph_id] - scenegraph.offset[2] = self.current_setting_list_offset_y - - local scenegraph_id_start = self.settings_list_scenegraph_id_start - local list_position = UISceneGraph.get_world_position(ui_scenegraph, scenegraph_id_start) - local mask_pos = Vector3.deprecated_copy(UISceneGraph.get_world_position(ui_scenegraph, "sg_settings_list_mask")) - local mask_size = UISceneGraph.get_size(ui_scenegraph, "sg_settings_list_mask") - local temp_pos_table = {} - - for _, mod_widgets in ipairs(settings_list_widgets) do - for _, widget in ipairs(mod_widgets) do - if widget.content.is_widget_visible then - local style = widget.style - local size = style.size - local offset = style.offset - - temp_pos_table[1] = list_position[1] + offset[1] - temp_pos_table[2] = list_position[2] + offset[2] + widget.offset[2] - - local lower_visible = is_point_inside_2d_box(temp_pos_table, mask_pos, mask_size) - temp_pos_table[2] = temp_pos_table[2] + size[2] - local top_visible = is_point_inside_2d_box(temp_pos_table, mask_pos, mask_size) - - local visible = lower_visible or top_visible - if visible then - UIRenderer.draw_widget(ui_renderer, widget) - end - end - end - end -end - - --- #################################################################################################################### --- ##### SOME OTHER STUFF ############################################################################################# --- #################################################################################################################### - - -VMFOptionsView.on_enter = function (self) - - if ShowCursorStack.stack_depth == 0 or not VT1 then ShowCursorStack.push() end - - local input_manager = self.input_manager - input_manager.block_device_except_service(input_manager, "vmf_options_menu", "keyboard", 1) - input_manager.block_device_except_service(input_manager, "vmf_options_menu", "mouse", 1) - input_manager.block_device_except_service(input_manager, "vmf_options_menu", "gamepad", 1) - - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_button_open") - - self:sort_settings_list_widgets() - self:update_picked_option_for_settings_list_widgets() - self:update_settings_list_widgets_visibility() - self:readjust_visible_settings_list_widgets_position() -end - - -VMFOptionsView.on_exit = function (self) - WwiseWorld.trigger_event(self.wwise_world, "Play_hud_button_close") - - -- in VT1 cursor will be romover automatically - if not VT1 then ShowCursorStack.pop() end - - vmf.save_unsaved_settings_to_file() -end - - --- default event, is used by IngameUI -VMFOptionsView.input_service = function (self) - return self.input_manager:get_service("vmf_options_menu") -end - - --- I'm not really sure if suspend and unsuspend are needed. --- --- StateInGameRunning.gm_event_end_conditions_met -> --- IngameUI.suspend_active_view -> --- XXXXXXX.suspend -VMFOptionsView.suspend = function (self) - self.suspended = true - - self.input_manager:device_unblock_all_services("keyboard", 1) - self.input_manager:device_unblock_all_services("mouse", 1) - self.input_manager:device_unblock_all_services("gamepad", 1) -end -VMFOptionsView.unsuspend = function (self) - self.suspended = nil - - self.input_manager:block_device_except_service("vmf_options_menu", "keyboard", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "mouse", 1) - self.input_manager:block_device_except_service("vmf_options_menu", "gamepad", 1) end -- #################################################################################################################### @@ -4271,36 +17,1233 @@ end -- #################################################################################################################### vmf.load_vmf_options_view_settings = function() - if vmf:get("vmf_options_scrolling_speed") then - _SCROLL_STEP = _DEFAULT_SCROLL_STEP / 100 * vmf:get("vmf_options_scrolling_speed") - end + load_scrolling_speed_setting() end -- #################################################################################################################### --- ##### Script ####################################################################################################### +-- ##### VMF Options View Class ####################################################################################### -- #################################################################################################################### -vmf.load_vmf_options_view_settings() +local _content_blueprints = vmf:dofile("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_content_blueprints") +local _view_settings = vmf:dofile("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings") +local InputUtils = require("scripts/managers/input/input_utils") +local ScriptWorld = require("scripts/foundation/utilities/script_world") +local UIFonts = require("scripts/managers/ui/ui_fonts") +local UIRenderer = require("scripts/managers/ui/ui_renderer") +local UIWidget = require("scripts/managers/ui/ui_widget") +local UIWidgetGrid = require("scripts/ui/widget_logic/ui_widget_grid") +local ViewElementInputLegend = require("scripts/ui/view_elements/view_element_input_legend/view_element_input_legend") +local ViewElementKeybindPopup = require("scripts/ui/view_elements/view_element_keybind_popup/view_element_keybind_popup") -vmf:register_view({ - view_name = "vmf_options_view", - view_settings = { - init_view_function = function (ingame_ui_context) - return VMFOptionsView:new(ingame_ui_context) - end, - active = { - inn = true, - ingame = true +local CATEGORIES_GRID = 1 +local SETTINGS_GRID = 2 + +local VMFOptionsView = class("VMFOptionsView", "BaseView") + +VMFOptionsView.init = function (self, settings) + local definitions = vmf:dofile("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_definitions") + + VMFOptionsView.super.init(self, definitions, settings) + + self._pass_draw = false + + self:_setup_offscreen_gui() +end + +VMFOptionsView.on_enter = function (self) + _widgets_by_name = self._widgets_by_name + + if not self._options_templates then + self._options_templates = { + settings = {}, + categories = {} } - }, - view_transitions = { - vmf_options_view_open = function (self) - self.current_view = "vmf_options_view" - self.menu_active = true - end, - vmf_options_view_close = function (self) - require("scripts/ui/views/ingame_ui_settings").transitions.exit_menu(self) + vmf:create_mod_options_settings(self._options_templates) + end + VMFOptionsView.super.on_enter(self) + + self._default_category = nil + self._using_cursor_navigation = Managers.ui:using_cursor_navigation() + self._validation_mapping = self:_map_validations(self._options_templates) + + self:_setup_settings_config(self._options_templates) + self:_setup_category_config(self._options_templates) + self:_setup_input_legend() + self:_enable_settings_overlay(false) + self:_update_grid_navigation_selection() +end + +VMFOptionsView._map_validations = function (self, config) + local config_categories = config.categories + local categories = {} + + for i = 1, #config_categories do + local category_config = config_categories[i] + local validation_result = category_config.validation_function and category_config.validation_function() + + if validation_result == nil then + validation_result = true end + + categories[category_config.display_name] = { + validation_function = category_config.validation_function, + validation_result = validation_result, + settings = {} + } + end + + local config_settings = config.settings + + for _, setting in ipairs(config_settings) do + local validation_result = setting.validation_function and setting.validation_function() + + if validation_result == nil then + validation_result = true + end + + categories[setting.category].settings[setting.display_name] = { + validation_function = setting.validation_function, + validation_result = validation_result + } + end + + return categories +end + +VMFOptionsView.on_exit = function (self) + Managers.event:trigger("event_on_input_settings_changed") + + if self._input_legend_element then + self._input_legend_element = nil + + self:_remove_element("input_legend") + end + + if self._popup_id then + Managers.event:trigger("event_remove_ui_popup", self._popup_id) + end + + if self._ui_offscreen_renderer then + self._ui_offscreen_renderer = nil + + Managers.ui:destroy_renderer(self.__class_name .. "_ui_offscreen_renderer") + + local offscreen_world = self._offscreen_world + local offscreen_viewport_name = self._offscreen_viewport_name + + ScriptWorld.destroy_viewport(offscreen_world, offscreen_viewport_name) + Managers.ui:destroy_world(offscreen_world) + + self._offscreen_viewport = nil + self._offscreen_viewport_name = nil + self._offscreen_world = nil + end + + VMFOptionsView.super.on_exit(self) +end + +VMFOptionsView.cb_on_back_pressed = function (self) + local selected_navigation_column = self._selected_navigation_column_index + local selected_settings_widget = self._selected_settings_widget + + if selected_settings_widget then + self._close_selected_setting = true + elseif selected_navigation_column == SETTINGS_GRID then + self:_change_navigation_column(selected_navigation_column - 1) + else + local view_name = "vmf_options_view" + Managers.ui:close_view(view_name) + end +end + +VMFOptionsView.cb_reset_category_to_default = function (self) + local selected_category = self._selected_category + local reset_functions_by_category = self._reset_functions_by_category + local reset_function = reset_functions_by_category[selected_category] + local context = { + title_text = "loc_popup_header_settings_reset_default", + description_text = "loc_popup_description_settings_reset_default", + type = "warning", + options = { + { + text = "loc_popup_button_settings_reset_default", + close_on_pressed = true, + callback = callback(function () + if reset_function then + reset_function() + else + local settings_category_default_values = self._settings_category_default_values + local settings_default_values = selected_category and settings_category_default_values[selected_category] + + if settings_default_values then + for setting, default_value in pairs(settings_default_values) do + local on_activated = setting.on_activated + + if on_activated then + on_activated(default_value, setting) + end + end + end + end + + self._popup_id = nil + end) + }, + { + text = "loc_popup_button_cancel_settings_reset_default", + template_type = "terminal_button_small", + close_on_pressed = true, + hotkey = "back", + callback = function () + self._popup_id = nil + end + } + } } -}) + + Managers.event:trigger("event_show_ui_popup", context, function (id) + self._popup_id = id + end) +end + +VMFOptionsView._setup_input_legend = function (self) + self._input_legend_element = self:_add_element(ViewElementInputLegend, "input_legend", 10) + local legend_inputs = self._definitions.legend_inputs + + for i = 1, #legend_inputs do + local legend_input = legend_inputs[i] + local on_pressed_callback = legend_input.on_pressed_callback and callback(self, legend_input.on_pressed_callback) + + self._input_legend_element:add_entry(legend_input.display_name, legend_input.input_action, legend_input.visibility_function, on_pressed_callback, legend_input.alignment) + end +end + +VMFOptionsView._setup_content_grid_scrollbar = function (self, grid, widget_id, grid_scenegraph_id, grid_pivot_scenegraph_id) + local widgets_by_name = self._widgets_by_name + local scrollbar_widget = widgets_by_name[widget_id] + + load_scrolling_speed_setting() + + grid:assign_scrollbar(scrollbar_widget, grid_pivot_scenegraph_id, grid_scenegraph_id) + grid:set_scrollbar_progress(0) +end + +VMFOptionsView._setup_offscreen_gui = function (self) + local ui_manager = Managers.ui + local class_name = self.__class_name + local timer_name = "ui" + local world_layer = 10 + local world_name = class_name .. "_ui_offscreen_world" + local view_name = self.view_name + self._offscreen_world = ui_manager:create_world(world_name, world_layer, timer_name, view_name) + local shading_environment = _view_settings.shading_environment + local viewport_name = class_name .. "_ui_offscreen_world_viewport" + local viewport_type = "overlay_offscreen" + local viewport_layer = 1 + self._offscreen_viewport = ui_manager:create_viewport(self._offscreen_world, viewport_name, viewport_type, viewport_layer, shading_environment) + self._offscreen_viewport_name = viewport_name + self._ui_offscreen_renderer = ui_manager:create_renderer(class_name .. "_ui_offscreen_renderer", self._offscreen_world) +end + +VMFOptionsView._setup_content_widgets = function (self, content, scenegraph_id, callback_name) + local definitions = self._definitions + local widget_definitions = {} + local widgets = {} + local alignment_list = {} + local amount = #content + + for i = 1, amount do + local entry = content[i] + local verified = true + + if verified then + local widget_type = entry.widget_type + local widget = nil + local template = _content_blueprints[widget_type] + local size = template.size + local pass_template = template.pass_template + + if pass_template and not widget_definitions[widget_type] then + local scenegraph_definition = definitions.scenegraph_definition + widget_definitions[widget_type] = UIWidget.create_definition(pass_template, scenegraph_id, nil, size) + end + + local widget_definition = widget_definitions[widget_type] + + if widget_definition then + local name = scenegraph_id .. "_widget_" .. i + widget = self:_create_widget(name, widget_definition) + local init = template.init + + if init then + init(self, widget, entry, callback_name) + end + + local focus_group = entry.focus_group + + if focus_group then + widget.content.focus_group = focus_group + end + + widgets[#widgets + 1] = widget + end + + alignment_list[#alignment_list + 1] = widget or { + size = size + } + end + end + + return widgets, alignment_list +end + +VMFOptionsView._draw_widgets = function (self, dt, t, input_service, ui_renderer) + local widgets_by_name = self._widgets_by_name + local scrollbar_widget = widgets_by_name.scrollbar + scrollbar_widget.content.visible = self._category_content_grid:can_scroll() + + if self._selected_settings_widget then + UIWidget.draw(self._selected_settings_widget, ui_renderer) + + input_service = input_service:null_service() + ui_renderer.input_service = input_service + end + + VMFOptionsView.super._draw_widgets(self, dt, t, input_service, ui_renderer) +end + +VMFOptionsView._draw_elements = function (self, dt, t, ui_renderer, render_settings, input_service) + if self:_handling_keybinding() or self._selected_settings_widget then + input_service = input_service:null_service() + ui_renderer.input_service = input_service + end + + VMFOptionsView.super._draw_elements(self, dt, t, ui_renderer, render_settings, input_service) +end + +VMFOptionsView.draw = function (self, dt, t, input_service, layer) + if self:_handling_keybinding() then + input_service = input_service:null_service() + end + + local widgets_by_name = self._widgets_by_name + local grid_interaction_widget = widgets_by_name.grid_interaction + + self:_draw_grid(self._category_content_grid, self._category_content_widgets, grid_interaction_widget, dt, t, input_service) + + if self._settings_content_grid then + local grid_interaction_widget = widgets_by_name.settings_grid_interaction + + self:_draw_grid(self._settings_content_grid, self._settings_content_widgets, grid_interaction_widget, dt, t, input_service) + end + + VMFOptionsView.super.draw(self, dt, t, input_service, layer) +end + +VMFOptionsView._draw_grid = function (self, grid, widgets, interaction_widget, dt, t, input_service) + local is_grid_hovered = not self._using_cursor_navigation or interaction_widget.content.hotspot.is_hover or false + local null_input_service = input_service:null_service() + local render_settings = self._render_settings + local ui_renderer = self._ui_offscreen_renderer + local ui_scenegraph = self._ui_scenegraph + + UIRenderer.begin_pass(ui_renderer, ui_scenegraph, input_service, dt, render_settings) + + for j = 1, #widgets do + local widget = widgets[j] + local draw = widget ~= self._selected_settings_widget + + if draw then + if self._selected_settings_widget then + ui_renderer.input_service = null_input_service + end + + if grid:is_widget_visible(widget) then + local hotspot = widget.content.hotspot + + if hotspot then + hotspot.force_disabled = not is_grid_hovered + local is_active = hotspot.is_focused or hotspot.is_hover + + if is_active and widget.content.entry and (widget.content.entry.tooltip_text or widget.content.entry.disabled_by and not table.is_empty(widget.content.entry.disabled_by)) then + self:_set_tooltip_data(widget) + end + end + + UIWidget.draw(widget, ui_renderer) + end + end + end + + UIRenderer.end_pass(ui_renderer) +end + +VMFOptionsView._setup_grid = function (self, widgets, alignment_list, grid_scenegraph_id, spacing, use_is_focused) + local ui_scenegraph = self._ui_scenegraph + local direction = "down" + local grid = UIWidgetGrid:new(widgets, alignment_list, ui_scenegraph, grid_scenegraph_id, direction, spacing, nil, use_is_focused) + local render_scale = self._render_scale + + grid:set_render_scale(render_scale) + + return grid +end + +VMFOptionsView.set_render_scale = function (self, scale) + VMFOptionsView.super.set_render_scale(self, scale) + self._category_content_grid:set_render_scale(self._render_scale) + + if self._settings_content_grid then + self._settings_content_grid:set_render_scale(self._render_scale) + end +end + +VMFOptionsView.update = function (self, dt, t, input_service, view_data) + local drawing_view = view_data and view_data.drawing_view + local using_cursor_navigation = Managers.ui:using_cursor_navigation() + + if self:_handling_keybinding() then + if not drawing_view or not using_cursor_navigation then + self:close_keybind_popup(true) + end + + input_service = input_service:null_service() + end + + self:_handle_keybind_rebind(dt, t, input_service) + + local close_keybind_popup_duration = self._close_keybind_popup_duration + + if close_keybind_popup_duration then + if close_keybind_popup_duration < 0 then + self._close_keybind_popup_duration = nil + + self:close_keybind_popup(true) + else + self._close_keybind_popup_duration = close_keybind_popup_duration - dt + end + end + + local grid_length = self._category_content_grid:length() + + if grid_length ~= self._grid_length then + self._grid_length = grid_length + end + + local category_grid_is_focused = self._selected_navigation_column_index == CATEGORIES_GRID + local category_grid_input_service = category_grid_is_focused and input_service or input_service:null_service() + + self._category_content_grid:update(dt, t, category_grid_input_service) + self:_update_category_content_widgets(dt, t) + + local settings_content_grid = self._settings_content_grid + + if settings_content_grid then + local settings_grid_input_service = not category_grid_is_focused and not self._selected_settings_widget and input_service or input_service:null_service() + + settings_content_grid:update(dt, t, settings_grid_input_service) + self:_update_settings_content_widgets(dt, t, input_service) + end + + if self._validation_mapping then + local needs_reset = false + local reset_all = false + + for category_name, category_data in pairs(self._validation_mapping) do + local valid = category_data.validation_function and category_data.validation_function() + + if valid ~= nil and valid ~= category_data.validation_result then + category_data.validation_result = valid + needs_reset = true + + if reset_all == false then + reset_all = valid == false and self._selected_category == category_name + end + end + + if category_data.settings then + for _, settings_data in pairs(category_data.settings) do + valid = settings_data.validation_function and settings_data.validation_function() + + if valid ~= nil and valid ~= settings_data.validation_result then + settings_data.validation_result = valid + needs_reset = true + end + end + end + end + + if needs_reset then + self:_reset_options_view(reset_all) + end + end + + if self._tooltip_data and self._tooltip_data.widget and not self._tooltip_data.widget.content.hotspot.is_hover then + self._tooltip_data = {} + self._widgets_by_name.tooltip.content.visible = false + end + + return VMFOptionsView.super.update(self, dt, t, input_service) +end + +VMFOptionsView.on_resolution_modified = function (self) + VMFOptionsView.super.on_resolution_modified(self) + + local scale = self._render_scale + + self._category_content_grid:on_resolution_modified(scale) + + if self._settings_content_grid then + self._settings_content_grid:on_resolution_modified(scale) + end + + self._grid_length = nil +end + +VMFOptionsView._on_navigation_input_changed = function (self) + VMFOptionsView.super._on_navigation_input_changed(self) + + if self._settings_content_widgets then + self:_update_grid_navigation_selection() + end +end + +VMFOptionsView._reset_options_view = function (self, reset_all) + if reset_all then + self._selected_category = nil + self._selected_settings_widget = nil + self._selected_navigation_row_index = nil + self._selected_navigation_column_index = nil + end + + self._selected_category_widget = nil + + self:_setup_settings_config(self._options_templates) + self:_setup_category_config(self._options_templates) + + if self._category_content_widgets then + self._selected_category = self._selected_category or self._options_templates.categories[1].display_name + + for i = 1, #self._category_content_widgets do + local widget = self._category_content_widgets[i] + widget.content.hotspot.is_focused = widget.content.entry.display_name == self._selected_category + widget.content.hotspot.is_selected = widget.content.entry.display_name == self._selected_category + end + end + + self:_update_grid_navigation_selection() +end + +VMFOptionsView.settings_grid_length = function (self) + local grid = self._settings_content_grid + + if grid then + local scroll_length = grid:scroll_length() + local total_length = grid:length() + local area_length = grid:area_length() + + return math.max(total_length - scroll_length, area_length) + end + + return 0 +end + +VMFOptionsView.settings_scroll_amount = function (self) + local grid = self._settings_content_grid + + if grid then + local scroll_progress = grid:scrollbar_progress() + local scroll_length = grid:scroll_length() + + return scroll_length * scroll_progress + end + + return 0 +end + +VMFOptionsView.set_exclusive_focus_on_grid_widget = function (self, widget_name) + self:_set_exclusive_focus_on_grid_widget(widget_name) +end + +VMFOptionsView._handle_input = function (self, input_service) + local selected_settings_widget = self._selected_settings_widget + + if selected_settings_widget then + local close_selected_setting = false + + if input_service:get("left_pressed") or input_service:get("confirm_pressed") or input_service:get("back") then + close_selected_setting = true + else + self._navigation_column_changed_this_frame = false + end + + self._close_selected_setting = close_selected_setting + else + local selected_navigation_row = self._selected_navigation_row_index + local selected_navigation_column = self._selected_navigation_column_index + + if selected_navigation_row and selected_navigation_column then + if input_service:get("navigate_left_continuous") then + self:_change_navigation_column(selected_navigation_column - 1) + elseif input_service:get("navigate_right_continuous") then + self:_change_navigation_column(selected_navigation_column + 1) + elseif not input_service:get("confirm_pressed") and not input_service:get("back") then + self._navigation_column_changed_this_frame = false + end + elseif not input_service:get("confirm_pressed") and not input_service:get("back") then + self._navigation_column_changed_this_frame = false + end + end +end + +VMFOptionsView._update_grid_navigation_selection = function (self) + local selected_column_index = self._selected_navigation_column_index + local selected_row_index = self._selected_navigation_row_index + + if self._using_cursor_navigation then + if selected_row_index or selected_column_index then + self:_set_selected_navigation_widget(nil) + end + else + local navigation_widgets = self._navigation_widgets[selected_column_index] + local selected_widget = navigation_widgets and navigation_widgets[selected_row_index] or self._selected_settings_widget + + if selected_widget then + local selected_grid = self._navigation_grids[selected_column_index] + + if not selected_grid or not selected_grid:selected_grid_index() then + self:_set_selected_navigation_widget(selected_widget) + end + elseif navigation_widgets or self._settings_content_widgets then + self:_set_default_navigation_widget() + elseif self._default_category then + self:present_category_widgets(self._default_category) + end + end +end + +VMFOptionsView.present_category_widgets = function (self, category) + self._selected_category = category + local settings_category_widgets = self._settings_category_widgets + local grid_data = settings_category_widgets[category] + + if grid_data then + local widgets = {} + local alignment_widgets = {} + + for i = 1, #grid_data do + local widget = grid_data[i].widget + local alignment_widget = grid_data[i].alignment_widget + widgets[#widgets + 1] = widget + alignment_widgets[#alignment_widgets + 1] = alignment_widget + end + + self._settings_content_widgets = widgets + self._settings_alignment_list = alignment_widgets + local scrollbar_widget_id = "settings_scrollbar" + local grid_scenegraph_id = "settings_grid_background" + local grid_pivot_scenegraph_id = "settings_grid_content_pivot" + local grid_spacing = _view_settings.grid_spacing + self._settings_content_grid = self:_setup_grid(self._settings_content_widgets, self._settings_alignment_list, grid_scenegraph_id, grid_spacing, false) + + self:_setup_content_grid_scrollbar(self._settings_content_grid, scrollbar_widget_id, grid_scenegraph_id, grid_pivot_scenegraph_id) + + self._navigation_widgets[SETTINGS_GRID] = widgets + self._navigation_grids[SETTINGS_GRID] = self._settings_content_grid + + self:_update_grid_navigation_selection() + end +end + +VMFOptionsView._setup_category_config = function (self, config) + if self._category_content_widgets then + for i = 1, #self._category_content_widgets do + local widget = self._category_content_widgets[i] + + self:_unregister_widget_name(widget.name) + end + + self._category_content_widgets = {} + end + + local config_categories = config.categories + local entries = {} + local reset_functions_by_category = {} + local categories_by_display_name = {} + + for i = 1, #config_categories do + local category_config = config_categories[i] + local category_display_name = category_config.display_name + local category_icon = category_config.icon + local category_reset_function = category_config.reset_function + local valid = self._validation_mapping[category_display_name].validation_result + + if valid then + local entry = { + widget_type = "settings_button", + display_name = category_display_name, + icon = category_icon, + can_be_reset = category_config.can_be_reset, + pressed_function = function (parent, widget, entry) + self._category_content_grid:select_widget(widget) + + local widget_name = widget.name + + self:present_category_widgets(category_display_name) + + local selected_navigation_column = self._selected_navigation_column_index + + if selected_navigation_column then + self:_change_navigation_column(selected_navigation_column + 1) + end + end, + select_function = function (parent, widget, entry) + self:present_category_widgets(category_display_name) + end + } + entries[#entries + 1] = entry + categories_by_display_name[category_display_name] = entry + reset_functions_by_category[category_display_name] = category_reset_function + end + end + + self._default_category = config_categories[1].display_name + local scenegraph_id = "grid_content_pivot" + local callback_name = "cb_on_category_pressed" + self._category_content_widgets, self._category_alignment_list = self:_setup_content_widgets(entries, scenegraph_id, callback_name) + local scrollbar_widget_id = "scrollbar" + local grid_scenegraph_id = "background" + local grid_pivot_scenegraph_id = "grid_content_pivot" + local grid_spacing = _view_settings.grid_spacing + self._category_content_grid = self:_setup_grid(self._category_content_widgets, self._category_alignment_list, grid_scenegraph_id, grid_spacing, true) + + self:_setup_content_grid_scrollbar(self._category_content_grid, scrollbar_widget_id, grid_scenegraph_id, grid_pivot_scenegraph_id) + + self._reset_functions_by_category = reset_functions_by_category + self._categories_by_display_name = categories_by_display_name + self._navigation_widgets = { + self._category_content_widgets + } + self._navigation_grids = { + self._category_content_grid + } +end + +VMFOptionsView._setup_settings_config = function (self, config) + if self._settings_category_widgets then + for _, settings_data in pairs(self._settings_category_widgets) do + for i = 1, #settings_data do + local widget = settings_data[i].widget + + self:_unregister_widget_name(widget.name) + end + end + + self._settings_category_widgets = {} + end + + local config_settings = config.settings + local category_widgets = {} + local settings_default_values = {} + local aligment_list = {} + local callback_name = "cb_on_settings_pressed" + + for setting_index, setting in ipairs(config_settings) do + local valid = self._validation_mapping[setting.category].settings[setting.display_name].validation_result + + if valid and not setting.hidden then + local category = setting.category or "Uncategorized" + local widgets = category_widgets[category] + + if not category_widgets[category] then + category_widgets[category] = {} + widgets = category_widgets[category] + end + + if not settings_default_values[category] then + settings_default_values[category] = {} + end + + if setting.get_function then + settings_default_values[category][setting] = setting.default_value + end + + local widget_suffix = "setting_" .. tostring(setting_index) + local widget, alignment_widget = self:_create_settings_widget_from_config(setting, category, widget_suffix, callback_name) + category_widgets[category][#widgets + 1] = { + widget = widget, + alignment_widget = alignment_widget + } + end + end + + self._settings_category_default_values = settings_default_values + self._settings_category_widgets = category_widgets +end + +VMFOptionsView._update_category_content_widgets = function (self, dt, t) + local category_content_widgets = self._category_content_widgets + + if category_content_widgets then + local is_focused_grid = self._selected_navigation_column_index == CATEGORIES_GRID + local selected_category_widget = self._selected_category_widget + + for i = 1, #category_content_widgets do + local widget = category_content_widgets[i] + local hotspot = widget.content.hotspot + + if hotspot.is_focused then + hotspot.is_selected = true + + if widget ~= selected_category_widget then + self._selected_category_widget = widget + local entry = widget.content.entry + + if entry and entry.select_function then + entry.select_function(self, widget, entry) + end + end + elseif is_focused_grid then + hotspot.is_selected = false + end + end + end +end + +VMFOptionsView._set_tooltip_data = function (self, widget) + local current_widget = self._tooltip_data and self._tooltip_data.widget + local display_text = nil + local tooltip_text = widget.content.entry.tooltip_text + local disabled_by_list = widget.content.entry.disabled_by + + if tooltip_text then + display_text = tooltip_text + end + + if disabled_by_list then + display_text = display_text and string.format("%s\n", display_text) + + for _, text in pairs(disabled_by_list) do + display_text = display_text and string.format("%s\n%s", display_text, text) or text + end + end + + local starting_point = self:_scenegraph_world_position("settings_grid_start") + local current_y = self._widgets_by_name.tooltip.offset[2] + local scroll_addition = self._settings_content_grid:length_scrolled() + local new_y = starting_point[2] + widget.offset[2] - scroll_addition + + if current_widget ~= widget or current_widget == widget and new_y ~= current_y then + self._tooltip_data = { + widget = widget, + text = display_text + } + self._widgets_by_name.tooltip.content.text = display_text + local text_style = self._widgets_by_name.tooltip.style.text + local x_pos = starting_point[1] + widget.offset[1] + local width = widget.content.size[1] * 0.5 + local text_options = UIFonts.get_font_options_by_style(text_style) + local _, text_height = self:_text_size(display_text, text_style.font_type, text_style.font_size, { + width, + 0 + }, text_options) + local height = text_height + self._widgets_by_name.tooltip.content.size = { + width, + height + } + self._widgets_by_name.tooltip.offset[1] = x_pos - width * 0.8 + self._widgets_by_name.tooltip.offset[2] = new_y - height + self._widgets_by_name.tooltip.content.visible = true + end +end + +VMFOptionsView._update_settings_content_widgets = function (self, dt, t, input_service) + local settings_content_widgets = self._settings_content_widgets + + if settings_content_widgets then + local focused_widget_index = self._settings_content_grid:selected_grid_index() + local focused_widget = focused_widget_index and settings_content_widgets[focused_widget_index] + + if focused_widget then + self:_set_selected_navigation_widget(focused_widget) + end + + local handle_input = false + local selected_settings_widget = self._selected_settings_widget + + for i = 1, #settings_content_widgets do + local widget = settings_content_widgets[i] + local widget_type = widget.type + local template = _content_blueprints[widget_type] + local update = template and template.update + + if update then + update(self, widget, input_service, dt, t) + end + end + + if selected_settings_widget and self._close_selected_setting then + self:_set_exclusive_focus_on_grid_widget(nil) + self:_update_grid_navigation_selection() + + self._close_selected_setting = nil + end + end +end + +VMFOptionsView._create_settings_widget_from_config = function (self, config, category, suffix, callback_name) + local scenegraph_id = "settings_grid_content_pivot" + local default_value = config.default_value + local default_value_type = type(default_value) + local options = config.options or config.options_function and config.options_function() + local widget_type = config.widget_type + + if not widget_type then + if options then + widget_type = "dropdown" + else + local get_function = config.get_function + + if get_function then + local value = get_function(config) + local value_type = value ~= nil and type(value) or default_value_type + + if value_type == "boolean" then + widget_type = "checkbox" + elseif value_type == "number" then + widget_type = "value_slider" + elseif value_type == "string" then + widget_type = "settings_button" + else + widget_type = "settings_button" + end + end + end + end + + if widget_type == "button" then + config.ignore_focus = true + end + + local widget = nil + local template = _content_blueprints[widget_type] + local size = template.size_function and template.size_function(self, config) or template.size + local indentation_level = config.indentation_level or 0 + local indentation_spacing = _view_settings.indentation_spacing * indentation_level + local new_size = { + size[1] - indentation_spacing, + size[2] + } + local pass_template_function = template.pass_template_function + local pass_template = pass_template_function and pass_template_function(self, config, new_size) or template.pass_template + local widget_definition = pass_template and UIWidget.create_definition(pass_template, scenegraph_id, nil, new_size) + local name = "widget_" .. suffix + + if widget_definition then + widget = self:_create_widget(name, widget_definition) + widget.type = widget_type + local init = template.init + + if init then + init(self, widget, config, callback_name) + end + end + + if widget then + return widget, { + horizontal_alignment = "right", + size = size, + name = name + } + else + return nil, { + size = size + } + end +end + +VMFOptionsView._handle_keybind_rebind = function (self, dt, t, input_service) + if self._handling_keybind then + local input_manager = Managers.input + local results = input_manager:key_watch_result() + + if results then + local entry = self._active_keybind_entry + local widget = self._active_keybind_widget + local presentation_string = InputUtils.localized_string_from_key_info(results) + local service_type = entry.service_type + local alias_name = entry.alias_name + local value = entry.value + local can_close = entry.on_activated(results, value) + + if can_close then + self:close_keybind_popup() + else + Managers.input:stop_key_watch() + + local devices = entry.devices + + Managers.input:start_key_watch(devices) + end + end + end +end + +VMFOptionsView._handling_keybinding = function (self) + return self._handling_keybind or self._close_keybind_popup_duration ~= nil +end + +VMFOptionsView.show_keybind_popup = function (self, widget, entry) + if not self:_handling_keybinding() then + self._active_keybind_entry = entry + self._active_keybind_widget = widget + local layer = 100 + local reference_name = "keybind_popup" + self._keybind_popup = self:_add_element(ViewElementKeybindPopup, reference_name, layer) + local display_name = entry.display_name or self:_localize("loc_settings_option_unavailable") + + self._keybind_popup:set_action_text(display_name) + + if entry.cancel_keys then + local input_text = entry.cancel_keys[1] + local description_text = Localize("loc_setting_keybinding_press_new_button", true, { + cancel_input = InputUtils.key_axis_locale(input_text) + }) + + self._keybind_popup:set_description_text(description_text) + end + + local value = entry:get_function() + local devices = entry.devices + local value_text = value and InputUtils.localized_string_from_key_info(value) or self:_localize("loc_keybind_unassigned") + + self._keybind_popup:set_value_text(value_text) + Managers.input:start_key_watch(devices) + + self._handling_keybind = true + + self:set_can_exit(false) + end +end + +VMFOptionsView.close_keybind_popup = function (self, force_close) + if force_close then + Managers.input:stop_key_watch() + + local reference_name = "keybind_popup" + self._keybind_popup = nil + + self:_remove_element(reference_name) + self:set_can_exit(true, true) + else + self._close_keybind_popup_duration = 0.2 + end + + self._handling_keybind = false + self._active_keybind_entry = nil + self._active_keybind_widget = nil +end + +VMFOptionsView._set_warning_text = function (self) + local widgets_by_name = self._widgets_by_name + local warning_text = widgets_by_name.warning_text + local action = "TEST" + local color_1 = self:_get_color_string_by_color(Color.ui_brown_light(255, true)) + local color_2 = self:_get_color_string_by_color(Color.red(255, true)) + warning_text.content.text = string.format("Warning! Input for action %s%s%s has been unassigned.", color_1, action, color_2) +end + +VMFOptionsView.cb_on_category_pressed = function (self, widget, entry) + local pressed_function = entry.pressed_function + + if pressed_function then + pressed_function(self, widget, entry) + end +end + +VMFOptionsView.cb_on_settings_pressed = function (self, widget, entry) + if not self._can_close or self._selected_settings_widget or self._navigation_column_changed_this_frame then + return + end + + local pressed_function = entry.pressed_function + + if pressed_function then + pressed_function(self, widget, entry) + end + + if not entry.ignore_focus then + local widget_name = widget.name + local selected_widget = self:_set_exclusive_focus_on_grid_widget(widget_name) + selected_widget.offset[3] = selected_widget and 90 or 0 + end +end + +VMFOptionsView._enable_settings_overlay = function (self, enable) + local widgets_by_name = self._widgets_by_name + local settings_overlay_widget = widgets_by_name.settings_overlay + settings_overlay_widget.content.visible = enable +end + +VMFOptionsView._set_exclusive_focus_on_grid_widget = function (self, widget_name) + local widgets = self._settings_content_widgets + local selected_widget = nil + + for i = 1, #widgets do + local widget = widgets[i] + local selected = widget.name == widget_name + local content = widget.content + content.exclusive_focus = selected + local hotspot = content.hotspot or content.button_hotspot + + if hotspot then + hotspot.is_selected = selected + + if selected then + selected_widget = widget + end + end + end + + self._selected_settings_widget = selected_widget + local has_exclusive_focus = selected_widget ~= nil and not self._using_cursor_navigation + + self:_enable_settings_overlay(has_exclusive_focus) + self:set_can_exit(not has_exclusive_focus, not has_exclusive_focus) + + return selected_widget +end + +VMFOptionsView._change_navigation_column = function (self, column_index) + local navigation_widgets = self._navigation_widgets + local num_columns = #navigation_widgets + local success = false + + if column_index < 1 or num_columns < column_index or self._navigation_column_changed_this_frame then + return success + else + success = true + self._navigation_column_changed_this_frame = true + end + + local widgets = navigation_widgets[column_index] + + for i = 1, #widgets do + local widget = widgets[i] + local content = widget.content + local hotspot = content.hotspot or content.button_hotspot + + if hotspot and hotspot.is_selected then + self:_set_selected_navigation_widget(widget) + + return success + end + end + + local navigation_grid = self._navigation_grids[column_index] + local scrollbar_progress = navigation_grid:scrollbar_progress() + + for i = 1, #widgets do + local widget = widgets[i] + local content = widget.content + local hotspot = content.hotspot or content.button_hotspot + + if hotspot then + local scroll_position = navigation_grid:get_scrollbar_percentage_by_index(i) or 0 + + if scrollbar_progress <= scroll_position then + self:_set_selected_navigation_widget(widget) + + return success + end + end + end +end + +VMFOptionsView._set_default_navigation_widget = function (self) + local navigation_widgets = self._navigation_widgets + + for i = 1, #navigation_widgets do + if self:_change_navigation_column(i) then + return + end + end +end + +VMFOptionsView._set_selected_navigation_widget = function (self, widget) + local widget_name = widget and widget.name + local selected_row, selected_column = nil + local navigation_widgets = self._navigation_widgets + + for column_index = 1, #navigation_widgets do + local widgets = navigation_widgets[column_index] + local _, focused_grid_index = self:_set_focused_grid_widget(widgets, widget_name) + + if focused_grid_index then + self:_set_selected_grid_widget(widgets, widget_name) + + selected_row = focused_grid_index + selected_column = column_index + end + end + + local navigation_grids = self._navigation_grids + + for column_index = 1, #navigation_grids do + local selected_grid = column_index == selected_column + local navigation_grid = navigation_grids[column_index] + + navigation_grid:select_grid_index(selected_grid and selected_row or nil, nil, nil, column_index == CATEGORIES_GRID) + end + + self._selected_navigation_row_index = selected_row + self._selected_navigation_column_index = selected_column +end + +VMFOptionsView._set_focused_grid_widget = function (self, widgets, widget_name) + local selected_widget, selected_widget_index = nil + + for i = 1, #widgets do + local widget = widgets[i] + local is_focused = widget.name == widget_name + local content = widget.content + local hotspot = content.hotspot or content.button_hotspot + + if hotspot then + hotspot.is_focused = is_focused + + if is_focused then + selected_widget = widget + selected_widget_index = i + end + end + end + + return selected_widget, selected_widget_index +end + +VMFOptionsView._set_selected_grid_widget = function (self, widgets, widget_name) + local selected_widget, selected_widget_index = nil + + for i = 1, #widgets do + local widget = widgets[i] + local is_selected = widget.name == widget_name + local content = widget.content + local hotspot = content.hotspot or content.button_hotspot + + if hotspot then + hotspot.is_selected = is_selected + + if is_selected then + selected_widget = widget + selected_widget_index = i + end + end + end + + return selected_widget, selected_widget_index +end + +return VMFOptionsView diff --git a/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_content_blueprints.lua b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_content_blueprints.lua new file mode 100644 index 0000000..64518d0 --- /dev/null +++ b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_content_blueprints.lua @@ -0,0 +1,780 @@ +local vmf = get_mod("VMF") + +local _view_settings = vmf:dofile("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings") + +local ButtonPassTemplates = require("scripts/ui/pass_templates/button_pass_templates") +local CheckboxPassTemplates = require("scripts/ui/pass_templates/checkbox_pass_templates") +local DropdownPassTemplates = require("scripts/ui/pass_templates/dropdown_pass_templates") +local InputUtils = require("scripts/managers/input/input_utils") +local KeybindPassTemplates = require("scripts/ui/pass_templates/keybind_pass_templates") +local SliderPassTemplates = require("scripts/ui/pass_templates/slider_pass_templates") +local UIFonts = require("scripts/managers/ui/ui_fonts") +local UIFontSettings = require("scripts/managers/ui/ui_font_settings") +local UIRenderer = require("scripts/managers/ui/ui_renderer") + +local grid_size = _view_settings.grid_size +local grid_width = grid_size[1] + +local settings_grid_width = 1000 +local settings_value_width = 500 +local settings_value_height = 64 + +local group_header_height = 80 + +local DEFAULT_NUM_DECIMALS = 0 + +local value_font_style = table.clone(UIFontSettings.list_button) +value_font_style.offset = { + settings_grid_width - settings_value_width + 25, + 0, + 8 +} + +local description_font_style = table.clone(UIFontSettings.list_button) +description_font_style.offset = { + 25, + 0, + 3 +} + +local header_font_style = table.clone(UIFontSettings.header_2) +header_font_style.text_vertical_alignment = "bottom" + +local blueprints = { + spacing_vertical = { + size = { + grid_width, + 20 + } + }, + settings_button = { + size = { + grid_width, + settings_value_height + }, + pass_template = ButtonPassTemplates.list_button, + init = function (parent, widget, entry, callback_name) + local content = widget.content + local hotspot = content.hotspot + + hotspot.pressed_callback = function () + local is_disabled = entry.disabled or false + + if is_disabled then + return + end + + callback(parent, callback_name, widget, entry)() + end + + local display_name = entry.display_name + content.text = display_name + content.entry = entry + end + }, + button = { + size = { + settings_grid_width, + settings_value_height + }, + pass_template = ButtonPassTemplates.settings_button(settings_grid_width, settings_value_height, settings_value_width, true), + init = function (parent, widget, entry, callback_name) + local content = widget.content + + content.hotspot.pressed_callback = function () + local is_disabled = entry.disabled or false + + if is_disabled then + return + end + + callback(parent, callback_name, widget, entry)() + end + + local display_name = entry.display_name + content.text = display_name + content.button_text = Localize("loc_settings_change") + content.entry = entry + end + }, + group_header = { + size = { + settings_grid_width, + group_header_height + }, + pass_template = { + { + pass_type = "text", + value_id = "text", + style = header_font_style, + value = Localize("loc_settings_option_unavailable") + } + }, + init = function (parent, widget, entry, callback_name) + local content = widget.content + local display_name = entry.display_name + content.text = display_name + end + }, + checkbox = { + size = { + settings_grid_width, + settings_value_height + }, + pass_template_function = function (parent, config, size) + return CheckboxPassTemplates.settings_checkbox(size[1], settings_value_height, settings_value_width, 2, true) + end, + init = function (parent, widget, entry, callback_name) + local content = widget.content + local display_name = entry.display_name or Localize("loc_settings_option_unavailable") + content.text = display_name + content.entry = entry + + for i = 1, 2 do + local widget_option_id = "option_" .. i + content[widget_option_id] = i == 1 and Managers.localization:localize("loc_setting_checkbox_on") or Managers.localization:localize("loc_setting_checkbox_off") + end + end, + update = function (parent, widget, input_service, dt, t) + local content = widget.content + local entry = content.entry + local value = entry:get_function() + local on_activated = entry.on_activated + local pass_input = true + local hotspot = content.hotspot + local is_disabled = entry.disabled or false + content.disabled = is_disabled + local new_value = nil + + if hotspot.on_pressed and not is_disabled then + new_value = not value + end + + for i = 1, 2 do + local widget_option_id = "option_hotspot_" .. i + local option_hotspot = content[widget_option_id] + local is_selected = value and i == 1 or not value and i == 2 + option_hotspot.is_selected = is_selected + end + + if new_value ~= nil and new_value ~= value then + on_activated(new_value, entry) + end + end + } +} + +local function slider_init_function(parent, widget, entry, callback_name) + local content = widget.content + local display_name = entry.display_name or Localize("loc_settings_option_unavailable") + content.text = display_name + content.entry = entry + content.area_length = settings_value_width + content.step_size = entry.normalized_step_size + + if not entry.normalized_step_size and entry.step_size_value then + local value_range = entry.max_value - entry.min_value + content.step_size = entry.step_size_value / value_range + end + + content.apply_on_drag = entry.apply_on_drag and true + local get_function = entry.get_function + local value = get_function(entry) + content.previous_slider_value = value + content.slider_value = value + + content.pressed_callback = function () + local is_disabled = entry.is_disabled + + if is_disabled then + return + end + + callback(parent, callback_name, widget, entry)() + end +end + +blueprints.percent_slider = { + size = { + settings_grid_width, + settings_value_height + }, + pass_template_function = function (parent, config, size) + return SliderPassTemplates.settings_percent_slider(size[1], settings_value_height, settings_value_width, true) + end, + init = function (parent, widget, entry, callback_name) + slider_init_function(parent, widget, entry, callback_name) + end, + update = function (parent, widget, input_service, dt, t) + local content = widget.content + local entry = content.entry + local pass_input = true + local is_disabled = entry.disabled or false + content.disabled = is_disabled + local using_gamepad = not parent:using_cursor_navigation() + local get_function = entry.get_function + local value = get_function(entry) / 100 + local on_activated = entry.on_activated + local format_value_function = entry.format_value_function + local drag_value, new_value = nil + local apply_on_drag = content.apply_on_drag and not is_disabled + local drag_active = content.drag_active and not is_disabled + local focused = using_gamepad and content.exclusive_focus and not is_disabled + + if drag_active or focused then + if not parent._selected_settings_widget then + parent:set_exclusive_focus_on_grid_widget(widget.name) + end + + local slider_value = content.slider_value + drag_value = slider_value or get_function(entry) / 100 + elseif not focused then + local previous_slider_value = content.previous_slider_value + local slider_value = content.slider_value + + if content.drag_previously_active then + parent:set_exclusive_focus_on_grid_widget(nil) + + if previous_slider_value ~= slider_value then + new_value = slider_value + drag_value = new_value or get_function(entry) / 100 + end + elseif value ~= slider_value then + content.slider_value = value + content.previous_slider_value = value + content.scroll_add = nil + end + + content.previous_slider_value = slider_value + end + + content.drag_previously_active = drag_active + local display_value = format_value_function((drag_value or value) * 100) + + if display_value then + content.value_text = display_value + end + + local hotspot = content.hotspot + + if hotspot.on_pressed and not is_disabled then + if focused then + new_value = content.slider_value + elseif using_gamepad then + content.pressed_callback() + end + end + + if focused and parent:can_exit() then + parent:set_can_exit(false) + end + + if apply_on_drag and drag_value and not new_value and content.slider_value ~= content.previous_slider_value then + new_value = content.slider_value + end + + if new_value then + on_activated(new_value * 100, entry) + + content.slider_value = new_value + content.previous_slider_value = new_value + content.scroll_add = nil + end + + return pass_input + end +} + +blueprints.value_slider = { + size = { + settings_grid_width, + settings_value_height + }, + pass_template_function = function (parent, config, size) + return SliderPassTemplates.settings_value_slider(size[1], settings_value_height, settings_value_width, true) + end, + init = function (parent, widget, entry, callback_name) + slider_init_function(parent, widget, entry, callback_name) + end, + update = function (parent, widget, input_service, dt, t) + local content = widget.content + local entry = content.entry + local pass_input = true + local is_disabled = entry.disabled or false + content.disabled = is_disabled + local using_gamepad = not parent:using_cursor_navigation() + local min_value = entry.min_value + local max_value = entry.max_value + local get_function = entry.get_function + local explode_function = entry.explode_function + local value = get_function(entry) + local normalized_value = math.normalize_01(value, min_value, max_value) + local on_activated = entry.on_activated + local format_value_function = entry.format_value_function + local drag_value, new_normalized_value = nil + local apply_on_drag = content.apply_on_drag and not is_disabled + local drag_active = content.drag_active and not is_disabled + local drag_previously_active = content.drag_previously_active + local focused = content.exclusive_focus and using_gamepad and not is_disabled + + if drag_active or focused then + if not parent._selected_settings_widget then + parent:set_exclusive_focus_on_grid_widget(widget.name) + end + + local slider_value = content.slider_value + drag_value = slider_value and explode_function(slider_value, entry) or get_function(entry) + elseif not focused or drag_previously_active then + local previous_slider_value = content.previous_slider_value + local slider_value = content.slider_value + + if drag_previously_active then + parent:set_exclusive_focus_on_grid_widget(nil) + + if previous_slider_value ~= slider_value then + new_normalized_value = slider_value + drag_value = slider_value and explode_function(slider_value, entry) or get_function(entry) + end + elseif normalized_value ~= slider_value then + content.slider_value = normalized_value + content.previous_slider_value = normalized_value + content.scroll_add = nil + end + + content.previous_slider_value = slider_value + end + + content.drag_previously_active = drag_active + local display_value = format_value_function(drag_value or value) + + if display_value then + content.value_text = display_value + end + + local hotspot = content.hotspot + + if hotspot.on_pressed then + if focused then + new_normalized_value = content.slider_value + elseif using_gamepad then + content.pressed_callback() + end + end + + if focused and parent:can_exit() then + parent:set_can_exit(false) + end + + if apply_on_drag and drag_value and not new_normalized_value and content.slider_value ~= content.previous_slider_value then + new_normalized_value = content.slider_value + end + + if new_normalized_value then + local new_value = explode_function(new_normalized_value, entry) + + on_activated(new_value, entry) + + content.slider_value = new_normalized_value + content.previous_slider_value = new_normalized_value + content.scroll_add = nil + end + + return pass_input + end +} + +blueprints.slider = { + size = { + settings_grid_width, + settings_value_height + }, + pass_template_function = function (parent, config, size) + return SliderPassTemplates.settings_value_slider(size[1], settings_value_height, settings_value_width, true) + end, + init = function (parent, widget, entry, callback_name) + local content = widget.content + local display_name = entry.display_name or Localize("loc_settings_option_unavailable") + content.text = display_name + content.entry = entry + content.area_length = settings_value_width + content.step_size = entry.step_size_fraction + content.apply_on_drag = entry.apply_on_drag and true + local get_function = entry.get_function + local value, value_fraction = get_function(entry) + content.previous_slider_value = value_fraction + content.slider_value = value_fraction + content.pressed_callback = callback(parent, callback_name, widget, entry) + end, + update = function (parent, widget, input_service, dt, t) + local content = widget.content + local entry = content.entry + local pass_input = true + local is_disabled = entry.disabled or false + content.disabled = is_disabled + local using_gamepad = not parent:using_cursor_navigation() + local get_function = entry.get_function + local value, value_fraction = get_function(entry) + local on_activated = entry.on_activated + local format_value_function = entry.format_value_function + local num_decimals = entry.num_decimals + local drag_value, new_value_fraction = nil + local apply_on_drag = entry.apply_on_drag and not is_disabled + local drag_active = content.drag_active and not is_disabled + local drag_previously_active = content.drag_previously_active + local focused = content.exclusive_focus and using_gamepad and not is_disabled + + if drag_active or focused then + drag_value = math.lerp(entry.min_value, entry.max_value, content.slider_value) + elseif not focused or drag_previously_active then + local previous_slider_value = content.previous_slider_value + local slider_value = content.slider_value + + if drag_previously_active then + if previous_slider_value ~= slider_value then + new_value_fraction = slider_value + drag_value = math.lerp(entry.min_value, entry.max_value, new_value_fraction) + end + elseif value_fraction ~= slider_value then + content.slider_value = value_fraction + content.previous_slider_value = value_fraction + content.scroll_add = nil + end + + content.previous_slider_value = slider_value + end + + content.drag_previously_active = drag_active + local display_value = nil + + if format_value_function then + display_value = format_value_function(entry, drag_value or value) + else + local number_format = string.format("%%.%sf", num_decimals or DEFAULT_NUM_DECIMALS) + display_value = string.format(number_format, drag_value or value) + end + + if display_value then + content.value_text = display_value + end + + local hotspot = content.hotspot + + if hotspot.on_pressed and not is_disabled then + if focused then + new_value_fraction = content.slider_value + elseif not hotspot.is_hover then + content.pressed_callback() + end + end + + if focused and parent:can_exit() then + parent:set_can_exit(false) + end + + if apply_on_drag and drag_value and not new_value_fraction and content.slider_value ~= content.previous_slider_value then + new_value_fraction = content.slider_value + end + + if new_value_fraction then + local new_value = math.lerp(entry.min_value, entry.max_value, new_value_fraction) + + on_activated(new_value, entry) + + content.slider_value = new_value_fraction + content.previous_slider_value = new_value_fraction + content.scroll_add = nil + end + + return pass_input + end +} + +local max_visible_options = _view_settings.max_visible_dropdown_options or 5 +blueprints.dropdown = { + size = { + settings_grid_width, + settings_value_height + }, + pass_template_function = function (parent, entry, size) + local has_options_function = entry.options_function ~= nil + local has_dynamic_contents = entry.has_dynamic_contents + local display_name = entry.display_name or Localize("loc_settings_option_unavailable") + local options = entry.options_function and entry.options_function() or entry.options + local num_visible_options = math.min(#options, max_visible_options) + + return DropdownPassTemplates.settings_dropdown(size[1], settings_value_height, settings_value_width, num_visible_options, true) + end, + init = function (parent, widget, entry, callback_name) + local content = widget.content + local display_name = entry.display_name or Localize("loc_settings_option_unavailable") + content.text = display_name + content.entry = entry + local has_options_function = entry.options_function ~= nil + local has_dynamic_contents = entry.has_dynamic_contents + local options = entry.options or entry.options_function and entry.options_function() + local options_by_id = {} + local num_options = #options + local num_visible_options = math.min(num_options, max_visible_options) + content.num_visible_options = num_visible_options + local optional_num_decimals = entry.optional_num_decimals + local number_format = string.format("%%.%sf", optional_num_decimals or DEFAULT_NUM_DECIMALS) + + for i = 1, num_options do + local option = options[i] + options_by_id[option.id] = option + end + + content.number_format = number_format + content.options_by_id = options_by_id + content.options = options + + content.hotspot.pressed_callback = function () + local is_disabled = entry.disabled or false + + if is_disabled then + return + end + + callback(parent, callback_name, widget, entry)() + end + + local widget_type = widget.type + local template = blueprints[widget_type] + local size = template.size + content.area_length = size[2] * num_visible_options + local scroll_length = math.max(size[2] * num_options - content.area_length, 0) + content.scroll_length = scroll_length + local spacing = 0 + local scroll_amount = scroll_length > 0 and (size[2] + spacing) / scroll_length or 0 + content.scroll_amount = scroll_amount + local value = entry.get_function and entry:get_function() or entry.default_value + end, + update = function (parent, widget, input_service, dt, t) + local content = widget.content + local entry = content.entry + local pass_input = true + local is_disabled = entry.disabled or false + content.disabled = is_disabled + local using_gamepad = not parent:using_cursor_navigation() + local offset = widget.offset + local style = widget.style + local options = content.options + local options_by_id = content.options_by_id + local num_visible_options = content.num_visible_options + local num_options = #options + local focused = content.exclusive_focus and not is_disabled + + if focused and parent:can_exit() then + content.selected_index = nil + + parent:set_can_exit(false) + end + + local selected_index = content.selected_index + local value, new_value = nil + local hotspot = content.hotspot + local hotspot_style = style.hotspot + + if selected_index and focused then + if using_gamepad and hotspot.on_pressed then + new_value = options[selected_index].id + end + + hotspot_style.on_pressed_sound = hotspot_style.on_pressed_fold_in_sound + else + hotspot_style.on_pressed_sound = hotspot_style.on_pressed_fold_out_sound + end + + value = entry.get_function and entry:get_function() or content.internal_value or "" + + local preview_option = options_by_id[value] + local preview_option_id = preview_option and preview_option.id + local preview_value = preview_option and preview_option.display_name or Localize("loc_settings_option_unavailable") + + content.value_text = preview_value + + local widget_type = widget.type + local template = blueprints[widget_type] + local size = template.size + local scroll_amount = parent:settings_scroll_amount() + local scroll_area_height = parent:settings_grid_length() + local dropdown_length = size[2] * (num_visible_options + 1) + local grow_downwards = true + + if scroll_area_height <= offset[2] - scroll_amount + dropdown_length then + grow_downwards = false + end + + content.grow_downwards = grow_downwards + local new_selection_index = nil + + if not selected_index or not focused then + for i = 1, #options do + local option = options[i] + + if option.id == preview_option_id then + selected_index = i + + break + end + end + + selected_index = selected_index or 1 + end + + if selected_index and focused then + if input_service:get("navigate_up_continuous") then + if grow_downwards then + new_selection_index = math.max(selected_index - 1, 1) + else + new_selection_index = math.min(selected_index + 1, num_options) + end + elseif input_service:get("navigate_down_continuous") then + if grow_downwards then + new_selection_index = math.min(selected_index + 1, num_options) + else + new_selection_index = math.max(selected_index - 1, 1) + end + end + end + + if new_selection_index or not content.selected_index then + if new_selection_index then + selected_index = new_selection_index + end + + if num_visible_options < num_options then + local step_size = 1 / num_options + local new_scroll_percentage = math.min(selected_index - 1, num_options) * step_size + content.scroll_percentage = new_scroll_percentage + content.scroll_add = nil + end + + content.selected_index = selected_index + end + + local scroll_percentage = content.scroll_percentage + + if scroll_percentage then + local step_size = 1 / (num_options - (num_visible_options - 1)) + content.start_index = math.max(1, math.ceil(scroll_percentage / step_size)) + end + + local option_hovered = false + local option_index = 1 + local start_index = content.start_index or 1 + local end_index = math.min(start_index + num_visible_options - 1, num_options) + local using_scrollbar = num_visible_options < num_options + + for i = start_index, end_index do + local option_text_id = "option_text_" .. option_index + local option_hotspot_id = "option_hotspot_" .. option_index + local outline_style_id = "outline_" .. option_index + local option_hotspot = content[option_hotspot_id] + option_hovered = option_hovered or option_hotspot.is_hover + option_hotspot.is_selected = i == selected_index + local option = options[i] + + if not new_value and focused and not using_gamepad and option_hotspot.on_pressed then + option_hotspot.on_pressed = nil + new_value = option.id + content.selected_index = i + end + + local option_display_name = option.display_name + content[option_text_id] = option_display_name + local options_y = size[2] * option_index + style[option_hotspot_id].offset[2] = grow_downwards and options_y or -options_y + style[option_text_id].offset[2] = grow_downwards and options_y or -options_y + local entry_length = using_scrollbar and settings_value_width - style.scrollbar_hotspot.size[1] or settings_value_width + style[outline_style_id].size[1] = entry_length + style[option_text_id].size[1] = settings_value_width + option_index = option_index + 1 + end + + local value_changed = new_value ~= nil + + if value_changed and new_value ~= value then + local on_activated = entry.on_activated + + on_activated(new_value, entry) + end + + local scrollbar_hotspot = content.scrollbar_hotspot + local scrollbar_hovered = scrollbar_hotspot.is_hover + pass_input = using_gamepad or value_changed or not option_hovered and not scrollbar_hovered + + return pass_input + end +} + +blueprints.keybind = { + size = { + settings_grid_width, + settings_value_height + }, + pass_template = KeybindPassTemplates.settings_keybind(settings_grid_width, settings_value_height, settings_value_width), + init = function (parent, widget, entry, callback_name) + local content = widget.content + local display_name = entry.display_name or Localize("loc_settings_option_unavailable") + content.text = display_name + content.entry = entry + content.key_unassigned_string = Managers.localization:localize("loc_keybind_unassigned") + end, + update = function (parent, widget, input_service, dt, t) + local content = widget.content + local entry = content.entry + local value = entry:get_function() + local preview_value = value and InputUtils.localized_string_from_key_info(value) or content.key_unassigned_string + content.value_text = preview_value + local hotspot = content.hotspot + + if hotspot.on_released then + parent:show_keybind_popup(widget, entry, content.entry.cancel_keys) + end + end +} + +local description_font_style = table.clone(UIFontSettings.body_small) +description_font_style.offset = { + 25, + 0, + 3 +} +description_font_style.text_horizontal_alignment = "left" +description_font_style.text_vertical_alignment = "center" +description_font_style.hover_text_color = Color.ui_brown_super_light(255, true) + +blueprints.description = { + size = { + settings_grid_width - 225, + settings_value_height + }, + pass_template = { + { + value_id = "text", + pass_type = "text", + style_id = "text", + style = description_font_style, + value = Localize("loc_settings_option_unavailable") + } + }, + init = function (parent, widget, entry, callback_name) + local content = widget.content + local style = widget.style + local text_style = style.text + local display_name = entry.display_name + local display_text = display_name + local ui_renderer = parent._ui_renderer + local size = content.size + local text_options = UIFonts.get_font_options_by_style(text_style) + local _, height = UIRenderer.text_size(ui_renderer, display_text, text_style.font_type, text_style.font_size, size, text_options) + size[2] = math.ceil(height) + content.text = display_text + end, + update = function (parent, widget, input_service, dt, t) + return + end +} + +return settings("VMFOptionsViewContentBlueprints", blueprints) diff --git a/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_definitions.lua b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_definitions.lua new file mode 100644 index 0000000..8f970c1 --- /dev/null +++ b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_definitions.lua @@ -0,0 +1,454 @@ +local vmf = get_mod("VMF") + +local _view_settings = vmf:dofile("dmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings") + +local ScrollbarPassTemplates = require("scripts/ui/pass_templates/scrollbar_pass_templates") +local UIFontSettings = require("scripts/managers/ui/ui_font_settings") +local UIWidget = require("scripts/managers/ui/ui_widget") +local UIWorkspaceSettings = require("scripts/settings/ui/ui_workspace_settings") + +local scrollbar_width = _view_settings.scrollbar_width + +local grid_size = _view_settings.grid_size +local grid_width = grid_size[1] +local grid_height = grid_size[2] +local grid_blur_edge_size = _view_settings.grid_blur_edge_size + +local mask_size = { + grid_width + grid_blur_edge_size[1] * 2, + grid_height + grid_blur_edge_size[2] * 2 +} +local mask_offset_y = 16 +local settings_mask_size = { + 1080 + grid_blur_edge_size[1] * 2, + grid_height + grid_blur_edge_size[2] +} + +local settings_grid_height = grid_height + mask_offset_y + +local tooltip_text_style = table.clone(UIFontSettings.body) +tooltip_text_style.text_horizontal_alignment = "left" +tooltip_text_style.text_vertical_alignment = "center" +tooltip_text_style.horizontal_alignment = "left" +tooltip_text_style.vertical_alignment = "center" +tooltip_text_style.color = Color.white(255, true) +tooltip_text_style.offset = { + 0, + 0, + 2 +} + +local scenegraph_definition = { + screen = UIWorkspaceSettings.screen, + tooltip = { + vertical_alignment = "top", + parent = "screen", + horizontal_alignment = "left", + size = { + 0, + 0 + }, + position = { + 0, + 0, + 200 + } + }, + background = { + vertical_alignment = "top", + parent = "screen", + horizontal_alignment = "left", + size = { + grid_width, + grid_height + }, + position = { + 180, + 240, + 1 + } + }, + background_icon = { + vertical_alignment = "center", + parent = "screen", + horizontal_alignment = "center", + size = { + 1250, + 1250 + }, + position = { + 0, + 0, + 0 + } + }, + grid_start = { + vertical_alignment = "top", + parent = "background", + horizontal_alignment = "left", + size = { + 0, + 0 + }, + position = { + 0, + 0, + 0 + } + }, + grid_content_pivot = { + vertical_alignment = "top", + parent = "grid_start", + horizontal_alignment = "left", + size = { + 0, + 0 + }, + position = { + 0, + 0, + 1 + } + }, + grid_mask = { + vertical_alignment = "center", + parent = "background", + horizontal_alignment = "center", + size = mask_size, + position = { + 0, + 0, + 0 + } + }, + grid_interaction = { + vertical_alignment = "top", + parent = "background", + horizontal_alignment = "left", + size = { + grid_width + scrollbar_width * 2, + mask_size[2] + }, + position = { + 0, + 0, + 0 + } + }, + scrollbar = { + vertical_alignment = "center", + parent = "background", + horizontal_alignment = "right", + size = { + scrollbar_width, + grid_height + }, + position = { + 50, + 0, + 1 + } + }, + button = { + vertical_alignment = "left", + parent = "grid_content_pivot", + horizontal_alignment = "top", + size = { + 500, + 64 + }, + position = { + 0, + 0, + 0 + } + }, + title_divider = { + vertical_alignment = "top", + parent = "screen", + horizontal_alignment = "left", + size = { + 335, + 18 + }, + position = { + 180, + 145, + 1 + } + }, + title_text = { + vertical_alignment = "bottom", + parent = "title_divider", + horizontal_alignment = "left", + size = { + 500, + 50 + }, + position = { + 0, + -35, + 1 + } + }, + settings_grid_background = { + vertical_alignment = "top", + parent = "screen", + horizontal_alignment = "right", + size = { + 1000, + settings_grid_height + }, + position = { + -180, + 130, + 1 + } + }, + settings_grid_start = { + vertical_alignment = "top", + parent = "settings_grid_background", + horizontal_alignment = "left", + size = { + 0, + 0 + }, + position = { + 0, + 0, + 0 + } + }, + settings_grid_content_pivot = { + vertical_alignment = "top", + parent = "settings_grid_start", + horizontal_alignment = "left", + size = { + 0, + 0 + }, + position = { + 0, + 0, + 1 + } + }, + settings_scrollbar = { + vertical_alignment = "top", + parent = "settings_grid_background", + horizontal_alignment = "right", + size = { + scrollbar_width, + grid_height - 26 + }, + position = { + 50, + 45, + 1 + } + }, + settings_grid_mask = { + vertical_alignment = "top", + parent = "settings_grid_background", + horizontal_alignment = "center", + size = settings_mask_size, + position = { + 0, + mask_offset_y, + 0 + } + }, + settings_grid_interaction = { + vertical_alignment = "top", + parent = "settings_grid_background", + horizontal_alignment = "left", + size = { + 1000 + scrollbar_width * 2, + mask_size[2] + }, + position = { + 0, + 0, + 0 + } + } +} + +local widget_definitions = { + settings_overlay = UIWidget.create_definition({ + { + pass_type = "rect", + style = { + offset = { + 0, + 0, + 20 + }, + color = { + 160, + 0, + 0, + 0 + } + } + } + }, "screen"), + background = UIWidget.create_definition({ + { + pass_type = "rect", + style = { + color = { + 160, + 0, + 0, + 0 + } + } + } + }, "screen"), + title_divider = UIWidget.create_definition({ + { + pass_type = "texture", + value = "content/ui/materials/dividers/skull_rendered_left_01" + } + }, "title_divider"), + title_text = UIWidget.create_definition({ + { + value_id = "text", + style_id = "text", + pass_type = "text", + value = vmf:localize("mods_options"), + style = table.clone(UIFontSettings.header_1) + } + }, "title_text"), + background_icon = UIWidget.create_definition({ + { + value = "content/ui/vector_textures/symbols/cog_skull_01", + pass_type = "slug_icon", + style = { + offset = { + 0, + 0, + 0 + }, + color = { + 80, + 0, + 0, + 0 + } + } + } + }, "background_icon"), + tooltip = UIWidget.create_definition({ + { + pass_type = "rect", + style = { + vertical_alignment = "center", + horizontal_alignment = "center", + offset = { + 0, + 0, + 0 + }, + color = Color.ui_terminal(255, true), + size_addition = { + 23, + 23 + } + } + }, + { + pass_type = "rect", + style = { + vertical_alignment = "center", + horizontal_alignment = "center", + offset = { + 0, + 0, + 1 + }, + color = Color.black(255, true), + size_addition = { + 20, + 20 + } + } + }, + { + value_id = "text", + style_id = "text", + pass_type = "text", + value = "", + style = tooltip_text_style + } + }, "tooltip", { + visible = false + }), + scrollbar = UIWidget.create_definition(ScrollbarPassTemplates.default_scrollbar, "scrollbar"), + grid_mask = UIWidget.create_definition({ + { + value = "content/ui/materials/offscreen_masks/ui_overlay_offscreen_vertical_blur", + pass_type = "texture", + style = { + color = { + 255, + 255, + 255, + 255 + } + } + } + }, "grid_mask"), + grid_interaction = UIWidget.create_definition({ + { + pass_type = "hotspot", + content_id = "hotspot" + } + }, "grid_interaction"), + settings_scrollbar = UIWidget.create_definition(ScrollbarPassTemplates.default_scrollbar, "settings_scrollbar"), + settings_grid_mask = UIWidget.create_definition({ + { + value = "content/ui/materials/offscreen_masks/ui_overlay_offscreen_vertical_blur", + pass_type = "texture", + style = { + color = { + 255, + 255, + 255, + 255 + } + } + } + }, "settings_grid_mask"), + settings_grid_interaction = UIWidget.create_definition({ + { + pass_type = "hotspot", + content_id = "hotspot" + } + }, "settings_grid_interaction") +} +local legend_inputs = { + { + input_action = "back", + on_pressed_callback = "cb_on_back_pressed", + display_name = "loc_settings_menu_close_menu", + alignment = "left_alignment" + }, + { + input_action = "next", + display_name = "loc_settings_menu_reset_to_default", + on_pressed_callback = "cb_reset_category_to_default", + visibility_function = function (parent) + return not not parent._selected_category and parent._categories_by_display_name[parent._selected_category].can_be_reset + end + } +} + +local VMFOptionsViewDefinitions = { + legend_inputs = legend_inputs, + widget_definitions = widget_definitions, + scenegraph_definition = scenegraph_definition +} + +return settings("VMFOptionsViewDefinitions", VMFOptionsViewDefinitions) diff --git a/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings.lua b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings.lua new file mode 100644 index 0000000..94c2636 --- /dev/null +++ b/vmf/scripts/mods/vmf/modules/ui/options/vmf_options_view_settings.lua @@ -0,0 +1,20 @@ +local vmf_options_view_settings = { + scrollbar_width = 10, + max_visible_dropdown_options = 5, + indentation_spacing = 40, + shading_environment = "content/shading_environments/ui/system_menu", + grid_size = { + 500, + 800 + }, + grid_spacing = { + 0, + 10 + }, + grid_blur_edge_size = { + 8, + 8 + } +} + +return settings("VMFOptionsViewSettings", vmf_options_view_settings) diff --git a/vmf/scripts/mods/vmf/modules/vmf_dummy.lua b/vmf/scripts/mods/vmf/modules/vmf_dummy.lua new file mode 100644 index 0000000..e04ff52 --- /dev/null +++ b/vmf/scripts/mods/vmf/modules/vmf_dummy.lua @@ -0,0 +1,4 @@ +local vmf = get_mod("VMF") + +-- Add vmf functions with a value of dummy_func if they need to be defined while a module is disabled. +local dummy_func = function() return end \ No newline at end of file diff --git a/vmf/scripts/mods/vmf/modules/vmf_mod_data.lua b/vmf/scripts/mods/vmf/modules/vmf_mod_data.lua index e72cb35..bf512ab 100644 --- a/vmf/scripts/mods/vmf/modules/vmf_mod_data.lua +++ b/vmf/scripts/mods/vmf/modules/vmf_mod_data.lua @@ -11,7 +11,7 @@ end -- ##################################################################################################################### -- Defining VMFMod class. -VMFMod = class(VMFMod) +VMFMod = class("VMFMod") -- Creating mod data table when object of VMFMod class is created. function VMFMod:init(mod_name) diff --git a/vmf/scripts/mods/vmf/modules/vmf_mod_manager.lua b/vmf/scripts/mods/vmf/modules/vmf_mod_manager.lua index 1c8e386..b8a9c15 100644 --- a/vmf/scripts/mods/vmf/modules/vmf_mod_manager.lua +++ b/vmf/scripts/mods/vmf/modules/vmf_mod_manager.lua @@ -168,40 +168,18 @@ function vmf.initialize_mod_data(mod, mod_data) vmf.register_mod_as_mutator(mod, mod_data.mutator_settings) end - -- Mod's options initialization (with legacy widget definitions support) + -- Mod's options initialization if mod_data.options or ((mod_data.is_togglable and not mod_data.is_mutator) and not mod_data.options_widgets) then local success, error_message = pcall(vmf.initialize_mod_options, mod, mod_data.options) if not success then mod:error(ERRORS.REGULAR.mod_options_initializing_failed, error_message) return end - elseif mod_data.options_widgets then - vmf.initialize_mod_options_legacy(mod, mod_data.options_widgets) end -- Textures initialization @TODO: move to a separate function if type(mod_data.custom_gui_textures) == "table" then - local custom_gui_textures = mod_data.custom_gui_textures - - if type(custom_gui_textures.textures) == "table" then - vmf.custom_textures(mod, unpack(custom_gui_textures.textures)) - end - - if type(custom_gui_textures.atlases) == "table" then - for _, atlas_settings in ipairs(custom_gui_textures.atlases) do - if type(atlas_settings) == "table" then - vmf.custom_atlas(mod, unpack(atlas_settings)) - end - end - end - - if type(custom_gui_textures.ui_renderer_injections) == "table" then - for _, injection_settings in ipairs(custom_gui_textures.ui_renderer_injections) do - if type(injection_settings) == "table" then - vmf.inject_materials(mod, unpack(injection_settings)) - end - end - end + -- @TODO: Not implemented end return true diff --git a/vmf/scripts/mods/vmf/modules/vmf_options.lua b/vmf/scripts/mods/vmf/modules/vmf_options.lua index 6c435cb..fc34627 100644 --- a/vmf/scripts/mods/vmf/modules/vmf_options.lua +++ b/vmf/scripts/mods/vmf/modules/vmf_options.lua @@ -1,7 +1,7 @@ local vmf = get_mod("VMF") local vmf_mod_data = {} -vmf_mod_data.name = "Vermintide Mod Framework" +vmf_mod_data.name = "Darktide Mod Framework" vmf_mod_data.options = { widgets = { { @@ -10,11 +10,7 @@ vmf_mod_data.options = { default_value = {"f4"}, keybind_trigger = "pressed", keybind_type = "view_toggle", - view_name = "vmf_options_view", - transition_data = { - open_view_transition_name = "vmf_options_view_open", - close_view_transition_name = "vmf_options_view_close" - } + view_name = "vmf_options_view" }, { setting_id = "vmf_options_scrolling_speed", @@ -60,40 +56,67 @@ vmf_mod_data.options = { default_value = "default", options = { {text = "settings_default", value = "default"}, - {text = "settings_custom", value = "custom", show_widgets = {1, 2, 3, 4, 5}}, + {text = "settings_custom", value = "custom", show_widgets = {1, 2, 3, 4, 5, 6}}, }, sub_widgets = { + { + setting_id = "output_mode_notification", + type = "dropdown", + default_value = 5, + options = { + {text = "output_disabled", value = 0}, + {text = "output_log", value = 1}, + {text = "output_chat", value = 2}, + {text = "output_notification", value = 3}, + {text = "output_log_and_chat", value = 4}, + {text = "output_log_and_notification", value = 5}, + {text = "output_chat_and_notification", value = 6}, + {text = "output_all", value = 7}, + } + }, { setting_id = "output_mode_echo", type = "dropdown", - default_value = 3, + default_value = 4, options = { - {text = "output_disabled", value = 0}, - {text = "output_log", value = 1}, - {text = "output_chat", value = 2}, - {text = "output_log_and_chat", value = 3}, + {text = "output_disabled", value = 0}, + {text = "output_log", value = 1}, + {text = "output_chat", value = 2}, + {text = "output_notification", value = 3}, + {text = "output_log_and_chat", value = 4}, + {text = "output_log_and_notification", value = 5}, + {text = "output_chat_and_notification", value = 6}, + {text = "output_all", value = 7}, } }, { setting_id = "output_mode_error", type = "dropdown", - default_value = 3, + default_value = 4, options = { - {text = "output_disabled", value = 0}, - {text = "output_log", value = 1}, - {text = "output_chat", value = 2}, - {text = "output_log_and_chat", value = 3}, + {text = "output_disabled", value = 0}, + {text = "output_log", value = 1}, + {text = "output_chat", value = 2}, + {text = "output_notification", value = 3}, + {text = "output_log_and_chat", value = 4}, + {text = "output_log_and_notification", value = 5}, + {text = "output_chat_and_notification", value = 6}, + {text = "output_all", value = 7}, } }, { setting_id = "output_mode_warning", type = "dropdown", - default_value = 3, + default_value = 4, options = { - {text = "output_disabled", value = 0}, - {text = "output_log", value = 1}, - {text = "output_chat", value = 2}, - {text = "output_log_and_chat", value = 3}, + {text = "output_disabled", value = 0}, + {text = "output_log", value = 1}, + {text = "output_chat", value = 2}, + {text = "output_notification", value = 3}, + {text = "output_log_and_chat", value = 4}, + {text = "output_log_and_notification", value = 5}, + {text = "output_chat_and_notification", value = 6}, + {text = "output_all", value = 7}, } }, { @@ -101,10 +124,14 @@ vmf_mod_data.options = { type = "dropdown", default_value = 1, options = { - {text = "output_disabled", value = 0}, - {text = "output_log", value = 1}, - {text = "output_chat", value = 2}, - {text = "output_log_and_chat", value = 3}, + {text = "output_disabled", value = 0}, + {text = "output_log", value = 1}, + {text = "output_chat", value = 2}, + {text = "output_notification", value = 3}, + {text = "output_log_and_chat", value = 4}, + {text = "output_log_and_notification", value = 5}, + {text = "output_chat_and_notification", value = 6}, + {text = "output_all", value = 7}, } }, { @@ -112,10 +139,14 @@ vmf_mod_data.options = { type = "dropdown", default_value = 0, options = { - {text = "output_disabled", value = 0}, - {text = "output_log", value = 1}, - {text = "output_chat", value = 2}, - {text = "output_log_and_chat", value = 3}, + {text = "output_disabled", value = 0}, + {text = "output_log", value = 1}, + {text = "output_chat", value = 2}, + {text = "output_notification", value = 3}, + {text = "output_log_and_chat", value = 4}, + {text = "output_log_and_notification", value = 5}, + {text = "output_chat_and_notification", value = 6}, + {text = "output_all", value = 7}, } } } @@ -139,7 +170,7 @@ vmf_mod_data.options = { { setting_id = "chat_history_remove_dups", type = "checkbox", - default_value = false, + default_value = true, sub_widgets = { { setting_id = "chat_history_remove_dups_mode", @@ -170,7 +201,10 @@ vmf.on_setting_changed = function (setting_id) if setting_id == "vmf_options_scrolling_speed" then - vmf.load_vmf_options_view_settings() + -- Not necessary until the view is loaded + if vmf.load_vmf_options_view_settings then + vmf.load_vmf_options_view_settings() + end elseif setting_id == "developer_mode" then @@ -192,6 +226,7 @@ vmf.on_setting_changed = function (setting_id) vmf.load_custom_textures_settings() elseif setting_id == "logging_mode" + or setting_id == "output_mode_notification" or setting_id == "output_mode_echo" or setting_id == "output_mode_error" or setting_id == "output_mode_warning" @@ -234,7 +269,11 @@ if not vmf:get("vmf_initialized") then vmf.load_custom_textures_settings() vmf.load_dev_console_settings() vmf.load_chat_history_settings() - --vmf.load_vmf_options_view_settings() + + -- Not necessary until the view is loaded + if vmf.load_vmf_options_view_settings then + vmf.load_vmf_options_view_settings() + end vmf:set("vmf_initialized", true) end diff --git a/vmf/scripts/mods/vmf/modules/vmf_package_manager.lua b/vmf/scripts/mods/vmf/modules/vmf_package_manager.lua index 166db7d..16e7aea 100644 --- a/vmf/scripts/mods/vmf/modules/vmf_package_manager.lua +++ b/vmf/scripts/mods/vmf/modules/vmf_package_manager.lua @@ -12,9 +12,6 @@ local PUBLIC_STATUSES = { local ERRORS = { REGULAR = { - -- check_vt1: - cant_use_vmf_package_manager_in_vt1 = "[VMF Package Manager] (%s): you can't use VMF package manager in VT1 " .. - "because VT1 mods don't support more than 1 resource package.", -- VMFMod:load_package: package_already_loaded = "[VMF Package Manager] (load_package): package '%s' has already been loaded.", package_not_found = "[VMF Package Manager] (load_package): could not find package '%s'.", @@ -41,21 +38,13 @@ local WARNINGS = { -- ##### Local functions ############################################################################################### -- ##################################################################################################################### -local function check_vt1(mod, function_name) - if VT1 then - mod:error(ERRORS.REGULAR.cant_use_vmf_package_manager_in_vt1, function_name) - return true - end -end - - -- Brings resources of the loaded package in game and executes callback. Or unloads package's resources, if loading was -- cancelled. local function flush_package(package_name) local package_data = _packages[package_name] if package_data.status == "loading_cancelled" then - Mod.release_resource_package(package_data.resource_package) + Application.release_resource_package(package_data.resource_package) _packages[package_name] = nil else package_data.resource_package:flush() @@ -88,8 +77,7 @@ end * sync [boolean] : (optional) load the packages synchronously, freezing the game until it is loaded --]] function VMFMod:load_package(package_name, callback, sync) - if check_vt1(self, "load_package") or - vmf.check_wrong_argument_type(self, "load_package", "package_name", package_name, "string") or + if vmf.check_wrong_argument_type(self, "load_package", "package_name", package_name, "string") or vmf.check_wrong_argument_type(self, "load_package", "callback", callback, "function", "nil") or vmf.check_wrong_argument_type(self, "load_package", "sync", sync, "boolean", "nil") then @@ -101,7 +89,7 @@ function VMFMod:load_package(package_name, callback, sync) return end - local resource_package = Mod.resource_package(self:get_internal_data("mod_handle"), package_name) + local resource_package = Application.resource_package(package_name) if not resource_package then self:error(ERRORS.REGULAR.package_not_found, package_name) return @@ -150,8 +138,7 @@ end * package_name [string]: package name. needs to be the full path to the `.package` file without the extension --]] function VMFMod:unload_package(package_name) - if check_vt1(self, "unload_package") or - vmf.check_wrong_argument_type(self, "unload_package", "package_name", package_name, "string") + if vmf.check_wrong_argument_type(self, "unload_package", "package_name", package_name, "string") then return end @@ -168,7 +155,7 @@ function VMFMod:unload_package(package_name) elseif package_status == "loading" then _packages[package_name].status = "loading_cancelled" elseif package_status == "loaded" then - Mod.release_resource_package(_packages[package_name].resource_package) + Application.release_resource_package(_packages[package_name].resource_package) _packages[package_name] = nil end end @@ -179,8 +166,7 @@ end * package_name [string]: package name. needs to be the full path to the `.package` file without the extension --]] function VMFMod:package_status(package_name) - if check_vt1(self, "package_status") or - vmf.check_wrong_argument_type(self, "package_status", "package_name", package_name, "string") + if vmf.check_wrong_argument_type(self, "package_status", "package_name", package_name, "string") then return end diff --git a/vmf/scripts/mods/vmf/vmf_loader.lua b/vmf/scripts/mods/vmf/vmf_loader.lua index b86dfa7..13f653e 100644 --- a/vmf/scripts/mods/vmf/vmf_loader.lua +++ b/vmf/scripts/mods/vmf/vmf_loader.lua @@ -1,48 +1,46 @@ local vmf -- Global variable indicating which version of the game is currently running -VT1 = not pcall(require, "PlayFab.json") +VT1 = false -- Native mod object used by Fatshark mod manager local vmf_mod_object = {} +-- Global method to load a file through iowith a return +local mod_dofile = Mods.file.dofile + -- ##################################################################################################################### -- ##### Initialization ################################################################################################ -- ##################################################################################################################### function vmf_mod_object:init() - dofile("scripts/mods/vmf/modules/vmf_mod_data") - dofile("scripts/mods/vmf/modules/vmf_mod_manager") - dofile("scripts/mods/vmf/modules/vmf_package_manager") - dofile("scripts/mods/vmf/modules/core/safe_calls") - dofile("scripts/mods/vmf/modules/core/events") - dofile("scripts/mods/vmf/modules/core/settings") - dofile("scripts/mods/vmf/modules/core/logging") - dofile("scripts/mods/vmf/modules/core/misc") - dofile("scripts/mods/vmf/modules/core/persistent_tables") - dofile("scripts/mods/vmf/modules/debug/dev_console") - dofile("scripts/mods/vmf/modules/debug/table_dump") - dofile("scripts/mods/vmf/modules/core/hooks") - dofile("scripts/mods/vmf/modules/core/toggling") - dofile("scripts/mods/vmf/modules/core/keybindings") - dofile("scripts/mods/vmf/modules/core/chat") - dofile("scripts/mods/vmf/modules/core/localization") - dofile("scripts/mods/vmf/modules/core/options") - dofile("scripts/mods/vmf/modules/legacy/options") - dofile("scripts/mods/vmf/modules/core/network") - dofile("scripts/mods/vmf/modules/core/commands") - dofile("scripts/mods/vmf/modules/gui/custom_textures") - dofile("scripts/mods/vmf/modules/gui/custom_views") - dofile("scripts/mods/vmf/modules/ui/chat/chat_actions") - dofile("scripts/mods/vmf/modules/ui/options/mod_options") - dofile("scripts/mods/vmf/modules/vmf_options") - - if VT1 then - dofile("scripts/mods/vmf/modules/core/mutators/mutators_manager") - dofile("scripts/mods/vmf/modules/ui/mutators/mutators_gui") - else - dofile("scripts/mods/vmf/modules/gui/custom_hud_components") - end + mod_dofile("dmf/scripts/mods/vmf/modules/vmf_mod_data") + mod_dofile("dmf/scripts/mods/vmf/modules/vmf_mod_manager") + --mod_dofile("dmf/scripts/mods/vmf/modules/vmf_dummy") + mod_dofile("dmf/scripts/mods/vmf/modules/vmf_package_manager") + mod_dofile("dmf/scripts/mods/vmf/modules/core/safe_calls") + mod_dofile("dmf/scripts/mods/vmf/modules/core/events") + mod_dofile("dmf/scripts/mods/vmf/modules/core/settings") + mod_dofile("dmf/scripts/mods/vmf/modules/core/logging") + mod_dofile("dmf/scripts/mods/vmf/modules/core/misc") + mod_dofile("dmf/scripts/mods/vmf/modules/core/persistent_tables") + mod_dofile("dmf/scripts/mods/vmf/modules/debug/dev_console") + mod_dofile("dmf/scripts/mods/vmf/modules/debug/table_dump") + mod_dofile("dmf/scripts/mods/vmf/modules/core/hooks") + mod_dofile("dmf/scripts/mods/vmf/modules/core/require") + mod_dofile("dmf/scripts/mods/vmf/modules/core/toggling") + mod_dofile("dmf/scripts/mods/vmf/modules/core/keybindings") + mod_dofile("dmf/scripts/mods/vmf/modules/core/chat") + mod_dofile("dmf/scripts/mods/vmf/modules/core/localization") + mod_dofile("dmf/scripts/mods/vmf/modules/core/options") + mod_dofile("dmf/scripts/mods/vmf/modules/core/network") + mod_dofile("dmf/scripts/mods/vmf/modules/core/commands") + mod_dofile("dmf/scripts/mods/vmf/modules/gui/custom_textures") + mod_dofile("dmf/scripts/mods/vmf/modules/gui/custom_views") + mod_dofile("dmf/scripts/mods/vmf/modules/ui/chat/chat_actions") + mod_dofile("dmf/scripts/mods/vmf/modules/ui/options/mod_options") + mod_dofile("dmf/scripts/mods/vmf/modules/vmf_options") + mod_dofile("dmf/scripts/mods/vmf/modules/core/mutators/mutators_manager") vmf = get_mod("VMF") vmf.delayed_chat_messages_hook() @@ -61,7 +59,6 @@ function vmf_mod_object:update(dt) vmf.mods_update_event(dt) vmf.check_keybinds() vmf.execute_queued_chat_command() - if VT1 then vmf.check_mutators_state() end if not vmf.all_mods_were_loaded and Managers.mod._state == "done" then @@ -70,9 +67,6 @@ function vmf_mod_object:update(dt) vmf.create_network_dictionary() vmf.ping_vmf_users() - if VT1 then vmf.modify_map_view() end - if VT1 then vmf.mutators_delete_raw_config() end - vmf.all_mods_loaded_event() vmf.all_mods_were_loaded = true @@ -84,32 +78,27 @@ function vmf_mod_object:on_unload() print("VMF:ON_UNLOAD()") vmf.save_chat_history() vmf.save_unsaved_settings_to_file() - vmf.network_unload() + vmf.destroy_command_gui() end function vmf_mod_object:on_reload() print("VMF:ON_RELOAD()") - vmf.disable_mods_options_button() - if VT1 then - vmf.reset_map_view() - else - vmf.remove_injected_hud_components() - end vmf.mods_unload_event(false) vmf.remove_custom_views() vmf.unload_all_resource_packages() vmf.hooks_unload() vmf.reset_guis() + vmf.destroy_command_gui() end function vmf_mod_object:on_game_state_changed(status, state) print("VMF:ON_GAME_STATE_CHANGED(), status: " .. tostring(status) .. ", state: " .. tostring(state)) - if VT1 then vmf.check_old_vmf() end vmf.mods_game_state_changed_event(status, state) vmf.save_unsaved_settings_to_file() vmf.apply_delayed_hooks(status, state) + vmf.destroy_command_gui() if status == "enter" and state == "StateIngame" then vmf.create_keybinds_input_service() diff --git a/vmf/settings.ini b/vmf/settings.ini deleted file mode 100644 index d66c0e0..0000000 --- a/vmf/settings.ini +++ /dev/null @@ -1 +0,0 @@ -boot_package = "resource_packages/vmf/vmf_resources" diff --git a/vmf/vmf.mod b/vmf/vmf.mod index 7b03a69..3111913 100644 --- a/vmf/vmf.mod +++ b/vmf/vmf.mod @@ -1,8 +1,5 @@ return { run = function() - return dofile("scripts/mods/vmf/vmf_loader") - end, - packages = { - "resource_packages/vmf" - } + return Mods.file.dofile("dmf/scripts/mods/vmf/vmf_loader") + end }

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�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 diff --git a/vmf/gui/vmf/vmf_atlas.texture b/vmf/gui/vmf/vmf_atlas.texture deleted file mode 100644 index 5051d37..0000000 --- a/vmf/gui/vmf/vmf_atlas.texture +++ /dev/null @@ -1,18 +0,0 @@ -common = { - input = { - filename = "gui/vmf/vmf_atlas" - } - output = { - apply_processing = true - correct_gamma = true - cut_alpha_threshold = 0.5 - enable_cut_alpha_threshold = false - format = "A8R8G8B8" - mipmap_filter = "kaiser" - mipmap_filter_wrap_mode = "mirror" - mipmap_keep_original = false - mipmap_num_largest_steps_to_discard = 0 - mipmap_num_smallest_steps_to_discard = 0 - srgb = true - } -} diff --git a/vmf/itemV1.cfg b/vmf/itemV1.cfg deleted file mode 100644 index b1554b5..0000000 --- a/vmf/itemV1.cfg +++ /dev/null @@ -1,7 +0,0 @@ -title = "[Beta] Vermintide Mod Framework"; -description = "The latest VMF version for testing purposes. It is intended for modders. Regular players should ingore it and subscribe to [url=https://steamcommunity.com/sharedfiles/filedetails/?id=1289946781]stable version[/url] instead."; -preview = "previewV1.jpg"; -content = "bundleV1"; -language = "english"; -visibility = "public"; -published_id = 1500136933L; diff --git a/vmf/itemV1_stable.cfg b/vmf/itemV1_stable.cfg deleted file mode 100644 index 4db4a79..0000000 --- a/vmf/itemV1_stable.cfg +++ /dev/null @@ -1,26 +0,0 @@ -title = "Vermintide Mod Framework"; -description = "The Vermintide Mod Framework (VMF) is an open-source, community-run framework of modules that provides enhanced modding capabilities and support. The framework is designed to be both independent and lightweight; making no changes to gameplay on its own. - -Mods created for the project may utilize: -[list] - [*]Mod options - [*]Shared function hooks - [*]Chat commands - [*]Keybinds - [*]Mutator support - [*]Network calls - [*]QHD+ UI re-scaling - [*]Rewritten, lightweight mod functions - [*]An on-event call system -[/list] - -The Vermintide Mod Framework originally started in Warhammer End Times: Vermintide as an unofficial modding platform. In the time since, VMF has been rewritten and redesigned with contributions from many unique members of the community; culminating in this unified project made for the arrival of official mod support. - -If you're interested in creating mods with VMF, please check out [url=https://vmf-docs.verminti.de/]the project's wiki[/url]. - -If you'd like to contribute to the code behind VMF, visit [url=https://github.com/Vermintide-Mod-Framework/Vermintide-Mod-Framework]the project's GitHub repository[/url]."; -preview = "previewV1_stable.jpg"; -content = "bundleV1"; -language = "english"; -visibility = "public"; -published_id = 1289946781L; diff --git a/vmf/itemV2.cfg b/vmf/itemV2.cfg deleted file mode 100644 index 7ce829e..0000000 --- a/vmf/itemV2.cfg +++ /dev/null @@ -1,9 +0,0 @@ -title = "[Beta] Vermintide Mod Framework"; -description = "The latest VMF version for testing purposes. It is intended for modders. Regular players should ingore it and subscribe to [url=https://steamcommunity.com/sharedfiles/filedetails/?id=1369573612]stable version[/url] instead."; -preview = "previewV2.png"; -content = "bundleV2"; -language = "english"; -visibility = "public"; -published_id = 1500112422L; -apply_for_sanctioned_status = false; -tags = ["Tools"]; diff --git a/vmf/itemV2_stable.cfg b/vmf/itemV2_stable.cfg deleted file mode 100644 index dfebc23..0000000 --- a/vmf/itemV2_stable.cfg +++ /dev/null @@ -1,26 +0,0 @@ -title = "Vermintide Mod Framework"; -description = "The Vermintide Mod Framework (VMF) is an open-source, community-run framework of modules that provides enhanced modding capabilities and support. The framework is designed to be both independent and lightweight; making no changes to gameplay on its own. - -Mods created for the project may utilize: -[list] - [*]Mod options - [*]Shared function hooks - [*]Chat commands - [*]Keybinds - [*]Mutator support (only available in Vermintide 1 at this time) - [*]Network calls - [*]Rewritten, lightweight mod functions - [*]An on-event call system -[/list] - -The Vermintide Mod Framework originally started in Warhammer End Times: Vermintide as an unofficial modding platform. In the time since, VMF has been rewritten and redesigned with contributions from many unique members of the community; culminating in this unified project made for the arrival of official mod support. - -If you're interested in creating mods with VMF, please check out [url=https://vmf-docs.verminti.de/]the project's wiki[/url]. - -If you'd like to contribute to the code behind VMF, visit [url=https://github.com/Vermintide-Mod-Framework/Vermintide-Mod-Framework]the project's GitHub repository[/url]."; -preview = "previewV2_stable.png"; -content = "bundleV2"; -language = "english"; -visibility = "public"; -tags = ["Tools"]; -published_id = 1369573612L; diff --git a/vmf/localization/vmf.lua b/vmf/localization/vmf.lua index a26c8f7..70158e5 100644 --- a/vmf/localization/vmf.lua +++ b/vmf/localization/vmf.lua @@ -98,6 +98,9 @@ return { es = "Personalizado", ru = "Пользовательские", }, + output_mode_notification = { + en = "'Notification' Output", + }, output_mode_echo = { en = "'Echo' Output", es = "Mensajes de 'Echo'", @@ -138,11 +141,23 @@ return { es = "Chat", ru = "Чат", }, + output_notification = { + en = "Notification", + }, output_log_and_chat = { en = "Log & Chat", es = "Registro (log) y chat", ru = "Лог и чат", }, + output_all = { + en = "All", + }, + output_log_and_notification = { + en = "Log & Notification", + }, + output_chat_and_notification = { + en = "Chat & Notification", + }, chat_history_enable = { en = "Chat Input History", es = "Historial de chat", @@ -224,12 +239,17 @@ return { "ВНИМАНИЕ: изменение этой настройки очистит вашу историю ввода.", }, - + chat_command_not_recognized = { + en = "Command not recognized", + }, clean_chat_history = { en = "cleans chat input history", es = "Borra el historial de usuario", ru = "очищает историю ввода", }, + clean_chat_notifications = { + en = "cleans chat notification alerts" + }, dev_console_opened = { en = "Developer console opened.", es = "Abierto la consola de desarrollo.", @@ -249,30 +269,21 @@ return { es = "No se proporcionó una descripción.", }, - -- Difficulties' names [V1] - easy = { - en = "Easy" + -- Difficulties' names + lowest = { + en = "Sedition" }, - normal = { - en = "Normal" + low = { + en = "Uprising" }, - hard = { - en = "Hard" + medium = { + en = "Malice" }, - harder = { - en = "Nightmare" + high = { + en = "Heresy" }, - hardest = { - en = "Cataclysm" - }, - survival_hard = { - en = "Veteran" - }, - survival_harder = { - en = "Champion" - }, - survival_hardest = { - en = "Heroic" + highest = { + en = "Damnation" }, -- Chat messages diff --git a/vmf/lua_preprocessor_defines.config b/vmf/lua_preprocessor_defines.config deleted file mode 100644 index 1a1add8..0000000 --- a/vmf/lua_preprocessor_defines.config +++ /dev/null @@ -1 +0,0 @@ -valid_tags = {} \ No newline at end of file diff --git a/vmf/materials/vmf/vmf_atlas.lua b/vmf/materials/vmf/vmf_atlas.lua deleted file mode 100644 index 1ce9904..0000000 --- a/vmf/materials/vmf/vmf_atlas.lua +++ /dev/null @@ -1,38 +0,0 @@ --- Image Source: -return { - header_fav_arrow = { - size = { 48, 48, }, - uv00 = { 0.181641, 0.880859, }, - uv11 = { 0.228516, 0.974609, }, - }, - header_fav_icon = { - size = { 48, 48, }, - uv00 = { 0.130859, 0.880859, }, - uv11 = { 0.177734, 0.974609, }, - }, - header_fav_icon_lit = { - size = { 48, 48, }, - uv00 = { 0.052734, 0.880859, }, - uv11 = { 0.099609, 0.974609, }, - }, - search_bar_icon = { - size = { 48, 48, }, - uv00 = { 0.001953, 0.880859, }, - uv11 = { 0.048828, 0.974609, }, - }, - map_view_party_button = { - size = { 128, 128, }, - uv00 = { 0.130859, 0.623047, }, - uv11 = { 0.255859, 0.873047, }, - }, - map_view_party_button_lit = { - size = { 128, 128, }, - uv00 = { 0.001953, 0.623047, }, - uv11 = { 0.126953, 0.873047, }, - }, - map_view_mutators_area = { - size = { 547, 313, }, - uv00 = { 0.001953, 0.003906, }, - uv11 = { 0.536133, 0.615234, }, - }, -} diff --git a/vmf/materials/vmf/vmf_atlas.material b/vmf/materials/vmf/vmf_atlas.material deleted file mode 100644 index 8e4bf44..0000000 --- a/vmf/materials/vmf/vmf_atlas.material +++ /dev/null @@ -1,26 +0,0 @@ -vmf_atlas = { - material_contexts = { - surface_material = "" - } - - shader = "gui:DIFFUSE_MAP" - - textures = { - diffuse_map = "gui/vmf/vmf_atlas" - } - - variables = { - } -} - -vmf_atlas_masked = { - material_contexts = { - surface_material = "" - } - shader = "gui_gradient:DIFFUSE_MAP:MASKED" - textures = { - diffuse_map = "gui/vmf/vmf_atlas" - } - variables = { - } -} diff --git a/vmf/previewV1.jpg b/vmf/previewV1.jpg deleted file mode 100644 index da73e93b7af3e4d323a2a59714147448f0907f82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127520 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