From 47e87ab07ff848e195d5cb2611b372f22c9343a5 Mon Sep 17 00:00:00 2001 From: Marko Toplak Date: Mon, 7 Mar 2016 16:19:24 +0100 Subject: [PATCH] Start from an orange3-example-addon --- .gitignore | 21 +++++++++ MANIFEST.in | 3 ++ README.md | 30 ++++++++++++ orangecontrib/__init__.py | 3 ++ orangecontrib/infrared/__init__.py | 0 orangecontrib/infrared/tutorials/__init__.py | 0 .../infrared/tutorials/example_tutorial.ows | 18 ++++++++ orangecontrib/infrared/widgets/__init__.py | 8 ++++ .../infrared/widgets/icons/category.svg | 9 ++++ .../infrared/widgets/icons/mywidget.svg | 10 ++++ orangecontrib/infrared/widgets/mywidget.py | 18 ++++++++ screenshot.png | Bin 0 -> 50260 bytes setup.py | 43 ++++++++++++++++++ 13 files changed, 163 insertions(+) create mode 100644 .gitignore create mode 100644 MANIFEST.in create mode 100644 README.md create mode 100644 orangecontrib/__init__.py create mode 100644 orangecontrib/infrared/__init__.py create mode 100644 orangecontrib/infrared/tutorials/__init__.py create mode 100644 orangecontrib/infrared/tutorials/example_tutorial.ows create mode 100644 orangecontrib/infrared/widgets/__init__.py create mode 100644 orangecontrib/infrared/widgets/icons/category.svg create mode 100644 orangecontrib/infrared/widgets/icons/mywidget.svg create mode 100644 orangecontrib/infrared/widgets/mywidget.py create mode 100644 screenshot.png create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..2428ecbef --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Build files +build +dist +*.egg-info/* +*.so +*.la +*.o +*.py[doc] +MANIFEST + +# Cython generated files +__pycache__ + +# Editor files +.idea +.idea/* +*~ +.project +.pydevproject +.settings/* +.DS_Store diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..1e6f99925 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,3 @@ +# Ref https://docs.python.org/2/distutils/sourcedist.html#commands +recursive-include orangecontrib *.ows icons/* +global-exclude __pycache__ diff --git a/README.md b/README.md new file mode 100644 index 000000000..d8c0232a2 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +Orange3 Example Add-on +====================== + +This is an example add-on for [Orange3](http://orange.biolab.si). Add-on can extend Orange either +in scripting or GUI part, or in both. We here focus on the GUI part and implement a simple (empty) widget, +register it with Orange and add a new workflow with this widget to example tutorials. + +Installation +------------ + +To install the add-on, run + + python setup.py install + +To register this add-on with Orange, but keep the code in the development directory (do not copy it to +Python's site-packages directory), run + + python setup.py develop + +Usage +----- + +After the installation, the widget from this add-on is registered with Orange. To run Orange from the terminal, +use + + python -m Orange.canvas + +The new widget appears in the toolbox bar under the section Example. + +![screenshot](https://github.com/biolab/orange3-example-addon/blob/master/screenshot.png) diff --git a/orangecontrib/__init__.py b/orangecontrib/__init__.py new file mode 100644 index 000000000..88ace9090 --- /dev/null +++ b/orangecontrib/__init__.py @@ -0,0 +1,3 @@ +__import__("pkg_resources").declare_namespace(__name__) +# orangecontrib is a namespace modules shared by multiple Orange add-on so it +# needs to declare namespace. diff --git a/orangecontrib/infrared/__init__.py b/orangecontrib/infrared/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/orangecontrib/infrared/tutorials/__init__.py b/orangecontrib/infrared/tutorials/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/orangecontrib/infrared/tutorials/example_tutorial.ows b/orangecontrib/infrared/tutorials/example_tutorial.ows new file mode 100644 index 000000000..cda49d88e --- /dev/null +++ b/orangecontrib/infrared/tutorials/example_tutorial.ows @@ -0,0 +1,18 @@ + + + + + + + + + This is a wiget from an addon + + + + gAN9cQBYEwAAAHNhdmVkV2lkZ2V0R2VvbWV0cnlxAWNzaXAKX3VucGlja2xlX3R5cGUKcQJYDAAA +AFB5UXQ0LlF0Q29yZXEDWAoAAABRQnl0ZUFycmF5cQRDLgHZ0MsAAQAAAAAGEQAABHQAAAbYAAAE +7QAABhEAAASKAAAG2AAABO0AAAAAAABxBYVxBodxB1JxCHMu + + + diff --git a/orangecontrib/infrared/widgets/__init__.py b/orangecontrib/infrared/widgets/__init__.py new file mode 100644 index 000000000..839c949e5 --- /dev/null +++ b/orangecontrib/infrared/widgets/__init__.py @@ -0,0 +1,8 @@ +# Category metadata. + +# Category icon show in the menu +ICON = "icons/category.svg" + +# Background color for category background in menu +# and widget icon background in workflow. +BACKGROUND = "light-blue" diff --git a/orangecontrib/infrared/widgets/icons/category.svg b/orangecontrib/infrared/widgets/icons/category.svg new file mode 100644 index 000000000..fe711c822 --- /dev/null +++ b/orangecontrib/infrared/widgets/icons/category.svg @@ -0,0 +1,9 @@ + + + + Category Icon + + Layer 1 + X + + \ No newline at end of file diff --git a/orangecontrib/infrared/widgets/icons/mywidget.svg b/orangecontrib/infrared/widgets/icons/mywidget.svg new file mode 100644 index 000000000..f9bda16c3 --- /dev/null +++ b/orangecontrib/infrared/widgets/icons/mywidget.svg @@ -0,0 +1,10 @@ + + + + Category Icon + + Layer 1 + 0 + + + \ No newline at end of file diff --git a/orangecontrib/infrared/widgets/mywidget.py b/orangecontrib/infrared/widgets/mywidget.py new file mode 100644 index 000000000..7bb359701 --- /dev/null +++ b/orangecontrib/infrared/widgets/mywidget.py @@ -0,0 +1,18 @@ +from PyQt4 import QtCore, QtGui +from Orange.widgets.widget import OWWidget +from Orange.widgets import gui + + +class MyWidget(OWWidget): + # Widget needs a name, or it is considered an abstract widget + # and not shown in the menu. + name = "Hello World" + icon = "icons/mywidget.svg" + want_main_area = False + + def __init__(self): + super().__init__() + + label = QtGui.QLabel("Hello, World!") + self.controlArea.layout().addWidget( + label, QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc7d61f824bc85cbdb3cfafadcce3e6fabec67e GIT binary patch literal 50260 zcmZ^}1yCGH6D|q_f(3VXcXxMpcXwahA-D&32*EA5yE_DTcXx+Na{eQ)?z>b`wL3FC z-P1k&wakXe%ZkB3VL|}`0l`R!3o8NvfvA7{LqUB07t{gP-bP7ovup=DIRCO&g*t?MireJN{m7w9s{CnB`I}HFgEB6eD zKMBI+8p0V)_<{#$^5l$QhaQN&Ei{9Vk=huV4nHL>5*`#NV!eBfE5!-AmD;J*1emK#XlP6*%v{`s@rraNdv z<7)`s`TIcOvR*dvw|l)-rliw=`CAwmNPLl3yuxi?I)C6z-=~EjWlFs2+}pX7ICrXR zIM&5(We8gcN2UgTdY*vn2M_CGyG?{_d!d%~C#SPq&cO^|Qy}@yz#mot`o^>hqnmFo znjKZtVXZb12YI93J(1SFMr@8hZ|&ZTASUE_()kt!rU!2tCU$awuK6CmC0Dj11jLC8 ztw!8cIWKI6Sw>vcv5C>M1b7O)+DQ8x$A~;1q`XfNglO40pz>b?plPgoh=H5Je0gP} zRsWS)JLZqlm1e+OAIw$%GtaCj?-0)xH>=r$3tJy<0>5QF!+^NCw%m7_Gze7vZ7zh) z{WH4y`6!bY6?6AqjEyfkqCVF(P{%zHhSu3dNU~rzwT)|I?o=o80gz57ba&j*=Kz1a zi_@&qRH63M+JjGs_@C@HAc=jX-qhKx8$b!SD6o)Bm)G})B#^BJ6W$RXXsOyvwsNzvQC5Lcza{?6` zZ#=J?ysI1X>Oaw+GX$nMj8f?b)Orvatr?=&{*)YiN2T^6`2<5LXkQkgR-fSd-|$h;5k1`s$7gySxO?*+rmWtY?=^uS>Hd ze7C~_<(RxOMny%F2h=(D*zV-@@^g*1fnYDo*O++cMKuY`FXuIe8l3~2vL^0l`$dd2 z#A3QNCD2Nh3mlo)$>5|G+!sfyNqnwA82e8?_yLg;sN^6lIgmGg3_pSDJ0Y?8O;^D| z3CoDO6zs8y{h94ijRPZc;E@9v?U7c1S#p56L1Ma?CZRufSrM}qbdu4-C3Rwg3b2Pl zFz{Q$!x2M-30223)}s9ilqRqmgmesQ&BZ6j=7b{Qx0vKOAOwI>hS&-@PZAwa%z(EA ztO?Xix|*YaX_f2h!p;% zMQFWHOCDUV(Ny6i+LXzGB>?LQ>G*WR#~p#+^MlBgdGDNLe!M_-cRp5b&b zI<1@9pi14ej9wLTFM^+!rfgKx57P~OIrZdjoppke5Yz0Oe zsREBJ=sB#g_j<$R^2yE23!WD@JFp|#uJ?Ys@X`vo7C8X91Q`_>7g+)M5Saw|7MTZG z3E2viGk{(oQ(x+W2%BsNkrMLsE8ADRgoK0^auxD&a&L-lawiHq1>RgQu_i$gITF!) zp@v@!UX(CSa~nQmYn5hO9@LNOSmJW8TXmlnb#RT zb8>S~i&}HoN#W_8$(8)W+|<1M9F*^~xg=BlzxJl)reLROe=$rBO=?Vn{mT5_B72`; z8;mPPCtN9ZE|4v*C%rDo*9F9M!E`|1$V5z^Kwrxw&0vTTgb{`Qiaw2Q$LPW|&NRg| z#I(qSV>)c)F~~grg$bGgivgUzkZIij*HG7F({Rf0(pbWv*!a*)!*o}F*7(*~#-!X3 z$5_W?+hp44+H6F>)BwvwtR|vLt4gd|&(O{+ds}};e%pRue7CWOp*w5~dAoLxyIW&) zv9D>cZ_K0Rmkv^%ta*m+BaIB!b#-!Lq ztA5Bvb?ndBz)6W*%v=luRRf|;^G&EtHbP+pm^dLq5yDU3)fG$>e5XLBbQuy-0#ahs zv(#hQCAAe+)LQvl?bu8khRPg+~ppnuINzEkw=kb zDQn5C$tfwmp-`ciC4wesCtf86Ct@VhB+60nDRdQ?mtref$ZII5D8neVnY%^kF?A?pYOJ9V|rl{M-fKdr@f@%rsbziYkt@C(PXP_ zH&f1HfhHi=u zi{*gPgq4UjhDC)jfZmWQpSqBu&FpSRX)4KD&L)(Kk#3UK#(>5Q$5>efger=fikg?y zofJZir*2SAU4B)@t3INRS9kW);3tQ<)2iu^>N4xW6q%fWnoPKljDeMy6e0H-}&2+&@|DA(VWuib;f>ea`QY#C5D~zx%9aP z9!xfNHisV0dPMvB%a>QE*Q8gPm&!-G&+MSeU|XMbJ{<=f1il0=1vCZ1f!_y(h7bou z;wkbZc$;Tg3(~>_3Eqdy1v3yAd3?RnH^kMWS;*eqA^SyEFa=vN52nGlV zdK0P{YH#&I1|p$I%t-9~*o?O%gN~mXY9CsqaHK#}^vU=5;Zh(`xcj3#+mUb9U2_j` zb~whQYt}rCGEJA+mj%Pgm5>{!;1YeNebW>sT{C(_y;e3;7IYH0DCe}}1T}#)9+HhW z!7^6fhHt-l5_B8Eiw1sOdtGwHajkTf49yMoL}#H}LcK#NO{Lv-;`z9X5=b>GA}GSq zx3Cqu1xIp6f}@sLnUq|eT##t14c*MDYpOG+TA{4#lX>mo0ailTYIqks61A4z%w|PJ zLRqQIpq9T1($H<^-FoWbc@RC6nbb1uN_7soHqtR+&sT?85?zv2d0C86>0EMJ%2Z)h ztXA6b&VSWa_qjc|HAEV28VfQiEGk`QN+x2AV9Y6|6;GxX+uD8gXn}Lmbarml_Sf4^ z)!X(QYw-h_mOWME8 znkOFhgxgo1OCIa2)*O6}upXE9?v?l!e6+P<^~^PDwXwCJv^BM4Ux)5$tVP`Ojb;s; zJ!l+p8nRjlnibwhcIMN^I>*M~5mRelDS?Pkc6Y%#@2!B~GlBH^uh>CuW#4XFIww_^ zfc>Z-sQ|oEI)*93&*3|rj1F)Z} zAKr{UuC}`;@4i}r`&0S%?vZX*>>8Z9PmWBd?-*^j48+XiUE#r*L$zWjz@H!)x{Ifd zVui!KVzMHyp(~)Ky0f!V;x8SBPAS}?=d1S_Q95W2$ZX*tawGM~W{3}SYJBrz%jc-0 zvN@Ppo}M=2E%fDUNvQ(ZGB`04rBo zcWXQ`>7^P&I1vX&)Pu4s5M%0}=_g&w!d1h1zp1!ry9MP|V6k9pVoba>xDP3?I6fRo zMXFJ(iN_n^1sfY0qw%SD+ImYoJAQQ^d4yY!_Az^Wdk}jPoFuduf)2|Yn!SS=8XG&k z-4C(NebLu&`|OQ{6yn@lyiG#>6|y^_rRYak$&4!VS#1>{=qBn*jdbnkFg5X zQAUEcl#P9(Etu$)UwMvYgBV47i= zV&;`o;(ZCU=g%W-PZQ=*=1;Z1>g*10j(p|@uaLo>mc=Or+6bD|TV;85n!nwN4bLP3{iF4_45qFn=m3e)9 zTM0)FHwrBY7Y#>%=SW}`eD$>=2qt(vQal{MRfa}_Lu3E-m|W|N67?y=NmYL1{Q%dt z9hotiXx2iuv6mv-B6CoJ2lwew@j&6gxR-<;cS}Z<+nLy&*WCU|QwH6>uWn9T(KoaN zJ3~P)XnUNW~RQDvMJeF6M z&&LdKJ6N#1+*9gHGm|S12OcAfb1C(McZ~ywIAC(&*}6yE*VL^edriV@&7ME@W$iSx z^*Uyu+ko2yN(mY^FOtJ5Wutpr?>zFDhIu*JRPXP08n?N^?jP>)NHxiz3t+t`GYZmh zQz)`{?xybJ2Qnu1JLw4Yg!Y8m<2uA%LN!CRZ*&;d3pCoFmCpBTQ1%liO52W=v51zB z>0p=ekq$_Pk@~w2%^d)6q?lAenSDBa&+_65W$>I7(8Yvdb2HVtbBku|PaIfHluZ%tS8h%Z)h_whWRSuT-@e{_br13l2ZW)92Zdvu z?Zxv;j7q{v@x)amH_@h3p^=@Jfbf2YCXl;1ym{+FV!6)sl zvx8&9Ek_ofvxw(GI8=3TLI}l}Y-gMnt_DI2Vj^k*i2)VEHRbrChkV|A?;wr{MGVOh z+epMPIl8Xj1ou9AUIt#um`5NL^c$+IEHR&4u_RBTC?|<8rmM%!X!*@d%^Sw&{euaf z@s(tbWR%SE#5`}_N02u|%Qa)*Ws*g~#1Tq0v zQbq`rDxPKGi&nrO8KsR#n2Jj75IgpUT~0L&rqijMb{tUuS#!4YcghGZ@aO&q%W1@cb(CIu+RE z6BNo2MOe zi7c0%lSUfdq*hPDRwbCzWOb^?xHE>uh=v>&q-C>pILqdaaj$vgb{V=hdennnL6Js- zf@eiQKqCnskAMm1Tkw`3RQ)9)DUzn(p}W^~;@pJnjt6EWB0)l$FS9#AX;kuRnd!MS zyL{(j4zP+gA2X*r1mU4}9N&bw6h;1s6Ojd8rdNA=r~*kEsxWg(^}<~4o@62D10%9F z6DMx;?7YCC ze@Rh}q*E1_)>(ZzhGPx)4YH=R$;O+!vxB|y`vd{3kpn#H2MqyQh5sqRk8|=d(74!^b7eINT)Vku$U20i4VOFF4>5o!~QovK3 z%RaLLKO>7pICbmvc@J1^GF{@4&yX`x>_I#Yrd29&Dy|7J8ZgcRDFnHtrhR*&zh#a> zl3^?7wP9M-Z6@`=d6NB%6|6waq+=p!hHB)~?--hxT9-B!e)`E189XlUt5UqvH>$wp zl#n#DgnQccRGs#hC6F?ZY*0L?Oq4ssDO42XJhXxHe(?>G;{1dBL*olZs%j?3o~ul# z7-T#OXUY!M#|qIlG0j!W%1Y4`QjHO@WrYELH4!;oy~WPXiyVcrOO$xnX?G`BXdWrw z9odm;4!d-lWE0=T+@Z_#n(lV?*B@cVo}B`=h(88;xtDyJYB}Fp&_= z=quP)aifSOc&G?IG=@9$HVGPlr?_MW!77FU(r8bzNm3WmAQB@b*@9d-lI%@!yRpy- zz~~%DrHcTKTseQf{0&s|frErF#Xw!it}Ti*n<&+?-R+7-E1i;4?U}|WnLJyjru3bWpfvU~J zl`nQVvy)Q?9ygq#(DC6I{o#f&Mq&=04kB*cyy$%Vxq=G({0J`)feFnCa7D^RxCk_1 zctzV559VnWI_Aj-OQxoBCOXbw-?` z*tHuSK~QNIXU4t5!=Y?jAuD&UH>_a^m<;NXSp$q8q6l1*hLNWscrh}Uqj zc#=Mr8TXft?pW7l*fs5L?)>9S(zOsXyVHInWLd^#jb&o+9+&4_{X zn$^o|+xvx>8-*__P2wT+4PbpXg7#Xea1FLD>kIdu`)uUC`Sks9>zE`vKYurLcQKom z&r=nkN~s!FN>KW01!dJ_wLTX$7cn=_YRzW*7U0YA)?5W?vt*;YuK6xc$FX>N{OS9z z&p=G|O^-qlKr0+Ttc_Ksz0)f|-Va4)1R7aU(c9uPn+l+^+1GSZwzb~dyI#&(7#v~D)`A8!gkK-_MeA0KT@00#JOHrBRI zoNhdXe^zjQeEvO5M~MGt3BZbnP+dkIU&zkU1fPYLnU1`$?nyzQKzKosfd%-%`e-SSY8uWL zTLQoo%GCLlso|92C(Zb0CiBIiGrz|23wo@sp16*mtc{u0q#MV>fU@Vgp07}tnfeg0 zz4I`+R=^^kxU^K{^W(@%H_s<|W-|6BMM6;NzWK$pIJ$dIu|u<#sH^UKSN6*M&TetajQ z=>KQmS$uvF=&r7=c?=2lC@MCcrNcs?9H-Mx+ zOxVRBe-`{YzTE~C7Z*#Yma5EYXXd@b8!rfU>Vdc*DnET^Mu$esX(;%VguP%xTn*?V zXBFu}U4y;b2%bEIc}q*W`YnThO@QB&Id_4StZV^^8cJo;FEWy@S^!04Rn?^3asd$X z{Q>atM^h~lH)@Mi<|Xi3GN{m%;(}Z+NGhyn=n1e+putZTOqj1vW^~2m7*b4z2N~oE;6~B8^%{QBg7IXt>b=DPV6@V5dune^nfxaHWfk z3tW6c*z{PHy!n_`{rRpOnN6pk^x%G6fae$reIa2{qa5gG+z|7&IC4V=^j*>L;&MU@ zj?*{Z0jOvShvN5S>ap(CKnPO^lTKX3pF6zw>9pyM2-B1e?ie4>NggbHp;s8H*a8-_ zK!4vfei8`uh=_<0n*J;*k_y=jprzXH>6C{I<&pqo$cpArZXb|T;?A-O9Wp98Xs0ij+|l_V(nnh|KKL$@sqCn{*!*=oJ#2atOFE$7qvdKtm6N zQx6jX-)Ubz_r~{SkU;oT!v8eI>xm2WjLS3=L4U2#JQX!I)-tF?%M;PTLHrdUt`0`9 zU>+C*Iv2LW15uhDRk7Mk!1yglE=Q1Hj`t4F%d;;qg{c(3%FNu)ZuboMr*11IxRtkG!J0ET82WXvzCWp_D&L^yI_M>|GG)RhfAP zrvrwaR3x=IGIjen(?D|Eq(2GcvV%e=(lqWSIZ9wyXvXrW(K__GQWtVO9UVge=qi$1 zLCC&=cP=%1d2-VfajT^@8g?C2iy`oMhm<3Qp@4DG`wg%C+BkB2CQJRe_6a1hnTcUK zTyXeI1Cbyu$~cAKM%L~SaFl}neSQh8%|DTk4T6B@%DjFtgP9|yg>>H#u{*MZtTwC7 zdTM|1>0C5cY$rDx06^HTYlnm=3`2mTwB8>ePS$Xx0(`5;gL?9 zZTC#X$u)xtqrik)=e==ZT2=fK{gl~$UCUBE zsy*Rq?S2gsRGS~gj_j>_)x;EF4>i}$Mq3D=sxECJ3X`ZT#`l?=mJc^Ha60ka#uR`p zevY83F9tJ7Mtq=^PzouXp5NYkQnP4sLJ z$y&Q*-;5B%Y_d?|q-MNxV#c=&d)abJZ%B*m0 z8?t=-qKD8J{4iF{nrtE-C(e{h@aSveV_S{pmBUPyA4ryql3w^AY*_Uw z47Bp%OIi7YMVG3!%WKD_8`H+Qh}~u;o#u8O29Lwr1D3&y5AK$hUfAX9awq?1^+_Aq z(f&|Y9EQvODmSaO&)V+O?6ua|f_LWL=&MLG$a)S0tYhzdUiGi(1)R z?~XSq&MI`qwvVVxe6L7oy3XLX1-IJIzVFz2WrR(0fzK35U-REp1`|IJc^9E*GEha= zL}sEf`SPXUC`&ET&89&ukwF57z`g(h0tQAzatU%LLt2ID(Y;s<{yUvusRwGtAOis( z7j)9f7f=l-0|_2K{Xno>(Wf&LA_Ji<(Ms<_2UzXrwmpCt>T}BAR9OW@792B%C!Xk? zMZV>i_7_HK&%iA8nV?*gXIgR6!rQ5W)5&%do+m_=gCeUOkA6<`={BS#BQnkDCJy)f zlcf0J&kYt_P4T@b_Cw{#IZAmD3kS<<`AXwG^+8tl)?Q@T8bWW?xeZ2FV42F99^2=^ zB&Q72!}~s*PeqJ7Lcje?9@rlWEGcSU_F_7qH7Ao>Mb70k*v#c6FKgUAV2e3UOvxTF zJP4dTYn#!&R5!i7OrB#Qrb%3SHlw_{>%PT~hkXFdPpcKzc1D2nvv~u3ahpS=S>#$L zjYmyWp7oHZ14z4`&{LCz1NwuPV2*+`4>nIV+`ILPVC6Jr!6^pRRD(OOVRxB1s*0a4 zES`w!5#$pK)%RO9R6wPkc*MGdHpU=|3|5TC+nPcWQIrVu`}h?d?EptVB!|n5&2lF~ zA#+>UoIo+5cE4yABd1o~yodXYbHQ?W(HA*B&f_Zo?-|l2PP^cA`XnZaUrEI|;sO%f zxG-Iz9O|II=FrgmYN&L)iIA4~%W1+tK&MpyLSLBnNtB0X5PE5u%_;zF43jG=-rm5$ zq>#yGUY_3l>vGhP=W~5?;GxzJC!8cz;TEeZbVEb_5Y7OJvU zxf_Big{N`k=`R-;?YV2wN@s!b5BGc^g~vb%>(U{NbKk;8`9;Jz8eAklK&QE%LMV)0 z6B}#5FCB_QgSiB6KnxC4#v&6*M40MElEkW$5{P!nhl1~aZ&3rt|yE)7U!Kc`8Y>#X2{i4IPM&U zIb7K=QA|n=tleWQd`IRPU1p|D>CqLz@3gKc_Ba0e?uch-x1dhdqI}|`8D!(B+Y6Vm z+6upttv83I)p9htT5~aYjboQh_h%h{LAkiwVO<^tjXn+z98op4Gk(x7PNFpkNh1Ppb#h}h68UDh;Q?&2P-!-Nf767d10fL8N0_j5R z7yxrky%^D30Qp|q{=&0$ULyncU32+h?ui@7M5ewx`>NDWG~bH#m^hxJt%be(hpZ${ z=e%{Dw@kCJALHZeCa1g`gL!?|%KCQQz{D940`X6_Yc%5yRC?*+uQ|F{vXKNMOM8k=?KiIyE0?+g4CI4nmN`3x&&zJlN;8B`BhvA3!o<(aDj6CN-3WN!USM9nJGSJ~g_X+O3e6aL&=EN- z#m0Z2t6&Z@@M;#1=fj9$P?!A)x}aLcSNAc@6qghET^gO1fI|3d(MZ4YDpniyTnZKb zWZy4)wTbjUD*Xut3?@+5P`HECty+=-r$uM{pFV6Mo@Ku1Gh zeeEYjwECSa7oh_Cbk#6qf~r0NYoe)u2SXrgFt3`)$N|&Xf8b0lEoCU{uJxqHu7sd!Yr78LXlv{-3bYi;@Mh_L&Ka`K-_<09G5_Wo=&5mEgO z^H0%`kqLUz$9iyeV9^~JIJrOV#oIv|az^O#sSS~=wjvExn4D*I;CbRNq{+wwrPK~| zj&_VQ_yER@2%xsWNnBJRr3Zz{xW=t}xROpe=wH)59%EL0B~k&uHMW6Gf)8?x{n|D1 zGl<_AvgnXcMw%n)l8Iy~;O1y4`RPyD!j$RyhqIF&HL_tOXC3>Hvh%=5BGg<<}2c@UOIF1G?1 zzVJ>?p?3tSh7UO5&mpy&+Xvyp$b)B3hj{ShV_yxB2Ax~Hsg&y{1pOd+TVwZzVUl<8 zT1*CfoKO}I*cU9m^4Y(`rG(QEL0yG}?Dm7}MTB2vIt~^E-9)9RrNU;7gLEB4B_KZu zu}I?5k&B39n!8jY2VyxbbMDH+bx7Nyc z#Oij3`lH0Ug?ykgexa$H_gp`kPR5zIY9Cf{*&+N%DJ41lQT}bP0lONQkRg~{6a27d zO?O=;9&ZKH>mK|q$frcnYDW2j-e`DsBZvd}SGC;-MAo;0=cg@Gdi2&SWuAL@lMlfx zJBbuPlfdDdkUucM1C%*VNmYAMzs3Viu^m*kibp<+=G^Gl(-BVtpoGsvYCeIA!2S&W zLM-+{DGBoEcC9a+j>{v{6%MtjzwMnr@-z7%3Vs|3$OxCI1j@&Tn4qm;R8(P9rL$YJ zl>6?`eZ1US?Y+^Jc4h6uo>KQod*ya0`C!AcBB$c*@I?|J?Y$8lHXb$GG*PEdlJ^*El5}xl{U)37L;9A_y&6Ez zj)I>&KWyntHBFUQY3GtyOl|V7UlGWsL+aM zNJv3FEEaZ#M@Ne;*V|N?jG&SfJl!0Aa;d3WFx;H|A%WD}*C$Yb{^^YgA@J{AzVZV> zm`?|+Nhc=nm$!CU=z^(cayn18dwXJY0>mMU-d>-n9Qq7LgiFu0YR&z9-yX%97G7-R zhyTUC-%dn60jaF3i~qFe41)?yi7LfQy0R)lh|)nKbK9r*fm+tciP9GjSk5_;Dc z{GU^dbAssdsB_=W*IB8t@C_MSUTkz7Oyz;A8`~_`!>l$tE14l^n5}kzW5oVL1rG$G z3x-siudkchH zCgBc27Q2I>%@?=LAT-0CV3>tQhdht)*h08R3c;)vY-V%#BpNLj7lgQ}-`9i<*v3eq zqNwi?w+p<(EY{WWzD}!UJxT)XH_G$Fz;AdaWa(D+oYT)ton5pRlXql=oLi_YTF;b% zOC7U$R{K01lAS8jc)04we{IwH9a;Z1pd=ExntmcJrP@EX_&u9Qfd3EN{XOx5zu^Rv zgva`$=s)CN{jh*9^_#k4|2qgG(8=!d^1#1sC8R~%j;In9Lzr{@$J<$lhSGw|I4oa)u0KTlrAk69;l1;c1Ybs-71cn;||!e zynY!0)`(I=3$B0$$p*CLxU9Ge-R$^zGCYn)4mY1QBFpnoZ;6(vLMdPEm2<_Jh{&$( zXKek!Nky=mSJ@r26V~qKhYiDP>lRkpktd}B&4}mfo_%N4UZMXQpKLj`QPJs zB=l`W_LlDHAN9_gRA|X8&mv1jMYfuDQ`POyofmj(nH1H^gL+Pgy&m16%QWl4zmy5C zRID~S%73z!BXJPP6-s7>V8S71TmKS4IfBPseMVFvs)VR6R)sw+W;fuM)v39UPdK0x zbw=EX&4-}I680xu`g6w${r$3*XIMYqxZp0i5~s0R1`iI31CAGv-X9NWsb6-5jQ31) z6aY%nc+dFZP}IYs!opuYFqkz!2OjgMybfTZqncY6?-NxOI<#-~g=>*AhRn$^BD9_g zbj0Kfmtow_<0SAqkfLp8dsUQHUi;_K*LwZxw@nRTcU?C?kU77ghZjT_rOSu~gn<_4 zd4CFCc?LeiUG!&UtWrTz!|691|8{6Txud9-o_bkIZ@0!KIU{nH5iVA70wDzUI1^q2 zPC##;?)+qM=XoEfm8a0ys}d4-za7}}%<;5Swt1A74ui&|_Fm^O_^55V{X(X+i&Qf$ zh!I^oMgGo3yEi6kW2@&^3-!A}#t$)r2;vp9<%u$}u=u#Pd)c6PT#!_u^UQgiM5||e zuE@Qh#;f=%{$jOc;_`V;Z)OG;&3dtjrXMaV9J*Pr%!PZkmJC+!^@#y<-YR^#(hWU# zkG@R30i9}&PPBp5+rG!dwb+pt>+)OG(}ORA%ZZ7uV@ayJxd? z4XNKg5xJ+7ZFuc77nqiQ_bSgg)(%a`D;_R2VV)=R?5e>2Fu5-zG75@{Rrt^I$4@Hp zOEMu76*?>Bsw8Dl&`@!Du`xb8Eziq56m-8c(IV!LP@AB5&*alkZDy}`MQ@+8{njUi zdq;*X63PK8&?P{RAw!QIWl83`HkNs89%3q2lc(dEmDu_-Uh^7-_vsSmrOh>SI2tOV zf6VBt&yNsjr!_c+(TS3+T4R;^yKYLjO zRo%gh?T9l0Ijm5Rf~I{nGFp&Q&YK?<@I~1E;aOjcGf*f<{^E27iVaelGl&C?S#rU1a40VCNF)FP|9>a2Aa26k}JpUy*KUatOGp(g2&NfvLE2r`I5~IBS zqYB+uv#3SXo)43-LquY-Xv_Zvb00Mpx&Q3lumdowmbcS$hgJY2QorhYtonysIocrZ z?(VyLQU!l0>Oqdb?PT%YQt?mA@FQLLqrgryURYh5(*<{ma z!x`rFV%7q|^EA>~k2I<5U?ID#H4FQ2%ZGM`!lT0+cCV#OZ$AgB)`ss(TSx1JD5o6o z#pqXc&a~2fcCOfu+gvvhxN>=EKSUQ?R$fo?rIE7uN9h~V#PYeF&ELH}e`K?7I$1Bz zSM+JY@trVrv_>|=U~Ytb0w1PQbkIHXX}vs=x~QwBa=a?Dgf43v(e0DEMnZtliU!`@ z>X=xIUQF+~*cfGFXwGcfa*%}lmqR4M2M3Sm{p`)-{1H0o?C7_i5Tl155-ONKbC=er zEa&tEy*aBo!>#9_b<#o-Zi2Ejtrxz_4mqP3_2Y{{M+J;L43?NPpeGR@IgrNM7Jr8< zCjH;V`cR=J2ntkL5)N0=A-5dN)eWxP`>fRrgiSL*!NiR-jxlFGnfi2#Lq^IVcjR;B ze92pF&WLvLU~i#rPu(eZNJ2!S9Z!S`#i6;+=9d+QW}Mk7!|U%F4=z%Sn0GBO@3`w2 zsn3R&bEEE|GUKAegp(#4^x96Z$N)R#xfTGq3+~#J0T-vXw2faF z?;!}M-CoP3+5Y)>KEdnXaCF`u`qZY5@4gR^CZJ7W8dbJHPKyFU z_Cv8*c9s4~+>6RVB@^UHJR5H-J1+2fU=ErltzIiTwyIHS?A=F_7HTaMN0y>*j~O!N zbS%V9w)!es`NddY+d+I^F2N0rj4}r}e`xfG)1QiHub@&t9l5$-#+o zG;4=Z*?OZ^c_I##CP=)K5!ya_tvHR9vK!MZkG$j^|E{E75{picO?sv}3@K<}!yf0Z zPEoQt)gqFNVvZmdWh49Uwu8jAAE|A<3~B3$9iIWjwp}mDXI(-OE{UgpKmN^;>eBf0 zLFYDkJTFdHn)DrRZ(!IqNSE{zc+}4}uTz=g(i4MDBEO7gvyAW@C-gOpW`~hweKc-) zpUbY@AfE@_=bTnR#qh*OPfQKsAJ`04BT;m@pj<^pV(2Ak(>JzA>eera+F@v<-o7p_pSJsmg|`| z>ANy9GnN}za2<32E0Kn>G91hyfrwLS1U-i%D{7pX<>?tSv-FdWGnwOzI$#f@^Q~bk zK3PkDs6@u??e6$z5Rb;Ve4>ilEoHSCGtr6#A0ZyHeT9pZm(eugT@(M0_|AloeFNLXxp49~Z>swZTsST37!I#ByPOHEgxR5o+w ziE^!4phly^!AQF4UN>0+)lf5wYD(;f;_k}bI)=k`rtX~nr4Q;9x{nMUwTB%vE3Mua z&wkX|t;FOzC2t807HBr!mX)c9L0xo~65b@bea0nS^l0j{m~DIA^e^L82Z!2G;DAdcii~3yq~|A2L}WMhvs;dx8@~zK>`1b3U#R;R{|BzPXrb3 z?0X1H04b+*S6AcJ-Lj6+>@bV<8uoOydw=3M0!^jz_v8r4M5C$gvh*Z-c#hlS?>RFG zX&ARhLAj@WM(`3KR1UKs`$@2Q^tD<=M#&6h8LXuBz9YvV{j= z;;-O?j7X@-nxO-~HORh~`fgWG9bnw`#GgU=J4O0!`|QdipZOM+hIbMCJdo(11RKai zx+|HhRLnD>vXB}}=4Qi@;;td8?7LrI4;}P)wU+_k;37%SabzL}4SXqp1kkiv2B-8NIn1bRn}}c|um5#iLJfE)rzYpu)up99m{%*MHT&%v{GE_Le*8#i&hCrb zyZCZ;U-QuuE3t0RK3(&L&&@S}U`;n*#57=z3k+rz-f!c1oIG;R;yJaNPt*+T!wS55 zDp5Oc$ND60erf2kOMy?7Ho(tRlv#)6@GDnHQrn?9(RL@~{!D~uiK>)Qphh9JdY0A* zLIeOPVpLjmahJgauiT|Fn1DwPpTsxmtQ)2xXU1fRwsmVL)l7i<+j9kTSdoenI=Ad{ z*E`;MvmQ^FsJ*sfPS&eF*|fNrm?-3S9!=JeeU8QsYeb=%3`{Vr6bPiG!ES|0UXoUN z`ZsVx029g=i=3Shrq_6J0CotsUE!)dN9%rOilCN{c^GU8vfy+oFP0bVIxU)6z?HXV zV1NA@lvqK<2l9_3ADLAUDCKUK;2^k5=1We=Ye`sps0@L9J>q0mC}i)$N{6+D120!Je=R=ipUcW3)Vaw->40f*Pj4Hw z{kBF$Rrh&hUfwnrjjA-*$~;fOXH@G?axe9f+!OsLxlaP8`l&-`#AppD$J!lV$WNgc@O0HLKh6S(|9&L7y1E)qs~Y70BYs_w zpU0w;&0*xte^Yp~Paiq2S&y7T|A#RDOT%XV5e;PO&dTC`&m194M(kRPj(3S9hS7PlGM1kkr zfH9xr6*V=gzcZ)r!ms+jN{kEw&=TUGf&f;~<8TQnlx=qRaz+YEqIs0U{Y4mZ(zw1Y zN){g`{RX0D8@QD2qnR&=fsnUDjL>EJ@mfgjzgELDaHjMDnd}&O(Wtpf0DG7(Lw-4; z#z~;6d5V5kITQ>O|FhKwHGw>df1=+1A?+)}qFTSVWu!s6rMnRc=`QImX{13IxDMcy1To(ySw8Z^_=tneSfcOEFLYsd$hM@_V=Tl3p zDu>8_Dq6KuGuF@myVH)?=|ak|_QFr#_b|}uIs9BIJiWW1pKXAl_VjmWFyv$aZ84p2 zw{HaDV$!6yC|JWT2ndPRB)q7>#?23F2Z!G}_xMUbz@u>Asyv|}hk2~&BU*?l0ihm0 z+|IiMiQ5f1Um)RZ?yQ#)-DIn*B8+n!%h87|2M391+g!I2wV5XFQoW8h+2ULgpv7I9~aU61Ib=rhkrhZSJ(A9s?9!WqT;lZLahAYGn`P)I?ENDA)Nd+ufFz;U(fwCLM8xG zfE_aWJL%}rkLz-*{xI|n)}%Y%fJS6?gSI?w7Wnj;?*0hBHc=b>Kkkn`Bw2)skyN*1 zT|UZ?_)H_!!@RbUO1|YXF!0qo(yGL%oT@P1v~K&bmB1enR91JLA|Bs6I*wofa%SH! zh&|ul;MQB!tvz<%s;N2Vi|{;qI<6vNLAXMJE?ZV4E>Xy6@-CZ^fF< zIuJlRyTpM_>htVmikI|#a{NeAI_xs&F=}*G5ol^l2ng}qR_y|SzWFyeY4Zx6%0nfo+SWC<$TVwpxel91AwUm7B4 zJqAODx5VEfbv>_Bi)R!NDmN>)(&F^qP-Jp+sq`LxcuiD)67o=Ie@Oy#Yo*%_jgYG7m%e;^{^$YQ<*#Fg_h!BtyL_}Ys=i#(Dh;7AYvR}VJ(2= z3pzQUgsMG02MXEg!>68GYq31L=Br-r7UNmoqck*pztodGe-1|tiXUWjC4FXOsQe>t z5MHE2+?%FAbpIi*jc86)baet|i<#E(UYb3;aGbY81uhM|K#rtGCd(j)p?Pg57cVxX z0)^h9CE!$dPDT2qhuenoo6}F^lbHUu1lMBFPb-!D zv}JQ~!cWreUq8g*1tyfw1LJZk6$xbNXzhOxCzijnI^Wo3GQ99c8tIarU>Rh79Djd4 z=Y`C5%=J^cDoS^LNTNqDehXCaECa_Df7OYCw_Rlt*sXXWPW6f5otc@7DX-oeXv95# zon-^PF~q2XvAr7>X4d0K3yn>E1XcG|oI^BDK8((WS(<64=>pr{XxP}DuVfI(1rI1f z$H?8@I?ZDZ5i8+&?3CQnBi}6Wx3xNUEcM!7Q^@~up6S6+VTz*|QM|xa3n0QK*muR9rkfE;5;&a|R;qO)t@iOjQdUgRna43Xf1@Y;gQQ&`0#COXIzS8sZtkEz(#PrTo%DL{_`WYC5QA%a{@1Fh)TrItNpvq zGHo%#xjP8;vl~tN)!S@#G-WX2#{>Ca*ju5av!8lsAK z44!{ZOXQSS6U<>&>Y_^FO%av6v`@+ID&2SAdzoupuP?pCV{G{ zIyP$?7Op1J$ibNw|G+UF*gH1Sq;KP!BGC}N@Q4SWg>*u@--lmpI3ckzLn}FBAXXt! zQ}duX2z?(b*T?u6c_f&ws*O5c$}5D&3UoCY$TZe>Lt>J>-#%j1c4}X~w0WJ&(DD}w zt_wN(fMvI{98P((54?#^Y)DPdAQDcpYoQ0oT2y zmgzGCA6k+j3{!X^P&JvK3-g3wFgb(_w0`{9YLj53qw5%t!gg(h8IT*K_fCfV zst&S!(_rhw# zJ<%}<5Oiflq2_Za8QMeJFGWqRg@Eqj8_k1sXn?4wXi!MV_Xw>?cV`4mu24~iuO=pj z#{uv5++GAIYB-nIv-6KNE!lhZt8=1`u(2?RKYhaXg}It69@O~lVMMV3(9qE2otOa4 zrE({R>sCjhCpsuYBJo!61I#4Xx$vCKCp>w10iJ%>92zafyy9G-s(p7R2k$W-p zF?EQOK3h13wR3GvXkndhWN37KGDcIw?Tt>f6=B0%DSdk-cr;ur6}l+(ZAj-~ovr`b z_@vrfJcpzZ$si@}2NL0)6)kf_5{^~ckrC~(JoUBQ_RoT1`vk53lK@NO2$qjREOLJz!x-P@!Zxe9xEMc}Mh$sT{b@54}o$Yzs;Mle1#Z01k5% zZ;{?gB6jK_38&92OMKnm_rk*S`K2AaBWDpUi=NpX5?oM?Fj4oPZjwiURi5`%`L=pJ zU>V;84*8F=A}6@5Qv6@^C`|(rP{eI6rUw;7#gr8PkI4S!J3cJo-e~I8Dt%Kkp6O=% zU-v6es3QeLnh6xdSQ+}IGItO+m)Q^AYJ_{05_Qv}Lx^!hRM^SmMy<^RvWEDENCk~wPmQ#~Np z>&)uPFB4QGHmaz=*pEmT6(ND6Po&?qg8LbFqgjaYCg_<0o+NWzI5J#r`OCR&Uj;V zvD3Y`>Rh#zQr^L5lE32p=ay-~zb`%JauOH$it%wmDLTUuAJ|&aWfdEczGh=rCNX0cQB>4llEQzei+am^JP{~}0dsMaJ?o7iNYh7*Hz3QQ%1~Xj z*GX@3gltW%Ohbmj#`CrOgL2V20AHgP?Xc#^$G;~mh<%UOfS&6UTty69(f>G!mw(eq zQqn_%ncmRzJ8h+?^yKo0M{B%5-I{!2R(c`SRC}OWV%^3?WXl;+N{uPHa|%=-Xz#ip z+bVwUF~b_TIJQ%q-Z_}jv&)YUtilDNH$=DDUX4V4!{{+w_n6g}vEApg@N`CaK1~XI z&$zG2)p@9b0*j_fQBlS7wKY6inL^*Q{k$=zbR+7JTVeRKXtMD01 z3YAiONv1oqyC|d+>w$CS!4CsBBuGqC?lGRw5|Ws5@0{ZD_h`V zp>@kH|6HZf+nMJV1a&>5AL(rliRpnq{Di6L`vQG-cDU^KgC8@}wpB}vbBo^3lDxyt z)>+rLyj4GmuQO-&yu1AH{Sdi*c(Rw&uOWu$^(|jUD_+oksKsf9qGaiOOv1X|?%T*~ z@s@ys0^J|^IO2#z-!*2J13Z+yx>L04as~ymK0wg%JHyc#B9CE^%GY+g;BdScYb{NN zv0d`_1fWL%U$1s9O)oNEvz*XbVrCe+5;Hv_4C~{tXP|v4<$9B{dDAD8aDyJNINfjG zz9Y>+eUQU}7+jIz(3nFrBx-_T_+BKtE?DaR$X5Dffj$RG%C&jHo!PPXQg#ndbGXv` zJ#%B+V9jPq>JD|a6tuPxdPq!xZpyL6D2>;(T{`zNJg82P>9==z+8rmwRoL)1)&GxN zDW`)2s92vKADSp|xIyn?Vk4-dtDSBg&%jvYX!&973mQ`ad6hsT`}~}f9&gM~@4~7w z$v6IN#i2`E_S3$FdwNHUS1{d9dbd9+_Xyq{MR;IyJIc4XI4AFS=A^}rWYo6#S>SI- zQutkWSy_(=8;J1@T`wvq(qgTCLZz!R6VaT^Y}~|l7Y@A6tF7D#B+^z&l6Zl7R3s9K zz1uxsI?_$M*^g_6qcdI&cuu}NYpaWxJG+^_;&SH(2htx`VLPozk8q>y~c4U4sgqFEBi}!-`>+n}u9=(cMW?*Bl8P z-72$({B298v+I@IJ%xZrzSKan{*v=*C9UezJ4&5bTblgvqa*WF72rVeZTdzrOa8E? zpjCOB%*aQt(HET0KY-!+@@nahhOfv@FS~Gvbwl?Cr*G+iK}$L{xv6n=0BC*riih%x z|49-lmIb@*LYviGJv5YPJ_oCuYG9hP@6AaC7d?OZwApqO{?$iBei1ripQXmcG`!vL z3-zGaYd!jXuaiM~1D+qB_OhC7kqBfU7cbYm25YpcEG#$j?WhY(Vx(oDgWYMbZ!D!j zxS!3eG}zUC$04$t`;nN=$X_NahZ8n_X@+ipKP7*g^&K4={` z?4@nF8910l5JGup+su@cFvdf8>j(`cdbGyc%xd{-&+?}*(OW*=@w&;@Fci*HyaH(r;n|97GkeH<=nZ$>Xks32p6u+8pP3 zpg4Kguod>}&Fb_gMfT+{x6=i^yzEdO(H-?8VQAtKAHdt#gSP*G2AHm8>aD!4#6cvJf>N>~y4#%Gn z8?j@g^~DBb=cWEZ;d5j3|mTs*vsOP>fK%ETM(hbjSmeKHY93%*(uoWjzB#CF)@ zdEpupd&!z8SBE$cBf2`I`=h?>9_(*c?1$s%l(P;jS~f-|rH|jRYs#LGZic*+r}fF) z66X|X{#W?py_NJZ)vEdO$B2yS7;JXi7MT&>J3twDy)ga!^>K>mC|H<#_Gl-^vFwyw zMCg6C6*iiB)h(v=;+Um9mEU{TQ51xDgCtFDZ^12*2eL=xr>pb>cIbE83>2)~5v(t) zz4j_{h?Fr}k5AR}rY~38rb6X~Rl}F(?U6_j(_ghPE)-`uyQghw8D;OCvKS3Zv9h{)F>)D;_zR&-GokGCxyeOMx<%zM_*A~LyKxFSvm`0=1-H8#sxlApg?iT~4I`twh z)rt`m8?PrRA-k(O@}EmQvFsdpBYA}NO&6QdL3XttCt8H_M2JN?>QfkWHQxvE)g3e-Fk8H2w)yxw>n{kMvFnb6?-y;gerWO%-a|G`p9{+5 zfA*dk^9s2(m%-BOAEa6|#)ys$>72kO5?MCM=sXJ&z_I_g7eKbcoxKXQDjzfMBaEY{ z@lvL2wBx&s*Bwo*8CR?X0?3(GCtiYxhH^PP@seyM1+N$5;!AX$j0Q|?3H6huQN4F9;m5%^(L^!~)uRhnC z>UZm@L0_u1f~j@9ro-|l3A2Yq=6hJIJwsgI;T3;7pCYl|JlpR5_5AZxP8WX@nL-Xv zX49d*FF2Qzt4eQutLX>ZUCOX3w)VOv`n3I%X<*$M^Np&ZPJ1UyIWT^T_TJfHG!S)%@PNTQl?aL%&H71TO}e`8 z?x}0q%^;vW_Y``x<obJcsdR*)@JBP)m1#j|_wq3NOsO6^82s=}nrp?)rJbYWC1d z-EQoB7A~&|wZKB9@-&lgJ>Ps`mwMsOd888rc{-4}yY% z!q~q3!5OsoB?stiMhIM3F!OEByJZ*IKJVA3)WJE^5-h&E+t$K9p~H`t(c&4$?Qb8< zrvEw)VLAThOa7|k==Ie)c~=i+q)0zJ=xNTLk1}~5QLwPYSZqmP;XjUB+(=g;Eo32; z=kg8}OwW#-)GTjC&X?ASZqdERP8rI(Y)msuVKdSV`WI${#Pd}l3qnqNgZkbA20n2#Xpo6n%Fv2x%i z+QX5tvC03jJca_5*D6(yeZ2ZhOFw?NX#u6}JS(Q*ZI08LI`0is$^>3nZX-S&Xv~~A zCAGihP#nu|FF-~syw0*tk%x>^{rSig+(b;ZYM6A+6!)j<5W zN|FBpch?MUfhI$BUVe-}N9WM%JDP2@7*TEwI(d7{e}@*48qr#MQMmN~l z3f$ux5xu;34VYD(F{gEi#||u%@67hEO?FiU|Ig5QXZ~hSqcNXCx-s3#IHa4m`NERj zh3mbtPTlWZ(xheDPg|b~mn=E2?AH%Rm%Jo(GdD+mY-3ulh0{qYnjh94fD*6`F3|1g zN?D)98*RpQG@+-hbP$v$yj~6U>+by3wT_C_wcQwn{|7;&L8bu)*;bVqlO8i&31(%z z1mf50B?5PgHyR>a?vR>s9&{3q#bmxjNfg#)lyubNlZ?2I#nGM@CzNv~;ttIH%e~SJ z0G=)&p?1jssJpW`5V^Y-L_TL!-kC1Hy^4|JVpP5m80}j^6V^{C7&S)nh|Sa{mQ(4dV)Rv38kkDt!5pVx9RV$QrHQ)HB9$KE$?A; zB-K*E{NJ1m6rdCMuOJ*3F}Q^GgwM!KcNF3*0Q=ZrJeq+`=!ljILLEKB0^au;6b+?CtH7nSa&c@w&3!oGgc8>$)op z=kZ_kkr@qq{^#^hc>)G3RMh?AuC#t^f$O2`(3H)~FdSB&hjPcCWOQarmGbiw<1B4; z?6kPmO)*ms3|{*IU0bo@bX-H*!v>Gw5oN)qee^NPzQ1xisfW?^ywB6LQCC;r!+Q%( z$4E|2=CI%UU2GK4OXP*0sAUVs_jD%g7Z_ObWY`-)1FW`Q<#QM&O6haGTMyJW`$sqY z&RCw++{VJ#=sVZiI?U07CuKr+Sgb@@CdqGtr>E`OZi2Ehm%o%U>lnB!MfgZoO$}S$ zk83(ljF`Qnhhs|81WAHI4JZJoPi*za?oAb;V=-zK5|%k&tF1tHoQiGUzGc*Iz+lj< zYD4CK^8WFIT+4CZ$OcyowYm&r=4v!eHZ%#C;hgV%Zl28;}%%-q{V00g?fhD;Dm~FhC`GSgy z>a*D!nMl(y86uTHF9z?f%(LB;$vnTB6l3vM zg%tWjIxD!4l+|-dPkztXkc6Wttw zblUpbq8X`@@6F=VjVVWPk>mVNd{zDt?o1lW8gBq$!DTp}eR!9#P-}$_O}Vs)b-Wwf zU0X~KND5PsW1FEBy1@AbT}f+*qMSO~%Hn(Is7r$c`J^h6%poqy*N=){Qh?<&g0Oeu z-mhiT5_jjlMANaJ89f?W=Q)nn8zF-i=!7iBLjtXy&&o@`_;hDW)Q~N8yW&4_#r#QH zDols8tTFhyyH!*GRn4Zh(iKnHq-7BLqF7&0zj3mE0-O-l#3jhHd+)-jad#6MiT`~# zdGzA5h3{xn-?NA(>`%MPsSK^^*qo~aX%cxu!csL|4@@X1s5}l<^C=0qT*Y7=MsOJ) z$n)8?ns|jJwN(LBcQ8|yYLf7~Dwi0X0>nVk=BACQ8Dc}eoKs_<2i)|mLm;4N;K+n8 z>?F&GPxgVzYzpM}dVTjf816%$Uz_4r!2-r*n|4v`%?W076ijWovd)ca^?CC0Z}kr! zpPGRTiZKxz<$)Qr=UNJUx4v&P--)qAq)Ceh%>$Z~u~#hWi-X)@eI(HfQGKf2ZohT) z_9pI&pd6=`M3n&OnZo1|3`H9TUux9%ZShb&*N7kQjFg538FhTPZT!ZLX<<#_lJG&GXy z^e6J>ewsA{E=Njt`^u462;CKf=@aC(wrsoaQy!C|({uCTu6ywAS&AM=iA+BE;N2%) zKHsh;YQ(K%3BHw1=c?992}CAR-3Z}TZvngtHD8W!<1iceRglK~;#D0x17dWs7-W7I1N;Vn+;A9^HHh<98^&jiP&A;Ra~Ju5 zPv>m=7y2Bwd)`u7P%x>eDxXr=sor&*Mdwb}>pVkWMQHZ+Okq8wUe2CY8g)%~%C-0{ zo_O{-Jr)OE33?0 z(FeCurJqtpCw#C6E}2UIDYz(HhMbD^t@1IE#IoA>oI&DrzD3Bi-EA8}FT1(vUqINN z|IR}DZP_X@H2C!d9cogZ+2N9xXZ>nYQ!edJ{JB!M8HGejj=CZ@TD&(ybV;7KzU6#% zwfigBm<26_1$FPVTp+OcgG`;n_P>4?9}FYCUu-%^3?4#;?z?6`jmqklfY zKNjB==cYH#X1(qeEvMVT+v%0zhB;}nq&orgv3%jj_m+|SDU*}Nif|C`Vw45Rnk?}e zfR2rAdbx#er4DGQrWJa$+PVsMI$t~$<6G-6y-<<@q;jeM=4&2P=oJ*e{JOmF7u38J zSyqPeaCQyj==`!$K-3aysaaU=56v9@;XK7`!Klbi?BTPPT{rB4MdcMeJU{+)jYsc< zm8}fZv;4E|*CM`M`Be>aNff{f8d%`Ak3D2F0HLci9IjWUXC?MLzLez)wbqeINl71> z*0!wCNkKeC{ndYhG>)iiZfyL#Nf{On_R=)eryf&3m;A94pUzuX>t?ji*+R>t#I#4o z6-l1I;*}FR!M)7aMAo|cPg20Ni;s8mv>}zRCps=7~jF)tafQV!~!)#>?^R^@KKea zXvk%=p;bA>xK%lI31)!7PF^TOv_K^14m3aTIOkyd<5O@|Rm8VKbO^>!w+BAv z3spsEYML4~N??R>o$6b#cVVei{ttd*MJHD2_`*83W+YB5Gwi%i8cKxJ==7v?fZ!-0 zK}||VMvy!*S~Z0(sdfBhl1i8Ux?{gL)$K4G9TsNqP&UsP-;d4rVEF6(6wW~0Zs9oWc5I%+83!I)?uUegURKp7`+0{*brvrP6Yy0z; zGFoWq$796^NxPl;1HA9}hA7wx2*Dz>;^5;MT5zZSrXJ=6YCHpLs{oM~d^R*|za1z0 z|3(z3>Q4ydfD%O7zx_j|xByR3Un)M;L57Fi9Z=BW*V@E1DXFH~J!9ovHfMr`KP$L| zx6!fC;$^LsmublT{p7cnx7P=~aTlIYFi>Qi^Hv%m;$Ila@PQ%pj5(9IO(QvRv`pAS zZ3qxdo?n>qo+Jz^w;0YI-?}u6vanjOXt|WTH$TlUk~+WmWBP1=R{Xmk)lqL;JnhLr zw1_&8a)N>_t`rffvw9zL^m8dCcr(8D8#1-8@N!qv7u2QrT39#9y1(;t&I>m3Vc3g^BZ66pWKsbgQf{khdHu7E z&*oEgG*?xD@mP272uGh*eb*AXEPM)}bX}jdrJL7P89t{gnQ}#$a96dxj~AOQsnF&c zp_tE`TrLmM_NWliuXRPk1VCV`hgE@V`nO}Ori)ebx-hMGQSkA#dJ<}vmj^Lo{!z&s z$B@p;7@-&mRFXMy1xh>@c$2Z)RqehOh)pn92viK9I@j&t+Yj3hU#iGwIXR222t(IV zBW{Ts;GL_sC3j)Bfi+x5?A13?3`4Xk5{!NV_mJiyde^6`t0pC2cnCI`vpOmme0OWU zA4Sz|WHR}hr5pZLyH;dbxlV8~B0uBl-vfiNK0yd;I|k!MT>7(sU_w99PJe&oHg$2j zQCoE-Qqy&cP0&6#YT?LWalPRjjUTm&Gmo{^njPU$(?8&jY?s-s{|R=D4UnPO_*7dh zvb$gOQ|T-s=G10f9$LFI_}!LXjf)elgRN#>OlL>OSfkUaqS?Q-eBk4>kH*`qFrRh# zQ$kCLRi~jWxb*A{meoqt5f?7BWY*ZryQI8%T*_)~%*TTRWL-fQ$*WDqNRV63wpcFB zu#wBZacp9jeg$4T?YbF+`@A@-8s|rRFM*$ zitg{$mS8B>wolRavrAy3$FhoUG%jCXGJRjjC9aBPdfgrAvpBkBbKqDs{L<@QY!d6X z>+#Q_`&i@^n)sf{xY&Y~tckfAuD#ALjpgo);@H`g+~Mt&!+sx$iGFt&1WRji%S%nEjV2f5p@(G)fW1T1>$UyERmVus5O?&yXs1LPl{1b873-eXZYbf$3w z%nrJxbgSuQuE;6z+rPSMM(O%);;uMfyNr_0vL)))AHjSzGOn9o#J6Pzcg_+SuHjN* ztleibP0t=`05_krt#B&uywKDH$FS7^5c4n=g9!{cpT6NwOcGR(+E@pBwJ&9Eak$@s zE^N<*t^)~OVV?|4Rwm8CjV|V@%+MW==6u*JX5w7nSoxFhP8v@W7C1(l34;HDugBn{ zvtJ#Af{ymG+-?v-NphI68*9$HJpKHxQfX9Ku_)b7N*%2Wi z5-%KVLY3$5cpE=#=F=Py1Zax>;)JYdy#$&8MXhX7pA;nR&1NI$)k7~(2(4^O+b0kQ zG+>ou1ggPkqGu=J%eQmdaxVM5H!C&zyCdm&B3P~Lfw#2}kEgBCV9sAyNPW!(sngcS zUF!y|Gv~SLaZ97WlT0=H4PjUoml3M4D zCij?}y-E>9KE^*XyJ}ilq7qUD#M@M}(KD%e>m)RbJ4P!#VsQCABm?M2M+5=) z1{mmzH@ilNE`hhz8_d|ps?&$LPn&$14SR4peOkDvJ7lm((%G%>GF%U6bVHem;G*8Z zMF}LK2C3%Ia56(Eh(-)2#Me}w@+t;5yXuA|?s|I1O)cEr4$az3SI@rRuy_&Is8cy+ zq0T8W9`0h%q!E(vQz@CTI^XG#`{3RcF2*TEvfU2DOy81EKK-F)jWd^2EXo@h@;f2v zl!N`r(maaB$BKjMSsm`pcLJ!NbHyXsA!F&Mqf$~rnwoepu(0sFf`hVRzJ0}IjBAzd zi696C_qti8Sg_~ii2;xF4V(xTgvL&mn0wj*YDmvYEJc7Rb0|G-Lu~5}MY)IrR=-OH zpGW1_Vbvc+yilUVpNV4JDWC0VUoIkh&tKdwK?d_^M~au#8`EMV=jODZ3+x*8$JX@s zTy>ZN8B|90lF=G>>>SG6O0~|pv%db3i2tRp3k9DrN^K#t-AxnPYP%s>E!7ntAyuZWqh%J2iHRP#PGfQiuf ztQ|QvIl8XMK!mCH{%`?(F$qC$(4q~o)Fxsv^EMC_@4m4d^7ZA1879U5cAcGM3qr_d(f^FDh+N`OD$+^*jD{*|WcRG%5Tvge=eX6JcqoJWKtQgEmSJqU-J^1IM-Qm4)vq`94MofFP+s z-zoYoes7upz!Np<84exYd@T(+*d&Pl*Bh?fT1k-v8EcjLCY=ijf^t`79aPscJW5=? zU~5Ej6nH?IFD86QmEfOEU&DsbNTK>{{YnvR<3DA84GF=7New{Rd>2I31F3wVxQiO$^lN3!J;f_@X*~L2sZ`g9IiJ|7sLHNRhR! z-tHV(NrowD>W*l`-pa?q6nu*J40I6rq6zA=fI*H~^8t;r`w0#;{w-7YsjafY4IWn6 z2xcr)wwZdgMMrIY*;Jk=fh_Q70TjKqe`ilZMl2-0V>De#@@1+k$I%uwVuz^rCAR?h zlNF*8$o4Mp>x{5*B}D{I&cJ^3NhK{Kk53BtO`8H%OKCB2UoE}JN(O$-(tfRt2(W~e z*PHj&XZ`4rArnau@6sJCiiI!DyRF9V7!7Fdb>}UiF7*@D;UehI9?MP;T6T9THW0WXq+0dKGC zvh141fHpx4;tD20Tbp_aq+#HF@mv1TAocr1PDgta&Y-8Ocow@k{Agzv2l$LJJt;(m zzgJZJ!15SW^xS(s0K(u=VjPL1FDPCD#p$ct;m@(!;RNu;9w+!D{@sM%e^GEDg_uCf zjggvF&r|xL5~59^ZOvi%UvKnP973oB+&IC{9dlVpF&mu=0_MhQMTQ5lb49}ee-2B zvNVw$$~7!b{yU2Drmw6g&z1-`3X>m4N+LuU&(KpVog~ zN9+&g#3Pk`?^}ZQasM3j-zUd`48^qwEj5TT#2{oL zrw!lyM>~o}Wq3u~!l&2oI?XBEv4QKuN7)i>>@<0f>}rp0#lKjmHKr}cbk9%7YBvW) z3>5rF&@0`?r_;Q)v)VKNo36fORueqDe=OYb*@VKaKc2b%k+>1?xZD{<92snXzZ;NG z6>nomFQ1Q(*CQdHJirohdf>9^Ge)dvcyAV)l&UiDZsEX-oB95+0e`d;ZGgZYR6>Pk z4<&W`mf;R${A_ROkk}vP`bR&<%Mf4LfoK~=OEdrHqGa%yr&xWX`p5LDd>3eUMO1qa z)p9mmX*+!XGCdxIcLx~gO&H9nk$i;CO*e}4xct7b=)&5<+)A~b(7d!=IgL{|Agh~s z81e#qc^(k^)YPio>Ht;hX`8h!uED70c!(Y=cY+Jw;-xZA6md=Xep@GGb~+sVSck?< zOQzpTt&9SZZ01&6C_N>?CR*SK5!j@xt_&GJsO*R>+m~V1;N_}cf# zD8IQFO!aZ`|+B>6J$^(v$vxS*wTA6W|l_O)XJ}kd>pox#F&f5lZ z<({*1PLWP0PoB!VP|J2uS9^@lBb{xp2$Eh75X9t`uB-=jhGH~pm|WWTXhILz@sN3*t3nj4o23A6 z;pR|am&tEk)0wr(##`(s1+Na(kh{5C+xd<9Z)#iG+TnJEyY(gul*aGX27S{&ABd3h>0nyS-P9^9bxpxqGM6#EzS1?^ zyAyWym}bACe!?eUs>gT_LXtW;R45k+d?EAx9C{{oPGI`D3{T&cS$Td=xVHdA@=S6d zTX<>0(^{9%gP!wA1Mlq8Op%Ip<=uPKK;b3_`V4lM^45>fPL-!ZJ|l z(GP1BF%qIPp+zRwlOeVTNPRB!@!AiQO8nNb3hta3p+b~{2CUymZ9$En!PrB|>2aLD;hW>l(LI{i>oE$? zE$5ii9JPD7-y*u!yTR^2DsmJ_0Jq~2HC1_)6{=RuOt$Y8;6qd!_yuw*Qynx;8}hT| zBOMeM`EJyR1dViRq>z6TVL~=V5N+EoowId*do9Qo}aM~N* zd{|O7Gk5b~VtUyHkFNxfI+)0Qsec~Fj6EB6WTP?f9&D?l8p{(F59^e0uRq4wU}uDA zKoW0ES=9?m9|j^3QPMv_$?4`{b*b77*x$KS$7rgxMre374czT$RGv^Px|-kT*_}%O zw&DD~1Kx;CNUxl?3r*zj zj9C71c0#eLCt*^}Tt(}3lv-40bwzdOu_L*(q`@=8LDI&*@T~xyvXg zY0YqwJWZ&iT1XBH2~ArpiNAi!dYmmX)*~}_`f^t>3GsU?Iw7Ig>v!gb+3RX&a5 zOUYOCb=FS3Rq440KcP9@#9+%mT|usbCM7es!HnDR;f_vTjv;OO{vf!x%24I*z~gYv z6|E2lKtVxK6Tq7{k7XcqO{(|FBiERhRhhh}xfxeflnSUkyuaA$f{FEf_=KGV{r;aI3&+g2Yge0v_JQpJIfYHE$GD7Go;X1 zs=cIYg}&iC%<>c|+GI;^@rs&gF@X3M&Y1#5(Z^rY3MjQYdcF~c>ufO>zL(_*ci=$e zH}Wf^r)syrVCb56I)MXi=zxDDDORQMMJZEJ=-^4UVRzuj4UY;v1$dVB+h&l43zX)H z?|1i~8b0p92-YxI_MYfxD7<5Sw zrO_A)!zEdg-NyJar%)(11AM74+^5Z_8guz^xl}QQ>oSLN^=VA@eVw6KKDBoQ-+C=x zo0KSmpTO4L4UmngUKlRr$%|;sdz*l!gp0(iQo$|e@Phwq%CDpyn^jz>({UgbhS@C{ z5gv>9k%6M;1N?Fd9b3W-+I8&m3+rb|wb)($Ui4ortSiu*-~>55GbX0-qtsrEKiJ9V zm#6@__`7-e8T>7Vjs`STaKYI^VSXlm5IfC5SzBC0(!@2YWd^%QUUzm;eHa>3Fc7ZJ zbH=33W!<@|6xYA5D#Ll_fa>hzt;gW@6t=^Hj-~W9p3N6)j%!T$R)lX#r0>*p;m6e^ z^<6;wC&Kd%p(TXfhmwZjM@a#NDGbv|q0+QU(DShr^0=0;bx-4)W=NA{VW3nz6$qlrvB}x{-VNTJmtX*+P+5H@c)4#;-_tB05BNE6J)&}W+5fjP^m`-&(zKn7Ii?MxR z$pw5ceLjUV{s-LsK0&~jp0)5_Mf{7Yhyif&dZKGGxr6@=VqL}?K-YAN+)VZ_kPZ?6 zV5p-yPwsvE{~wZ`<;@e=Q7WEwXrBxzL5u+zfQX9$&+-qi)+5z}E%j_IHVT1{oHQaL z>;*fNFbPM-5YP%cAZ61y6#T#R=Koj%Z8zrl) z82_X+{@>|l!J`+-`=}@@Yx$2?n*Dbv*c@kdK+Z%jZQh-RNgrzB{^3-A|E-cF;15@N zUr`~D>snU)fr~x--G!yJtUi}_x~tcAJIrw3kZltc&C z+17`Ic=sGP+hDU)xB{ zQH7hypc(988Z=lz6kuO*J*QE;ch|O{Hm)l(wZrLkB%j)eAs7_4`TbFj}+5S=QjUd9YB1 z)xH0MsH-@BpK^w(4#gSDyuL!ycWO_R;dO*ZPU3wt|H1e#lm1OGTmU5K>b)26AhXVI z_if&gTT5IV@rj{CErVhaXyWs~ zGP|8}U30~y@t~23zH6KM=d%q6gIbDxM##!LqqP0^qIQ%Z)}}~~*uwHQ8u;aeV2DCB zW{DQ&=Dw57Pc$I2Q25>$0v!9uSj$EZX^F~x(+NsTWzOw)^7RjI9nxn67va21Ag zv0vT@`xm|a`a@3VoANx8l};G$q%oO=RD?cN^P|nu>l#7%N--(M#uN?N=VxkxnIWq4 zejjD6soHlf9)~ieOKyn$Wgl%$yUzCls*`T^l*|h!P?0QG0+yQ_N!c*(cA9aWFRGye z)_e~H2kTD0NjDwZ_N^HKN8owbuL-i2i4ngwBP->DU*NO5A~=~h%5`usiGR4_fqkf= zoesSk-dJH4hMYgz*1LKvnk(xI9PL^h@8(=du4O=&%y5O$ptYur8K*IP^R4b$tcqd9 zo9dN$a$S7{jfeAH-F8HYe2Yg+X}~-F6n|VM4@=nYEwOZ)?O{XUa<^63PnXpAXR}ER zrfJD(&*WOo#Rs972N=ZsdiogM+q`MoWL%KVqyE_FbY3c6nM(L35lOOy-^PE?l-Pzfh+4;=O&Q4`!UK}e5FWid$F)|Z=UUH$3i?hXvjs)cC zV6%=Ae5$^(d(*E%qpM_r=sx7d{PpV+d@d2}aK5j-Q6l2vU;QCe6@uzMV-%^kK;ni^ z3cMeIHB&nevz;zOAI#5{pV-z@j!ei8IGkOrSker1nOkfRYRru@b&~oCF43ezMKY8c z8nTNxpDO<2 zwLA2x{!ia{);T)kEwY%vnA05Xj!B}+qwQU<`Qo0wK}8MonPJ25WXiH4@xJ0DqXIRJ zc@_d}c*CVnZ_YKVKL}j{(v&=4w%xAducb9r_3>3S=DnIo3*|cn| z7k3NWH0ta{xF1MjQ$OMLsYP(P z!W|^CqP%=Kqcx4YDu5>ioSd@qk6(=16p zeL3!_gmtwN^~rZPutjR$182kIv;Ry~G%x)(3$&^RZ1|io2hCi)lX;=K!t)EKS@M$S z^GxU=74iwagPb!A$0N)W*%&y7l$nV8fqJ8>a@GdBZ?+m5!c#sWVSev2U$C!1kVtNY zp;=&QLrHgO^B7S2Y%vwyRei~&ONlWT{7|brZ|2dc}>yB|m3}`>xB!@+f0$ z>Y$cfizgwxG0EPr<%k>+e|mi@Ssd4^mu9Ftqdr`Z_vWXF^pHSFL8|v(-lcuwHJdTf zHX;@hWp$xN{5}_}-Hn9UOhRb7iA1+GcgUag)+)3dO3@oXTb3a}PmmPbiK3(Aup)wd zK~g1Ld$0%Is?xbLXytX0?M~^)#V3Ao6m3{8tJTnj30iIDla_^ojt=J;*rYe zPe%-l1lbyLSofK9n-ERL2>0Pc4%?%%+ZX)Iu9JsX64r37%+Vbn8uZtYo6vtCIFCpm zA07H$dn+4A^R6iqvE4B8XLC+rG2KV|k*fT@mpCEQ0W8a%z1B_#{`Ebvwa_OudCS6A z1KnBmmYJRc@Dm%fLr-hphr!a2x)z^X(vvW&x;_Z~`nAcN)mdHg)e=sz--O9)rKQ$- z=!~-CM1`&KYX4LC#=VfmIF~i4%g;kSt4-#CKM#Z=ZPqT2S9@maAhpPN-ej>9t(UFW z37WW3oEdM{T{<04Ngdll?kcf2R__!LuoqjsNhENqdPd&JJY~-9h(<2-$)$Y+<)=>N z7h8k1nMMrp8g|`Ad&?YsDHYmL^BvUmH5jQdgHD7-oY+!E-7jHoaH-84=t%QU`4oW! z2WK(#MCMTq>U_!FQw6I{16>=b;W*p7Mqyvq!Vs_u0|!- z;M9D&#ZFbGrHgqtE-XOhrSH5zZx0V%AYh!z*=|@HF81;?nZ*V3!+&zg@6&B(G1xC> zsg)glN|Lk|vP|%4o{5nyQuN;8`2eGtkn~Xlo^-k4`@%52Cj|4JjXpNV0lgmUkOIi- z<*HC;?A=kLh1_xK3uh;fZ`I19xi~+IXMe=^``u%W3Q1niDjKTyLB86VD9sMu$nQO_ zq{B_s+n+Od6a75E#b6l4q1ngUle{C^bL&bkY->8U*}BrkC=4}wXo=w!MI%$kbJB== zfgxeLdwEKY2CyCI8jA*OjnB5@x&>h}{T~KK61pJ%`c1;%+!xyD7#MmNVMJTQ*%sz_yswjF#$Ah5da(MkBRl6N`($`_`VCr9IbX zXP=wPdBF{0U9#3;;rS|lX>$<#n65tWK!W;9x`OT;(N#(oy)E5=0N@VFyN@-TR zeu|-q(S%nDCMBt9?!IIvofJ2C6`nRi?`AtBqmvEZ1C$LIRK;{ablT48_e z@}z&FN3{t|E+pC~$y7)uu!7k537X}3s=nz~IvNkb)Z6ot-y3HhA@@l>8B4s zoBQ!s1dJB+F`mYlhWhNTL@Dw1l&D99iBlLo>2Id!RF{LEKg*B6TI#a{C zuV<@~`V`)bmjnh_I7qGIe)|eOfhbx!RrbwE;Ti6iDgqg0<-Ez#LUT%F$`Hs>_4<=f zNvJe@e!B181z3CRP16;rRzByV>7iXAuE@&jVC8YYW?Yj~FH%&KGhOSYr@GpCSR}^A z#4@=06`y|V)7IjC1MZRH-e{1x!zd<8<3Aye?cR7L}Sl!sb7HD#tmRnB?0;q(vz9vEcGm7}Gb1awCOi&H)PcjyE~!qNj{T zOrsp~bW9{UOnfR#2F=0*#Z)Bki+gNetBYu^_5^)s3=#tW9+_T{Z$rGa zqUMW}D1&GHuR}k-bt7z4Sorh=?LgjEZ;<7YVi~uLHMyyACS$mimz^B9Up_&oY-AW! z?Q_;vrVPCd3PJ5&Kb7Zy0Va@>W&{stdkbrr{FbSbJMRQ9=)JbHSNj`O7!)u|%Wr;p zuf7lf7}EQL5YWr$TV<|@=BXh7?emnu%RkH@{vOAB7!}4Ph_>n=zE}u*cPn1cNeak8 zxd4DO-AF9t5rQG#BJ23mMW=Tk?Wq)&k&Mwk(G~*&(4wUxyCUg}S_~?+pF(x@f}SF2 zeJEJ;`Z6)5FL4APc@`tthOC_Vj$Ki^)XZq$y!HI2iMs2)!UkCifQ#jy0Zo*oNW zJf@AjcO*fajU@#aTspgd64n6LP6BYH-x6=b?|lCwMIMh>`!Hpg=r1e0VMu|nmHnA9 zn4;S;(a*i!5GzW%e-anqq}mcTNL81;Q9{#YbkMt#`)#wpZ4UD}u&G!!Tn^@M25}A@ zZQlFuOErsm3$@w)jtj7u72E^1Xk`V}?P38>K%!W!6(W&&KcGX!|9j#EKlc!KE!sju zj^1z@BGzy#m#i#mQ3b;jy7z)CKmbbxfGrW}(YKJ))k4JAa{tyEkEt&H>F277gMZOs>SH#NiN<_5=VRp>o1~tBV!Nigsz;OO}hw}bhGiQCs#B| zp16t~D{88Gx^J=UrTF;KavX&x|EZzL)^ppl3!ZO)8BT%LSxYYg~n92-llrMRBYq)qyD`JZ%(FKkMgivD) z?z%NiSInx zDGntB`vds2J>=l)#K(TR{X28xnNvbW?lY*xo@>P3Q1<2P=pBkYY8a>lrW~SX^U{w`Vfha=2`h>9FsMolOY{`_*8|Tiz-q*X!ik)E3|soAJ6= zB-Mu{Q@;CJb3qH-Vp;E7*QaUgz?sxN+4by5Jf-gsz_YD5`hI`BrBK$>GH^R1vTzMn zVVkt;wQl~^C;Vdht8Ht0UyQS|a~+2T_AshwC!6x64N3HE`w_*?k2M-C@~N7<@D5gf z%|$Uz`wN)0)-!?8M8rx8QaO2M7+fNHeA&}pu&*9bwhZ?0isN`v%< zo}Fu8!gAE+N(mklXWZ2xoE>ugYnN7kB`1D8VVi0djUHdadztQnDpnyWE#5%=gj z&}E^uPx?>GjSp6_hFiEs$4(=59~xl>zc@do!(pPmkih#{#zqDY@?=BOc{$+ec_^X@ zj0{LNz9$AksWcP{OWHh)(Y~pFYZ9I>*R98Uh$kXF>uWz~mU)N`l>nV8Qwwd;RNffL zaX44p6C&xQNyx;;q!Jx@K_4Xa-6^;B)w=VuXXLG-f_(DY1(A6r(OtXK_yP!pYGp3{ z1Z!^1U3Fr(Hc$hn8)L!`BUq>slC4;Jhc=gB6XH&1c>~*@BYcrGuSoG+w%#|TyL7x^ zy=9b|5W+aXvBnNqWP^t)29Vgp7e8u)P)Ea+CmBu4fW;y*NpZ=a-_)LAd!sA57kxRs zx?U!?qk6T_S3=sVekFN+j?Do}#Gaj3ix+~TRtW@Fl9|M9)d~g=EP<^pKmxmmB75 z7DkIocx>sXQ1jbZFD37F)AN&T;GvvSyrMkgxU{l@ZYA&Rb>ZBUW@}C83G{V1M7r!T z;@PA3gdeK-!yP`TPAdLb?bOnf4-ApFj8c^|HK@t7TX@r9YM-sUGC`}CKV*=^)YaWE zJEhYWV;p(O6G%+>KZrWVJoOh`Ei$yTSv&FXRj zQf8>w%=tN~awQkOC{=^b!%Bja-UL_`?m1RUT@$v4$^(zY-RY@}yVa%1l=Yb@sQn|t zQ>51@#EYP;Xz^$a(MfE~d5w%q`SVmM9wih1R-wDC#=$0OGK#-Y?s$TVcKv4b#f6;+ z|HFHMqrNqXJyllNDf5GX*ejeeoj4-*y}Et`asNR!iBirpLigs3|wC0R1XZ4k%BL*C`Z3@lQR!r}edo*zXh zv>V!NF7~h6RTMW{oQQ18vWj?oM03nlCP=MO_eT3V3q5ifbA7F|!w70@w)+%6sZ#W# zj7I!;jTp@-c`eyC=7_-j`K0E9bxd%ir#m)FP26I(Q&pXey{%}^oEJV4=9NqiTBs|c z*N9Qp;>KK=9ci$*RFnXiDxD*U%|=BY4H79x$yqdq=hc8?OhPUGwR-n;&o=z8y`5Y0^8AG}Syj zXf8}|J-Gj=2?eVAY=edu)8uxijfTkslw~moN9b_(x5+F~Tq@)@3TqW+;UMevc z(jONK|A>-KvOFP&?jPv-F^}TemXWSkcKE{@t-CA3p*csScp2G|7lHaU3q**;_wM`^ z<#CY$o#=D*=OP@AkQ+1&s8_k;>Sfcf^3vZ%$97~fTU{owgJUu&34}=r+fg)zx}r&k zn)$omgn?=lHO6CL^#?1CC8;~KH18lU@MZ&7p*ltK7KWo!0t)YGA$%=){D3a-iuPl~ z7r$u|urv$MO)kGxH31wvOux40Z=Mx%&E;v9^)XL zB_&n<9@V!XlUKOED@Xxz&gu)O80YuIFUNai)f3;rDAn#EVhe{-nuUjGbp`X5xwS~^ zbF+z;n@&fq-@h|$-7r&8dJS7Higmo#4Rp^xz;nbphT*Oew;LKT{p$yNmy!Och89;H zZm{QCWpI#qUSqKkzMg8?zPVHBsFg51+U~B{EX8Enl`bBavt_NxaJDsqK&9Sp?NSoO zL`tDH$@XtbXIY?))Z4(J)_m?dV#r*N;pi^by+FwnN3rPg{l4oevN&<>dT}#ZmFd(l zL0)v;hozSEFMAp_#!aQ)dZ&b>0N>zOe)+c!zD@L+BH))stTCN?c7jq~4Wxtnke8M1 zQx>agOnqvp4^6OSH?4VOwd-FlGr{_$c-^F=jf{-!IL=%fpo{(~2Ro7ik$D?1FO}&8 z6O_$Xl~@Ww6Xp&4T)REn9y@s71Qfu)(0MCYbADvY%E=*QVVQcp&K}432Z(P zRXFUVV1|ZL>^#Y~M@0rd055bt-C%Xti!aa3O^8^F`tRTQCwF0w_%X5j=HT<>t=UsSrW>XmMpEVX?pqJu+P;s;3#yPz;5ARo2lQc`HFstgPV zAm=)c;#m6Y|rUi`5{W6eRk7VyN`dZ zKd9odmgnbP=Eakg>WBbRieL$+@nqP8%m68kbbr|5dXiEs;LL+-Pvnn#ve|@*fRySl z@whx4tjGb6AeWpwjAVwh^ z7;mC6*9_%pQsT#>dkv>;=SejR@PJaeX5&cAXB>x<_4*-$3MqQ}?3?2y_u)>@YPrf+_>;c%)tD#SiKH8s88xcT3 zxKsS!d;swCdw`cGso3I=eiI*Wsb5jJ2bzK6p%?bCnaC(6B|KbEWkP}c%7c2rGV@3C@Zm`{-+Iz0Qdz*$pZTK+J!bi zG?aM6`ac{2D(GWzkTw5X{=e6;hT%`QGeOoo;lYHzoFW)4@RLtAo)#vS-;db`=OV%T zaR_q$nKAW|bC6wo|8VYcd=`F*e`x1< zgFmi$5r!`LKgQfXZZIjW;Xi|00u(f%=&}PoC@-YG4tIBVxsw(M{v1l44*pkp+A~Q0 zyMc^0xE~~CFn?wK8LSf_Fw#fFvHx}x^bD8|j8_lkA5jqmMCB#!uQInkZq_qkI&iNp z!Y8`l{P+kgn3P@OpG3~HM~CfMsL+3dx4i@wENvJ6&$SA$N7wJ!s}Mj`qEW20c*or| zYOJ)-GBU5~$TPbb05{)?2sA`?${>C_HZ`l{P9<#VEzSA=nrVMe+DlPjsnXg5|Ln*j zunK3Q4!eK&5ye}yrd4Genc5lu&#s8Hh4JnI9fb_y6t|Co3Wtu~C{l_ABns%QM0E5+ z>$Q#KNCm{@pWPVCSAoMG>TUu38=aSH>KI2MVISFu@QEJT1X73TVd(o%KEit!LPbUO zqH0ft9CPq~gk|>ue1EQ1SY2Jcz9S=p&}^onGpJC)VtG%EO}ptgf(bGPc8+hpr4J2m zalS-iX=kD^u%EiIC@CZalP2J&D1N^It2pNJ-kb`5+lSwKG6)V>I1orFN9Jh5!QlF5 zC#KeqdD|hO)vnMNERKhZp){?x^puc_tT!9`DfGYB+QtJ;zosNBtE(b1`j#HpVZK^= zp-(Ke?&s#Wm&cDNjm1`TEc`W_kI7gL_LWpBcj(2UE0W`)bFOu>_E&I`B*d2MoYNbZ zz0quVc85LVaVmk&is=<@l_&nzzvT&C9K^(gUSD4y8zZ7B^t=^H5oninw5#q-kt<#?TM#oW*&uY71@zA%Fq_!?U7z4{@5x6a@PqQD@nRDj zaGToD7|eF!B$?O*9s3qTd1V~9S%Ls&u&%s2S!}%?qog}uXMNfFaMPM56w0I3b+Yc# zPgR?yQfauZZaSO>Hpp?vNvYNHnjVu({ww~{fPGhYccxS_dqif;3(IXoHHS?_hy9Zs zr|owOl}6z$epU?9iZqmz9l*ne>f4fu%=XFsA6=7E-G3%T9^f5%Xbg&YVXCT&9={8H zwG33ob|qT2d<6Owsi-2vSdQLoE`Hxze-sDg}PL0skI8fUfX&{wK13+0yHRFq%Wn3Z1I5Yjho*Z z$$Vi=j2uU);sdA#4&ghOO6rC!!n55eq|wG4S4Fq{B{@7T_sU9w^J-W!mt)$59 z=E%NS-AJ_T0$QjXI^s4gJJ{EC_m?G-$)YF`qUwuSEw#8$*V~fbU$j0fhq5fvdi4z_ zxm`8HU0lrKKybJcLK@^hgSBa2f0uaLS3N-V8Fclgm2Dx;mV8&7yH^i!l*549NNQ|z z!_G0%T&j`-==yHr-7%H-9-=)EY3d+`1C9gx1F-5mY5V6ZYV~l*n2P&HOsNVgA5VGm zpo1`!c$%OoTX3h#A%hhAjTqni6t1s_Eq^0p>a}g$F}b~D{?UyTJ-q{ec2!s~c>L_7 zRWtUtZ9)bIJJ%NFlSXpKUinNXef2F?RDVj{Hk9t{jfUO*bLsPV^KCo?>}xicvplw5 z)`y>SmZ8fT%;vLL-wYQT?2XorS-vSP={w2Biy$9o#Z)z!IJN^X7zg5eSSe6t6ad%X zyQ6a{J`iL>Y2Dfqo|M)Up~CT>J)1 z(vQAJy-0TGL{|b46ANjjSffSW0h~`&Sej?6(=sL9U$J+Q5yr-dPN6_i+Rf#VVA@4e zKk~XRmZoITa0Bo0SR^Q!yq`l^x)w|OuF%GeO|AbYnB?cR1TOwIlIHmZ4YZ0@o=$tf zbc1~%-B)F4t2j+RXgsGjhn7f|+=bopewuUfOQ4Qw@JKT53YeS#T%4r!=7UmPHT(64 zRiMQZ%Z9qj400qfej~_7;==eNjB2Y#v&N*&am)3_A+xAqBRwPqzNha@K&!#`tGOC; z)3dNIfUuu9?Fotv_F$y{z&wBM=T7-N=>L2&o^IV9K;xBJWtu?@Uomf?~^Vsk0e z*S+z6!P{KI`$0S{?u(bF{M|8;_3lGv0PGONAa15d0{2hnmBs^`xV|h68}p8Qy{aAJ zDD=;IdOn^B-$t)>7J4{S-2*jkT>?|;T`^z#Kb9KkkCs7V$5v4gwTq(iGku*d!OKJ)3xDh_ zG2u(xEJsf&0gWPYz@>bGk%frEV$lJl;X=i?zn)Y}X`ODn6on}=7p)Zaxdg-ezt~1O zJ7X@SO=K_%8>!sr#k{Ec!-Xl6-&~mUp-*5tp!viCW8fs?QpDYiNydHg!>z8UZCyDAUYGHjd_;wM; zO{>30ono6WDxJSDy$9N;90iv&>+~`lI2`&~vBi!mIH1)-C(x2Y!(@JbZquXKy(VO88w}ro z{CPqT^~+iNh{YnwQZUkSwKT$#H)#0=uY$)lQwhs5ByS)$+z^vW15i5=p<;c}e-%wV zwi3oro^846U;gpcw`(O#@(bhF3WI*i&X6^hxDkgYTz4uW3jd3}nK38d_mI)fcVsH6 zx@$d=K*_Z4<=gi7mf7<)Ef8~-u=Eb5H!+ve!HTGvSOW~DC=1Q-_9K6J-E3=@J*b!k zbXb&esMKm07vbzLq)XzcHQ=`C5EvnM6UTv9C;>4v{JjC}O7sZE9%@#ls=H#`8^bEi zZ1FO4D3z`TDq`iR8r?SIE-F-gEBtmOwkueV&PrMaOize~3tK>NLAz2TK>`|qfFC_K zd1%3wJ@MWvl8m<$6z~wxh>WqOJv}{b(mZ#N*cfPZL@Qze&kbf^P?$z{NdznqB87N6 zPVA>NHshD{Y&1H8B^ofj750583E%Fj&p;(;4Xb_c{$QP-$EV#cLEJJKJEUPJ@v*dF zeU;y8y#-GhMq>0A&Z>h6LNoz-ukFsJMwPbOOLQOSe#&j~xX|v!Ot?30Cp3JHglDGS zm*tS4ZiWti6|#^@e*#4jlGc}HlQ2MykDIkA))8|_V#*PU&G4M29)O+u*NuUg<<23{L77?Sb_&0R;QSvsvzE3O`yCAi@kPg7p*B7A+mgmkWcgcQa9T zx1R2F&D1mKSHpHTeUI_V9*Le3NH-`?HHh~1_C`$f0WQvrmtbsZORrmjpC4p9u1bX# zO(Q5IQ!Ii_iM?l5>6%IaMYZ+nyQTU{dRiK2t)Fqrr8rD+zcRS;?JhYrG7g~x-~e9R z%#HRuG(G^QaKt(bKRWpF_ht)6oP#O$)<>7%lFSvp?3FR@t!qo;3?b|%|FT~zuAdn|-|7--%12?Z~n^6ZW;|uF@ zZQH2&eCz9hsSR6Ok3y$p3rB>kPsvm$-a|YOO#}sJE77X@qSCRgFRcIve7a1h>oqM! zD_~~Q4PvN$B)Cx#@wv^KoQ-3KxCWJ$=KGx+FcQb6aqQ@nm0=brRYQ5Ms zpg_FM(wkTd?pn{kQ|*fawzPHnJ?dwgwTIhHp38+pkIkK4)becCidz(wmg^d;Wq!Si z<|;Xl`~e@a0GRJw%A<|M6s@};isId68kC@x$!$|^jquWLnd$S10LpgIN);e{CHwvz z(%7Tu*2F#x<6o7QI46D?pSbE@HZ%nOH4aPvq7T;r#2MWFtTrwanEYfjyFOidu=eTZ9vXf70v zv9$7Il!;9Y4h^NtIq9hsPtmz1lB7+&8O`#7jKyO1Wa|l@b+MLEc}qY_3QdSGz;}|^ zA3w&K3@zIg#U=U@g~|QeZr*XpeO+*}`C`$u~We*N!gq=WS+vOg)i7wI)t}3 zH2CGnbmL>NyX5Q7;lTb9&9}=xYIj6YAYL!6*Ttre+7ho6Ovp^^R?C|wzr2*iGjN~0|Ns#91xdswY5$6mpSGp%o~|f4EW!-uji8v_SNH#@A6`` zl+W|@N@9YF2ufL*onp=H1UZYZb9dHVCdz4a3JKo2D<;&bp2r_f(31WNcX$zdd%2XY zh16KDc2WDD#HP3nd`&8;Esdl>@e}|VxD^WsPBIK}`W~-#<9y@mGtqJ{N6E8nNP2x< zU(bze6lXDL>R4hvojuptkG!7uJ~QpYfpOCmfNvzyDP{#UkB#uTDwl)r zQAY`PyKpQSJ7UbrS4@*zHW+G!2iMJcXAsl?m#8VbajvqVrot4k0436?+_5WtNzxcM z(M(<7#qCozhTg=M0exkaZu)~?N|^^dZfp)pH4>l=2N>wF9cu}u4o*Au5d&Pgqdp?1 z6!3hg$zSH5sZ)uyh}gH(_jgbcl%K5soQ<_+&X+K3QJp0K!!?p4nAiVCYp{J((5c7* zat-@!D>Q;a;-f#@GJk(P)tbWe)@W5+L~s%S;QNk=;OCMXIx18|>9`SWY8%dK?2D;- zX)V2~axFzxG`rGJs)42JYo#1BE~3gk!?qyXky{-SXZLf-xnxF@&)n5qeYA%&x5?#p zf+Q{dEj}?#wP{B&%SH)Gq^H|;629vTy87tEX>lgV*2JyQ_uQ5RWU+7OC|jW>XGl;6 zAHWJTEIl7?mMCs9Zu%q_e{#+NwqmeGOQD#18)_3rUSYqaf(wXA7y^+M!&e?Dfv0hF z?x&}Q?3IBGwQZ^$vcKaMF+hru0%m9V)<9wjys>wU2c%wW6Sj0xQ?MFQq` z%>?Es^Kqb26@7m{8i6!n4p>L1rS$99h}L^_IhYjfMXs6eo{83 zD>(R_uyFhuNm#{uyrKlFkd8A(ZqAWr&9ceWS$gWj(U=_lV-yn&tlCv;`1KxSRO_+B z5c(V*O|1@}Nzk~7QfX~~?B76MD{LK4L{(34If|?U5~pXt&yL<;G-VHgye)9%mCB65 z>^oW_?NbhPL(S{;u$xl>%tzn*K)CVNVF;&}#^je(Xf)RelW=_d<=QlR68Pp{9N z(y3&E=YB9{P&@|F>4H}eQh*NX=J4oyCOgKU7< ztI%L`M(%Gt1HMuC0afF-KwEf9Nd&zHlrz${bc_6NSew@mIVdbRI0coUWmNLNuq})$ zct-K~LE(GLLjUEsz~)-Ji2p+B-;%u2^Tp_B#BS$PU7I*Ethi+8o2t