From ee96860790f686d2c937ce4fbe3789d6ac66ef74 Mon Sep 17 00:00:00 2001
From: Erick Lavoie <erick.lavoie@epfl.ch>
Date: Fri, 12 Mar 2021 10:34:10 +0100
Subject: [PATCH] Added experiments and figures

---
 ...mnist-scaling-fully-connected-cst-bsz.png} | Bin
 ...st-scaling-fully-connected-cst-updates.png | Bin 0 -> 44497 bytes
 main.tex                                      |  52 ++++++++++--------
 .../no-clique-avg/clique-ring/experiments.sh  |  14 +++++
 .../fully-connected-cliques/experiments.sh    |  14 +++++
 .../clique-ring/experiments.sh                |  14 +++++
 .../fully-connected-cliques/experiments.sh    |  14 +++++
 .../mnist/no-init/clique-ring/experiments.sh  |  14 +++++
 .../fully-connected-cliques/experiments.sh    |  14 +++++
 9 files changed, 114 insertions(+), 22 deletions(-)
 rename figures/{d-cliques-mnist-scaling-fully-connected.png => d-cliques-mnist-scaling-fully-connected-cst-bsz.png} (100%)
 create mode 100644 figures/d-cliques-mnist-scaling-fully-connected-cst-updates.png
 create mode 100755 results/mnist/no-clique-avg/clique-ring/experiments.sh
 create mode 100755 results/mnist/no-clique-avg/fully-connected-cliques/experiments.sh
 create mode 100755 results/mnist/no-init-no-clique-avg/clique-ring/experiments.sh
 create mode 100755 results/mnist/no-init-no-clique-avg/fully-connected-cliques/experiments.sh
 create mode 100755 results/mnist/no-init/clique-ring/experiments.sh
 create mode 100755 results/mnist/no-init/fully-connected-cliques/experiments.sh

