From 0961ad92b0804e2286696c64e8f7e1aa266bcd6a Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Mon, 17 Oct 2022 10:35:57 -0400 Subject: [PATCH] wip post --- content/blog/2022-10-17-ampr-vultr-bgp.md | 67 ++++++++++++++++++ .../posts/ampr-vultr-bgp/request-page.png | Bin 0 -> 36689 bytes 2 files changed, 67 insertions(+) create mode 100644 content/blog/2022-10-17-ampr-vultr-bgp.md create mode 100644 static/images/posts/ampr-vultr-bgp/request-page.png diff --git a/content/blog/2022-10-17-ampr-vultr-bgp.md b/content/blog/2022-10-17-ampr-vultr-bgp.md new file mode 100644 index 0000000..9a40994 --- /dev/null +++ b/content/blog/2022-10-17-ampr-vultr-bgp.md @@ -0,0 +1,67 @@ +--- +layout: page +title: "Announcing your AMPRNet prefix to Vultr with BGP" +description: "That how-to guide everyone keeps asking me to make" +date: 2022-10-17 +tags: amprnet network +draft: true +extra: + uses_katex: false + auto_center_images: true + excerpt: A tutorial for AMPRNet operators who are BGP announcing their first prefix to Vultr +--- + +Since I briefly [waved my hands over this topic](/blog/amprnet-bgp/) last year, I have gotten many emails and DMs from fellow amateur radio operators asking for help announcing their own `/24`s to the world. + +This post is aimed at existing operators of AMPRNet who wish to BGP announce a `/24` or larger of IPv4 space from a Virtual Private Server (VPS). The VPS provider I have chosen for this process is [Vultr](https://www.vultr.com/?ref=8932365), since they are highly recommended in the AMPRNet community and have free BGP sessions for their machines upon request. + +> AMPRNet [...] is used in amateur radio for packet radio and digital communications between computer networks managed by amateur radio operators. +>
\[source: [Wikipedia](https://en.wikipedia.org/wiki/AMPRNet)] + +## Recap: Getting your IP prefix + +You *should* already be familiar with this process if you are reading this post. If not, here is a very quick recap of how to request an AMPRNet BGP prefix. + +Firstly, you must be a licensed [amateur radio](https://en.wikipedia.org/wiki/Amateur_radio) operator, and have an account on the [AMPRNet portal](https://portal.ampr.org/). + +Once logged in, head to `Networks > 44.0.0.0/8`, and request a `/24` netmask. If you need more addresses, you can also request a *smaller* number than this, but you must have good reason. Be sure to also check the `Direct (BGP)` box. + +![A screenshot of the prefix request page](/images/posts/ampr-vultr-bgp/request-page.png) + +After filing the application, a member of the ARDC will review your request, and should follow up with more questions and information for you. Once its all done, you have yourself at least 255 IPv4 addresses for radio use for the next couple years (yes, you have to occasionally renew your prefix). + +## Do you need an ASN? + +*Probably not*, but it's handy to have one for future expansion. Feel free to skip this if you already have an Autonomous System Number (ASN). + +> An autonomous system is a collection of connected Internet Protocol routing prefixes under the control of one or more network operators on behalf of a single administrative entity or domain, that presents a common and clearly defined routing policy to the Internet. +>
\[source: [Wikipedia](https://en.wikipedia.org/wiki/Autonomous_system_(Internet))] + +Nearly every other provider that allows BGP sessions will require you to have an ASN, but Vultr lets you use a private number if you stay [single homed](https://www.datapacket.com/blog/multihomed-network-vs-single-homed-network) with them. + +Some benefits come with going through the extra work of obtaining an ASN: + +- Ability to freely jump between IP transit providers +- Ability to announce your IPs from multiple locations at once +- Ability to directly peer with other networks +- *Clout* :laughing: + +If you would like to get your own ASN, you have a few possible routes to take: + +- Get a european ASN from [August Internet](https://august.tw/) (a highly regarded RIPE [LIR](https://en.wikipedia.org/wiki/Regional_Internet_registry#Local_Internet_registry)) + - You also get a free `/48` of IPv6 space included with this + - You must show that your network has some presence in the RIPE region + - Local Internet Registries have fairly tight control over their customers, so you will generally need to ask August to do administrative things for you +- Shell out a bit of extra money and register your own ASN with [ARIN](https://www.arin.net/) + - You must have a registered company in the ARIN region (Sole Proprietorships are fine) + - Costs more, but gives you full freedom over your ASN and resources without a managing LIR + +I personally went the second route with my own ASN ([398057](https://bgp.tools/as/398057)) because I did not like having the future of my network tied to an LIR's ability to stay in business, and was willing to pay a bit extra for such freedom. + +## Bringing up a VPS + +## Announcing your space + +### Action communities + +## Verify everything is working diff --git a/static/images/posts/ampr-vultr-bgp/request-page.png b/static/images/posts/ampr-vultr-bgp/request-page.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d870725cbf8774362fab4dad5d39372c253a8c GIT binary patch literal 36689 zcmce;byU@V*EV<%0R<811`$M%4nf)iM3huIq`SLOK^g>+kP;99>FzG+knWH!>4w<{ z?`NL(nKggRJG0i@>$ld8a5(4tiM{u=uj|_Q$w-M~W0GMa5D09E=g;I22vlYS0wwPn zI()}-nUfLz@2brciPzWQf3DYbec|7vwxUY5@)r8G4qDcF2m^BqGd&g?9cw*3a~neo z+fCFOVR#WE@A$`&t1D4|=ij#(^69j2;f>&51j=E#|Mh#B;!;XPY#M-hZ&Xyi6frA2?Cr zfSPMP|3WN?OmyJq8?2o|Q4MEjek&_0#P{#t36_*ZWtA%I&5HAF7Q1lq@Sb#jeSpQ% zoXWz;C{ZOYmMqKSU~jMg=T|7=b&keadL#YiC&kA6nANVR>Gmb-r7Qs%w_$B> zvN*~^_tQfURxKxjlY`BBoSb+FadC0;scLN9z+NUZ_ut%asbRd_`K_s~;Z!dp zZZhNkw8ZKf2QRI&J!xolpmFYTz7$3bw-KI-S+lr(jms|k`}gk+$BJ3z z+ap_=n!FV?oV+DI(`&JlSew<@ud9p}nTUI15;DB`Nf1Q#K)W^UZdB)j>3X0Ttz-mq zqHMBQIHNqei;K%og{&7-)oy%l$AzO^U0uPO)hAMJQ-wzIuyt61j@Xj!I#V?sHKX0% z9)CDo&8cym3*xo3u}Oa7jcL0%8JD4$BfKj_@b7~7ZTk|jsC-|t<`ki0%%qRHaLB!^ogHV+6b+5Na zvSDx%ZFu~x!x*n}A^t^D6eaA&pHp*Q&OfjwOGp=ATKW){chxf{hCG0XMH}Ag1}W!N z&%;AU;fqrnL(=#>op3OpsR&SDMe}*ECXKpUL-Ptu=Q>t481XpXZ*eYvJk9MN@Z0O(o ze2wxJ_RDlQ7sc~;s&s+n%o9XqW#u(YOl=6{LW?OXPcN^ld+zZ5As_Mg8tfsf@ zX)Q-5CrtctQh9lKvPnrv{oC+r2IndbxFh}{At6Z&{&*A=nfp5nF&6p)9wp`zn0j6* zx3|_Nt5k(jYieqaC97L?<-`I>5^qpElsTFWVCxr#2+S$ISjouQcC$FyT~4NgU*m@? zJ>QoiX&fCHsTi!YEl{t`8QqV|1ko}N*V*_aJe;7Zy{?45zvIL?=gPGAPL_|bC zibd>J!c`_~JUsTO?3VjPm-|uz^7Yz@iq@$;P7{mQM~gC4&S!k6f6kxmuQTlq7X;_N z&QN$IAt@;zLdvP@tHNuy((mdad>Ku%TTK0;2Tsuf4y^$i#J`k6wk_%#+u3Sj zv$7O2nshlK8NMGerRU~;omJsr^5gTUt+cqXD7!|WA zicE%nhz1ZrzWxY@uVZ9%^nC04j~_pi3E|cjnop1+aBy&phq61j=32^Jk2rm9QYN{d z9iwerY|pokh-J2gGbRrztE%pF32d@k%|5$5H~BhE=CQiN?DBH7SxffMHyL=Oq<%>Z z5WFa)t1@4C%-T9*ct@&Scs1RR?izH*>%p>DtPZlBoMQ6~2GV4cO%u9dH67z+Htzx_ z+Ah=fvtHRW`FiKQ74Kfd*P3t|vjyG4sGL6}f+z)uepPqo)V;k87kR8*mlK6l({OXV ztN}9MfX#S?jBttf4%(X@M>RDyr4n;WSg%5R2$fLVpVrUUuU-2F87t&8Gn_@W*mALp z67eE}xfOmgkZ$jMcCi?ZBf!GED#W6gtrmO?>&@`+@$vZ_8=E;vOH3R|vECle_!ROG zBfx@Bp@-PyJU4iGdCP5=>tQ>6eSLrNq^xTZa__q+D=Gas()d@0DMRcc+2PV4Z(Mcv zsrO`GpPU<>3&cyoUA}{Ae`22G#oY!e3)&*tr1P|!ENyMC%HT(4nom}?!ifw_bVKck5^~|uFNi*v@<<@(HMg9u zMG-#R{e7k7I4uwBG5`&RbfyMNmGZP#rr;RlF1pmx+-B<0@bK{mwjl!G4vD{gd%M7( z8~s-?i}k{jjhB#q+V(1=TR*hw&O#nhXlGL^{bX`S_LHOg(LAwTVZ-2H#5+`sZ73sn zgoNG+3DloBQkY8Een%%ia4K^-V2$CmaDOZC>#*K^y7rxGQD@ul-}tJkstEU!bzW_4 z?f&xq{?`hbN{Q76`}^qM;D$eH7Q)2Bl3$fh5Dp3mz+z=(4J3Pj=?R4)ZEvF7PQE0v z%hlIVgUU99ir)TTMK^U`yDmAnsP#Q1CEWuD4)T{0*WXc-oIIVDo9-894*U)q9i>)t zQ4g(>jyocx;`q~(nV}k|0QTsJ;SDL7bPo8!q`2Tb36&?^<6vVV27YsUK2o!<(rHIc zoDLIDdJs1Rl3f7+qw~`pY2*V-J+DINJb)-MvIsp_QL!7(zbC+*)C}Y|DR_hURhB>O{qXn*-r0B*0<=Z9p`lc_k&?z1go~c*-{L ziajpQO&2>|A$p%$SzEX5@i89-EyAb2fbHHHCuCt@c)orx+Z5pM?JZh-oOv*#0clTu z3=IQgadZLV%{T@!;(hwh60+g%g?#R^u)H#YO7Skfp%3Eqq?lUJF?V$1S17H2N{U`E zk8(oH-1>SJNst)iKL9K}sY9*R zySlg1_13f81z%TiOm}OxiQ8f_7Vqv0nS5P|uiQrU{)9|QRnB(BniHxe=ADosm;2N4 z;rhJJR*S}^6=S!UtW@h>U0iJW@hax;-d@w>WIUXAZ;6E_)MooB%F1o>kg6&nsHATp zFCwcXFW0nagte(ThmdpsXyG`1p8ls{h=JeM5qI8U<5g8u*MiC0S+zKM8Bj z_Q&LdpZ{wsWR<8+t_57)p<7P`nI-x_RA&Rm}vSvmJR!RXY*{@O}bEwHct?)VkQ56iucH`$X_{>mI8#!(@rn*G9i zDo?U~2$qI7gWXc8VvhP=_09;klU@v*ua)I5CTeps>F-gckjP`Yx(;~1>3uoK{wIV6 z(MaF)b1O@v;yh6s?{c+C?1ZD&B+D7&LMz0G6dX*eOGyvPHcGqg7R9!Mo~)Lnu`}tL zr%cXv{}M5(F6S!b`!PsJ3 zH>JmdXezM;SBll)sFv6!)hkzHL7n~JnYfirnZ6%?@B{R8QiHz7^jQ_#yK680gZ@dk zG2O7+bK@Fh2<~?CpclNWt$Nq5AxA#8T>M&9DTomx^({9!%CMsr?Nq{{hS|k(w)6;9 zUYxXpo4_s=O+}@V@u2Ov5Z+u(lna*gU(ILx0gVsk>w)4Mt zEG%4OBum)z0nkytZ>qTYb6AsGDY$LDO)i@p=xQpMP1EvS+O(ezLc|rSYe;5fy(Y@aXOC zN+?9^JMS z9VQ=su4;OT<6J85a~`_i%^BG8XQ>OT!V?*JE;>IWGjG;T^?GE?&mDxMp8VK2CEO$C zaVCe$+XiblDonz)Vzg3wRoT{;n__&jjypDDZH0ySj3cGrQ~cOV4TlCk8Q%RNo{d+v z>T&*TLZwKIOI)Q@*g{53!ChCZq0iYm?4;MKaNB%E#CtqUE_}-M|6RiEj2=893?__b zUQ(P|g9;Jakx#KE6?O(gd2`!0Gxr85Hf>^~>Nrf-!t>6x8;-C~tWSjWo|kNPJV?E2?U6sGV6=puGdyX5&sH%l@tGtCqPHE88!)Uh1GZdg85!k)ccGqrXi8auJy!{qx`K%Qai2ovM3OL71EkrgNcQM#yxyQY=B7QA|Gd}H)Wvkujm+q=bUsis?Cw3tVLy( zt5>cYU8gA9x2Tt+q1ECe_aO58s7J29+Mbh{aC~rdxHGcCiJv@vYAviYAtC3CXVq$T zU>2#lmA-`t&tpP8y$~w@;*7OUkmVerPt~e47sf})%BvC-fv!iE%VtcSlkGwX8LeMM zj!FDUgr?BXgIYNQiLZ=7ITz<-2`R#k9S3hAVT7|Pkdaq)KHX#b*U`8Wtgvb!ScFvi z1~XV<8hE+%H=`)_jG6YmuGV7{T8 z7NK|Emrz!r^nnvQx1bP}bI>=|U*L`g;a)^EB?d%WTVld>F}*(ZWHZuP24$Ow`ASN3Z-{_0}A?*GwJ6=f6s!=-WLWdiwjF5+?2O8Iq473adM zoc8Pmapsb7-}u$aY|sQG1*)+QvulS85{urxYzSnuNS&3+qqCK$4mPQ&7J5VUIuYt+ zWyO)YIo;HwjNa|NcFhc&pv*P3Xc{{oM9)ddWcYb8H|tcnC7imNnR@i7pw3g&dnWfx zSxiw#%5@k}-Kif1^^uNAqPlJ`-cx#2l++nwW|`YDOmcgNkM(Hp@j4FTnlRpMd7B2xj0YSLw>Z^Qu+Gy3ACJ$8XQaMzyR9)K-f0}WVVXKy# zYFQVwLR}H(2+(#UJV-Jb$o8rx_YcYFeyXk`y%}FABM5nDTJv3*RBt(Tm4dWrsy~Ee z`-XW1shWXh@iA#m$6JkB!Ig@Edn2D-@|{>$D((o~+!uU)ck#u_1COZ{mo~oer>VVK z3LV2L!})o?#o)uW4UEJoBl$Deb0gl_pgjScqRf|U8%ueCvJxRq12 zPX;ZyEBy(ZsW=g9BMHSz(&Xz+hK;A2I`6nk%oBy&KBi4SP;)Q9x5K~@%jiB!SWTB- z9LduWq5r%r@sYKW>s9LStu`j?bcOY%R7!u?ve48;eq?j|x@~*a^~?P?&m|>wK*jl< znhJzo^ky~i`(#1raZ(2lpSbLYstJuFC!AQ`vm?Nx%F9ir8tvUYvcz)42KAWET?dbL4yaXzt$#0HUKH~loz87I$UINUT=LMHtmVf2NI9Y^t zlfM>E3~-hWraT3vBb?BWKWq4iz1)+CT31(RJm$2su(da&SztVHAKK0);G4>97HKXiRK1FZ z*85!oA03CP!yAj(x{CO&WW?+CPJOOq@sI@|1K=v-gBXBt-d~e|)3Q<1RC9c|{8+M= z_TGQKSn`>T+ZG@%Wv9Cs2r>65vN$)wDO^2U7nbZezQ9rY2AZCg7#sGQY>H5cb6X#OYeEj}MV zF07tLgRbcK!)PZ(PF}4DRDG`=nRn2$U|b*td50io^A)f-m!PgYCh^!p&@PTT(0t?DF2Sp zg@(Ds==*^HLdFMwbYl5yUY(96u&0uljEr2x)oz*q6Y~0xz4knejS3 z>3n@!=5P9o0|DWh#co|ABMG2)kOI=(7vZ(__3v*|@+0*fSODA?ZsY#v>lF|PBf&Y! z1@s;lXC=qNt5v^%;peyIr(|Sg1k!(D)fpd$x_NJ^X%9h$CG>HXx0L@F>qZ_g!(=r! z!kM#2UBh=|2M9R>UkQ7%S{{YzdTX3za8*!o&aa0&F(KB7@7z+uQ2z^kd{hr=;AS zoSe+ms3H>(5YTYt(DAtqdWju}`wzIDfF zfaGMI>aO%&LtoGpIQE!Dwr$Q`P7b!W>w9}ckw>sIRYVO+fgS`1w_(qtIP-xlRbKbg zEpZ<6@#ng_bf6B;zPd8Fzn zpDN{+7Da7)K7MS`^9==bLv?a_a20gu7nJ8x*G^3(z*{4^_Hu{Kt^|+sR=A(rv2qSM zA;QPLX=x0DS*jSdz_<=qI9LSR5AL}>7x4)G({oF%EB1~MJ$gawHGax(o+E(^@kN}N z-y|fTs@9?%5VL9M!cL=Qqdu3C`tj7~W+1glJSd_-L5Ho1UGbhUhthd?cqmhBs@xn* zDe3Ae7|E)ROiZ9LAaxR=>6`y<^c(?Ad~VvOTY4o01$bB5LOnEn9`os&WE5YwV@#yz zlJmF`u5TIF4OnBjMESy`xHZ~GUodrqi0po13w{`+30o~^$mlTU`jRE{UIYW zrvW`Mg50XEu3kBT>?)h3@<1wH@Mw56PQ)Yr*RSU)#irLEWhi7R6&m6~K}4npkcEF| zt5>*Aq9D45toKf)nVHRmJ0Gve>0i_b#{J)rGV0IvHeJs7hY2I5Vi^O%5%xw# zMprQ~Ks2W=a)-i}sa6(N?RGM|y4wDU<|#6Ixy&yYz33O1>wB-ulm|eQuUJNt$FAYc z<72#h9gHr6E}7GPGwxbS42)SOg~lIFHe|)7eqV|nIBbm9O-`P_>n@Xc{`_sPGAL-CFbCffjgb1 z2TOmuv(UM6(%AT{E0*tR9KT&YrK-~ULU%&u&Wqd!|c1~Q(ApXy~xB}-=*ewwXKl;r!B z&xQkx0UN(>&L!Txdv^;A3D(EEMs{CgZ%Nk|oKFSAmA^n&Zn)DZuWw?)B;axB4IB4) zdHo+<_CK6n|5Fp0jZXc&{QP<8PGQ5X+32uOmKe|yz}K*~RL||N<9Aoer*;+Sw79>d z|NZ->sIS3CsnoeIiez$GqXE(a1n{7Dr2pGR#vG0J&r{{~KWt_pvAG@5To}~U)K{)t zf&8Y>o}85QcWbMzr3Is4BsQm7PEM}W?SuzzdI;Iz)05@Y1o){I;8AIokN1`VbHZ_) zgbsRSs#g%fyHuYauln!{v)*~%u(Md;&~tm=cBwXgXtcnh77^SL-LPk~NX5^3xrtkA zOojI*T3TB02?!dYTv3;YK;MxEJqOZ31sPmJDbY{x1_`?-$hLW|N7i6-I&SRt(4Bb_ zSXUR$@l_^JtmA?;y>GnSdw-WS>HU!9QKwWtr65Vx`T2#Kj?Uae$G;C}W)$OJFNJtV zD)PCynas_~Z5#Pqs#vmg1S<7cke0Pc*PT}&p{Ykr_%D9a<|(lG^StsVr5Fdva~?9; zKrw<3xH6AY#dVC{C2NE{Zn~!oZa&}Rz1818UXg3-=-BjI zj1^aRocSk?H$RchnE7~=`9yghd}-QZKAiiGcgpp%r|0Dp=4v${ zuLA&bM4@5t6?l)?xw!!yS2wqMJ&@CE+QJV3Puf*}8}hptD#4U;+LM zonN15MrPZ?KYe-x6&L*j&CrRnW8D=&9LoBr2(j|kt7N&%ibOt&8qIlTOr}4puZf|e zC;Jh6zMhlIep5Oj-b54Hxt8u6*7*4O_z_*SN6Ed@%gQ%JYRV}D9Z&z`b-cVJvx|%3 zSt>=tl}=n>faxsi1lNmFfj%~5k;b8+NS&78EieS(QBzApt7bTyOM?KjPomq&{)!be zN2jMd-Qle2Ut#+=>{ec*-ynJP;sxfXEi{+?wGqTAG?6c%UjzkvW_2|nC!F>@^;-MAL7UlTwlSwA}Z72xX3?5y?FstB|rnjU8l zI5;>E%&NtKjPgG|ef{bW*a|>B7%KeXF;V`WY}RmT)nColsPYH81bUM{;6J$EBP0#T z2K*OLVnX0H$yd8NfnTL@sW+J;rjw42j$QZHEveXt@1RX*tNeQfo?Hv=D-af3@PqO3 zaRkXj%iDmg0cvxA9u3|e!@*2a=c;%(E}#P{Wi=yvs}$^fB?N&lPr^<{KMsmF-}M9VxM( zCS+1T8VOu?I(c`OdOr*gD@CxViUFkB`ui7wG^4yum%FPv1!tuPz!}+cdcq6x-OrqV zNX235(%tx!=PP*owkPb`S7@NvT@Ni0P!&-h{i@M)baQn*Tr21XQiB&S zUTDMJrn`HW!)Y7Y6NNACiHnMIz!5+&dV~1@pgQ!-NY5R3agdf=4zi$*C=OIl=xLmJ@6MPkxgFs77(ISBy^>l)kuUko(RfSlhc zWTZgRL4XMk1)6tO_43_X8@;y5RHX9;lFZ0TeM7@C7#|0j*>HReqaf3=QO61~{tA$u8P6|Vp4#`1wC@fA-e=e)2O*QigMHA&x zUc?GG1oPP}u!9>-P={GI=~=Le9k{O>eR26l_35R_g6PL`mca~Jw(quSI8e2S^g!}& zhqpE~paQ!DcFXSl^)aL;5d3ZW;QYx{EeQs)Yw@eE-aeo8pXU^mlm!E2rKM@AiUw5| zXcKrN6qH#T=sz@)l^=6_cv{e08hrg~a;V8%OBfZQcXc6_N);8?w;HE{M~nZw5#7a4 zJS@M1Wd>T9&OBeCopvh~6*8z4bP#(01#O^LH0`!{_ud1g%NT$+0(f5xAVg+O-e~r@D7gezH1R^-!u41FZd7dMTg{2#;oFq|t!PJfbe-Jqp71hyKe>*l{xsW3QfPk$W929G!4BV}P z{rt3GH%%uiqX8R3wd;mhf(53y9&IBT%U>jWR`xI!P%@JS;;^^JTq;+`B6S z0kGjc&?O%Z9$2SvlVe{$&XjF)S=>xWE7hO!vE+QwiXn2L2Yt3s|5r1?M`lRB7Y@bIU)n zG4vh{i-c46T9xyjc6Yo`ASu^J@V8qobdbW2Md8$%{0WocnjvXl=&0}s2}PegxuTf; zNA30`^ioO5$wzR1AmZCKl*g~%<-`+BeJUYU7j-LSON`>1RA0)u{`c?CUS_>4!f@F`2bH28F((x~$3oo;t$MiTqx(B7!6^;

m^GzPV8E+Iaao|bdWBP-Zz0@;NQ0(kdk{1k-!Ido^A{L2|Ni|u{dcBeZK@^#T6IpdQSJw%u8_;pREqAmgitR6M(t0N{eT2H8yj6v ziJw1z{!O#SJrI1vp6J+Qw_pwim?9_(SAc2)B0lv|La3b(bzgS^Eg!d6I9KZP5WhN8 z&i7In3~zao%N7e{5U*6oMq&2EHaipO{TDeJRW{)klc(gHH6ovSdgM(fjxj{e3WHfx zc??YOajpE~1RMl+%lC=VjVPm9=F8HgLwFoB5;Y63&A`4|iO-!&H}e1oVH(EXxeRU0(= z#>S8%GF6J+g^0NGYA#;h8pn8{2wWnXZMkAGZ0--}S~>=)^mJs8B%~MHzM(wBru5n} z4^v4+><`-2)sM>UOhm7LW3-*_pPxu>5Rae%|4AgSxn%?BXx=n5hlxwa66p2eTSB9XQ%sM>iC}>OV^P(V56y_wft;* z2S$T-6%-CT6S_C&nq}Sgj9+|D3H=%$JTv8Eu=0Q`lZE+te(^%iO-e&Sd*;F7Vg`S? zX$+=pm7*}-$)(*|BQ+q?cGt(C#}`o)S3+J42%>cLikr>MIOQE|7Mqbu<+f-RmA&!s zG=WJBrW57f2_BQaB?ppd8`4O2Z?;AZk7%ngx>Fy_)xCyAhaps*k2N))*ss+db&&c` zRR^J$&P_jZZSo)HwvcLwV9A3Af+!sx8=E?CdQc`y;7!OBk*6(c8NYtxqb(G;)^;}D z#r2X36jJ#T{qFdtAFouY=Be@&be zxjI4aeBjQ!I9g!9tJfCZX%k@jxwX*~WfO2>EAY@|D%ECVn{@Z??Tnh36%-xpWOUCq zN!kczaPzEg0mqYu+;YX4SQs}coYNL_pC|q6vn}(NGz3ea&qRtjkXygjU1S zj>RuP^17PZi@%+`pA+7G|3@6TgJvOE0;%nBB&)@I*+SDq6-8bi@6JGiMozcGe@K{z zz-M)50m>IyzjX=x8)?HBwJzV_pOth=O@?6J$VbL7KGo#XSM2yYEZ5f{9=L!zcaq}m zNxWhD1CuSsT3X=7SSuq|JKE3=%2E6}esE_mR%gbNC_CKcn{?vs^ zhmM%)LmRR-S`>gq%sLHYX&|s5sWcFi+-J9tQ$qzKfpKw^{Baw8alF8%4ro4dbdzxm?OUqJM^51{GcGc6n`{7??}B2F)(gSMCQinGR13RBC-_ zKcU;1_iOG)w%t(e0qLi!6s_R%ErxnyaiC+!Hyb|TAmg|=>6T6I{Wf6i#}&g-HR4zP z0V8=}N~FeJgJ=Sarg7&v4*~8IK}=FDrx&0<{HptaVP$Fg7Q{aA$NRtp6aCAmTF{82 z1f4jc+i@Dz66WzA>F5fj-Qu?;X?lBm#PAshnd}X*M<{VrK`Cg#&O$^Y**cr)^4#%U z7;)eruZBGaqc^R)yWQ4a)(5dzB&gcJG_G~@BtA{otP!@iw~y-7M*ui@jHDhWEBSJ&kM9FV3N4lVdImstAUtnT zQ|Cm$6d2GLPhor!VNrcV56s}&c-dzlfO}!44k;}FXau9#66PZqO&Nw-3i3n)FqxsW z;`v$)=o)T&Z(vNr4|;F-RSFSzHK8fsgONlD601T#4WANH_x9J`@&BHJy*gbtcX%|= z^t&LIj_JuY*+xTdGC`sCnMK9O4;UdLhX@+4QXe{I>31+s1VfRY(A^niFu~Xm5NPuN zutYNk@ct1m$WR2}o(z*ANI(bj*{6sIg=rfA7mGmXkq3!2L~|LCaOvOp6lz&oR))e3 zZ9UTAuG5tu(mkZ<@#^Kv8_?ealtSbJQ-=Uy{-N_O1MKnP(Gf}yASd7xA3`q>Ofp;F zAc3Re-)va_oq++J*4f~mpkj8d+k$DE)H!;HUOU6cDrNZYYXVUkZ0x4@AN+1!Z|&7| zJR}qp9LI8HgTNN#qoUg2G*i5`B}1p>go(tmp-2J#&xrl`=@FbMvfl*=C2ncS4vV7Y z=l=@gCDGwHP%!f#;^{&wk5DVK_7-s1m|k4;0icg?cXuBlI{ROG@edzRfwe(77tw+a z<{Ib+AX-zjtNk#YSe^axs&sYlJ86({^kAF+_cIs2V@r14>NvmVdd$==i{zprQH~gn zuP+~}sNf#`mM+_8q(z=iVe5qy77bNICOk9D2?cw5qk%vM!qM8=+Qt}<%~u8eFo-Ic zJR=3DItvXuny|xX`d5hm%mP5@fK&*vRJzH56d+*eapeT;7&E|QLsszh_t%D@PXx3P zX=d9me&B%?{GeR}=l{}X3eTw!7BD8CPhEWG0xj5@^gkoU-E0uBn1w1VkabX}Aw))2 zAP0zpc7vq<3bHPK9k+*n{)~@kW~L?hl$X2pINw|`c1p8igA%RJkh{=$0P`1#-bjsy z2+U`uLTntZbYFIP5fU6s4EmOagCs*7@7{7-o1H54B`3)cph5qlocuUJZyh*s$bydN z67}2Rl}8IP2oNbg0Vi?gQ+#|EY(tsT4n0(?I#9)lHC=H%p=MkmT}2LUpg)4AMd>$E zil${vOiYY=`NJoeMWjVP_z=ldfWW8WH2=l4RVF@Q0~?*2jKz@q+dxw9vP@qed$W4W zd_k{L=@**gonEyQEnK6}(C;6;wS0pfb41r2{vEn|SwiB4!XSfy$dLr?0f=64$XOxi zcJXiBLME}?{QTM9(jsVYYdujQ_<%F(5~p^124T(TddO~WZf?8OgW?HJ1{5SU1U`l) z7`dgo|D!|n0E>uuy51YhsW=PtDQIK!i!|L@ANKIO&K9%_;x-lxeV zGP706yo1r((D3l^tXC!G7QN+m?G!CiQS3K)OXQGkDiaLs^0Tt?4c(>`alb(vi3csI zkg5|j)fX+3apG^@6yZ=@O!_(DJ$odJd+WjCbmr&TFA z>7-rqjAVQU3o>#y=lea=_yTA@ceL5EIUJrnj;(x$>E~D7ZNQ=!X|q4F$cGWRD!hKS zwmv`qE;15ha*{Cp4bvwWssiZTrLA)lCqaDR=a<%w4(9c_%W+XbP6+Qu;JSkfs0(BS z)TPM4z#A|M=(v)e>KhnH$IgC>A&poWyhA{G%tCjntE=0SB1x=}t>zb}UKe=)Y$+}U zMW9L+JsVp{Zo#_`|K$aMY<8X;x1#Adg9er9sjV&dP>yDe$w|E|5%4}_4~$>Wo(w;* z_&77JY#rS6$>o^tW84P^__irvtud;eGaSXmlyKSV^1pxN7g-BMCA*|I(gt>+QF3W0YHDDJP&Ga^V_Yh;QS7Pl zIMCiKa@eHOaCf=|0IjaQeYKba7?tp)r77SZn#RUr944c`#l{G`k&TQf0}~uMq)Gi0 zhOs^0<3>Ou_9=WnSvmmgh0d53n7l@R1cc@bJGU?B*fK#BepR18 zhkZ&z1k}|Igf^7&*wZz~jI{A#O`95s57xdD4f|374x0Con(lkSt(XLX{nilUD{%XJm%^ddYy(!6rkp1=>b9lses7H z$fW1s#IwJ{UmugN>&0b3lkmGMlHi3V>6=i2u#wWJOT&`s?FufSq2Z1fuIfMFbK3SA zppR~Pu^I#q#C-~=jDF1Tu|`8kZDb}V$J zOwj^J-FSvaBx`J3^c8rQJQ!m`CRRC3i#(;C(NVm7L);Ve8@Hzh2yp}iDEf`p5CXLt zDfJW0=s^KkB6}O1I_;4N>FW@oL1 zMi(vRcA8cz{jGNvLD(KHGQsE;R%I7jk2Z*(2TkzqPmDgpLfApXO)5dptSoHoi_9UX zjk5T=Qm)W*P08eFxK$tCc~2=&%mwgc(ou&FS>yxQ?xZQ^oPW3}eQnD(G>EpT2C2P& z`QrT|>&Mx52@3Px_fcsKP9G~CDYX)U{RirW6|ud&-D7O$dN^}ISQZ%)f&;s#H`}-c9M$;BI24Ru zt*tc7YZCKOy;0o@o#doEriW&muz!bhA#*p#_sL|~DVbSW<6+nj^(|*KSTW}hw{-e* zroJ_HvwGb+kk3#^bUijIg$w^_zR6gL%+TOtiw3}-@u&8Tb zP@vVo56>wEl6vO3;K^D+NgUCS-^)=Pb2T77i1S5+h1G+Uu{2Up@E!N8+-d7ZYTGYYtD1X!l8SWt14&f79I-%+BwhdgcTe? zm;{5r34&7XR$E%TdGkFks_!gb;tDFge4GHsr3oWyK3BMoAL0dnk>w_JFg?%y z%7>fq2QC_?4o?(Q;5Cj;Z(Ms4!C>&@|8x$tvHZ7lprnmitL&52yF>w>zO?}Thpw}a z=8wKC@7PfX-=${CPz@K*4~Q;}v1*(Mq#cUNprEccdH9p`{t8>pMNUh%XRW6j-jv22b=ugt51aT?;kR&G@b9_cBM{}`9(mTYl&$5xHyI^t};`r+nc zaiBi!b>-`>b}LNq2;JR7?yPpypATL&!>i0{OjY+$E^)^-EAmm7^=a(|QH|sMySwy4 zQan;GP5D9>ggYgEy_imZN^Qlz$9-0_Ed9tE@!suy`<(@A3+p9au?LjiSObo5PlX zn41V@jko*jSjEsuRcHJJLW_Y-3%{CPJ2%Bj;hm&DgD*?f=>p<8)GXVkk~$H1WVpx? znNy-;4#$(Xa55;Cu>LuBlGH+Vds9-ZBx1zhnQm%13n!uYvEA4=9;x!uzfC0BPKl4^ zc!q*{d}WB9vE{1xJDhLsd@=B=AZ_6yPe`1t^nb0X6z8yC`C;-qTkoc5#-Ln@w)%=f zrevB0!|$<|2F9!D2nv6Z#tq4eFU3PP**kqDY`CQlZ$H6&sdVSv2YDBbR0)>U@hS%dCpjC6*;AwypPk!RW#KtFw>dXR z4n{wl80Gy$%eGP5id~e5d0>{Q{cqg-LUqH*OYg*c9U&;c6Mcu4;Z1Bt?$6cxvjwy1 zE89c*vg*9HdIoD!pc9rFm9`%3?wD5O1__<*_w-k!zY)oh&RlrXj5fcBYK5^>oJhX- zF+TadI$B0?Lk+oRH2RzGHwyhI;2onVi`c6Hk@sjk@- znmRa&S9qg>!tQ)vxNycJy}bBw20elLB9@xBAg3LfsS(tZe_vz90Yaf?_H^ zO7F%9-&F*85VrD>@>)%C!r9P%K~g&=`VjSLNc_L?NWsbtBd@z00--S&=5&ZuIcbiIgCj&G`8KPvh5nXK4YgIV)k0ek6Z4@PinM}9SU9g- z_=%V>ek*TPHRC>I6f-@9l)s=3)dQyfKf~=UzbIl_RqHGW)m-j}ZL+y({wY6>-{TY5 zWv+;y@-9i{MZ|QS?)0KdV@Qv$kE1+HaHsOb!Et^5MBz%v|IyxChh@2a{k{((A{Z=1 zQer6}-64&EAR$P1cT0B|sI+v0G)Q-+bofX&h%`ud@A2r`@9%y0{++YW+1EMOb^bW( zzXkX__dV}<&oSm0pYL}nxcMIjZ>81*CpU9iZwTKm#vQ$A@(|%9!gyp6G^X6DX1p>P zHsY^Lr4mifMLx?Xl8h;;mr{6dII7DrvW{NCO+q&U@tyJW-Do{FG17Q(f(s^u+wp3~ z#o>Q%TC67Aj!;vI+qT}O?d81t%^dOBM+x^qd5nL`H`EdrzAP@JbrRkDOE}x?$^hvj zq^bbct83cgOJTYjT1#(-$iElaNDwQS>T`}+@3ks?OG}hfWOSuJWaOZ`5y&e#Wq$qu z0ZRwf)5ONIopBZwNsJVtBn;NF+@Xkrr_&j(J?ohYX|5L3a#A*I^OT6hl8bjRIH&=h zEhC>@T)}K;WxwmEUY^;1-&8SEOgVt1YWSDOxDnG099JBKL5%v0`v)!(ag1v0OnJH~ zi#;Yf`8i@+9um*PGWW`{s-o%*ONWEWo=@+ewzDtXioGRKM@#-l>8Wp4=;l|4HW^)6T^!2fxO{TimUid%VjmK(a(&40$Lh~){`Ha04mY*#iiG85{q7iQV9S!qX6CvqY z^<$nDrvV+=_SA8Yq+0ud`_plr%sP`mHm{Nlmz|d@Mypse&;M3E zEYV&;%K7<+gg2*t5-Zua=vfg`EZ&q2p?il?D~9C@O+mztLi6Wk~{`EiuGULG5pOjj*F%p%p?ZH!ke>-h!_X08Ku z!v(&0%J*I#oqDVuge$+m$5naHfQU1X3!7c+N2WYn4ws2=uJ4(J6%7J6(YTwr&xTr8 zO2qcj%hP*RSL`sbMI-_#Nzm4(*{4lSx@DEXyn_#w$Z3B1NWo-JR1K>BYw- z-5+=rb*fnpC2C5$X!7!w2KGOdnw?+r?$Fhp2udUO?u*@}G^CQ9Oyj-w6~CyWU-xD+ zsdj4;5h_r;wZ^OrbIuw`75`oR=dW6KR+$Y-JS2=){m`iYH^=?3G*$_i(NXPk!FH!# zC@Ndk?Mz9}R(8=}`fhl>I1LZNahFVB4O&VyPCu1@8GHK|uB1Um=K--|p{eUY`g^k* z2tnS%TZVo_wPMI@KFt=3yt|Jj-mpYnx7*%$hm8jzGW}QL6G)n1mEM}FJNU?tr}C>L zXP{<$*o=Q+D=OrZ|A`I>gz?bO#IKN&gex>)o5^?j_L|R0juCxJjh}hmbW4zb^WMgq zD-O+bMc!lk%bz74J(f8+on8!0hzxAe)q&BQSg4wT1OT^#I_H>?Bnd5y5~eQ);C z(Sln#d6blthg8<=iw?0yt6*{uztgCLaem0Q?kPM8^TtKMbWK}V`ZGWi5RR$Z1wK+q zGwL)uQataJ(p~zNq_{Xp$61^hm&>4V+N8%^u+mJ23Y@qHQgf5;8+2G+p#iu%Ul*p$ zo|mV|tws%c;MbP#8XgtS=Lpr3rL;Vk^0=v58sQy}ubW?*0c)V9#UUM}J8V0flBfXL z*)9w#Zq3jkCxUK7;bnSrKmf5s_Z}g>qpJE`9sJA9z!^J@>2P)vqs-!*o2KEa&g*sd z$8vC{mAR{=res*2n0tCUGfQ5ycFL6;n!I)MpcOj11C{<3f{I7AcuW%R z0*kx~3rae}JJn8o8)EV&@==V2Pbi+qWDkrOo4@+b^9i29-mg`vz;a((yo8%>F;?F^ zzd{IOg#a-?S6X!44qo}$3ICvM0kuQf>QY5g32T+fy{^*6B-SHt5)R0!G4 z>i+-%u`{FsK^N{zirml^87Ja6FbRD74bAhR=kd^T7i1T`-PI~8@9fkB-neW+{4>$2 z6;Lh37mcUTK(8t)ztA+;#niUWXnE&&oqB|tQ1q_osrnh=kTId_$%ewYbiHbtA^cX} zKFe1mty1stY3N|$+(D$rV&&(>%yn5(>Udmu%2DK8iKWu{wfV?jpKU+CHbU3TIl14a zC1_dN@H#P@oRzt4(`{{W%VGDybeyzbC!_MDMX7==dr9w0$e*z>!%D3E5M zugdwm;K|>4WqJH6XJR*T_$6`kA3SO_jPb@26%&RyEh_CMjE=m*y+Q(m3Tx!oU9NtW zA?MLazTaDlzk*1@=cVvw{`3m3ZXv=u{zD%-f%BiXKK~(=o&T3q*5+R(HI@JJzM1%! z_l@Obztq7OqAx|hPyclLwmug7GoRsqDzZ-f^YzIS|7ukJuRrd;ZVmrjbC}ve3638P zd20~4w7h)SAS)&&CRh^^ahl$F5yNrR=6Ni3l(z%CFgR4@xp>t} zRqa+E7F^7Usebs7Qdme^OxP?`ZiKvNIn~W%eRB6<5w{(U>K~h-uoy~)AQrF=MW7hg z3TQhdy6+RAxH~B3K_6?Y^{&-lBqY}#DJtTFPvIOCq$(;ZzJq~O_W6~YB+sGjA5N=- zD$YXN35soUKpO%ZleLQh{S?fmrY01Z=i9vB)t5HFZF4zg%Bw>c4R1s~_l?C3A^Ea0 z!aVhR8{ItHGCK0vn?lxav<#8y^Pmo$Rq&CelT>W=cdis(gXX%-&t5{*_>dS7!? ziYx4vWed+XMvFfHE3*S&Q-6WZQDQ-o+%XP$X>Fvm;ur>x3CcM=~DxA@qw9txgrlVNvrNcF+cUj%Syt2q7^dEz%i>J_F5I(J4ItL3#x2+Ze)Bu5c6#aXa z95o0qn}G|hblIb;Ki&50JBR-PM^{z6!IP7d=`!UDsKGu<_XnTMPf!z`HmCCEA1i6W{I@B(xA(Q7pIhkU@_x}($!rbtN&BSuzL=pa_HLY4#X{x zYvAztuDe?je0QCJ8-2J1kjB{$^1zJk*JDd#N3WpmORLldajE0Y5V_b&M|8PqwPj5$v zMgj1RfFk#!G+C%sIe?>Z&aW;TP-&;-f{CAsib|Y-tD=}2&?{o%;&f$JLPA0S-->{$ zGF%TZNZ_z$*I&;srpRVJPP-J29WL(8^N>K#6k8Lw{?Vdb^r6qjrviN*;sz%HA`Js_ z4m|qDtUe+C+&D~!tHtHznAo=?076XaUxr$GB3QD`!;}Ma#JgT|bNZ*Jr^et?wo!XP zhWkJgq_%<5f=8G6_^NeJ)~D-*0AOncaueq1Ej+vyfDC+Kx{Se;z5-fg&`swsJ7jx- z4vB&I2KaCI6PXZ($|0^TuMQ`b^#^kpF%dt)h}yB~ZEH=Ik`$g!ZgF>#`@PU5*T@Pj zA)3!-mzRB@-3ic36F3~A-VOk-zh^5k1NDM(p9J9q7Cd*1A3_&LI6xB{o*r(25;_>B zjWVO0TQ-z@QDi;Po?pR>xgEUYo;x{J43?CD2oUOk=l6%l{x7tbWM82g-dDGTo*B^Q z5kCHSLbE=?%2Ztw2mZ#JnxdFgG1bPtfZcW z9`4F2!OTxBj1kNi;-hPIsdS2Vi!B7z(-|Ls-$iD~E&Q$gVr2$n3kxijl8^4_S3Yg5 z_V#d(AJK@fyZEL!)&~a3XdMYUR2sTE}j$% z%fyYG0)+-Qr-*}$ul}1pTX1;zGfho0=%{~{k2;ThDHY?2?sOh$ z51&Kx)D#(DN>I!PgIS#8Td2#r*IWg0!xu)MggktOeGQ{@@E+NQ7P#y-L zN6%5OyzK>^h464a=4(`QTcLvnI>&9$R3`&7S?$OS^!F@;jFFKMz*HJRlb(CLx4HQl zKog))uQ(ngOSG1Ok!xIB+<5CAl%Bx}R#rq>#pNv~&I1Mpe`uM7uT+IeL{?PTQaiT= z=~X)1=*H&=cQ44*N;K8ck;lfalD_rF=W|=?b_5%+9i8C1h}MooE|yPwQ1J7U0P_!l zO8FNjtT!lyjW$G^bgF&D8L4c@Ft%-N}Cq z?CK>_|J#9Gn+WX1sg@#wy#OD!S)bqmpG4R3cfh2mYM?Z{U|fE2g!E(~ybc4VT#9r3 zy1byPlM@6kJ^Qn-&AMDWUk|qq$&WB3JOp_}DDYEYr+=%!OT@2J*7x&w$t6W~*knl3&-%OEE9YDUc$ zc923w!2SS42ctf}aPJC4(#(c*Q#^CC z!=$3pmRIxG&PLyYgRoOny)S%lPuX0#7^x*`2KjCsi0Txv8FqJ3nF=|s``!*}{hdcn zi2JT@yp4+^K`9>q)-ai3MXk?lF)S(!kXIQ` z(!bPuak9>Ene^50kUvX``Y$kg!#E6BaZJ?}7pL|4mp^S87=z8oI3`96u2yFd?76I zIKtQv@>@ld=Vd$^4)uxM6+9B_s1WEULiml!zdA=A=nNUN{Ik1gzPKX>!!zx-F7b2Y z*?~ciF$X@6LwQxyc)TOn`)Y&I4U*nzIrW7@Cj-s`NOUp$h}6f*T2E?ewK+mIXXLLB z=OyLNd8=l(TsM}J+gP6Zy<-2IxzEWE6qS?1Fu!xOv)GlR1ynAbeC8uNyAqq6SIzUV zDx|G42$6@2-=M?G9L(e(W^fT`4O?}35%=y}2HRFBbuh&4V|t}_KI=E9slp84V(`LX zU-I{-C!dDiiV*z>JR+EWC+U2B5A9e`XwI^&dBQt`vK#@R8x(&KkbgkS4yeD3k$uq5 zG)_;~FBwKy;uWY@zIm3?7!vBoN^wKa23z}{`x)Me_cQcNgsmpi@rd$(kI#}? z2~EGz9|g#KETrb2VDG^KP&oLV`1cymfjhzjDyp>ZV{#U41So#tRzpKVo&c5J$1i;!Tf^ef0Uo5Gqe8IzEjoGyly{R3E3oO%&Av|yB5)u)ND zN>KTE4o_6ld-bh-m5tf|J!ami@8@r&DrR?C6kU4x|48svmd#K4Tc-E_-QX*{y}F$Q z8K`{DlIG8SNWtE{Xy;EG1KK{vg|5pk;w%A2RRy&#t7{OF;E1!61GT+n zIPn7Bd1t`mK-J<;CJ+OzCO_BK&Vmv+|4;YS(Bb^&HKoStvH+8yH$$H5Up&^vI6*CK z1~P_b*jk{>G!WpGkO9KLgZXn1Mb5m%5!8k+EVl?vOhm$tMWxI<+9n4aO<>#dn1>v; zM37U!UOWS&90>JVmvErvf;Kl;Hsn7(^%*ga~rw(lSy6?PJV>wX7?Z zq+0EW`MfUjAV*8)$FPK)R9M;mOu-yTN zYdAt7T482%8Ya>NRPO$g7&X9?5Lapm0`f9_z=7U z3X~a88eEjUR!odIh^8yx#tK>CXqrt>mPXK=!}bXcOler5kkSC2EU;Y00pIes((^Wh(^7KQ`%h zSSP%kjZxBdy~24N@BXAA4n7GA6P`Y4&lR!5A2j~K*ePwz#gl-)c=Y%TRc7#w69V87 z2w=!5egfnMd^2FHI>3}emj4)sG=v5x?Nfm|GgvVot> zZlGKf$^jn+2;|`fyb1B~FU-vuHiyFs0H|TJn&L-Dfh|1DW-zyI*}rQS=>pC%B#>aV zK?1ZqlpAYP0}%<%u4w$S1`h)27Yu!(;^qwRk@b(#6!nUf3+C?jIxD2M##|kcVnQfy z@1-(ar8by1Ehv2&MEs%s`A>KzHecU6`pbmjNR`py-=H~k-Tzs%io;Ee+9L4hQ0mZn zH-WI0Ds5z^va+%Uyhe;mRY7jW?YhqZ0?Sq~h4Q*MslPzUo0^-OU+pZsfQ(AH)D#cg z#2|?bj))L}|9o_L;2%J>ftgJlHrZbxceJw40jO8}&20h#BL#V!0&sWA4*m-&d2oLj zr!}xkFSDA~OhqGj_0i)d*|>kwAjhsd%%!=EqnP`ll@^#~oakF_ z?$_~L4k#=pA9TNW^Y_XQU{vC=2zfVuZ|j_W{j&3Nd!HJa9Sv$pa{4INB#Z4W*GLBj z_rH!{G5vg2%yJ6L(bAp^OiQal&JsQ0Mj&rJEEk71HepQ5-VUh z*j9z1#q++u>ZObk4VFRXZHeY`=z+85Hiq z0WS#D$u95a9Z-3cRhO2QuEPJEM^$QL%gn488U|dElk6rv!Jq&7iHnKjm9S0B=s8t|)t z^c@$3WFUJ65fl`g(0?o}q~~Dc%Sk?Ysch#-eROmruI{K87^I|#POs0ZRuI*gW?@z{ z9eYWH0*hR#<<%PTn7C$UscN?u7w2By8KeVY8T2eC)z=Lu=Y9U>d(W>~@K^Idu1VaB zPR~y>zoY3r>SqU3`i06+^!lujt=KY@f2sjuL=d2Ygp{rg;87y*Dfv@|MCl^4Q}sZP z4bDS#!dvoR z$D{HqHyMb3_=M*A{>@A(m%wz$$8vHaxu4ME+HecS&HU7%reG)s=2#fsSbRTk;MGxr zT3EXP(1nf3!NEZWOm7t7U9bNkrB)}{|_HTgH-|YBnGvFw1Y$0;6ex_=uaEN3P5Yz50XcNv;q(?qKdSe z@F^&LDP*CjQ%@idOoiRE;vPK}nCH{N(L_N~8FJu^`ya)kyVVK}prynQxFR9N)auXS z-$Co;y}P&ia(wxD3_HP%&zHKLE0^^2WT+n`TlFRn6#ASPjTe%{$d{+7p<~{E?<6y- zkU|o~A7USw{kz7t4jb@sNJFV%(|u@`aRS>h^=J`=+u#ku3UV!7s20HhfN_U2Bq3;E z^2eZB@)4lqZMbr6@Ua0tdkHl0FF$>Px^r)>tK)qN3J~LbQJB7Y^Cox<*@A-^I4^xB zxp3_T;uRN){4!jjmop(g!a{EVItWw%hjJoHVhc6W4u#zZgtTpc?H< z$>7ivtMhT}MPMUBgu*-Y>i`$mZ@gKRap@vPTpvx|MZlD{g4r?MJyhybWZ>WVZ}j&L z=&y|0{yqfBK*XR>SsyF$gS^h`(_Fqup{qnhL^Y?|U0`m8vJn~Hw{8oxPSW6;=wV(|9=`NUyDfD!{ zg|SCM6-48U*&Av}ZCAd|W#x&36OT1#^NvWScF=lsnArfUe zrxjJh8%>+gYB@n3|1Knb?E6Hk1IclrGWLE-rANF*f4a;;7xUKl)ed&T_J^@(-@nL@ zEZgaikKWq(Ra}z5i#Pp60g}khI)@ZCa?)5-xvMToM=_bsFR&?HMIm{a52GPiTz_Wk*KUg z-*0{p6)3e0VhV&4eB}j=me>!^`wk37YY)j;ou~EP2oC%9yUK8QQIT-6dRzZs4ISBqQ??IP zU8_IY+PodK%4VImt>?$GgruKwKJ^Cf4uHqmj&|xSmhwv$LnX8!sW2pj^+x=_=QW?> zy1F&FJDE<(fd{yj2|K_=opw%UJ-i24u2MZJzM;cJqoa+TQnk#PCJeJgV|Nu%wi)@O?;pTX2S!l z_F=H?XoU*@c5f>UGeIz7G>Wk zcYZb|Z=2N$J?a_LRqRKLd-0=0)x|$_Ug{+Mum;j&q~8kXMQ!XQ3@nKRR-9Z_wYh7S zq(QuK;sOTt-P1jZ>`%XaRxpb`-jNqPTt+9cyIC<-74j)ud(gpS#7%^Q46Q+KH9>c{ zMdR7e!r?L7KMY&c#fcjrUgDL~fbS`I_LC*H&MAfxRoT)2F!1xU?caL=@+d&_G9%Vc z;A&cd`BAJ^L4l?~wO)JFd6(8{#PvG>uUv7XUO}NaM9xG2E#y z?%LnkJAzVzl=@UZ^k zj5I|6Ju&rV&GlrOLV!8`3zGuRRwq^-D5D}*>g8WqPP@*ca_n$n z_ai?!`&b;nu4JjM)3|XBakxDfDPF|3wq-Kmw(~&r3R&auXe7f^{FD?C0-wRbq3}el z(`X9xpqHarY$zIU>+vd11+iu$L&+mTf7sd%pFB7#u z08z+fO9fT3vTT-csW+wg6cn=TeK`jB7%sKutk?iKC+=obh8 zB19`UfEPqm#5qUXE-xaM6tagWJviYxuq4f2W~z1Y0q{g7&`MBk6GKQYu>(L}j60Hy z)%>Syw!q1Nx_!*e}iQtULGRJQJ`R*k2<*?ZVjv z6tl)kxup0Ek|TVt!zS+R*B2zpyuc2r93v|&^e+c`loo(I)bnyswaTlvj_)pvcKd$(_KhvIB0((8Kb8M%$=eZYh2xbv6=*1S zFZcZ9z(hw4iRacqGG)wdPe0Vs-x#_aB#k2R>~>e5pY}MF#ZSNQ&}|xRjqXSawI1N< zD^pdQ!f{Vr=d4aq#CxZ~O`8215u`I7p2*;lQzLL=JwF;lQW{dLwj8T}w=Mb7=Zhi- zkBMD#1*|aZ0{~T{i1B|phF|`3sHwnvz$X7$ig-ZOqzBi_Pj`f=pUs-CcCOb|k4`#1 zd`f)t9x_VQT!i5${d9c)KVg3cbQ&{vGRp?XWIK{Vwgb@|w5D!&L$^k`j@RIlLSsl>(?CDP85M?`)rh(aJd45 zh04y?re;%c{F~KNt3JK#LIagW19_WFVIZg&)@tt1JdbnG8gm~%f0!_OwLy+EAsNUN z1d6&52`5IwpdV<|+TeznKPqZyd;jS2teXGg(vK9Ff{G$psCWkFz9zvVXc}w;=H~Bq zfvbnB7w1MR?BT)Qz*GXWvPUZ+?dwl1}n$bOT&@g?n<^<@85oFTv4_*=iuVlGEF|6 z05B5@zPmfH*8JF5K&G?DX4cmTN)^X1RaR!OG3Ic4r_dqlnCc!q*0|{9&orgSGY9-|%B;mGsQU z7entDCtfEy3-pOgVW~N<<}$gxJ*ms$#*+swAk=WXoY5eR`oCSm@R6J0C*zo9a(*9)FoS&yP2VKCnO7>7lRQ&UPWNZkKXR*0=->%>! zdrMzSKj$xPe=aR1pta}>0QwK}F%^JSDOP0fyewMQrjm(zGGeO`QiW{cvk_mbI1JDmXx3o2p@lR`Q+YU828i0}mjembiE~E3I?u*QvR` zVG3KaEzb@cm+9RH-jY9sq)$Hp^9J({gB=G+37jv?BJrLu)ZBkZbFuC$t~_H`pt@el z4S^wB2v$fhp$u=0)0^Sq&oYSPz23~t289Vd?|Cs_>%MUdbR6-8d|7ZXgw%Qb%cT48 zabah2uwWN$tO%xQ%y6WTJr+P5a&9RJ3huHxxAFr*7ria__{OsW=>l10Eyed6#K6=u z0FmApD^!!k@A_5zMhBZdns!lC1xQoeYz6yqB&n%|7Rjfjb7lJ>kRj^0WeS=UP>Z8T z@cOfA(=`Zy2n_mSDg)|5SZNhW)MOr<5v&k@$5RVngs*(RP9m>$rud;PZ7N`%;vccQ0piuZa zlR5%ZZ%_@3J5s(%4e23kiT#r%aYhqc07eEpVQ-p7Xg{; z>p%}uw5STl`+>!zCfm-qc~cd>|3Hylvv@lBrHdd_xP*`S5+o7l&yUb^Rl7XL&j`2DtO%A0yzZ~Cxj3BJv?2^mGy{-e6-5w46> zI{3dgGB_Vx#g)0@CsPMLPE-wx-^*3ac6)q!JTVM;G;pvF7Ul_EhSy)%N3L*>a`z_N zT;mcb_ldk)lcQb@JZ=-;d)!~R{wVFzjdZo3%3@_P#?d?aglS5&YQ z`(a>?u~zWh!w~Z4*HP(zwcj*rPA?0-y{f$7nc)&Uq)9|HQDce~zcz9xik(i{%CpvF zV&(D^s^oq%CVxGdczB?0$Go1euD5oz5ky?6 zhP)W#%b$ODB3N^q({M9t!f7l(rO^4=gL-ZrF`L#IqhCWvbc7dD_u$vWg6+;8W_5Q{}%QJoi;*fy>>jal!vVcQkh*>OSKi*;W{ee&m-cDY7_C`%iiYr-scAeXxW&P@C z+xgj=C$c7dr)Xi4bGcF)N#gj!ns2i78UnG;(Rc}gxD!F8gFrme!NNx%J{MeupTAW0 z9I^Ek};q;r#nQeuIHP&@lY@C~Y(Z0(%wda`Rftt4aG|gT^-) z&WAG}`r*KD(m)OC7QAI(7l9zX$XYZpHSL6M8B}9;oCB&P?keSV`%)*gm!(O_X%;^) zVaizf@wRU{O3!9wxIO{BZZ}PU7cQXXp0cVB_|q=737uO%kWM(&5^RIIb|U%t<_Bju zwA67{-*dvRKRs>hHKxrgJ-N<+0F(2j!bfS2Q)1N@2je-;KN@q6Hx}m)t!Ml4&hjp* znAG-77m%J@FJ8QGHMjIC`~2k#9fe3-2pW1|&MwWPyAR+C0sb-qi#e47?Z+Uj)?Bt0 zRH&@vxp4j2JRo@Sr1Qp&(Xo*z8$G?w8v$aSVhSf=ybjNY_t*MoW<i3O&df%Gv_I)61Oi8ojTIhqdZFLwr zU5p>LK>iXa<-hjDWyoz$i`0yf%?bk-?6vJfxZLgd4L54&t04hIvRO`xGz4=2=cS|% zY|u!Va2U53g%c-G?Ct#KR~%&WGd~-E9v0tRV`>MKL{>>D@~&mYJ*41?dB|LhS)Lf6 zrtDB>g|6g19KpjMH@iAkR#w=+2_t@Cq{7X)3|YaP)|$={-bMS6Bi%h{eVKjroP_OY zf46G6ZCSw9(B-^GE2G9;t#jUHMNWJXldS!&AAzS}J-k}j9U%pZsZ~|H!|Jv#9!SMS z6@TNU2U=%z<`C>a`=I@zZa=6X7BV(AhN?413%EL<%z5I!J%pwgYRJJaz#(J~bsJ{+ zwGmKoU3iBp)ehL9?a_Q>23X0#F$G#+>5~9XqUAO9d3lzRwsl;NmN!kN1;@**tekT- zGNha@Mvb?_sFs1Y=h0)_e^@=O5@Q4skT zLvFW8Mtnr56fdpNac__fQsCg%D{}y?h)!KEM&W?mS03A;iE!qMPKIr+dL>)^QI8cH zoSzag91|1M2k$4iuCc<25Zz#c4x8hj1Uy^Kxa@9+oALKel%`x~yxq1^diKO*SH270 zSbeC!W`99(W0fm)oM-xZNLZ|p`umr3;USbg3JNAR-WZ6_FK#j9eusl+*=*+8`2pSF ztI<3crgVc2r2}nb7vC>|BW0L1KzGN&_?kr~vIBG-2lSFNxP}(Pc{>yC2a}b@E7`V< z7zC%iM={e*Df5=vjK!Rha+Xq6*U4j;JuWcC^z^1q+dSL%InDacz0mvf+)p^DP3leh zGu&Je2vuBHWz{5TX>&uD8nsr$fn!hk{2us$7(r`>@AMaRoov59#!Lg0iZ4FHYP!xD z9+9Jy1z6w1IrWB9E~~kyxykdZ;HymsRir-5*~+D4zwIuq^X-02bK~b(15C8xAr5P@ zU%rS})(HmO9bRmxuV*5?$;)k}?x`^qXJfUZ*YgmA~kE_;2Q83eHs%R%MSj# z{KrcvP)|510wc@`xGCo!uQAz-zkePW7?=wdCF_U>UkyMN1i(4@iO1Qh)?#K#py^Q! zG&~HTQ_P1moa@@TQ5$RX^l8k)3#L8#h{d;Q68)R4cbyk!J`}B|-z{1n>c|q874NHA zdpiL3$!qxxVrPPbi91#|5nlIE7Y`gYz^Cs>HTiycp|gQ^4j6QBLj(1jhT~*7Ks5Su z?ZILpKn|doY93&!i-9t@PQuLsqSA7&udtidm($rs3f+>mNPQO$E_A;bI<1~6*xJ0 z)@u(!C?)Dg*!Nbs(sp~d9K-<2s1n#$K0ckw4WX7kH_5Bn4iVrGcr^ZVTKRLIx{glJ zDyQ*FalJOfME3&=tPt6d?fo?sfqkpug^kwqt;qwm!0^ytN*eJ8D=QAZcrXngI%1{V zm#WzxJI#mr_UrU$bo=~-T+_tFxII=VI)w7b*jjmvdRb8;-hetWPUqpo%gWbih|H@> z$|JL|K#e)BgoSR@@j=5r{(YWCv8TN~Z@F3I3gw{KK5ckkie8(%{c?y_5J@!J!Bp%@ zOpL}<3=zU>s0$B&zXDcwRQs5=)GRVz(@`VgE*quaB2qeN`kZUho zFup?;^yqGBwldG$C(X*)Kt3=PP8Sct{3HxNkKO&CYcN*gYTH3Y04&lOy}Bdys+Jn39Rl=;{^0-vrK&S2xyXA_ik*l?|;blc8(pZ+1|Rcy151 zkZ-7fF^{c84mjFT!5_FfJo1{BqpM!%(u7P+iQV(O7_!_iyEKSgarm`}KQ|Tnm5LtL zmpp$Sw?xywe@zm;KFJ0&qZPC$T`F~M_GzM{k1f`ch}h;TNSw5h;z5@X1xhxNEc-62 zLl)ijr(G#LM{~3N)d%-z!^OkNXvJiiBB28t!=QdB%T%*T(t8Q9sr5J9guwAqz6}J6 zRO!U0^a7nsU<}3!_lo3Mbj$5af$^~arK6Ky?sl}YyYBuxt?lrw%Yk6(D~UnaEa1QK zR!pMlYH&zvFGfS$iT^jRdx=Yb#&m4bQ|Zp64`gxYXZ2teWb|tvc{rG#(5-bo|IqQo z84WSUixZftPo9jzwt?SnRa9S{DkcVT^k8I zjaXm(g%`H;WkiFKju>I?Si|c!{q+gY9&m|rban$;0S18CsKLvF2)qv=BYaEQQF|Z- zZRyClF*EA9U&Zyoa?+%bDxV86Zn(|{ltLW81_$mHeO9J6g&(U4r)0Y(t1!Nn!bzva~BD$O%LaGiK}Mz)Ck+o38P9})ml zj>nJSVjA*iL0oFhNPq^@l=7e2j2h_CZ=XTf;cI*n3+KBLML*n_X47uyjpnv~5~2@y zUggYt&+dlTq6R-2Qf#(b>|swK(d7ymY47&pmoH!Bm6TBPU!~Mk;do!*KFnLjHrL&y zy2ZNd@IvbL3s{JNr<1JG!Nbba?fMrXB(ECKqFH9f;%vW_3-&v^>@F4d$G5_{SLNdi zmk~cMY`wh|*Yc{*d4MgGba!_LGxx-3_Khwd>YHLAZmVjG3;W~Lg6=S)#&GHUT1 zRH@iZyG~@Ip4Ns2e^x0$nA=oke;2kt%tlAsgW+Tbn5Cs34BJ1=!n-O!FMy3`&=mW9 m1qNb-sO|axPO!+ixXkd$OjrDRsU}2dgxE7F;k+l>Z~hz6SGPw1 literal 0 HcmV?d00001