From bf4f549ae0dc8118e4ab1981820c6aa9ecfc6cb7 Mon Sep 17 00:00:00 2001 From: thl-cmk <thl-cmk@outlook.com> Date: Sun, 23 Jun 2024 15:37:19 +0000 Subject: [PATCH] update project --- mkp/cisco_meraki-1.3.0-20240623.mkp | Bin 36956 -> 37716 bytes source/checks/agent_cisco_meraki | 5 + .../cmk/special_agents/agent_cisco_meraki.py | 95 ++++++++++---- source/web/plugins/wato/agent_cisco_meraki.py | 120 ++++++++++++++---- 4 files changed, 166 insertions(+), 54 deletions(-) diff --git a/mkp/cisco_meraki-1.3.0-20240623.mkp b/mkp/cisco_meraki-1.3.0-20240623.mkp index 9b8c0023dfea00e2115884da9be07cab6cc7d829..9f5f1f91227b192a4fb555660407449b600c0339 100644 GIT binary patch literal 37716 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 literal 36956 zcmV(>K-j+@iwFR!?RRDZ|Lnc(dfPaXC_KM)6+Ft5N7Ae$OY&Euv))~|?N0mc#P-@w zXJ$NpcxZ{XxsgZ>N!f9yeP`$2xv{sZ0FVF(QlxArJ=5aOb}SMo6beA0s!&z%{OjOP zFZ}f2+1l8kf8o*p-CiGT{;9vQwZ6H%wY9Z5fcIP5{mnmFy+3_}XCB2)2u=R!kNJFU zIP>^62pdDIaemu<-?f_Y?W8lBe!g(x%U~W)g5dMTIEXJt!L-$A*R00ajYgq2i@m_d zT8GnF7~HvI>&^`$cxMIIR($JPS95PNwmje3^P*8;eQ-nPvu8y!cjP$}%eis=`0swB zW@%5u__Aa9?!C1;n@v2&AGy}Y*qeC2I*3EL^6-cMIVx55my@Hsf}ZH>zI*3E(L-20 zC5xWLPCPF{fR`)AG=cga%KDKTS;s*3JI}o@fPCoR0kMPd0f*+ujqii-bF}t87!m!7 za5@fe9G}zK+C4ceD0+79#iLv6BnV^PSF1U5Lo1^9Yxrj%L2H%8cW?j1a(w9Ud-!AI zjBee6nxDMTow!lNi5V@XdQ#&6=4|M@aZwfH%X66P6DM|~SX}{LWPSLV;XVyQ7goY` z5Kb8>ohw*bv`P#Bp^Kx>5%kr!u3YOnm;(gB%^jA<={AmM(Qs{zFXirSFpGmO(0}d5 zizm+28nrR~yf(tMxi+P>$$r@ENBOpX3_|KjX0cfxBUt4`fXuig)HVQQ0|14L&2j2H z1alZaSO{@o&1YkvKOq5J=Ck8jXZt_n2QeP~?)uwq&vJ~-O<X66yDvn>wa!}T+^<cc z2{&Auex9u{3<1Fo!>Tjr4c7bpPQTZM&r3}^>}__oSOpyd^l#@^U0~?~>9G^tUIk7# z?l?2AGkbtN0XZx2`{3T61kTu=hZAJ@xm2Oj*B%Ts6oZWgS-gGaMD7@VUo_^xvm=E% z-Pr@y$$uJhX&aib9Wl%7Ih$oqf^j$VmjN)QS#0BqUcPoj(|q~*%lCi6_YOPYdq+hW zjHTN%VD%C2hPw<N_na#{nIZ`wm$Q|pU^Q|llljC6mnSf6auM5FVX7@N$$h>@KWT2m zj!PR3{Ecuf6+mopMzk)uNVdk-s|-=E#CR`NT3q;M?or998;9Pg<ic;<J8{6+sy%Z; z2Py*(UwZ-@s1C7^DU=0QZc3MhmRYe+reHcppAS;uY%kl@icFyl*lPT$`h+Q7X%p{? z)&bj7*VkanT;og5W~<P!@(gh9T@Gh5zw!KN4W~ibRVC_B*K%5W#NFG6?&2P=ENuJ` zgTO;y^0hfC$3-qI3GxjSZ#H^cgLV09ck20e=>B64V~w&wW6&LRdsls>%*+{m2Ds_> z*<f2KFpr$82`~U3<O)`3oq#;n{<M0^J|x5ZPZapy&;GO7-&oh|Kk!F?W&imm_MbYf z?E28E=dbK~+o~gHz)~`2!1t0h2tPl`8uWL+(9V-<)G=Fd^2{~)wi&Y_rr7FI(!`Qy zPg&M@Qqoegz$~)J2J(0RY1WMbQ^w!@=P*+I-G7?-L9#VG&9ES>2;akGpo~(EF`%mE zk4u~P5|_2QmrEa$Z5m67ZCd^=Z}mx;tG--B-pE;zby0*Fr}5=t<1}$2$yR~2a)$#8 zlc@qqeXUET3iy3dH<~K2N-0HTK|!ux7)z;^g`y&fTwGLW0Zt}EK&D`x^lXHfE4>$& zHtFrg8V2RuR4${F7=cM@_JSc(CH(p&&P)>BX}07m&{UE!7Al!j0#s%CoTDlua!=5U zm#QvJ(j_(C3RR8jZTb3&F1t)MX_7ouODzebXi+^;|D+iON+->zs!AtS22GPyF48m+ z)5U6K{qpf~rDXk%A8F_7q9XLo^}qG?4g6ct|N6b{?TwZG_f5KQl5}2f{QKLRJ^5eq z{}>EX{eQ68hw)!u-~6Wfzh(UiIAmeDMc@BPpI85DZ61YdSDwG-`ga!JFKVx>&YwHh zC>VSG&Cr_1*PS=`2Hx)lvxm^Txs9#nUdsZFU|{VrmBxBEz52=O2qk%Fy*v77y>oq- zRTJxEeg(U{_-5S=0Mt2Zktl>)@Goq2F=??JSW}4ZTwy|$rPZ|#V=Nraul~m!#i)v* zat0gZG(t@efQ|xx?9r}njooX{cggC2rKqL7<CDK09=&T@_qQHs+)~4&(?-EO1QilG z?pj>4>DB<M>)+z`I>nvSx_Yqk)sVK8t8*Y#K_zy4P?wl$Y)?ST1N8{y0C#KyZ0HdH zoPqw#-dav%F|lxM;@-KFh=4fbF@Rt%K+;3|fEk`tIs$^B&WeT{AbS{0nTk&Kn5n@Y zV>Lmlus|?D0)E;(KW^1(-jt9+gQ564_NH!)z>R{*gf$X%ovV?>3w!`c1*TEkIs-M( z1uC-A@dLgUg?{vWXTm;!&h3n#BdC`1ugR+#ZwbhXdsdfAAYFMIll~^b?yfJugswk! z!?tzmM)OJBChgyC3(_(2E(5;{eQ`k)yiO3NS)4W#LQl_8$*t9x<!krka3A_)?Fi~z zL@^*1(6qj+)$Fr_J^N_)!-0K#`fm5=@ND<|@c8I#$mj&s>Z$}=x2#t%Ot28}Gmcp} zhZW#V?wyB7g0_F~%i-REeR%Zau?$O6I|<TJ5aU9+_HO1OqTMEw2uvcJ5i{@R=HUt! zhXnWN;QZ6^>CXy+LcPl1)|Qb|K=UeWj;chkfn@gS!GC`|I6Ie{L8ArQ7u+b0I#&-J z*-lp6vP|XOlau#{yGKBpkMPIQ&uR-?(C%=Zs$Nvl{&=?g?x3i8XO4y`Gmu|Sj?7J? zK4z|Ra&Y?N@#zQr+gMZ54rBm(2k+m1e7}2Y=&(?-P5tE)=<Iy={NveyT#L=2j!<R{ zl>~*f*~cpi>d+*VD!+%SN6?gg{L8`VFNX)8q^d%3><GnCu6PF3j!$9E?Ct}{mr;$N zQV_zlad3ZAP(Ax}c)s_OeR6zyerD<=Q`|bFxEcHU>G1U6{lVFpN+}6~P#rr8!Hggd z&VM>Mg{5UeBmpCAClWTeV;wl*<iXk<ji8LSk{0z5mQW|BpS9Y5CA_!^tnyda-#HKG zZmUMGxLuzcz=w1e>5YdLFgIL^^&@+*u|9a)-`uLRgGyZJ>E{m)>@>&M*FYBjeHI4e z`6#xL!A8Sm2SILmiB&GriH-^>!<v+6PM-QD!NE<+{x$HW#&%)P^G43v`yjG+VM|6^ zAZs*sZj5bNb@)PNN%(hAxA+0A>xZ!Mp=bb_d`JQlw(%QqQQxJerVpL8P=^%~1PEg6 zSc24;2`?}Z(!q*2MB(g_SM?(M3N5^L9N3Im+p#;Hp&fW=T?N4eAznL^$fe@)eqr-L z$$m%%gg(u~3Hwp2!R}^}Wfk}SChLP8<K{4wH@KG7`Hz%z%4T=T=0hAl43k6Z(2eJz zPx3?;p+^eji{2&tuf?eRW#rC4COL#H{L4WY2C!XHwXuuRTG;*n&W?}v>2Lbl$~1Cu z$-7||m6}O;{man02HfKGXk8Y(q=^DMO&hnHOELC4^iNvPiEJjz@$pHD(Go(+Npi!m z#zy(tYT`M@aEB&w7yr|QvKcH}*1uc5w9^lsI~j9Hr>Qsv;A(bvNcQO-|ExL;MDyv? z2_JUqNA3+wh&z`Wjb@H-MIIimV5>qjC4A~BfR;vafxkj7BN2fFP5C#By7gykeXG}N zE9EZw;(d!zhxL-lY?2h0cKFVj%-tOzpfq~Ul{?vKoCEgRPDu_FY^Z2O>@*Z=H?UX9 zU|P_itBtgb^p5<aEzt;tQTuxCk9OGKT|sMBsKux2jT?hx7B{IYGH;<717G;h{N<I@ zR+iE^@KjnVdU>f`n)o>_)3=3fOAt!7zB0;v!>7~<!i(B}`rF&vo0|P+Yio0BW&im- z+JE3nS^EwY-KFE(VS%{>3Vl3%4~u_TXgAr%b9g9&C*PfZzth`*mp`IG2VN?3*ff8w zCT$KD)8<<!9t%MI!4UXPhnYx{x)!f%k*dauZ$P7+!8Qm3-WRmrgids8fowMQq6iHc z(k6o51Gu|1&wu(0T6B&`|FVAmfB*N^zjDJHH*5h+`I$Onm#iFUjv{d6RS^bPFh7&_ zH#_}J(LPAT0UBnwwFo3chI2P`N3Ms?DoywbZ2Hh|0V21A$f-B_?1W?MAoM;*AUtKz zATJk0!L@K>BH@!8*(9?JLuiu_dW-Z!skDH8CG0w)giC}=Kf9@U$(HO(cGkZ1G}921 z7`VlT{ysyEa>Vy^W+|dSWjTYr3EdkHoi)TSGBVX#&tytsn8^kuda;j_9<<&E1?N-{ zFNXk`|GV-6Qk&(nM;lcM#B6AJH$KeF3s#CLSBYAHZNl7$9MD2sOP1toc6MQc(04)g zzt++K74PPD_s;P^M)M|K{D6TZih$a1eT0Wzp+BN(ql&K$P_oENbryOk$EG1Lk7+@Y z<xcrR-Hpk0RIruJ^WK|b|IKjF|C=NUHm0CekdNtyzihpcKX8rgki1mi+gpR)+x7MB zw{Nxv>)V5^{$PE>Q2K~F*&azhrBV^-r4F_B--Dn3+S%XxVYjpU!`{AJhLaE-f)xUM z&BpwI9Pi#c59E>icF^r_z3KLQ-M+z7xIw0}YiC5*-8;Uy&`bk0Fqhf|ws_;a;~%JL zR64wosU#n&eLpIL;*9p0!x<a3ZvX9ex4*vG1+l?YI&$$iAcg+6OaEsqN;VEG<cv`9 zF_ftb)><E0n}hWMiZ!${t{y;%&lZo+brOrd9lYtSzsV{3*j{1;H-SLCGDA36JcK~K z^{p~vIKCat%8y_!iuw?4_OT@V|JyP{*z3~&l^Q~o&dD#vwH|9|XMewYc5a^@pe^iR z-`+h(``7Egc3w|AugB-Fe;U62FnoRXx5b99#Ql(YA2Owe51gzyF`ZZpQufQt@XB`h zFxXdFSe*Fw*pIT`h|;zJsF=w^Nq?jd3Av2`aYkpW5ZRTo^!~qyGN2>h24i}GN+rn_ z%@J&!Tt*nmCm=&{0+O}fjAX4|BJK`UYcfz5$x69wp@z-{BG|*4$(I%$`T0T2EH4Jl zT^Sz*c)GN*;L~sA8knh&XC{!dvasa&p~00Fu&D*<bE&qZ$)+?Uae!<y(#LX*h*_&P zA-IO20r9C6cro>Ngk41jB|bJ<EzK|{uL}h+g+XPJQ$CkM5Eq#dIsA}Cj8>nD5#xgf zT-b+&ShT9LyPtN4+!Rj2nPT2#{3e*V)j0%8gSI1ygG)0Dj@S<3)y#msNTf<evrGX- zK2fOLG=m<~s2Ex!DYdXED)F4-#7JZyXl5kkVN-3)4)Fd&MUzUAbe!2MxUid^D5x6= z%D9==T&x|cr{WrlmzCyFqIN7jcQQoV$<VCJ8cf={$SN{yxRVkz%!UAcy;`ZcrVrDO z7^N<Bbw(!!5^9?IbJ?~sQjm)4g&}Ez1|ttMni{kWBm|f?Wg-awRI1bR{L)*H6)j^s za)FXe87HjX4p-HTP4I7}p!0dZ^VJ}0WR@tOY^-RD{3h7nXb#el5PD+Uy0~mTs+=QP zC|T8f!TDYqYa?6#(E?zPnOBSXq_9<!)>#6C_a~`NM}D=Mu&Qu-1$SR+CdbA*C4w=; zDKhm^7_@eBI!)FKqRN=tR!oFpXh?%X6w$0Pj3DaB@S0s=mi+8KM9r3dV8^XaO)qw* zJA8<1=&3@-^!A6{6QC~B5$jCL0S&Xqx>>&l#zETYfWPpWACC`B)B8SukDd<?tl}d8 zKR^6%aCWkL1faKi${}f%0Eigz?Y2eU={mD^{0HDDIb>3fH!~+jLLt!RJ7A^J?gEjx zluwg>b{~v~Nzz8)U2}wGS;(F`AU3A8BszCl^jDKrx{xbeDyNV9j8!^TZOUM<H7<lP z5N&H6gt+9W^_nNV8CqYJVvmiMz?;7ZJ<fc*tDWddpbt+{u-+^SGSv{PLgog4xq$?j zXr~Yq%uSf+07-a@SYO33%d8z?X-KEatM!WF`;>9L4esqYbkK`L9$7kpgsG%k$^UG< zvDU0~2>{3+yf}h)=lnEQqfEhJb9&%R|7{Ck+Gb71&xgKd!cdNzy=##E?W<YT(3O|; z(0JlZuf~pbH{@>x*{*;j_ue?ZZQiZDX)z=+R;O2-{&wI`9!O+VHV2j9OzmHu*jWF& z5&C!@FQ9ZVkH0gisR(z3Y+Lu<WMUy{aob>CVqDF$n*Z726|ywa{aN%EJ7Rh1;v(}q zh@I)I*-{XS<`~(_U86lb&2g{ilgR_~*|eeu*q^6>ZhUL~w6>clS=dE9H6pw!FaimN z#0;_;5-(GY%OG&3g%&`@0tSX7?0DsPWYXk2VgCE7!ZC4n#l}~$ox>AL)V8i3WQH$8 zH86k4bXc*;6IRvQM|ah)S$NsTRKsG$=FUWAwLt|Yjaw=;@&GzI^OA(d5*fufABdPF z#@U1(UT(b><%F>KkP4Xj@}qo&m=w<uwdArOkvTviDIjp?>!VyCoKM`yjqM7ZY}JbW zKX?e}OUM88H?}r6bpMY&d|vr~to%Qo;{U<tui5z{@#d)Fd6DNHLDhwC1Uq$?{1coj zP>euV<2I_2z7Pw%9i(WQXYhMaJs1{wLHtX2HdJ+5fZ3D;YMVS4n4ET&oZaJzedplE zcRzJb&(06zvwL1LIjjV+(DM}!0QU=%&CcdmAZV64<rj&&J~%#5Van5SWll&5Af3`~ z54wFiX78;HHX0RAq(y6c6OYmemTGGANlkrvzk5`wox#((1d>fj+O0pWp<jZ-lXC4C z374K`%YG^}(SMowCoYHxrRI(5z_Pi$`R48R8{o2=7@4a%uq<$7!JZl2FhbWE-KHKr z;`hX@OgkCdBNf~2{#LJF4cWm{kTniK5jp$o<@|wkGD;3X#8ePU=Wl=c>#1A@RJ3q> z;)L--rP1dtpLwy{iGvRQyU1mu-|cq?-Ssl0oBNfBSHY>Nl&6x6^?G-syV>0;g9dQ= z55brq-_EZZsk2Dgv$kJOj$|*8d~Xl4f5x)T6YUCTS}*S5@Pdc<tx6+-YhlPKNctRZ z<ao?f?ZC3gl_s6^nUBn8GVhc#i5$vK9qo`)lOfd!5xJA=wl%|!8s|g1T#Ic>CyP9h z9FGPfK14AI<qLOA7WZcL;b2i=P5m`*ZPCns;eO^U7;W;<tj0fR9^)TN9a&;uOsAFj ze#wK%bm5s?U(%^6wXd*k9RcNIDGYGV?=*OZM<Ba}gWE74cq*oj<repOvh%HGR5GKC zQ)!7gl!DY)cM7(u_tm$Xf+Q1BevgNx=Ar3;9E}PKPRGr@D||{`Ry!+~%gG1iY+Jy& zBRSJ&XJ(<RKmyO;D!?1yHWeHSY~ibcUk!8EJ8wE6C{}ID7`Jr<gxu9)h++i;nwpBk z92*$6G~PCicZ#xtfLIyB0xqH>{+!4gq;$ChGP%X^bEZ@Lbb_-Lxyn<WCMd^5DUS&( zS?DgomWglzC|(i84iul=2g!S)&|LzGwsO1|2%n0s3nj2F_Ge)Gie58yXIR>e0Xd`0 z6cv_8XS8~W?j*Q(K~_UjUPvnKW#x1KuNm0ltOt2<#rX54!6O4YVy6hUt$xPiwGfxg z*=ostos*=_Ama8RonX<sCwNNWpp&133Me^fEO!QmJJ<&jGZ-9AeyDaD%C?7Q)Ee?? z>efIF2+^nFSshcKk~2u5Ha@nwSds5C^0d=CT;dCk?vR8P&+QneD{*M27ks`GJKnKY z?VH4Zs~L#DLH@sfe`~X+o&Rla^jG=+R{8(_74!eGNOSJh1NcvX;bHT)PB^}ILKnq~ z+3iE*jeu$ZZw7lhHVUs{my04#&gm!TOQVBG1{N1@664<M^xh76`P(3hZSsqXk^{^k zmm$}1^?T#C{1f3OFEBs1^xfyYtBvPyYj>_c4#L_?XYkvNK}EWn$1X_V$)Tl1y4PuN z-?n~&4!+0!J<}0oa>0Tjm!H%co8?gMNe7eZk))+0PFiRZVb>bq?G{5hYgU@aNeZ{n zA~v`^BuO<Tm2pNk%$m@RqV(mp7fx}O=46j5nN~_zE#%@E>npug5GZBL34{BgN<Na* z>nV-ui)}Nntg`@C6bxGE!5p4C4@sH_Ot~-_gG2|=#XS&_79>a1C+h}aL&9yHzeFh$ z6NuHb@nuPT0o1vuv)}d0R$e>>m7<@SLeg-iMd|()y<|ENQbBQqm0LP7Hp%5}V*}D8 zlCXA0nSx?srKQB1OwkNH{vuOQo0@3_?L%=zwYQm1N@bybrhHb2R+3ni>c#1tq&b>p zCv2wH>vjCZ99k2;O`oW^B%&iLW-Sht9?@3I>f<iw($-mjaHBd&{?23~uH<2eMh1v$ zybpAyu^2kPH3ebv$xmiE{KWQNN-DxOET|dyHxX)0@WF|aOnxvFQZB!)2`jcOl|)Ev znBG{%PsIYt<~Bs!sajKPZ?4)H+l)&#B~Qwwx+eDeW!fv*KbXXlews}6W<5m%86!@~ z)}n&)Osppsn=YSbi>tFKBh^g#V7bb)@UzwN^<n^QXr<~JJ1Pf3Lm|VLR0FocehRJE zDNj;@yZBC-e&uFTlv!LRwP4&9r7M))VcNnR`*tfe-Y;jkl#>=0SS_Vutdzu@lcI$T zJGFFrLL6Mg&*eOMnhZG<W~CgHW-8)pHfSfl-MOd>J%Q4lk^_GIQqNu>kaQAIJ6RtJ zA(GUG`T}a3QkjrAk``qz3?-RJk`|=jhH~n?aiX;J)&x71Cgc{<x5hgD{Ms48>~%x^ zmb-d8&;O`ZZBU}%Iu?VH$}P(cOM2^;=%9f364;WNiQiJEUxEa`8`3;)EZHGl+8X9D zzV?E;{0hQcmS?D+GIptA`m&&g)|mX-P%AqtjWhBwW1UV1O(?OZA!~?L-+&=WjRN$G z83pvg`RqQR2l0IB!<eKVWa{#L%p1_8X4a`nq{3RTz8e#M_aPL$ZtQU+4dtX2-zdR} z8Xo5VZ6u+rs_P`5*o{SNhxJ6_4EoKs8m5nmgrDqHDZw(9>N49^T0Pl^j2p~L*?x=c zzsZGGFK_?d?)L_|{daqNdu9J!*?<29?Y}JEL<#DYZ`!c#Jclk@k?(nt<26w`R#H%E z*TAr=KLtp<h&KyxhKIpGMA-Wu8nQik?tk`!dtbIY(<Ly;Sy_t;hc1hR;oS(XuQ7sw zp~XT{)ea`rQ{#mh8M^-_;ejv*78}Kt>dFl}c)HH8QLi>;QhHrnw2Oui<sRTVg1vVw zBt;VX>S*fi|L(LX!YK(zdaEXe1^M0&7;+3ZoP{aoat2zxrY})o5t!%6tXlfwo^Kv% zL}mzK-T(f9NBBZN5<unf>ETG`81A+ns)Rok<2KVxi;o9R0<OeQoiE;WKBWwP%oEx7 zVsXL4A{a0Q&u9uVSkWYia}N~s^9CtJAXC%<BSb54axQhi!SiGoAu5zJr>UY<WOGg- zIdn>0yHwn?88fug<(BvaRdUrYK9S%&XYrYYl<19}5U`56?OGwk4nXPJ%nqV_XeMCP zOiln!gQrkUhL<uW5A;llN;?Qw)>4>RNF0U8U$_nELQ`I{l;1Je&H>xDzCO0B|Fr}E z<OC4VxUrnH+Q1p96*~8}Hp75`G>qCzOUF@h1(OCgo0}^Gy=}-r+I@Zfw|c7RbBD2C zF#Uz*GG=reE9`9UP#PTMWXo335=!w=8giR9E&dE#0+_M{wL2MFN_~Vn*+gm*x7)!6 zFB<%pt|zBc&Wm|T{L@s7rke)L`VXro*)f%rgLy7}xnq=BZq|+^4F-3&PDl-7#k@!J zr<`1S7R>b8ndxLkc1Fkc`fWPWm^Te)lyXOslyBOZCu||i2V5zOuN#-<^HHrNPrqi& zh^ZCjIWcwS=I%&SQ>_AT8WM52W3N<%Jmuu^x-{9`S<9uY?pz|xwY#5jrTlkddFMOO zV%s~<dzEz<)<~q<(G_asI|-|fz`4oNSd=y8Jj3&Sp(K#LL5d`4P16~0NmRoqsSVz1 z%~P#S+%U#lyVBfhT<ejts*UNIhnU`A8|TOS$7voNz#kO~v$FT7_${ksDdVf0N3o29 zGAR^s_Uu92{PQg`rPWNHz<SEG#8N5cOsi#Ffa^)_G`0L=J-I_kJ#A5wAIXl>!-Div zxmSgmt_w5gS(1}1X%d@!SCmY66)=70N<Z*@8e+3qGRJwg+&Wf#XEnumvE!_^;B)<E zbIU!&ZB_x=Sj2AZS#^%1ux4pesj5XXDy9u%L6w})2Dx+>H^^2#!@!PJ40R~YK9t_< zq(aXUJw+~~_sZJYA+wE2kE_siKBufns#E}tZIvSI0pK#(2Pn`mQG1~mf5K=C%{<DI zloAC|90{=~8p5Suhy-s#EQA^lQH-NnGjsm5kOCi=j;{hI!A|afS#oj<frctOmXg5f z<2nnLrEcb~LzQ+X!GVqqwAJO3{-fa&>IsiR%V_AteJVSKRcz$QCz8FBBxvh(T9DcB zb}kylu!R_0nv(-EWtq8F^x62iJuAV|vxb9bWAO%SP);mb5o=xs!3+~#C`@%f9{qfD z{OQObFg3oS!i7%f&HSG6+{CSx%rwSs?0A!iK(LzP>vPQZEE2}q|1onw@$z#&i(2Wm zV5*AL!jps4$RAvbQw8a0L)>T$WmV53=`f(g<S{xQp;G|{3>UZ+D4TZUlAl+P-7iqD zzwDO3(9r?^Q_7FQv}-)UnIXHSE%InML(cm(Bfva13S1WG-(0_f6mg{Tzag2IaWzm# zU&hfuo==t6(hGVfte)?3|0^HhXS@7$q5ns3v$vkj|G6<(`G0(4{}1N-!CgOGUvd8U z-`4D*gPh5aJHhoe2y8=Z<9C!1wAWeh=Vb&n&T70JRqVe~W>95Q9?4z<ylS=dp@qlm z&vUAtje`3Ip>NL<=2olO1$Ti8pGp_KDi<Y$lN>PX;sU}!ue)A1`D#*5Y;@&8jTURL zvoTXyp0Qg4+cy=Rg+Uy^P-9tdcDG?HLu;ZwH1t64#h^<m>*|?;kBd{-)sv`ugfw;h zeqG99mpP#*cj=3muBPJ&^(^8d$t8379Zn^9+hyYdGMB$(Tre|Nzi5;wA!l>%VP?ch zsgr+8jAGbA3w1LYQY2wcV!oDY8W{zC?D=z7u}AVLhHc4ElEuc36o+|2xRO%Gn2r(k z%jCDgT=nNaH^0h@g|1X$t>Z<4?0w_1^+<Oru@B-RLH^N@1M2HzUQ?25w%ii`!`P7c zR;HcDVy(kSFNRmbhA4kW20w*MnbA~>RH91C*pyb&3pBIM6<nd2-wsdkkuwPFYvZzb zICv@Y>M-A%Mw4*)Q7h6*3v^RmKb8K@7R>6SnK$_+#AO`K4ScYS!@0x{SK84ZQ2(1S zc|Ed)0qW^0V6px;fJe{&vbD9fxzhhu{{R1i{{O=9<lxK93t0p;I!~Z%Hg#g=b@1`b zYQDa*UXR<>>%X=v?B?OwF}&kWfh`46=uREaN7a-35S!>w(qe#iZ{YX7^AKUKl6eUK zd;o!vvZt^sb)psm#}XFaP9<lkNqqM4goZ@N!}Eg=)}0f2jt`@M9Nt)%0&)%iINXPd z!dIRJ_S3mf+Y-gtUx)jMyG0plu)o-SDYFLFB)5GY#(<Y#`N;>2tEE7LCWqdV@I5|# zXCLmj>EEN>4+mmy?6YGFspJQ`{tIT_|NFn8PCQJW_X=kNXM^J;AA%IH0HSR`XIack zXbBKFL{>mSZ$w$KEa(hJh%dos@-Jmw#qNCCJw1}cLNxfvk%8!XvbP(f4FuUm1IY;; z!$NEXbOarIrcsmAbs&iQFhBsxOu;k(lo9{~6&7wTwHh}Hq`?SJ4Q7ZR$U|F=VR(kX z1tsXl5X!)AhASV|z^36pONhg>UbwPU6a!x)(J`Mo<~RU1VXK&S)ip-~h?OH`-cc~m zIy-|7d%0AGqbCIg=)HWtzyOUhvMay#DGd%tKcKla8ysLJ<W5$DVjobm^ML69hOn77 z`OD#s#Uc?nFm{x=M<45#ZQw7XxFz&BRYxk$_d{_A+DqL7IGgGxTZ`okt`<L_lN5dY zGjsEqV+b_(7)2n22<!E-!2`83W|6XX)a9X1RMoPWVe|`)i;~%kx1ZWguIpdTWBFJg zW)R`-(NKYTY=`U~&7v&ZkINYxGo36lH)aYOoLRC|Gdl0Ve`M!9PP^hX${Oj6rbdv* zKqMAkyeNm+T-uZK1k-W`j&C(sBAZ4wvVlan9lgyQ2<#4;JQ%6B$%O{)GMfP6v5{@V zekRasU$sKeSdIfwO>b-m|D#17Nd8bc_Eg`Q*fa?ImY#*#GSnd(=8UAFUN9LeEj^hs znz2pwh|13LnjjQ&S*;}mGP<qGJ_^a~ht*W%?=E{*8i?Dfn76u%qPRILb%V58%qPTd z%tcug=qpLd>Cktr{lId7--(Y_6S&fR0<WCNVeBhTz|AHu%3cjq-WNWl<!-8j+NL6@ zJ3M&^vzrBm>HX?haRI3~pcYwK)!j;tAz19AcKkDm0|E{1riz}r_2ZxGY`>S?VlNsd zy+jEVGK2-_@UwvdX$furTo@c+v-zxV^|=6rFSe=e9Feq^BWdBe0`#`I2tb$a$3|bi ziW6LSmQ5W9kLJ@Wn5hN@7s#!nDRE>S1E&8p*)`sJy*AJH4b9s6H<31-Z9l}w5BHU! z&T?u|o-|Xeam2Ee=hTrl6V{5&(wkG&V>$a>rIvG{_+_xEmEWTa_UAH5+?77J)a^`- z4H^e1E8#8h&ct(orTZ*ZR4cpdmTg!fl-hLGv%a*yxq#cMm6AVRzLPoBePS0y?!YIJ zyjCPWJ+XhwBScw9(yWhdOJ;K<&9X@Cg$xl306%Qw$=%MxnO=<@D;`?$MGs`^R>jK> z>R%<C9$^K`Z9QffWL*eCIXg$O1!JLHw5+$d%<I!FR5MUR=QPYv`Mf6Ovmp%AjTY>$ za(JaMXESTByz_#Z1$<BkDFw-)K^awCYN2HaOspq{SDBDlye^I7y%YLvYZQ91DjyZq zu4$op6h#Epn+VMMv-M_cqu1j=`L9;mYn}neVcBfh9rcmnh7=9Ba>WZ$=ijYfRk3vM z^zb}q-%cz`jOLia;43p(GNR8Mzv)~>O=!8*dISW5dVA5{t+d28a;UB)ji!A(B{nwJ zFa<#F$n?-{EvCC=<N!^os^XKuM24?4rYF$2awj|WQ^l%Z*KaXH!jX!<qY+Wde@%qq z!3!!8>Q4;b%(FhI0TW8*qht!aE)&aXuvn;7)X<&ueTrlv!(=aAF$D(I@-*3o*i)Qj z@;nv<VdP+L2skQF*8FfL>7rhff|A6CKbm4ccwsr*<CS$D><4sZ0}Q4ggpt+!aMseC z(+n0iO(ibxo|fcIY+DUEAt;4~NCd*)qFu>*O<Wv7&L^l*N|7LZyUi#v<QOH%UrA+y z=&Sgz6$$|fkmAihBkf5*MaU@Xi(!mu$ZwmC=?w^b$l<vURFsj?M7KmN{8y|qOkcCR z>(KoVwu*mK5P#HVz%mGZ;Rsy=E5COplTsLc$zt^7*)WPYMl5r?TMD5li%|4z2;Fgn z?!2)ZSZg59;w&zM)?F5@yJtfy<Y+mg5&B`y0uK|pmB1>@Vii6YRwBhd#|;Q|!*gJK zJ2cT{1ZOnN<|_vi38G^xkM|Sz<pBPRaWHgtnAdc+16*Q4PuBUgxrn1A_Lavf34IsE zxe3jkv(|;7ZK4;oXUJ2Vw*eM959aK+MUiBgDywL+@9qD`ShtOb_7M;9bEB8`|6AYg z_1AU(zwOP9mH*%G(f{vv5$)B7|K&w{<;`KM$<otG!CoSctM_JTv4pn1>)qU51@n*@ ziqVxTeZ~Bg0=kh_cx+b*1`}mBJN<#UkPYK*5iIU?Oi6p^#>_PQD@nj-)SVOT%^B~^ z4-f36)jV**$%C~^J9JC)(8|IG{nMF{=4r*DbA1iNMVlDj9Q;blOow^V13V^YhuKNq z-iXo<lRpmkdq{gV=neCI2MG%{95o*BW=nB#c46At7rs=kxkM`3Djs32+IMj3%J^_) zJiVU7sSD&g`+5>MF<JfSW+=<M0iD&oVC628Vjw>j7m^&r7JGxSB><Z4Jaln&FqIBw zt#=2|uYzDAJA667hoDnjueBwoF}V~=&4zv?A*c+JjaABf$*fU6QgE!cQ_AftB7}*R z6y(-i?DNGsx`XXEC72ft_JOBdmA>$ZA@<b}A){tU&7~Q6nW+sb#m;zM0Aur6#{*;K zQrKx@wWHvqePm&X8Di+AO0~;}-avW&C6Dyt^TJm2>PlE-nMHxiVQ>Frn7Kevnd{Ds zU778<*^lDxiE-W+Hh;BmvxyU<oj>z|-)N(}FSS}m<C($rsr)KQ`a#ncpk46$Y!1aR z!8?A&C*GHu1rixj(D*A0n7=Kz<fNMo31k`-r@$<TbTh0JX{1xg@>?Ce@~u=GV(2Ae z@HZK9i1(%7@|lx@<u7!o;&r*j1=W^XRPW!5RW)*8@3#xr5Wknlw1}pT4|^;{e&#Jt zoHe$7Eo-KL0XDl5tgtFCk~l0^T9T8=6W3%)7aCQBcOfn@N>&fP<#RFlQf?wLvPhtn zRhh!AvMeQnNr2hgBk~Q_fJ>jMG@#$xDz~#QU6W*PPA*ZNR^~SGQ&Efh_mYfAUo@Fs z?q#`>-p#$r%qhFvq;}Jfy9%#Oo6VLe$7K-0Qf%g91nsef6bCUTNhArI8`S(*{vEob zJMp{J`kfPSbpca#!x9!(cH%=w;StNv-X!?JOD-fANtE$bdbQ|oc%$VsRoi8zWsFh6 zOmkL)`iZAY*gyOi`vw1E31(rn@D>=nrWVwQt||Weu<LfMuXTci8JOR0Y;0_A;U$SK zOUc}O`?lZPXrmfDx`P*QHa6F{2al=A^prRj;B6#89zUZ7cM?6QNgZV~hxMw}vi=OM z_j-Clb3Zm$BO2t?Lfp-@h+>9XG#9DdQj_tVSqie#krG_P@HnvdBJgPD!c3qzN^S$e zevk<TP;)&ruQXx)e1`dR1(T&SbHfgEj%aoDxm^-?F+6E)EQVJC$5QKyTUM4>VY@8P z?HG?cIA$4i3Dx)(It1Gy<>klKcN+%tn_K27%<Lj_GTl&UEO$%j)}#b;vw57DfTZQc z)^;4NMP2K79%Cu#tG3wJqJq_~Q{f5gok(X~@!2*1W}~|yulSAbKw9s;u5q<LWwG;q zR$uN)#R>~vsaLq<#rQ6>=+9unpr6Wl=(=i{U2@|G3VkI_9vqk*BQ$kgDBv!07RJ}Q zFymq(sQQmVc<+R0n8y1`4<pMR-?;owSSMj84m$X6{qivfg!CahbyalB?ha~Tn*xIe zuo*+FG80US=er<N3;oR^0l0%aI#<Z><s|(gea~ekl}Op4=lTr_`HD3`QEet33R7e} zrn{sR3&DIgald4g4x`D8K4AQrKC|Qk9;U{(F)2y5GSfy>4Xuop#FAvvu4sF{eSa(V z30X~&O?A4tQ7MSrIjd!vZHx(L%xtmB)l*Db(quxp1bQOE49G0W>=e#f*OjzBgS|4K z3=EegG(K4;W2Q1iCreFaRdh0W4(@RCa#OPH(PxSwZRkO(Y=%ncuooG0`0MIsL6bdj z2}5AII(9fj`oXN35<K>{6u5LP$(VZ4M@ssWK{feMQlHcom9%fkgAAo;Iv@I<ZZm^J zi%A+A`kg_Hy)CC(r*>-&Q8rOaAS)Q3#p2`RB7W*4le{kl6nWW>%F1{sYYGv|WJoqr z>g^e-jSRIU_O_#Qw+w(N`ILb}<GrJCstkZR8}Og6GW9t_+{y4m4nqRMiz1jA5H&k> zB(}F>=6czlNgo?6^+FZf8BaZN@{uHR!+mpTCCixM@S{WSOXvhEUW2S@r|V6x{@_Mh zRX<>rq$q0RS@wcRYE`~Uh@f7}hNo=IRdc5>Fj_8`{C&}5+srGHO5`)>%179>tn8FD zBLe?XgQTq?YM|_seCJ8()BVScEU(IiRS{aQ?nCk(Db0{pdU7o{ykxYvaWIP_#*GyW zQRC)WVvG~vo3<1@o;O|cqsc|P?wFdS7RjAg1f`h^NdCftqQXa5AIS99g$p_z?((&U zb#hwANut(CrDb!KqAPcd5#z+{+lJhL1%cdj$SF9*(A+EYeS~5^8XCKmSBJL6Oci|F zUXVvt4be7Fsfw2h6;7>8m=c9W@oN*fsiEny#$Dd%y`%o-f0JXu6xa{R%$QSSsOn{` z65a=zLeRw`R%9prQ?5xncH?Mmx1osvX}$DssF?o9shJmC#{O=l0cMS_ykn0;7Vq*k zf&JJ<Q_NR^<f90SRdR;N+6(C|Nv!t;j^<^p@bX7Fp!*fS-kbJBo~VkCQ%#SH)`qdB z(|JePS!tSz)gYxONP4Ol=X@p+u%$YjT04#11WmkPogpHH9Wl6SU^#1ql@)0cTGF*s zDU!nsIiP;E$Uz0cq4l+ZBJy=eqS;{PvWPWjqIJ?3sGc_<%AioA>b+TQ^L*b?Z~ALo zn#(7Hah!{7qiu*~Q->v(C1YYre85M>aNpM`@O_x;#1V4|=T?qSy*6}b$RrBGbzt(K zF*B|{PF2RrFkWWnZWt=2NM(yAqjV;tXSm12G&lq`J3i_dDWRJQCOAfE7ifqu1tIPJ zgb7GP22xeIV~hd*nzo{kjF>%4)mLWE^?WjsCk`uOm@^d++UK^huTrBrO4UNZwcHpO za)yZ8iAkes^Cf$-NA{Iu-pkgQWFyLnrl&x9uFB<y&@Tw?RD(_l2VojVYdSd^;wgo( z5{vL`9M9v1S&)*WHXGix9n53<Y8K^`mV-fgK>6K}zwPqO?^ht8-h1Qtwt2Vqrp3^E zh+Q*&uQ;o*aXpZo)^Hj1v(pVv6H3wT&@V|g*w22qR9kROWAPG8cNTSlmE9Oj(aZ}Q zPD~4Go7Ln9MVgT;>s7CB{CLuNPZs&Fl8xg+gL+x5zv?Diz6GUES<8OauCWUixdr~K z8R(;hrc1SD?chj`Sxt4(Y)L*fhD*pH!m!mrIO!Bf=USq1b4z4`L2`Pqm^hT_O43Jo zRWY;(oh;A^Y<{34OK7YB8bG1YMS~O((#pj$YFo)mKF3SagAyJ{*ilQFNg;dFqNPB8 znaK5v$sul5RIV~bKo)f%u?kApB}(5Dc96DB$Sw^3Z<I49H4G^L7-e5)Bk;2k|2Y<? z+&KG%<;#T2Cu5FRv+EyKZkty^7I~6zd#Q{frJ4#Ts-LMqs)Wel{H1O&EgGoBxfGTF zRZR38>)g<~pe>V`qhUSn$%}JeUaXfqXJ+=o9FFE_4Aeqrzh*gGP?fuL64>}7iOovv zyC(CZ2+>to68ZoSxdMWx-PP{9!K)xAL_fMblC}ss<TNB#RAb7ZJbEoBp6P`Zcmq;} ztPN5%<0W;?c&DI+3ps<%e;JSw{@OO@XS@P;xGt!`3yPnHl8T!-D=okJ-QCxc5O1k_ zS{m>zvp^b)!=%k?{<1_&w%%Aff5qat;)^ZW6!;U@EP2$5MN6(9-*DBEL$KrtUS{D^ z9b+3yu3E|oKu}XRdIKU^e{!t@(ihVb)*Qo?o)lNr)-*#k<M-Vz$C;>h)_c4CFU%R_ zwes?;A#H7S-P0=n1DjML6O4M(^OKT56z6~F_j{XtE&s#zcE7*M|FFvcutffc!Z}=! z1fqQYhON$EU0k9w3Z3ZI3Vh3*&f<sEM?_1gz_LpyknvKZz&blS+_!iNgHl-$zD+I! z`EHsrc@fgQ2jBhvn&--D@XYB7V4Rt>iZ<<xSMXH`z(!6K({j_joUcIA8=C@5K_j1J z9I*L&n+)gW{jf9Pp!AY*eP@~=duTSy+lxGMNvoa}f%+#Y9K#Ck#Yj+=mH?n!H1Ma0 z!G{;@%!yu>^1_ryf(Q9Cu+sZ1c==<wX0Wo1HU5)<ThbMp4S3=Ooz~}HvL2)I6p^st z??2(|3^K~cC2}QD3tEzd1b8K<=p+!A!NmVcVYn&K<U={AG}jGOBrx<bLr7W(5-RjN zg9m$CF5sQ5p=TvoOYtc+?~Rq5N`aRx=T3_EPNZdrs!!>H3nj4Qq}M+tMgxAcPwElM z*LviQ_(pZ+#+eJP0STy>nIROYn0eo}U=b>r5<mJZZ^%4^9UV#0$hmbJHxIULpeI9G z2ezT`p&_N}6E}Qgqc)p`{7x*x{L8uFTfYcIOi2z8b1ybfOt~U&TKJVfXRI*=Ky+r# zVE_j^C|#(eIMGtc<$Phyld#Ac)?9<OUfat!XKSw2NMFghIyvviTMK3r7*6}*OO}u# zMUJhimnk`wVinc*G6yMTgr$3OO5ByB+?SK>Q%>G^#gCBf&?K!c;Xx>g0woV&`Sl#c z?b!7fE%`bhdSCj`PCH2VuIbPy<*RbTUWDh(7jgrakIAuK<>Tz~fF&2dao{&%y8Bd| zB4WRZ_}F<~r{a0K+&<rBpnd*VqxA%6vh)KWRbi+i+#g6#<^xYc(PMQOBw=$9@ONnl zl6#Yotr-+9`eXs|Jox<7k4sx^?p-5ST^0k2OYsUGOl~WO4J(`Alt?zp=WaBcc(4~( zjTUXhETFij-f95a>QBEi|Dq2+{koJ_h3E$fL<{hbVDBVrJ<3iQ^y#&R_HyUwW_D{l zNT(H8>L5LDx5_<9UtFQgQM$(2Dj!wn(gH}kGL`<p?7yI`yP@yKPfrBA!2Y}5Ti;gg zzk}Y^U~6UnUD<!1YX3FO;V0RE%U)5w$cp=o^3~?$qy1yrXzg@9B(6_$eiccL<s-eh z0g^fV&|BJH(=C<xN7XVhcPKH*n{9*p4K#L7di{oY#~dS6*mS7hcyDiRZ@ziE{RU?E zCUC{U`o?-g0muSbht@@!)}*HTH+cT%Blia6;A{_4|1aSt$08g|-UE7%lB0IDaMHsA zPF1U?fdiCXGZq-^J9a|qIrO-@?!=9pV}175WkLj$2Nn7`qf8s1pX^CqgEVF}LpK`J zVC))bVMJU5ilzn)Nik9&HhRv41|Ocz5AbyM;AxNvqWGlX6X#umsOWRUglCpJ5)jT< z-knj_o)10HEb&V;Jj_2DAozNASaa?d9^hj>M9A%LiZ?odC+>&3spqemK>DL>AbtLZ zP{r_RLiL&B>Ql<Vmt4}M#vq&yWPery-pL4k!6r8|8)rZB<c3&ep#|9)F@v<J5m<ef z7s}EoZV}42t*?)*Y({7W$U>Z8{^cWu%eN9%SmDWNsV$VS{nyOb-LvEb#9c4V3#4g2 z50NWs=}r97=OFA%W0t)bkLS%{jp%#LWtv7uZCEduLuGkyDuw1NIU(JZ7q3NzJTf9F zkP+V`walNb{s6Yz9wMGiB~+yYJTFZvpSG@&28m{AvKMCaA<2_6EmtD{s4;Oxnq`R} zif~8nr<w3GEVYywKU2$)*rJGQ8_n5923>5jUzCf&V6rD4Y$fkQQR0Qi9P56zPcLHO zH<G0G`%A&FR7M0?25J5SLQc+)P>>M8M3pBVY@}geZuU%~LKMD;fb>QLshI-JjmFPZ zQ3I{>qVkL4y(`3eS2k^nu<U}KJ}FSr5A3Ap*=8{phZY{jL%Y+c@2Wj23annT3(LfD zX9FR-DBnGyV@wcdI>%QH?2|hPyVA8c5hi}Mi;EgIbk!ME?%wVmvXC^g=?TYs3>0q4 zGB^X8s5ey~hJ$BAl*2M&S^<O*M$+MNmyKl1-x8k~&R8UDEIx@TtW@SSCOgMXk%eXA z7ZZ+FKDe>+k&lV^tC)a4-uchSolNEvC$#63`tupCe_V9_v%NVO==VQv_SaYEKdbYf z{PUmnqVpfa9DdrV&vUuvixMuT<(EFw@9*olzd9g7OY{5Pvvd3O;N<x9{9xbSJqM+* z{`#+-*VE4H@%ihYhOa*iU!VQ0zR;My$7dkRpUkgfoB5_I2Yoi9Y=)z5QTL<1>E$5v zlHW|9dGC!zhTs7Yul>AsM%fm<S@ymv5V|MX1As8Vo7J;%05f6*wgHg1WFvDH5Jut5 z^zt8>m+X=d{U!4iGE&fxhrQb1{j@tQj+_XCiMtg1cYMeQ%B^>EYdd$2H(_D2Fp@eR zO6GefitW(FnT!h%Xp*p%g(LUM;^&a*9biJv_MB{S&O|lCl8W4=bXt>PzZer<Q_m~w z*xg;Jw{`urt<LFP&m6hZS0p-os?S0XwUWB&bgzy?I^{Il#VbMT>Hcxve>>b940~ID zt4lSAU|8_OyN$m5fm7@d@u{26YURR=kXZ7+;pzMZp3dLkk;`z})aCQs?3peV1;&A} z;2-jZt!K|{>nR^Ohed#;C$X_0G8FinHBF1JgZ!_Y#pD+tUW1LldAsozNWDGiZ4q@g zH~Vi)*d%NSD~V}iEI7+=H5oI6b`t`UV-pC$uh^_%f9KMZ@vy@g&6)0cccZ&$D#jQO z?x%IrF*lp3z}pZEOuK%)om=J~ROU@Ro2NIoT|U$~WZ^#bIC1FK*Lu$Rx=818shpVV zYk0vqsm9WtKiN39w`%P)CF?gXIsGV<AH-jpPUiTxg@-9Ly>!6z(hQe<S_oEW;5&kU zccG~n{vo%ga<ax{+scS423$1v5EaHk4ApHyrvU#Z1zu@%kP9qqE3^CU=$l_NKeSB3 zO5axSd`%6Y(y+`_C_3J&6s3kcluk4gdRXpT;wBvj@U^WaE@y8q8VPg8Q)qQKvhBm> zM4c6t;WzITd&3X^XC?27G|0vZcy+%sw4@a%-6-ylN=x{{0H0o0fjZEk4$M#o<)QNZ zSOLu68DNVqrNPr~t^lVu2GHz%dB9>~sle0emTe&UR=$y$3Vmh*J1Y+_-3A0mc@L1G zmfQf66G<+MD6qv#1Nh`q`4)sirZ&Mv98(kGQ|Tro4NPey6;uq(NFU2LlwRkPv>{*U zqrk6lrH{};llb2(qA2Fc{uo$16A>&F*J^P7VTQxiWg{%{(O5INZ7_p@Yq$`Lxr?x3 z28R*8OGqvwl33bW&U-``FN=Ie^s)v|k*u^ToFO!UvDg_TC4q1U5eCE(ZXv9w>g|!i ztKt<JChUs?HCaRYex3R@h#oEL<G?2q&uE*ZbY&`roVInrL9o0+=?siRXj}c3dTcM! z+A1wSKII6s7-YF1!^4xbzBj8@clYEdtqdYjwc00%-A#ZHJ3=Wq(lIVG*~>jic8ZFi z_7Z7}n_2}xO@^yT<Gno!1{GvRDWe*MGh(<JPSReLxDvc73Gj$1H5kaq*OROx$({+k zF|uq{ouH>@r_!Jxh(~Mu!}R%}|F;7D9|+w5Tv%(XHgM=m-aUFIcMW)JK^Ul%MxMuj zY5=T1TW>O`la;tC+Q;*FG2RHd1kTBg0V>jTYjuh+rK|@n+a0^(wsr4KCM@b3FRh{o zOfK#yQ&i6Iuh<acsHwl$5wldcHgxG;=-8Rgnk@yH2vb$#^}%?VH2iNKx#*qn&?Yo3 zmOqkR=ls*!ZlZ^yc^e&Z39kwZRDvO`sf;y1M9f!P{Ro^H=L;ZXfyYt~FbP~?w@=m( zSFHqguS)MB7AEn$@qw^c5AuFui}&``L$yBdADvnK6cnnd)d36?0E1;6dvxi?=*}Yq z6^lzMr96AGB4MsSPf<~m7f)HonVb&(v$@RZeR6y+a`*}N%zFmskA?mpgZ}2`w(gXj zQ*b6gyRBnRl8J5GHYS<awkNi2+qP|66Wg}!<V(Iif1Q15*Qs;0@4BnH`l744d)3=( zJq?_{d{z4<qy@$uANVbD19YefIeC5dB4)5&EZ|ci|A+(Ahh8k^LnO3n$9|?yP$Awq z2c0*i?)^rt_e#B*Kj^rVdQWLiqV4UIeHdf$B_$bZoT6Lz5$y{Lj@NR1*j0vLk&|cU zU379F0PkMDwXv>)R|k;wzHoInXmGH68xknlS7<Of4{n%J1&*@o!mm&`oc{B`#*okI z!5443uf}V+<$C1_fkzrwSD_t7FJyDMTFd;AG-e^B8;;Hr?bfXWKjgI`I~Gqe5GZBg zdZPnyAt2|54NTeaQIsq;@2D{J=<Xe$!0VFKfG}s(H7Bci%+I=LMXf(NKW6aMF^@hj z3fHa9(1H*ZK-gy;Y$~@{JzwODW=m}C`ZvWn?Gg150O}@Nd-^QQ2VA6B(rT6oZF>`} zGVt(w@yS<qlezO4Y)y?FXlI3OiMB?SjtI~aJ`-ogqrSXiOX$Nb3ZRhaj1}1FuB`1} zrzSt}$fH;;6+<VPw25`?Dn^iFVp1NO!3df4sdPzXX$7UgeqzQP{e<<sPfD+>5QL3I zJI@rNAv}W{mJ=qHUMAYFQt~$lUK3^$7IDqwc9HWxP#=HMKNsW1enPuW=GL!-R+0>| zfUQ`ElTcyHE52doh&x@0p486_3qVhj=hnC{B)xhNO`AEv7m?bKWk6>uMk;wIPSsqq zCfv^P@cLUDx)tX%HAwVc$Nj2A*H)`xV`@0yH&IPfoq_kXhve`PWBBE{qCY&L;Vu^@ z0!RGk@mS55{!qkmEF;l{xMNg$w#OiGvdTm^zM~@3M))PYKe~c@<`*`NuWb69Lck1a z&Y-$036vkzm|+P?Ns}5_$tl8lz7<{N=^CbrZnvVnm|0~KLDIc38$P3EcViuawWd@u zUe$wmrP<#fQ_sopiy|G~r2~rq|AV{z!hmhV!whr}nfAMcQTF~&9N=KX$sL5If7deu z;~HE<^Jfg>`gWLxa0a=OTzW~V^nATa27d{t>5O(22u-_+l=l7TowKP!TDv9<T<xJ3 zW%2M72s8(0Lp5Cp$eXsV+k&aGx9;gKyQ*`P!VH4Q!?m#fh&SGX_)!cyGPhSiJh3QB z;NAu**m#Fyq(z_x$Ty3(d1ub>6k|OdfK3OY_K&9q-MdZaS%j6BM(p=YS4zbb{qK_Y z-Ks+Pgrj)|KUgKiMH%a9Y?aIrO>Fzq857g`C@)T(?qhl=&33u4N&5@enl*iqo3NVV zUcIH=rLL6-iMH|OyR&42UG9R@e6q4*9ycK)X*IQ#-6(Q_RfUOwehf8&=*!Vn$L;nx zt*)bv%BGqP#+9`V^=p2%yu(tZ#jM={;2&&D8PI798nUOMp&=)EouDxd|E=BtO{yWD zDeP<O9(5*-q=p4GsTw-&WK56d`L*PWTIKqsyyT?gJkMuyK+GKm^p;2%FZrj0W$4w5 zak_Yo+V>Yy#?WMDW~o@V5!^Hq{ZsL728%pVM)T7xb$fMGyu~G2Q@DjpH0it)g&lhD zF=t}jn&8J&(ni#^4ox5?`y41;N)n}i3KDBuWS&KtTJADN{W=TuUnx5+nz4@7BS|Ji z1)^Sr8yoWjZsby_e*hApKDi>PAr#f6QdQ0dDPLkR+bT6nT#t9T6NT3Z-C=F2T$u;0 z`P|pxZ~C~OJDE*C7SRAO7}?892)^e7VxYKm5Oq!?N?kP<ZJQ_-&`}IC!pkcJ-tS=E zg=xJStNPYwj2tDHk)^b5Qj(9$exEBJZfdpCaL;|(mpwa7#`PrD-!_!g+^1%&95JAC zMDTxxVE*`k=0DTr%aZ2DK>Bku`nN{=b2Ry*z$F&0w^ICzpbj`&oUw@CG{L5q5+UjK zBTo0{l}{W9E(k26<zSAiXg0VgH^elrLD9Av(zIq^Y?_R4EE=Uva48E`1M59YAsM>L z<^$|qjabvT#ABu;3TF_D5(Y>KavpzY1d%LOH5hLvD7e4=`D-#oH8n-LS`N3lv{-l5 zQvr2|+h0P7#2Z?EShAHL?P*O-pPJG}qvgsFqo)Ql_|Y%d;3kha*`aA#KVMb;t$6NL zBv-4>FjG)`{sW<bz4&x54pL8_J3a0Gf+be{y;{E0o7&vu1D_|%^aR7rJ0^GRxhfcl z>AkVD1nA@N3i|g-yE*}+T?JOPDJBCYGKa8V>k=hB$<nH8j}l8fjYg1IJ15e7KIg$T zuetH+RZc6@97{ep<dm!@1Ms26=Pab_+{u2C-%^7Z6JGmr)yK*2UK8NwUgr`L5YA^2 z7YUSJ79=C`Spm>t3|9ZeqU$rJD7eC!o2J5KUflIf;ur<sPR<AeSyokemQdD>MAC(o zd7g+f%}}qS7pG|PmYEADY9nQs%xdu}Cx6FG(%2?{FVX386RP}dV#1o0U=A4sDIcZ_ zrm)7)I@wC!^~yK-ilmVMlWwm~ej$^5T`%B~{(GU42BRZ?EYr|<&qT!^yJ#~{rBX#t zWrT-u>i?9eiNIrlT>Jt5eW)au-2E4C%6!x>Y!%&?@PJj@f#_s^cuwxBr=ff#wrbOJ zVy|10R5i-CpXGFbAcgA`(piHHjyxq@G)xVwEK3E#@4~d1J3TcOa%srHkR2Vh;~)W) z))cC2`OWGF{R~lr6Ayhv9}D^LRchowRo?(^57oy{@{qq_zh?&-WZ9Tg7-YYZ4-Uar z!%gU=E=Bn@Fcq`T-F!D<rj|^vlD%DyFd-@L=-+z-O^tkh&0a*|V~NcNDjz4y9SC)V zlf6q!Y^=fjY1tCpFu9Cp2>p$jui@doVY%TBae0POy&?VOi%;GBa}N$?y=X7A^{#j@ zB#afo^gTZna>MM^4@}`t+4fo#rEQYzK?R#nmlS!7F?(VQ>3)3o;zZ++l_HIk|MuUz zkZ#}oHm#R4Y{n>bwxa3AH#7l5OQr=We$@V}?_L=9($EEkld1~EjabZ<Aub$$IcVkD z-O3a<r}7g!Vzts4Qq@%$=86<et-)U;kEOcnBL>7)G=~gCP33+gfIhYf#Cm0~lhFE? zvbWd8Xi)ek;PdozZYj{t&Kgne11JU57Xi*@^<j(lb9R+0PB&!5q$n9xf0roTRbG73 z(mD#wInaX{4v3{sGrQkd;Y(atLre&cZt#^tnsTG<=;^RAEDiRIO^zOy(8=P4`31;a z!!q79X22=Bt7WSnJBPr>9{#L>nNMrNduWy}G(R_e)q`M*t3Z+*;ULL&i7wHu63ZZ8 ze88$uCu_r{#mYW&4E+^;w^pDd&$=8T`MkzFM4zN3!It4*r|BL&V&`V=e-s?+Zom8n zV<qC!SP};@lsjwY-j;bpMC2EbbbOS=kedi51>zJ_GL^jWu4Zg&ou-07`6R?``?BF) zVm=w)R^cqxm#{Tj|4oM-iJ0kFs(5ohGx#t<$qqLkrsf3y`%zq>R0_<W&$F6gMuWe~ z{JA=Jxye&)_CoW2*LiG2dJh%fUW3)IMHmMX5?=2PKz-8#fNdPmeizSPJ>Ms7Pe5pu z@BBl;>8*rQnU(ao`m4RS?!&&GjtorT{N}}T%UfK`^R()BnBBwCsNdE9kWSza8K9<A zJwMj}59uU17QA8Ro}t6)$BMt7xg3`EfD2eP^`L<G6{McQ!i82CGe+!*b05eK9p-K) zh8`D+W~?Aoeo;T6*A-4mgV*&wzGbfb|BE%*Ia9Muw{49I^x$&T+&Il({rIuir(Jcw z7jh=tD-l-rGs|h>N(7l1NqOuMbhO2^iOi(6rO9~N26uOp1IY+_P4_hllk=W_r>AWr z@PEH}|GnVS0!J>-UXQ>l8#_C@f7!#nk;g>eywH2j6X4D3Dm!p?;N^n`_{!-~c>??v z{Rru8)B$2BcO88FNN{;ph@b1$O&{wv=00T3cg7WKz@M(G>tTGMgW&7aP=KpXop=*A zKN7lKWF-0Y08Y>0fQoQ3$g4~xA(QfNF&2&E)wv+6%Sbr?xoHbt<~h=6{M*=akI zd`C2PeAe>D*2mCd_UCV222%xUKoqpR?wec9>E3=rM#AB2x!+#{;KpoYkgBm}+1)vx z4_Xxcm~go5>b7g1zu&GuN_ls>399?>5mun>cG_pMrfWF0?Y8MLnW(xmVop76G4<wK zF9q+O<~4iGdH1KYq1rVkdv<&{J9hBL)3!=S>f+J|`a^8d#@&4GwU?5lEx|H703xb? z5^Ec!lu+TzALt(yoe6^vsSrh0dmTW}&)vZuJ2n0Amp2atZh3Zi-`9Q0qdun?lP2S` znwZ`m{4FL*h8JBtHO<><KZUDJ=_H0bZ_?JD$1Zw^Ff-sAFLDrrQhMaj8%8n=ltDu! zs&G3BPG!3Fw@Y0;rb@hvpd|!^;4I1yyF4eOuORb9cNuH^iYBP3u!9NLnp;^64C;|( ziWZS4>kLEl>*B$FD>NU*@X9S2{vr?0Sgw3!SI#d#EVQSjj#l~Wzc>BZeGdbH5pr-M zmzJzg^}c`UULrGJsp-*J_rKkXyO$jqUW}K3_cF-uyf5L|Jzz)g1n}L4z%|Ufnc~yg z*&K<H{Tm86E8xBG=vQlJ^Q``zw|h`=0fg0;`gFUQ0oCB5vri2cA(Y?MPGzTi%G`1@ z!kmN=9NmHH1|V;9@0V~m)llRu(2H<5WZ?bi&_3?L>_p`hd7b0!UkSXAJ55*?3zOQ- zX{P^%M#CFxv!Q*k^*-C9Yj+#M2x^}{w~_i;<i$v^twrZXCG0egyZjHQhNh?HHL#Y_ z6iKrC{9)(4pYg|P*DUEh=2Sv=C*y|ig(87!O6TEk!omq;I_0+P*_7?LN7R=YVF@NH zXE)+r4er9ER+YF)=A9w@&DPzF)9rqV%5x#|bQuRDYb*A4Arw!r4|#dae=aBEKkL&_ zd7#G9XoqsXF&(!f3dPKDC%#*I|5$WnF!$G<e$xSIaqKPob0d5eOt9B$S)JUnxsf6m z=nJ^fEHMbJV#d@13^)^FG|P7cEA;~PboJeb3Fw*g`{0o5%7hc8I|HrD_9CmuDeZL@ zq&VEDlytSccp-DU90$MrTF7oEWY)bXpENZ;s!Ccg3+<SjSFS)sw3aI#A?ImH^u{ZU zNc3HI($CGZ6S$X@J&h}=o+Y)32BT1MqI2fW-G10GvGr2?WjhGN4z!aA#D%8v<9!y7 zNq*@D*AODSDxRXPa=4VKz2-G%kx&SlZll6*0X2Msded0!kF!%wmpXs;?Q1K*@Uzch zqQCadfb6|Iw8W|xC)|{F8<cs+TjGGN5|Ob?qn`=EV#;bz$bpp2rfL<%d?$<+LA(uM zQByk6eDe=f&hV(dqJgJq*eGLZQm-H`wE>M%n8b91Y55}%^jDuOkfnoFGV_<#s?~Z$ z69TRO$zy*f!ik{@t4zLxfKxL+e`B;$`An;0R_lW&PpS*fBu}jAS8(tB&WgiD|L4b> z<;3>pC7Z|Hc9pQ*lGkFDIY$i-CXqD?k>ketp~xsDO;MZMr&Vc(fOY)44SHK*fV`J| zX@u~C*p1`Q;MNqE`4rf!rr$GU%$CS@X$2_<=Sm?gpUQHK$qtj+mk;gqXJK%4G7`x+ z^0$%>gcFAPkhdeB<ufFFgd8*t0Mge`64;-}E-2yRheWOvcbdB6)Pziu2T#HYDFLBZ zr>C(f6Ce|zhh7Py!YHk*k6d4R_xLQ%wRML3uw=a)*&cXnY#euw66Po!^>vmdq@&dn z=!n}1m)oGCbme!y@s-m312uKUwalPS-<CVUMvnBD@b!MzhtM*{t`vGc=$Q+I#28CB zZ3^U$HF<RF9M*aEn{DqDzCd0(I&eMZ1qN<zCMy2bO|XXB;DQ{nJi@YUqSlQ&1$YI< zH<IXUo@Y)?p;|a(PRt(#vEaANk>7@;G)Z|h)S*oAFlcVToidFatz1yYm)DY1gO7tG zi9tY`Da9j$MVW=JYY3zeU66SX8q-k@!_bvrx?A_zWBw`e#(iQOLBg|{A!AjGP;a4Z zkjQMn@(ovPdfA&y^S&v;&}GzjF7lqAE-dVPBP+_G6g8w{@@1eDE2%zUE~|JxC|#N4 zWY<_)5_eF>RrMV4u-8-08j-b8J6By$2{=;bWA6%A#&(IJ4~0op9v<w)Jhz?@vtvar zEud1G05C8#3`jY{MOx!T!Z?JFSOwvkh^P)N-TCsLeu>X~P9J@dN6YT)6l|cQ2#jA- zDka;S9V&R(O2%sU+og=yP*vD(`qr6K6|!i>O!s2-;xb0vmehAQM~*xN5}+w_Ln|Y6 zjh))~7I{9_V~a$gA}RASX;Nh$>{>aQVD8in%d7Z?xw?N7hi&^LOP%4}x~SFc9`Lwv zi>Kvpru?KHIZgDHdZRaRaYRk|v8Xg+l$E4YA1H|vn%q1^Nt*$O%#NRQf{;blfIISM z76~vORO>rMdOF$?<k5Tch%Bv<4~or(*Z`@v<e^cN+m}Br+NYHyKj#2bq=OJPM_sTR z?t6UB4%_gUoC&aDh9qrC^pUQI6e}L?dwU1=phDA;N6A`H{^8VH45>=KU2}RH0^+IO zBWuJ1Eu4IOr1^n_)vur0RgXZwhesghGsxQ1J;>jj8nws8n|Ft*JD44JusGUbXMo&$ zwA^qecaFS{Ou+-}QS#7QPUEy#w+|-NV}=$nkK^Gd5g?j7N`nVOZv}B1moaiEjN`94 zoH*IM0Wx}mPuxN$mj<{W@XW_ytj|F6<x><STM(w8fOT&faNO}pP7#FFI;cca@}pl) zs}XatbsTlUK1n1}Hj^vdH82M(Ay_z(JwG_i&y}z+=h2>_MC_jgtN0_KihUN1@j~Kt zF@=+9Z9O<Kk^ef7p;@gyNK1xzca)M8r$^(N*#c66*47CQv(*9BkjuY8#O@SXab}sW zh`|8sw~A7O;~+<X<!vqyv0i@r^bpzl;Lmnhj~qwX>$0m+q}sWnUucz%YlZgK%NvP) z{hZ~jXwxmF4lV8cya5{eG5z^h+oxkjcLi>;yYR_8eRBrCjhS+_$0|mcFucZVERG%p zo;hf9Eh?LKO7*OXO#|oWo<Q3`554u5CoYP*?L}TVAuXQVM|}LlkN&bUOf{$2Z>{`z z4Wj5>EjneQF^4V7=BfTbthaBu!!U^G;ccC~3yx@ZyY2BG^-Mk_=kLa#93-Hmr=NU_ zSVe{C9n2SMimR4KV1i?Kac%WsJ6j9LvGC49>IMD-rlP^D@O}m60WHfz+2H|#v7O@e z^k1e`C0P>o+EZ8Kx-Vh4sR^J@2=@PhgUBV=3e4ID%W(7wg9g^3?^@99B$f~tNAjv3 z#gn}j(7;~NQ4<skl_Ao^l&9RXjn)%NYj_ILXK5j`NgbiOOpsTBmO-H6(iKO_G^Aqn zEgxSn<^#8<0p*23Z(v_`^$jf*=YByk-!D=??Q=i*72uoo7sEuJa6wfeDnl7S(lbZ# zRa<RcR74=C^mTH4zNx~4s1?*gctMC*RQ(MDzUrN&(oHrHV$X6~hZ7Ck@lw+GpYc^= zHGX8~mdfx9TtTwCU-GUip8jV7CK}zJB_Nj3ukkN^7shHV!d3&|?#9;H`6tl8$*Bcc z_X4~?HW*$1&}{_*ScC#8C1C}*_uqD4w;Ndo3kbXZNnoWuAp<VxmTCHUe0!CY8q>TH z-fY;gPshO!77_HL$j%BIsFH7$1`$|EkY^XDGx;rEH<a^1NaTvOctA*C-(M<b=3gZ$ zjRcRN))aSw+{BRS+|2z=rMZkUZ5X)^MzC-h{c#DeRb5RP<~ox?JMcYgxCJgJ)cK5? zBOGm~%*$1v*|X-ANZ!ua?jF45!F^T{YWf>0w=!El5o~umy(GIBZAK7l>-r||?#=W+ z_>5!(r0&~pa{s&>ccw8f3f6TFb8dUbR2;1&DyCn&<7)Rr)+XOv$S)?N{fL%Q!cQso ztenAeb%6_NnlV5Xiz_qbaPevd^vcypEWNSX+_+?pny}=j6N7_$7moP%YvEZKGXLKA z_`?11gS6kP>FO#B`|b-9gs8zDfzFhwyr^K$I#43)@mv*$^+Vo_hN=Si=zsec1Dm9h zEJCv!h_vDYta}!=D*^hcf9dy~)&X5zX7y9NzK6fOEjfPLMi{icT<`SX`kWG5Y6}*~ zEw>7|fAhJLb`QrQ)@iRf(Gly!jcohF{L)zs8_dk-+>Kp(LG`BSgKV87DwgjmlR$}Q zu65LyMKTE{;tD&3CamVAe42YM@c5TuljuiXxr-a}DgQkj1SHPk-fJa~Z0JLL9XHqN zt+I!!G0BY58Kf4B4f_eF`{ZOG2N{Aa*!S6l-#8G5HMqOsSkwhcQ6{8(OCe@xPEkuY zY|}8Zr7O<d^*DD=_~sH)_f{>wih$R}JiYCOHOYNIaM%p<{?v5S5fk{pGORFrp-cj; zQ@X`jG+kg+TkM5*JRVHJpr$)y4?5Wqh;3YB_w2cpzI^pc)h4+lb#qkY^-#P-bCZ^V ziISn2ihkb97rfaDb0-%OSz&K4t6BqGBUTBG6cW;R%~y9w`qpXMv9@{gl(Mm0(8wYU zYB`^kxnBPT8hK{7E914CIC8C7lGHl|)z^IIOII_+M!moc{b?dBkcRafDc<?vmFSQW z68DHRP^ml@Z8g+N45Q+Q2(HJ^z6Z)@rfEf#XP3;rv`j9l3;Pou!BI!}poi=i^&4P{ zCea~@=leaP6S;{p7F@7(9DFvz9Z|+O4@}+p&?py^fWNw?nlg8z>8l^;McP_VAGIOE z$!0ydP{g&^xpiG@_-5u<t<1lxLF&Dzs)lJjzI86^A&dDJ43ZfuGK5|cd#k6@?-iF@ z7Qa#1P9@k8$7*rX+qqu%;MjyG0Fsa!^7@>AAX3x5nUX8X%jEmFqyBFX<cB0=DdGlj zZTHnV8LNa}5zZp5;5Xql3QDkc03zqHXx<9=E>OS*LV`=e&Tom4i#3kGaV{XK&z_Om zA#dgTvBxvm$ZmUx%EGtm{n_~p7`FAq`A4KDBYehR6YY{I3t-?Wu%f(2#&!+z1NdPe zy$bxq4SG)b?&AT@@&j*Q;b(v;>yZ!4<uo$qlYdH)nR3!C4x_kXgsS-SGCK&NnwYKs zc(sAD4X=&K3!}kPbZ8W9VZuGLLdBD38ct}T_H6$?D9HhfL)Y!=@N#UYa3v!5CVuS} zFh^}^9HvK6LGp?GFmLoVC};s4!S%O6JB}P_>4S2zI?DIu6?Vb;CFbwJ{z`GE(ry$0 z_b1qhL}vA4pSWegWTcjT%kJ@*3WROU0Ok*j#yU9N#`%v*qjI<m*`FjsAY_yWPrC4& zobnf3a0d`#5Q;>F@3M&suE&n7D4a8}0d)B)`r;l_LbJ#S3g3p_;Od1E5w&cMN0n05 zh^Sr7TAlKF4fIZ`0*EEeRn=fcfqL$9Ll{efCweq~m5V)r#Z-^UW{?3ghYav|^clB* zn5*I=r5AKG#fQAQ;V#~49|+0SJ@tU{KY^{R-+BLZNnQ#-oe0=NO%A+YublJ;22w&Y z;y@RoJbBO!5#919DMOq2i+GX8>HC-!kyC^pmP#QLebV*f`H8_NahyciNL>tn=Dv`j zC;8!PD@g+5viTN|Ap%0~^MVj;fV*dQH3x#~pM4Jhnom%7eT8pvCau1^F!6p5APO;& zeNB9Vwb#0no8PR^{<%5$H;29YX&m2vo%OTw7cE%m2LjW8Z{87KOVs=EfIO*cN<?SU z?Kt2cO;V{Vpi-*@GsF$+3Gnit!1CD!Ix%5YzW|rN`-Z>sIJHq>``v?fy~VX@GW)P^ zy-!DFTnyI@XJIa2!T1lE{M-!~Yfb`C<p`>`=V9Dcq$fvbWsm4+lYe!n8wTtngHzPu z^EQx@KDokd(mKjss|oAr)A0O@8})FNe9HIM3_lh>R^2Aj-SaP{%I~HA&P`{FlB_^s zQF5itdQf4uq>0E@E&d-E?aTR{_buh;f7~=v0=&EYKzCRB6$(npt&`9#6Z?TmeMg|A z2bd+uztX!Zl$M?t8$;`EPCnH`JbNzh0VNsbbEm()xWH9PWV9)wyW~k<nn<^p=fH78 zU#>jG3sw$OUpLwJTJ%U}g<upV@g?Y#i<>p8+o`#Do)GCbpV%IDgX^gBtRHqYtn)?Z zJD?r9DNUHqKW4?S`!Hl~cJ@=_%C7V8;*%scVcPVo#^B`sx)XnC{;O%(GITV?o<Eo* zR?#rH8me}ofBs(P*xtUrwX|cAnl0{;moUSRn>1v)Unk={_oaGx4IsqMjyVvowe17% zg!Qi@WDWO!Lu$$S_=TQ?pu@Xcv0`dEyG2*oabj}LUTEw^{5>@S-92n{IopSSKm7i> z1S>dbh;^SFar_lB=K1ZPLpj{-+TcKh_XuU!p6@?dD!JFi!X5ync*SE(#^sArr|3Px zri~|r&6#*>X|&G+VgZGIMJqmV&YPhg-Og8+06A`KdPVoE){K$L>;yrx7LB?dEP$xv zVQ`u(M3OzC5dR|DBUJGaO=QH7Gu0us5CNj>h{0xN{N1EB3{^LXV)-}OA%G^PM+L5A zJr6)vE}EI6B<rzAb163RN-WH7LKk6s*_fYWGLgJC$%r+;g`S*S0i*YgtkX=xTnve* zZHg^b)#BLkVIB>XS7wx2HA!g!W$Xl+8aw50`n9co(th4fd}kR0w=aIIOdbPO%`Z9m zAbl-k`^pF*Xd4dsxV+b|`cSa*hC0)F0&L%leb9O*8=qC>7GIIAG;cNkjT?Sm!8ln{ zBK3WoY~tEkjR_>FlxbR~rJ^ahrKLLZ-Y<>S(;Kb*r8rLhQ8!8}ND8{+%?PH$fIdCB zSSiVg#6qq~7LK-$X1#n=v0X6_QlmL;gB8mTD^%txL@|Vhpu8G!LhKuenVJOuLoEQ4 ztnw{6F}|J%8BAh$z;!K?l2o37&JPg}!WC>(ovynTxs2bTzPEh@oKgKss|y21b5KX2 zTh}kz*BfNg@EEp&V+5Xe<)3#8zOMWa0}=KxTmKJqCOd~L5saw0&Xpa$ABH9J1XO>y z^RCwCrOUySyx8)%xI(RkPFOKKa^P)lkBYz|aq|QKkh9RYy3yXF3dL01f@C^Q1NeI2 ziuD|0C=PG{7<7ay>@3Kvo>j-JcmABDggJ>;LCKhMo3mxvv-k)^vq~&~9j1jA`hTuV zIl74^rrbCfkmC(RUOfG)Z4x1jzo<KP0fa^Dm{fA5dTTb6#y@@+-oz>@-)ad$y=&Y{ z#zP7Hs^y)cr-w*#V9Gpn6;kay@LVz2c)v@Nv-J3uPfrJCKwl=SaVKBYLj(aOz4k@T z7`?HFRtE9H(cP}3#t+G{58M(&^#;ugKDs-l&Hle?|KluBrn}1aDwuI2)cHFo?!(S6 z>l@=#P&*6Uy{~6y^DXsMaPElE8Sox3yYc74Bjyu#{m2fjh8f9BGf0o(eKijw8~Dum zkp=$#&4>jQwsWd);Q@YP$e#mtg9d1TZYh9Wx>J{<*ae-`bUnD)pR3L6rtBqjt5?A+ zvJ2Bm-bFPo06`|rnhZCmM|(&v)Vc8G%n+d<MjN6v_AlvEL#rtr0Y?&bFe(KpeBcX` zFZUL2y<l#)Am7LPlmOqyJys9xtv`(Ln?KtjXR9>Eq8jn=HmZM%S29>jCLoofd86sG z6STTW-+MZL#@x8Ekk$A|<uS2&=Ecu!3^v^mZSx<xZgZO;v3yt858RJ^-R9<qFnMv* zXv&Y9yVAckS-n<5k<S|N)qgrFP3ymWRDjAt@XA!Se)8vl=iA#%w`28B0-~-RkFi9o z!VsR+QP=AV!HRe~n_tpm-nP8?mU^=&B`$K-W%9tApPQEB1#dJ#V=bT7PrL}%K<B-# z^a&0!zv%?l3^5yloOhmKH|KKJ*9c#n!fLvF_`jog$c8GZkHXGCX15_|V@6ijO$Zce z#?)vXR4;jtBT-Brh(yP6fb8dXP%TmbzjpxC6)q>nK+Sn1&Oe(>C&JwNYwr5wJIN&g z+T-&88GQC1^<(6hZ8$^cR+j1|ycOKn)my+1Gg#jQj?sW)<4$Ksrq(64kJsd6{4x5h z$>HDL9i8Nfgg7e`_vc;PMMF*7k3+^9G>NRFB74!WSt^^-Ck7}!tLJaRVKp$L*KE}y zZ9{Mu@Nx8#*e4(HLNY!2s;Ae)3V-cD0t#mzj@3{^t;7I3`uQo~z+33<pK|1U>PZ!a z#O3Z0L$%ECLHBrV^pUkn+9$hI<i1ndfqu7mb|SS0-l&UO(md__$>z}V(LbCtah=w? zv_1^<`PX(dCIhJVkma8N^CkkWBYzerT>8pyk3Q@cKZFE`aAvGGt~19QEh|vpce(Bp zcqGM0q1Yo^B62JK9zpue#!Sc{mb-VaNn|4m^4+15GEgOZMc@4b@bOkfA=<lw1R*2m zk18zSiS;N82#Pr#D|2Ro(r@z{?9U@1ok=3^6nKe2otHrtw_5lzN4A<ow?TGD5L?%@ z`^ofB6|(Bf3EEk+|0{AJ4l=<^XCX7`|9ml!^7BwI`eO=_m{I`Q**L1H+uFhr7kizw zc-RMMvH5cM1PlmpeH`CCy`2pW%zH?~`{eL25wd<Vg@F&lc)-c&D1F=ntFk)a*GsWH zD>x&(1Qo1lD<y=d!sVF>88QYWRI`b@KJ^*^++t3_MtY)j3kO#`z*sG;4+7%T+9`@o zv%nkKej&(r&(=OWctSQg9u$u)ob?4mKhX`ML7uU<I@NNs);X=}i^k)l@$%p;Xf0^{ zBD%-B1B1n|7^;)(Lu68eIz@P*IX0Fp<$IgEW>foH;xXVx-Amq##W1F74;s3fKpMz1 zb=)q>FowVHxYgmgN0@qU=YVUZtusWmK~e9X_Tc~+<`Dm<E!dsZG@&d2&?=zm_Vsi; zVmFASZqS0$6mrqLdeF^fR<}@Q=BFF*W$u?aPM08s#B$l-WQ4p2mzm8}3i^kan6CcJ zlEELHHrnTzzOUbJVcV}n0@-;%X0ENScbGq0UJ)y%=0PLoNJPNX1@DU7^Z<(hn(J=_ znS%F}txGX#gC5djbP#4g$<5x}vAJKH7_o`5NKuK`@!ip=JN|kw+Ng{Ht60DCe|Byi zqnvQ;K6TEh9@u-pSizjyW_>|Uw%PcA*ai#0tzb8z>kAPX`W=X+tLLrC={2C#3g%J3 z%pB(1;P>Oc*r061zoG$uh&~eRv=e{gkP!*Hyo#Lh^yG5qCwQtKY{CLe2t}|;h%Ek< zblfl`*!DvYSU<O0-$q^TOpjRhqa%})2BO3r+++GSSEiG{r1kNW*>2BmQ?2m<n=jn3 zLMZW`@1&NJHkWwALCl?Ltu?xY>!j#8VW@1H6pALWhV~?$^^~h`w6z>3Bkg4jEp%Lj z5vfo7xieP{m{K7si&%9-2qpv0IB%Ky^-OYHNvOn-ISmoRcv5e1@&%ain7SpfxORn# ze16kd!JJ14!M%(LVj``E>w}6))KIwSKOw{6SU$k+h<=he5xf#F@aB>3gKD38gWF)5 zaZ)kS(CPm7#{-@&Y_KYIF8}wpfiCOgo}kxT!QNf|nhj;!abbA55gH|}aGGV4EXDQ8 z{wJi^eCp4)w4g<OL?nTf8h2;=@AJ22K6bRPW)X6%F42Fc@jgL<?3}b(Hz*$-fe_2C z&-SjA+SH`1B9&wLurladq?wr|;cA`FJwREIGLh~0OWF))VxH}=uOHxMd!V8v$<|@o z^94{4`^&-p4UQMDaT@GmnOU&>DM1+mm<m^5WJv`HHt{{y<Maurqf|PFQeSo;wKSp4 z!OteR=}q%zy<Pz!7$^k@SrRE4;BcqB?2Vk)su&*;kvm2?wGyj?s2U1547$}5Zt)^{ zu&-aGT>PpfEC9EWbHFj|;2IzG7#WdCq6yEobxa8=+9uo~ypkqEk9aK>$%b7EQ|f?9 zQ%4$O;qrK=9l6W}Q=~S}W@69Y9XJ0Rx`Fln?EI64eNc?HQ>r6+T%n73BU{?ZVbKQp z)80#oW@j2uh*1(FSwZ13YG!%Ki>iXAOxG5-Pzy2AF^?{5=RpoR`&*j!wF2`-!~$QK z!&o{)7Utqu*C1s(Aiti8&3uBY3lUA_hg0dogsUj{{<;W`L{LsOk=cdS=FHFapS3#v zLUJGL7%^Meml=hwtS!^ph$@`s(NlGK>&_-v3~kNl?sRR>^}_X!JZ~_UpF{h|Oq)G< z_Nlo;!D~K9wB9|dRqJJ45})~tID#wbc+y79P^5*Gka>4`6syEqE14s%jpez33R_D& zxGAvYh5`X~^7ZQ~&>a83K@qcR+p?sK?nyyiu$L@LuohOo&5jeL_enc!gVrxx08|g| zcieZV;JV*E?q}Ud??dBz{|enFP@`|&Z?)WhsP%j1JBo45uK=RE;a$I@-?u4q3FrIu zmSg2B<|}Wzu&t(e*lt|^JsmXo-*lghPnIz}A6eVK_`Yo)fd_57V(TQC{QHLeI63AX zI3!|h%*YYO?Is7z_=xLE=C1(^h-OtzS9;TSp)0CCW!B(X5F@fe;=l+=74Flc^1N^1 z{i(*sg-b$jEvDe?+`@pgkRibY6^H%b6d&xlS4(rb5S+YppP~<t(<{Uec(zvS!d>*w zV$+X8Tj@N_qCnY02R%*Q299^w@g%5xZAZ(s5P0W(z9JW@?;uvpGQm%qbys$SW+n^f zMsg{Tb58woRsV(%i~SD^mMLFp49d?wxc)ze2Sxx{z$xd;>4qJiGkWG1;>w91`O46V z3l`wwgKb`$-E-uc#;e(JJyHtedak*$Je;ecC}g5dQy_u5k`{-8Lv|}M9p&#V#8@jA z8XI~b!b+)=?kL(Bejm)_z(}wF?E+;+5fMrvri9sMn#N>c;vb7>vsl65a(RtfmXfzz zFYz5A+2*c?Ggm&u4Pqy2)HHYI<ql@MbZ0Q>&8d+;e=I8~78;7l#%Q!OSL6)^lGmy7 zLxD?Nt3Bd18KITf9Z6P34M0Dy)tzk)+pAAI0JXyVk%G)~ea_g;h0eCqBH8qbb5eT) z=jKY)&;rV}y=X)y*>Sbq%GVVpE6DHe--^jsvT_juBuRS)Ojtjl>UQU*NXLB(G_T!r z1{fXM&vK~)IC%Kio;tDqWFu){8G1tsQra@`$qS6kPh(o@B9niU!EmfKtpSUA5fUAF z>g!_Gtn2X;2U`0_vp}O2+(8W-kCOWSu7$c{(3!O(jSc>tjSQvA{MB$(K57A!qx<x1 z(z7Yyi}O$`zUwvd>O*cIMz&Sm_dy<CvNMUEFF|3@xG_gIE9AtZm>ZeUWs1vk0z`=C zd7Gx<xAuK}<(0U+d<7c24_Je@u^Y)}tw7E;mi!2vhaX`MWPX1cC*}FY{18x)k3FcF zuIp8wh|~p6J&lAxKbs3YQ`R=(_m5ANKH1?vNBZaqx2bR>LoZOhp(iLn^Tw=hDky3P z(3&Uur9F7x<_>1&N@>;<b_~oTN*!E}{6b<vxnGk*(}N5a^{-?64IzPEqEWR_4hL|T z4spgwKtCmQl}UA?mFwA}O%lDk^ylM#TclunXD%#j!k&W3zg~;-nx?jrNQSFzGj9Jl zN*cW-F<UWYow!Yl(sl3(lvcWZi(EqD%CwVqnqIG_&%Da$G^yp#ft?NVbS&p;ZqdUz zhI)i>BPe!~3z<GLm-t#@%OcUoF-hG&90z?@b`a11yxS8J_;)Y>v?~~`kfdcLWfy5x zJA&K)c#6O8WIA|~E_A#QVp{E8BnL!wXT>dUU5>D$()2SuvH=M1@>NZcTANvvO0BdI zOStVXNJ5=^@BUdY&k7!oaWW&m=5{Cs*z${}qrZPwkQsCXy^EClS<DT=q~lXVrVEr7 zgk*4QRPGQ*#Z87El@b$eE0K;$vWd<+gSxSsJtdQ{)24I2!{kWMIoDlwf=B2kvISt> zrAt9`SWsx($cL@jl~0{YlR}F<k3azg0|i*w=L1h2M171i5Ul0O>BvLKe8)Ph1Z%(O zSbQ1CLYja-I;aHqkq$#fSv|v7c7$Sd)IIEJa{}M}76OeQcLsIGnaeb5MWU;iKg-He z*wlc|*Mo*D?}$f3);>1xYaIM0Np`y*_R?e%(3#Aq2d-q5v%=LP+tteYmSnt^j1YwQ z>c5_Dn~pr2%XXCFc{x~ZA)C7zyP4<U*+CB*xgJUFBzroYw+c|9=qqcqiAWDR_!`<V z!<9YH_s;KW`8p7c{qh?p;<SI*XLN0PROl08C45SjNr0`Y4Kzu*6gj(0&J}Ai;K_>Z zn0FlRaP^7Ox|kxmu7hC4?ts}x1ZPsV%#c2Cw>wnZh>Sf<a8w9N_T;Qo>3_#&dgSRW zbW?kjk79?{zIz(MLF<$`u#gt{wow+M_wTvQO(L=@X`f9&1+Ky^k5%gR#`F6+<{!Jb zl^n>fv!`z_<r=02HE>C8U2g#;fZyGIey*Ot&-t&_r#|3S_~D4ILuLEr3sM}SwZX%> zp{!DERmO6nZI7Y;3S;nfBje?zP}`#Mvr;d}r<IB~IQrJPd&MwYSdi&!5^{jqDRlS) zZ<05jYL`QkVhW?vmYlKEfxZxKl;zDz=a%f{<7FW(+ec?DgPMX}*)rraWB&SMq;JeM zgB;jRZ(CGJllJv<VLW5m>*?~hXAKDQDZE=9nrRkVTP2xkh%dL4GEJ&lgyogQ_Db`t z*4j3etZ%N5LR?jyl49;fI2K-A=nVH;y|Y(mkqysI1e}E_$5Qc~NOS0^Lp<y(DexCh zSWwt50wT{cD&KjcWB41ELvR6Z#aR(m`g}!>B%pL`8DytPDZ7!Q-PC6_Yg)m2eWN!s zrY&z3^Ae+8V}SE;w4G1B(>~kgM8At4W(avk{gF9m(eD*P4__dVliH`nz>vo{bT$_{ z)WB`7FW7d>pVGE%RTB51ZELkSu@_C7Ufp*!^dnaF<m)~wC+qxS`?A)QF_J??)P<T+ zf(mZ)y94!CMY(fCB-4qjC8^w7Y1W@pu;fr)hXos+mA}UU;b;t58}OTkS(^=*t%*0I zdiA`vK{x>K6g~VZ0%Y|!S0h|HN=GS~A&%4mrHO4UC<2Dg$OOwGgUZ2g@fn0?y-qm0 z1KBulH~YPvLY#Aq-;s7Qa@MSWudgOEgWTGTEmzP!T&BTO7xyquK@U)_4Oo$VQ$m%N z*uyN*FvHwhoQ-(x-QmrY>Gy2uN~<YXEO#;{i(5$Sy6`irCs2FZjO%Hlx^XEbgTAq> z2lp|p5wex6h-hROG*gsZ6r-`h%{iMMB8#?6;g-*x*AQ5BrWA-+xMyGqR_W&SH6<t7 zw0W+MWjGiAs)A8|GvGN;&+3ON>4?2Kxw~+wq~3;EN{S-Rg_r*jomUugnn^7R1xPz> zrSKIN+Be~WKyLR#I+3N6?DD8sl+*{0te+t*!9rij78zh{YKi^AQ=|rP-z5<tQ}S~m z0hBIdFy>YQQuWO=Sf;Sbew)2X(}W#$C)~7>cIJ3mXLT}4DgKB`80yL0_whP73y)R- z;s=bM$t=ZEqzq;zH=3u~lj3ujDa3PIa%YT6g86@ex|)K*Ynl$Mos(#h2{IaM<#OXM z9j>o=ydNx~pr=>vrGL+Q58&EP0ohsaHe%oVQh$^?8o$VA2q%4Hl}~|aHC*1@pk;8O z7vw-ESu<4D8JfDBjnZ4w;>2vl4-TSVw&SL&@Ll^;<q0g$nn3=}Ss1Z=M(mn`Ib3u7 z_NddSJJDS38V7vX1>DUr=75_e8~2*bqe|(CU_m<E<B+RgeTo(<gsv2V;L2IAw#dTQ zf;fjYUGQ#E{dtdSQtGdgtN~lq$F0*P<I6xJg)aQWEQVCMz$V0^oZyq;{^G$&!=vZu zq!N^grIVwVIEb<WH!i}lk96}l1Tip~Y=AQ{3IbGAxn^B5g`4SIo_>!B>A*2_54X3Q zrU#4L8kkn^{Z>!MhtN?+Ld>JSb5CLg*O6^{!@DL9iifZl4NhbWg0OERQvrv^a!&8O z8n4lcbs`U?)?A|~4c61e#;H<~Zsi`<QZHLMOZf`&`DzUEj9sma4p%$Oj8W4Ey_PCB z($NwW(FI)9Tf)f;)loT!dClQDK5k*LZKEtR<*#L)hX(9G!3{zTduv>~xUDL&JIGFs zSlTaYlh*RpN@lEV#?93%9>d}9R4q+@h@;F0X8itIrz2$VItVMpVB$T%a@^XdUIeLO z`$ix-k#tKCd&IRP2h!#1TJzJ}>r2U)X)gUFjSn;Hh%vHW{47+V<^`#!OaiT+*CSXN zCgV2{o_DF?<OW@sJJ6N8u0~;SF*^T+)6nD@OwlZ`P<e_GY>>vJF(n2`2B|F4x0IT| zY(?#!WCR@}iS0JUm?(Ji-2qc;ct0t-yJab}LO`5!7ZiESHWUtxacPW=(PZBM_cHN3 zmLwG<@W8BdvMn6zvQ#vzHa~^2RUVqom_2KnXqMicl=Xe8mFakRHCmBm*mli;Z#>2_ zg7%C94-d<{6M5nK{LxhshMCN)3a(_sREVJ)Vr)A2+JZ>CTccdkp`xv8x$QZ8c&+f~ z@-JS{)Trshb;iqI5g#YU5*>Y~KQ{}vWZUREsVBNs6ZVUKI;DS0w;RrzPzwKD%QK`n z9K2TB7jL0FGe<tJJhc#1<t3-ti`uJBn)5X`>W~Uu=ff!^BAjOwg;nLh7fO6eb{eu| zc_oWt8@pzVc*HiJ(hxqQY2H3^N;StCoC)~Te;v22d9bC@3a-f_ZIogjW4&b(-DA}W zT+&`!kgt6qc;Pki>dgd(4|3W%V*y_;{Z44q>-5Zxq;-Wr$`<p$LRZh>>$~9*Q_VH| zi_tsa5~sLAr@`bO%yF0`@1Hl+Frk={qT8vg=)L-a?cl?L%=w*W-b=e!sc&a+?98KO z&ZnR$<~JzU5NJLRaWeU{xF${`WVs3J>t~m%eRs5jUdU+<^FMUo7X78tyhGh7>ep#@ z4)RcSdQAE?7P<iQN2P78?F;oxR+ZY4Z>6yVv`^{?P6!hfkvpwNef#0XoMw7k#XD!s zy9VAHbvOkRMxHeVfyS!8Ojo>nzy7x9uOu&%PGaa~BTJMnB~<w^*FGO#yyA%hvO1hT z9r0WW{SP(Mjl9ECT$%ym@8+!<Qb}+aL>Ve#Q{>_4=Q0m1u8J?~T9cYd4X~mRI;2G8 z1nwdJ#Uk_cSnFYvG&@fN$gMA{zvc0P^o>V?m3W{o-l#z(YJ?^`EMS8_Z#uo&crBO? zS!?q+(t8eX%n{L7Fi9-0hoAK5F)ycWkMY~;rcPd5?VQmqA`$O8mOzyo^SGzZ8jHr3 znw;FsSE=834I^uRk#84Qfez`ba3+Dx+stoP<9b=|)_WowG|KH3(|SKRdnbK{$#ya- z7vE=2GkiW6ea*DmNKoY^rnpX1uy?-eex~CMxh2(7Sj_0UaPM5>FfbYex+jiJwS#+X zFf!I{S~hx8Q}h>1m)CsF^lMyb?W1ZZXdXvgmoG|E7H&FA)mn2c>dtNIw6qTq>uzf+ zSG>=yR!IWQR4M7>8atBiTjqP_R*JSuFCW0k+ytT2#9;Mzn<ip=wtAW@;<UZOc1jKM zO^zl+cT<t{HlC+=oteFA;ygaTq!p)dd?x48d0m-s5%fsB-Iw=D!mxG=lOCe-ON>`S z-3&HeZa;KWqrTnF6g$6{&ZGm^y9mqakf&?h%w5^9mCAH*^=)itdzJ-;g21|l!0m8n zeAg=QM~}9%U4{%eC(wUl%u@Bi6ow^_-*!hIk5@Px&$+U~niTEC#Lw6sVRE9|zAt(k zt|!zT9Wba{2-hNaN^HPP#(4#^LeH90xrt4ml<<qa7n=+E<eqBoL1jOCK3cO++l$FX zT>+ROu4QfV268-Zfd?TfV0<5xK1S0w`clLDjM}vZ3B!sIoWm7ui3Z6o_mcM)5W5<* zc;=4ick<f3@vcqoE$JSbQ+66&noRm4CbW{J=Xu1l7E`r9^B#V1cxEQh{3-vLVI?>M z)pQyACE}&`^Gmc$k4l?AsUQQkx1~}Osu@beG)moacKJi#vc~|F=_uL5Ps94R(~zau zcdIT+pS{55Xjs;_Io0pZ`hmwG<p{}7***YbBZ_|3?hJwCYZVpb$``#Dnr+PL1Nq$> z0CVH#!HXO5)HB|1PRl72DTb}e5RD94el62Hbr-gMH>n%nl{c*9I%P9XSuoB^VT|aB z>vI~#CfG|z_4VhN$I{;L7U>N}4vdW(#<ZoviN6p!_Y|%r=FM+fNxzC@5n6S#0G7=N ziCm+BnvU(L#}Ej0DLfVQa^>we`3)?r3!zX|fra#Qx=oq;u~#-{H#Y6z+Bkm4uWFyT zRU4Zx9BcJt&KmP-QJeym7vx?Y>!pkc#x^?e({V_4jW5Lvd3UH0S9y}-stXGV2FfBA zIVy)3Y_)Y3`C+?@_i7!J7Iv|G7{}(IMyD${y({|B+f2bC)1P%KJJbQK{W#iOroY8P zNND6%g9s*qLUzT%CgubpGDHfvcz#r3hlw*2X~<c};^)%~G3(*fC0a14!SN25D=g-2 z<4%>y?_8FRncuk^Il%4%m&QhtnSdp4QC?Ko!@l?K{W=_;zr~M*??W)$9w6pOF`94F zsf3byz$8xi;Mnl6nQY<0f3Q2yI857#>ws~O`Gc+;xx6I@YwmP2X&zrvQ$YV!H^dW@ zI}1}v8nV~gqBp>-E)7(5Y8jO>jfcX9p2Pfs5b5f#?CXd)&C_r-r;GeFc0K-jt?OW= zcNA25Is<h_lhVldN|#;btu#NK67^)j3X|hFE%NtTVvM9}?%D`_pwVdLq27TH2+sw9 z2<JOxlycyqC@4Hcp_@?-p9+P`N4=gm;HD!^0Ombz?Z0q^iUH|6cRTxKKflYuY}A+F zIbP-arA^Kp=YFT34=UK18zql}{29YV@Qz9T&Weq4tN&!@{oo{OG~(Bp3s6Tj67v7L zHJ`oo=<_&`M9r{C$6_w)OFBAQOO_|5<D!!*k@lleqdV`vV{RX14vkZFF2^&>|Hl;n zYbiY(vR$&vltpyVh-res>@-0pHJYsFVOkRPGZ1o~1tT3n?*rBa@{#FS_v2D(a$G`@ zZGZ@Y0u1mIY+XLd-(%ztvXc_Qq|o+}b7nA1EaywNCf_rk?W0C0XtjD|Tqizpa;$bH zWg7wh$`2Hji!dUsSYH3SUwNk*d3fSD1gG}?!(-R}puqOX5??}cDP3HRv!MDizE@vv zuPYR|FO}bUX-%`b5HzC>r}7g+=V4enlMZO5&N#)NNVVCj5bhNTDUwGcbs+xOW*saF z9dFnN=Q4*>g-Ai`M5m=9SRq%RJ_Sdf`1I`6x`G|9=BPb}@;`1Mk>*yMoXe-+ma7q+ z%Pw$|SyLxD)pATVXMX-3GpLM(Ylz)7pNqiY_oNeiP!ur^Lnw-swSxG(qJD1wq7}p@ zWibT;I)NAOKUWXD#0DyZ`|^DJb%`FP<nN!ES)lsl;yDGtE6RkH6c`T#GI__)n0Hj@ z38J)0G_xV<@3PGnB;H=%*fb%vy148DX)TLDAfVwh74@Nzq6#TRzrE=vL|OOs!Fn&s zm?AZ7NouKCdM1nt1J{3!^+gV0Z=_IVhiOUyMxu)+iTp2FexvpkD@T(RCzXsG_gB;; zAX=ITW<P%=SM^_ypO3N4sbX%i8%D#@>L2IIXS<U>I0PdQcSO|%#GrrY3lQwzff;Z9 zF1=x_EpZ7m;#4avx)R=B=6yC(xxQq@)$^%#Q_R09^^iSFN0{TZG(xa$?&(-B$efOC zmwicor<W;AUN>EZlHWW;OjON!poBA`&zq)c2F0Q`7aOmcxf@(>r(mfzmCfhquVUN$ zuTIYU9|{L><2WQPva{#Orn4h=I4kprjIzp%Z0>C8kS&{V$PR}jqtu}z&X)Z#v(veg z)#2M8@crfc{porBg6H*mKd<NYw3~J|>?MWRU_B|<>^o&W99cHxTY;(^Aa6&wIjp+p zagQ5XWYRh@JDQ=};J%1G0}A|5v_}5icd74cgZ*=J@OUOoj}$n`AAHJgD$fercWe4a z2v_9gj|x>(jUfJ7AvpP+ZjW!Tu8z0orYm1;mLJ^S2VQIYk7n)EK&PLP<Ds)Qjg<3i zz-0@)=x?V*=-vES6bgk5UbV<Tv$8#{&xQ%|mT~#Slf<2}m>&RgTT|3>h%bWs$l{U} zqDm|xn-u2%U3=N9UfsJW+$qMz2XKZa2yvUA#5vaPg}@P%Ax{2}jIuY5vSe?UjA|V) zkIbaYpO>3p-pv6Cr<ri&YwPSaD_B=s5S*=q=`?(Mme-9hw|L@K4A_}~@^YX?a7*aS zGKDW~jQWej_fF=?ElB<$ytBt6_17YqUH43SgSeA(jBId}>9O2?`SvbNK+b|~q{1%3 zEqhVpGd+|FD4}L6v(iWXYHi5qiwUs+pwH)^ypAV}lH_su#UE_m@}^|Zb&?b5cwqEH z1!hb*a!_wlC;ZJMx%h*gaR)!<mB(mAECXPdgcWpVBun^c-f!eO`TQ;4j69tsWZ?=) zbY%@}F6mxrYShJ~d|O{jcJZL7>|b<o)wZ>^<`BDOby2%f*dl)8Nqu*IL+kyj0a0Bw zt4;Hty_p?-_~OJ8VrKovjB`J$-B(A6H34<Nf-~Om?&moUWp$_5YAt$OPyvU9zOxa; zESg`8OAK3VK@bvzHktWs5#L3zV-(p7(h0Z~5vsseyeKNtzr1$XwlCDKO8MU&6T%nQ z*bw3o8`=Y`Dic5s^E+w!@YOwZlUn=)d0%Vd<7HViKUJmN_J6bO`I<CaFNV#Yx1|6I zOEkh>UQN8c_<Ji_Kr@U;I8-q!(LhGPN~1{x!V1&IiYzrIP679R;A-sHQLlc;FO!jS zUz+b<&3A2RZ>jxiRVAHiBYJhK*EcPVcnpa<hD1aV2n5-M(hP|4mVgwgA^a+*>H@;} z&=ah|#M$fQubVqFmw-6*^DR9RI2u%pcN!6C`7V3DjLrHKc^>~{BXwX%1@b!YYn+!6 zEbZYIT$TOzz%;X4WM}!tYvw^sSfu0^1xQg}y>!xgx_hf?k@313{%E~RfKEsxB-%%j zmpJ@_=@6W}N(I1^7DuTD0)zaHFwuxv2>NKy5lbiFWoOh`Gb}6El1NTiPN7?zD9B_u zrE88ZN9^kNifag9O}eHP?LmlNN%zbkr-tZH&MI{PXce};+exG1)IxTvi@8ta?ayva z{P+?^v1a_IB(I?F3qOB$=@!)ve$lV41`HiytGseEKYhDx^JPV@&UHQxSfm;tPJd}f ztmuY^AEyV1+jlRm09EVw7LPW^kM%|jsEPtx<dZ3=N0U1lb>c*X!DT^{{jri`j~Hdx zbw@=<y@p7=CLwa42`dg6LAZspTaR#q(gxdG0Wny9%186kCEu9IRV>DFil|cF0-iv0 z5^@dHl^H&{u-<00p1jZM(@Lr5SlE&*3D8wRf4C1S{c0ck<xo25p@JP8+k5##SOO|0 zB|7-G&-hC#bF6+XomD2VtA;u!-jRV3k<qvr2<gbBbT*pT_5<CYC@hE52oUxx<8La_ zDQBRwCZ3nF|2{nAs0{G?#zH9t6ukRV+NPL2*O^D{ZJ-YA?HLI{v&@-GY!8rS;vVuB zcbqD6$%c+(RAIp1DhOJdk;At*^msd1ds#F2V*%oOeHK3qNi9)IL-bYkqQi{|w@3d% z?nUY(le;PhdQ{|y-^GddlpOBJY=5dmpWqq3O9$J(y)&IQQ=R+Tv?wn-JCu>bCWaR$ zFAUTLa(&0Dx4$pyj%s(kwi^GvMl*WE+dFcC_c04?&ewV7J$Ag6mu*g0V_H05=Sb2) zL8RNgKTQc@W$xM*dbVx7Lhb!L*EMr{+U6NL)FJ~jxM%D?i4|Slt@PU`H|&<LUd}Vj zHqw@t1@D@j1%_6bqT_6T@ZKou<h}&IjJ7GIeGqkyW4jPJ*8x<@9cn#|3SCL4na(TD z<aU8Jy<G&w%&0qi0RCN1kC@pik}QKhpg}iiG@^8Ero^AHl{YC{B0hC%yZ%t^qezuc zch`C#iPBhR?E8{EL%3R%h?TJEmWO@a0xV?H-_w=LG7U{FC(P;n5KMQrklj=fj`(gT zLI9;CAs3l1P%OB<Q+lej?Mf#^MoGMAob?bwTp!3>rak;f@02BQzft~Wd2NUjHOV^K ziRUQv30){|TGrjCrNet*K}MC0V^{t7_FI-D{_-q+=#7-I$?OmFgF)xGeHmw89_~7P zgL8%3ml59qfl}p4&yeWi%Vdpft7_aT;9H6nk*m&@N!F~@c?3yN{&nYSn3(wCx21*K zli~!<dXSnUY8<Fj(qg5D{ULT@#36HS2r-v4%Z}Csu2?9ur*#2@;|&+@!4I;2#k_l( z5~6K3tfZ`qX8sHLH*VxFtWj2<qqb|kB5iCFnm_!Lm2G&}6{+jsN+UUM#t?BPB(mf# zyYI`J=}y6-ab@5zGTL+dV*W35gAKFkw~V^%I%0*jvi5blEVzH?r?4qi7i<C#ylK3d zeLrT^RST?t%N}DWoDHSV51bm*?xpU)ymj|YzdGE-5AmNJ2~h`ilsmybKM_)JdLf0D zs}iW)WIFa6+QlzSa*BxG^h3t-F2D+!AB&~2ip!U)O8z!8Gh2RLKX&_ye{D1K{j(sx zrU0}$Et`rl6|AB1{mF4)O+&`9_PG%8zYCRv`(@DXGu-OGh>^T_pj877@u@v30S|N_ zQ*>B<3dwoy%H7<Tdo1%p^oGZu$Of=E)q1Z(1-!?IrtMmOya2gh5ek!zxs+Po*t0tL z_2(>&>qj1qgk7^gKIX!ta$ll>cc<j9r)n^zN@g9!8qJej2^THP!pzc_oI(Qvdg>lm zjM|>9GEh(iFw)>zqkgubdO(53J`IZzSE?0<o*qxea~5-&fJ)zW*EBWy{~-D@{NR;+ zp*6M%G5E8^E8hqFjMA!IRY^MPoKc#%V%nRZQIMC5_M`mCNo9&XQoe3cMZSeppho)X z&g;T#Tyq>=C4Vga8lU2WEd(*GVp7nRC#-ztYX{pNuy8g$sp=z<o3C)N!RCvX-L)>e zm}n3U59+50ZCmtbVub)!F+3i6_~p$x=K@c>!;ISXTYcdPyA@{Dvv$ZSWBB@?A+N9V z^b6=Loqh(kGe%3W^{W2G3*1F7&c(N&f*o8$?5US8GoI|}mu<#rZQhYgj@D#X@2B$r z=pttu*>C@hqCv?#l`($@`6l}Gx$a*8o&bLJ&?pho2b3;WeI$0N5!v~uiv2BIpGJZf zO6Oli4c|P8iVh2l0HTwB$0ZBKhGDjvwpIPuM?6T~CZ-g&5h45462Xm#fsZdO5Bp5j z!^!7OkSeV>cvV<<;|KlU`ch=QpF7Az@E@A%<}vM@(%upYum~o{k`0Y35LqdIwRMf5 z3Vgp{Dv_oGmd{F??q)2X<lYqU-dFoMr}+ZWNNIQLGxwvrxI3Fo(*u(+2=YPya#VzW zK-h%Nw#{7z-b_M(mTTm<*#eK{3#b}0khs<t{`a!K>!itn{NO}~&!KzM{cilJTcw2f zPbG-b_<T{+!1#j7CGYs6%H{59e^*a;<Oz4wUaF72O_QxQP5gNk+k@fbLPws{KRL^` z<&86R?GC02I8=46NS}Pl%G03nwAuCPqk){#4R|2Mp?wTJr1hg#QW19c@#{NZoj{%$ z&2cq`4i2G@XV}NK;h60(qdc;I3gk`}8@JS<&MuWf2*w^WCE_rHd@fVk^1*J*ww{eA z<pxF`)6D(bv)Oy@uU7s@O;OR#YR8X5f65`1DHGi}7W_StQm(_I*h{hgFJe(_%+gA_ zX(Vfx<0Z>x2UndTjB{XkqhKEgK<gp)s<PtGtmP=%pi$wJ1oR>Doost3-#^^>lvMWa z*{ezX&<p&V9@?2S(COWV2=XAq=Fq-fdVd*g7X84qb{+eeo+F&@F&8O<4asS~m6fYD z_ND!C1G%vmIuf26+qHL`vPjii5M`cH=+@S}^Ilvi-k>B9cI<92CY&!#YaTq{6+YzZ zlFr#xftE=t?o9mIV!NL!$en-mLn-}${kJv&Li@AK?)0TQ4o?|Y&zVTn+)CVkAEYUC zld_%o@y=9`>;?7hlc3y{tdUXE1k)0sMPozK$~<K$`_n^L=pbk~w%RdTZrkluk3ofS zAB=x4!|cH<EUS}vB!xP8ZJ~A*!AvcIQF}G6>z~&;CSW6%^2J(4mSk5AAf_WwdlXZ` z7}qrJHk3JK-n%+g9P)W-vJ2kA&zz<{%=m`#Qa8FZH#>}3KWHRddCcPpRrRk8!-IC+ zq5zO`m5XxaFd)9z_L)|vm8oL;yoM^(PLhE{%<;j;=e{zA$tTwpoz*FFpIZ2PhjP9} zMSICP<xJ!**WKF0)lKcR{zBv}JxV=J4>Ikqn8=V-SFld++;PEr2*AcAiCJVn-+z|? zfdXc4JdMsgQ#WDL5^1pf=HwSPfZbeVNuB^gmXTi(?LEA$;U5OBy!e(7e%+)GzBUuS zmMBFT{rTpJ*e+ZNP<}+p%F~AX5p1Y!Ngrg2?#$g+SEEe-X!uF8N~dnto1N=B>D_Ch zSgt!(=7I-SvjX?uj(JVYX^Y78gO&t_CNo+|D<H^c&+2zLzCsI(o~Wz@@Aho=CK-mF z>8IYWV?7v_^s0a8!KX|LZmi3+ERD6Tlq=+@!G?9;@u}darWIrMDY^-?V#~DKcs7ho z%&$zJJ_|$niGID4kT}BS+;0__IM+g9pTbwFh7!=`4Mf>#>eNcFPsqtM0tas=WoeMV zmo$GI{LM=9sw2hj{UYeyMB1}=bKfcTx4zE8XJYh;5w;eE5n=Zll_ojbJYQ7*|0&{s TgO44E<^^O3VB<-lN=@-UGGPl- diff --git a/source/checks/agent_cisco_meraki b/source/checks/agent_cisco_meraki index 43dea5b..fb3808c 100644 --- a/source/checks/agent_cisco_meraki +++ b/source/checks/agent_cisco_meraki @@ -9,6 +9,8 @@ # - added no-cache option # 2023-11-18: changed from section to excluded_sections # 2023-11-22: replaced host_suffix_prefix option by org_id_as_prefix +# 2024-06-23: added cache time per section -> not nice but should work. + # # needs to be re implemented for CMK 2.3.X # https://github.com/Checkmk/checkmk/commit/c12cca9fe631d935ed5f239c23288ea856869e6e @@ -48,6 +50,9 @@ def agent_cisco_meraki_arguments( if excluded_sections := params.get("excluded_sections"): args.extend(["--excluded-sections"] + excluded_sections) + if cache_per_section := params.get("cache_per_section"): + args.extend(["--cache_per_section"] + list(cache_per_section)) + return args diff --git a/source/lib/python3/cmk/special_agents/agent_cisco_meraki.py b/source/lib/python3/cmk/special_agents/agent_cisco_meraki.py index 5a449a8..3d9b69d 100644 --- a/source/lib/python3/cmk/special_agents/agent_cisco_meraki.py +++ b/source/lib/python3/cmk/special_agents/agent_cisco_meraki.py @@ -36,6 +36,7 @@ # 2024-05-19: fixed proxy usage (NO_PROXY, FROM_ENVIRONMENT) # 2024-05-20: made appliance uplinks usage user selectable # made API requests per org user selectable +# 2024-06-23: added cache time per section -> not nice but should work. # ToDo: create inventory from Networks, is per organisation, not sure where/how to put this in the inventory # ToDo: list Connected Datacenters like Umbrella https://developer.cisco.com/meraki/api-v1/list-data-centers/ @@ -140,8 +141,8 @@ _SECTION_NAME_MAP = { _SEC_NAME_ORG_SWITCH_PORTS_STATUSES: "org_switch_ports_statuses", } -_MIN_CACHE_INTERVAL = 300 -_RANDOM_CACHE_INTERVAL = 300 +# _MIN_CACHE_INTERVAL = 300 +# _RANDOM_CACHE_INTERVAL = 300 MerakiCacheFilePath = Path(tmp_dir) / "agents" / "agent_cisco_meraki" MerakiAPIData = Mapping[str, object] @@ -192,6 +193,7 @@ class MerakiConfig: api_key: str # needed for Early Access proxy: str # needed for Early Access timespan: int + cache_per_section: CachePerSection | None = None class MerakiAPIDataSource(Enum): @@ -265,13 +267,13 @@ class MerakiSection(DataCache): def __init__( self, config: MerakiConfig, - cache_interval: int = 86400, + cache_interval: int = 1140, ): self._config = config self._received_results = {} self._cache_dir = MerakiCacheFilePath / self._config.hostname self._cache_file = MerakiCacheFilePath / self._config.hostname / self.name - self._cache_interval = cache_interval + self._cache_interval = cache_interval * 60 super().__init__(self._cache_dir, self.name) @property @@ -292,7 +294,7 @@ class MerakiSectionOrg(MerakiSection): self, config: MerakiConfig, org_id: str, - cache_interval: int = 86400, + cache_interval: int = 1140, ): self._org_id = org_id super().__init__(config=config, cache_interval=cache_interval) @@ -303,7 +305,7 @@ class MerakiSectionSerial(MerakiSection): self, config: MerakiConfig, serial: str, - cache_interval: int = _MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL), + cache_interval: int = 1, ): self._serial = serial super().__init__(config=config, cache_interval=cache_interval) @@ -618,6 +620,7 @@ class MerakiGetOrganizationSwitchPortsStatusesBySwitch(MerakiSectionOrg): headers=headers, proxies=proxies, params=params, + timeout=3, ) return response.json() # return self._config.dashboard.organizations.getOrganizationDevices(self._org_id, total_pages='all') @@ -649,7 +652,9 @@ class MerakiOrganisation: def query(self) -> Iterator[Section]: if organisation := MerakiGetOrganization( config=self.config, - org_id=self.organisation_id).get_data(use_cache=self.config.use_cache): + org_id=self.organisation_id, + cache_interval=self.config.cache_per_section.organisations, + ).get_data(use_cache=self.config.use_cache): yield self._make_section( name=_SEC_NAME_ORGANISATIONS, data=organisation, @@ -662,8 +667,8 @@ class MerakiOrganisation: if api_requests := MerakiGetOrganizationApiRequestsOverviewResponseCodesByInterval( config=self.config, org_id=self.organisation_id, - # cache_interval=0 - ).get_data(use_cache=False): + cache_interval=self.config.cache_per_section.org_api_requests, + ).get_data(use_cache=False): # here we want always life data yield self._make_section( name=_SEC_NAME_ORG_API_REQUESTS, data={'org_id': self.organisation_id, 'requests': api_requests} @@ -678,7 +683,8 @@ class MerakiOrganisation: if networks := MerakiGetOrganizationNetworks( config=self.config, - org_id=self.organisation_id + org_id=self.organisation_id, + cache_interval=self.config.cache_per_section.networks, ).get_data(use_cache=self.config.use_cache): yield from self._add_networks(networks) @@ -718,7 +724,7 @@ class MerakiOrganisation: for device_status in MerakiGetOrganizationDevicesStatuses( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL), + cache_interval=self.config.cache_per_section.device_statuses, ).get_data(use_cache=self.config.use_cache): if piggyback := self._get_device_piggyback(device_status, devices_by_serial): yield self._make_section( @@ -730,7 +736,7 @@ class MerakiOrganisation: for device_uplink in MerakiGetOrganizationDevicesUplinksAddressesByDevice( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL), + cache_interval=self.config.cache_per_section.device_uplinks_info, ).get_data(use_cache=self.config.use_cache): if piggyback := self._get_device_piggyback(device_uplink, devices_by_serial): yield self._make_section( @@ -744,7 +750,7 @@ class MerakiOrganisation: for sensor_reading in MerakiGetOrganizationSensorReadingsLatest( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL) + cache_interval=self.config.cache_per_section.sensor_readings, ).get_data(use_cache=self.config.use_cache): if piggyback := self._get_device_piggyback(sensor_reading, devices_by_serial): yield self._make_section( @@ -759,7 +765,7 @@ class MerakiOrganisation: uplink_usage_by_network = MerakiGetOrganizationApplianceUplinksUsageByNetwork( config=self.config, org_id=self.organisation_id, - # cache_interval=0, + cache_interval=self.config.cache_per_section.appliance_uplinks_usage, ).get_data(use_cache=False) # here we want always life data # convert usage by network to usage by serial @@ -788,7 +794,7 @@ class MerakiOrganisation: for appliance_uplinks in MerakiGetOrganizationApplianceUplinkStatuses( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL) + cache_interval=self.config.cache_per_section.appliance_uplinks, ).get_data(use_cache=self.config.use_cache): if piggyback := self._get_device_piggyback(appliance_uplinks, devices_by_serial): # add network name @@ -811,7 +817,7 @@ class MerakiOrganisation: for appliance_vpn in MerakiGetOrganizationApplianceVpnStatuses( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL), + cache_interval=self.config.cache_per_section.appliance_vpns, ).get_data(use_cache=self.config.use_cache): appliance_vpn.update({_API_NAME_DEVICE_SERIAL: appliance_vpn['deviceSerial']}) if piggyback := self._get_device_piggyback(appliance_vpn, devices_by_serial): @@ -825,7 +831,8 @@ class MerakiOrganisation: for device in devices_by_type[_API_NAME_DEVICE_TYPE_APPLIANCE]: appliance_performance = MerakiGetDeviceAppliancePerformance( config=self.config, - serial=device[_API_NAME_DEVICE_SERIAL] + serial=device[_API_NAME_DEVICE_SERIAL], + cache_interval=self.config.cache_per_section.appliance_performance, ).get_data(use_cache=self.config.use_cache) if piggyback := self._get_device_piggyback({ _API_NAME_DEVICE_SERIAL: device[_API_NAME_DEVICE_SERIAL] @@ -842,7 +849,8 @@ class MerakiOrganisation: for switch in devices_by_type[_API_NAME_DEVICE_TYPE_SWITCH]: ports_statuses = MerakiGetDeviceSwitchPortsStatuses( config=self.config, - serial=switch[_API_NAME_DEVICE_SERIAL] + serial=switch[_API_NAME_DEVICE_SERIAL], + cache_interval=self.config.cache_per_section.switch_ports_statuses, ).get_data(use_cache=self.config.use_cache) if piggyback := self._get_device_piggyback( {_API_NAME_DEVICE_SERIAL: switch[_API_NAME_DEVICE_SERIAL]}, devices_by_serial @@ -858,7 +866,7 @@ class MerakiOrganisation: for device in MerakiGetOrganizationWirelessDevicesEthernetStatuses( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL), + cache_interval=self.config.cache_per_section.wireless_ethernet_statuses, ).get_data(use_cache=self.config.use_cache): if piggyback := self._get_device_piggyback(device, devices_by_serial): yield self._make_section( @@ -872,6 +880,7 @@ class MerakiOrganisation: wireless_statuses = MerakiGetDeviceWirelessStatus( config=self.config, serial=device[_API_NAME_DEVICE_SERIAL], + cache_interval=self.config.cache_per_section.wireless_device_status, ).get_data(use_cache=self.config.use_cache) if piggyback := self._get_device_piggyback({ _API_NAME_DEVICE_SERIAL: device[_API_NAME_DEVICE_SERIAL] @@ -887,7 +896,7 @@ class MerakiOrganisation: for gateway in MerakiGetOrganizationCellularGatewayUplinkStatuses( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL) + cache_interval=self.config.cache_per_section.cellular_uplinks, ).get_data(use_cache=self.config.use_cache): if piggyback := self._get_device_piggyback(gateway, devices_by_serial): yield self._make_section( @@ -901,7 +910,7 @@ class MerakiOrganisation: for switch in MerakiGetOrganizationSwitchPortsStatusesBySwitch( config=self.config, org_id=self.organisation_id, - cache_interval=_MIN_CACHE_INTERVAL + randrange(_RANDOM_CACHE_INTERVAL), + cache_interval=self.config.cache_per_section.org_switch_ports_statuses, ).get_data(use_cache=self.config.use_cache): if piggyback := self._get_device_piggyback(switch, devices_by_serial): yield self._make_section( @@ -954,7 +963,8 @@ class MerakiOrganisation: return _update_licenses_overview( MerakiGetOrganizationLicensesOverview( config=self.config, - org_id=self.organisation_id + org_id=self.organisation_id, + cache_interval=self.config.cache_per_section.licenses_overview, ).get_data(use_cache=self.config.use_cache) ) @@ -973,7 +983,8 @@ class MerakiOrganisation: str(device[_API_NAME_DEVICE_SERIAL]): _update_device(device) for device in MerakiGetOrganizationDevices( config=self.config, - org_id=self.organisation_id + org_id=self.organisation_id, + cache_interval=self.config.cache_per_section.device_info, ).get_data(use_cache=self.config.use_cache) } @@ -1034,6 +1045,27 @@ def _write_sections(sections: Iterable[Section]) -> None: # '----------------------------------------------------------------------' +@dataclass(frozen=True) +class CachePerSection: + appliance_performance: int + appliance_uplinks_usage: int + appliance_uplinks: int + appliance_vpns: int + cellular_uplinks: int + device_info: int + device_statuses: int + device_uplinks_info: int + licenses_overview: int + networks: int + org_api_requests: int + org_switch_ports_statuses: int + organisations: int + sensor_readings: int + switch_ports_statuses: int + wireless_device_status: int + wireless_ethernet_statuses: int + + class Args(Namespace): apikey: str debug: bool @@ -1044,6 +1076,7 @@ class Args(Namespace): orgs: Sequence[str] proxy: str sections: Sequence[str] + cache_per_section: List[int] | None = None def parse_arguments(argv: Sequence[str] | None) -> Args: @@ -1105,6 +1138,14 @@ def parse_arguments(argv: Sequence[str] | None) -> Args: help='Use organisation ID as hostname prefix.' ) + parser.add_argument( + '--cache_per_section', + nargs="+", + type=list[int], + help="List of chache time per section in minutes", + default=[0, 0, 60, 60, 60, 60, 60, 60, 600, 600, 0, 0, 600, 0, 0, 30, 30] + ) + return parser.parse_args(argv) @@ -1146,9 +1187,9 @@ def _get_organisations(config: MerakiConfig, org_ids: Sequence[str]) -> Sequence def get_proxy(raw_proxy: str) -> str | None: match raw_proxy: - # export https_proxy=http://192.168.10.144:3128 - # export http_proxy=http://192.168.10.144:3128 - # export ftp_proxy=http://192.168.10.144:3128 + # export https_proxy=http://192.168.10.144:3128 + # export http_proxy=http://192.168.10.144:3128 + # export ftp_proxy=http://192.168.10.144:3128 case 'NO_PROXY': # environ['NO_PROXY'] = 'api.meraki.com' # did not work environ['no_proxy'] = 'api.meraki.com' # explicit disable proxy for meraki @@ -1181,8 +1222,8 @@ def agent_cisco_meraki_main(args: Args) -> int: api_key=args.apikey, proxy=get_proxy(args.proxy), timespan=60, + cache_per_section=CachePerSection(* args.cache_per_section) if args.cache_per_section else None ) - organisations = [ MerakiOrganisation(config, organisation) for organisation in _get_organisations(config, args.orgs) diff --git a/source/web/plugins/wato/agent_cisco_meraki.py b/source/web/plugins/wato/agent_cisco_meraki.py index cec30c9..a06ee75 100644 --- a/source/web/plugins/wato/agent_cisco_meraki.py +++ b/source/web/plugins/wato/agent_cisco_meraki.py @@ -22,23 +22,29 @@ # changed excluded_sections option from DualListChoice to ListChoice to avoid the "Selected" header # in conjunction with "excluded Sections" title # 2024-05-15: added api_key to required_keys +# 2024-06-23: added cache time per section -> not nice but should work. + +from typing import List -from _collections_abc import Sequence from cmk.gui.i18n import _ -from cmk.gui.plugins.wato.special_agents.common import RulespecGroupDatasourceProgramsApps +from cmk.gui.plugins.wato.special_agents.common import ( + RulespecGroupDatasourceProgramsApps +) from cmk.gui.plugins.wato.utils import ( HostRulespec, HTTPProxyReference, IndividualOrStoredPassword, - rulespec_registry, MKUserError, + rulespec_registry, ) from cmk.gui.valuespec import ( Dictionary, - ListOfStrings, - ValueSpec, FixedValue, + Integer, ListChoice, + ListOfStrings, + Tuple, + ValueSpec, ) from cmk.base.plugins.agent_based.utils.cisco_meraki import ( # _SEC_NAME_DEVICE_INFO, @@ -61,16 +67,44 @@ from cmk.base.plugins.agent_based.utils.cisco_meraki import ( _SEC_NAME_ORG_SWITCH_PORTS_STATUSES, # type: ignore[import] ) +_SEC_TITLE_DEVICE_INFO = _('Device info (Organization)') +_SEC_TITLE_NETWORKS = _('Network info (Organization)') +_SEC_TITLE_ORGANISATIONS = _('Organization (Agent)') +_SEC_TITLE_ORG_API_REQUESTS = _('API request (Organizaion)') +_SEC_TITLE_APPLIANCE_UPLINKS = _('Appliances uplinks (Organizaion)') +_SEC_TITLE_APPLIANCE_UPLINKS_USAGE = _( + 'Appliances uplinks usage (Organizaion)') +_SEC_TITLE_APPLIANCE_VPNS = _('Appliances VPNs (Organizaion)') +_SEC_TITLE_APPLIANCE_PERFORMANCE = _('Appliances Utilization (Device)') +_SEC_TITLE_CELLULAR_UPLINKS = _('Cellular devices uplinks (Organizaion)') +_SEC_TITLE_DEVICE_STATUSES = _('Devices status (Organizaion)') +_SEC_TITLE_DEVICE_UPLINKS_INFO = _('Devices uplink info (Organizaion)') +_SEC_TITLE_LICENSES_OVERVIEW = _('Licenses overview (Organizaion)') +_SEC_TITLE_SENSOR_READINGS = _('Sensors readings (Organizaion)') +_SEC_TITLE_SWITCH_PORTS_STATUSES = _('Switch ports status (Device)') +_SEC_TITLE_WIRELESS_ETHERNET_STATUSES = _( + 'Wireless devices ethernet status (Organizaion)') +_SEC_TITLE_WIRELESS_DEVICE_STATUS = _('Wireless devices SSIDs status (Device)') +_SEC_TITLE_ORG_SWITCH_PORTS_STATUSES = _( + 'Switch port status (Organizaion/Early Access)') + -def _validate_orgs(value: Sequence[str] | None, var_prefix: str): +def _validate_orgs(value: List[str] | None, var_prefix: str): # Check for duplicate Organisations + if value is None: + return _p = list(set(value.copy())) if len(_p) != len(value): raise MKUserError(var_prefix, _('Duplicate Organisation found')) for org_id in value: if not org_id.isdigit(): - raise MKUserError(var_prefix, _(f'Not a valid Organisation ID {org_id}. Organisation IDs are all digits')) + raise MKUserError( + var_prefix, _( + f'Not a valid Organisation ID {org_id}. Organisation IDs' + ' are all digits' + ) + ) def _valuespec_special_agent_cisco_meraki() -> ValueSpec: @@ -108,36 +142,68 @@ def _valuespec_special_agent_cisco_meraki() -> ValueSpec: ListChoice( title=_('excluded Sections'), choices=[ - (_SEC_NAME_ORG_API_REQUESTS, _('API request (Organizaion)')), - (_SEC_NAME_APPLIANCE_UPLINKS, _('Appliances uplinks (Organizaion)')), - (_SEC_NAME_APPLIANCE_UPLINKS_USAGE, _('Appliances uplinks usage (Organizaion)')), - (_SEC_NAME_APPLIANCE_VPNS, _('Appliances VPNs (Organizaion)')), - (_SEC_NAME_APPLIANCE_PERFORMANCE, _('Appliances Utilization (Device)')), - (_SEC_NAME_CELLULAR_UPLINKS, _('Cellular devices uplinks (Organizaion)')), - (_SEC_NAME_DEVICE_STATUSES, _('Devices status (Organizaion)')), - (_SEC_NAME_DEVICE_UPLINKS_INFO, _('Devices uplink info (Organizaion)')), - (_SEC_NAME_LICENSES_OVERVIEW, _('Licenses overview (Organizaion)')), - (_SEC_NAME_SENSOR_READINGS, _('Sensors readings (Organizaion)')), - (_SEC_NAME_SWITCH_PORTS_STATUSES, _('Switch ports status (Device)')), - (_SEC_NAME_WIRELESS_ETHERNET_STATUSES, _('Wireless devices ethernet status (Organizaion)')), - (_SEC_NAME_WIRELESS_DEVICE_STATUS, _('Wireless devices SSIDs status (Device)')), - (_SEC_NAME_ORG_SWITCH_PORTS_STATUSES, _('Switch port status (Organizaion/Early Access)')), + (_SEC_NAME_ORG_API_REQUESTS, _SEC_TITLE_ORG_API_REQUESTS), + (_SEC_NAME_APPLIANCE_UPLINKS, _SEC_TITLE_APPLIANCE_UPLINKS), + (_SEC_NAME_APPLIANCE_UPLINKS_USAGE, + _SEC_TITLE_APPLIANCE_UPLINKS_USAGE), + (_SEC_NAME_APPLIANCE_VPNS, _SEC_TITLE_APPLIANCE_VPNS), + (_SEC_NAME_APPLIANCE_PERFORMANCE, + _SEC_TITLE_APPLIANCE_PERFORMANCE), + (_SEC_NAME_CELLULAR_UPLINKS, _SEC_TITLE_CELLULAR_UPLINKS), + (_SEC_NAME_DEVICE_STATUSES, _SEC_TITLE_DEVICE_STATUSES), + (_SEC_NAME_DEVICE_UPLINKS_INFO, + _SEC_TITLE_DEVICE_UPLINKS_INFO), + (_SEC_NAME_LICENSES_OVERVIEW, _SEC_TITLE_LICENSES_OVERVIEW), + (_SEC_NAME_SENSOR_READINGS, _SEC_TITLE_SENSOR_READINGS), + (_SEC_NAME_SWITCH_PORTS_STATUSES, + _SEC_TITLE_SWITCH_PORTS_STATUSES), + (_SEC_NAME_WIRELESS_ETHERNET_STATUSES, + _SEC_TITLE_SWITCH_PORTS_STATUSES), + (_SEC_NAME_WIRELESS_DEVICE_STATUS, + _SEC_TITLE_WIRELESS_DEVICE_STATUS), + (_SEC_NAME_ORG_SWITCH_PORTS_STATUSES, + _SEC_TITLE_ORG_SWITCH_PORTS_STATUSES), ], - help=_('Query only the selected sections. Default is Query all sections.'), + help=_( + 'Query only the selected sections. Default is Query all sections.'), default_value=[ - _SEC_NAME_ORG_SWITCH_PORTS_STATUSES, - _SEC_NAME_APPLIANCE_PERFORMANCE, - _SEC_NAME_SWITCH_PORTS_STATUSES, - _SEC_NAME_WIRELESS_DEVICE_STATUS, + _SEC_NAME_ORG_SWITCH_PORTS_STATUSES, + _SEC_NAME_APPLIANCE_PERFORMANCE, + _SEC_NAME_SWITCH_PORTS_STATUSES, + _SEC_NAME_WIRELESS_DEVICE_STATUS, ], )), ('orgs', ListOfStrings( title=_('Organisation IDs'), - help=_('List of Organisation IDs to query. Defaulr is all Organisation IDs'), + help=_( + 'List of Organisation IDs to query. Defaulr is all Organisation IDs'), allow_empty=False, validate=_validate_orgs, )), + ('cache_per_section', + Tuple( + title='Set Cache time per section', + elements=[ + Integer(title=_SEC_TITLE_APPLIANCE_PERFORMANCE, minvalue=0, unit='minutes', default_value=0), + Integer(title=_SEC_TITLE_APPLIANCE_UPLINKS_USAGE, minvalue=0, unit='minutes', default_value=0), + Integer(title=_SEC_TITLE_APPLIANCE_UPLINKS, minvalue=0, unit='minutes', default_value=60), + Integer(title=_SEC_TITLE_APPLIANCE_VPNS, minvalue=0, unit='minutes', default_value=60), + Integer(title=_SEC_TITLE_CELLULAR_UPLINKS, minvalue=0, unit='minutes', default_value=60), + Integer(title=_SEC_TITLE_DEVICE_INFO, minvalue=0, unit='minutes', default_value=60), + Integer(title=_SEC_TITLE_DEVICE_STATUSES, minvalue=0, unit='minutes', default_value=60), + Integer(title=_SEC_TITLE_DEVICE_UPLINKS_INFO, minvalue=0, unit='minutes', default_value=60), + Integer(title=_SEC_TITLE_LICENSES_OVERVIEW, minvalue=0, unit='minutes', default_value=600), + Integer(title=_SEC_TITLE_NETWORKS, minvalue=0, unit='minutes', default_value=600), + Integer(title=_SEC_TITLE_ORG_API_REQUESTS, minvalue=0, unit='minutes', default_value=0), + Integer(title=_SEC_TITLE_ORG_SWITCH_PORTS_STATUSES, minvalue=0, unit='minutes', default_value=0), + Integer(title=_SEC_TITLE_ORGANISATIONS, minvalue=0, unit='minutes', default_value=600), + Integer(title=_SEC_TITLE_SENSOR_READINGS, minvalue=0, unit='minutes', default_value=0), + Integer(title=_SEC_TITLE_SWITCH_PORTS_STATUSES, minvalue=0, unit='minutes', default_value=0), + Integer(title=_SEC_TITLE_WIRELESS_DEVICE_STATUS, minvalue=0, unit='minutes', default_value=30), + Integer(title=_SEC_TITLE_WIRELESS_ETHERNET_STATUSES, minvalue=0, unit='minutes', default_value=30), + ], + )) ], optional_keys=True, ignored_keys=['sections', 'host_suffix_prefix'], -- GitLab