From 95038f7499069ab6cda2dc7c63d737340f9b2f15 Mon Sep 17 00:00:00 2001 From: vados-dev Date: Mon, 17 Aug 2026 19:00:06 +0300 Subject: [PATCH] Backup for MikroMaster created successfully at Aug 17 19:00:06. --- .../20260817/20260817190002-Binary.backup | Bin 0 -> 116563 bytes .../20260817/20260817190002-Config.rsc | 1447 +++++++++++++++++ .../20260817/20260817190002-Diff-Config.rsc | 106 ++ 3 files changed, 1553 insertions(+) create mode 100644 MikroMaster/20260817/20260817190002-Binary.backup create mode 100644 MikroMaster/20260817/20260817190002-Config.rsc create mode 100644 MikroMaster/history/20260817/20260817190002-Diff-Config.rsc diff --git a/MikroMaster/20260817/20260817190002-Binary.backup b/MikroMaster/20260817/20260817190002-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..8c186954abd7b6abb179300bef89232a54824cce GIT binary patch literal 116563 zcmV+aKLEh*sF8D1#{mHBtQ06Tq{LNIs{uCu+h#-n0002|`~QA`Mg;&^!s&Kn?2ODt z=Kw_)dncUicC)RXqq%GesZT7L$Zx>%r3W3wf>6OXxJban7>T8ZW>pEAl}~a%KW8e-j}b|KSkleQ zM*FzKKR7mYEscIkR zO*^Z&%3b|Z@cCW7;Q5|&;K@j1Ui(UFW4==DGuh61a@HgnhQOyXv$KA0yJp0+oaRCa z#!9Gm2(EbO&@hl`XV3e<9i!ypHm|E`?!w_$p5;{NQ`}poxfyT30m4;L3)j5g{7Ci> zvY)3`hRR!@S!o_pEB8Fxbe6WQEoQa6);C2i&o^aV~GP;9gQGWgm2{; zg-5)Wnmz=T;bRm;JYLMj=@njM2aTBc@Oq*L(B-L%ZWP+e*t82qvV^K@23rEp1Lvvz zw}G6}9z3JGWAhJpef{d3XmB&@?AdPcE1g4C4WT0YiKnljs2ycC1kmCR$U4Cjuf2`B zBq4&;V->Ek;Pg?e4)DYoi$R$P<-0Z5fZEpN&~e^8n8_6X*sZGoW?Q^=Wa&MVDPlR;Xb@UwpwoQ5_&Fxd9xL**!^PutVH2z2(d3tP zMomKfjuE)9DB95n@M7OX@6&7mp^Hxb?Tt=eM9lgg=B$o}4S#7H$>1A(9%A#y4~a9C zy1NcDhGdh7#_Y0edgSoZh~_5>V1a$2H+WlsOu$OI^AKyZZ#To*_WR_e49H_9l z_{WS_`%l}K<W5R@#&VG|Jwo8%{f4YMVW1#E8Ox=kkc_AWq^r%Mo?78a?D_>v1JF+A+d|c?m#~ z!~P~M8x{s$P&e6Ob**}gag>xwEiFyujm@YjDv4Z6pawj!CKPX!=d)irJrpY#fFRF>w1%Ht0)8qQ8n}N17bj8cmGP4w z7=-N>~_^w*o>XKH<|{5?av z^@DXD(^Y~?Z<)1tKD+3V0`**`S3G9eNwZrFoedp@{mDD2YEP0YPd*ctEJWOabneN& zi)-lmY6zS*Y_(yN1mU6>i#H`S}+PdIMH>mTlWPf(^_;_fJ+1>m?pU1kL zn(h=wuCT1W!{l1G|K=dzbk;_jQ@;G97ROi?)#IitsE1&y8R~f~c*vUkpc${wA-H{_ zv~8A>K@;{uV<{JlmlXLmTXD%8|5vK|73S8=N{MRp(A9zV}2 z`@LS3p4 z!RJFYGlr5pFkE~12ELQ;mugtf;~-sMCDAD!`qcAjTNx3UcXGdkb0S4S8f@lmL-ZuA zQM2;UzRc*+6FjYOv;spyEs%R9i}b>Q_%b}W(10=tW2h`|*OyPCwXb!DcL2DibEuWH z(5^nwepQx=HSh3fG>KM|G2^HFI6PB$sp?&#Q##@}l}Qka%S!kbV;ZRSPBk0Fby)|? zEb6dtA)|+pu7+)&qleMK%R(ltlS89n4Mqm+Xs9wULCYf^_Fh$I@Q-2S^B3Rp4r+_( zHK#sK!z8X>|5QdSY6Yx^vgt|K_l&)w_vHfgLo!``l8d@5Oe%E?E<6#?d~GmP8hqD( zTLS4!hTchg1NYwhTKvDU$$SjTkv2E2oJDFeQ3mq~gl)ixI;*Ka7w3KGZLkC4kyToG zBQBo5J+328V(Lh@YQ>}3B#nxRFnIv;kilCoIXlSM^{tU#Wi#u@+t1pg-m5DX>R!x$ z^)_Q({!SKO6}W;WykC-0{+S_<4A0~%mhs_dpegaRxvwuWA-6trAbpXd&^0)~$8PnK zMAW^lb9*-S zrAr*^psgBqvv9~+A_I}Py$~R30hTB%SWvsndz|Zi#k^;w6L}p-P=71uS;`2L6KeT` zt+7dK_H3OJw^%~t8IRF^22n3_=9Z&@ak5p}CxeQaY4Zf6zfdG?;gpO1uFmQ))E~77Hp} zYQ#wcUuRf;IFc#2FBB8vfc(020$4vgTM2PhqoA5!5AEmRj@4p{p zjfN53k~%L0A!;L2=kK}0KsnRYcAx!yZaU$K80Y^5m7rjnw47-x$zYtIn3H6qtTqWi z)xrQ|Yxxm>oJgxl^U^96HRL!QxOMucm=S^*uJn^p$;1?5)`kPd5J+z$lGzFD%4wWw z)(H+9sqVb%`Ji=^+=4bR07hb=#R|P|2-J}DI|xZxZMCEKBRsY)KnRa6lvkGpUNbI~ ziP@vdbVt6HjRP9Oo7isPWXx0Nky%v5Tkpq!Yx>}OH*&Cq4*@n+8nwNQ=@CCoS4}Iu z+mdBCS#|kO(!~FnI|4C)Q0z8KG~1kN_Ti2v6Im&p^LRxZT(_e>c?u_Vwn zlE`Ysy-~Q%+vQzwuG>FHsl&G)f9C(Ty;JXG=Vi)3A1$On#2#YaD5EULYOi=-frk`1 zg=)bKpwz+fEpdkEJxoZo7ZAQdGBFUr@3MA3L3HbUC!}bAM_gK#x5rAX)c4wpJ=<+a zdHgwoU@jd2DARaO!yi0+@NEDYB(ME{HP>0(+Q1=YvD7GPtK}MExHnelrU!*VgoVSx z_D(+lJ=?PseIhhG&cl528yC9rRNBqk=}k(Dm8K7a?4`f{27O=e8OPT$9HQoE4!nl@%f2o*jWxSv1IpHhHRcoX!3 z0x~A(6Kd0+gLNQOOJ=tDy`yq>J@K|-jg%$PKI!}zOe6* zT)i_|EkJCpR?U=}X%MHSM()l1^&=9aT1BCf!iAPFNbg=pBpUidXoxF z{{xwz;hKXD&?b-P&~_#R@iJLM9Ts0T##UQwcoD0Cx+|x`s%YrWrNX3hn}8u($!g&) ztTqdGfMz3II2PR{o|&7p_;f9vQ79Sf5NTPCJtF+7QW_U5e z*5X8zS=mEACd-~Vo@9c@9IZ6sR37p~i%a+yNNVvvktqD|ov=7fe93}mexs*~0`NGg z=&4~8z0Z6)%2AI^iHG)mx8qG=ai1>zhTMGeDB4SVvTwz2wmIFS8XXHky!`0IwCyWQr$YGB7g24w3Z^%^XKt7 z(fa?9hyZpz3bC?gv-*RkEvBh;Vl`DGeU2sqZ(D685-l`FLlBBKlxn&nEcyI#A6_Jc zQ9nuoi4HeBupmhllvS}oxBJlJuD35|VeM%iThtJzdpfl3hZO^9A9 z_V>-Xdq*z06zHZe0RAYfTsY9n0$JnWIYk0BcWQP15&2qUjf+ZJjzQRGhJQU=rhD^^ zOd<16&kaAP$LPlS{ElmvNHC-yiB4iQC~d$FSl) zM8Yy%V&?H0C)T*F#8|#!2eTpJhd&z@1AmJjYh>yK2&%8!I+JSW{HN3BS;I5 z_6Dp-E{@jm@uCSFDUW5-jm>?s&+Za>mj_?-A)ErwJ0?i**D-%14O}6qKu8N|ojSqN z^mTme*Bt9&F!rLYmFVt+m%_YMc}i3Iv?$Kk@LJ*Z;p^$XT&ml z?*H{G=N?kazp#0WE&y=|^HyG2czlZ&U~dn< zCe_)zz7=Y%CrCXk+|}A)xh9%!(5KQO#F$((bJwS|SBZ<2CgvNuWp=@r;vCE)mBqMH zJi?Lt0mL3rc+W8Dc^)`R$(~O)sqWv|XZ9}@N8}pb#DW)19{ODQQ+}}of3!(!bTcPD zNxUqm#k=SBV2>CJoly<}?mzK00784<*64?N02Xx)8KB+bOs!uA`f*qivv_uUn0O?7 zX3V}2(49t!Vz&O`S3u-1wk@QcuG_ zgK)_J-@B~>YXWu(SQ!aTPgCZd9WuQdykL5RRd|y!+Y$jH2rQhDpNQlN`FRxVtqy^Z zeqY65&Ai9di^uUR5`P-vRk$-}Xh3L3EX?a8ou{w#CyefEy@k^jCt9YzoFjB=Q++G? zKNBI3HJK@3gQ%?uu|O3Szm)8c^X)i%)H5FWs+kymB23r2i$?2CraOZ|e=%mZ_s(kn z<0>C`AHDjGDKrmE8))|S`FUvT=Dh8YL>V`kQaB`rX@dx~McQ7aaLS{Tcu)JLIM9_Ga`C3rya;*h8a1#t@jG1B+{ zUwOl^1DC!E+rGaZNfrL0?qA?;{N9JFHI`Rf`?|{)f`5jNE)d?A^50}6Pb$=$yVo8Vty!276 zvMsX!h*Q%TC4atx#xM1nzTjrCEY|uf4)!mG%x`CMmEV8lK8HP&5^M*I-QqrND_a45 zN0PHtY&N=K5W}b;R;j%S8ZUeFY`2OT3vz8g51ifV3-K|mYFg(J_46`>UHdUvdL~C} z2DqX$>Yh%SA5|fz3h5}Duu?KS_yiL{ps$%u{~aRkJ(QxArY$f33C9~DhL3D-0eESA zYXO&v9SX~LXILwSt{=bFAkHfu#h~%g zMDft#`nEyz>#+E6saV@W=D*7?b}m-J2pq%s6aK*PFBR$4uT{;mROTl~?6Ptv&gYx(zYIu~+vGC+Oq}@91j_18M>tbOh{fojacYg`)lQV3 zusypV2ab88{6a3~3Y2R|k_73fOoI=z`_BmzUH)m;P(EA*$WWeO=sHG55>h+ej}&P4 zXv(5G&}IqCd6a*%5TZT0Po^A{%cVH^kQT#op3+M=x__)OmnBhGYC=)~01j`=z)Sd) z`c09_Eavg&r;`;r<(PTiKgTFCD-A)afL&WS7D*emaZtqwcgA9u&)<6GiI05kS*Or^ zZ7ks4-0gwFmMX?Q?%oEDpull+C%fy^M|&KcUKlGiF4EYMj2yVP4yf;c^dZ82vTagL z``&;mJ;@<|dti@B@WLrxO@eV{4as+oQwJ9&M3aQ;kpABJ#Y6r`1MlXh2I|9SgH(hV zIw=z;yE|d2yyG>XfJAVwJdc{_)Q(%)>pz1AgW&XC=-lO?hd7%@Eki$*ce9UV#XP*f z-ZNub3P!I;%U5s*5V1JhQ8WP91O*(5L0UM#HBbOsYzuN8x2bx&l6;=B-iGb8t zW#J)MJ)En79C>Urv6ENk6r<~(cR(Ee2eaA%59><(Ax%S&WUhdx9)!>7NH>+jjnm0Q znq?h3t{y#llLQoJJZ*I%kds@p`)rzfFKcxc#SL_%$l>^(fSxpT!jq*}?Sw5&s1MIh zH|#;{^bUnInqqo#P+;c4QgfMFyum-5g_PxQ^s6N+ZwKrK9Qks{4= zGdU*TS}+SnzSxwRvA_*Y!4eivwI0ZMm~IH3J824uAkV!HuyBtwvIGvzZ%8fdQSvwG zpsKY_)yTuM+c6LtVND2D8OhBYU+Q&#thKe%w(jjFJ$)M_KUN4^Sv`` z!-!jc@y?M-y@B>odGKuom8nsguLzd~d51RTFc;$TR|BtlCTuyHY%!)n-0ZT7_;G3~ z@=-zyIF^v=FC4kLjBIzp&;DUTF7h=~*%9obOd~PrM6R4gh#c$9qc#yrco3m+dMDF+ zENQv+qOf1wv2L;vdue2UCDV*m^>iC7PsO?9br?_ZyY-_!K1cL=Xz174%X`^J3(%T* z12B&)V_V!oz#_APGoUrZgOeO|T$hIak_o4V{FbZFK~gWz-_e~DHjD=tCo0QcWYKu6 z1wE&C9}HNArY8!&Fx1s3R(+d=LOTc@oU!LV zP`k1u;7``SJ?!H7*%z`Sva6mz4ah86o(RE@$2u#Z!urv^aH;DoRYT9OXmyFCZd7Kt z1dL~hS*;+d1hBRtmB^U4mpf0cT%UPpgRZSj#u@e-7>)khL)8m|2?Xf zOL-XTXNDK86&do@HFzNB1G-L3iRI0k@Ect0Y2oflXX<1Q?M^awZ%aW9r!C)LZcHd7 zezAqBf2O(BVXUhw;7TVmYYWu-R~=yXlUp(pC*V*Dy=cC7E2Vhi&;O$e;OS9UG5t`X zUwn=dMZILsUMDYKk(p4PJ#OGDxj$L`ApA+aqZ2fc@U$aY|F$Qs78z`qNg31u)33Vv zhfwU7_Nvv0OTqG!4d`aXyJhm*MLsQIM3ORtz$ta&1N3I60XZqPkT)PndIBgAPCa2B z&J0IQd@esv?7&Bn-8>3^;bdN4X!j4x_h^y6UZO(VEMBpNJDMX;2lD5^_5 zJ@o2DESIE+r6$w}%bTseQR>TU_eZDc*Kk|pf0wbAiz+&oA8F4{b=7ZsAQA{eZ%LXQ za`oJhbq|XYqVqWoKh0=N{mPJ0TT*gVrA9O!eYdDy7GpdhXymw#Wi0o=rK`*&hA}Tk)Dpr^3)2r?rUs$|jOQ(P0 zW*7fd>&e!)D*ielVc&UtuT)a;w^z3Fcja9X%4MsH3OJjiV}*?R{hL}X;O}{mlJFqP zfNDDUXZw;r9TF+M$dA_j$eqtkyywY zf&YN6@)2FqIw2TCtJ7*gY61JY+J~JL8mqCedQQAtISXLjBVyB)N zOAzS4ptyo^{Tt8B@?E~{g&nEpXHo+7 zRsjZwusX^zDTkGODQ-gOA@K@mz%c%?J4NhqW^55uOsTLI`DslWoOUrcTrd8}P%(JL3BGyXX8zIBYzM(=?eT$I1q9 zyMj&o*J6WzH51>7ZAuq2+%#n-M5m)x$!s^ttr78Zq5g)9ET2o(@Ez3qy#5@#TUJ)D zI&?iu!+Do?u-ED8JN_t26bLh$YO+c+B`dLH_QAZNr^of_8LM(KN^;rBggyeFU3lk7 z^^Ox}llrF68jv?RO7Z@vm)L!Ux&i5OC!m#bQ*qwVDsn z4dISep8iHq-GdsT-#iYTuxkR}FD@hSk`E?N$@0G~W1U6tuN&rBI&PYFTiW#r8ij6l zyO(RpKwbQV2?5as3m#->I27u)Nh0ca(`sm&odX)?hcDt!Jn=27hX07T^5IsGcNS~4 z=xqnE(oiUa>yO<TzJ}XhnDvHoS~x-uIS&3ajrP z+OhVI+N1wnYghUVNIoxF=;Y74x<>;S4}dh=45HwuPRYRrPazNZ)f0}Hz{d7WKIjnk zKUJ67P2RCwlC>@)leTmH+ley>ZwcX|92A>!*S7Gwsn{iq&f#^I*B9R4->14Ss%R7l zyzsCWx1i+zFk|vg!d%Bc2X$fe2af2-V4w-=IVg(s7?ojCf+f5=fnlauxDttrKu%yI zf?51#&GJ^DOTt2rSCMa3IoE_rVnM{)pQ^9)5hSZYX-5PmAaZ%zh72#l^O(VN#lWuI zNYSbGy`>L60BCJI=OknKhF{a6?&A9PUhtv{^NC&$$+!KE75sillb-U%H6kif8j1Hs zedMLRLoDWLa60=ULd%pY16&{JGm+14v^2!qBHr5)bChyGqv6PY%JW$N$5Y%;1hTkm zM9Xo(mb|n%6VZ?Fl}&`7q5cE2G+eSGr9N)x__NRn1tYWu;1HUT_z1|+djRc?#)Z7B zt%WF!jIO(xBxs7}7(zT?fW}^PAtx`hE%8^M9pb{l z-#Sr4lCi3`Lls!`7UF{Ct><-x?e8difR6Vr3ZN}e+b-9~F=)gXcfgU5bK91lySBs)E|5*F+($9<5Db3d4fq>Kbt%)cL zN{k|DxcHi@d-3HVad|y3SRBk|J=PeeWYMFWg4XS1k>8ZHn!Ax(fhvLPTHA(^)GlDd zK9{J_r?)SQw8^jmpbVA6aLGX+zXJje&o{^xFY+(e=2C%c;_fJ3ep{YguB>a{9ePve z5uTzlSwoSkw`Zck+y%_%V00flLz#@`R8h+b_um_IT{A!(=@L|o&d zl2Nf~Gn*TOoYwcB+4?!$K`ItHi_C|ckP?E2n3!%c5i3pFt#-jYQKeD~TlX0xD$yls zezYP^D_JA)OJ1WtPqjOhs`t)VNyCLfhg^t-h&Un5`;q!uTHTywa^%AUL9v~2<$!U^ z642A`V!x7^M6@aN2s)O=nv&tFl_8)mKYK`C1^=_$rs?C)`L`v`Ve`^a+{p$Bo}4+AbnOx` za`i0UMR0$nTXo|0^RNIz@?_8QOU15b`kkkqQ zW-4@sP??z(q8uzanc-PBu%!94j3+v(>ws5=f(%sUy=_p*u3coL*}y{x+zD4C|lMGdl$(z32aZ2>vqBx)yzt*ZpT>i zPrM^^j#(YRq?DPOM|n67abJd!4UE2E*37-;p0{$KABUqgfb=BkTO@jY9SbTyBh2F& zXQYZGExEQmoSAz%xU>wm{B#oA{Bp#Y?L{{OY~8X)1CFBMkmi=+5VJPM`1(-ReE)Ku z|7~XB7)LyF%DvBCzU5{vcTV6-I`)U47iOWQ0qt#VjmD2zoUWy5Dli+e-I4m1X!J`| zC*H^01FoJe{_8ZxUw;ARY7-eL&(&p$(O+*3{08~L5{0D4cLAw!92R{)Zm%jiOFN>x z$g1%1mgwJG_&h5cpT7pOMgI48LSl;(694DQT1uPQP__trbVo-i`O>N*Wu=@_ z+p-bY3GJ}z82!X0c<{vde7AxUxyu%}00wF`xI*V12%L1j4!zXF>lonOPcdz^FA0SP zxLJy09b}9&0}pv$Z;nCQKwk236=R(dMyX9CVUf8PGMeZz6vu zu%<93=(dCHPdDVaxgpgrNUP4-IC-l_@q9`STBAuD|gQ`1mIl1%IFJ%aA8{%P$LfNSX%vv{O5<+x z)_5T>w8Tm4_6njkiX)t**poYIyc%P%#{1AK!f@0c9PMzTZB2V!A^4ez4X;S>(-78c z!uxTkpBJY$E^{Q^ws~SNc-Q5oJ;A)~GAG#WoOGEt9-_zIs1 z1@A9GFPM0c)Nn5dfhj?$<-C`l2hh2(=}m4tW~%ksfyx;9VVTdj2WKbY)S8LwUy=bj z&r+sB^OR7b@UF`?1vvr+*K2(C(NT*xdHK^oGzZS3t6s^LPf8giSuMa53`;+JE@H9+ z-Ns(`%UMVo;u96O;q;o`JUybx)6w(NcKrTq+K9UTtUmH74iMj#o!= z$hJH)JO_}eSq=*K1)um7P%wAmj#PE0LE8q7>&%Mk&8}uI=Z=DHg<;o30;<4XpZf=6rdYaLBsgNgVz&K4>bNspd4^@c=XarVrZG z*)W+~o2-klcC?+sy2x=W$8Dtp_iIdFOWQkN#$DD6@QsD6^9sQ}6Z68O5&zy)@Lm(9oGH!-C(whzvI(AgJt$xN0Nb zNF(1=!=aHlOJbwXY&ERpA;=bEF+HYTWJLMCd+`r!e}W#2EY|DE0=~K)k+Rh@_3<#G zvg9(h#Zx*IOP-unyECbTevX(+X%$hmoFzTL!4Q%X6F&(d(7c?dVqbKP`fD|}==>*) zHLn2Fq70$8e4MJImd9u1)! zlMYp3RMPGQbsIKMSsM58=Rc$_OAIOUDF=Q7kv_AnezW;f9I;(brF*Hg{(zJzrA>vm zT-{@tLKO*OUUyN#zZgAPW;b)yrI+yr&h*^_jED-d9-_aq0saJJO#g3h6U(aQmS!7j zZnZh9>TB+Okz7T5edf^>!KaLh+zn*?@?u@+?Po_4eFl>G!k!JhCFJ!q6OY_f1A)}u zs%5p3i#*7sy*-S4c=Ap>{{aED-pmamaCSA|ynM!T^rd!_2_;jptuw>!I_px66}%ryGf9Upekkl!w~JG47|Kjv2}rg zLC=f+IR8)GsKBYfl(30dnc#$)E~{V)lzeC3#D4${SwI?Pv_;HY9Ku8I7@#>7wkNQg zi4v-mR+B?<1?le}$L}o*Fpk|U+4Io*kycpmcYFhz7mT#wX{ZQGM|Mz;Mg-;5U13GE z`Ir)qms|Z@&rFSP;LCTxU)dN^=J)a3jRsPq$3~7?%|@F`EsBOK#v9)EWC046omxo< zF+C}{5nGfa*x4_p)r$k=lLAPZ7bp@(hXB!)!ooomN%|B%vI=rN%5$g5MdBx4@RROw z-9zKudjg~0%gM)I2mKt?`CVYWZN3iY=$W|K8Digp-78#Xj_*l_u+@z86`XHQ46nHN zTJc%^7CK-43CaryP`kATPm*x7h!k1t5HoyeR1U+rAV7EVRvMAZ=^Q5kUg$oY7DcYcIyXO++Fs`%iIkDbf5VN z7BHCHbDjCV=Sp-Ms{fp3`k1W4x1K1M?=}4SBbZQ60iDHib%GEBKzD5Q0aUc+G0_02 zV}L!n(XFk`g5C2(V_oEjeqK@{sK;*q)Z&v9xFRtlt8SN)f-hW-b}~mnRVuqfy8MQo zRCwVj-&yf7MdVrABQFI=Ye;h=`FufmQ@p{E0#mG9s0FVP%HGn8KLt&joU?(SylgRm zVEGa}YE6sSDUD|<`JaDfzzP|qPa-I0r*=;qXx2lDtLleWy_JO|bR=|%6Z6nQ0X2CrBfsU zi=JE5LWo%$V+A_p%5R9#KE8>zWP=-J5_#j1e|VqJMR6!S4CXQhy=pq!qI6Me^H(BH zUjxGT*ako7_QX-Apt7+o58ssF#q0ubAAPJ>mDbA%J}7CPAeJu_9{?DHxmu`I>$SQ% zDG%)t&~pr)H=>yv&`c|wUn zHZ0o*Jpac;AoZVd#E=&6Y9Uv_>fP55mH;z>ajvR8(Ry5)Z~50!6o~sf%Fg`Z?sxm zdp)$xXeCNyyNtMN2y!q<-7Fs_QE-=k7nH*VekK zu0e!L*(bNn2s+rU#0j{yFY3j?>yDcb*eL5m?S07yZ7=SYX`JkHjGOzCp*8edxJ=nQ zDGFh*<$5d!@PS@_Z4`GcMC5S&;R{q<{q9ArS;I#)#}N7A>WruP-XY`FJea^=c^n-$ z=^RNkpx1XJ2J;oSb;qXg#})1{oHh@zxs@R|V8j$C&5Wel^Zf53pb?L^&Ru-Q2e+217%VF$hzk;6XXaDLHk?yud%PzaEiJGf z@{*l*&3O)o1_zk7e_V)$io>iQfqj$esO+R9ckWgpP0jy2yRnt+`(9=!F%u|&wK_wI zEb9U;F_cnQYMG1b3$BzHW}(A9m#h8|hq*+CwIf>u>VEf>2tHnm53BIVGMu>6y;LJ~ zbM8r)NB*OWD?25wJDWm16gAivhKrg@PZ3akq-@BoFz5kCH8ohZKizI5?jZ;qpR1oP zNEEC^E%{l9FJQ_Sc0FXeTk)1m8inLlF8ix&?q!;&vGiX(^_JKVme}L{h|=R5u!H}Y zim;q=kLha-u0Wsa_Ic4+<>!oBw-G^^b$W4z_;T_R!E8?%fifF{PFul1+(*=?G%JGA zT^LICo|DoVocxbZ&k=rzQdO%0K9%-PF;@4r#TSxH7=Vjfiw;CMGEVe@@R8BQ1wdiV zO!og(<_+I!Z#4{#9bssr7SSiaD8s|+6*Bjlu#h7GQ$j1=(~*qpmBV2KL6c(i9HA6b zqgOSNT0+Y>Xa<#Td>4h-?>F%0cxNd-VN47>-CBZ-f<<#sh(%d5_{3h(SzfXP@rCMr z%R`mp6)>UT7s)Ll{cdnUFJ$H2wbsdO3lDr~esEAtx?cHmO=idH)|`(Y2)HAsS}I#qW(she}(>frU4<<*0#*A&_3|f%{ERg{(3n(T4{@sQ_DT z<|$fX`~2pSbN7=T{=1YzSsNB7H1fzp?5DaQDFQo6+G8+)Z$k`ZdUAY)0lio?*&x@{ z%Q`LdEer1*A1j@5j;#l^vWIUJ=9kT$KNO8n`WjeLA2hx=ub!Jktc))Ys{tn$P1nRL zZ7N#N_)^p;)6_W7Uvo*~2WI4BAsAfL4gM@auE8U2iz{`0_83D$xP#bJ!r!Lr9yw+m z@bpMAjNRqMZlkRSCTt5+m-=ai@+gwAm8&c|q)|~PQn>I@Ubv*&b6QJgIcCD0*zDzE zQ1(uO5^lN1ts`>1{p(t0Rk~!Om2A(YSnaOHv#im8A_Pj(2{7-ZVmcgx3QL#Oo{(nu zGQNy0cvFQeWn`-e@0vllF@$z`i+II>L>{>5G;k8&t(M12p(@Sds$41mDEB~60GA%Y zl<^!3_A_GcnwDf`>1cq2>sYuVV+d_eNJF}5!rw*@#YqD?UZ%c1PqG(t_N;l$Jq)!5 zsd5SyM!QXt{x@aQhOqJSEmRu4iT9YvKoM71o8vRExDex!we*KiI&f9ydl|t|59epi zFzGnc=92^G))4Yj=)b+L%MVI_D)=qpQk1z!qO-PFg_P5j8t#Mpj^A68<}z~Em&DO^ znK5H~r!B&x!^N>JV`a3cB5Yi6uS9s5K?Ss1ZIBLME@HNrA>!PU{3(y6(A9Z{f+DS9 zK_~}y`Sn`rm-OS43%TchwE}Kd?vcmm(&Wxbp1U4}nD2X(DK`Y8&onrK0yq0O9SQB# zrB8eMKq~h=F8i__JUzqW-3EJVSy?FLTZ$EsTtU*wzbau}KpF;Z^nW`5uJpTPcOI&H zI%{`$p9re7j6u|kw{X+{7cwqr_A|LPX-=kNVTIp$EZW-^UmKvr8ux6d!-fp^HZ^g7}fNfg`Z8DPo_!C7}pcBr3uJ?R}YiuX(`G#xduI7eDvCk9Fr#hjGVBu1+~` z2vvF`xV~A{;;x{Nuus5i!-U(M9So3O9f9Oeq<(*e9kj&?mzv?|oCdj;<&{DB)Z?&30GH&Ls6Z$nmsipY#T=ryVmCPSk&D@&e|LO6e z>xX)}Z6o;QJKtY35e2oviK7VSbB_r?agd62eISMOvMk5Otbq`*i^?PX!YzEZu_Ex6 ziAHsC2PT}1UF}7hYbbz%C3V%fFz0_1?U8=zN4N8xD=SZ!65Toywwk*5O_mU+s>yj+ z$-O&wMz+lYK>jN>at6gES%{B81a1iC)W^0$p0chWorP$DpUVJr=`Hk>S{nyG9zuNi zlLwk?W%O*UhDU?OA^x3$x+QIurBk$@njIOr(qy{wHAY;S510DdV~+E-Al?I)bMX+q zOCJ`N=MkcLSmgw6_8&aSM;thbgO`i9U)U*kcBwr{A9GhAKYONy@f4)!^D-NKlAb0E zLel6?m@A?D)_+>pnStjP(vfOWx>4z>xE0qBw)E#HAgxs*1v;Ufm*LweHFS?0e%7JBp^EKzs#@? zy@g}sGO3@o&pB${8{gXEs~uQt_H5N6dw7?6jd-DznhQvG+!+^8OHTNZBtZUaEL*{9A#@-(FH_hYaP+ zB{vW4#t~MNq&ei}D%jo7vraKBT*>`FS>3081JT)r#~itwP;zT^6y4cj4gM`imIBN5 zO~w+ezVl5eA|kKW9(mVL<|Tf7$iTk&coNGzgIS&DH&qj%*U)`fjny6v58!|#v%`LE z{80cr4g{lwdpd829pr885(70Qc}p(xv=#WIh4QggPfjnJQ%wnjqT#%Gjd^0(s9ZD4 z>)rP@L_;sSSE-gyV=V-I7FOPuM^)<9+8yPO{v@Qiaa0BiFRANOL3+EP*3+?@+nf0k z-WZ*E5!9)^f!(B4fyh~em@ZX9@fpvmwM>gfHPg%66@($CCjj)S^1(BRasm;T)J(@E zwM8a9c28%RVOV!uV5&4Ri7C#3T!c;} znSKUN&iT|prpvT0@*&5hvFg)XmktPdIzK>61uT6q&_d)FmF5=fpHewyiQKb5R$ecDKzAHSnGP{bu} z=&^s!TYobYwb)sR5`ki%-fj%-oomL)SAX(hD*x?KJfLwSXRi#0s-grbQZ!Q{8 z)IMa!yMX*RTFF?Ig3NdDykJCRrX3>+Zn3c#fR&VYC|w6O;}A!yn2Z}uWGHdnRmX#D z3<H{7dd%15xS(q@g zB!fQqK<8(U)T7^v1+^W%E{|Esx$YptWMKbnqEX{qC`F#9GtD<>W}TJ~6(&#jZWtzk ztSoLrND5Kj6AVrXT6z`V!%$Rhv&7v;^{HyT0*>z))5uY>O#yU4zkCSjHB{nziU^myA z5f6i3wQy;3QQLs7w$hj7IyVn*U{>fTIB%!G~)H}5p_UH40tbLlrzw4kq zw@Hq3UkfsnuDkcO?LW`^L{NvX-KTgC&8ylG8ror>-XfPOxAGsX8(x7S@J$Xai|+TY zZ_?oK^zes{pSSKP>CI}yVP+t`=c)h)J>MEb=&1UK8pD};KsWO*&79xQ+9w-n$LCHu z89(*s$14IxloeSe?DWmz3)GtGSo8k*AZ3`2&dIq(8ooBT$8cWVB!A+ z;K&-`Ggf>(zJzs;M_B58GptQI>mve>Jft;a!z|x)v#wTUAi_ghW6bukm>^CB{XBCv z5b~gs8M5=?=?Hx&70l3t5OH^IO!$RR0gxM>W;6l@%41FF-M?-*Z2*PIJjh4XaW83JW3d!Ed zFso%;84oU~X1PKe2Vy4dbKU6_8dgTZl8wy&pmADK!@V?vOL*C>rr?0G;gwRLm)B1C z-WIjAjBs-_GYK%*29i9O)e=!kEQBmLjOpp8|Jn`$+2pQrTHK`vixV*#+n{D7OBO zy&o~Ij{rq4@$@cB+6-15F;hW6m9{EFx6V&GV~0c}V$~B|+9O2`r2XG)k3*c;JG@RK z5TV^=CHQjqW-6g%)h3e~h@*dv zB;afY1t*WP)r1ZCQsluD+)J<~*fjB%Vb7t7Q=P`?JDC zk*!XNSP6jgQ77}GOAzeH|y&3n4I50t09R>%(=+dD%+sVE>o^ql}t zohHr<5y2H$AvdT@1XOFd_aY^xUCnW0l5*QGGp6%73atW(mP=9~-$E6I3dWCrV#T;_@a_ z$`x8e`g*0^6u$|2S?!XXkfM1WF&lB9YLbz1WjY$L){0%hVQGz7A`N;`8SbB3`*AiW z+3njtS_X>y?y@$m<*Y13$O4Y}Wr#=d>wBM6y30Rc8FvW;ib5AedtZi82Vg{)bqvI& zXIEADHG_=3vxq(8hj{kOveS;<2`I?MCx`mMG1#_W4hdN? ztu-RJZ?^?|ZfYU8L;i!w?5H+?N4|Bb-{L-kQ(s@D=Ir$R*J!xxm8o-OkLuvY?xvT3 zu&0&h(6;eBlV*p`K(vSUo{djPEV6s%1sdG8ilKkn>=ka;=<2d@jICW*gDP7=Kf;Vi zlJvvk$|;@{u<(cXgaS>!?8+Fc3o~r;e$x_kWUT)kk$4S+uE(f%{RVN6oD@W#%>EfE z`R>Z1KEj~N@>-tQCaWe<=%x4pMJ&n(w64lsix^AKgq(mPog z5k;h=1QJ>q(JsM}$SN;f^$C2@%LlbGlozv0|;HVx3JwDLG z3LmF4)jThSy}%^vY;6TAFN4z*NJmkA?uXw6pP9x+gs#j8)yT>E(Qr|nzf&3v(Rca^ zHA1CUHxocON0&e6{{OepX&CM=>L>+vjL`JxGKo<`twk;1TWarAGi)ONA~UC^@Y*8s z-El6d*1EZY>cI_MYOtdRs0jP~OJjj_U!XJ-2E1Dt!BBw3WR(_A)?UXhZxlZ_f8~!H z@DQ>?IeHpVpQ^fS!F5)0M{HmdfNW*ip+amEcb%W8?Htf`K)4a_7nd(9S{~72|CE2g z&GFFlAl$7dEu(ORsu-ZwvkTTBr_MjW+sUOJE@7~;DkTXsB;t}x{@RvTvA)E(%DJij znQCM4o0Q^zC4&V=>^iCcB50u}yV&SH&77MZNbug=>vS`7|L?ysKWaaQjOUbK5=7Ec z$P-HOOH8_MQ~xjAz(BdH(#|!TR#yC2H;Zht<5n9<%Q<>JT>lUzoSyS22X=S;=}RmdWh7}3T3 zd3Wg0h_o|x#!z$o!~&<*G~U_POa8PMXT5B`{O8u!xR~%Fr#t)JI)- zf5yM%Uqp(h4`6>K&V2~SqEf;GwnKa8{?GE|)f;~&Xw)Q8uJ;vEh^kC;DFj;k1-UJZ z=`dMX2`u4t4iY6Gor3;oXhEJJc6rTTl0V3=L-r0}x-<1IErmd%-~C0nb`ElN1z7tM zs&X7XZE!MSy!Tt*;S}JzkHvhFWO~d87+V3y8C;YIKZHsV%V-H&tn`illD49=V!OA|j_3Pw^B`1;C1KHu9o3yWCzg~z z)`qXu2^`dIZHXm3Z&se*IEUkN((glC9bcFkHmf4XiI-l3M@@Z1N8hTcAE!w46mwg} zFR!2&acDt@IOGYO>x74;B4JgvE6uVYwOMEG-=rib*B5#1p_8WN@8Z(70id^2Xw^Z8 zq}^tfXN!JM&eF4g8i5OK-7)X=Fp{vPxEEa?5rLI?9B8Bk)}CZg!WM6#!kdV0 ztTt8~Eh-U2fUJCW?$2l(V3x)=;kTqLvP(BY+S+LWbn=}?8@K8a0+C?TkLwk{!ex^w zcS6hiOw%{GB`UN5;Y&uv18bx(NN1wT&Ei{26KEsUGYad6 zQdm?IJ2dUroRGTe64jBOcH^*^YgCVh-xPXflFvE#i{U3)7*Pjt2{Xvw1-e30fuiS% zH-}5)nWi9;qTE%yZa8x(9t$L|yBKCcZ$LbZtdH7U)0LXsT)Kk1V<|xQ4(mN z!hkm&Y>oO`m41r90Crvc0_xlBw+0opO zYYj*t6-|@ru_r9Egf@asRMOG@)O|?Pnk=-r@-q~FmnEsu^wVP;ub%S4E0cqqGewYD z0a9*0M2`g+elJi9Ny_*z6(FulJ=n^s5yg8ECyqz4*Lo3TnfKczzXGP(2^Ee{OdVxm zBLuBtao&YM19v9=x7bPPYmPF2A>0y0%p@yV-^Im1dvM_J$={>-W}R!|gAxbGypZ*w zCByPwGq614H@yv9?1GASR+ELt(xA!0Cy-r4$pnlGAO4fWxC@iIPA2$}9tR~?`A`R1 zd#}+od<(k9rNgK!qo{pwVO@L1#E4v z@8_w$y}tw9-$otVE&f&Z{;l)k3~1$G=Sf_r=!20NK)7C+Ty(q*@r(pCsGT?AYB)~r z19v^~XRdo^e=hKvs3W^a@wMQb9x@lcvd9e;{$6=Jo@J4#_-FVK*Ub_!{P3zn<ssY(u0 z_LO2nS-7UFwQp(Imt3=l8hb&TDJ-`@I}GHLGH>-)H}m?SrXzutD@dJA!{K~UC83yE zT4(9V?!IlT&GU1~WWuYE7g1pWG*1q`VkWuneMu+F5IEd}!&VIyVHnfu!0M1lc^K2z zvCQbRB#Co~mf1WP+Bmg9-Cj`Jv8ddvFTyuh2obwruPtjXO!Wq{11V?ciyV>8eX&af zv#Ux@3%!>IaL6MZ=iy^G1^&KM|pyuwACB3O-_Z90+R@*9w3}(v#?@{Il?3NYFmO0fOk8E{p;nB&aAOeFBOdulN`hNq~gOINnavo)N@p|)-gjkC2=)#~T;kCQPL za!I|Es%n)koBwN@P#|HodG8r>s+ESRe$@GsX!>*nb|r3U-u0LIde)GVD#Hq2E_rLL zGhFFf_j#5|=D){J7avom-12zpOfnuJnyP6`ObJ@o6N|3`Bcu~_Z4b3qhaGkwj%IuV z^HmIZgJr~G1LZ!)&VTqf*)8ud4{he{o&*%9QDDG}udYeOW8HnMREPWWlr6X33kM?0 zfU2|m2H>E0rDUBHA}(Bk=v8U#Z$SA>N|EuFB0_s&EOAAG0dNq31 zX*8M^kZMeFjls=0g>T7G7^hDrLKKou=qE?!7G0f@u%Z6uZ}WuR*O zOpG=-{U<2siggluNxzQ6)QA-x1>)yHT_^Z5w0K1b2A;Uc_@-?VcK(s$u8VeY$wF}- zfB@PpfD!^Bk{F286c(I1x8y=ut}itwRJW!Q8c(Q;(Xr1zI8499p@Vla49HqAW<36i zcxDF(xJX1EVvh2(~WF1rZ59m>o7w<+s-h-mwy>%pr-GRhegQ@lw~OgrLZZ7&Kt&DU6K zM#IOM!O;K9It4{12Q3@m84xY;c^oUA_8rv2@y6^UV3XQ9)Wrj=YHPq_%wGkINq{t^P|+#OBsSqid8pI)KOzajew?TTN9bQ+yxoR_3YDA6S`V#4v! zI{UTjjtUrXRGs{_bN_wdQnBIoOZCRUW+Qy8Wv4+qgBf7t**4hp=EOK78qYpPVh_1P zPf*0plCfswENCeKebi-FcX<%?6iacfImlwlQ+Yk|g6eVrO?VbA?c8JrOFs@yYbMEf z(!ACHBbmjzvm^!v>q%S6A0}MR^OGaW4wLI_o4$*aXGa%e>Q1i$90!JT{=nd7Aly^U zPkl-CBHrg=D7t0&2X$oEaDlgMmbHD`%c(5RSbLjQq zUaV@!YwM&f*k0+yrUHWQ2z?=V0^sdo<*tD;c)~)~D7Hzycf3t@Ei@iVs>#Ch4L zx(Qej*(%n~knaFI)md1jl&Xc+q9Zv6%-k`g*mw*F%g6I% z9xPN=JRZ=aW%wW*pO&(9>0khH=ZzWJ5~WInu_A%%XAjegm1GT~?|GDSzv0Oqan+7& zyjbYtFVlCYaEMl@{x5831`5dT8Dfn4_NI@w<{sjpTiZa@%S)rCzU*HXVKVXILm)IR z>007r>|6ng^fnX(($8(DV)w6LRJjnNUyj+)P(j7Qgmn;i{8pKUu($Ik*MK6#4TEGx85`vee z^<{OQ#{-CFs7_!Y$zD46TI1aH!2xq8l3!-S%MrnLD6@?35e`-HqW6wkzWwIk8G>-+ zc$ijkYy~>YP}C|Jrcl9`9q7u#kB)_OrQ`JaPA@zC1bs{j+%c>!8i; zNp}`XKfg4<`6xUjX`4?(O{lu0t;3LMco%caEzf%2GO^gydZCk)KM& zMo5%G5pZq_g*c-qy&*e=@E2f(5iwC@De-W=ft4x&yHG@zZn^KqPYhEKoa;p8w+d`? zxRk0&U@3oPMqQtC~vaeaE zxe>H9Uy8};tD$HETvB$S?I`UPf9tJn_C6T)sj{yZ|3{bg|GvNL<77z?6G8Y#?gl40t-r|Rjqgfcj@1gjA*x)lK^dX03u#xq9ff&oA zpTHVfqx7Jbh-bJvD~yhbwrZY03;AF`hT!1n79Y10_<6hzJU57KXeOn}Bk0vN=}nK4 z_Te5-_KcSh#40WInMz6O9aB58Qd0MZhG4w6D@ zO}38k@*!ky3FapEvW1di<7jwIb>6!!d~8~rI+zq(q}#Zll1r`s*>u?%?^a0g=Z{$s zfr)Q-E>3yk>m4Q>D)~kwyG+u(Ao-wj=V;HPMZu`@tGaF;6Q1vp+nAOw!q%7?=vf4D z*+fVtp+e#-!OUZ0ikzrhO;taGsQp{PFl9dq^0o1k*$;>pVl#!vuR9bPq0F{iUv&34 zl!&u9NtxMw=WikQmq;CCn3V-9;BV8Q>7y5a0~frXZ*Vm5JrL_aREt?jTHWSJSHW1Q zM6NR!xH%DZH6Q#l+E%p@MG57$GNAmT0xMu(F0zi~q1g&SPQjyx4S8EpLpzYmsnTmkIdgQQW z#Lu3FX_)GYIW}Yy^qLqm9v>v5lLNd{$by$sD}PDM`Z9Fpq+`)K3Pqn^(uv@7eUwsT z)X*&>`=z;}pEPhYhDqLK{Lx&du!^`I2eJL&#>sx>skIO5xz&L&?#C~XkWc!GePqQ6 z5guAxb{HWVzzHd}$MeWlgYZ3xzC~(dZ+xz-8u@N!#F|b}KICU{Di8Dz&JKMi%afSC>&h^(R!#ib$S9}GbrH^vC=2yrW)^Ij?TCxt2+d2QxD=9S5) z8UBlT+nDwzGp9pJEeZCTj&@UPy)qcgwbxoGWiYRzor=>2ZoH?|)iN9i*pAEIStFbX;fkG!Y-=2)@j9o(}<$lHzv9gwL9<@W)!Z zaWH69i@=bl%iB^i!=Q)Dmf-BAh6-%nhGe0U)d()ty4qV#cnU)|2toj}PvDSGINja= z3QT2oTN`td3eJt0?NXe;{X<9N;ePbVFhxpXY{t@9jrQ!N<#J(5(0BTzzy7?Dlp*{E zmQ$@+3t$rVvfIp!1eku)vQ021SF&4Gyzt10CZC=M8ri7a5Ang*TBH4*iqBp?Yn!@B zr=>mQKS7He_w&blbrRSg3B-0Md%XL!KwcvJz3dU$9l#=c=YN2$iMR;R+=FBjK#4WZ zKzS{y^xSQDgc4+%{+W|VbkU8s05;hv`-N%+{PdNNH--;S3al}X5aqKETQcSE$-~ra zWREBNO^8*``0jwh2BXJ)XSEHS#THrF5lB zLcR07;_Rn~xVfNxh0GL}y$;)+{r=_h;jZ2bR@D)Izj=KZi$LV1M%sg7Ms4prV3K%h7+kg3|Ob8_grF0<22n;FZ2lqrwXTt#eH&>C6DdkT7n=9DP-zi z4A$J8k{x5r3a+%#?n71l@v1I*;oAYsfEqw)MOjfUl?L-Ei%Gkqwjv90JizIhn|n%! z_uaS#$r1nm$-EoTRNr2n)#OA%V}qm@fyTMDx_K?O$8d}~CTlna4??9XzQl@W^{tTk z?^s~D5(mv;Y<@5>ns6xPewJ3WBKddKB4XQfYveO$Sk&SL8v@Vip&Xvx*p7kw zzI&$BnF!+%^isAZjKPX>1ibCamg+ilR0XA{^bAYUSd+Ej4OzoK_~IfYOoML=nK#vE zgqwp606ssN`VKZ9?qU#okS)9TSOxShlfyg|Zf(LRIRrE@c4(7$b%?tA)&wKv>fBWI z1H^0fuZ8qw5S8z2Qli~43?b9YlDv^tx~>&$gVnx!{>Edw89?uLE5c9IPRmTFQAf%- z7%G19KDE+*AlpSB9r5;BhKQEu)4#FfV-avz*(dGueVI1+*+^e&3zpgVs5!c9U_9wY z#M&}@_T5b5-M{)8!Bklkz4yxf1#9?FPXM_#_%T2o0vuZI0C(Ub=#@%s_u4?6?;tx) z{64YV;`_*Ghp;%C*AU@H4n!L<>R0C;_ZZreK=vi#B74AT$_92Oz!M99Uw zeN!Q+)32dT5kavIy_P=?9WKwhF?b1RiQW#ZO2W=|^27nU;5wuQ9YijRwB%Dm(ZX`QwxWmg*F zXb)8g?I{FUK_^ftBe7foI-uy>+$UrF8FarxwvA%&7!eo26f4w^&NzO3(w&1K2Bv!l zu-gva)pfO6kHa;w5ln@Y&L;%9j(Pu=w&24MnWcqz-rat8&u=>?S#fHsiUVDn#OW=< z;<6(L-P5gs#w!nC$FNdv+nh1Rz46gt^Ln zVK3l9I#!+|tGm?RfkZ4OV)mp+Jz@ahCtf!{;;LGoa=0*!+(qc@VN+b<8S+D47>2a< zFk@{QX+^49N{uD*a-qWd`Ykquyn?bigP_&&7s#B`JDKz~266u9&cIOtg$NS$mqxfr z_iNyd2mG{pB$eFNxeV$2I1a@)Zl);x@riDrc7#nSv^>d--@_>4)1s7|(>>_DvTApZ84kaFY38#G`H0vN$d=LG_2jfu=x)1FYGHQe^b)6r0}DVzIX zD98f98a~hM^{ZgTm1M@mQ=kd!qfuWhI=xPdME@W=SEx4H;m-b))sepl@&5pm+0EDK zTQ(R?vZKJ;2!F;ajng1v?iX zZ)c@}#M(5@JYGlTfbEj$%%*kCa8o3FpgzDd(3X6%rJwxwKRRB8xv%O6m*2$0A1meU zTTPnZ=gpIq3g^S*1+~l{%xGNi5C3!mU@6rwJiLd*2Um`k>Q@(gmcvoY5~9vuo)}6i<1g#Mv{U!p-XdH5V&4(zZf0a0@~i_~%khcFKC_vUeIJtT3|TAkiWL9+w-!J>kUQ2E;Hxlt0j5Qr+9 zz9*KgPB|c;n!*(+o5;_YJ4f&{D$Ys$=IMlV(+_M`h*v?_jwx&QHm*pqLb<Wv80Iw1{7=H({z@t73F)JKsu!u6nstjT%h3ifPLe!9P<^ zU3VX>2=7i1%F`|_)*Pz&&d9?xB-cWVi=>T{2w#tQ}SAgXT1nl+v!HZ!-nN&Ep4tzd9PL~ zx+3`y(lP&a&w}PNE@zyn@4hu>N$| z*Ge9!9m@q{abK8LD%uIy1X|W-nfNeZ*2Tbi_Sz)Qwnsr?>)%PVDvc09C5|n{DGD2F zUQFka-3jYg=h^M#6*4=X`g2gjfNUS~rYXoKemOg~Otz;6zOJlLklKKbq8-swIQ>Q2 z`lz#!QiMnT1BqZ-I=rk6Gg70T$-0UlYDcIj2ZM_B3k>%M={}?eNm-izSWpSqi&im# z!&0OubPY=`)E}AUsbVuIlH)^`J+KS8q#o9`9Z<9wqGBz$>xOc#6k*@5`*?R@E%rbf z-CIbvs>PsZr%|3Zj%}}3sJ6yUKY~%^)8A63cQ>-;SEA?Ce{o~+e<#^3cl`>}_j}z1 zQAC#~yzjp|Vo@^t=MPZslUqN9tzU3yNzZB^XyNYe<~}`o5C7H^Pt)`^07ieG;svLA zz}K~nFc)I_N~=l-;Fos43Rl{skQsc)8A2o<@Wn6S)wBNkX^e_4NHz)7G3Et-01Q1J z%Ij721R^1NDCdwFX1rogy;!L9M6j3ta=rQH~$!1^nJ}vM>jPg zrWmJi!U?})gCmj#C53cP=~yrZtUgE~-o+wPtXD~GQppuxpN=PK?{8`%Y?>Ht27RZ` zWE&IOxw)U>(i!GP7RO?^o1r9>%&BA$k!4Je$*y0+OB54gN7!0vb1g|&@wr7ZvMr+v z0w$w_%^vg=7&&>WwnDIrbg)D>#UVKOI^t<%jjl~KCJEOGr5E|%*%9@*xEQ17!*Bkn z(hAaa%iT7;?I7!~3Q8mT_%NiNEkTWsKP+;g1P9y}x92M|GN0aEyAz2I9wb9a6+R*C=iZ9*AbW+kla<^+Yty;U;3f)0+k1&B zO>DpWCEH#OnE5ZezOFd?e%8_MapYWOmC`c1ap?9cA@I+&vp-J!0^K;{n|^u^b2RvW zc7EWBQlKiuH*y0zh6y#ax&I{>^jqH@Rb7+pHsDtP1m{86;6oH%3IG#u-biA)P_elQ3cjR2fY z$Hrj(B)g;W5VXJqIHBj{a;YC_i7AJ&B7(Q6=QVK5unzR@)qmXHJ#-%T$4EyYzc~#@W)b0Fq&90Bl!_<2cwDqa_&E`XU z3*(aajp)9N%Wwtcr!4c}W~h{G*jky24HH20kmtv7pRkb+&ksr#fAZr<-W~jtsmfUL zV}~JHZ!q+(Q@;&&tOp~|g+VLjYSjdwVQ5_i{Wj^3oDN_HS)-PYKD7&-<)tbUDLUOp zYcU+~MpA0uAra}i@c9gd$#%DUr0l+Gb;|b2v77f)sBC9qTp_&GmWE(Z*p+`54Li=9 zp#UiShqW3L0bF>@Ls-16w-4Db!v!ag&afNZRFfdIg!DzMmC-HVdb8atu_#~TP9EAO zes;U_^I`+GXTRmsjj@ zRO|kv*AHB0bOl?86;z~eX*02G^&xA$r|aHZxhc9x+_x+#RKkl9znm992*px=6VP!4 zy#O^*6Op`_YcfkLSj`-D6^tMXI4=lpBrGoJ5_7Tu4Dojsfi)hBP6$N(;YD!iG4kE# zq$S$V**ySE2$m+pmuu{z_$)HX9W`s51a?9Oqj9IJK5i=!*v@iX8F}+F>cSLts}ycf z{CqxP=Jg*Bpk*=W7?$~17)%I?p_Pzfv+m|QvU0FS6y4m- zK{dg5?rr4F#3Zv)qsl=I2=4$pvgmu^S(rw*L8!Cw8(+~;d7JcnknwZKE|Q$CAC3dt zeOPrp*?v`Y__ls-d$w)D(&{!d$z_||qtk#4LIJQ;@9LtWcyWJl+73jGFL{AJMM
    `0(!_`4fv$Wt{u$6G&}X>&>Rz-u;azY(=M&*%nlm%QKGpdaWR$K6 z>=u;QvXdf+6z@57e9cMkoW970;?BGGBGw8<-1DW-4jn{|2PKBjqxRsXU;5@5L1gMS{yy)+PNGo9F|#P-I#Pn00=*MY zpD{fQFT-=P+$SvfGFy-)1#2g-Cqb0jVSkR?(uk1u0fb0)Ny$1L<_n9PlptL1RBu zgY^J|55YSH}__Zob zXsbIDpfE$6C{;4lZpUx~<7;cvV>0He8`tNsLL^xiqdbV06wdS-f<=zq?<3RxGg)d- z6herPcBi;17|oCrS48C@&(YESJ;?htEcoT2duL|AWc)cryep{>7589S!s!^lWO(d% z@6z}GoMIF)l;DNTEH%4=*@S~Pll;XBiwKJehdl48Ik7$iuF8ziTg>=6F5xIT%&9M< zw7Dk}|B2lB;ulo-QGYXNpb0Tm#N=kwI%Z$TMz^PFbmW6fJcD`JrD~#UQ@{)Ppt$H$ zcPMgF`y6=yJN{+gH7$)dj=<|iFUXa6&^@FFvqT;?+kt=xi&Ak8#YRG=Q1P}Yn~Jc1 zMGq3`2jEhY8WfOLuwXs^E`@~Kd!JPU2BI-PHXXL|zh@}=287!f z;|(;Bf!T_$pp*)g8hTN5un0X3v0u-2yRRQeUF)ANuvPS{TPKQ*dg4SW=yNLXO*4Pt zC#Cogd!I&n!=9o=MT+i-kCF@6V8fntcp`wr7GLed>E-GLRpxW65E)yhYiF`Dsm0m|pLeR}9DE&m&m?P?Ty{A0iwv8YQd)pc9il%PQW@#Y}J5@Hct`smL zm3OSiQ8H~v)xgwh-RBLd;1N+erDw(h7!Eh@atLFpFm1gGLd+;!mf(46Oew8nn4BZ( zNOfK&{W4EOqd~oQ%fY|IPV3`NahI*1t)o7+lL_{Szj}d-rv`TTsF-^Iy(S@|jmHyE zet&ij^^!ubbC$4-8k(YPS+$KFhiY=V*XVpKcx}HlVyvan2(as|dwAn{ffGH0_OTyZL;;@m-8@ z+Yj3ElZcRxt{u?xV{B^Pi0$yH1-1oCETPg`L^o5suwbxc?$+eT;CFi(Nsv{PCv=h- z-`v0N*ky7rOoIXP)vhs#3x+dh^+(V4nO{xE3hPnUi1;%*<3NA+)YLx+15vB&*utau z;OIuaulN3*pH#_d=-7Pr*dib*Pv*taJH3P+Vp}x?8UDbXg{mqs8fg0)ukz`x!BH{t z8h(f-r=e}-_68T@mJ=Z|bR+Tvc(@`8%v0V~1f%G!Pk4?)?~3T;0$K41s8PW&bcIpa zLOJ$W!qfSR2b-yTJI&B9=LlhyY$Begd0GY&XxX8u8VB{ zldB2sE8rIH#xvR7K&AIol=w6`GL!eQYk(D7!;;jym*LHS{6rIqW)JFIkVK)IZ6~2M z?(rCK&1}7m9Q@o|R++%W zx7K?nG6flZ^hSyuuPK|8k_K} z*CfmXbT|JRB~e_D|8hv!DBrh}hDBdk++3DttvK+Iz_i=b3%dz$uYmH`y29yyIWQ55 z=NwJ9Xe9<{xI&TfCRbRbq+-TCEg9KH8O@X__6xMUp|)$noK*J<>A&|PEv^rNTH0+E zUH>Rk{ltjAP3Jt%v5$DDWoLWB8smm!&2E69bj8E(gPiBxw5JqYFEK+;OSY$}@H!nj zulxqG-n(=IrYH;{ps6f?*v2{pbjT?c%p?Dd6m11x9~N}ym=;jg((T)&NzHCU zRRS`y$plRm-aVSU$C2p)BK8GBf`{r}gaq?|K&~rYp`8@JqgZ{Pa-(9W&d`x{Y_NsO z8c|)ykO~{;+dq4r0nzLB-`5~E(Q|z64L;-CpIg3*RWN<1g)3AU;@VpGk;)`aa7f6^ zpo?`y^a0tf(Fkv$FkO8qEMC(W!}y9c2?ETC2{#d=MO}KcFQ5y!jYW#tPA$Cy{CERe z@#Vn9lyvO^>qhQ>D+C#2CiQR1=WBUd!zu}w)Z%uj`yNBjr@Ut6|AI{u+;sc&xuLwT zYO*B4DJ$z|^s)V*vGrJi7}rr`6*zb|G-mX*+pho_d!jGh2DGny*@D8otw9bV7QYPQ;#i45q;v@4n8T$Ulh$ENF{zhK4Uud-WR@~e6_)mrV zN*^ZSmfA-RZFRqzol^+^d*dyRX+G3G{?lk$F2*3Mpw^d}Eze~z=yhs;d-j?^IY;-DXXCxmVg4 z;VkSEiArnH5c|fDa3(qCLA*)a^7@4ki&@j&RM}_%K@t_C%+I9R9rUQQ<~5&~GxVx9 z9_-$vjiLfykO~!bv3tQ<^y&RUHQ2EC0WfW_zM?3meFx}{o=Ay+c^=k(o{)meL988@ z{+*0UoVin+2~%|~rL^|P2(!*d(V-c4mdKoyeymNf<#Ypi3U9`M(#o?5^ zRWaZVfm6_rMZ9&P$0e`koP_pYg5cpQ-xd;q5pwfs6j||qKtBIe0g)L-;SBE^F5`}g ziKCAO+w?8Pl~>ASSb-=LiA!sWPap@iJzn%rL=?gu!RD{v%Ivj<_s?4 zKam|2zYNGZhT6FsS*|kU4CxiE-@<#|lob&UX z|KD?KBlNzegkQIj1G?{^k{~f)Q>S1-nLLKHrmrvb@s>KM#j^czg=Z*-qdgEC3t{KU z2;_&L+5hd#gV;;4@pvXO2AXmVyX;`SaFZAr$dJjf86&r9Q1Hnr<*~5JxK^%mZ_93h zS2^>zS&M@2`oN6IOC!>lL?5?-y$@Ph~>kj?QMG&`S7uJ0+?eKUCoFYLX@zu{!U$0h#{yfa9grWG({G=DX zj=E^6A{VMJ2#bvuXSr*a;jQU1K?%00Fs6yp2|P9aW(v!E)8h6!wuK=7(GSTJSrJ(sQh|Izi@D=T{K4H${;4u^K`0gDa^z=?zjB_8^V555Q`a;0|pB&}j z2}9HiNfp0(I#BE9cb%TM_yo{>@n2|P)g@DerE;%D&>o*WOv=L)$hhD7XuZxfId^7# z9Y-P)tq`L@Pd}@g4-1zD5_!ZewFSB&2;Ln@N@8en>i;Do4w6i7;CD15Z7s z3m|G@Pdb+N#MzB&Df1^kbZq?UqvnY9%N-N}kB{5bns+opIH`p-#i=e3I;M#@238z2 z5u$f#0qiwZ;s79M=s~Txowor0KLEgOsBJ^vO@kw?k@=TK!}1=IQ`HxZ22XmcXs16Q zvQe|2D!7)WM5zG2zuoI48By!TY@Ll@=3KZ;u6_*Oa)@ABK6oIb4RdquX1~9}MhmGnI6mkGN7PHOW%Zdy`r9NQBWe>1-GySRZuE5qaH9qVdapQWW-~=iX)u!YwI)a@EZDmOo=D%JKH% z4bRCR;Vxg&*ozU3k2L%bf$2Sngh3J*9$+i^FvJTd73IIWZHgb6i8(~Vn5+u_qahUO z^3|XA_f_L$;$#gC(SKkyS> zYA16m!uD@w2t%E+=eMUQ!nJKz9k~~8rH0vzQPNI^t)zMaa~v3o>E^7Fa|E2xC%WEa z!hVeWsXl;S8yL$@M5bVjCTpft);(dx7(hgUty)CgMA-?aCuNKh?R(>vWkv%nAWg8&&Nrq{>?)vBKOB(`Q0YHnUdM zp?rM(f41g zzb>T|!6%i5wZD*~K;ZDbG5nbQ53UbfgT@qr@g^+Xy*}|08}o@&m${hz9b1b1|1iZ4?1rNm0nCqoiM<9dE$=p{>rJ zAyKo}H|bq$&@IX~c-mYIjP>rURLh8q81w4oY3T+O_P{j{#{194UAi7E6oXGnu-N3u zXxP1mAWy^Kr2J4+#3{;>6Z*n9!zU*}-YY6UJ#ang1|uGf+4+gy5g@SzPRrhF+4c3L zhzf>OdU!8^;Ln9GGt8ozMc2NhAyQI{{~t$XNaIBCGSJuoa~fK+|CId`{#`fn*Q;x(P)=ZZNZN{Dd$MT31kC` zkk9`>9zb>8C2uf2LyaNWQEh(hCqNXkIt{U6@fPelR0S)8Hr6QfSj)( z0~uMeiK5+NO<-uIOowBkcnVG6TcB261rM@A;z)_d^c4+iBqp=05y;uZyxK}Jj3|?M z&k^9?^li#K;?Kuu!Y>rpE#r1L>u!>cj!0cQyxKbC0C0x1ubWpvj5&ox-tcdA|pbV%Hia*hHgG4QEOR-jxz1FWg4|Hp>9CYJ&k@!XG@zXn1W;CUfl9 zDm400YxF5e|2<#?vfiwscW~fhaeqR9l~lqD`iMK&HJgIXIXA0Pp_YJ@1EaaXpzHKauQqGm@~yt8|PX#m5T*^bxMD1K_?UYVOW?&^9;k*uNI5(+QgLksGzZ)(HI^`~ z@~E(5OAHDQ12KhUB9plq&ojQrpRQ12qA%@V2dwKjxZCNj411s!E6fRJZ(uN3^+qKo zS=|7A8pUQ$p$w=7$RXCGh1sq)^xVkts;ms8nl~Zv+~fx~E}qy))WY94$_&u^AL_FA zRYCiW)b#wi9|yQ~Sg1~G9W9V>5mmD(C4OF{QoYv_r=qrE#C!wZY|$`!Mpg%_+I->S z;#+rMer&~oyp-XftCuvb%xGf@bOLYRu4@sZn+%4b-)q6*A48)vq)pulB$S=>`xq`6 z?UFJu`^pc$Xscx^0~vjn`Ee589HA|zS3GpQe9v=4P$7F9Ydc`>$9cT{dOZikMiqj} zD%H6tbZY%+Eo?-O{-)-{tM&4rI<@gkbCJ5ab%wkTdrRY&H4GAg!|kVl%^4UU1-!39 z-hGnfmY+MNXHH!hvA)9?lPxYc>2aI@+M6+pH((0ip~I9FSeD7@t5$douk2}S<|AwB z8s{~jbijo)H-48Na4mKiB5Vq-nB$cr30sxGIs@3YP_X}^t1lpl402~@4J3mwqc5tT z$#FTC0AnlfjI~sPHm#q#_9k4=X4V6{r*EM8KFVv41z6-Aa z*q1E0YGi%9KaWjXcP1_x_muHYC@2oa#fuNnonmw2**6lFGAZ&e-D(7^z8l)PRjK4| ziV?tK^6RhG`HQnc`Ty7m=-ez0M@jsR^|d0Q!n%_*y^b9E8zC)Edz!B$TH**;wVLY zbKProhp+AW>3VVuu_bi%VGYTCwD<=4hq?>taG2=`aP@WD7a5m*Ngf12`y`JfMS)jP zw9Pobp*w8uLU0WJLPX2Y6>@cm-<3+Y!JP9wAq1T#K&r$%B{zMOvW0}yvOP>QuGW5k z5kfw}f7#4bhzshxz`TO=7}bh|QqM)^1(7@p6*v_n)LfWifqgd(C`*cB(nf<$V-6oW zrrhgjL&mpXCgZ1b;ZW!CsLL?goQ)*M#Hmc;?F`b_aRP=ILc70BMt6Oub@S$Id(c}P(*rA59cwFhm!mea7$x>=H?Dj{*i0uaDvb8 zF}iB&<%4g`Gn;};c3zfOV-MprRYn-#uZShqQdh^H08>_@3llF+2TSzpovAcewn|#d z&tGwg#BkmqONs(OKwQYqMfj&MRSHcnr^9}8E|5h+IwyqbL*R`F_B`^Dl0KTB z2nSm)Xz#hx!Yor--jvxv%f?I|3d|BN`uO4K?u(WO;GD_rB(V- zCEr&RI3;$kFUVK7f93Ax%rLnUi(s6~y5ItO{8okI5K6bBOG*aDBnejUe(3<>y8=u2 z=8Ahm#X(U}N)Pm%;xPY7m^ZNrElSQfyn*Haa<4=cpsSB=R*xu^xx26$&aSqernzMw6h=G&JEVjE)Xy?Svk-_2d%SXV1=Y1t(CU7Ee;|*I}#t| zlzs$F!}_K|#LD#|=_9f&K`D;&;P)wASP;+cecH1U{CY{>m@^$%dgQmOiE0(sE6;oC z30^8E!kjr2bkCnRqZu=zaiJKp2F`D9$xf>BdiV(*K@_(r!V-J!bAB5GW-I2{GP0?zu3Wj7lc( zunLUH$E&vz2{U!kcpU*u({J(n{te5ud-OfUQ%>~6!kjP8!vE;O$_1f`hy=wM+&mqh zQEGfy+eyI6zX`EMmg^^MH~nTGIKn~nr)7Gzib1!Q#4LiDk43q4uRoNY*jToeuT{G< z%%PnHnQk(uTjo{OXEUBq8q00N#=&J-vs4F2Wn~NkJ%>0OiXb+*=-03rD4L*2Pwg>j zF2wj1rX1uYVDgHcTKbcDT?ntab}yOY*A$I#{_RTQRoM~ZFjMbNaVZFSQxf({@FK7# zlgn{x6HTaQULK^rM~JOgEs)UPg@Jm`sf^S-h*0gD$Wir(gZ}$Z+hHo0`O^7PxY$bi zp^6U1H6OyHrq4ds`M4s^zRlq|P5s#!!nn9TwPdMo}vPXw=y{U>9x-jkyU;?`3TW9Kx<}3$Dg?;h+saDaP!N8=P>=4PfqX+Yv|rQ4sfOPD#4scb{IHg zU!Kneul0j(f!_6Bb%YN(BdbHq^R9!A*_FQ?M(Pi;^BwwYXkAPYSz5)|b**i38H!PO zA!*YrWo_9SiRqlj$e>Qlc{9=tlz;^BImqvC?H*6%**Z|xK=f0F+1OCn<3PgV@Pw9E%;a+?oiE?SEy3P{y#!kD;;`O*r zI%qUEM=qRd%%_7>xd><-v31qPMM}Usx4$`>zA{%|26Kf{L6$zKNd|$9X0RwZ6+g|% zzb7APJAxmgS z0VkAFJzL}*gRztQolGw1D5RjMz3rw2g`GCk_g#!lBy&LzkQq*QV@``y;iQOLm?_y$ zkGnZ}IkjPc$bks6_$(?%WWYI2Zs9n!je{^V4dxZO5=Snc&Uz-CZ+Jiy5{~Hf?TErG zHSA<)@1^3*4M7&fAyKXs`LIIcgl#wcitAC$w4(p#kBo-{2r>APuFV+pz$)OH2_&)J zL@cX2d;gxL1P|;8u{UU;M zM>H>s8lQQecU=ieqg@#;uhht>+RdNo(Y4QR%&a5eF`JBI@$aTg)8V75O!9*k-Je=8 z5fkuFB-GWaKoz=ReGzWR=pZ{SShC(N!`d62Rm5~GNDn_?ENpr(>ywptgDCElCV-8t zOaN@igr=UUW4fXJE+~gxg0Dlc1*vGlBhz0x?GDr$eLG&m>+ObjF%lPt&~f($3xOx( z{Vnk}K7r8h5i(!`Hj|)eU^wy2vhtesEfYJ^L$8gZu5NBnsxh*^jHq~n_bvAk1WN1F zj!A(LxKcv^ETUX5Tt2jy=)eTlbna|ocpae>9YRd}JEO^B>y4h6e92heM2t5kvZK)P zE-*@mbVTGZiQ4==#Dt8Y&Y82P<;6MpoK zBv_<_s(#&bv?u~OZWC5CtLOqMQBx$ldD{EL7H;K27zv~!eP1;aQZAsM51$r;DKAf2 zd+$l2ZS19BA3iezLLRophPlS(nIldWw_oVk7(LP>RM^uiB%yoJDf~H@IM*!hhcHz% zUKtrS@lj~_&5!FIHZGP4U@P`qS2tDKRO@LEF=!bc*gXfL2X@$jQkOK@l;Xkw8v&}m z+C2Ck0o(|uBn91tQW!NThWRH0X)QMBV%+H4{Ah1r0@(R6OOKifIueG~(wI|ADFE!* zI%PISSd0d3e6?@XM36bbRRE6xdEQD1MvtIi-<4;ewgm(cdgT|Qk4jz&yp5K){OzT= z7}%}XK?9q*t-7~5m=CvqU%ZatosjY9za6{?3KcFlMh0A)w;XTbJ);wCqF^$FNC~ZC1uj7kWHvpWVcT@5S`yXtL6*2WB%`oN$ z@9k8QyS5kV6=u9aff>>=$&1YXVnS|=A(C&KTytmFo$qXSFiX#NHay+%rReOBe&mBFoCKpBQ*wBalBUErold^&|O8^W?9ZX1$R53hv1u zf9$zp@<=nv|K_ZC!3Y#%!akvRg$WDLd<_-CZZHyS2;dEzsS*=vNZycc4t$2P-&6M> z6nSzxMr{3tVA28 zJ8(ZKPQBvjS5G$ykEHx-8%lMxP!FhI_M)y%ulbzQ98&%3BqCFDZLJC9)ol|M#uLAE z%ll{<%4#A)X1EbJ|67fW66K{Uh^#Z5bXdBS|L>;)>*ScZo%Fe9K78Ll7Sw~(f+sg8 zzq*U>iTN!)zC<)f^C7q}pnA^=w}8D?uM?aHKigajzzMtpXK?Nh!USEY)R*n1^yKiM zEYv$zT$4dOT!Ppi{j$BvY`)8HN4e8?e_*zKm9V3I4H6lSoQA&yTkER*0K(^Nq}y>+ z`t*>Fz6`|cYvWcr6o;-fE{)Mr^=VXSMa#=A&Bk3NVBz?^L}b=_03qs8ZqgNxYiCSW zb@Ul5BTNH~INVgFRgU`FpuADHH$#Nmtz0^g8s=6)yz9`(fbsdwS9uc6i`xPQfel^l ziga#V83oU5rv~^WC-A?rI$k3VTW@p8MS*5LNoSt{Dhb@9`JzAvg4x^eqB+{Tn?vQ@+e(^nwJK=?%j6*0oTc&_R77 z3aVMm3%d~BNOYo8;@yG?$Oj_?ZuPABcy4Me?>V)MG(Xcw zSIOcB?j2Cg?#9Xw8nUQH{pRmm~F&j+I&x=8zQKIalRf$=aDJR;UaDA}~vWptO(&nKrNe z9^5QORAGOwZTB?@z!s{P&uZGk+&KGqGqIhrHZ$o-ZzBjnB?`HNR7Pn3y!6 z+t!;FBTHGhFg_hjYkw%~uxbs@ds6F?RK%>@(J*E;BxUtrEEb=p`M_DmLP7Y-W|fVN z&Wp4iFzXn$W<&X}F;V>V$rat;kONdi%k-@q?0muuOh`T?85WD+X5#I*(ghb|*ksB!(ILV~V?nzI5bDu(mk(T8} zOD@f-;NY@Kp%9rEb(WQ1j#U>^3gTdXyNc{-Rfd{-zUe=D*>8U8R^i?~b&#m^-E~LS zz8WK>sm`;4Al5u0eQ*L|3!l*viRw2f?TCgZOX||qnu^` z*Af#B?{jKC?<^X1AC=R+eBq!(y8hdb=6qaD_GyDCty~#90jU#e#GII;O%D*TxA>;Y z)$o<}qcW*9@v}h82HBId-}Zp5{wZmqMt&pRGdq?+ocOmVV@;W%vP3}BHdf+#60h@K zoT7IX9jiL9pX7wD4tyL+ug@rrjZ%;OQZS>2pgbiu8m$CT~ z$?k$lu>Y0sDAoX+5%_W9^M3%Ut8o2V5X`7KCq>|vnD)yg98%yHmG_`D3MSqJtakL5CTQ4t3*5KAIW4Ip(W$`*?M+rQ%Sq6`AVhcA;w(5q23t21{W%ElQ+ehvrHLcyX^pk(7zPDiKc9{CAT(#5*K2YnMu_ zOVmlt2J9F7WI5XcA({-kix2$lMO#)#a+xrJ0m6wi3khz9MoL!(DlQ!dFU6`oyUAoWu(y_ z;g35QYzjs8;_hc*o7!O`?6an2$j%Xaop=?vbq*7lh^n6c*qJqZcO3LSIX+(2 z0s6zkAuYpekhEKOt`NU&P_x?&ZOV*qJBy1?h_$(sg2v(TC_*Py=IebLJ9Z>iCTkbj zJ_5=|x}a}sBVi`^4r`XlP`lF=$S_e+5E}ccEdZ^4+2f9hX_e`r+4zKdnFy2_E2&A& zwOt_xab9Wd8;I~^?(MisOc8;p^3I z>#{Tcn%hoR5DA7mW2L>-Oo06{=iE>^wf_;n!5r?3OjsGMGihOr%<7~&ot z1mschp`?-CoR`V?44cm3cBMBY*8>g&v;IA^wz9Eji$7HYswW<6@YsU?mq~I<;1Tfe zA(sbuh8+fqdbFOxAicLcZ2udchZElQmx&eu?1vNAB=u$=`36GRBEa$yPySZ>;{nXS zUeIQJbxlI#O<9eLLX`mSwJW=NPlCYrx2N1m@7>e~PANF-@k!xCL;}?8)qTYH*Bnhg~IAI@#-j0V;jFz`OC{F#PeerX9R^C8D$E z0M?k;5b?O;X|5tThFN>~?;4W%vb;0-0KC<>K30p`RK&s52i)g3-URE&w1MEUA++6iB=h#^xI)Z6(0A4K&FpTsXN1`4uG;o^BA z)ma6Fs|}TXI^fu58-ZU7k_9|F4(W8?ac5}Uz~U75zF{)&1r5*yHaYe~Ay>JOX9!eE6kvy+?Np5c)f z5&aMp%b%>h`oiJFaGnvKg=oyo|0-(J_{Qc>>866`Mkqyaa0JwE%zz&qMjFo3v4V5$ ze;bs0&yN<*tosKSRKCn>_dA%&loJboEoTwl7=z!WjDHOr5nD3lt#9-;j=^ z0#*4mwDXMJ;h2Zwm9+R6$z2EiA<#{`eYrV^;fdo_O_tiH%4D`YkKSQp+LR#!=UqJF z367VLjO-a%nk#Eua4K)1Vkmpda;YizXwJzs8Oy^J^M*ECw<`$88jzlGBize0qWNZn z)6gBS{0}Bzk}>Lr^(jCj(IxJ&h)OLVE$aKZ*puwmwcPylg6`cRW?>#~U)y7z)rytr ziZpn7$4OfzzDnmRIbKr$TFo&cyW|Yuaadxdd~_`jfH|{;cPh&<%fn zTwzWYO4!xrkh$G$4K*@G8e>wXXDOcFkYN}}&nPZZAeLo_gQ--d`&$o{VA_WzTL4(< zqWvmb9azraTXLr;=H{Kj2g|OMZ??@!qrTJY@+U0)QXaOa&*1AtcLs zQQ37r75Ox%GK;-XeI|AZFITE3o7*U9&O@I20=qMLc^Sy)zhqo z4v78<0+q--ID)`2fAvx=woV91OE+D>xZp>T7zHaR(0zr=Z1fVtQXvQgDQN;;E*8stJ>5fSFqx*et*QlujH}pI8N}Fb?P=~c)ffN*6tyvtPU)yJQtV5e zTKn#oHY4HSCJF9+e=+F#B3R+!>rkO7tj&;@SGJs-|I1OuH45qY? zUh4hVGjak}FF1|o-r+T-8JdYB5p`zb&)hDV>)o&sy>FjyS@t0mzz)-@MO9L@;}Y!A zIn=I}#?_!_{GAv|j6#p{}s4xv0B@69>w2R5)*YDO=GIN`I}V1_#EF?jtA&E08q|!l704Y?$p4T z*+r5as!XNMg0y=RtYnP#(FpQ_k9d47Y=OrP3mYbghg*G)q}yT;S4AEDl?BImw~nf5sti9u~2D&}mM` zLqLdo9ju(t8L$H|*+Kxc&X2&EJX)l3kXj%)u_NBf7Jsdbuc18UP#m8x%}&2#2Gld- zCL*a(=p2-LV0U*(#l=AcOgIKyoi@D=cMxA?%+2Rt z@&$P#>h*7kz&Y0$dpy@kVycYBz;R}oj`ytQC6b@7n&tD%zwZ^x-tc&x-R`cM;8_#Q zJX`xbm8Z#oY~;4I;7uy<$N_x4UWK6${mFLoKnbV42AtcGQiTYSg#7z>#=+hhR)=~8 zlvXy=tIvkixi>+rQ1siV^m@ogw3tLZ*1l#H)GE;9+eW)Ow=ucdj=jEP7;Sj6jI}cR z!ay2B5++JX#MG6y3~$I&gU7Cu!;tuYQBPIZ`=NuIS9|a6S;YaZCf7tai#z%_uXN-8 z5rPb4+Ay$@ohdo6hcm0Kf7uAPk^y&RtuCk$&>BUKH7v@Bo_%aq za^>kSd7Z2sx_diw40dLyEZOUS?KF6*+COqsz0LJs1@%ua^BFanLOVB*+us2)Hcmn! zxRuIY^PNn*;b~jhia@L91x6kpKTIa6s|M0AS}2A#YBuAAwOydK>WnX1uibU2nS>8C z9y#ODnAYyuL)xr(sv*vPHK2?$ts+!G__3wBf22^!=_qgy znL>r}H!)_+cEdsWi`~aS?)8SGG~2eC-1P#0)6c)Ahv3TRv#ug7R!r`7hUG-jAFwr+ z2Jt<&w`c(q@x~bp#!Qdplz9GlAG$7}M%3~-C@NZ#Qe$V*gog2wxp4O!fqI`!#}_i# z&T)c0iBG^C65gq(Fmmvh%)5ZI1Fl2ez+kW}R~Ibt-kh4gXhw zeF-bI)EwDY)2ojl05pnDF4*DGKYvd&9sySg@00bIVg#u7)7&YtY%1xFG% zk=u1+$hM>pxZv&BR-2f{H9WPX%} zOSUA6ZaVeYTP=6*1I92)Mjj}&zYbzw3w|S{bL%>B-h=|UVFWyCE$yago13YnkTdgrwNi(7`C%57V$w? zT4mB>VQjIwalT#6CZzH>GN>cdl&2yW^wOR33*f6l!!Dg3U{0gasjd|vQ=l1>XG1VO zlkXhwC%jLBbiZRZcR1L@QjalH#DuWjXAb2=Z+!C3MA&O9{ zt;QTTGVG-^!;wt;_D^BNsx1o^Hq#hh{!x2wcR?-s5>V3?J0Lvsc`;HqH$5L3e`_rw zDMv4O`-itDVg6HNI27#k=H@6jI=mULe3D4tQ&wN$L|*(|=Aq!U)1F2LO)b2mhYFK) zED}@u#oQCFc9|VMI(A<7A7vR2E7BpT^`y2fxueA~#?~_#ZeO7QzMcl@0M|*&Ab+oR zs$16%rW7mg-Z=SY& zlRD_eU@{~{A1{~{!I%PsUC6654Av>V(fbEO;He-T-!v;Y`{aow3mebe*+IOuYh&)U z!b=zXl>5IU9I!DLV5hJ;N*K-+CK878!+cNZV;KqZXk@|gg6jRbeHYRWvJy{)SeeF5 zSgKP#x;{`HylYgfwT|F$c7GBp=Mw2)J}G#rkj(*el6K`Nb;xnfnPu-&6ga;sI;Yfh z+#dt}b7zoq zOn)`S5{u9q-PjFdr6$-fzDxlg?_i8B2yRf@9=G`mu zO?_SEbpaDymUh@H_v)md`=^siUu?XhM8t9%2Um$|67vZ%mpzl5{O#ebxp zg&1J&M=~gA%mn(>W<7IEaipf#)=8>|Vvkg;Brst!aqQBgIHn}g05EQkuBok}7b6vj zC7x!PSa44iMA2d#j(TiNM5lJR_g}+CJq#%j3V?DVRcX3{S(jf>tY9tgg6d*{|5A#} zza}fz{c!zQg16=LcPD&yL5dW6J_tUdq%vzS>>Ze1^;k^h_lyOD!w|hBEUXxNss;Z} zN2n`>k}L?K0?=#~>UAaA8XpL~>Ktq_stnQ}Q-;I7ov|IoQf+lxk=27PU4sjHNH^LRVbNvx?a{){oyxCB5nU~M|$>&ZG zdL`K9Bytw$CZw|qc%hHEnVKFID|eCSNzS?Ft?^NmK*8%XZLw3HJ-eJqH<72p zZ0*7X##8wvVn@k80tvHGOdiKaore=k;xR0V%0*$1JQjVzBAoH z52{IyMA{}?n>ZBv z+Y(|$0BGjT-x}~qUZc^Cq_C?)MzhMIUrpx&EWAHQcOu;kWR=TZeOa{ot6V|46zQ&o z&@3hHC1V{RS#G%v0hoYEHHw z!ln5ODx3l6?^o+3x{ImiDB5P(W%P!^aj^)hWvvcKaViRWw$i&nwm)KrpFj@cJ128}g%4YC=bW{tmSEd=XG*}o7u zOmJF1DsT;N)dTnSm&abC#S6Z}$EV*mVYR+G08(}&cPIg3)IZ!f<3q+eaLaBhrxI18Er`t-(tQmmTkowNG^KjG-SM(B%6zUIcn9 zOW!Pl!tOZP$Y4N@4}eM=IjbQ*hY8O#m`wRkP+}n9)_Henv2xK_bXdiL*M%|}^v`_M zs|oac;jX{rv{C_GN1uFRc!**h0Lr+NpK}=x{L7+*PW_!C$Taz;-gOloyiL4bst@t( zWC2RBO~zg%l=O1c*`|mK3~ve|26PwXb*e>u0qBMLs8LD~%~$@j=hdQVP2dq3u+8#b z%3xDLlvV0&cfG>Lf;f=KuayVLf zp`3=_D!dvV^Fv|qv&bB-$8Vms65Ak?ht$-PcG_m+Do8#novx%g$c z;g+kX*GojyCSSDH&Tju1?nk&8J`sFXxdpd-?ns2jAaL;?EX(a;$?M%^p8^^-*5PL% zwl+F|?x<9O*Fbru>vToA3pa^5DE9Ex&+7w1Hx`Vzoe1<5#72`CpR4=JqAe6DgzIdF zSKNO58Xj->eH_PLDlbQwsMg6^7<>BM&^2?~05qz$Vp7FWkP6s~?GUR=P3-}2$n`3) zbDeF!9kiCopX9EXKv7wKNtbEaSxUBD`c26g@+h|Zv8~dndVw@~;@*Un} z;)L0f{e^cD^lDMUSU!M#Ee&RcxuCja4Q?4oe{ad*IitYe9k1-N+TFIXR+)3eeEW|R zvh&|_X-ec#bx=LS;)F&!r>m>~ceM0N(`lDihkr#~0@@%cVXxY7Vx&^V`>dk9VI>oE zSDKMnqYDfu4|FZ^tZUVfuo{n0Vs7Quzb@ z0=r<8wLU^l6!EFk;TE|?9G7jFdV}a>80;GX1=oL%qE0BNyC+a`S=_o=K}zJB$r1Lu z+QAgYmXL; zo@{Cn&t*SKV={uPs`K)RmN5{l!iW0tq&DhT0|P_O?On?{bxdCbs#|?SrT;gB-S)SB z!_QNqHlU(H{vBjKNh|wLgTH^@b)& zvbSXx3f72{k7%yykV1+X?;rUzSUIxhCqT_9Z;_nZBqJ0({-tDjpz){@;^xp9Vt7`; zYT#M+cD~G359!KAJH`!avp&3&=L+s-7ZP!l%iJ0$micY)` zi5k@Zm|dr9Ny_%i@55oS3)gSU)TFskr#T0sv31Pm4VjA+6j8Gy+WAZoh-i_!xp4Sv*x9vMh=z60*L|@{h z29q`tL&1DG#4nYz!_%Ks@zFgGkK;Wq^fBf+V-HPBIBi^U>Z8{KvSnAjdoWrDV z0UtEZgv5X*0PMX-*NK5B!a547grt;Pa4uct^jeV+3o52bjW4jM`8@3FNCLwVDTtx` z)|E-TBVb9_*;Ia8xrsSxa%BbD57K{k-#TMP&g3k~khONa#OxzPkL+zh%TlR=Y{kvH zM`iHq%av{S(9DUHJ$P;bky22QKy_=%Yc&2%NZA=I9!i!$9O&WiLklFk=c`a z17k$4>3A^$D5_)DdF^+tpVP?7rYzx$v-v`ZFMZGFJ`@I$4MynhSpZ@nJIAjhgty=Q z_-RDkcn8<_YqI$_#r z?FMgJ>&(^YE3R2d%qFC+ZK~3)T%B;=#mzIv{k4@*WpiQv=Zzx$9#%dGC&AZKdw(2? zzZ%b3h%C~*RJbGXM(HlOnp)l{HE7!O)5)N@jV@VDFrg6-*j*5rY%vD4HYHAbicmIf zzlq55-P-X?l|8oj{_RYB2TsdSia(S%^YR{LEsX@Y{}b$;I=iIcDZr4%*X(A4dsKNT zi$%R$eV>b9VflcY=ZORz>=%ZnTZEe?b!@i7?ccJeOFdy$UR;tT)k%|9TSaC0O=_2H zfz;<{WCZg=Nqm}+Mhga+dEPUJ;u_gva$-?L_b3Abc8iay?v;18>Wb^zr=-P zOty!XbHX@vGjdDKUUwXer7#mO&$Ah=bAOcU^tnjcD_7f@F7-5rNTzi7Qgh-u6}%z7 zOfr7|3n04(RM^xIvH$O=zyvm)xiCFBR7-3xL}RWDxp3L=Kj$`kNAFzF%_5FS0_TMN zj|B6GP%7|aN6!8sn(-$7&0mv?JUJF}m@)$WDwVC`xwo+~km^B?##iJ+_$kNp5jaN< zeb&zy2vU!0rF2x$MySH7E(+)25-7e{6dC(o_vb0C_N4-&SEzL@U|5KptBfahWoGN~;b8({vp`eqmxn<3Lc^Fu;114nBG<;0tf>X-2@;r#PY2(Ua(q z8crJ`o#Iw3?zY-M3#f|b_wTc+TTjW-Q#AnpKLEfSDUem~oIBff3kUSL*)h8I*4ut! zRkEF*geag2JQ>JE$sXRQ-;x~G7^F~R+&58ZwQ1<^Yd28OU$c-*V#MBn$b=~DFq>m5 z?X2Owy;b+qKdVb~ zmUfTm?cUc-H)?05DBb%@12@5C9u>y#WCRK@IPAd?!H+Fw`C$a}3RfU4_KPq38o}o1 zR>j5J1nk(H6{Qjo|B&hu*zpCw@qu9*W;VVZ3X|9*D{DrUc?tv$&+^hx|4Pn=#5{tR z>OE&6tHmqQ$Sa$MNhL0GC4e!$P^W`b#Rym;BKO?9Hr81*SA(ZPWZKp&RsuFfm{Dlrankb zq#uXpmBw>xg7f57FYiy*;#3}I+=j00u92G9F%O5ga@Ebj`>elv2A%PDV{vN?98=;H zWsftcnYFwVx3<$sKZ}fnqG2R3SE8}S4dI2nm}SxgN9}X9rG%fZS18fU;G~Rdydzb1 zBh9H`WN`li8;UIrXwWx{QX!n5JX!ag(Lr0P!VnTT@%H>x0ankBNiCkJ1qvqBO1QZ6 zJ^RMzbqGSS-of(Vi(X=I`0oX6vME6xwvZOOd&hnY}!VwN4k?d#ivv7^*=eV$q z#^mj1B1$U%WCS0Nh1Ss^7_GqRDy_$n5$XtQQoJsAYnz!FUBMC(S1#eGMd!k`!}_Z0 zI&vt;GV>B!a42gVOkVPP`{IHG1RswXk^mq&Jre_o5E-^fD82978q_V-AR`)$qT?B; z^6D8>8NGW=PM-<^dh>*>%OKl23YE6(P3+~>R!@|s^jQuANp=0Q5B*A2(QZARrVFcX zP2$)I7Ajc(+c<_%PREpB1de7PF+FFZlIh#cK@nU#a@*?e7-X&+LKuyI7?=rHdQ!JA zf8@lu6H5#!nhG;7cqJL2KR%gfO)R`aM4R(KljFGd%+aQ%*kj#>eJSQrf7!^v#8^kS_ z0Xc9^HwF!!BH>)Lk7?JL1&y|CpXfX9LN}+Il_15D*xq%h?#v#&nP5pWPXvHNAFwkA%r@!P=Vnv7Vel6}u)JPRK(;Mjp zVY?*&Z5#N`m03AP^Q!eT6$xDUz)I0`tEsz_u6`$p;DR%Tu#l5(LJ_7$N?y*TpF%w- zvLf1#W=LzlfO#QSAeSuvNMElBHh&{7G>vHst&gq{)+w$q-h8nqb>p#{L23y=4Ln&X z$OgUuF@j;>K+qPKKO<_>k8xOL($7ms2mOAfNoYX~D&JbXD@pvCL(&q5ZhW(!B36(T%7d$gD3RaBb()?>Gt-7b}+lci+m5#CZiVlPb-FiX3>(k_3y4fWY~3n2W! zHP1Wz@gCaQ=JEjt3$%w7b-@9!-)4# zx__|+ZJU??)0H{eePx`m^sodUh{hT2S(}fi86ii)lg#7dQAq2gJIA^fCkZt+2M<4& zaiWj0FQSFrfehd$PA-mIC+Q5ZrCe)2m%PW#luV{TUF3m0(83aU5ia;_6o0OW{ovx{ zy8-ErG^~CvHVPC2kxtNfM6%w+f2F-dnkFQ0I-95Ps$*tK{`^rSiCGSB1a4__*pjk6@=ti)x3sP37Pf6g+NKn z;S|gG!JY`%34kh`b^iupR>`Y@T%fZ@~M+6>dSIe*lY#(#)ClAJg z)*ZKSx0OZS93_)Z`{Xywa>&td^sH+{Q;5SZZe^xpcRI!+4ZX7yHwH-ni{{UQpRSJZc*%7IkXgMfV6#9jj5Bj}LB)z4dqyzc* z>DVC-NL6sBDK=LFiD;yUo*~-NywVLtn#zOVJu=6Io!b{IfRV%>7cX4LxFin1#6eHl zl_3OFzfeT7+o>-_f!+}+LW$ZUPewca{TtJT7VwV(iYHo`Sh&16?^&u2ZBT$M;%gJG z+d5^FcjjQaGNKQD;5a;>SwUI318nW+cjS@p%AzcEMqoIx2Q^TIm5fAM>GSVL3_s!4 zOiRdLOZ~pGq!1a-s6tyDW-)ii$K`oReG04@c8HJ{LI4K7s!mX~Yum!l-0es$ZP;EO zAGNXmC*8>GlDVfX-)i4MkPsV*nO^LyLH!539=Tzq4K|3qyuugRHcIeO;$KDZ*oiq7ELkv@t?bmC!>TU zvnenU;e4l-o6?3g@9d}NynJ(2UEKBoZo&s732IrmX3_FUx7pW`0@5sV={vqlLC750 z|0?axiN%&&^of+1sm*<9fi0p1JDQCC?7~cYf6r5mm7(J?l1@PLtu-<88vfwCORbV& zkKxTpvAAA7B#R)0pDk8H3nA0Tm7AjhC{(PK-dcFQMZ+e;l5B3T?3ndjntpGD=%W`` zKN+dERERhR&_ zAsL}RcNKXfwnGk<~o~n&8br-qN%o{m0;$Lv(BDUwhfTu`P3jQQ3g57&=iq*>4~gkw2lxF zoaHS@uW%rxyLqjjyCP!?0YoUPdbgcF$GDXN@+;wv6{IU@-kHj+JEtdYF9&b>U2Q0< zt(Kb{KMrV9JUpYzhDUI)d{dp?Y#n77k(A% zS9akje_J1`Dma&ZI$lP0FQ7%=StYmt`wlW9yyVfVmz5{8BJ+OkVUKwb>O0sOtBye@ z*YCp+u)XBmUh$u;q88h^RY&**AzhJy?+tP_E=;0fH z7fAg(B&IBO9aj z@pi?L3r4oR0}iXuG8;?B3p=EtlXP6=Wy72D_6#!hEO2YG^axR0D2ASFNets&K#IKj> zK^o1`?>Uu5HZ@orem(P${AaYOhBfqAcg%XmQoqCB_pndTj8q3h4r}swL2trr^eRi# zP^}8pe+mcABZAG1U0JDP!zKuz`^VsEEFV8?a*_IpJ_#-nv`iU&f&N6OT3(ydn}Eb+ zJMdCW&AXPW@yfYr(uO&gm}vV7c>*ywi^>=8Wrkuo#i>N8Fe-laiJ^Io|G+0*awSOLk;mkU^R--y00R&g57cHi)3#RH9cSpukOd+D5g|v z_Ln>ZHOHMxoT2*c0P@o!Bx$Z$Rt*WSRj&a5@8buJRIcdd6AmM~2^?N6+Gh7MtLBGO zYA!)w9})H+J@7>-{*Yz*P7<2pdxuLP=gEQwB5<{%-b)aGbbG$R8icp$zAw0&XMP4Fr5qI( zAML|F6<#s@&`}s~oyx=wk?d%-CP;N)A$9wwS~w4>IwiXc@I6~6<2R2G1-7luXr-qQ zCg6)8_m@~Tb||3*w|u7dXlxpPp_|+!=oUIpiJE}lYh{~EA{03$CfW`<3EI;QAM56!x{#zO+xH2D%dBT(nUL54 z|HP=!1-2xHKozbC8Z#BqfqVH;C)%Q6*VLztLc)EhR7TFNhs|8?VOq0J$Epj1qT#y~ z;SBlgh6Z!fl>cV3_^RI)r10AB;~4S(HbaTS4uVR~~)< z=28(wi~G3lgp7?)LI#52WbDBv6x#9Kv&feQh5P8cDaM_gp4nxApxDRX9!9tJici#k zHh9LI$bf&jSD0yS)Y8y?Ls)KM*;33xWBCxNcX^0IrH=)OMx!joR?bBp{U8lhgh}BS z;Ee0T9OUdPh!+TpcjNwJgOaZ->!`Ctl=B9AGz8JwbU-LgEWjmq#SdX}T<@}ZQEKcO zv9KMtG%K4L6H5az4Q;|1tAU0jOuVd5CEP1~-KW=RQDa66$}D%Vji%hg>HuRerk8zY zLD!)nG!aV84ta5a!6=N=MrHg7cd!3Dx_5@VohRv2Kh(sRq_l#C7$AXYXZm)lJUU1K z1G@_Tn1f|ymHx3_+yzd9x?v{y&yzV4*%U?Fu6n@~^9p7*wQKuCv`RIb)^UHn*BSZY zxi#{71*(w}8i zCdOodMAPNsUCSEs@BRB!G(#A|H8Yk_LtEg2)^{q)e%)9({{IFG|B1-dCqwYI7s2dD zP}N~rV$gr0G;N5-PnIszcsFe+N1wPeQFeOKWhlduxetEvO=x;NHMg$ z>Xg?`xERp~NO@r#og{MN<@mHd<=0sDu4i8*LmopT2#y(lKf^%{+haWQ z=^B?d>?XscAj|4KUZB&I!8N04d|PorqY{q2s8zIK+0N+yColK2ie4&__th^RZIwM1op%v~V9L$R zbOrgfZD(5(;nqEhLf%z+Vi0KmNCkSw5?w~})9Sdfo{NJ}#@8oo1K-ueUHwknu{{?C z^$(rxu<3R`|3U)g;T&A&`D2vN-zjODNnf<8evfRjW4@1*Xc)`mycUhQE5{mV*rb`n zXdeTBa4e4piE7Lb`Yg(CR9HEIM+ktfa~vwI^YRv_MyrClQsSK!K0Uig@r&eTn}B{c zD+q(@Fozk>6PP$#q&5h3!M{l0AymjdGNX+JEJ;)|=Qs5Ef^U8RrXB}#sB+hmp}yj& z*&M<~YEs6ZX!z^@`jo5L7m(cDJ7a^9W3hU>KI+A9nEf>!lC6YF9B~ebK35FwM>J)r zlWFi`3h?QL$)!*>-rlNp$PLXX2`V$|$$F)mWtGZ#Hc5#O%Up4l4HL`-0N^7&0bDJR z96`x%3C*7#=6#elLXpHvJd;w70n6mn6j$ddgOKb+nlwfy?jzNZQx@ABNy0=ys*PoUk#S&CA~*+sUDKgZ6T4qOLIvB67dN#u@r z)5cB7U%2)Ubw>pvF!vJV+JZ?@ifbT8A7mVEu>#FDt=ICC9$hv5c;O%x_#TQE1g0!_ zyNpgRJ8gJaV4wM0gI zhmUDexxE5{6kP!DLXNvSRx1*k_9K}Rc9USR8x`Zq2qkT}{z8}~)Ux?k`FKm|BEFAP#Nr>G36z;}ibiSD!`TrgJa zYQ)Ai4TrZK&PZC2j2(yj=Sr{m(b)AFbDE=IwM|oUX1x5ZV_^p-_lkZ^PYxJC^8}}# z6?=Uvx6l&~(87_I^##0bf2Rt48>ihj?(}gyg0T6z^szQ&fjUQ}43Qp(Lxk>O{rCVm zkh=HpP4s2%NG;bEl;T3VFzGm8pfQm4t^_*kDL_-sg$Nm)!q}20I!<^3j@xNdkaG(% zux3yHjLy`&$g|kI=5k2%T>v_)s#N*dn0&FO3F4-jrY5x9Z=srUDx}#X^Q_ zSs*zKS-lMka;I^WuhIIxyX(vSwyX6Lh&HVYgoj@)(VonfjzP$XTBJ#fRvI>&igavB zE1y7MPj^$3&!Xqz*pM~k{s_<#Vugy|Ba#t)SCBB;fhx0hGq5Kb*W3B&Xsl@n!e9_J zV>+R9d-`3!!11*|Y0>OWRWHskh}SA?ZR}4*$k+aCywF=Z#3q*IKQE#&-%j}Iq3pqT ztX?#|*@Yoo;s|5cY*%{6=maqAN{hN`_9*5`XlTDUMcQjb&=gZ=NW*h|H2EhJal0&q z%bK$497BRu{qKR<9JSjBdjLWGcFzCxG9Q(2M~!f zBITmD$E{&)_txJBY433tD!#Sx0F2sZ|3puX+pY%*IF2{xWLL(6MIWM>e~vCjL@VL2 zITnyIuiol^JgbfV_TpiC)Q*x+#on?FI>G*a%(XUc^vr-|MCHfsHw^usf5S!=Cp|F@bnx1Ag@)~2d=kRIIVOo$_dP@ z|2z1O_ta#0B>#mWM^5r8*3H@4tFIZdqv^7PRtiT^9PK^XxGg}_0TZ=J*1H`{3#0ce zAO`ecJc`KzCVc&WG59}WH4DmJ(C1%;YA_4k^x`{r7YNB9eti{;%N<->Adeoyxe6@| zr*Bh_3iMItT64#m2?{V!wf|a?49+!yS;P)|_Ne(qj3nMl7&>x|KKBBuY&921mm$iy z!8pN)uc|vhgn6C7V1T7NJ+zR1|A`>yJYKk{YML;SyBPv^PwA91=(8O`ELPD3O}~P6 z6MZ5tBS?xdP5~mb;hHiHi+b_~g_;Ga=Lxz&Qxw@_1xJB%RU@^dJJQL zL#1_YK^|}{eqj+K;-TGk96f>gp#^C^OKul?yYrKg3lx9s`NM#_5;EdQsulf`rpzog zIB<=L*luUa!BowGor(N*2(Z8PaR3JY3g-MvIX2kTfzm_$V>L26g;Hfn3}ta(UzQ}! z^9jA<`bj$5Tci4YR(v2Gx%iJe$55f_=>DdlJO9a4K)nfDmJK4v*MlTC-PrWj@GR@I zh=m5VBR(XmoyxBcaH}`#3}5wixbh>+4fLDZweAwxIrlj^r{Sp-hOQwV=4yXD1l~~y zkl#_Tei^TR4X7YG0E(bez#z4iAxMBK?SL_ClmXF3KFd1$WYBv;RUlHZw!g0`((hsH z6%lj@z~p$WghfW8m>*R&&v7w_OeSuRLb=YoD)P04QLi@0J_A?Wfy$;p zXHgRb(AG^brfa~w1{LFsfcCatz@4R}bAALKuH5Wcae2qKImqm;!97fTu}4zEPac?< zl!9R4#+$DFOCnaUcN5y`#5_fia zbnUj?kX6}F3zb&y?55|Lk%9)}%mgl&*@C|kPPz_IaUNo`=uV3iy^jV{)gX}|VQF;a znKB(dUK9sdu)?~kLTY6BaO9efHuyHJMw;_#8tbI?X6rysS{DBiKQ!^xpUFV9xgR~q zsDvKbH{j~#lG)LY9v;akC%Q?XB+tm4i)Yt#@H!V|FFLkmmPAj8Zw|j>iwq-dY@pe{ zHRR1Vo=F_&QKQR~!-X&Uwa9wBn_Pa%fiq%^03h|^k@^uhz!W50F^H= z${qu5<6A}^S!@DVs3tb*AnXhxooLX7KD11H%;B+O^nE#twxNCW_xs|Uz1N_b)yW=! zpn5ZE83^%FxLk7n8X;YqG+Iy<3ItOgO@@D6pKac+qTjV6Ho}hi1C?Kn0#Bo%MPZ6g zd{*>L(OhL*f?-8h(&bXop%ESFFb4^ABAeM-O$XJs2hb6zMn)o!?no7D3`RK(`$5-i zy-wY{+UJhr1G|dW@}Nx|_-2y9LbL)#NHa?YG}|my3A+0+MM%YmA2yvi=ZEQf0NnWr zp=nAVLHIg43bnDBSGro6W^eXwq{(ZX7W2Nc;#PT4sN1CIz3KxNOR>5RA+3GsfQx@@ zQY*mx=7-=>JGnM8tnLcRf+WGWVO5#eUaC?C#yM?`G**O9XG?V|C>Ezn@BU)ul=LPC ze;?8aFo~)Bgv(G_?lBU;|LebbkGCFyCZyP^MQ%C~IeC*T&7@%(Cg(Z4)`mujtq4`) z9xG+u@#0LSHvyo&%UQhrld)a`t4-zk-O#dy5r|ovp~GN^UHV9wbyO@37wT(#wzOAF zZlwyA)V1@Rp17c+LRYCA^TWx)_gy%a{!1E!v}~G$jI9Osw?F}z-01;v1LMs7p|lM6 z3MU10i;mVC>)I>Dl5Cu=ISuGGbf`U(O1a-VTT1qL?qt^b3MfDx^Wl*7IrG0-U%qkqsC@^U=Hlgfqa5#OFciQd_hL`k=rYLSaYy}(H z-3iM`6->#w>oHlx>15X+dMl^>1VJszl3T{agM%&xibq?32d!i;{aM$`vSlgE=bohJZLgzPkpFOJHT6HxAu@JAdl%R(t?}0Z~QQqsJ+2S2}F)!h9nX$`>VQ$mZ5ALlAT3I3|_$q@SyZZJ2 z^BD_VdYT>mgDCS1KK>iTO)i$+7opa2d1M5aeG0P|C8hs9{*_zxuZpAbbKx;j+D#{6 z48|!&b}Hf44`PTho+Yg^v?RhE(POD|&EUJxVq4peq3x^$9r?rOF90m@$RSuT*RQ7N zj0AEQ;{yf$pPuYkn4stlQ}c|v@x6DVTuq^Shvx92T{CaQ>sv=Db>-K4|w- z-_Z+VrI&JM225-U)sE$O7IH}zuA4HF9cl((`+#;Aw#%;eqQL?UDO(R74qQ_47HTI? zL>;#hz!2(#$-Y>u~@?)YqO>0#2S2|J?vpoi(c$|IB|08CV^%sMZU9XtyuXEb?P) zbpMrz%gq&&8P@bG$hJ>u@MX}|9JO{E_!5n4wXoXNo~KROxcaV#Sp;Gh@%f=Z5E$)g z(VR39QV%K|I;9W`J?ae{&h6)1HF^^Mk){kE+H2?^_hJ%>^(m?NZ!S%Nu66jS!>CD1 zWsk+MVWxK_$iYUr7k!`d6}ZIte?0!9Zi!EV(*7NaMZHc7BD$5)T@^)c`zax= zcg4#Eae77U1rwbda0s+e^xKO_1E*bx1cp#9&*GAtU6n{aq6uI3i?~A3b%IO%ae#1x1s+Pid%GlA5gd^c=JEq8l4i_tTj9BZY=J? zNVm-l3pn=x5axv=Jnu9d@MK6z;WOE#6_=YG8O>Uzi05XJMUP(}FyPOkK|TnTMQeLU z;T*d1yR`M!NfIqLc>4rd|7pB>w4%x-d-Ld@k_y8ARyk9OM8BliK?Cgx(Fke>qzA?U z+6bV%hKcslnay$?KTiy?5o0{;#rbkd4A7&caK;?!VdrmdlSe_iuVt06E z;-imt2S+De`rV}=DLDz9qnVP{CFX|)Ppo)Jydm^h-^-;!5Ob7%RLOPF7ecfK4{-Yh$X8P_ znf>Vf^UyO(z`T(B?yXe^86CvytOz@2>L!^u$epiw$pqTh0hs~Neu_#&!Vei-`;Ap_ z#{mi;bi0p!vz5qq25N*x07=Tq!j10OdPZ_sVWHzR*j5*>f>_wuvSkA%zslp)@sJdg zkfjAt3)*cWdzGe=*NvbRwqY9_Y>3!*4suX6f0P#Ta{;tP5bM^a#{S)U5#&CzbR4$b z%P0*j97rwWTHOKlmXd2Ux(|J#eZ}-5SCQAAOakUP_9a1pSK!UE5~nT2C^f$^c!NC7 zx<1^Vp`vszYx+d-sQ6>LT_ar$R|{deco(=IA1=KwlKwQ6Qg7J|%hdtV>Q;dhWG3%p zJF0r50~+Oiq>R7;$q6NHsi*NzmCiQ*%cl?6f98PoqZSO^_%i~Aaq1dWB-jX0y6=U~ z8ANP%gr+zcO*-31&ONi}HrGCBoY!h&aj?K22TecV&ZqB0J~!&a!cy@d7)$yD9%|*Oe+P zZJFc zDM5{!E-qfTO-d7iH_m#^9YK5c;?xkq^9Q3AuN0!** zt%}uZ#^H56p~?p|u7O7ZAM>M3o>E#FEotjy1v|i6+2s2FuqDj!D|d}``$tTzR%*Ab z=C)vaY7~t3_LSx?NxM6OT)#&qY1!i~QU6!^!j_?R(gEQG*wh;eJ0-_RT$jJi6JasV zqRqe5600jiO1jrq1x^=30Tf@=N!Tru4^ismmO!WHb65FxG7O93bb) zU>?`21);8HY9#)TRJzwEsSTy^%3CczUsrqnzUeCS%{2rtVUCE_HEiR@;N!E~BFCa# z)dQsV5q(^CT;_IcfR4kjC=fBqIM>1gfZf1SGvWXXXWK8^L){_`M&I8lQz zTap*(#_H(65B*PGsSwUOp)}&qBi#td!}gqA1MWlyncUBCRE>t}I>!7Fs|-aU^t9L;{#n4N=1E6k>b zT^Xa&FTduniBAU2U#IX|D)ZTqNA!U#F|Hs*&4*|Qfz4211N~|bL5C1UOc&&n=V^d2 zXTv|*Qh~3l9BB&}ZT^-JB9x6rLWrt)%jxlRJm+lLC+BUYe;ot*#KgIm0TT#wRkYGl zL*|~tU#a&Y7ug=yqyFRnZUicOro0V7}-iGQUbU-wC4m2qwb=imE<5w_pf9mR!`KL8)p0gU4>`Qcw|`rfJZ=-%V(}tlM^++KCKbk;Kc(cYRFsdla%RmCwB;|1rAqiqkJk zhPYCOZ8##W&jy%D?@A74eB*Z(pJBNggfi*y*vButH*c7jxk#9l7>%vZjK!>dt7*`> z1E(-aWQpYHMZ49o%_22D7>NO|FDt?T+L`9!^pzWQ(}@B@0nY44_6mj+)I0&TcIDUS z9l}Q2DB|qNSfhE@6shQ=_XgzgX*@Iur%3^h;EA&P%+KZccOI|#k{2O_0zWjj2Rww? z$v^j^df3`$E}GJ8u;>v3Np2thbv;LiiZXYVMwI08?P^>cxx;{ejG?w=f<~pFv+uJ^ z_i%P8&!zrb(%29K_n{MAN8_J_@Vv#*Nf^RqVk&Ura?0kJ7?+ieQ}!RJ_3Y&cymGeO z4@a4kt#S8tI%gJn`N7poAK(;r;wVE2p0IifrC&G26US3E)ApF0W z?u}30!;~b8-MDaH!2CRlDb(r`Xc5dg(*kf$sp_ToNYO%4L7vLau8Q%ubm_sh-Eo1e zAN628VQ82nCR|}f?LFcZ?+>bS-)igMqonw2sgvQV5}z2(c9D=)@$I*c2_sn?IP-g= z@*ha7zn~aWObCJA&WkwN`4-%>7PwjjQ`YdE5{Hik)9ZH%wCe7@&wo3;IO=%vS(+P9GY156C{D(&p9HG_2#1?(K`?~2y9C;d_NaC6%ARx ziYIu`nZcb+r3&cd5)O8Rz4-AhLL)L{#QoE2B*R%>_I=G?9L$CY&#^+Hy1o!Io|G0#B; zR65@ZC-AvyQ&&kC#Zm?IVb+oCD^DYY-G;*j4|Vax0Fm6C7Dz#U)TP+Mu%b3_K^4_B z<)IfP1>pNnS?3`vL`-uC4ILTc9!|f!8S9Yh>9XUiST=f;zmh6Rm#D-30NbB>w=p+l z3wQz?Dq5x6e{2(m?MUcv$DWAm>nUgZZaidYCYrI8H0`a^?7ug+)JxZkJ528&uDddmv2* zmqW|hs*4F&Ya#s|If&zCP@uGb=YBL9{Txr9B`PUj-TR$uy4g( zpJ}dnSZ~$|w`Kb`#sD}e$o-_mjAMj-zzLX(-jXsXb$`2jHw%>8{h}c1&!-YAvc02Y znn!Z4%6LcAc7*|C9FU-m zc_z%Rfrk%|(NQGj5QMI?V2sGIZL0Vp1?MG&*Km>S)ri=6>W!uR~(F5b4A)OGrv-CskrIXK=x9nY*;Y@U<9{v--G*U$ixPjvMtV(H}zW-m||3vncqNQ|n zZ4qBMnMFTct{&3eQZyfo22+FI2d_>tvpM{%!F=r$7c*A|gItU-qY`A}*|wLdbiOF-OO>h*?p->f@SHR&#nA8M_y!{8@799jdzxYG!d zG$*LbYzWleot`N8vzTzv^5|`09tt#9iRXMj)=fxD44iCa^bUuQb=SA=`kY#^ZJk#;UB=%!~=et0T9ED{vjal&+jT==2IFkZP-~^U^gbcS+e*e409VQ zw5td{$^o80y;kL43LHt^4~i*VRn|M>O_=Fn=EaH5ri~NGr&8H zc1Cw0opa1O%*++r^drr@O29lRH_hZR8Jj+PfFtR6Ck=_FSwKBO6|G1zZ8I> zRdOC5c2IRabfJ3I{WCQstLf)>i*j*533n^BT<)-F@MJ4r98H|JC^HN{Ug+ad#5!eN6vtM%^}C z=f|F6JhD;ZQdtG%Vv*F(8L4)DvyoNNd>*|*Id1aF%}=kB+N2u#09~;XrThQJ*e$mi z__zAtT7O6v3vi`sT69T3;>Iti9G&mn8jXpNSI}D zDRViLLz4d&b)h{(+r{0V*iiOE`5>Gqa97Otn+PkRgrK3>zj<%~3&{1HQ)X5Ueo1s@ ziB6+CV<8GqG|{>vUszi+GOdo(_Dgf{jn^h))*`$_GpncVK&1DC(iGB!`++dg48O-% z8B}mb!LoMcUy|f?UrF`_!~E4I`v)s*3N4(QN|6w8?Xfz<=WJ{2`80{ z6VejoBiy~EuO$%DeqIq}rf?|+B9Vk1aiQpC>mK`uy$k5OU)AxY|Jb1b+F_AqNWkk! zCwMMJIQrh$Zga@I#U;pieLwsLLe@i>MT5`*x1J59U-hi04G%CvQ*(~lO4t3E3=M^d zgO|ICO!#cEVF$O&0IR#!^e(0(k}(kXK)fhIJL=KZBxotM*040@vN827k3nRWmnHzP zS_Eu#RKGlcv$d5qz%+T=r*hJP@BoHn56K+dF>jnj`>}h?_tJ z&%m@Wx+Hn&sb8cyC1BLVmEBu|L&L?sSk9S6wp-sZ*p6K$udglt{FhB_Y6*p1Bo*#? zKXm!2-FSoFXDt)tGND*YBn=LLug|or$V4Xk!6lhB()+lOWn890bjz&HB@oV=&7o+p zoj@yu**h?u&RV;E;8!hsRU?vimnYUw-Z2tu^e;5UnU8=M=TNwDQC#S}8jfUC^}hkF zs0azMnHcnolU`kYnmQf@EDs%Q#{VE%pR$d49|CMrdn3cV8(La9`X<-!nD(pN6Kk`= zd?QJ3boxd`uz)mtU79<`sRz$y3d%?pCxy2|`a+z2Ajg+y>0 zQ{2pn6F-u-OSiZi*vKw~x!!R+C8d3`bIYI{QRr9wPF|(UK{|+fv_``Y!Q!dtq7C{s zP7vM1`5!&W6>Jo?xFhG-RPT!X9eWr%u%?vRu}wadMBOk!;m2ulP1u0pH(? zdJTd1!;u1bN*;)TSnXn!;tvmU{dTk=f+3yAb)45Ygf^3kOP%K z61)1Zu!rQX+WF|+YQcANFp)RZJ&ez8cfrBiu*uzfm{R|GmX)QbQWo77P>GXxCQZT} zFoO^N{A5&u!@uNWPyv3zkuTXCCY!PFH6XpX%1`^nYRZ|SZi zbApD61D>*h=^UrGgdG?xIu{Z6@pBKn=YyAQYQk#_;sDEriJ{&w5EzU==lMFbk+MrW zOe4;K_fyZ5(wk+W)s9KgAs6;YsQvM26|~e#O|kzn)k8yK0M7i#-6Nc!O{;d!wxOpPQ$1Q2{`V9u_7c=j5$v;LEUMgFbuXBW* zw;dQw1%_ii%`N}AHXkr)5&|5#9i>b-hx@4l-S3=GOCuGeg4je@(PYI}iIxVm%U=L< z0Q*mG&Ec00{)UkblA8Flmw6jK2gvWW9Vc&^%)usoopqG>Kf+>r{G5cYJn4uoEe(lh zKKJY88H20`UwrSv&@Qs8ImV=c3p~04MXvj z2*>Ct!6u`u3LzmzITT+lY_47?kYobU67oAAkkjPfMujRS?|?NVHiYK~&od|kS!~g$ z$BJ=F!;)jYa`p)2RLym<1i>8TE~vuu2KH_Lqi&3K@594rzuGowh_^I2h;x|S-Pn!8 zf^v%zegyN>VM@6TMyykGfycA^vqTO1Vb#f#Opehf<&nw!rs;jqJOKd$-L^5i{Y--> zklhrs724D@E)&nu<@m&ux;Re&@xma{Eg(9x0igqorO39)H-FBO0H}UUR?*K8;N~S1 zWAn0k9ZkNBe#Q`=P^Fuq0pod>qC>>EKoz_UVmx+EzLI&iy^yAIH5n~V_$t0!MQc5y z_39gOH)^*W=;BpYLDPMQ`Z0ncFaU++{lkh->;p>*oZJBaKLEg^^?dfVXI>8ki?|v} zYiXFU7KmSJ!U#H9Bmg$C%Es znjj`}W?Z!otchWG-Y7p0BpsWwTws_$aR-p2aL~fu3YV--A37mcW)eNT!(si~Z#T$w zi3ukc-IPZc#k#3s185mfrhV4E499|Zu-!makr?^-XjQ__J+d#V{M?9Wbo%rxRg!GJ{OaxmN@AI1?y+ z%>o)G_y^0;i8F`1g@VEohx2EMArYHrsmf*qQ{!9b^SOuI>>9t{kp!w}KkDM&(cEc0 z%n$x$(&ryfCDSP1v*Ix<)m2PI!8R=oXzuo5R}X&H5nLmd(5g`vLCx}^MXrKf?k~|B zPHA5=P?0*^Al}2zG$>nFZ+Z#BYWb>@+#BROO~z&zN=)eGe_<@YkJt93OhE;BU51+1}43)n!Z@g}K|T~oFg95d)TOsGGVAVnb0!?6f?Qm^TE0g6eA z4Zm0HWuRROwlw|PY6`{)Y_B8c`Pi}=N|0MwqwjU z(};mwhjowpYgayIKM--Cp!S_GN9v{k|n!S=g3uIQE$-)7ULwGl72no)^V5D}h zFxo|rQA_(SM#MLVa#IL+`r!$n1Pd=prHy=G+=PbXE#+>dKew%TA6*?v)Me0i8{J#TRN72jiSA9xwlA^*)mI7#5z zj_`dl*0H6*rWcBQqY_U5@hWDNv@X&ZdZ=!1rfjep=3BOF=yR(6j$qefGE!totu0H{0!&6^Z9Cj)QGpbs;>JzCT;y)ydJJ`gf|3Qm%>}n$geyck(VfF}U2T||u zJ-D5r2jF8SnERu6Dfg%$To;#d8u7<7#0{#!GyvNEILjQsboBNq^`}X##ccU$N`#i5xD~wiN&GP+= zoWJZR=RFq{hywvDGd<#`hpk+(UTwa~wTq$^6T{>#+tBXW~M-Gp$pbG$}Dr<*&N)VY_%Q|d`Zeo{b*>lJ{ zV)FrqvVJ*oa%ZWBIdm1m!U&9M*XnjkUOvH635L-H6o-yWW)t*QZ(Tz3%Y-1g-+v=9 z%yYS@d7<>TLc#kfUvzeYE%;V?fJj|GDr_LK-_Nkgdvy9cum8|y+8@)mZ*4})Opiq;Rp%FShiy~W zoRYD!x-zw_DT3e;daQ1B3{4CU+9uW$Z=FqKkjv;G`2JFB!LT9BuSY@ldtb>i&>rs& zWjY32Fxb=V5}AxbTf!NZp!|a93HwiQJHe>{f-uYloVB<~7vrt>f}tG2*N###7xiP= ztjWyNx%^$D>^1;~=TBVK(Q*+)10CCEZx|W=iw4ah#x#Q#>r!~2e$&*~#`iD){$IXI z+s|v~c-q^4V=5sW^YtOOF?2WG04iL!aM1|Chu;88J>*JgF*WrsHpu|XYXHQYrt)0q zLJSBNm1!i>B30{7UgvbqYCxn?JpIq|Cmc(&oQD3*Xa~LR7 zneN~?t>0TVj5`O=u5^LDiuJDU*wa+oq^+norg0~1<*`5Su_cL0cDNDh-b`ms-ikh2?qRZ9)kP`?%j|yY-ek?t%{308#W}?+h3baBV43 z;iX>0vl&8M2yE|(t({-<-)E~t?~RKrq$&f?gB`{-s~76r#T)Kr0b9dWDXlRQiraek zBc+{{XfF{Zfc^^AD^+={Fl$9Snq)GZ5mSAQE60p`Zod6vHn9I!W;Z?!FL74TA}#<^ zE#$Nm@?4(se5o1-sDlj5o1T1WDw(v`W>tDrVs-b^L$ZlGLpog_8#A2mY)0ren(}MS z^5@M3A_iVt{h0~u|6IjXC7Ej zfnoVGPl5!IFfntcvKogKZZmrm-q$6uCFB?ZaK*i%+PZNxmQ}Bm19|8SOb{O2*J#mP z|2c@6B!ez=5i<;FMJ$6Fshb}AsBp#uVv{|{C`pCYL`UgfNq9>T*Qpfoog0+!t4o#& z8k>2JwAu1%nR13%U&caT0T{J4R4J{MsguSb*6KnRX68fviWH~LnxX$4IVj!bk!-J* z79eq%OnFq)=VSf={v-&ze>#5} zBin!j*%Da804fH{TOIeiI-Kb97Dg5vxfFNZLnwR@0`#w`sV~@U-oV!Mf5~5HxhRK8 z${XtWiuR8n0-FsJxE5;elw6AxF3v;5LOpSX@FX0C-%|LaK)d>pLYS5f88v~wntn*) zgD>hMlm8T@A~5@--Uk0WO)dTL(uboQXXp;pMW0mlg}PPn-ZV&oNAw~@J~TY*&TD?d zC5SqlzL*F9Z}e4)(soiE2Q6DA(3Ecnl~YX*y@H8O_r8bmq_%g?7>!n>24D|QJ1MQ|3AoFwesyV<^bZ-Ho5gy2XoYU)6d3B$h73hTc)Y#x`-2Qk(8GhK;)b~_yD8=C4TNJL3-UF8QAQKeq-a`g=9R5MN{4yd5Q z_Zf`2Sv3!^L(@zFO24=^fsHp|PYa22epQ0a@b8^tq&Z;mANsF=9%C`p1&ky|p)uhM z6c}qBzJ8%dXpVsZ;0oa;KXIbBc2ADwA)H_L%o$Z_6X5DpjL%)ak>}7I_j58&1Oad- zMX!3~geyO~-T~oe5>Y=1cc5mSbAEaA3WM;Xlqm6{CeNNe#fKFLW1C1}vo;;l`xUM( zc_dvaGmn&XMh^oNYs&4+Z!_YGBv%$BruunH8-{(+r8$Jnr_-(7G{aE$8q?lS6OyfS zCZ!wZjMR!Q+@Roy4Yn*kIvm63=}9q$v0twi(^%QTT9}7xuL}107dva{o6FdXk(~<# zGCl_Bxa5LflK}YbQ2!tL^_Qy~N63!50@aiUXbG%Ryl3iljVQqZTSd6^y;u$xEXmqH zJ+48|_$L2!-nI~hwav|$woGZtXgGfr!rUB~IHDnIB1X--WDQK#IZhknnv#h})1<=( zJ9uR#mk)LUU`#5%TeS-u{QhQ6(e0?;(aHtRit6NI`(79mOK23iU4qYWKQ={8k>9*f zm?H3ppg8MrieT{nF1BVbB2#4R1|h}8hv0Vjm&0ZKa5-O-G`dcnXJ|~Km@W<3Z3g6i z6AtmCrpY^W+~+WBZ}_lK?OXm%wIvhmiY2fcoI&1}3CK!SDA9rgI`CV| z4x=~(8P>DrYfVYykR^yx!lXMU0@a3eq#RjCrj)GZm)vEsJfeO@P-N@FLha7L+yF!H zj%$6DA*6&kp{2h_N(MijpMxVm*E^Hh8YXOK@6gz5)ThMK;;5^(RjCloUYMIegQAJc zmg-9egYwff*jw+@2FBU3s};i-NEi(HBIC#c9A=3qS*f=5idx z9Q&Iw2(-DpF=URE`m(y6FWtc>6SdO$7eTe1cbF9A)UdGJ*3No(K5+2tg^7RO1NiNu z??Ua;zihSd5~eK*q!tZ zC^WhdKrB(j;ciGyXGNREpTAMlTGpx3^JVpi+%fOE<>S4)mo>#?~lOS~3hFwusg+X$xmlxPzB2 zJyY5?za?LZ=FmcK0`2Sns7p2=!^=HNCn6>E2?2D!JV=i$wGD*HSmBA%JmZe1Z(=S3 zeh8N_Y$0sB@zo-1%rJ%FnXx%g#|+Jo4Mrrt9o||KF2AXyIHSI2Q!L-T<&}w)jp9aS z;d@?Oi4#wWc_rVQggIu}DQdt*PKN<0jrgxLKq`HmS85CQwH^!BKJ1P1lN~c~_ z(J6r84>g_Mra3yHgck_JwoMl7h6VLTxmMOOXd(xO3l_E6%E%L~Yo|6rl!rp!q7)cd zBs_01!7)+AMaK&T^w5v=SEyr-Nh8nG(nbT-6^#UtlR9B*&Ec6CoLQ=nQB&uv{yF84 zMVbj4eB1~v~UeU=r?B@aBZo|&X6#t-x~pcsHfXbC%lrxPKIk9U{t1dhlF28+>R zav`gy;643v0#@e}1z98E=t2g27Zt{s8%-j07cbqzPb;f{(TZ zImikA63VZ0a6!yVHln(blVHDTCMX2ynaJrEtHX*iPBp>x8FO56r96n$ob00-=zwg- z5E1onkNO|3$R7Pk;Lz0_Jbb{h(>7UVaw56ahuqSFgMn%(>dfsU^X$d+aYj%r+NCNw zfIsezR=rg+)8BHbH^`${@fG-9_vNtEZI1ky3?eOCU+dr|$iG<#x-Im~#wl~&;`B`% z$Aj=b)I@^xs{RYTN%ymrKHd8sLU68|wK0!`a3#H2(%|Ub+hs(Qt%&6Gh!(GqC%@M1 zwLh6yE%)Uj1EE2x5?hgVH)4%df<)wGvqoV-JH6%UOq!2cZUoI<1zUHBcim-= zie5{+&m3Ef$i4cTi0lPUm2CHYuO;tsOU$J<7>&oQKKEuBzcG7x1pn`j?PdwCCC4l;wE7sS)bRYA^K+G}RgsI*dW96i{sUXR zMxzz4#o2a)UckNqQnODKh&Ng8v1bA%WK-K!C;n~_* zF6TU$YHB)>O{Fso_{rQ5#@x29ibQoWNAR#>8DW4{4(8@!g3|;A8&2&{Mq6)CxEpu& ztfU^jZLJ3(Qy#LI9B{2mmpuXB-+j1LUV{DyIan1%;Y=dzRAXO0cvPC9NCur=N{NzH z`g638f&jvD$1-KkA#PMlvwYNr?tN`jT&N8r7wJLm{Rl!ESmi8Zgv$XCFiVgt*L-4M zY~He&6af5|atiI~BbsQ#4xGy%z!a6k(5(EF$E-N?OO{-Fv@wZolKYU#a64-JLvDtJ zo5uf_<7k{v{i0w}UO{KB!w60{M>nFpE%RzSitYZKtjvmesvxFL2H| zw@~P1zUI~$gycgf@!)7gAx5oEAU;}1kCCy;^%qo*Y(y^cu-cjigjf(uV_*TX(*A(M z@`g|g7>7o?mbKFNy0U_AorqAE)7UEQs;dI0qr|zs{3PZsJ$ZA&O3C=p#=Fpv^_S>= z*t&jmv{UerEVFT9QOfyg68Uuc@u1 z>eLu4t)~DTv>$gz7DsQAkO#Nj-(z?~I8dOKB2i&><}QAf=IV@t3tSO%21VHU<&HIa zgz26*+L#>yp*-Zu%zn*Y0A4Y9X0uK{-PjLlR3azmVX9Bm3XGCd>9MV(1qMEMO15~N zb5RWu&eZo5$4nqO&_@oqMYRmHnzJT>r>t=k2uBgYF>gwk8pq1vUpr0s| zC!!F0$ojLVg(uZi$5$$XhkH8G?u}`P@M{K%9?twtbwnAs(JC!w(vwgka~ZsmqiHpa z{8~^E3}T?3jc_w1=dToT;eYcqq~-+lo|^%1+kWqls?8X{h0;X-!Nrv=I!KZBETHF( z3-iMrsqG=mL#vsrAm|F9m+beE=;p99^fB7eWiZ+^QVrF-`v`%v0d$Yi8QJi3ja->W zbg2d&^ksEi{XxtS)NW{& z(%}^N8h!NXpI!(>tDOEeN@2X2wi*<57;;Zz`#)BE&#h;-nqyMb)W5Sf1;O z9B!=#6SwKGodZsOnKRawF-zg*~;%2*ntj=<@=3-aYv~*&!fTV(32dnITmuJ z4eiPsq*#l9gpIXe`FBEBWc6)}2p5$j5vj#P z*9N^+5Td*t{PCl)Z8gjCL^64H_cJ^w3@v!vjc2e!_Uc%k;k%OoP7icJi`%rSLZl7! zUk8?N3`6uqRR?l#rOAgIBlCw9J*QKcNWnW~ijbplOiT;q!zC`r-;t>uKQ&8nr6&7b z#4}T7tVaNth;*A9a9+H0IlSs`&{3x=1&0a6{B4%w$qiu#jx(u);oDk$aIg?qDcvJY zbST|6VL`~3W8wh#F6hOAV|oe^q#AP*L-&M%w!Upf#Y@&9(iJL@21oe7=n?6R$o80{ zEtD*xp$S|{Y@9l{{wNe!q}obIighG3mn?{?SN9MQ6WmJ?J_;^=Rq_0JfmN95ontLA zFy2*D3E_RrO+nB88;(A65Gb<^KN*si^5(4}UtXa762r-x*G9)*x>D_U|!x@G4urg;8^w}~fL$A2c{Z<1v%>I(x z%>z|!p+#tt^WyTOs6iNdtCTpJ#~Q>z2QG3^(~$_JC0>_E80o3SGY7qARJza}nOJAo zU6>Y@Wob4)*@a$@h+ z{mRdbDgJ>#V3vABLvHohTV@2-YQesDODbETs5cbZ*Ij0dn2i*jrbF#N&@^?&_P=n@ z@d|8mx0C%&VK+8>H>5D#>6o+|9TV|G*;1|y=^eOA zR5*17!7R^emp29}*s_@b6>^1MaS$Xfe+NllRZBR7^eOvgTcT5B#k5B?X%q)j2raX14@met(xe7dIJv0Q zFCk`7upYC}rlcst3^s3U$_d2Q?&B+rjOs6DiRnAiV^2O{Jf1&aK6)yv>|ZF{DCTAv zwsGAXSJIL2>vC@b%d#plhf_w+;l%vOX;;*X>qv`+D@jRTa#D^~=|S27{xo3mXdg9v z%?Gw4JLXp0sgvl`b}|eVxZyjsfpMb7=GbH~IR<35-T+ofJl)U@`SxUyA?JV$Z{%w> zSUN;$YrP51y8fUS*am2ud}u{FZ{LhTBQ>}C2o5}=dx__gc@gk|L0v15SrS(w2CR1U zBL4nnD8JSk{(bE-nZEfB8qHR2GI3+vSfC4+3(Bp1`N%#P$!gQyv9EVDx-sRQxj=bu z)}D!lnfjI-8`}26j@_tO7}WrMhhZFhjrn{f!x9ka7iA!IG!N6*>Da(UzH?X`5td_i(6P0yeHYDxv`cLI*Wy8>q_Fo@KM20(htS*spQBs<~U*bay!-G%gF(+b+4rRF4xy7c95v>NaCq+Hz9;0uIwbmKdd89KlFFk91QSXE&tf5XMi!=v zxbHz27VgReW_iS2$hV%TcxpS*0)x`00__i}UkR=nLQZf%FpfYq&iimgloD$x+i@NIl1pVu zd-L-)y(ie@n4yo7A9i{PF>-dgakUT~v2}5F2}aY0Aca0x; zLQTToToFZZV*&C)pz`!FBB9mtca+@ae>V5Tz)A%mcoEysD&$~v({;iZ(@y92zoN3R zLSk2{(x-kkIymOi)tV7O99`&2S`7^;Op?2zJ8i=U_@Cyc>Rbou=PJKKCOnk49eZ&q zjpVm}A9r{vO5NytP7Z$185i|?8=3r~z8$UN&FGE7xBD9;RA!|BRv6)v9U(?WwSbFl zZ>ksx)i)E$ZtwVl2_Dw#!t7RVPPM#dE$hzl z4B5z{Q>Wv4S978XK~19GHaC!Cm*-<#te@@eD=y6wl{R?@u_7f}$kvt(PStLbk}`k0 zVpd^+DRi`J)+GCS3asFeY;D#qc+vxIJYvpVAj0%tRl)2DiHu46ng{QN0sRND1tZ2K zaTVwp!CT{N_GNK_3SfYn?Ts6_tCu+G=xD{ylh~!57{aN!_7~C`H;b)FA(4KH6bFBz zzQV$(b_;&GfT1xnE#FP(Xr^A6L9ozM^Mni{npFtVX!7w=wDaM%P9}HlyLo=>Yh-EC zjq^K%o=wMyDP1vomTR zemUI{M5Cg4Nh9}I--CuZ6OA1?OnX;eQZ;;Eq(J-UiuadwWzTR!%pN=V>hF-+hHqF% z$}sRDxL+z3v&KHc*?0b>vv}=3nP*55MOaNm!|Q`pKw1m!$6M4S6mP<{MaU8#%5Y$1 zvoV}ZoTTm?h%H%RbSCPA&fbX0Bo!qUA)rNny3r?cQ+@RwghMXYITr`Z?TL_s%xo65 zLynJjiY8ctlm+kc`hy*UK5_-BegtC-3C)xIL-0K(iDwyAbPNl+un?D~OimyGkfzA~ zRay-*p0`qkcVEQ@uxG0B$b!8=v72+d(})RcM?GHWD4Sr1%qLMRp2X0=I-Z+tO{3a1 zvO03_A?TMQ71=Wiu4=d3hWiZrROMJYQC*Hl2feDgD0DYK^htflWYY$|09K7_FD^oM5&@Jou}f(N^{x-j%%xk-TrvSEN7UnX!-XJ zT;H1IiR0@m2aWwqro&T#F|cM+=if8`z6gqM)-#{C0xo-7l^qaH0n~PtW5N2~1uljc z84GAeKDx(d-@b+jL*EEjyXHxM(|(3mYs)O$D#(5{bfQO<=^4KFCL-cJ+P|`$yjr64 z)?RoaVrFQ?w0<_Q=hO@Du3|eS$WUyeDN2|CltKesLMhjzA1KbmC2&(b zaRgBM>~N^sad1VkV9EKsfjkMG*TqwPdoFw1E3*bmr@@ZUi^4CN4mB}miR@O>jq z?lSYz`Fj>1^mNE~_u)IwXb)!rPta0i%63$yP|hS9+80ZKe4ZK8qMftlU30_+`MP|{ zcw1KShPbHE#K@+vyHXfgM=vUaVrK`R%^d~6%B%Z=?b6#Kj~x}ilRsstYIPPo9G)D3 z7RaS;>q_ccax**Yo?`DO-nlx~Q7J%2Ub6>`!V7>}jUZN1NXm%|>l}CSKmv_)?K;`Q zvg7~e&nbf0tYB%G!-G8ryc@7gNRT|DgQ8TdJL+wxz_?30lz3-}t%HD49;Izx#EJqs z_lkf_X@^NK{YS(dib=i}myJ;I+j1HCa71-po4ijSJ)PSzro>3jGR+*x0m504Bc7POBsTm7$j zdLxL>P=%FF;};M5?qezg)wx?(_hu#?72O^x-O65$AZ(p_Q~MXzX_8=@xvam6VoDtz z>xl~zh~%KA%er@(+^>O)8YksHuXCuAQEqv(n7hMN>aE2q?!cG8X3X{*DoLRYcr6c%oNQOa-9gYS{!vw_i*3Q6qslQ-6z$hZB7X|95gG&k?t<-ZRa|Zzffg zoB5#i(~$wM2*PqBLCwLzQNW8NcDf>8m25bo+wTYL$a(p;bZeUIXrOeSwzMOOLdLB! zl7Ir>Jx8-WXrlTkk)BTlVwh3LLj~%O6)RTD@h|`laSYyQ80i{rMY^b@Z80{~eFFa| z1hmBvrcOv++AfG3HvKFrT32S{>EGnv-VaKMXz#h|HMPzTV}_$IK00H0>>F0= z-yxc_5L$>JfyG({;X{Tl{@pFK(!h-io~btL0U$+R-uDV{VYsGN^Tw|OiZg$3*^KM@ zWsLLVns$s-$!!Z@28#r7h|WxWEz4FaMC|n(A{jCUB>S(pp7lv$8?tsLK7zshk?mAFG)KrdvZrV?uIE_3#rI3_VW}HzO(vMYlvF z??vCSEETnaZ%qZ!8Q?LI3?u{*V))IokXZoKC5#mZ>HYfQR-{2Dw`)2a9LkA1hx358Ta{;?h(Z{Cj{96IrY0f}~(M zS?g0*n`S`V9Yk8)1zB3O9NUHy7Ursw_iew6VhpiKV?UOlG~hl<`1{A5;VJ+OR$Qtc z=y*6-oS7AZMyK}Q+ZQ9484PZ4Yu%vPgR$hajBMcdqcKUe780mF#REHa7q@1Us!XtS zZ0L_Zej;dwgxTMl;&dc!=KT)dom^AgIqm@C^r;Y_ohUg1O)`XfR=RvrvTg7G8hmZg~#&gsS&1+rS)%v$>n1_?W&~D6>w#NzO*(1T*%}d3qK9Rb=Uge_pX5_ z25}!lia7JpdWoP0>MFS&Iv)3$&3>c)QRQmE?nGZI2Z|o<+%rOMthy*{kBtMTxmneq zmbgG>!;aFzjTJ;t6fyicqg}34)$zI&HXtf(0xc_fq~+rY|Ld5Sp>JcA>yiAL;U91@ zI>7*{&@s0OT9+rUGSTatzzXBJ^CE1tC>d#9=_wEp3>Hq~nAHrRI*g0>W8q~62}?pbX^ zrSb8N)env>`R4daORhbZBNfRme}=r%0z*#?>`HGp*4lj?#OCiA6a^64OT*h$zh-z{ z^yabDNV|pmqlbrjFofBr5m)$mVf>4!JD#PS=`f|T)4%@cMtY_p0Qs>iSYCtRKgwOr zTV(nWpqh5;$xK{Rvr8(3qLtEF!||+`NATG%8+!UHvHC=FZ}ZoJ#&Fj4k%ElPRA!t* zT5tSu@5EfjS}2;7Xm{i%^mhn&B5VV=x~QK6aO^+yUQ zCCMZ&60E23tzDo77dL`1rAa1Otc(#3XWCCZzDo%fs!n{G(tcyGw}mL52S`qo%CL`v z^Y%Gbcg&E;3lJ!30g!22W!melU@dd;G31k#OCQStSBn!CmUIJjRw~{f0lJB39oj1ZG;G*L9;QN0RPzhEX#{$mD?^>v%#6&wGEvPf> z@3Ms7%I|%K?SPENdAlo{+X;~?i^s$jNcW>AKFq_|+z}bl}=pdV&fCKX9K>banhjSaT z;X=%mXVLADH-CRh`~zjJZPb7Luw+U%wyjsIO0qBx(kmIfBGnMSKyIg{pMsGZ%-H0P zWj4S$n|6)n%hyD7={m}e$85u#|Bl~988tB-U@x}*Sh)`JPl|Pe>_o)3wP1!*F#`@0 z#zZ0c2tb$DvD$bz<9LeH*ZaYD3zlS=9kKBgtuT;R+BC+7g9rJis!u~AotMu>Sx+DVIlNDjC)Lyy$1eXK z>Str~yjHXvt%|EI_8~Z$TAzsai8M5Eapw4ALDpl@Jy1VSV`5Yk)Bov z&z^*tp_b+Y!z`83z2Y||8bxsjcyieNu41a@Xkd_7*jA>jE9DSJv$Hq{Y9#X@TMt=FNm+bp6z*FL^~ z+{QKW1N^KF797Eu>pAnbDMQany!`@pgqu=&<~ws_`la1W2Dy800#-K!(oFj$-cC|f z&$x>xzwuJ;4ruv@B6(brpwYN@O7F0&FSS=d5WM71 z^SJ#|BilRT)uHwe#RE3~6-`EP&Uf5QxH@;j*(Aej=GCP*tgyO({1^>l+}D1BH>z`7 zWZ|Vp@dA?@7&znh(pfJR0S&?ZS4`AZn0^f^3T|)iI&}1BZAM9VRRKqGcue@yzo|A~ z!a_7=)hl2Jz&;k9)?DIvHy4M*3XU8d_&MzVnMbjk&lbdNU{(Pcm|N)_dG(f{JKiCt zs7SWY8NhM6xlB``!+0v900A!U$i{3t{;;W2UG8(P`7>SUNlIu$Vpt&DUs?lUDDZ~Q z^`H(3W+M-gCod39-w(JBePTocWTeUPFRN`MVNS91ddu~vlZuUZ_O$?r@iE7H~%dMf?t`s_M1CX4LLLS)>2VNzU5wR!bpt^ z@?cI9doCRn62n#SHdmB)bTnc4vwvj?u}lQyrzh)zS42#u$&24D5GT%|?`98I4+o5x z&CN8XU5fq5RUFxD7*4KW^X8zT%ncmRNJx8KyoxmB2H_>pP8Hw&KC%&Am6D*eC6tpm z&8KX_p899o4XkmCuhu|uIu@rngGU=A5;DMHNN)rKu0>>-2TVhVxlEXXlGh}F>XT$R za!s8E26p2KWNbk5tKbNeq*QWBM{U8zJ()mum=HHw{Gh;T3Q${G0>O9V)z@-hZ0g>? zWhbQ6f#L(5(l3ccQ}1yRY9iQ`qb5IJW6JQA(4nOEy=uMY2c5&B-UuEL5IBn>qWwqCVppsjxYgy(De7c#BAjUBU6mML zGW{62KkGgc&D|eWab4lZL*dkq<6$HXGoUDvE?tH2Ms|%0YV1gAF4gnT(x!$?_x^T5qDb^zO!R|DKhm`RrQ;o{ zAQ4Zg$fGfskoheA335xFO~2Vb6D$Y<4$6~uR8y|xCh~Dg_$D;j@o!47L|#FYoV+0J znYpOHilOEmBrzc+?91T;CdK48$?!U_=u{_c?-=2Xq$yz@K)I{tU%$#vGt4!&Kkf^x zXH%s@50%7Th676H0y_w(|7JYYkaYsG(Jc!yZ~?F<{f};orA8YdMX-de3x+5{%>52=FKM_>8xM zGzy$hr#nheqZc_yfK2VwA!I~23T@s0R0%VfcWR#aC-t<*=ARBk z{Bh{q38*U+JS7**_~wqG$JVTmSO3T2~ty7P6j#g#wA4!}%`Z36^Gj znWQE4Gb%8ogIw42O{Z+YyV5`mO*b`8+M5hpu)Z?*X=D2w5i}|plv@~gEo|s(@N75D z*jOAd!Z1r%dz=rJqFvv|gVp{2V&x=Ch_#^0G!ed!xf&+1qXc+Xy(2A@(rkM4_l%bM zZiK}~Fv?M?uy5hRaVI;K8)g{>9~1D!InOLWi2-VjNx9qk;SzR5>`e|W3~+x;w0uuQ zWR^@K?X%n^uja>Qd)S02jJU#Ng!e}C)_R&jsm3+^o%Ar(>RFg=`gq-%O^jlxfGtHJ zgiS2zn8Mk6NUXjo%IAJ61 ziGuOc%UtH53F8k)zme6fqhHIOiN0Uh)tN_{I_d)=3ZC?DD(0usRZW08vGgj;BOHTW z=85shv6Z3T5cdD@zspLvolQCSNu0CsRu6BjyzDyNdJ9oRDmVF+lV34?$<0_63l(rt zh%QMYGtuzd!2L{p69Ms_BqNEMX95IMP-hz!ja9gPWHyJm!`GOd3*vQ=6i2os?cL%eG0LWf zS`!|nf4YrL1+B`th0cTP(^YjIE zkGmKQ^|!>I!JH8LX=i~MKrye5k2#L#`$vn00QocfysC>Uw@uN)l?vQNNM4uXOY`@h z{az$qCO%)!&+pP#S0lmfxXZb$b22KL8TtP&V`JZDpJV8rf8zy%M{hK?3$ydb+hSUT zOz~_b*}DBj{`hhqEy?XG0atmvVd4Q$snE&%m0ujg&)MWclmN291^;n5Ft3IC=M;?w zt^&Ml=xUadz(G7QC~yEJBgqu+@Ns^+5i5YBi*w5opZGLwI4%Yy#fYj)+X8qbV!&_I z*v8NReHB5ush3&#g>6xH(;Xh9PQHEPsB#Yh(SX^@(ZaZ77uSO1XR1sXdf>0ciR z2Z4HyjzzBe+(mmLMZBS`YDItg85HMGZ9lyU0(@SA*`PBL-4(We2<|rdiXdn+kt`Ek zQuGMgh)S?dL}Q~7b_R~trxt0|Ju)ZW!Y|tZUvYr+Gm3K*s!B`53<^{5n z(U&{HB#{s~%3ns9w|r4d*I8V7HQ@{v*-_LStP+==zR(nZy--IGcPjZL0Y}oLeX|sm zjgsw;B*qSFud_7>c&W=s-@v!F_ZOmA=Kf2%z(~juyakI{_BLxV^JT2N-#~)!Njy;( zR>jCLl)9msQVBmgS=U$9x!oWcuo-2YX4Q}5BZGPkfW5qHc~O(0WH3f;)!wjJsThDZ z9*({(Ew=4hmPf@p#_1ZS67&Z-MvE(nw0OitcC-N9=z}%j7-SfdlNMP@Cv-7iVIY^_~WIN$TpiNF1P+~WMQ}Q z$PCsL%aX45&lrf}K9R*(0K0KSOrrkoq?lWau=2E^a*Zu~8i#)A-^;XgZ8=e(r&iyG zr4ffvMr))d#_Alg%(lru^G%i^C0*z7NraUy@)0Ws@1u%l9EGG%qUv520wqmU;?^EB zp+Zj>Bb=&~?vQuzb1`K9RbMAQQo!#65L|Gh$~#_%Ett_2g-z^MkQNpj$h`;3Jpn$q zo>j)Jx*l>FtpLL@L{o#crBS5q}@W(ovi}X0=3R{APx8K63o(4mnNm zvN^PNiaH_<4W2mROV*e7PHeMs9|hm+Abkw^d|hb#NNh%+niFhHU5EnB?pH;B3d_L? z>*rK5Z0V*S@$ich0zdAIzSs7Ms-gDCgYA&GtJ8&WcRmb=fR{w`vp;3H)Sh_gvD5j^ z{!>Vx(70>N-&6jtOCsF*r86WG8ECRVDkl*GMV013BM+v6;-ZGL5a%Yj^=o@k5ujgV?ebJ&k5YzDxXa2B| zLGn1<0S9_BmS6xkpCwh;NG9%iu zJ}YPkOcFfWNq&)-kf6^oP3a4n$WGK8oj`*KI;}%9M2gux!?5W8$Cl;8k=OCKzn7ea zmE4j`3;#NdH4zfYzw-nsz-qYpKuwpjNMj;|b$4uRjnbr}jo>lKbu{R+Pp**opNI|@ zhft4)M#Nq6kU2S(?R?C{I=>RlsFM@*BjtZ?a{A@JjiJ;0!>28}o>6j-ovh1u5aC=y zIuIMy`PcA1Cg;uUd||m|?gZrgeHR#)f|zs?u6i&klkzlJ64N!$AS5!~lb-8JAcfM2 z347(LvxNGH88e%RaecSH$zzxpz1zG~b!OrCaWtdngUqmNLa$qA<6w^=_*lpfx-*eXV` z;z;rdStoJ%ZDMUQHQUs+(MgF`yrEWqauZw`0<#d9fM#rnyidD|;(0w2G zjv~{r;7N?Y9_X_pd>_WyAnSb8agLpEpd|=(JxOpXF~p41Bm_{|p533X|CQlrt)Qk^ zxuT(MlWdl!bY*D++^V zBD{w9u&}OC+T$F`LDFa;5Tg!Kd%e`O`Y2hFcFGo65~N_}!U8g07Ds23t>GoZg7&BL zMm>XIu;Kv^Dd5s`ZK3uIRs8_}KLEgaz^Z*x z!;cMGM?e*9*xaHnAr&nj9~*Pbz~b{cS}im)g1xDy)7Tj62_n}8RY30{a?LjQtQgP7 zR$LTY$cJjOWoLTGfC@w*qk3Ka)sWHLER z8ii3#+Q8A*8BA_3zj_#)j;v{bG)A;N22Cpu9pgU6Yepz z5P5!XS*VL?3;ENYUu(dHs%fp&Egpn(MDlyrz>*aGPQTIE&!hgWg-_raYml-MRmCrY zxZd&u)(FLzcE8RWOL}Oz`~d3NH$Rb(;6x^)Ra)AnhtQ+ACAs*TOB8;GaCVyd5gE3P z7yy=@#l0`Cxtw<^T)zr-K1=Z+N1sH@H}FNd-djJ z)&Of|3h4TuLdUMGZfg^AVkfiqd{GF7nFAaj5l-#Y*≫OxV269Kd9Vhg}mxA(9qS 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 Yb~j7MQ1_;&B1)kYoO)pq3Zv4Pt)8k+ApigX literal 0 HcmV?d00001 diff --git a/MikroMaster/20260817/20260817190002-Config.rsc b/MikroMaster/20260817/20260817190002-Config.rsc new file mode 100644 index 0000000..2c8261d --- /dev/null +++ b/MikroMaster/20260817/20260817190002-Config.rsc @@ -0,0 +1,1447 @@ +# 2026-08-17 19:00:03 by RouterOS 7.23.3 +# software id = 2961-C4ZZ +# +# model = RBD52G-5HacD2HnD +# serial number = HCX084RAVFA +/interface bridge +add name=Bridge-Lan +/interface wireless +# managed by CAPsMAN +# channel: 2422/20-Ce/gn(17dBm), SSID: vados, local forwarding +set [ find default-name=wlan1 ] disabled=no ssid=MikroTik +# managed by CAPsMAN +# channel: 5200/20-eCee/ac/P(20dBm), SSID: vados5g, local forwarding +set [ find default-name=wlan2 ] disabled=no ssid=MikroTik +/interface ethernet +set [ find default-name=ether1 ] mac-address=48:8F:5A:8E:1A:BC name=\ + "ether1 - Unet" +/interface veth +add address=172.20.200.70/30 container-mac-address=00:00:00:00:00:00 dhcp=no \ + gateway=172.20.200.69 gateway6="" name=veth-awg2vds +/interface wireguard +add disabled=yes listen-port=26084 mtu=1420 name=wg-awg2vds +/interface list +add comment=defconf name=WAN +add comment=defconf name=LAN +add exclude=LAN include=WAN name=Internet +/interface wireless security-profiles +set [ find default=yes ] supplicant-identity=MikroTik +/ip dhcp-server option +add code=12 name=HostName +add code=119 force=yes name=domain-search-list value="0x03'WORKGROUP'0x00" +/ip dhcp-server option sets +add name=HP1505n options=HostName +add name=StartLife1 options=HostName +add name=amsterDev options=HostName +add name=MiTV options=HostName +add name=miller options=HostName +add name=amster options=HostName +add name=garage options=HostName +add name=domain-search-set options=domain-search-list +add name=VADOS-LEN options=HostName +add name=VADOS-NUC options=HostName +add name=MikroNUC options=HostName +add name=master options=HostName +add name=MikroYellow options=HostName +add name="=\"Client ID\"" options=HostName +/ip dns forwarders +add dns-servers=1.1.1.1,1.0.0.1 name=blsp.at verify-doh-cert=no +add comment=Kra dns-servers=1.0.0.1,1.1.1.1 name=slon2.to verify-doh-cert=no +add dns-servers=1.1.1.1,1.0.0.1 name=slon3.at verify-doh-cert=no +add dns-servers=1.0.0.1,1.1.1.1 name=slon3.cc verify-doh-cert=no +add dns-servers=1.1.1.1,1.0.0.1 name=bs2web.at verify-doh-cert=no +add dns-servers=1.1.1.1,1.0.0.1 name=bs2best.at verify-doh-cert=no +add dns-servers=1.0.0.1,1.1.1.1 name=psrms.is verify-doh-cert=no +/ip pool +add name=dhcp ranges=10.30.30.150-10.30.30.200 +/ip dhcp-server +add address-pool=dhcp bootp-support=dynamic dhcp-option-set=domain-search-set \ + interface=Bridge-Lan name=masterDHCP server-address=10.30.30.81 +/ip smb users +set [ find default=yes ] disabled=yes +add disabled=yes name=vados +/routing table +add disabled=yes fib name=To-VPN +/system script +add dont-require-permissions=no name=fetchCustom owner=admin policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.10.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.10.pub\";\ + \n\ + \n\ + \n#\ + \n\ + \n#root.mnuc.backuper\ + \n\ + \n\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.81.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.81.pub\";\ + \n\ + \n\ + \n#:local Script AM-GlobalConfig;\ + \n\ + \n#/system/script/add name=\$Script owner=\$Script source=([ /tool/fetch c\ + heck-certificate=yes-without-crl url=(\$GlobalScriptsUrl . \$Script . \".r\ + sc\") output=user as-value ]->\"data\");\ + \n\ + \n#/usb1/mikro_bak_rsa.pub\ + \n\ + \n\ + \n#:local FetchFile AM-DOHCert.rsc\ + \n\ + \n\ + \n\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/tmp/\";\ + \n\ + \n:global MkDir;\ + \n\ + \n\ + \n:local FetchFile Manager@id_rsa.pub\ + \n:local localDir \"/\";\ + \n\ + \n\ + \n\ + \n\$MkDir \$localDir;\ + \n\ + \n\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \$FetchFile) dst-path=(\ + \$localDir . \$FetchFile);\ + \n" +add comment="Global Config Script" dont-require-permissions=no name=\ + AM-GlobalConfig owner=AM-GlobalConfig policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GlobalConfig\r\ + \n# Script comment: Global Config Script\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# Warning: Dont touch this line!\r\ + \n:global Identity [/system/identity/get name];\r\ + \n:global GlobalConfReady false;\r\ + \n#\r\ + \n#\r\ + \n# Global Url For Amster scripts to fetch\r\ + \n# most be defined in AM-Init-Script or AM-setup scripts\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global ScriptsUrlSuffix (a);\r\ + \n:global CheckSumsVerify true;\r\ + \n\r\ + \n:global ScriptUpdatesCRLF true;\r\ + \n:global CommentsInScripts true;\r\ + \n\r\ + \n# Debug output:\r\ + \n:global PrintDebug true; #false;\r\ + \n\r\ + \n# Debug output for specific script:\r\ + \n#:set (\$PrintDebugOverride->\"AM-GlobalFunc\") true;\r\ + \n\r\ + \n# Debug logs\r\ + \n# Other actions (disk, email, remote or support) can be used as well.\r\ + \n# I do not recommend using echo - use debug output instead (https://rsc.\ + eworm.de/main/DEBUG.html#debug-output).\r\ + \n#/system/logging/add topics=script,debug action=memory;\r\ + \n\r\ + \n:global MikrotikUpgradeUrl \"https://upgrade.mikrotik.com/routeros\";\r\ + \n:global Domain \"WORKGROUP\";\r\ + \n\r\ + \n:global EmailGeneralTo \"vados@vados.ru\";\r\ + \n#:global EmailGeneralCc \"\";\r\ + \n\r\ + \n# \$ScriptInstallUpdate mod/notification-telegram\r\ + \n:global TelegramTokenId \"8390868324:AAG3_d1hfVR2M6pGAgDK6ZvhOe4J97nyopw\ + \";\r\ + \n:global TelegramChatId \"-1003631309063\"; #\"454403445\";\r\ + \n# Use this to send notifications to a specific topic in group.\r\ + \n#:global TelegramThreadId \"30\";\r\ + \n# Using telegram-chat you have to define trusted chat ids (not group ids\ + !)\r\ + \n# or user names. Groups allow to chat with devices simultaneously.\r\ + \n:global TelegramChatIdsTrusted {\r\ + \n \"454403445\"\r\ + \n \"-1003631309063\"\r\ + \n \"-5124482807\"\r\ + \n \"1087968824\";\r\ + \n};\r\ + \n# \"-5294757340\";\r\ + \n\r\ + \n:global TelegramChatGroups \"(all)\";\r\ + \n#:global TelegramChatGroups \"(all|home|office)\";\r\ + \n\r\ + \n:global NotificationFunctions {\r\ + \n \"email\"\r\ + \n \"telegram\";\r\ + \n};\r\ + \n# Toggle this to disable symbols in notifications.\r\ + \n:global NotificationsWithSymbols true;\r\ + \n:global TerminalColorOutput true;\r\ + \n\r\ + \n:global DetectIpAddrDefault \"https://ipv4.mikrotik.ovh/\";\r\ + \n:global DetectIpAddrFallback \"https://api.ipify.org/\";\r\ + \n\r\ + \n## Update channel. Possible values: stable, long-term, testing, developm\ + ent\r\ + \n:global updateChannel \"stable\";\r\ + \n\r\ + \n:global CertRenewUrl (\$GlobalScriptsUrl . \"certs/\" . \$Identity . \"/\ + \");\r\ + \n:global CertRenewTime 2w;\r\ + \n:global CertRenewPass (a); #{\r\ + \n# \"\";\r\ + \n# \"v3ry-s3cr3t\";\r\ + \n# \"4n0th3r-s3cr3t\";\r\ + \n#};\r\ + \n:global CertWarnTime 1w;\r\ + \n:global CertIssuedExportPass (a); # {\r\ + \n# \"\";\r\ + \n# \"cert1-cn\"=\"v3ry-s3cr3t\";\r\ + \n# \"cert2-cn\"=\"4n0th3r-s3cr3t\";\r\ + \n#};\r\ + \n\r\ + \n# Script BackupAndUpdate mode, possible values: backup,\r\ + \n# updateOnce - Update once as \"osnotify\" and back \"osnotify\" mode (i\ + n terminal run :set OSUpdateMode updateOnce; \$OSUpdateMode;). \r\ + \n# osupdate - Update if available and creates backups before/after update\ + \_(ignores `forceBackup`)\r\ + \n# Set `forceBackup` to true to always create backups, even\ + \_without updates\r\ + \n# osnotify - Set `forceBackup` to always create backups on every run\r\ + \n:global DevInfoIncludeIP true;\r\ + \n:global BackupAndUpdateMode \"osnotify\"\r\ + \n\r\ + \n:global forceBackup true;\r\ + \n:global BackupPassword \"Peskar55\";\r\ + \n\r\ + \n# SFTP Backup Variables\r\ + \n:global BackupRandomDelay 0;\r\ + \n:global BackupUploadUrl \"sftp://amster.vados.ru/upload/\";\r\ + \n:global BackupUploadUser \$Identity;\r\ + \n:global BackupUploadPass \"root.mnuc.backuper\";\r\ + \n\r\ + \n:global BackupSendBinary true;\r\ + \n:global BackupSendExport true;\r\ + \n:global BackupSendGlobalConfig true;\r\ + \n:global BackupSendScripts true;\r\ + \n\r\ + \n# Remove local file after uploading if no errors\r\ + \n:global BackupRmLocal true;\r\ + \n\r\ + \n# Local Backups Root Directory \r\ + \n:global BackupLocalRoot \"tmpfs\";\r\ + \n\r\ + \n# Encrypt Backup\r\ + \n:global BackupEncrypt true;\r\ + \n\r\ + \n# Sensitive information in Backups\r\ + \n:global BackupSens true;\r\ + \n\r\ + \n# User Export\r\ + \n:global BackupUser true;\r\ + \n\r\ + \n# License Export (not for CHR, will silently skip)\r\ + \n:global BackupLicense false;\r\ + \n\r\ + \n# SSH Keys\r\ + \n:global BackupSshKeys true;\r\ + \n\r\ + \n# Certificate Export\r\ + \n:global BackupCerts true;\r\ + \n\r\ + \n# Certificate Password\r\ + \n:global BackupCertsPasswd \"\";\r\ + \n\r\ + \n# User-Manager Export\r\ + \n:global BackupUserMan false;\r\ + \n\r\ + \n# The Dude Export\r\ + \n:global BackupDude false;\r\ + \n\r\ + \n# User Files to export, comma-separated string or array of strings\r\ + \n# User Files are not removed on backup\r\ + \n# Any directory paths will be removed (/ -> _) on remote file\r\ + \n# Nonpresent files are silently skipped\r\ + \n:global BackupUserList \"autosupout.rif,autosupout.old.rif\";\r\ + \n\r\ + \n# load functions and any custom scripts\r\ + \n# [ /system/script/find where name=\"global-config-ov\ + erlay\" ], \\\r\ + \n# [ /system/script/find where name~\"^global-config-o\ + verlay\\\\.d/.\" ]\r\ + \n#\r\ + \n#:foreach Script in=([ /system/script/find where name=\"Amster-TGglobalV\ + ars\" ], [ /system/script/find where name=\"Amster-TGglobalFunc\" ]) do={\ + \r\ + \n# :onerror Err {\r\ + \n# /system/script/run \$Script;\r\ + \n# } do={\r\ + \n# :log error (\"Loading configuration from configs and functions\"\ + \_. [ /system/script/get \$Script name ] . \" failed: \" . \$Err);\r\ + \n# }\r\ + \n#}\r\ + \n#:log info \"\\ndevMode = \$devMode\";\r\ + \n#:log info \"\\ndevRunning = \$devRunning\";\r\ + \n:foreach Script in=[ /system/script/find where source~\"^#!rsc by Vados \ + GlobalRUN\\r\?\\n\" ] do={\r\ + \n :onerror Err {\r\ + \n /system/script/run \$Script;\r\ + \n } do={\r\ + \n :log error (\"Run script \" . [ /system/script/get \$Script name \ + ] . \" width marker \\\" GlobalRUN\\\" failed: \" . \$Err);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# signal we are ready\r\ + \n:set GlobalConfReady true;\r\ + \n:while (\$GlobalConfReady != true) do={:delay 500ms};\r\ + \n" +add comment=GENERATOR dont-require-permissions=no name=awg2vds owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="# ============================================================\ + \n# AWG Proxy -- MikroTik RouterOS (protocol: v2)\ + \n# 2026-07-21 10:33:39\ + \n# ============================================================\ + \n\ + \n# 0. Check prerequisites\ + \n:if ([:len [/system/package/find where name=\"container\" disabled=no]] \ + = 0) do={\ + \n :put \"Container package is not installed or disabled. Install it and \ + reboot.\"\ + \n :error \"Usage: /system/device-mode/update container=yes\"\ + \n}\ + \n\ + \n# Check storage device\ + \n{\ + \n :local targetDisk \"usb1\"\ + \n :local diskFree 0\ + \n :do { :set diskFree [/disk/get [find where mount-point=\$targetDisk] f\ + ree] } on-error={}\ + \n :if (\$diskFree = 0) do={\ + \n :local baseDisk \$targetDisk\ + \n :local dashPos [:find \$targetDisk \"-part\"]\ + \n :if ([:typeof \$dashPos] != \"nil\") do={ :set baseDisk [:pick \$tar\ + getDisk 0 \$dashPos] }\ + \n :if ([:len [/disk/find where slot=\$baseDisk]] > 0) do={\ + \n :put (\"Device \$baseDisk found but \$targetDisk is not available.\ + \")\ + \n :put \"Format \$baseDisk as ext4\? ALL DATA WILL BE ERASED!\"\ + \n :put \"Press 'y' to confirm, any other key to cancel:\"\ + \n :local key [/terminal/inkey timeout=30]\ + \n :if (\$key = 121 || \$key = 89) do={\ + \n :put \"Formatting \$baseDisk as ext4...\"\ + \n /disk/format-drive \$baseDisk file-system=ext4 label=\$baseDisk\ + \n :delay 3s\ + \n :do { :set diskFree [/disk/get [find where mount-point=\$targetD\ + isk] free] } on-error={}\ + \n :if (\$diskFree = 0) do={\ + \n :put (\"ERROR: \$targetDisk not found after formatting.\")\ + \n :put \"Check mount point: /disk/print\"\ + \n :error (\"Mount point \$targetDisk not found after formatting\ + \")\ + \n }\ + \n :put (\"Formatted OK. Free: \" . (\$diskFree / 1048576) . \" MB\ + \")\ + \n } else={\ + \n :error \"Formatting cancelled\"\ + \n }\ + \n } else={\ + \n :put (\"ERROR: Storage device \$targetDisk not found.\")\ + \n :put \"Check available disks: /disk/print\"\ + \n :error (\"Storage not found: \" . \$targetDisk)\ + \n }\ + \n } else={\ + \n :put (\"Storage OK: \$targetDisk (\" . (\$diskFree / 1048576) . \" M\ + B free)\")\ + \n }\ + \n}\ + \n\ + \n# 1. Uninstall script\ + \n/system/script/add name=awg2vds-uninstall comment=awg2vds source={\ + \n :put \"Uninstallimg AmneziaWG...\"\ + \n :log info \"Uninstallimg AmneziaWG...\"\ + \n :local prevDNS \"\"\ + \n :do { :set prevDNS [/container/envs/get [find where list=\"awg2vds-env\ + \" key=\"AWG_PREV_DNS\"] value] } on-error={}\ + \n :local prevTmpdir \"\"\ + \n :do { :set prevTmpdir [/container/envs/get [find where list=\"awg2vds-\ + env\" key=\"AWG_PREV_TMPDIR\"] value] } on-error={}\ + \n /ip/route/remove [find where comment=awg2vds-tunnel]\ + \n /ip/route/remove [find where comment=awg2vds-dns]\ + \n /container/stop [find where interface=veth-awg2vds]\ + \n :delay 7s\ + \n /container/remove [find where interface=veth-awg2vds]\ + \n /container/envs/remove [find where list=\"awg2vds-env\"]\ + \n :if (\$prevDNS != \"\") do={\ + \n :do { /ip/dns/set servers=\"\$prevDNS\" } on-error={}\ + \n :put (\"DNS restored to: \$prevDNS\")\ + \n }\ + \n /container/config set tmpdir=\$prevTmpdir\ + \n :put (\"Container tmpdir restored to: \$prevTmpdir\")\ + \n /ip/firewall/nat/remove [find where out-interface=\"wg-awg2vds\"]\ + \n /ip/firewall/nat/remove [find where src-address=\"172.20.200.68/30\"]\ + \n /ip/address/remove [find where address=\"172.20.200.69/30\"]\ + \n /interface/veth/remove [find where name=\"veth-awg2vds\"]\ + \n /interface/wireguard/peers/remove [find where interface=\"wg-awg2vds\"\ + ]\ + \n /ip/address/remove [find where interface=\"wg-awg2vds\"]\ + \n /interface/wireguard/remove [find where name=\"wg-awg2vds\"]\ + \n :do { /file/remove [find where name~\"awg2vds.+tar\"] } on-error={}\ + \n :do { /file/remove [find where name=\"usb1/awg2vds\"] } on-error={}\ + \n :do { /file/remove [find where name=\"usb1/ru_ranges_timeout.rsc\"] } \ + on-error={}\ + \n :do { /file/remove [find where name~\"usb1/pull\"] } on-error={}\ + \n :put \"Uninstall AmneziaWG Proxy complete!\"\ + \n :log info \"Uninstall AmneziaWG Proxy complete!\"\ + \n /system/script/remove [find where name=awg2vds-uninstall]\ + \n}\ + \n\ + \n# 2. Network infrastructure\ + \n/interface/veth/add name=veth-awg2vds address=172.20.200.70/30 gateway=1\ + 72.20.200.69\ + \n/ip/address/add address=172.20.200.69/30 interface=veth-awg2vds\ + \n/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.20.2\ + 00.68/30\ + \n\ + \n# 3. WireGuard interface (MikroTik derives the public key automatically)\ + \n/interface/wireguard/add name=wg-awg2vds private-key=\"4LNSJJNEDeT2LFXkF\ + x0XyrNp2Mp7YXlS8SawhqNfKGQ=\" listen-port=26084 disabled=yes\ + \n/interface/wireguard/peers/add interface=wg-awg2vds public-key=\"qHFd72X\ + DJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=\" preshared-key=\"ckhzjCcr15ve+IeDRY\ + veYITR7a/CMZCcOZ2Z0cABKD8=\" endpoint-address=172.20.200.70 endpoint-port=\ + 51820 allowed-address=10.10.10.1/24,10.30.30.0/24,0.0.0.0/0 persistent-kee\ + palive=10\ + \n/ip/address/add address=10.10.10.2/24 interface=wg-awg2vds\ + \n\ + \n# 4. Container environment variables\ + \n/container/envs/add list=awg2vds-env key=AWG_LISTEN value=\":51820\"\ + \n/container/envs/add list=awg2vds-env key=AWG_REMOTE value=\"109.107.177.\ + 79:443\"\ + \n/container/envs/add list=awg2vds-env key=AWG_JC value=\"6\"\ + \n/container/envs/add list=awg2vds-env key=AWG_JMIN value=\"171\"\ + \n/container/envs/add list=awg2vds-env key=AWG_JMAX value=\"481\"\ + \n/container/envs/add list=awg2vds-env key=AWG_S1 value=\"50\"\ + \n/container/envs/add list=awg2vds-env key=AWG_S2 value=\"139\"\ + \n/container/envs/add list=awg2vds-env key=AWG_H1 value=\"1189447486-11894\ + 48396\"\ + \n/container/envs/add list=awg2vds-env key=AWG_H2 value=\"538303610-538304\ + 276\"\ + \n/container/envs/add list=awg2vds-env key=AWG_H3 value=\"101001960-101002\ + 598\"\ + \n/container/envs/add list=awg2vds-env key=AWG_H4 value=\"1783887443-17838\ + 87851\"\ + \n/container/envs/add list=awg2vds-env key=AWG_SERVER_PUB value=\"qHFd72XD\ + JJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=\"\ + \n/container/envs/add list=awg2vds-env key=AWG_CLIENT_PUB value=[/interfac\ + e/wireguard/get [find name=wg-awg2vds] public-key]\ + \n/container/envs/add list=awg2vds-env key=AWG_S3 value=\"17\"\ + \n/container/envs/add list=awg2vds-env key=AWG_S4 value=\"6\"\ + \n/container/envs/add list=awg2vds-env key=AWG_I1 value=\"\"\ + \n/container/envs/add list=awg2vds-env key=AWG_I2 value=\"\"\ + \n/container/envs/add list=awg2vds-env key=AWG_I3 value=\"\"\ + \n/container/envs/add list=awg2vds-env key=AWG_I4 value=\"\"\ + \n/container/envs/add list=awg2vds-env key=AWG_I5 value=\"\"\ + \n\ + \n# 5. DNS\ + \n{ :local rawDNS [/ip/dns/get servers]; :local prevDNS \"\"; :foreach s i\ + n=[:toarray \$rawDNS] do={ :if ([:len \$prevDNS] > 0) do={ :set prevDNS \"\ + \$prevDNS,\$s\" } else={ :set prevDNS \$s } }; /container/envs/add list=aw\ + g2vds-env key=AWG_PREV_DNS value=\"\$prevDNS\" }\ + \n# NOTE: replaces existing DNS configuration\ + \n/ip/dns/set servers=10.10.10.1\ + \n/ip/route/add dst-address=10.10.10.1/32 gateway=wg-awg2vds distance=1 co\ + mment=awg2vds-dns\ + \n\ + \n# 6. Download, create and start container\ + \n:local prevTmpdir [/container/config/get tmpdir]\ + \n/container/envs/add list=awg2vds-env key=AWG_PREV_TMPDIR value=\$prevTmp\ + dir\ + \n/container/config set tmpdir=usb1/pull memory-high=200M\ + \n{\ + \n :local arch [/system/resource/get architecture-name]\ + \n :local ver [/system/resource/get version]\ + \n :local dotPos [:find \$ver \".\"]\ + \n :local rest [:pick \$ver (\$dotPos + 1) [:len \$ver]]\ + \n :local endPos [:find \$rest \".\"]\ + \n :if ([:typeof \$endPos] = \"nil\") do={ :set endPos [:find \$rest \" \ + \"] }\ + \n :local minor [:tonum [:pick \$rest 0 \$endPos]]\ + \n :local suffix \"\"\ + \n :if (\$minor <= 20) do={ :set suffix \"-7.20-Docker\" }\ + \n :local file \"\"\ + \n :if (\$arch = \"arm64\") do={ :set file (\"awg-proxy-arm64\" . \$suffi\ + x . \".tar.gz\") }\ + \n :if (\$arch = \"arm\") do={ :set file (\"awg-proxy-arm\" . \$suffix . \ + \".tar.gz\") }\ + \n :if (\$arch ~ \"x86\") do={ :set file (\"awg-proxy-amd64\" . \$suffix \ + . \".tar.gz\") }\ + \n :if (\$file = \"\") do={ :error \"Unsupported architecture: \$arch\" }\ + \n :local url \"https://github.com/timbrs/amneziawg-mikrotik-c/releases/l\ + atest/download/\$file\"\ + \n :local filePath (\"usb1/pull/\" . \$file)\ + \n :do { /file/make-directory usb1/pull } on-error={}\ + \n :if ([:len [/file/find where name=\$filePath]] = 0) do={\ + \n :local freeStorage 0\ + \n :do { :set freeStorage [/disk/get [find where mount-point=\"usb1\"] \ + free] } on-error={}\ + \n :if (\$freeStorage < 262144) do={\ + \n :put (\"WARNING: Low disk space (\" . (\$freeStorage / 1024) . \"K\ + B free). Need at least 256KB.\")\ + \n :put \"See: https://github.com/timbrs/amneziawg-mikrotik-c#insuffi\ + cient-disk-space\"\ + \n :error \"Insufficient disk space\"\ + \n }\ + \n :put (\"Fetching: \$url -> \" . \$filePath)\ + \n /tool/fetch url=\$url dst-path=\$filePath http-max-redirect-count=10\ + \n } else={\ + \n :put (\"File already exists: \" . \$filePath)\ + \n }\ + \n /container/add file=\$filePath interface=veth-awg2vds envlist=awg2vds-\ + env hostname=awg2vds root-dir=usb1/awg2vds logging=no start-on-boot=yes co\ + mment=awg2vds\ + \n :if (\$minor > 20) do={ [:parse \"/container/set [find where interface\ + =veth-awg2vds] shm-size=4M\"] }\ + \n /file/remove \$filePath\ + \n :local freeMem [/system/resource/get free-memory]\ + \n :if (\$freeMem < 16777216) do={\ + \n :put (\"WARNING: Low memory (\" . (\$freeMem / 1048576) . \"MB free)\ + . 16MB+ recommended.\")\ + \n }\ + \n /container/start [find where interface=veth-awg2vds]\ + \n :do { /file/remove [find where name=\"console-dump.txt\"] } on-error={\ + }\ + \n :put \"Waiting for container to start...\"\ + \n :delay 5s\ + \n /interface/wireguard/enable wg-awg2vds\ + \n :put \"WireGuard interface enabled\"\ + \n :put \"Installation complete!\"\ + \n :put \"Ping test: 10.10.10.1 via AmneziaWG tunnel. repeat 10 times\"\ + \n /ping 10.10.10.1 count=10 interval=1\ + \n :put \"\"\ + \n :put \"======= NEXT STEPS =======\"\ + \n :put \"\"\ + \n :put \"Route specific traffic through the AmneziaWG tunnel:\"\ + \n :put \"\"\ + \n :put \" Route a single host:\"\ + \n :put \" /ip/route/add dst-address=8.8.8.8/32 gateway=wg-awg2vds com\ + ment=awg2vds-tunnel\"\ + \n :put \"\"\ + \n :put \" Route a subnet:\"\ + \n :put \" /ip/route/add dst-address=100.0.0.0/8 gateway=wg-awg2vds co\ + mment=awg2vds-tunnel\"\ + \n :put \"\"\ + \n :put \" Remove a route:\"\ + \n :put \" /ip/route/remove [find where comment=awg2vds-tunnel dst-add\ + ress=8.8.8.8/32]\"\ + \n :put \"\"\ + \n :put \" Show all tunnel routes:\"\ + \n :put \" /ip/route/print where comment=awg2vds-tunnel\"\ + \n :put \"\"\ + \n :put \" Uninstall:\"\ + \n :put \" /system/script/run awg2vds-uninstall\"\ + \n :put \"=========================\"\ + \n}\ + \n\ + \n# 7. Verification\ + \n# /container/print\ + \n# /interface/wireguard/print\ + \n# /interface/wireguard/peers/print\ + \n" +add comment=awg2vds dont-require-permissions=no name=awg2vds-uninstall owner=\ + vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \n :put \"Uninstallimg AmneziaWG...\"\ + \n :log info \"Uninstallimg AmneziaWG...\"\ + \n :local prevDNS \"\"\ + \n :do { :set prevDNS [/container/envs/get [find where list=\"awg2vds-env\ + \" key=\"AWG_PREV_DNS\"] value] } on-error={}\ + \n :local prevTmpdir \"\"\ + \n :do { :set prevTmpdir [/container/envs/get [find where list=\"awg2vds-\ + env\" key=\"AWG_PREV_TMPDIR\"] value] } on-error={}\ + \n /ip/route/remove [find where comment=awg2vds-tunnel]\ + \n /ip/route/remove [find where comment=awg2vds-dns]\ + \n /container/stop [find where interface=veth-awg2vds]\ + \n :delay 7s\ + \n /container/remove [find where interface=veth-awg2vds]\ + \n /container/envs/remove [find where list=\"awg2vds-env\"]\ + \n :if (\$prevDNS != \"\") do={\ + \n :do { /ip/dns/set servers=\"\$prevDNS\" } on-error={}\ + \n :put (\"DNS restored to: \$prevDNS\")\ + \n }\ + \n /container/config set tmpdir=\$prevTmpdir\ + \n :put (\"Container tmpdir restored to: \$prevTmpdir\")\ + \n /ip/firewall/nat/remove [find where out-interface=\"wg-awg2vds\"]\ + \n /ip/firewall/nat/remove [find where src-address=\"172.20.200.68/30\"]\ + \n /ip/address/remove [find where address=\"172.20.200.69/30\"]\ + \n /interface/veth/remove [find where name=\"veth-awg2vds\"]\ + \n /interface/wireguard/peers/remove [find where interface=\"wg-awg2vds\"\ + ]\ + \n /ip/address/remove [find where interface=\"wg-awg2vds\"]\ + \n /interface/wireguard/remove [find where name=\"wg-awg2vds\"]\ + \n :do { /file/remove [find where name~\"awg2vds.+tar\"] } on-error={}\ + \n :do { /file/remove [find where name=\"usb1/awg2vds\"] } on-error={}\ + \n :do { /file/remove [find where name=\"usb1/ru_ranges_timeout.rsc\"] } \ + on-error={}\ + \n :do { /file/remove [find where name~\"usb1/pull\"] } on-error={}\ + \n :put \"Uninstall AmneziaWG Proxy complete!\"\ + \n :log info \"Uninstall AmneziaWG Proxy complete!\"\ + \n /system/script/remove [find where name=awg2vds-uninstall]\ + \n" +/user group +add name=backup policy="telnet,ssh,ftp,read,write,policy,test,sniff,sensitive,\ + !local,!reboot,!winbox,!password,!web,!api,!romon,!rest-api" +add name=manager policy="local,ssh,ftp,read,write,policy,api,rest-api,!telnet,\ + !reboot,!test,!winbox,!password,!web,!sniff,!sensitive,!romon" +/certificate settings +set builtin-trust-store=all crl-use=yes +/container config +set memory-high=200.0MiB tmpdir=/usb1/pull +/container envs +add key=AWG_CLIENT_PUB list=awg2vds-env value=\ + "wKjZCDbLW8snQ4SwLB5zGO+PjvCErnDUSXtogJaZf3Q=" +add key=AWG_H1 list=awg2vds-env value=1189447486-1189448396 +add key=AWG_H2 list=awg2vds-env value=538303610-538304276 +add key=AWG_H3 list=awg2vds-env value=101001960-101002598 +add key=AWG_H4 list=awg2vds-env value=1783887443-1783887851 +add key=AWG_I1 list=awg2vds-env value="" +add key=AWG_I2 list=awg2vds-env value="" +add key=AWG_I3 list=awg2vds-env value="" +add key=AWG_I4 list=awg2vds-env value="" +add key=AWG_I5 list=awg2vds-env value="" +add key=AWG_JC list=awg2vds-env value=6 +add key=AWG_JMAX list=awg2vds-env value=481 +add key=AWG_JMIN list=awg2vds-env value=171 +add key=AWG_LISTEN list=awg2vds-env value=:51820 +add key=AWG_PREV_DNS list=awg2vds-env value=89.110.101.17,10.30.30.33,8.8.4.4 +add key=AWG_PREV_TMPDIR list=awg2vds-env value="" +add key=AWG_REMOTE list=awg2vds-env value=109.107.177.79:443 +add key=AWG_S1 list=awg2vds-env value=50 +add key=AWG_S2 list=awg2vds-env value=139 +add key=AWG_S3 list=awg2vds-env value=17 +add key=AWG_S4 list=awg2vds-env value=6 +add key=AWG_SERVER_PUB list=awg2vds-env value=\ + "qHFd72XDJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=" +/disk settings +set auto-media-interface=Bridge-Lan +/ip smb +set domain=WORKGROUP enabled=no interfaces=lo +/interface bridge port +add bridge=Bridge-Lan interface=ether2 +add bridge=Bridge-Lan interface=ether3 +add bridge=Bridge-Lan interface=ether4 +add bridge=Bridge-Lan interface=ether5 +add bridge=Bridge-Lan interface=wlan1 +add bridge=Bridge-Lan interface=wlan2 +/interface bridge settings +set allow-fast-path=no use-ip-firewall=yes +/ip neighbor discovery-settings +set discover-interface-list=LAN +/ip settings +set accept-redirects=yes allow-fast-path=no +/ipv6 settings +set accept-router-advertisements-on=none allow-fast-path=no disable-ipv6=yes \ + disable-link-local-address=yes +/interface detect-internet +set detect-interface-list=static internet-interface-list=WAN \ + lan-interface-list=LAN wan-interface-list=WAN +/interface list member +add interface="ether1 - Unet" list=Internet +add interface=Bridge-Lan list=LAN +/interface wireguard peers +add allowed-address=10.10.10.1/24,10.30.30.0/24,0.0.0.0/0 endpoint-address=\ + 172.20.200.70 endpoint-port=51820 interface=wg-awg2vds name=peer1 \ + persistent-keepalive=10s public-key=\ + "qHFd72XDJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=" +/interface wireless cap +# +set bridge=Bridge-Lan caps-man-addresses=10.30.30.10 \ + caps-man-certificate-common-names=CAPsMAN-2C900E832E04 certificate=\ + CAP-18FD746E5814 discovery-interfaces=Bridge-Lan enabled=yes interfaces=\ + wlan1,wlan2 lock-to-caps-man=yes +/ip address +add address=10.30.30.81/24 interface=Bridge-Lan network=10.30.30.0 +add address=172.20.200.69/30 interface=veth-awg2vds network=172.20.200.68 +add address=10.10.10.2/24 interface=wg-awg2vds network=10.10.10.0 +/ip cloud +set ddns-enabled=yes +/ip dhcp-client +add check-gateway=bfd default-route-tables=main:1 dhcp-options=\ + clientid,clientid_duid interface="ether1 - Unet" name=client1 \ + use-peer-dns=no use-peer-ntp=no +/ip dhcp-server config +set accounting=no +/ip dhcp-server lease +add address=10.30.30.101 client-id=1:48:8f:5a:8e:ee:a8 mac-address=\ + 48:8F:5A:8E:EE:A8 server=masterDHCP +add address=10.30.30.107 client-id=1:f0:de:f1:91:d:1e mac-address=\ + F0:DE:F1:91:0D:1E server=masterDHCP +add address=10.30.30.83 client-id=1:0:80:77:ec:43:86 mac-address=\ + 00:80:77:EC:43:86 server=masterDHCP +add address=10.30.30.50 client-id=1:4:7c:16:36:f5:37 mac-address=\ + 04:7C:16:36:F5:37 server=masterDHCP +add address=10.30.30.71 client-id=1:10:2d:41:2c:20:c2 mac-address=\ + 10:2D:41:2C:20:C2 server=masterDHCP +add address=10.30.30.61 client-id=1:10:8:c1:81:59:5f mac-address=\ + 10:08:C1:81:59:5F server=masterDHCP +add address=10.30.30.72 client-id=1:10:38:1f:d2:5f:13 mac-address=\ + 10:38:1F:D2:5F:13 server=masterDHCP +add address=10.30.30.99 client-id=1:10:b1:df:e9:d0:d5 mac-address=\ + 10:B1:DF:E9:D0:D5 server=masterDHCP +add address=10.30.30.111 client-id=1:fe:2:52:be:3f:16 mac-address=\ + FE:02:52:BE:3F:16 server=masterDHCP +add address=10.30.30.92 client-id=1:d4:6d:6d:fd:e5:49 mac-address=\ + D4:6D:6D:FD:E5:49 server=masterDHCP +add address=10.30.30.93 client-id=1:7e:8b:1e:cb:b8:cb mac-address=\ + CC:42:10:12:46:94 server=masterDHCP +add address=10.30.30.94 client-id=1:50:cc:f8:85:96:a mac-address=\ + 50:CC:F8:85:96:0A server=masterDHCP +add address=10.30.30.82 client-id=1:e4:18:6b:58:34:ab mac-address=\ + E4:18:6B:58:34:AB server=masterDHCP +add address=10.30.30.75 client-id=1:0:27:15:41:97:a9 mac-address=\ + 00:27:15:41:97:A9 server=masterDHCP +add address=10.30.30.77 dhcp-option=HostName dhcp-option-set=StartLife1 \ + mac-address=C4:82:E1:03:49:10 server=masterDHCP +add address=10.30.30.73 client-id=1:10:38:1f:82:81:f2 mac-address=\ + 10:38:1F:82:81:F2 server=masterDHCP +add address=10.30.30.96 client-id=iPhone mac-address=4A:91:ED:0E:1F:39 \ + server=masterDHCP +add address=10.30.30.74 client-id=MiTV dhcp-option=HostName dhcp-option-set=\ + MiTV mac-address=20:72:A9:D3:34:36 server=masterDHCP +/ip dhcp-server network +add address=10.30.30.0/24 caps-manager=10.30.30.10 dhcp-option=\ + domain-search-list dhcp-option-set=domain-search-set dns-server=\ + 10.30.30.81 domain=WORKGROUP gateway=10.30.30.81 netmask=24 ntp-server=\ + 10.30.30.81,10.30.30.10 wins-server=10.30.30.95,10.30.30.98 +/ip dns +set allow-remote-requests=yes servers=10.10.10.1 +/ip dns static +add address=10.30.30.81 comment=defconf name=router.lan type=A +add address=10.30.30.81 comment=defconf name=master type=A +add address=10.30.30.33 comment=amster name=amster.vados.ru type=A +add address=8.8.8.8 name=dns.google type=A +add address=8.8.4.4 name=dns.google type=A +add address=1.0.0.1 comment="CloudFlare-doh IPv4 2" name=\ + security.cloudflare-dns.com type=A +add address=1.1.1.1 comment="CloudFlare-doh IPv4 1" disabled=yes name=\ + security.cloudflare-dns.com type=A +add address=149.112.112.112 comment="Cuad9-dns IPv4 2" disabled=yes name=\ + dns.quad9.net type=A +add address=9.9.9.9 comment="Cuad9-dns IPv4 1" disabled=yes name=\ + dns.quad9.net type=A +add address=91.192.189.2 comment=Unet-DNS disabled=yes name=ns1.unet.ws type=\ + A +add address=91.192.189.2 comment=Unet-DNS disabled=yes name=ns1.unet.ws type=\ + A +/ip firewall address-list +add address=10.0.0.0/8 list=RFC1918 +add address=172.16.0.0/12 list=RFC1918 +add address=192.168.0.0/16 list=RFC1918 +add address=91.215.120.206 list=TRUSTED +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=8.8.4.4 disabled=yes list=to_vpn +add address=10.30.30.98 comment=vados-len list=Local2Vpn +add address=89.110.101.17 list=VDS +add address=109.107.177.79 list=TRUSTED +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=2ip.ru list=Test +add address=89.110.101.17 comment=VDSIna list=TRUSTED +add address=10.8.0.0/24 comment="WG VDSIna" list=TRUSTED +add address=ikus.pesc.ru comment=ikus.pesc.ru list=NoVdsina +add address=love.ru comment=love.ru list=NoVdsina +add address=gosuslugi.ru comment=gosuslugi.ru list=NoVdsina +add address=pochta.ru comment=pochta.ru list=NoVdsina +add address=vdsina.com comment=vdsina.com list=NoVdsina +add address=vdsina.ru comment=vdsina.ru list=NoVdsina +add address=youla.ru comment=youla.ru list=NoVdsina +add address=kupiprodai.ru comment=kupiprodai.ru list=NoVdsina +add address=myip.ru list=Test +add address=geoip.co comment=geoip.co list=NoVdsina +add address=x.com list=Twitter +add address=facebook.com list=facebook +add address=fbcd.net list=facebook +add address=comp-lenta.ru comment=comp-lenta.ru list=NoVdsina +add address=128.85.102.70 comment=update.microsoft.com list=\ + windowsupdateslist +add address=wu-b-net.trafficmanager.net. comment=\ + ctldl.windowsupdate.com.delivery.microsoft.com list=windowsupdateslist +add address=ctldl.windowsupdate.com.delivery.microsoft.com. comment=\ + ctldl.windowsupdate.com list=windowsupdateslist +add address=redir.update.msft.com.trafficmanager.net. comment=\ + update.microsoft.com list=windowsupdateslist +add address=geo.prod.do.dsp.trafficmanager.net. comment=\ + geo.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=13.74.139.29 comment=array605.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e12437.d.akamaiedge.net. comment=\ + kv801.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=displaycatalog-rp.md.mp.microsoft.com.akadns.net. comment=\ + displaycatalog.mp.microsoft.com list=windowsupdateslist +add address=rp-consumer-prod-displaycatalog-geomap.trafficmanager.net. \ + comment=displaycatalog-rp.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=sls.update.microsoft.com. comment=slscr.update.microsoft.com \ + list=windowsupdateslist +add address=glb.sls.prod.dcat.dsp.trafficmanager.net. comment=\ + sls.update.microsoft.com list=windowsupdateslist +add address=fe3.delivery.mp.microsoft.com. comment=\ + fe3cr.delivery.mp.microsoft.com list=windowsupdateslist +add address=glb.cws.prod.dcat.dsp.trafficmanager.net. comment=\ + fe3.delivery.mp.microsoft.com list=windowsupdateslist +add address=fe2cr.update.msft.com.trafficmanager.net. comment=\ + fe2cr.update.microsoft.com list=windowsupdateslist +add address=download.windowsupdate.com.delivery.microsoft.com. comment=\ + download.windowsupdate.com list=windowsupdateslist +add address=wu-f-net.trafficmanager.net. comment=\ + download.windowsupdate.com.delivery.microsoft.com list=windowsupdateslist +add address=tsfe.trafficmanager.net. comment=\ + tsfe.trafficshaping.dsp.mp.microsoft.com list=windowsupdateslist +add address=edge.ds-c7110-microsoft.global.dns.qwilted-cds.cqloud.com. \ + comment=9.au.download.windowsupdate.com list=windowsupdateslist +add address=52.158.227.125 comment=array812.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=au.download.windowsupdate.com.delivery.microsoft.com. comment=\ + au.download.windowsupdate.com list=windowsupdateslist +add address=a767.dspw65.akamai.net. comment=\ + download.windowsupdate.com.edgesuite.net list=windowsupdateslist +add address=52.151.58.88 comment=array810.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=consumer-licensing-aks2aks.md.mp.microsoft.com.akadns.net. \ + comment=licensing.mp.microsoft.com list=windowsupdateslist +add address=licensing-prod-frontdoor-geomap.trafficmanager.net. comment=\ + consumer-licensing-aks2aks.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=star.f.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.f.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-nlu-net.trafficmanager.net. comment=\ + star.f.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=star.b.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.b.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-tlu-net.trafficmanager.net. comment=\ + star.b.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=storeedgefd.xbetservices.akadns.net. comment=\ + storeedgefd.dsx.mp.microsoft.com list=windowsupdateslist +add address=\ + storeedgefd.dsx.mp.microsoft.com.edgekey.net.globalredir.akadns.net. \ + comment=storeedgefd.dsx.mp.microsoft.com.edgekey.net list=\ + windowsupdateslist +add address=e16646.dscg.akamaiedge.net. comment=\ + storeedgefd.dsx.mp.microsoft.com.edgekey.net.globalredir.akadns.net list=\ + windowsupdateslist +add address=40.69.76.189 comment=array621.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=bg.microsoft.map.fastly.net. comment=\ + 3.au.download.windowsupdate.com list=windowsupdateslist +add list=windowsupdateslist +add address=40.69.75.33 comment=array613.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=star.sf.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedgeextensions.sf.tlu.dl.delivery.mp.microsoft.com list=\ + windowsupdateslist +add address=cdp-f-ssl-tlu-net.trafficmanager.net. comment=\ + star.sf.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a2033.dscd.akamai.net. comment=\ + star.sb.tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=13.74.138.242 comment=array602.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=dl.delivery.mp.microsoft.com.delivery.microsoft.com. comment=\ + dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-f-nlu-net.trafficmanager.net. comment=\ + dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=1d.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=1D.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-b-tlu-net.trafficmanager.net. comment=\ + 1d.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a122.dscg3.akamai.net. comment=\ + tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=windowsupdateslist +add address=geover.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + geover.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e10370.d.akamaiedge.net. comment=\ + geover.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=52.232.182.21 comment=array511.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.70.77.95 comment=array519.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=a1683.dscd.akamai.net. comment=\ + dl.delivery.mp.microsoft.com-c.edgesuite.net list=windowsupdateslist +add address=consumer-collections-aks2eap.md.mp.microsoft.com.akadns.net. \ + comment=collections.mp.microsoft.com list=windowsupdateslist +add address=a1847.dscd.akamai.net. comment=\ + wildcard.f.tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=13.74.142.6 comment=array607.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=au.download.windowsupdate.com.edgesuite.net. comment=\ + 2.au.download.windowsupdate.com list=windowsupdateslist +add address=a767.dscg3.akamai.net. comment=\ + au.download.windowsupdate.com.edgesuite.net list=windowsupdateslist +add address=52.156.123.84 comment=array818.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.78.254 comment=array610.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=4.au.download.windowsupdate.com.delivery.microsoft.com. comment=\ + 4.au.download.windowsupdate.com list=windowsupdateslist +add address=cl-glcb907925.gcdn.co. comment=\ + 4.au.download.windowsupdate.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.111 comment=array510.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.69.70.43 comment=array623.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=tsfe.trafficshaping.dsp.mp.microsoft.com.delivery.microsoft.com. \ + comment=tsfe.trafficshaping.dsp.mp.microsoft.com list=windowsupdateslist +add address=ts-frontend.trafficmanager.net. comment=\ + tsfe.trafficshaping.dsp.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=40.69.75.248 comment=array616.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.74.84 comment=array615.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=sds.trafficmanager.net. comment=software-download.microsoft.com \ + list=windowsupdateslist +add address=40.69.74.80 comment=array611.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.175.242.182 comment=array804.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=dlc-shim.trafficmanager.net. comment=download.microsoft.com list=\ + windowsupdateslist +add address=e12671.dscd.akamaiedge.net. comment=\ + download.microsoft.com.edgekey.net list=windowsupdateslist +add address=20.187.55.34 comment=array808.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.231 comment=array513.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=52.167.222.13 comment=array518.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv601.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv601.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e12358.d.akamaiedge.net. comment=\ + kv601.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. comment=\ + tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-f-tlu-net.trafficmanager.net. comment=\ + tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a1856.dspw65.akamai.net. comment=\ + tlu.dl.delivery.mp.microsoft.com-c.edgesuite.net list=windowsupdateslist +add address=52.167.164.252 comment=array506.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=13.74.137.54 comment=array601.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv501.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv501.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=collections-prod-frontdoor-geomap.trafficmanager.net. comment=\ + consumer-collections-aks2eap.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=52.167.160.173 comment=array509.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.70.77.148 comment=array516.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.200.126 comment=array507.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=52.167.167.59 comment=array508.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.76.172 comment=array620.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=82.202.162.184 comment=comp-lenta.ru list=NoWG +add address=smtp.mail.me.com.akadns.net. comment=smtp.mail.me.com list=NoWG +add address=17.57.155.37 comment=smtp.mail.me.com.akadns.net list=NoWG +add address=smtp.mail.me.com comment=smtp.mail.me.com list=NoVdsina +add address=40.70.76.5 comment=array514.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.186.119 comment=array618.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.177.176.186 comment=array520.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.70.76.27 comment=array515.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.160.43 comment=array503.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.110 comment=array817.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.142.8 comment=array614.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.138.254 comment=array603.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.96 comment=array501.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.76.215 comment=array622.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.143.200 comment=array606.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.111 comment=array818.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.112 comment=array819.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.137.53 comment=array608.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.98 comment=array805.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.96 comment=array803.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.104 comment=array811.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.101 comment=array808.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.99 comment=array806.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.17 comment=array802.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.97 comment=array804.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.103 comment=array810.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.16 comment=array801.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.70.77.177 comment=array517.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.164.84 comment=array512.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.105 comment=array812.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.107 comment=array814.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.232.161.82 comment=array502.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.108 comment=array815.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.161.91 comment=array505.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.102 comment=array809.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.109 comment=array816.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.106 comment=array813.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.117 comment=array622.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.107 comment=array612.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.108 comment=array613.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.105 comment=array610.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.113 comment=array618.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.116 comment=array621.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.98 comment=array603.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.114 comment=array619.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.111 comment=array616.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.97 comment=array602.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.106 comment=array611.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.110 comment=array615.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.119 comment=array624.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.135 comment=array514.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.97 comment=array503.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.99 comment=array604.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.61 comment=array504.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.131 comment=array510.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.132 comment=array511.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.96 comment=array601.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.104 comment=array609.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.138 comment=array517.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.60 comment=array501.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.139 comment=array518.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.118 comment=array623.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.113 comment=array820.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.103 comment=array608.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.100 comment=array807.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.129 comment=array508.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.134 comment=array513.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.62 comment=array505.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.137 comment=array516.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.101 comment=array606.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.96 comment=array502.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.130 comment=array509.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.112 comment=array617.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.100 comment=array605.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.115 comment=array620.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.136 comment=array515.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=purchase.md.mp.microsoft.com.akadns.net. comment=\ + purchase.mp.microsoft.com list=windowsupdateslist +add address=e110219.a.akamaiedge.net. comment=\ + purchase.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=72.153.5.140 comment=array519.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.141 list=windowsupdateslist +add address=72.153.5.63 comment=array506.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.128 comment=array507.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.102 comment=array607.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=storesdk.xbetservices.akadns.net. comment=\ + storesdk.dsx.mp.microsoft.com list=windowsupdateslist +add address=e16646.g.akamaiedge.net. comment=\ + storesdk.dsx.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=software-download.microsoft.com.delivery.microsoft.com. comment=\ + software-download.microsoft.com list=windowsupdateslist +add address=download.prss.microsoft.com.akamaized.net. comment=\ + software-download.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.109 comment=array614.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.133 comment=array512.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=213.180.192.0/19 comment=YandexDisk list=NoVdsina +add address=87.250.250.50 comment=YandexDisk list=NoVdsina +add address=consumer-prod-bcfd-v7-afd.trafficmanager.net. comment=\ + displaycatalog.mp.microsoft.com list=windowsupdateslist +add address=purchase-europeeap.md.mp.microsoft.com.akadns.net. comment=\ + purchase.md.mp.microsoft.com.akadns.net list=windowsupdateslist +add address=ne-az-conspurchase-mp.trafficmanager.net. comment=\ + purchase-europeeap.md.mp.microsoft.com.akadns.net list=windowsupdateslist +add address=storeedgefd.dsx.mp.microsoft.com.edgekey.net. comment=\ + cdn.storeedgefd.dsx.mp.microsoft.com list=windowsupdateslist +add address=star.f.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.f.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=a1996.dscd.akamai.net. comment=\ + wildcard.f.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=cp801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + cp801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=glb.tas02.sls-prod.dcat.dsp.mp.microsoft.com. comment=\ + tas02.sls.update.microsoft.com list=windowsupdateslist +add address=cp601.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + cp601.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=star.sb.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedgeextensions.sb.tlu.dl.delivery.mp.microsoft.com list=\ + windowsupdateslist +add address=star.sf.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.sf.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-ssl-nlu-net.trafficmanager.net. comment=\ + star.sf.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=tm-pifd-prod-gbl-weight.trafficmanager.net. comment=\ + paymentinstruments.mp.microsoft.com list=windowsupdateslist +add address=10.30.30.33 comment=NUC disabled=yes list=NoWG +add address=10.30.30.10 comment=MikroNUC disabled=yes list=NoWG +add address=89.110.101.17 comment=!!!VDSINA!!!! disabled=yes list=NoWG +add address=wg.vados.ru comment=VDSina-vpn list=Trusted-VPN +add address=80.85.244.9 list=TRUSTED +add address=disc801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + disc801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=vdsina.vados.ru comment="!!!VDSina Server!!!" list=NoVdsina +add address=dns.quad9.net comment=Quad9-dns disabled=yes list=Trusted-DNS +add address=dns.google comment=Google-dns list=Trusted-DNS +add address=security.cloudflare-dns.com comment=CloudFlare-dns list=\ + Trusted-DNS +add address=time.google.com comment=Google-time list=Trusted-NTP +add address=0.ru.pool.ntp.org comment=ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=1.ru.pool.ntp.org disabled=yes list=Trusted-NTP +add address=2.ru.pool.ntp.org comment=2.ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=3.ru.pool.ntp.org comment=3.ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=cp.vdsina.com comment=VDSina-vpn list=Trusted-VPN +add address=vdsina.ru comment=VDSina-vpn list=Trusted-VPN +add address=ns.vados.ru comment=VDSina-vpn list=Trusted-VPN +add address=vdsina.com comment=VDSina-vpn list=Trusted-VPN +add address=cp.vdsina.ru comment=VDSina-vpn list=Trusted-VPN +add address=ns1.vdsina.ru comment=VDSina-vpn list=Trusted-VPN +add address=ghcr.io comment=GitHub list=Trusted-VPN +add address=github.com comment=GitHub list=Trusted-VPN +add address=149.154.164.13 comment=telegra.ph list=FuckRKN +add address=194.85.61.76 comment=grani.ru list=FuckRKN +add address=109.70.26.37 comment=grani.ru list=FuckRKN +add address=104.16.4.81 comment=xhamster.com list=FuckRKN +add address=104.16.3.81 comment=xhamster.com list=FuckRKN +add address=188.114.96.1 comment=lostfilm.tv list=FuckRKN +add address=188.114.97.1 comment=lostfilm.tv list=FuckRKN +add address=172.67.182.196 comment=rutracker.org list=FuckRKN +add address=104.21.32.39 comment=rutracker.org list=FuckRKN +add address=104.247.81.99 comment=lurkmore.to list=FuckRKN +add address=8.47.69.6 comment=dou.ua list=FuckRKN +add address=8.6.112.6 comment=dou.ua list=FuckRKN +add address=66.254.114.79 comment=youporn.com list=FuckRKN +add address=185.110.92.40 comment=pornolab.net list=FuckRKN +add address=185.110.92.41 comment=pornolab.net list=FuckRKN +add address=104.21.71.238 comment=crimerussia.com list=FuckRKN +add address=172.67.172.95 comment=crimerussia.com list=FuckRKN +add address=149.154.167.99 comment=telegram.org list=FuckRKN +add address=149.154.166.110 comment=api.telegram.org list=FuckRKN +add address=myip.ru comment="!!! Check IP (MYIP.RU) !!!" disabled=yes list=\ + NoVdsina +add address=ipinfo.io comment="!!! Check IP (IPINFO.IO) !!!" list=NoVdsina +/ip firewall filter +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=12h chain=input comment="block honeypot DNS UDP" \ + connection-state=new dst-port=53 in-interface="ether1 - Unet" protocol=\ + udp src-address-list=!VDS +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment="block honeypot DNS TCP" \ + connection-state=new dst-port=53 in-interface="ether1 - Unet" protocol=\ + tcp src-address-list=!VDS +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment="block honeypot NTP" \ + connection-state=new dst-port=123 in-interface="ether1 - Unet" protocol=\ + udp +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment="block honeypot asterisk" \ + connection-state=new dst-port=5060 in-interface="ether1 - Unet" protocol=\ + udp +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment=\ + "block honeypot ssh rdp winbox" connection-state=new dst-port=22,8291 \ + in-interface-list=WAN protocol=tcp src-address-list=!TRUSTED +add action=accept chain=input comment=\ + "defconf: accept established,related,untracked" connection-state=\ + established,related,untracked +add action=drop chain=input comment="defconf: drop invalid" connection-state=\ + invalid +add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp +add action=accept chain=input comment=\ + "defconf: accept to local loopback (for CAPsMAN)" disabled=yes \ + dst-address=127.0.0.1 in-interface=lo src-address=127.0.0.1 +add action=drop chain=input comment="defconf: drop all not coming from LAN" \ + in-interface-list=!LAN +add action=accept chain=forward comment="defconf: accept in ipsec policy" \ + disabled=yes ipsec-policy=in,ipsec +add action=accept chain=forward comment="defconf: accept out ipsec policy" \ + disabled=yes ipsec-policy=out,ipsec +add action=accept chain=forward comment=\ + "defconf: accept established,related, untracked" connection-state=\ + established,related,untracked +add action=drop chain=forward comment="defconf: drop invalid" \ + connection-state=invalid +add action=drop chain=forward comment=\ + "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \ + in-interface-list=WAN +/ip firewall mangle +add action=accept chain=prerouting dst-address-list=RFC1918 \ + in-interface-list=!WAN +add action=mark-connection chain=prerouting comment="NO VPN" disabled=yes \ + dst-address-list=NoVdsina in-interface-list=!WAN new-connection-mark=\ + To-ISP +add action=mark-routing chain=prerouting comment=All2vpn connection-mark=\ + !To-ISP disabled=yes dst-address=!89.110.101.17 dst-address-list=\ + !NoVdsina new-routing-mark=To-VPN src-address=10.30.30.0/24 \ + src-address-list=!NoWG +add action=change-mss chain=forward comment="MSS on WG" connection-mark=\ + !To-ISP disabled=yes in-interface-list=!WAN new-mss=1380 protocol=tcp \ + tcp-flags=syn tcp-mss=1381-65535 +add action=mark-routing chain=prerouting connection-mark=to-vpn-conn \ + disabled=yes new-routing-mark=To-VPN routing-mark=To-VPN src-address=\ + 10.30.30.0/24 +add action=mark-connection chain=prerouting comment=\ + "Mark VPN connections to exclude from FastTrack" disabled=yes \ + in-interface=wg-awg2vds log-prefix=Mark-VPN-FT new-connection-mark=\ + VPN_No_FastTrack +add action=accept chain=prerouting comment="SSH To ME" disabled=yes \ + dst-address=10.30.30.81 dst-port=2222 in-interface-list=!WAN protocol=tcp \ + src-address=10.30.30.0/24 +add action=mark-routing chain=prerouting comment="VPN Network" disabled=yes \ + dst-address=10.8.0.0/24 log-prefix=VPN-Net new-routing-mark=To-VPN \ + src-address=10.30.30.0/24 +/ip firewall nat +add action=masquerade chain=srcnat comment="Default NAT" dst-address=\ + !10.30.30.0/24 ipsec-policy=out,none out-interface="ether1 - Unet" \ + routing-mark=!To-VPN src-address=10.30.30.0/24 +add action=masquerade chain=srcnat comment="NAT for VPN" disabled=yes \ + out-interface=lo routing-mark=To-VPN +add action=dst-nat chain=dstnat comment="dst-nat for acme" dst-port=80 \ + in-interface="ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 \ + to-ports=80 +add action=dst-nat chain=dstnat comment="dst-nat for amster HTTPS" dst-port=\ + 443 in-interface="ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 \ + to-ports=443 +add action=dst-nat chain=dstnat comment="dst-nat for amster ssh" disabled=yes \ + dst-port=22 protocol=tcp src-address-list=VDS to-addresses=10.30.30.33 \ + to-ports=22 +add action=dst-nat chain=dstnat comment="dst-nat for amster DNS (TCP)" \ + dst-port=53 in-interface="ether1 - Unet" protocol=tcp src-address-list=\ + VDS to-addresses=10.30.30.33 to-ports=53 +add action=dst-nat chain=dstnat comment="dst-nat for amster DNS (UDP)" \ + dst-port=53 in-interface="ether1 - Unet" protocol=udp src-address-list=\ + VDS to-addresses=10.30.30.33 to-ports=53 +add action=masquerade chain=srcnat src-address=172.20.200.68/30 +/ip firewall service-port +set ftp disabled=yes +set tftp disabled=yes +set irc disabled=no +set sip disabled=yes +set pptp disabled=yes +set rtsp disabled=no +/ip hotspot user profile +set [ find default=yes ] address-pool=dhcp +/ip route +add check-gateway=ping disabled=yes distance=1 dst-address=10.10.10.0/24 \ + gateway=10.30.30.33 routing-table=main scope=30 target-scope=10 +add comment=awg2all-dns disabled=yes distance=1 dst-address=10.9.0.1/32 \ + gateway=wg-awg2vds +add comment=awg2all-dns disabled=yes distance=1 dst-address=8.8.4.4/32 \ + gateway=wg-awg2vds +add comment=awg2vds-dns distance=1 dst-address=10.10.10.1/32 gateway=\ + wg-awg2vds +/ip service +set ftp disabled=yes +set telnet disabled=yes +set www disabled=yes port=188 +set reverse-proxy disabled=yes +set ssh port=2222 +set api disabled=yes +set api-ssl disabled=yes +/ip service webserver +set acme-plain=no crl-plain=no graphs-plain=no graphs-secure=no index-plain=\ + no index-secure=no rest-plain=no rest-secure=no scep-plain=no \ + webfig-plain=no webfig-secure=no +/ip ssh +set forwarding-enabled=both publickey-authentication-options=verify-required \ + strong-crypto=yes +/ip upnp +set enabled=yes +/ip upnp interfaces +add interface="ether1 - Unet" type=external +/ipv6 firewall filter +add action=accept chain=input comment=\ + "defconf: accept established,related,untracked" connection-state=\ + established,related,untracked disabled=yes +add action=drop chain=input comment="defconf: drop invalid" connection-state=\ + invalid disabled=yes +add action=accept chain=input comment="defconf: accept ICMPv6" disabled=yes \ + protocol=icmpv6 +add action=accept chain=input comment="defconf: accept UDP traceroute" \ + disabled=yes dst-port=33434-33534 protocol=udp +add action=accept chain=input comment=\ + "defconf: accept DHCPv6-Client prefix delegation." disabled=yes dst-port=\ + 546 protocol=udp src-address=fe80::/10 +add action=accept chain=input comment="defconf: accept IKE" disabled=yes \ + dst-port=500,4500 protocol=udp +add action=accept chain=input comment="defconf: accept ipsec AH" disabled=yes \ + protocol=ipsec-ah +add action=accept chain=input comment="defconf: accept ipsec ESP" disabled=\ + yes protocol=ipsec-esp +add action=accept chain=input comment=\ + "defconf: accept all that matches ipsec policy" disabled=yes \ + ipsec-policy=in,ipsec +add action=drop chain=input comment=\ + "defconf: drop everything else not coming from LAN" disabled=yes \ + in-interface-list=!LAN +add action=fasttrack-connection chain=forward comment="defconf: fasttrack6" \ + connection-state=established,related +add action=accept chain=forward comment=\ + "defconf: accept established,related,untracked" connection-state=\ + established,related,untracked +add action=drop chain=forward comment="defconf: drop invalid" \ + connection-state=invalid +add action=drop chain=forward comment=\ + "defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6 +add action=drop chain=forward comment=\ + "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6 +add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \ + hop-limit=equal:1 protocol=icmpv6 +add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\ + icmpv6 +add action=accept chain=forward comment="defconf: accept HIP" protocol=139 +add action=accept chain=forward comment="defconf: accept IKE" dst-port=\ + 500,4500 protocol=udp +add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\ + ipsec-ah +add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\ + ipsec-esp +add action=accept chain=forward comment=\ + "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec +add action=drop chain=forward comment=\ + "defconf: drop everything else not coming from LAN" in-interface-list=\ + !LAN +/system clock +set time-zone-autodetect=no time-zone-name=Europe/Moscow +/system identity +set name=MikroMaster +/system ntp client +set enabled=yes +/system ntp server +set enabled=yes manycast=yes multicast=yes use-local-clock=yes +/system ntp client servers +add address=time.google.com +/system scheduler +add comment="Every Day Set Global Environment Variables" name=AM-SetGlobalEnv \ + on-event="/system/script { run AM-GlobalConfig; run AM-GlobalFunc; }" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Update Scripts" interval=1d name=\ + AM-ScriptInstallUpdate on-event=\ + ":global ScriptInstallUpdate; \$ScriptInstallUpdate;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +/tool e-mail +set certificate-verification=no from=MikroVados port=587 \ + server=smtp.mail.me.com tls=starttls user=vadossio@icloud.com +/tool netwatch +add comment="doh-fallback, doh-url=https://security.cloudflare-dns.com/dns-que\ + ry, doh-cert=DigiCert Global Root CA, notify, name=CloudFlare-doh IPv4 1" \ + disabled=yes host=1.1.1.1 type=simple +add comment="doh, doh-url=https://security.cloudflare-dns.com/dns-query, doh-c\ + ert=DigiCert Global Root CA, notify, name=CloudFlare-doh IPv4 2" \ + disabled=yes host=1.0.0.1 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.google/dns-query,\ + \_doh-cert=DigiCert Global Root G2, notify, name=Google-doh IPv4 1" \ + disabled=yes host=8.8.8.8 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.google/dns-query,\ + \_doh-cert=DigiCert Global Root G2, notify, name=Google-doh IPv4 2" \ + disabled=yes host=8.8.4.4 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.quad9.net/dns-que\ + ry, doh-cert=DigiCert Global Root G3, notify, name=Cuad9-doh IPv4 1" \ + disabled=yes host=9.9.9.9 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.quad9.net/dns-que\ + ry, doh-cert=DigiCert Global Root G3, notify, name=Cuad9-doh IPv4 2" \ + disabled=yes host=149.112.112.112 type=simple +add comment="dns, notify, name=ns1.unet.ws" disabled=yes host=91.192.189.2 \ + type=simple +/user aaa +set accounting=no diff --git a/MikroMaster/history/20260817/20260817190002-Diff-Config.rsc b/MikroMaster/history/20260817/20260817190002-Diff-Config.rsc new file mode 100644 index 0000000..b736361 --- /dev/null +++ b/MikroMaster/history/20260817/20260817190002-Diff-Config.rsc @@ -0,0 +1,106 @@ +18,22d17 +< /interface veth +< add address=172.20.200.70/30 container-mac-address=00:00:00:00:00:00 dhcp=no \ +< gateway=172.20.200.69 gateway6="" name=veth-awg2vds +< /interface wireguard +< add disabled=yes listen-port=26084 mtu=1420 name=wg-awg2vds +552,591d546 +< add comment=awg2vds dont-require-permissions=no name=awg2vds-uninstall owner=\ +< vados policy=\ +< ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ +< \n :put \"Uninstallimg AmneziaWG...\"\ +< \n :log info \"Uninstallimg AmneziaWG...\"\ +< \n :local prevDNS \"\"\ +< \n :do { :set prevDNS [/container/envs/get [find where list=\"awg2vds-env\ +< \" key=\"AWG_PREV_DNS\"] value] } on-error={}\ +< \n :local prevTmpdir \"\"\ +< \n :do { :set prevTmpdir [/container/envs/get [find where list=\"awg2vds-\ +< env\" key=\"AWG_PREV_TMPDIR\"] value] } on-error={}\ +< \n /ip/route/remove [find where comment=awg2vds-tunnel]\ +< \n /ip/route/remove [find where comment=awg2vds-dns]\ +< \n /container/stop [find where interface=veth-awg2vds]\ +< \n :delay 7s\ +< \n /container/remove [find where interface=veth-awg2vds]\ +< \n /container/envs/remove [find where list=\"awg2vds-env\"]\ +< \n :if (\$prevDNS != \"\") do={\ +< \n :do { /ip/dns/set servers=\"\$prevDNS\" } on-error={}\ +< \n :put (\"DNS restored to: \$prevDNS\")\ +< \n }\ +< \n /container/config set tmpdir=\$prevTmpdir\ +< \n :put (\"Container tmpdir restored to: \$prevTmpdir\")\ +< \n /ip/firewall/nat/remove [find where out-interface=\"wg-awg2vds\"]\ +< \n /ip/firewall/nat/remove [find where src-address=\"172.20.200.68/30\"]\ +< \n /ip/address/remove [find where address=\"172.20.200.69/30\"]\ +< \n /interface/veth/remove [find where name=\"veth-awg2vds\"]\ +< \n /interface/wireguard/peers/remove [find where interface=\"wg-awg2vds\"\ +< ]\ +< \n /ip/address/remove [find where interface=\"wg-awg2vds\"]\ +< \n /interface/wireguard/remove [find where name=\"wg-awg2vds\"]\ +< \n :do { /file/remove [find where name~\"awg2vds.+tar\"] } on-error={}\ +< \n :do { /file/remove [find where name=\"usb1/awg2vds\"] } on-error={}\ +< \n :do { /file/remove [find where name=\"usb1/ru_ranges_timeout.rsc\"] } \ +< on-error={}\ +< \n :do { /file/remove [find where name~\"usb1/pull\"] } on-error={}\ +< \n :put \"Uninstall AmneziaWG Proxy complete!\"\ +< \n :log info \"Uninstall AmneziaWG Proxy complete!\"\ +< \n /system/script/remove [find where name=awg2vds-uninstall]\ +< \n" +600,626c555 +< set memory-high=200.0MiB tmpdir=/usb1/pull +< /container envs +< add key=AWG_CLIENT_PUB list=awg2vds-env value=\ +< "wKjZCDbLW8snQ4SwLB5zGO+PjvCErnDUSXtogJaZf3Q=" +< add key=AWG_H1 list=awg2vds-env value=1189447486-1189448396 +< add key=AWG_H2 list=awg2vds-env value=538303610-538304276 +< add key=AWG_H3 list=awg2vds-env value=101001960-101002598 +< add key=AWG_H4 list=awg2vds-env value=1783887443-1783887851 +< add key=AWG_I1 list=awg2vds-env value="" +< add key=AWG_I2 list=awg2vds-env value="" +< add key=AWG_I3 list=awg2vds-env value="" +< add key=AWG_I4 list=awg2vds-env value="" +< add key=AWG_I5 list=awg2vds-env value="" +< add key=AWG_JC list=awg2vds-env value=6 +< add key=AWG_JMAX list=awg2vds-env value=481 +< add key=AWG_JMIN list=awg2vds-env value=171 +< add key=AWG_LISTEN list=awg2vds-env value=:51820 +< add key=AWG_PREV_DNS list=awg2vds-env value=89.110.101.17,10.30.30.33,8.8.4.4 +< add key=AWG_PREV_TMPDIR list=awg2vds-env value="" +< add key=AWG_REMOTE list=awg2vds-env value=109.107.177.79:443 +< add key=AWG_S1 list=awg2vds-env value=50 +< add key=AWG_S2 list=awg2vds-env value=139 +< add key=AWG_S3 list=awg2vds-env value=17 +< add key=AWG_S4 list=awg2vds-env value=6 +< add key=AWG_SERVER_PUB list=awg2vds-env value=\ +< "qHFd72XDJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=" +--- +> set memory-high=200.0MiB +653,657d581 +< /interface wireguard peers +< add allowed-address=10.10.10.1/24,10.30.30.0/24,0.0.0.0/0 endpoint-address=\ +< 172.20.200.70 endpoint-port=51820 interface=wg-awg2vds name=peer1 \ +< persistent-keepalive=10s public-key=\ +< "qHFd72XDJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=" +666,667d589 +< add address=172.20.200.69/30 interface=veth-awg2vds network=172.20.200.68 +< add address=10.10.10.2/24 interface=wg-awg2vds network=10.10.10.0 +719c641 +< set allow-remote-requests=yes servers=10.10.10.1 +--- +> set allow-remote-requests=yes servers=89.110.101.17,10.30.30.33,8.8.4.4 +1283c1205 +< in-interface=wg-awg2vds log-prefix=Mark-VPN-FT new-connection-mark=\ +--- +> in-interface=*B log-prefix=Mark-VPN-FT new-connection-mark=\ +1312d1233 +< add action=masquerade chain=srcnat src-address=172.20.200.68/30 +1326c1247 +< gateway=wg-awg2vds +--- +> gateway="" +1328,1330c1249 +< gateway=wg-awg2vds +< add comment=awg2vds-dns distance=1 dst-address=10.10.10.1/32 gateway=\ +< wg-awg2vds +--- +> gateway="" -- 2.52.0