From daacbc705df29567ea383285b36774e6f76224d8 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 27 Jan 2024 19:33:56 +0000 Subject: [PATCH] added njc8l --- factor.nj | 794 +++++ njc/njc8l | Bin 0 -> 166681 bytes prog.asm | 8301 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 9095 insertions(+) create mode 100644 factor.nj create mode 100755 njc/njc8l create mode 100644 prog.asm diff --git a/factor.nj b/factor.nj new file mode 100644 index 0000000..ac408a3 --- /dev/null +++ b/factor.nj @@ -0,0 +1,794 @@ +// +// factor.nj -- factorize the numbers 10^n+1, n = 1..30 +// + +//-------------------------------------------------------------- + +// handle list of factors + +type List = record { + Integer value; + List next; +}; + +List addToList(Integer value, List next) { + local List newList; + newList = new(List); + newList.value = value; + newList.next = next; + return newList; +} + +List sortList(List list) { + local List result; + local List element; + local List p; + result = nil; + while (list != nil) { + element = list; + list = list.next; + if (result == nil || element.value < result.value) { + element.next = result; + result = element; + } else { + p = result; + while (p.next != nil && element.value >= p.next.value) { + p = p.next; + } + element.next = p.next; + p.next = element; + } + } + return result; +} + +void showList(List list) { + if (list == nil) { + writeString("1"); + } else { + while (true) { + writeInteger(list.value); + list = list.next; + if (list == nil) { + break; + } + writeString(" * "); + } + } + writeString("\n"); +} + +Integer evalList(List list) { + local Integer result; + result = 1; + while (list != nil) { + result = result * list.value; + list = list.next; + } + return result; +} + +List fuseLists(List list1, List list2) { + local List element; + while (list1 != nil) { + element = list1; + list1 = list1.next; + element.next = list2; + list2 = element; + } + return list2; +} + +//-------------------------------------------------------------- + +// compute 10^n+1 + +Integer computeTarget(Integer n) { + local Integer x; + local Integer i; + x = 1; + i = 0; + while (i < n) { + x = x * 10; + i = i + 1; + } + x = x + 1; + return x; +} + +void testComputeTarget() { + writeString("computeTarget()\n"); + writeString("---------------\n"); + writeString("target(1) = "); + writeInteger(computeTarget(1)); + writeString("\n"); + writeString("target(2) = "); + writeInteger(computeTarget(2)); + writeString("\n"); + writeString("target(3) = "); + writeInteger(computeTarget(3)); + writeString("\n"); + writeString("target(4) = "); + writeInteger(computeTarget(4)); + writeString("\n"); + writeString("\n"); +} + +//-------------------------------------------------------------- + +// build a table of small primes + +global Integer smallPrimesLimit; + +global Integer[] primes; +global Integer numPrimes; + +void showSmallPrimes() { + local Integer i; + local Integer k; + i = 0; + k = 0; + while (i < numPrimes) { + writeInteger(primes[i]); + writeString(" "); + k = k + 1; + if (k == 8) { + k = 0; + writeString("\n"); + } + i = i + 1; + } + if (k != 0) { + writeString("\n"); + } +} + +void enterSmallPrime(Integer p) { + local Integer n; + local Integer[] a; + local Integer i; + if (sizeof(primes) == numPrimes) { + n = 2 * numPrimes; + a = new(Integer[n]); + i = 0; + while (i < numPrimes) { + a[i] = primes[i]; + i = i + 1; + } + primes = a; + } + primes[numPrimes] = p; + numPrimes = numPrimes + 1; +} + +Boolean isPrime(Integer n) { + local Integer t; + t = 3; + while (t * t <= n) { + if (n % t == 0) { + return false; + } + t = t + 2; + } + return true; +} + +void calcSmallPrimes(Integer limit) { + local Integer i; + smallPrimesLimit = limit; + primes = new(Integer[256]); + numPrimes = 0; + enterSmallPrime(2); + enterSmallPrime(3); + i = 5; + while (true) { + if (i > smallPrimesLimit) { + break; + } + if (isPrime(i)) { + enterSmallPrime(i); + } + i = i + 2; + if (i > smallPrimesLimit) { + break; + } + if (isPrime(i)) { + enterSmallPrime(i); + } + i = i + 4; + } +} + +void testCalcSmallPrimes() { + writeString("calcSmallPrimes()\n"); + writeString("-----------------\n"); + writeString("primes less than or equal to 100:\n"); + calcSmallPrimes(100); + showSmallPrimes(); + writeString("number of primes less than or equal to 100: "); + writeInteger(numPrimes); + writeString("\n"); + calcSmallPrimes(1000); + writeString("number of primes less than or equal to 1000: "); + writeInteger(numPrimes); + writeString("\n"); + calcSmallPrimes(10000); + writeString("number of primes less than or equal to 10000: "); + writeInteger(numPrimes); + writeString("\n"); + calcSmallPrimes(100000); + writeString("number of primes less than or equal to 100000: "); + writeInteger(numPrimes); + writeString("\n"); + writeString("\n"); +} + +//-------------------------------------------------------------- + +// try to find a small prime factor of a given number + +Integer smallPrimeFactor(Integer n) { + local Integer i; + i = 0; + while (i < numPrimes) { + if (n % primes[i] == 0) { + // prime factor found + return primes[i]; + } + i = i + 1; + } + // no prime factor less than or equal to smallPrimesLimit found + return 0; +} + +void testSmallPrimeFactor() { + calcSmallPrimes(10000); + writeString("smallPrimeFactor()\n"); + writeString("------------------\n"); + writeString("small prime factor of 2: "); + writeInteger(smallPrimeFactor(2)); + writeString("\n"); + writeString("small prime factor of 222: "); + writeInteger(smallPrimeFactor(222)); + writeString("\n"); + writeString("small prime factor of 17*19*23: "); + writeInteger(smallPrimeFactor(17*19*23)); + writeString("\n"); + writeString("small prime factor of 7919: "); + writeInteger(smallPrimeFactor(7919)); + writeString("\n"); + writeString("small prime factor of 987654323: "); + writeInteger(smallPrimeFactor(987654323)); + writeString("\n"); + writeString("\n"); +} + +//-------------------------------------------------------------- + +// compute b^n mod m + +Integer powerMod(Integer b, Integer n, Integer m) { + local Integer a; + a = 1; + while (n != 0) { + if (n % 2 == 0) { + b = (b * b) % m; + n = n / 2; + } else { + a = (a * b) % m; + n = n - 1; + } + } + return a; +} + +void testPowerMod() { + writeString("powerMod()\n"); + writeString("----------\n"); + writeString("2^16 mod 7: "); + writeInteger(powerMod(2, 16, 7)); + writeString("\n"); + writeString("3^10 mod 19: "); + writeInteger(powerMod(3, 10, 19)); + writeString("\n"); + writeString("123^987654323 mod 987654323: "); + writeInteger(powerMod(123, 987654323, 987654323)); + writeString("\n"); + writeString("\n"); +} + +//-------------------------------------------------------------- + +// compute greatest common divisor + +Integer GCD(Integer a, Integer b) { + local Integer r; + if (a < 0) { + a = -a; + } + if (b < 0) { + b = -b; + } + while (b != 0) { + r = a % b; + a = b; + b = r; + } + return a; +} + +void testGCD() { + writeString("GCD()\n"); + writeString("-----\n"); + writeString("GCD(3*5*5*11*37, 2*2*5*37*53) = "); + writeInteger(GCD(3*5*5*11*37, 2*2*5*37*53)); + writeString("\n"); + writeString("\n"); +} + +//-------------------------------------------------------------- + +// Rabin-Miller test + +Boolean isComposite(Integer n) { + local Integer q; + local Integer t; + local Integer i; + local Integer a; + local Integer e; + local Integer b; + q = n - 1; + t = 0; + while (q % 2 == 0) { + q = q / 2; + t = t + 1; + } + i = 0; + while (i < 20) { + a = primes[i]; + if (a >= n) { + break; + } + e = 0; + b = powerMod(a, q, n); + if (b != 1) { + while (b != 1 && b != n - 1 && e <= t - 2) { + b = (b * b) % n; + e = e + 1; + } + if (b != n - 1) { + return true; + } + } + i = i + 1; + } + return false; +} + +void testIsComposite() { + local Integer n; + local Integer k; + writeString("isComposite()\n"); + writeString("-------------\n"); + writeString("odd numbers in [3..99] which are probably prime:\n"); + n = 3; + k = 0; + while (n < 100) { + if (!isComposite(n)) { + writeInteger(n); + writeString(" "); + k = k + 1; + if (k == 8) { + k = 0; + writeString("\n"); + } + } + n = n + 2; + } + if (k != 0) { + writeString("\n"); + } + n = 1234567; + while (n < 1234607) { + writeInteger(n); + writeString(" is "); + if (isComposite(n)) { + writeString("definitely composite\n"); + } else { + writeString("probably prime\n"); + } + n = n + 2; + } + writeString("\n"); +} + +//-------------------------------------------------------------- + +Boolean provePrime(Integer n) { + // not implemented yet + return false; +} + +void testProvePrime() { + writeString("provePrime()\n"); + writeString("------------\n"); + writeString("\n"); + writeString("\n"); +} + +//-------------------------------------------------------------- + +// Pollard's rho method + +Integer findFactor1(Integer n) { + local Integer y; + local Integer x; + local Integer x1; + local Integer k; + local Integer l; + local Integer p; + local Integer c; + local Integer g; + local Integer r; + y = 2; + x = 2; + x1 = 2; + k = 1; + l = 1; + p = 1; + c = 0; + while (true) { + x = (x * x + 1) % n; + p = (p * (x1 - x)) % n; + c = c + 1; + if (c == 20) { + g = GCD(p, n); + if (g > 1) { + break; + } + y = x; + c = 0; + } + k = k - 1; + if (k == 0) { + g = GCD(p, n); + if (g > 1) { + break; + } + x1 = x; + k = l; + l = 2 * l; + r = 0; + while (r < k) { + x = (x * x + 1) % n; + r = r + 1; + } + y = x; + c = 0; + } + } + do { + y = (y * y + 1) % n; + g = GCD(x1 - y, n); + } while (g == 1); + if (g < n) { + return g; + } else { + return 0; + } +} + +Integer findFactor2(Integer n) { + local Integer y; + local Integer x; + local Integer x1; + local Integer k; + local Integer l; + local Integer p; + local Integer c; + local Integer g; + local Integer r; + y = 2; + x = 2; + x1 = 2; + k = 1; + l = 1; + p = 1; + c = 0; + while (true) { + x = (x * x - 1) % n; + p = (p * (x1 - x)) % n; + c = c + 1; + if (c == 20) { + g = GCD(p, n); + if (g > 1) { + break; + } + y = x; + c = 0; + } + k = k - 1; + if (k == 0) { + g = GCD(p, n); + if (g > 1) { + break; + } + x1 = x; + k = l; + l = 2 * l; + r = 0; + while (r < k) { + x = (x * x - 1) % n; + r = r + 1; + } + y = x; + c = 0; + } + } + do { + y = (y * y - 1) % n; + g = GCD(x1 - y, n); + } while (g == 1); + if (g < n) { + return g; + } else { + return 0; + } +} + +Integer findFactor3(Integer n) { + local Integer y; + local Integer x; + local Integer x1; + local Integer k; + local Integer l; + local Integer p; + local Integer c; + local Integer g; + local Integer r; + y = 2; + x = 2; + x1 = 2; + k = 1; + l = 1; + p = 1; + c = 0; + while (true) { + x = (x * x + 3) % n; + p = (p * (x1 - x)) % n; + c = c + 1; + if (c == 20) { + g = GCD(p, n); + if (g > 1) { + break; + } + y = x; + c = 0; + } + k = k - 1; + if (k == 0) { + g = GCD(p, n); + if (g > 1) { + break; + } + x1 = x; + k = l; + l = 2 * l; + r = 0; + while (r < k) { + x = (x * x + 3) % n; + r = r + 1; + } + y = x; + c = 0; + } + } + do { + y = (y * y + 3) % n; + g = GCD(x1 - y, n); + } while (g == 1); + if (g < n) { + return g; + } else { + return 0; + } +} + +Integer findFactor(Integer n) { + local Integer r; + r = findFactor1(n); + if (r != 0) { + return r; + } + r = findFactor2(n); + if (r != 0) { + return r; + } + r = findFactor3(n); + return r; +} + +void testFindFactor() { + writeString("findFactor()\n"); + writeString("------------\n"); + writeString("5*5*5 = "); + writeInteger(5*5*5); + writeString(" is a multiple of "); + writeInteger(findFactor(5*5*5)); + writeString("\n"); + writeString("4421*5743*7699 = "); + writeInteger(4421*5743*7699); + writeString(" is a multiple of "); + writeInteger(findFactor(4421*5743*7699)); + writeString("\n"); + writeInteger(9999000099990001); + writeString(" is a multiple of "); + writeInteger(findFactor(9999000099990001)); + writeString("\n"); + writeString("\n"); +} + +//-------------------------------------------------------------- + +List factorize(Integer x, Boolean verbose) { + local List factors; + local Integer f; + local Integer f1; + local Integer f2; + local List moreFactors; + if (verbose) { + writeString("factorize("); + writeInteger(x); + writeString(")\n"); + } + factors = nil; + while (x > 1) { + f = smallPrimeFactor(x); + if (f == 0) { + // no small prime factor found + if (x < smallPrimesLimit * smallPrimesLimit) { + // we know that x is prime + f = x; + } else { + // we don't know anything + break; + } + } + if (verbose) { + writeString("detected small prime factor "); + writeInteger(f); + writeString("\n"); + } + factors = addToList(f, factors); + x = x / f; + } + if (x == 1) { + // x has been completely factorized + if (verbose) { + writeString("the number has been completely factorized\n"); + } + return factors; + } + if (verbose) { + writeString("interim result:\n the remaining factor "); + writeInteger(x); + writeString("\n doesn't have any prime factors < "); + writeInteger(smallPrimesLimit); + writeString("\n "); + } + if (isComposite(x)) { + // x is definitely composite + if (verbose) { + writeString("but is definitely composite\n"); + } + f1 = findFactor(x); + if (f1 == 0) { + // cannot factorize x, give up + writeString("cannot factorize "); + writeInteger(x); + writeString(", giving up\n"); + factors = addToList(x, factors); + } else { + // x = f1 * f2 + f2 = x / f1; + if (verbose) { + writeString("this number can be split into "); + writeInteger(f1); + writeString(" and "); + writeInteger(f2); + writeString("\n"); + } + moreFactors = factorize(f1, verbose); + factors = fuseLists(moreFactors, factors); + moreFactors = factorize(f2, verbose); + factors = fuseLists(moreFactors, factors); + } + } else { + // x is very probably prime + if (verbose) { + writeString("and is very probably prime\n"); + } + if (provePrime(x)) { + if (verbose) { + writeString("the primality of "); + writeInteger(x); + writeString(" has been proven\n"); + } + } else { + writeString("cannot prove the primality of "); + writeInteger(x); + writeString(", giving up\n"); + } + factors = addToList(x, factors); + } + return factors; +} + +void testFactorize(Boolean verbose) { + local List factors; + writeString("factorize()\n"); + writeString("-----------\n"); + calcSmallPrimes(7); + showSmallPrimes(); + writeString("3*5*7*7*141*49 = \n"); + factors = factorize(3*5*7*7*141*49, verbose); + showList(sortList(factors)); + writeString("\n"); +} + +//-------------------------------------------------------------- + +void showBar() { + writeString("---------------------------------"); + writeString("-------------------------------\n"); +} + +void run(Boolean verbose) { + local Integer i; + local Integer x; + local List factors; + local Integer y; + calcSmallPrimes(10000); + showBar(); + i = 1; + while (i <= 30) { + writeString("10^"); + writeInteger(i); + writeString("+1 = "); + x = computeTarget(i); + writeInteger(x); + writeString(" = \n"); + factors = factorize(x, verbose); + factors = sortList(factors); + showList(factors); + writeString("check: product = "); + y = evalList(factors); + writeInteger(y); + writeString("\n"); + showBar(); + i = i+ 1; + } +} + +//-------------------------------------------------------------- + +void tests(Boolean verbose) { + writeString("\nTests\n"); + writeString("=====\n\n"); + testComputeTarget(); + testCalcSmallPrimes(); + testSmallPrimeFactor(); + testPowerMod(); + testGCD(); + testIsComposite(); + testProvePrime(); + testFindFactor(); + testFactorize(verbose); +} + +//-------------------------------------------------------------- + +void main() { + //tests(true); + run(true); +} diff --git a/njc/njc8l b/njc/njc8l new file mode 100755 index 0000000000000000000000000000000000000000..482b6a3080a47a3601fefc7ba66ee5477ff020ed GIT binary patch literal 166681 zcmd>nd3+RA)^;UO64nGH81@E11ByoWRRYr5XwV2mQE}K2lubw!6$GY<(iSK>;^2LtUx@B81E{L=T<+0VJ>E_Lfx zXNAA$^vsM5!~V%MPBnNnwMC(T)Td$Ojm?y6eiRymji&fK*6!Ui#^2yf1sI%JC>6Wxq`-z<+7_~;zW7g}uBvkX>59@W4Z|mRLTPKx*$SU? z_B4UpWn&tIA0Lg9AD?{EJo4phzI@GRmo-Y9VVAal6vMxX+P{gJg}CB%Aq!)Se8x*# zZSm)&Gg&X{q68Op86}i7X8 zQ%l~wr)u!D0n@K+^2$k96W1AkltI5%X84Sit8y|4>w-TY{(5y@+i7;mw45Q|Tb;h` zHX|FLv_BsK(0PAY2eM%z!#-~zn2EyFAee=YzZRlAg>f#046Zl!@gn+6_C1MiszeoPuTZBJ$YrZn*B zfVVc<8@_X=p=KENIMPSM^Aq5=Xm~*ad@tZ_jFv{Qbs=hou~R0Pw{Qk1X3kw;%w00AwDc;H&jZc;S@W07 zDmA7|nYDQFf`wB+Hm!8-!Ue{Rd9$W128>J#%OH`$?;?~EuCe|h6yvltth9AJ!i@#vmlNp&tC-P^kT}A(rJrJr_7%Q z8)rkrLI_zrYZkDV%wM=bW2YEr6pbBy+LXR0ozmZ__C09;!;$$Pe@W9Q4ONCjGy_=H z>~Zwgn{UG~)yVi>!^%3$ZAvNs7HY$&KS#AI$1-2tyLR3wOe7o20Q{ZrtA+j9$XgI#dywtos;aQFNZaKZJIB`n1* zxSiufOme{yIOk`o3*O9u8pa$KoMW>6v&aQ+VFOVvb-`P@;45A5RxbD&7u-Futarif zwkO+07reDg&L$V!-R_%R@S|PyTU>C?k@io83!ZBOQC7O(?OgC`7o201{Zr$Db1t@j z_PXHhZ6L~87rcWD9&y1ty5My#xV?5GIuJaN6|l^5e>WpgURi2J`XNgL!QENAT+FB* z9lj=!<)U@J1JLt(UNhCAwQ~IxubE=e z8oBTYo<_iyN|5MGsa>OaH z*C=aU0?x>_2>8W&%q{?B{IHAp7YL51F9bnp7srIQC1D@#0ziMb=HlozV9D-kM3TA(y7&(DD}pp|UN3Du1m6rpg~-S>>-$ z#oMabtBO~pt2ILhv;40HHU`$UeVGWjw}lb5jO?w(@IKk)PlGNE#r9`mL?Bcp_Lf(c z4Ga2T%>eB%|BGeW;q5?HP-NtX^hyFDeg&yIFE?2erh2rjQRO0&a#9r*n8-lG+2<87C{_A4kC0cggv z904an01TCiM(HV$RTx1+{(Y8z z9|X)hmGFH=Sp@tykRQP5zcTq5x}}gG`CYV{^E7r0u)*bT!!@uRGfJ`a#XN$`EL>V8 zdqeM1%*}TL7V_7_kBCv)A4WyCU#Shx7Q_8@z||RL#}Y?_uW}3?1@*D!5c$qXY5=8W zJ|b?GpgOKT5PF?DKB|Hak>3I`>Ii!9m&1o8>-7k*>Od`I1wzkG!Z;ELZQxuJ2(6og zq9|0(nW!kVZYhe@m8HJyUjCKYy~eH2?p3lWyVu2AvU|;{%RelZa?W753ZMvYbiB%kZGm+g$Q-cBDJh_0^)V1( zPIZy8dejhcBk~(ydJOZ0mLIVE2k71gicnFlH;^5h9O11*s=q#Ae`WQ-2WLB88J8RKAo~Rpl#DREw|xYD#R8T{E|y z+KnKi%G`n)tUnyf3Is)Nrd3Xk&`zkMp4p)s)F>{HQ5jfQ{JU)i2Gn6fk$wH=lFu8& zENx`3oq-VNv_P;j1NLtu|EiZLCi{59xWbIK#k3uG^C1ze5IICN*S7P*))Xq=M0RU~ z5JT*a+D07DVNb9!n?ZjIL5G&jBn!U8!YDJNf5S=vGDP>f{;UdtwP7mhLT?5_-|M7b zOn!}af-Tx?9pziZ1Xb*aG=>e00~uPNQb9;)k1fX9pc=%brG-a}ZZ^?ER&k}gLaC7= zL5)s^ArcLa6)G%nKlr1VFODWPl1>*L2WnbZj1FHe`VmE)G7Y!!m1gvOtiysY1z=yB zvYho*&&L2AiCH{T3|awOp(5%acCG?MSXSXrsD$j0yl_8}|1?dayyM7@ZUC=rT@%>N3z_>h1F8D@-jIQrW^ZKKcQ#b*oq| zW|wyxsZ%%SqacqoKQj)vBMm=9+3lO>BEQT<9*p<`R-Ua~tXFN){Zz`|;lfbX2N;_X z>rF0eI(wu+rAu0Y9n7~!BuIm6j+pbHLmgAE4h)dckkF=a33kKQA z?<=zM<5$H+7L;jR}X~?1_&F3$sqEy zi~J}Txulho7P^1!7)I0V1amcDSUR4vuCh6-^SQ)634pEJ-Bn?KcoldJ=*7T({yzuW-q949Ie2(|+7o#oa6R zsP%d5hg#)&Cl~ue9(JTGLUWD_U+%#}pwj_^5qPCW`Qd|MgVPDoWMZiv<@>v&4f04+ z+AeY7kMZKY&PdmUd2?M1Uo?q(PrS;Xnv~FOZm27)aLN^O7`5HN4-}o|QncL7>?pd# z4Q)_lh7wulYV_W2W=CXOH?%>KvM{cS-0c$i9yXBeWbkBtl8fA#hKo~O%y%3yGqQA&FnbS&kar8@p`+2G;V-gcdFlH=2ZcF2Z`-?n;>0xm{(ooe~FXJ&}X`|zxi*jn5(kgDO)k7YqsU9x6!41$2chTj<=~8GO@1pzyKH2UjO?cYgwUY<1aSmc^83hW7^d0!B@CyW9L&=bZmm-eGv()48W#wp~r zSDCht*We_JJ^a6kys%Ah5A8nBbSNsh5(p~R_3D;S3N??&EuR9*EuWhr`IfKHcJ3sP zf%a_3TzHpmTN{)L-16nS4OLU=cLgcEbEWJL=xDZgNlotY(8u7=!xb*}XI$($qRTxx zVX!MuwuqbJB4VYH#_{nkHrqCaq|ymv6C$5U8`_N&UsX48G4^p7UHufQAx7>4K8)u< zECU-M-1g9W9Y62I1|9F794Pk21ULsk*Dh<~?u^)nCa9(?wL9b5Ve##EZOkZmFmjUG zN19p-T(|}{Q$_Z3#>R{qwFRVh&Wxql1PuVS9RXf3+}ZAV?pA|aP;tK5Lw1&RcF?Yk zC^ARS{fbT%qv~j`gl6oy3A!)Q<_Gz%Ewk5f;n^~4AzNnHIpgN9+BwsES!L}l^A3<> z<2Gd8j7sMj6H~(9&8Jxa2Lv?A0OA1jWk?wJT*Ty(+$mw_?82CfIUh^kxU^Gs@0) zpst`vq-6WgxOU+B zy1{Ytb2wiACD?+G6O@B;4$91U3)_wL6QZIvQxQHR);8Rhyp3_8pa?s5NL#`*Z2Fa+ zhW$TOovqLxk4tFR?b`S8M||>P=AT_koh_b z%Y4Iyxl>_YRG4=ZrnEDt{w|>0r&#RxRGv;?h=RbrkzYG;C^jEf6zgq@b)7JvnR9Wu z-6-U6UKLrE$Ffo6D?S>rI+p{Nz16$|#hONAL;o6M^}JRFGLaR9n04gE59u?#$<TV31bPag zO$ePX(9QzwNN5(JMFMRiP?OMRgbozwcim|3x4>02C)6j<4+Z)@p)Ck)CeW7!x{J`3 zgdW7biDf=1(8mdFMd(KYytaaYI|0oPZQdc(ES3vSD<$j zdK{sz3p6Cq>j^!c&~2<`*o~BJod- zxW*zb+=X#_2?SN@y8XC`w#<74f4AWOj8AN?Yy57(uMqrl!C#3_bS;g4 zQ1DX(&lpsh=i?J8r}3)=KT_}`1V0F$XdsQBDfq5}?=1LZ@Oiw0A0zm~ohAQ4Rb~E+ z&+ZPshu}XJ{J#YM9zG{K_{M?{6Tc^%g8@>VX6lIvIQkiGqAl|Q;k^%BXt_sNpviD< zigS*6Bd%4TUJ&9dl%TpgRP2p$M7;jw*9JKKWD8n?YV7_@ROyEcm|o1V-bh z01xGT0A$(>c#rGc%#eRKfO!PUnF4=}<=?H+DIewsLjJv$`FSTs<}--KI$W$bKK zX&UpZN>*&Rsx*o9Qzbn2t3gN%q!~@ER;J{d+TL zu;s5D=HH#Ywl!v4CBdjTfpKqwRkvmC>?o3^I&GE@Nm1?*Sms}dGarO5g!*w7i2t+i z*xj}gl!1`BR`9v&6xp>xCf)V~P*(6Mee^Dh%RL|BAZR8ibO!ASuW|Hl`4D;+fDnCl zE+{SYG>V#02bNPr=$qS^6tv;ocR@QEw34sU5#+*F0M18|uoo8w!AM5PUybSB4_Tb< z&Hkc3w=)Z8QDzkm$FgiX(76izdj~Jt7c!d&#ym)jmHRIb0RYbsz+*AyTZ-ZZ4@Fhs za5395pH}F*JZNs#SmuL-Z46}K?$;Fjke!QXLiS*&w*1vZ;b?}r3S<#ZBBMgP$ArF& zaIOsbUoEowWP>oc{8gj0J0x64Y0@jqb6B-H2T+W$X1yAHP0ogN9*pbgvY&AHj59p$ zluFwK>oc=g{|N!cn(+_O&rzu|JA;frkvp&k1-uu8KSYTk^QZP~qC@y(q<8N4s%u8g zoAqPXO&u9s1-a;ZKq0iP!Ey_#Y_?U{EsQOTT@A;kK#I$;&7g?9fYBI^!Q9(%38#kA z%8p{Oc?D&FkA>5EDtMO=rXxgrWU(Wt7?%+A9g65W2#V!|w;D-hh7p&IxF z0*35d(kvYL3ASXz7D(8jBwXu}U=JNDj~>)0IgV4t8D-5Xm|oG#F_gVXx(Cr=xx^Ij0*0~7&TH+kq0pS;k{ z(B57B zP#UrXWTUfUJT6%is4C=Sub62V8nap0_cL0(eH$B${trua{@&Y;aW&USk$X7{C;Z9b z3NEiOvTuA9dj_je^Wh$@NtItJkTFKd=;M)L73SkEc=bLQRpo!NH*Kr(SEDdELO4HDgKZE0i^1hD z9xgo!pUui1l+Qt+d4e=n?w=Dh1fbyugsfW6#?VxU1KUslRTRWqLvyTF@ZIY?O)2OypirRM9OXHXw2fE-Z|4jd5C7IPL;RbS03HD;+wB|EjIF z{|!!+xgX+EIcT-~nJ8;OEsGsrAWgmtSWN@geQ~qIDUX}kDYJjkj zB!{q*Fx16P1{_l$;pY&Jd4q)`4O0-&F(k(`C}CEA;4}6HX0Y>g5|);xuzUj7s=1$v zu8A=!`?|G4-x$bsZL#q9?dWdCoAulV2w;T;?vDU~!YUR@p`2$i_bB+2ak!F-M`I;e ziAjes@h-^N(3l>8nYStW70L9{XBM%cKgV8>WiACt#@>**NI1-k731j%jGR@^CX5|x zkHn^*qU@AFS(s(z_8`n2qcwSBMgDag$1~f5khuvs%l}OByul;9R_D*bQ)KnL8dTAz z5kPF6H12`p&qqtey^M!pU7PIi-c`R{ z2R_-edD*pR`*$mlR_MENBO%mU-f$XuE2+$-)L-E)lyR-i|0+|}xD-)zX zt2}W64ot(ty4Kx{7w7;FPph3F?B;OWsSO|@b3gEK;S&_xcyg%d#Kw^Sz^dg3#En+j zTX#8LgmyV}QFTaGA?;9KX z3G0vcuop|mW+-Io_)89Qz{>rUh108KrU_PN28Qg-zHR`5V442{0hU0R7|cD2<;esV zp0P9^5nRhZ3C`2wAg*ZLiR8ad@h?o`$DUZxx*nOa)?{oDL|a&sxbe*Z%dBsOYqi4u8r4WO)|OmF zcfk6n^eCkNsMvWRyPaehrPn}SwLuU>>p^@CN__+6KZNVcaIHqTX%wT(I*(P%2a0x$c`7QF|B!ljVFH4fhgZEK zpy*6OSj_pgwJ_!W+7h66$Y5jN$mpXasNWK0qinH)egqji_!bBCRXZVA=^Dgr4_(!&@mF;CNu~U@TKuWR0{Pj3$ z&h-Ec7@)bZ5;S`$t~MSnS~?NPPJkk_TB4B5I@Cg3{+vZTC|2%40z$=1zV{W$P7jHd z`#P>wkEl=t_c;VeD!w3+89`FuM(Y_MIE?C7ODywx#jwa>V7RP8U&y>lFy?GUaE^xn zLlVvzn-?mQ2`oaU*a`m?Lze^wQheW>9-7Aj#Z3^i4JuCPeaw?k+5T`L?28P>=2pOY zJEmEY z$V^I-Wx~w@O8wqVW~>yJUqA7Nv-S;_#;(?gOz{g!_DFr z-^sd_yP8D`izB6c-weD3ikH>?kc}?F7vQk)=F4bRkyl{=iqCg(d3kLUSy$M8BcP$t z`H>KCR>`4Ij$=RWUGT!EypLo?SLr}k75YTJ4uFg;Iu;mQoJ-DSY$SF8w%v)^K2(P* zezUS^+|6fLw{q`hk-|-M)yQGI^x&9=Opcotfxrlt*J!-Uv{3fsDN1O-Bh>E6;{ioa zJ`IKRqlf+2JUfj^QG;y5&4p_r#Q%p4Ga!~pjYct9~xQ**Qp zDC$!@)OIo;N%+bp$hs-AW-cW0_qEURTT@v|tstI@jL> zRF(e_x;H8QeH5A;x4MULW&>k_h>Pp{5?DPvja0V2Lx^R*&O&Zk#MZuI>mhg+=Y3Qt zTi(TDhb;db%hy!KEnfz_(;0j+TVtGIr_Z_n#x;iL*CVJQw1G>gYZT|)th>6rBING!Js^~9^#MC?P{p_(lGK(S!;vB1 zCi4sugX2&=UQl#ZBnxk7Ql{g)8VRTc*a2Y-b4t9-4!pB!jtIsE#R*5@24fPW1TsyPBu9(p;d!|BrKg|F3 zvUi|BO?Qg)Z8mTKH%$E&81y_=rxWEA?9;g8zKRCm7FYu4Onu3Io1+^uwMy!@ z-wO`JKpHf1*LJ+fO7A0m5fZ-0YMFJ7oSEA)JAzGjIm>M4TwtHWsR!`>uX7PvehBFv zG9Qf#(ccCT!1;$%z#R?{=OmnZ3OQBgQ$X_veeuun>aFqWeY#p@-s{wEkE73wSI^K@ z34?Ml#)aDiz&Y%203;2D<^mSZnB*D&pOTj^O`jrb>LOE#9JvZ_VMEU0OeK>;@DHq8 zx%*f+GTGOIK)y>T((^p!<1SqCC-QGJy30`e^a?UXvibOzl4iV6SsfZ1f25EU@0(1d z**Csmv&(ev46uBkIs5>!MWssX7r8@tfD?4~^~Yc(&wFQ_iO4_1GZEp(9Ks0XMVpbp zd>kI&5z|%&_bPGUURJt zxXHv_E4Xe7XZ~V4R7l)(!I=uz&cXE{?sUOLGsK6U4lawh-hz8g;RZRl1KWUWCAhyS z+*k)!L)`Zm=&?_)a2GkaXNY@Oa91hZWe#p5aoYrUvBF*B;Fb}0kKjfr+*$`WmAF3& zuBXD?f`z%O~zk!F_Fr?>ih^3*t@^+?xvbmV>K%9=JAwdsgB0JGi%r z`$--a-mY*zIk*bqJ`mh;g*)n3yN&K5ZoA;7Dcms*ZY6Q|3(l`_`3`O-an}j1m%eH59dlg(cr{hnhnM@sdCzn+t_|7SeG z|2bISth5jxE7}I@vr6aTV+9`LHz{2beF{8ymY==)dR1A`ELh*NG(UQWTpnLKolpB$ zL@iu~YaGp6w!*3)VgGbscL5e#9DdgUSOiQ9zwZF9CZIUH&jHLOU}X4X2QZ0%lfs`m zfHMf_9RAz^3?!fheZu5(`?GkWNsr+vcft;1@(Fi`S&BI zE%9wJEdbi&kevdZFmI@D%@_&1US(lB084fVHDV*73dcryDj#bs73BzYXK$~}s8*}y zo}jD4U2$;vA$+3=))zY>d8cqaeF&dq6I08!LXw)jFmnZ$AIMnIq(W2_<07+6-_4!| z1B100m~u6?FV^emxdzTe_z&Fv^YTNXnm95y=s%PRMcGgK4`Ijn+I`+RGN;NM_nXg{ zNp>7u_M?v5wU9X+70VomPek-m?8PB5Yb~=U0D+CTKLK;Mo95Iegf@tTpd zkqhwo@4%3S#8>yF{1)YD>><$2egcs0a`Jb+n8J6W$Xk<3=ffe_zz za)bsCaH+}-w6L(v^RQu<7YpKSh)%72JL)7sfff-6mF!hwdV0iQerrGsMDA6)KWVLc zmlKQX4{(M9j@OwZwCX007_7D$5R=lXWJia4L}Ky!zZV(Bj1qSi_X7W|$U;|h1VZC# zif|CCC^W88HO&nk@lB3cJOWaKX3A4Jh@%L4cLDH9)bl+_l^m#}J!;h+k2@dTO?ZT{ zuf&`f4-|H||Jy*xU7DnQnMV{4pn4O`Np){;In~34r)ddnZl@d($+7wQ8Mh;RBH`8U z7ITELdC()0CuaW_BAG-gdB%Cf;yAz&iiOoq@-z^LZ=QAs0$;9jgyI_zd8bDt&Yk?X zBI8L?>=9*e9L2}R2CT^Su;S>^|J;gKFk8j5{^%r8juqZi{ga0cC#4#&z!AYz4V7Uj z!a;wW9^1!yB;_Va;CgsTJ?F2V^#C2^@oD-X5tIqI<@iizW zrB%ry4?f{`wA+6#GDoG~V;(uY^<)B96*k6w6xZOWX4$Jc$3t1f$D4o75y*gGkqq}R zJg6s-IdUjq(hM zvUC>9`310l_B~UgDpE&^7fHb{|4bw14iarA(GJwu8AJ?j8r#Ddbq9C_X{t$cH)`D0 zILK`kO{*RU{0-}#@LQz03N#*y97S;xDa4%fL6OFs=2Z0##q>=SlcmH295FfR#q7on zb-0#dVyHQeJdO+7Y)0t$?^LArkX(#^QIW^p)5gDr)uJ-~4p5{q{%nf*idxH*7!|%j zxNvJdO=~SCxoACIktb=L>}c%)iZojH;<0)7Ahq(Og5&EBT)4HqR;PUZfaIdJMv*6J z{Q`?^{fC^_F1>YW5Vw7(SapCsunr~G^*N|K+zgCea z`F1Prf>cB&gCdRA9Exd8t%H;prS+Fzy;@DJwGGKdYnCEU(%Qw*`UPa9(Rv3^;f~b0 zBRx?WiH;-DU8s3Fx9*is;r38@cy)R)Cs9lR#gwEGa~Z{mQ~eStbVnTPC~BQv(aXO; z(Qqm{fLbbhGaW^*BvNQawYYay9&H9in&?fYB0m)c6UFGj+)gp#(X>Pgt>{XJVq_wP zPW%$bl+K_?W6GQLFy(BTQjc0HpIbSK-c6*?rX0W)g!1_rP^3{bhl(zsqMH)MXrK9A zY|7{Pi4Wq#>NUFncK6jcVydt1Be^sOzmM4y zC2d*+yFV%hTR@Q}1~Vz<3Tm~|6OAO%3KGpm&7(^PYMG;JOnNc(KS7K|F4m) z(?jfZ2J2g7U(c5)LX~`gUI$t{K);PF2S6458&Kgpc=<10-p|W>dHFgo`FdUWeqM%o zxtf;`@p20;V@t!ES$~lAdErM{-^lvZ@Dr@BWqo4!Z>+CmJrI7D^-|V{ho5JC4(kQs zmsp?7dXMl9){9w}g)w}AS3#jm7@NL&~WGy)-Be1gy*xqf_0Ze zO9504&AHEZ=pxXha)__WDRYN_B2C(Tjn@LhcT!c`^hDJpdXPllqUP=d9}^=huy;^P zqa#G3$H=}#v$J)oB40Yp8`Covk?2`6FYz#c>M&pAW|n&_9OK0k8ED8R(RMNqRLnRf zg%i2h;*Q#Z276C50quL3%O! zv4jpc&4QTbAW9X=ZnQ@1je^!gp@)#exaC)hsz8y(-fO6+Efw9LC`Pv#pWiA)D;0$r zLPq04yN8?6s>s=&t2kanf#Tk|sHM?rlE_D`C!!WRE!>NBAL^+b83+rssyut25FH2O zRkQF3Wc-qga5Yunq3u&j{aXO0QGXp!;XdSi95q}0eW<5W{~Si_2G!32W0Lv_0H#sj z1gP*psy_)eTYY!bQ>h>PpVUXWU{3V@Z2*(hs|TXl;X>$EqbxR#GHAz9s8oB{)*ok8J&77{AoYT%~5oY3!(q8{3>2>mb-+7ZnjeK`@z#Ei1b zc_e&D=uT-qGAd=tM%<QcVZ3NBmfDRB;>;avFJI&Y#59kGgdV4^}C^Vo0#9ia@53Hm zG>dzyR(P$F{d&_D&+|jYZ9Vb|c&3Bf!SXy`tSRwGM8YRY)SJIa&w8o~eV`U{9I>{m zUfaWbEEoCi&vB1E$Jyft;2pL?n219IWi>Fd8pflHuFz^IBfICum|xkzr=L* zXEhI$ay!-*Q+gD2%1r^i?U6uGojECZlw$eDeuO_*OngobZ;W_N?^Y zjcQiH_e5j`EOYbQJ_KG4WjDe34b_E?1x+-Me9t+2_j>sj#rfXgiV<5P*e_kDWFuZ! zE8v7V8=)<_@k@@FNfiAOh~vn&9ON(}Hvt*`(t#cC)m#5h$KLa)*9Ypz60H|Lp?%G_ z<1}wLKAq#(=7T}sIP$9;cn`p{n%QxB5^&c*l61#!s>p}V z#ya9#6|r#5=Lu&ya?W;)=83AR2>(N)7Jy8`+jbD(v@jq%q^M5j^}{0zh`P`b)kuj# zl87$eP(YHCGknUS`o$ivKoz}L;E?1TtUtnmQ8C`^VMMwljbZUo(NSE$fkyG4>*05e zfjqs04TN6CmLV8mRy0MZ+eUXmGB-Ca4AwU) zT@d9Sl5QBZ9p8+VQRT`T(5JUJIDL*m;WpTPB(!52n_s?dBs>Rsjenki?zc?I^YB~( zx)>(~W&nmnbez3RcSqq-P^i&)e3wOrA$-sFHa4`2CH^yxYeY~Zk7^qsk!3|MkjU4vL53%6z2mlkGp?enqf+5+fcxlG zSlc9aJYn0>i+1c@lVpcBbF&k|r!j0h5p=Q^@ldjI1~N}p=(LEW znc3wpK$6Xg%g5BEJ&LkXAW7{h@yiStLmgs5aW1zjfEfSf**%aP)P6eEW&hC|#U+ z0yr6H#J=-jpL}7T1WobN)g=Cp)=HiNCu1-MH{owbe)aWLPLr$jw9ML9rD^M3%Q^Gy zIE<|qJBM)-$MhliQx$-|oWyF}mU_pR@yZs3!zi#CEeazjP#M9mgvjS)Bdc0WCXx}Q z-8g`?kjHBU@P&?mxk*mwHU*z1Ae?&{o0MQ~!zOBmPmq zp0KaEyBmEj#bh7AKGE}mU$0En5Z(-W}3i3wv2>lub+jFqp zo}rRgL0k#qYJ5pxMp<`;NB-@Eijqpq-*LyyMv%D)bd5@z;j?je`TEq6ABP=TR|Jvbim!W0p3 z3`EOM#k;@AQ^ST?%d7FvZ!0at%POlG6~a_e75NE=*u+mOxA^afGlvTmv9oaBjsd0{ z*{#CHFsRxws20OMzj13n#M|<7Qp&$g$>+Tx1l1|g&#SaXGT1H87M%lsHlv4b3YFZ2 z7F~}P-3SVR{9EuvZfeNfs}ydLz9wIg2c)|FLn+^Nmj#Bs)^hNUTW>*>Rkn#3?Xal~ zss*S5gw?T8s39=ubKJ*qPqaxNa zay_eZCVaFH)D=jGIq`%jKmZ}Atk%~iiaF>Y+qlsPnB39JQCEzLaP8!Q}VY*{ds6txx4h+uvSIj_k9TjV-e+wD5t3*&LOa$NSBW_cwqvV3`%WJ>FwvC`>cbNoOf-5;^ca z0z1ccSXxQtQy%Jd-kbteM5q6+I0FrW`XqunO|YE3Fr?oek|x{?P4=2%)q#x+bLgd| zLiX$;6rm0CL_kI)CInccAs;B_BvVC6Xha^z2GJC;a})d zilszaB3~O;s4T~bXY=I!N1iRJv#$paEoD=`EvFeUj94Z38wV5yQ#EjnQ>aQugLE@q zDrV_v{~!@^0ee?shjcXCBI#@QzLJ~~4`5;Bh{gH`!+e#0H9~2~mfS`?oNo;JSMzp$ zqiW^PQN`S~8slYj6YdaIATfb2!-XS`T~=Et?RDJ&dWxYnxV+LRZ7wook(V8=cJi)` z7{u{ctU)NCsn8eluXf}rGl}3R1&Qmc{A*~koPq$HRujHS*TpT=5mSyjoMEIcyq13r zzUBJ_|7yvt>g^Q7_E-}YYimFYITCT!F;7XjCx4~FjfHSL+@w_FTED+1$9m8zo@`wc zk7M@gb0oFwR`S8N%~k%j;>+W-!}4#|zU^u?8Qyco93yTqMb?IjdjKKU z#v3p{(Qs|_k9c9kGKW{nJKAT)=_P$@t7!S2u+h?95V5@~av72m~P132S(}^$;QLTs8|HY)-Dp?9Qim_=BD#0s?<7%q>P02UPXfVmkj?m);-+g)$57NlQ4q+XTGpb)hxfeKDw$eP5Z z%c+V8QNeBxZ@|^c@;1!3!0E3jhnh9z!W+y7+SKeK6@7@wE2EuInr z(>PM&-K{Bi=^Xp!Q;4K_?t3qKjNgeBhu8QDC$Q%)iw8EP*mlacnGor0NHmm@DTTa= zv*OyeVP4ygOR}xrvF(Lx{)25-Q>aXhu)Id<$`>foGFb*D7+6VXl0K^lSGAi zog<;a`zWwp)6EaG7^KkFMdl=}VO` zXwq6w#*B6394B&eCsI!Q&SVN!7P^b+9Gl~C9K@UcE`S2Zk-{{0 z7EA;0ZGm1c$UhKQlM^zu5CbC8Bym&aK0E>yZ+Y{n&(*$+Bv)sC@>}!FPr%Ck_BnC2 zPP_U6mPv3G54UpPQ5bt_sT7QO1$i6-j2t^LO0JaVd4L?~2+=aRmGDf8tCH9UJM8U* zo%1LD(XGmY93%!bS4D=)HFx6ud-33&y)?!pG%rv`0+}b;YJZpO+!kJ!n#5iDeyccZ zyYw~wjUF-%&q{J@6~+$3KLsOU*yH7SUhyy&bQqR8ew=-UgyAl7APg~le`f9qui&fW zf@gUJPfZeB;Ryb*Oa%9{1#9hDXoPx)s78qV5ht$-(l2^auV)ryA)acL7g3|jni~*O z>`-5e|F)Bf?_9nX9zFi7Cy1MI)=_s`FflLIBeyEpHjxp^?rX?_eC7Y;$-UOgJ~xTI z#$o>*#}ClHMK-(cfOI>njjiK-A@bL0w^QvtncqJn2GldDobT3%B<)g}Zyh1sQ%6X5 z%MsEoPNr*c&nxws^+}u(*Ucwg=Sw8MeXSlgoXA!@AFU;)Sk(SBg2K6OPk68s((9Js zo&s&fxgIAc+#}f{hiDpzKoY4c%)tzFIL1xOdiAg=f}=;SvkIFXo<54_h;AWL`}hwW zEmuC7J)gG6(Enn=@#{W`NdpUx%eUFnWqiR=wpe^^V8JoW;fgOfMrtkuI0rUkTK_*< zaO`O;K}cM1booqrA|FvDt^xQ}aVZuYcV8}k!7|6f|APg`$xxQK;OM6`Rm-rFa>4OS zh0PUTaQqwlJn#nl4@lAYiX+`#BuMw_M@Kb!K5HiDT(Ao&tC3Xug{vIBHBO##_Xfh$ zLtFdlm1mdnEQhP!;W|fiiM6sG#F{X^gWA9zA~{k{;`_L-WQ)RV*jBBV(ei$IOq?N$ z5FSP;d^_aa)jrxKXdv%NU-Zg>z^!{K2_F`(d@dR!jRl z@~cT@rK35rK%4`cILFN?>R=bEjdjA6N*6xX&y4Y#y?N~emXzqiSl)c#)HrHYtJQfe zZCJ9^&cX^u;gw2Zje5#ltq%N9C{;>Rpp^qhu)Bh(HP#0T>&csPiOQoznjjCtLC7%} zdrPHo(LDAEd&EPy3)0Q*|5?j*4QhGm@&6kwz6Q0N@799WNxI=gkF7V#@Na9KcK8;1 zToMqhNN|AtD~y7AG22!SuzNOxNT~DdxKHt1Z zDK<7l(HI+V(JLCFc(V=^6C0xF@f|4S`^?kD^dF?iX-I~=u<#8A*0jF7i|4D+R~w?( zM~X)pqTnlV(KQWGL`X5aA&PHEF{UAkgQV!*5XDwJijEo$QT&S(A7La)8;?hEC?on} zLlh(HL2*Yz6u*EXc1>Cp`+os?a$58WzXClXEqXE0{3jGRtAb^^fx%AQU448B$3wH_ zX4iPlkrY#snFS!{v(<0NoLV0)&cz|R{3m#|L+@AP21p+1gla_2zaCaB=h`fj$nxXk zsaVcaEKg~cE;h?_vg}OBa;##xUbDnr*M?n6mYY(t)IqFsH!Ge+u6sw=>fmBeO0veO zub0%Wbkv40TFwRmt3A+sM)-2-IyR*)1}c&-(sx35^2j%bxg zMw!8FmCLDe%VVj6*qSPzecN$pati5ZdZp6~rARq+1Er5oDg9}1M$Q-Mbm;Iyjze?e zD&HhD!J+qFQ!SImp^a4e@uR66Dx}K&IM*f5tIf4>l|KrQM-#&uJVs@m5oxU{O;8Tz1%{TzdVx4%L}RU_qT+d4y}7IIfj4oN>6OI=PCWp zl+q7@GqOpfv)Lw5xXQ!7#Z`7lq0;A7nV5&$sWLyM$`Clc-7NeHsek>eZb>Y1l?gA} z?WEUcZ-7jVMH6s>l?kKP?b+d&gBc>2+)Ex{lw|3frKK%E9%6SPJDk9-a-t$m22qn7`Z)z-0v7r2usV$QWoTz?THb2zRvtd_;hZ zUvm}U9RSb*dr)kb26To~b0=vDi?sWPLm{73{|Q&!Jos z73ZldZf(>nJlq*tTi#Wqs(k5k0&Enuay{pYgF@wyOR?}bM-IL{dxhg+_s{e*3=AbQ+-4=%4$XE|^( zp1W!|%K^2jGn|eiGvLMGAkS{t>~;8`SGZY>tU>hgZyAwSH*P|DA-M9UQpSbkFs~Mv z`_+JY`m#%5CnsSK5&Mu}sf`Cu%z;8BGuO+UJj4gyDOW{qdzi*^SZNKS?Zz>qm|e=| zCoiyVmUouw?xl4irK6g-KN5(x_gtYiUlCZ6y+#!`9?c3LaHuhtUCj&#-+}E%yZJtwL|@DkwRPAs)bB@h09B++ zX>65*^$~kMuxa!6I8yLSr_xgNAw@-;B316;E16yQyU0nj5ptw3%NiHaM;Yj02YBe{ zDNL1_&gPEfVArw|m2{pXgH5X$FUaSRUCJjXGDc@0VF$xj)%Y7Omd59HuiDW-tu4|t zx{3n`vllt;D;ucf)6i;tf|rI~-c}L8g&Z&Dd|+aQwt#MB$E6lfpar12KqlwM}|X?i+o^+_v&-93~?)Q*1S;E9NPYzTg{Ip5+ZUTL~gFVJa2>lXRf(CeIyL7 zw6=Wu3vH>7d>~~So32*U_uNU>>%BHjOKZ~@#kF3z4sGA*_T&WNGE22YkGKw->&vQR>@C z(f}nQDB?|>y7B29SI)?&SgYr>A8-I8kUT1Sr|}h{j~lQ!hRH9-NYTa08@c31_b`|+pfyoOPS8fiC-%iO@-FB^Kn93Chqil? zu%=jW?KLMJbn7L-QgTigPHDx2!DR!__E_d8x6#LhFe6Wkio8BW@$fe3EoaYs8&AEu{Kl2+{3JnfUx+J6eh?3yI@A&Q+tv7OS2y)CWSWlC)IpAv)c z2*tLhSe`aY9fXl-#r9NUFV|w@o#jc2-8K$l7o-&%Y3e9UXtLJ@V|GXq`z*!Ipx9&5 zioH3lSbp6lvV7MqDhP3FU!d3)6kCbRPaTAzX~p`K*m+4}cTnuJMOaqOOD*#Yp5RHD z2CoXn%uAA4MVZqmGmo4Ym~m5D1E88^u67UPDP|HG$TLdiWXTG?@brdqm{Sb8wflx< zEKG=23))GiT^W|gTTqVk2yxH6|T{5cwIO;8^uB7vJq{8 zPyKBbRsIM;vGF2}Uw0QO;r}qh{}IDx2KF+BTzOP*eqBMV1@5SVwI2r~g8;|B{KCKX zs^vfFt>ZuGJ%IcW0Mf)C;g{lM%2_=1-_Xh);NqsVC!+b(O=?N-419L(!N!fnzbf`0 zgc*kXPw{m^6xr?}$_EhyTn?OfvXmaRO<^ab68}v=I0q$h%E+-&IGz97_Bpm;(zhO3 zTeebSH)07FcKZ;5lK;&2bQ0gWZoU-DA#@hmDS7@3xg|ja7D5KshaUCKl#dgDV|3z+ zv{#s1cL`P|R0zXU4}Tql9lahOkl0ys#k-EInr17Rhu2YGombx-FefQvY9Q-PPAH0gk*`pzvcWj=UrSH^6GWB=)PrACi&4c)HniO=+sZ>#@A!Mt5LY{6&G z?aJML*X>Fz&`Gx|*MI`7yMgoim`xvB{&zl3eKw_!-i@jQ7(XQuxIHD`S16fM$~~A7 z+Qeg^+!=KC;*~5O3NpKDY<2M5NT1uuTn$vgwIKL;KM!)&1srkl(P{`Gsv|*CF=LDfGSIgS{MWB!j!0?2Y?!x5|#ZmP(4zj9we%1O4M6K z$vK&%7%u+?sDGmOCA<76Q57jst-l3I{?~4jz%X_PqJK=u^&)mVqL-vZy+>40N)*3f zJ$gz?)HI^nr9@pz)Nklh$$l-tj$pJlB`OPBz|ogeqDBz)NJ`XE*vyXJloE9#P_ZkM zZKx%DN;13yo}I?dNQRdXesVH=J>l_h?409_1Y6>Ry=CT^lMc;qOleP;+%8d5? zYK6rexyDv>#2`LQVc*u+1m4aHyA{}NxLGl_?*@-E5uJ0YNZu&C`YBp-1zVk3-fIdw zTVs!LY|@%ywhi9J_gzxtz!K^!}t*nSH8s>a4wld@NutFTXKtm){L zr;k4mml&*1!phUf_Z4=rV0DB(A0`}s&>W2%d6KaYD~>{q?c!jk($bK^c2CWFnZh>K z*ldS)1$oCQ>=&yNV;~VaSz)U+wwc3w6M0)J>?29McM$u7@@TEbCPe5Rgs_tTb36xK-1J62&oU8!Qgo9^wB?Um#`L1A}m zY&=UOLM;{cFG<)p$@{Icd5y*<lgf=MbNrKf8x^IX?sDtK6 zh|mnhacG6|vb*DDEiLsc>_-}#zZj>I~kd3VXlCCPXNvtXi$H2|4td z!p=_O&86fg6*i!;2@$$kVS6WGB|=LSwuNAIgjNie2-RP!VvykFD8=!C#&&hQ^wE}M z752r{yr#n5qp|ThrI5T|D!nT;HX%ZPSJ>$qn-HN#6?TlqCgjjMg*{GV6C$)wVY8C3 z5}|Vy_N(QLhK|t1gCs)l3M}c&M_0vBp|M?^2o=-I428WTHScFi@-mH$M`#gwUsl*Z zXlz1+9#+^wjZKJ9NMXBcY(j)CQ`p8Dn-HOK3j4(}l@W2QMCfFNtro0~(6E6Lp=UHl zLJs{~VQWb)KQHhptv$#@94&kk_xUA89O3<>(P^FR{lf zY^BD=$G>lgZK|;MYivSx#`;UFR%>kBDx(W{UsKrG8XNaWHWZ#z*nq~ibF6Ac-kTM+ zx5majlEp|tz&d9Oot+A7y+^R&5($LN8^9O2^anUi6>!}#G= zL>}%b|GsN>cGuNtUBei4{;1I5QRj^f{WPj%Z0Ma)6N}dMoKxyEN&@Tpu$)lT>+@4S z4D9%KBfK7#6?v!tQp&$B?PBv6g}y2Z{WJzL4!7MG2=2-V42hL}g?HDoF1mQsjJdO~@@WL&TD(E}(uJ4J zTCjwK`e(_Ug;)BPlrEk%ZN6{eY@f#GFIebXGz~T{xTKdszG>5!T(!XFVJUoomM)$) zqtpjv>9nO|mfG-VvY->(fUY01%~WzseRYo;73P zB@5A||)piaCWf+bjlo!fh8>5GD zA^wIMlkhpsm=5T2V}@~waXqe;Mt;sU=6J4cOcP@!s4g{T<8wZECZN0?<@LrQW1g|V zScvPhjPCesqA^z(OMxZ-^~Nk+yVh7`tTf66O1LdUN%DS%j2ndRI>SO4#NS#-=^>KV ziM}rn$A7zvZe=ZLZWZ1ejeCrZQX}Rza5FOeRc*kvRaR3Y6D69_z=9})Q=5TWi`?8c zMsqANG03(%#>i>iqCMa(JLGjRI(O(SL}&7|bN*RH0pL2U%gjSkF$T`M-adS{ z4KfBB?;pPH@V3MMz}2gVhZ{I$mGE=;@KHt+Bg<%N^hE6PjP^!zqXp=WGnkPBjX}nl z##u&@G0r#}1{WLW8sm`}6OCJtEwhj-mmr(w8kZW^7?&A;LYpN1oKkXL$$1x*oR{6K zRp^EpCFd<@Hh5C&^GnVp|MW8gV>9}kbaFvv-~Npn-@EC)`yY64z~4&F z+j7BE!PVv0UB4!D!-bPCp7%`2dGpOhWtT6#;>xR6yiju9$`PloUsd?Wn_nEgam1;& z-ClUdAMPCe#FR%Kef+VfpPM?ZV#<>gJbmi4tcvIZ93F25T=cZbo%=xX@TOS)scp&#u2<>e!2bop%)Ep-@aX+HhFFOA3f~otP!V<=+~%mlcvpDw9ILJbbA?`M;4A6 zjc&#iI(Nc|k$u`1g1>W*o_)?__dcii+zG8)pEQ>oTCrD|NX>m(S_a?4al;=<+^YcI~L(ckA*AUGCQ9*ShS~ zNzqN$n5SeI*bd5W1L2 zlc>#r1oSt|5623xsU>8kkkk=#Q~#vj49rJyea$f5$FErHi}g}JqW~)>&RQn{a+HT+ zu*_V;Fh>poys5_JV763i5-~HyM+RUG{bd5*$VJ2JhUotr9A!1epXri$6zWaz$DJMS z3}Jl<53r=eA6H=9mE+DPpOkQar_B-k(I&1v+Tt%4f85Km?c`I>RDXGZ|6l&KhrAB> z>xe(01?~DJOE1ib_ zy#He+EN0o9M-Rq--cyI-Kkc6Sf2s`74BU3`-|g2N8@%I#)2^7tzU{<`4sUZL-~aT# z*ACQqu3g%0?I!%+gubv_yACtt-4Xw`pkHMn<#NpW*FuieO0i~N3cLg>wDyRVVWi2| zE&^>F{x8G-Vfat(8m#JMf0KGOu|mzmdT%1qXJOAFPs1#GnjE1v!576!#(#6+gSR zRmk}|tZ25v7w1}!`dRP(+aN+4-FTQ14s8#y~&D`_W}3#W!P zctc#lg?Ua4d3hN=k)!n#O?fBvIOSvF-sG(Dqt%_1D@3k16LC*T7PEykjL=-CrlX~p z7}2o@g8$B1F&$%hI%=sKe$z3Ib9W#eHPuVR)746JfLJSYy*vu7WB}Smj!2oUja4mk zjo2M(Kr1dlU9QwtVBcUlV#~0Tv;=qkN!ntpbth|eSoPMR-7dl|P!(Em1$Gw}pcR*6 zzo88K4kc)r#bPg_2y5+d3p^j~b~@T>KkQIU&}QNeG9Lf?qm7Nj|G{ELF%j)|BL2-n zTb+e}Bhgl~(VouL&cVFsEY)6zV777^^sGmZZ(c9|dvT}Eyr`pn|KI$x&=%MlQc%x5 zQEItB*5+2kR%1=R3iY)N^;3tLO|Dx*Rp4Ze6hn3hb{z}x%W*-D39ONssEz3uVWy(i zCZmqWqc(=1O>hRu(IiLgqsTfKj)VWfThI=- z;9pm?&CVDhR$#1xxD|m^^mF`UWiRK48$&NNt){R#*q` z$|_2iX2Qd&Di{`L0af&w%lm%)a1H^Fcp_C+U0+oq+v3pEvPB?wSR_tW>7@!URoJNT z4uy{>d`;os6^0b1^p|@3C>)`1w!%tN^u~Eqo$(zvNE(P zo}^*xN6LwomD$hJR#s8HM3bjq=qVA+v#gK@qMEwYc~;3X9M{b+R_9u5 zpR9b>g^5kqOghjEHb_dftfXW4#hn za;J^TofKhW(zu8sW(OEIX-4jt+-Z5^yo`M_7Z+C4m!fTUuNA#S(?*RQf#RRhGN-t$ z&C%*=>TSmB&lkDNR?FL%VG|5E?-8Pmp18q*S67cIX^%dgS$>$LnLEx%C9@2TY@ zF<%>(6Pd@b>s`9ncG2pq7FJa+sgjRK@JS9dLOy*kgO5~*{7=pnIh;Q86tW;rmBXoa zaH<`g>IbLBfm7qa{~yPJi`0BznZoS~f2;5Xg@0EVHAS|Q`O_tKR`GKbp0BW8VWYx( z6h5o)BZc}@si%X&GZoHMc!|O*6yBxqNrit^_^ZNp)1Tabb-NjjpdMmZ2$5 zQl3l9tz1;MYhK)W@uw_wGlZv zn0$@YCeF;$a>mWlCQi=La5)oLJZ)N2SXW)+nZr7I$);_t$`*Ko!aEf{sPHL;uPS^` z;Xf4qpwL$>^~5PmSJ*@0OgArFp=e@RqUB*hB&@gUuM*WJ&97i-^wP#vv5>N~QP^t} zfsxhKf}~9syJ}4H&itJ@e-|{B(j}xuYtzv-s>@`U_28sdE~+S>(B%}6+<~y9NHK4 zvOLYj64Mn9P&is)zQP)X8x`KH@PNYS6n>!a2Zb?9r2Z}nhbf$-utec_~3jd{$MR-=GhE9rK+qSVyQ-^(| z!jh62E<;PAnOI#`R$E$^nN_x^mr5){N0$Os^_4}~-oi!~o`El{tPM+rDHYYlSeYt{ zCN8Icl~(b2@P+fSR~B9+<}y*s#MQmuz@dCp{M<}LD@qraRtTT?cZs#E-q_G`^oXX= zObtgUjgO(%lw@8C1>I}U&eZy53j4LCmDpQGPK(P+vHyi;S6@+*$>+;4z7&^>r^*p^ z8x)^sudS|FjEBR;gYm*17PZ9OOX$bR>GNx+m6i!doP3v*mf`7^5+Nzgcs6MGw0b6< z&!;1WlEp)X3TOXY*!SdDS#Qw~>|oayR)igK^eif@tyLv2NJj1G)?5!%euI*YJP1w%CW4bx)SeHgkP2r1>I8qSOOS>+;VK5e|0a@7S&W2mzH4v z5*Z5n_g@%=Wv?Tdg>{)~6F97n`8zARMf>Uws-aqNU#vv;$Sg0c#e;&}L}n~+>~z#b zN#-;l3#HlfQa$IF^~}UhC@e2sghnCWq;YBx6(Y*92;)7TK=f8)&n3Lo{)1OrS32cfF!s(!6;Mpi^-Va>dH zQOMm@hlD?sg>@JJBHi$`2VtJ(;PaCCb>-OOs?IDcUE=DBsF7y&n#*AjT6S_lPr=lb z*45WkMV5?A^LQz{sY))C8;Piy7Wm{qN4027%Uo`kUo?|&5oDHBqoGkq7LHrOp3Whf zfmTsHZ$2`~w{%pWuECMte6++&r_~8kRY^oKX?)SEux5TOPT5W(TFZBll-$W$z4jl; z*OZ_Osd^6QP5KSnb>)?Ky0`db_MLI>q^=7E&V8t8epMlEXfhA(v{4ML5%b2s-HkYg?v(uh75=}$rhnk6n?8P<#w5V zhQjj|UaIgWg^wxxt3qS1lB=0=3G*`BmQA9^+zeiaV2dC$y)V zB4?}atxm(`Mluzfn1gt4JD!_PtNi7Ki#hjPCf65uL$jtt!jP+$9=99OYz)> z94cCw$jki>wcFurb+~&Q&dvs%$91wh96WAu&e^|zwAR1BSY&8(yVqidXBXC%*<3)) zo!h;H@tWE){+8B7YjSr)Q+p${=Z+YjJ8En8oPIuH`izLzR#6nAP$cfQie}?2l6k@p zhALF3zOJkg&fuv7>7!j#Q)bgqBrd32QoThK{%V7kF#~o(lRRwi?9^K7^3Vs zyE2;18IFw-fTEI`>P5mH^5@E{2}yGW)5H#r@U|xUKjX)y0X7g|rhbuQY#;(PrDdg; z0L2d?Ri%iCp9++`UBT!)hUPJZg)V+;>x=Mvd4#dkTvW$@r%V&wE71uT%KB!kkBC`c8%4C>-~gOutDXs;;)Y*d72^We8d4 z<@kHj`>t}=x$_FiDpy1I`f!kif}1Ydh`LVN-inqv^)L5@gp6!qc=n`rxzdLU6{ehK z2+vhJ1ea)sMA=f5i`>d-X$werMi3Eij}o{aG0ws&I102om)`gL@woF1Rt*2{(lrYD$XB#gHT%h_LVSWw{~O z2RDT}mee>pJlQW+_uxojClzA6BD{tF;%4p5u#*OU$2S(g$O{8BUtY+e&mntm@>%j; z?>a4`6k*|WG!^#@)`F-*kLcXIK~8Z?skwOrDJTn^60%_k5w|d!iwvTOxXVPSmV=qz z-Z=ZmfTkTsIplnHJd|VMeV;FmhmwK%m&ZdDz@fmcz*~U(foFVsJah#36Yw)&|L=~6 zVr)&D3+xMQ0OkSjhz*76fUf|r1;(U@LWh7knW4}zV4u#RPzr$HY0M_>-{MPLc=FTi!cPl0=Y-vJK;_5P3tCIQV@yfpyq z20RCt0~`k|0bU4P2RsDa11!Y{Uk(EsfX9G)fMy)NRs`$@d={7k?1@iTl>j#Y*8x8V z?g1{tN4gFJe}@m29Rqg42kcC|%ryYm4LAar1FQp<0Qo7tb--wR>~9Z{9}GMU+yy)a z{1#{?XxeCe5V0GOA9KtBX5b@{CBSOnI^eCqJ;0BEhk?V+gFJ8x&}^$|UjVxSM`S}D zcrCC5_%v`GFnt8%ffIp;f!lz`fL{U4L`};c33*^GFbDVmumt!6a2@b;d`Wo^a2fD0 z@DT7AFa$J{G;JC_9NG=I9hd|B6j%a08{c$Z2V4T&1AGm57#NQaUmpW51e(ccN5F1C zV+`bhLx3f~Ily(mWxzc^er^3Q@VCHYz+*r&1@GD66UNHZAt2AqP=qvrtYfhE90z;(dx6Cn@05_lNcZW82yYk+1N z`U$WbFkv#}f$M=KzjtCJ-|u$QxS)OzXFc|yWo!onRq#_5ZDcPGcX7E7hnnS z;B?3XeKQ~r90xoMd<=LD=${FByqH%F><0V@m;)@C1$p3yz;(c)*^mdmbphmo+J%q@ zo(?qA;V-Zo@Ec$buvb3hf&DLnJn6taz>k54fdz9R4}1n_wnupsKpr?5m;<~TSON?b zLLN8^xCgibco_I9@EGt%pqZg*=N3U8m{SaS;Gcmdz@ie!1J?uh0GE|P9(Wvh3^=zO z;}%{%+zadrd=Z!jd}ThyJK(Mb81I08TZr)vIIJQRItp9``~~<(CG6tG#e-Fl15T?B zg(`p>Y9R-F0eAqIR2K@p4jc^p4!9JU+zIbu)?>T`{uVd`ShW~-fzeAK58Mkp0Q?mA zI`FM!unWvv9tve-LjKZFXgIKPCB|D|$tsMuz^%Y0-~r$v;8EaFpxFRJ54;PQ+!f^l90L3jI0M-BYRCfz1Fr?n1Rek`0lp600{jkm3oyAG z_Cv0PJn$9Z4B)rGI$&Ts7%IgNm13TOZd0-i^4%l}m zOw?e)L-ow2O^1$tTAP;;2SO<){9rD1Gy^se!34ERLJ0K7I z37Fgy_pWS&ya9zhVbF(y zem3SCuAT|5o<1?qL%wUlH#Q*@8sRtN{SfF`8KKZM5%eov z`ccq#g1#k!zTTz(0=mCLDD-#){h&+FKzrN^`pyXYbuN84=$$);Lilt_xV(J7x^(_o z5~EWn^iG8Q>n?o-=!ZZbPYl~X3VHx^OwYpfDPj6Ap#OsMX^EZ@rDtU7=KoRezA8PGS27lBkLdO2eU$<0h&F2AAFh`aPhZ8PPw6xc%c0=uh}P!63Vk@}+%IS; zfBB%F4SGxZSAbsCihL93mx10=`5Xd$59kFE`3v{Iqo5xHeM$sju$0lmk- zmh+c^fpHw@Ey)iDeMKwue9-R&eYm%LmW0b^1?bO%p6{jmX1n#%1bSdl%kqan?+SWL z@<&0R+lu@zpkLaGd>t99K|KXrN19~?veQubZ5Bd?%JA3K!_9yNiD?opt z6?zlsFM^KkjqvzAEv)|#=ud*)Qu{p$`rDwlbbtH>^mjoY6U*6CN}2aQ0S@% z`ev6t9Q0byTawQQ{YKCiN65>CNe0qZfc{l0^d`_p4{2Hc5a>;yAC1uemh0b9(B}+o zS^gK$f71#*1N)NZ=`EMvaL{egTg*S`13;f2;a`dC-wM!|wL)(K{g0q;iI5M^-w%P_ z?~Io99|e7JEA(GLe+=}N+D8WVRS$#SQvD4FJstbFEy?GD&Og=AQu(X^eKhF#5%ZVX z?);?*^flNYzBeNOce~|x2=umRwQT<==&7Ke=apYB#6|!61@xhypW~%34bwBQFFdUk z`f$*zLI1!j@B54EUq0yl&u%6EpwDWB-URwe&|511L!iIbiu_T~e+Ip!_V)|uqp)w@ zlKu=#9B%-o}?9dOraA4A4(j zuPm3>L0=B~dClz%4cj5#FW_sO910z$VaH$Y(|s42uWqT>&zlkoUGL@dUG3&82lV$q zA8LB^j72?UnXV%Cw+it6bH>U2CVeaDZD+Pj-w*m3pl5>D^;ZrTqTG%sdajr5%N9OR z|7W1*L;j`+`VN;KgNf!lpf^R(uXpKvL7zD*6nZ3r{*X)01N|G&TavE;y=r#L^sS)( z1N4zz{VRof(GK^69y2Et`m%YweiW`(=JR#%y>@=fpO^^5ui?k%Ca@ z0k0nRul+(5Q$>05Ty;X>$>;IZ!}HcaQ79DM+@2P;$8tRazQ2R7jEbH9>??Hh^%>~> zaUR+dJq8<%^{vqRf_@P6@lhWAMs5@h(0(51AC-qfe~z&KhHJk9^jqeKLh~Z#J4J>g zzZLY4D?*_=Bjj&$<@bYLRSEmvaxij5A&C5gzN4z;{oKz$zXEiYsarmt^=b^xksCqp z;-z0C%!~Z>1^t><=y{-TZ-rg~`t_~Qw}O5{EA;)K?*tvUv#|e@!~Pus{i;^zpMky> z^n{3h-NxYO(4UHsf5Mfo0DW71%ko=6{{!fkMaZvk<@bZ0z8K?nME^VN_P-;b|LM|DC>T+G zNpAUl2KvDjEzfsj@I1mRpl^(jU+c>E1^vubIG6PLS1a6;{U7wHtA#C*^bBJ{U$ z^=}3Jd_0fPQu*%({qLZ+w4ONvdOJM7aLntUFFdY)2Ku|8-xfi?*)87~JWo+@Stzt1 zf-VnmS-*WjzZ>*v5p;RrB`dq<;qb`&XZQzcvT-m`vOkuL*@p5!Ob=C0ympjSF6B z-Bx#0?k`mo+jjb7Wi){3GM|4?kxbGAS% z`NWklsZb!60OGO~Vo4;fprUi0z{{b3e>_yp_zqt-0bjzF*QZh0BH&l?mwhshBUN$P z%0V14iVI6_abe3T;^Im-$weKs<4N` z(-n?ZI7?xf!o>>LE4)tOUWE@Rd`jV)3O`o(gF=6dvahg*!qXLwRya#x^Zc?N_<#3( ze@GlNYSdYoSu>03tLo}AhnzO-v?2Wl)r;7`RRf2dHeg6EnW~+@IH=#iGZm-g86^H7 zjBHbuusKn6tkXG}KFQS=X+G^<^e4%`wr#fH%5qvtGa1Q$R=mT%FH!Q>I6d&B{QJ<~ zr2Yc4fU!(Tg7@~5}z|2@MT{wvOx{EuM~aI#D4|7e!OpSMi%w{v=Y zGa4Ek+p`>llQ#DM*j9{ML3xb^ncs`s(px4!8p;flCm4JL>zMP+?t; zgs2~i@T*y+NQnCPRSa4W!&=lY3@2DW!H=k484g-kk>@zWnbyNJBOXo2vbkW5(sU9A z*qh)?lrAE}Y*eQfqw0(%s-MeFpg z+7`2O;v@*!On?cRGn||EN>{`}) zXe3d4i;$e4`K{BC=C@dfZCJH*J7zrsOl56~)J7*YiS6V*#LyyEqS$=o_s152Jr>_O z(t?55Pmp5q-LpU(YfiKH+;kv*B7@dh@FS4GaE#S~>21kQKkf#`O^1p=B7^a!H6|8$ zw{}o&Y!QBuXj$XCFtIz-SQ8keo1c?E!J0UZq(qV?EhWi1mp_vkwzL2r10P_G60y^8 zKeuv(QtLhnU`<0Suu2#X zT9;9%l;KP|Id6`uq&#e7zR*GX!lf>~B22GTbknN7f^<>-i$qbeIBITX;%a(OOHNVp z^?yQQ0=`+GS&Kzt0=_n-Sxa0~%Z^d%e*P>M3|0`b)}@LeXsv9^d3hL-GdP=rO=1@^T*x6N zv53yk)0a_ z?_jWr{UGrS^6p~mPi&;?x3NJd4y3ZZY`clQK(g*)i%oo%sr%VZ6FV{WUbfD}n<@5t zw#meIY3%{F#Kgfg@h}@*;+f=qgiS5+B{Dq0MwJ*x!%wj(CFWAY^K3MU1Iha`n?z!7 z^1i_e*L>wR;#K<&O1&4fMLi4WQxg?%C3Np?cs;OtCc&x&HWGyTTj zHw)T{+aR2{n>k3Ci^RlQ2HUYj5|bG0@F;^F8SFwgG+!(=bYtfH7NrCKKn{ZTfL9Tg zIT$E&AiN$#uPy26V6yO5zZ>Y=ho^MxAq>V_(TP8jjS|sGlwiq4r*y|ETPCK8MC%P7 z7}7)?h=Pa?GFLGeaiiNWAoB%qG&(~vk0Wyjk!;-pr=vS=2TOw03nI~-C>XQ~&_1F? z(PY4{w_!Q(ELu}Sbbs<%rBpXyGUhUx^%27ZMKV|yf!sDTy6uy|#1v{t{t(iMH8h&e z+$7#kJDr&aEj}wco^SJuwi2B{+iWY*U3M~2^SzHJwxYXISAZt7qI(R3%>+)UqI-%; zOjuaDOpDHvlc@E~O)tSBZY+*qRfFwFKqgMRBv{Q4fJ{=N+QtsIbjZ!t52 zn2DsN@I_B`Rue<$8ZNzQEBKOaX;k38uMQVQ%2T$qy(NM2y3-nIn{n z#gduJuo+XYnQz{Ks<5Dy+F)?%dWv(gWKI)WX==t^CJHZR3NK#OQ6qr%B7zl zreEOF^FMa!7lr8;D|(h$&`p>PrQf%@9_-0NB1*qPGjA6?j-BU@bKJx`6{l(5JGJi+rUIN z>fee?i5Z^xI|^Cs6$kjnugvxRf`Q&Y_y`hZ0Y2m@z&|MWE%V^3F2f`K`Se6Gb4g=9!(x?-CG%OK zO)Qqo=NJ~uN0z(HFL;<=^f15VGQT1Q2BG;?5A$mt=GP^2Y?e8C4DQTvTr8R6{s}MQ zxL7jtIHJXIv1CqZ&mb2|=JZP#kTvIWG>PM4$t>f*5y!=n zxqxFt92ZMw6?=Ld7fa?P?9_2>z-894|Hg5#WG-c|jpJg;T*1B?$HkI)8GB_M7fa^l z?0<1wESa0wyW+T5GPklH#c{D@Zex#$<6_CYhW#Wikz&`eN5pZlWHzxM#Bs4??qchY z<6_CYjSV`EizRa}+in~eOXgi{v2k21nfuvJ?Y>9DP zESV3p(ZzAGWIn>C7RSYs`2-tP92ZOGQ*26cxzzAH8%-P+OXkaL5^-ECnQySdH9r?i z=38QbH~rD`P*vhC;BO;4h5v2bR{b&4kREOMVIQ}f>ks=sXwc@z9e zkGZ_b9^Mr8D=eUPk~j5c{tku-{jN6+7g=fE4PO#UNNw+W`_ z)oez5j6-P6#_TGkGqqkVIE==Jic)@N{8|-1RFtxc8g4epYcxJyobn*!x0q8z{NkC;%TiLPZ;$ZHX#AikC64slRs7SUl+KLbVfKSZM&nmSsmqpC zp(d35$BR-fB>ip`KU|c;Z0Y+|{F$N@KlR^hGTCUnuQ&yNYFpC}Df*G3v@gm3s#%tl z4GZ|3$E%FLU|#IR7cf4^{;0R2kEMKX`yD4fne?vq))YnOs$b8DYI5SIGk$T@-%=I* zHIBoHCB_f172ZHg*)Z8z1RdgYwwC*a_ z(yv!s^Awll(4u4|-AUng3xe5#$_WXtPB77ak> zll0Y4lEEIphSZ@H98aUoG9iOiNr&Ck-bn4}N2+hA@7q37XK$rbZ@LkzohobRk;;zE z348{>*tZXaOlt0{Ybn#2$7l5?kY*bn9Fa1Z(DdiuEb7 ziVp$Cgjr+AI@*_pB-_~azGD5_(c0Hx?Wv_~AnV0=NtUbyA1KxgL{oZ^G|zXDAU*CS z34?qpQTX<#mhv=NYkV68Yvx~-mLfz&Hg58;eni&IzTXSh4;bD1*zae zuiMPwhmMwfEv1nS=n!7mq1&0q6zgl$ave#}`;xH=vW?YVQfIDOeTl4T+t8*JYP`Cn z)9QNBQ*9%`Nqvv0Yej#xjTk328lw6}m1?O}?b{&7_yM?es0CL%nlBez&Ch`OfdX+< zY5dQRD$VdwrTJeSRYrM^D*fT3O26l*((gH{^m~pf{hp&rzvrmZ?>VaUdygvp-lIyt z_o&kEJ*xD3k1GA%qe{Q`sM7B}s`Pu0D*fK0O27B0((gU0^m~sg{obQWzxSxp?>(yY zdygvp-lIyt_o&kEJ*xD3k1GA%qe_3oQKerURrHlvZRr;;#(fVS= ziFM?utnt3Pf0nc;30=NS558P2kTO#g)8zSc#Q z{X4@0tlJs>2g5_Gh2;5?;bGQanf^7y!!_TRH2io!MC2A#+&iSs*3UyqTz7^q)X6H2 zXanMiHeT#HSh4RjLp-9jJV&&a=ZMzw9MM{B$%r|X$M4N~$ z_BZ)uS8lOW8w^g}LUHao*wchonwqhXiNcGS!iz*K(Ck^#66kZDcj@Pc=@+>4{C~Ri zi^BAa6+O!?7=YQa)L$s*V%Nbg5)5M3!7gT4?mE~d49i^yyOiNfIyrBOtE4<^WWLZr z`ocvny&_DnRCLp>zMOR4^j)18OFgvg1x4<%e+=HbJxLMCz#2w zeuB%e!NagoF_`w|0y2oKsUuoQU2z!`MWtRT3!S?T_EoM_<8`i-I-*5^T)Pj6GQZn} zEv;>)ef@__#IA$wIij_15SqlUgMA~za@WD$c|Gg|>G(|sZmdGib3|+3;(D+<2)guJ z9nr#rJ>oQqyAHNGqDAMqV+;y4t5y_j%4mS*b6vDBy-on zu3}G5=B|T%2|IN%cOC3H_TOagI@n9uYm>R_V6R|bP3EqHeHnXYGIt&9%h~^ux$9tW zV(&`ku7kam{V18c4)!+om}Krc*w?V1By-onzK%U2nY#{l6Z=8(8RXr?)}P!+*KcEk zP98{Qd)aoAx$9ux#TJ{)T?czV+i5a)9qfDAI+MBUVE>+NGMT#$_5*B*$=r3YA7-OV z=B|VN2%B0mcOC2}*r<}Z>tH{{rj(pZ4bQXDBy-onewj@onY#}58?117L~Fk#26!_% z8h?mE?m9%bDFPLA?m9%r%tm@!D>{z%b8(l5ju&*%tK>nOsrk6;5Z!hOc@v_O_<3&0 zE2>WRz~~flH`jdJb%;*A4Lm9Qj*!{rG#&TJ)Iqq}uJNViOxD)=QnfgI+|!r39gbe^ zOB**@TklKl1c?p4v`N?--v}6&r)~1329dbgm--bLxA;=GLC02K>gn+O3Sa6-#IE$E zc7gV*e5v1nbDJ+U5s8hy)SnQ$+LwAU9Jt1px)vXyEK45BcJp{nA zgMQ7>Zt$hctXG3{nw8vfGhE%?pVcKOoq_fB`?H&?sW zmwG)UZu6zigNZ%9)XM<3`%+(pGkblhFG9^7zSMSz-RVo+49>fJsTUx2H_U@`pD&f$ z8vA{kkDD`X3S!`IQ0&vRDa=JUnfo*`X{^I!?$g8sSzXE8r-^ANK9jx9WDt+#&#%XM9f$l z?`_aJ#+{xmG-jc5@k&oa_3O)`STNWSYUub^#ZV&1V3@)D?1*By@az=Ho$%KVH2t`c znKLX~Fp6)mBBVDx4~6NQDWv&D@m-YuCTd*QW$fbg4CdA6r$v1_^5KN@)9)dlAt*-U zo`#IO&y>o~hHYMVQT2x`&%TQ3&W4P46jN_iR?ETEp$M~a|KrFb$|L^2V%D2_$HNKH{?-c)v^dfJHpn8&@3>Ei-0SEU?d1x; zXfGE*eG^M=j}TsRo>YItRlgqUI}7!a1LvRVJk;0siX1uC?oifbW4uc$pRRRTPuCCn zM`cUB_o;H$o1zo&T{RTUL7@g`;GIQ3Ip|ch$ipKtHoaq`k{_z%WjlCUx{xnh%rlZ% zwV3CWLuhfwnZIL#_uCQD5Aju9~x(uXH}trT?htmT6ajJvDdlF6MN_(*Yo?Q%azZjFY zx#tGn%#pe`yWH&tky0r*3vwm(8kgFsEp+vxEyFJK`^-ka&#VbAl41T@oOXgLS+dD3Ij}Xi8UxB}jm73pi zHFsG`O0;!goTP{k0Si5I5>dH-r7E*b~nd2qbRZ2dc->=iVD|!WP20Y2v&$d`$ zA1mfx6|>&77b-jZKmrF*c6%v1;!<9lJHcv{t=t@jZf&};9!67Bac8iI7Y z3I{CqkaR^wp*qwlEZ{?e+Ve!}htzynXdZH+W{bu7g2+$y39?yNk@}`JQBhF3%I1h< z6q}!R-&8rS(6Yub{x@r`;!bh7tI7S7q{?1iu4Uay-Je)>Cve|H?k1MrCn8U*#GYfx z{h6?}Nl73@d6PAoE%s|``w4#jox1pF9H_EBE3{tAsrv^Jze7nBy1IIokvqvIw>2qS zq~GOI+wrVP&$h2X%5N1l-KEY(mSyYBwq@%@gT0czIFMJV zAXh0U(7Kh--Kq9hCzyN66`m^8i-H=5rsBIs%v_=;XA47+7nk1DEeo0R?a)&cMSMdU zG`*>BDqKH;%z-KkDxcGw8`LzXoHLsn#LULmI8RHjWP^+n?={%QoT;+-(pRvG{VKJ< zN#zE*9?+{`!8XcOs$cY|^o=a+c0#XhEOI2o=3Bb(!#3)i)M+fpj=~|^Sn8yf(q<>c zyV^}|^935;UTPf?;g-zc{9qXh%Ney$A z2Fpo(p1j?ZkC~2Mzpy4&54JJIagwJcZ7$)`Pz%7Ksr?%X>eyoeM*sKVX!BRuevLEe7yA;u<2J8PK3o>yn>arCa9Q9iOtF0O;j#eV z#PPKyJ0C8)8fbBw*O$nk-N?IH>PQ5g92FqUOK<9dQje|$xdKt#dfSwv^2v&!qz!IR zDvW)vQPk3714ysU%*HQH5ydaH6i^Fpem!O*3Dey+cyzF*3|D9|D=2x+nX|G5|5jIO zGo;!;>RgwzfSh?xDo*izb#UuV-+?oB0*MnPZ(i(r#wL;AYb>Ca$&xaq4erP)JfjUB zD4g=M;F;6r5;t6qLSm|Ey#e)c!>Ou@3CCw=3-7o)#!GLSg_4bD73fu}gko9ndbKR0 z0$LN#i{T*wTDwGAE7uYhQS0>-T6lgom1&rRiA!%<53SLxWc_-Ve<1mrsCLB({CtW< z@;5pBv9rl9p3$(49jaN!UdO})mI@9`oy41&*p|g(8+SU1Y)X0(&Ed3AC2B)DvMa=( zSF5h@C7L|DLi4vYf5trgf4M7|{~KMwG{$_7EC;wPZK&rgZOa(XPnZR`Ep1F-&}kZW zf-#XBYXP2k7?aq{wZOTQoy;&E4inE=8lxB!FBKR$EN3ln9|h!dmTl@ag&dYX{l!uMXC*2}_ zVS!7p2-7PS-88D}Nf+g>p0h;x*KB6uYI;yhPBh8{qkbO}+wjE0SS%9Ta4+0g;+k4^ zgi?IY(pWAS0znq&rHUbFto+GkSmj}85DbBdG`E`J1e#lu4q>Tntz;HCUniK!u%6o@ zl3{~~VWVO&jm=ZYAhNbav;s<9aS0PerCuouohKf~RjyRydRIz4XNdy2b|(^Lezyx- znw@D}&)10B;Kaj_&shezzir$gGzIwVq;Vs|2?4&8X6)op9i$64@tq?fC!e#FytlX> z?6#ms`mLU`ga>;%AQ7csp&9BqOWQQ=;8wUyRL@x=@$NBh;y#sa%eW`sO;pcW!jbz{ zFp-V=w<1#kF1HQ!oF!}?;H%Cu*Y^tsdjH_>kSGiAAx{DRLAh@k2cLEs4haTIJ^CpV z`JAQkn6$+)-FRF{1&u%Qr4P(@k@zRcz!MMSFf~{K?q3+{IZHceJUx=kJeM$@VXwiiDoQUO#hcUg3L7sRRvpLwrb|J%s9Ad;#vN4yVNi0u1 zj4}=!u{`lG7I2J+Wi=aB?CG&Q@h~o7r;g=`hf&A=8_N?9V<~%WEKfX)73{0AJn=9t zW3P;T6hFr0?0>O5@h~>Acg6C=!`RAx6w4D2V;g%+EKfX)YuHa>dE#MQ#~u;O6Az<_ z{UDYn9>y-V{@6yA`)zE{u^dW`y==R&Jn=B@VvCLCiHEVD8HnYHhjA}kXDm-VjNh|O z#`46&cz`W2mM0#@!)$c1Jn=9dVN;9ciHGq78&xb%JdCHWmfbK?vz{+Sxj+k>9O-h$au0=LigWD>Z5!^8Lp z#dXJktao7I<7z%I3hcb}CLYH~9UYX8c#bf72ew{c;}of}qoXnIdEBn`EJlqBvW1T6 z;+MJx;%+Z>WjVSMsY|d!S3K``PHe2y+{@K`GbRZ75JqPy&0#NBx|)YLnt8{Q?5>wX zU0v;2YUeR}!wFu#>FPSq(Is+xp2~4sj4DzV`@ho3Y*+C$%>D#MKRZEje=HAV_9sLr z7V`i&DHID?S8<-JxR|-0&FFa-HZNB$Y^CDa5sGJfJr=UA;yJG3Y!*c^qgN}%YuyTq z!=Nb@7e^>AR*K_!SC_)j9MAi@6U&b0on0@XVs53!^A_hs?`x3dR_c1OkWH|b(Ukn= z*_-EjQ5)e!tv7o@*3Dj>tC$B1dIO{7Cn$d0RooDvxWTJf$hwMGyNWlkrnfM9P$>>~ zyyLE7ad&n*-d0!o30CKJM!!(f;l?~3i%VJR+a0%7vt$Lk+nBF&b=|_U+r{X>i<*}m zkNKpoT}oG5PIDwX+Z-o4PE57t-LB?;(aZget~){VaaZ$x$4kzSBs(<6bB5%^l;(R} z%{oi(Ax7U)nv0P|UV2j*)y85A%GLaBgkRse(l=B3S4MA8(%}}*Ww9);UzN0Mmx3MTCG&XP z(Umx!C1mN0A63cMr9E7#V_of? z9qm#g{=otBbQv#{*_FRYZu->K zcY35gCpt&^cScy>BG&r|5g&PizF{EB;u{gE&xtC1Bg6XIzy&=|#MdZ&;rwoN_2otC z%ZtqK#IU}ZEWg zU@740D-P>BKz)@WK0)aVk6`OveU*;BB+;QOb=9MjM30v8=+d%ws>15;W@#=H@taR@ z_f1#*vPkvI9Q9J)^02EuS0yO)R6f6vm` zCgMYiW$A`X<62k!HdnodO9@at7hZ_U!cpoQ!|G?TG@3+wgHk`78gS`NPeHxR?@eKe zft0vI#Q&ru@}&SIQj?HhF5eUfHa(NLf^(y4IJh&cFGzg{M7&c;w$K#zU@Y`W5AF|3 zXq0$N#4l75VGnk=9!L(?11G9Hcs#7{LDt|A5r6Om51w;9cp)sYnG$b___rr`kd8w! zSq75B^}vZL58ih5rG83%pXifIW&Q_>Qb1DEbm&UPF6bvt^`>Dn_EQz9(1Nvv=$c>Y ztCe6kSFnMC*n0j-jRNIb>W3WWzSs9C-p(%XKJr5E_paVl9%<`8>rbA*`xbfec*4(N z-Z=7x^p6#9nyc4Hk-VWW?+0wnrteq9JJ{vzPhK2Fn?8BVs?bvTq=%m18&H-lxVpQ% z3&5Ks?pX;wb%SIXB`DDnE%h;GHPts$iH>naZ+Asgy`rgM(Yee`M_-c?y~-8+z!mN2 z73~-neUn!E`TESu7D8dG?Qysz9q#89?H3m9!F%FRUyTx7>{^}WiVpRP4h@U8qr=(0 zPfrkSbVakhqS;|lA4MnlE-sf2hpqCDsz`??ctt0KMQ76CS-#hm=uy|<0P0_g&hm=R z3X2|KG0pScH@~^nk*?@Gujst6=yMdU@%32HTy&)?TH_V135$NpmbcQ^q(sB5=^SM>g{Xrma>eP>iktKrI->54w)6@4r$TF4T9(wDD9!)#X zulc&H9ldFUEBc;S^u4g?r4&suZmgD~_ex3JCRVtjDTZf6OfhDI1&3!^>alo;_BF;W zlA_@fe$W-|>lN)A7X6-`Zje!>M9*`re&dP`@`?@$i&oL&1$E4s-mx+yIB7g}vJrYX_zsCCR0ZS;yZ zhDBeX=uYFH5)C`tse_Z(onFzMVbLQjroG0%I_Yo&N}iYAbb%|n*DJa=EV`Vc_Z#<} zAiCWZz27T(e^@js5u%5U{`J|yTG;B#uIOQ}=;5&FK9=xn#&48pJ?8bi^rqO3PF`Pg zM3cl6?=@Gr-Gg*_lG$}xwh-ziekm+Rk4dKL$C~z6i|59-+c-LrAGv)QF7w>D`PX{i z#oX-w_#?OS%eLnC{Ft%P4DZXruTJG)BC!pY3V$YmtVFuqji1=R({#m^u8`?dS4ecy|0U! z-q%G<@9UywQ0MuL{Iac?p)W#2e%aRazAkEdUl%pKuZx=A*F{b5>!POjby3s%x~O@& zz8H4Ymu*e;x~RE}nG|2PHFq;8zieyX%IwN7+nRfeSPgiQpexektC8XxwshP5vMp;< zr1DV;k$TcE+eUf5Z0nCb3SRNrq(6=|CqLHY7kicRV@>{qiAa_oYx1`xJN@AI$HbRy z{fP|5TY)4WI+FP0V8H$4U?8bpBxPIBt^W17099q`Bqq<*WZ~ezPcCa z-5)CCCkF$4C@eoY80bsUOxUBH_+X%;kl`Lhpc8}g^_qbAuAU`6IT+|nzgZZ6gQ>Q` zKw>v=iw_S5Qa(qL`0!w$9m_?0cref*k3oKTFwo@?b&3xU2D&keev8ub!-IhVWeCfB z43zoco1=k2^j&^L8NEhX<{WJYSR_9<(}9P=0vO5(UH$4^}{h z{P3XFpSKWzHynI^DyiHx2S* zt;~AV+pdOp(Hn-s(!XSJKIEpicDmtUx@MpDbQ4 zXwTB%?wrt^;cDh1;CfF+UsakpUE-xTeN4@)YrUtVnYFEFv9_TrnID?edy$PBb3$`( zN3-AhJCr6ZrT#O>a_;hMq4x~&i`1sx0qEy9MI;0B{VW*uVNxUV{S&1}P-VT6_Jf_5 z-gGae1^)=;L8^F2Yy@i(=P1d-A0f=syEJ}NQXk173x$&M3^k8po5K@vDIYPGBV%(? zE@LcL#>%ze!;CJZ6PI3^P1_o0;k@*w&*=oeVyQ1w{HemuLTRT&OS*^B%S8bz=>j23 z=`olI$Sf?ES(qcUuv}(giuCzXrArp@3a5bEg{XP+pcUCd-*UHLYN=IZezU`y{yBN~ z?_Vi-%Uus{A+PX%zmwl~o5}lN@+!$Y)#ZK1_4YyKZOQ?%J|vq~h1Q-=u-bR=?xZb8 z!I;`PIAK$hoXfE9#z{`|KQVA|Dyra{Sp59YKaX+hOa9_1-&0@mM>`Yq9lkHp@_gri zD}fYw_j2buR@a}Ih+7IZ;C`LX z&u)wPj@AAN1m%3kikRT0#HnStRW00 zodach0y&-GCw%u6@3LdG0t4r{ybH;DG174xXMk92!cXicLS9eC=Q@ZMqQOTUh>fIUSJyl5eP}2BjmEKcQ3R1*f zJ*x=9IQ2)Cvmuw1N$qEneR@N-&^y`H{sgtN8uc?-jr3F;F`p@QC{NFFJ?%?fxiojH z($&M&^)*scgr}pWKe$&J|zOX&Xu`O~oNm`qd%xChYFmo+5Pj)pY zQ1bZ;nT^n~Xi0p9*?L1YltrPeB`wE(^}!D!khvTWFPne_fT*AITBPs(p_ zd|!h6z{1=(@#B`j_!Nv(R9r?^=LZA{Zo&o|9}3`blZwb%12f4 zE~`Z)%bgKBAu4qx6FKXPO4~(RfOEd6;06ToniHosnNbO(1h^FyC0-}f@M=?3*HKtR z^VKG5fTr}P$;5kpRQm*wH1U>4R0ek#plL5AYFSY|NfEC-L}k&0e8D5C7oP#L#EVo> zz1M;zLA;3()rZ1C@tR{)Uy5eJ9_`q{sE)KR-VcfDL~;4{Cg=;DPxcr%fFWr)s7_+%fFWr)nPA#oW@6WNd+%H_fHMom^ss;bQGuYQT=E= zTKwshr~yyX1HK&+HE;t&aVZapRV`;%8}C;A7BM7?VPZfN-jGMV*U42;S2x8)z9 ziRB9s{$xI#A6rAC>C8>+?X=UGdC=@EfBahrh-M?dBh6;x?{Xy)EiHq0Wx}v#h zljZNx2R7Sq-^<@q)Mp!RKl!spLYWodCXl}uSrWwSPyXHm5e|x1n*4njX49ZS)A}2J zqaLUJz6_ey86Zb-2h%@@nTR_(4KvYBzgd$F)%Zq<_(e)n1Nh?4!NW9qCw0=QC9END zFP8tSYqACBw@}1OZ+e6L9m(H|<&Skpd^b;QN?WXQdXotob8Yb&stWT}k4@lDn24#Y zo=@FRuFIxM?Q-!;-EFYn6fag5`BFC?ejQ9-7LUI?TW}S+e#~`w7far;@nSb|F$vf| zq#sM9A5)T8bNW)2B>aUZV-ZUJ3+LvyPZseO#=3IBAC^h7XlU6Qh&p8t;g-zfep zm%k0>>haRT2kPNl4oVXM>p^S(3&NQ5U{)-5{+WqIK@G zCW)QLM^sTsXC9T#OwkfvVG+E+Xorp2kkGW3#4p`A8=HW#2;PWr$h#di~F`^k!%Yd>T#voE86>a&e?vQt5bfLb~`l zUBusdX^_?QIej!5w>8MJ`dm7>Rh88j(#h4TtiF&=ZfrJm)5+yNM=wr8#MKM^I zXTOk{AEN9}35pSAsO}6Ysqw6rX@YET%@%GP7r%681fEQg^)fBeooSKoOl#)O^k(i% zZ|2Sn*PZ@sUNgh)@QXEgXj|MYuaNFs@4EB8>rQ2)JC%{{$Va-vrBl_+ovN@q9cjPX zspz2C4_c(6s^MIsoJGUAh2E_e@tc)*JmTb~Hx0*4OcvH^p}=VTbd{{U)xte|`hS(I zz16C?j;@mJ_%h|+%d2GVU8ekddsR>zb*)kIcQypYvDjM0zpEiAHel9?@-iA%Hw1Z8 z*Dn|4$<`3WV>H+SQvPgg2#Wk}RPk*M!KYaLo0LAZmP+Puv#O8mU@wYqQSN@XsvVwk z+Nxqdt_q6x)UH&@b~FT&D14QOovIFUYNKDRl>M?wOZ|c! z!lh&29Xr138!jeq4DPoK?_`BB8@D&v{VJ}$j! zk8Au#WxQOrsvni{0-5t4mGOL;^PiOZDY8lZq>RteQqN{qj|*~xvX(22!CE3*ky$++ zY3+EVwd0Z2LXp-&VQaN)V16IR{lm)IO|G?@U2A?{#JKPGMU4A?_3Wam)qqgvj{5-SYqNwDp%z2uK7haPsyx=w|FTJTfTC2=?TBI*&k-nrw`Vx%vCFuHc zFEidQYVdG!2E1oIh4_})t z%!YHG0?(xJGb4?k8EO2?NaJTk8b2%2_}O9OAF~?9iTJGT&5d8}8Xp&Fd|agQagoNy zM;ad=X?#N1cm}KCd=dXf8RsH}m)@j-D06E7JmcdZo(Yn;Z(u3RL{aULi8a*?oSG;VE>ow-I$eQP8{YklCvjnM88a|I^-=z(-kR`+nU`VkJQgN!VQiZnzLg1cy5# z(5wOpi-4L0wCNW_tx~slL_+_^?W{2099bRL0 zc#XMH)QK@SI>u}vZJRm!M$xw0*0#siwpp~vgs|D`H=9M9gpN+pCKE!Z?KeCjbV)8^ z#X>UFy-Y`M(oHSLwKKf}o9gkyZr#*-MY$}~?iJ;-OuJWXho@`ubaWrfbCzlMNk5`v z9w*b^FZx%He2CiqfT@n2t{xN;es%|O|B2~`Zw_;m5*_he@>k= zj%n)_f6Ld5F)bhGRX)zEe4JPLkzVCTdX*pLD4$F%KY{7-{gl6ND?h=j`~ePxC6D=2bq;t9-gw`E;-H8IJO6sO6PRuiC8pe1WYza+qm(rB`{SS9zsZ`AVywgj)s58?`Tq-Qn%Q<2SnO@dNu1qftQWu(DuBNDVE$3g~73O9=!0*(&U)jyO zRs>4Sy;f{1G51;#XkzYl(l~Qze4R87wdJ|_yTyqAK{ z&zU~{b3}ukx?F%D?g|{|`s`1LQ<% z5KYe2w}r{t)CCn`2bhn9M4%o9|&bZeUHQ-3PiYHuWx%K9a-B*){a3RcZXTVPxzf=Jx#J+2ym`$WBJJ2i1}xB z;Y0Ujf_{=!{b-vOun;Ba71%WFNC@a9t3D|qg zv_npD%f*J0`$WL=GWvGVJkXRwf@U+=uVJxql6Ao9EW4niKJk~Anh z?OKvb$FHenER|HPxR>aoN!96Gi(DL|qR!BokY7$m?&HM>t{Iey0 zyjne#M6>)T=kp`hR24HQx__*yDXkx|rfMjyAF-xllrE%7)|J~r>K!Frsb-ut{{+&{?FRzblQx%+Ah_x*)FxwHpq4N0@Urjo^{dIs2e^Y z5XUsB8<|n>8M=uj@gvsMzff8~VolvlzYiWs6~841(;S!Etjk@29Mx&pU`rwLb-iz8 z2J+C`rcfa|2T92z)(#n@?pSDpKM~GB>ZkNjU(I=!UA#MKgWImA4yB6hxQ;+_>Ys6= z_z`RB9x9|r=Y4llKKJtd%s_=6+yhV>@FAB0AC~GXm43@+*vSl3>gN^>I662-J*IWh zsX1zwlp3j?pa*hcPR84lnt_(J>M4?-AF-yMri#HgMyh8jiJ5*PM`p-7JkC zv8MJ=nwfujxy}457xS-O%)hajU*N#Nl3#Q&zvN>6t!5rNUd>y9MNl3cII0%#uiihQ zDwpxE-s!+mwRAl4^60=(wfq7~eoo0VDcI!Efum|Ag_t~Qmx@p{$)n%Kt6B;id9-a! zokKAquY}|_(MZpGhZw#~gF256992mgzj+e~T}Pufj}9DF=hIltqXS3P#WX7Oeoopp z(D=)nLkw5Y=*pu@Sal_hqdYorR9!ovJUVbx zb&>bybx_r}l0)aw(VptZHwdWPY(v*EgD(&7LBaobksg?(a0J>Ke5qUG_pKfG_rCjhqq{C*;_QS zj$BD|3+4}!a7b>}=(mW8zWmM_Gagxbi$>O=Rg|<2;$L-T9ZNavwOOt$8d=9_7pK`O z>-d}TuD57pxwdFzok&Fsp^x+&GBWFM)=yC^>j*sv>6iUkg{+Uaq-Kq!dh;^|^R7W* z-kgy&j2`vDn=`UTkwtiOM%H0JrzHKVD{CB8LvPN=I*J;Xsi?Hxk&!j&MWl5LTstzd zN~qR)M@H63#6mkVw&0U@WMoaI}dRsLW9E@-;rJ}FXh&C9RA zrk8A~3q4X7dZdM9hZenh>sbZCd)XOUYFK;OnIx6&2x>PI@}Ub0ZU-JHr@@AM8hV#=g)UiNz(1F$)b%MZ zsHKiwDYdhPO(xs5e|1loD>9DXfowV?*R-;FE6)`Jo zLnzVlver>wKwnS>go4HtX?%D01G-h8+8V#GHNNZ7_^wCed!AMaB^rBlUX9i$RDD4X zDHIC&KPRj1fA~SIe}}CGZl zRW7hqJ_VJdd726aw9fj`JWmA!TIuT1JW+*s!!@GlXr8GIS#FKGkwoVN?h(RXbFJ|9Y&HU@Hbg;~Q$JD5CVYue~- z#71u;^wZ+(J~t#9v5!oDXW+=kwdj*s0X2et=c^lWr&siyUeQ1G+Q*O({bLfnJy0Q{ zzi-$2Ra^9S5j|hK({>RZ*6y@}MN<^i{$%KfE0?lC;g(YwnZbC7nw4Yd%dFfc|{u%qQ6C9>chZk zB0AT${ZQ!Cwf;~<%TWGMM9WbANJNWo8gl-j_!;NNl2>ymPHZ*A>O=9P?N3aPSfdm* z?k|DpQ@U|ZXgt@h!C$;J_=~p&-*{_a$oYrTQP5UU>|%}DN=?lV4t-iHT55OD%eJC? z!>!#cKj;aF1^nzddvF*MR(z4#Fgh3&(eK%!7sDyE6-SF`vEpbEEmj;OqQ#1alz@0> z&=U|36J|Kw1*EtnIQJL2O>1srWwz+=*`iPLiayONdYMtW;g5WKp ziSF0Y3nyvgyE@&b3k`W5Z@T!^gHF8PfGbq(sdyd`}kYYbs;lqX&VsA5+`kK(gzk46q2rd0<%J&ni~Ltp@E}^ z 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