From 55bc5914fe7f85c4a40a279057f796ded2fade54 Mon Sep 17 00:00:00 2001 From: juandiegocv27 Date: Sat, 8 Nov 2025 02:29:48 -0600 Subject: [PATCH 1/5] feat(talos): bootstrap of Talos Linux control plane and secure .gitignore setup --- .gitignore | 22 +++++++++++++++++++++- talos/ntp.patch.yaml | 5 +++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 talos/ntp.patch.yaml diff --git a/.gitignore b/.gitignore index 14f884a..ff6243d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,19 @@ +# Talos / Kubernetes credentials +talos/talosconfig +talos/kubeconfig +talos/controlplane.yaml +talos/worker.yaml +talos/*.pem +talos/*.key +talos/*.crt +talos/*.csr +talos/support-*.zip + +# Local Kubectl +.kube/ +*.log + + # Terraform .terraform/ *.tfstate* @@ -5,7 +21,9 @@ *.lock.hcl *.tfstate.backup .terraform.lock.hcl - +crash.log +*.tfvars +*.tfvars.json # AWS credentials *.pem @@ -15,3 +33,5 @@ .DS_Store .idea/ .vscode/ +*.swp + diff --git a/talos/ntp.patch.yaml b/talos/ntp.patch.yaml new file mode 100644 index 0000000..b08199e --- /dev/null +++ b/talos/ntp.patch.yaml @@ -0,0 +1,5 @@ +machine: + time: + servers: + - time.google.com + - pool.ntp.org From 48077102a408d181f4d70ccbd1bdadeda667730d Mon Sep 17 00:00:00 2001 From: juandiegocv27 Date: Sat, 15 Nov 2025 02:52:45 -0600 Subject: [PATCH 2/5] chore(talos): add exported machine configs and etcd snapshot --- talos/etcd_snapshot.db | Bin 0 -> 1134624 bytes talos/machineconfig_export.yaml | 11 +++++++++++ talos/node_config.yaml | 0 talos/node_machineconfig.yaml | 0 4 files changed, 11 insertions(+) create mode 100644 talos/etcd_snapshot.db create mode 100644 talos/machineconfig_export.yaml create mode 100644 talos/node_config.yaml create mode 100644 talos/node_machineconfig.yaml diff --git a/talos/etcd_snapshot.db b/talos/etcd_snapshot.db new file mode 100644 index 0000000000000000000000000000000000000000..7f6525b7150c1fd08acec7e4c264a0ef7e7e328f GIT binary patch literal 1134624 zcmeFa378yLbv8V$nUUm@Ew$TQdAyCs25ecSseKunNo`HezZ-~AA{QKwrd=>q7K78Zv*!$7T|FXY}a^X8y1Sby+ zjK1=n*Wa-EKktvu%U-h?$Yvm$fouk{8OUZJn}KWwvKh!`Ae(_~2C^B*X5jHN1I&#d z=-28OUZJn}KWwvKh!`Ae(_~2C^B*W+0n^YzDF! z$Yvm#0p`9BtQuGwy*2Ox{Of%D_jLBo=kZ#=f1BCyKjAg``DO$W=Z?VDm zBDg?5zl;SNO2gstA$I)8>hSpZARAy{VAU^0|Kv8+?NX&Saa@|1w#!AI)asKnGo`sb zvvqQET=Fzx*`{t0#c)*7$gkp8jpoFc{p3fF{q!3Te&h-^%3x!-dT-;g?+-P;-_zIq z{188c+j(uv?F`4mT|HhUQ^i`nIyYXm%TuH_UL)1xMVFK-9+|0B>$UtaKRlY-xaF8x z8{jVDRvniL8}`#vCrhP@YuAgFa^Y$&&*2e`42%tI9FPahfh_}tb&7~TL6HsJ7zsXN zKW24&^-b~BXR5_YwOF4kk>jM~R?2>HYPK4Tj$4|m)yZ^zHNP4+@?S&2oji@Z$}d$; z;LLipQrc|K6zPqV>SlbpxmX#;ZI0|^WA3J7ZcUC^`1la_${}ubI5NBQYkggIWm|Ry z(NHx(Rf#B=qOAzBt$V)X>%_KA{JPwhwQK+Du^&IWIzQlC&s}ZL_?wT-I;2`AbrM|L zo~>7AXFR)3gxU;o3q$qlEV(cD)?%n)`yRk`lv@*wOuWKHYp*P9;D-0nYZg|oeI|e>^H(=vcukDqgak3saf@EH zHXcJFzlL7};QmuC0PZ#1g#gNlO7$3ibONpG4upcYb=S82h0o`>hjJVjj}bxCvNc1r zBv;TR7Z5dVRj_2&5qwFrWM9%HS9AgaY(V0^oXxGL0|^ZoX#gwrPEyfy8Fwi~PyFbE z9~n$MoxSzkxstfq(l?8n#c@e)nya<(T#d%^Ubd$J2HVAo6Wkn=@wNO~Ow~iHf~ndN ztTyM|8l75r%_{C+a@@Ma7ovGF9F2&guL*{&xR@777aUoX1yhzC%M?YT5WRU`Zr{jV z7SAtTG9p3QOz*9byvlvKdpgb`7R1yU+r{l{m%ftikP<~;EO_(WLpZ&3e$P!}VPq}0 zdeW^Ij}yA!vcGfUSr+42#v^Czdm!==+!zwD%-66`ZqA>>pMzQd^y<6E07{7S*yP?_ z431-)#&GswQmtX3$0r>|#3XDQizbl%K01du9i!ue*&-d(RV`CCBwKJy+Z0qol?B^% zJVBLp&DSl_vs4QwyHyh0?7<=sQn#mP@KroYO^_r((hiE|gse>{^6fY^p3VRg_S6)9 ztzEA`3$!iB(BAeGU8}~h0@dwmeGIDvdox@#$0nY8H+!dw)50Mmy@IP%W=N=!@L{+z z?vVAaEzs9099K(n2AC~Bpwl3xIuWzj4JxoLUYCctk){1oIo?^K; zJv&VyNYw*0YY2d*!{}rN)H`u%v_dq#00`iBq>n8@GQ~|}?A&-Xi4FuUH5-TuG^1Cf zb_R~{gu+FBZ1T8W#0-=OMvu-NI|xOKEbK{gJ23KrVC2FN*Kj`_<}MF3ZD_Q%jUO4Mo=S)#OQzsjiY=&?ED9DP1%lyN zy6Ne@Y>Db3{K;3Z>cXFd@~q8HhyLVn5V`2joqQn2-Jc6wfQDZ7Cz6^Ow&TRzcLdt` zjf`k>PY_HH6!P7>$c1_ z{Iap9a%0?j<}gf#LN=Cf_S143;UwaJxs4;ajc_*bx*EqaUSFBxUY_IDMt~^{@32cX zGScv1$A))6Y`u-%!6U`mXe^4ORpJxs*pu35{RkP2?8o+BIa+a!61P4|f2TJ(*7S46 zMiFZmE!IcLNlbPv;Zi*#USuv$Uu4KhGCfnzPw>yca`Nz+ewLGeSKkaS}@5W z^1v{k8&kMTx#6AEXB^3M>qAwDH3*^FYOSNJ-<#uJ*o~~;dAejhyxq=19vL0kYc>Pf z3}iEq%|JE-*$gb(3@{fT-hb@ei?}-V|Nnr!^;pA+WWF>b=BF8#?TO;&J8ap6Ohmn&?N5Efl%On^K+YTMz(HL*u z9TnY3-%-)d*e#WHv23fo%l1qyzm8uAS^mLN$?{CCA-k@n6W{e@LH0x4^Uta{VM8dbt684LMy`Ewz| zuUfMt84C71S8m9*Zo8H$Yl;B*)&dAj`C-zX%%6Sw zdD(o0>_XWLWHWGf%>YvIgTGY`27rNqXW|{|@BcCL?>Dgh|4*?Lfv>TA{XOjXl5@iI zqkMjR^}N^)+1|4qGKY*-$$rkReTD1z@9$ZbV7 zx?t58M-j-BOA(tN$M*Q@A&kM2wkX5UrkmS1dLXu0HiX%3}NbahTWCIdS-W6iEt3r~;2D$qOlf?rOMEfZu`THCf zWW|S-PK~rTS_(qTmuMkYiBtaM$`QPME#5#OFI)kj&%)hMkQ8bxjtQs%t5L#v9H>Ee>7a}AP&+v$%ih@gPJ5(2SNtSH*g6Am26lE7_j(wHhgjYEON^f9q zW`EfXWHXS>KsEzC&H!Bb;IEtg|BteGz{70+|Iv8=|NL0d^}hcP=L)6gr;-(t`Sbbn zp$wO5|3Br54R7C<4AUTrCiuGKVE^A$1Y4F(!7vT#Ik*3?Cc{+B4wX&9B((}_JE0@hO$mnMdS;70V4hXELj9Ex==%sHP4Y%%`gQ? zG$6?`s`eeQVF)V7BrIJ~OwDpKNj}RZIf05U1z0=V1o(njfVcK4z+ghD7kwIw2ek_7 zYrxZxzkt60g8Uy#BgiQiYzVaJE2e2Ej-VL?v<0rI3zn<-g5ycVkbT8aRWTFjvss|i z(b1(~gAl2q#p5(U>CDac>Cx8DPS0i_n}KWwk~08TKKM)9|Bw9r$KdDFe1LZ_fB$vN z|Njcx|33`!75e!R#^;BBUKpDkJ^BptX3E|c`3x8G7cQ00&~%}OiD4sxFIpfwQbi9Y zhJq|Z(=si=&`k$H0SjJ(nwc19vx$*_A0BkVw2*O_UT+{7={|!Zp0P>)7sUds_3AS? zlm{Vy5q}Xx_eV?PB?Omf2(1h!Kq4ZF^fk%CcE6=yyB~2o&ofM$%89d=D|~( zNT0YQM)jds2_e%39H_@GL4aVPN&lLV4$9+4;sm(-`-Hi;eCkaf!%Y3bEDTd*hfV?l$jU|+rI+jL@ z(@e(;HkaHs>e$0Q)1HoTqm)r7A{=heKGlkhj|hZK1BDB?;oyw|7c+Y%CO&Wpvj1f> zkj=nZJ_8Z!f7<^4Bh0`57ravcKHBg949ovd)c^DGO0C2z^?de669-tH=XtEd_nsE( z`5xH`rCJPqz6nx9j9fw%1F4>vwadz4sSH}$V7q7jp zkdGMV*Q|X(E})oircJ*zhIH?{W|d0S1Nl9*tfO7COZiIy@uk`|YrkN_J63Jk_gxkI z^S&nm^A=bzC2WH`D4`W?&qc$9ETQGB_Kw|Dbadw{>*=AbGkDi*Bo^$RYvku^d6FOD zMxOM^GGz*b36X9W{$ypVgwi08F}+c_}qM zCTDE{&T?-c`+3<6WHazYngNvV2Y+e&|G&-l`~QsX|9_qx;|rI?Hq_H%f4{q&U^Ih6 z4}i!mx{SXJM$o)iUzbLbTd&p-W{D`0 zZ(6>fAd&%LCP)XC@IT3PEys35QBktJ|Fc?{Q=rkEJnM3*n{x(-HkdNcUa}d;W+0n^ zYzDF!$Yvm$fq7;i>YJM8{~u??0dHpc{*T1|{}r+0kk}mUkeStB_m4YZ3&^rgko@JZ z;IDx1@PYL~_91IK9p_=aYCZSzL2hi}aZ<9b3~Yc%G?!nb1YqbX5C1?$V|iDT4OfwL zTeT$Y_z!Gpv^%>m_qJ6%r(OMBj{EC?La8nB$}JTU?-1ae_(e3!WgX$F1TEETn1dh- z(=MUEAxau)f3%=KI&CM{d`dUNV1lZ)5RO?xCwt--Po`fm$YYPrOh087b=>rRl4k|E zV}Ccqt#7`Y!ncM5`nP5K&Rw^TZr#5B;I19JwoV@09=yx#*|lp+@#xmAlLu~?nmn;< z%jDFqeS6EN4(Ro}ww*XWwQv8kb$Q#=p+nxb$y>HeP2F|m*wJV0-M4SsCpDANA}!eD~F4>-*)rt?YHeOxu>?=zGusxom=Ma z+Ie7)YE4dU-??=w`}c|MH*u5VuE{N15A5G}@W{zsbGP2?i>GF9diE{1c*c=iZ+-UU zYil`piL$~0_t;eSh-L`e+ce~+Nn>?|9YS)p; zTMw0Y@7_Jd?K-&afIWTFZ6|8Gooxqq-=N(#ZtU87eA`@Q`^nqI!{%LO|JY=4`=qMw zm!*?{klb94Pe(soG1?w4rUO71@gpeG&vw-a5%bUN~g4VY#h}PRq0j>L<-9YQk+qGR< zX{UUA-{I%nwsZS)s^0X>$)jy(ouq)|x|w;$Z$?=;7E?L4}tB98B$oSVIE+wFI8^~1-^!}a=1-I1oM z&cU7g_Sm;pruW>oZ}+n%XSVG&on5!g3py@BUB93U2LS3Q=<55Ytu4mZea;Paefq#Y zY3JNc+wVFxw?!IH0o^1(w{O=Jcle}XKssrb*zwzTZ<``F+&tw^-f&zwdde2d(}%Vn zo0E2FJ5PFhwr}0FZ`+C5bNsE^k^Szi^@DSJ_R11>KR@!GV?77B^)?4)h`@D+u- zviWMQt8U@^#J3J%Nglg1k*9lQtcE9hjo+0?oz5A1 z**Z9P(3V%B%{EOF4R>r4DSDnOTe3$$y_+R1oYfJ$G;DMi!ZWfE-aN*A_E9zi*$iYe zFwYFEW1pqv|9_wP`|BA0f5Zpy85R$CR~!$xDmFxR^=gPzk%&x-{@Y0aui~$QLGse2 zX*$&LvJJyTb$yHYFic#TCQdtsB$%S+2{I_&3`2D!pSUjZe#^8U|An!>*16SnpL=&s4xvKbOCnzZ$appQVqd2IO zw!v|)sxHcxY+DtGXZr}@OQ?CER1cXJK5Mmb0}$OwtdU;5kfrs^;|63OWiyb?z!Pu= z&Sk$j&Hw)l^Y4F-S6crc?f-w2`Tw7a{r|Dprg%oLHbs@xDzjC$;TVkZV=ylMd1;J` zmWws44B3E>uiB;{yAGTKouG-1?>jIx&|AkP79}UjtceRmV%@U67$gPvA+=_>ALIc^O*Il`f+$d0Vpo}h?62rEp@7ED8QktXYT zwk0D=MQiQw{ABJjN?ROu3P;nf@o7@GX>H18dQXMu3THrf=cmLotHv`s-%>GEsyKE@ zh-UmL{8KRFr;XYC*HHe_e1+&SX`U}y20Dh=#6cpnk0)fiIuSrDDqFT=q8TAAHOj@M zM$Yxz)%J|Px%pAi4ivL9cvwWJ%@DURR7W@R`*Lp`J(33k~Ne7lHe zT&vOk?_kBIwGiGcx?~B*rNZh%!5|}7%|{A0eq4&%oXcyYXu!lntGM^CqD;~ea8Mt2tl$$Lo+N%Bci#8CE}Z_ zmUD^ts~q>EpyqK2mk5x1)DcXcE!K{Z>K=k5QLky;sn1cSA}lR*WtpapXK?o3DshQN z7~wtrBw90fgZZZv7M9LdgJq14=1)+`YYbDJErnH>LAm42+*)pR_$>4PIyi!ZEptI3 zj>KKU4F`ohBkQB5JrSU%u%63pEaWzhwfN%Jmf=ML3QuTB>R5u9^We zp}STdnD=n&xN`y(5rE@$No?Akv3V86=D^5sfYgz5gO~9dboy*90Bhk%^n?piIDIzTa<#4~v^=4^Pg_l;--gzaPkP_Xo-~ z6wOdgVQ{ZVN#z6M``E96VF5x#|V~6TJdRT>_St&XkRe%S0kdk~G5MzdA6#H}RXGjK1EN`Te>f?*2h; zbvRPAG&qh0pGVU`1LC3ilBc7V2ZhH193aiLEnl(~c@g%_d%Ia0PMdH3i5&N_r8c~m z#Fnm8Tbi6C(=+w_sxhCtIx?Vn?&1(T6SL(6H4O2%tD;jb<}PHXG@URq$_-ADy1aHA zyeFmlkyG*-SktyQcS>G8UMe0ZrLR<{6U^`5o;D65~Y;eI&0Vpeyiu%NCo zg+*2R()q_L?1sE7$3e|4tmB@4x^!H_nlEucHC6p9MOTn{+E5 z==^$)JHM@)blyvZ;y;k%uH%MiRK76EUCG>pU^fgAlX|sMDj^^=%r{>)=)g`QwCJ9q!lm7&aY`r9?=V zk`BKiKhBRsO#ZVk|M-hT+_wg~OF9f4$%(3=D=~_n1=I7fQzc=~%9LD!yj#)Lu#xDA z&SJWBXQ89hA3B=iHng-o&A)T?$a&nlEpxX<875;}x|fu$wz0$*!wZFUM7Ytv=qu*? z+iSQ7hnG2|lR3{V&T|&yqLFtRTc3Bocx7T-Z_IJ8PrAWF2az+Bi1e<#wNej*y~j?M zBOJ!@#zvjlI*k%n$tZ%z<;rMn);+@F!imtY6t5GBjF)8SH&93oEu5El2`cWVeW|#Q z3~^r{WE{?o5hKm!I#KfF@^{u9jKf0*U_NB;f}=Kn|M<5W3b z?GyR^?W=v5atFVSdRxer4cx6-Ugl-2{r}O|+W&af3*a-J8ws-@gmkK z=b=>rtGo&Y{P%q+;D=eJam$#I($z&;3L`0kr`gCa7CjU*c_wA{lVr`6ZAX$w=6*e{ zGL3KNkl>yykj#HzMkGv!8k9&j9u7>0g@vznA&@ug5DrZ;HhO{+;drZ)V5WofCepvh#7O9vBuu)$(3_>N9YqA8Xrd5bV0|72O~4gNC6{a~r<4NAr7 zVx2S>_m)W6vz-#zOF$2cG#pl_6r8#rj2WndqSZ@rty7~+iPkffE7QfYO{;y~*($AO znLBXA2Fqt79lCM$JzE9}mvU=%hqq8zzjnBQI)(j&mbUPyb4+YwnlbJY0m1oj$I2Z{ z-UR6W?_f|xut?B7JjgwO3YT!?2yyVLHQ5zuXIl*wF2n^t2%_79d^3Ek7(U&HVk{U$FYe1A`Wh=g zS(#8wW(j4M(2`q1OBtI&JQw993)hyor``AgnMh~bhx%*TUp51$V+IOrkTn1Q>CC_X zRkr_si23*5VgCOI*yq2({C_R>|0iNS*C8vEnMD))1k9p0_qEaR!@;1?x7iG`6rI}M z8g>?FH(?!l%eLs-f-kwcZdhw334(~=$ji;xJ#odUc_iw(mg1b>ZDrh zDxi8}45w~425yAW^k82`(?6`?{$jW_lpI;vOT00VnM|3D#yK|8>@<( zE~~0}i?6d?_0)Kkxhjq+C6m?~VV?X``KLl}{ZC(d>&rvjSJGleuH@;uh^8~TV$hv& zAB=q>@xVSSgXvT8WykRs5i`m%SWbTi%SphTXl_1HXOq#l~* z19&a-|5vf&H!%PI8|-`xS&cQ)me`bXOS9DHLp?SK(U}_<7idpRkus?kU17>b-}Na1 zN^8_@yXZcYukuw`TR#e|tsA(@JN9Jahbw{L);ezxf^=8Sft8)Lz5K; zDT*@DV2%0sAIih9p{KZpLJU{;MG@B60NA|$`>`KCx;j5_`=(abWT#T8*XmV!W(LH3 zh4bibN3`TMN8xTr`yEZJ?J*U2!~*`$Iab#ODsY-(hm!Y*=X>610m(PJ%>>E!dve@6 zd)Q{_;dUFFY$e+vrDm>hYC6Qk^i6XVd@W=nY>@C`b8ehl?U53xld$T3s03a)Zg__7 z=tiaY-0%r{7_#mb#71R)^I3&~!g<&mF4t?UJ>AIa@G!B(SL+A6M?lGb3S0x=ou8?I z0Ui|YHP;61K)%LPUe)ic4mSRJ!tUEwcffAPi$&OV99cCT)fXfeg^emW?gYmZ(Lx)U zjNt!P4a?84+mUtu^kUa)!fXiAbrC+WER68+;{lkK&c1}4#QKj-`IPe)BeL~aWR0%X&C!ZOyCyJtkbIr5Lr%XC<`VZLr!ODoJ~_yZ zw(FSYD@4L6DW0aAAfJ(4)S9U#g41YUM+8IkkO!}7zU)&D_)M`RlmwNEkYeTZ3THD& zQx(dvL-oqY5FTc&aCt+h*xT#q+mYOjwtl)H_|&IqD8*A$qBk}4Ql!wDbQ#lOkyI{5 zBxYlgcv{yY(P%)C6pUGZ7J|W&?0XUnaL#{vkb82wV5D6q5)UGJmZM|u1`#jp;ur{k z**fy?p|wm!Rb@+2Y3h9@9?Kve*QMHBk?Ps5i|qTWxz7)B8`}k=)3qWAL0>y~E7*|)D}RWg=-VW8sGMDBok`V2x}Ym;@0oE zCA&CXD_ox#`-=2)q6=)C?{~DgLUQtE*k|jTn}Ux-$GDSPjnoPkHwQHut3}U(TsS{o zaag<%Z_!DIc&ufW&dEL(Cu4DcdiUavxM6$f`y_u7vi=8sgucWltUDAyWU7eCh;Ld5L+Li>q@ z#EFr@h=UC6=U<#WKZ-gmYsBqw?B!**md!x=3|z$CPV@g|=Fiud|Nl|u?_bOI|KGxn zKesll|BsF_eI1R~O&2Uhre$Wkr^~c^x_}dsc#v`6sKp6MKPS>DLPG})j9lH} z)D=-DcgG^seaHai&6QacOW!q%F6~Jnx|_cnLi9I%xDg*7>JT#Mbgf8?BuSQ3G}{o+ zmJ^*e6vIK=apcpOuIVDCCKAwqWuC{u+bs!%4%xcDOzVE9*bQ2)2a#Spv*rlzVvu@IjMS}NBejLJIJwx~!`}nU z_8GJJ;vl!F-D2r{wFY{9#j_1l77WXRPwdI49+5y^=ZU6e>4s`qo|`SV%d^~G7DYDk za5k_<*I+_i3{umL`0U+m2C^B*W}uH5xR`xs)c~A&_V;|eQog@QR?q)#ywc+}?D!$( z?|+c_{|DC%3{W0{&G?W0-HT&-{?mh_fq^fvIf?ijlVnb|QDAGYA@2dg%AeP}rM zU~!rf^@UByNv($JuIR8z>{`%OE%-3Z42?dE3Hp*v+%pQ6t|(YmrVkx@vA?hza)&!l z7r6st@f)?v-e|EtN=_nUDw&G0C0-X2VN~=^K!(UT^#+B|*&c7y(+Niv&v9qwW~Wcw zb!twz%Q0q;mNiB8ykdR}zXhKC55s8GRoumHrBd~f-cO$ht0|+qR+znuIp2s%N4DtD@)vF+dWb5mbse5_9PPixnWs+-T!s zErFV%hdi=keXg)R_|c8iZhs1QakEo=q*ANXWbMLvsAj9w5V`e*8qw~{-Mgw|>0yV7 zK+z$)HF@ohA}M*b!_vg3bKLKy6dk4%3N~)C!*7Y!iS+xYpWYL$Dl^2z5ja7QR7yyo z+r{Q0`hI|hZHy`Q070nG3s^!aiztXg$%$zF!ZI{axP#l(xUqS#@=Lxf%BF!5AJZo$ z+FKx7&Jqntz|$ir0RoedV&`9X`PjK^jvoEjxBPrnB7VBHf!sQ`DR>kU$E68$F)sR~ zR-c@iDb4Lcu=M1(g#1*?Hg&YFG91u`Fe`goJ`dCo^2J2KZ+pp+xhK~n*X~hD1m$ucOh%Z2(^)rne!r+ z-K{iztMHXo+;?&~HSFNkG+t!HYqq0mo@EH0=^Fa$tEKV%~&?uixy{*);*&8{Fg2^K_w_2QGt8sv|nJOXE!8>~^$dj3i5O&-y%?2tD z0LuU5Bj5eh8h&7G4;of`qkg5zO2)c0Gi?+FgkC7X7IwGHF( zxP-jm1K|>KwA&@5I$Itsmg%}N%I0EI(74yN%kk1uufU9|&|bd5k}_KKN6W;e_Ih=0 z;q_%_{EQPUMC@uI=R@=uY!B4j`JMbuJl0=?kF}>X_TL@k-aW{j*EC%8NFCjhX)h^( z;Q68UU9q4Qzyc{*E-^eqvz&kjJIf7RhTOn&I23}1o6W27&y7t5d^g2-c}lz{G~tEq zgL%c83*A?p%iqM`1jzKcv-ZA0F5fz0gc{#6WZjc>R5ggGI@Ls7un9pwP{pvptd8sj zm-6*zs96To6ob6xjYHHW+qjzke|+P{;lM%LxF&eP@!Iht#4gp3oWdEU;&E~c?^I?; znSO_h{)O|_09v*;M?VIFXcFqibE1EZC#<7gF&eL%AC1$MauK97uwL`K_+5ZwpUDXi z4sz!+IL1Rpcr-j&v~5ep+NEI?ld+L&DmtaHl}z3AE#j(5hR0^dZ>j2SZV&MoBaVx( z2Ykio3s4v!laXO;Ja3%+YrF==niz`bFiehbM2!k7BRP*6@wMm+31HsbH835!2KJ;` z>^J9c=5Gctf7(aZ3}O}uV8%m6z_b;lb$P0c?BtEH9rX}`4L1_$m z5gn4oj1YW}qgx||aenJ+X4XOAOemK9ia^&YD6?DmTcFI|*@rUw$sqTe zgWRRe%4#1vQfjDjlqAnmU|xAT!T^>l*s=vmCP$Se5H$I|r)AdG@>pA1tF;wbSlwFk zyJM^+c7mJy$}s-0o8JvweYy`^y?BWG{XuRx7$(AyVH0GwBgn6+)PvMzwBC|D2ee+U zVH=90C?aL=UTzQa9i2CAdgqJ$lN|Sl!PbpEHB}{3fnl&8<^$ba*&M~X*-TUV%>y89 zqy(OE&ovmtwrAIE`VD`=E+gC&jMB^yxm-k(h{lhYoX)A-rnF0%wavxKc=TI|P_GE# zBOj_)XGy|F-xEXbvJT4|@rw2Q9)1rH_ntmVnSM6JePoCmqN7BB)8GLrASXqzQnOG5 zi)}hfc056sv0_=O?)spNUj*Q8?`u~2q&5B1(+SfTui{>?D!|v-0MlR>63nri(`@_{ zbW%CQAE0e;8rOkkHU-)Nwpx*W>%z#US~`C#e=Csvu0D|c(;@C*Ae)X7AzRXYv|smZ zL6j+dsVPYUf*vTvLl1U@KWxJzi(*K;y`M?x6WHjw&}qZ5_x1NhtGNF?d)D6`fK9R4 zFRlY*wc`3&F|HRdNZXhH{ImFH0qigCgVOg8hPelZ8U|_m(2)dy1k_P!{MoimtnCEF zsJ4hb4asqc<;aF(+KVDVT-LSy!P6-Mf0pCEosvDWvX(>-NDd5$5X!-~k~G&=BlwaY z&$+ZzK{`cRK&McPzS^J+nV(a!i7ty{ggTdYG=fIXr5kvZehOjl+Q@LQotH3x&OFCA zyW?O6E@ktOR{vjT{`@ELO8xyCS&6`7EdT!{?DG>WzrVtcaq9kfc}?`WZSujGQ;uDn z8QK&ezn|ZaMfFR4cw?^|;@&&RZD<)VT1p*__y#TGG&COpYt_cio-cvh5348v)3Ro% zi!vtqvtVET$Y0B%LSdlL~1vZdg+k;ii z;v=iW9Q49<;XOv=g;8IU^Fy*myN;c^Bf-i>`5G922SzSxsVW{1uv=gYY|HfrMiyXV zY^K2vX-`{kh;wU2uZm0ykZL_Wx|4>rnf9|=M_7vyf@K~3T-qP|I{H!c>(?V+t&XCR zh|2NF;UsN{SSsT47~u&{r0kOl*Jkz>I)4ef^4JtD@ZsR?rP>Kyaxm5<%EG!tptVLN zGL2?G^{|7{LH;0=%UAobZeBaYeQc1sJfU3LMvt_OC^@PmTACngDkW)^kv^hI2n%9| z-gI3}B34ELuuR%!eFQ4D`Ys7^#i1CL<6WRKZnXq^`w)K!i2P(9i2UzC?%_d>Pa-lo za)d_NvWPD0bT0(F-l~FjM3#<2M^zmcJ8rrpWt(ctgvQgU^b)Hga~`voGj;|>*qyH$ zSTzup=a1q&>hIqIKcD`Un7{uw*ym?|d%IqEnqr*6CfHtnFBYEH=X>|FzPEw9f2gtW zw2d4sJj6n~WLb6u&80iBD!9sR1%+3ZqC*FYzJfM>i`p1l#_famozB?lcXQmg&g9r> zybI74I(1Vl%82!`juVOPBoE_|n2IXTyGIY20m28+~0 z9EUx3a;`AStt(DbPV)*XJ_+E~#_dySGmP8p(RS}E@S+$?bC36mR&TLS(BfNtEf;;( zu+qD@nWXO(^+xREaYdZF)Rl|*)oLS`ci>SBTF}MQ+d6v*D)rWx@51##S!v|oM!wjB zKR2Ke9^pKjAOjnm*5D^jhLSE!9E>C6UBWKxv61tW?}k4q$!a`uKKu1_ys+!u$howx zo%pk*;2MSG5$nr$TkkjD)Dy6C6TzE$ADQ(wTkBRUW!k}vH9z}aA2XZ`(=C3U&k1~Q zO71_hp-k#0D%E2%w9c}KHx_yZ^MbO_i1u_ZE31P`&y8G&r2`cz)!Cr#)0y?q7ob*n ze(%$MKKn`dk&%Bp&kyeE3Q0FRb<1bo(8ST+e?w;ux5l5rNMC>)v_fTY)KfE z`}(sjf;5DE{65$g4{hk(w)p4u9c_zbYJw=CB1nT{E&8;&%u`X`jVuL0w`|2%ebp76 zMRf}5AvGc1*Y0x*BC{>RB(@;2i_T_;ZP~BqQjLqGri|l@Bb}7x{2{n7luD%|=&#V5 zMx95IMjtg8UD5J6xhO;}j@CBzb|a;~u2h^ZqIY$93ewr$y>Db~U@?^{Q_cM)u1Nm{ zjBa^keI)(?Lvd}S1Mlo;>P;p#hzd=_&@6JCZxjkf>*xAL+&2vM{VeU*hgJYq!l)N4 z-2w>P6(m*G`LUT0{hB6gA;m5zG?@yp0cIE0Qz?xP7PcQoE@-wXf=d;`!lmYYv+k^h zkp+7U?@W0@ZFa+k$byI_Ea;*-($qBdv9w3h$!s`H&mf^z^9_?Cy2qX^i?k;;zqPR^ zW%A}VCq^zyGcwp67Y?KhH@`8l@UJd7DT6Mk-5cT@YWrwP7gqXFU?F?WW+0n^YzDF! z$Yvm$fouk{8OUZJn}KWwvKh!`Ae({HKLeMuA=C2zU&!+LA7T0byV&u$tp0zP^#dp{ zzCS(A|34hZ@Hfq$m_&;jktSE7)x?!*{xE+S0sOD`k(Km@A?~3;?jn|z)I4mI86YDs zPNPk6WKTtp9Fw?$X=rGa=GmS}98YnF9~gowR1}x5dcPxJ0IX4_5w-)zJIU?Q z#Kv9Y%=Y9dTy=H^kD?rotkq?PVG{-X)0Thz1scNzguA@xD zERTk{wi#FhBMT^(({J%-BW5#@%|JE-;S5CGJ<|ODF~;BL;+56|{4VqFFK2xJUuMUD z#p(khK0us$d#wF#oZlv<>D17)DBTvqibq=A7N+08GQOR^9V+n$eb5TMcbNMWdhamH zc;2f-dQw#!P}n*yjSir0z%lHwbqmVoWYYxwichls&&y;V8<7PX*_bKWCG+EI zJNP>Q<{$L|<_Cv3gyy#O2j=FxhyZO%3d+hnMUaU>n|*<|&T=H#y40|?aaMjrnOXWGE-73Zc?q5klds< z`{TxLuGOg;A*1ZiJiu%QvKhFNO+gy}|J#{=|Bra3{{K7K@oU-s|Hs+!7UutdogJUY z_y9k~j`7v!#p-ic?=~S#4shp$+48Y+y>bW zCn&U|HT)?}f1Bg*F|iElbUM`MZRgf7NTeHlYie*?5M~;?ym{>AN1QPBekn%l&Ap?Q zUZh0o=$Q=ifbvuf*I(j)32^PRdEKLfoH7qwJ6$xwt8Ai`g=~R{&@<3X+L36Mfo}+= zE9-`)`W|+MGrTtAW2x}Eqg%XQ(R@EG&o}|t=f{BE+aF+o(jo;csS07ND2DCx`R4<+ zf7Zt;`x`^t9}jZY04J==cqqE|(4f_@6+y9GMMeiQ2Td9?@HT^G zsldCtTku}fd_VN4?MWvfY{wA3?Q}sn5}1a;VDmPh{P%r88O=AoJIGD;4CU5ah#-vy z<)Wi|qM#9Uh*w?Lq3bb7icQ~jeYDkc(Ty~-AC|>_IM^+uZ|DNj0(;^KXge{qpFTgd z8Q%~(*t-=FU<$=rZ5AtXqpUse@D2d{lRg0a(IM_LgWOXXfET(@1XINjZQ>$zL^5=w zjwrT-rbfDqtXbV6HqvH^x+p5GEMYb@jk_^(D?z+x<2?ZRQ+)vWg~Qwj2DuBEa!w8!VOY~GSv{U#uWiT&Djg){tiQ&IM z@fKZjg?Oiv@Pt~Y=k?CM_R;f_#aqq8HblU*Jj>Qq!AE05LA3~)jvKBa_=+m}KJhHm z(z9ip&fU_7TzkiFm*ophv{EhUTl3a3tZxBLG0JLbB#^bUfhLL2Quk_8uec#-+~C^i zg++@MYV%9_SmXN1t3`@0Y@mU28ifTh5!<-|!5ZUbD=gGxqj~2!8ov{tT%(SuAf+he zfDo;aITbizxDqU?uG{^x%_OQaPKE_CAAcKs?wM82O!Sah`yHq?y+nFd$*9m2(^UZ}_ zLlXKj^op|oXESi-&A=$T<+S|&53`WK&sqNeN16Zs4wnD_O!oO-viko|#32MfHX)xm zzXugpA5Mha=V+OOjz=`2Ri~8O@T+{@hgtboeY9Ks;A-x3gWUB|)V?ufr%OeqrYsZ3 za!@Cym>PNpqV2GNro*s2MMp!8fQG%&j3;23yse35L!&2iU|t{Ws&*#+bHi`|4Is?c z3Kz9rIkeV#w|%!q_T47DquL{2>J0+pdrefi}rEB3$q{24H6VMhQDaTX%6y*5( zeQaL5dx-nmAg8v=@xoV)L|Rf+(N#5C@~&gUO{aUv=tD#kc63=mLuEY+0+yFaqz`gy z32mGJ@2Sc1O0^Q_Yf7AW{K@#;kr==WRG-CKW`a=_CjoneKLWu1M;`&bN1Ce7=DkV; zP}}wu$MezhTLCA7iq5oxqae&DVx!oRT>~3!i)#6uZMAj3)z;K-wj~PDN^;$)86pe6 zrDB?m5wKySt4!pYu(w-TvkNgX0z2b^2CsI)i@BnqU78|)QJ2o1)mB0y6k~x}Uj$VOcnVeWa?*q7<0e1I=O?r(1jwgLYoH7^$lNeePq9>wuh)8F(F{YkbEE9 z2d0-LzAe+bpB4~mk2NJY_X~*UFiMd2^V+%K5zOj*`b7!){)E(A+-l^py{JuXHd~WG zH+t2EHesVVE@0Ojx7*z|PBIRdx;lihG{hbw52(?P03o%g$5CsG*TQ+^IPHHOg=3;N z4q2hcndg)*;~if;kN^KN=FdOM{QpPT@hh?KPxAx*iNyo%=ECC(WB>nXUkanq#XYGo zj`ByLFh19Z!gy&%g^_llNMXpXq*}UbAyI&`WKp6(N0wy4cSH%%08_WsEVF-^6h=rU z#a8GRJFHzHB)hR-zqGR|NNLN07=|<(o)o zBKV)_8it^0mhTYPl~BW;WpgY~HpjI|t<&t;#64LH^HTD(>8hC5js`dy=?xb~kf;Hx zwR*Ma)`_<$w`MxV|76ej5B74CLNLuwLkJ%2LkM0s%zb{4+t^tMTCWvJf+iWBrg~s) z@DQ9(EyEH_qIv=$=q_mx8*%H53ul=O&ZfX$LlVM}0Bg}0r_Nl}Fc}BXe=lkkov;t* z_5E8UX2Ar#MG46=dX(9v&ZHR_V>g?&|G$Iz^E3`X{r!vB@!Q${|IeBK|4O$1Z^!^3RDy^T6<6!wRU&iYESRbqNr-r#?1$7S>jh1PjsJd(! ziXfRNo>om4TZx*Z3g{W&f$vGRT`enxTBc>Xd!F{ff{S##{W36;uudMA%XlRgtBLMy zos%=jRZWUfg|9%2zR`ymJuuAu?jUzfijmWLkw|PDLzQe5;WW=h*K8CnxF}rEVezYm zVmg*9d1jVMvrJ;soFkmN_mIj?CAMeE%-_wr(7|<&X;?!tGnVJsv-=C~O&Vzf#v0aG zVz+W8mXdAVOUcX;GEJ&>DWaiGsGS*p2J-TbKIG-^hPX!tIUz+}I$ti59AEb}L)6fs zMzg??Nx<6yqIO>}ZB+ayk|sM&R`RnP7W?~2jCrEBy@ z$=o3Su#3}4U2zwG7qI`vKEk{|80Nk($lcJ6{f-xlkZ;MNCCj!iNS26PEg7L+Q`AIw z#G0g=rXi_rmJ0KDNB-6*>eEO|Np6lTlw{8|!_HRCvmpXcw9nmAGceL2|9_#NY|knv zp>NJ4e=ob&YzC4ua1A?1i?h5j(0KszbSV7F_sVTMs|#^ zemYi4>G1$o=2jbTR~O*qEtY3b3McGpxg{R(=^X#*9Msc8p=l;_msiooYBRWxjv#h$ zDqzE43k7&C3WcquS+p9c?yr={mLlr+%2S1(4RPNZRaku}=&Lj`@AQnVUHjjU{rJ(<`2l(D zjv^^}wZqcHCv)7#b9aNOZyIG8D0j5M!G|NeT&^HV9tqwx`o?C;%t!hB(x!jO3R3YD z_Y*(5bZyo-O58fVpL_1vGElgYTYn&o$xeoBI(Td&ov}2wE-WCO13;!n4s)H;jtlD& zFdFFzISHllnOGvW$7UKTUchsZxRY^m61_2MG?TvZI0cGtAhig$ef8E+7m;R0;~{nu*N%>$|=RCNVitV*?wnC9*{xjd zh3Eaf!1HegssB8-@bD?Pgxer_BHC$MmWX^`PzMN>r-1gwK&V#JJoptEFZwch5m%(* zveD!(PE!3`47fx#LpOkPOO;tKY#u~c!_VdT&r!I&qZhdSe2}`VqwR2O9y|qXKJmen z2G)H|q!g8|t-)mlpP%JAiiQTS7Agm`MR0l28Ln%1p6woIb6?6Bcb|`Omna$P26y$! zF@iETkV1fCIRE(^|9J|#KkNl|ZyTbi16Q@fu4(KP)Ont$8ZsJ=fR7J*QYdjlb{u*< z8i;4TWP?Zonzd`9rdpn8 zxS5Jy9uzzbKQxN!fSqcKwVrd!Z#gE0qaqb-)BwD>NETC9T|U2H4O- zC6(~Jz8FhTBCWAE35uE7zL?{`NCk%_Hg+dCZyx5p5~ua13Qpq+De{8$evU?2+ZA0$ zT)=^G;wXv-$lpLg? zWyS_ZcF(u>66{)xbiZGbu&7Rhx0DT$&A{0;15aW-Ibts%ET}b!$p{ZXkgHuzta+uXqKCs7M7c+M1B5PRzh5U zKNgpkES>pWvN&=*(H3R+{T%=MR90Tmhpc>ai2HWG*${>!NyLS!vS>&SrEK6qQ$#~h z2x@R-qI;mc$@JCIMdRQ~&y%bsrGP!(ik)V-Z(kVhU4*3)SpRB_^{w5jh6L7|lO*zA z&GBEQNbk0@Q_@O9XQw~yFA+l{lIZ!MZnmKZ1XZ+D!9=BuV4#(qZaE%tjg^QxX9^)u z2&s#DGj5tuzI9=gFPN^A!1&qayk);8n}J2nz?0ec)BOKOnLmFH^Z$M3|IaZ0|9{wV zh2{IdI`;p6CDtX0bgCp>a}>T#=nqDrk#LOizrz0tG{}p(w3QNh*@dqUai1FGu4O^S zd9Q*HH4?!#UMqrnNO37atf*nb(nOUq6ox7|BDnuO%aHK@6)=&Wkoz%LCb!ZXL@bSJ z-@;gHVc5XPh6V)-!28(UTS5mR73(%!E9l4@#TowDEu-LEjdLzQ!c!&IDn zl!!lDYGELML5_a`^-Dg!ruROD|FN3;>>zhtidIRzRwQ&p^kfK@A=r)!5)2tT{f>&R z+SuyUBniBh>WWl~Jt2jzLsyq>$sn(3kbW_mZYmKBWvE`n0XoM#rRAhcnoddxU^~lr zkh0!N?j2H(73Sp=YyM7@A2$z|_%cxw6gD;zqvJfIPQ(ZEwP{PZaW9OQ1EcHZpk6N} zb?*yv{0oDib(rpR!vf`U$)dl)>xZ~criLe)uMvsAB3eXIP#i+D8(>(X5rL(kd9S34 zM0RD(B0c>E~(awKCNmd$%XnwIsQd-p?>Gu-tD!Y ztm$B{rC%#ruw9W@DiJk7QZx|I7`iQ3Xfh3>&9i(%b~Peq1T@Q3S9MFnd}y!cyCCrx z8=X%^l5ZBLC}%{K+%*ff;aY(-471d)Ueo!j#Rny!qo2nX=tEVYYm%TscujO-982d|?_d$H;|@xWRT^_=&XD4LPwmXYs}H;?q3? z*35C277y3kk~8uz&ham%>(Br8VJLoer~?O9$IC@akm*VW3fM&f912Jdr!J$7tu5@_ zY7!y7p^GcBkM)GK8Ch9T*Z``fuBT%^(!zY4af>l8?~UQzeF$>qcn5Ufo8#}L=>B0J z=zd>Nx12(G-sx%)xRC)4igToVyFRq43TjZ)KoFEapaG&}g85A)nM1Tp`gJ@R%4-An z`K^?li(8ss5@R<};;=v*FXReEcj#)-nXRL9XvwbCI>7lQIsPRS&VSLzmeG5LY0|;d z+Jk#N+(3kI!_zfIL|&R=sfhT2|3Ppxq6;n|4$*945iKL{TqcC~Mn?OTq&zfso>Jss zYx2Yv!D;R0d`T*V78w+0u3Pq!%|PEXa2@+*n*aYW^Y8x=uhjp46FYthq{QW;- z{C{6%pX1b*#_Rl!o&vPC4}LxY5%OZ~2x%fMe`$_?DP7t7>>vK+K`tfbfW~V(UNTzC zRR{TG9-09XA|uC`5ab1j_@Apvt|O|lqS;yD|1z!R*jeewveML5c`+9D%VP9)AHAwp zDrj_UL&I0=LQv!j1XuGf%keLxu>E=;_BF`)(svuvuNC1{_H0))MGM=D@ETRe@Q?xt z;&7nVRt&{K9&lz|FB4v`jG`Znz*AH8@S--wUmnA>2V>eU6~W_)xQ*>i7i*MRa;Aa` z`8gqsT_q#0FVFEWr`Y|wK8)$#>}X7Pe*+Pq4Ijz7SZW1{+R<2mv44gwbA)3N32|jx zLmgJOf7Tp@L#(Y5w$2U+Q7JiV$#zJonXk3^JB@_%85-83JgOn7>nun~BU;rxNvoHc z$Co#tR3%eIbahJ-?~YuCplK@Pim-nVhr=~*UKi#caBQ9dqaFCgEdQ^F#hqyKQ1{%fBMWzk&+X&-+jYpB&=;V35<>z0+>497&R^>pp}DMN*nZql!Md zOMqtrgoT!2D5zLOP$rY4W~o>zN!k@aA5SL1U^J%EYbU6F=Y6;kw16)Qp~lE63Iz#+ zMuc;TtckvzgzSsi3}iEKR?fin>{q4v|5r2r-oY#N|KA?@_bmVa!|eEB=Kn{>IQ70* zg(hmr7Krn9CTGvzm*elFiu0R&SfXzk=Dye`!@uDZ2{~J);8+eVCPOlSsp~F^jYSmu zYnDt_q{#mXxe3>^MTacR_Kbnl{${-ei09ka+njRA)>ts-){vWDJWi^$gmQjmEHO8v z8l8=TVOc*O6vS zB+&Y*7_H;;qcysErCh8B{ao{}%JHwFh-Ex`{UG*ZL$nR$`E6rIsFi#Kx^&kS3KJKWBsqTA0Og=XOPP?>^6pupsPxV+-m5OswxEk6K!;ZH(VkRPxLIw z)n(0GiC9+#T}EiKFmx|uk2cYzhj>8mMAztT14jb9XQdaC{itjPvKd&38Q91!n&$t1 zg!%Wsz$^9thgm$}-`M{D$Jpl|VE+GKvSXb3npnklXCFFtt>_A~2%qO)ljC1Qb?m?N zuVX*aWFN+3M@m+-Q0?rvrr^6Kc1T6g&|0o33*eE; zD#)^d%yOg$pbwjio~)>`Ra}~aE1D~?!I?=yAPM@ywBV8F9_)is=*+=&dRo`6QyMlB z2!4Hx;6!`D#J)u9x*ps{%pTO}MD+R`|9T4MH}$``|Je|2ud)D_dW37;mnGQ%SqnjA z3$X#pnNMU*FeKBI3SL*LS!2J22GXFp7_xC>L|9_EvKE?e1eeC#Cj1S;n*fEBBL#%g& zt}Mqu?|S80{tY?)4OG$osQ+ldZwzt2J;-ffR%0}Bq*+1Tk5199C4iv?zLTM#hblo! zRY^mEt!gQn>XOW2q_b8nqq}KsbFnghI#c52j|E(xLX5mNdW6kXu~yecVk;C93iH=u zpeo%1HKxMLvOK*=8fmWAPL-k<gH5Ke`p^stf5^z?RmXNW(@-JuaZV*mHO7xiV{6y` z_hUbPbaj3}Ub~}6N?z@-H1WP1_wL-?s34gpbsJ;YC8 z9#KuPqHa->kOAffW-m{G8Q8>rW7_`z|I7S$o#p>W^#HfA{QtjVpHHy9`T@R+#|_q)Hmn&H!pr6{l*}7JzGc@zGk$P5{;OWXgdNLmm^=m z!2Xgcxf-@xWlNVWTa&DnD4WaNt-#$%?bFu*Ma?0D16`X7-D4)PkUkJg!Tw&QAYpO{ z_7oTlrvghWDG(3j_y?#!Jkq~q@#10bF9tcaT_6^|d?Xu|jb_e1sErhd=F&*$x@765 zE!dJLDIQTgE!%M|ub7#!H6?yFw(!Gk7L(_7Ehc>-DIqa$i6thTy0LYCHnE1g)k^tj z#YsxYTXOtcsD!+se+l_kPh4zQpECIK6EdgC2C4u<2#)$9E;Y=Xjv&l3X$+q;jcx#S-D+T@A z`Um|FnjFrBt{CAS>;b;!5!8xl20|ek98OELk%fa!td1#*ies!qYncr90q*q_++UQ6 zpl0az?rJWCmjwEs03KHM6SEn3{LX;DZY|CKkNo+~%>R#$FK7P$-!gxH74!f9J@)_K zwivBOW=fU0Y07*auO#`m<@mQPnN~}?Vx-kX)zmziR*g~tXf+u$#f}6rKvVN|WL=Aj zVP%3nZ>Cag zUisgiy7Ta1|H6))<^Hi@$aC} ze{cWL|Jxz%n}b|RkA_Ycjqneg+nO#RkSn5`OjVJMV~Lh5fF%&!M>O=TR5K2Z69PC;MdO%G=5+1+KPIhP63}iFVGy|L2QJVjM1*`Xe9`pZy$o%`KGXFo~ z1K7g+|NoBt|KEtU;l4#_!|7tR8qh{1y`kU8@xMXU;^+HUi!T`FzCXw*oh`yZ7pGl4 z(vOy;`L+cTT=An)lK>_?b$Xf$~(JO zl>Oi+p)ubXOG|o3ulYQtlQVX?sZqu|bNoB0biB5I>G;MF_w_;UniT11y;>v+%Jn0teCYZr%1#3r1e=gqkm7==xP*lWSUg%lE5kn5)tBe<@k3|+&|nu?*DO!`}QCwq~N~ubt4H7JylU9$q_`+h6F%6 zP_9@>Fo=t`v93Zyw2xW-Cf}Jp2=u{IQzYOr()p=2%fhp}mWAH1laPvc$5OGYSE;Cy zT4lCMLkA_hIGwbV-ksy$O=aT!{maBphGj^v>aje;UI z-!cU^3?Ep&OtO4{71Ie5DH3sM$7k9s4~M#zhhA`#kcK87B|FGwAe(`unSpUOY?}Wc z`SVX_{(p2F`TyT!{{DLA|5Kg-_V=DeXtOC&CRLCDPT43Vo1*dXQVCtTE7kmaa{POi zN}F}OYNX91u>DKEBV*&Arnu=uLp)qo1X=ZD&;|Oi@m8V>U}oP1_Fbwr>-bDhqc-b! zjf6IP?;@ljDAKHy>u`ByDlnkX)~n{)CGe@eH^;wssidLfRU>I|P1`qYbjFZXx;rF` znqYdc@*GAiY7E&2WL%kl4{BJk4w z-J7otabF$eM%&$+=1WDm_f+53H0+9sPzI<3lR&bmBmQffBAUa3N=A}1rp*=eX~t80 zn)S^OvKj0*ckRe5h>!%rAB+*ctyhGX?P*e*v77S%9?bC%Qk*}~KhD25#Qo7A_vCh* zr(G~YyD!cSe~y1YRerDNU-^A~h&2Xp)fsTeFp6?5tp8#3To3dq)J??Ae1 z>A|^oG({F%-8EznG%!Bu0e@ZYH#CcQey;7fNvj8lriaB-s z1o|IZ1p2F}B`dmiOAY@+IsT!gLVxNNBlMd{X4Dkl5YRr;Lg!2u=yzpR@C_8hSduI| zS=GzR#dTBBpZYvcBl=UvPoVz{@N%+S%w`~)fwUQr*qdqo|6|Pmms|Y*P0auQ9{YSX z+yBquJofjYSR?M}H3H7oo7NKO59Rm|QI+_P{=)!&ImG?RAa`AR7$E(Ukxn#p%W)-G zgrCH1+?xH@c~Kj5&J@3zoQ8bHa)>=hE{_*It*Ic zN)TOV`7eQAlo}i8^hlfKU{SGwPM1hX!o#s7JhNwAP?@bK1GM>vbNs_p0$$a>7Wktf z?rVeGSc(>CxmbjJ*Eg}~JBr|GwvNm%P{1NYpbDN20k9DqP{He$MFdtTA|R!#|M_am zqija}?ygtMy{`ftWazqwbWx3ap&n-clo%<;cTG5=8inE%-j_pL#0Q#UCTjF$Vo^< zmm{ z5vl=~g2%c2a*^h@EkK?NE-&sjMp6z5kagy~WA)Cb^iIb7`KGX)H%eEX# zmL=IqOj0vDGb^pV(ysTAET?J19n2N30-@YT2^7dd0)f(&e>pge%JR0eYYg5DOiHC*&N)PV+kpdO+|Cr1aP3T z9s<;(w)45-IJXX_bH_U+9Ou@`Z9Cl^7RRqz-Zv{Qs@0lZ-oHZ#-tlnB`|Vz8aDRfa ze=;uR)B-&GQ`wl5%P0k86G~(=@B~OjGoCNNqsINN@_xG^bk9QKm~aRaF-Cgi*o+M5#i!|mBI1( zL_DYF!0~D(4|!kC0?9>=D^glhbA>d(F!TAir|o*QtR1cqF3y2;a{4JnxHv1earhsg zB;z&7qku<&)lwkAA8?cZ4f)=%{~PiDQEvY?;sLgE`~Qe#|G(SX0atwnRJ3ZnSb$HQ z)ADn-5WM^0Is>}D(%2EB$oiMg7F0&)w$)-Delaz`{ncu1Cda)(@LoDO zzH;(T1Fz{J-|iw;wmJ>0q8-M3LC*O?te_x^lE%=Ja`2`sAgU&Vq_N3DI$20S@8J2+ zJW4(^dtAH-E?>ncJEzc0$8H6u##^>owOX;qEALUjqW~z7 zT>dxY{bzCc|1wMde~-1xjjeW^=XBy*A$O(7*zMvkU)o?Y}&lY*Y;vXfn~ z?6^AjuIoD9yH?9Tw%zKz*6didcC1=1BQGYR0-z<6Dvf-J&X8*0y+ZK4bXq(d7Eg7rd~dxAroy$lL5*cc%Kk_ADvG3pZwwLIX&bnT_oLl z`0Atq#ym>G{VbC~Gu31kI5ip|3A4#`LDF)-=YSSEU&wfS&ZD;HjJTY^wskVR&I$CC zj*ns|$xXJI>^1^y%{kTT`}9<%=w__i7Uf11blhq?U!Wq$n|6s7mC;@4Ml{J(qo z^-qX?|F6s%efL{ClPw;gS}tiO5Fp+4dG;JP(aNz8-7f_1r~A;&`aX0yIUlJ4lwN?N zGXQEF4$Ck;WNW>}a^FHs+%Sn34FX;bXGZaUmJs*C)(yz9)nTXEU~5stw|yJ3;lkfP z18}rd8VLZh_=beIIjFF;xDrQ}Tn`wEQvFdfBuhm)l*sDZ_+T;t|{a z@iB|PZTM%c{LKV*#f87~5bJC8s$7w3#Tk0k`j`;>7-eyedbuhV|13*m<`TQw{1%hT z^>$G%S5itoBWDnFT_^zhlKMK!*N%kR#l(@)U;Y(EZUn(_eOhTfqxZ(|4O;|rQKMKedHptWnQZ(fmr{?1o9E#M&RAe zX>}RT%D}tBRY}fkC5n9)>7@X86cDdnGtC~YRM6@VEqN2Gv{um+`j$d}MXmypbW$tO zOY@}^RNSc71Q<7dFd!i4HU0*D;^Q&UK5-qFC2OIzSUKcIsU9KL?qFl6k6R3Nxy4Y% z(|xpYwLV@&pH)NP<3jM`l(~MVGuI~K$6mj7N|#{8Z+DX)b`jef!AWLAu+YU5scc>a zzFjO!GdUEZNhudAq@;8*qZVSBl$?Wo+G&wKhpbo1bCvQuNF=T|$NS(pWF6eK7K(sx z6>Tp(A^cB!-auPjIpMv2a*w|wPB5Ed4201JeIOWmqB*WgsR6Lr>ga?~xHyl?dAT%Q zl?!mToM0L>^JZlSn;p(yE9EK!Vl?>TNdJx3N9d2&NBWb=#1*)J(^?t%n()K*k?Em{ z>mxUzN~3(C-_A$$LF0YKbH;UDuFh!n30{KpDApDn>ju!;`C@&^EV@)-tjQQ}j)X|h zY`tEoiCuVo@cmtpwd;I=x5q=iOMM}0QHiV{GU(CYJ&y4l^iBE>`kvyO^_>tlOkr^< zX;XDsIr3t`dgwNRtrd3(Yx%<=Kk?bv_!AZzUu?1QoJ{Es{RvwbbMf9-I@=qIMtigI zz$b*@Cny6CvBmLB#=q-F=G96Wqf-+vB>_w$_KNL3u%dvewS|b}45Xs6RTE+*qQCwA zS08%tGjDm<1=gwC`{q%=qku<&Whjv5_xwH>@%i7a_@wgv+qgXcXI%a_)7Zx;)=! zZpzZ(gql|>OO3h3qsNyLNAsD+;d$UVt7-XE*sw7unWH)uuqDH-`#TxtyAoWtc`&u>?Ft)ofDACK72$%cP@)6!PPy@-cqS z_>F!pJQyco^JUEkR~2UuY=2_Yne*T!8?^t=zr+^ltMhb+%l>S!6OyCfJSzU$R)Y^JBr6D1UZ%Ea+bLSn%c_IFAMYVK%2uu3((e zzYyz(P*5yrwfaD%Qd$~=Z|SkVn3{rAl}+cgL?)k(75L=-PxJZJJRa8q|0x9j6NjDX zJDVExWvjx|GPS=fgnPWH-6D&&pW1KsruK?cTc^>Ne)KoD_-#}Bzbw}6d}{v}<jS>uB<~;Q^8HnMb-uUr>)W}0VSkgqz!z|BudjQ9 z{(j?mRP#yeY|v-vT1}IIX6R7e%m$wnf}f;X*RT8C)vh1%liU2u7!K5YJey4c|38+` zA}MZ;W`E8h3A$29q& zTdPt#%YjPr9oY>!Y>7?oZsdW-Wu{=d*i{96CRe;uWjocq+jhfGS%YP>?>L&_YTx;k z5d0J!sN1^OKy4#usl}R7hJ|g(W;@(8!UubbQdWG>PwrcG^Z@0MOhb|fs1d?9klRtp z=2JN-0WbAfPR^&3QJUUM7&Ogv2QMWdr)q-pnZ(p94uj7>wjVaP#=Ba8mdGLL>oj`Z@9%rM{jB~OlXX`kH78Xga_+O{^Q(}WKTG+$LnVNJ zS*iI%lhphV4gd{^+Lm zlTWkieFLY_XWsa4TWy=t7c9>0T%Yv?%AOt0%&ui;=F6KV(!ZI_S9^mr7;otA` z30GNbku9f_wgBUFjk)LW6|2%nzz(gjObgv73C&PafYvH7=(2q=u~JDd5edGa4lIOd4@*$#_Om^J+2~ zP397@g5fiIufEBi5FQf9xm0Shf$&PY%cSMksY~Ge5t|q1-2%CTnZ#M_oFSwYiq%@3 znw}A!I#)4%EzSd9WkFN-vi!!zuK@IEEs7^=a6vW7RN<6Rp0}>3{05J;A;UA#xKk@P zstSDylB2^{khy%;4Zk_;VG1FWdK%&>tuET*9ztR(zKC}vqPc!wC@|Gf6!Zk>-b3g@U5i|-f2v{RSMCqD zzDUYu=9Qz{x017YIzJ~WxCjT@b$k%|&2Lu;yVs1Dt8;Q`(wFyD-5))!yUcyuxgiPz z7FXNi@;l;cy{&fMP9Vlt3w+QY{2=A+|8U{$4|bCe`^jbPI^I&53x~@EC8y-T-0=cU zQIQ59nM|XKl?*ahq*8F)&lu2@CWn94&{5PBU~4o=HizYa-d9Vz0tH1Yo4-IH&t+^b zGkijW-`KN;iv?9z%mcyDxY^9KNcc{paje@W7thxbHi1U9+!~$71e#|Y-NL~)kgkcc z>SWzuJHke`0fUOpeGORdG{_;Vr6gcm%Sd{i&&0ASKs=Js?U?1@-B_CP?hd(F($p!P zV6@$jpD%~!%c@oj%L}+C=Sy0+UJe^1r7T_B-c8*%q#6As#mGj z18?*P-$(_bXRWte--pj_ z>_PK3HzkKhC&J|_tFMX(S*_N~3D{d(PZ^wc%~s&WrXmdNwQKc z*J@$d#&uj^bf*?B7s6MYk@#UA{a5QfA>7`veuERvrr#)$!&I4I#HX6!p^8k0mI`c4 zFmqa^<$1_~%q8C$$l7)+SUt=b{nc)=Mz34^e78jZ21j;|j)#XvCZ|Vtj1CP%)@9ymTWn7np)dNejRJ#uV( zdLS`&{K(>1sf^#o*l%OU_1_47T--4|GChVC4#f7449$*REhi2X4_>>waq!y7l5%|T z;Mm~U&cUUlJEz8yxq+FHokK(X`{KwhG7udd7#y0K+&4XYY;mBfyT$%VK)H{RH{ zXU}xKR4K>#jturK?i&G}hGvHc)WMnY1G}d7kB}XQ2lj(F z)xnvO9fSLn;embEjb6QY-QeK9{ku?jad;6lnv6~l?Az5hIIw?lfL3&zSFkUM3TF20 zKYTP(D5WYpF$d(`v(@t4)KY1BXJS-6IIOfv{~4GypFuUePKJZscsrIREWm4R0gPuaXALX zP6CLJ`GNxAxOhIV6cS1f|MI9IZ-J|M3!JyWc?;Zf3!HwE^ZxZH;8DP%fJXt30y+iy zIU%V0&)xe?`~Sc2d*8+<^#=$9_zync@2%rAVLAMY0yJm0)fc*YXw}+(^3XMHqIwsl<|($fc@QsUmw@T~m9_9`)9>xk?GY z_0AwVUJsiWh1dzVb~Kslzz=7Eo{{ z4p(G@LBgQeaEz=QRqbe_2!|Pf7(jrwOv9ry^VE+<|9Rw?rZlM1%IYx`Z&Y`sRhf!~ z;WE(~!(f=~4A+du1ehfgAptHT@N-cOl4|n{loDLWzeDQjW8-)kV_4A0UeREx{(7TsBho?k^LiwhDRo*cb!}{SMMJjnH(RP z9+^5cH8Oc%bZF$zuDw&!r>(Myy^|+d*~H%AL*oNuBP%v#2NWhYsu%hT6d+DVV`Cr~ zPQn@WPE8C9opR+&byu9TIU2ExiAJg9gaNY;s)7CHRP9kVhPRXRN2Ss*SYZxJYLy{) z8PHw|7{0zlRj}GIIztV*~BJ4v_*^JLh0g6qs=xa?yA_U5~i3n=crylN_pW>;WtpJ(T**Em>ye zI29gZqv$`hOV+S8IA;>0C_k9-Bb8Z$wt2lK{z~oU@n;>=Sz{u4P4RngI z_vq86WyVm-G2RBTo5@TWl+R3S(pT)`Z8$12moiQjW9ryzmMW#jOmY5UdI6u2i1KWi z3)p=zLtwlD8LU2V1I`%sdV@T)we&lqmF>d0s$>42rao}KYA`g?DWD72wHeAkINwko zI~*}|pi)P>=j3Bk4ZtrNjmGuSx+Je3vD@w630PQ{KYyFcR(8Y z27N1^U&RluBU?!q=pu@MMBLbCTOmas2@?Xo;-k+?lq>ZsqGQ6uXmi3a@2wWE>ElEe;ZwMHHdlICWr+kO3yC+m!@9U{WnmwcTg&gA?fgk1WOB_RmB4X?AOA8*}(x++*eYRChDwSud8%GP{<@y9xQ+Spi50Wip zJ&ucq28PE*$H`jyb#maEfbV9(cZ=Y=Rq(w*=-z=-MQF`HX;EIPg&!B+$dNyHP?zpO zL)zMHe3|rJD^Lv4s_$t6fJA*S7A__f3->~DfzD9ewhM+S*F^v5e5ePLuyO1*q1E;C z4Z`o?r|aB=#ZLImuT&y_sSvral{R#m(8a3vFm)i0IHv+onn)ceNlk_Ud0^6O|^&j#iM{n z0gnP61w0CP6!0kEQNW{sM*)ul9tAuKJT@ut=e*f|A3*l_-yQg*_WmF9>o>wNfL`Cn zuW#UZ03YVpkLURR#`S~z`cwS=dwKl8C;0Un!27Y}A@1=hq zK&k@Tp3VFkUmvh+_xn2YM}Rr9<1Eq-2*C%ao5D+lW&9NCq)IMdMXfHzeiDY{BPRL zW6SjNT5^D#scTkXtkWa4-FkvF2k~rNmEsu%ZVahpPC}NYl$6!9crL3JR4t{n?a6no zp8Q#7gNbNs2@&Oa7%$NwM2}O$e&D-8@Vm4>f3-}1{(@Xj&USs=rB||=)(SZ_FCoO9 zx|ie>DXT=03Luw?!cRMu&t=;8>cLg_N_W&i(uTTylpYj<4|dcm*T-FY6_2G0>9~Se z8X5W2l7JJC@;OA+q@r3zk>NTcE77)N^*yUsPwH%}ScXpOuTYXG-I24iT!VrRDG$FV z1iwdn_O#`uS)L#-aN9aux>u03Y)VPWm`ZU)O3Hb_bt3JCB&(^Mn!tcs75YkOm?hmBCPDQN<3Qm1Lh$>vcTZiecQQFdg6*ns>0C0G)pE&fUeZ!= z_zV@$!+Ze@nvH34A{NU5X(iWo?0#T%?$0~x9LM3H&L?)3{DBbs0qxpfFEh~&ksHW4 z?$5jR3rSVgj24p;@dOflC*%Z@vnBEvG$onSl9_lM%b}i}t##1;$Ld#yJjwi@ii*n` z@;^fGe>&sIwsp94FQ!IQDLI{@I302DWD?m$w0ufRB#}|1kc!9TMEha;q1C-rApB+W zfgcLNAEGbOUprw>eE(}zn6&eOQf>BnvocNUnN=G}wVI6v{#OY8FD24zD98y=N|k=t zq499Oe2gX+IifAa`>%L#ZMkyc`!Be2!?Ulh_h0h87o9aTU-|9l|LS{x`_pjl1Fw6< zD}Mc?|L*_AWz}b7{(aqt|Kj)yCZ0HQ^9{;F_doF3Z9hyMc*n2)>sNB$4e$Qut24J8 z?Ym*=fpf{5|KXN1pL*Bh`u5%}zUZ58E&aOi@!SRPc;e1`LN$`Ve$6MAp0=^?TetmS z=FGqCfBRdXxqb1Ke{sv#x{BpDf8}F0Wb-%lzyJU4TzB-NSNC0e^E)0mH@)V)7k+t8 ze9DLXr3YT{jpr7&{p6ER{p@dVp6|Qwz^1D|_N5P;@$Gwd{mV!GlqUt zsS2-89+=zpz)vi1Py5kkqZ&z-= z?;p-rZd^M0w8+snUHFC1KkeQ-%Ael*XSq+s{_+RsUH<12Z+Z8dF23~*Px$oyJEz_` zdDWeFEj-~@$=BU+_)sAH=I5RDP_sMr`TKL7U#LwS+lhU{MyV`Z3Z~w#L zx4rbcuZ+l>K6>z{w@&^1-j}2{CFaldpA{>W?)9Jb(o3^zuKnHHAAG`7&N;iQ_>+gU zhyF$muf6nJFUtHiJ-p%XM;5=?V0L(nB90VRPH1k)vDgkyj!3kqaobL*NS9fqRt@|} z2>yt2;6Lh6!SNLmLW|sv2aAxI7y9>p@+pB_+UYAXtAV|;eOopbjTe%Ij1-S*n979$ zFs9^qQqlk@T*#$Ug>15EDxVN$n%ygxOdH&;E{{AMH-+#)>e~IVsGp;|y@%?{o$?IRYwg4L>yh}bm-8sepDhqsF z2!5Te^Ka1C`4v<5{mf5ZZRFrJ9p+pPWT`A-Y73CJaSTJaZ4Ce96(HKBV_GzxC}aU| zX9N!LwfKbaA^2xFn`gSqx6i55x|07TIZjt{D+RNxFeh+3lG^I?-7!)kx9@xn{tt*> zFub{1^WaUBxC2t`P&TU~wm6@bQgLi%*u7*4NQn>+bE+JR$F)Kso(-HC+Q@gM&)oCV zy9H#w(|g9QkZTuvBmeux$q)56C`z_B)ZmWgQX4*6L;c-v+)qsYesbXoRk+OYSSBjxqd)`A038H6sRGpj zMB|b|wKj=lHjzpjA@$}Q|8Dy^u7iNK&gaJ}2xyV;bf*sd&!!bFvaOSqa(kQgFWwc8 zCjqB;#vV1Z6wRjXfs0LY@i3o;DmM@`$$CaoTH3?Gz_5AZ?xwCDREdssg1plLb6b zG8xmPEdG_EK=@22GbyNVbGFUwyFdHUkFCv&T{%{`Z=VJ(_%_|uJT6#u3g1)M=T3vutJ zr}}`0xP1R6F8@EDU&p!pZ`kvH#jg!}|3|s~{=>Zd^SS-r@E4fk`T^tl^LW0$$Mf<} z+Ni((9*e>cSu3zD|3F77WM;g!D?0-Z3BiZx;`^bKR~|pJi`*}eNQ?5gn`p9@Sw!s&->R2L=S-I20%gwHOip z&*Ff`S*J7`2bi&Xf&UYN|3?S;n|eyn%U3WT+3gcg|yH^RI5l1VcL=qxHkhB z6JMyC<~9%!6^2XFO~b@U&!SvcW^u2FO=j_2(t{9Q_RB{0OCJK5>kS&jWvt;pu|~(H zD_YK7$;KCU=YyXJ!Jp8vThaNz{dqLHS&)t;6gVrTlTuy=0An(jhe(~sWu=T#Naj+2 zWQpgS=Af-#KehVRp~r}c5KHry+I#j>A^20;vz0wY+EwAwxjeG5r1FX)rPDbuW;_a~ z3V0nryQ`^k9BS@FF3lP9&K4iDpIM!=WmL0GDeCJ2>z*~UekKHeM*HxRlV3i+;3q$6 zonRV#uw*3Pg*cPNAf+i#j*Nb&8F@=A?$q5Gg z^D^e!OGz^r5>SwNjAq2nwV_zYtE}<7jb(psjjC;{Ty81?!lzVTnq$^?Q_~grxe)w0 z9qSeS?OY#s;nfUgTP_vPLRp)E7onmeO$!V%SV{A8J{N-20_u2CA& z6E!*9{Xz)-qN4@I{dt#uWmRnEY8K0iMm2TWR6@!plqB2=GX=W&!`HL@9Q>u#FB?qN za-+pLCh$uk_)FT62bc3e!!h>5j@f4CGpc5kQ>vO!6jcHyElsKgcquuPQ>9c!MTmD4 zQ!kZq4vPE4drI@hrYqE2XIF|ORzJJo{b1wpUs*IuSVw{7Xr}u&DbP6qRVnZ*A^0mw zxrJpM+zyawvdQt7%gD!*blFX2;2si(w+J+|-~ljrJQY<_@V`s}JIzTvTQ7{Q)BE%& zaJne)Bwmr<2ce$-U4>67@Bb^m-T*nAUS9&ge)^Z-^1l%u@C5G9|3UpW{rA__guAk{ z2`AUq03>4_2H+ori-cBC4Rhu)2OuX> z;0fWaEytmD%koX+M!GDwCIfJQOmJWzifuwkq$5ul5I6=*3B{j*ja$xZB|COdp&!dF z#WggX7c7`R>fCmZpKNjolijwtzRG;#&~1;q|fzif(`7mmazT8Vx` zhYZ3?!%s%JaF{+%{~|iPO*mqlwrDl%h6>og8JrXFh*22DXXRqGQk>Vpe!}%?Lo*)0 z&0=j>E69yfeJ7p+k_aB9C3uZDvCo_I@!7$;5*$G5y4~2mO#D^| z{+7zz*W4NejgX^aUI3~RNgoI{Woy? zzhSTcEWbAV`+Yt^uuitC_2+-8Kiu`$b@FaS!~cVGfjmine!XYEc;g-KbvVBXeru>Z zv=;EF-zK&C)BM4w(WD70S_@nscM)VXITwqo(5R*m{Y+CQ6r^lg$ zz@vai0gnP61^!4WFu?oeX8(T=zxNA#Qhk8TAp#F_fBet!`_d-;zJcEdeL%OXIJKOm zt6pcRhIrIu;2HklGpKa9xQvnO8nU09;e5_TEQ}`$(M&1|{I3{=$cod@{z4`y#epOR z%Xz+#jT-P~tzu!1)eoCq!_1)P68Q=99Lkw^J}S#v2I&GJ)Cz-UV!nfCTWMHqbvq6H zt4;~{flbZsT1JmtQvyD36M4?2Ry(f#q~JEKdx?itohQ2p1_mNN`P zC$$;6)0AKhTnGPTaGgXeZ0^oUzT}ZhPSp?ps4rEjh~EpLFi2;_rL# zjt#b<5YIu5sX$+&R_(LRE#w?~0y)D;Pg`y>b9$qkq@NCSW)UyEO*o&NOU|~qN-6?} zv($jAVU^}5`*N4#G!dz4Gl7yXASHT);657#GJRz{cU1s&-{G6qXp1(2YR?T3@w_>}XeRyVTs5 zE(=|vr#;g@pw|3=xp)TjKJRwKgHYD#d_BouJ%p_?P zN2!;_9F5Z?X<@R4CP^EeK#?s->jq~=aiboK)Qd2t(Fx?Yy2vqR$OyI3K3XixRm*sx zl%5UC94%Jv@%HgTnKPSu)^Tz&e?Vx?hSfF=neC9b+xERV8JSy>vAa$#!`8Vxl##QZ zbQ+Uv32Uqq_dtg}a+O(a4w)!R2H-AO#}Ff)@))8W zw0K^Ta;X#$6=a|a$q1d2a2QvC$eYT@iV?xlDpahsy4WE;t&wII6H+eD*_{EO?GHYi zc5r3PWBVcU1Xi{qxk8r-u_gAyJchND_3jGzk61b zOZ8csyLJiNliE;@gj0F}-3^?I088uvB&-bg+R8KM=P;|0-Pg-wZ-f*5tk$T7`*X2W zg0OpZ6W6!WFkhm3OLT`1KzYdOgIs>wXaaFF3MFEJz+Z`U4u#sEWM=FH5?uefm4vU7_sp6Fw%nB zYfummqM=f&yjrZ$LqNFJ0IE%`=Io-;6r+%;%@@&e2N`VbE0xO?c3IU*Wm#ok>6g3= zuXaTvHxbK&UAVwvavSKxa!M_JPeN1|O&V@rxL@rLzM3-s)0f+s6e5#Q`$}Ag4HGc9czinw_ z`WR;@&cmsvYc~o;kPp~Ja*O$)8j|uNqA?LLtzo6W+^2Cv_T2T2BC@#mUmxj&s=5Tr z1yF+>*qV+d{U0}y_iwy0Vqmf&lB-f;F+Vp(wlQFXNI!%t{HAD;Di-a*M?Xa%2qW5iVVJvq`=LPKrKiD>%mHZmH!Nu~DoLK-VV+m5Co zwrv?Hjg@o}(;_!q5z*!sBK_!)t|g3^G8>+8C<_Zkt)%L)@DaIUg=<9?VkpY)>S^K` z#Y_ngG`#5wvvyt9JB6wlN`)>N(wfnJuBhxlmd0yY;fY46G*Jea0~C1?d&+4P;8bvM zgmEyZ>`WN~X^fGycxea>p&dgw)r}FmK9fd{p_DDR^%yomB);L)>2t|^jTgI=H=0Ou zTvL*H^?E2K0jiUhZHSek9;`dEJf@w(;Hx6^%Bb zp+o8voy#hQHxUI(0DPh}3QmG6vVqX!P}N^)&NWYb{NzMk~@ehO1%u;OIe| zKt?fNPbsUHv?<(d&9m-DZn^=>#!W$_6^|Igk@x9Q;18ApL%d~f_W#@Yz3<_Z+W#-( zAp%=?{QtN4^)ETT-?RBO?El*>NuooL5D4Mqvg)9Kr7$B4YUL}qg-E2n70YxUAqc(FNZ04;p(B)RkFS0Zle8Hu9a9#M( zx1Ye;;M=Lw_iyxQ{>PIoh^$^LSC1eD+fcfr{TrqM) z(i|Swswag120S5Mr}TFssT^w&)9l;CQn6>CQYkHkT>AlOg1^|NCILX%GXyG4=vsAp zTwx||)yz8(InsaQ^=wgRhx19Q;%K%XVVA92*$V8b59ajKjea(=y#<>?pGL$7G}CCYo8OYSmn(5dw;ll`+L^1dEU{?dG=az_nJq3 z=KRCMG;?ksICR-K`ef#fIq8;}4&MW-p5%0I<sC};;2jBKP@rnlbY z*H`@ICjXPjm93MXk2NNL*f#lBn)H%2>Cd;eORjFEx!h`fvN~6s59|rP!w=m1udQM8 zeN_mXf47FbubcF+dW_971AU*8&A~X8jAFA)15GO*L*mO!RLQ^+mq)q-1O4W=`eu3X z3UZ#c0rnQleHL;owrg<{O_3(?#jci5kjve2rkTqkt$^k(ZB&4Oqlw*AY&;~yMfId&p($Tu#t@H*?8rydMX@Pu#&2L-N zC*cuf+k&vY>*6!bo;L+J9GYxb-x}#8b#7wqG>NOAE!)Is&6aMBEBycvA!9tAuKcob+)fnk2j?*oV*|C_)kmG|%Gkbqk`zMpaZO^)CHdS3n+9KZigex2s{ z{f7Pk`hbhAW5P0^d6h;UYIEI9ty(U_UMlx0)q3E~{@|ObPT<6Pc6exU6!_sfa-y4q z=GmSzRRemx47@a|s+m}{Am#HER#u6pU^pzuk|r1Oxg@f?r_)9~H7x?tbS4=}y8 z1*JDUUJjS>zA7q*g@6ieGYuI@0qYu?BrDZ2%;&I_>i}!iup2HH?597z(bsxU2)B12 z@V0ZMD3QbT*wP9W$cES4-#a@wv>gj;!~beGwry6o`1x*${tb@o932l2jZ99D?id{! zm>yxjlCjaz!Q$bep@FH(X9gBW2M1NUGd%3P|X?mTdOY%qE4@bqYG zY{J6MddSrSGEgXpL9~qh*yIM{hC?33acjMr- zlO^T&;K8xMv7LiUM|Vz*C36EaBRhwN`1i$;U1T6SIxsjiHMwtk_Sops`0hgVcw^T! zS6{7WX2-{`8EDK;9Ec4bSt>`9`^OT6L{=MLnAv~rP-UUE>++1cW0cg#4=afs6O#*Z zd2YP1Z_l3TdZ|*72M$kMe)ziS!NS-;lD148UK|N%t{c62@w&mmefxKz@Z#_yXfzp}9@w|5Z*XA$;sCAaIImz| z5*5ts+kg0Ircg>%c47|5yWwjxH?>rn-kBIxkIpO(&7i{a!O`P~qx9{=Q~L%MCuc@y z2gdi$@7c3whKx=RPsww;u3fC{$q!HOxjc1kUuJY-VR)%La_nIAK=$Z-;mAO7WFVQG zjK_{)2vc%?N;x{akUBCY*P>UG!#mZb_@146Q^oi$C3)?^{fqmqB#cEy#)n(k#yV#S zPv~f2(=A7>3)@@#!MB{s!lu_t7q)y#OT?1MI~`R3Nk~zKrEDyhL{{o}9+}RfNFHIp zp?eFP=`-XlY~I4=Eo|0)Xj|AWu@<(=EX58#c5r{T8k`Lnu&wbK_&a~_@92V7TE=>_ zhwQdnZwx~YTg9}v9M8g3lPYM`1d>std=9FeY%Y_HrqU`h6DQkRZZ5T2Y&&B%x0oHh zsP~P;@(G$Pf2%+ER@(CVGA&1*2YbuUY^sa)Ae%@aSF|cig*1hh&S+^V8%6RLI8tY# zv8a-k3x;DjUx#fpzs%~vN>(#|ROa*#-0lzFPFufftC@8)P9YXHsbJqoq@zH#EhvDd zPr>m!SxCrAJSk_85~UsO`N7}&@F?I>;4wvk5#CzA4?+F>@1OBW<$ojo|Cpd(zl-0$ zl;i*X6Tkj0zy3PE{uulK=<_eZbM)^9u0JsH0d8-~5BPI_{b9Yh?*rVQz|bGetkdiJ zD!;#j>mQ8z&f@xq|Kab0zG0oUlG@+f?*{Tl~RW=z_W;{($p2Q{`Zt z%(Ho5@nhSPGO0AO6>0ebf`+iTVlT@i)Ett(WDK+Z-OUM?g!NWGqV0EKwh!554Cad& zc#c2#9NLH4GF#dd*{54nb+>D`_A5EHfZT*qG?7t(pO8!gKOvu#GDWlhd!lLkI` zYx{}S{%mLMhf-qRNz=dyfA9qD$BoPM zROq}?(O3*20cjkn(lMl(R8@GyAhs*783}t@2XLd+VS8YY)hRRM7h^)5@t)@oK96?j zt9m-U_zLOt#39R`G^i&K6JP5mcL+_K$-HEe`8dMsfby7&#gI6YMmc1&sU%J<3fvdt zF*zSK1YO>nlSq)rpS0PbGx4%TPcZ) zTGe)J++>YWhbiYO3vJRUJl`LDJ{`H0Q_i)k!ez##;<-XRqh%#UDIiP>S&yU~qEMu) ztjcOCm&P(^*QT0%O@Dzu_=3(l*RBee&P6krMoI!MW;vQHP>Unr zCaoz*$b#&A11Tpq800M>25TW)#8byhUGAc<*dZk%I^mL|C70V{{en~E0^yL z{Qon#d~e|YeU)E77thhZ!(4vakc<|A($ztbNy|F2t+A%JI$~aODAe83eqEQWeO9=iA z<={V}JOYmao<7Mu0(#G0@#POa&5=hyIM?C=8<4_s>c`50(nchIxj*=F%G)a={IspZ zg~>G_7-=!&n~$ZlkQ-u1Zx5D7YV9oadHHlM8_OC9Kdnq2w7PeNHDzs%&!$qyc^(eD z!XJDE?aSx7*+e}V#n4N-$=`RiJ7~x9@r0a)Zxyl_qF3+@hcHf)fh3U>HJUgRi2!eExEyI7g0ERGN{En#%J#qMt&d%Z6n1w0CP6nF$Fu#>;b@ALZ%^LZG*QThJ@?h^1s zeA4SLa{PbD=NDSb^nkTYTjGoXsN^E7^Ni|{uF|P&KCkAIf!F$jucfQ=r_W`Z&# zZ$6it=ppAadt+;5E^BkPphdHA?U&R{5(dyrE(2|Of|@mAfGdj^lB(R~*|Y*$nA!4! zqJ_1;mbb+T3cO07{lk0gP+=SGeT-~VWq|!ty>U`4z&j2n1gMd-5KOVRB=ea(AOi9p zSeO}3&>>h@CsbV)EbJvBxm7%EU}2n#C=3p)ya32)K?;)#^qg9!F!Ai>fbF`f9c>hW zt~m?{sri{HKqmsu9p6T0=F8^KI${sPJ&YQRAkJy6I;R8m%*l0ScH~$E#u^6r#{i*@ zXcWuCRb-zF-a;`paH2J z#lt!>w1jX>;2cPEGgXQrW`{#7SLzI^no~-3K^dbsU^D@O(H0{kLFXW2hLqJy%@M62 zW3=+AiGiWh^#*3}aK2{bz{vRYp?&*D_KzGI9+{ZlWpoB(kOD>~!(n2r>yHfWMbT?^ zjf@`}8W`Gz6h)0ZnucmCpfvu}Zl&6&)*r&Tgn%5k;=Z`C;hh6f}l(MO?}FIk*aSC zy@x5f122Ie`!MBu)jl{U@sbQGwuA_^rbR%h&>swJzSGKIfWNH+@Rqf&ID^L7IqXpw zVmfdpX{%ypFPHy^ey0yhfJ`wpbX#7M`y7+jGd5&usD(wENl7sEkekVc~$`Wzp(~ z0OpFmi-iyPJ0=>IA>Zx7(u|FDPjRkDkxKPa91_I1wxj2E;$G5O3+yM!8+C{=y8SVT zF}BY!SJY;lG4mX$HTn2D*tGdYmaqK zS}P+p-vITtv>c%HpY6?U+R8AZE!d+5&{(10jyen2Gs*zAwbyaH(ck29mt)LwVmT0I zon$x9DpsB=OVDVhm08$eF=rpWELv=^Fxd7@TOR|{7h#-X+VUS;xPVpQ+=vZYJAbuT zV;g_BotZNUj728uter2|p`A}5=S-xGpl?yljNsU~%<0F2;&dEW{S^j-uzuMtoG-G$ z%r?KtzDJuc(jjblzm_U`N(een+P=XFL3^5B!q%8VzYaPyg^WyfZH8$F;D%Q&QSpC2 z1F6CYTC*Ej7p5B38P;anWL)o`mlxzB#511Ug3WlNTRQAvmFwN;>Pzc}(TqDTm>7%8 zV$W|Umr@@?6SfZD%X!LCnz~a1wmWmvp`2#nIf`EDE{M+7mgc4Is(GoqwCY`tcIqx6 z3XkQhn1?fL1KyuU0gnP61w0CP6!0kU*rC8EZ>pR9|Cs^(=3DSd?f+AojD86hSsFcC zh~IJ=J+2}Q-0Tm&p6c{I9_9{bhP)u!bb49*IO5Z<+= zIiaA@A$ari+@H1}tKXePetlMJm{mJBPE~^mR)IjL_L{`)H56*SGft6-%4=@%TAeA> z9(|Rb-LP%S*whqZw{V*`R&DC$V)BZLL(Zwq!ntnJ(uMt1s1e(mW}E9bbOv-3nOc#F z!OhCU7OU{dRnx}yd)g|a7U7et%rM=r__SfuHyL7Ot*dFZKh?^a8tGJ&ua+LhZn8GJ z!fe+%s~MJSsuH2Bv7E-X*??`<$1K@ghx>=1)-}vXea!>WRq&&ToPNnh(oG!=#cq1g5`VFd#EB1QZHimqW0(ZKm7QG053VCyNf!n~ z6iI+=?6WP)qK||Lu~?3mu=zKj#CfC(CB!Xg;Tgx^Bo!Cu1{rV$hYujU_*u#9!`nQpD+Z^h|^`;+R z|Anrl=xI&trfz$K7m1rN7L|s$hICWkIWa)i=tmIx3-zAct&eoT7jleq1l+Rw630-X zh}i1;MGGF@0^H4oKHKIcA>Vm*qdi;d@gUhk)|<|EWG(l-3;1ppe76X`TLs@6gl?L= zG_*#~w;6t1d?SaFVwpV$4VUcQ#+OOowZc<;v%aeDX#$dX`Ccp_%R9M&x?h~`IA=}; zH@CR$zCqt^efEIbO>^h84@ooOPtpdlMUM)V9A0Lji^!%)yS0*X-a20ZnKVWEi6trQ zi;_@)eh=dNr7Z>sA!2DIY?!r>p-bhZIpmgiMk5%oFK_S%-$0`eUL9f@iL)&)BQk70 zD*k#axex0nf5=4}QNUj=35=wKige`3Xa-<4nYaq%*K{-kthtODqcCgK$B0LO9X!j5 z9$3egGaN||UO+_p-Qq-gmJ-(v!GC*reCmX7_vU334!mZY!r^I~$?pTL3Wt^T1g(wG z?XpY=F&%;6WrGw)wc0SU`eCXd9}xJLW|%cjV-+B?$hK=egM24`Lr6>TuvoHb2MiSo z+KDS;HP)||Ck>avOaiznEh=SoV7^{-)muQJgZ$;DGkym?`uu3JoZ^DBW%F6cE_p2H z>$G$4*vQzP(Xr7Eg?1)-bRxTyiVM(D)oK&fa^9IkssK-eMpc`h1^3LBOYpSjLRh_C z*{QL#*QWSt_p_*!tCpu3;u~mYW-i%MVXY{ahP9Hs)WnBKVr)-;tiKA0HE6DVph*TYM^TrVSA6q8q{hbEeb$nlUt1jnm* z1-zR~@N_)n`lkKE56_!&v4^2ojJ!0RBo>fIh*wSrLx6M3jVf3OLt`m)O4Jw9`IEak zhw{-W~zf0}WrAuQkt}wu%RxxHeC~c1j<52r=THXxHe2e*(${=J74*x!IeEiq*w( z2R9dC7q7Y^wo!9yH`Xl2S_!J-5BX=`xptjjq=FL7_ewpCMf1cH`qmn9af{IDR#Log z4at&Cdi!|e#Y=7zwvqML$!rT*N6$(HFsx{Pqr%~Px~xK%AT1-!dt@NV_3;hV_@qu& zu{h$Adf0h9a<(p&>P*;Y)DH< z(i`o)pwhwQrR01uMAr7rYI3PQE3U=i`qn3fsQBN#YkGPj@aMsvFu_T?=inveJaH>o z(?=JDC06jK_JY2kzzTMCB-&j-&LsgV&kc@_4;#^EV%NZ)Jy9XMoP4)-SWh?sX_+Yi ztW$EiChD@1K_e5w0Q6YvP)bV_-ZARY=Cm{P3sUCF~%*^!Z+;RBos^Gc3?h zxu%L5^ZbN^jNYnyMgLDYmkU=MjYl%0c(ygmS7({>)%tY;f%cwVr6~1zSJGs zXv$e|^Rn<&3=6RL`Nu(lt9duv?Eh~#L%;bi_@ws#VUFjA`2V;iX|I&__b!TN_N()m zY`rQ-)&Fx~$BG*0T%k zn5KjR>?@V)3gzmeTvbCv{{?XCOQE$eyH+(U+h_3bhgu&N>0?V`m~1G{L6|@sD@`!$ z3!TXe7%7s(atA4ddmMR#QA;;{_sO-D?$SKnu`jeq@8CjFVc9A_CK&gY$!FZs7@{Az z=HyB(v_^wK4?3Jf`;3hY7y2PmDapk-{9c913>qK$I==BCNT3!v-~IPKDy3)^d7G(c zg9mP={6$7rK(4c!h~CH0pTzf{M0dM!Hm!w->1~5iuqhBjTWlA7Gy(!i!;gfZ9kz6g zdY3lv4%aBxY_?tSE^nkU5L%&upnMb%?N@pU@miyUosZQ9nvtBoA2A=HAj@=30T)W( z0^<$_L)^9cntSqe{)E=?6dOQmMv{)2_#Y=hVWJ%a+b~#((?I9-=qgn}0{!_+M2|0) zt4As{>I^abp_Rs9S*8^CuAWM3*sGU9TR?CNYCqplXE4a(Q&wN$X5J-q(#Tf6Oouyq zLl@d&;A%UT9V1=&SuT*dp*1>$sd#wxeK^z5lNdcX!}!5kGjv4?yEas_HSu2s*A?8p z9NB=x+pS0!xUW=wdJGa@X-{t1T4uE}ZUJN-^Sn_L-{{_%bp}+Xxw39x3M3@yodE}L zrV@vahHf-?9b3|2F5}w+@5cr07FhQBkV$if++PcwZH$3_ZL~7%PI0RhV$!9=ioopR z_uYE0FSTGdBbLl?L3FOao2|9jpn+pac3FHy$9k+&V5P-Cbga?(Gb=9Ap|hL|w?5Vf zU1-$V(j2<5-J)%b&`y`STNdXtjb+*(7+bAF8|a#CRP>PBkhEKyPtzFK)~kRIAvD&r6V2&TiDf`c-(lF+%SE!M=E@#r$Ak`=d@tyLVGdR&$Z0rvIYT$;iiMFV&HgLhM#@XK|e;)}?ZmW`OA$gdxr7|sFW#l5WT}?V5;A9o#xngNa z>_&#`3*J-p6}0-pOb|@ZY#~xqiu~X@F?I>z@vai0gnP61w0CP6!0kEQNW{sM}fx@1;%(| z-R%Fr=P3chJYV16m?;8 z*v7RPt>81j97fv` z+32FBU$m4)o}Yo|XV8ICyveP?^D|&BDWr)kEv78b&j8D6GnJOLS#{(E&_wp-tyayJ zxsKkjq7mp1#m^v=At{m|m%HsV%v9pEF0lhivvH|!M|)6iXLk>AWgS(Re%|C9|=Zluc)m;wYO+$FgZTgWPkcbRIexsyv2{L!UjJ z$DybB$?usZ%s4CjsT_ysgs@ISp3{!!v_m}}J*ORbS{jZbp3@Fu?{&Xe&uK@|xZmUI zoOV`uOkwAQren%uNipTM)uVt%0gnP61w0CP6!0kEQNW{sM*)ul9tBP-1@`jV-0c6? z@%aDaJpO+d`~dVnA-b}@o7?~I@Q1s$-*pn<|GzrVv;S8`&;H-e z3^0gI4`-msrrj=<)e$`0F`k1hbhX(W?%@n*B%mVea~}cCS}F{>)7CZG}2nq(@+@sRC;6COg0{swStmR z6Ujs(aIZgjFGX1Vu8y#{f#t>Q8KLOn;%BI3CR?;yBt0oYlpGDX6 zM{Ke0cMIeW7VM>z8}nv9vO=+1t4||)7(ij?SRN%BRbHG2Li&QH?qz72G*U{BPXs2Sx$d(e>)=4JA?Q1DcI=~0wUGZGB-xu0ErNfR->iF+dNa2>GKWS>XQ3-Qw z-7w^%FdtSarKFW?wxFtNxKJ(6g`?qmIUL`9F$Zpf97VAqx*lm%W15a4%pqEw>d}YUxHqv71Jf<() z$oMxwvyLno#P-rkYL7r#$rAz)tyVn58%I^(WVN2;pW`RbVklP5-MSqZ)ryBHoh#^C zq$lQ}bBUhH=Yf&{Ew??763^t>8_E+fH z#s2HEVuaZ&r*J?mnQQcWUb0RvS?74UJ^_4u2${#dWSxKT$vT&;WS#LNWP@!f5xb|6 z1|za%TwAmx^C4_ubxqxV1^*JB*A^WjdZblGkGM(SUS?23Bj$a26!0kEQNW{sM*)ul z9tAuKcogs`;8EZYodQ$5fo}HyW8B{VN_bW&h_^Ug`wv<^*7~ z_y+Fr2R}r^HQv)|MYZHq@nw%A|9lP+TcuGKgK9dKSCUFzmSUM~K}yEuv?OOTaVe8b z#1g4!G!`pRFkE5K)B+wni>!qWSAr#5G?V)sypU{0&QHlO)0ZB`_fu{z&NE^Dg= zRJB^Ms;QDe2~mjWx08$8mWNT%RyNV8x%TibyB+^zP4`hDE1VEMAfBQI^;et8&o@&g z=P7DXn`vk0I6ETViiHhhH!a9CpUc~0nK7xE4a{fDi}P9)xh6H_oJ4X|{BGDwm`=A* zRGCV*6C1y->us_B8VqFgtA_Ae1=%}|YlA)MtD7l*vOUvHK^0BWE0qg{;yjE(^vbk~ zV`>b{*NX$L_o|d4VE^3|lK3CeH*-*~c?Mvq?nBP}Pn$;0I@48({{kGz>D$X>;W& zGnaDL7taI@(pU@a9Ca+5kn6Js!R+gmXM(oT%DLcUsVWp_B)D8Q=nis|tspbQ;^vr4 zeKRdmt6D*Bl%8i$Qrdz0C{kT`-yYP6)5*z>joU6Z8QxO*e7VFpKYn zMya&4N6ur{SNVC^Y)&~})2i?%-Kk;6WNF(C7O@{1Z06j5S-Z|Jrit5Wm#lQ!4LxHm z*@2wcdNOk#^P%;f+`(DAZw<+kO^yK)FS$+FM%G)7l3U2SA)FNo#gZnP--2)I65rEh z6}rSo-_B#k3@>BjvwtDh8;kcQBR$lAv=BMFPpd1&%|4_4?Y?+`bis2Y;0vZAUHgY8 z@XHpm7QaY!rK10eeGR|DlM{#AYEhwOKe#i}#eVMJLWp&~5ZA=gv9aRd;1JnFy0FrT zYe;uI8l5AX$r^pN6W5ZSSSC7F6s;05ln?`E2|Pm!?0$R`p#nl^qrDdq48`Q7^ern+&o;2DJFc}-k1a;%6=?GZN!hkYTk&L8k&oP3wE zxv0zS!iXh^r!7HTpJQ_}Jhbi3`1CuUe#Lo-r)CR$*dP2b^~C>_|c?_Bz>`TO3G$r$l*#R8BNFHnwm0_^qH>slcc9E zm&&yj{q8Rz7t^H@4llA}3AY+Y*Fw53i!bgX#QIr$dY4=&9)O4e$)i8K5F@<%wSFRn z`S*Sj#-F0W%f3)lU?P{0T5h&XJ>&YreG786uiBXJgR@-K&~Q}e0eV#HEtc_Xb)l$e z9FDC|k$aVDoz=%y>uP^^wqCE)`uqA~@l0qP-F7@oi5`S}ZeGLd?^L6G&k9v*Aj}+(C{;)pAgx14es5hjw zLiQromwNe#HopUl^J?kA9weAIT;Jq>+|{Xc1`9VAQbz$Hhd`hyX%RrMfIUE90;!FN+_!@JhA z@aauV+pu;@7h=VittX#dOH5<2;}4Hc7>}7hm}>4K6d~1lxrD$c z7@HMmcwMowL!K*^ip=)T^z!_dC1*L>d%FpW*$U{7of z>Jz*KTD1I|ploioO`MiDQO4`QG<%ZoVuWt?M5qC?0y;IDM*u5k#>G=z-1`J_4pX&@ zRLu@;`x>aKQz57_3G~-o;Vx3Gy5rvYrrKS<2hBUxaer_peNuF@XM{*B+M7#L?OHUl zen{7ujZXA;j{`7c&^PHj=zEH97Dk&5Q}9bDX;XDsIr3t`_S9`c_vpkz@-AU5e>&tR zc7c|z_Tj6`to4RW{q*#*7uH zt(%lVJz9`W&6QXB76&-_+#B&9%XPMybJTOpkA7yh=ULigIaKE6Gb!)Oe+u2ZV}NEtb`$A8QQ-4tcef zCe#r$U2fEErCIgO8)3^?f!br3YZ~3!J3TZw9x{mFcvZD*o*vMS4t=a#4h^T}O&uN@ zR`)JOUTSWJU*99dE2o1Yz`5l{)#=lTvvF~*=r~8Vb7k^8pXRhN>bcZ1kxYLk<}PS= zWoSMKnh{ z_#WL&@v~GZJ?ef%J~*}coPI@*tP;|Dn@0hU0v-iC3V0OoDBw}Rqku;Nj{=Vf1+L+5 zakKw70{YFr!6%LX|3@qSKWkaRRtKH_UK;fOPvI8R*Dzq?%S&?<{r}Zr^2>9qV4qg7 z|4zcHJ?Qjd=w1d^P< zq1mRjTBmM{S&YthW)Z_$@Ce7PzqI=lfqy>UMegtF+%K^+2NgDt?V<1>%u3Md14dSs z=H2#@08Z!T`#%^Qcgnu)Ap#m!3L87FfDJ9+ofIwLY*(~^(6`o*i#q}X@M8VFSbrT= zqkk(2IDLW<=G_Cqp>b@`NRPGK_%i9cmicE^eNPkMr0M(r?0pG*TvvJT+>vBS$4e$R zPOMCvWHNCQN90O(n@uzjZMJ1wvLeY@M0nw@(%7S!@hp;M%4>iCsiBZU`)FC(6exwh z_K_D73I$sBrVW$;Elbz}ls3FVn^2&XrM&N)yU*OQM~WRRbCh2^Gj}=nobN36eB1y3 zTISjD9GmIUSqWXr?(pE+q7%iq8zmmUB=~^EQniNH)i*E~+Rz>w$|slHg|^Q4bt{N; z#qqLCJi_+&FtJFyLrh(>JHn%EWZxG%cOOE25CM=4Z|WPB1r zwwCHk&g$ah%<3QTwETo#GOCGUsg_t&mW>3UP2ignHoq1`cGp%1PKP+pBD^o!_dXnmdsi2+M%cIqef9lISeEmE8ya6)R1&kl*{Au%_9lKDSv5VEvlReX{`-y^Jw z?I8)SwaR!4N46Is0kEyg@;b%Y0K#Cwh>`BkQzemvU*u?b1gC;RB0M8@PWlik0V)A1 z0V)A10V)A10V)A10V;t=V z+CVEBv|&#jWUmZd=Tp?}2AoBGeg0Y$51PCj%s#AIdRzwT8Pn^J3?m1l!Lz$1ceMk? z&=1-^PnZV2)p2@B1hB8$+{1eYWzP3?RRKVh~Vr~xRi$~q48Js;i z+dzF(2G|D-$vq0Lsj7bu2HQY@VFC~)*l-bM5%QLBvN8QvR-4F1$ndv!(RS32GZcbH z{l%OQu|R;%^w!?>^D>~jZD@G#iRCc{Ic&wbw0JDL!XEuBvxv4Ox1dPu^*iHT76SP0 z__c_&A_5>Qwgj$40+fy!5bSUEC%T>muy@p3giUs}41rc`AKCe_&gOo=Jre_Zh?jMG z5#y8|qKfGu_8+uB`$G$9_@MekI} zqHQyF|5@|_CX22Jxv^e^+aOW^mhx7&euUXkT?HD0C5L>1(_keBs)fSC%w6yJ{QJ6} zWSE~Y+ovmru~e=dEUg%oX?wMgUyZt_!Q=uN2UxiTQkKa6-jR9*mV9{Ne54Y&hwBWas~X(9ZvVjB)N|_IOUc zwdMbRBAV#z|L0TY|9>oj?t@eh+j$p40YLNrF$Od?e-US{Wx8~oVPMr?zz%Vm{~v%G zro8nQJvsFTI&LrO4IFaT5bP*%#Nw?f)EnryfT%a{8T1BHpWidXTmSy2oB#j)4)pId z|9@lU|5pHK3;ZpvgS`bF0Dd9V%RsYj=uRT9^JkgcBR)ySaASS}( zMg5VX?Fj8XG&w$baAI;|j@=}rg~|NL$SB&1I^ZS3ZbF?R&o7}1(WWJ13GlWkOaO%m zPzw1IhVJv3qN&oX9k$ZiW4bPwfM{P7fWD)@jLiLTXo3s9m{aL!Ka4_*y|Z9p5-Mg6buEZ%LYmIfaR37zdHd#vB#OdzlkQg`rpz)B9E^` zmuRI@1w7D74G7PCc?w+zaart-qUg<0J3qk%fe*1?q_U=@nR=GX8Y+Yw3-FH$#D#z& zU;ufcnN>0whr;lFi^A|E^D(BW;7yjm;w@?w8a4mx=mZY<^@#Ws?N~hzls%Bq?`(E4 zbB|G(&;g4PqO6>wL|kKa3)QFrQ;?hkp1xugocX1q`*Nv3p!|wcG(gNm*f}KDltQTr zbd4r3EvD|wW_8UJ)ihuxm_X;469Ga&5^|iF(-lD!4bv2}u?yl`dMrsi`p^&G%_O(< zSm_$~ef$d_WOh@pzhjo8pHu==0#pK20#pK20#pK20#pK20#pL0kihfpb7B5}C*S`S zkoS-C|3B{G|Nok&Qv34%+ezxpW{TRe*axD0A6RQrFS)b5q+Y|2CBX!kfShJ3oSZdM zT+U1@Tqdn%gsh%Xc$ue3y&*a4G^y7jVqtX#5+L{F3x;KW#+Q=QzO+&YsNYAH9&$F2@OrMm z_|v4`UmiX4*+}XwAFIj7X;SYm*})r@)JuAXCiPNO`GRqNC-pKndTQrQo+sB>23KX! zliQ5^G$3R%S&>&v-bjmCRWf5AjP`vH>!APEN!+`e3A{kpI4+F+d?)&P6kXj$F(Lll zjH>5!SywnvK2w}*%Akh|yvk|3noec(R63i*uya0G_>;_2%=&Sh-p!!<32Ztct8sQ5 zW*%~*vGWxIc9vYY@_Z5Y2g`^_xEW{|2%Emxr zW*MElB!JLx`&TpQmBccmXgDz5F_Dmaow#_MY6X~kE$u7|3Qjp#aP9@0gkyLq)+#^~ zX;hj{O%%cAQ`FodF*hx~2pe6Vj|g^pz}nIhLLDH<+ki*M2>)Pi5mMOPvPS`jmTsr7 z;Cf$OECJ7>4s4G$xnsdd)Jh2_K>}N0s{NgqRaT4)MQ)1h@4i*36yeSpC(Qreul&i| z85MbDR+@P|Ph8nV^~nV?4KQdR|J8pBSYDXtdc#=uhOuY%Ih|24_E5C%ucL`*|H&(e z4e?^+ptG|+uy^)}%hBsDK_QUuA>*_i81yp{x}pxC>svB1LvKM+hz>ZAR<w@i$-pwgk$nhxl%R13@*}yc9fXetAp8%qr#GNFofA4& ze{v!E&kLK;@RcG=PLlBB=k7L#TDGrIcFyc39Z$c-rZW7Rdb0 z0CL(@ZNPE{D9~~N8)b>P*n#%7eyz7<4R|P&9DoRfk^|fU$%Mt4k}m?NEWAP?yelQ$ za7WU?y`XR)6b=N|Q!6doU0y53u{wCrf@?p81EFvrcKo9+8f$L_Q0k`*z^m39@?&cy z*rmIB2(lboQCj|C^~;ME!g|3;rt&oRPyJ{&NiBxWQk}HR94e`pJHgQRT7+4)1_Y0D zKqNle-4kWgD2z}EU5PGi;uK<0N=s|mtf}jI{O)eF2dfPZ95^`CBjKcLrz?tm-=_65 zAh3VY;epjr>H$JMFtZ!&WaFrNaM4f-wMDkOClb5&xpCZ8o%`nIrenX>*OfrK8NO@& zI&>L(DcS_u7lxe27yi(HVWf{C7j_)kKBybZgTDF36#(dN%Y->qssUhp6+#eBT#k02 z*wpykog))dV|UJu&)hOGI?i?sA3O+bS&_RKj1hk?6L|~MiNh}An}!Q3%4#)nh1fkt zVJOxILy?HY5p){vrwC2OcMN3olS+U}fJ%T$fJ%T$fJ%T$fJ%T$fJ)$;lYnB^D9r!= zsO|563O=#_-}xPhFe9GhbdCA{E~)oNu;29FD~aFKN9z5PE70e*Q&R681eeguI^dR+ zA|zu}SO@iwl6qUDwvQV8J#Ubw)-Lb2o?ws;I(QzUkwx^5w2wrsS+ z()|CSd=YRRmBN@&P*xjE+h-!(JAgtDp1CHgxZ6S0Zx;}S<5dp`kdk`iIZgd`b;yat zffP0x0a@0To6^O+xgXGu87D zF@w96I1!zBAN=tm%b)jK%}~Ur+dF)gL7yh!iWbH@t_yiP>MpFWQ#aBy99Br8CZ@sT zX`?3VjV;5erPGy?8h{uk`KB&jus;&AA?Y;SgJ?}~e>$pLVIm4Q-Vuw!@ikJGbEBpW z+99-qqp%|~!3PFB$}!Xd2uI+-NhLcDj{%6ixE*!F5w50{t)m3mUWDMra}e=93=o0v z&r?7I3W%`r01L&(oC@D2={CRREz`+&3Mzzk(n!G{f*2^ki3pln!# zpcl;5;Oqt$Yqj!T1LJV`MCJny!+9glwRqL=fwoZvzgE&p1+tliEl}egc5O6J{|_1K(6x5{ z|6}%VrZadR;sI{;%muzg>Q)qccx!B>t~+k+*teLzFGLeP{SUUuwRcYkdRMe{#!4ja zPjF90`gcjPA)8_<%PE;`8tCUz0;i}t@XlrVtZGOSZ)BTD_deAIC}V5(y$@L2ePYj^ zyiw4rw+KV$9Q&S}mNZ_^np`F;WH?zC3@!`*ay;-Oq~%OXU9z=S}l9@(LefRfM}7q-RtUgPxvq4 zK0l8p{00~W>zwdb%O3yHYhE3g@a`LfexVYe5}*>G5}*>G5}*>G64)pb(Cv!i_FJ5HXN2cC!E|T1LT!=~D$YBT51A$N?u)*2ek!u%)%Fg?z!j z#i!G6RPu#8Q16&xER~A0MlHy_u*EO(zE!4~^aPmlerfo>u6&TzH`rr-_T zgg11xYMy`;4hBF2W8aPTeHRbVd%H-U%1(4)wN|P?B8CV2$aas;PE0|FCi^d)=$oBr zYoG)ho@AF{=n}7K3gAu35+|osh07Ye!KG3vpU&{IA!rT5QvE7}Zg8Ha6v~Ur0G3*% zXw;1A0N8(*@(Tbe11NpvLVY1$tg?T`1TRols+^%#Z)iAr0)huPJzqTz^NrJAShUohxF66zYn zoNI;lx0Zgu&S>J7FRcL7*bI(YF#wFSDHyw+hhW*EJCg0R*M--^5S|3_##yZCCzSw| z0F?lh0F?lh0F?lh0F}TRBw*OrhUx$BxApz6*!urlJpDiKDN&~;V#M2X&es1eMbBpi zP>gIQt;fC-?fVW^vi>Oq`Tvuh=&yl@v5jIvYys(8bL<;_+s z(xco_wWwvDDI3-r)^~a-l>n6hl>n6hl>n6hl>n6hm4IIYru`!t+2kI60er*${|9Y- z|6)iDz`vdN|0f&b|Nj|o#pnMg{Ez>PZtM3u?fWl4!TTX!VA9jMo+f`_hBuU~sY$U< zMf*O5HLx#)XkdTcCV!w)ScpEB)n!csUmhocACd!=Pv&wt$Rq&T0?kMXDIv{^wm$Y= zC$3-Qm-?&(EWDhYc_a)|u{Lwd}n=_|V;fbO&bI z8wJ;Rmck`KI5R4CuA7h(2ZVHXK;Zd-tQh+w)AwjJ(cM2v!iO$E5Vpehju-WEDG%^` z>~0hbFc@`1bjNnYqHV!q;w0jO|E~u2(wn{N413iHNxDa$IQNs`0EoDReyjn!72=YN6$gC}qXx3i zLlbVrPBB>SG(}#_W(wkUtR*XAk z{V_A%$X)B3^Rsx6zNO79(H}+8o1KoefwBNXxj8vBl{LY|fvxL?3Kn+({!z6I#5f8D zFG^-sfsizNb9cY9x%*gaa_F^;nDgb$Y0ZTv-unHI2Hu=@kJAq-0V;uWPy!2fox=S8 zFSa28-eT+j+q#?vF!SC5KHzOVG^0|>n|TeQlCk?2J85nD)IqIU;VNc1dp!17wC^#j zr+;D-*%L{y(eT~oi>tnL)H^=6Vr;oX`%*- zx}ox1PSrD*UnnL&>TnHqE_(Mx9{?)>DQuN&BWmg7U`woKo61k z>m!}$_c}QIH!{9=Vk$8@J~KD5XJT}CZagtFe)Hk+**S6+O-}3+Cnxsm!wciXlVjE6 zd*+7cMi!=S85u6kjqRICY0^wVoh#Q>ai*Z17|&0R4(}Zn4v!BXpPbjE!U?4By`^?& zDYZPm_i$R@yQiv3leMX_silLrO%6+Cijl49@{%RDd*rJdq+p@?5C3C=-K__lrRu3JToSHmZm7jH>EFKVtQwPkw3&Uf>2Syeajx8QNa%lSI zo5zM1rY45RM)nNn$A_0v)zt7Udk)_|mKj5Xx1N|DTpS&#t<2{5^w`3}^wQG4LkHBc z+T7&g?8@lG$YODBHl>_ctWK71IWU|VoIN@wj?8HLl$4ULj-%=Qx2KMdq>A$K>EnpV zb$n{9wanQaR-nR=S}N75wTe<6s>^yM%frCh-gpXt@2kmp*wG=9NZ{U~)N6})dx~d; z-hZKs|khd|fa4M8_GNk*_%gxQ7$!zm_Tb5Q83A5481g8T|V|VcQ4^*c!napE+FC zp|_o#H3l7Pz_kX*zG|uH?9oqwUfrXR3Mhq>3|*w?BE_K%w@95p$5D?njo2;2^;*gK z6(7UDK&{7f40a17S_~GpguNpAHUKrL8P)2Hv79$n2E12tzxQ(P zoU7C^Rt2k04RP5U^}8fzAkdu>aXfEM84^M#sK5F;X5I9UVS=Y+-n1Vq|z>;^wKzxf8c$ z3UbaoaQK$Aw0Bh--g98C!B}@>_?F3;$rUty^X+4|+TS^tc=6GUq zM80ioZbF!x8$UiZH!M#c89#C8mJ&WD`i~(vxN_*k_$}BFi7l6-i<6Vsa_Jc^p|IJB zm5E{Upt14eg%ieYQ~dm`kixZ;JBsG#%KYuO9$(g0d45v7y{3tWg~>ffSH@Rv-*=!i zKXKv+KRSH#?GyI*vEiGwv6~l$$M;v|?85P>8I+RLvDCAUJ!@K-l5U;V%)*S4ny!uP zljrxF74gX6RC!pQo6W8krdRea3?E)D&D>Tkr}j;a=Bl#1!mpy)6G!A@#oH^lj~y*% zm8n}N_uRZPwgAKWzs1G2ENQamgl*#pcXd&kEYMsJeH)4G}Gd)tDw`gy+^O`whI=lxJqWWf32=e1h)-VZ$dXu!|Q{130I z*Bv4CHQeXtQH0b67zOK$kg{5K&&xmb+CYSqr&rK#R0322=e`8;b`_%$*SQ~=hGSUY zcl7%`5XX;y|B)Tf|AZa?{}G!H;D1B>KMUsv;D7x0Wji0h$sYjwz`ir^c6d0N=sKU? z4(~bl_Xz8JJ6J7y@^9{cY2fX^On9S!_eG5q>NtQF2q6sBO6{)>+J1El8-V!JV}Bd% z`&%DMgot)lR7D%WUh`5Ve}cp}`l3hJQLES)DAq;{VE?!i-QR)O=E5N)5L`w5y97Qb z14d+yONkhzPnIA{Tmk@#tfHn&$nh{u$nuC}BO@*a=ll&;V!sz+>IM&#VYkk1#g*i2 zB4-G~K+g)Rbs$C+T2!hN2Qu4P125J|=BEtmBBF3(Qcu}-aELXJE!P3w9^l;?YDtVW z*vB0blbjN^lXj^SdnAZ00|rZcMba$^p<_oFqZ zt`UY?8$3iYA=^w#^BF1j$!Omv*Pgl-URX$Uv#6V5I+X(K3sr;>0|>YnP!mvbG|3P} zEe&HPWsev;r(?}9IL)~r8#r~12sR0jt+FJTu=?jTQ{m*Sk>YY@TH!KjH6vufJOU&+ zHW-d5ou$;Zhre*!*+^ZphBEz^N`Oj$N`Ok>S62c@?50N}pw!!cH^HZ0|4-Zc|Icmx zUj|bFKJWY%8{z{%-=Fn1N$a)-e-3AQok!N-=4`=p&L^-=ec#Ugdh;K@BB<}rd81&> zTjho9iDMQ2R@p^)_y-)TexC)%znNszc8xDX06lw87y9ogx?U?)482(8Qd(NeW=$Qo zyWxd}Y?ar8@^G>_!_bL{h*>Cto>>A^^Y=HIeg1|)A0x5pidM^eQQ_oXe++rCR5KhU zIT%1*F&2~x21WEvV<>(&FzQlmHl3O%Li7ay(>o_1MK~WosfUmZOegM~$Dt*MRFX)n zJJlj7sI}EHDFiF)8xtO4ep^qJMRwPG=;w=PW6#YTej2kOT-U>j<3Fx_HiQ=zG8@*T zIMUg$j@fW-X`F%CaMuU&XJt0r;?0J&h6a2d69sSB6z~l|3%pM76su+T-v8Ez1EB%- zu9ALG2~Y`82~Y`~OAp*S<$B|BxEmZ8fjez z_b#UkJkZ#Q8Ix1ROolVkIbIV4Kn2L=Y$wP!Ee-7?^YUmjE&w1nff8q5;&XU?kwO1R zl(>M-WacZ?8djD-)mkb$npD0B6ljoCe2647I!8%LapR?@%p0y4u9mk{E)_uscFJ$EOfmmZN09Bxz(PTNJaC|zI2G^vP0+4l6N-SKVr5sYv9+tV1|@A1ZWrfC7U!&idbnC{A*1zyXv zpyguk>F9e89@w9;!X5&)x%YLTKaQd+tbiU_GP$aeYAOLnb+`R29F3DP84E1lOfx@MnKSjDXjTM+2Q<=1RTTu{re%$ zAOC&E&i8*U4)P~|%$?qL@k(#IxRft~|FRm~C&s=W?fW{8ZoK=D%(}a7wgC8FGGYE z&x_{v-`p;m@cgBSD92tY?gP~4ptMDQUTwhr#k+q9fiD;p4q{P(VP5ByT20XwA$S~r zII-ZLX=#&arXqZ66x|nX4#RCla=yNbxdwxf=-v=nV}UwWijdPK684Rw!tr+0lc4{$ z;28(f*(o%5)+*1kXn0V`*y2#L0?e_~ddULePDJ`s=o%bC&f#Q)@DAe21*K@f<{V9x z9QMQh8_-UCTf-gTujfEl&{u<3$NzI1La0M4*Vzuli0BG*p;2BmmW+y0;B2CKwik7a zSve(6=FxVvb+Nu+lwnL%Ibm-e-^B-y!e!Rci_tdkS}FW+T0Y=jy=lo<#=ip(t&T!aYXG!J-8Mh}`XHZ$nXxk)d+jIq>!T@KH?b@Rhsz$uWW|NG78PA?F z{qX}Z*Z_EJpHiKzn}A@70U52^#q02Z!k}b}N;Oe+&n7I%C6r|)4=wiSy=(|3NP}I@g!?pCX<$RP1k@T zQ%Y`44+!D_TtwQ`f5DtmC{+`?mxTdA7?7?PS-0!;p}|35K^TySy5X!O4+tZX{niV1 z#(EEr{4Rq`2wH*^4mV}Pat*lX^EXu&6)}|_QgeES*ypo~mJ(G%msP-)Hw-ZNkgH$p0?Js?K^T?kt2%^VA>ecjm zt~eDGRTIqKg31eKN&qK9T2f6>5;Ibc&t@esc`LG^^OB(mDqhifUJ*4_5i*(qc*Jl$ za`#V8m>8a+T=N6nn*QbIp6qQcK^N!VsbJaw8$3|=iYX-p9h#LOe@K+1Tm}+9Bqa@| zVLb!3BuO;v*WwveFv9JgNIdCf<=M}7l6zfpi?JT08s7)Ck; zD9mCG40}M7p{5N!C&4Jp3P7-A0?n-(c0kn)<{O1ji3C%&2dv^-+i(Af^{GHi935%-NX ze=X|sjgSf;VOC)Y;@};%$f9%xUd5`a=j3@7{3F>a2N0WVxBdM2ooEL%l&cv_u$QSB zoQ+fs_p^*J4^pe;fhD06FJVUx`sj7zTl~!cYq$c*k-CBTJ4|q?87ZDq^(;6b3`v0j zqzY-l^hz@Y1Sh=B#x4|q}8n^gEVu~3A?%|1MS+|cSyxT*C#EF#Mlho3|0j=54u z<^4V1h=r_F7TjGs_!L2X(XHm2Lq>7gSLa}nqlc#E?!0y1_|%=F!=wAg@0>a`cjwIb z@YwB*<>N{?1uiRvx)p4CLqiS6ZyAU307Cun_?=_p({uaQSImLKBjYnu<8$M)cg~K_ z+%hpbe&@bJvvX&xu<1iH>nv>g(Ab?*!;|But;!w%2=YnY95VApLANt(aaRZX!6|ok zdU*6{7fvQbehGGKPLGiv)Ad4Ox&*11cnFhg{GAHhTjG}XPaSi};SLBi1+*ro1ZxA1 zf7#Oo26P1`$tVnC<2ZI?JJS$c-AY+e^99(a1?DHXdUP^YNtMc#{4#74LG>nu;)Mh@ zXkgSJx#g4ACUjbH}_2RJ?>A}WccCUAu z?+DQ8Pxk_=KzQ>F+GVw0lr2e!o)31GQN$X~tWjBpWZHxI;!$_LW9{4Cv^y2UD;4eo zZz=JwhVF`z$KmIN0^aDD`Gv+ho?=aTI-`s9b4a(Hy-o$KWDr!KfhGibx4#^@ou)&d z#t5;y6~;FpCBOuMNR#T6Z&8K$hn>;EK6m$b{wu3ZbBst7Ck4RB09bB+!a(q-zZhQ+ z?5!x8F%78)CB1>2ss=U~i?+%gZMKC9B<4)*;8F&{ZX8H>fZB7`xyKwT`}^C8*T(a` zu@CTXGM}Jiu>4@H^ejEV*&J$S(_FA-$fSbfhrBk}j`B&^rG<>3Q#1uuhBMR#7*}9D zd;2zYDe8bySr+K*wha1K9yWp!2zj!zuPBvkgLqy5+y`878Q7PKd5iastb_OznKE$l zdbHUm88-d~W(V-&S+PgH6Mb*%KzB3fVzNyE9gd>{C;b|#Uk;*a7#i+#Qy67BL*&En_sTv!hV3}jgFz|3SRg`PFqUfE!fk@XH9du02dZY&S_7B;R>TBvN9Fu{t24R&BqJkbYM z+g{jP-Z?xrIWdL0@z1#avSr4$YP`tc?lCa$wXeu^rPJf2#LT<8ypL4bfVZ0QSt`nLVFeA+|~Xq z%%`GgTkz%F))0j<$@00ZokS(H{Yek+m*B z2W|`AaE|wKV_!bN^npcU)A(^{7ses+`3)X`#ms-IcdBHmWyS-HbQ+g}SD^o{6uKhB z5m7IKc~x7)dpKW3{P$%Mu~;@ZFtG8NbBxcvI|EG^LdlRvTJ!a^H)qh5Avc%v`f2YB zuW`L-59Efn25S5qbZy8(VP(a3YOY>%P5R+Y{s?1}L2q_llX~n2a+uN@A)u?+KU}-=T$A%~zzqP-2qz=;>S9TtzFsuQdiOTV{ z(oZUZvnPR~U34@8pndk=3*Zy`|Np~|@1L{d{~xmh1P1N+e+M7%nr`cQ=X|8s`t6+m zksUwao{unZ^31O{dFIzv`2x;HZy~#=)tso&Oa^R>N?Mg-Z|dlK6OKE5Q%Fwu-CgJh zQFOK6dQ5gHc%QkW!hUt4Y>C(8ln>;C2PF2e7>f*4dFb)g#Stt zkkDd{2zIvV67AW zk2(^UZrlm~wexnuTP?fiiC^3m=xSSYq90TO8%qKuySicV|M6|s$!EhSwg=2_cG|`$ zp(|T>_>?b$HujBZ-#2jZ)Hg3{44(SrW$2q1*p40F9jv93TSuA{^mY=?*AzHqrqWv4 zOv$PFi@m@pUzX&WVyE`|W2bzDBzI->91c$eL}noeVVNlzaOQKo!6_LCwNw-%1A$fj z-4L`@9b6Wy$f=KSU4P`%E4HG$w{GCbsdmI=xipW%W!KUdXG1OC=rS=dZu$GZGba{s*668*_Lt z(-{unfKKIFbm|$3c7gH8k@3jk0vkupIv-+1i~QAQh^5%3AH@mWq&H zsAxwaqU1PNhAcx2lY1i{PjIA<@ruu328{{?soc10xBJ4mK7O4QePRjoM%TMcM$|`D0axDIdR#r{L*B3A72vsz5eOB)%O& zbHL=!ZUN_LtzI2~o#n(d!~|Rw7&;KCvBf`VNMu0Muz{7h8AXS8EDmU{p_4Y$sLxn;6gd|6J0PD*pOQ(5pAmRB;?f2+M6- zsp7xMtY2k3i1uUk$xE4r6?k-FY{m&SwSW4<+Ls~6#rNJ3gR2=0tMw8kDU|tN!u%zrzEKXzBN?_1GCNB@VfA|{^g$Z>PC zy<_C|S)<0@cNO}`j)pYK=J5P>05xpy{{vP)QYais0PsZR&~Dv;oF@&CQSg|!* z==C}UA^}A?X@pFnC?^!<1Y;k$!4Vq)rbcXQ2z`8Q}$vVwq4ZlN$C{J43{m z@=vi$EU*+OUvqBZw-K*k8*srUh%N5 z;P+uKeH@PvvdMDUJuqI%N#O^C<&1q zO%Q}Au;*rf+=D~_LLkZSI4wR4@DHcoss48uwnNq};JD+jHmvaZB z#E@=#hT30ku3($`ERcPyse|g7PLp>1) z?*d#F_$2;x9>rq-C>!Zx5|P~ugyTnU@0}C9hJ*7{1+6*U+`au9+y-___t4V?k+@}Mi;P|I0 zeaeflTg>*>gQw1+TXANB(=#CPFg_L^i9utZwl2zEcqn~JkTK`!aN@XJ5bgIuc!yH@ z6o7Im73#oY;hPwgJ_XPRLY9PQkUr(zls?5FR-yDMls?6wTYHA+Q_iY+h;pd_sfJM{ z+(#Be*cusg&WP)u+S|@$d)qp>R1U1)*mere6~^@JTJ3<9{4>sE`Mn*)l7$FhQRftF zDA*V8KtKM~0xP-7rYlkk-H!FJZb ze0q|3w2ipQR^-92WzcI#$Yd~Cr6KReBGnye(FnXxY&0#|I4I5*(*Eh+VpCWYV$=x2 zn@qHPIrKK8 zUMZJOXC?7K9&JUP*lN#qp$!M_C#=Y>JVfSqr% z2n6GzDD$$A0aQL;?VLIXk2;lO!|NP8?A93$JG_6m&XUXvGHy?>&fr8TqivIrd01Hm z+O298V|8`y!2ld_*Wcpvyu=Rx3{Qc;l+4xv9ahUj)UWQj*Hes=u zC0t^#q=L4L0XbSb&+GG^M`2MYEDD81p|B{m%IW~@8C^j%ZGb2&N-ig46clenMWwJP zXE+X^?(_dUMJM13_V*v$VjWq6PyGAcHXk75|1WrYk}u}n&6cy8pkn$ zgXaXLAo^ih`KLwb_ra1kj=q+@U>txF0RM008xBc2r{Uo=Jex0As_jDn^3ALA36Na`M~yp{YBR=m)(H-iMOuM&vR+S|iQxB0 zFy1{Zp?F;(>>puTg-M@@gxW<a$$-ynkiKA*!%Q)2Ff||+d>8xVJo{086f%(S1 z)=Bh@&BRC3HNFfcKlT%y=z~#omAAFz!V3Xhf<|KSR7yAGw3gvifd^u61vaO-Tvp;T zs-UWZt{RGLg7y&^aSf0FfDU=vv z6s?vo6&;rYxpyw_0g@C;1f_z!L0}6~^)3Z%TB+!m7aKeo)()i%nEh}7?-nu4h2cVc zRSf&oL=nIoikiC$yI>Y05%zEh$9JqzpvhhB(6l)W-_lSd-s?urCr4-N8tiVXCJ=hB zCX{M5zfd&vgeAz;Dxk7i5WBunkf@asHKkChaMJ$-gg}PxX^+Jtvd+EfLO^3KZ@i>Z~|LVVe?WylP`u2BS zZmG;0=HF$zreX2_|FzXRiFp9A{{I-`G>cjCrf55U((gqRo&BG(IRE^9()V13{(SSV z5~;)d_2?Q*c*DVDGs4}VT)ChW4K_0WY?Q&5He6*K2QDKhz^s&(I8g9_Q2<;sg_5Fk zsseWcZBvzvsBQRTUxY3p<9I+fmIq5KFs(QXyN}hLmu#z&$s5RZ>!@M!`RZu%X>)3Sh z^(g9^0TR&FQ-vg4aKH*Xm@3uCwc?|Lxy}?lP0;5FE`Z&^ z2=M~DT6OGkrtjaPiOv0Q=^&PwE72udsf3La1ZC1Qg|J-*aart-qUg=hCJRc4X(nq* znyF{GtfA_hEWkgimJzwMVDO@3W|d4vvQ0DhTYI;Y%*R@rW?Iw=3^dI(~iuZS`>T=PF9En#X1z_c(xk z8Y@oGWNS8u#DHPq&TLlKOi@j9DbX}IIVUPyP7-pQn9~(O6b;i9v#|@}TY4->Jo?ZN z-_0bq*e!ef9slroW;em)bku(ONhLrfKqWvWKqWvWKqWvWKqWvWKqWvWKqWvWupuRI z+^%&r(&g5F8optF{|{|{{~n0@$G`uleZ|M^-+yZ71C-%beEv`D-+etz@d72!N+f$B zJ*})n*!FEjqi{<~5mF8-v2QVb|BlT?54LG8x~BuZD~fiIIFaV!LPB~Z*?^dxR2FdO zvuTJNNeP^y>R>v_@>$i8B;J68Nh_qswHtk^jfCV4Z9tOKlE&*6n_SA1S6JQP=aak-n#JO}}bInw{33 z`F}gnqaA2hJ4J_#)?7|cD~cp>DM8{nSy=?wEbO}CUfxTnbf|H%i260nPGIu++S@&kwQQmq6e5}cN z{(c6%H^h1Fxx3xe8233X+Txf`!|QMPvx6v+Yd6g{n_%xi6K=&$F<9<2MPAHi42jE{ z1_ThwIhD)t8G(b|GbBAF$%3TB?%fH-SW89^zwMjv^mC3>yrG-%hOQMxIB3VK4F-(C zPHd!@l2W-$HfP4ZAMN`-j*a|MNNnVXJJIK(=!#R90OPXTepWKlze`UUhAP40sbu&Z zCyRQHQ?iP{sX1NHH7PBqS;HQacE_J&o@!$SwE``g$I81IbUzs@8pif>`rFJ`sx@pD zhp5G+vU4YrxYQh@f->CYQ>kB3SXA>#8IT z2Yx}~2jnDqCy5c?A2d0RERc{$JUEGxyG-y+MkVI{|ed*>fR_A@Vu6O zhdXgSkpn^RW$cI1z8_*|<-fEU|MC6~^!kowWQhxigWG!w@mqp-QV}7lL4*(xPFA%P zm&<@dR)IJKRnF?7$@8|~^5d4iedM{83vb;HypzmN7}SmH0$|f^ILhtk`oLh`%b{){bT4~D zW~~mxA4L;eH?G6*6HTU_bIzK$&h#>?W%oY$rmqJahRllB)$4vo{3q`7^XMJ10Y-cER{WncWmH-9@Y;eVC4-L&mg0#pK2 z0>5+#ywI*e82+CV|L^$!kH?(qGOONOdfj`q|H7~9^JuTO0bbzi+^bnFd*Z>Dy*ap7 zJK>E2$}&WEPq z%B)d~v(0r&?tLZgp^3;F&CQlKF6~ zb^eNj9Bai!+qL(Z2VNROcg1iha**zB0Wd=VWW<;P#$6|HIV85;7J+j`Q{(Xo64uFlf zBseI#R$Fkub1V7@yGI+*|CP#u3&&ycv$_ZzoRYbfPF%HO8o}saFCI$qIT$kF!8`y>XQa&&?Al;%|cY4+$ z>a+V2GjJTMLn4TOD7Ctr2&sAs@)V^|D6LFa^2_;xv0#i>H9*^SRuDY1G^MPl`2x(5 zfZf#`QgnCr>6H>mNpXARP_eK&Q!3T=K%v&#(ycpWb~s$vlU7Q~v~Qk{gRB4%)ywb-8z=8H$&1rrUA4qzFcF(m!U1vc}aX~@B9P5cqe&T=bEMB(OKVNq~ik8HKHa33HNlzxBPX1KrJ_i^;AKa{M@;GKXo&m5`!z(dmZqG^y1E|mKDul`^Z+9 zb#`w9?wQ!zI@p(WdUd_7ks;4+gfpXumW2U99FUV;IHSutOx65HS329+6KQb~3 z{IVUeJhPinr^xe5=t37L7gNk;_({y>>RbUize`v+)*_DY!58emx}m>fOni&K6-j{h z-+!=0&%njp;IdK~1QgXlSl%l}%~DRhoYra+HT}$Pw3Cga?!iSvDbyC(?w&~O-sh4m z;?8|@bJMY3>+4FO-3;Fa8M2qLm!eIe{a}n&eBlrM7e@LRa$!eXlpmL)9Vj+6K6mHH z#MIcGv*RPODjeNb{8eg-4=gq)T6imIfJ(NmsSTz zI06`yw&K^n^>EQ%-*Jt^hZ%lQ0Gwdms3w$(;qev^C9K1{tJed?v7Uh40q_uDjZlZo zQAnvzyfCD(u9SunFB*Vi0f~4ep%s+;QWbM;=rBnNB@GI>AyKwk12~mKiBr_UZZuq$ z$X5xV@uE>E1II_gEL9SAQ$S}M$P!;LEIX0?y(4wV?8WVyhan3yfrfKC<~aIEB|s%W zB|s%WB|s%WB|s%WB|s%WCD4WhUSwYr=Kpv6{l5=>e~bs<iIn*Q3BNS>v+eg=a+hZ??__L9dVBae2$I&QR^i2{6f510DbdZ_WY*BW7!qz`8@|c zzociV=a+hZ3&sNs_55O=>3Qn;Wq#c=M65Mk@MqD)1sgYA@b8-9w$7LQV5?=1{`Woq zO49|~u;9^4s0644s0644s0644s0644s0644s07-Rz;D=>MI!*>XaBtbKK=gwXWRJy z4jzDDO{yv3|Av7tus)|4JV zP}`Ziysln1RK#5!(C6n7RKx}t1?z;0uv+%SKfLy>L8yoqd!wLz>c>E*<+~{Z{^pi?}O5kis;4Zu1F#LZ9@4ss6|4#h> zl&$YO_5cU}-#LG!t?xVMLEnFw_xfE2^83p=6475#j2u}Fl^tyW86aF`GpPxq) zeglkxbxwGzWq1A6Fa9(z;m_8VmX=E;KqWvWKqb(I1YT@k6PEw~=i9B5e-EEH9^l(H z{~ze{Z}48=zP%a%g$I$}30Nk;_8nj4j;cj16Z=NA?+qP*`2NG)jfn4G-;Mqd&<`8$ zU^n}YG$Fj}az>NojKcBhRGO0wpl-|NOqDZvN!Iv`q20u)+(g} z0N(-l-*UbRFmyJid)iE;HTXwP%>&M*g9MMfD$MUhI|6X%HljKd!7{@97SsvwzZJF< zqv##kk9x-xW2sccsPMi*lDjf`E~P4p%%y}Jpuwl)4Ah%901{qQc||cYSxId`ga7!} zcG2MNmio}(U$GV4y>;Da@U6tH;>Y9O2?dYGc+q(mB;JOhe45zt-r#9Y`dnI4iY_?xsSxC+4vmf9IW;^v-dKi% z_v-@4@2QlQaMK4Iftz`wpaUf!5jp_ll00`eD|PzN*qswiSmtXjmEi5R16c1b*pKf` z3OE(|HXuV=z}rMz7QXK@36PC@(ZUUF?1A<%vTfPBH+b;d)oNi-GXV4cOc!3rtAk4= zy$o3}#Q~(AXWFKga?Y&s4)~1ZwN~v`+;~9iCMyA6Fj_tV#v@0@BZmuYY|c6#Vk45jue+J~)Pf>^ ztjP}YvTpQ}ZoG`U$lmZBr0Ihq4`Psyx+ESm7?8QK=D$=Ja(nu_c6L>=gREjAn2d)Xs8*r;=F z1dvXE;cM~CfT#gppO8h66L?xpOgrnP^~(kM4{tM`#IPOp?jk=3WWW9XCnCw0$*V@l zi37lCJODWB16i@LYx5Q}1*r-Qn@Y_ANoq=ANCTo9mNLg)ykmnRl`Qm zwP;dliH z@C@THytC7)Hb-3 z%j=aJ1%5!3ufHzqgekm9XR-znHTcgWoL1jYX3nZCCpvLqLt-md8fo7o&>^ zH^ElC$0p$HQ}Fbm1lnY6CE*g>)3BnmTddV*fDFo!$o{JWLx;fl`vwhx@oyS7a8<*g zA=h2)A2x8!1r050#R)*h%DRvt+5+&8#+Xx}^lurp2J)Uf0GW^Y6vF+!?=xF#N}*Kc zWXa^JM(Q>u2+`k70sSd z#GEb~z#%DTQZNG}KwW81wUf-tfiwg^t601hrAYG1=$c!!Kj2&y)a22w_ZL)0(Rc#~l{xvL%HaX$!9?2uCF zq07jA$6J_Q=ymIh;@y~<5n7fM?Jo&p3`?{zRg?XFUbh8b;G)~P-db@Jvwzc6sj{RL zW+G~&;&k|l;GKB=;UD>KAm_z4^wSS20V)A10V)A10V;uCc?rDKmOz;Q--+M9#E$=e zaGN78=0)BPdffqhKgalc=TQLP20-LnX8@novLCxzMF|l_sdEa9jqFo9(a*M`;0_jRyP!kwGC|eKseFdxl^iHS zLORE(8PVj@yrfCGnU+NpGdW;I$cgYspdG4FQyR=iN<~{_yOhdOTAsfGT^w?SOO-i) z8DjD7-s6e%-+Ucv!GOsITQJ|6i*x?^c4;vq^Up?^5c`mE9E{?+!I|Lg=ZxcE9WN>c zu252RP6b|SP@yVSHlki-+wGJ>d9hI-wOWB?c=bi-64Frvy0JWn<1uv3;)P(f=Mh^P z2ca@XgD|lg1c$jYJjzJk5N300r-sSrtE0`2Cq$H0_WE`o|9tg1C~XlcSHtUxBYhy! zLRo;uDYY69cXB$65Eu}hHLzHnWFBSKA6)ZV2EB%;(vCgWQdgBC&}I^XaGODy^kR#S zAZo1Td2u6Gz-m4^F*buw*=`>E)9>3^2FiP%uRxUVNLmFE=I76}GzT;X2m#;debMFs zp@ufNAtmb*HmMtKN(k>r$aKVW&S`we>5}UjYo4mkZNW3xUf_7VaW#Txt@12mf)_qy zjYUhUm`?j;QPhdqW*ZDFA8GPjKgOUhv@oCkF*?Jk2J~R^-=UYWOP~PTPTH?b6R`x!7h0eC}N4F-*!`4Y~lM1@Jp&-4|RQ$ zjZXDRh_|b(uJh*UiLrIwNsP{?t}5;@pM4CXAv{*{-(=9%z)ZG`z5S`S-xG14PoV#X z)3|FQ{;P+APmX_UD?%0}cL!obbOpN5C@&gIz!F^GsQv9`^PV?V^4}!x^gj)Vpmmt2nDd#;)Z_x%?3+QSdcqFx z30{lfUU8TI0lwzIIbT~IVHzAtVN$!meunE+`d!Ag-X?$zz6Qo?V6rAbYJ`FstkwGJ zP{NK|BQyF&Qz=x9gk{Gbvd>Hx>I?azQ!GfDFjhEc6J>H5?y1!)#cBea@}Tn!sc5oSQo$>|}$(MSlqDrZz7 zrz=`k&M8V-N(-8iktNN@rA%ICcc~h08fjGnKLTu@<(w*WilL`DT{BhHG)yg}2=QGh zO_dBWC33)$#)IEMP z`ts(HKVcBWSXekQfv^sH@9XU;D^3MP)r5F-LFENAB^cRUT2f6>59is1nT(;PbUr2VMotj2Mov~Ux|}vu3F_NIg6?zNdVS|LAMGCb z4fOm*0hSdAcyh#L80nNKm|~7sMF>k$(*~cDU=(HrUDix9ry7EyNoI;qrJ-sjZ-5B1 zreb7;TrMYM6ci6Fen^46Ju0}%ZC}SS-*}%dwkA7$D~0&sRXD5 zs0644s0644s0644s0644s0644s07Yq3B1g1+j{W-9lXCS4S4@i8~@MY2XOHJo$CQV z;H2j{_TdMF!0}>xAm*{rf zio6o{`FRv7vH?cHIzvUQmc8SRZ~F6KsK~3lQLxqt|Ei9}#T$3RfBw9k@K(z{^y5$b zI5^>d%j@cOPx#-$eSRKI_zf@$);Zy=mOcEP``;Cu@UQkpLHmRsukJ{ob_qYwDG5J5 z*+BU58m~HQU4LHFk+@{zu0LNqZ`U8IWsiUEPk$O%f6n90I&B)20F?lhz!{Xl%k8po z{J#V5mw;m!@9&TCKk)Yn_{3ko*GGQBKg?^r*J;L$S{TG}Sr)K`KY!NM-mQ2M2iYL@ z+K#^0;?&u1BuPYgFNp{znVXL!(cAhE2{!U{|KQyrIkT#w@f?eS`%zAz%N-Z#rYf1WlFi+6f|rnnzCC1anAGCpqp;`5eeB%7H|jzqxWh~!faCsmwG6LjfG!qV-W@$q27ot z#kKHa+o6pBy)pptV~cD;%o@6Bnh@^+(J2{8lCo(bl}=?;MVB(7rm4?GmxbQGl*e&S zZ4~hA7SFF5Mv=WjTVQ9WLui z&4^p6*!IZtfiu3BMGvv<$6kj@A9tP;GaPz>)jg-Y1b4uxFDTV3UTU@{!=Q+rBE0hr zGR7B>i1v^$@aEaz4t=NG=1aU8*!miO+;?*c_ULeKZ+a%IPaNFkoL>)wWjlE+R{XGy zw&%s5<3&ix7hzd|3N*ks;?DM#$VNyfXh^#Nlg}^?WFZd-2@p6rT`8$J+usALGXd@d z0AA)6A*yt-RB+KT@zmaH;DmqgS_c6DhgSPR?l8`P(^>fKv*bbE0eDirq|aiYKHbeA zsMa+ND%12#93on(*L+u#f$JYkIA|35W`ni_WK1TtKdS@-H5{u01Vr$lR<1iDwPK6$ zFFRer(CU?ZZFLj|D&!&sx=1M$N-NV2c;|Q(;IBwhj8m4Tlod5!fM{3(gy!|FUMX3C zWVmx-3Bi*RMvIv*1jh@8)ALmY1DDnDg&S{JK?pFU&JpQMS~0~ok|P;(A!kd4yte8H z(#px1#Bd(|jwASQ4Tz)m=FD2R$$rh+4cJ>Zm@pVHw9>emxTQFcY@7#&iUm>~sP8Er zYrhW8#&hlQ`1F8Eac;~M?ADxCI>4okzefQ9rRu*BCKDcgL5x&)^XtD7M9^}=K%DAu zb#J9qcV9Q;$W*B~Q!2Tu8aZ|tU=VSw8pp?8fQmDw!xlO_aSLv8CK~A|+>rz!&>9kr z9gmmUGXW}U?X}KO={S8R!v3rm4WVv(NU?(eCwTp!J-kml&H#Ndi#AzJW(Uv>Xt#6g z>1GBSVSl~}HEg)q@bGeX064+X@yo-I0Nu;t(;TPNYm1QLk=Mv#5CHINw{c{8S?!1q zG?iF`l+FrlN+DykbhKXP?3b>U?hrp@U0yYRP*)Uq|Mx56fzmQ-W!Yc!ydF-}b z!Ev=hm4k)W+4J9ci=}YQ9h?;;z&kuWl3{|~VkI5n6eLJFin&QYn^0$3p3Lv}#w1`3 zwm%{XYN0zO;nucCB))S-K-aKWqfLPFwQQVVyL%$B*GEXyFwhS(OC1PFrli?+e`ebP)Wmb^-iIwmb}i{k;uUmuF#!bHo+FfF=>*#wOw%WW?XtdhAPC(zk*tXiVxI4sZ14%swSQ)aMl!fH= z|Igl+0LF2Z_wQ&WOMbpK6DMA84zD*(VvCG4*Y3_P4aA2ME3p+-b^?gxZ|0QNk#?2c zl@f=4+LQvNhL&&@n*M2NxB`VHm{I~M6vENaKpUVypoNCEP@o(M5J)-y-+S}s+*xV0 zmL1!STcUk$-n@D5d*8dhM72J?$tnPWLYw{ikP^f0|wNK9bw{U@k$ zx)ZHX?Y0c!Cz)l-AlzB8Y#D_A%^d0@1Ho>Fm}XRyp0j~A8kdiOz;*&;ul0)F z1jTtK=a$t#VhZ`{9M`PfWL8PXZRWTEm(lA-=I|RBNPYn#XW+0JSfb?8V(I32mDsP^ zgt!`NZ|Vkg7oVG#QyqEBp%v-*s8birfbMG}Rqdr!-DDm)j+)@@%*C`On@znb# zqEswpbUXM6z|*)4faftF*nsSD8Dw$UfrvuA>PWAi-|`V?;Yw7FJ9>pzIl$al0Oo=r zXsoK80F5B3_ZHRdZ#U`P<>9~#-cXYUC9?}43%o-=xI@1dO|2M!6M za_Fkv`wt!1yAx1_F7wJwbX3Y$+wQ$P;r~Vc(D=3co+n6rzFlST9p{sPNEB6Sv8sGu z#O;r$EYR|$o(KD%SzI9^X2xvd;?osY7)|rwSLUUrXND@nnZCh2& z^ATuUrYp6xCF3AvhEg&G0CFr96uuyex}*Y_WdR^0jV0C2OIFaO+PNfmtad&XoCP*? zu1~&y1A5~>4L7k|?%oof4pMk+>{7>VD~eyW4(;}g)fH4gqGR>k zIZuF2_hYDiv>Nv?-XVl|=8`CD^j22PY~?tRf4j0>N16@plLj_b2b_EysU9l@uyTjP zwy-3ceZy9`QMF@tR_(3LA&OGS25nsiq~$@4CO%W!&z4jJEnYLIc>@Yf&u;yEtkRrs zz|uiFi6z^jEZd^(LgqT}sUuzQT+AKOB&zf{*jjDJ;@Id~vA`Y#z&5e4=0cyT%^MI# zW*&>sN$`UV?y7r(Yg|5f8PTQcU~LaBi5XCJt{AyHwc!UnW*s!U9cz=l=F=!pbw{mS z@st$~LoZv<9Z|cZ0HJjbVKR5D7g<~&-1bzlxtV6`( zKth*74ETXzP>9Vmr)~d%SGDsw*kJn{bR-{Np8vqIn!#lI!1ZBmH!}2J6B#=E_cv9B z&b-c(`wY2T&9EQ0ku3ZqBNPDe$)5Dz7?AsD(U$^tkIm>}oTAW(X#SkgEZhn0{O2zbKtG)Ukl zY~+W-&pu8s|D(*$nAU51n=U~tp9sHy2E8vLLKqIgSD(P92E;n)1Y8lZSG8FmCEIq> z^&cfewr3u^!oVWtK+r!LnquDKhTOt_cUwXOliHqJOZ)iP>+b%CBz8xM|HTxDDG*a2 zra(-Am;x~cVhY3*h$(Q2QQ+mYJy`#rq`$N97pwlS%h(wU@E4~KZn4vV|Mv#(9>{t3 zz-atG3xb4K%^7Y=nbw=B$9mFlz}LV(lf%mXm&oW_7ub>4xxhQ@I&$Z8@-k~k(ni9- z*FPEb&Jd;2;sm86a1im);1odvk8+42D2S>qo2p9H{7#JcOHkS;x2c;872?K1K=4qZ z2(e-{%_zx}7{|>9|6=>;_b1Oso1mjy)0~Cy=OF5wg4>aOZDJW=5<(4Pd@!~bUr`V5 zL#y|wV1o=ds%B=bzZ3Q4*!nUfZ02v9$=&I3W&AgG7NUn2W&Vb_%%9Jt-0AFw}PoR zzAED`+3tjxM2q6IQ3eX@6x8|@)&vum#AWDScV9bp@X&Mij*K1J4Q9wAhsLfwcxYl| z=bq<<>-T%wE~qo}He43PXu=PP&Uxhe5vcFCuN%2;H2tLB>Pc8yGcVJjFa zQ>)fPd#^okaK$PczjmU_%CN)O*v|bUOE%@odTlnqDOSatF+e2a40RAQ$*K3i_|DzO zT{&Tb$}G5Spq_a5>9#0s)IFLs+jGDpgu*(>lcrh)cPra>j?S^+ z@F=%cokG*2z{&t%Yq-sPZC}-jXkGD2wL7qs4B5O8WV=cgP+n#nkIQg(7gD+&BYC`$E3J8cgkXXXcU z$9#ARz7c4z;ied0utmAM%aZVK)k>JmT`Ii8y9*2>XZvfOpbyZw%IVfr_zSQvgPM51 ziUIXJ{xNJYs{L?Ea|rINsboxiiQvS8l_C6vE{OzuwF{7_e$?NpNU*_zztR%B;qUv= z-}U1|98CV^JTV}%%Fsb@@}&c9uV&aak!wpS8bem5InXT zq*DJA8tdL6SWUw`Y8qF$Ct&9Z7^5`ovk`&sbQ)`~9}Z$CWfHfoqp^pD(C`1+^Z^@)3YIDtDyd8o`3Y0hx zJmjhsb|YfZ`eD4e;YVbrgoiuO8sCD*X6|A(LAjLw{)t!0^jnhX#SA)!DMamp7xcT5eBlZ=UD*at>{7drxEgh=EOc8`{+7*2J!MEsn}t zB1_@x5Zhan<@~O#KBq|loCv{E=6SIBuo(_~7X$1@Tp}+Ga10b-2~+twW|$P**M?od zii9JG7MPJ+&DqFE+MdwBWY`h9V_(TM+K5(TU&)<&_K%LCe*AM{=W|ktFpy+hlMY98 zbG7p$8X_`bn{~XJ8ARLBC1@L)LqW!1dq%6FxByWol6Nzo=|Ss*2lS5kxksPN^>9{h zODpa1Y5;4YHFOy7tGVEe9~O8=Vm5>e%>YE@U}9I|YI~7@(F`pSr}&VE2lg0~MhVt~ z-b7iO9;^wRB0>JpUui!yu zqbi^xAk)N`N4UABYg4&sE?ekqCUn3K1Pa(cn(uZqWu|yB5NG+zTsb%@fQxG z4PHGb_*<8twf=J^+j|g0En`AcnX^r30!X_)cuo>S>9RXGyS~AM_J6!JZ-5WE^v6RE zV7A%B_Jr8M;h+rb-`<3Fj(x@oY z&pYvLre%{@p-ykI&xWBz|7q;@WI_WN=pZxHVY_X~d>O-dren;XdRnF>qfEIt4I$@J zz$^aKWVUDU&S!=7O+ULFedzocuXsq3hlHpoQ!Yg(W4vN4K^h7~nTqj>;lhmfp~y&L z&b>Ucz)1*372_43(h;lNr6nvmS%&@--_S?L!xcDUTP)5Y%FZRUc|=BYJSq`SqI^n( zO^We~T_4D3JO1G_y}i#vA`l{hi{PY<58)Wn}HoZH? zhTUIbTygBMA47iwSOCLHE`GcD;m=(;0Kj82-~U)LeWxGJuhmeA!~x9nx;`IN`{^n zN{Ur7N|IU<3ueJGOD3;DHqctj!wOm?ueXjgdn zY)gi1c8TIw@N3UA~`UA;q@8Db0#2RZOa{Sv_&rhCxaT@(c3L)>c2x$MJQNl+F znS-;2#mRZO$SEZrZm303NTF zhlU()|Dk}l|54^c>rfvFbj>>c_fC(%Ad-Gr9JmsD5I3$D%CA_5{%~EZ6FvYW)ZiB6 zxNx~zt4^CjwP9GzrI|B+rxmc#vGEIB~t!4XxnUK69Sd~9!+s!-E>&$mF#?#r>4Ti_c&RsEQT^Ks9&CqpeLqTm0u$>w41O%=lF$^0V zt}xu4E9k*5d$+9 zSs+~N3ETVlDQ0O%8Q+%npDixQ_cG{R1jp31nSeb3)*t{4ZH~>)f`O>xt7A9}ZkP=W zu+rvfmAtgm@gQ+tva^W+f|J$WlhdYL)E9g%m`D4;K{5JNfC4Z+><3n%Jh&N=YqKpt z+Lh?&Ji-3D55BR+$A;{=;Let^LD#)?1$;IyLF)gb&!9o#xE-?rV|lXqZ*Y;Rq-+;xHT84lPT#6h`9Yw*lA zFRxln>{`(P=T3-+_`>nc4pFB+ct)X4|5wXuegElhzic zyN{22`j_W;o$VWBc(PMISOKvy90W#{VL z7SYkD*KG76EO`SQ7YuMPUaw*MQ+U^tC3<26QV^pY&EtYvu$Ton5P*Dfa2g;maNrT= z`_s)h{-3)z+qU0uyA8!j4oj0dmy))VHkws@S3Y1H@9nEpZ*n2CBIJ3JQ@T z7==fmdwCv4`imW}=((gl!k{Ze49Y6Qo?fxz6`l_(<3&d(jTavRUVVBvUd5p_r{hqX z-9-0{LutZE4)jMfxMv(nb17Xw97;3QHlk-7O4E-`_rs^pCY>4@QQP)KZPJ59PmE3a zdwSdJlx^emx7&(|Og%G)^*))tk$N5MixPta121)S76Y%cf0cu_;zp@t7Qyt37mb1d z23nF>Fp6SH5{i0JSBr+kt75TebF zRuy$kg+7=P{#rlo-)eNoFR zQeNSCtxyv4x+Q{v{8|8oo116*P!b{n2kqlYMBvG#S2}IfGmq~gWU${(p4hQNB;6E_ zsSE!*Zaa47^`1&%Nw7GIa0%LJV!Ox5k_C~?^Ql)S)33*xh(Br3MBKrnA6!Vm;@Z3& zVWp_48gCZ(0%r<>1c7PQBBx4Hkt-P{SSj+lTF?b*rAPzBPF{x2gOEQV6j3aMsa4^` z$F8F+2Wa{be|z#`bbf2;S+xoQL<~+l!uB0hXKIbf?daUrVptW=t|yjtZjUA}LYrGl zhV>5Tq19fC!Zoyj#d(#VLt`TaJE2{UHn$a2vsqCw4a>3$mIjlgC`po15b}jQOawzJ zin^{n8=V*Vx(zedK?Toj^ZkZtR@nC4Fxrq|E)2s6 z0w@CK5S0{o*&+MoWY8D2p#oJ9LfqLP5@TwnyT7S1|mWev*>+nt7&ID zE7eHq<4{_Tj3%Zm}X_xtj#wMcyZsuqV)a1P;jakSDWs#?h8ZYJgv=CbT_2DEo0x0!T$X&3Bz(+F|M`VsDKtctLGf6So#;r@?0$=XVF7d`o}{WsIxPfvpH@CAa+4sLp%{LZ{m;>5Z?*h00Qca3puVi z)8Ih;?_8fRzuv6l(9Q?<9S|gN5m?&zKg)WOG9esBsUSlbC66b;ioJ7=B;EinPr|Dm zb0mIqLO>U@7ok<)hp=GY#`c5h{Ae+1mxz9J9^U$5C2`vv!T#MM4;{O>cPQ%E{uqGL*laN)1f#wUI-$1wY_7+ zL(CobEFSFU6%g!ZnIJbm4WQR_4|4NnN zS_23mCqUI2fcX?8RS`sh;{jDkKx+VN;RLwu*iot2Rj3!Qg_BFJmdk?FaS7sA6)Xc% zC-QxwYJi0yg_j8U-*KxNmiDTMOT-k2DG*a2ra(-Am;x~cVhY3*h$#?LAf`Y}fm4eD zucghw{{Ia9orS;H-~XKy@9$ywi_`Df2>&7fnD=|eb~{~L%3+YvHk>F6RFdq1+;WE{ zL(}Ju%+KC(^KD0@o3-Nn;c8wI4Wp9Um41IRyJqmKy~O{23p!V?)#_lwK;+Yog(jf1 z^zFkRV8OifktEvIN!1ZHd8Lv8@WGM<$bk~i$%Z0xiX?%FUa`Pid6Sp(8n($x>>3!L zP|qMo&AJ~8S>^$XO|=PdYt)d=EjD>6IyY$cghjN(!g-&t!=8CSuL1$Q z&$NKJ@|jihmV;DTi1nuI4QSMD*dokw$O3~rrD#f=Vwnmj%O#B~@kN1y(F2>C3v_c!O8d(!t~B$@x+9!9D7&+X`k z=b{uDL(oXvdc=N%UE|Bi*a>@9fSvO;1I&YExu|k{Az$ERQ_ll{rKNEeFUdMzG{Ho; zNKHd&T<2Cm&wHS6HQZUWAkZnoIB%vTIz+0qHQZ1aPbNu^p=r3y<6 zeBN`4#af7+Q4etRQ4FdE^9|g44(QV+02acp(WxrfuG8$1TLB#s&qmxOdlF+35y!t6 zb(1=$5+s80`I(vVfHhOlw8%E^b-ky-Xg5aPygk6F$7`GA!&?j6=X72*W%A>Toa*?! zuc)6pv9F_1ban#D0vO3T>r60r%xBW(Q_HrusG{nB3MNdxvy`_x-l%NVe3;aBZj8rC zEW5Bm7L%&ghQ9SU_UJ0~g(U)~27{OGb{FE6umWlijoG0o(#pkBJ?^HQC};nbXc*mS z-GH-jFwpS)HI1v_glivt$z~fyFnC%9`8Zttqq~JqLQh-t)rZ$Sz1XVg#f%NSif?Y5 zs>3m`!HM6qt#6C z)fI!9J;q2~SaBU=@?Dv5VbiZ{gz1-2Y1{5!ZD_d zauKiE7Bow~Ttr(UUY@HMOTHQ1;`u7IjtQBo1zP+pbVLONZO#6^-U-22UF>FLgw_rVsy3YrTwzqbpk_@|P9fowH?c5cD?6xi4=!a=I zw+>*u%UYz%IuTGg_GTqP(sgi0S9vX;R}`@PGL(XDDiFxc)Fjgo%#tpEO`NF+N?ue2 z6MWALqNo*R%PPtxHDqt58xZhKlq?Bca}^VWTVP116#2Yr8d5q$#4xTOg1X^pdofff#0&2B5du0PuFeEbOut!1NIOcA)eQKMXe;2H_4AooKUC zv&&nj{dFE5AfVTYbmD5X%WO19EUQ*;E+b-_PlD+P;p4wC1!4-s6o@GhQy`{5Oo6T_ z@F(=Go-)b#_5bH3?ev#v`pG`}oEi)~(r>4qbPNa*%srlx)fXSYTmWTx zgqqa?ESsu1!%ZpEdUHrnii*fH4&x&5NSA{mqGI`7K9Qf7c@{M10oMs0QZP|sZuIv280=5YmI#@LKIK#M*OI0mOwiTom5K zuJ}$F@a}5Z8a-RFJ_jdDQ2gz7FoV2u^vP%yz6?rB=Yg%uf)ohzTwEXLA@MB3+Cp5p z3;GQD`X)+(V3sPmZM}AeZ5@Z)HkmJo3S1mG0fIYo5Cq!b6hTusNe5RHQ3ZDwRUHKV zub7nb#qtG2lH+M5U+Ay$_Duh7=q`k2%x$4RvTo6G)?aim?Tu4V5+M!@(4i{3zph}e zUNu&$&#E&M2`y1~r2Mx9-^BMg{^9R_?TK$c^0s>~u;&Z&j+J0_)6i5!)Kl+Brr&{C z{Y4S1{+*>+omLaU>K4F^NjwgaDM&B~s%mg0-2nR+xgh2R!2+l-HD+~iqCACI{Qw44 z2Ufq3{_t4+>EZNudYtaFoQW{{BJ+?+o6LIZF(&=aWHvK+cZV^Ue$s>9=-5QLwM6iA zUa?>eF%(WQHG`7{_>ZO+MGnC6c#uLUY7zYTY)h{DoaOuDOp7O>V}jD&*y=IImC%jj z`hU@Fc(wE_pj4fhUpN*`c(Gi*Q4}HN!Ma*)RGe6_WZ4B1laR60K_mvO$POtAxFw2O zfy;}Q$;l;AOYzEU*R$Tn-0hPWl3~zPkS?=M2r2DB%87&<`sze ztAPEKlovQvGob$puV|(O?vYB%;D4rrScj)I7sv%k=MBZ;ii%K#wOued1^&zNJZ!>p zF|YGN$;SoX`pM%z^tj;ucfa(302kOBT>Rgd0x<<*3d9sR6Dja|+Nr4fzjL22Q2YO# zAP2zzZl(AC|Df`K=MUKT|F6?D#0R{41>HNu2D1R!q1saXZ2W;ib8 zIjtyK9N=r~aEVYA1Ass5YeXys3QK`*J26tAi-;5mo4p6hNN$#xac6T=(|VoQ(1527+)-4mF-+xz$g3vA7sN4o2q$Nod1(BDt+7TR^^P~xz z-m(HS3gBLN3jkrjbPNK7!;E@)#EkmUlENmZnur-C0rtJ7lvEA?_+eTp;MP)7;W7#^ z-X)w?;@;gVXP%vHV+Cg5@Q{lEJ$w_10wit(fJHMzH)3 zmu7idO$5thcqNc?3*d{UTO9ayfqa#hN}L2fZ}(;f=V{KsvwSJLm(*iD z>9=Emfv@Mo00R%_(Zd&@2;&NNo!{hvYf+MQVtN4+fPo3n8OT7fkXJO#D9MvJoRHE0 z&!;)IpI)dZmxC~{&yO&$*58fXHbYe;%`h=Khm{9x1en2^p@3r7lvIE_)r5keg)jy_ zdv<%}p`+k!hcWP)v(cSrw}v}9Z7>EpA=jymF+dq8?0l@&r(6&FWdsh|eeKx6L(kbe zGInV9&fR-Q4vk%V@X*A_&OOfy*Y9`fUr=Y}iA5A>+=*i@en=o3My?-$`hNSmk?Ted z?HL(AxVO7%uDNd4$i&#l!I1-p4vb7(Ke~J5(B5kg99*%=#;={|vN9ZKX>8~IktLgQ zWxY0w&BTTr<1njY&KLlKL9Aw42 ziL7Hbb>dCP(K$989_6-R3eI@C1?*5g*iEs`e057YlyoK-z%Y>UJ3btSpg0)5;S6bT zz6NjY;qET7rW_Al~*4m)ZvKwo!AJ8_sLjU&OvY_+X{PL1G;dtQ*{V_bP*bG&g391I|rRjJZXZ^4P_3ka|)4zJCw|zw)i9E z&FHL_3liH4u}JuG4sC9G6=VA>b*5pKx1mjKE=KHXH;`0$OJpg0<6(Otc1eEMR(72o z-W=kR09(#tOcgIuNuGzOO*X?ptoZ=Dk)TZAa_(acD8df69EwQ62n-LxE+-DdBaJqq z)o^P(v~$n?(J|DIe@^UtPAYK+lXw}ExRXiT&GcRgmy5PBlN{;H)y|KJpi|2VV|v`p zdUfmEr6!x$o)A0O&&#l6?M-Os*vF#49+ggL7X@}G zHe!E*LJ_zn_F<-b+!9}`tcgE`AZ(#^eIe6?ID`;{5IdU!Dk2ED5`!++`5Z0xyDVaq zhlc_C#e!I4Mcych5QmHh5N*~|Sv15#N!LrFAb~570rAO%LZPVW zhORmwI7{31m9_R|91t8{F7W_X0~S1{XcY=zNht6DZ&TECQ8x=Fcuw*fxRj}qZUSbF zS&)=`zF-)Zp;|@FRKySn&hd6`ZvtRpHrWT<(9ZQVGQ#2WQ3elnI+145J?Uh+H@zy2 z(reNi)0y;nF_4X;89&|r-sS55TmAokhd%pz_)G8rsDJ-m)E~g{54aOv#m^;bF97!c z_jy{-i#;tU+)O}3N*zXnx5(6|ne=@)2*7Tl{MHD|e=tM5r>&pUlRSO4SG_c`d&bJgzIQ*V6e z#X+BgW8P4A?YVjkkNFwoxq2FKL6@E08&E_jx={crQC@&N#w&|lpHo6yZa{u5Imra(-A zm;x~cVhWsb6!CNNTZ_bI{DOt!h1Nkl`3%VoTK6%K5krk;CTU0b_|JX}^RC zHL>nF9y?UWB-Sd&R?gl+VwKyQCe!hB3&d8=R@uK~fGbsPzHW!Ow5=4)`Yesjd*V&k zT{DmH%yP%ev4V5j3~eL}rCY!r&=!N9&MS3K;h zN+mFA$(K}YA)D7M$SFXuM@1{<_c9YfADxL7ADzji-FQwl1L?)>Vq^2^*nAp?+cg$v zlkUu?nRiDj;SANBtyLT5B7wG2cl4y+jiH72=-2dzcD0HIN5d$CW9#-Z(o2_8H;4)rwT_GqYSf|~*4 z4N+{KO0CK=!cpelji`^rLt!1PAE!g$14BRSi_7(^v(e8Z0Dm9|Sq&U*p;Eu+t5xo_ zDOlt{?!tgFY|aGhpjb(+R08@+ij(qQ7@4}cP-#E|_JR{zt$t)*WwzqR0&AEv5E-mS z-oqjYhZs-~q@4KMcB=apsFsBth>zfUT$~p?C_AGbU?oGPZW?>$>#(^~u?74ZovPN{ z?2%gmKn0W4>#-{>AXEw}w*1aQVOh)~=pANt!Pn+sm9ef2lO8jTBYeca+baVdomQCq zEpIQO&Wd$qzDX1#0{Qq4WZ#4zTM&V;xNyvlH}CK)UXMI?!M2k;=$jU1-9=W8#+_AaMSo5nl@3GZtm0rkuw{C zTz@sb5xAgKpvuK*s13HywJw-|evYVdJ)eYHGB)933DtgksXKdYH_SBv8? zpkX%fVX4j2DtT$Azu{!ZCfP()<I**fl~1llIY2~d!S6(YLpb}?01^W} zci^GC^x2*L=)fs~?ZW;zENbb%2|ET=IdsxNRSs_)Hq3=#-wMvn)TZidM=byt7`K6Z zZ#xk%D2Xug$;Id*v=wbZ7a-zGRCnd!wFZlI2z{^s&EI+#bCzLR>ikTTYdAaF-OR5c zu4wQ8avFo4bTT9>BJF>WiIga3wxV?t{`DTi`GEI1lL5370yqG$3OvfB1{m;2XR^$8 zhG!J!3SR_M$5J`|8&e>rKzj=OIeipm|9^kVe)whhi%tLk$+Q3eYftpJ#q+NPvp_67 z8xDjfPW^jN`mdAORfDgvg^h@~_VNmmO&k49qjTf+N7CHbqGt4ywzK+>(gwXTAwY*lNX|MB1*veZm;c= z=h-Oh(Jx<$&JEU#Pq|nm!UlUVxjAA3p&!_RE+(iyaGW(m?Zh%M$Obz(wQ917$!DS> zE*dIj-ijlWnVbb!%$#{EY@1be26jvc=&q^orf$|7Y(g7H7gI>HA$4YMS_O=rx>;+$ zpV?u6UbzWigg7{4tL&vO%w0b=nkx&J<*sjoi zt>}D0D!Z$}L25QWE8qs${6TzcA}){q!yuJs$mT*@L}0uzZz4U+ILm+HM&Bjm}|-B?~(S!?+)93*$M(1vjuIKj3a( z4tr6muz$#)b%FKG#*G`ycYIdJps|`GZ5q6cZic~m52{VBj)UVs<-XG8;FmN1xeg&4 zNi~TW5nYJRGUukvS&*B~a9AY?TQv(XgrXwn#r+ikCtWu^KV{BAc7qeHs<7}DAIybf zcJ4W7y;oL>&MwH;xTPHc*EMLh1Yw&LNxY_l)}db5A>h1*l7hgq>+QDoqduXO2iVtK zRD0KoksyZgVi(Z8K#1+bqevAmjc7+YA6zb7*~V{yIpD z0|Rtb0kt(f)DC8@u{XE9YU98>=wS5<2pH|x#Y^!R!^W2dd+2P#eVVn6(6XKoR7Gq3 zi_K!+OMBlNtNC9N&-Z_=TFV-+e34K~c>T&vp*6mBWw9@8^1k5p2;LR9`9I+64m|Vq zqE4fGo>NagDod`N;Lms!sO@N}~>Yi2>fb4#s$Qx@h%mduTEma3k}I(IpN zD8^3!cD78Pj1#PWr&^$NqXEqCJk8opF7QrszFuu)&3e67FK0oG;5@zs;w!E$Z24Y_16bOaQ$-KyO ziYn_|u~?7|0A3U|UdpX23<=^86e64U;D&?hObx(n7K9-|7?O5~tV?GM^$1AeLvpzv zo=WnN0I0n7J!rzdkL`LLgRDr@9CfaOwLNCtL21-VU}*;N+8`pgo)3^Bf>c_(eRfuaUck99%g1uHK=Jn@30S)wGuC6-qdNiSKdY#O{| zs)B}BPo7srT~mdk4se%%a9Kj`J$i``x-I?S=O16)o`SA$(xG6%gb2903&`2`s-zX-km>{yUtn~&2u5(_dw3{o{`S_LrfNie+L$AXOT@)`>=yrZDc zf-x3k499|ur3JyxO%o(Ku^^-T!W(j~{Dd6vk3*30sbpJ0#@AZ}L$6JuS0$GeJ1!z_ zIHd&{SWwcb#EV{{eD*nE^D69E-6H<7g@BFb!AOs5pR@@VwC`(;F>G#quglYx;b$RO=K$#EJ?s#Z8*?$ za~jfE;2ev0A_P{kcxNUS?|5RASiI9#p5%&AV)0Hu{6?fl%M|ZWDNp<-ra(-Am;x~c zVhY3*h$#?LAf`Y}ftUg@1rmQrY0#5sjsN!*8t?DCP`tmhXuLn?`FHzl{{SZ*AjJQB zz*DO)H{jj_$?W;3Z@|6(Y7zebUvwK5{d*W6s!lL7{FtHBwHd>#j~ZavWkYWeVKoVq z2*?`5WjW-_OrCk-aMwr}yid(roT{;>D|--$#8QWoC5vmA`9oa>+_QW3(0{%3rNK~Z zf9DN#*8%tb4v+a66mah};DRm#?%6%N@1;Ne`ydy5$m4?LPWTTcvlpDc6aJfL?1Z;_ zcF!07>1Dy8{;)UHT~GKA<1s&jCj4o@1zk>fyJsKy{Z~8~;DY$*6jLCkKum#{0x<<* z3Y@+axSKZJi~g4YYz_N9@7(Wy4srnO`tQ5n|GjqxT<&rI?~~aJPv7JIx6at(zTLC? zU-VC}2psg7k9b4f^>P0rc+AhBm_aWm2u7;z z#J|8EYUEuRa+=!CnHG}n&CzEbR*xa@Pujsl|5IIfP4NjI#fl~#^;2`9r3@9N+QPhkr8Pe@b0iB0@s%k+-OKvMr7d@4o3(7fXkoAyBT)MTiUqAGC`M7` zW!~X&WhHo=e77?mUqgBPzRx`RyDQG(HlxS?jVTaQAf`Y}ftUg@1!4-s6!;CIz*}fv zdlF#8Pyda>U##zU^#9MG_kTzKzm?km|C-7Jw)WfQ-88b(zvEPxU_RyDrIu?i@Tp{W z%js(`&?*x+Q~Uw!o;~{cM_(1t6f^(m4RzP{0{@7|{0y=eI1RX*Qi+td^pSf?w55S6DbZSF3_3)v3#U5|$MIRvpJ1Pcki zg+mMA8iH6_AXS|2P^!3WiHn>U%4zI71(8cAd~@T4R9ty`rhgn{i&!{Xq(8DGmS;8> z#)hSDI08qEu>v5*a&9o~1&;^@aS>g4ZrS~H1>?#d6I!C~gq^r8_$Co1KK$LFF!9sJ zF&}~gb6FMga-on-8!_UB9EDvzfp#T4vw|q<9@{J?2ET#P?C&1L-^`t+R%=Qj`_d>Fo zuO_QGQA~gFLiG8KC`uzu-ek{?&{el6`#aI-!P$k`H8AkEwz7ZnY%d=208vqc)xzW! zbQbi9149M~%GWeG2(vQHBF~oL@BxG-%sGfkryeky83=t5wswHMU4Wnq5b1#viVEB- zM76-F#iGbTcn$%FRS*PA8FV5|<1nU2nUAK>Cenu1XcMjhf*sI_KU)S~~9@{&57o`h;nj063tx22h``7&qh~Y+EOtw-JC_ z;=-vA>jvVaknrDbL^f#9PQXam8TqV^n*##?kO^=npoR$WYjmoL$HmSbxz*I?9b*jp zBIDgGpnJKSFitd%>PR|3M>LF5tk$Po$OW^yfZwBS48DHVwfjf*?;G7edN5oA{sN{Z zHvd>qXXfodge0}rE`oq@ao1#+|$Mmq9XE(@>SF^{QQICXhDCW$1rDlXO8@Ay` zOB0%K&#lcjeWgkDep298_+$SOa=HUF4o_iN^3r8Dl5hfgMaTw#NFn@;0D0oKH%J*Esw&ju%@TEHrgqDCy|Pf5F{jLt zh7NI7ofQO6UtOJ3waN^{bP6nlR#`RN*=N*iWL0%Xidlz9 zy5tl4?eJ3LYSWDo=?j$ZJPoW2cF@ZGHHdNL?>%AfS)7Y2Ba>#>Z0e3gBs_cEk`8_S zGY4}NZa<+mUASSp46aaSRn=z90}#ZiqMQ3F)thi@NcS;F_5lc6rb9eACvOgx5kh|u zay7<$Ya{SN6M`WI>vm%f`AfDAAst!Lf}MIm?uLU)LAz+KzZxHXud1uMIUcpbH6eVj zjmzWqiUtdX4mq3?+zMblvMN)YT`Wv)`{8~S^N91hRi;*J`!T3ErCkNiBJL-hF|nyi zi3Z~Vc78{hKk8{~yl9^tKGovN_&EmsGZ9g`p!q}y2xfJd-CMZH4W=*-I{>wigl(V1 zv2=HAEVLw>l;7TwNHROY@~>$m3Yc+~eSCpdID}X>%Kv?T+OM(tdX0$xhdbu-t;+U8m-T*MTykw&(HKV zYYc+qK6cDqYjgt(;)zJy@|uv(_i#2+QD9mE=H^INH*qx+t@TY3bRg--68i$ z>Mcq3CB0r-FYQ#u*@uIcS-Erk(|y?K=3qihp(IS+R3e?vC1H1ioQV0iS1`2b-3u=8BF#3mKZGez` z_T|J2?oAf~7*D(|;@T#*qx0De>K~pq)tTlr+dq&<-T7=HH0s@Z@Zfmrx6*xCw4LGm zCND+jv76BY(1NK7Z{i5D@jY$RUIJTp^bivtELq0Q_j?^@I| zTFtmuqfDDn=yx%#=C{X~%R7x^x@zQB0R3)&2;CQ>^cZs`8X}>5^_kkd0SCW@3c#g> zVqnihAO<(ABHN~-!VFtV z?VW>gJy^QQ>9Ehig>mK~=8k*5_<{b%8RloqMqmWEWH$HJZZYd{)F69d<{H#L4uRU? z3d3H4*7{djw)Y@JO9wK!x(S$|355tZ@vo~_@0th25^mTej4W^u)=Jp_n2&dTc_-rP z)B`=~k1zM~PTuV7^4^Kbd38v@gF6#mz+sP;!m~6<4-wPfi8{2?VjE7y4QX`Xe9n)j|-OT74qX`_R`bWE97UV z{!n)rCBp96o8Ec!-NB)L(i`foC;XFm%+DaNkkfz*x}5NK&mRBd@BApp1wZk)V7U|i zC&}#g(|5xE;*6c}cF*qr;>Yd_4)ssHq3(LZ{}hk;88qQf11{)t!rMK&^Q%w&G{^-{ zd0epE3I9|wyW{ko@V`1^C%oOWd%pbt{w6Tg?(HG|5mO+h!0AGPduT&Dx&J%<{9g#k z1MUmS1KvjE0q>;v0KZM||2dk5`~UxX`$E^Jga5@F#2IutI1RRpE>8z^%Xsy>ei7I* zn4fuE(76-f&yv~oojL)oU(^Zk!#@l-0Wv@LnzP))%FmP8!PED!a>tJzduUZE;qxLn z-5=z=czx23Z zC)jaLf$3rW$S`$3CdRuI#TKl7i5+sCJ1iNRK6hk(_LiG(J0jhz73U9E^O9&7mDH~E zFY(g!RU6xL3p!V?)i87`G357vV%ffZrrI#s_w=Gil4x5eRY!Q|mr6!KRV9hb3lhND z8j8#*k_2cK#R6~TO#Ej<5MaCbdo2sk0}Q&Kn4mib(AXdzd_Pppobel=gL8#5CT;rSsH^cf zdM3XZ!NN70xBUYET*Cgy@}uy!M%%psjk*n6gjo(*A}=aMQ{oiM1gKWPBj!qcQQ%9gVdmB+e6(X5NjRXM`T!vQGW)RR5wUnR5sga4f* zzL!ff>H|si`XmaDH*n+zGC{nrV31`)FmzRv1x}Pr831T?z>FwD*HodPXtH967SB`6 zh)>uT- z>?ao5Z~na}{n2E0VDRY0WWPbg!HF#T?2opgpPwCC!C-3vSB1fjHUPSpeAM1cCbMXh zW;WH(fk3V6(`=twpDoCf7ou|_O4J(E+Gg@R#0Jj`{+ByF3{AH8#hKjEsV7Wg@|ma@ z;c{Z$3VtN8vs?ArEC-&daJErrz@tbt0QG$aqyE<$Y(g7H7h903nlnS{%-l4%pVjJS ztpR^#hc#6PCpCkEol<2lePQnUvC&*vxGZ;l)12GCb9b(sGt9DFEEm)=Unmz!Wktx{ zt_^iiBlZYn`xb76FKaTotZfVIv-P}IHJjY5T2-gaI@{X>j}~|<*Y>Tsc@13Pxyl?H z0`<|hQnwzvtHBX$HfLCd*KSAWl4H;icE-YcyTRFqN>+b$}<=u}RyoUwFi&C1UZxD~!|mh{rWd335>hQq%uh@QMG5gPRe2YS$MY1e+Ias$%Ei zm-L`s>`v$2;cS=T2V1mSUt!RfI^l}wx#x5({M6T+AR%q`;+CAMK2P(|ROx8G5;i5= z^{FHppbL@_BF5KSi1FGadR1~s_5z5GPF7}zHcJ+EqPt*9wJnU9fNKO++$BHYuD3Q{ z;QHG;h7)IZ*CTw)Y~E6<-*jD7T>v-|?1mWS7rxg7&wkBR396;joQ}=Qm+Jw3lzC;c z^`>Yub}L-xzxJR<$x_j2m-kc}H(__)27s^7&f+DY(QN4@%;q4q_M5Y{`jIYQ9v|J) z<(m`Ob9wQm+OrQ}M>}!WZ#N+JVncvz$YKWg1gmVSvVX{+b%CWFpZ>Cm!FRr| zc<{0%+f=c@)lRlq5Q1*`y30Sw0d6|@np zo1ULC=ODYm30GBEc#99_LNPn{9JJmmD@A7)lz&s#I=@pQI+OLb3;sq0) zWdZUl+i;&|ZG?iXyR79@wAMfK7yDk?``%d1|B`sV|7+D+)_}DnJ4Y9j+!R{lo8*gq zVUza-uSf8%xXu3oUw7b{uP@`MkE{vQyWI6H_j#GGrC%WB#4S#>K>sZ<7E&BX9Zr9i<(d}R2@KPRka`$ z1l`b43W7W$1=3YP^(NSHQr)P>38!1~(j3XKIb?c8nJ+3`sjgfOw-$rbc;q zSR4|D%%o+N6~L?OG6umZIu;Q8Nu$1A(+@ z8l|FS=y{=}SS6z*sU@*s7A&&_Et3@467qRXRZF~xE?N9L7=Rg*EcJ~q|LYn;r^xaE z^>FJEr%fe6(sf1BRbI>I6-8A9Ln-K{04F3eQUpLIR)J!&RS-q3C<8Tt zaZn2?H0e9}hTEQh{=xUruD3G?Zp*ehC_tx{dsf|PoTyncP)y?mD=(NzsUT^VD2X7$ z<`rmj$x>z0;3ZQPG`xZEyea}FpiqREY>=yzkSj%5;)8BWKlu5_SGONg7a_@MV8JX| z07M8AK+OZgD-ah>6(y-uEJ%4tEfh@IC>BjEZ}54EH%o$`m?c>&8gjwXFic^a5p}=g zw(Hxk{8<04-$gfu2{@AMq7(|VXM&X)Zv~1#uJG% z4=zuP^Y(tO7VyvdwzzbbKX2Ql|tQPT`d#wuZhp`yT7Pl=a#=3tQ zBA=r@=nrC%k0;QGB|8)!FP7|pB>ha0?0l_b!FH>p=S>WHV<#falPB25QWu{Hln5eY z*%iiRb_I;&{`vIEuAaY=qN`XKWedMzVN@)PBKm?{ER2eUQMQ0A7Dk1I9Yk;y3!}hV zJ0LAPt%XsxtyTQrm;x~cVhY3*h$#?LAf`Y}ftUg(k^=9dm3QL*f4umA4t@am4}8m0 zymsw>`>kX)cP9DYKHg$addhiWcj7(KcF*pA-M{^1aHzlQ4RzNO{=0b0&!7o^8gN0E6W;FGeQ*AY{|<7& z_dG7>9O37C$?UpL5q{P!ituw+5aH)U9;D;CV+zC+h$(QIQQ+OQy*-Jf+j1U$VSoSs zpnw2p!y}yjI!!;>7fi!_{!89Ef2C{5K5RmaavF4#qex2F4IRf8&FckSQ7pqSI1(Cg zNKlFjI6CNgNzn7AR!n^LoLju!t@G1bqcM31?1N-oHlzC}eyHi@k=PvyygT6ql$^v1B ztqMeC#F22pKW3I#-(g#?N)ZnG;9J;}7#Ae&$BvsRSfjD?C<)Oh*)>ED zZI5gw-EK5;+d7HpI0%lIViH{I%4zHy4nPIe&!+K0TJi0f{@u{urfK9d^hee$RfeC0 zvj)?ik7p25NE{fT!&G*EUBO(vYOGeDRc9s=TB6>MI|N=|w*}wC9s~UMo(Q4^KDu%& zUoi8AR5VhLCex2%mVa>s%YV01mZz0Pu)F~dPGS*&lu9K9SY9iED^x+UI8~EGIS;-e zimAmce~PjE0UZ4tSbj78;j#Ql=lCxl2gfVLs(!P#$QP`<1+HSLFDKJqUOvZ1R~EtX zvRvegyjZ8J?-5-e~gEa?`|S}}pv zRzc;81+6G3Mp5Nu-dW^@#TNNfhvVH7QT!vOKum#{0x<<*3Y=LK_-opoo&;R#>A!LK zi|_l6zW*6;@5gB;-rrV=_wV5Qf12X`JNW)Tpz;5l_d!1JeedYFT*c4#li7<;U&YT) z&RE5d-Lt1YaPM1#BL5$FL*2FF=LdMq&mhImX}|?tDt;&zJo%|_2f5&Jj|+Bs0>SQ~ z)gQ+?p%_}7!nC+ZbnS7jf7-I}#L((tXmy)LA36H+Kk!4VKjE=%7trcYB(tl2L!s4M z1K6H<(CT&{A9>jyyw{H-^FxnimV3PUA&z2vcZX2?Kj}elbmAue@SOx@9OF zNOTPV&xikLdQs#6Mv50D0CfUzeJc05&rxoCoI&etdA>ev8uI|c(ZMRyI^?IE&0?2^ zY4P@^Sdp_@-t<_w0ri3m;d@Tfen-SXK$#xmIwSZ9`iFu z9&j3PL6`CXyJwGm^Wm=sx!@6x3syuP@JKSdHkJoCu&o`O)W6rV@Wk?fuspz~(Nll> z^{Ef-rwKs zgO&Z9$1%$l2YfD>-Fo_-ZdynDOgY`yJ$vlcpLktxU;Df_)Lox$K99%z3_9JM23*kP z>BjEaJzsvqzX!PBw7&($9r#V9z0i+F z2AcjQO{Zx3S2T_78SuYf)3h7f5E_o3Io=QqO`l6jClWn0y@{riG@YjDUYgF(bRSJ` zrs-8QeLhY1)AR*2JwVeJ()4PY-a^xern5A?hNidD^jezE(eyf+KAWc3)AUA~-aymm z&~%EXFQMtPX!=r`W@&mmO`lEEJ7{_%O%KxaIW+wYnm(7NFQe&AG|ka;nx=d*=tu%cxP3LGjPtzCC zbdjdF(R6{PFQ)0sY5EeH{w@2BZJO)B9-Jr0M-MZP4@>O)t>&wKRPzO^?&`Z8ZJcH2p%Fo}lU5Y5D+7|2|D0r0L(K z>Fa3v4w}B6re8wS&!OofH2qwfekn~qkEZ{SrYC9oPMUr`O~0I`Z=mVlqv;!Ix=Pdk zho)ao)AUb|!!J%Y3TLbfXPgzz*ci@8hcnI#XIv1@*b>gjg)=S=XFMaEF%-@a!x@Ee zMme1EtZ>E^;fyQ88P|j}#={vC;f(9U8I$3R{}ay8!x>gM<8U~m8qTPPGZw-bw}mr) zC!F!3aK=l+8Arnze;m$ubvWbo;fy~EXZ%GtKC>(Q%ARmW zcy(a*hD+=ZXB-G;JSUtHULBYl!X*xcGt_WKc>Q3^aEYmKMkSnaQ#fNboKXvBG{YH3 z!Wl0NXWSmn_}y^EOTro9C5O2)Tq3;WFs}`l_>*wP8^RfPg){zNIOFb6hO?>0e@{6I zyoa_Z%Kv|V(th|m@b@hE>7*Tde+M4`^!fkdjyPJj|9{AvQ_xGArCF(eNv8h=yM{g< z;SBv~UpxQ*=*l8YiSuF!TPnv$Uv&D0l@=`Z5hwLI*a=*l8ym!v7O zDL|BCz6gj0a=xemhKC|@q9ls|X`{dzm5*T!PBB=6QwY1}lskpS4T>ocQy`{5Oo5Y4 zfn)T8J&B$KLw{%CFTU?r`s|FO@E51=ag^!_=D)l%ljOPgnpI=2RsqPrnF`#_hJEO8 z_HPXQSD&6U#MB3S(*Kpr_71)S5pch4=xn3X&}$2(7tw1$VAqY%3J>54*{4>c5BF0i zHMc5uHTeuqXZ(0{xy0Z$z9d^(5pE%QRkQ%`tXSYmysmM1Kstk%_L812VZgKAT>}Gu zYuhSLj-pEfy%@r^*Q+KCZa%A4;W`N3bVt}NfpVM|jg5vRn>-tU=#&Ph&dsp{P8%mL zMi&HYgd1n0Y1X-hSzo}N>}}TP&B+T88!T2;XHB+$H{4DwGB=6+4v zi+Hz{p`OgBjV7m0tJNu!Yt}1MQ_zMcpbfGcMYx@T7=#n@2YIC|7UBOV5AQ_%2kaJR z-0E}NG|AKe_Q~Y5f^KqhQQ*0fsl$;}Qst5b9*5vX3*U6aMfq5a&Hb%F^$dkCX z+c9$F?Fb3{kSNPT@LzV-0Fz?UiQIEL#FJc(JSib2$_X(D=fWNJ`OI0U zA6T(o(Hm^?;O_DCN3Y7PMM+q@*yMG4#?$#s3iacatf|l01@gJx(eVY@XIuOYZ{_tF zoYu`bU@Em?E(y1qdS6fa8`viOzb_<9?>VR+R;b1>EVpRFuH}H)WIu5sdi-3(QlXg- zt~KI1S`ai{)-{zAiV7^VqFUg zYI{BW5WDnx=)3`IAl;&TYv9k$LO(qVuYsMdZ*BV*rk%5Bw0*%(yd?`e)N>b_h@~;K z*tM{M`)-GeR41bmSfnuKEPMoL=`fJfuLc0Z>dji+NjvOmmkv_C+n$ki(rbchS(R#~ zc?5sL-JO6YJFCsg&d6tVyleye@0qWI*!qC&!4JPir>a=&ZD)_%YU=ZN+rwS4*Jc+# zmn`>WoyWTdS?DQi(;(|^JJk9VSf=U_Fdwa$5H2rh5L+O8`vI=&}T4@I^P6a)W76S8SY;Im4;p@7Y*T@e;2O|215Yn7W#^2 z^-JyQ&h_Lp9ZKg7DAwKEr&G2^=_wR7@gP7S*9Y~*HHofBZSC8&`%ADY6k)a57bf*=viioK$g>joJyDU6y{u1`-c7PLy|6^i^a z-`zi{P$(Y&55>j92_LFmU2A$`@p1vSr)og~dX{G8kT^ z2?os^D2_@zo1aiA?qa;Nnoxv(n&r4p)>LVpsQBcn@i7K09$17@_Y-TaW90%AfT`F> z+Iui|s}PH@L-vcjnwuKMw^@-2OA>r|sE9a0r;FMpE2`MnT|N}>r6W5B`)g&1MbFkS zjd-mx0JI}pVxIp=e?tmXb%VWA{LE~vNI#IE+^2yCtUCj?5mD+^h&o)EjTUV_1le_p zZ2hbtA%rXPf!Gu@hzR1Ce(UW%mIuK^mC|I z-vQ=F+BeQu+X=C$M@4RLX41@7m}Z2akv%W=k7kB5y2cyXj%h*e2o;1lQu(X(il)eI zP4uQct)1(MQlZOUB^n<>4ivS0d!t~E)t?X0gf%lM>}yT5BU1^kY*#Ur@Kx9c;VPIj z#KMBB_a4}e%&ZPy*LDm;^^r(3m*fu3jT^TwvlY_>D`TXY3G%U653>!^j2F|$Feb#M zVu$7;^bQX0h=eP5z<1CM2mjE5sIb3nq!EgCAjPCH%+8TEX4u$iir8JA78%y!3(x;q z8zNQkpu-NE82)K%h-Jq3W1%T~GCzpy#599b4cJDzalP?IU#nlcv1$5tV`XK=Sc5P} zy9-l`Bgd-~3gwBgsDO!d!Y<5?OnAcnhaEF+{Dl3EnY{m`BgXH$f23)jLk;oYu=}Orr2L%cjbrehb6OXCnjw6G!;sbP-esd_~`EKS-zVT>nqnGLck^91)nEB0ExdSYUjfdXd_8Fuwpboj{^~v40z~JVYz2 z;m!X4VD><(YqSXKlf?oA1}eklC>W1YkV^Ebd@|ceB1WrX>�G$G349Cc^ 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 literal 0 HcmV?d00001 diff --git a/talos/machineconfig_export.yaml b/talos/machineconfig_export.yaml new file mode 100644 index 0000000..b9c25c2 --- /dev/null +++ b/talos/machineconfig_export.yaml @@ -0,0 +1,11 @@ +node: 192.168.100.82 +metadata: + namespace: config + type: MachineConfigs.config.talos.dev + id: v1alpha1 + version: 1 + owner: + phase: running + created: 2025-11-15T08:21:05Z + updated: 2025-11-15T08:21:05Z +spec: "version: v1alpha1 # Indicates the schema used to decode the contents.\ndebug: false # Enable verbose logging to the console.\npersist: true\n# Provides machine specific configuration options.\nmachine:\n type: controlplane # Defines the role of the machine within the cluster.\n token: u1azvb.zaab5mamgzdeazc3 # The `token` is used by a machine to join the PKI of the cluster.\n # The root certificate authority of the PKI.\n ca:\n crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJQekNCOHFBREFnRUNBaEVBcGVuNjh1dHNTUUc2SFVOaStQSWd4ekFGQmdNclpYQXdFREVPTUF3R0ExVUUKQ2hNRmRHRnNiM013SGhjTk1qVXhNVEUxTURjek9UQXlXaGNOTXpVeE1URXpNRGN6T1RBeVdqQVFNUTR3REFZRApWUVFLRXdWMFlXeHZjekFxTUFVR0F5dGxjQU1oQUxNeXFTR01tUWd3ZS9yd3FvSCtpZXN3ekxyY3lDdG82STFMClhkdkRRaGt6bzJFd1h6QU9CZ05WSFE4QkFmOEVCQU1DQW9Rd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3SFFZRFZSME9CQllFRkYzUW4rdjJDTWZGeHpySwpMaTdURmNDbDBtbEZNQVVHQXl0bGNBTkJBREdwZnhLekozSmF5blJ0WUY4MTdnK3prUkl2U0RTV3BsSHhSOVl3ClJxcUNzNXVHV1JucGlrbU1Fdm92Sm02cGg4TU5CK2tpTHlBWG1YVWN3RTRxVGdjPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==\n key: LS0tLS1CRUdJTiBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0KTUM0Q0FRQXdCUVlESzJWd0JDSUVJSndjb3VrZFFYMlE0Q2pjN1hSbW85cG5JbFFQVUJpM2RQSzZ1V21CRkVLSwotLS0tLUVORCBFRDI1NTE5IFBSSVZBVEUgS0VZLS0tLS0K\n # Extra certificate subject alternative names for the machine's certificate.\n certSANs: []\n # # Uncomment this to enable SANs.\n # - 10.0.0.10\n # - 172.16.0.10\n # - 192.168.0.10\n\n # Used to provide additional options to the kubelet.\n kubelet:\n image: ghcr.io/siderolabs/kubelet:v1.34.1 # The `image` field is an optional reference to an alternative kubelet image.\n defaultRuntimeSeccompProfileEnabled: true # Enable container runtime default Seccomp profile.\n disableManifestsDirectory: true # The `disableManifestsDirectory` field configures the kubelet to get static pod manifests from the /etc/kubernetes/manifests directory.\n \n # # The `ClusterDNS` field is an optional reference to an alternative kubelet clusterDNS ip list.\n # clusterDNS:\n # - 10.96.0.10\n # - 169.254.2.53\n\n # # The `extraArgs` field is used to provide additional flags to the kubelet.\n # extraArgs:\n # key: value\n\n # # The `extraMounts` field is used to add additional mounts to the kubelet container.\n # extraMounts:\n # - destination: /var/lib/example # Destination is the absolute path where the mount will be placed in the container.\n # type: bind # Type specifies the mount kind.\n # source: /var/lib/example # Source specifies the source path of the mount.\n # # Options are fstab style mount options.\n # options:\n # - bind\n # - rshared\n # - rw\n\n # # The `extraConfig` field is used to provide kubelet configuration overrides.\n # extraConfig:\n # serverTLSBootstrap: true\n\n # # The `KubeletCredentialProviderConfig` field is used to provide kubelet credential configuration.\n # credentialProviderConfig:\n # apiVersion: kubelet.config.k8s.io/v1\n # kind: CredentialProviderConfig\n # providers:\n # - apiVersion: credentialprovider.kubelet.k8s.io/v1\n # defaultCacheDuration: 12h\n # matchImages:\n # - '*.dkr.ecr.*.amazonaws.com'\n # - '*.dkr.ecr.*.amazonaws.com.cn'\n # - '*.dkr.ecr-fips.*.amazonaws.com'\n # - '*.dkr.ecr.us-iso-east-1.c2s.ic.gov'\n # - '*.dkr.ecr.us-isob-east-1.sc2s.sgov.gov'\n # name: ecr-credential-provider\n\n # # The `nodeIP` field is used to configure `--node-ip` flag for the kubelet.\n # nodeIP:\n # # The `validSubnets` field configures the networks to pick kubelet node IP from.\n # validSubnets:\n # - 10.0.0.0/8\n # - '!10.0.0.3/32'\n # - fdc7::/16\n # Provides machine specific network configuration options.\n network: {}\n # # `interfaces` is used to define the network interface configuration.\n # interfaces:\n # - interface: enp0s1 # The interface name.\n # # Assigns static IP addresses to the interface.\n # addresses:\n # - 192.168.2.0/24\n # # A list of routes associated with the interface.\n # routes:\n # - network: 0.0.0.0/0 # The route's network (destination).\n # gateway: 192.168.2.1 # The route's gateway (if empty, creates link scope route).\n # metric: 1024 # The optional metric for the route.\n # mtu: 1500 # The interface's MTU.\n # \n # # # Picks a network device using the selector.\n\n # # # select a device with bus prefix 00:*.\n # # deviceSelector:\n # # busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard.\n # # # select a device with mac address matching `*:f0:ab` and `virtio` kernel driver.\n # # deviceSelector:\n # # hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard.\n # # driver: virtio_net # Kernel driver, supports matching by wildcard.\n # # # select a device with bus prefix 00:*, a device with mac address matching `*:f0:ab` and `virtio` kernel driver.\n # # deviceSelector:\n # # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard.\n # # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard.\n # # driver: virtio_net # Kernel driver, supports matching by wildcard.\n\n # # # Bond specific options.\n # # bond:\n # # # The interfaces that make up the bond.\n # # interfaces:\n # # - enp2s0\n # # - enp2s1\n # # # Picks a network device using the selector.\n # # deviceSelectors:\n # # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard.\n # # - hardwareAddr: '*:f0:ab' # Device hardware (MAC) address, supports matching by wildcard.\n # # driver: virtio_net # Kernel driver, supports matching by wildcard.\n # # mode: 802.3ad # A bond option.\n # # lacpRate: fast # A bond option.\n\n # # # Bridge specific options.\n # # bridge:\n # # # The interfaces that make up the bridge.\n # # interfaces:\n # # - enxda4042ca9a51\n # # - enxae2a6774c259\n # # # Enable STP on this bridge.\n # # stp:\n # # enabled: true # Whether Spanning Tree Protocol (STP) is enabled.\n\n # # # Configure this device as a bridge port.\n # # bridgePort:\n # # master: br0 # The name of the bridge master interface\n\n # # # Indicates if DHCP should be used to configure the interface.\n # # dhcp: true\n\n # # # DHCP specific options.\n # # dhcpOptions:\n # # routeMetric: 1024 # The priority of all routes received via DHCP.\n\n # # # Wireguard specific configuration.\n\n # # # wireguard server example\n # # wireguard:\n # # privateKey: ABCDEF... # Specifies a private key configuration (base64 encoded).\n # # listenPort: 51111 # Specifies a device's listening port.\n # # # Specifies a list of peer configurations to apply to a device.\n # # peers:\n # # - publicKey: ABCDEF... # Specifies the public key of this peer.\n # # endpoint: 192.168.1.3 # Specifies the endpoint of this peer entry.\n # # # AllowedIPs specifies a list of allowed IP addresses in CIDR notation for this peer.\n # # allowedIPs:\n # # - 192.168.1.0/24\n # # # wireguard peer example\n # # wireguard:\n # # privateKey: ABCDEF... # Specifies a private key configuration (base64 encoded).\n # # # Specifies a list of peer configurations to apply to a device.\n # # peers:\n # # - publicKey: ABCDEF... # Specifies the public key of this peer.\n # # endpoint: 192.168.1.2:51822 # Specifies the endpoint of this peer entry.\n # # persistentKeepaliveInterval: 10s # Specifies the persistent keepalive interval for this peer.\n # # # AllowedIPs specifies a list of allowed IP addresses in CIDR notation for this peer.\n # # allowedIPs:\n # # - 192.168.1.0/24\n\n # # # Virtual (shared) IP address configuration.\n\n # # # layer2 vip example\n # # vip:\n # # ip: 172.16.199.55 # Specifies the IP address to be used.\n\n # # Used to statically set the nameservers for the machine.\n # nameservers:\n # - 8.8.8.8\n # - 1.1.1.1\n\n # # Used to statically set arbitrary search domains.\n # searchDomains:\n # - example.org\n # - example.com\n\n # # Allows for extra entries to be added to the `/etc/hosts` file\n # extraHostEntries:\n # - ip: 192.168.1.100 # The IP of the host.\n # # The host alias.\n # aliases:\n # - example\n # - example.domain.tld\n\n # # Configures KubeSpan feature.\n # kubespan:\n # enabled: true # Enable the KubeSpan feature.\n\n # Used to provide instructions for installations.\n install:\n disk: /dev/nvme0n1 # The disk used for installations.\n image: ghcr.io/siderolabs/installer:v1.11.3 # Allows for supplying the image used to perform the installation.\n wipe: true # Indicates if the installation disk should be wiped at installation time.\n \n # # Look up disk using disk attributes like model, size, serial and others.\n # diskSelector:\n # size: 4GB # Disk size.\n # model: WDC* # Disk model `/sys/block//device/model`.\n # busPath: /pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0 # Disk bus path.\n\n # # Allows for supplying extra kernel args via the bootloader.\n # extraKernelArgs:\n # - talos.platform=metal\n # - reboot=k\n # Used to configure the machine's container image registry mirrors.\n registries: {}\n # # Specifies mirror configuration for each registry host namespace.\n # mirrors:\n # ghcr.io:\n # # List of endpoints (URLs) for registry mirrors to use.\n # endpoints:\n # - https://registry.insecure\n # - https://ghcr.io/v2/\n\n # # Specifies TLS & auth configuration for HTTPS image registries.\n # config:\n # registry.insecure:\n # # The TLS configuration for the registry.\n # tls:\n # insecureSkipVerify: true # Skip TLS server certificate verification (not recommended).\n # \n # # # Enable mutual TLS authentication with the registry.\n # # clientIdentity:\n # # crt: LS0tIEVYQU1QTEUgQ0VSVElGSUNBVEUgLS0t\n # # key: LS0tIEVYQU1QTEUgS0VZIC0tLQ==\n # \n # # # The auth configuration for this registry.\n # # auth:\n # # username: username # Optional registry authentication.\n # # password: password # Optional registry authentication.\n\n # Features describe individual Talos features that can be switched on or off.\n features:\n rbac: true # Enable role-based access control (RBAC).\n stableHostname: true # Enable stable default hostname.\n apidCheckExtKeyUsage: true # Enable checks for extended key usage of client certificates in apid.\n diskQuotaSupport: true # Enable XFS project quota support for EPHEMERAL partition and user disks.\n # KubePrism - local proxy/load balancer on defined port that will distribute\n kubePrism:\n enabled: true # Enable KubePrism support - will start local load balancing proxy.\n port: 7445 # KubePrism port.\n # Configures host DNS caching resolver.\n hostDNS:\n enabled: true # Enable host DNS caching resolver.\n forwardKubeDNSToHost: true # Use the host DNS resolver as upstream for Kubernetes CoreDNS pods.\n \n # # Configure Talos API access from Kubernetes pods.\n # kubernetesTalosAPIAccess:\n # enabled: true # Enable Talos API access from Kubernetes pods.\n # # The list of Talos API roles which can be granted for access from Kubernetes pods.\n # allowedRoles:\n # - os:reader\n # # The list of Kubernetes namespaces Talos API access is available from.\n # allowedKubernetesNamespaces:\n # - kube-system\n # Configures the node labels for the machine.\n nodeLabels:\n node.kubernetes.io/exclude-from-external-load-balancers: \"\"\n \n # # Provides machine specific control plane configuration options.\n\n # # ControlPlane definition example.\n # controlPlane:\n # # Controller manager machine specific configuration options.\n # controllerManager:\n # disabled: false # Disable kube-controller-manager on the node.\n # # Scheduler machine specific configuration options.\n # scheduler:\n # disabled: true # Disable kube-scheduler on the node.\n\n # # Used to provide static pod definitions to be run by the kubelet directly bypassing the kube-apiserver.\n\n # # nginx static pod.\n # pods:\n # - apiVersion: v1\n # kind: pod\n # metadata:\n # name: nginx\n # spec:\n # containers:\n # - image: nginx\n # name: nginx\n\n # # Allows the addition of user specified files.\n\n # # MachineFiles usage example.\n # files:\n # - content: '...' # The contents of the file.\n # permissions: 0o666 # The file's permissions in octal.\n # path: /tmp/file.txt # The path of the file.\n # op: append # The operation to use\n\n # # The `env` field allows for the addition of environment variables.\n\n # # Environment variables definition examples.\n # env:\n # GRPC_GO_LOG_SEVERITY_LEVEL: info\n # GRPC_GO_LOG_VERBOSITY_LEVEL: \"99\"\n # https_proxy: http://SERVER:PORT/\n # env:\n # GRPC_GO_LOG_SEVERITY_LEVEL: error\n # https_proxy: https://USERNAME:PASSWORD@SERVER:PORT/\n # env:\n # https_proxy: http://DOMAIN\\USERNAME:PASSWORD@SERVER:PORT/\n\n # # Used to configure the machine's time settings.\n\n # # Example configuration for cloudflare ntp server.\n # time:\n # disabled: false # Indicates if the time service is disabled for the machine.\n # # description: |\n # servers:\n # - time.cloudflare.com\n # bootTimeout: 2m0s # Specifies the timeout when the node time is considered to be in sync unlocking the boot sequence.\n\n # # Used to configure the machine's sysctls.\n\n # # MachineSysctls usage example.\n # sysctls:\n # kernel.domainname: talos.dev\n # net.ipv4.ip_forward: \"0\"\n # net/ipv6/conf/eth0.100/disable_ipv6: \"1\"\n\n # # Used to configure the machine's sysfs.\n\n # # MachineSysfs usage example.\n # sysfs:\n # devices.system.cpu.cpu0.cpufreq.scaling_governor: performance\n\n # # Configures the udev system.\n # udev:\n # # List of udev rules to apply to the udev system\n # rules:\n # - SUBSYSTEM==\"drm\", KERNEL==\"renderD*\", GROUP=\"44\", MODE=\"0660\"\n\n # # Configures the logging system.\n # logging:\n # # Logging destination.\n # destinations:\n # - endpoint: tcp://1.2.3.4:12345 # Where to send logs. Supported protocols are \"tcp\" and \"udp\".\n # format: json_lines # Logs format.\n\n # # Configures the kernel.\n # kernel:\n # # Kernel modules to load.\n # modules:\n # - name: brtfs # Module name.\n\n # # Configures the seccomp profiles for the machine.\n # seccompProfiles:\n # - name: audit.json # The `name` field is used to provide the file name of the seccomp profile.\n # # The `value` field is used to provide the seccomp profile.\n # value:\n # defaultAction: SCMP_ACT_LOG\n\n # # Override (patch) settings in the default OCI runtime spec for CRI containers.\n\n # # override default open file limit\n # baseRuntimeSpecOverrides:\n # process:\n # rlimits:\n # - hard: 1024\n # soft: 1024\n # type: RLIMIT_NOFILE\n\n # # Configures the node annotations for the machine.\n\n # # node annotations example.\n # nodeAnnotations:\n # customer.io/rack: r13a25\n\n # # Configures the node taints for the machine. Effect is optional.\n\n # # node taints example.\n # nodeTaints:\n # exampleTaint: exampleTaintValue:NoSchedule\n# Provides cluster specific configuration options.\ncluster:\n id: 6JoJP8tRRRzFYZea1vKa1JGTIdevuUQTiroMjszyiL0= # Globally unique identifier for this cluster (base64 encoded random 32 bytes).\n secret: 4QUgKw5RD052Rx2ksaA2JU7ApMSn23jz5r7+ao+6EQA= # Shared secret of cluster (base64 encoded random 32 bytes).\n # Provides control plane specific configuration options.\n controlPlane:\n endpoint: https://192.168.100.82:6443 # Endpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname.\n clusterName: cluster_shopstack # Configures the cluster's name.\n # Provides cluster specific network configuration options.\n network:\n dnsDomain: cluster.local # The domain used by Kubernetes DNS.\n # The pod subnet CIDR.\n podSubnets:\n - 10.244.0.0/16\n # The service subnet CIDR.\n serviceSubnets:\n - 10.96.0.0/12\n \n # # The CNI used.\n # cni:\n # name: custom # Name of CNI to use.\n # # URLs containing manifests to apply for the CNI.\n # urls:\n # - https://docs.projectcalico.org/archive/v3.20/manifests/canal.yaml\n token: u4dr80.1oysddst4x18swd3 # The [bootstrap token](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/) used to join the cluster.\n secretboxEncryptionSecret: zUs+G11gBvwphb/KU2tJHQnvgaZSVJj33b3BzC1E1As= # A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/).\n # The base64 encoded root certificate authority used by Kubernetes.\n ca:\n crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpakNDQVMrZ0F3SUJBZ0lRUG56UzZ0cUR3dmdRUlc2MkRnVVVkREFLQmdncWhrak9QUVFEQWpBVk1STXcKRVFZRFZRUUtFd3ByZFdKbGNtNWxkR1Z6TUI0WERUSTFNVEV4TlRBM016a3dNbG9YRFRNMU1URXhNekEzTXprdwpNbG93RlRFVE1CRUdBMVVFQ2hNS2EzVmlaWEp1WlhSbGN6QlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VICkEwSUFCQ1NSUVRoeEl5TkpmMHp1SFdLS2Q3aE5OV0F1blBWMUJreW8wNFVNM2YzOGVOdmdVWENwdnNIKzdkRkkKdE5qYzNGUFJ2MmFtTnVRTExUdGxwZmFBalArallUQmZNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWRCZ05WSFNVRQpGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFCkZnUVVqcTdmbDVwR2luZ2FKaHJvbVN5bFRHM0lkcWd3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQU5VbkxMTGcKSVREU2FtSFh3c0xiRFRMKzVYLzdJUHZEeW9FeFowVjhxbmZrQWlFQTQ0UjIxeGpPUDVhYlNjcWh2NWtTYXMwSwpqR2R5MkxHTzVpMkhjNFhaVXdRPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==\n key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU9iNlc0SDhpWGZzNGtPTkdpMkN4RGpXR0RGaUx0ZjdEc1FlMWJyMm00Z0JvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFSkpGQk9IRWpJMGwvVE80ZFlvcDN1RTAxWUM2YzlYVUdUS2pUaFF6ZC9meDQyK0JSY0ttKwp3Zjd0MFVpMDJOemNVOUcvWnFZMjVBc3RPMldsOW9DTS93PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=\n # The base64 encoded aggregator certificate authority used by Kubernetes for front-proxy certificate generation.\n aggregatorCA:\n crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJYekNDQVFXZ0F3SUJBZ0lRR1o1STVsRzJ2UVZZWEdFWXJkbXB4akFLQmdncWhrak9QUVFEQWpBQU1CNFgKRFRJMU1URXhOVEEzTXprd01sb1hEVE0xTVRFeE16QTNNemt3TWxvd0FEQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxRwpTTTQ5QXdFSEEwSUFCUERzNnVjR21oT2dWc2kzbkRLL3RpeW01djNnNmlFVEZmRzgvSUdqTW8wL1JBeXVYRFpxCnRWazhWdHRwdGIxZ3JiVEdRTWFOb21NWFFMT0FwREw4YklLallUQmZNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWQKQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZApCZ05WSFE0RUZnUVV0Um05QjdDUWIrdDZtU1ExR3lIRXF6eUIxL2d3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnClZ4NzdaWEp3b3JrdlhMRGdlK0pnZkErdjNqemEwbm1VRWt5MUk1R3hkTUVDSVFEd3NZZkM1aFJjTnRUeU1QMjEKaFVPc1A3bHBjYUF5Z2FBUTFWSUs3R0YyNlE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==\n key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUt3d3hLMDQzODNMNjV5ZUNhb0lEWmNVUG5RYWJhbEZwcnJSeVJTWWY5bnRvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFOE96cTV3YWFFNkJXeUxlY01yKzJMS2JtL2VEcUlSTVY4Yno4Z2FNeWpUOUVESzVjTm1xMQpXVHhXMjJtMXZXQ3R0TVpBeG8yaVl4ZEFzNENrTXZ4c2dnPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=\n # The base64 encoded private key for service account token generation.\n serviceAccount:\n key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKSndJQkFBS0NBZ0VBbURCQk1tTHlkRW1GWnVMbkZaMkNxUmFtd1hFN2JicU14R2JsU0hqNWk4MlluamoyCmZhbTNYVTEvdlZUUGlHOEswV3pEenVPRGdzSHozNUUvRXdSK0kzSTl2K2dRQVJFdll1b2JWRXN5bFp2ZDlLYlkKTWNwMnc4UjlEUkFJVFd5NlNZVTN6WG5tRWZYbWczQ3FFRjMyRmRJWUg2MFVrTk1NQzhmUy9kMThLMGtUVk10VQpiMlpHNC91b3N3UkYzcVFDdUY3MGFPRTVSaFpUMHV3djFRd1ZYeEM0OExZU21qZ1FtbHl2YjZBemh6UHp4REpBCkxiS2g4aStLL1RYWW5MZXNSVnovbFVnRmFKQUVBMDgxTkdRV0U3TS9nMnJIVFhnLzhxV3FaSEMwcVNIMnFFekgKaTA1UFJUU1ZPOUNRUHV6V0doaVF0OXZlNlVubnRDenltWUk4bWRuTTJxc3VzM3QzSXhWYmU1L0U1eENlcm1rYQpwSU1oaTdGb25kL3l3UTkwY3hSQkRNNFZzdFZ1TGdoYllsUkREN1p5Y0d4MTA0ZlRUcXZjM0FhR016RmRNTSs0CjMyMldPYVhsTW0wNXZXU2dPYURQRWNUSWRkell0UVRMVm81RS9iWW5VSHFhOW5SVTRtc2Nkdjh1bVEzRi9RalEKLzFWa3FMQkg2cUhXV0c2TG0rSmZnQThiZmx6eE9NNDhJUTFqOVQwbFd1amlsc2RLa3h2U0Y1Um9tYkJoeEJzRQptOUF0aU9zbDN2MEk3SmlnQis4dTVKdnNlQUZVS0hsdElKWWNUU0hOeWxyRGViRGV3TWQzNm1Xak9scmRjVkNTCjdCNlFjRFJ2cGtzRk8zMXN0NjE1Njk2Z0QralFQUEw3dHlkMTMxZjZrNldTU1YzQzhHT0ZQTXE4VDkwQ0F3RUEKQVFLQ0FnQWQzc0s5SC95VVpHWEJodUZ5TmFNU2l2YVoyeDZkNzlKM0xmYnNuWW5sTGFvNXk5WmRYYlUybytKaApoOGJmOFdOL0xValZUNFJkWXJINS9Ha1QwM3JxZkI2d2p0eXRTUEV6Q2QzcFVvVVFKaktQTlR3VHNiaFR2am9KCkdVOTMydEpKWWROTkNoTGxEWTE3Mk40WUxra0JpV1hndWJqaW4vbXFTa01ZUHFPRFgybGk2REdmVjhTc05KV3MKNVRiTmR3VnRxSDF5SkZwNGJpTnZyNW5IeUFKZDBVdHJPMkUxVWJHNGlsNkltem5oM0ltSXhaQWhLQUZ2Sm5PeQpOU0paeUJjUTJpcno0dG5rNXZkU3F2WTNYVG1VRGtkMkJMd3ZjVjJqdzI1SkhuSG5ERnA4TisybVl1MWVHTzc5CmVYY0dVcmZIRVhFK0ZQS1FlVWYzN2lhRGlMTlo5WkRidlcyMkNWc0RiTHNUalczaWJQZmtzZUJrTEhnZHBPTUMKajJ3cVpsL0RjVkFyYzZuUVZyaXlhQXpiQ1Yxb1ZPTFZSc2JNL01zb0lDNVJ1b2pqc3AyNzhEY2RXaU1nZmdhKworb0M5RjRLVGZ6WHpiY1RTckUrV0pSbDZzc1pzZGw1eGNObTA0QWUxbW1UbFBMeHdGL0M2VUxZRVlDeW5nck1BCmNqYTAyWVpQM3NOVVpRbnVKZFZJMFJmSXlQV1lvby9oM01RNExTTm1FbEJFL0lGbnF6NmM2aCtrNGJnVE1mdUkKaFJPZzNXeGhRc0FMM3lSZGVkQXI3K2g0NVd6WFIyUlJMbDlrOE1oK0x6QnptUGdvUHplTlZIZlBlS0xyS3ZGeQpXTWdmY2dYOEFyNWlxdWNVTUtMaFFzc2hIbnNlVCtFaDN1ZEJEUDlwL3JNaG8rQ0RvUUtDQVFFQXhGR0J3TGh1ClFaYzRPWGZteEVqZTZHbkJyY1lldEF4Sk5KS0p6eE42YlBCZWZZRUJpcXFwdFFKS3JzTnQ2U1UyMmpJdDVaTkQKN2dJanE4Zk1URFZqVDVGL0N1L2pSa3NEY1VxcW12eFpUT0J0dTg2WGxzWHc0ekN6VWpxUlhubUZ0UFRqSGNkOQpNbnB1Z0QxNGRwNHVOK1BQYXU4RDU1aGN4NkFtL2FXeDlHY0QweTZWRC93QzZHOXJFalo2L1o2emlXRFZ1YjQ2CmFYdHZiTmpJdW52MW1WSGsveHhpWlN1SjF4SGUrZ2YyS3k4YVBhcFhPSGZBNHZrOExjZTc5MEdRaHIxdWMvYWoKeXBhM0l5OG52ekcvdUxES0FIaVhwOXU1TFRiSlg3SFpjQTZ6UnBkblpkY0x3SjlhRGtwR3doZWNseVF5NHBYZAo2MVdxSStQeHRSMzdKUUtDQVFFQXhuUlY4ZHRJc0ExUmY3WndJTVpVUHRsU2cvRHBkaE5KZzFUSktuaStmbjF2CjBYMGpWQWZ4ZmdVaG04MXVDUkg5MVI5d0s0aDRGYTg4a1MzaGp0Wlpva2VYNzlVSXlVbHlwUnJySmJ3Sko4Ym0KdnlPbXZ2aW92STFFNUtCcTA0dmdnN0pTVDFSZFlUVVMrUGpCUGhQR01zQUFWTEpCWEdJVjZGT2lxTTNsSk9FZQpRZUNyZGtBSnpKclQxajJ4L08rRVNwTTI1WUM2TW96dzVqSDdxa3ArM0Q3dnlzdVFzMzN0bW5FMkVzMlRvZnBIClhwUnhFR3Q5QlYxKzBCRHRmU3BlNXZwMGtQMndWMEcxbnlNSHd2ZkErdEozYloxaTJBOFlFc1hpRWI5SmtkM1QKMDQvZ1FScTJXSDNveFZ3S2huRFFSdGxVRlZhVHJ4UTdtVVF2VFJBQVdRS0NBUUJSaWRqdWhxdWtxbjQ3d0VVawp1Vzk3OEpEMDhCakloMkhRYUJ5ODJVWThBUW45N3BzSlVTRHpnV1FyZWhnb2djQnFsL1RnS1c1SmFMSVFJd2dECmp4a1ViMFhvOFFIZ3JEOWR5cmxaYmY1Wkk4M3Y5enFXOE5mQVJQWDE3VVY3aTlXdzl4VnR4UEdIQ2Jyam9LUnIKLy84S1Q2QlN0YnRWY2I3M1d0bFcrSDhWRjhSSzdrb1RQWVNucmI4MjdWSGdEUTVjdk0rSU9pNWdxVmY2U1gvMQpsSTdKZzI0dFYwaTI1SUozeFlCck1PdFp2RktWMGk0djBlMVhXRlZhWGw3L3IwZXI3dm4xU0RkM2FXbmZQekt2CkFxYXl1eHJyWHlyK0dSQ3NhdGp3MmhtSnBWRm92SEhCcHJQRzZXaXFEc2VjemRuSUhNelZ0NUZZc1ZmZFdFdUkKQWsvUkFvSUJBR1Y2aDVnczhYWlUyUi9kUW1rQUFZUkJ6SmY3VU9ZMzVwZHBlNVJrT2NTa2o5RW5sREViL3JqYQpGdDE4cG8rc3k0ZDNrL3d1eEhrU0tuNXlYNnlTbnpNRU9RVkNna09yY3h4S0w0UVVLdnBVRXhvYU9PSGVkU28xCmNzMFYyb3BpTkdRamcwTmRlSUtFaVRjV3ZIbnAwcWVRMXBwNHJFTjVSSXFRZWRTbnRFeXZjTEZ2R1Q1V2NLeFgKWDR0bDhPWE45Ry9ONTN4ajN0S0tqNFNtZW5JUnRkMFpzYlNaYzF6VlAvS0JnWTBMNGpvcHFPVU1NdVNha2t0MApDNnlKZTJkTmkwbkJPR29MejJoUENYaGVpVkdCTHdVVEtrNjY5QmhYWDQvNThDZnpFTU91RXV0VDN2QnJvR0tQCnY3OXIyVlgxeWdyd2hyYUNsdkluL25IWkUvYnIvOEVDZ2dFQVVTK2V2WG9BVjU4NW1wdVdrMytWVi8rYmFFQkkKaDIrZ2ErSUdNejU3K2w3OGg2RXdUN3pkRkVrcTVLeFljNXZhdnpNZncwbVhRNEZLK0lJMWZWVnZ2UGpsM3VJNApUNytvaDcwSUg0aFZLcmIyVkg2clBHNXBOT0xSU3J1QW1DVGdMN0FjOGtrRXJzaHpmQjVoSkNrdmpkaDdwSTYvClZnYTIrcDNWYXFMdWRDbXpnT0MzdXZiVjAxRjhSdjhxWWJMTXN6SXZzU0NyL0pMTE00RGZJaDdIWVJwNkdEUmgKbHF2NUtDeXVsbHl6bkNrTWRla2xrdmZqajRmUk42SEhsNEEvV1pLclBmQ1FxcGl4cEJOeFFOdGNGZTNSWXExKwpSVFV1eEhpaFdRd1NEbFl0U0lySmI0ejlXczRpT1dFYjZtRWJtWEFmT1daQlBXSWQyMDhoTkFxQkRRPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K\n # API server specific configuration options.\n apiServer:\n image: registry.k8s.io/kube-apiserver:v1.34.1 # The container image used in the API server manifest.\n # Extra certificate subject alternative names for the API server's certificate.\n certSANs:\n - 192.168.100.82\n disablePodSecurityPolicy: true # Disable PodSecurityPolicy in the API server and default manifests.\n # Configure the API server admission plugins.\n admissionControl:\n - name: PodSecurity # Name is the name of the admission controller.\n # Configuration is an embedded configuration object to be used as the plugin's\n configuration:\n apiVersion: pod-security.admission.config.k8s.io/v1alpha1\n defaults:\n audit: restricted\n audit-version: latest\n enforce: baseline\n enforce-version: latest\n warn: restricted\n warn-version: latest\n exemptions:\n namespaces:\n - kube-system\n runtimeClasses: []\n usernames: []\n kind: PodSecurityConfiguration\n # Configure the API server audit policy.\n auditPolicy:\n apiVersion: audit.k8s.io/v1\n kind: Policy\n rules:\n - level: Metadata\n \n # # Configure the API server authorization config. Node and RBAC authorizers are always added irrespective of the configuration.\n # authorizationConfig:\n # - type: Webhook # Type is the name of the authorizer. Allowed values are `Node`, `RBAC`, and `Webhook`.\n # name: webhook # Name is used to describe the authorizer.\n # # webhook is the configuration for the webhook authorizer.\n # webhook:\n # connectionInfo:\n # type: InClusterConfig\n # failurePolicy: Deny\n # matchConditionSubjectAccessReviewVersion: v1\n # matchConditions:\n # - expression: has(request.resourceAttributes)\n # - expression: '!(\\''system:serviceaccounts:kube-system\\'' in request.groups)'\n # subjectAccessReviewVersion: v1\n # timeout: 3s\n # - type: Webhook # Type is the name of the authorizer. Allowed values are `Node`, `RBAC`, and `Webhook`.\n # name: in-cluster-authorizer # Name is used to describe the authorizer.\n # # webhook is the configuration for the webhook authorizer.\n # webhook:\n # connectionInfo:\n # type: InClusterConfig\n # failurePolicy: NoOpinion\n # matchConditionSubjectAccessReviewVersion: v1\n # subjectAccessReviewVersion: v1\n # timeout: 3s\n # Controller manager server specific configuration options.\n controllerManager:\n image: registry.k8s.io/kube-controller-manager:v1.34.1 # The container image used in the controller manager manifest.\n # Kube-proxy server-specific configuration options\n proxy:\n image: registry.k8s.io/kube-proxy:v1.34.1 # The container image used in the kube-proxy manifest.\n \n # # Disable kube-proxy deployment on cluster bootstrap.\n # disabled: false\n # Scheduler server specific configuration options.\n scheduler:\n image: registry.k8s.io/kube-scheduler:v1.34.1 # The container image used in the scheduler manifest.\n # Configures cluster member discovery.\n discovery:\n enabled: true # Enable the cluster membership discovery feature.\n # Configure registries used for cluster member discovery.\n registries:\n # Kubernetes registry uses Kubernetes API server to discover cluster members and stores additional information\n kubernetes:\n disabled: true # Disable Kubernetes discovery registry.\n # Service registry is using an external service to push and pull information about cluster members.\n service: {}\n # # External service endpoint.\n # endpoint: https://discovery.talos.dev/\n # Etcd specific configuration options.\n etcd:\n # The `ca` is the root certificate authority of the PKI.\n ca:\n crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJmVENDQVNPZ0F3SUJBZ0lRV2VzOHgvOGJ6eHIwOGJDZkZrL3FXREFLQmdncWhrak9QUVFEQWpBUE1RMHcKQ3dZRFZRUUtFd1JsZEdOa01CNFhEVEkxTVRFeE5UQTNNemt3TWxvWERUTTFNVEV4TXpBM016a3dNbG93RHpFTgpNQXNHQTFVRUNoTUVaWFJqWkRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMElBQkhTM2lycVlKUS9JCnNuUmlucFYwYlJkSnBHVmtWSkpoVnRsQ2pvWFNwYVZYZk8zUzVHRFpJbVh0MDdTTkl5aUwvOTJZNjBWT2dEbm8KNmljaitpSFRERWlqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDaERBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjRApBUVlJS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVdFBDN0lsTTBhc3RRCmNvT1RjWGJMd1ZqUEpId3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWdjSEVBbXR0bUJtWjlnTUxQVUU0cGRsbEcKckE1ekxxbGVMelNvSTRnVVBCNENJUUNnSVV1bzNKWXRXVW9iZ0Rubm9GcDZjWDE2RU9tNENlT3FWbHlWUEM1dApadz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K\n key: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUp3TFVmaWp4eXNaektQbzE2eDV0ZGlKZjlMSVJpbW1zenlBZnNIZStXTzdvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFZExlS3VwZ2xEOGl5ZEdLZWxYUnRGMG1rWldSVWttRlcyVUtPaGRLbHBWZDg3ZExrWU5raQpaZTNUdEkwaktJdi8zWmpyUlU2QU9lanFKeVA2SWRNTVNBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=\n \n # # The container image used to create the etcd service.\n # image: gcr.io/etcd-development/etcd:v3.6.5\n\n # # The `advertisedSubnets` field configures the networks to pick etcd advertised IP from.\n # advertisedSubnets:\n # - 10.0.0.0/8\n # A list of urls that point to additional manifests.\n extraManifests: []\n # - https://www.example.com/manifest1.yaml\n # - https://www.example.com/manifest2.yaml\n\n # A list of inline Kubernetes manifests.\n inlineManifests: []\n # - name: namespace-ci # Name of the manifest.\n # contents: |- # Manifest contents as a string.\n # apiVersion: v1\n # kind: Namespace\n # metadata:\n # \tname: ci\n\n \n # # A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/).\n\n # # Decryption secret example (do not use in production!).\n # aescbcEncryptionSecret: z01mye6j16bspJYtTB/5SFX8j7Ph4JXxM2Xuu4vsBPM=\n\n # # Core DNS specific configuration options.\n # coreDNS:\n # image: registry.k8s.io/coredns/coredns:v1.12.4 # The `image` field is an override to the default coredns image.\n\n # # External cloud provider configuration.\n # externalCloudProvider:\n # enabled: true # Enable external cloud provider.\n # # A list of urls that point to additional manifests for an external cloud provider.\n # manifests:\n # - https://raw.githubusercontent.com/kubernetes/cloud-provider-aws/v1.20.0-alpha.0/manifests/rbac.yaml\n # - https://raw.githubusercontent.com/kubernetes/cloud-provider-aws/v1.20.0-alpha.0/manifests/aws-cloud-controller-manager-daemonset.yaml\n\n # # A map of key value pairs that will be added while fetching the extraManifests.\n # extraManifestHeaders:\n # Token: \"1234567\"\n # X-ExtraInfo: info\n\n # # Settings for admin kubeconfig generation.\n # adminKubeconfig:\n # certLifetime: 1h0m0s # Admin kubeconfig certificate lifetime (default is 1 year).\n\n # # Allows running workload on control-plane nodes.\n # allowSchedulingOnControlPlanes: true\n" diff --git a/talos/node_config.yaml b/talos/node_config.yaml new file mode 100644 index 0000000..e69de29 diff --git a/talos/node_machineconfig.yaml b/talos/node_machineconfig.yaml new file mode 100644 index 0000000..e69de29 From 809b7da7beda14f6f0916ea840a60e9d1069dab3 Mon Sep 17 00:00:00 2001 From: juandiegocv27 Date: Sun, 16 Nov 2025 23:30:08 -0600 Subject: [PATCH 3/5] refactor: remove EKS and update Terraform configs for Talos --- .gitignore | 10 +++++++++- backend/versions.tf | 1 - eks/aws-auth-patch.yaml | 17 ---------------- eks/main.tf | 44 ----------------------------------------- eks/outputs.tf | 15 -------------- eks/variables.tf | 30 ---------------------------- envs/dev/backend.tf | 4 ++-- envs/dev/main.tf | 29 ++++++++++++++++++++++++++- envs/dev/outputs.tf | 3 +++ envs/dev/versions.tf | 11 +++++++++-- vpc/main.tf | 4 ++-- vpc/versions.tf | 12 +---------- 12 files changed, 54 insertions(+), 126 deletions(-) delete mode 100644 eks/aws-auth-patch.yaml delete mode 100644 eks/main.tf delete mode 100644 eks/outputs.tf delete mode 100644 eks/variables.tf create mode 100644 envs/dev/outputs.tf diff --git a/.gitignore b/.gitignore index ff6243d..e5b359b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ talos/*.key talos/*.crt talos/*.csr talos/support-*.zip +talos_backup_*/talos_backup_*/talos_backup_*/ # Local Kubectl .kube/ @@ -29,9 +30,16 @@ crash.log *.pem *.key -# Editor files +# file editors .DS_Store .idea/ .vscode/ *.swp + +kubeconfig* +cilium-quick-install.yaml +talos_backup_*/ +*.backup +*.tfstate +*.tfstate.* diff --git a/backend/versions.tf b/backend/versions.tf index 4e11ac4..88ee241 100644 --- a/backend/versions.tf +++ b/backend/versions.tf @@ -6,7 +6,6 @@ terraform { version = "~> 5.60" } } - backend "s3" {} } provider "aws" { region = "us-east-1" diff --git a/eks/aws-auth-patch.yaml b/eks/aws-auth-patch.yaml deleted file mode 100644 index 776e977..0000000 --- a/eks/aws-auth-patch.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: aws-auth - namespace: kube-system -data: - mapUsers: | - - userarn: arn:aws:iam::770132776547:user/terraform-shopstack - username: terraform-shopstack - groups: - - system:masters - mapRoles: | - - rolearn: arn:aws:iam::770132776547:role/YOUR_NODE_INSTANCE_ROLE - username: system:node:{{EC2PrivateDNSName}} - groups: - - system:bootstrappers - - system:nodes diff --git a/eks/main.tf b/eks/main.tf deleted file mode 100644 index c292e3d..0000000 --- a/eks/main.tf +++ /dev/null @@ -1,44 +0,0 @@ -terraform { - required_version = ">= 1.6.0" - - required_providers { - aws = { - source = "hashicorp/aws" - version = "~> 5.60" - } - } -} - -provider "aws" { - region = var.region -} - -module "eks" { - source = "terraform-aws-modules/eks/aws" - version = "20.24.1" - - cluster_name = "${var.project}-${var.env}-eks" - cluster_version = var.cluster_version - - vpc_id = var.vpc_id - subnet_ids = ["subnet-0ad21afa719ea0f5f", "subnet-02e577a76ce593e6d"] - - enable_irsa = true - - eks_managed_node_groups = { - default = { - instance_types = [var.node_instance_type] - desired_size = 1 - min_size = 1 - max_size = 2 - ami_type = "AL2_x86_64" - subnet_ids = ["subnet-0ad21afa719ea0f5f", "subnet-02e577a76ce593e6d"] - } - } - - tags = { - Project = var.project - Env = var.env - Managed = "terraform" - } -} diff --git a/eks/outputs.tf b/eks/outputs.tf deleted file mode 100644 index 4afc7a8..0000000 --- a/eks/outputs.tf +++ /dev/null @@ -1,15 +0,0 @@ -output "cluster_name" { - value = module.eks.cluster_name -} - -output "cluster_endpoint" { - value = module.eks.cluster_endpoint -} - -output "cluster_arn" { - value = module.eks.cluster_arn -} - -output "kubeconfig_update_cmd" { - value = "aws eks update-kubeconfig --name ${module.eks.cluster_name} --region ${var.region}" -} diff --git a/eks/variables.tf b/eks/variables.tf deleted file mode 100644 index 29b2c4b..0000000 --- a/eks/variables.tf +++ /dev/null @@ -1,30 +0,0 @@ -variable "project" { - type = string - default = "shopstack" -} - -variable "env" { - type = string - default = "dev" -} - -variable "region" { - type = string - default = "us-east-1" -} - -variable "cluster_version" { - type = string - default = "1.31" -} - -variable "node_instance_type" { - type = string - default = "t3.small" -} - -variable "vpc_id" { - type = string - default = "vpc-00154233cd16a656b" -} - diff --git a/envs/dev/backend.tf b/envs/dev/backend.tf index 15e3a51..921e352 100644 --- a/envs/dev/backend.tf +++ b/envs/dev/backend.tf @@ -1,9 +1,9 @@ terraform { backend "s3" { - bucket = "terraform-state-shopstack-770132776547" + bucket = "shopstack-dev-tfstate" key = "envs/dev/terraform.tfstate" region = "us-east-1" - dynamodb_table = "terraform-locks" + dynamodb_table = "shopstack-dev-tflock" encrypt = true } } diff --git a/envs/dev/main.tf b/envs/dev/main.tf index a797f50..6c410a8 100644 --- a/envs/dev/main.tf +++ b/envs/dev/main.tf @@ -1 +1,28 @@ -locals { tags = { Project = "ShopStack", Env = "dev" } } +locals { + project = "shopstack" + env = "dev" +} + +module "network" { + source = "../../vpc" + + project = local.project + env = local.env + region = "us-east-1" + vpc_cidr = "10.0.0.0/16" + azs = ["us-east-1a", "us-east-1b"] + public_subnet_cidrs = ["10.0.0.0/24", "10.0.1.0/24"] + private_subnet_cidrs = ["10.0.10.0/24", "10.0.11.0/24"] +} + +module "worker" { + source = "../../ec2" + + project = local.project + env = local.env + vpc_id = module.network.vpc_id + public_subnet_ids = module.network.public_subnet_ids + + talos_ami_id = "ami-013b54d09638284e9" + control_plane_cidr = "177.93.0.152/32" +} diff --git a/envs/dev/outputs.tf b/envs/dev/outputs.tf new file mode 100644 index 0000000..7d00724 --- /dev/null +++ b/envs/dev/outputs.tf @@ -0,0 +1,3 @@ +output "vpc_id" { value = module.network.vpc_id } +output "public_subnet_ids" { value = module.network.public_subnet_ids } +output "talos_worker_public_ip" { value = module.worker.talos_worker_public_ip } diff --git a/envs/dev/versions.tf b/envs/dev/versions.tf index 47d698b..db3ea82 100644 --- a/envs/dev/versions.tf +++ b/envs/dev/versions.tf @@ -1,7 +1,14 @@ terraform { required_version = ">= 1.6.0" + required_providers { - aws = { source = "hashicorp/aws", version = "~> 5.0" } + aws = { + source = "hashicorp/aws" + version = "~> 5.60" + } } } -provider "aws" { region = "us-east-1" } + +provider "aws" { + region = "us-east-1" +} diff --git a/vpc/main.tf b/vpc/main.tf index 8b9e408..977b7de 100644 --- a/vpc/main.tf +++ b/vpc/main.tf @@ -17,11 +17,11 @@ module "vpc" { private_subnets = var.private_subnet_cidrs # Enable NAT Gateway for outbound traffic from private subnets - enable_nat_gateway = true + enable_nat_gateway = false # Create one NAT Gateway per AZ for high availability single_nat_gateway = false - one_nat_gateway_per_az = true + one_nat_gateway_per_az = false # Enable DNS hostnames and DNS resolution support within the VPC enable_dns_hostnames = true diff --git a/vpc/versions.tf b/vpc/versions.tf index a84eba9..fb6e4bf 100644 --- a/vpc/versions.tf +++ b/vpc/versions.tf @@ -1,20 +1,10 @@ terraform { required_version = ">= 1.6.0" + required_providers { aws = { source = "hashicorp/aws" version = "~> 5.60" } } - backend "s3" { - bucket = "shopstack-dev-tfstate" - key = "shopstack/dev/terraform.tfstate" - region = "us-east-1" - dynamodb_table = "shopstack-dev-tflock" - encrypt = true - } -} - -provider "aws" { - region = var.region } From 7934f68fcd1911ace815c4d01a2d0f0d9f96f68f Mon Sep 17 00:00:00 2001 From: juandiegocv27 Date: Sun, 16 Nov 2025 23:41:44 -0600 Subject: [PATCH 4/5] cleanup: remove unused EC2/EKS references and fix outputs --- envs/dev/main.tf | 10 ---------- envs/dev/outputs.tf | 4 +--- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/envs/dev/main.tf b/envs/dev/main.tf index 6c410a8..82d2a40 100644 --- a/envs/dev/main.tf +++ b/envs/dev/main.tf @@ -15,14 +15,4 @@ module "network" { private_subnet_cidrs = ["10.0.10.0/24", "10.0.11.0/24"] } -module "worker" { - source = "../../ec2" - project = local.project - env = local.env - vpc_id = module.network.vpc_id - public_subnet_ids = module.network.public_subnet_ids - - talos_ami_id = "ami-013b54d09638284e9" - control_plane_cidr = "177.93.0.152/32" -} diff --git a/envs/dev/outputs.tf b/envs/dev/outputs.tf index 7d00724..1b145ae 100644 --- a/envs/dev/outputs.tf +++ b/envs/dev/outputs.tf @@ -1,3 +1 @@ -output "vpc_id" { value = module.network.vpc_id } -output "public_subnet_ids" { value = module.network.public_subnet_ids } -output "talos_worker_public_ip" { value = module.worker.talos_worker_public_ip } +# no outputs yet From a0dd2f28d9dc4964d65bc072685e22fb82451e29 Mon Sep 17 00:00:00 2001 From: juandiegocv27 Date: Mon, 17 Nov 2025 00:02:06 -0600 Subject: [PATCH 5/5] chore: restore vpc module and fix dev config --- vpc/main.tf | 24 ++++++++++++++++++++++++ vpc/outputs.tf | 11 +++++++++++ vpc/variables.tf | 27 +++++++++++++++++++++++++++ vpc/versions.tf | 10 ++++++++++ 4 files changed, 72 insertions(+) create mode 100644 vpc/main.tf create mode 100644 vpc/outputs.tf create mode 100644 vpc/variables.tf create mode 100644 vpc/versions.tf diff --git a/vpc/main.tf b/vpc/main.tf new file mode 100644 index 0000000..e187591 --- /dev/null +++ b/vpc/main.tf @@ -0,0 +1,24 @@ +provider "aws" { + region = var.region +} + +module "vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "5.8.1" + + name = "${var.project}-${var.env}-vpc" + cidr = var.vpc_cidr + + azs = var.azs + public_subnets = var.public_subnet_cidrs + private_subnets = var.private_subnet_cidrs + + # Mantenerlo barato / simple + enable_nat_gateway = false + single_nat_gateway = false + + tags = { + Project = var.project + Env = var.env + } +} diff --git a/vpc/outputs.tf b/vpc/outputs.tf new file mode 100644 index 0000000..fdb0c6f --- /dev/null +++ b/vpc/outputs.tf @@ -0,0 +1,11 @@ +output "vpc_id" { + value = module.vpc.vpc_id +} + +output "public_subnets" { + value = module.vpc.public_subnets +} + +output "private_subnets" { + value = module.vpc.private_subnets +} diff --git a/vpc/variables.tf b/vpc/variables.tf new file mode 100644 index 0000000..9d47905 --- /dev/null +++ b/vpc/variables.tf @@ -0,0 +1,27 @@ +variable "project" { + type = string +} + +variable "env" { + type = string +} + +variable "region" { + type = string +} + +variable "vpc_cidr" { + type = string +} + +variable "azs" { + type = list(string) +} + +variable "public_subnet_cidrs" { + type = list(string) +} + +variable "private_subnet_cidrs" { + type = list(string) +} diff --git a/vpc/versions.tf b/vpc/versions.tf new file mode 100644 index 0000000..b088b0f --- /dev/null +++ b/vpc/versions.tf @@ -0,0 +1,10 @@ +terraform { + required_version = ">= 1.5.0" + + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.0" + } + } +}