From b19231c46c989c7428727afe156c3bb274a641ac Mon Sep 17 00:00:00 2001
From: jaber-the-great <78180441+jaber-the-great@users.noreply.github.com>
Date: Sun, 6 Aug 2023 18:08:39 -0700
Subject: [PATCH] Changing the pop node_type into site node_type. There is no
node_type for pop in this implementation
---
src/INTEGRATION_HOWTO.md | 18 +++++++++---------
src/testdata/network_new.png | Bin 0 -> 63783 bytes
2 files changed, 9 insertions(+), 9 deletions(-)
create mode 100644 src/testdata/network_new.png
diff --git a/src/INTEGRATION_HOWTO.md b/src/INTEGRATION_HOWTO.md
index 0346b41e..bd74fe70 100644
--- a/src/INTEGRATION_HOWTO.md
+++ b/src/INTEGRATION_HOWTO.md
@@ -100,23 +100,23 @@ Let's attach some access points and point-of-presence sites:
```python
net.addRawNode(NetworkNode(id="AP_A", displayName="AP_A", parentId="Site_1", type=NodeType.ap, download=500, upload=500))
net.addRawNode(NetworkNode(id="Site_3", displayName="Site_3", parentId="Site_1", type=NodeType.site, download=500, upload=500))
-net.addRawNode(NetworkNode(id="PoP_5", displayName="PoP_5", parentId="Site_3", type=NodeType.site, download=200, upload=200))
-net.addRawNode(NetworkNode(id="AP_9", displayName="AP_9", parentId="PoP_5", type=NodeType.ap, download=120, upload=120))
-net.addRawNode(NetworkNode(id="PoP_6", displayName="PoP_6", parentId="PoP_5", type=NodeType.site, download=60, upload=60))
-net.addRawNode(NetworkNode(id="AP_11", displayName="AP_11", parentId="PoP_6", type=NodeType.ap, download=30, upload=30))
-net.addRawNode(NetworkNode(id="PoP_1", displayName="PoP_1", parentId="Site_2", type=NodeType.site, download=200, upload=200))
-net.addRawNode(NetworkNode(id="AP_7", displayName="AP_7", parentId="PoP_1", type=NodeType.ap, download=100, upload=100))
+net.addRawNode(NetworkNode(id="Site_5", displayName="Site_5", parentId="Site_3", type=NodeType.site, download=200, upload=200))
+net.addRawNode(NetworkNode(id="AP_9", displayName="AP_9", parentId="Site_5", type=NodeType.ap, download=120, upload=120))
+net.addRawNode(NetworkNode(id="Site_6", displayName="Site_6", parentId="Site_5", type=NodeType.site, download=60, upload=60))
+net.addRawNode(NetworkNode(id="AP_11", displayName="AP_11", parentId="Site_6", type=NodeType.ap, download=30, upload=30))
+net.addRawNode(NetworkNode(id="Site_4", displayName="Site_4", parentId="Site_2", type=NodeType.site, download=200, upload=200))
+net.addRawNode(NetworkNode(id="AP_7", displayName="AP_7", parentId="Site_4", type=NodeType.ap, download=100, upload=100))
net.addRawNode(NetworkNode(id="AP_1", displayName="AP_1", parentId="Site_2", type=NodeType.ap, download=150, upload=150))
```
-When you attach a customer, you can specify a tree entry (e.g. `PoP_5`) as a parent:
+When you attach a customer, you can specify a tree entry (e.g. `Site_5`) as a parent:
```python
# Add the customer
customer = NetworkNode(
id="Unique Customer ID",
displayName="The Doe Family",
- parentId="PoP_5",
+ parentId="Site_5",
type=NodeType.client,
download=100, # Download is in Mbit/second
upload=20, # Upload is in Mbit/second
@@ -146,7 +146,7 @@ net.createShapedDevices() # Create the `ShapedDevices.csv` file.
You can also add a call to `net.plotNetworkGraph(False)` (use `True` to also include every customer; this can make for a HUGE file) to create a PDF file (currently named `network.pdf.pdf`) displaying your topology. The example shown here looks like this:
-
+
## Longest Prefix Match Tip
You could theoretically throttle all unknown IPs until they are associated with a client. For example, you could limit every unknown to 1.5x0.5 with single entry in ShapedDevices.csv, until you associate them with an account. IPs need to be non-exact matches. So you can't have two 192.168.1.1 entries, but you can have a 192.168.1.0/24 subnet and a 192.168.1.2/32 - they aren't duplicates, and the LPM search is smart enough to pick the most exact match.
diff --git a/src/testdata/network_new.png b/src/testdata/network_new.png
new file mode 100644
index 0000000000000000000000000000000000000000..245a380f22a8ef8a661dd1bbae509ddae3b596f8
GIT binary patch
literal 63783
zcmeFZXH-*L)HWJHKtaF)7LcN-2q;)65~QjDM0%Afy@U=4B~%d*C7=kRU?|c{=m{k>
zDWV`95=iJs4Nd9&+aaF!z4zZ8_xHyb4%lbxy~
_eJ@){C
zSQ;t+j
zd8Xs=A?2+*?xcan7XF%hnjaL0(|J4e`S^9l^D!Vso49L+E@xA5+Z-CFloU>0rBgm$
zqIV#xtYDXV>+_+{@)zhP@k8Y>D$%2(I%)O6uP=k`C5Y)?u!71FLi?v@^}y=>`^o-L
zJTCp;1MnLr?@HO(zn^TOm(c(I27%;E&KT4F@8kTNF^>Oz($GIn_}{0Xs;daId-8v${J(Qy7*RW25s%sb%TuC(4d|s#Y&tz$|kx}WU@X(FlRL$K!
zeWdMjG&f`6!DUR@5{^Gc_}iNz20;j7nd1+1P@)DWMT>*JL#PUT_v;J8v~)~mk?-!t
z%GtK3kz8^=E@orOXF6GTo>?mWt$|a|K4SZ;yaI91M3%!=sP+~^d
zF4)Fn+A2DJ>Bu(a{{Gv3sDQUg@l{T}3!G0DGQZ(7ixRpUciqjgOBnVG5PlF%rgjc)p#!Va-R4K{2R)!Vlc0O{9Ij5=_>5VG6K=UsOHApyn^j;q~)p`9+sW+6jDVVEgcNZM%`>xaba}r`+
zXu>Ho-u=S|Sqj`T~w8H>_-Uklaa37-@$Qw9o}r>?K7i_OqM$EiRppWOhuCe|A)!4gXFZBILf
z%?u|HW~+}Tm4ihxFH;U7W!&x>T4B!44qd-9msKi%Jr!oz{lfuSYgYY0ib&LaCv6FV
zCwTjF9et*Ap6|#Ni+*WOEIl^$@%H$+D`<0cH#Raiv_hZ>vkiSA)P?u?`hMr=^^|+m
z4T!SQMVXk4t10!$34Q6aGvs~Bm(Q+6k;NG;MFz;!k;!RXqDBOcmko+^z1^C4F0Mfh
z_r0x^lf2O*BMVCYf%{O1+5hWREtmEL$FW)U&4(}tc-cak{rEY#2zMkgSy~Dq(|zp7
z0D|6MISMWB95_zmJnbva_1uJpM%OFZqdbvgn~G+=m;SxRM}6(7l$T9NGc#ucKaF9V
z;WrB?bnEyXMsQ2tU5lyKm588B7J}q=UrGcAfnvjtG*fQ=w_#^h#&s#{2ilTpJ#0Fi
z$vjK1K8kdzsk0uv_w><`#q;WlhL%EfcFE603|?TZlq+a;j?GX7oA&PwG565$NWUj&
zyLnes;DOTN#>T>HsugHlJW`V&o!4P_L#Tmv2w5^k??mB|Azl3ZFDhUAh%bu@!`IZj
z!e>jPQwu!Q%`v6!*R{i_Vmn1Wy=#V^ukx7CS*mSIwCne5qXvnXakU_O^3hm7qN#iO
zDo{33bY@oJx$xZGWBcqG38;6m@69es$V0oUxpKcVW;5inpS=;h)bDd7^firGtWo0zJrlv8|*e4MdFcm;DTskbz
z6?8SWc&r^#XmDofc-fNJKk(2<^)5=6RnOG=BQ}ch%xcajDu%g@%YW`PNE-!~-zMp_
z`K0q;TEIj!xpx_p#%f=Fe|fp|U`1$McX?9FC*i7bDb0g{Be3n+Bcwr%E?T*w433
zIF^o!#^^#%@^_E4)H&*#)kzI~;2D@-K5)NTbi27i9Jlr}(w;s0*|at3&*Ef*$d6F`
zpP{^Q!c`J9nz(=H{@H(S(&bkGbkqqxgRmv`6&~WGll?QD1>KD;l(>X%sQr?`myI)B
zu%U_xM8#Go&!Mgw^F9AyUoKr~jzY6;emRg@D(=TQ+!5Ir5ZFjsEiCQ~SPj6<#7wXJ
zR9q}pH!;5;tI?TS50eqrO=mfO5IZiUZzE+vIYrQaWA>1sSo22}=T;uoHx1%`io;zb
zptVCw6>0s(o{s)x^lq^1D=D!%8yBT2SAB6dI~6Mtz)lkn+qrY}A(!JPwXUPlHl?=V
zQpb=D)L=!m<+D~lV^-u-YK9$q(p~x8cAPphjTSZ#yG}!cr3;0JRqY*@p4st~jF9VW
zYcQvxHf8&5lDRs}xn>W$L$H6EeXkMjN(t*uB)3FXQNz+(s&ZbvIb?(rA3Avrkv<7%+P#)j=N^Qk(pIdGe5bsZVPt
zN(GkP7z#Fh5b*8@zsjXio#(p~2W4YFxt+KMFdcY*X!+o;xA~K?vdl>j>RDVqTi-7=
zV|Fa-mmRj*A2)5ZOPQP~>`$5%IP#>R?9-6N(Iq}WH8=v1=IW6Fv@N_N2v6znk4yqqZ3Mk!<-_WVB
zZC@_NryV>P%6V_V9Y1eaamVj8FBNHvf~l)5o(cB_HtdAmjKD3DHaAEWt1`|Pxc`K$
zJoicCdI(KI-T%}jW5v1b)3no2lS^EsH9{y3+~>Wsw4m+itnDN#{QYl*&S!{;R87tJ
zk(&W=uu)yr!0IDu*#(uP;f>#6Fzg6$LOi>p@Mml1p7-8LgiRkCk9vN{og)k
za7fwHbrB*i(OHH)H+orSF41oJ3+$!D?TumhYIK05uvS5KjnSfQxv{f;GAst=Uc*`E
zSEhPE)P+w*Og8RwMD)7l+&%Ogsh0FR61yDje`6bAU$N4BxDm>FHVZh(h4V($#dY;M
zLz4?Z9}0^^zAWf@FO}9V54mt|hT*JnKdV>*YLJ)i+l(&46iLd-6?hphg36$alMJDw
z!llM(`?u6W%EEmyt?0?KJRGpaJ0=e(^QF9}x~bPKPcUhL9hV{!?aF1JW6n6Uo1(KvLD#AKOoD{;FD>Hd>aD`0V8)ToyHBig|Y9
zgYB*tX(xKdaAp)`r9HnsS0vnWU1o1A;mlFO76kbRLv_nZNfqQaxT;yHSm4^VMAP3N
z1_t=lN~4+8-a6p}TcokR`i#@fBMdE+^cDoN`Umzfi^Eo&xN-*8o&4pOBESh$HqJFkn7fkadUwDYDC8>9;+svmpS@0<=8*@
zWAOMD`4=SYihRt%P7*9|eQ=CbvP~E~*FOFsEb~!?gnB4EL@up$
z+5e%ptlU^VaQQ;Za^zimt*xU)1<_M?&AYKD5W9aS_fI)BY&ll7@8>B`f5pcjrN3pC
ztDf?rsTnP^-aNcAqT@LjQM8zz}l{AJ~kS{rB47>+867n}B*^l=q`8
zM@g2VMs;aY2b9HY@e0YilMjDk={kGMb?A&*>20HuXt6vHHIn|1ib~5?n3mq~JB`3C
z{$wUQ)^NF?(nw`Zg}iQEvXHJp{_(_%Mh+gOaOg1Fn4t;bvk>~y61KYfU#
z>Vt({Z0@8ieaz$3^#Wj=`N(ggR6s#hTcy*;XX}b4=S=zRzowxj!;h5d$G?DdGoULA
z^bS+-{@T3XIK)UD)%x$-2bTAOSME}leyyR*-o^-P#ZzAPX?+8L3vO5&nTam9o3fzFI
z|N6uxQ6gL_JO2oL-4(a_Wmn$l^mOz7IIGh`kLgpYXGZ!&t5>NeP7N*ZGz`gx(Bo1Z
zHMyE-xgooBj19f3sP)#?pK+EWNnfnzIC3Rtp(O0WEL0*!S00PU-C%ocY-hE;w>_>V
zcb_i1mpbIdsQ=(-cG6wGp_8Xg`GmiwV(=Ke9d*G)BAJYoOzxds!d1WRzpng6)=a%&
zX$QbdV4b1@Dvz}NZ|j1$o?Bq;G%L=%_$@YnUEi*~@&pJ3u~?mM;JSx#WPzOm$r=7T
z6Qs}TFTDc5z>bGyi&2Dg8slUH*9M_^4fk5Uw&38QQtT<<*Jg)Zk&nO5u)*IVSU^D)
z|0E!Iq%nXhOf)T2H53H1WS(RfHL9~f2Dr>1o{|AiT{GqE@@+N{DM$+#&ti9tNW(?JJQDQ
z&qj(kQo&8^xuXI9b&aZ5=QH@!^Bm&I{Lyd
zqG!w26lMVF#i*DU@aVVpjLwU{bOhBa
z{o5nPxc5Pxn`&wr#EN!G>rp|6K;7NMxmjR?H$pLt4*kX5g(B1U-6pzjT9#*2K1z>5
zM!jdksz^hGoAicXKeq#cGN{JUb=n;n)&JvSC^E7ZlH-n2jGSNq@jmw)hMU8RHJhE0
zwh}R)$om?f7MD~c!x)P&ZhIh5DD{BtE;;~7)N`!cVnp!FFYI%bHYRcNh8v{fNqM6Z
zs|Z!?ylZ2cjrovS#jI0{vp>QH0j^+#O$&$a0{73q%iQ_Oc{g%Gl*0&iop32-;15b7
z`ZOo#9VgYv=?qqSWI5?6aLwwHp93+)i8iqon^A8OI+HwVdH7ePOvBB|1blm>c%6a%brNlfD2ZG<_)U3L0tpX;hSE{3WC8FhPyb%cF6}%1J@K~
zF^31sbK|DxkHIb7gE81yfhB?0%eS0Rw2
zUvMh21KE`vB2{^6T0C9?8|8@eznSgZos
zXT+67EJYx_qkrY+Y_zA~T0-789kWR>Kq~^+49MUb^G92+!n^K2XN1YPww2jUVvYx`
zQ4{~uoS4fnE@rfUbHlU!`y8Dy?Z}m%gaOqT%pkdk?2P&S-5M}ah(7;^`7y>KkM^KP
zLChc|m6?)r>~rXYrFIeZZ`Oa@*l=vTiA?)B#_(_$OpX#-jCVQx}lj4pk>#$2mk-35%6&uygERVSLDLN^a?S!68yGu3czW
z5a!%XjCa_xVg`KCgd)M6E>0yrOx+vU78Jm!>bx+W@HX}rc?al1%|O~9Pim@qS_n|S
z(nqY)qC(P
zpwotCO`WzC9L2J8-uH(NL^58I=5h(`Ct@8>CjT;@?*l+zlynOhAWiL?Ij8S&Je&6c
zC&~8}%g-p4CFg;~v$X}*r9n!<|3+Qwjt=On-5p*IL-6S@c7bzaPa6T|dJIdldm;3U
z&r#fkn=yA)wSVcf9xdqIttvdZimT?kh`~E%ftG02WRODcx!l?rbsjZ-29T2Yzd^rt
z<54IS`)9#wd@3xK^GyEktgoM@^J6T&8NP`elFNHXr0cH|5&cSZ>kaBX1CVl7-Rq_V
z*Sg+h@V5P0egRod#(8I@pkO6J1A*A^0Y3!EmHa#V(2)^SqhgEZqWYcn!oZrEo%y_R
zQ=fS*Lq+?ik1kk2g+w_>njvT!1KA&HMw95Mx8hvqHY*0~92C=XVGoTBfIK!vaeU(I
zlX11zn)sXX^D*7sgj}KA)sXpaU>#IPuA$GEFV^7uD5}hTzAp!x5u1uV)zG
zpS0jB@fYrbo5R;+oYy4Y9H>c5l`p9sB%b$Gh6~59gy_m-2f*rXw
zR&%g2JGeuvqf(Ca^MbQtUFQr$VP-mY|-FSO&ngK6UB5+f-3g<39%dP<>v7Zs@+vuM?Y$
zDh_t2Xr@RY;I>RfX+=o|f<1?EEr3f$xrgHO6(gT&+df6v1}JJYKtZo%|Ba{V{9;ka
zx(`NFAS(?0u(@D^b1F;wlJ^aHu%YOgcc!@O1b`ghsZ}bFqoNjk@p2hCwfWHu2ip*D
zX3!sMmXzWEUmB7;Z6NZz#45SIDksOD*A9rz<|Fk)0rB~&_X=dK$~#g!2F5GW9F;F^
z#U4u?0Lg!lajMvrtGUQk7EnwmHL5oY6zLhDo%F3zZRqffc^IUKrHoQ2sS*M`X9#57
zO`PLb<|9^FK{3?2g1|Zfqn$qhk4O~FE5&4hOzDb8iqtW7)-y{7Mpmca?X=&O~?RJ6c
zlK_SSO{kL%ab3OuFqp?N$B0n_*^xx`E{;Ufx^FZ6hP*+6C3^
z;5zp@r`wx{Mw26aoTS_?F6@_kenZA93th2sRw~fmZ0nhfBI$Pl
zbm9Ax()@MRpO=KPJbL`AHD?%A`B*^NB2-%She~fS^i?UuK=BcIV*`!=XnqDoa|%-f
z0Os)qSN;_HPah0)hjzE(7w5lq83w$_tJ_r(IzP^Gzo1>%|DGj>)W@IIj#9P$##?li
zUEm~y*q)&kVo?)!XeL}L;=hL+bXml;FZnG$OWauxET1Xu)OlXF=;IjNE<66~PMI?{
zu&;#J0Kxo!)N+ib34VHJ4`HV_rF=5ZNy#t%}6
zo@^efA?|9tkhbr+mM9xo>oiz$-A}xY4!?u|HULtD(g_`BLt3cXT&y4^4Hb3Z!x3tS
zT$=;)CSoUSTGWa+zXT%vHxf5V(($6<>M{<|{_~8utzgu60Q=$`w$P;Fmoul*T;gJi
zioQW7EV-<+&g-Sb1a2^Drwa*hk9IDF(l?ODwuS;iQEpSxuq0x&=VS}3tSoFPcajd2
z54aZtBYqGDo$FX@<0l#1IK%=XjTe&Lym=jRgFQh4$a;
zCwG(0=YiikeR@p*4@pqaF7i}
z`!j>GsYoN`+s()%2^Z6jdcgW4uzuU_G?WxF_KA6N9Ts*^(TD+#E`^N}oy1qKk{?W|
zhwuXgiIGjHws{-GXusF#yjnWy-l28fZo4?=FZ5zNyz5xACE33Lwwtkju)8`wX|*C{
zNMZH*SdY9}7q9UP|Jl@VVr!hxDm{LOn>t-1Pe#H(m#=G+8+_K4O~SFZI~>GichdfD5Oo*m*8LmB+qsW#XG3L;X|
zAuVUXTQ<@_NBeTL!|5nqvtB9v>itwJ
zBSXXdtSs9*eH3;cBABhklFxiA;f5cO(@v%j?lui?EK0j;gJz%R@uEf!4$qh
zP>rtu)ubmj{9}6hGaf#X*vRjHZV^?gwvx$IM{+*scF7kEd9&$^Ngj5uH1WqP!&}##
zjW@f+x1sujNd73+%{=ojTq^~=)$gY`oz~UM<5nbOpmjS>dT!8<61K*=)KEa}X>XMS
zq``TVT*);E6eWq;$FwKQj$$1L&&nibP^!7f+@~;r7Ycex!rt~ftu!qBiWLE1mod*L~_k=?KXON+_Yqy=kxz_Z8VERl^zB!
zYW#P*s=QQHRRIO{r<6rCZXa05{#+2Mq*9yt?ZOY1)AzL9qW@zy$$^f;>eZK*bco&J
zmCy{>kZZE^&cf4OymI^W)zx|MFT)GMC96a7vo(0(rK%R}bX&pZUYB#t0vLz6!4#mM
zeApcUuyh&-s*GOVELvJv_{C}9<>@&9xWpq59i+8rXiFBg@SbMKUwkd`N`2Zrh->6t
zn@t$P2B;sPH%UM4k(khvmHM|o{QNz5FpNEzti*47@ejswlutxU|Gu}I#m-Z*kiYD|
zu?Jgq{GMS}E;3Z!m?&P|$$dE94Buw3C5<{*d6U`U{a0PytT&E0GF-poKgP!f>br2{
zCfuN)Fn22_y%O?D&1FDBI5Ko4e>#cPz_ZvUg%
zFE~?acEal!rsy0A;;YYj3yGT|C2g5xm&MYV3xTZ%<~!ducD@O;^AC{JO>79x4}Y*2
zu5ppKN2cJdMyB!mGr?}!{DbcS2?gDw+ST36JHF!$p^~)Zh;#hJzf)}|DUmGbJ&{rt
zgq}~6A>+mtP46VyB8COv2Q`l-|0j^~tB%;68(Fo+*)-bVmcv+ZrBHV(#`Vv5-$t$t
zbxxi#F0+HznA$lB?7n7s2dtE9E&g0?9k*9p@pm!MzpjbXj~LTt+7oTVxqY*5n^cLq
zyg)A>#VruTX8D{KseGTe%8_;OyUU?0;+j)P0jgMgA-#@V7JWFWN4o1MxC+Csdf5)n
zj7nX>ZETEOa3n07a&Gb4oLl%25onkuR+$&x{l6*^xfQ$)IOj&&(yvE`dzv5M+E~v{
zKHr@h9xYvmS7QngBTUwBoz#gn@t02@oGLvqS}sXU@|GNeYKR;V1NIFDj-~iyVo8Z_Hk%ui%8_>8wRc5Zrdf)Gnm#|mv
zJ#PL7hJqe2=AuJl?pySSqTBI)(+o~a2UB8k|6+^ty#*QaEGWlgH4>Q&HdUEVpZ~f@`|L-Pq>eyPemm+S5nJr1p&x~{*7&Fd)oFd94b0a`rZE;(y~)fQeMQE>nikE6M$dtv=IZaWJ4$u1NP4^c_6w4z0y8ZA;_+dhg*UT
zb+upc3|W_l;u=ltxH|p&!TfBAqI>LQBUp^;)__Rk{zDcVUQZg_jpgyLGTG4CGM3Lc
zIE1E*xxE1sZyc@?9Q$pvNU^V2KO{nFD)feN}0x$BQ*j
zeSJbvmtinWQ8Ap7CXOK}L^9|d{lSTTcA*9arOcBk?A~Wx_@kA|sSS1~_|ll?tXe5o
z*(~(iOv18J=hAKL`kUY3_=FonJZ{oJ4F=F;ZEA;z;A8VLh(5G+dG-XwJN5i+#@0o{w&C47A|67@UM>J81b0kRGR
zO8+ctvh{arFeg6v+Sm|XkT;e3fV@7^0iYFVdk0KRh5y^?Ca}Gui&IW0g9q$(MY~1JKsDw#3I(WdLnuXkO{nU7
zUF*d#k>~&r4n-J%RqM2=tS25tx-Pr#(W4T_t=0r5p3USXUNuHhn$A*cKM7t2hP`Rg
zo*;&``gxXA1hA98-VK)80(mym$vi;9r=bUta=n?VK)YcJtE2C&xctr?GF^H3{l6T4
z(sLGIJIlnlVOu9CD4WVz@J6!>>7B~gt{KKu`4CAYhFWoDv^y|~98Kh<`#1bzN1Gzf
zF_0^Sf8lGzWoL!cj|2?VOnhN*4mVykPhVW^PwlJ(r;#uJn}6}XJQAFJIxm=TOM&k$
zY`(8L4XdjU@E9?b{V-9wQb;-d=$ohW%UE(0cvu*Kl03zYj(>BxNyH7TtL(n$6K{R}
zigVsu<3P0s^j~5S3@AIxGlqgLFo%JJm>4tgXAb*Ouz9C5A2c|X1ru`{tPea~Q|Bi&
zUvS|(QKefBp*w9H{Ubrl#$zT-DmW@?99l{Xnx}SQF}Ks-=irgx7WuW%7<9(-ZG)(hjwCXfs7>}&XVjf2H=LT-jgsr1D1=5Hf
z2e_FGR_V2_VEeQCfWfQ-@spuevG?X#3Q5E3WGLEH7PfY{`$I9{^1}qlqB_rRk9Bfafa
zyE+{#@ENteda_VcO1NwU$d0e3tVUlVAL9);QZG^Qz`H{2XENI(mUh>E5)S(kqpRFz
zc180GhPw;rddt!ZyY~@&eHxi_^@IYTA@BampkJILTH!54DKsTF2O25KN?0ja@qUhN$HtigVQeMs#`do{P
zi?lG;KzhC!>9lck#qj60wm`>QurSX~#Z0nSTYO@-*(K1#QPnE_19Z$YakT!qgWNfO
zXYZFxFO5S4%{5E`vT}Iy2;qm_EW#5E_aSz?9mXdXUtabyqr3|E3p(PG^lZHCD|xx9
zsocbEYh%NCI|XUlyBPo7jWJK=!e;i&&yjlh2Jg$0(B%Q5)y^)qYht;N;@MFy2N|JV
z9H0s07!a7R#Y49|k414vf4DfI^O95SH;3x5CBc;_2XtkY+IDhZG*^9rG|+lJ-6~q=
zr(*b8`=ql~`ADAd@g7Jv^R*DBjGQ!0#Yea7Bro^B$2hT!#2e+VnHm?p_$DVk#AA(m
z`zFNB8!f{N#k=MxPR;sh$*I~ggMKPddK+TonUjQnb^AwYlsFz_%U+0lP~djgLG)V$
zw0gZV%%o+sP=~gVhL<2Wk2MZ7YOuEo=V%pudF`n-`#iLt<2g-ibDZVD$I0s3iJa^F
z-6ewhwn)25{V2P^saeUoFRPpD-ep&+nSzWZGZEmgpmlb1n(jmmcQ`m<*2QDbT|GJ{
z?aFsHHQYPH&C2}6s8Ae_y`>B4
zi~%2hkGCbxiSMMR@y*3n5wGQVC*_G&5iZs^XhCGJc+7WLsH|Yy(8nfsZY7#|yIptd
z_=*yA3{2E%X$$1Dbp?Ypx!xxh_3*FKE=0mY6I43}`lCpZ^t?*)t#tvdL=L$&`!NsZ(?THe1u0IGCb5L8Bu6riL{|XsZt!*0vVSWKy7+U`p
z=R#~fxzE0_Yi+0?H3Nd(PXH${nPD^)+qmnx@!iJH!_x92)8Ri0-$e&t>cse{Ai}
z)aI(G9T*)whPqgg@f1KB3HQ4Zk@#(2k?BWN6=t+-0I?dyJ;b?;YU
z+MJsJSJECh0r!y?qjLzmf`RD9pVd)6HO~>CgmPhY3GJ8y@?3B^#2~N3MA?^f_V2M;npQspO5WQr5_yIS@_9w;XOMOg}}lv}U-{s0y%Y+V+W__trIsr#b7Pr>`X
z8u2QT^A(k61|1}O{Fym3PUfHC6dus@$=tO-);PGqralYxK2R6x6lp7qJ6j>(=rMJP
za7k2fb0jtDJkJt%G9G%jAT9N;=viWDU)88qgP1Dx8KBNaIcX_kD&0>5-_KpO=}eN=
z;3>rCL%{oS;fjIRA!dBZ#%cL;DqC
ztluBjR#c&nvo3fjgo&DNEfoaHhmwrh`|CL>myV%RfQ1qvL?3N!|ITDt*`YRdt|#j?
z9uA&JojFJFC|aaz&6F=fuxYSi$?U
z0ch^W5Js_gXARPphPDeo7Ao+e`rgdP+a5puC&T?$oP9=hrZa6%eSc?}rlN|BN!s2$
zbQnxDGKohE`nKan>|6W?IB>dp`VJqj>ahBaqn3o_)#BqCG8Qz84t%
zMZs-i?>=rD=KWDilXR!UI}~Xf0G>2gQ{_`@sf9U)30`*hEBN!8A+A0vmK-1E^~aFU
zzBMN;CqVoqS={1lA2^}FOt8}%4Q*x3QF)$hn3iZFx7aZ6pv8+4dZ=%!+25A8e<%WZ
z@;UdgJ9u{IM=GeaqmJ9*v91KnpzFM}35itNshxjJ4t%uGzxJ`=OkRIgt!FY#bcJY<
z`*V}gYY{9VD>>})Gr?GzzIR!geU%)ml&b2wv*@EYa}V`=^k$9W+LOHl$!Y};d-Z0k
zrfGN}x33mtr=?O>2L&^{>Fd@=qQIFxD8^pYLqHxwVh)vrDxjk5vv`abbz~NEeV|PB$Zd`nb|;*kIsdjurPo4nf-Ff?0#b
z<}+hm!;7l!+W-FA@mArAcrfb(WG1hJq(CsAw?o>p!9-&rZKMjoeH$?%y;%jafy2Zq
z!(^5c=>59CKB0}qz_F0$1n@(VxLg-TL62u0k6(Yj7fJ(VH}Xa6IvxY{9N{OnX_>pz
zOkSeR>ClC*SJ=R2o&|Po1Xsd{bKQeISKOG?=+D85EZ7>G0ReZ0RiK}gc)Rzn*jQe_
z_S7YFvBy`i9T!4nBr`R+>?HedI->4>5y=+wYVVg!D2&Q1iOgBLBHV=E)=G&I*GPK5
zHhfg3CiT5&3wTBb(q+MuAdBYv}z
zeW&SWr1+z|;Be!taHTO1uOk0zyRN5$#d2Fir7Ahd{fwD^pK;Fc{B=XQySIZUz-|J(
zzb`9bD#3=eEbPwM6NVe_)q}xA5Fz5Nhn;~E`ZmF^OEW?2M`#~M<>m4e@CD>$bqlWQ
zE=4`z_MckW2~Pk3h&(F5ozh?Et>b+DJu5JlujlNa(Qo*BD?b(%_BYE*!QcgT;Tlmt
z`fOg5mte0u^0iiDb*m_NEah@D4G+?wPqGDeHV(qY+K3!JJ&w24rJE}^;1P7_`zBYYU8~C^>h?N;XO@8mgroqo
zAc%hU`==(o>tetHdOSxe^)l=>eZ`{YpsE6=Vrd%pRcudiQb9F#e(|M~-6%Lm7Z#%f+
zY`f1y9LHy8`5l8dC<=Y0&rZAI%-G*;A)fY%Q+W|<(mg5>{&B1Z&}`L1RSlFg$95hF
zr}0U!$~dnA#wibX%iXC!59II8UmI(17;y&$-K4m5j)4Ea1FI9>3Fjxes`JlAGQzj`W
z2v{5le&{YcnBsncu?7lnNejw8LNh(WW|L=oMfgtk`Ldzz=_0oyYn_cNX}Fm~x+UfF
zE>1ja{GgNcBnzV-&V;Hnj^>Q+IBC)bh(6+Pf45-YxB^*wS3A%}K>V8cox9nrTk`AI
zz$NCd*g6F3;YI@T*zBkCFCE#(a}(xemi%vcO7@H{EDcYd-3dSC4rocmt79Mt?$+bnSSd8Owm}sCV25UjqR#8!D
zd!dBh{ZnnGp$J~oeWH6Yf7cztAK%7WleTs!lA7G|I;RzVSYFqycpRjmO40swBu8Uf
zuiCvBCi~P?De(NqRjJ{=S#;EcfDrMt#rNkcA;b4z-o9?kj}qqgqJ+a!R*j~fuM9R(
z4*mjDE=C5!ls!z}gc_k|EXK?gH#p_kWSg9He&bPI>1wzM0`+lF_-^~JOL#`~{&uaQ
zVF~kB(I7rmHbY@Uwxjz}^fXG*v*dhwSLqgVq^M>amgdqS5&iy+!{Rg%#a(G?J8!3y
zrW9Vv|8nt1uwtk{_69}Y<%kt>B)Xvq+4GChRy)qgxxWsKl;SUyFU#Vk<9R`HLzKw>
z?)*+!9=&GZ+RIFo&JWsj%>s`kdwB1o@iJM5w>jV5!@sP~J>gV`^oM_n
zkiRs;(4VgkBn}`-KF-VRF82D~4jYn}aEmqpVwmRt&bS*C-JNB}CWxEvWc8xqxR>FP
zyaKKSkb$O8>8Wa=0p^0=8%yPN!w0{U4<&E*WS-HX@BsW2%a0Kz^5#OE@lPM~{o#Nx
zoH6Cs7cH}?F%#uzAg}$KFPdkclP~vm2l+o~gw6x)mY^S$Mz^4J
zt&nWl#gRtVUS7u2=dXP*O}liz0VSuRvLTt${Y1*sZr<-U!%Oepz8?ptc=Pn{OF!W4
zW(o5Ppv>Adu)+;Y8jMVeLP>ei8OslUVDd
z--~i+61)}7XMw(L77Jxq*=z}W1QS}I*I~v7v7+Mg(=GC?Q#dJh$+jW+J#TK>9C#UM
zMg+EVoYLT-lra0FiH_-P|LdB~N-3viO#HyM%5H=0)4RQfE)NK5GR|TCOEu>ljkg?S
z5Il7QGFuzgSeYRnufduP5_H72eOzW|fpF*>vA;^^MRXczD;n)jbRdL&@$*jm3M&zqfKb1J?IB7Z9U6Z~T`E;u~h(*a5dpwmRY$
zupbiMn#x)Tft!WX*d_(QHHZd)5BaPIWh}@VIH?~?YM#E6Se@H~#n#*&Qh#U1h5URC
zIN&k!Ccrk8CkyGa<~+~!@)7~=+~~!s`U8*byJhR{xLLCRM`@hd{q+paAyY)(lF^0_
z&L1+%wk``38SAi)~UDIUQs}k(pgp6
zO3I}_$c-EJ$LErqcZs2G^o>1kGx?A_uy|(YdL`>btZq`Ne9gQ
z#B<1)opc&s38#x56Jj7+IFtB?C<*c%p>N
z!S|J)>u{G{Bz(1?W;~$5?$YtYghDZkbK)@)>pF@a(9PVak7c}3_s|`NKx2>y%QCNq
zE8^bgG&GmV@;*3Wp7z-#pqW1C=!S-Ju@h+p;vn|!hMm>KQu46HTZu5s;RF$E-Qmpr
zh2M6MW@QoGgD$H_iq~^7a92IX^7LLG+QEn@TjL9xKg$AS1!o{qf4{iM0
zXADVoGR{)YyOI7ov-Ea?dR=KC`M$YF%bZOit@kBVv+>u|`=Huw6jdx2$Bi8ZhRw^w3F$YZ@9RCcK+o{fONXZV}x$DhU<1eXU^pHo~H4tC)*^qnarGFP*Dn4{RART7UZ4`Wy
z0kaNvio2BRH`F}tK|JA-ehi~|nPe{RGICib`aDq_wvl(eh9zS0HD9cKHm%9#{yo5h
z0&Ar?a-G2(ZhJ2T+?e}u3!$UPhk_RoP4*kb9~v=F@6zl(Uu_9+FgpAbva7Z^c%tuT
zBdc$WXmbGb+QtSEsDnH0ZT$hJsV2S}2>6kP**PbHl(IIgS@imQcOyybO{oO86~n&U
z)`Q!#ksk;hV+OZOs`^-@*EABvoeW*QKkCRfb@ZR%ce~lE!C!UIdx=5`a~}m0Ir&5;
zA5mfzW=J=g?6}N?C3_WyN(GNDmd&(1xA9!KmMD7L=_jp&AjjGZ9^A`&HdC!}Ay=@F
z+YW0Mx?6?vUu~jKXlC}eSDe!y{O~!l#&287scxn6Wk6m3!G6w4F_+8oXYrh}zzeqB
zDg5?O0m6@uw~ZWu{4(Uq#+wx3j2E~GfGaYMZ-O0l%fG}Ub78$&dMl$GxDI5wG0aleQPpV8$*@kj
z<`ZrvThZpslq`;D<(As-+}yup$x<#b-1%x$yM6=>Khy^=76@exyfQxwcv&-b->kf&
zaLC1|&Hfa``liwfK{H>EH}NcEv6#c30n2C%rC(gUN$tLPZRfe^})wieTpluuyt6Oz5A^#LOMjP!L9cdV>%
zQ^AiuTtJBD)wcV}h|eFx{^pNvJlqIeJQVgMZ*-J>&^L9wAe!-;ujp`Ou%!8=gmp!T
z1-`&U>Y_!oug`HVFRnoT2rf5zjm+k>XNcyb%H&S#sl>at3|O(3k}+>xDu+KhscH`o
zPS$x*j1t6g1lZgNBu<$V*Rb+yAgR5+(#7g&SAE~Yl7gSTPOWjH`5Jsf@*5qU`y=;0
zKP!^98kNlZVO2CqT7peK7wss)h-j95U0KPT0mmJ>1mdsNV)oc(3a;45Y(&bEG4gbg3XO;gJ@8Mgux
zzcte0?d0e7!@vdAtA!PO(?g5Q<3I-CckFPGQdHJ^r2i$s+
zR;a7En#E*${v;4|!YKbs5xJpl=B$$}1??kt49T^4-=&9x?g#At<(J@TPTR*1Gw
zcQ-C=z{;N`+VdBVT1nOJDU-jf!liEd!Rvv0@k^z3&V)TXwErY<=U#^3
zm3JGrrAHq5@b&4nBV>IPhF(jR*J7@Dds^s~a&7-XER5Ld4d!whdPqcu?YPtp)w<4^
zks@hXBL2j_20E!m@)lM%!#*gBcb0Z02RweS>F-h&V%uKo(Qrj|zkI}6Li&$8oT0zv
zM02k8Yn0c#iR_-TpU(|@!QL37B&3vEob+6@+R(72Y{iqbbIF|rMp9lSst-0HxYf#7
zRWv#LA*C5bLs__KBVO_1d5c}L5x-2u`PMRGyuCBWIt;E}Jaua0@SXnznJ_RlzHD1V
zAU2x~$0kKdQo$!8o8wHz{>s%5?w_b?_X#@3VaR+vPw@XRv1gNj(r*H5JHiyELkV}I`*+MA(VaJ*JK@IH<&TzchTo_-{1TD$8Y|rERSZ+
zb*}5Y&-=WduUGMy558w?B#n$Gn_8r7-o(C|s42FyhH61w!pIu}`sQS?Pgj--9a{#4
znciot<$uV1$;J|l3CeXt>30qcQe_U1C%}Xg;Y{ZTEH`ea2;X%%5d=_%74ZzOFx4UDOAm^c{Q4MgH15_T^IL|{rCVAX429*hVg|>zN$KF^
zVIPOMDbZr*Z_0*4ruq}pqQ$zs(_XmYc(&r5<~}JRwEj07daUBym3$~|&){PflI-xj
z!ozLSY=7Lo$iv7_evW75|D1K#>Jv7Q#*JRfW3$q(Pd7JXDjS9>Zn;qW-X5o
zG6_qLs?b&p+j}=3A6-M*-wPMIFGE*sY!+g5&wa~`NS5&v(M$-OnmwssiZxqTt}&j;gLr{M+mAhLUsYYfx++@*0~$gt(8aAus(~|f!N2t-Eb%i
zoY2G%4v?+p4qQ)0ZtLU({k^zpdz~yGIsQ$(mJ`1pgk==f-{~ToV@MO}s}MS~{_JtP
zpSevV1tsJZ$&r+ctn0S+l`~z5afk*#E8L3SE7Zi`;5(?jdjR@q$#?t*Ppq_buHI6O
z%R(%$e5GHH7ZeZIB!|D=Wc7qMQxS`1=U&c`8*t;kl#^~g-GD|63&2eJ?JeDq815>KfAFf-#xU>En1OId6st20sjk+<``5wk$IOq?S60kEr)7jU}NL$X`!+vNSkd?X#fA_y=RPm7$H
zDn7|UZ5sV4AhRX_B|2uWa3%j#eR>!z
zU9tjc%Dwlpa{sp>@r5`zZS1_H(;wvZZ=7|p^yTc~5Od3#F{G3w3p}Rk@}EL8{Mbc6
zI`{3O=p0K#*|asvX8M-Qg{s-JOeeA%KM_Nu4`HRT*b|91B$=*bu78Tj66BLxc=H&e
zZ+x&N(@8J6i(2`{|82X#no*~+vT|Z|DBpIeJGr^p8c80Ld$53RhU{z%u(%c&0(T|n|m9PVi=!N861tlb
z#(`YG@<;9he0CQfNJrtYOfloTkjh$ndC>hHrNgNVKs`Ke1;?L|LD4bQ$HeT{KSJu#
zUa~OKP3)$SJb#W;jss-K@Q={y-Z~LS-Rq1{5jT;LfQKPz%^<%>7nqnHTc2=-Y
zKiu4nbgUqMnklv~B&t=IlyB(hi!SWW+SdY{)Ew$CoSz*v*Zyayf2BgIZu;8WH`uChJxH
z(|GfUaZ_Z1nWoH+D^Q!~&z;4G*5jM?Ay#p|4izLERKN@glj-5F*^+`yKsdTQeZXPe
zfhW&aKA`RQr>I`~YoD2ZA}d!PEW&)99M>UeL^xmxfHb#Hnw#szksjPk%^TZr$SqjiImCGoYwV(H4f)6v8-+{N5!
zgh5EUmiAbV34gj2$IZKOm!qkCcS7eds#U>ktey;3Ua7sXvDbQfdQBr<2g8GdjErKq
z_@R8=;F&jf0LknTy4UBbHu_b%REMqVVl~n*rrJZ!IeaF)_xi03NnfU0LyYm#Udz&e
zFyr7Jpl+-iK^y?*jf0(kT0#TvW;dCsfKD2Q*X_`#^m=?}UMElh3!xtS#u?~4FMfZ{
zE0~|+!Etnv`!b68v=wS;X}XL2zD)~^&MS6z0Jd~HrwXyv=^m_eOplTfgHJS@k~{D=
z2IffTbOrB|){^!{TA(?<_{J+V;t&pBvu9M9K9=SaQD>zuZ1xqf~{RAlg)-
zYAPpuT%K1>iB|Q_0u%t&8NQ`(JkFnRH9U_er^m;2pRZz}+6$MZx=$be1k~$U4Rygw
zqFjehGs2lw#R>aHYkPGwHOIZsjh0f1rsA#!ajx*({ae54QE!
z#>1N1sv{(qK*Y&G66%n`BKDw?^TO#q#Qk48OgV9>i38;NzCZJkR?cn8k%YUtbKw~UZ+Tz+0@j+*9!)K(+*T(p25^XmyrCzDC@(6sj%;nF@I-Y
z2h51}bb8o{I`gc=0${9n`}Dwq(n_yA#xAVl0;=o=T^aNTv~)ST4GcC1G_>^ZO@v7q
zAXztD`}zrdU3!J>xF%Lvd2FQMx@HW;i*kq5vHr}lHcw2Bikb@e+z?a!BJjU#PgD!(
z`>6lx#h)B2F_i-fTK&Hf>ks+>`f2}S*`D~4UYYfI+$xRRxz8$RoCb(*J7U-7KV2)k
z!;orO_l%`5o|EwxpM;>})*qY5F!xWxecuFc{pv!dzCZ2to!S;?sR1JXuFdQQaAsCk
z7NTj*&nryB#qU-+qaWgs-6L@Gc0(HQufq3pjLSJkX#om?2Y$EM=YemQDg2M?nR6Ru
zkC^qN4)Pk>n=3KJ<syYKcZ22mM>yY>`&gW=*cMdF(&!OPb?tpSbg;Uj;pZRwhBqCY|bO4#Y=hmZRUHQCyHvq|1l|4fR
z!}_R68{(iDenOuCQckLd@bf3?TzWQB0E&f60?RYx+Ho({HQUR!4AXanKei&}U&9!4
z(?`^bIKG5#+w21FDVN{3A|)R$xNr-YrN8`go6ereDemr8!LF{-?C06H`w++Cj67P*gNUzQd?_V#^Iv7N0;r
zW}?La3iCe;dNv?e6mKYrn#Vre28Dg-m4KG}KwO1|OCOduNV-?ajHXNhW%niC!9L)f
zMV?l2Ormy^Rh#O2<>lq0%?uD5fTMhb%9rlF&uDvN$R!OxK2*vsp8fF@awz
z*=lt4=}vk~fixA}IdP?uJ+B$az6YnO>}upgPS5Iu+s@ev>jmgP&Z4Z`YUGQ1F-Iqh
z$SE-c`v5!yx==(U5}P;jl1^mw!rM6|T-nQ7-XL_&(l!DTsZ}k{aaAw-
zW#LFwW?+<_V)pW${sq(khb~xIC}nN?*ml^p-+}d
z#XfL#>l;JAp81B20_HVg>9U~Zui>C)BxeI5`sG_(y|3aF=l9Qq{nT*>lgerCMRhwu
z%TBC9F5K@Oe5^wIim>det)>j7vx-R%#|Q6YW_%u+1|jzSsHtS0+5%|Dk&+KhX*T7E
z2lG3I&WDsglWCD8#x@RN&*_cNH@WiMsyxxi3)P+<@g5B4=vo+%&_|2RwuA(uk1sO
zo6u+teihhhZNQzWp2c_~i1ypdaPoYXe?3>8o$RKDQ%)5{3*U>Euy=6{luQL|1a=e!
zD7{V?`#Xki_mT^TXda~tDL9~1#DJskd;{0=TVSEVE3d)+Q#$PyS-Fi~&(2oRmUR#e
z&TECdbTaTvZ(Faf;uMd`=uY?CSkcSeRcI9Dz8v|w@Pg(;T!`RQ8#+Qc(@IcG_e1rI
z`vzM<1oo=doGSI6nia?0YESCEYI*R>Tt65pYYtCw^klN6D|0%%i}ZaW>@Pk-D82fM
zuC=&h7#DvAKbOPs;FPuO7K?g0>P=beVs|o&&&V&!48LzPA9}fZbofUJ!D_v$kz;
zvJzRDf3I(ml_ICsQa!5;_!-hgmU~8hnM?A7D+-vh5cGY@_3#G670io7qk^p~D8ODf
zDvnkYdLOr*IesUX%|C?pN%C^T<U8u=N1$r@wX>9jQf9>?t8AX=5Pk~
zR}ZK2$9NKIgRWFABvztTH+?|hik>+<`P7jt2$DY`h?k3xuZ
zebpd3cNcoz;=cn=P5ZKKMEn&XF<0@oxd)rlx=s7u2dkKcaRawv7#VOf()hdjAzdP&
zd+rLH$GOa?`gU#fLj3OGZ^|+LPAa88PYj_**CN{tq3o4OX69#D>Dg&&39k90>gT?d
zFN0hjJlnIY3|suRY`-sdMteTwQDvA*;8U?i{}8_Y3fJd}WP@APZ=nWPI14RVx*j>U
zdMA<_iW8m&lIvh-7RUb&~?a<&YI2I
zX-a0}pN03F&D3CTvm8!`WAm&AE?A4akA?x@=v;cgtBcFG;nKnb3A;S>bA=}#von9Rw{5azcF3dU|-F9rk^7&_8WQRANE;4#$bQXONJ;BdVv6
zuc08w{I*uMHoCiwAhi@c_Tx-U^|%W?jF&6YwRzLvHm*Bg{xQbj++R^JWXQf9yqNP)
zzwK3<#=gPQ`zu?-Da(O*Cr)*TuaK(BRHHhPb6_F2jc~K-HZ|qTK8~#lHSKq*?9TXz
zfvWj_5BwPGR$^ZL!saxoYts=*8x{f%`bCEZrP>TUU>eQgv
z0XQ9o&!vR~PuuDyR>YZ+k4UAkO)B}9$m@)+6lNgSe{Zy0V9og4{nfxEB1>N<~c8=m~*0!Q?=mx8Q8=F^-6aw2e~ylp4`zd->m+2eFc|;w@A{k
zr)U{z@yu0dT)T)^?>#IaWUQkdyZ>g-7i`Pz+wr0`-?uYx$k@$`Q#|H2*b6PwNR%N(
zHTjeTO&(pIV1i|a2WkvW33Q8hvnx0x-=(<#HC|?oF#lVgSSaba(`@zKVEtBD_-)IVH_Jb+Y3#Ru>@hyJc$)G4Ds|U*hL(apH;xjJ1uhv+IrD3U8&aSlmb`m=YLTc+zw(v6GoWwN
z5`~Jq98!Bvt#vcD9IFJin6`mWYRI7dRV#W0-78)6eC0ynHN`tfI~uY)i`o*Xe$`G^
z`WXezrZc%dY*ET>scPNT^aK2;+IXBHFCWe7ioPG20`c{!5=)Zzbc4g`KTNo4=Ey;N
z^35p+pER_p-SK|LO(T+%pET6^_=DbWH-z@fFYQ8Ty)%J-^?3pSIluCq@9liH7guj*
zy{SF|?$MjogQ>4iE*|>M9fOeXSo@L@y^*&ush)@_Y3nw+n|vaNj=2#peR6uz&*p%Z
zE8cc}_rb7C-$gHl2)Y>+*wd4oloTAmru1Z~z-!r7%;EPkS^ep~5;+KG^QG4#F2mk7n>
z$g6qV)!#jV2l;O)gUyu?;h&*-syX)<6bWg=e)@YqY
zv%RWqlV#tO^gL*UKi*&$o2r_Id>9*=6T49r=_!m=ul+934S=rKWHeY*Uv7?hK9};f
z7>XXsN#T{%vQ?tf6%Gf4vAr2oJ>GukZZVla6X9KMbu*np)ez8~Ea%TbFSYz(R{f7-
z1d4~{=XvCnmR>iUnHcJ`{GpI3tOo81939`SE+1VpJho7;Y>7YSL>z|`H{M+5I41!K
z4IGltg_b@A0q#(XxvWJaulEBDEuPriOTv0--Yi>o7RlA;DR0}^QmFXZ?&9m!6Fb@N;B*@_8H1di1xSQ$LT*{8pW(AzJ$k!rw6
znznxU`l|Pjlyp7C$?86)YEZrbMV+C(Vb;BevAk-G$;XT$Utc$JJB!=CTHO${D8|F^hN{Nr>JiU_rkuUi?f_u^J(B&X@(QWDNY?h|^r#
z({;>3MG07(9}!7=e}Y#Cxayf!iWb@N=TJTLl`}`Ww$=%Bt
z807U6s*VuX3X>Rto64qePFB$gg~_GU7YM
z*?_l$?ccW_jPzbO2OIR)t9OBBh6nXI?ICOrCEP_Ez+H$6SAFi};=O7eq#5)Zv?sn|
zm+V%Sn5$W3eylXOWHU77Vz;=e#>Zda!qTs57MmZuKwF|+bDzgNh-o|KN}eCKF7=Wu9~11nt0w*Gz@6Fi
zd&zz~^7@53lu%lx_2tRbC`R-XFde(PH5jF?|AN*5=?jg7wtvy3`3#Ljpv?a70e%{m1l2_P2sPuWWNkbvDOcq*0pu`ZN
z$^~Lou5)G-;qPSw-H+!AMH*3q-xF4X{oVn#hfi##;sj9`+R`b$Tsb&&$-dI$?SQK*VezM42~|GLmDjcq`S|8p1G#{%_l!BWpbSB9`X*o2Z*Y30sJb7
zouhBbY$R8IKhtG-*y0`JSD_A<9ZBZYUMpx|mPQG44)}SlZN+=YLTS91nlQs;57*eyzr5Ad+jqb}5jmzjY2IwH%O9&8P57{zb}Gy8(;Uw;dLT$@Nn@
z7xe~e^7DBoJCub|xqlSGmYibVfS}1R@w+SZ@=sjFZL6=c4b8bUVxOy6JfFdzHXyH3QY`Hke!j|B`RGF
zu>&RzKNP}pYSya-!<;1#{XKhSVei|~-XDW?8N7!rG^*P_#>2z#&W0R14ZRjZ$>K9oS1pj1CUBx~w?r^2qqe{HO>D+WCD
z?NcM=K!HM7-VRGUO<;WCmJu3mD;&!a0D?f-EmJut1}}UciKBA3mrN_>^DAXg5QKR53r!w}df
zyVbtGzix=;W)1})^{H_|e#FAFF?nf|c=Zdju^fu*io<^?tK<;x_nwSh8WOube
z7txBg_+lZuFkLZi-UwBtx3IN_oTdl`*O}khf-QlgJh~Osz!x=}>t?f@GA9KC_j0cA
zW{O6Ju&m6B`un-7*^b(_NYp*lqqWkt{>VoovFFq4CASZNnOcDPCoD&Yv)=B*kYc{m
zs-<=B2(i)DTl6C}Mk+l#7O(@aJy|j@6`9oluB?27YAA$jhA`aX0+hq@#=1%Etdzmk
zO;0I@3BIcalzExGk8?^jdYtLgp4FURqG5m2zarOSUfvl07*X%h}4l0fGbYqtHJTX;*00tNWG9?LyVQu%SOFO6HoTk)I;MVU^
zY6_uZlzcuOI;*a2t_`W-vEr+dg*^xBWj?tB2%=oY@l@LL(59kTRU9Peffu#cc}#ZE40^CxU~0Esg>RIBYGbymEh{cY;$
zK_CSZ9ecW}-nh%ro}MLd=6oniNqU$u^)Dwse^E+EW?dZPQI*rH4X&wynnz9&c%P+2
zjVEBSyzv+dVU=@le89^3+{ni{>DnqBtCr(cSsCH}mX+MS{KKr9gb~cNA!2XH!T#^{
z2d|Am2k`PJx2*M|LN!c|kpe&97c;)x{*kWvJo|b11(l9voqLIS5!L5xw1-^R
zIZHyO9U9T{k~{^&d^6GYABN7XHU^H?&|zQg1RE2-t~Gm4YR&Y~eUu(5oYYa8oy}={
zY7)@xY`gxbbXRUt#FLP!k_$GnJWtuabdK8A6BAPdfWE)d%;H6--JSw}u*NxileRy@
zDAhoia2-3azl5GoOiucWdySxS8#7%CQqMsDF?gaQ)9SY_;P9Me-B_(dk4|v|8Vh%z
z5ksCSf9H%8*r~TrCx
zwPu0O@aOK5;+h-fMAq6c
zMJtg2NiH~*|EOdV`<`ueS;n@FCWjgGU_i%u=}NG~`0}dddWr<-Zn?`h+LDnXBYOk_
zF{jG|^bf`;&cXqkONkL@4k-ZE(eHfhdquaV!D`fIcT)N7ctD8yLon1sZs=xUKp}|Y
zXINg6gj+hP?aMG5*H9z63CYpOH?wSAX^uXJwQ8h0^GAN+TYIs<%)Xh|;&+SA>FZL5
z3S&htG#xY_58s?zb_vjO3PTWXugGUcPpGYGDl5}*jvLr^1ygj*3m=X8-r}3FR`yL#$7nAkR4uvQYNyLW
z@MpkT_!MPvS~cN|{)I|GuIakM4Ww*wwlY|(YNEi^=ECzF|K`9Z@`cD=bM|8
zPVwN$$z|&^iXlLAv9`A{Bni7+d0s3AfocSLeM3LWtAjMABC<-#FEhiJG#)T+vj{l@
zKBAB6k+36|u#|Pj1`OcARprzqFpvio{i|7!)Vq;6BgQOk)a5iP&@pLxX6qVX$EvnM
zXwbC!U|-}DK*CTK)5jgbTacM)cKZiw(w_1L2l~AN8FNocktc@S7f+!DFM9Ko>o?W+
zV|N
zgcCoUvx#w&ZC0Ppfjw}g`?B5u3X9mwNSXNqlAH>*lzBz5k{bKf@=X@eI#71+D%dKw
z?U?HJApj8VPFk89eoVIn^XchQ)X{bxYr*Dx*TpD+av9I*Mg?s-9cnteIa^$c{6v76bOce`i5T
zEh69K*{}_)scJ6wGGKpq*=k!=&s^4pADShSU+-42g58dyB7MddAoz~QXTrJ!Y7NG&
zBMQ7$EoD{ou!P>H40QX}^ZkzVHgdig@YQudCL=mGHy#cQ(2>qkbw6uH$P;PbKNp~c
zJwfaOb-(P;^746Zi5~6FmJ*u87^eK+FQ@~m~@zfgEs0EO-t#Na%!ur)ap~`(kATBc4j>xS}9Oq6O3}`*z2~+oaQ5m}$PT@4tyT2ZsQ8&`=5YG$i|FC?R@
z)d%=L>fD!k!8hr=L@xz-|ARh^N1}&+Bk-AqC15oTm?AAd#I9X(druXWPoZGYgnf2?
zga(?HPQ_GX`SW{|%^6vf)uVJXM$z+PNPtjz-v!vCoV>m$Xu9<5JvEES+SJ*6fU-`e
zzjVGYYKbPKn_EdOSe}`#=w@ExeVT=%H#7594FYPs)lJx7Hk~E3L$=CWumLRNyZ?%1
zZ|UtS?oLii?x7w0Y+M!qe@L;dd!3pB`Q)O*X!p-%Bs{UE96ffTUA<7wS@p>IpX2`T
z{)q|6;sp?&w6%4g&M({(Y*v;{B$#SOwz>bwuhZkdpf%1XyJqP~vz
z`q;R$Ny^1^WKoJi%2Pm-p8ooT5p!Inw7z{Qi+$Z>p^T|7i;(%NcZp^~4clF_dIwDU
z6|M(*GnNjdDfrY}-%e%{4lKIRK2fm4yFW2pKiBgtFGna+g3>AjoqpL%-a#|?_UY(E
z-U5kCjg48+GV|YZFF@T*MRvNtF*PVxI*L580UF%GxlZL!9R!OM6SxmTofpkhz^3
z+h1^_?x?AfZ5J5wvNZnM8XxkI@S}R7dQmslv`V|qsvee^qM{p@1-amMS%IgapIL8z
zVjYis)tAG${q^mM9&X-RI;l5(J0#obbeBBWYNA0B{JJTuRK?}aIQlM;a?zpOB9X(^X
zBLkz~XVJ&t4u_c6+G!gsN9@)Zki0gSe6g{@ju|UrAn{Y`WBAnD-%5xITT>9}Mu-Y)
zDiecnn($#tsc-GBxa1*WYVJ697{4QFGxW(UDIli(T0#$6s9}er7MHOoVRjLL$NJX)
zJU;Z7#EBM-78#6b;E+bXtCNpR<*Tl}F1{`KQcn7(-B0urMo9TEV?};|{?pH;KL4y?
zQ)#rZ3-CV7(I}w&HeWS*SXGbDnW|jdf$yBtWzzd!WKnNqD|#$bwZ?hj|B2IT?%}Za
z!U5J(OCh3?Bgs1TBcpU1)wjj7{dv8{*8nH7V%@=SkNzQC0>ZJ68L8_UP3KUR}gA3m!<>FZdj#Ujz;d2JItPL%>N^p
z%5#m#`=Flh-vxb3pomtZadkFURvuk>w6BkM4qG_?em8K={jiqxEt3H+-~{yN{;R&|
zIT~FJd(}z=uE{Kb>$u8UXHMVHV+ynR5QbOJYU0$+!kW4f6dQCa!&U7=W6*@%vEWp1;0=B4obd-dWB0L3qLxbsl|r|
ze;~?IuFaSuYYJ_1N~ej+`fxH^6F4KvysY;s9k{XU4&XoyyuP319&*%Vdzp6K4`s#z
zD+BN4@>Q^ZEzz~F9qkrB@D1z{E3EG^gpnU^1ZSP~obM*)O*!wqO4L~H1w1Q{7t)Td3O~kaQ%s2_(i?w*)ld?MlO@CIZryooeU9hrd6g*+W&XQ(KS5LQWIa
z2qqMBIx|Q1c*UWz9o>Qrg}6~_3D&ZPMQ0Swh^-P_iD;EUxMbE`)+R2s#qksE?tbFa
zU)7}h_}l^Y<0k`3WLtG$M6?@}KY?p>O$^F%a3>QBaFH6klEI^n*`zQaw&;Byiv^Jl
zGNJ-55IGI=%BbU(k5o)H9jq
zro?5=;B9JJ>@bxxt;y0I$AqGZwWLO=y*t?YW3OTTj*D8Sd2iB>CNKKbvPoOA7!@=M
zL>`(ZPVPO$9_~5myRJsT)ec-*w1AHtZGLZ)I5TM4A5%j;0C9=PE=b%RlhIJY+rRFVJg_Y4E!g%^{*)W=_A
z%|`WVg;dKzRV<^=THR5;X}FQW)yinllPoDF{%Ss;xx7~t1}1?vji~CSJmdRK{vW^M
z5NsLlh~9qPe-Bcz&SgmNW<7U?7;4o<*Ok({FN8%LVE}*Kv7Q77UK2>vVw-fk`7tC1
zn8srDMw~&2E319X*@X%Qn!N<9F3fYYl@>+eWmF8sc=1hMJhID{Hc|Jzn-EI-K9(?h({V5A9`2dCkWXTGur7K}^JMU(MKG*PD0)Ac<
zE-M-*R=p=`9&Nf3ksp$MBnO(Y|Hgs+&uqJet{Ww%29$xJoM+4i7G^dM)UgfXuJs=*
z8E5dboXU;1$_}ukl}2e(hVm?k7qsfy{aS@i6MO>}{)ThFG+$*B;$7(Ng~U~?7j+ij
z1k|@TDwQoO2XqT7)&b$@QQ=kGl=Z%E<^bS_7^1xCYgk-=JPE_G6_Wk-t|#)RVI~SC
zy$>+16D)-uy`>~B;+if@0>?tjb%~sEiYL9%Jt9ZFoSs4a55$Z1cytNZC{W)*beo1B
zxDJC2AGy?R=y}wjRX_U7%!y_aZVA
zJcbnG~53H2FVc?O)>^6ZzG)sQEgnX3NLy)j5OLQA5y)8R#DeaCCPzmEyx}jD%>#6Uc
z51PCcR-VE*2^#p{G#NaQIE05(n38hg+Y>640}${{-7&XB*B;3(72lEUwLfi22MEJ8
z^d1ey$gRA7e*g*(x?aS9`MW#gQ;nGG$5h;;_U<*G+;dl3V2OX!gDMsPq?Mu`c5%>R
z;cefQ`qo&)9}3a=Ux)BT5`qKI@A(^kv?c`i=qQ)Mcp;@R2b#lsEBoVp!R2vV&gntn
z`!{!La23mE^J;x2c6zOejhb_X|H#1)uI5ei`?|h%Um@EJhY?02!5!YX{5@y&&l1;i
zHKTIAMgisU$t&{7@v<6Phf8oF*Np{+9?HX&zB;v9{YHe;|E9P0e2Sj~B%34_fy(@z
z(HYv209)f9eYgr6n4TeX#8nLooL*V7WHXqt)U4yWez|27*mF4*fE2scS!)5SS86}4
zu!?^nib1neGEvo5@1KJmL}-63dS1)zWKyMoGrYNm`t!kn=#K=PkGVo^?OXS)@`{YE;MZb5B)B3
ze7r8MMFC@X0_o89?hSj%C!&2wGtSgur(|8TFL9Npc33~F@z@uOONbz&prv!{kB`~J
z#=B^njOsQ-Yj^5*)+itzg^JJlat=_Cscs3Y5@@aZ%wqsee{BJv+_b)S#klnnwxSCW
zzkl?cVs<@S&J3k)KI{8)7-GF`O}kMA#H+3+f$1pU1mYX~kB;`yg`OJck4umGnM`_+
zM`Gz;J=RbxoOi24c`n9m0_3U5QnVp)e=NFVn0e)_UgOEV)#Ex^JvXqbEa@?1AM7(d
z`(F+)?1hl=fr-e8fDd?a4`J!dw)FF^Wschx_$1Ce#V41AT-wR8)Ysye;OB+e&*)4@
zef!R4^>s$H6+S68Gaiv-;=AKpi0+x%(>Or){&=76jQf+mS94_fK}e`|Fyn=}W;P&2
zl!wLvCw(WIH#Nqt62Kxe8vK?R3>64Aj4dDie_hHi05_!je{wHhA4{K_%Jx@hD&dcQ
z3{TIQLob9hl&O|fD~DAX$`S@`uYQ_M({UC!FScW+N-ehbTZ)LgCMZ|^rLUv3XV}{=
z%eDm<51@EvK5WOKQHKcg0c~mz$bLrW6?>V-1Na^0rXpe*W?(BGNGl9B>S!U3buF3k
zkJku!%UCNc>UM;0`PlszmXR`q##G}U?vv(*$K$KF#&nzPKYDVOt%L?&LfG%L#D`mK
zBR2BmnSFiavs^d5Xi4kwovl>Ua3`skHqG?53LvVJt9gp7q`6N
zR*TL9ZGq&7bfK>pykd%TjUGg7(?Egqp!l+neP+0ur}8Dc#wbt~AA{ZLmA(Dk(EZNW
zM=ax4Q98B-3}y|^!#+=Iy^8Sbl@4`a>}agtq#qpJ^%=m
z)VS~I?B0S*a5Ep$Ub8=j*GOf4J8-j#sq>i=w}9%6&GFbyAQHlhoHcHyawY1P6|gCy
z^wp+3sj$>E2YQJsE1>7qt}FQOD;D6e3cE?}rW3kP)d(hiC_hF2Y77zX+Ldf$e^awn
zqOWCl${zEWOdjvQ=B!MOSeKT=5KBR&ZpkFXg34FKKx$0c3k
z^jqWCXa0j}8M#~v|Ga@A(MZm>DzCgD*pHV3Nx=RvQL!4p9ru5*@KXAk#s}F(8R*3a
z7p}I4+1RC6*>W{J_U>o?%}iLYNc7!JT}V#X^#HG>ccrW{$b!_Wb^6eNREDwpjV~BvDVxIxJ6Z`lnKS~8NiO`2-E!+{UkcNcOM
zfJJby23IQB3dN5}QMi=`1!IBt!8D@3G>;~M^ILrxY)3E4$Y!pMqdRm84IbZkD_~I7
zE2_|6?m{&p_hz$9-)5`z_#9xYUq+$Q(8Tg^)B-V6JtG=kHLv97=kOns|EDj{3IkCy
zlaAq^?r~Nq1rFYZK8I1Dg0mf1_xEf^Kduq6R+!f
zP@PQtoW4ugvMSO%8-vw^Z<%Hm5U)M<*$|)P#N>XM7b}>5Qb=ow_TiU*0)qnG?J=fF
zQEIW%M^WSxZoNwt6~JWHz*cl9S)SOR=l&>(otyK-`L^*SiVGWev>PCAW@>({|4;QC
zkOu2F{s@+m{?1MQdH&+xcK^E@MZez5>61;dg?eo<>9$TIO4zD78L!>37(5DaU~$Ql
zyEm3L+X3r6Us9_KU<}pL!rek#WjB(kB7h6E5fU(JzNmD
zol;4S5pGebx?A8QVq_wAyh;mKpQh;%z|~qH-?5PvdB>)j3(?vUM%K3J{Cdf_TZ>IB*-*`4Zm;YUhWq+4kUG1ke~oJc(YzGE6U+LAr_
z@S*m>`(c5JybXck3KFeWkb?IS!FFF#o`NPOQLP!KV^sma0TvE`nksWP@o2)hV05aJ#I~R(>;ax%`K79TO>_VyJ
zUyO8f`J=j2q_*6NhdtzbM6G_Do;eahY=L)4hG10x4>F6WG9nN$Nm6&R%Nckr+Bh#AEU}RiY56J8DXOXvbQ(bK19T!{@Ww=Lvs=vb&&*Ii_-A9uj
z(_>S!`aN|6vNqlcoK|2V(TCk{h%sBFQm&mz)uP{%DcJpvTD1AN&+*%X4d)vxY5Oh5
z(7#yrY4hnXE5AKPJEW&$c25`J9iJXrA#e{90lD$7mT07WaCE%*YNrd+&UoaiK&Uxy
zNb=BMEN&$0{@p7Y?r}}Q{z{TOkPbHEEF#z*Q2rgbGU=Z#;-G(P@^re(DwUU8zSD$b
zS1uxLF0HE`r7z`I3rLeRX%gaVc)5)O12PZCod^RFV_k)VVwUhswR@v=MW4
z9J_$_60A&;vRf99KAPqcQ~j8#{+EU$_oOwWP3sSFHP&=Zz24vJoBIe5|C*zVN*5Ai
z$Ct9aqz#=^f}y-1bnR%N%slGUZDFYs%L=MbgsYMoQ&f+l2Z8k!QvT~YU5YAVc*HSr
zs;;MI_VAW@FqkmRv&)}1+|#0Hwd!#Csowt#1v)fLS}2?oMAGt)3H)`H*lbVhgd9gE
zeN^T>;;}Kt_mc=&?M=cH1DFZyWkG$Sjp;sqRt~ub-GqA~3PrL>IM?h;-Te=5+b-PH
zh{$caCLkf=6uwd%%b9uWA|hoShH%w^(tuEE={fyk?;9
zqfx!J`VHxBQM;q`HO-6HlL=n;T9fyoUdt@mV~;2$V;*X|tG~GamAAkoiv|grq`Hco
z#k)8JB&yW>av3|klxUqbx_f>of#>LVCy-?Ea2L_VY$0(1a_RB+S#h-|@^}MuyE*)W
z5s&3)$?r!o^6$n!H?`T_`y#CEZn+c|-$7c5qEX%u`ZKTl*DW8IcHemFY<#Lo4i2YX
z#53G|eUF40mjB!nV9@Ch9R?{g8SYhd(0o*}=+>Hx@BI1c=?3>ZfHn&<4$f@~wf>RYq+7(w
z(|!HH1!O^K%_}AuzN*Ldjdb1rWrsIox$)tRhp!WGUDWILMYQ`sEh(YD4+PSLkNMCp
zjWGou6*&}b6UfflF@n|4$wCohh&j`;i}1fcA>iqkPHT_go!rzxlIBG=B$V_`8N1h~
zegxC!A*XQ?@F2-6rd(qgRzN(``L>N|g*6L~uH~JO`h%vzO-JL!+Je2FI^C?3MZ8p~
z%J!mNKjY-lzplZVdr6SM^=>I!*-u|)MTc|ll|#cNyTcQmWvi|o>~rBtm|t4`@|sQ|
zML5JNd9=-mdLZ9OUbC*va+OCbCyDo67cjI@g^1~
zUi^@T=+FD(^y=W<
zyx!HxTPIdSz)Pdm{?jy&FBoZ40y70W>T6vc=WiQ3=6Xq6Z&F!H^;Z~OL}+wHX{1EMtgTD&csu}<12U_|)Gl8ek{RJ7@#J3rNhQXKEn5-Y
zFXD_LAK&R1;r1Ki;hr9;YV&X3FoB(nLqP>FpY*p(ML7nYj!#AuWNjiLfb
zGyhQrmgbwl$v7q(b2ZFpt7ttw%0kSQ95wDvTVQN--RR&ZxBL`vQIxvl{&nPt?@sXM
z1^8hrFtBN55$J$YujVk@k^#);9#i@FPOOhW|@kC-rtuW9fdi8NTIZZSy*h!o;JO0%bi*5g_Cc+^^s3
z8Z##pcesh~gc`%de8C?0aZf@}YOkl4!`DxZr=b8q%P+cb5_!@?@O#H4{l*a(VB
zoMPt6&o!X_HaY~xvjI%Rf1juwS|^V~M#ZilXM&}$!2$C_
zZOQxEwM*OAoP*1TMDec^J^E%YQ6?iQ$4fP3Y_p4wKJ5`Sr7)u~tWJvE&diWmWq8_$
z$&JwbH3h(AuZ^4z^zWh9ZzZ~oU8IN+iU)jk>e6HvEC4f&KVoZ%Sea-NY488z>8#_L
zdf&K@1uCUTNUMlSOP7Fvgd!y=9g?FajE1R5Gcf4x-ssUor39peZ8XS)(MXJu+jIE-
zp6A)0ym+10Ip@C5eP8!=eXh^DRaaI)hU7O{3lHVhQ#yIjy58?MDc^}x6fUKh57@az
zkX<$^%Kn0%mYp-aH#`r3HN17y7-d5bF0F?Wdq3bBr&`Xk;ok#JzHxpBL4RC4`TaEV
zL+)bmD&YX0@bcG~c_olqczmEKzZ?Q(-g+iy*5+R|dqzM{av^yTjD?-Zg=Ig%{ICBj
zU+_uxu9s#)Zjai!fUPM~55#XHv8|-b_S8tc2RH?kR^SJmnPD5dXN3{eRq_xnJey
z)E_NN4+`4hD!RA@xXjx$xwWev%ya1?qBeKOV#wsM
zSOSWfR2g!rShrdp_V%>(r|(2Vno-r-33q=mzVhrXG@&EwWcF9VC8hbvuK^yowqMPI
zvM9d^Os1^!Xrq|YYu}ggRW7ZM$987EiHQCE&yI!tIQtASmlyycDx_^)8Jz1FsFBRc
zkj0@m(|+m>;LyKf6CiJdGZcl1!)!>-th56$W^m5_Ze
zTHJICtce*mm%%pk#>6XwWd>-jjF9k+X~&;}HtPJgYH~j~oVy}fpRGAC8`c7;HNa4F
z%6P_uQ+mcJ0fih2R3vz0yuz9ooHNc^XN*ZLy{MEuzZ@61^o)zN;<3QVSqc!iLB(1^
zeX815-<+&`Ay?x=17Wk1l9QB9ZJ#g$oB7bA8p3H{bI5w(GDFY?tnO@n&INnA-*_sDl9aKOr;n)NM0
zuEoCO`pO}SutEAv2tF-k2nsUB#yoSEdr^QdJs{_UaNOhY`gJ2%Arr3(cHLUYks0
z7kAqbNZ;Q99PJE1f8b^MVCo#6RZPw{4C{W&RNtI7EiYFqa`WBd_^7IR68IAz)(aS3pNqZUFa23vbXifVn=i)H~MbVCid4-wY`nCIZqQf=Cg_c}1K+iKp
zsX|hBs56}Paq7MQm6IqJBR#cJ0N4`87R67kYc2`~*{NfU3)iba+9F{c7cYuX>tzDf
z-rcKZ8cLZHf+HCMZ5U@aZC-%w%LQRbzcph_DcvhH{ogoJu>H)Gy|3_8w*KAjRKp*g
zZ`OD=2tLw-UFzR1MfYJ!h!NGAK5dk?m(b`xV22y~2~t13@Dx(&{i%Pl;rk#U3S=}(
z_`lg&0F*j8%7)FqVt01rdx2(jW-PQ^JP7$31ZoPC85yXtQEs}W2kv>s@YEv^+64L2
zo%69M8IUc+Qda@0_l@fwdtn*sm&7146ox}z7JS{j#%NgLG4)orX8yy50cB=AGbo0;
zxRkGxwfHJcqqmc9#6@U~*WAOJ!o^?KDC-c~{oM<<^ZR&wn*HSD>J>wp4D9X2-v0wv
zIy2_}aD}z_KA@C_p)e~?CEk%dTDMBaHfu|MoMqD0^;HDAfu^T_giv(5QG2Z2ufN-L
zH147~{J&EQ&BwPS#-H>`79GZJcRUh95gcZ|!-0Xf-8t>q9R8z8KMlh%jbHeQQZfu~
z4wXs2*VY(c5!C|-Sa6s|OkzX4$_DFq*eI6bu~^o3?WGECvkHTe&hIb)BXs_w`Mok)
zW&mKI%^K3|r6(oyR{n`fIsS5P>~w!Y6#ql-{&aLCaK}z%J=Gv5V@b7QoNm9btaqxN
zHd5^20nl>q_^{NkBz}Stn_uQC>9D!Duv|>X0`HdNYvOyS90LQ@Y32M%eQ@PxheDq-
zDEG2io!OEjP!DFH8TznLtfO)rz_XwKC}G@6!R??1*IQNvqiO*4*%$L(_iDROU^7R1
z+()eQo6!-ol%Q}-%PH2tt>k(_zjOm!{km(GG3*B=1&vAR#+%juNx}3C5y|d@cl+!A
zI7>9EfG`a@99HT!^IEN44r-rF6PgZO3Uk$I5Of~bEjYBf6{VZ_f=96zC{*7Q^1chP
znfYCohSff(|KEn7R>owmEXh+f`ZM39q&R(p$-%D)+{dDt~
z+fe48JP6=qai+I@;Iqp><}`m9{%L-ct50!@*6EF_m-+1(
z#s!L}Q)Q|N$=W}SxR8JZHYu)}QvGR;>2=t>5h}FZzOs~cO1FyjrFSn30+OqE9jB2S
z#&H1CfYv7*MM+_#S6Xgdnx0&BT^&vHNEu;k_J18MKHZa>Pg*|5u->$>S~ZNOE6kA*
zW#7=}e#*A`Y8K73b$PL6S0g_RRHF9|?$T}fZt$uqg-hLoCcf%;9V+3=n5Q4-YgZ$s
zN%rAV(~VBt*w{c1`OvF{J$KV2_*ySGy9qlV3?Q99)Y;A-D{Ggbdy`B;+5V>3Bit^%
z`(&Ni{7=>lvbR_3`dhFX!M|MYfVjFBE0+6b1y*{ql;rdm^^JTB0qgulrb=x`VrbvN;feLEH<@Y9h|>RsW;
z@!9oCZ^+Q+g9UXwhs5QOD8uz)?pG!}KX){)A6r!X)oe0;opVrev$BGD%}l?cxtC(G
zJIPkKc{D__|1wmHO2c7NbKr^zNqx2XMM^KCAl^FJrQpgn&C4BY#(j1}OtgwjH=D~n
z!&ivAM&+){ES4n7!uT)Q&fiM(%dV4}jCow%@;>>+Is4d9H(KXGUW#>|)EW5Gv(d@R
z_peoO7K$|;H0wtLJ)Vi|;c%BO*0ig4;w8R*?60YsBO0BMKV)1<;+4ODBB?LCoUEG4
zIP-2CtQ)4U5g8P!=g!9f39^ZXNQ?2sehC
z+9E*;=n%667Co&%C7|VjxD+w&vF7FnOPDKxt!Lt-IK`7dOT{WJ%!f;_fq%Qf6F9(M
z_tvQCRfXquFH1>nPa~yV9fpqU#oE13iABb}7LqT`8Q2)!x9vMd>2M1FYKUzbQ+p{+
z_3Rc`QDPt$?eh!PK5JfC%#|T9nXw{M{ARxQmIc-@XgwI*`>P&g$vgU@0cg_?tQ-jE}lvR{TVlQEyV%;1;97c
zo4MWD%xpN@+PlPIkNr>%^l&`24a_-mFe~eWF;I61dMAi>6{(EAg=gAtq_|j!ywmqq
zZrIYg<~;idr_R4@FngM8oq-A33ji6@Ehz;8~$><=FBVmrnEoL
zUE4lC3lf3i9j4m?>fA-_?=Jz^$gmfNdVv8MAKY_2ET~I>8_}0+&s4nT>uSq^Nd)A>#A&?o-iU;IO*e7rWNIc6-P
z+69`H7BO8IZIIo0h@(d*WS;w0op|)a6$pDQ0=`yMu5NBhhEJT^b?g^tE2~)m{m~8r
zUB2(7^q7_?<%P$=@XT=%sMAwfXbFeJg~2{G@QA0SjpZFQskihY0`jU3y)E
zeNLMg=+5{CRN&3{I4oAmkHG9oGz|gR{{B7PntrR9sdx!TN_V*)n+(I0q
zkj3jCjW4L4U2Q0wQ+)xhS5w-neJ2_-vRYtpzlEmdhD`yNPc%A!W%Fv8R%MJVn*D3c
zf*e)&3t`iKX$Et%^FG5XT5&y;pJLUGPHZ8lc+ppamBKyrwGHl%Fd<6$K--1sr@@xV
z+oIu=t|11h&uYFsRc;uPY`n{55qSyw#jL-YpXHdsrGWTu`bB_96U;dF&}%6TX-D9(
zOtA>)0Yy<3p}1W)_zgEkBjIwViaFtO)GLPq-;DLudOkeU%ge_Qob&S65!V^qpEi_w
z8J#>sd^5x6X5;N57*>5=eNI}pzj8s!RTfdItT&
zSg_JpRc-wD^Pg!PuHSw0bZhRK1X>dKbgD!@848yQCr(|Z{`?>zqr@b`YF>qKk5?7o
zh=q(&>|?y#kB{b<+jw285(hrB^`SMNFMpU2keD*cxrP3%^A7gnm3;V6#Y*BrJ^+=)
zc?+m(azA_<9;xyU=Bj6Di8n&D1Zrp?6;qQPgFdW_H4&U4(>G?Wk4{Zo&!2(aVb^@9
zREmL*?9YoyHkG~fvV|yY&?pMF+%YF!uNz2nwODr)_~omNl)?;p=(+mq38cH~gsWHI
z+$c-{DWe}Y1jDBhUoY;xzQ;GNtO|@n@G3=?=kH!f+i&9yvtn!}C8RJ8G=??5V=`J|
zr(4o4C5$H&VKq}qgF~*)K5~oU>$1wDn5JbZ82RqZ_=0iu{`>0!J}qU?k1-O8a(0C?
zyateO7K5HHoA;Hy6jX#OUq!)BR0{ajl##`^{FJ2(VlVamEhb^yXo@bQpQppVTT7eU
z`pO!>S|N1>?5|!lyhW$(Hh9H=7O*{!&V0OWbA}>SRO@F-B!{TFqSxOQ=zcho12=CEd~Ad_++UJI%MRkS)so7srruh%SU6p34>fGP0RpgJ
z`k*!)NA<3JMugY+QR2Ec-?e+?m8Q^ZS)u&Do1_XD5v!8ek2lLJT3f8lPW*2I9nb7A
z_#LfAmGucZ511R!Z&%eL@ts1wm%a>QUHLVpiHL0FO{1?G)bQo~!2Z!ZWc0%|k-<*9?dCPZN_`{i0{#?^t+&Zl`UYx=
zQdYWM>D1K()_W!kD}naTIPuH*79m0=%8y)2^prJ&7+nkX79Pp*8fBKDt{l$1u{k=P
zmw1JL_FbWxP2F@2J90lvDlfd3?AD{-GO$6tR=YhJW)ahH=M&xC3jmbV;>*{nk#9yZkM75;
zU(TpP6kicL4M0+j&jhV!e-+95_&&{A;rWOdkTcpNtoseR>?e6x6z!+@rYO3@
zJ}k7TpFVxr_)6XVx~-HRr*I}lTl@i|dE*?|0NP4?!*dy3WHY;Qin%OFe`Xm?jW_Bv
zrglXAVRwBr68Y2>`$)aP3ww0eIz>MV1T(y(vAN1I9+14w@rFMrv0&mxOuevJMAxe%
z9W@I?#A6+-PrqNE0h1M4wA@1Tqg`~uW1NXSAG0wvA+Re^$I|`i_;2a!XC*>+eeHqf
zZIAt8lMm~1V9=Y^$3Vk*TtD*_Ct-=Pz~+{l*%zAm5`8Z;v?fh~pA}O|w|ATpIbQU(
zOqN@`WIvovxy;>y=gmth)w6-8*So$vmOs1^^;vJBfU?v=(i`Y>Rz+cgY<(ovJ83<~
zWdXd^y_?TCn+@tK1cHBbu1?P15V+e2aOU{848ZSQvZEsi!P>Q8t2_P&7!`7N&nhI
zFr(!Ep5+OUNao3xCrUpC!wGB14Y`Gp>hKq%N5w)WR0<3#SABHhi)Q+SgFCYf8(kXG;I0-7apicx&(A;nfyO*(|B{y`W!@ZW`0nN}=_gRU-rXMo1AZ|?t
z7R~jL1xKNgkTQ_|Nxg7`oL>`>@-8H#2r}z-CiFi;fM3}PL3h5zcl)dy|Eo%_EYj+H
z_(ae@%GJB`JFvf%fl0Ra_oMZ44uSsdDd#+mhLux;<|Kh{TPq8vs_50)@_UcvV#01B
ze@b7pPSKD||9Wx<%;?2W`-s^tR?(!C!iRlPHT>(EuJ9z^INdW-7~`1vH}@kIH+>~&
zhYZi(xRk++I<+*UNzCjD$x@LgHqCr4if1p{RB`vyjfxBe=lSsdaM{5|
zV+XUgqdGm@8g0FsKfWZv`7kMK+8vnsv~R!eN5$~IAE0*p4|PiTtt
za7Bs)wM(jiSw)x`|Jy4Qa@d0or@L#;p=htiq(K_Nzd2#=X
zj+s|DID&8Ww&{_kxZyz$mU$bxCa=sB5yOLhns9EEvr}WbpTuj@L
z=P1}AGl2G!?bp79z{Wm6{J4rR=n9`mx?0Z(d%<)iB(yp!D=O2Er5|_EWi)_4RL^qD
z?V_Ug-lmF+U+C`(JXxo}wzE{3A(ZYqb7j(_f*J18E`}YS&W=_VssrHe3qc@tN&W^K
zb!m{xN
z6b!l#Yqc0&tezs)0V0G4PFs(4O)uB5msh?;L?Y49@W$#P$o}@d$CcLcTUr6s&33<-
zT-sp#olN!~0)*W~7MDkyfX2uxFPHkNhWrOKzW6T7tiZVMg+?;R?_uB!BeOXq3(240
zno$>!Q>7T2>(qa@`NNIHEv3!_Sef}+N$x1vY
zXftz#xB^PL&14zHF1p#F6Z(|aFavmMYGg%&2Qu`ark9I-E2$R_h4Xa@sKCT1lXgqnF*nQ*{i<}Z_ex>*TFMI{ix_>6)XgSF%|x3ht&h*FW9`fHI$lS^
z$fg-V79L-4j|wsKTNhnlaptbgm}9R@0s?GhmtrFO77+Yo;7Vvu`ixoQYy)D@G<&te7O#xjK}Q1xxu#I;C@jm^v;)e@cNN-({M~<_Jf^zjVq!T!pnso
zC^Kp&-p{sYx~{z&V|pcAPjBt}m!G}+-539QGyxjk_Oo11
zZ@}o>sUv1PRlO$TQ8{9?{Z;m?u8jp^nZmb9+Di0_Wfec>CimYJg!1xT+T5KnjhNaj
zt$ZL7SzUYgBPi?OZc{PbNOe=4YmlpCU#Kql~#%{
z%#AyAf>1>@=l;U%)9>fI(q%M3+r
zy7V==$B*lWWX)w$270-0whJ7le7a^
zf8p|#=d@Y;N)_HOE9TB>oJGUGtAJqYw>^(UGdonSR@r9$rGK49k<`BsR7u19M9bry
zs4;D$mcu`VWXidz%81`S%s^*ATn$Zig8Wv~qH{3N=Uc*R!(B}xd}~c-U0i~Bi5ITE
z3Dd@SnKY0n=Y(`sp2%6Ew)g7V%wW8EnY$k`FCY8?dJAs32ktOY+~#==QJAYOKlvp-
z92ZW_A{Dk9w&m(L{kN^+etq$n1Hm0RF0_<|ZtIl0pcEPR^}EV?Ff1J7)AI7eZk_zY
z?4;c~1tnbC7qMJsGx4;3TfR%{iQI#-_h|(gu28(I0o>K!iAvr44sih-4+ht^%rWp-
zsKAiqw(BzIgUyaq{$08?n?DV$H6`c|qOa9yQN7Qsh45^vtREcPUR^$d#@
z=BHx=Zai76P1wO8%AyY_UG#(j#G#&vXO!3?6G@&t@?Yxq3oh!ryJhGG4J1AQ1{HL29iGPv
zr7QQ$NrIZvlf@SCLqaK7sT%(51
zOWCWRs^Qj4*r(g;oO%It*gbp!nx}q_U03liuW74AU{RqeDDWka4E*M+lX*l+0Q?5G
z6V|x}%SAK_rMZp=WWg_S9fYqeRxHv=r0wn_zO55;`>`0NooHeXs}mg|)ALw8xa1Jm
zAW`k^KX-(+Ydl*58Peiw>#L3Ze)M|36wije#5El59wmuxeUx$OEa=AE1nA7R4$Y4%nqNl~q(eBLM>d(P__7I8sIu~GH
z=})%YSF$Q$6rpar=g;-sr=uIfUIL=_I`=S
z7Vt)7#AfvA?TZ9&l>&udV4PTph9)D+0zJC)wVe
z_9vBF0c&;JDJ#(Nv`;G`nzef}ZzE`>*1vnNDq%VX$C@&Ka~`$pFlxl1E7ZONBZJ+8
zmvP$(N=IGvG2W4*-fC?}mRh(qYlTzqStMoh<+4|9)@l8jK_1|dYF8up1NJy#s^b&(
zyoa9g6;@zd3ow3ev1q|uT~DUo0yM<7ZOdRgo?Ul4{T(Qs2BDiU
zPnt-G!RfdB8{7HTvbR{cSUvl9CN0z47^Rycf|UZWD>Vg+z?|2k#PXnLXE}jSDz-=~
zrDu0(AR}pvI2Ytu7bu4v7$PqNni{*wT8BZ36DP6pGUOOsn{Q~&e|KFAmp?YNP46Fw
zh|(e-@6|XA8w_sykq^c%?R2lt-{iJ3Qx|XS#z2mj+<
zGY?TPeXjT5Vtq>6NtV%WQD&k+#z>2HZ#^B?Fx_@d6Mjm7KMxZ5bNJ9zI;oBF69c3W
zm~@XH<9RUzhdJWN$)duE>iYiV#NldHw`MW1D^6_(894ynkKE~cs4K*!nbNh}3k_b7
zG53J&93VPSZRGS~Vo%di(H_W0dyL7_Df9NQQ2dm>4x$t#z4t|n2T)n}ob!!)M&eax
z8v48fcNV(`y#jGPuoLqj{5G2RbLen7*#-Vtjwd
zzmsaQr^u;P=cR(cVoNKTA0whD&CGei9rJb71^jDOU@<|-*JOr-*-Z<)gCd=HCJdk~
zaMjXb*_kt+#jf4hug`hUr;X6JV!0(z%sLz)VE)niW(s-Lz8f6b7k~3L#?-9&)vIya
z-6e}ggpBjgKh+NgeJCex(R;Q+pea$m=Q2DJV66{xJ^k$4Li*UNGXH|oRWGlHd9>oV
zmHdO(t9-LqJOjH$8bW$AP7j6gR4rW>ffef-;(`s0gZws4sd%PUoujsRCTWg{!nW}x
z{n?*t0A>8y2lNCP7YI>C0ypkUHd??#iY$;r8&8eX;G9gPExQM#`>7pDM
zE!215C$`9qC7`#1?c;JG{U&5u!?$#zty#vo)aZryXZ!RWH`BNGzE4YaVK~+mTkZ)9
z>i8wTj3{5XG-+kh3qmi5i0rtwwsfOfaYMB7?5bEM@R+v38L$O<#?o4oJiw1H?4~<*
zqrpq8XIKe#rBgpJRNiVVarkv-9Q9DF7G0{v1gd;{GSkOa80a&$R|cQ}_Kzxx2QYJh
z_qj{N7^`DKGz|plEXm>W^6=Kq=@(N%oXevzZxpsT5TZpW&v$&n8x3U5yo
z`jNvr9E^p+651-OWai(O=bQy-f4cSbwn6Iy+t<6Q_lm=h%a`{7u>lb~2alcY0ex
zT%i;5%e(fifzd{1rc@N~Mj0$FJ+(C4wsUM9v9Li%`Sub?M;hIvpW4u&fSvR+qi=CN
zx>=AHZEs9XLN&TY1{EY@B9dsyjMn4>nMwi0&zBV<6TiB>4fv4hFK&C+7e%@BEYl5d
z)!I7SQ-7fEa&yi*z=B9s(mfWdA@@p{{>v?e7hm#4{q{#Sq~&pMQZl2j*HmyDuwKSE
zFr|iV##Ol;y1Btvx>=oae&3!GiINuH?#NF)?DM*Wa0%>SH0M6XF4{ct>5j&?7l6}9
z>{KGGqJ{m>O8@AHx$&UyJ~DAm`xwAYLE&>72&Bf9Bc4n*HXexoEi*^2ptifWprPe5
z&WCu*ovhD{Z7*{;>+qzP;BT70{CAH1o2o=Y{kuhab(!#VPCX*ow?%{wcznA%Hb{+j
z9mQ|IXh^P<88v>0u4xxVwJiyGM&sh;J)ltvi1*qA9lv;|hV-a0o0lN&lP%aZg8Z^V
z?XXoOMol;8V#lH}H1zGoDBc@AGs}Y+xcpe*DQ-K@{%0N>MoP)9v$x+6;o$XN;h<7xU*AB
z1bo3!LN%mrRrK$Whg$)};of?eF}gV&e^0mD{wY4&5&qlPx^cr+tkTRSJSZk>C;=*W
z*de<4zeplS_G1WrkL9-Y%^ZLHbMUVVP;%vc$~x{V
zX>7DR6lN5bz0q5K-&xZkO2NY@@-^Dh@*p>UeLw!>d?(K4?!x7?2$B|h3IMWERSVcBacaa)yi15JjU#$`b*vQ-JY9m;xKPi>as$*
zy`GV#L~mWfKfqv6?mJ~fH&7g%Q&)3`RIAdvEK&t{D8p)^!^3;qz2?urybxW_boOD%
z35t21KYnT}-I1sb?(9FsLb}E0+wL$AR^o+P)=rS%NkBQH@eG(Kn}|SFxu6}i*k4(G
z9si{(;2lzHGOhVMlYs6M9-TmZ@8U64@4bxx$J5=MQ>}dhK@wTjQ(^^8?U@i~?w;lv
zQktINvgTr8E~#VK?IO$zljPBxfBd~hMVO(Ex!hg18r$WppvUD+YeR9K%NoNCjXlW<
zx&-o>g8AYeh^0IHh+}{5wseP2Xq$8AkQ7Z7S(0>=^*-q9X5dbyhB@LGP0S66`h{9*^>Q_
z&`o;>CsZ#ZSRd+!N=eNdCe}&UV)Y9yUHIuU{^N6Q?kWVP{=R<+H_|>
z&bJ!g$2GuRnB-ur!DIVRgF}w4fG7Lv?50Fxap-lA7^V!=&3Qg9cx3y|-xR2{6?AC+
z*tufQNRX
zy3y>7?>RrmY6wR^eu=&-isu;%Nf8Y=%yB(|$)V!UJL
z*y3c>9EZ7wq5$QYaG+-#t=8NPfnf#F(9o&+!#?V&7;+%N$$p(U9iqJAUPIEAu2;!k
zi9sZ#^h!P)a^s?1{#LzSSF_UzWg#{WHXergpL!a1moID2A%@JwrL;cOf|Olo%-VDy
zJP5f;MPs4i@*+BpF;}r{LgUpAL6XmsCkMwDZKf~z$U4B1!hgVgj-i*+Z-#Uu$V6v?
zRfXVCLHJ~<6S$tv9cy*!-Q8Edb-3ise=8)=GnyW{mD5wA)rq3QX-Qk$+zvQf1s|Xt
zEQx*KMQcLn^VM(u26sD8&insuROFd)Lx{}VfGZT=J_C%Hr>)aS_=HO-#4D?1
zu^Av}ZTb6zRCXYp{#BP$6AMhbaymAp7k?GR!*a+4kQ&=I0dI8&&y8lBFhnK*!+?kjFP|r}7`G!POom_E*5yVv6
z#Z@W0NQdqGC1?|v{}`cj@@^U)ii!5$I9Vx3hzE}UJwQlD4{Wz0<^)`s6`Or;iifjK
zAbSfFF-~T!vavTO$0+_$`{+qo>*A2UuFsKPW$*zov(C4L(8a$pXMTv7^W&8nw0`}E
z|167V>}Ch?gH%iLB&+r0ze&vfyd&VaQkOIO#M}v;6i1^$LBVki*oEus)@X;`3JuUb
zKATXhS)p(2N-p7w60vH1;$aoAc$Z&05GP-e+*JYHk;eVfeKPJSb7scNgVs5=;%I1J~+89*c$PC9dYLXlLctwq!QeY!S7A18LCj7w2U5k^4@oW}@#w6;A79vMs>d!e>+s_znQXu;j3bQbf6kQ+uL)Z@&LncL}}1
zfwq#+kf~vFa{K09jqS{XmQ0R^2n&{hsx!MM|0Y@v4_7VSC5<