From f6414e0040a277d48b919edf8500ed582a8be715 Mon Sep 17 00:00:00 2001 From: munkybutt Date: Wed, 18 Oct 2023 22:36:02 +0100 Subject: [PATCH] [Maya] More work on adding missing bones Free index logic is more robust but the results are still unpredictable. Will consider adding missing influences via python until I can get this figured out. Added safe mode to getData that when True will test the weights to see if any are nan --- .../skin_plus_plus_pymaya.pyd | Bin 261632 -> 263168 bytes .../skin_plus_plus_pymaya.cpp | 131 +++++++++++------- .../skin_plus_plus_pymaya.h | 6 +- 3 files changed, 89 insertions(+), 48 deletions(-) diff --git a/PYProjects/skin_plus_plus/dccs/maya/skin_plus_plus_pymaya_2023/skin_plus_plus_pymaya.pyd b/PYProjects/skin_plus_plus/dccs/maya/skin_plus_plus_pymaya_2023/skin_plus_plus_pymaya.pyd index 5a35d99a305e7f2a266a17be8a5fba89eff1ad24..c2111db1ed843bdae650ecc3e2ad93f5e4d5ab73 100644 GIT binary patch delta 91652 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

t}4H{Pba_HzXAhMj% z_N61sDQ#UovhC&nj7|dhVgLU#9u|MI6BCv{las`RLyjDWKL--2oIC#k5I=H0_tW4o zYe91O_8~`>Gr4C1v6pkY|LDl_Us0z6ol$t%m(;%)ZknTY2<&QjOIdUWXm?O)%)_s7E2R`4C<9ZVJ z4xzrykz??SK<-}t?qwsWMV7yNDfrfwBh?5vR%aP@;ST+F3ocu-0K1Y^Q5SIXnN6tXp z1*B@=3Hn1hDI)n`PCktLgh57FK6vxd&4lGcHt{1YAF+unEZ?DtEc^vHjQ_@eQI&wM z_{{E~%^@C?LC?A~&-)uMe;jw6{9SLSr$XK=Ba(XT$YW|#)+XPkuABUu$~OfzB{v=1 zl-i{HJnPXZNUl4$F17B+x~@(Bra)6wQ%%#zreG5e0si|8iaxOXfyM{cJ`j6g getBoneNamesSet(MDagPathArray skinnedBones) // } //} -static bool isNodeValid(MObject* node) +bool isNodeValid(MObject* node) { if (node->hasFn(MFn::kJoint)) return true; if (node->hasFn(MFn::kTransform)) return true; @@ -138,16 +138,16 @@ static bool isNodeValid(MObject* node) } -static MPlug getFreeIndex(MPlug* arrayPlug) +UINT getFirstFreeIndex(MPlug* arrayPlug) { - unsigned int freeIndex = arrayPlug->numElements(); + UINT freeIndex = arrayPlug->numElements(); static MPlug elementIndex = arrayPlug->elementByLogicalIndex(freeIndex); while (elementIndex.isConnected()) { freeIndex += 1; elementIndex = arrayPlug->elementByLogicalIndex(freeIndex); } - return elementIndex; + return freeIndex; } @@ -156,68 +156,87 @@ MObject SkinManagerMaya::addMissingBones(BoneNamesVector& missingBoneNames, cons MStatus status; MSelectionList selectionList; MObject dependNode; - - auto bindPosePlug = this->fnSkinCluster.findPlug("bindPose", false); + auto bindPosePlug = this->fnSkinCluster.findPlug("bindPose", false, &status); + if (status != MS::kSuccess) + { + throw std::runtime_error("Failed to find bindPose plug on skin cluster!"); + } MPlugArray connectedPlugs; bindPosePlug.connectedTo(connectedPlugs, true, false, &status); - if (status != MS::kSuccess) throw std::exception("bindPose not connected to array"); + if (status != MS::kSuccess) throw std::runtime_error("bindPose not connected to array"); auto bindPoseNode = connectedPlugs[0].node(); MFnDependencyNode bindPose; bindPose.setObject(bindPoseNode); - if (bindPose.typeName() != "dagPose") throw std::exception("Dependency node not dagPose"); + if (bindPose.typeName() != "dagPose") throw std::runtime_error("Dependency node not dagPose"); auto skinClusterMatrixArray = this->fnSkinCluster.findPlug("matrix", false, &status); auto skinClusterLockWeightsArray = this->fnSkinCluster.findPlug("lockWeights", false, &status); + const UINT skinClusterMatrixArrayFreeIndex = getFirstFreeIndex(&skinClusterMatrixArray); + const UINT skinClusterLockWeightsArrayFreeIndex = getFirstFreeIndex(&skinClusterLockWeightsArray); + auto bindPoseMembersArray = bindPose.findPlug("members", false); - auto bindPoseWorldMatrixArray = bindPose.findPlug("worldMatrix", false); auto bindPoseParentsArray = bindPose.findPlug("parents", false); + auto bindPoseWorldMatrixArray = bindPose.findPlug("worldMatrix", false); + + const UINT bindPoseMemberFreeIndex = getFirstFreeIndex(&bindPoseMembersArray); + const UINT bindPoseParentsArrayFreeIndex = getFirstFreeIndex(&bindPoseParentsArray); + const UINT bindPoseWorldMatrixArrayFreeIndex = getFirstFreeIndex(&bindPoseWorldMatrixArray); + MDGModifier dagModifier; for (UINT i = 0; i < missingBoneNames.size(); i++) { + auto i_plus_one = i + 1; const auto newBoneIndex = skinnedBoneCount + i; selectionList.add(missingBoneNames[i].c_str()); status = selectionList.getDependNode(i, dependNode); - if (status != MS::kSuccess) throw std::exception("Failed to get depend node!"); - + if (status != MS::kSuccess) + { + auto message = fmt::format("Failed to get depend node for: {}!", missingBoneNames[i]); + throw std::runtime_error(message); + } if (!isNodeValid(&dependNode)) { - auto exceptionText = convertStringToChar( - fmt::format("Node is not a joint or transform: {}", missingBoneNames[i]) - ); - throw std::exception(exceptionText); + auto message = fmt::format("Node is not a joint or transform: {}", missingBoneNames[i]); + throw std::runtime_error(message); } - MFnIkJoint joint; - joint.setObject(dependNode); + status = joint.setObject(dependNode); + if (status != MS::kSuccess) + { + auto message = fmt::format("Failed to get MFnIkJoint for: {}!", missingBoneNames[i]); + throw std::runtime_error(message); + } auto jointMessage = joint.findPlug("message", false); - auto jointBindPose = joint.findPlug("bindPose", false); auto jointWorldMatrix = joint.findPlug("worldMatrix", false).elementByLogicalIndex(0); auto jointLockInfluenceWeightsArray = joint.findPlug("lockInfluenceWeights", false); + auto jointBindPose = joint.findPlug("bindPose", false, &status); + if (status != MS::kSuccess) + { + + auto message = fmt::format("Failed to find bindPose attribute for: {}!", missingBoneNames[i]); + throw std::runtime_error(message); + } - //auto skinClusterMatrixNewElementIndex = skinClusterMatrixArray.elementByLogicalIndex(skinClusterMatrixArray.numElements()); - //auto skinClusterLockWeightsNewElementIndex = skinClusterLockWeightsArray.elementByLogicalIndex(skinClusterLockWeightsArray.numElements()); - //auto bindPoseWorldMatrixNewElementIndex = bindPoseWorldMatrixArray.elementByLogicalIndex(bindPoseWorldMatrixArray.numElements()); - //auto bindPoseMemberNewElementIndex = bindPoseMembersArray.elementByLogicalIndex(bindPoseMembersArray.numElements()); - //auto bindPoseParentNewElementIndex = bindPoseParentsArray.elementByLogicalIndex(bindPoseParentsArray.numElements()); - - auto skinClusterMatrixNewElementIndex = getFreeIndex(&skinClusterMatrixArray); - auto skinClusterLockWeightsNewElementIndex = getFreeIndex(&skinClusterLockWeightsArray); - auto bindPoseWorldMatrixNewElementIndex = getFreeIndex(&bindPoseWorldMatrixArray); - auto bindPoseMemberNewElementIndex = getFreeIndex(&bindPoseMembersArray); - auto bindPoseParentNewElementIndex = getFreeIndex(&bindPoseParentsArray); - - dagModifier.connect(jointMessage, bindPoseMemberNewElementIndex); - dagModifier.connect(jointBindPose, bindPoseWorldMatrixNewElementIndex); - dagModifier.connect(jointWorldMatrix, skinClusterMatrixNewElementIndex); - dagModifier.connect(jointLockInfluenceWeightsArray, skinClusterLockWeightsNewElementIndex); - dagModifier.connect(bindPoseMemberNewElementIndex, bindPoseParentNewElementIndex); + auto skinClusterMatrixIndex = skinClusterMatrixArray.elementByLogicalIndex(skinClusterMatrixArrayFreeIndex + i_plus_one); + auto skinClusterLockWeightsIndex = skinClusterLockWeightsArray.elementByLogicalIndex(skinClusterLockWeightsArrayFreeIndex + i_plus_one); + + auto bindPoseMemberIndex = bindPoseMembersArray.elementByLogicalIndex(bindPoseMemberFreeIndex + i_plus_one); + auto bindPoseWorldMatrixIndex = bindPoseWorldMatrixArray.elementByLogicalIndex(bindPoseWorldMatrixArrayFreeIndex + i_plus_one); + auto bindPoseParentIndex = bindPoseParentsArray.elementByLogicalIndex(bindPoseParentsArrayFreeIndex + i_plus_one); + + dagModifier.connect(jointWorldMatrix, skinClusterMatrixIndex); + dagModifier.connect(jointLockInfluenceWeightsArray, skinClusterLockWeightsIndex); + + dagModifier.connect(jointMessage, bindPoseMemberIndex); + dagModifier.connect(jointBindPose, bindPoseWorldMatrixIndex); + dagModifier.connect(bindPoseMemberIndex, bindPoseParentIndex); } status = dagModifier.doIt(); if (status != MS::kSuccess) { - throw std::exception("Failed to add missing bones!"); + throw std::runtime_error("Failed to add missing bones!"); } std::string message = "Successfully added missing bones:"; for (std::string& name : missingBoneNames) @@ -229,16 +248,16 @@ MObject SkinManagerMaya::addMissingBones(BoneNamesVector& missingBoneNames, cons } -PySkinData SkinManagerMaya::getData() +PySkinData SkinManagerMaya::getData(const bool safeMode) { if (!this->isValid) { - throw std::exception("SkinData object is invalid. Cannot get skin weights."); + throw std::runtime_error("SkinData node is invalid. Cannot get skin weights."); } const UINT vertexCount = this->fnMesh.numVertices(); if (vertexCount == 0) { - throw std::exception("Mesh has no vertices!"); + throw std::runtime_error("Mesh has no vertices!"); } MDoubleArray weights; UINT boneCount; @@ -249,7 +268,7 @@ PySkinData SkinManagerMaya::getData() this->fnSkinCluster.influenceObjects(skinnedBones, &status); if (status != MS::kSuccess) { - throw std::exception("Failed to find influence objects!"); + throw std::runtime_error("Failed to find influence objects!"); } pySkinData.boneNames = std::vector(skinnedBones.length()); for (UINT boneIndex = 0; boneIndex < skinnedBones.length(); boneIndex++) @@ -275,7 +294,24 @@ PySkinData SkinManagerMaya::getData() pySkinData.positions(vertexIndex, 1) = mPoint.y; pySkinData.positions(vertexIndex, 2) = mPoint.z; } - //pySkinData.weights.hasNaN(); + if (safeMode) + { + if (pySkinData.weights.hasNaN()) + { + std::string errorMessage = "Weights contain none-numbers:\n"; + for (eg::Index i = 0; i < pySkinData.weights.rows(); ++i) + { + for (eg::Index j = 0; j < pySkinData.weights.cols(); ++j) + { + if (std::isnan(pySkinData.weights(i, j))) + { + errorMessage += fmt::format("Vertex: {} Influence: {}\n", i, j); + } + } + } + throw std::runtime_error(errorMessage); + } + } return pySkinData; } @@ -405,7 +441,7 @@ bool SkinManagerMaya::setSkinWeights(PySkinData& skinData) this->fnSkinCluster.influenceObjects(skinnedBones, &status); if (status != MS::kSuccess) { - throw std::exception("Error querying bones!"); + throw std::runtime_error("Error querying bones!"); } auto skinnedBoneCount = skinnedBones.length(); auto currentBoneNames = std::vector(skinnedBoneCount); @@ -430,12 +466,12 @@ bool SkinManagerMaya::setSkinWeights(PySkinData& skinData) getBoneNames(currentBoneNames, skinnedBones, skinnedBoneCount); if (status != MS::kSuccess) { - throw std::exception("Error querying bones!"); + throw std::runtime_error("Error querying bones!"); } sortedBoneIDs = skinData.getSortedBoneIDs(currentBoneNames); if (sortedBoneIDs.unfoundBoneNames.size() != 0) { - throw std::exception("Could not find all bones required!"); + throw std::runtime_error("Could not find all bones required!"); } } const auto sortedBoneSize = sortedBoneIDs.sortedBoneIDs.size(); @@ -464,15 +500,16 @@ PYBIND11_MODULE(skin_plus_plus_pymaya, m) { // This makes the base SkinData class available to the module: #include - m.def("get_skin_data", [&](wchar_t* name) + m.def("get_skin_data", [&](wchar_t* name, bool* safeMode) { SkinManagerMaya skinData(name); - PySkinData pySkinData = skinData.getData(); + PySkinData pySkinData = skinData.getData(safeMode=safeMode); return pySkinData; }, "Get Skin Data", - py::arg("name") + py::arg("name"), + py::arg("safeMode") = true ); m.def("get_vertex_positions", [&](wchar_t* name) { diff --git a/PYProjects/source/skin_plus_plus_pymaya/skin_plus_plus_pymaya.h b/PYProjects/source/skin_plus_plus_pymaya/skin_plus_plus_pymaya.h index 846c538..2dd8bdd 100644 --- a/PYProjects/source/skin_plus_plus_pymaya/skin_plus_plus_pymaya.h +++ b/PYProjects/source/skin_plus_plus_pymaya/skin_plus_plus_pymaya.h @@ -16,8 +16,12 @@ #include #include #include +#include #include +#include +#include + bool getDagPathAndComponent(MString name, MDagPath& dagPath, MObject& component) { @@ -239,7 +243,7 @@ class SkinManagerMaya MObject addMissingBones(std::vector& missingBoneNames, const UINT& skinnedBoneCount); // Get the vertex weights, bone ids and positions from the given node - PySkinData getData(); + PySkinData getData(const bool safeMode = true); // Set the skin weights to the given node's skin modifier bool setSkinWeights(PySkinData& skinData);

;`Iy3;A|Yw|ieQ3! z$V<86p#%OaZ{rm*sEYa_Cb|XN4c2F?a#1u_`HwpK5(nH3y~^J-hEy0v4V8J;EuJ+G zS$wf}fWz{|T8@qfe&z9Ad=babyNkRep10mJURl`%d;#V|o!o{4b5sGgO6bo*Xr3h{ z*iE;jggj&Wuyem5RF!rRVM{S~YW#)hFg8A$G!#PM>%tfd%z~`t{EmBy#iWo-2yk&Z zZ!)kH#VQLELF9FkxokeK!(*hP>phNq6Rm=^!4U;vHoTaWlLjiyEt+vAw(GnvB$n7xtL`=Bc8P|`jupz zUuH5HadZn4ON8w69dC?9;{VQ3a*R9Jai=OoUUm+^=<5cD z-sMncu#=yz5JGcP{eOIY30##$_y2R}g5ZK6a%FM5DkyGvMO54`2#N}Z3x+!?nwcpQ z=9YqjDc&%08+S47&CCT&!|hdEQdCql%cYIV>Ost~6)n5}@0pp)#d?4L`}xeB=bSln z=FE0xpNVw@F3S1I(Fo}eidS-#r#3iHPQL7>ZeU%05f8U`E=8;nu;~=F*p9Sp9){E# zU>lBE83$_r+W#TviX4*jUTuEA!Voa(NG&OoRm!9)TyqFgK2E=U$szh%lFV+(gES(? zguqWmfevpTV3!egLK@OqQqVdU=yXd0ANL4-s+8+|e(pDHfWPt)fBKst+&$e$!@r!5c(30LZx{v@T>2eHaWGV@S7{jLrhkWE z-@3_Psx)*n%;oP?8eV1}p5Z=^(U~l_@YRnE*5N}w#vZ6;)TvKFkKRIuuf=ib>uA~K zUc@AEu*y`3$r_T(tWW7fa-+7lr{YLO{IdQHZYn@b$+^`i-s*{AzUObQ=q#Q>s=-_5 z?_GKR6NAMo>IUs9z;;OLd+L@OyyA($r)>bRen{Z06!y}$zr%lcIeDYI6V4oc|XlqkH z%MlbtZAx~(aT!xa_Ccn;e}@E&bBoQM>`9Y{W-QRTq2a$wBZr&>gb~N}F0s4_VX$BR z=H*Y(KTGAc|2BjVtXWEj({WOD-&IP&+bC1Ne?{H~yX%_>)#J8j7U@5#I}V2>RkW9Y z65eNCdyL&$RWPR(+hH^`=MC$!TP*x!!LN1MZlhsq z!8UK!lCgJJ7hLdRFBw92cNT>vrxX#@w@4rkZ>OrS3_TlPF}55l3X#}3yN4$?V1o^z z{DTH;V$7T0$+XLkMwhm5_6ta>HTNmWa8X^4=BkXcZ;3^TtW$^U;M$jy(AwArk|s8I zl<1Fo^0B@wpmh-L;i2iW#(6ZUKRKoBZ{#7{6o-b=qyM`mAz0LS( zU*;3oO7O;7d^O&a=w_6h;k2Y1m!vO^;*Wh92oVru ze`@Bl{FqP6IkidJn$K|jphtC%pY*lcdB{lCss8Jr(!YCK(;|+9NOpVpBR|%M#rEZ) z{w&-&u#{>{A}IdV|Nr9~f&2_=oVHb(QO~fQ1juqz#1WI^)|c=0XAKQ~_<4UeC*;=m zlvbDZuMXn&wZ1j9@}{&1ZpNZIQq1EhT;;S_4NB07{G|XEP}dFtVr@F!#Kf9zDPJAH z`qt}LMahWrhnoC{02aos59f^=;=RLwJf7c>bu(lZ+;7NQ;wjaw+`BRB>UQf}ME2AD zJiamW^*RbbhGrxlBlsK~bY<3|d|zY6S>_gE(TdM#!o1r*aKQ~KnJ;TNO@iko?WPA` z&?p%4eEd1Z2SZ>wXd*DzzudhYRw*Gr(SEJ zr~tIfe!c!QNCi6<;m%UwdQrGO&TvmtFgd7yxfBM%jj0N^L~rzuaElv=aHFe*+jtNE z&djpdFDLi}EAvl}$H~}qTpsVb|0ozQK1U0NbSyO-c)cqMeP*wA__WXdT(%pxhth3p zSYC5o1P`8GF zvIEf1o?gpo8R=)wdL9HrsGYF%zUW^;UXAx^&iY`7>%!)&gCT|QZO*zhc<;xjw87QA z+d|Fr^}$dLAUvS)$IV&qMtjkQA~8`4sj^$_rb9p=moO|J$cMFn_H440=eA&j*pHll z(Si;1*v^RnL#%@tN=oG6&#ffOxP@ zTomKL%>z#Ce1m%&zOf_8Dych2&vBT_xrgQhLZP@HL~~0E61emmMf1Uyb?ca^ro+E0 zw*;|9tfGVu4r0w}eNsYkqq#snFNifspACj!-PCUS3@*8HH{Jz_xdRLu!Ji_I;87S* ziMyad`5sZqj)L9fBg8-}gpD3(cQO|Kq|NpaA>0KB$?-~oN5K=6?PITq!32dh2OQ`| zj;n+5rU$;o{yR#IKU6v)etY0u#&14k#2YkaXGG`SlnG`K@R~kQ7TVR*MM1x&Z~YHX zZpqC2PzTl^eJ_x-!WeC)EstWmQHj&y! zy=*liN~9K1%oFj(^0%efhgvx>$E8zwOPbRQppD(9iB2BW!zvDD+y@xXm)9F$`+QK2 zOBk(~h0~vK!cM2ASqK=fCj>LofS(Mre~>fsG<$Vfe*v0Kc!l*yOPBIt|?Qhq9~3wfgg3NoN6J-ZrUMBXwf(f>QD=aLkjH!qs?E@x%gX{ zC$@oEkh^&@73g`!#@JODk$DZfz)%`&mt#(U?HXgmQLF^K+!zWqY)dE-TdzXp)~o#0 z2R>~^ThTF0ev7IE)C>YYi@@#BzZBE2iZu;A%q6&L%`VOWMC+cx9yKv}<5>@P7ET&_ zQ%qEiKq(#UryE{C%F@Kuh;YCb{jI6g;@YDzBF#F6)WE%(Q)t_!E&8VC{>o0DVffoC zJvYav2LeM~IE%obaW%^7!4~lG+~1Fi3be1w=@?r-KOjb!2N*xiZj@_3+hgp_)N|CC zpah39(W9}{AnJ-dcy*c5v|kJuM(aOEf<*BkNd{mFu0*8Ap8HCtFMBQ#W0Io3%dKex}1#PxKASz~T6UMh- zk3sfd_9Md7x_kqixc6oZbQkJ#BF2?gS}F3-L8A9xLoNU3_(aziYeV*`-CG9)2Z*2% zha8WNXHbOaqJ|=AJob>^_ff~oy1-9yu?y`+;h(o>eufJETYJ`#oxH?@L)dd{_9Z?q zgax&of({2wnPnp>4q_4){h-gfh-i0IEpNSatGGS5XEa+ zSSTCv2JdBI?Hly|6Bp{^&}%6=kU7J=z_3zZIg)2sSO?bLzz`iKt*W8DLz(H5#b zq-ph{pvNs`zoUJ|=Hm0Be&ETKb^P5h7ViEDQn*bL&5tDw@Fir zM(PrgNYD{eUH|jJQ+v)ZEcfDj0m$TwtD?&0t>oi6qZj`@U)Gt8VB^p5uR612Lm7|i z!ltm)^L$Si7T9|a1aRJ)k{K)xn-|$lYo5U)>cRRfCUR!gXqhv?`mgJF-L9-1o2Ym- zdd82Fm&-GF!Ru>-;KizVC9lJ!THuv>mKWoS1D5^~w|8ZJVUv*pPWgo2Na=UdD2E&$ ztwoxNqcaw4$=bA;4+>|Uya%5^yK21H9#ik=4QE{{3FNuq7+}S>%I^9CexVzSbZ-dQZfblMmua!)69QL**>#r(_e%(qS}FgogmMn=zB%(3SspqZ!W&Ro{ZjF{Xs zq7)6t#%6<;AQfcAGHD_2*@HD>>4kiJ59U8)Od%CDtkn1QipgH=4o=W26cvvZd8A@v zPmySq=q+;5nfenVK(+*EC7fs$vAPY%Z4_T0yUFzozu1Gdiai0g=!7i2LF5!sI<|$| za3Dr*wejg>zyoYeViupxFi>R2Zo@RxyGPNR)AW%UBBX;aay*^Yu--c|1{4;F=lUC; z+LJ}FL52MNo-81}U?DhVFY_WcI9DnmKR|LEEX7$~LrPE2&)H2b;24XeK{9G2{TYx^ zESF*rt5)_s{^D%skcr*VgbF?{N6 zo80k#bGo7D;0;UX8FsAH>@{o^F*B6$hdH(%U0vwv!rk-gFU9Q{iW0 zvU_C{9&g{k(yyazm19=L<28a>ET+y(3O?<#Pacg&(bCT?pbSI3r>*KVoWR^a5Jmce zAJN#;H0vBIOpM-xb|9lD^T$@!B={-fDf^2H=7=t(ZMi7=j%`bN+AmKrFKOZS-*Ay= zpQF@7#x39rBUp3x<9xn7g88)QfZjM=Sq0sV5j9${20#EnkHDjxQsMW3{B{KEY`Dei zMzW@{bBLa_%kN+(H@i?}UVa=9yvaR48{tNW%F(V2$N1GI`ho3*2XU*Uc*|hvVm>bt z^Be9*`FU_Q*!lO7Xu%FQ=Kg(IC!83K>&x1(r5SwBYs?Qv-}IQS6k-X*c&gsx8_^A- zPi+x3iuAS4N~cf?QOGw#bixJesUKlxDk8tR@)@JgIwz*Xiu5BfND%cy$2eGbL)VgK z+UVVd9@l5PVQz-D#KyF}6vMrun2(!&8VRx^hPRDkT?{YsiBar#H)?|Pnf>|rXqLck zzsf(1X3ZNPdX+>Kn=9jN{k-CkGPOmQ>8jpwIsYx1^=P(Ukcj^7bkW~6i=u2jsHYrH<5cP{llQT7_0|XE{TDvJ zKYWiq!|naqXm;iz9}|P^oL};vVpzwTpBF;rcl%;b)q4Y3AmcWEZ6Ir!K4L%B3rgWP zN&n#z5P`ru-F8zOe2S&!xC>SI1e(KvTLZYo<}5>J4Qc-TTq?L9d`8Qnm}(&Mhx^cl z{%p2eXrWlKM8^<4d(h!NNW1CuUIZ#owdLdwa1ZzKxr11X2HW8gQz415cr=}^%gl*8 zrSJWg9~i`1r_aAlq2X@H*4S2q&c&I0!1VGs(s~{Sx&^|qxRZ!d9MDyFpWzJUL5aQa z%uc8hV6pVw6ds{Oo9`wXA>vPa#M}_{X;&K514MwND`(DA9J^hGBJjWv0M>F`+ z=UA&g@gyy#Maoc<(D$B))WEI3sj#qyJQkT?nt{fM=42Wm3P^rmpy<&qLK!o7`Ew|N z0VjD(JWK8R_J1Y*n?%Xjdfkb zXAWUz_TNwVTSM4L?}tz+lFkJ=Wz~m%!v7k=vKfDYFB{6b)_ezA39nLaI?gW)Wu02@ zevSGVbhR@{whqw1oH{)sj!>v^Z7&SSNiYsD-qIJo##;$um zi68R^!&ooYbQ*6vob_a1zsO&N9daB}l)1ShUd}lPk5MSPQZ!sI3(=O`K({)l@ta5a z$HUodOCzBSFYCkS%Vc;q{(qwcRgeFt*ZJH8_B{J!9>1P|@zKQV{6PX6ZV3h*MP&?1 zBqipvTx$J;%aN2oh$ZSeRI*!aGc)-cqgjZX_fm8$j=#cBk7iMxzTgkdB}EQ+f%}Ys4mdl8 z_ZY)k)-0ca809psJiw=oVf`7dF#cc+OK0BOc-UAL^xS7#QLF7HdUzAo6=|K9)+uQn zk=6le?UvRKvPhLp6(>TaE?ZZ?ca3F@gI};>bW|s%ZAr}OC$9R2UUoZPAzC;FDh_SM zb<)8m^rSZA@gK*smVWc{kWRSQy1m`hWIO4T*)8C@V;gTfj#*i~JpS@H<{#N|8>rwm z#BMrH9%vx(wHrRDZ&H&S#YSA(kGjd>{+V#6JpnlFxs?}`|MS$|=>`tiZ|1#|(4UV1Ec#2!w(#*uEVT9@ zv=_L28H#Z$-<$*`ReFn`Okyp2`5|e_C&bzQLK*0Z#t!WzFnEZ3c5L;c)C^AltaS@- z@n#e7kn`a!R7oz12~}(V*{)~)U5rzwg1p&5jZqS2+eSU(t-xqP?Sp7@s*RAe`vx6 zN_9%e+GQd>&_xFMC5wL85452lj0FH0U5c1or5bDbi zJpOnWWa&4m=%z}#YzN(gsc6-OOoOG%Ooz*jDwi%0r)O^=s!9*OS(=-Z0degR#Y;F-Ml3n=J$s|2aZjG-)*AdB7f$tphY1=gfT zf^-tNxA2{@@P_8O^d1rz?Ey_iTOoZocApD68p#a97lJ)^oZonX4fA#DD|llo9UjYt zQ*_pko=Xq7@Fvq)7xy!(sn=YRz~@gzC;RA|e9KhUsB7k%GMuz7;2jK20vHu{PAds! z0i;rpXg9s3J|RHMw|K===3D>ATyiBrYGX+Sf*d-=172jq>Yj>l3UWM`FL)7CVkIlZ zY(mygD9~tEuJ7aTyvW+6-$KgL3ZDplC1}7;L^q+-ZdylSDhL!Qn0=%mt0f0eUkkx# zy17T3hEbiZ1XmS-EG9F$(!Jb^N*vwc8&{!^KTIVHiH`Ishp!l0G>@OgO!YtB0iZ`w zjA!Im=r8?@D@5MpbEiQ!F0%6cX>53-ykvAgT$*U*P1NQq@Fbbt^^gj$4>JwS;dX8MI&Vgr9|Gr4%+o!YkQCo+o_8b=_MBWf}(H1Of zN`}5}qGaW+&#j`W&>Kmr$&#u(XF6&rM+snc))Oo5C8iRi}6{ z-1`iIekj9K2D)OC-7pNgh1A8SK6lE`@YrlKCh$Emkhw*zE?pY@(pb{W+2gTH=h}4L zQ@(w#!4$A;D$*o7x&wH0rSni`EUI;YBH~B*_*tw`^LoOQZK0cZ;03c$B}j0109P?F zc_4>xnZ;VLo;m!?EY{s892s4#_rrV&f)*PHW(?zAsjOw#>!^r&y+%^^e5JozB=V%F znaGo`^tNL~o_NgM4zl|ViAz>nJ}ngqaCZ`aBbD{=?FHVlt@q6Oj%p9J?xi-q{T0@< zZqxqM+oA0;SM^`YdF@wNx3MmRG@Q4DAeE$<+n{995PB*Nrc-FGcrFIh@pu*3X6iz$ z(G#hQ1xXYxYKHQuKv4+Yfp7$igW?j|UIjZw>>ZWCTFUv=S6E~_+G1XedqXOyF@{VP zg3Uf)Dba8v`)F{)2pQ`*c3zswe0Y2st5x@m*gYy)t-H^srm@H-E0&4$^6*9nTwm)i zflmqmEC;}M%|b))$0 z66BTQdw4b<_$mwb93@gyF8b*|mhr`}vR;1lxG-L-h@p&fPO{^g_)lMD<5@v}-gOT8 z@}G_8FU`STrxk90+p}mCOe^#>MX4UPe0wlIF^4_pJ`&v-yD4)SuRoWy@6;1eOg7zY zg8p`*kmWs+3sAV|70`|c;ilFDY)cDXnadIl>GdGhzh+neT1rW90Sj)skd5-qAn}rq zIJmfS6B4ksNfbC5@|;AAjLytg0aO+V5ivr!VFV=I&MG(bW#A^)QsU8B{Szl)2F+&; z$BsCU2`L)jQv-!6CR(rTEQo>GYjk=q>w#bVZ9is}rAl8NMLiE9$GllMC5{E#figi3 zpJx5YmyifZ@dDPSLHz7|Mz7U;H=kvgzZwlO&L6SKv4viQ;kY#{q? z3BSI8HETj4#$+!Gr{v3Veb8G#P;msU?9IJiV-4CoM7SvO%ReP{IUY^Xh~Y*Lk{t^! z$bn#0*}u%>@u2TFLbMr}Iaw+^&W^1%TRjS>e`QBBMGV`v1*Ye3 z=B-ryr;>VtqlXnWQ2zx0W&*Kj1kO{E-4QI^1zwxSFT@;9@kl;@A#2O#Jm&8%#9-<7 zx;%IhYh&8@_^G`d>yp@>lQYZ@iZ)*_sN^p!g8JT$W4eo2D^s|G#H>h)^n^-&kw|7f z;Xf^6gZo}(&T9GXuSW%46u2XUi)Y&E$R|n)3|w2Ih?5*FaeN5av~c z#`)ki{$~cJE?2yUD@xHso;|_`EyldkoJIW2#b_PcEaHb2vq1k73q(O%I;$2u(uqR3 z!tvum{%A2X4f%8-23B;FQ=LHcvp^f$qw*xmi{`lmn_a0W>_j7i&6)ZeXP-j3cxGLu z(v;(o1GL@by9hwF;(BW#e|`z;%Eo=jbC&hW`2j?vcgX*4c^93uW9?{a6?NW;U{5{5<|b7VGaeWiB#OPveKP zSnK+)1He$%sd_Q9|0s+3`rSl*w3`Ma!Kz2U?gDOJimlgMKj86XkDJdkma;}ZR!l^d zp>k8g^%Oq8pU3l;GIIkzs@Fo}%Kgt&wbp;YzlZPkMVNS!qfg`+s{RpzMbXTXN2;yV+ATNI%rY@EZBamLmZg-I#W(lMmI)`J=oqqF(m z<*Ze@JDjSoS604C^89|@oaP^q`TbWIN24F^Ea!KWvzKuG>7OSpk11#OGz)zHK}q*) zdD#F0!a7QwduzjNEJA0#%139j;5rMbqaupY%#N}c`K0lK*(gR0U!h{udff`vI;sc0 zq1K)A2ybJ30jI(}v%+2I0~1)CKR|b3_H@ynxKNll0ZHwssuZVZ^Osk!uAVXbR2Q4H zZI8$NgB3^;CRQt)GD;C2VC9t#rp2l~e`$f}p(e}5GMHqx=&hH?(t^gO+Wh?o@R(bb z66#44yJ@pT%lxSB!OyfrIHA!+%2zFrznsQr*_erqNaM?G=reVYu)m*!y(ptq>L2ajX*OLx1PISsNe(Co;Yw`XyXM% z3DQoVAt~Ne6ax3KucD|VidaeUvZ4^UVoBj~8>Lyd$sp6;2&BeBZ!GD1D|&(3;^3G< z6o29xAJnx*ibCKPfC9sRk7dLWqZ=vWdLl2DF)S;hK# zKEhlaUcX#~j{gS3v1J|FY7f6 zTtp7FoX2;q#wx%!t$FckhTGtI|1~U$ZHeUXtzn~ZM~2HA8N%~8i?tTwh8z9Ga0=RV2;Vf6q{C<< z2-V|uS{(432~WrfN%w}J!-bQ#^$xty8~z>op-J#l9G+f*FX7ND?5CB&J9-`EV=MhtNWn z-E@CE-?@c#?B<4iLj#QZS-n|)1bHdg7`tgJSkWhhIXl`R%mnQ5sJoR}-OoeRV*RF> zkJ!q_7+&QcY-MpFK7^#A-qifRgli8rV%kOwN;>e6ZLFE!Y?NvJ_D^DQ!IV!^19Szd z?~D9}ZLD#(^;k>CNJP(VOLLBt|4zhohW0~?(2k~!(tD|XdMf`fyr)Mh z@7=3=kCWbCukxM*?}(}C4dI;_-rpud=u}10i$c(M;H`BcoK!`4S`yZ(BJ@$BBoc|A zkZ!A_`QbN*xQ{yUS$V8c{cT7tiWG*d*rbA|oYsx!d3l&XeWeTkIFB{=TH67FiT$t3 zup4f`+yd9_ERFeY8VO46QMMDr-}>{~?=b&HDaZ`ZdPbY;9DLC8cR7Q6 z#B%#hy$`p7qV`#Y4S}&CdK6E7hxKxQ<#|e(#s2)gcUZsCK?3UJPeeHGD<|j@Q5tB2 z6}3``X-c(eo3r}+l}JIH2#apDegf{*b_B%`)~p{~CCJ+TB+1PBS|Sr+#UrejEc~QgBbQ(9I^(+`^nfzc{dk=i=&b-D7OBd#nHHLqu-`<`FT1JJpzP+l9%BwVYqv#moao(;AaZ0<`IPwUi?G zHavk9HbY%5cNHCIeU9LxCY5?OcE~LD`cUlKa^C4ZOjrEao{xNwy~LJp=I7sIv+BN+ zK;fg0PJ#RJ=-sSOpq@lH%pQ)1BNj?LmtG+0a!l784kHryuHDQWbPjViG!DZ=B$m}i z5HDK6y-wtG&Ko@H4dXxVW{rG59!@yiX0Owe;F zvwB5G(_nCuh3>@rh?p!*V!Cg$A6!HqLl#i+3}lXL!Z3bkFDiZa z*1XO>_A<-%eW3904@OU3Hcl>MsCDGC!J+pQoZnX6X zH`Cw?m#LFWtgY8+sy;a$sls=o0es+o%yMk2%U{~h+PaJb5&vR8^W_KjW0%aDh5YV* zG)EirxKBRoZm7$j%LnzMhdd>pwNEdhZvwN#}sE3ile^?V%RZ_CX$C?Ort!xpnf zWAt>aY&tJr+#|V7l z>|Jbj&=|40>Y6|tU&?kR2lDf}@-tY#(t|u0;7WA`9+P1m`wihB?v+@*w4096l7(E; zxG-3JdS*RF2AAEST*d&H(hb|up<|j(;t>Z~v&O%^N*w{Q1=B<$e@E)-wbwnx#Qp*1 z)1GFpp_$Cs>2$jq^}XuU=^SlWj;sDE&pOCL+oVAdn)eH*lXS)b_8QpMR0Mjlm+6oc zgSG{4j^m{VSp)WK9IrfxA#M92-t+?&Q0qV=p}bvNC-A->uoi86$ZvLkckx~{%`tUC ze?FY^+f>x7+}wU)VUvkl+0&G>8(NE5SPPR=St9ils@;kL-f1AOeHg=qBY*OihuN_N8P(8$Gl_9YaxgvBwu)`u+IcW8goBS|$8s&gvObs!)4Aq)1fEhT0Z zxZLie0Y`bC%ee4t$A_$fZD_;S7O;uTbvl1sz$SP2`{k$hh~Hn&MLgWo-1JkZE#(-T zV1-pI+7#(qaQGkR@vPXSqYsJXIY%&W>;HVgM@Lu_L!*(=lu%bFV`vS`8ZmC%*cf{f zx^TQNw;yFK>W20M1;#uLV{zgmnp=(`!oNiELC4s@TBn5XN`2;HzU>%m=)EzD>Tz07 zjM!~wH?4@`#mBIVZfF#LaEuLW{u|seXQ+3^BreSzuC}7vSuO5Qqxgj5;6Jbtf9*Jn zVkhkU%yDene{U#vJ;6G7%^eDIsC)~q()8D-P3KW3*ci`Wt(1(6>afk@r%1m41lDMO z?8`5nfQnje<;MTANb|dYO5K_%UdDA~rLd8cvm*KA|1wK@pGYvV=g~ml9`tiB`Y#s$ zE5(13`1cn7pZ6r!tKxsX_)iu8fAt{zm*T%t{Cf+0yWWI!&9CZaN_! zhB=UF=?J$gkfINBmGC*H{u0J|F?OpF3b*N*s3IYkdZm(Z*{-j^DsLhWHsZw^ybDbG z*oZjW)!c+%JOfobG6n7ryP%YK-o;k$)PaYwQYTFJIDO%c)_u6whN^By%W!eSNC?p z>)=kjS;DG2sz=Z_wbx!B{#GzRByUpP8KAdcKh7zO3QMS`a=2Rli@fa=ri1%&h z5YHTsM4;>@CVBP+fK4*CkFj16DxAAj^N|o*aPcD+U|?T+@$b&FAUyC^`vME}eoAY- z_MiqGNeZz1F@Q&0U~hR|^hYuGT>23b;DYN>fBy9a)+}r&Dm7?&z|vobPDf#Bt$*@| z9m`W`W=I+!-T%ZqiO~5MT$BBImm+4Zy$+}d`*pkPX@9=B2piTgI67U#eA`Y%IQqxG z+wCiEFGu5%+3O%Q6Pw*t{{d|E$iMNo&<%MVw9$_nFS3#Bo*y4~k@+^jV2lcDEp%ql zpFsXuv04W*s{m1>%BhS6oL%K}ThK zgyGZk*bhFQnQuu%Qy`Alz;||IzdHQPW!5g_J}wT+EONi#dIuj+^qR;93aKRXCii%^MZ7Mm4tqW6f^7wlaY#Yit43^Mjwc(quu#V|X2}MJa z!T7)#UjY^!tLdT@3ax@-@oQ_4V2DLm>4zWng=lt@7wAwp-HxKKs9kA|^6))wr_|pA zMAx9959oRYTSsWoF+3)-khJw!g3-2;mF?P!F0-^nb;gPa>LYL$Tn#``xEEaiM7^Xm zz2NE!9DN;eC(bVwQptN-AJ^rw1})mxBu=p|W``sCT^?QzBnXF3;K#1AhK*)Y1Z*Ev zf(4H0%N=z|Vy!2xHGgy!*W=V}&4aIDL^Ic&55C44wR=05d_-g0c(j+@^add8CF@Av zbLBU-FiJQnn6JCWy4CxQrq-$37xPC6V)UgOFTKW0fk_CHR;;$c+YyS0P-UoNuKz{J zLeC5~_b*}1+in*y%A-3iV51^6-k%2YoL;+Nm3z}D5eW`fyDWT43D#sXrSoh5aGq|V zK+fWn&sV8sB$0*kaXem9l|OsXH*JxFLHES}RqSg_@5&F z6Y-yJ4;mfq}n}QAr=kLY8F8=Sg<(sc#>u#G4{N8mImLBz*oIHuKt;j>#mxVdusRRc) z;S_>>9B|GGq@q?9wM6;PSz#tP%mLe0AV1;X0q3k(Pw;T3|G9vTWmyaP#v7=hrHlE= z8!W*4+~O*Rg2ACIe*XrhnU*}^bw0+r0&ZLGN%oD$eEP?%Lwy7GgJ2pT4NC$hI7CcG45tm4%kZ*7o%4^<_|w+0c`j@Uh5_^*I(r%z(h`5qHcK1d);I~-j@!F zi9>icgR4cKU&+&MvQ`ZZ@BqSaeR&lD1#8uBSMm>UVv0F!PL=FtitMkrj)sarEQX?JL&EZ}5bCwS+=Dwr6Rt#QKP z|8N&clI9dPh1{$0&nGy{5uQy%eps1{GtY#FFlPW}@(?(yN&s0N9eHS5VI_ALC%q70 z_+mclHp+AST)yZwB6!GI;1dNuXC70sm-#qh!9UAMA4BfHI^~;6@I5EIoZy>ISjeB{ zkS}KiB~W@kmx6BZ18oNxxYyEtJX;IE6S{O6PVJtu4>_@)yU^yd~-(dTMf zpjLM183Y*2t|AZ;`^@3T?jXfd7Vt0cuzRs9kvCM-VBPdRkG_jp(dU}-nRl6gdX$rO258EBoT7-JTpX}XYBL`Py@XNp&1D*J zs5-&q|5qoy6);5Gh`C(aNwz}3nWw$VN`sUZ7XJ(!Q)VSt2^@xRQGacs_>~QJ3KTBhIwS$|pw|!sQGS1Q5@e77_ndG% z!9I=(o3kQ@U>65$lkg!Yy;=DGS81>UjnZJ%KS}=Ctpje=-k|d`jXBVzARu zA#E!N7D=8flU%`GWf{-Feq|L<iSnl+;Ucw3Ia!NNtgsc zB{|>dnTAGY2GPSk5$?Y?{=ePl!u?@2|LK%>A~ywt#iyxMfyU+NmyoXd7JP5FsBS0!-fR8!cE2aPYBJU{6Bz)Ha7b*S@I3L$A2nG&Byd>~;Fto}5 zzfrJ9M+}w9N}&d1ig`p3Tv7$gGGY&E_Od?05X7#Di1P% z6em1{0!(tk69|rX!m|jrI^o3xTdLp{W<;>eXJ%EFXS9SwWiCzx<#Ab+7FMPB+#Ejb zYu42K-sdy{jE3=?_(%u_fO|jG#2Uv#@}VhPOXqc+^bZy(s*gptHkjl z`g1Q;!G#1zIh6u33|hlkVsDG+IAJT`^fDJGB8doobu=nDD?|YIoNz9=-*m#IB;YwG zoJRs2`UhN1K)Qy$%*WA&phs*(j+VJN5kk-X>ePdjB0`VmA(o^yBy27#nN}UPmKDN} z(>UwSp|8ZWi0SLWn+(yqiuf0_Dp zPVq$hc3U!B;s_u~!rdJL>JkoB?jB!1MuhUeaOgVGTtI+<^&xN^by1bXPaF)_O9tK! ziFZl3IeDP&5(!W?{KcvSj+gG=c=0+vU{B{mIQA*2r7u-J*U<$rKsA2mS71*#2`h| zZ*&BZLi8?90fj)roi$xVuv*Q|6OCFmRbU|oJCmzoEEudw=J(4`^)1P~?tRP%#AEo2d__46NzZb&EV+cgH>N7A3cyH|P%LVRL@5&foU(~Xr#TZr_)m7i zq`u&Pnj=wTB;3ZquN3@Rl*MaB0-?Ky#jv$PC1AJMinqu+7LzaAR zA9Onv-M#HHTCMHi*$N*^+FYT9tlWkq>v2!`<$x948X}IY%*51I4O3Mx&l#G)}^t>wTpd&629wzM@smT1J0K4F$a7{!n+mR!Q(xN*eDQk{kJ?ql)OQ- zqST$_v0>H6iiMfI9=zT!SQ1?0fw!GdK13$8D5gYitUcttf58;?#&hUK;uo*%0A=4h zEAgKySPr&zj64W-`mQ*t8DKR5+ASZb4Mi{_FrkIDf^PLL+NgK{AMV7 zx3Vjh9eYZ;Z&h}ULZeLo*JzN0-*Oc|tg?NSeOKJsrD;jZ_EUCAf%Ny9vg<1Qy(|O?B>eW z4@mbt%1%vJAHm8l&X)wMl%1&Td;29mOW9^+7w(hz3}suDjdyrNiWcpa_7Y{sD!Z<- z({JvP1RIr|tZa8>=f5xA*QqivRl$Ng{t{11_ch8cQFgmC5`RqDNlKrXmAfvp+*$wj z+)#{^{i?E)ls!V(vC58AcDS-bl-)?#71t%d+sZzv?48PfL)b5&v?|1WWjkV4Losr| zyFZo;dn-Fe*&v@<)}-x7##@PWy-R@SBo-Pi32x{f(k4;$Opi`b34E zuI#zWc2V}v|B%{Gd2g=lHU9|Kr$`3-*9B=mQ1(q_pHcQ9X{T%dQHb@*UZm_4Wsg&K ztg?G5J4D$&%6@{^7wGqmvd=49yD0HV#nR4D_^`_aqrBWz1mdk!plS&RO?z@ldiY-1 zCCW}#?k5zyOWCWG{hEVL*~69HUD?f*U4v{YulJPzgO!BcmEBV%WxTSdD!YktucPcr zCD46kXDGVc3O=Lk^$MS_>@%>jhfvc#Rfq@5E>;5VQy#}%ktq?Y>~Li_=a04;ebetL zIZBj$QrUZyy++v?$~G&u84n@Brd^HPY)k5rB+`?j)A zDto80S13D0*-6TdSGHBz?UcPn@!zA;WuvlR7xoxUo2n24mEA_!`;s8GLbwG0J;accbu;w8kLpybt-4r+6dB+~c2k$!X$* zWb=gS(`QbakoMxt8Jd>&|D#JyoiNWlWAYsH^vN?`NSjI$2KW5G`A(YfN*dAN$NAr^ zUV7#KK|HtD|7N1~{@?hF{{!!JM@CA9iA~CVp7GyS%ll9g#J?x)_0JMib1xWbXD69= zuvK!%SIO!1VL@|dTvUVSyBjMDrq(hhx<`~mNE%Ji=;tN#Z6g>h=fIWtqIC&x`lOMP*!NWGK^sgq}y|~ z<`*WXnUg1{OrDW!o-s3dGQZQp*nwLDjcxdfKx6+JGbc`)JSmNT5@>9_F34yt$Otm# z8Vby4r zSWFMTv7<4dc0BwP0gviRe&RbCU3^Qc`O$hBHR%uTCZ5sJ=*NnL-zKi{a0})Uos7P3 zSzLJjYNKmCU>v^;d?U1n9g(rQ7NZxB?__kBaVV@tR??G4h8kNMcJa3?#)dV6zlHq0 z;IoRah(;e*sqbjVzY931QEj@{_lERQ& zyL$8aVUW?%$4H8V{H3fhx-^Ud?D(bN`x(FfyaIj=7Cx&J%Y8bbcXjr={*Kg$Abh)h`fuO0_gZ<;G1%)GZHl3$^*I>TN+EO#&sQxriMhNSEJp9 zZ}$j9GD1Xfc^9Lf(IUS^@r;3+|!<PjqSK$1hpX&_ZGkO{u zr2EEcS|gZu6EtlP%*qT+TMfgOXj%=JD=;@;wq#X!KClNKK32xT7QX;Z(w@u#HM(d4-aDA3a02Z z+5wnWXEd!X%>!a}XG20?cHXLYQ+fO+Ug6I?N)NB`~|r zBcd>F7c{N*1$6DF;A0xhM=%#*=;T;1OeV}Sm~UXdhl#j|`$S>rd8eH)b{OL&Or*d} zgqa^@&_a_8S`^H#T!Xe3=E++)lK^vfjX`?=^Y;;KcE^*FX}Ec09?anM{Y)DMWBrV2 zDKL33B`{u}Gc5@w52l0+y`Ay{(=0H#WiaJTD}>P=z#mNBFR*`QT0V^VH+;hs!g&1- zJ}~((+8_9aDTFasGA#opA|HQN9Cys6BafIaq!~jq{z?u5f0t=*Hr2F>CkO!ep~Iqv zJ@?ChuC_`2#8id{Q&6g`w-9aH)htpFoR;)C%|N z%;{+_Cj(Etjz%t3`1$kaCr^9<_?S4oq%C=;wSKKeT_-}I9@z1)S&$ZWHa!JuY&nO_zcKDW6(Z^u@08*PMAOJ zYYdoDa@L@YK4;KUggbIM*+Y94hca57#+7NVps{>p(9XbA_xCJLt470TL>XHKE1tQo{HRMZz@0UkHp#En=3381eV} z8+)Z&fujFjH7=r!%U9?(Z9$KwcHBu;YYk(U_$+ra`hhW_6RE$Tmbn!x(jj|*d zwD^?`5Rm%}7V5I3Mm|V2e-m@+)Z;u5y9A3`w&JHBT>}d1$-5_ zDCL*jtHag(_?v5J-f5nicUWD`dsXfDMu>!!X0{BqC}rx1l&M#XkuA#JIWP^rg1?(E zOcbs{_9~MxMJiA>=tT1ff0b1zF!Oidy z48v-nfb`X@HJ&mgU^tUmR9mZ+S|f#|3#Zf)+2*Cyx*@Y|jDyK!d`uTiEE9Oy0Aq)a zlq)-dSwdm##YZtrEeb;w_9Ri{^H&ij{!GOfK474+LqHO)R85C*R8J?&R}D0_Nw=;w zXmel!6DWV6?9*V9UA1TNC}h>?D1XA-w2~nPt;0|!@9JJB5;R7x)Js zz~2cNm%63jp#D~T!+4KD#%Ag9sE6q==ST=*KD@Soi-0R39O6vwP8bV?_aG?fw6I#* zGyXyQ3@n6o(Q-!_wEw^qDScfH=AS``Q0r!c_6p3H5eU%7Mf3T!hUR+DP2es9Kb7!c zPBaqcA+g3L>CgCsdv&;;PYul{xu)h5=C1jKdWn?Ko<~a5#NRZSmUU9b8nmP?N#Bt^ z!{6)qq}ehY;G)83!BPUNh!<(!vBuS5Gx@X9U#{f9^;ly&q3-e!+75^pz84<_FoP3~ zS`D;jq}al(j4_u}!20=m(TFgE`dU+cy=hFFOMR|G_%4N>q`ub?UvC}weCmUp@b&ik z1_My)ixv8MTk%~&eX?`D-c#{iN`15NB46)Hc&?yMTCuNpE*uPudTS-V-n-z?j8V7k zrmy!Au#I5Uf4f~T!(7QP#~Fi!^shnKNJt;N6d!NEuv#Q}lFK<}1-eS@P%YU7XVP8a zhw*U|<|`N((+o>EMf5xnE;6Di)IS^{Bbr1V#t|;_wJt6O(iEXJ;{7{$@R@^+jfD_? zBaQSlDyld>GGLn2N|{KS*#c2cGtp#NMYFJ-O`~eKo!ymI_mX&2${AV((?tEWqJC1n z6?JuD{0KO{!vr9i2;bI_XqP$<>-MWN&MS)7e$LoU=%iwV8~h3Weut@3*9w*)*c_p? zqk>f0B?F(LO-ve>Tfx(wGlqLo^$QyXU!<~ojpE0jLwrh56@G$o=!NRA!Of_-MH-VB z`mD|TTr@vaHP^J-TH#jsfk^{1SxsvRxbrqNzJx>Ckh>FB)f9fU;kBy!j~B%MVhDwy z;Vr)LFb=`0!~UM6ccE0!U^o;@;Ao?k)Os|3H{RGfh_ZhS5Y)>Jo{W#VFg0rBBY~4d zV&_hTV*D-M*tRo~?t$wnB0Y?c+c0&6K1~YsLRzMDp$1a4lE)}(hyhO+V(cSAF^@5d z8NlGy_~;2!L$re>LJ7xHTYYqhv1=C!zveniEgW@$12_uZ&_ zY%SCNUwh{s9z~Jv|C;VeNJ0pc5CVx1CI}c1aflIP7BH~rA`3WRyt6Q1Kt#Y10|KHm z0YvZ`5NUM14DkjW#mMn~&>dV*RFnbHMP+sHwydk`h^Xkgaz1Z$59!3SfBgRaJ)n&LqG6&sPnA;alBcgXCC+9rTif-n}OGPyb$5Z=bF8XCBh{3GbBfU zM@Rvg09domHBaay&i;v}S}4wvUf+q1ePAf>1XY)l z-yuVFs4P+)JOwH?vNolN_)42!0^`iiJJV#Anuhwan3zF^~H1bv*pAmd4v+w%)5XOU?;5F)0BP z9Cx?bZi^jgi@B=f9Oog2Kb^g&5F~q&<_pNA$;++PK5Q22%zcvf_%(tG*&cteJ=VN$ zU4Ne0#oB(Jc}gVyqM^S26TKThl0&z-`1l+iEcvQ%jxUv$%uVFPv%>8{nL(+B<@lGk zsPdHvYb60)l|gR@!`Oj+agm|gdGeJ^L@01omc?AK(x>8oX872~+pwJ;eg2q*wfKB< zKtuurB?6hoSJ=~}u9NA4-MJVA_CUPZo9%^JIo^&pjBEJMydS>3JyQjz7)X0cn8AbuE=zvai9`8e0wxb^EhZ)0lbl+xcuNm5FQbvv; z7n%=L*X(0X1bmm;HQ(CIi|%2WsM!Ons?1g`?pDb~OuVHPG!phWyj9(c@L8Ry&Yfzi z`mCHrhPQ^ip^EjD0Y16-eL!!8EzDvUHZ^^^CxI5yz^d0g> zC$}{@PsiVoG0d21S54kro*ABV7Dl6!PnPH#x#tBFT!!wKJ5!Kh?PP)LxtkdyV53ukOu*uJ|8&tYgLU*` z^Qj6M*K()P+48v<-Ry@j&qJxt4WQC_zi%;HpIu`1)I&~)AbMJkm=rcqPLqhjR*^SClS1Yd@? z4qW`eem>go>;Q zA!_rxiDpkdGYI3od;ynbz^h-FgLEJ3lu2gqF%tQc*z4KU3ka`iPl=a#3$F+=Km>E= zG2@uxz1%c*lZclUYYfp0!Qh*2OB) zs{i2v)oX7jm9?##YG%Rnv{|g);#)dbi`nWq*&J0N+1-Jge#6*}@HNQQPrV8sPqqX0 zOmRw(GTmxaHAOG7?wf25)w8aunXcRpn`wPD+3Z}BSjFljSnj;>wwSHbDdzA}NpK4R z4@vQDN7xO#PJ$O&*H1AAl%#(4sMC*n)P9^K(=BG}(?C{^ zkA~zis)bnL5^89tX;@C?yO~+LYcp9yw`YBwThICkUcQpcgTNj#>~)RUjMOF8xJ%9B zM@hTbDc;`Z@(+-eE6prAsPQ9uSxhd?Tr!8M2eTd`TY8quj6&+g&n*;l=8U%|n?i3| zFJ5Yv>gueT?M%^!A&dmNw!gj9JW)6O`Ph^dBPQ$2spctuNispG@^`s>4tV_~$$z#njwQ1raix)~@^J_+0DsPRByqr7Eh&X6`Vjl% zj3%43ojiRQ0=!K&z1JTf>um3BoT@_<+E$aS8B*3GpslP76K`||fvqbpV>wp*%mwL( zuiKojUs!oTV38{QlF)w+^>Qkg!NACArmfU)rZMAnrpot}sf@5UWCjd9jh}#*AEg|o zA}j}X`RUT)wv6hEm-EQHT_=;xIh5h4)6J806N=+qkM*x290qwglJgq7TxJwY+y2UIyE3=Gt(iLP*39ak@Hfm(F*akUWH5VZ<3aMQQ(qHHiw$Pv zyLj4=)EV#?9n2I~72;Kt(0OM$$?M~KtJlx>E|k$2YogMAyM3BT5JRhxQuWXK25{{f7qnS2R}+s_0-0TIsFm9x-ai z8Rs9YZK`;|G;XRGo;Tcge$|NT^@E2GU0*YF_<#}dvqp^EG-~ze)niu&SC3y*p^7Uz zsy_2Osh-mdRcU3VD)sdHKdUW8P3fWK2ZWNjw5hz%KPdu(;wbZ0XG!gu)qUhP<1_Lw ztuu?BUC?LcHZ)a`^#x^Wx-N zS58gNO=^U%?gmmwIv19V3+a zv|3>p*YU_uyhic_;Wd`^KUKD^OqJF9RaspRRaRN5$~+~iB-J%pl(2`(CyC;9!c=XQ zxUOMQ7j)GF7SCzTb{A{b9j&fWFWbc0EZa2RV9x+EOeuxN1EygV7Ud9=^Olg3P3);1 z>;+SgA=}wgI~49!7n$DPM&`zxs=P(H>wUcnuP^FMpS0eeWfq^OpCm+~Co;1T9s~tC zNA{d2>U8}!>s=p77D9H0LUx8ic^!<*s+@UQ^DLgbJ@l+&AF)l5(Mh5{aE;Y&w%PYY zDP7-u-Zi>&=>tv$nOSGM-(DU=*aEmm<0)ZQbKbW;nr-&eRsIE5<==AoN!)UHMweY__BdGzqSpdv zJUj_u6v)Yusnld+Xo82^fE1V83P6H*IQWrLhH1!GlQtap?nCJQGl5)>&1-JLF>w} z*;}vR){6%zqU#n~4`8XwZM|4N!R19ADnPl_RL5$qkHh9g=N-YWjOq!W#Hn_`Hgf~@ z?8v(8ihH(W9jUu2WC~!fAldDD!nMxBdn&>#VB|1GS$UOt^29}$Ba82ATSC6qrXfl73 z#YWZgK=Jl!67u(wAZge`!YH=Yt^;Hzt?4I6q6}v&x!3r$efJGCSTboEef)p}fIK<5YwZK++f@ z%-YO;YsNKZMM1i0riP;i_FHMH)~0Ld2Fn|)53VswgUj)*>zjG=>p;x*8&)^ou)69c z07*+NrXI890&?#YF7=g#o*<6gCs#rP>IS~5^Vn12z zi<~;ka_Zf>d%oG{k`(V2KZE&r(c47~1Y#b3HviuscC?MQW_K9fT3K)|$J)TR zi>>1pn8o@T)RmQ^V-96YtluqQOLnDF8$mg4x>}eSMO)d?!(HZLl&LyY7OD=1>|OY! zgri5W{Xm1e6@#}TZa->i(L!^u z=0t^Zb=BkFgFTa;OpRg_bdTas65EHHdU z1x1BLMMYi3xTfS5V-2^dipx+|sq0J;6{vzkw*JT$a}$c+r+MV-us z3hq&*Myaho0m zDy1&t{?#xY*@`vvzxBB)mSt!B9`Ba@Q}F5^5?x#^JIJ2b31=}ll5WL z?5o3dz1dM?;=*%n-yCm%yurX10%2IJ!^Y|SzgU~IeS3@OR0%wm$|q+ zN0n3-tCB;lH&&&b=JRfK$qKW(ocV)??dh>w ztVb4`-Orb(WV9?R@~Wb`95kLfs?hbs4Ym-VrI}`HyMJS!5PQOiAGf(BoK>>KehLg) zVwRrPJkO)v05!Kdx9Bn#cQsV@A^X|79CzKzrBYVjYTdlV>@JUzjYOvRdmAOAOw6+C znaj*os_#4$4<%CC(Q${nDBs?$bcJGV{~O#APJ-gkZEh7-6o(0`2&)LI+QeO4mZb`6 zb0dtA?Nz~eJ%op()XK?BaTgwGP2Nok_Yu4M zKv?Vv)5@PHzY!jF1eZONN}bqCEs04_v8#t_tIJiPut(hsb{tErJ&6@)yU(%T?NYtOWT*hTX)25`6}F%2PA0qfW-V4 zaDyK=bXYqDxr%1~sdQ%jf0$=1+W#0QuUo z{Zfyr6$b*f@+i%Z2vpk$I(t=T>PVhpYQ9Ge1#O2pvAZ2S>crd1pDL7y=`gJ#uzp@{ z_84+VsSe+u?tcgQ(d{}@n`^P_Dt6>i+}-BXu`t%fE6h?oPA|vrvB7-h9oEe&%wqjs zDZw6-tc&F(={{v-Rc*vqY<09l>oOVah$L89hK&%O+mU6q(qDRxxugxC!;! z^oXY8-_}tD@;qt`aNmrWSA&s6B{$R7+$u~zujm=CL{EIMTJjJeBhr%}TV6Fw~PNx>ym{Xk?i(3Vf63C(iK&ukK zyc&#jA`*AExm6ff34}}NBOqM@t;|va5y^QOndsR%K{3~YXVW=vWBx@L;t6*qG2qU) znD+v;#x8-j=JCG>!~mP{uK0^bph_v}Ic1b55ad(@45k@l9k(T&I$JP;v zxzOiP-WQ|0|2WK!6b72Ovj&wY2%sNaY9Z2R`bYAr{MGf4; zyO=Kn&pHvcHUAv1PEgFB0Cl%r z0{8yNcam<4Uj!oO!BUT!1>6yd`AIO+iKwmF9VWkPhUz+{Fj)}J5BZosgn6N%64ddp z7;0PwmtFklN26I%ly-<>_Xzmc55m?5jb_m?w{u=I)VttfK3#nGH7jQ&4-<(jzjGFA zRM|Xj+p$i?dR0Y!QsR@hB7cI<9l;#J$nOyHzg^~hnSJu5f-K%j7#_LmwB4x0gB4Dg z{>ZaIlViRHd9m&O8y%@wEOB|rF3IF&s-r5IQ{kb#e3wW)ytIT}QaBJf#^8{!QR60`byY)|&aphNj zuW9`$V0O-|xmTi*0|$z%k$31QF22J&!OFkW>~t*I=6kLC?l8Ob)PD6gV5?Z=(Bjvm-r~NV8U(`PQ)2e8kLm{az~|#@(yTPTA?KaIEYdxbk&>MjqkH!E`$z`9_-$ z`n^^x9VkNwvWDHs7utVaZDwWYLXcApiq_m|=9iB7&v#sNzy3DAgfeTD`D5AOv_dJ` z`}wFzXI~fX>O0NOrKA6Ito!aatuqFio!cKF+_7wTw)mReyJn4<-~H_W9JVHA4OnA# z$&3Bsra6YdYlR6uifut#!q>a}S?@5MTKt zwm-%Xr9QyYm%-QYj-}Ww+snowc0N}k>#;k6U6sqi1hf?VJ_v_JzzaD+~>(Ph59(|Y|4}LxRP)g$0qYr;Q`tWso z&hr1s(TDy2UyeR}=HhkcfV_-q7-ZRb^DCRy^$4zFowdHZM z_L+&zW>fb&{AK}X7YB`Cl{NlN(L1WL7Qe~KRPaWJ_c;8c!##J|?xS{@gS3B#pWkJN z|J-peNZ97#3ETe+hgUiFFFAZDVaL;Nx9xBIZYLiOZ{BU5CF%U=xcA&+yN};v`(NmA zlViWfG5@&7j<@11bF9v%!`L5ZefgHzNi2=MwxhP3wb!;>yw@BmjxX&sXA4)nZN3=^ zu(*2;SU!enD;#m;DEtg~l>MbR{Gnr?gpWG1V#%Wikg$IEOi(qEIW`>Z#F_`%P{Q+o zwujpna^}qhrq=MRLe6@S!0uBqFxqblrr9f_spK&jgPm2jMSE*({qx!f=xxKWG>>!{3*&d=bH*da~GYyzMCl zXZJ?e2BkqCd`=(MuBQ2Kd zt?_4SJ`_OhX%Qc+z(+tYWZ|Dd%_2Eg2#eqk%eo)KI9NQ=2XrWLk_~tgD71}OZb}8NIyw&MNdO{s~QJdtPeJZ zaA(;2;1AEB3aE}GJZU%)V;_P)1_|s_aOQ7qJw)MGKplw*?*j9Y6Y!ZM?9y`U4@{3> z`FBu*a)9vX;6mgS9Q++cb|bll|Hclc58172<<`Rz{jB}qL3FN!zXi`C3wInvn?Ux# z!+%dHN}TX}AhL)$OCnr8noQ7l!|?Di6deIv3Xq~5sqO+3C?VndK^WPsVJVuHe+QM= z3x5ShBB$ViW9_@Ifg2pTaV-7+uji2S>0|<46I3d|7GDhh?RYXo3lGA7JD1ICJFfge5qo~5s+;7hKe<dg8=?i_(LcR)~mb4GGbVm>ps0rT&EH14RJgFMtm@1wR)R zH%bC7U(6Qq5*C8sBVZ=7T0$uRkrVL!ODT4`Ukp9~LKhMbJn#lvuDO9o8yrI;yxWnJ zaM?23Qvklok)v>j8!1*I^1hwEIdU`nwIi$LN)5W1=g1!@3Ap1e+$0(D!T$rc zMV4|m2+!Th2z3K8eD&?rD{>>8)(RH(tz;mg{)9ypvJP1|tu`rq`YO5~cP~5+j6@cm z?a0DM9a%Wi;||-C@N6)F0Acw0)eJzhNdW%jPE@_?ZW3ER3*rsn+C`<5+-A_$%KGAhX!0KW!ghLeChzirEYc*;ABbgQ{bSacg|=vrL%I;f8-oA&5qBojDfs%& zY&i-a{s$#NcU50dk6+W*X&=J>I7D$%5-q#+W~-fi+0lO$^ryPvi24je4F=)M4s&8CoOIY}}qqJ;f;gc0#haOtywd`T90FQFV!u?Unh$9Q{0tsZdYKEw6Z0^8bC|y+e z1XMrPBfHf++$tcV8j{Uc^n?hWMCb$9X43o!aunIUSMA=%mi_G&V6YS^+@G!BAhPf- z5JGnE2D`V8Wyg2}D5T_sBcss)DaRoE6{tdX>xGD_M_M05_*GCy(FuPB%8`XHLt~-} z*{vMm)|?QHinGyMDMZ0Rcp4~Q!}u@4-#`@(ZY34B0*ffNyb5+wD#D+EB(m^jU1_|? zZapct4wdLqon1_$T}8t1R^Ue#zOsb+4`6UBnTYbqcvLqUxf|hEzafDJOuzhj#@itOG}c5gR78Nox}9t37^5Izfpk%eCYQDpayyzJ(uckhKa zfC*BU@Mx4`!cvv+S0E}?38xih+zK+HDDx_a?Bvcw_zWbGg)cjvB1LxVX1n#aMSuJ3 zULIA)Q&IRCFdtcXQg03~Kn}r^`jA<9j=*UpJK@()pdFy@21nF~7|Jmu;pV>V$|DQU zJ&|Ik=%TQw5sJNAolw*a%LdTe8S{nD0P~S+;1dI=aN<7zcNj=_9mCuL9tq@ywdLGb z#(y~w_C4SmYid4(+zVNq;!#DF9`y+U{P1s1B{80CHSpM^>kE# zE@vc#J=G{Yokzm(%U}W%lLY+1Zy3a`P}>M!0H}9cK;v61&s~&nGOLJI40!g9nbG z{v~h?hDDA;6g~(fffU?-tQ{Z#-vh)x2Jd(5lkoU+Z2J(r!;us4NkKF{&LyL8J=ljF zg80b|ic=Y+UeGtCgk>!)Z+zV`b z`S9i((2WUd5MB>jb3=h7XOfYcOz&8SE zH;wT7j+}(AoxzE%=U@+S29bJ-J&y1x&_xX&Ka=8>h6&FE5>XP4Udb~;hGh8SFlYP{ z)~z8g8ue-IdEseSG49{S%LaTG$Yq8t{4nT-3`f+9jzb*YRL|ph8FvF$&$at>i$*+O zp<$QSq8C1E9u1I)gl`6Q$iizuJ+iQTQ6cv3FDv8=i%r)M_EyG!5sreoTPf=KEqcyw z-Dc5oHWyHI%oT)(fc?nAW55^4!c!glF#OQ9+$ArX&G5I2C`C$6UFT8%230(q)b+>_ zF4_=j`TD{A#e;nLP!y$VC`RF#Acicw05l^DuXOBVuxByti3EJ`RZDEyt?(@x;%Q~@ zhzKjdOzuGVRj?FUct2Q;Ed0G=uWs%Q6+CLGz7)LrCQ6h6 z&3zo198-4h&A8Dmg*V?!{jbO1)>{>Q)_;QjOtFQHThV7n_Q3;hw-fU>a!xz=i3E~x z?^X2aC1ePG7)V1-!0D5egqPjH^PdF@;oCt7x$zE)_X!LVfPX_$hk>+q{;^5%M_F1H zZgS*iIDO)^`($f5;o5sAV*GzRyJPF?jV#vaefo5dk=fOT?_gS>=Lu}Xmnf?B{Yd;Gy8Go{hFAKkR>+I=h-&!{7LKnS@8eiQg7Gd95X|2RZA z1!)^ImhIFTo`g>TtC59I0_&08f7T#>|TGDj9$w79{d&P#>8Wv!9DTeOdA|om1S~<9{~dJWX=|mt{8@Ap^IL~C>DnOnfRlqg{Oc*hS)HC37Y>$#+fPv zZvYZ$GyD}u(GF5@xV@ojC*U7`q9^|oK_=qDCvikVL|(5D<`3W$5nddluoW;=%{+1n zTNSv4k>R7Kak^7IZK8^Ej!x%5y}8^a{Bkw^>FWvje`+{4{7Mplw+uraoOt5!u;H9( zP1OY9-Hx1uBjMlL4#IyJVW`98E(Aw^Pwp-xLvZ;R4vM^p5`v!wQpa(450H{e!bcog zjpdW{a||{TC@pv*5I-S!Rgm-PY1A=z={QPsCi8#(oKS5VZ>U??5>w}*9A8VWX}ux% zr1K4R4|f)TUkvjP8T8#aynPUpfDGqqt)Y$wA_pP}^MEwEsPJ8YgoU5Fn@rGOmQ{k>55VKr%hA=C8{2$3cyYl zE~0P@$Q=tun~95b;fV4-VH<=W0?RL;3&9;X6DbYQ2M7L})4ymF!m%fbfCPm10V%m8 zoclEOO=3RyZV;y=;_z>uBMj|B^v*}VK>YNGApGAi@-_E(>dAdPw;bDj&sOf5#DvGc zMBkOh2tNrVu{b>a&x`@shv652wujTla0|}`&G-?XyPcD7kfU%Dka1$|%T!&2ix^Vy zC44s0csDPU@C)Esh8hB-*lXZ=M;2b;$hW{xI91o#75RlCzJA>l