From d015703b89bb16aa83b91d6c9327bca062bb0108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Ortega=20Froysa?= Date: Fri, 5 May 2023 15:41:32 +0200 Subject: [PATCH] TFC: finish part on DNS resolver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicolás Ortega Froysa --- TFC/tfc-naortega.pdf | Bin 98124 -> 99105 bytes TFC/tfc-naortega.tex | 15 +++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/TFC/tfc-naortega.pdf b/TFC/tfc-naortega.pdf index 9ead31cb2fc7141da5272b4363367e3a0fa52659..954d346b150b0df7e2f8cf42a69a78c6e4694dcf 100644 GIT binary patch delta 24749 zcmY(qQ*@wBw6)twC+XO>ZQHhOCmq{woQ`eVNyq5ewr$(a`Sw4~#ol*yS7XdM*QjUJ zs+#x$&ku$8Tc!rE@bg1EyEvH{*+P4)*{Zh1Y%s!J-lKg4%tjQ+8}1N~1QhA?=*9Kn z_v_FFegG)SNj4UL)0kY+infGczCZ(0353Z<%G;H9Z|QNi4?TmXSvq_~dM+SM{5``& z>6c+S3RcMPpU$s*g|B~(mMJ{un88*)zogkkks>vo*VF)->hWY#<9{r8tDhwCbPvo{ zrcT25I@JnYS|;53%vWFHJmW9+S#?Wsw&((v@#&DHSm03`qwp%{XJ#I}zo@FP5cQ(t zlU(U*5PRwBW%AwTT64sbtME(6u%jSYd1cXyi|tvpzaa9(ETc7tsJ%!yNOy^hyvI+A z2pkJ&@3R2dE>WtBy|e|~YwF#b5?L`esdYoEa_ynKie`{#|2NhL+!{*oQEbMP@9a28 zRVR-n?W&S6i57-yaVlm4QA14BKE!$wOe0%`|= zUAr)ggGo803;SWQ>QB_!teF8D-UKex%Lu|$Y=*!zoS!MPUb*iFlOB%+=FloFo|~oV zDWA(F-?(ZA`6JQ#R`gbNP{O#@O9QJw*i`QLu;e?%))AMMPIiJoUBZg4t*i{s`8ll9 z_d$i6j>^9<>Dm2ambgNg>oeZLOxm%Cs3yN~k%<2K;1&}Md~|G(k?ts2TT zrnrGvQVQ6vV~qs@O!NsI>q(+9kx|>^HZd+)d)wm#rN+{a&mTjEloh2E5d~8=N`@aF zHnO(c>`kK&xof;OTVhCiPlt4HA6b5Y-FCN4u3vp-0`XW`bLzTz6(nLa1tc-$ivH6! zgYp?=G2H2|X$5KN^w0%0=?0l}@nWfO7DAx-=iB>7QImYbP6~Ppg-*`gcH`3Jd`3qI z_3v+wSJ$5ieGrne$iHkYUNZ3SWkYmLD-Kh+ZeJSe6<=@7-kYKDf;PXb60GQo+}GF5 zi;&1q*zcB~)}OfOW~@RcXtI#DY!s$oa=*HoEJ$3mL+2wQNS5=Kg{6{9LRd3dHPZlj z<3Mr8#nh^^AF!?DgXAhmE>zQyNc#)blTbyo4huYLto>sEMe#8 zwKaQ(Di%*|S)=h&(2$bE2SmXCkVph<&$?lpN9jVA=*48$_=9`5tUMVpoUV$t6-|gU zyG5lOTiF-0jXdWVKu*6lfBH=>!Nw54B}n>0INjvkCjsdL#l z7%sEaBq_EPOVc((!TkDRT9A%AB)YCyow573_g5q{vGir8lcF){1>Wbmtn@~VFfog; zc&A>t*qz}O58I#gAA^l{sCgNHsvLR2O0f9XL?QL7?}+xV5a#0%JCh>)V4nCA*0r=& zHF49eiZ&FiPDm~N_)S4~l!r_BogkR;N>M$%3PDcL#CxX(W5jt?=18{e$0-yuKjWO9 z^2q8>Nxu04N@nK#nlXPCX^+_IWRN@TZufWe9F^eTV!FkAY3oNEift4?>76ZqF3$oZ z+6MH_Aarix`tRb(brL$K?y*r|MuD0R^I%m0Ew`14J_?XSB!PPkH<(eKDwbu@Q2; zLTxH2_G?jP_=RUT_LOo#J$5MY_;LdCyd}PrXvtX1&^Q*;2Z!^3ubDsToo0`PR4OuK zhSBp^VvlshR%K+w>5vl2{;sMjo8=>Uc!{65d1idcaT3g-?%d}mL0Msi7z)oid(9nG2llAsX7A1u_SUOPwgLKm9#FSmz^mI1kuUT{vaZo zsEqsRL}BwK3E938D;#b|CGBTKE6dFK;+S?JD}KDE(cT*&%MIjxmYxm5pwu}-%rz;^ zYqatUO(3H{48kYx0t&+80X#TEP0kr5!nBCdnyqLSs)cX%{=Ex%v=5#*9gq1?|C(A= zYL-#HI({f#)T9P&eAHr9zmju1b)NFlZO2AAT#q)T2N$#iMT}o?aZ|t0Mou;X&mlyy zI#86WylPEr(l$SGvsWDT@be>!93jkWOyOFcvjY-%%25m2@x(8U)6Pcf8J4nerL%X@ z)zZSlE|}G(2JX2>;CzG~gf+5Kf78~VSFH@~nkpTborEPLEx{3;al~A)+AA&7DR2b) z=iyTWmgM2HXTDqN;C>y)QVyJF#@oNDK94hTOi`_N~1h|3(=m)g91n=_p0}R<-YMe-!i6sr!m^W*x$7msi_j zXK*v4Vx4|btB(3s>gB|I;WiulTKgsti|3ro^smY{Jgvzw*p*A=IbRR4-m^}icc(+q z)}Gn5{)$q;WoQX*jc+d}2s^8ed3R~2bzPT({{f$LTQA6&T;!hM0zFyD#OUIZjv~;B z5o#_SK<3i5gQE~$s$o4Q9~VM`@I->~_`G{0%jXm8Kfmb!`Zx6uoFRVk6C3`$|EX_E zAOxM`dgGqJs|7~nw^cC9r*Wqq|AmFPx{~INZ*LdzdGM`;XahklWDpWlS^7<4vpT20 z2nEn&i^}Y>#EH1!xE8Ff?OZCxAp>+}2|#E*thD#%h4n2+^v6pesPd|E(QYUx(OMY? zlUh1}08n=GWq!wsE6;eZM|2R-2}j-W(@Tj-=7GF6VlH{~Vy~MdJE?UEqeeewIcy#u zMNo)kDOT^0r1I#WJ|nf46;ml|_ytBe*LEyVjKltEK=D$vy2CfMdjB(pJ2&x;+e#m% z5LgW06!sV}V{$?xF8^Q@2a_Y&DMd; zpD##jKww2v6*X(aZ3b(vlGJt*Or1;Y`*tX2C-BkfyTuPYGyKNc(n{=oL}}2?+?NBG zIN1L;^JZ(y#Nx6ccHPswA=nIGhq12x3?yt7yMS{Xv9V}H%+GpxUs0=ZTD?raAZERY zTBl#WuavNOZ$6bv{(eB8L>Jjo+0yS$2{9NuuDu*iz3i9hwra9SetdFT&)QCuT2GYn zo-_C6`f8;#Yf$D-js-mZ=A_H(i)y9YM9S+cbYF8>q`^gi+}x@rv(&ca{*Uqg+Pju4 zxM7zP{rugFT!wC2@{COil{8ZL7xVk#k18HEC#CYfQYYlweKf__*Z=tElAWUab38%o zUnOR9ZKjHy`{>=+_WJcYg{qW(IcX6ex3W~SUN`z^*16LX4?y9o&S#F^?<;O4x9CqC zep?%@1|!O3y`gnozR>B%URQ&&G&^9v^e;B1w!&2CQE=+tvGE+tOfN&SrIFBbr4k|_ zG;}82*_=_7F}}zaW=_u&5S^#qchup1{uS0}*Is{B)4l6Weq^b^C-df?y*!4Q;}#0` z10pwS%6n=tA6T@DCOJIuQ&7#8@z(fPgR7AucHdR6qKbuMkX*oUFrm~cCti_7Us2H_ zH81V#HN%HLv!{4i;!rH`E3O!?Y7U5%Wup~KVdTMw5TaW{?g)b7GRFmtdcsn*wdhqZ zR5x2zuq0Z>ZGv!hu`NwW$Y;txrqH46fUl9Vl>1#I0H87}v1JDrUMFz|N|$8gg^P1Q zq!h{{z$0*%~P^3RZ2Xe^w2%r!QYo}#4wGsc6d z#099*CRJHJb1fq@+k{W>>>mSVvEH(7BYVNfgvCEyG;cIu;MT!K`JPw$|MdzlE9sVN zdxFmUzS6&hsbJ$0sE4Ng8r6=U@dLSH?^k7#*McjH6S|E$2vA1c4H}@Amh*R@Oiyts z0M2r3?C3b{Et^oE49yFr49X~Xqb8zb_JJo1syG($q|WHRN8k5UwiO~G#KD1v1SdE- zEH>P&iErrD8>sBUb=qzJsR;AI&LZtSM8yTiCl%*Vdwg@77FrM4KkmH^Ag+?`H05!o zhsblfgp#UZs9~da4$4KhJ^a!1yIeD#K&9`S)|{L5;F%=>`hApXl|Pi*qVhCybT!;| zo6iQ9Xnk~jz~60&=n~p-N{fEbpcC8!yK{mkIqu=jU*C9y9lw^yueBwhmZHgiz@Exm zWRF&mg=!@>@se;9-6!R>A24%fw3u)hL*J0H9D0dsL$-OO_w#OA!Iwn+!4Cqf0lF5-3<-apD|i0}6B1P1(V%S6c&3*Upi2#s6?4Bu=ei=Qh~mXH$%+xUm%l)~Qs( zY@p^0PUyNQ(#CgLJvdO?RK>4`Zxs5GV?%in*A&e#4X&v~Z%6WE2!^TD zIx4sRaLXJnJuI0k*Snp}v}!D*#a3^%)!t4RpyXhozd+sY_Jq9BS$sOj&%GvbZvo#W zpEBr{*D#yz-_&mvGo3>L)^PE>#+K9=?t4o2oa#rF8Z^@Om(|Xh*PJ5 zzga)IB4HcG9-IgTKU=$h#m^9`kmngUbKK#ItPFJ5AkIBeaXf9rhYgxgY@>Kz4{a-U zBggX#=Mf{kX_JIe0I)Q+wCG~&mlprN2dG-M9ACVtQV&3##pq;=H0$myZ+dYnEgC8J zL!2nOH6udJPyX7Msh^9xnVnY6N?S(Gbn$$oRh$@e!0ENbPCUyU$aC(BHVB%nI0P9+ z%Kf4cORHMY*<`^l#jaB;JC(^8_a;R;z2)sL#Iaj4JLX*aNRYdW`;Ko8q_IowT(jXU)AW%8fCHPuxqi!tq1dnujrp}3VBsr zp-Z>U_M)Xg@6B%ElE^ZyjQ#5N55H4i&js&BXnll=N&L6X%B)Rw?h!sOojlsqFZz}e zT_csR)3EO!hsTj<>eJ<#>hET}|>X^=!5-U}xc(!g?wbqW|XUo`PX z;;OW+=E2pZH#xn(n!PqtW+obZU7~AMy1uXf!%-@V_-){IEhKuU=X*9d0n z)e#+711E9WU+e zuxsv1QcICS_^+Z0jC0~sr7$gZz0o4u1s`GSh=-bSqtO$Dbr-Sfto;)W+qEf8sP(x1 zt#BwS3juDu!g3jQYqMTQNcD0bIY!JHxeN_oz%jId(cY3o|!Jry?8#_&K4v~CVvz?gF~N^r(MY@%TF|jq96zF#Ly$WwP2zp zISAld+z?D2uG1k|Ia$$!M_NoTHLt z+^lkPUVh3@NSltl<&)Z_+wn2=Qb2|wIS#WU{E~tQwoovLO4bDBr%BZt=7j4rqvlSIF(NqQ`O?Z5zE7bxQrZsDX>K{# z^p`7Mapbn7AR}k;HVeQ-8Wv1%$BellOgYroh%>h5rr7~o(U`*dS2P?6TWXvElw=k< z#NifkQw#j17QQ$PlS9uEn5R@`DejU&IYKL^zl2aiv_TZV#4ina6m?hJiarOqEFFxd z(2MnJu^WVp#8+xT$;1VNpOP+c`kU#}=P+i=jlvwCdc5-x02K;HQe5;UzQES1=eod6 z(qyEJgMXrmYEKeMos=cY27hV-{LN^ac3ms|Q`3LL>vQGV3dM3U&|N*JYL^CzCB<(S zbsH~b%o$w0b?;&a$9@{$p}MXuKWr>seB|>3mpgYDasGs3b`Tq3jF`Xogb7Zlx^e+3 ztrdIJl^}~eGAvY@$u(9dY9EQqYDnG}(IBQe$~jlHBJJnL_m7fRu~?!YKsz=I_s=?# zi)VGu*)JR$fGLi{2KDKe`FCq56BP?4L8G|wNOZc4UDZ~! zCJ*s&0;HZK@E^n5jC1pAUFz7=P@n`+&mkOdrLe5x#fI6I#@avHe*NuN`|bqi#fkgT-{;0|QO+WqetA5&Pd6BA!#q*M!=8RG`+1(% zN+pbd|TO>Ns40quO_*?5E{bk`c}` zHXmhmtC7neHv!dJ?>*zFv8|wvt2%lbL7z1}U!*`kw@>C+pA5ucfmhA)XESQqlo--)Au;<@l@XzIujlWF^MCq& zZx){VIlv2oh6?#|L+|4qD4_H^h!OF}jyoWR&m%r-SxNI}$0g9_a>&NuDP?FLiY>GZ z;q!U^-%J=3w87OBZdx+PfKqR_{QD{367V5j*k<+L}DqhJ`By1%Jxw+nwb*+@%l7e|;|ouPGaAl26xf!!Fl!4dB@^uuFBaXK%%5 zLT{|yk=eaj>U zeimQ;Bjoa|06Bw&Ns7?UXAe^C{0S;=O&tD%cE~lsdPhlD;`^&AP?D5)p34?OSVS%? zJ)e@1q#qrlE~&0HNwnS7Zhw*=7?8_yZ+>jHB=@}DX(zGkmsT@jh3Z;KBO>C?LKe=# zR_#{AP|=K=eqrxP=QS*cAoi`UE7i)dZI$86*M)y4j4)^5r|kR>)!dWYTsb_#nv~$0 z4=UHQd-A$pa=Ehx;HlH+5pGq{;)yzug#`+*8RWbv|_1oSHxo)b2!ckJ=doMq%-dXPp)m%PxTBZFsgt;zBTbWSc z$7>!O^H0PxRFtzoI7$)PMpVfKF+u_+@{lyp!9PsZd86qY03U>-yW$95j^IWB6g4$? z-5B}+wQL&EMnLnQ0AhqX*kHd1D0(@nl$q&cZce0LA@JlhC~72JRZiCluw+Ph`N9=U z6mv*U6c(_ma4cev5=If&h+S7$17k}F&PQm9_0?~^J0G6&$c;RDmg z+2eXj5D^z8tVcJ6Ex?y;Z4@$b$#zoY>(eq<1Yce8rRt1(nEKzRam#AD9rBm`I!AKO zKsihGq6yFxjV|GP6@?*QaG4Q)kTY3~&)e-$8y5Rk5MqFR-1MJqcoQ1rONTyYIqa8!BbMRn?Sjvu zn-qe<(F37m--ObxWMBbg9V9A1B0h!`DO5%*r89u67>-E^k0c|c7)MGuKocig0!C$; zkP|$n6a=iv=~6fD2}E2M%T-1)@zPUcf>GoM0oDniHYCre{I}i7 zBd>Tsucu|bKNLc=%ekatY`MRD(F+VIcfMeRzM{%3%mZp?+{s;qqt^2>b?*R2CJ|OY+>!cbw z-Oj{Up>|RqzmKX^T?d@1+YkClqImC zMU071kxJGk&bPL?>2 z_>4Vp?TA!1QvKkYdQ*vcbzNCVhH=!sNc04Hvp5f=vApa;OxJ9YGKmQyalR*_g=j>t zd{v>|5$-1p7N$!S6k!H)V{AT>U}4ee5=TmiomtutsMx1gSK$kGn*?f)aM4(MVsr6~ zPMncHET~Z)LYpIY>G8WXjIx6}gN(mOoJ$$R+beTfbo1*AIk>Le=+OrT=3omrcq}7x zdHo&YB(6M0xiS#ee0X>n!p`_%=N(-&{``YHVp(r|@*IEA6R36S2EJnv7yrlfWL*#n zfc5_tznuM=Agb8&M}$^$1@Q+Pi>R<g@;-5tx{paPjp<8r*(biE8kC+=vp$ zFk!qGm}XE@1Kz(nfZw6c8N46xVdvf~d>vg2%M%_`6p8Ac{)RCpDhGR>19717!C9*^?d68#q4`?hVB|CtXiWPq!!fhx$g3^ z+oomgBASmMJZYty`My_~8=ZXV7#!ewueSi1r(Jx$?Y0UD0I{A}1u++;jFwCu>{wn_ zc0ocD?q0V10M9+LwnRH$RO7BL$YNHIlUfVnV)mc2S5T)5mpF@3%U=0x?_gD-3O>?B zVwWQvNp3X-?tJ3jS?q)}3CRkvGJ459bMBgO+TRL@F3iU$k8v z?cmRuevIgyzkIEW)C`Rt5K(Q@a%>6(X=@)7TV9Jt0Iwb3c; z;Y>-ZEHtfzA=bH<-01}7C!>m-)qyD)8Qn#y;3e*y@rT%|an2gn)T^L#eg}bLTkq_W z^_NH$F8HN)*o&|muGZms4*|69?;qF~swDrDwA6c05ORQ%>;GhJ*5Lo~)y=a{g!cvJ zV7ILXVtxb7$kJ!|car&diiqGO55N<=$;sfYoOil{TexOUP<_#`sBGGi>~?bEUav)WbQnqjcT^-Qqx z#?f9p(<&AC`tdCg>G}VJ(*Xk^16UZ@{;zVA|0#$1Y%iNnJvvUT+!^t^U-9OoyFw=SQHQkQs2%4lUT~tWx%?VXuxXFK% z5k93HB#>BJLMp->&+LcvhfXO}iJsTjcoj_PA~wDl7hU!qM6wrIxJJE5=Z^MO@=%$^ z0=!!OmY^bAg*aYE{lYn!u$ey7Roo$ERl3n6=KWH%kN#P$t3da^yx$Xr3_f*kzU13{ z+drPwm3s?&#c@&(y9FLd6Mg?j$(CVokQhjSh53Ig*`(pEiK2m?OJqt;XiS#9V16On zsI61!-?#!zIhJ{Yh_2`|ekbdJBI_?ngFr)!C|IT)(MPZ8bAyHR79vnzXaV>Ih}im%)I>iS~}50`~w*a5)JJtsg!&Mwi~ z{rkZY@iLKQ*))1GIeDxGE{>vLAGnTIpk-mq{&#jSO9x7HZlura$kSusskPt2l>l#fgtwKW52t`|&B zX(1oeS1TShMunQCl1`VVf>8?|XJ&(L5=XC9H!JzA-;f+aPHJtcoy@H@w7nRCD%L2D zL@_QKsZwT!1qGe%t|?hIA(Na!bgvMlR%C@*e>iT&94$;FGXjiAy4N?1k3_YomG56B z`4B|wjmc6(XPYx7mXDV2 zeF-}1zhiDj^~Tc)T{WU%{AEM-g#N^S6wGCE&d4$GE78O+O#s~=+^AO*5CCMT!8bIHpH6o=OfitBK7o{qoo(&%4j_gDaN-b}=y- z*+#2n(5^*$H65VhkRn0g+PuW&pK%FPN*E+8Zse9rNb%(0tFy$xE8+DrMqK&it76mW z<9Ss_00*=)8N`>Pg}%}_vsD5^1G&2VS4&iB&S9>r_x(wEqm-h5cy<1Hqz4|PlRopcvX6TPVPP`?-%52jQYiC@2Wi;`NoCScMp^_Mkvj1x2%G?yr8$#UYh?> zB+b0?*E9UzxqUj0{JhLu7E@&l_eW9#<4|MX=b~9iom=KuldVEALhkKXB!PxaF* z4Ht(N7ZpWCA?nT{_Y*577&1ImYC;HWdfl^<%upxvg_|_`+Yh`skwe%LglKft?Id8l zF%~3rhlTGAmj6eD55x#I{gRnu0=X0A~^4x_ zB7E`F?_6aS<)IH&{erG0ayBN0A^xWMr4w^G_S-n~KGqV!O#L30H%>RZRicrCDxdeZ z+sVPSsN|KJ;IA&~CRDBd^(mN`yJhL*?(R!|^KMT5no%9uPlUa$RWL{H-9Ma4_SAWi1#jS0DA_*v!+Yie0cAF3sF zAbLu_cwJMqF@Chz*x{YQ9u*~vKh2lV*LOA+ArqNi-~M)o;_@n_=lC;ni8dcsxLyU* zQOeKMbbn^mlnzG)iw+beJwwv6Tf#hAKce%QtUvo}ia*gz8SaQFY{{7xgTd4b6 z+xcdP>vBZKpRHq@!66PE9m}Q$Cre_G@2_khcy%T;@!(TSo8Q>Z3FrLi!x08AcuIPG z??Z{B)6k1U77Y#tCX6Q!u_XVx7dx@mM&Bh8Lkgl8TN{Owf|>it*cJ~El;SvkOk}Lh zKP8unytwt($@+4XtN=$e5=7mRzllSvSmm3rD*D}1Fbbc5Ajo0<`n4q*1o?z8tiD?q zon{+qY-8xbENscHNJGqa#48o=E)5zdi1}{qziPo(eWAf}+0}^URc^s5O5DHUn@*R) zKh3bJ3U&d-XbgeDDBuEkDM{3&WeG7>n9-(aTt}w~+3y1PjX`G;-+xTPzgEAsK%3uC zly?5Qj`}Ru&0*XZOJ5uoV%Rd;0fhxE#Pg950@VhCwe+I4>RuLxwsKr2;wjBMr?60C7PoF*u3JMZ$;$x)Q0bdFT< zYyyFkCc@%$DDEK;=0hulvzvl=Q*u?Obc(Xd*XS?wI)7JdhU#B2k+!GlNd(m+CmA70-bYR5C{YsNS%3UvKB3lpM z_44DoOH_ZIqa$MK&)$W_Bn1|nv_Ec#{JGfI*sf;g*_15+cjsXY2?R`=W1X4RSAq*Ou1#pfuLa_#mDS9>-88q$D` zGjdIC$M=^fcG>7K;f|UidN*>Zm+K}woyZOkDSTjeK-wE`v8M)jA#b`imL^%mH=)nA z#oU(BrbH^hKdREg`}+ZgW-^Zju~H;qBv$45`0ua^HuS%HQ95uvPn;tCN>{GB zUV-(F|;5i1dmub1DAUzi|PB6lm7hZ!Vd9WSuXdAoj0ne29$PD9Djt%uWz~Q0$-lV4UPzN_Rt~ z3d0O6#y%&STmhNjm|$NnDE}xrOG)7NXeUth>0aP0RC9uQ+Ac)(Ov|}2)RS5>BG^u_ z@o^ZhgO<%VLGBle7*Wu^lT0sPFvz7q|3_O!lyIDl(kJy_Suo|r){lF)kKUgf$8Cs+ zoM=gg3>!&p)r^@_QuMXbMl^?g31caN=5PBj+>AUtC@yxYvAI}5d?qDn+XWC2LoGlQ zqal9N+YW^GRqjE7X(F#1Hxl>5XadxMe{#cQHL*`W0q0?CZ(h#C*Nv_9pcl_d~VIn z-6md_1!namhlr}0 z2U6&NQQsQ)2NNv{nT&7+y5NtoqNtLw@SoXd^8}Ub$m>blndiH$j#rZ-4iy)Tc{Sf_ zzH#@i`%PrUjEp2f!nD6`z$Qjc?`{cssJy-qNPax?qnNiJwSZhcUv{qiZI*wk^$kn# zhwP-NE!;ypaXXC))R~oXF zBB(VjTTX_kTyZEREh6;Lhi$bQzY{}xb}TI?F(L8N#K?eYKrt^Vz)ssUEg)=dZp{46 z^5_}v(iFe2HP54nkB5&*_z3$HzlI~Vj3tG4ID262?-IkSc}8~s411S6=37i(KRGwz zprzTmz#xl{h0MP!dA3J@NFSXN1};5nkwzkmaPhjCLN-*t4fL{My4nQY9SP|Q#6E3Gz!f%LFMe~$2zL| z2r44fHRJ*39*s?eY=^OARWlQ{*dcO03q2G>WwvE~YK3L(X^pq&RTLtItdwvv%;Y=_ z7W4XChcl!OMENq?ZM9xFF0So21vN&xl$@fT@XkFh(9M62zwF$m4u98J6lw4Zne^R3 z-J)m@sCp?a|1v(E;qeAo*ocY&0sJw5oCuiRwwea3;<-sI)y zln>!I{yK<@t{IaJNT$ZhD)&{1GuolughEKSihh^- z_?9x&yRW0whs!h<{yy{?X{A>Yl~rf$mm;Ig0KcihSkce7=H`r)(bwF} zRpV6!ZVQTE;!nZ~%@uBCgP$2a;BS9MV5Nb3ZFke}f9$5OP&ww)<;48`V+95d_XZ0| zU|TP<)4a=nJEqsLYyxd0QUWeNcf)jl?mTSfm_=_On8i~ot0L^w_%)w1WtXuME16MOkBY|;c*_>}p( z=JEhk`l z3hwCk>+-UZ$cRPzV)L;*>71&I>4BzQKl{QxglASh*A;HUQ8X>l7>}1ds^2T$z3vBj zp1lsVwLKDp58C9%zIi~zIYtGsks@p+K<^8Be=8jfvu#oQ2LwhFKDYM`W<&U=&2AWl zF&(YiFM@}cVb(YWD}?kdY4!|%73r0V4UPm*y=}=y=`FRcvBDUWcb2O|Aix&&v2KppH%(krGB8R^a-()_)5M9w06C zYhQ`bj2#~)0fiYg4vLT;Q4v=D=ihCv=#e}0CTnc$Mcl_+0(ED3Vse+vdS%iTz{e_U zad$U&kI2age)(_%0Ws}oAyc_u4t7sIqXF%q5EqG%OLqa^M%9kC=QDs{L{ws7=m;4` zb{EDXgtOV@da+bKWqL@xF-( zMpP4V)(lJ=awuSEruI;mmls)Qh{vu$6uk@X8M@6oq*{ZZVAw+M5`~jz1EBk2U7Onk zS#8zBqdoj8+#7whR~nbQ)`}m9;|b=zq9!`8F?0|t%cwRUuzs!<-y|^P-l2z+BXP7Q z4snYMl`3?c3t6hC+{z0%P`+t?cW{?$iHlXV3Wwo2sT$a^F)(fIv35hnu$8VgMqWli z)@HU5bZ1fU{E5w))`5;a4@^K|N(j()xW9l=^TneZ6vM;RnTI48;M4iHAOwF1X%dmk zOdE9_r_PhZ;$!P~t;dHV4L`$7$m|A^sR zr8{JIgN|7KZK6d>0Id@wt72SS1uuJJ!P)~|g?t_P!@vftYdld2Pu zTCdUas_{LiM%%AD*UA%`-8X4F)rErgNT+*FdLRwie!IbV7`bsF|4f=bH93BJE2zst zle!$&GDHs4$bXWQ%vahnhWv*Wo`3WK>493|q4m(pzBx7mzR1K4dui888{^H$B=XCZvNtR*m@Y_ug;Kq+JlF^aYRVzp0z`6<% zmw$zextyL9K>3|jXmsT7Xa78FmkM$Y^2Ec)gn5uX+85eC6+C3b1L*j;_(vI845lF= z1QI7##6l7pJZL<@ybdyIz!HBUcgFP=?AD&NE|htC(B8Swa1o4M>Pk_ha9sO@etmR+ zpO}ClLlrIw`e4wWBi{u;Xo3#+{#2hUfmJumUGCrkY`LsA`AU$@JFb30OT?*lD>s%8 zB?P=nH6mc5ZuAygJ)lFBlns3aah#2M|08gL3CFm`a(O5@t1aZ%ez*zY6IRC+4njai6GKr#)Qkd`u(^g+NZ~c?!P#>A zspIknC~Mda9z?m&dP>B*T8ksoo?L=(JpSG@UTluva6>isjdhKi_j(lxP@B*SRdF8xe7%e zR}xfoJCvVtM!|D?lU<+#OEkoHK>T2{_>}A*o$_0BYGf-YaN|h5S=?RAYTtOviaZ9+ z#Yz>j_+0Tik!fRiXn9jX+F4~9FPBY z^H>_0yx{gS{{>gMsXj(Wi>Rxl$O&|13cAsBPWwTR!R5e-pd$Dq15(sCZK(MSKU*5} z0q)fO6_J?SdU%h67k>9v6X$oFeAN};+UaZvOI)CQOoy4Zr+yF-?xK0t0lmt}76gCV z&rR`$v!+x!r$$FL;uC?+UwjzT4vmi@Wt>O93{{92X-2mv4^}{yOZrv4@j=maHvS>VZXE(W{%7IGr$(Mx7|T;i#ihmA220n$k{Qa4&oBApQvnC8m`O0sJ49`oo zyN@%21hwd7{=03uD|TicJ17C*_hQ;DSs8o~z!WTsMPf3<-XaY>t*|nk_0ZuK7;G8E zolKePrA+I$8EHxvDQhd<`{2l;kuN6bgSidR6kEI6B(?{xIRzSxy{BV~H*&|`ulWU^ zBdR(Qq4X4pn9fy&{Td9*2#CFnh?UT&6EN-@jIpvIw60;2Jk)I(<18s*bYjlqFWcJS3UpreB79s*ZUq6sAZ-+a^|QoItdLzS zXtu3q8!80aNG>ETw>+kD@?t6`tHcpbV{8MS{3uY733PIL{FTZ}K0Bk>sV7U6Zy_I|sm(9g82x#-})g^dlg}e`u(C`eu_}oGZ z7-c3og-|gWKVF-vw^VVtVJM3iD<-T@2H~ftHCi^?jUa;%? z?Py>i>Q5<-$y$+73tSB9<0w+REuXoFTFuaxBj=Z%xA&(u>~9u|kpQigT69$C2k2`PxJ4zJydpc+fa7RBC`fW9ebTV zohw?`rzOu~Oe8Jyq8u16rRrGU<`HyGO*N7SP>!hUn^6a95&M{@1lW}4`?$gtwgcs? z%Ld)fe9N0&ygn*09RSv@ZRlo~(9Phx#xgsUUgz)N^DcKlY+O84EWS^>Fn>IcS)aPZLwJ~?1fmVhoBHO)R%H8W zca<6pgP{wlt41vsa}rxoW@PkoVG#G0yXe3YuHoH3#euFDA^>SQJ4a}Nq4$2@L``AO zmE_@k7_=k)d5$SO~+1C$Rz zt7JNTk70k81o-p5dD=~?bN^4g1js`0z2~ea+{*EtMRkp-Q<^rO^RV>ycy1cs zji+HFFj$O6$E&nN($E>~Uqrz({?zWBa@`Xijn&b31He6QM}|X0@!T*<&}igYyUrHlSpA4pIxQo!$wyLu6;ECG zR{#>u!gb#Z!IkYn36UV3#1m*o_}*ljp!!4xHO(TGwxxcstCF3*O1$b=ExKdHzo0z+ zR!JUC}x!=pfwW6>Uta4iEOA;izJA}!)!_^<74gs}zpJo2M+Fe8t z|0U|lZ?iWFrOzF^yoMWTCgztu`QZsmI*GiSbOC<1pi`T`Jkxij zxKaWkGFD3SY6y&n_Dsq8KMW%^N2yu}CO=yV0oX{bX-iV=NRNg9_%+sDeUWfWCM!ne z*aZ?GTt5vj;?&eqYFw8vPw=EaCV$`0MMm3)@X3Q-htZGg*<(o@W~v^cPk`U!fb8!S zC0uNDSD-RZ1rLG>;I)$J$RM8k8wvA;Z@{|h%Ux6^Bm{K^tE)A=VXd#&P&z`OBD($@_QKTtHJSe zHjOgz%IUp{TUcspTEe|d?8!B|e_+qr&p)SkvOxYzCnJNro;?lR>^o2hUufiI;2{Wo z5yi?VSs}jyc)0(^V&bpitBfs8+(UI!jumnct6SttN3~W7^Ih+TpAZ%nQV_#$0SU&H zI`Q`y%`Qb><#P{x(GS>4jKi9uat-xrfpXMVH6`hbpT88(s?@Ao6fX=rKmH&;pUZc; zHhK2uZU=0GwjH1FMh;w1Ms5OE+V}upV@R;^l743pYeFBB_*oI&L=1ec)i!4I)JcIjcpcJGJmYLiWp z5k;a7lbRr;?{*tuD)2U1%Qq*EHR_$e?5@?*#>bOrvcG_}u_hXuq>70nYg^<^nGft&Mm#02e7tcn$g&$KOljpWXz z@Q89JT)s5l9}zH_)pJO#C0dyCtvOhp=*UF*2t-dc&Nrmd$fp4dCB%QO4YN0|Iv9QB z;9j_7x7L})$znZR5w8)JX$2@>btROy-@GQQoP0^ViAvP<&C6A^;$ItGLB*?5cyqKe z8opspx2`u;C5jC*HEX!ZK+6VB_3g0>r-e=p;2Gm(9%L`1{CiUc#CmMF7W@GtR?#zM zjmE3Tw?Vh@hnAwVnNDb37`EcK?mdIavZ&6rz=ZtSPAph zmulI%+z$>tQQ~TOl^1?-9ApWC>DfsylnVN5K?C-pq``ed>hYlyq$?A}!7a)}G~d73 z18CaCnNyq1@50D+m;n@7OPBQ!Br3memL_$3a%?1bzYokckE^5hO9Q2-B^|!KU&i|_ zeMlNe2$SzC`0Zjk0n4jz=4^Mpcvf>Vh&kMkHmaUT4PK7Mm+hl`3iQE2*}_f@((d}R z$WHMKiN%tF3l)xo`Z!y# zGtgWG{S#q#`b?^4ACl!`@n$M|vj*|yvpT$pGkE(!zL`9Jun#cqD0Dfiex)s%(L07k zMQM(9<43s*PJk82)bEl&oV8~tBnBlc-rhr^zE@Q<*TuYXpIHf)_XZ?g(leMjDpnhH zU#np9l~pr3Bp>Jw{8KT1qgSS(vW^ORP88TE2lwuQsYW#Ti4Ky72M15y4sCky47PcZ z3{)C71ow_bVaZ-sB@Xd*7e>W)q+q8;FZ;JEm0bIX0Kit+r*Wgg27}4rH7&&Qi{?!N z!i>D0iFqF+U8ijYEmhO3N%819kjVALPeCgF+2(^hOu$cpAImQn1^^nNL<|XT@*8XQ zl~y9%RO=CfD-honx|Ey)f|5Sy4qL`qA!XN#HJDRjT;@#G3X;7VcUBHo$I`ll#E{;e zqiGx+0kd%_ym-QC^iQ0!TopJ3G6|^hbs#_Q)|^~q<=Td_EkjL$xm;-m%;TWKEweug z{`!Hovz6f=yS-=zDLIZU5VxRk;NhfR^~~94G7pfQSh&?EA8yZ}S1c)-ke!i} z)+PGolEG;zUEQF|>2dA>xx-luu}qE!sHmz1sAib{L@5aH#2fG|6uNdsE-~JLR@P~) zX`^&{>!>_uPKkyqR6X!CmA?}&5cH*Tt}FGhUG$JeL`UL$hVLp54~V(SRtmAbD{Wcl z-dNk9v|7!oA)+S;x<(h9^M0Ms#J;&23Z{iJLdjZ*`^7H@EA&LO#jT0di_B_p6T zJh;jv^y*9k>yOO&(Iy^Oeljv`tgrv%WfAIN`9!JhvLjh1e9D$wb$+=DO1cB3UD1=K zPo=I7?KFLe+IaK?!mMhh8SbkYN?as2Q&faZnjm8iSlBDay(Vl(nW-ZC_&hxGX{w0c8zib%ZP#k~De|3-P7i^DdP7w~TaU3yED0Rv52?0`Zgn zk^Ub9B7fI5L)!oBZ!cay;3F4WBO4NtJq@mn56(>oex(T5%{Bf$v*RXKtgjJ4gLdQNh zFmVtvg6Nl!PQXg&gUS)3S4fjV8q2V3RG>qtrfR@J0DPMwCo4}W zhr3MzUPBvjf$0;zg(3|`tL#u0E@r%or6@%8TN_8$VhauUsUE;fj9Lf1(5~t+5K7vm zl>W=S;>Y}8^+9GCx20$-s!jKuHZ1BAX?^CtKA}YO63pun_O`%e$b|w=%D`Q9vy@=- zVbeAY1DQ2#MMasNmWY~IKpZTj#SiDA#8_0tVxWxIiB!J!kV)f73|($PAtq6Y0+m`mMNp6OrqKXRp7z4|$_F zr6?|hrL_5jRKwBQ@eG7XKAO{_r%otljf&8*Pn(bnV;5p&nXmoyLn#P#e$kIj*2nM4Rg_v?f%pgm~w@GzUdZkmhy*M!*1Z#|A?ZISD#CD})zoHV8T70k{)UR@r$n2x8 zgxZ=1nY*YLZ57+^NT&#KCymV5nn%Fj91E z`QgK~eTHEY%?`f8;&IV@HaT5tRK9FHz|(5QsG=X8f*Q}}|Lz_6NYpKL1X`qbCM6v@ z_@F$E&Tt4HMF}IGJ$eta6ff)-7Jir=CgR`C+%3A?p13)C+&l1e8Uj5+cu9J*{A*hU z!px@}0LuyT|D2{!{^il9#Vey#M9Rsk+VjMd1+h|*r{jSbAj~4EKJ>BK7KC+7$n|}x z;4hL5?Ty7N$6CluEu&Y*#}kOM!uLlXt^%QMkv5~$TJcXL$s6=pK+FJ~i-b^RxkwU3 z6P$M`apIv_szO$#j~I$IJD3{SmaO(&dFyOLzy_EkC6cc>52_RD&-le|tB~;Cqtjd5 z7w3F00#NHSjKABLbDW9h;{14r_)L$5N@~x^W~xhN5YUCnK?8l_u2{38m1-uwt#>mG zU&;^VED_W#x46l-_G9ak&H}jW;dz;LwOA-9;O2Yk`O4wx>2^{=b-pE~ZqWt%QM-f# zkn3@i`IFosaay8kU3g>ElsVv6O-5K#*hN$`bBqx)^B0emPbi&f;|E z&2NE+-_5sul)s=frreiN=Sg2FFlr(O@Dh<9z&gj3a%9_smHB#lbnEh37S$klp}B|X zvPs%;u`wbcbmrlxdl7d*nyR$X{Pup)!L%hOZ@I07{;$-bQQ~dUbx}8E zPI10*$D{0u%Yc)+sF72znV2pBZ`0YSO{yXDe2JD9&X2l&-^DfEYDe|4T1EpZfhjgT49DH=D$UH-;Ls+&Fe;Ld z5;w0Ssu6AQLCkiQqiTVYI|34y9qa9h&fzgG8sGd@M&S;*-)t;vM`-!~1@U;sd!N^5 zK6vF|_9pDcWh?Ky^bB~c=6G+i6wD5V1gP7GRC8%oXA<*rRhTp*^2}@Gy7`~2k#2+C zw+YW5Q(AA=flUg!F7B_wlYEP2`r&`jsu4>q#b|7$nt}73=Uv%c|4yl^0VmW{f|Zw1 z1Z5VQm%j=&=Vhd^)So3!ww|xl@xHiqZ)}+WIY{h4^n_0<0ClS%+Q_rRkLoe-i0@Vf zZxd~+Nymh4Q|et!j~?DiU*+@zBHc%YC6KS@V)Lh2%4XxhrOurV(btFJM}a|ZL!Q+N z8;i=N1M9~5G;{^L)|x1sr#cM}!KKz*6?@;B#>*$jb=q+J?5K3HN7S8v_Y1$^okd$; zAe&UQ`7~$+v>1)^x_0KCa;c(PKR{T6Xghklo#bHn)^U>f>)o?AAMC5VFo~F#CNj>I zd=ylUEH7Sny=Jmc4L@7y27aqr5(Zb|J-Y9LYV|ghF;@a?HyuM9*PZnCRI{OG!Y;;I z!<4!Ss_`KfcNcVQ``0wj_ejb5>(No)Ce?IKmz>S^hj_aA3d z=S8|_PE)V0E&UHJl*@Vv$z8`f2g1{oj&yk5Z}sK8HMbu|iBE6QKJZMAE4bbvwdJ6u z+g9B~&)MiM6U_sbTFNUU+?T$@-d3duW|}wcgW#VX7wQIDo0sZ_1f?%i+nnzoUO)@E zoZc!x+vDR=$6MoY0N0Fx;mQ1#LAQH4dTF;=H%9?0iVw;x3AE{_m;cC(M>mt`SY{J+ z^@Atwfxz#qrHu|EcK%P?b~MIn@B=e^^$dBZeM0j4{)NE^`U$!x$rXB;RNkuOaI2H8 zi$d3V6p#$1asBI1m7<*=8MwQ%sx4sp)oU4Wv+HDj8(@(L%0ueK*Q+>vchkCxUiMm| zutCX+GtxZ1Tb&XF>A1h2fbNWrjiyEYKWd(rsc2I62KsuXiiHR({<^hRlIDK!W^tz($Bc_HzT*Q5 zKbZ&frFH(Cu`Mnpr#zhjFRbnsx%nSloDG5h=)ZN2n(22;&!gFFmSj~EG{fB;FI_p2 z&3-wgWD`d)N5{NG;C0M#+i=G;EU4CDJ`*oay(w0F{DbUU?1)&0>KsBI=U~SJ=p;c_ z;iHO7U5>uo3Ly6W&_a8Zs?Vv0$O<5e*W=W6hFmSZfI>>XIQ!(D2NOWYP^!8T^;Kwi zVU<4BN2v*MbYOU>q7|D-y%FXtrjN3)tB3~dFxb5NQJt&HwJWU@Z6qkk(ejTMBky&3 z9%^Jr4l(wFbds8U!e=JlUH_ZRH{;Ush5V)dWDME`oQuI5GxlnYG|`iPEmuHx)c&&W z54CVInQIB^Nv82cPWf0wwTc~qP?<2>jzWLc+?-fjI*xG|{zckcU2t--_C+itIqPc5 zW&fWO?{r7gq^1m9-L?uEEMNd%6|EsmoDA)qAeW@`^&piU1>WBmYzG<)_H2J{Nv>ch z1eo4cEO1PHaO-Sfs8og&|1JRcTiLI|hWH_CCW_uDM5PFAg9^2q&D%CJj%G-usAeG#y&ptStA=g2L#B{tm%E2lDsg*oAC(UK z;hTPlF`ckWEjG>>{AFpa5XD|xo(3eiu>f{U&(G9VSoi97~1f4SeL|ntyUfgifJrzO@s@1I3gj zleojI)mKtZ;R@M9t2XE#YK1bN`w)A_e_Kd9yrjQzZ>qYN2s!O$Oga<<vI0ynwgh~hj?K&%z8?-v zcs5o2x|epWipic>(JN8&o}bdEn(a@?a?;?_}?G+-82vajqapXJ%9w zC$)^EmGA$}8$D#EhU}>E4d!c3G@ZTRSMPv31z6q6L~jQ+ZsNgB-4{^qzJt$Wx3P`E z^?tdj)A8ob`vA}S)BKDGZPs2tttqyEG5@^3J~#V+iD97-vcC&km^cr{`^Izk4$Ob` z_aP|TKi0N9wo0)Dj958SeLM(bkNYyvxVc`y^TJarPz)jVH;Q zVq*%>*Tgr1Xco6VkceMCBj02ZkVZX`-Ufd9xVQ32lLLlpe81G*eX-Lnkq*(f?>74D z#3Ox$q%mU1^jdNIgic2{^RY@$Oq#^lAdyOb^#gagG`gY!tF>b9t9k=vbGd0fOd#W5 zMP7fP-ITwo1ws#=#w{D^vO3}^L?ue3XbNLMI^&H~WzOGgkmr>s_i$wKG8xB}Q zgvRZaz&b#^Vf%Y3-w#}xb@gwnXqDF?JNFMR>5S4|FyrPod!7vz2z_7mCco-!K-zu5 z0MP3lI9T57Id%NKKP}VR?%mM7b946oz|g-js2z0Njb0e=9?E9b!Rh6H0>}6WCupUp z&7sZHoEOTm1>4t#vebTehR}L7CzDUv?Aklr{r&=YIrKGe2Qr|8U=GR5Ky6qLAg7^- z-7d;Cb(OQOe!!Q*ynjE_v+nmOn{4_ch@$_*#Pm{@vaYWZ;d*%S^!dCyhFI<0`7G4w zquuBxw|>$a#_ZsQ$$2rC_E|K7`Pq$X{hW!M=XjaS9P-?<+GwyoEMc=w@e(mNRBq65 zqB{V-UA9un`;@=!(bs1oO=HPD)r{)Y0C_!c)k`ugj^I67Yk>4Bh8jCk<31fwKOcyf zmGF8an4J@tB~I+yiUu{Es|G2CE&`t=Dw3XbK^1e&$coxRA6rG7j zZm!BwFeHZ&zHp*jOsaDV9lbDMX68|*R-`n*N5zh1ObWz><%ZP&2BcckJmU6Ke7BEn z?*y*y+C6XdHnw@V&Mp+#Fg8_~b`(4Te;bK-5C zNiKiGwqf9#e90U3_kwsb;~%~zC+#2bf~mTu*EFUf9nckuThtDryQa?T$Fut_&=mccq|Q-o#Rq@v_{)tmUI!4m zr9as-@cw!8p4Hg$EcsFVG*JNX+D;vh>Dq>QUwz9{zgc|iR?h_ci#{K7N0b4zvfrU` mu1x6u7ew!9YJ=p8>t^EO=H+5xiNw#x&B2L8LnEmqh4g>E8i2|G delta 23784 zcmY(qQ*fYByLHE`>K_0KbxB5VMP8!%PN!4&`><{bCvxM@5caa4~G+MUqxWArQJhpF{MA<^!Z3;CPO^#FnuksV~D#yb*_WK z@cz?68u;K5OPQuj$c`bgie(F_eI}pQVvg|fC@T^!P$tufvle_?xWCXtg4JC#tIXx; zg+g`lbgCMgwfog7U&-hivVba0Fy#L<+7eg^WyGaH%%1&@m7^k8FD;K(dNz~wxTAoK zwV>hGm5#VC5?t?hT`(6rds|yJQZOmhz>E)72dIYd!M|voS~fmC8evnEa7>WdSviCe zx@6@!JvAynST9)EO4vN)p`gMQgZK)|I(5Y%x`=L{3sfw&gngbXy<^kxma%sIyLvYH z`2|r#9He9XiGFCS9LbA!5_lUDmwjAhd!BZB`rICJ4BWufZ1exfj|H!RF|#-QpQ$(G zYRq#34y3JcUB?;=1hwMVkcKaarW}&?K`-bBjC_1kWI=`sukSPo#A0Qtc0NeIyw{2n zDftDIRSCNBj%FTnxf1!5X{pop->126mfv2VZ;zMv$7^;OwbAq@Zr|Kr{?<jxD$CpdR>I27*I5HRc zQ`ETJux0(%3(o_AVS(5hx8D^st~yAa(qEpDQbli{Nx7ZQZdme=aOh>d2g$R=^5bp* zyA@)3wXt^CUgou&pBz(@)N>X8V!{f4U6hehubk2-f|L4{wCYl8uU;MX`*SOel$P8E z+amb)o#{MFJv2_%RJ_$&mwAt7jWH4~rcLtvb%UX;B2#^6S40);9V&qx4s`}$^P^bN z%Wu0NjiGv*VT`Qyg-M;D-ec!3|_k2ee+G{Eh`CU&v>>uD;jb&$CEO;qah_ysy%wX2w`snxHiuxr(c>vkwZLj z-tCQ*siZm|7Eq#jhZJcZE8zjXqm|>j;R{pW&$AY0T$V3X(^3XZfe|!(28r8V*i{fn zWN52En8=4=JT`|Hwx)%f662QrWLKR0RYDvDFDq{o(C1A}G`#?Y0u8Zp;*o!}RqPpf zBBH-*hpi-2WEq#!p8V+to&L^}sGpX0#h#_T;6AM z&x@+=vryas2f@hweolm#0TI4dmENd|G;ZqEv@%9Kc4GM+t?sH@FRmnUf7t>dT$XXG zOZuhVWVtH^M)1NC65Wt)MC9q*y;^d^l3>({EMa zlq5EJgczT)UsL0y@rU?Yi7nd2q?brT$_ak=%4LTE^xu9{LS?Ter>(W$X7)jhV)U$& zENYi=I4TJU7@|(g_6~fg%ze85j>9BMem=C!7Z46@ww5J7A9pz+_m(u8I^yQ((wN

4YLh$mi^@bZWyT~R?laKrTExOl@h8ewA-*9>S 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 diff --git a/TFC/tfc-naortega.tex b/TFC/tfc-naortega.tex index 24f584d..b646ff6 100644 --- a/TFC/tfc-naortega.tex +++ b/TFC/tfc-naortega.tex @@ -265,7 +265,14 @@ al administrador de la red acerca del intento de acceso. Para la gestión de peticiones DNS existen muchos programas alternativos a nuestra disposición, como podrían ser PowerDNS, MaraDNS, NSD, KnotDNS, y Bind9. -% TODO: finish +Aquí hay una variedad muy amplia de opciones, y lo que nosotros precisamos es +realmente muy sencillo. La única funcionalidad que nos hace falta es redirigir +ciertas direcciones DNS al mismo servidor con una página estándar, y que las +demás peticiones sean adelantadas a un servidor de DNS normal como la de Google, +con dirección {\tt 8.8.8.8}. Por este motivo seleccionamos la más familiar y +sencillo, siendo Bind9, también denominado {\it Named}. Está presente en todas +las distribuciones más conocidas de Linux bajo el nombre de {\it bind}, {\it +bind9}, o {\it named}. Entre los programas de servidores HTTP existen dos candidatos principales: Nginx y Apache. Aunque si quisiésemos instalar nuestra solución en una máquina de @@ -282,7 +289,6 @@ apenas hay diferencia entre las dos opciones. Escogeremos a Nginx simplemente por el criterio de mayor conocimiento y experiencia con su uso y administración. % SRC: https://hackr.io/blog/nginx-vs-apache - \begin{figure}[h] \centering \includegraphics[width=0.4\textwidth]{imgs/ss-lang-stats.png} @@ -318,11 +324,8 @@ actualizar, sobre todo el proceso de una actualización automática. % SRC: https://mailtrap.io/blog/php-email-sending/ % SRC: https://www.debian.org/distrib/packages -% Software Dependencies: -% - Bind9/Named [PowerDNS,MaraDNS,NSD,KnotDNS] -% https://en.wikipedia.org/wiki/Comparison_of_DNS_server_software - \subsection{Diseño de Solución} + \section{Pruebas y Despliegue} \subsection{Plan de Pruebas} \subsection{Manuales Técnicos y de Usuario}