diff --git a/figures/d-cliques-mnist-scaling-fully-connected.png b/figures/d-cliques-mnist-scaling-fully-connected-cst-bsz.png
similarity index 100%
rename from figures/d-cliques-mnist-scaling-fully-connected.png
rename to figures/d-cliques-mnist-scaling-fully-connected-cst-bsz.png
diff --git a/figures/d-cliques-mnist-scaling-fully-connected-cst-updates.png b/figures/d-cliques-mnist-scaling-fully-connected-cst-updates.png
new file mode 100644
index 0000000000000000000000000000000000000000..317a815a7d9ad606cec5c5123ce345199043a8b6
GIT binary patch
literal 44497
zcmeFY^;cBy7Y0gqDJ3l`EifY?-KfCOJxD7tG)U)wq=HHg4N6E1-8r<vNJuku3PVcg
z-0}0h_x=O-uKUydVb;8B)>-Gg=h^$+@$6?}b+lemk};Fv;NVcIy;9M`!NK#v!NHv(
zA;SK0mDd}G{gQmAYVuCs&F-DAwdY$LP3w2=&Tj9V9c>=^y!G^QbaNFE5)l%8`q1Is
zJ9jTBVPTj5`vM_1PkUh+17r*KCZz7KOucY$sIC8faKFnJJL2HL<<wLZ4g9ip7kvH9
zCNB|32Vb5JnR(bq_b?4Vd7{frpoC|wOqz*jO_!o+W`rMEHCdz7<I49ILm?QLd~Z;z
zhnps~=Eu7;Pn)5@S5lqw!-h{se&{zGhvaO@O(#}VB)l;T@b16nhl?qZaK5McimvTz
z!TsOT<&_oBdm1H@G0p!k7rmlY`s#)Jh3p3EaDDX@fx-?0^*zfiSa6D-8(-m#dWlWp
z#I$+|v>H;2-5aNhJw2Mel?VDQYzfD88Gre4p@Ddq9)$N$vWiuL?g8;Ul|k><>i=FS
zJN-9!U=y06P7nu8s+&4~RDrqY_tGi2R&Pf&5A1ZC2@}=(4+HYp4@b7BlBH`SDv-YV
zY#0;5GDYtIpEj%>u>eM6M7N-1WMsd=ORuqjDaFjZ($*G^+iZfJ&fxMEb`X??)k0km
zrifaEx|LKFAuqlw(I)-?o-b~+Bb-s?T7r;}usSgDza7Dob8;%aN(!aQ`dDpF$x=Gw
zg(J=p#|Rb3CZ@flJ_K=f`Lb|A5%E@G0?M`w$=oFS_r!M=K+4^^sWRxcddZuInojMi
ze5d#Aeu#09;Ao)dU6=rH$xpN{=Y{{lW6Xdytj2MGYryk_*d&O?HH-;^$anR(4(}ma
z5?sIi4?@OqcIm<iU>IHqZWOK;JU6$RDxJKoAo(geL(+%GN-y^xEJ`sX)fO@yMDEW=
zIc5mkh~^9G&t9^6;krk7BZUzzVDxj_(f=W$C0GQ_{&(m14$|2+3IFF(mUQ=@H*vO*
z{{M^r_dtk+5&5W>7!*!KsF!%Fmv|OVq^XzOvPhl*3zLo1%@?|U(fu>TpZhiow&zdW
z=?+;CltDN_1<8X6GOzf&pSj~yHGgB_{b!jm!``RZv&V&3j63ZJm!AYz{ssp^>k$W!
z5{8KGsIu@42EM}o^ILPp*B?1hR0b2x9jq{-yyP0(5nQkODUD=3!GOH*@bEgLI{kkx
z^Qh?e`1l8`gWEx~r&>(-PU+o0=s}pOC?&{6)?0o{?FKx=k(nQiK5qPb_uq}H=?o8y
zo(AqBknlj}83F?60dxx*t6rjpFhr=p>s>e2n!x^{|2d<UcD<Y(B;o~c3Pph<ypgxi
z0#7fD8hQ=Y>CN{+|0RNZYehdd__vF%v}ii0IZThAt=4Z<YFRALEn9hU0NEV)!s%9n
z___9f*XV!P)+yK9d4Pl+2_pbj6{p7{U^K+aK6|YU3co)=`tO+&jA$7jq2+s4l7~+Z
zCEe@j|Mzo@-5&$x|Am;Z8(5hC3!0pBF$6yUz0<<`|9?UA{}coj5WaMwL8;!3V&Q~T
zp+U3Wjz;0c-INPe;e@O@U#?!M0bji--)XsCspV7D)Bn8Lw6A4gUu~Ip`FR-21<u7Q
zz7)zQxU^6d{I&!^vJ9UQHT=);Uix74j7*hYtOC$IaVo%~_f#J5zya>&x-55%PYzWC
zqfgl;jsBT`7dl;tT;#|^e8t~D=1kL$&x+2^Ee>XithLTG495J+8PGVX=`{Rt=H^f2
zqYBp7VjBM*p?lnNh2Kd?g^%ZF-neoa%7%I&hCr+1596#twV{Q6xA`s6*c(2_kszRL
zD#YWvca4hxJZv6bhzrxYH`7->K&8NU%B4e?Md^$`jF&@b1c9HIcsb)?Q`~E(U{^2p
z;=H_va2N2u*M29+=a#c1?>hdRk%sIHFZ<)v&oDgax%4y0Pts4F47<{NGg)3zQ$c@T
zU9E50@(*bYqu4#U<QS!V%w11c_?TJ%#|;<u*F3sREz<86)BO1ZrLCx=-sLLj*hlBd
ze<n;W=IULzJ*<2wCo3ck?;5z<>kR5K-s6=PqxpSXik~mX`GDX=t)P3-jQ%_5=1mD+
zjR7Z9DM_c6g(X|=*$piCrL50|E)N6FcQW}B;atx!xWl-cx^lvu+n;R~pZBjli02sW
z&+P*%X&Pz-OV1PE23T3yKkPEEVEeX4TEJaKHdvn&nIC*%N?l0yvi<DT&UnT8jKi0r
z;b7)Vrr+Ycf12i1L3(F~o!bABvI((|GPD@@#e?R8-2@jj0sa&xF^t=WM?pX}34VFH
z-i^)VEy0ad*zl*Tkr)16^^^6|{x=(pJdOIV7t)DcUtSr~gv_>m2thACbQ*t|OeGE7
z3D)M~<b>|z71i;-O0Q2zOS?bU!8(w@Rlp$hI6sKxEpFe-l<U8G8+2r9@bl4c2JF-Q
z?a0RbFKx6^VNi&4#H5kugb`8c9!?M~^G{(uV)w=B=&DeyPYdVf)$Pdxa+U*eh61z3
zaNC$UrGz>4RDOcIEWd{B9Or4-nTo)w2=?9IC2z`t`e**mOgBL9_~I<m+hYY#T{dDL
zJLy3yt*a*id!Vo3Y7O)!x~;rpvB_T)O0*uzwiB<3SiPCNPh|9TAYX~DApQv~;}@c)
zu)y#@q43SUA32~r4D|hLeAI^V13p<<b5*a`ApF*acpZMGSL0weUG;W?0tdLgNuy*~
z8k7^U0!C;5lI=X1!G^{^Pjk$h__jMWj-%Jp3@G8>sVJ*w4IDk&f=|Ov-cL@m=hTMy
z8F{v^bhX&Y9VZ34glxOvalYuCofL1?boo$Q0zdL-a4Df`kSTFv5wC;vReJ07+p2DL
z$ZPX7T`UcnCj`oYy&OV3CLM8q{Zx1q7J<WqlHYoRVnkBMzx?(?*KGTnPyVREidE$P
z$m*z7>U+-_C2deNhgH!_ml}Z%t&feE^{O(qE}Ea5aQ%0@upnGFZCF9-xu8x3rL^J5
zWaiqHuxX0S%9dD&tc%IyUwQ4u+hl-&OHs^vy;k&X=N<pGhmc{SEl)3Zc9+qDSIN?%
z*BAtqNAK^UZ2W|$-wmC%IiK^utui4<_OC{%UaFgbY+)V0-@Q@lJRa2xHSQSMAd^>J
z)KsnD3QoQU6OPOQ4zKieV1KG^D_<tA4bd)`k_%@`<vsa(<AIj{q;Yj3Y-^~xf>21k
zM*XJEotuc0hcay6m-X@HEBuX3$=+b}z~k_i6@)by%?5PI`<K1nXU!hJMkpfQJj~8$
zHg!}GM&6Xa!(rh}{GP{Z|K{)>fw=XiQ!w=nPEhW1`~E5H)d5yTPj7J_u)Pekp!-rt
z_EV4W4Zpl8-Lv6_4AuM<8G4zDn#7BG#0cziw^%pO)#RQ|>`$dHRy+>5uGg_-tEMbF
zv~%hs>hW+^Ucv@EbeP~h6#w!-o1_SYP*L-5%YC5N5z!4DbIsXqX{Ht**UE2B$cH&&
zxINZL%nQcE)tzMXU((#q?zi1VMaTZiYSu+KSUp*$a6IA9UN~TswL*$#%RNe|S=K?N
z3gS<k)lkG$mFZ|BNZ*%FOL>+N;oZC5L!b~Wezz<vem5Nm;FJ%CMJKXaU!5(2^g6Wb
zrh26B=8I-e5V;>^($2aclC`bM9E>haaDiis+5JcMXEH3@yb=Tw4~`WvI*VCM<nYOC
zwJ?0%E;RKzGN(9f8<7utSkn9AdjXFseeh((n@G7=---rkA7qsey6`2BYnUoBMxGd`
z&Wyg7_t^WB7oiZVbP%WC^<I6?-H<lzfl`T5wh|v{{T$27s%MIZlCP8J=$Hwm3{zZU
zd8$0iv?{@sfvBk+xg#g<CH5g@{2DT~Uj-}4c9DoqKsLAK`mglrR$qYqS(_h-28^4$
z^(%eMJ<Q4?_bH^3j4k1kmD&dHXYQj0m1T)#g5_6ePm?^*K;_L7QQ+;?=;uXORK^A|
zDu^ZE`)>=Fq&JgMAlc&vPb*%#0Hc?tByCg|fKdDa9NWjP7!ixkMts!xcWkh<$MLo0
z*5B_Y@O<tFzf~_`1s#|xQ;mZ$mCDR~*i!2FsO5eb5GIVF1(wlAAc&B!_fn=(Nj{P|
zpyZ_g0GkbXC<GoB8dqx#lGvaYG>b+Z=t@eRw`l6U{ZskpaSVv-1YN!jv(_ovQ<XiG
z;|h9h!bLUs4zCaf2l42rX32jU?CX2tGG8?ATRz_2SpNIA!RVePMLDt2CKimcef`07
z*^wOe?J!-)LWtt-+6OgO^8_zF9n=+mDJxH8K{=UqAi;$()|Qv??J~Jb&+4@$j|RAP
zCEKI<nGW;{O{wtw(=S46_}Ui(vc;{X^p);q_7l_%#|Ym0fqT|>@-e=5$J;qy6QO4%
z^LaMz7{{3?)nrScpP+Vd4i$F)A;*mMp05p_Dhs#BOTQ1b;xBtgY{T@!N>o0|z8pn7
zS`J<oYrEqBU%sAGDQ1qN$DT?t6Im1fnt@`dZGcsPryfw*-^}7;XZs%oRLvWNT<y;0
z*GlDYL^|Wg<GC>wMG|<Bn7LJ%xij-SrZWsZb=}^d_-%Ui-Zut^8|XT&=f;*+q4IT0
zRT4@GM-apLyM_(5Z_en~5fcp`U8H0;GDka1<)fk~&AwgtA3TYV8TrG%tYIZ*$A0ei
zh#kYS9Ex}gGca3Ov#dVjn>yWwoiJJ2=s5(XKDU3-b6nXbRD8OO`|yEFN29N+WWX}j
z!rDv+ByEis<*Tu$Zft{BL-r8&!E1Zez+59wJX40bslAs?Kuy0X$_hQ>7Uo;NXWtg$
za(Y8aaE5<2K=3IODubT)hbbVbPGV;C;HcE)Q%2D_rOF{(0&uqR2zm!U>pfpGfbIg%
zkNSe9vU6-%%IHZItx`+{0!=pZ>#71yivaf|rYl$?WvV!iH<1qR`QYJQe{q)lV?Ex^
z=lb+T=Z3B7*JW&~SO8X`kU($#x3QcC!tv^qR+VW2hTq=NC#XM!y?UESRH#c(tzS;-
zQKFYDW>uoQjuxFlFP2XR&wLkYbR9K4VEA%F&rKu4Osk?|rdmQl8}y5q!D_Q&FX#P1
z`*xg~xRURQVQa$dNQ2Vb5<GFVh4Z+qK$bx;aJXSp-n7(Rj2oujjWpIMvUAXV=`4<X
za)%3Bev4yg0@S0SUB3h#H+Q3`kXdcP07bVE-dsy_CxEQ_%17FCBk684dC*8QeAp<S
zl(nopn5!t-O|l9(SBXGZW=1#2RSpr(KnSh4^E41>VYk(gh%hr?Pjw%n6WVxqbuL3W
zgs!pvyW?NpAWzmdt25lP{|ZkUn~>j>D-5Nkx%<f2bzi5$e(p#^)l{Xn*M>?fEpFaA
zAay`hTOW$AuDOQE@3Zksu+h?#f3th#DQFRT+B+-!gxUaA^yd3lWj)^9<nR0oLh2#`
zrK|5jhTrx0@D-rLI(L*<z{O+@9OdjJ1iXv2(6<`jF*DDy9J!v<m={m0OIDko=P4BH
zspF+cR0Z_kOr=6eqjtz}Sh5WShxH;e8~@~R;ja3G0t$8KzU9vO`$hfTI?=!6H`{wc
zPW#w^_NADI1Fv?W^Qot-`<g)4cB}d;_1=@+_l)be!r80B9X@xQs1m#_>u|zxC%ZFT
zP@c$F%8=l_x3YHFa)<P3&oxfbImD&6f%&5P=VG}Dpl3@2NUl%{@Y-0!S?os(S10_$
zaqYd4y9=K_=s~L!4|gHQ%qV0cw&7(Q2tRXu9N{ASLtW5lFq56ud=f&y?^aQuX_p#=
zpxB`9J|U2@J~wzpe<X5mnh*K9^YBq3m*4F{<At}Q?R{)Dq~ZiK3=sh+Yuy6cEq=ms
zK64@T{ceYtn=5H+P0HO06KaF+X8<4`4u`mA-dD*-4U@xAh}rVmXn{F~RLlIe%3mVn
zU|&h}Y{+hC+^tCXj4A7&b-4?rnnBHrbIPaWl;AJL*EgcCT=pbq8pH(5HqMb>0h-E6
z^a;I>5+UK$F=5WFTGM?`7$W$I12Tyq_e-wcHO*ZhnHLWJ+`m6k1Ga!}Yx>_4iS2Of
zW%z1m;%bNum#R}<d+6z(#3{7$vN?!#ztUP!$lLq$OQ;l!@NLq$IMWr0FB#PH*1vAz
zlda??EW0SuPVt2hC(9@Ct9KfJpNH}T1h4P`%I{aKho6EJ^rB1!!FJ|R8PvD#3RU#u
z<McV>4fkkAdsUr}U=KyhhK=G(O&r3#Dm%;5E0qTTxWBC+A@)?r1G$?*8}iMA?Pti>
z^^9R#M^^%eEde&0RoP+wl+)Hb{Y&xF82`tgp5GIBBgcBoj0xZV@|yH!QECK!8uhBZ
z;>ofS@-u{Qvwq28;XDv@VCRu68%`!d!Eu*4?RR^8?$=56=pQvz_kMbk`hv|J=WvdD
z!D(*|x)#{RINym84@fZjbIV;~nYGmy4Et@lS0zl6V0P?$_=hWaa(G8%7c(R`+Tg5%
zX9$VkZ#}`rTPCx2m5z$et;XbcU$1M`&)rH1rHQ}0$nO>#5y+8gBKf%eB_`I94j&&G
zd<Jba${HMv+|D$&g-vV-cw=O&%&^$6Oy=q*eQ)x~oAX)KsaK`c&5Sk1#hcTL`WqTr
zciZY4P}ZG2fjlln1mzi71-z<3J3j`tKNd6$zZ|6|R$~F;z6t70joMCOqVecFWUZ?T
z0(pPK=!*Euy<YrH9TY$9#vtZrPHYvR(TOMLbo!dVQh@gO{4cu&rrU1O7sp+y$anuI
z1F=8%!)?Nod>;V&Vz+GR7g?i8SpKL&b}b)rw1RS6<AK&MJ=MLGnqXkpfi2?ZMe#k@
zv^~M$+X;QjHX-RE-vGQ#@~$DjTlxJJxuW;)r!5!OJ<MVMn2&pc$N7MJ<08xR1%a}%
z@W1&$W)ugYoq^IWN;@yna+bj}E0{A<D*ZD5D2Rbs!{heLPn%``WiBLt=OM8>M_y%i
zo=;i5fbfUFz_sc#w>{X(ubi+lbyT41WINHd+Thstk8k)_6AdCCe<}6jnbabN5=e7K
z>-9b#?e#<g4z!Ro`l0Ac6=`2V=D7eZa;O^+cMgD5A398p-S(f&?xei9_v6z}&mw_P
z5>Rop64>L!Tnjnk`<njkZGf&@UmFp%HTM~ZbG?h8-7t6|FAvWoY`U`^dR&MXN<c+$
z7qtzH!*_K(yvVpdt<C8H!u)+Jt)j?;@#OH>`_RIrUb#?M-6MSf)b&js$G+;k>fY;j
zD=q>Sp^o@_B*hAje>8e3UU(s6VP6nhBx8~=(vft;8Ml0IdxbLy&qSJ=hTqZ3672M~
zZaM|D)=t;HBctS4;<JDCOtfWMJbTf$&Bc2XP|qi%Xc$ck6S@}t6SCd5!(xY1n{Omr
zh_~#7jK*lgEE3$q=aOH9?9W=dSRR{QU(5UNau`S(xQlZCQX;AkELa69x4AGm@2PQC
zft*qWRI4Y6UaACkAGbYfgn*<z{BRLG?AiA>h(BssJ-oudmsVTy6UcZeErdW@Hb#5#
zfrPbiEkfTJ;<Z(HAcA3e+x0}l&q<QLe%n8INH4)Evfe}ki@v<I{7AaaPO!Om*DBr<
z+h`j=#nFwftl9jc*|$E(5>JY-z+J4Yf7Nx9%lhfk^N8N=$Av?gIU4E<9SQ3OR~F7V
z{ToF5@!M4PqyUhLe0)YRo>_%2(#fmxYd+l)aO_IeMPQQ&DB<G&PMWZ@--D~uL=6Af
z(oQQTf6$Gl#&RraL|L#G+y1hKV=L(wd$Fa7-Yw5rytx&3%b?U@Hlu0wNx7mw8^R-;
zHPor9uf<z=O>@fm8EtEhD*J<eob^2EVpG+ms-lA!aYT7Jh}C`1<5Pt#)(3%bbYA^>
z6!`=GV=fL3|2U^ytcVsvzja}P5fYmLy%rn9fbUYN3=V)MWx*VgOf4NW<ByHPw!e^{
zkJ5u1M-VqI&RykJl)Bfx^Tfw<as)wj(ZYBhu&}3|exr)FosqVHP<!LmQ@2l7l9M4%
zrMX=OJf`makwG<A?cmLN80l*zO}xbsV3|+at_NXpGe#H2zJ3n;z_pHV{vTowHzOP#
z*+p)tAc?P(x@ps#&Z}mD$1dD9;rV?qf33{SfEa8$m<0>-zykok#PR(!C?c$)H>7Q>
z&5#HcJ9`wbX^Zz>6!dTnPxeXt?<Tp@FgXY#wglMgnJ79fd_pz(nOz%)XYxcZgnQ0t
z%y@E07{$yi;veYI+wdhLnRW$EM;l{gTA4)oY5@JIBC6q%ZC6>dKGFil-oQ0M5nK`b
z1DG1-pREVK*6dy9*61gAO9iSjG(q2qwL7IuH9rH;E`I7s9t>cv3@uC{vy~B}JqWak
za@@jQdd@WOXWkwr0E8|tk)Fr+o43Qad`LFQmFbQ2mSf<FSF(*m&@?F-iDyvz3CX?p
zGqnGP4|@YadD@8NWl5alF3kN+<-kvFa+0-Ml-&gP1;Q+u`8|?F0vD~8DTtx9=ejKY
zAM4@O@rGqg_GUdK^|-C27{KJ576}WkGeI?NZ&VT_(ctZbwx(0K`Vl_2>GnBnvBG*v
zoNipBj!>l1nXic0nTh*hT)93|_sPe}+@%S+N~chydk#mfk{f<e<CZ??VUnUI^(2Xt
zMi&7f7cY11^q^{!GT|$C6SGY{DX7vSwmx#J<MwrB+VII@eB<yJ<zMc#<5FKKlA?Dz
zUF2jO!h7Vc)C~=7Horw$MjPG-#J0y{18+>fzj*{y1OQF%C!ko#VdB_~5cQl5<p5cU
zP}NF3Tar4{SVk4ey?MSUE;_`>9E1cfY=zy=mdH=MsMadgOElmjluB`tYA=7^8`=79
zXTZN@<R7OrU|)7q8&&!XzaM2Jq7LsVnR}COhAZaP(_kH*dAKv84sx6DMRapV04p`b
zq`w1X-3M$o?IZ!mg%)rzQHPr4rP%aN-=TdJviH(m+b|Sa<@07P*6<gz_#UK9s1>x%
zsD!OxTR1Aqi0wK?8L`bhuBY7yOT4M(x!9o=HeD9pOX@-oA9&)twAwsy?xrKh5RA7@
z<YwfsJ-5RP=B#>KrX}nz;x`(@q1>}euKbvBzqg)_R;PR@Q{*vBBru2Vhk9Pk(i_y@
zV61JqDRj-wSiUz<b2y_iX0`XqjSKUdmB93TC(qT71npiONP}V@y~H<r6aPvYTOez+
zu9KJf!?8u61)RX>AcyY2yU?m;JvZF+=z@Sd58Fd*ydXOi=U$q%hK0H6W;W`RjBTh{
z@u(PEtE<O%l_!>2#tl3fY-bgDaw-Kdb-D_@$IKSM>pu5Ie#hEFdD4!mPLPuIty$gM
zDi@6qB31G=!#r1?fOsa08$j`@KVuQ&pNAkfLy2^I3oH^+SZY855&%mm9)@%o3`%s}
z89LOsm{xt_cRzWYi#?)8r7H<3-uX`lU-8C1Zjx0qbpC<J-7<i#hBch>aanUjvco{C
z8Rm|LC2aZG1)E&@mtQnegb)OtF3(Twe#?C9MfQBiYFZjqB914Wd1UNrWR15R0qpte
z51SUl6_Jsm6EP?ObZua)$zrDud_<v3N3i89LnaG4CD9jHBT7kEmI=Fy*d=0&VG~3l
zkY{LOpy}xd-d!vyl@j*6oz~q8fFut}U%I0{fvN=sUl$Qe$x+9v-3irEt3HV!otm-=
zPtb%(T3^B>jR$Zf^Oy=6fI2QbNlMR>a~De=e*V@#zdPYrBLBylv}4pNWDLKAdp}UR
zi?FjsFe@nQHq!%JM1#}}PRFAN>*KQvQr)JQG8=YsG#dWoSO#%0-`%0|BT}(6%h-u~
zhN;OH++F8)9Y()aKafs&-QemQm2E$lIR;|}1NQl_Bv}6J4+H*<38W%<tu<c9kCf)v
zsayFT^wL<bt$64UBN9$#PHbtJosv!$!e;m5*r)Bz?Xl|zkVQtgTG`>drbZsDwHy&n
zunA7Z<$z^e(8%u)M0(t)Ta96e(JK@$Csgk~DOmDV?Q9p_wO-Los(aNh#vgijvQ$Y?
zqLbo%Bd|Otor^1e7t4B!^Sd7}{uFmWrV~{RQ=*yvI^R7B5GjyklVGHM6&WFz)H+OO
z#$hA7WeLE|rWFa2c|iLajzDIYWg1ry+pXS)0^7f4mkk%uD5)s^GgBhz4>D#}b+{z=
zhm4lE^VQQ(lFuT67Ss=g+=f3AX|P0UC|Ym+&W>hUMd4&+V97&YBchw1FzZP^u!t&O
zfJ)9c^#Q`t81lmJaV?Xi{M9>hMD;EMFS2#pUsHpS29akT5O3<%-?Tv4IO`A)+n7Dz
z14VbNX%g^*K$LBGrznKjWaX-KrOht0oQ?t8H6=#dCRT3R{B4?~92Up%*Ic(CPkXqd
zdRx%{_O}=J`#(Eamf&l9dfxgw&;eME+t^s5?1tFyHU;ZaCC^vgvga)Knp&6xH;1~E
zJN<awAtn9dtRj`J1Y-15;#T()qx7W=aJD4B-}M0M{YQE06RaCFKkE8BQP&BYqjkF6
zznrzuGa!)o;}ZpiB;+=m<-s3KC5|T9!*wIoysC4(moWQsi)bm5CR|#FRO|Z}6$lDU
zRMJ*d;DTuV2gLcnQ|BK81YR6NgD<fI@GNX3t|O$KDbSPNdns|Nf@?&RrhgQqZG|ML
z_rxUa<#LGhr#^>#8wRQ8%XoYn)@kmtHTiZeb_JlqJ27hgVaF3ZsdZHnL{tX<SOd3h
znw$Ca^*sq1Q1Y^)=1hL=)Y$A4sQ<X3Ex?=CtQ##wDdN22m~@QoLWw=LTJ~ViqFd2o
zwnfg#de`LJM!5rxqAz}xzr-3HJcO1a8h=c05kw=TTgP-ERlIshhHR^H0;Zok(Z?MO
zX{meYsgNm1{$VqvbIq|bt9OcXaomtV@xM%%%h><w9HvCAQ@Wybj04vHPA6~UiFEns
zFl1zPyiZ2R%{52>Ixvx2d2MeI>XE%=*Mm$)<L@HSOZPXNzJ`?n%hZM4+zX4beVB-E
zh4hywCzbQAk2a!LA?ljxJwH6(N5TdLzKkpQT*-9UqqdktbFm<b_7ZRx+ZesN!>`0#
z6D7nBJc-jJs(@!=o?_1x0aASut<Q(Dk8>d<o=Y85PN5s1o!Ktnm;X}A=2+@%W?7%~
zE>2|4z=1|A{hCETR*kN$LvO(4EU8UU<5GSg`48CAEeGZ=L<=Z$<k4#-n7EJ3M7bm9
z8%5C;QZ_>aPsK^7x1%(4_Oyca(7<0Z4c9>Od;5w0PD(LFO<oIp6ClPC7Kc9E_7b+_
z$WLY0i+blZ-5^89a;+1s+=1zLnu|jJh?$+gEmQ;LFS4oINMA!QeSC#2Fve5B9_5VC
zo4jbuR$ZxlW!L%>bhQ8YPpv%9A13uh7{xQL;RqMG{*uYw61&b&=Yk?SL%&YE8FtmV
z1W}M&E0cma_n$!Oi;BrfVvquhB(*DGlhRv~dsLd#kEIf02@hc9R4HB__7*?}E+59Y
zJm4Pl<*R4pjNICL5m#&n)o)50V(@s)XOyRUYoMfvOzZuzTy946#zhso-|n`GSOgq~
zv%%hW7mh6voe^O@E=wGKYV&O$lK41oyd4ZqJ0J^r=u+YMB~TP4DB!bNLkg&>K^J1K
ze7s;}RZ8aE|J3MJ)tMIZQF#45)D<_Qz(k!tojdg=<+B@2V_Q#naJXr2RYzZ?S{=kF
zQwu@&1yj1ffz6xz`>%aj?YsltAjCgQ#r6Xa1W^EiwH_1%<YwY$@{F}^(p;Ci=*Ao<
z)@4~TvX-Q(v!{Y5UG4jfPnFvQ<%i7FV|Vw}>O0N^Ix5>)*W5~X`=ZtE>AQUJfBp`q
zB-!KZ?a(sl`Ub&^x@sv?Cv`vxv0T|^{^r2pSUs(DTH6}s@MDl5uM9QI%rPSw<1*<o
zU0AGQpU62}VoW-(-e**ZH`SqMs)C>U2mKlW&T5*H^Ckjtooi0Llu^ENpWM{S=a|&+
zq{rIRFW=q*apzU6oC^~)__#|z`JLN}+gm>LSEQAlyjbt`TLvKkyReL;KUVkYGer!?
zgl`S*`XgLA;`DcOKkfHa;HS*7oe%<hK3iJvREH3jfB3P)P~qU7>>bnuXq|1lGyfH2
zAqyal5$-};F0?VKl8l*Rol+brn()J-HXqjf)>}-p^69I+{L%X$_MboUhXmz5Ro2PQ
zEt#71^l3rD=Ucj5*GIlw|3E#CXgnMt)fHc1&K>X#Ws%J`!nURFT<l2PpSqK9AGt0_
z<uK2*C>IL`^16dZrXz^81s<=^K%$uOU|F7K0A-r(SOfQhz3XK{j{_I?GBMfR_j<{Y
zLrn(cd_4x=0viG>ie1(KlbmM*6t->TL1F32&nS{Ig>GK#mwGL_-;SaVuNbE!-S7_i
zm;2C|idf^9B=@?m4mlD^wDiuE7qxD2N|=vV*e_R>bl}SlvjAGmH4X57Sb9!%Vuo;#
zQxLo5TLJcB4fm~<H6VGz>#5Winl76LkZDI($cG!YhBSBCKhKa^h#D!>xZJ0M6rZ4*
z@7VgRg&oUEzYbHoVEI%saLIT0_Dw|{*4=-H(L%idvTwg&PBviRoUndXz9g3+$-X=P
zN!<q3!Tj(qZY|cF$mc6T%PtQYD=}L{bJL7X_{W-8e8}*~%@LlXmS<2DkOSxW+NoPL
z-t1QSKuG887M+c-&1qD8SI|*r6e+uriP?Hqr416}yP(jesQH=ERG_JlBa69K!76iP
zt;|xTnH(F+vtgV|KLoSq6u}E&f}URYg56BKQuOuhs`d|>tAic0;pM{{p4dpkg~v_0
zt1`Xn%|?nOx}$6}@r5d4IrE<gQkdxD0bCDpr8j!766P8_N`sFWMVu|SDC=F+$Q)3g
zX&Ul<l<@cX4bIIjm_cgg7^@D=Yv^xo<8K*HI*qM8rxt!&#U-Z#K1jI|GvMHdxgA|e
zYYso*wE4LciH_fnB|i_R?hEo5hfS`NhY4ftVEr*;w#1~;^pRMX$$CeL;4_`F=ao(L
z>cE3))d_=dd<`M4yfgwXt1ayz)=>mLU!4wHqHw%Q>w|BBhUYg`FV3ZzAk&h4ZDXt?
z608IgU1wa3{kM&f0x*ZYamzk`WmNe9(ku{ne28H|KAMSHma2)>kJYc_msewYbGSX;
zPrqC3`t9b(KfUwK`vf~YX?xL3T9jLX^Xk8{Cg~9nY%bg~+%SjHXGJoqpXB*irLtF_
zme*3dQNk@;NaeYO?fj0XXS=(=3qvdDxVP0WP>I-+U|~1o@ytCSUyI#KZL*w_{IsL9
zh&$F*cAL&4WIj-pab~F&TLt}i(y0h~8$)UGGZ<KA)q@Q%q*3Ri4Y)9?eO@HXIuC-@
z?{*;|yoTnNHJo>zSReZ2*;**Km_M?#WZS=_`=mpad$6J)#Aa3y=I>B1Q1}jL<evJX
z2iHV<huBf}I~$_jN6VCk_9MNHv_x6pEJw9)+zjL1Ub}6!ZY@?PlT3STof(m?(t>}X
z=+xfu%Z%qtsK}TfpZ4jky3@0eiJre(1|wM)@$6#!t3U9Tt0~BgL5;WbC>Jx7@8`KG
zX|uft0FX=08+|Dml`5tS=|h<+Y^2&)B5SW$gtb&gTgiPFw_#8Y;uX_T_1zlwmj0eC
z^|)=eq<tpu0j(dXH|PZc)DqB>pIMS^CGL<dos&UGb_9D<*Ju7#j&?U^Xsi3_$C&v5
z@#;wYx+x<2Nm16Ay|@`N<{2McF7s_~hOt;FtPYLs{ZB;bv(4N}8WF{69y=0eO1lR;
zxnQ)=t)TiloJuDtZuqP9M%nnw){Ib($#NHtsIyk4+TUV9sL<$A&5;g9`M^A7Lg8*?
zvEz?N%ec$*ZFi~KI^uk)``rdcGYO`7M|@T4gKuK@d&xlEeZxIHS&sofo%UeM`S~><
z+#O*F-u@fv3Ur)e1by!m<><3V4gKMb4n={YMOhhEW%&=Ew$Y1M9Xw0AQXPol$L_a1
zR&DlB=8)kKD|LIidd3M`{8$_2f$#^TsZoV}U!9IyR>RBy%^MY^W{dpTs2>bWq0_3W
zAj6?vVotm6#s<t00->&;u=kfhS-h1L*IX;3fvDpFO=2p<I_w&^GSohK57b>i*NiQI
zhBoDOIc<ir(OP|N9NKja6gz27WISb*Hb#Nb5e<{DO9;B<?+s7ca{%k-x4+%PjGmil
zxE#J2<LfIAh@bZntJ$Mk#~x8t0e1Zu@K?&+I~<w(`bFD=Xg!GNs5YLo?x$%n5<j|&
zfBDnRCQ7WQZ04+Qg5y^KH|bVwsISb)>d~3oF#d3!-47e4q8~SAh=dn`BW)Gq&~f+x
zmb`OE$6or}Fxwfr++JsZzYF71ubv7!?2R*g6*OswFimKe&qd7je3J#VzwAS3n^;1E
z*q6=%c=l|{7wae<mJLs#=ImcMGl>E@e5pmb|IEdb`W-(GsbHzwTRfm_-cs4(`M{$x
zaM+?Xp7Ftr{N^myKH?>Y?1D1Bd{FO?@7?AFYG?q}DMzjk=iH@TmRpu>yDK7B2sBT#
z2}l<%d)_#F(tmr;9p89L{psr@p8X~4Y#`(ONu&eIl=|qs2?G!lWT7tp%8`A?h>3TX
zU)gJF6>0#oVxSt{A#(a+Ho_nSipf}Zj;^2FGc0SRAN-0lW?28v2jaWdcWdx1A#g78
zj_<$FHEDm|6NgYxdRgk+7ULR9M7@}AA-up7(Ch-#JNC%4QJ=8ep>6^pn^Td1c6+a*
ztI(?9S>kcqMtVQ8%FZIWT+=WQ{7wAj7H)inN+%h2;X~@SyJ`5f91(H=9h!ftZ4tvf
zHTnk%Qzh}%V1BF9di9FXPU0lc$!zWTBIEAaxSB~9SW2u5tZ&BfOIweHYNEk<vm>gJ
z?cViGOt7M{|K58CazU!y@|9ULU@Qk4Vg+GYKjqtCeyn1=+3Fpn&11+R&mdvF?v$_G
z?Y20H(6}z!5N@Lj4J^{!9)oet=)w%&SsNlmU||(S45ibj0?W*xM^-%UoOT{PXv9z$
z<8c&b`a6RJtf0HmX7lC}ik*~wsy~q=$8C+s1c4qtXFEPO4=>?tgI*Pu{lyKn-*>Ey
z`*mLABh=gyxp@s95H)Bn<l~wkfPBG4iG#uz{LP^!MWka*o8@tPmGz4cJp7s5tEQxu
zT4V_QG@P<$g#_u%2X`|oB)6u|v^hGzUCkG8oB{yt)LxY}o#F?d5~hU+?8Xjn(p(gT
z>_Skf3)2}myFwtqc`=xtr>#O|*#NnkjafdGpWP)2G$+P+e0Y`XbQaua(UY+?6`hgC
z{p`8f8wFY+wtAY{!~j$KJ+Yb`eTGfRw`SKr1X+9E>ekLYVh%xKj*Xm_W*Qc@j#P7%
z^+?7FHVJ$>aWFXSQ(&jUi7lAgcBRdxx;bT5VLkigg{g{fDz@L20h|$_(#~^TE!_{j
zC)27@ED8~)%?XktT8)?>CU;r84JO3><<O}R(ki-2`Od}I_KFq6W5hSVTeo)z{d<Ac
zG4~BuB4vA^)-X=x_;e+j^d!MHmt+5+$!Z5L+j7JFTY&8E6~Wfw4LOC^$;A|U^1AK|
z>s@BRu8i^%x<^DAv@?a)zjZ)(LVa)WL#afXpTGWe5ClJM+#5F-EAcZ|L)D{K?q~Zc
z+*5PxlPa<2I{L|M(BX5mh462|+xqr1d8y^eN_SG2G?3$=)$gQvvNq<vM=_35)r?r`
z+F_*l$r+W=(O=db9u!+x`gsvhRxP_l#Zcv7<sk?~3`XHNp+Ax8e9H&o&f0+@Q-66k
zxC1hmOas{?X<lgXYlHeu=7Zn=d}&9#3r2T~yJi2$YOCPG5|c~zhM3{o&e4k&FULVZ
zyZiHXt}OG9YT)1kZ!>l~s`<`urFbjezYyziX~s&+M2io0)d7nE)`O;z#%X8$PeCTi
zw-&{k*(E9|h6w^JwC^{q@S1+y;(RSTH;pYxt|=LoyE*2zaxxw^=6U~p>}wybIv=s!
z#)>53Dct+RZzbMBJtzvQ4>*1vf>S|ue#KWv=gzX(Bg=L{bP+KXpw?qgw>OCNI(D64
zvb8r@^nRa9$8#uhC@xlZKDEJ>1rHkndaWh`ISLwas9&0sVtaT-{ST)>Z6QA?xtQN<
zh@lv1n=}z8CVjd|<Q|Mg1A<vYE@mGyz@O?LSmW3oX;X1qk-JI4*c)Xjv5oY@Xf%gg
z%#0g?z)f2E_$vjc3JNl;<IL&~wDX?UhS7ge25xiyg$mS7nPr|XV<mkbaYLfFH{}_V
zES;050+RH00+zX#8)474GOHop>a#Ueo8Iw+`=P>3nCLV^%-Dx?w-fp0CalKm5#zIu
zJ;>-xh<Pne6G>&Lp$I!#9T|PP;dfherHRw()!JNAQUJiI9SmSv8GQ74I(@Ub*=s=v
zdHrTx{DFRr)5E|DT5vq+#NROQsZ>S}|D=;TQqD(WJXL{2`Wf4Tpvx*%Fj@eP66z+f
z3Y`SYGjCkp2M*n8$L${JtKX8eMQpFkQpkL-?-*$L6`OwT***o<(|bo(IfS3(iLD1h
zgC5Ks$SXYJ#>|iTd)Xzgco*V{083s{RqY$%-H`gp#QDD?6ESv>C}Qwna{n-4yC99-
z9^b@M@B^yd2qrx^P7n-dpV&&-{!gsuR?GN5vP!pgq363P?*xn=^tmB*4r+F>C73v;
zOfts$i*%PPETV2|s65ZPdMd!7ch3~|aCet?B#n#?_ay`_pU`wCfXw<#4&Zyn4S|Qo
zG~H_E={R9WP%8?Gii#RTgS(TfX&pPDjL_o+-oQJxVIIu2S4R%<69E&yQ|kz=tDZsf
zmowy37D`or=?K+unDJ&-m#8SR0=#~zjW`p;oXh5ZzSx)-At4-3rYicX%=bs<8TdR*
z=NWH&jm!Aig`rf}sn^(L?#QQ&V}`xTrcxNXquI5$;jhc%LHrHnGUdr0C8-G(5&UmY
zwEEyabJ=CDk18hD0^-fQ_nMr@ZDto=rpl~>n}SzHyGy&R>7jA?xNHyZPjuyTvN0ps
zOF4Nbs4{Ed^?ax~3Hrt<N8bufkAiZREGdbDzrZxNz08T{n_VSX0hz}Cgt-oBO%ZAo
z{&ji~F?Ry)m*cKr^qzu&VzzfsHGS`b%|<UO>Zh^~jvW`+kMQk+BoGDg(#hyqLav<$
zG<=Qk#r)+q`{W1X!H%G6A~P$9XBvH<X=lj=dG?=EyH;;u!n=dG3CE*#B(FfFFLIcR
zlSH(;keTll2ou^aleJr+pPe4gefgN6EgopkFOg_-#;Q6n4n96TtMm`vLx0=_CNkmM
zkIEOy-zHs;56zN`z{SP+BT}4&7LZZDDV=#|5&yoP&i;r>q@*(tV>3Q`cUBPUiCGxo
zYCF}~f2sFcugPb7oyz|aR%pmy`uqnr{-@z%x|2QU!ubXl!JW7{{h&Kao6VmxpVH-N
zjm}Z!kmVLxkG)Hpd#Pt96W>bJeQuACJDEnIosZsfJI4|094;&=`3BVHUhRhzDnG`l
zlfA3g0b>T@M*P-TvURTC`jq=g%U#}@YDen@$eRar)8_Urm&9n<Xv{L4Mvq|JgB0I(
z5o)y_f1oAGKJ4XqfywXbbf-6__ri>v+Y1W6miyY&;-_Nx9pd+p?g9Hm*F9$0&)ka=
z^pH%=S);j>;QF3Tlk5j+O-04ETN%pNY#F}$hh7@ehmP3)V13J|=br)>W?*Z`v7-M=
zFkH=GP=I4R`a-$-k-CL3L;<y*$-&%-p`SEPD0wKydT||~canCH)tPCfe-(gye*j1H
zVP!O;o)vz}O9&C{(&yE+YVq2zw>^F_{s8^~F6P8Ph>Pv8$p`r;5(s<8^TkZx@+1yG
zUf+#U2QBuc$bAwnwWi^GA5*w_GLx@KH&cXlr$xOy1HKe0R{Yn|>7X`x2{I8~=0XFR
zqW#rVmxZYIoM|z(roEOOjSm*oY%+^2XVS~5^uxy?vBuEnVIEVbBly_4>w)t!XxUp5
z@Utv8CC~K$yQOp75Xu`ek+*B~R#78sPRDg(Mv04xuz;Qw7YaK=Z`-~NWf&pZ5PXl(
zsS{6MR%x@1bWGLcl3%|h*InlI&Ir>+Noh&R0&B$@sJB_q(XUR&T90pGuDf`2^DEhI
zvfcr1=omP(IeJYGx`fXKM!)<jaR7udZZIOrYMQ4;Moiugu@kr&s7Hz*mSRkSmqDU?
z47vbsqXWFeA|siTLGEW5=;c~AX<H&zU;A#^47t-0wEPTPJ7!2&;@SD#a<$zxqFOJ%
zu9<dC=pd70ttaT9)SXZU+)CU|*D?s@ROUGjgxLKXa62uLrP+*-n_k_IoY=FhU_OP0
zZRm<atDE2zp91v`u}yo7D|>qO+>r*bJ}DkUa>F<-Nw*iM(>7Ugm<loH5K1$iA5D`(
z`%h|4aOjVn&9vjSl_&G}7f4@HCB+rsB}w?v0VtDn&e%X19~_#(T7j_=zSeRSuD`+2
z$2zz4N#He(i6^{rV9%L)+)Ag1?sDA1%k7f%BL_GgHLmS~*a1b_QA-H1%*RXY9VM75
zL-p~u;)oOaDVk5aC*HZ}{)UWQV!1GUKq$|(?QcH^q-g8`RJ&>?qQS6g9qU_Ge<vdw
zfv|@{^<P>ItUG9ga2fRV1O4I)$nJf;HPL6U`M#h$rQ?>~(4Yqi=)IXBuvs#@&W5p{
z%8u=QuB^d3F03;xw-RpYy=E(r+}2tJ_6XS9{GB<ia{Z0a!|Fjv;itkbOQ11s&_+xW
zpe*ec_GCPF(?BK{`ja}9u<bfDL9&<?g1J-#tvUc?3m8{U)21btIuP}+&{gU%V`hpQ
zm9*7i?=75Y+wf*N7#UG6uBB~2>s*1+cSC<`3Bcl9zo}X7i~aiuinJ*FMt7P<^~4i0
zTr77gvxzCrr<0+A;8h;VkylMhYK^(C?nW^@BLa@s?xb#^!qcZ78b;XUsdDw<B<l%*
z+~$U3*u}?8{mnfP(Xhp7ton-l-|Y26kHKdcS$UxB-BdcQOWA%`(03=~;koQ-B4MDp
z2rxydq8DvBt~jDpM_XpRPXRJt(u4^^axY~%><p6}S8tAB7L95X1_=*dt{pE=S#>x+
zO_-^~p5^SF%xapwUl~^bR{dwf(HYj=hjL#sR)+YIqbou?=Rt&k?e1>qv=NB8Ho!8j
zpt#k^X=*k071&8Wk)uLD65o%q62swL(Mb%GQgNvW;JO?65LmJ*40OBCg_u3v{F!b&
z-D$I^pw*8~%SjaKFRhe%aBK}Elb|~$!jK&{P7!HiQDWwHU~zMy1t^*;6QVVMr%|E3
z$^18@CiC|M>?8j?oo{yKsgDL;+wfOV^aXWUL^4&}e9VZwUE%yiW_tMeQGL^Z);ms%
zG)fVJ0Ht+z2$pIK-K}g`3Qf874spSV7EJ65T^d6(53h_TB(=p4pBxfcV9;z60b^uS
z#Qh-?$S+=c`u+S_gKHmBhd+63wFFw@HU7wHvW{o9AbHvyq!8IC&N4@jZJW7PUs!cq
zys_yBdLL0@gT(7-;m8t)Xt%gIV5iT2#z$Af+_lZ#xXqCvWppnwG{1hYvP+K@W|0Iv
zpxVJ2Q6Is!H6!10)X?;L)sP0sGLAyPv1+ZUmd5Fn@RF4)v*q(sJh?GGld{??>+mux
zVQoxOTY9O#44r!FUKQS?22=1ztQRvPw8JlA6!J6^kR|{64STRi5j04d8d<{Ed=o+J
z3^pAn<-I2lqm4b!x`G@X9q1d1e1zu$AjQ8(4u+oS(C%sCweAn2^<b(r#rRl_y}fqc
z-`wW|x9G24YoJ&Q_@xP-Yd0Fhy&9qhGaN3qUYuDZ(&|R1QCw$-(f3kz5qPZRYY|u7
zOFBPdTRuyzV8tSal~$qdV0tD=jxsUi)U=U}99U)}M1$Qp#=#^MBeYXI^dMaA!#6+~
ztFi57N@PR@e9F6Tf~rOREpEaep(j=7y99y`tSI!Kw0!o{jWI_IX5ff;CiR;bn9o%w
zu5;gl)jG=M08x<c$Jj(x85+2oA&i6N6c=HWfAj%8Dr8B$*MZA#tsFJB`c3)BU)b)5
zMmOqCSPBvsG1}_(o<)qT2{`{;BfG~ihMMO{@_ky9CJ=TRm=$*Uh&IR9NMSF3=m3Br
zXDKuW?f%M;9nj)C4MmKD(b}j&)vqr8<_9=AS#eusSW%*!Kkwa_+pDsm()#xK{BZjT
zep0*emX}afY*Rf@`V$YkDJaa}Bibt9VS{y)erInvmCIPE7#hD$UaZ}n*ec41h1p^*
zjH%z;!DZ=MM$Qz#mGO(20iL<$jAQ2@a*y`AOaF<4bcrm8`IFjHw*7k+0?<sFcqg?_
z=KP0HJqSKGHMn95?3w2M!eZLM${$M(4P(ba!dI<pZV_0$$lJMQJ~c!3$m!0ft1}YI
z9#&XQm}_}P+w+=m_{s!<XF5z$Di_!HLZ;&sF40IUQV;-er{RV<@oK*Ya{FEP&oML@
zmeN-HV$1C$V6(RNz*DLjkR~+>yzFIFkDc&rvnkc(Gr;2v)la+E0oQ`u0yi%a`iRWL
z@e10b7K_%3tJTii2h3+XWk;d=DMf?46F<oVzyG$y#<52UURL2JzK2(qA58<#@r<-e
zttTi1_C8#O*WVw1e4dU?;zy&6($jn06w~Y<ONd0$ubNlGVRVm|tOC|Ma8ot*`NzOh
zY00-?<Um=^N}S49hukUyj@~V_g%bqJc*~EFK{27Ym{D-0bMUds2Y+)~qv)%Ek?$?1
z-?0;EO;!h#VsipUNY_xa2VMD5VwhCsL&+XLA80OCdRmtCIJ8Edd)C#@#L?f0+ojcO
zAs9O^>Y5Tyz4BV~u?l$Efk=+O&WA&q;@Z>bdpC5FHo3FP+<}L6BWq^tty84c=a9)&
z(n14EQ2gjOU^~u%&0TXEe__QqSbp@1J1*6PX)t8HW~Yoto&ggUoaaKU2>*NEaI$iT
zz*`n5>#aSJ;lwldUV1wFy{Takx821y-*SIy(M^@yD`H)dH-RK}B#jkfFzfjd0PX^r
zn#dz&n-uS|%&Twtbq`Bme0ag%%@2cQH^~Rf5V?iVVrZ(T6Z>eXKo)h!K-`59SV28z
z3e0FWfFxj_1Q$2Dc&UoAw_nZ=tdYFVD!j>hgSihs66k~a-HI*cwO6PiUN3{&?hb6H
zW?cI-#(hNXTy=$)y_Yvqjr6cn9b(*QQ&c_zAr<X_#4PVC3~wE|xazK{Hf|1k7u)cM
zzt>-XgF6Z9-ug00v9oDOj%mZ!$LNPY=ai~WJ(+RoqBw2C0ZoB1GYH^;ZK6yZl~0dm
z?XX;b!`*7GlClKfey4+`0-shH?SwhO4cUd51*QTf)<BMR$!n`3HU~)P1=L^j+Nv~Y
z{tuR7YybX33bTT^Hzij*%!vyEM{C3P$km=dvhqDJb3>Mn-@z8=S74%#R-QrStpjE(
z{`v=@Y$gmiRiq(mpBCK0jO(TZhpmL?2GXA+*?bJ=(L<Yr)G@6hcj<?djBBUzq+!!3
zBr+eF<eF(KE%k_0e)8Lda&a%WFzVa!dj1*24ca}vm=Zf~Q^U5Zyy*FFXx96^Pu*eE
zH`KI0eyW_bo2Yp19J&WFY<_t0=F7R}gn{<VQ{^M2U0Lw`nP!~UsQ}|_bRZrs+*_BW
zL0g3n`;VwC<%CYRD+!7GX|{x7WyjKaqWKTg7#^H9EcLH?|9tJVlVhmCM{NJ~xd%cF
zF^)Kf-+q3F1qWXwj26)KdcD*zp0D#1ct~pJP~WsKsd8?8T6bzS^0rbB+NGe4lo>qa
zhcE>&D(y}s=Fcz!Hwy1`x2{A0UIz(IF5gs+&8<UkBV-m@r+=Oahhv|fP(tR8k7Hp>
z#m(EyS{drN3!bgVW*yqFOyEylZAhPtBoBaI<b3~uRZzC_lq~~$Fa;7jkd-!@vm5g_
z?c3nNc??u8h`^ODGWKDt-)f8`A7Qi&Sn2M$W7#;sHtxw-r`W?Qg22-zn?s%)MozUD
z|3hMBkj3rlnDngDHCSFkZHWcb)cpiMJ7&6*pwfxL?gC5C+}Tmm?!&PW7awa`Ih_N?
z{lil4gdBt^R{tAqy|WkPh?U+l7WjtsJu{d(HR(BCfsmz7Xp5{N2t3w+oftfj+pZpx
z#?eB<>5`07#TNYAcFTD^gbL*NU<|6&vXcL;^3(NtDynQ`Lw*>=59|qO1S>AkEsr45
z{cfdgP``&qve7wI$Zk5)&achNuczjVe<BV5d|Hp9O&YBk4BM!KW-^}iezjFSsf#pD
zI>S+d(HCO1sB;arn@y@@)|)TnCVnqkU==DASO{*Z4;|r^-@R@hBTV3@T`toyV=(Oe
z(?Dj@SZ@8|8vhevg0aOwEefmoJO4ijd&{sWxGrpTU}ywXO4_0YM5I$tl*XZZ1Zjql
z28l691(B2%rMnwO>6V(Ih7M^E={kFS-gB<&T;GrH-}C4=vt#YG?)zSAuidVFEg|Sj
zy}P(GCAe+p>+nVrgXp*yqKPu;qo^y0E#SnDe<5?!;@?`p8o;)r<kwU5Lz(>5T`NN+
zk*w@Z;$FKUHb2(1g1hwcZialM8(HScA%5Xss0lbi#@NI_8xDh{D$S8-poenoOl{Px
zL>jO%J~OKv_H0~W7u5`9IOrm{AW8m+5y+2Ef)^_LF?s=@D$TUyXACmXPxU8rLXvoq
z@jxx0@4jm9V6d-z3adYQZPweVfPIZHK)I=EOg%*f7(KWm@a}5q$dF;_f}rcCcIZ+9
zL9V9?L+L?0DE*v6@n(<9Y>H1+3I26){)rIinDI}6eaFY(JK;q_vgh}Eb~LEL-mA`v
z!;1zMPQ}6&e4(D^c6TT5I1VMSrmP?@qq{a)de&U9Y(i-+Y&XT{mtnn{wqBhN8+2gh
z6Av5aN2p%&ETP|BH8IGyZwre6^POf3Y*y3e9bucFzSmfHaya~&lzs-Ol(Nh2{J?7T
zkJHWxJ0U)(<G5tqLtYAVNVislB>vBobymDH>YAaIUB2lS@t@)wj%@@GI7f59ht=`p
zGy+$a9<uJp)-y*T!8;_|=5!gI^o+M!P4jh-DKMU>33q6el*i^B+)c>Y?VkRa?1jrZ
z+$}Qd0H(tq`n_j`5GzNFH0mQjifv_uDeomQe)pY8odvU=u3YV%Cz7<{>K`7#C$$%B
z-9`D0jJz}<Fkad_YO?9b+7>Rr)DR0RWHOAHnJ@<Dq6G0t;<=|nmB!9e2NouW@YHDK
zL-@b4yKa0AY&QRc9#uhPR90c?qirgI;T^ccD*q~VG)g>0FbSioENHD>UD(V%QXLwi
z-#xixYO(TQM3=0RC!D#qxjTkKwO{6u@}h2pk$&nhIwegIH-PI_PD2*EZ-<~k>bx8|
zW1;&+*P@#$C|KDO{-^E<8Mv$(Tju<T<W?g3vm2+Ypm(i*WbVry;@<93734Sq^YD3x
zcI3I=@_R~S@s<A5xCM8UFw!-T7k|)xe2-FI^ws*{3-uZn+W~AxJ|f;kzr$no=&^}T
z0_qr4`*1c67J_}!ASyyNY)j!!-3wO%HzyI5cS|Jk#5C;BWiv;HQPzg*I-p|*N*vWZ
zS@9k}P?d}-&C00vcoft4paV1qaIALp!T<dc6X16x2{S%L)KHgQ>k0vG_kQnG!Cb=4
zE$d$S5Vpcbjb#Vn$kEd;ASyl82Xk+2s0R3|VXRUebXuv7Bk+($R-y-<pe+LjkWVKw
zo@X?L&o8rFK6WO0w2=lCHRt$H4Do?_wpF;Kgn-?>_iJ)x7t7dIs)ZC4)FMOUbsS5{
zaMz-*Y#CQWqqo?TQJ!2@u{)G@VZWNMOx?;?dw(_K9L&t<?U&95$~}s+EAU%coW&)D
zj2w1SUVFz|f_AQJ*staLm*QLFAG)3sbEGFBG0m9FFJNPa?>EXv4I%CC2Za09U48)>
znQLvHC{j>6V{cSlE(tzCjVH<xm=yBm%{53I+((oRAKlIT7$`g`U}6K1g+M|S7A2Lb
z?KRz7AmWfz!u;a&BGo8=fOsTKVN(`M&}sogY(USXvp$C7@t$`E1lHvT2s?vfq5Kdr
z54KtOO$uj&)24*aW^kX4{$20anVVA^{B2~(9a>t7ywK?KAz-&VA|(dPouHs@WoQGX
zZhtP<I<OZDyMsIr95u98Dj!5Q6#W>z!gTPKwSTv&n9joInXof;7UhPTAi~VSm|SXW
z@5t0)?WTQ>yNo;R&ttEvHRzSyQIq$zdH_>U2bK#4SiB#J89a#}Sm=p-F${V*JkB)$
zr?VT${n9@d?L!!d_K_}WVwvFhVB}PIQHWnNzFX{9xSslxVE8f^)2z3jpdZe1(D9c}
z)ZLhEmR42s@QzhY377flkCk137f>ndTj2&v{x_|5hr6O0Q$bIXx(F*m576BtbL56<
zWR#7QDJDUgg}z#!ieZRcwvn5J*u&HOO}&N1SRJKxVO0Zt!sy7=bm6a;mc5_Wug}5_
z#toD94b_SHQN2R1X=-$Wbb%4r+jlY7TO-M%lHFP6(ChgE-sED3T&EegGoQ6wiByA3
zx2+dDo@`<JRcGx%>4g<l$2qM~aS@4_&YL<$z{6!xP-dh-mwz}-9X-%Yzp*1tq@1H*
zYh1l{KMkY%E74_v8GK$Q7Ra;9cUcrrvC#{ITUPUzlc*;NwVJ*Zpp1}Z@BO@<uh`bT
zS-bUlZ(u}EBt;8{0YN;qFs-&glJ(lnHg`|SgUgZr0R4RYp_)S!{rchOD+?7VN(r&W
zdaYW01eJN!?&pj*X^Usr>a*Hfu_#28C29?96c!bYZmS1b>Liw-GWAxT_&CBVEd;Nk
z1Jx4l_R@nB*SNW@NOJ3dhtGi4SKs&H;}IdZc=cnd`<7)0aY|Y@^EF%6k4l;im=fLU
zdEg;KYWQi#;wMHaD50N0*BWUKuB|l?Q1B9H3y7g}jD3&blAnkhBDg2ny_eoyH5VBC
z4A{J2(0SF`$=#b5Hj|!sz1wRRs0hr==E`G`w-A9da?DI=&K87Bw&R)Mg;Gqp^ErEX
zvRGB<mRv9nGgY&c|2cF50fQ%tf*M>)=6)y%($#(0p||u3_vZ@jqDWMZ4X9E`5-m1n
zbS?b#RPIYZz{UY?f+tiPKx6glvISI2#Y+TZBY+#k4;RcF{kfDcbKw2DjRiAbwbbuE
zDHxi~3HP~mYTn)c-gl8K5ED3jmpv3*w66ou=FlRghf+1@L@+^VJfpIK-}2n8)44Kq
zI`96q9D=GBWtW~Rx^Jd}0|6^-YWv76bWQ8QJp$$tTKcE@nYAbAaYg*Mg6ws=np)Tw
z<Ru`hN@zZ82s*2nD5)%uotJ)HkA<1u%oJaNDYxO7&N8P{Eh}tX21-_-Z>=ZLz$u*{
zWa;~|?v$WU2A8WE$yalQC6UyTCGRo00H(suRs`*JP9^cZ8cWmruct~L%IlG>6-@b9
zLz{p6twV&4=|Z+4-k+ZWhx*vQVu`sv0FPX7DK*1g+L^)XH-a=P@uyHA+psHi2LisV
zHX(h>W|mDkx6g2Wt8UF@OfjXF{I|<@KTr6fNS2<PLa*WIg*x7r&4!|9k*}2Vbt@jZ
zZyoL&z`s%-@mUqks-Ui<b?7k+E8_ZUR82f6NqW;2H9B?LkXxB*ZPKr$obsM@=XPY*
zsNv;6-B}H64Yr=J#W+S`a+NVDLH!!_NcWEW-u*|L%VWa%=lZr1M7VIkL0R86(F_<%
zTy;Qx1}NEyBqD<Q6lxXv(E$dYdnl-uX?G2Hh6#BUI*kU?L!Mq{kS&g$NLp~6eULdq
zQn*i+IU?4p+?l`5?3w{vvsKk}<>F{;(;1X`2GUoCLX)&w(#&1oWD8U8gLVxXW3h_7
zNyR(e!tbRoM5Mm%gvEx^&^)YQtWfDu?@u+<G}u8{H0OuY89!tcqy6>G=Yvmr`I-7<
z<sY-I+U7-{1;nm;Hg>g~*ViSPuW00jYk}uPO1M*!+oYeua8OWS>l?=-Uz`~W{?}is
zh#hpspiT}7Gz&DUM6*5IGd_gy!)swYAqK~u(dd)+Ar?ghsSpu!j=12!@CtO_7khN(
z=Q3Ri>7dGdMOU3AS-hOF?L$YDne^|gzs(2O4YhnU=H4MWAyXs2HqSqwl>Tgf({jR+
zb<r@BM(^RU&UmobpLXogQQa#Jr;L8U*;Xfx^Q)qjD+-2HUh`+m)tS$&&6oRAK7O$f
zW%c@%C`)hp!k69ort|F*N-+YV4##lx$u};xj?o~5qvtN~w2yf4#^N_hmkS4Ih}rqY
zoCLQ;t_9XQ(tO$8owrS=t)cYbqi8>y%LO+D*1sz|exts@`4|H+>aJoYxwjtT;n%e9
z+F>F)<^H09&)-PHdSEoznyu+%YHlU2sd`R&<y>|qK;>DmaWm_m^&}2U^{_Rg7+lkk
zX~PFJ^|J6`!vL+76KG&M`lQ|}*^&SLQ~UD__wno)MuI8GB2VUZWPPC4?d7@if*8g~
zgYVaL;Pi+?OY7&fBO6Xejw)J9HhmtaMX}_c>AZsRyiGQ1A1{2GQsBU!q1ccv`LR;f
z;Ot#<v6Ek%{I^?_f@PT1@%4Ip{{724K6*<<7J9UWj0Z<$9nr{_vv_G8haOKWpMbte
zA&M$N=4^NuWFzN+eeDIWq|+Hzlz(0+R3rlz@U4R@h22#T=iM`PKWV$a+a!j>n6sJ&
zkQCcPu%1sga#2haSb)LU2$CI59JZMI=|CJ9MlzsEVV^-yrpJ1NpHYr99Nu;&vijA+
z9g`?E<=p**uVbXBd$YEXLiZ?`9o~ICZk-5*uoTK<YZeR(1@^1SBvm=SWUoDeRhy+J
z#Ri8~c2&M4rZ8~k#SoTjRtJpSmAGn^W0s$E4cCc@oo{tNuQf(2FJHjQMZwh=uYv3g
zD&(|gIxA>5WC-acXd=9zxJPJZA>(#A-rKRp6I6&XxVTkSIM*}x<Tmy}2^jKINd9do
z7YJ^&UaZ5C%#lj=t}et?wj}p|t?Zr`e`CdUSpyY3tEHz`YmB(vKcgq8(qq<;U&s$%
zxT=4z<Zu5jQd<{lQH77Fg?}q&s#43Igz!|{iAm4fD_pO)ga<1rH~8K_0}}C;^x*Kv
z>*qDBLTQC}cppruZwk-@lYSik>oaPLaaIcs_=1$F7^_ytUs1$JQRBE~v-%LE{u%G)
ziU~EPjgN)t!j_eUvuq%U85Bp5X9Oa6)}VY}K%z_#fL0nffH$X^ci8m)8?cgRnG&}!
zoz{#ya~9XR5Q^N;zN=uy$8Up2n^ZGhE9_*{*r{cmsy*-d=8u&1{&t!gs!MF|PXhNn
z!AIB#51*+Ys3_DP2xkxHecpdr_cZmDD*DfywPC9ECS+36?TBk}sd?W80?jzLKe!uB
zjCbi<&J`r)JvG3XVN4&H9G#&IXWc!EPKjr)0X%|tB)rq?;qL%~N(T0!@9sO;8d2s5
zA%$@O61H|yWs5fLURNgI8RqVXaNV^`a`$7@WNwM8jJF6pEKH+nAJM}qw&WL0zKd<Y
z3jp*vtr%VT+7T=G`k4fs8mdZ+1v&WU%|hU(;>~%Uj8qbMUDM)Ft>}fr)iiV*?1EPp
z)zJG`t2vwqN0J<rEAi(ekd4b76JKo3AXaGZ&_guv^vNGIL7H$H7=9O+dIk%d5pFg0
z0Es?<7%|rP6LTzu+SGnU<++7v;r(%0GQfBqqxykNKw?a=2-j^)1>8*eHYF*s$DR!*
z2skWalwx&T2mqD*e5L=b-*bSB5RfeMWv(ZQWDbt*;RlW_foVdqGo&TYtqaPEwug`@
zvGk6V&OnYenm}!~Am`+S`&7RSs|wwheuK5U76x|V8XB04((I$m80b-J-4==Jm(tUT
zycfQ?FHoGJdCGYAu58x-tn-JIa9I`FHNFkJwCBnxf9Ja{14@-P4ag7WXR9~8{K0zN
z&H}?Zr~Mt8OLxu5L=XAJNHqK7L}m3F+b<q|bz2V`deAt>`8bpxYeCE$5}RLijYaT^
zB;yzWSY#9Hg5VH_=-Vr?N>UgX$JDWm(MNYUW}@q0+_X>kdcr~(59DFNR+_CGSaNv0
zyC2b~nIo)3<Bt)xI%1D_swChys!^0$O<PX?8_cpHjF%4hhEVj0QQ^KhJO{QWqgn|W
zylxr~C5f?Jk%1Vw2~fn0PHk;>el|q3gW^p5?j$Z!kGr!FT_`W3cvdCi8Sx27i?MII
z;HH;RZsP*aj!}NDYyw(sk{vOKK^VdiACYpbIbR`0?gM$C%I2YId>EqK5OG~?fNDzm
z%4EboT%fg=0(6$SRaa?6)y9*V^<qdjIf%iOiBJ_|=xL)i;AnHBWTNOzHa_SV_A|4{
z2PSlPl9q+!HTD;UE@|;XL3kl+ko!tqal3Z$5u?_?5mT@7q!}Jn#lacwyj#<|N2b8m
zBr-={sa~IFK|L(o*O!AnxYf8HgqNSJeFz0D$lkrJEoyQ$516f2bW95D^3x}~XY;m0
zf>DcZ!=hJtiXM51=cF7)4W{V(7Np{_?+uQ9^3jGecPFPcXWu^NDTh=I3MEsQ^bmRI
zMjGb<?Y)56(Cfy*9RPgByF1nhkNjB8#CI|)=K!u`&jEqHwA!Yhx!wpljI317^^Jj9
zOysKh=Knw~-{moZth?*RQ*8uZ$Z65COg!l8x`uk{UL2DS@LKEi-8I13{Nm9*1UpQs
z2BpQZFj+jZXHMA%n`+E*S+E@CO?Y(wZ%QN<iPHNQF|6^U3&Xdoeps+jy#7VBf&)c$
z1y;pjqlN;%41Mpreq(Jb@G?%1Ie~Et=NB^7=<U=w$dQyki0iB4e6)dm5rL&)G!R1?
z{7Mf5GM8EY(4xLV6BJ~m^!!qA1}QR_DCN;+xE^3vNQF{;V@A^JSRS`&QYI)4DMax@
z?R0<EK>{2SN9|63$vH~!Uad#fjnTD~+(B9*oLO;3qhjv@r&qGy95yujNUHgGj{>S&
zDp|5lSmJtEXmVe?6yz`n^1v_WAd?1KwUctv5r2AEpbazsn@fcV>Bi3r^eDo+sj*X2
zbqQQed$B+E<<<m0{fI$3o-Dd?i076^n)|L}T1PyFC{maux*DwHyRrOATR5j-fo`P9
z<CL*`aF7KX<@w0Y(M0&0xB%~BVuHBThiDVHCAUaooUg-zi*G3{S5?!sJR?l>OvPLv
zR?|z4AQUvA*b2k-KxhaP@k+Kut^99VJ<+Hl*JlLXl~z|bQY|o}(0VuEmg{K}E8+9o
z3E#(@05ho4e~9;a`7v%Zh2uB@D<`JgZuZ1fnOliy(%3Y<%>Nbl6Ec()mY0BL_z6_f
zv#4IQq_BT98yajur)oSJL?udjR7){{YtZRt0HUVWN8@dRJj21bMje4(vN0q?(w&D^
zOy$pV?=QDORD{IdI^bk9v;OPz%wRB8e5|d2OhX-<UM_(SVkD)Q&^levGgNu~DTVR(
z7@p9YaY|<VdrmD?n|wjnYHy>jv;^&;-Iq{XZ6Q6PaM)ZyCLuWo_{MKY0Y?3sE_Zic
zs4#)1TJmn9&xt)oRDJY7qu<36d)iOdCIX4pT$QiJEFp_V)$DWoo^7M47J=;7;sX$y
zPCMSOm-xhH5OTFZu=xrcF}=(AAj+N30oToUaPwid?gqSY9}dU6&;NRS;$YB_?OWwV
z)_LLtVzmE-wa-RXd)cExaI`w`05u477bm>oh?Qz4Tv2KHYiNouwF#uF%A#sK1F)Gr
zO}aRzU}UdUIMz~uCY<Y0=B|g?HNbcp5lK}T8?KU`j`gr_9>q3#E*v|4t(Kx$@t)z}
zKr5*?m7+92WT9|=;9LpDiFBV%GaSeD(abQi?aCV?j)l=1%1#P0Ts9MnaAi^=hS8fW
zKF^~k?mh@MF@viB^O6D~3Q%t+JWBknkQ&?M%FELC*{P5-$n4%xm>_cD{;b)vM4Xq&
zh>I%-lTJxY{Y)Lmta|N$7%4gVUB{P6i(I6vqex{5hoqtdR{~Q2hou5lLS+?GUiLFX
z)0J2xOCV72fJ<f)bd`~{pA&x%j;Ld<csS=zpXWlv8)CDx|EP}^D)!@y+Q@=?CL|MG
zVlRTqnvnKLvcS~*2FZwX&|uP5RmOJq6Z&Ax5`0;m_%7HZw#uE?xW%g;{mfdAKylgM
zIMBa&hL`jhlT1ygqHuq2{RICYuxgd12DMme&(-CW4eC6oh%cy)OcWla;6(M_sJC=~
z#{j$EmD^{f!u9bb_*I75VgSizL5^$_vB)vJXRP(hd6mxQlG6ASXUZOUe!mxyEY1Ww
z>A)<ootp}Rcmd)iWrQni6!#D>CUFj^QN29ayb^7iIbz<+TmlkMv1qkNaCIXQM}hlS
zj_7zx%7b3~0B5(UgHouuEZ5s{q40bFm;!ra?LugR8Sd<aWL3V5U@=_R!;68DUc)R^
z>3lo5tsqFtNC^S`v^LTE^?|DC?5mF?V3Z|Ap_4$9Mc+&I%6Wf?3tI;gd`h0?ddk?0
zm<fUyuFN2P%nYmg+uIpvs<C&Y7S+$Kg96y<1H~FH`emB$jj!y+K6LT5r&qty9&-ys
zf?JPi3?FoC;c8T2>N?jjr-9*#uD3I_lVNM17px(!HLTr7*qUx8XsP9L%9A+_Q$CJ`
zwJGNU*AF%Nb<nRkw;!C7vi8`*t}X9I6}VMfeZXfR_5vC`{hg2LF77m113=Xe<sUS>
zOq$4t2edDi+efSm?pq2FAG8sK2jCZxu%*W^lD&>FNO0i-H}XBwGYApeQVm63H{m8>
z1=L2M@m5t<G_i;7R-Ix1F%Y*nvYx^$-drq`3Eaa4l*ch(3j9o36;1q1vo_1MSr8|?
z!WDz~y%?A^-sux&SI(Uxv_#q1X`+>ky7j}5#ADkiX%GLKgj`{2<ryL*o%ZtwJNGy2
z^35N+jw-9-`o4xpgDgGv`s^%Gk!;Fxz|{as=C3h~cwn5ws?h05{z=fp98maE<=jo>
zT&EZqXLUL@<>PA91Enxuh{K>X-k((oUh|~HOOfe`%dww(8a8cyxU<j*8<7V6rL&Rw
zfwIs6?#wbl<Xo<DuHSuyiVo4e-EBN$)T>PGt0hp-F3_yRaR4+%=p%A$zk+2YZzzh9
zP_=KonMlmd#r4eIs(vD+XO*#VLF>;OgKy;vdI54Iv^=*4t=_Wy_<QRuB2$u#T=GSI
z%Mi2e9qRe(XwicS35SUDJcZG_ZR~vZUF&Sw^HTxRJH@V&3){Ge^xI~2b@lnjMPX|$
zG_)6O*jyMRL0xlAC}2$hG*Kr7*KU#|9zpvF`U(5n{}MzHgNE{ms-f(6zBDr<hO+SU
zvv07qo4r#FIe^pcSY^Y6*D%_319%U2^JUY!Q_Z1mg5MrQaIqa{-_h0)3>2*@beQ_^
zNa$!Z&`j9J_j2)~fX}q2klLw{uqLy1Wk%LM;Gk#9$=ZGb*Gt>&&hx%TCv|xB={v*q
zL*!x7WCl?$;j&GkSq1-T4D4+nQ=oBg$;-f#QR284K@Q)R><|i*iF?`Bm$bhFW{*kD
zu%e9mnzSTz(A+(}4WE0q!xX%3um9BL4O%}G)!e#YT;#p~<?qp7*~Rb6F{6!}jTGDB
z7`kHYmDa|_i%mbOHCN4YyXolzETWNqQ{PSKTDT1u6-lXepNZ7h$)nxqz`E6YZ}g=>
zA5osnk!qBTdj!Ly;ZPU*(5llih4*;~?&$upu1R{{K(hI_5L)Cf5hKg5;oUzgQ_8S$
zYntw7+Xt6ebdY2HdSN|>`9+n7U+I3h84zQV_C19H_RefkKl{(la0b+$Q;WosWok#W
z4H+iULZ16D)hKaSvI@~i;w2DDvAFaa&$4HZWTRg9GS^ez&()~oDDF{I`;>e|GcRSX
zr~ZDfnZ)UQXcjo7vH&y0y=F)VJT}1rj0}cErZKGIWWQcLesuH}Tf+P6Nyv`-dk2tT
zhRt7N>aGY$o!;LecTPl~?1?x$eYzg*T?D5K)|5B*%8@kYtQwA^#)So>k3z|{pSkLW
zhRP22V9KgEMpd;;<RM^JIC*dOmmxh=&&WutLt1Uqw4sRq!LcKmT$DQHCBMheaZl(b
zcQDq={?dYcAgwGIW(kh=I~zIIKVy~qXLXGRji{o8R%dv1c>ks0%CBc|AiMDzKEDIl
zw#VRcv=D9*DKJ<3dUcceyl@6ZHF*3L&4OrV2xXq<;IY{{GvjtC(>sIr#vi$%7~_Rc
zt*toM5&oEE%(f7L5Wi9%pO3N7lh0t8y>j|SIlY`pfii11j~ck^>i|cOzHwFI7R0U7
zdr%gyT473N8nC;S2AWJjjx46~N#)+!K9-2;l&E&E^qBjvL-}KJVb9%nHcU~jzhRK>
z3hHzz1zO8r$66_O!OH(pbYybc3~=ZtEv)qp#!~=Ncto728V-y3D#0;>4MnMPFIt5;
zN`!!?Qq7C*XB`u^Y^aRP>i`5)9TgKJNq&Sc_RTMm9d|qeu8+AlbRN53Ro8UDuQ!on
zOH^mSt_3_LndU?%!XV*2Eu)sKm&QsRX#%AbRWb<pJQGEkVE(PsPx0#`^h80FGN(rU
z9oZ*p+B&j&!WY~Q9e@^`<8HvdyltPKy(KrBK&J~j41gtLDf7x$pddm&Hm;)65c{E>
z^m{|0RQzGnZ4u_NC)5cCglJ_=Tv)4MA>EKLWu)jW<;Bzoo0tD?U1|*}>exyGNzTZ`
zGP{4<3&oB6t{ujpa(PS~#K{PCQ}uhnMEC$~P7<kB@hks(Gov+-z=K5~Y65Apm^Wrp
zYNIJcfsYn-K7Xd_^pc@OENt(;7d0vbald#S{tD%761Kx!pZImGUuNar*C=L>xff$k
z093i!=8bEK36xpTOO2(NqvWkuL2TEO80dr&H}s4ria%YPoKp_m)CU{g2lioi<C^R5
z&n<d!b1xGSf^PG)rC?DRHK#iJ`V7SIenF!@8GtRjig*lGG5fZ^I$q9*3qgoQ8RE;^
zeiKfQs}uss&+w<vZ8lKJyQ4t8CmF1|TN2L48*G9P`8F!SnNrgc(XN%Eiob!f0+6`$
z&cBcu!gzhGO?NR&AM`RIGZ8A0{5A1()CkynHa<II_%8TC`FBcidZR9g<pk+fWo@0t
z--$>Q*A>kE6FQtLzlu=DuOAEBC?$vZ{XTQuKnpuJ7KGr?f&?DvhB+^QgzPEJ$qB<N
zyE=-d0J<JRPoTHp&tq0_P1C@kBL=@8H)^p$kb^%j;VoVo1mpxdz!+>+z@q%yTPRrR
z&zL31ZK$YFM+8>dBM<58P6iMrIhWmRmK9%e$^W(l_d(s;!aAJrL(Kx}^xJe4b|5h-
z-3gGt*~%J`>)7Dgduqt||2|z?qb~{<h$e`6Vm#gGb^CppvV;cNC#FC*z&(g}r0-J+
zT{<BaAK}E7v4Of9n?Fed?*bduQOO4K{#9HWlO;b2)vsh$nV;Any>^#cjJzD?iGLp|
zMs}o?vY==Y6djISVi}jit>FkK(xf9#lE!|iR3$xaf+2m6z+)Fcv+fh`sLJz9<igLE
zk{NJT;SV`IR_Y`-r9iUlYDRvvIQWqtto5+#ow~=jBs?kWgDPImJ*G-e-%Pp<zLo?x
z;}(Td38ai&{Kx)b3;M#id&!?@aZegNmW)CbSqRtgR9)dTplKZ>#TmL}>IAm|qa;7+
z4NH@le;e?d0Mt?HyZdf<td#a>`xB?!EP*}<WO>e9Ex@roO$lb4eCy@EXFozbZi7kK
zc}1jn45`qHuQD&SJ_rTf-3!l$tWwQh;kt=m1$`XqBSt%cYj7cWXd0l?;<>JA@EBu3
z&l+Sh)Vp^G6%pQ(!JWpCH@Nj1l=AR!(_WRAkfZBcFSU1sW8#adPjE`(@9Vf>2_sW5
znI+3(v1<el@8ks?^u8akhJ6H8La}`fkvI>LaT5$Fj5$p0=KMYtT)=6EmBlGi0e5m9
ze6lccaE$!-g2_ZE_%YsBTq5kREz9!K-?jcssK{xu2{L~QE59w0c<coMTtGywIs<_l
zn$5qVnZosQ7v!b6v-CN)!c5BTx*#4~a|v;jEs9CXIF0)%-~ap5L^(HQ5^~RIqLSI_
ztwznk=#bLP!-=$|pVx4N*M<|k`4R(jQO=c&f!W8xmXvdam2-_^VH8y=-1`YIW!}u9
zt=X)qSRZK*OECq09r;{!t`7$JcHvez6`8!|?7_G>3`WeGpB-VK@p!DNpGw$vuFMj%
zhDm9HXF#$<Z1pIwTn{8$U%|SYFOXi9k8Lk9sLbJtum$g8EdJ+$o)-k0XaB>hwuO5Y
z=wf^}IDP{*1~!hGLAr)yMA&j>?VPkoo7YEEOOm8ZKEg%3r$nhAS#a}sK*NjkvETF$
z$NVUbvtk&(R+<8c3gBrGB^#WgM~1i;Xe`fp5-Bq$aL?;Z<TMrzwJeA5R!qz*cXyV=
zE@_3WmWFFQqim~7A>Nna@*RwLLa0`0@oeJLu6-Dq>*nP!wQQk-dJ@PUz0LZY3Zq$H
z`Nyt>0Zx1}$V|VE+G0f!-qTYi#FKRXUsi}1AJtOm#T>x9HEESctVW#Aw?upqwW#5k
zp`9tlLU6<NHv<)fs<q5-W!qKej`1A`zvD*27X|BA7%ES}Cd|>5#N#^k{={BHw4-Em
z?7z2G4ium7JG4oZNK%W@i!limfc%dpc$~sMB|j#Sz?cxcK~T+c`6Yjp4*`vECpRUq
z!oTb9Kd^*KVZZhCrm0Q`-{sl9E76D4KkD};J@=|b*>vc*nB0DJlBYUsB%B5`T@Ii|
zd&uIX@r);v_W~L>*W>3MT&%0AQvR8pegU+;7R6k+AC9(6gV|kmhJGSv{-BglFJn%E
zrku)-sWY@sq3(P8c+zitOMVoIMdb3lg2b#57)d?KQwgi;s7smbu4acaCE7iGQeu8X
z&NAmu$8wcuIuxld3mO_-&5#UthsP6)6h<+Aw|d^;3dA<YfSJ0BF9!(2dLegnB~42F
zF;d!&x<?5&PbPs4XZ(vn%*&p*{SWcD4z>X?%aJ+a)2q2b0H@n|2nrlH-Scj8W#%CZ
z4cE;iY6=m2gsN~%`0eXDI!Xmh1TTjkiwoL6*?_N`yXv(b;8j(XnEX5b@?f&Ofs@Dp
zxKFqUG!ic$)biWJdyG!CdLHS98@}HNzYlE6z-J?o=U8}XLNs5o;K~0y%sucz5xVY1
z^u*$t)f8uTO5*VJ^&D<aB3-y%1a&ak{oblvp<d~A(uX?bRhglokN)@1_|c?cha6Gv
z=C?9B`jslT@;!9gvkWS^0O0cMxA-0xcO8U}f78Ud>d*pea&Tke!FA{BBzQW4wmJyk
z?kJ(|36*~#$xR+WiR3z@iPtWHh&*F)GjG9-Sk`}$oEnH>3lGI;jIvV3NQ8yY#%~qS
z7Jo$N7na|y0u@saa>{@H7sge9qa21unlO-#{Su_wxX)|Oq~<QauG{)Eb!8jpN;6`C
z2Na{|FXe3umG=yKF~$J`SltVK@K^F~5a9UL`!ox>Y^~`uego$yp#ZPWX7=DycL!1g
zCtk{n(PEs}C<MU5<+ks}=br#qv`&lrY#cnKnf$k}hnlk#vt4vm|2=dP=Drl#sB~S^
z<~$icUAXRzm!;NMxn4t^JJdFLszyL}z}9YoYAi@R5T4u%ZIb>!=c`0er7z0~B`DFe
zbx`-^WD7%Vh3SJpL+C{kJ-tW(;s*o19&S35xRrTK*_H*-rq&}B(^)a2l^mJao*4f3
zacVEp8c-e3=hSk5o4h&I%LtQ>T>3GcYkCxJac$K6sF_ZLINBdUv%)~paOcrKpSX)#
zp(xTYEeMZ`KGG!ncd3?4q=x7#qln6Z@Odd|qzPj1CT_hRMuGsqS=PbNkS^ar3~@-Y
z&~eauRp4hz)A2vl2cG<4$)4795bqDXO|wVP2EzVC%dNM#k7P&x3zQ+(aBJT96*SBK
z>V^MKbF|c+4r2RIrkT>tXCp(&V2C`I6n9Qq0VHSP46Q?^sFR43T>VM6o_EEUhcnJ%
zb1y?I{@<e;R|RpAG!&%C4tv?5F`v>GNYlUa1Z}>_as~Ie-v|TfTEwaOOL6l$I4h5Z
zfKoK}43F#9bKshvmu{8X^8}lC`D6Kk>C&{-G6SrMM&@13U^1w%dCv2Te)YputQN`G
z1KXkR^HpMB2s}!o@Buq<pd97KuUCcJ->F{GKW(721sGAEj?eHV)Ujf6bA>yT8I?-s
zLpn%nTj;)@@gzKza4YelEi50F4)7lnN6DS8t?!KKx2yVYk?#n<GIG^z1;wvMb%S%x
zXGI!mGCEydU6#tZ?XM7IgO;|1I<~g9L+C=I06h~E3g@Tx{oqtN+=bGteitKt^qU!J
zVgZ0WTBcaR5a1XT__?7Ck5g~IlfSv$-QAyK4>F8Y)YbWkeGt<P#|=-y>7+*zUl@ET
zzREPmT3_QeY@s*(cW#qET9HoU*9UEo5%auVN(Fm=6|2CO8FNQmyw+hLm~3$0pmB(@
z_w^86G>TuOK-?qLg%Y334R{{y^zTuV|Mq`H=_xD)VDumg%?D>Z2XyF}x{TOT+@f7G
zrDdWo#ve0h8?()&20QDU9n9umqi1Kgc61<dSzu6p@{w8mm9}q+*$4;H<mpZwv)oH}
z(&!F#PKkN7NRxtKMn+>>Tx~m?M=4Mn7;H$+*<tggn)umHOR%M-<wqT5HJ`286`v7l
z4jM8+dvt-nfq{Vq_4Vr<>ZwxRY1>Vw{I`huu=z2uvAM(Ql6=;!A=kdm&(CwPcrQjN
ztg}WZB~31*zoleMO-+^IXJ@zkd9=ImwCP~N-qt<xw8!k?b8K|95XY@sFU-?q{Mt>u
z=H5fW>e~6G_J0xL6q1yj+;o%Rj9``anK_*H708rMV|xb2Jioo(D*re#<t@bHjUf33
zxJJeFOW(=F>xlyrsKa@S`UyB2KJaO4YpW8pXpiYjk@WPl=$Lxd!{^5uaJD<`y3%iQ
zIc}ZC*Vo;hC$m+vph!bQ)4B3Wl8gYK=hm%TZmXH`j%g1pmEYDH(BISl<a0C^On<&2
zduebys%OTRB7!j7?foJY?6=!SA3A5j>i2gr)pOe0`f|M7+Ua67JB{vgf$g%>_jI#*
zxVUCM>|)L$)oVWVuaRS|B}y1$T)vcF++^s3!Xu7J_F2nq(JL}$m`NRYei104_%cPm
z1iv1Z0{6U%y4HfC{QYR*hd$0*{4vHgfIslDPIgfoY@w2E7+=_>5pnb7qM6_AU>m4g
z%ge9wl1lw~emK)SAFF3-U}S3Q==-OO(^tfeEfBXmE1h>DnSIs^s}K5ndzmM{J&oLL
zKJIfO($&@7+G3w5wFo|s(NgbHQc+<_OGpr#`=mh0u(fxb9JS&N7QlCZa}tw+`}3S{
z5sY<U4Sg6Mqy}7gV}1{QJ9L*wp*}s_-fmh>v_CP-6@v&hOjJ9WdA@#q)>=?dP}+RH
z=|sG->i$L2(@_z(*Bl%i>PMr+{=#=<WoKBMHd8#OmE7yGr?@|Vrl!Us>oVUO#j9Ho
zLfqNk@4=hNF^WC->qP+uM}B@fb7>mTCyZINwzL%1&prn$KJDDW;^~ki<LC2ba<k|R
ze4@$rSNfw^r-og{$Q?m5zkQwV)=+8{{`!qFlhciIjnUlfR71BRCC<$guzb-!JI*$p
z0@nT78LSrv5`}pK=37H)HDu5K2FduHXiFc>zWu^y>sxUbtJIORTDn)aA%`!=p#D^9
zRE#91y#(<wj`|w|uQ{JIlC}`>3AppS--Rt>kqK_k?uswSi;RjKN5u=6v8JV^ZHobW
z^N4(RmxE)iE1Hu&V1HDPTh8C&@O(MR3FdpaWpe(5n5{s+>2>Yi8*=^|5B$%L%Iu43
zIoROKy<fz=y}d~Vn$Q05#P`rPY}KuwumOW^(JRm|ZC!O+(~vp7d%Tuk-2X+|_aN(w
zkTqSyKH8|L`C`BL{5IP{CB{^x{_l_q@r*mhgegL7K4jj^|CoL5Pmcf_f%A;tA;Nq4
zi}g?%u+@U>R3E#(ccj!jB92ox4uMf|3Xe>e?5|@a%>vH%Q;VA~PL!KxoSHYvdS3C@
z%)UW7HSVJ)*4FI$CDseRTBrGWT!afW)nt{G!Enc<tJ|ls`TStg5-A4>gx}9m7hj6`
z>f+*3|1>d(f=R?@Z@KT|!5i@P#df24Ix2~FW?FB4+|10(tV)&kCHjd`OA;wO`Y1a6
zTRh<6?0XBPWP!u#Q06X}eW^WI7fC!G9-fh*OqJ;3#)ApNuFGtVG}8*_xt|^^5wU<|
zf~d|BTzu~i(u?-yBOL&s?em#EhQMojHlmiXc#}7_iK)$Z$HE(*UVi#KYoqfdumt>|
zIHat+92$iIRz@h|F!pQlzKNls;eAn2Pd{U0W@--A953J;&-PXZH0pub|M8Pa+l$ta
zS=|L2cu#gM=bJK~srOQ>@LOUk*3<2P%lZyNdSlHU6qM>EZaTk<>bEAy?t5&EZGt6r
z?|wr_?lEwy{&cJU)YSiY$q45;QXt<HKjux8S@v)gV<s<~PPZn@9I<srrj0&?>JqEp
z&9jGdgQ?g|-N#-83yc5J*3q#%#WY`3di?(Nbrf=l^_)2o8jx~5I@w<r6-!Y!fx*mW
zcU!5+pGLBpklqJJ44YdH{;vAeUE=a=k9cFOv}Jd*dWN6e>~O1oyQm;9&+g$`L}aAX
zXty00Kz&2Q)Yh(-2j)@p;%5~yF!VXGli%M!4+>JEw`<9+{o~jCO{yKSjPzHCRwt{S
z3Qd1ZH~Q)gq{+?<CLV0yNbVg#atY<^-^7Y-P`>%DIjEl(6>(LKvc7?9fIS?jDYupL
z)Tz?Zb<^(d6l^jLQv5~B-|9WLr$>9@_*4jvj#tvCH$3WPHcDDNJn8<f4s#|%M{Cu(
ztqu_c>g4OP_a_K`yZI-XnAurQ=_S1SW!LBLZQ=BsvVVUm)bHiKm%pWBV2~RY9*$T^
z_1!A!VD-Ic58T9-0+sYgz?4hJ@c^)1`QUH6UYR(=Fqcj_Thc<wOYvU*=ylUO1|h4M
zWRD43Ne$`!k!xDn>U<Jl9AW*E+YN6Xy(JnY3)^Zuoc<7R>chRT5GiZQ%CPbAhF}JE
zEn4<q%tCq_{H4D@!_LpVPPsFjzw?_#5}!=F4oI(Ot0n2yy*_@mvX3#7oz)09(VD4s
zU2!C3!*p)fm}nh=s3!<OvMQW7Gks`27u^-pQP)va`W4M=pGLm~ZVV9mN-2}vGQ8Qv
zKySDqeG;rM?O~L{D=Ase2w!Ob=o0m#CxS(C{(+DXQ}Q7#oj3t0hcn50c`{Yoyr3;=
zhWmDnD+%)Ug+<`-s0ms3-z)Gng27-mV<j)X#`5a%`|tIM4$A;kPysxV)hv`s>etFT
zZ~<+rZi=)O@7^*c^?fL4K3U86HhaC>Rs~{V$NtHB@nN!%wfcdPQ)A_P$ejo-Lh5H&
zuZ53LoPQD4%2LgZy<N~4WRCmazaSv``~s$0zPuQ%QKUmUUp48t?m1zby_qa*uPcLE
z?27JDQC4=q7`yhRi@Pp6tPW>upd72qz4w+42e%G3Cs`O67%F}2CKG{?eKUpA|J0@Y
z-loM;#*1~F5y|*O`g*bx(N{>#v<>uLBkXM;djzU+PuPh)j8lwYHi(UidVW50c_E5e
z8_8XQFTdn7uDK6<rxSK;XfJ|Ev`Fg4mAvD<70%#bb70_hX4Q@<t|K|mY2iL+O~9`$
zcAkQNQG#B2{!KBqP`~u{i{1pmk4<UW-@pHM?HBI|=oeo(3OHHK-dyO2WZMI0j6)sx
zfFHNU3yrGVSC*E<U%h&jhqpYCmS$c)enZ;l@766$u2y!OMv6q`890m65+D#n4M-mv
z58R0m%W&JBZ|et^<N2Fb&$u-6D<Su$AkFERMdW@100OUYa6=euWI;S_Mn=X@tMYNX
z6pUl_w@O_@`|H=Q|IK;+O<5KMwTiudNhi-F5a)&~EFz_=rd@4R0CW7%`E~4NU^?jr
zj$D>r31T#s0>UV##T%Ir|6RZ!Hulf_n-N`~+3WQ(iVVs*E_wu-ReO7TuTX*`+ig|u
z(#0O{5b*nJ@JR%)|5qTg6dnPzHzX=3DCjo$guc=%wG4!5DPR_40f+T7OHzM2@2n3E
z4ZXpb1^8V8z_3<6AX9&J7R0h?|B>fUKQ<gMC;6tiv@^WlZrD?w0KU>VYNd8HD@h~`
z#H<#pzC<0rgK_KavT=udh80|cD|_rXdre~VKbkZB0oTMi+`Ho9;(tf9H1?IBJtF}@
zr(kfP?C9v|7eIn3uDIy;_w@YWpMkq{uvFX6qL9d?p7@SS01SGhmSVKXh$)%%8@+bt
z-!(KeyesdQu(wuH3Y7r<G<dUqyU9||)Z6j`cvH^~J}5Ee6}i1&b9z3*7){`Dfao-@
ztfGPd;nwmt>Jc%EHYG>SX$#xMCs!P9NdUM-=}0g-I@-P1wDAq3gW2`NC4eQ{(l36#
zD^s8p|L!(kW=V>}n9aD|zb~cj-$twFaC*KSAnOI<DzEh7Ck16TfVzA6jH+7A+(&gj
zss-3l<MtA$c8@kVO0;wy-Q<w=(A^P<2%^^j8ul4bcS~9rLC(Zv3dHNU*FQ-)KaiLm
z_%uQrOa(yvU+c%1`tniD9!xsT7y>Yf3vxtsw6tv>StP66rW?F@K~m0W^v>~5a)CvY
zS6%E-|MPV-DslpRJKT`GS5iE6gMyz$0-P~)y4@`6)SoOq4q}p7Gq+Y2&E;-nz|^bD
z^TX{_4ctMeZ3M_9f2(1y-#=33#AdsuMoijkXO=9oBbw?{YAS03U;w960KT5T{gKWn
zX#V&ZhcEJgoBq*0A?!Sh>W)^I$lduKt<GqwtxY59cj9(AtRdUTdJ}AWg?U@pJ77}2
zHZNYhFt)O?+6RH8`Fz5@7+VSe$5Ev{hNHlwUgQ=hr?tbPcqKaA@DF1OI7BUXf*rHf
zQzUr)yarBR+v@%eZP6*`78H|X%?tQZP3O#v^x;&w0e9wh%|gV+=45q8c6PQNZX+&;
zS-s#|M@P6(0<kj11t8{4PpmseJO~8r3-Hs04g=yy2v6d!$Dpz)h8<<qaN!Bs4icLl
ztS_>)>&OVsWz_`4nlc}5;d!0&nTBDngA%8kvr4l-^R7-uPDVnP@nk_s$nNvhJwDJ<
z*E~r?o1|3Fu)=1rv!<rz5cfNuV`8*RSA0nZD`R70*$a$oAFy8~VU`5Udx=jv@-NOj
z^3C%@^6{Ug^E@M_YO8a_Y9VEz^dP@c`H}gbBp_vtU&;cb14RG8=bt@!Z}7Ni<B8>N
z{rU=YlvDg!{aG5o^ru?C0=_KJt(AR8{GU#h@EIVlkt7Sfq6M|clsvM*M@Ue5;>R>g
zU<DEh(tQgyK!{ON$CVhg>Z{s=dc*k`m?u{znkTb67G@s<tLDjcKyUt^&+yKq_G7z7
zn8Nt(d}Wk)&E-)xuuv};mQMK{R~ro;MQ8<&^ZLv_Ktb=}9Y9m@&QJ;osi4>NCQ2h=
zu89~~U0_ikhSRbq7zmt)1oLsq(GjSI_{Xx2O#jQiv}ywu&W%bkT=zyVNo9^0=s!vV
z70}GI-o%+Bv?%$^5xK(s6G{Z4XB5m(K7({ayE4ln$ej4vxqQf7Re#A4nP3x*@5u>Z
zMAx)RDK}(@`9TjyaEV`2`6Dz7Pfyf^jXoXu(}wLkcwrYY@U$|G_26ivY<0RO4?J=W
z{+pFY|4A;N4qhwu_no1%>+X*pnfq3K)i6&J%tQ|L4K~ny8-5z84=W)^x0x>8dowu2
z$<CkYL}eYB(+{qn`p&yaM1zyk*S*L#Y^xyeMv#9uxo_2tL-emfVrr@>O`o?p%NX`8
z=|~)J=9@s48YTO4c?DwL%<F;Ts6E5=oYeG8Q}Is`+R{5$^V*Z$^Nx?<^B8~C`A^)O
zC0Cep8P46_<YOm2`*&PBm3#4z)>9+)KkPVTMKOX85jKW)ukExElHNOA%wPOo+9v_6
z9P-l2>T_CJBsvjZGT2Zp@5W?k52S+5&d#HvC<R8oBsy+168i;JiyBW5_gFxJBCe!L
zbZrzd572$W6A0Owot77B4qiVybty2~xvkt+;qOl@=C!n@<MeYZ+O6xr9W|CU@XIIi
zp7)}F0xbB<S9zPed1G}<vZ;ANe)ht>ZGD=sKWzC-pxFNyNx{yvRqJ;-SzT2Ho*gf>
z=!ls60pFp>)Goz3#xsA(nAB1hha%<H0BTb2>hCulAKGh`C`lsk9W-pVF*)GQB*GJg
z)I%kCb9@<YTw$K>ovzEN7noGbktnIB_$r5wDuT;HP+4!05jJK|N^bkw&JD4HQ~?E@
zO@y|#$q3WUbZCAC!bm5F2k|40aD8}qm|daaYQ`wKz(9+Uo}M12Y@4Z_-|Y~JP6GI+
z*>lFPy5kRsMpYfh8j_n8%z%1b{{9xJTitP7kDnPsBoB^vW??9~xwO+Q(wtK&rn?y?
z*B)V=XP*_i>!qcq;cMn-K}xQz<%kwM2HvA1z5g?i`x0IJvqA3*P|jM4!7-GiSAghK
z^>lYLf_%c?Dc6Dh9A8x~8gnqJ^RlwCc8<GuRg<N>|Hy!7X(GQUxU{s?y|8=bnT7^i
zJWd(dX`y1P^4Yh08Y~^vI8x`n&dizY{Bt%rIayF72{8od&;9f*L0kxE|E?5$@K0%o
zixauPNkoD;V%KSrm!Dtzr<?cG(%QNnCo~;w&&>F3R$>ki+qs0`7)=v7!j$_om6y0O
z)$y$GoC3RCi5tQU*nKJCddmByRY!^g6SZGZ5j2Ewg=*h_brBiNN!5$`r#5;(4}4cb
zLr*{1{((VD#B*y(QAqUvq6%$X7&raS2q(ftpVa}Wz1~DzaPl@V_<{gm(gIARLn^9K
z`^l5{-JP8z#=e`CMgWGS{RxUND1kp(1Ik3xI)MGBmOtJQ_LP^G=c`NYwqCQx6k%Ds
zW?t|0`2iYI+Y30K(>YKZDvofm_6Th3LG5}`eHo*KwNa=$+>?;Q`INZiN)5f&m72D?
zMp@^K%FAnG*GpMOejpIM+>j>{<CO3_BiG8`4BMLWd<LWdv&?r5R2y!65bEc`$ycJj
zKpF~iq<Sweb#b&{pl9MfN*CFoRdac9s@DM4+rFo#2La@Rml}aUEt>#1W$A<DR*gkV
z7iXHWl>6GqA9}ObE}Px4ywtd1E0$BK;uOG{i-T$?PE)zykGFrVsMua(P;ND<yw?0`
zsrv{Z6>}RHZ0KD~ObjW2Ia8ki=o(2(bYJ)=dayd0kEvN)TqFg0R(pC_SeQ==luG)q
zX7MeBpbs8EO#-A@$_F5ZFLRSPZV%9e=zSp}*Mi~I<b;%z&8E2^rjw1;N*pLTIoKF?
zHC9&c#)bHL^n%P@uh8lp#Sb@PKYhAi3b^h9mBjD#Yfqj$nR`PNz2-PRKE5R_ZK{CV
zsXXgcZ>yH2c(W!UVd2Uj1HY@Mee5?k#>+jK-F`h<`p5F;-qZi7K-&StQy(BoPS39@
z4#+*3b${~e3;<4f{j!&5Z)}INX!!v0tYzN}(^Xvobu{6ExoSm@iw9DPnBfuHcfK1A
zzXYW{5^6*3zlr|>bt?ouM)Z3V`Hw)va*!a<$t+#{6rw@-bz=GJ|4%BiW_hNnIugyP
z!G8hJFf8y)py}u~_f?V{AT@X&8s~$<wf3SVC^q2Yc!fJV#l!HMYl$haL(_QUS6x*D
zvX`&N0a}I?fn831OC?jY2sA!!viI`IK>SjmrlwZdZoa$_7#$s53*#-i;RTQwg-MO`
zoB#x84JW{MCvmuK9f#uP0VvGF08oXk54gOjr!SoXeu?35%2lHou+<{j*+6J_69DSp
z^NZ?uI05W(10Z#y0cXhoj4NOOU#Yh0{B%nP*#F0Yo*w&G-!}pAQ&xHQ>=)bXogV`E
zx`nSUE)JUqj)&7OXpSalE~;#?b?y-WLwW7+RZo?<0Ilb}fAh=*FiY@YIG#S>Vj6RM
zxHBCI%yo{MQ~e&PS$s^)!>_p=(@xFj$})i3&<W^s@$**^;^U3x>lI_Mxqy6fclGu4
zodFb>0(^hr8Ccru&EOcu)Nj?<E2yw>GM1W3m3o3F>F|i<zN$yOrCcv%!Y>H@Gv@qp
z%sl;OqNKhKU!Kt~eo!c2s+0S%{#5iB59{bSb_DGo5jnoyWIN13Ea&0jQ7AYH=nM*o
zT=RG$PSYFCV$2dkLgi@d$BK%I`&Ed^#AItx^VX0*I3GYB2w2hUjnWR>dbNybsf%a+
z?h~C+H7YfKG6dXz0IP_DzAy@B<sJZHGd040y!j58aJ)3&PmMUa@(i56C8!jR`rwpn
zT?2z!$uh8szNgdvr<+VIji2v4jVLfId)ZZ$o#rpG2ljld*8lwE2$)g#w@8_~R;zMB
zFdS))c~3FsllSzdohoW-6o9Y#(*kjB<_xIdwU;<MvTX^XhyY3+PVf7<Q_G=|+Tfeu
z21pa${l>3ASlLJ)85x<yZMm<+;LrEuNydMpl9Q+MW;TI1Jub`3o4*FI`UH#f3}9PE
z=l;!pXGgmh4kAgE@8#Ekcrb%g;j8Rp!IJ|MNf^tPyV^wgYXowFO1qGQ2m>iWf};oB
z7A?7Yx}b>wb}>r$ANYG14XY&nUV+{(%I{hGYWJtn8*uc><@X?&p|c6ZExZz-2))B;
zQt#hN1S&;y=zP!0BJz_ln+H--k8ZJPiZeLuTOm>%V72s4+UU)`<2y_@h&!&M3wQN^
zikvQcu^Tzp4|($=U0F$q6yF%oS;<J*i=%4_L01@Dag<j>YWMLaP?skbl?S5kJdMlD
zLK6%Sv%Pj!!bOe!wb5N1GZ>HI)(YcPPZm3weM@zKBMeUfUow4!MIC}Y>AaW=X8Q~@
z)^$s6Zti-sY>>yOFzQZDa%!qQ1cJ)w9@v5-c5ZIlLkpSX#pqQadm0u8T<oRUw_gVM
z9<tI~#$Mu`?Xg(FZ^%7%#J?5t#*2aGd5@-$FmJJgqa7w!SIM|i?L;Rj3%qLZu-GX7
zC4;^FQs%4Szm{=@Tvd1LHobUho?Lq_xA>qJb;Z>`KuSpLO{e<}`lfA+y=kx1z?T(q
z=hov_O)EpiX>%)S0Ujx$PNwlFl-vUFotp<=x{xX7+<5u{T~mB!A8DOEpb&<~_WNUg
z6R5H~d}f!UA?u#_+tfWb%0;b3g)Wj^r(PU7-U8Qs6(OBnT~WdB-f0u-A0HpTGBY!~
z10f(HV*IFhXK7_ca-2xu{rmS}zT1s@p4scXG+{>gvbW!i4+U%L?bwJ<r^_xEmP>$y
z$`@(3-@lC3ZpZf!Las18_%6lEyWTA6v9WV@ak?#O^Dwal1fS21zK0?Yece>fmtKie
zvPk@$yf{C_f@rc(`=W)Y8H55}E<V0Zx0f$pvO|D_B2EEn`0q<_8ZIV)ZevvT>_EAV
zU%vzu(3dET2V}~N&1v85QH&V<*^r8WNoZuG0RDH@_KgjPcp#&BETgspk~U>Z(Ws){
zSIiIWVp;3uo>8ka{$w2Un+aKWg?HR2m;L-TbLeXX4FiM0>cWD>RJpZA@YtBX^i4Gp
z0J9GD0ji*cw6?d$^(?(A1(cF<I7^Ke|GTAFf2#Dl#LLc4$yw9&fD{KcG)S$KTMzIQ
zG<pDKth=o20cWKl0ul)1V+Q||RnBVQDRhY0s-PEd-@aAz_xEovD7Y8@?%g|y%kAxv
z+-UEUzpGDx$R+?1Lr(_*I6U0}&Qs#}^mL|5VF9GS^1xS?9aOMLxOJ*!!oIZp{K<nS
z#}WPF@9)97!EaC3;{?o7nLuI<N40&~+1X97%>m7mKq+Fb18jT)91S$t>&>VzKOioi
z>lK@_>;Uo8niA+T=vU@MZy#|)V<q^9ySkM0t0>EvC^t3+XhnTD3Yu?7KzQUTba~<`
z7!i$!&$DwB@Z8>3#LfOtG){v`w%;fRzCJER%6q8oMB@Kx?aHH}ZvXZ@gE3^AP{=O(
zR+j9`qbbUkrASCbDMT1M<B6yy%abizLfN;ngfK0rQ0b91OB6DeA{5g5nSSqo@B82T
z&N*|Aa}3|*{w&vZeXj34^736;ii$n&2L>ACbafwFOWhLF*WVt_RKJK77Z;ZcU7Po`
ze;n*bE-Nbw8Lsslz)(j<nlCJWddUQ;KIhu%s`|;aaXben=fFt9)P?eE+|p@8A~6L-
zIdw0{<aEkm36D3qLMk9Xs9f|_@t^K4d+5<Kr|m*TqwxfZR|mX@KSiv~pR^l!$xTnu
z#m6Blf9nLy9#aSH-Sx^7QJu@5;!BH*O>$FG0s?#U4@F`yn2u-$=DD2g?B_6@ZV3+$
zr|9eJ2YQsivGhP|x_jiv5xdtpIx~;Gh92b6W$esbx41#(Vs41oTnnM_tKQ!$DoRbs
z%$z%6YrA*peOdbUWc!U}5EDrv8a^LZ;UadOejIGYfi5=+Mn^|W<$Ws|tgThELo&+B
z>AWxr{rBBFM<+)|qL~>5lk~0%#=JhqK%P7i92^|G3ZvXy4@*l+RYVcgTJ8Wu$Y5k-
zBv(*Su=*QX_i^YF>vyyRFZ?y-P~oRp{jhChbubnC^;jM&nr}LupbdUno?`Wwx`xGZ
zhnw~LfBOYrp|2VPf=b+UQ^Y|3>4rAcJWW|ymPEZZ`;WlDlo0hFNz>);p)Csg_t%($
z=%y<tceDY9W#gd4mHx*62I8SCxpy!A=HY)U^7H@3aSA&&fii5?`1p&+sLE|NouEZs
z4Yv-;1O(=K(#x}a&_};PPc9w!K%W`*0(@}<r$N9QSf8_ry2~cL^s&hTHJai5h(Fxy
z21AJOf%238hJfg~{-~)bQ$k$)JET`DD_UG!oQBZ@(^+6Fnp#>cbq-G3^hnm$(t3Zg
z;mH-|^nj(Y7FTFQdUEpe?x6p+wL$_oqS?V3xAz~P#p(TX>((zApxPK38oC2sz6W!`
z^!eesu7c|7W7_~tL!*9vP9N*1G2w70oLj?Bj-=eN@$&LgrmX-hETtnZi~50)TF+Z|
zde0X^EpE+P_%lM1m$$3zW+LC*qv333X2zBYv)6Q39{KQy2zk0}x<#jzclm3j#Avo>
zJfx50_M*uo+s9l-a;HQUUv2pppE0%5n2m_^4RNpfoxdY-n6{SY{K&3WV4)nBGK%%Q
zG$`qClk}IwVlsZB_(Xws_aog7zA_sCHieE#<9mdKo$p(h1l#TDpH59rmseF)9W|Hw
zR{}KPbD5z+#>&S&2oK(Ot<WQBqt~n%hWkb~4a#wffv!V2t}&n8-8u#^+1K4E`#Tm{
z1qX-jc+2%`cT}>aQ7v$Oc8nwxde9-mo^zt;@YtXDahq47Ld$utE`Q>qk<<&9)&>0l
z#p1isu<5r`DV*E<BLj|kJ~v8DGh!yK*~#->+*QahQAlRFyva;rAGIi#?aH=qyrAw7
z79|45<SS#Qf2^$YHC|c|nMCK5^bcz&b{{P3O&cpAyHC&ic6HrnB+)<Fyu;V!TvQ#l
znN`yckyR<a^-(SZTnw0C!{I$^1_>3cZt$th>kK-ZWp##rT8;|QIWHBYH+!xhFDlkC
zbWp9*?^m1Wgj`Us*Q9?mL+H={3!M)zI>~~R&X!}3d3J^c9h#D|P}62Fv#^p!83LR7
z9dI#qx=<FYz*mM%C7|pxYEN2qEMxBGUgMtQsbi)7N=rBAKi#S7%1^&+M*8(!JmFR2
ztAQo&Fq6`3?Nr)DRwWCf+vbmqrBUo^nk!|0|9$gJHQ4|N*3miTA+;+w_PK8$?=p_i
zHoTesb4M1nbxRSIDRqrwUf{u1r$B)dWxWU7qqG)l;OzH=t<C$1fI1swV9+Kbetqb1
zh<|6Md$)%wY*?{pc4lVxJzKd=P64&zPDsVndiU?4dY)>TF3QSPt(BFPy};ULBNsnt
z#d_b~+6pfM8M9JYSooK&uI>idIRX`BWQxNMp6C|`Pe^Gv@Y-f3CZ>{WG9EAviB#`W
zI91=RAugVu-rO8k3-5ro$Y0_>5r&_P1x`_4Z(mr@O;*<JL3xEoCFZlPvtRAw4wCLU
z*~T$JP1xVzW98r=M}wC46QH(o|M6*n-t&Nq=i9=6F5f6ADJk08+M+-exh5kgSGw((
z3qFvqfF)a?%BR!;BT@xD<N;_&SF_AC;?ynSM$Y$@*i_QZ2h#u^Q$yzZWCtL*gX&fq
z1{c2sXrDZP{(L)NV}E*;Z;<B}6m)C^fZ7Gtq#~GxSg;Fe*M0{mIp?fOzT^p6aJs_Q
zt990%2_3Z+I5RG+BVBR$)XZ~S;C0yTiLc9)9^vIoz|0%ZE)3T-3f!FTSa_Y)<FQv-
zdXp}%+o=ik+=T8T0K9|bTs6=IaAuGNvF_NBQ|~i6_YlUYrZAMhS5s570nBkL+{5EO
z4a%PmqQYgRz%3B!uR484??Ru<D2$K-qBcjyA8-n4PW*(n{;2PG8%UX}Fc=*B3BwD{
zK!5)m9C-Y(D*KwJo%Lp+p-r@i_0ipTApnA4(mc*>sY|eSbaWI_%`lTP%Q~<i%*mM;
zDFh&mUaG@l9;ttEJCFssQ21{UNsKGt@7BR<GH~BK>v8$a%F0TPlv&2x_g!5;i%aH3
zcJ6$44q(_=(8f@vnN%o{`)2zk9boB(4~HBhwqfA<jh%(%%hcrLyK(69OA?8?J8=jw
zc9|-ny)T@N9+NqXcIkl5^TL7LXnp(k?a=GjuN!(udH}K8>7+5?`t{Oyc++{Od+Jel
z3v=_pHm9Fy;tezH{Kzn&(DkD4XATsSe+wZy9UKYrkj*fn<o#WQr}9@E&Kh}sDukhU
zrOLX4@1m^7nZu1WAH;-q%Ei7?C`fBu1;a-64pvqkxO&-oVgJBDUdTT=J%9*0<iDTA
zah91$aYGiQ+IPiVy($23v(g}7Hfa;2w4)rty0g=Zi_Yq<&+$2R-7k_Q0--M*2VznX
zHr^UR>&91{ZfjkEwTTS*_%zn8-fL)b6=o2z(8M1oXloB2gV^7r;o}$_5Kyb6uD;p_
zfRzU(h-?u+h?-!zrm$$Qq~y;iFmvbw8*1j_<#o5O_qzSNHDdEI3@BUYHd-OX{({q5
zd<65jc`$AWfO@wC)P+(>$CnU7X_8V>xRcoTW>Ha5{{nG!deyb`p_LBHbHQ%)<nF;Z
zi=un?8o{xpv3Kv@LKSHD6BAFa&?m1!Auua?LmyhY123?ES=`q@VD`AjxpTi=TP!Rr
z5?tXl3G3rgQL=QgS$iGEG3z;tLc4d{J#z0#lZqI-Z6+1I^{vx6w8a?=9n}x+I~Ls4
ztiGstBsWGNI%g;EnpryzTdZtP^ZXfF%fJ5dB{!w!gq4p%I{UVlZ>_{)#HVW#oufIU
zJ*(;E<Dka!A}$`D0Mo<mZ{ECt+>tzo;8~dCGCZswX|%Ae;d}sY9RQl;kf^e<<;R5u
zCwcj)g$3_dU0pVPx;__weErxCQ}j@Mq~O$~b_rr`8-&#yV^{()a0uFfs^~RR?>z&6
z(FN!7mbSY4PWbZ6#dIa7S1cSH2P7e@-+)hUsc|N^8H4UbZg`S>eXEOBHvnxv;568J
z8#Per)RrKiev}!tgs#fzhX1JEgaKtlXM)hFv|G2PK7dVTnJykN7$yqq%`ME%erWXn
z+;MY{^2@U--{JNdmA!9@1m3fK?b<b_nKyTWNP&SBnV<l(D=RDe6N!wjZf>hcG`*|$
zp6PCGl#-tQFF5>~jp30vAVMvU2+z)5VP<J*5Lgrz780T!nlteId%ysI9%FEwy>fJN
zDg#j@TuDl*!-qD26&$RSl2j;JDoYB@cY0Y_GI+H+e!=HwXg#cjt%4gx9YYvhcEDTF
z?9I~xW`rK@XKze!sHhxUHIcgYq_eX#cwtyw3uWs^H~{52>BBOI=>8cw)vO*(zsVTu
zd)8l|YVZP6FIfz+mf<;8_Fns<_8Oe=tLxWUGxwb_idl#Np1BGXRuFk~XZV>H^ak9Z
zP;BW|l(X*&j~oJtGKnMTZCg}Sjv48p%@UBw0s1;*K?Td$clT38!&oWXjvY1zVDpiL
zCGh<Qa#_T)XV0e6$l+iuxT~G>`b#I+mU>>kENR*XJE`ZlgtX#fnS-IB8zlhFbm(p=
zXH}1G{K8nvX4M+oA_S<OPrtNX>~0KMUaq_PbfVKikLM0W_kin1XjTIXU`;i0*I#~~
zJeANCWa=a@Bl7}}Kz&<IN=llGUjJWN^x81*u3d6qS8*0X0gE4o?BPZ8--6({92NC@
zgk!b=?oR__9Fg(ikQow<$!o$s+rS<!D=n47lD$Xj-G?I+QJ$?_4_R%OA4qz`5G-Ml
zkfA~yi6Y}uAgs2eWoJ8%7q*QoFE6XyfspB29BtNHTO6hR1d*G$6`Tjruu4S{;o+rd
z0(_P1n!#W5W*{^yAySSvl(bma9KC04&(J{+P!WU34-24Ut&Bf#HznD$c3z#JR<7DJ
zo6gDK^~E4bipOA8rxF|0fF}FzPCb&`hit*8d~PHO34RATp*fS}<m6O(GJ-8Gp!z;5
zJC5OAQBjzJeYGevf)EBS-3ZUZpNpfbxEPS_>L(!tDj`r_V#sj#FJMZ|<`C4(3x!<h
z!c2h8)>mF$-d{jJJor|pA231FwunvA(m(&~yj?fo^LzW(B9IQcxDXr`X7_VrLx596
ze|`;g{WJ`@_dFO8rETH2O3dWh+4C(h768HZ?-if}v~p7ympo4pTw{St$~v}&hkOC+
z@!v~4gU}bdd)8KgHh-Y=txuO_v#n%!;&0rLzX@+eS=pBh05;l2n}fnY-Pi+_;z%c*
zmUxY~>OBMlRYO4OpgixXTU=OPUS9Sa30d(B&HZld^RGnjxqmdGqq({H8k?eGC(H-8
zkfCg09W}pSz{@V)0=JaAv}JC2Zfa&~>gVjVwCOn-?G!Jdd)ZqrxkN;wyy@Zxfk5De
zyQ`+){8*C;YO=2Pa4ii@K+RJRS^o4l6maIvjg3qII%ZXmmyh}e2S17gkEJA{=hCyc
zcMqCEz7aOSI(L@A5H9cq2we8zMc24jK}Bh61+Gg4<P@iL^1)sWD5l?D$yYIUwzu=*
zn3=PX3uqMsz?OG&5eQayPn59(Wvz??6cuRp@$+Z*NJyy_u-1rxy66cOWp|*#NkY28
zZ%5&!3yAfp!LKit(F`~?nWcfMJ7X^U-a_-zz8V`lT2la}`wd+iSntl&)A<de>18_8
z8i!R;!cal}pAG@Inof{7oU-xbhiwGdIbj>jxzXkZx+-=8CT0OSTK*o+P}Au&{4(<O
z^CN6;Z-YOhU4RXzO`6Zxne?s;B!7~Hsj2_M+q+kWLUTZyVFKD#`3RKqRA~7YSsIrX
zQ*v_`Yk=e5_rkq(fl`_406i-eyJp%>dUv7rP>|*&r<r0#!|0qjDxcee#f1x{@HF;R
z88lr<NhWDY$&WRi!t%AR<(wXzJ(BBOl@7g_1WY^G_|Ty*q@}T6S>B<*qYWOXBqfQe
z379uPO%%`#_Wd&5lcieG0^>u-`*JYMD1pjOL1c);G5V+~v(7p?E-o$vdd+PJS{7mL
zfb+`ttUV*Y_Zr^-xES?vI_y>R<<HkA6Qj1=WC&+orN}aY`B+I#R<^`hFa)xv5#Ygn
zx<Zx<PXOMCi!(kBjJazZ%wqCrVt!s>my#o2N>&zaesWSA$HsRICX4+#9AcrMl(Vje
zws=7S(sNhg2RHK1i}X%~-h$du3eg{;c)C@$`oV*LngYI9*FYwhV;FFJ{gqBM?|pn{
z;pVd2H<P@{tD#`nQGjoc`dwFJPylk>p+EGR_UY5v-|&tap*b~^%(vqVw(eexjBI^6
zI@%(qqGAm>zt%neYcWVN@O0zP;^`*U@>t1`ZSEuO+)1CbSgAqCB1WKop6TnW&g(&m
zH+?tW?A^<I`uxjNr8a#>(di57!~26|RE4ce*B+fHSQw{-{jw?RwKzYw$?rB#Qc+P6
z|9tu9*w?RLRRC!YoQ$E2vIBBRy?y)kqSUP~$r%|Ls^%>m%E!DckL0qV{=W+P{V?@<
zByxmx4GTIjU~_+Hiq<E4fr;#qsO190(!OiLwmjnfu=K75N{uR3F`Ldn^$-Q~)mQJ(
zDc8eZ#$PG+Kr81fpXia+j@!A+u%g%2=bTN~2YZ;R9m;z9HT)?9&~Wy548!-B&6oA-
z*HkamTuFZWcXW>Sp@kh2&S?BVUa;x+!I1yv<dsiK>^Ga75_33`>T{1#`|@E^6a$9f
z=GM=~aAsQMV_jXi)xi>*zFX+|!J|TU7@62Uw}yu$sdV0N-!(~n-Ri}l1LD~tnqWM0
z*xK)gndyn5;wzY#^XkI~*=5F<tVitfwtt;1yM&ow2Y`L%w%SMBm(3TKjz;jil?!_y
zBm9|xc1Ql^Q}){xJ4}ABWl?~Lm&)_fa7aa^;S=Q@6WXOwT^<-d+K8jHKU~HhV?+)&
z`|%T3KR@AfTT7CT**6!Uotl-kXUXT;ux^e;(M}^ijHBo4K+v|Tnxrg?ks;3ihS$vk
z3oB!+Z|{ZLHnp#cz`N~)27$}Bv_F5I0`l>e9sni`xgjg-losLJ)3Wj&f>Dx1kqt0L
zExY5#BY3#EZHBXHelF)u2W9ip`i!E53dfq5Zpw_O@Ym!fkxE=BHT}!=z2}KOK8p{D
zg;=WR$^KpNAW}_f>6`?*q_OS_^l)Iox<=dHqy5#}E!%Q;DFsjU;SNSm^Di|L6^FZS
z5L7!H%t6!Rr@o_5DC!7HmDj4Sf5|p+)IV&lTu@+;kSu7plU#%XuBO;+Gg7U^Vuq}*
zB83<=iGO!c+b~;Jc)xd;<30+!J_!dO=IDOJ+DlogjT<7*o8gwG<!3ti+$x?fM-PaL
zgi`7P6SiqH>PQuJW8ZR9%g{C_)hkP-%E%!gXjh@A6el%^_^G$)xc5Iz)-|sUyS@)%
z_|U}6Rd}wx*d0ApP|kXIRfryGiz*2m^Eie<*_c7am`9>9gB&g*g)Z&Gr`Dy>B^I$(
z9;0lO7tOOz?@OMx#$l(2t~t@W_P7mjQlkW{^r_Z>y@wQiqv&GEsHC9Kpb&Q7Kk?#-
z9KV6(`#VcVIv_SBfAn0$6|Q_NwGDk3|8qv6^PkW}U$?MM;Pp(=o~!C=livN`0*BJv
zO$9ECoI~t#UGVSrclv$*bj>}<<5aF#z8tbZ(=1~853`rNeuma{Y*u3No-f$JGhtF<
zi>oKP@9Bcayc@)Wi;a)?_$0MG?a4uowC!N#_bj*B(2KePaSaWP;*x==2eex`>z@~!
z$1*O)G{&(%%5TG-yS;MnYU@&a{O*<@$3d&!>?ResoboShxP!9fch%L^I!c=djWm5u
zii&5lx@Z;p1xkzE<F#YRkdHAD%iqKZ;<#jD9=Wcxa$*>FhzXZ03ByA?LWrj!d;x@^
z{T&Xe=j`nVh0=xn0}@9sqb0nUe#7JbomTilJxd!=^AzOsI-_p+AnZ}mlwvf;dlvqL
zZ}aqtrFmatW|Car7<UD$M(1`;9M1<m#tBWtm8?o;7VRmnNWa(h&+h&|iJUbvOI_T9
zR^n&H3vIpB3h$Zg;}n_=xGQj9aRhhl3&yXwLKc=&g4S;Ig{o;zDd-#wLH5{*prm(Y
zjYyxN+8%G^DeLBx_v6rqCc|$makiOo7NGfkeoI$w=u()Vag`fHApL@1lWF=%x_N`<
z^*?`5B*%N~><tlD;j+RJ*aHJ{hPlNzR0+S#i1&yAH{)BS@`cr3aS<d5R!W2~*Jh2y
z=N5{!8;sLP50uWF)$3T86eaQyiFbBdi4jt{d!yoII;M3S%;hD-wFruJ;kmQdWNyUo
z;!5tm&(>fnFPeXb`2FVR8HIS6%8s9*Bhm4W@#lpIyj;l%@!Lm;>x0dUf`jVZ1oP-x
z_Tf`W{U1%4s^j9DG#@xGbTgnaW?zxQ_VUkYjgXvWe%ns0B3W|>)zD<e>8NujFUJk>
z6WAHKI49cFE&Q4_5h3KS;mTh8gcWK*d$Ets*ic69ueRV^aD{h5EKR(>Mj?-pl#e7&
zAs-YO{oTJc=W6Y<3npES=1lt-$vR{w;-|Ak+NLpFTjx6%-Zh0rmHEx9k=rzzd=^$Q
z)ZJvXuX{OD)ceSKraAv^6A@Qs?WR`mUuS;4nb$xCXbbP6-f-jD$R{CG5~TUYdn$u8
z#57SL&`Cmr-3ya%Ndz?M<vcI~jX<S>abNp=Gtt7)I^p_r5sjUd{0bvk?P$<$s!t!S
zH$>jdhz-0nK})N05?j!49JMftXGOoU4K^2pMW{Yv&$k6S8=VBtVaWx=+8&kgkD3JY
z1}!)uUmT+B&Br6r{MMw<(AK)_8B(K;TA`3DlDUxblF1iK@{u>bB)iu3nwiW^E>ll9
z9osiso_dlbcamiy=~1K3wK_$g0SmE;;|*)^@%OQ_oU+HQxEpRv#b8Xx-<y{YkpDuE
z7qMKEOB3~eDeg(z`}7VHk0<G${!i-v_u;e|ig}E9M(<OcrWiQp9S-*_=*%AIw5R=$
zC(D>beeQq0(04svhL0+M3Szmg>hOFfc}A!p<5;ds_Rb;=Y+DxSYf#qZ4+knPvXYB1
zx-6c*zel1I+*Xxb;_deZ8@fjC$}YI9*H7Adt?(GWN*|!K{yL`f&pFazB2DyOhA@xO
zr@`!355qr`E;#K^itOMgo)s78F1)7XukfbAAj~JdKZuE1BG75UP;Id>InLi{&oLn+
z_I$<&U%}<7N<NOZy|mseTn;*KqVoykTW@AtT1Ij5bs1nYia(0@lRR99L-B?Vw1MJ?
z2WC3I<;k6h!ex|QW%Wt7@brT?udyjM*%uR}2X~e*#bT@4_9DiZt!K-+J3c5ST;?-O
z6zCL3XHVs>EK%HwQN~5VvZp<7F8HK3A3QiL#_+D(e?$d?HmI+?+e-$gPqDbD5`>t1
z8Q=ZG;e^VA&Q}bluZ!JNlETVJiqlS8wHx7ExSlqVhW8LtSVXz0d(bP4mme{9gh7lb
zTNwTHeY^>C-dpYM<dOC>Com=w`5MS8R;@#6Y#IH2t=X-CrU|`=OiBjNo0wh*XY*~Y
zl@h<q{C0Hun4S0>^F$NZq-(^2XpD?hej<8oOpHyETB$&JOvn7iPj+4Yt~Oc!7474u
zG9lii{O@NHDs93-4F#%vn>+mvxZ@3X7V@NE-p$|BPpAwF3!{28a{KI#YiQRr5mCXJ
zcn*G1f9*d~8<`bs=&-4<hb&ChLZ%o^|K{4zQ*2dJ{-1AMt!F@z<UqtK#uPD*@by8X
zFE9Jk>)d`ADRcs|pqD&?;Q##xdwDVOzleSbmCSDC3zJYx`<1wQrPHXT({5D-G&qdn
zp~YF&eI54l!#gH^3UtZ|S`lEz%1l@L>!jg(HXaKkisxyYXBra2;!P}xGuLMQMl`sS
zGvgzxvz7PepB2AcWi`ztu6=~aOALsO-*zbA&?kQ9h1zK)MKG@psoG8WbtQgTas9>K
z{LE+>H_H2K^m$;jCkt5!ZD4=!P|p$jxKX?bQ%PqPo@$5^8Tgp;w0$M=8PO7h2`&$}
z4?`UiShvT!K!Txh><?x_;Dg2}Wt51WWf8>~{$(0<i&9g6BZe!XlEIBKBt(e7!bZ$j
z1&Y#G#L~EuQMEHZ*<~g74ie-x>fW3G1*Ku|yNqTPW;)RioM9f<q#VHsSA7J(zb!!<
zk4zy^9h{pnGEDmp<7?96w^{NG@!yPgMA9fVq!{|r4Bui%3Vq_`)DRL`*wH9~HcsZQ
zGk(3HUi?s#O?IXC+0I%f?2p!5?X7_gBL1#KzBP(WI~c`KeI<T_VUT&^q8QOZZvfih
z1^V(1bLVj7dt9j1@2|xT>9#rXM=(^Kd)yP|4x-H9L82JyFgm&tX-Qn#A?EDqn9A?A
zz?%q5Q<JsW+(T1Mn<+xy9~N3xxMDIeTT(GHOuiWEi)mX!e6n)P4<i1X8rc97f9drq
z5XK$re-5`>e9mzy;|TstPTp5ddivq1HVB9Lapm&|1EhdWG9n&9;h1uU>XUfC_tsJ@
z)KKvzoC|DZfohE61KCRi35vKR%*0-_8%?2XpLva!d>7mP$W+pa=#ll*U=<Qqe6t&y
z!8*Z!LQw8bqiie^BWe-!*j(7jcQ7djGyl>V2o)0}vJzx5kJ((93i&HW_E@zYMNt?o
zR@u6&3niQ&1>)b(hl93n?0@BOO<pt}h@}tN{%2<VXN1UiQ35s>qGwI{%|ElA|A!xb
ZL^Z!(acS3XyM*9%<d6li(#YlS{{jrV$$J0*

literal 0
HcmV?d00001

diff --git a/main.tex b/main.tex
index 954455e..70cb15e 100644
--- a/main.tex
+++ b/main.tex
@@ -253,34 +253,37 @@ We solve this problem by decoupling the gradient averaging from the weight avera
    \end{algorithmic}
 \end{algorithm}
 
-
-
 \section{Evaluation}
 
 \subsection{MNIST and Linear Model}
 
      \begin{figure}[htbp]
      \centering
-% To regenerate the figure, from directory results/mnist
-% python ../../../learn-topology/tools/plot_convergence.py 1-node-iid/all/2021-03-10-09:20:03-CET fully-connected/all/2021-03-10-09:25:19-CET clique-ring/all/2021-03-10-10:15:24-CET fully-connected-cliques/all/2021-03-10-10:19:44-CET --add-min-max --yaxis training-loss --labels '1-node IID bsz=12800' '100-nodes non-IID fully-connected bsz=128' '100-nodes non-IID D-Cliques (Ring) bsz=128' '100-nodes non-IID D-Cliques (Fully-Connected) bsz=128' --legend 'upper right' --save-figure ../../figures/d-cliques-mnist-vs-1-node-training-loss.png
-%     \begin{subfigure}[b]{0.70\textwidth}
-%         \centering
-%         \includegraphics[width=\textwidth]{figures/d-cliques-mnist-vs-1-node-training-loss}
-%\caption{\label{fig:d-cliques-mnist-training-loss} Training Loss}
-%     \end{subfigure}
+
 % To regenerate the figure, from directory results/mnist
 % python ../../../learn-topology/tools/plot_convergence.py 1-node-iid/all/2021-03-10-09:20:03-CET fully-connected/all/2021-03-10-09:25:19-CET clique-ring/all/2021-03-10-18:14:35-CET fully-connected-cliques/all/2021-03-10-10:19:44-CET --add-min-max --yaxis test-accuracy --labels '1-node IID bsz=12800' '100-nodes non-IID fully-connected bsz=128' '100-nodes non-IID D-Cliques (Ring) bsz=128' '100-nodes non-IID D-Cliques (Fully-Connected) bsz=128' --legend 'lower right' --ymin 85 --ymax 92.5 --save-figure ../../figures/d-cliques-mnist-vs-1-node-test-accuracy.png
-     %\begin{subfigure}[b]{\textwidth}
-         %\centering
+         \centering
          \includegraphics[width=0.7\textwidth]{figures/d-cliques-mnist-vs-1-node-test-accuracy}
-%\caption{\label{fig:d-cliques-mnist-linear} D-Cliques with Linear Model on MNIST.}
-     %\end{subfigure}
-\caption{\label{fig:d-cliques-mnist-linear} D-Cliques with Linear Model on MNIST.}
-\end{figure}
+         \caption{\label{fig:d-cliques-mnist-linear-w-clique-averaging-w-initial-averaging} MNIST: D-Cliques Convergence Speed}
+        \end{figure}
 
-With and without clique averaging.
+     
+     
+    \begin{figure}[htbp]
+     \centering   
+      \begin{subfigure}[b]{0.48\textwidth}
+         \centering
+         %\includegraphics[width=0.7\textwidth]{figures/d-cliques-mnist-vs-1-node-test-accuracy}
+         \caption{\label{fig:mnist-init-clique-avg-effect-ring} Ring}
+     \end{subfigure}
+       \begin{subfigure}[b]{0.48\textwidth}
+         \centering
+         %\includegraphics[width=0.7\textwidth]{figures/d-cliques-mnist-vs-1-node-test-accuracy}
+         \caption{\label{fig:mnist-init-clique-avg-effect-fcc} Fully-Connected-Cliques}
+     \end{subfigure}
+\caption{\label{fig:d-cliques-mnist-initialization-effect} MNIST: Effects of Clique Averaging and Uniform Initialization on Convergence Speed.}
+\end{figure}
 
-TODO: Update figure with actual Clique-Ring results
 
 \subsection{CIFAR10 and Convolutional Model}
 
@@ -331,17 +334,22 @@ Similar number of maximum hops but no or less clustering than D-Cliques (and no
 
 \subsection{Effect of Scaling}
 
-% To regenerate the figure, from directory results/scaling
-% python ../../../learn-topology/tools/plot_convergence.py 10/mnist/fully-connected-cliques/all/2021-03-10-14:40:35-CET ../mnist/fully-connected-cliques/all/2021-03-10-10:19:44-CET 1000/mnist/fully-connected-cliques/all/2021-03-10-16:44:35-CET --labels '10 nodes bsz=128' '100 nodes bsz=128' '1000 nodes bsz=128 (45)' --legend 'lower right' --yaxis test-accuracy --save-figure ../../figures/d-cliques-mnist-scaling-fully-connected.png --ymin 80 --add-min-max
+
      \begin{figure}[htbp]
          \centering
-         \begin{subfigure}[b]{\textwidth}
+         % To regenerate the figure, from directory results/scaling
+% python ../../../learn-topology/tools/plot_convergence.py 10/mnist/fully-connected-cliques/all/2021-03-10-14:40:35-CET ../mnist/fully-connected-cliques/all/2021-03-10-10:19:44-CET 1000/mnist/fully-connected-cliques/all/2021-03-10-16:44:35-CET --labels '10 nodes bsz=128' '100 nodes bsz=128' '1000 nodes bsz=128 (45)' --legend 'lower right' --yaxis test-accuracy --save-figure ../../figures/d-cliques-mnist-scaling-fully-connected-cst-bsz.png --ymin 80 --add-min-max
+         \begin{subfigure}[b]{0.48\textwidth}
          \centering
-         \includegraphics[width=0.7\textwidth]{figures/d-cliques-mnist-scaling-fully-connected}
+         \includegraphics[width=\textwidth]{figures/d-cliques-mnist-scaling-fully-connected-cst-bsz}
          \caption{Constant Batch-Size}
      \end{subfigure}
-      \begin{subfigure}[b]{\textwidth}
+              % To regenerate the figure, from directory results/scaling
+% python ../../../learn-topology/tools/plot_convergence.py 10/mnist/fully-connected-cliques/all/2021-03-12-09:13:27-CET ../mnist/fully-connected-cliques/all/2021-03-10-10:19:44-CET 1000/mnist/fully-connected-cliques/all/2021-03-10-16:44:35-CET --labels '10 nodes bsz=1280' '100 nodes bsz=128' '1000 nodes bsz=13' --legend 'lower right' --yaxis test-accuracy --save-figure ../../figures/d-cliques-mnist-scaling-fully-connected-cst-updates.png --ymin 80 --add-min-max
+\hfill
+      \begin{subfigure}[b]{0.48\textwidth}
          \centering
+         \includegraphics[width=\textwidth]{figures/d-cliques-mnist-scaling-fully-connected-cst-updates}
          \caption{Constant Nb Updates per Epoch}
      \end{subfigure}
      \caption{\label{fig:d-cliques-mnist-scaling-fully-connected} Scaling Behaviour of Fully-Connected D-Clique}
diff --git a/results/mnist/no-clique-avg/clique-ring/experiments.sh b/results/mnist/no-clique-avg/clique-ring/experiments.sh
new file mode 100755
index 0000000..1bf90ba
--- /dev/null
+++ b/results/mnist/no-clique-avg/clique-ring/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    128
+    '
+LRS='
+    0.1
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology clique-ring --metric dissimilarity --learning-momentum 0. --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --parallel-training --nb-workers 10 --dataset mnist --model linear --initial-averaging
+    done;
+done;
+
diff --git a/results/mnist/no-clique-avg/fully-connected-cliques/experiments.sh b/results/mnist/no-clique-avg/fully-connected-cliques/experiments.sh
new file mode 100755
index 0000000..67f547f
--- /dev/null
+++ b/results/mnist/no-clique-avg/fully-connected-cliques/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    128
+    '
+LRS='
+    0.1
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology fully-connected-cliques --metric dissimilarity --learning-momentum 0. --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --parallel-training --nb-workers 10 --dataset mnist --model linear --initial-averaging
+    done;
+done;
+
diff --git a/results/mnist/no-init-no-clique-avg/clique-ring/experiments.sh b/results/mnist/no-init-no-clique-avg/clique-ring/experiments.sh
new file mode 100755
index 0000000..4ffcd29
--- /dev/null
+++ b/results/mnist/no-init-no-clique-avg/clique-ring/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    128
+    '
+LRS='
+    0.1
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology clique-ring --metric dissimilarity --learning-momentum 0. --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --parallel-training --nb-workers 10 --dataset mnist --model linear
+    done;
+done;
+
diff --git a/results/mnist/no-init-no-clique-avg/fully-connected-cliques/experiments.sh b/results/mnist/no-init-no-clique-avg/fully-connected-cliques/experiments.sh
new file mode 100755
index 0000000..a20fd4d
--- /dev/null
+++ b/results/mnist/no-init-no-clique-avg/fully-connected-cliques/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    128
+    '
+LRS='
+    0.1
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology fully-connected-cliques --metric dissimilarity --learning-momentum 0. --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --parallel-training --nb-workers 10 --dataset mnist --model linear
+    done;
+done;
+
diff --git a/results/mnist/no-init/clique-ring/experiments.sh b/results/mnist/no-init/clique-ring/experiments.sh
new file mode 100755
index 0000000..acb22fd
--- /dev/null
+++ b/results/mnist/no-init/clique-ring/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    128
+    '
+LRS='
+    0.1
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology clique-ring --metric dissimilarity --learning-momentum 0. --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --parallel-training --nb-workers 10 --dataset mnist --model linear --clique-gradient
+    done;
+done;
+
diff --git a/results/mnist/no-init/fully-connected-cliques/experiments.sh b/results/mnist/no-init/fully-connected-cliques/experiments.sh
new file mode 100755
index 0000000..1bb88fd
--- /dev/null
+++ b/results/mnist/no-init/fully-connected-cliques/experiments.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+TOOLS=../../../../learn-topology/tools; CWD="$(pwd)"; cd $TOOLS
+BSZS='
+    128
+    '
+LRS='
+    0.1
+    '
+for BSZ in $BSZS; 
+    do for LR in $LRS;
+        do python sgp-mnist.py --nb-nodes 100 --nb-epochs 100 --local-classes 1 --seed 1 --nodes-per-class 10 10 10 10 10 10 10 10 10 10 --global-train-ratios 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 0.802568 --dist-optimization d-psgd --topology fully-connected-cliques --metric dissimilarity --learning-momentum 0. --sync-per-mini-batch 1 --results-directory $CWD/all --learning-rate $LR --batch-size $BSZ "$@" --parallel-training --nb-workers 10 --dataset mnist --model linear --clique-gradient
+    done;
+done;
+
-- 
GitLab