From b60ed3d303c3f212d186ff79b64396f235ad1426 Mon Sep 17 00:00:00 2001 From: hongyiheng Date: Thu, 15 Aug 2024 15:06:27 +0800 Subject: [PATCH 1/2] feat: add solutions to lc problem: No.3068 3068.Find the Maximum Sum of Node Values --- .../README.md | 19 +++++++++++++++++-- .../README_EN.md | 19 +++++++++++++++++-- .../Solution.java | 11 +++++++++++ .../Solution.py | 6 ++++++ 4 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java create mode 100644 solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md index 83e99e58f23d9..0e1f3967da2c6 100644 --- a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md @@ -105,13 +105,28 @@ tags: #### Python3 ```python - +class Solution: + def maximumValueSum(self, nums: List[int], k: int, edges: List[List[int]]) -> int: + f0, f1 = 0, -inf + for v in nums: + f0, f1 = max(f0 + v, f1 + (v ^ k)), max(f1 + v, f0 + (v ^ k)) + return f0 ``` #### Java ```java - +class Solution { + public long maximumValueSum(int[] nums, int k, int[][] edges) { + long f0 = 0, f1 = -0x3f3f3f3f; + for (int v : nums) { + long tmp = f0; + f0 = Math.max(f0 + v, f1 + (v ^ k)); + f1 = Math.max(f1 + v, tmp + (v ^ k)); + } + return f0; + } +} ``` #### C++ diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md index 02f7391356a66..59427c5bf8b79 100644 --- a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md @@ -97,13 +97,28 @@ It can be shown that 9 is the maximum achievable sum of values. #### Python3 ```python - +class Solution: + def maximumValueSum(self, nums: List[int], k: int, edges: List[List[int]]) -> int: + f0, f1 = 0, -inf + for v in nums: + f0, f1 = max(f0 + v, f1 + (v ^ k)), max(f1 + v, f0 + (v ^ k)) + return f0 ``` #### Java ```java - +class Solution { + public long maximumValueSum(int[] nums, int k, int[][] edges) { + long f0 = 0, f1 = -0x3f3f3f3f; + for (int v : nums) { + long tmp = f0; + f0 = Math.max(f0 + v, f1 + (v ^ k)); + f1 = Math.max(f1 + v, tmp + (v ^ k)); + } + return f0; + } +} ``` #### C++ diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java new file mode 100644 index 0000000000000..64f1696c97985 --- /dev/null +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java @@ -0,0 +1,11 @@ +class Solution { + public long maximumValueSum(int[] nums, int k, int[][] edges) { + long f0 = 0, f1 = -0x3f3f3f3f; + for (int v : nums) { + long tmp = f0; + f0 = Math.max(f0 + v, f1 + (v ^ k)); + f1 = Math.max(f1 + v, tmp + (v ^ k)); + } + return f0; + } +} diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py new file mode 100644 index 0000000000000..71bd8da6787ba --- /dev/null +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py @@ -0,0 +1,6 @@ +class Solution: + def maximumValueSum(self, nums: List[int], k: int, edges: List[List[int]]) -> int: + f0, f1 = 0, -inf + for v in nums: + f0, f1 = max(f0 + v, f1 + (v ^ k)), max(f1 + v, f0 + (v ^ k)) + return f0 From b1aa391b4e0d531ae230e935f263782f2dffaa01 Mon Sep 17 00:00:00 2001 From: hongyiheng Date: Thu, 15 Aug 2024 16:42:59 +0800 Subject: [PATCH 2/2] feat: add solutions to lc problem: No.3068 3068.Find the Maximum Sum of Node Values --- .../README.md | 10 +++++----- .../README_EN.md | 6 +++--- .../Solution.java | 6 +++--- .../Solution.py | 4 ++-- .../images/screenshot-2023-11-10-012641.png | Bin 0 -> 29899 bytes 5 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 solution/3000-3099/3068.Find the Maximum Sum of Node Values/images/screenshot-2023-11-10-012641.png diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md index 0e1f3967da2c6..b527f4b4f3be4 100644 --- a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README.md @@ -108,8 +108,8 @@ tags: class Solution: def maximumValueSum(self, nums: List[int], k: int, edges: List[List[int]]) -> int: f0, f1 = 0, -inf - for v in nums: - f0, f1 = max(f0 + v, f1 + (v ^ k)), max(f1 + v, f0 + (v ^ k)) + for x in nums: + f0, f1 = max(f0 + x, f1 + (x ^ k)), max(f1 + x, f0 + (x ^ k)) return f0 ``` @@ -119,10 +119,10 @@ class Solution: class Solution { public long maximumValueSum(int[] nums, int k, int[][] edges) { long f0 = 0, f1 = -0x3f3f3f3f; - for (int v : nums) { + for (int x : nums) { long tmp = f0; - f0 = Math.max(f0 + v, f1 + (v ^ k)); - f1 = Math.max(f1 + v, tmp + (v ^ k)); + f0 = Math.max(f0 + x, f1 + (x ^ k)); + f1 = Math.max(f1 + x, tmp + (x ^ k)); } return f0; } diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md index 59427c5bf8b79..de45a57904708 100644 --- a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/README_EN.md @@ -111,10 +111,10 @@ class Solution: class Solution { public long maximumValueSum(int[] nums, int k, int[][] edges) { long f0 = 0, f1 = -0x3f3f3f3f; - for (int v : nums) { + for (int x : nums) { long tmp = f0; - f0 = Math.max(f0 + v, f1 + (v ^ k)); - f1 = Math.max(f1 + v, tmp + (v ^ k)); + f0 = Math.max(f0 + x, f1 + (x ^ k)); + f1 = Math.max(f1 + x, tmp + (x ^ k)); } return f0; } diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java index 64f1696c97985..a5dbc45c9e130 100644 --- a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.java @@ -1,10 +1,10 @@ class Solution { public long maximumValueSum(int[] nums, int k, int[][] edges) { long f0 = 0, f1 = -0x3f3f3f3f; - for (int v : nums) { + for (int x : nums) { long tmp = f0; - f0 = Math.max(f0 + v, f1 + (v ^ k)); - f1 = Math.max(f1 + v, tmp + (v ^ k)); + f0 = Math.max(f0 + x, f1 + (x ^ k)); + f1 = Math.max(f1 + x, tmp + (x ^ k)); } return f0; } diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py index 71bd8da6787ba..0e244763277cb 100644 --- a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py +++ b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/Solution.py @@ -1,6 +1,6 @@ class Solution: def maximumValueSum(self, nums: List[int], k: int, edges: List[List[int]]) -> int: f0, f1 = 0, -inf - for v in nums: - f0, f1 = max(f0 + v, f1 + (v ^ k)), max(f1 + v, f0 + (v ^ k)) + for x in nums: + f0, f1 = max(f0 + x, f1 + (x ^ k)), max(f1 + x, f0 + (x ^ k)) return f0 diff --git a/solution/3000-3099/3068.Find the Maximum Sum of Node Values/images/screenshot-2023-11-10-012641.png b/solution/3000-3099/3068.Find the Maximum Sum of Node Values/images/screenshot-2023-11-10-012641.png new file mode 100644 index 0000000000000000000000000000000000000000..4caff07b2cec62d6d4d339a7f99bfbfdaac98319 GIT binary patch literal 29899 zcmeFZXH?Wl6E}(of+zwCq99oXMNo+nMsiT1qM(vQ$yqWCNuq!fWXTc~6cNcV!~w(r z2uO}YQjnZ;=B>u(zUO|wU+aPjXr<*wIBPtcmEYmbnjV2{kNjw zxvF$~yE5kXok#D#SDC7X(9+$K^;ef(yYR4}ao>|={AFo3zB^Hj-#N*CY}ph4!F8h@M`X@jD{6+2Z9gqF@N0M_=R0n^ORHR<{H{?h1{}26t<%DdW;^~~@ zz-cZ5&WgWkXDK93)bUfCgjeO}a|8W`Ij=o}cS@W~0 zdDrK-*{&3+!|m_njumw4VO^`v5)rY+l7pB@KK`sz+UCAg&uLuachtBo?UwP3*iM zs_5i-`>Bldc-2JF-hGf7?*>Gax4poqc~7pv*kpRL5bS|3b`&EOZi*Kyz+3MO3cq3$ z#>o^=Sag26zqY?T;5^iuBz=lgRp8j^D+@^j**c|mV=L`y!g%aDZeJhRPEUix&}3(g zU^AAHp2Q~;c%tZQq5I#47~w=QXB@_&%wh7$<@=vTF_EI}A5;qPFC5yb^B!b9D$0M} z{Lm!P=yufQzgD1WiW2D9;ZFABzXXK`T~b{~UJ1{TG`#z*sax(Oh;duF#w6w>@Lnkf zM`)Kig{j)xnl^4pky>0Vko5-K)Bo#nN+ zS!+$OZ^o#s&kd;L=;4*&7G{OCxcs&jzEU-vQWH10xwrAOJU+&>GrN4glJMr)kF#sn z(OO8)yxG%lMXyepv9sI`dJ{r_#-_gr@f~dJHdag_$(P8(EkBJxyq@wNW)w zjFDy?TR22SG%4M3n20F2qgi6#lDA?(T5K}U^z}%k$9DX5cKNTFyjo@_?eK~D5;#lK zc(Ru@i^W}2j3)WF9Sjjs%EyC4u)j4>qq@0~GFwz&)_$>E<#{uHebBgRw;C!Mw1r8-K``L0|%(#4->O*=jwThnr{3n5$S;wO{KsA%v$J zH^q-NT&-%14Oh5)@8e_NM9kas}z}c&a`C1pRmouL`3JQ4%qUkCp;a*45t+mU}aRcI8vK% zO7+HBMXd)NFCc{s7W$4PCcA9vvi8N% zdTq;|)Zdno7gh2bnqbQL!w0+c0G;N67py>S9cFr3E7k|Ge&U-OThlqS+i5|cw2RD* zeuOeLEC>PHX+M{N3Y=V;&Z&y$Zx(M45P!uW$j2f7l6AD#U&yL27Nlb^np5?SX_@o9 zbpzaR(B)?q|4delphZ{g(=bfel?S=i_deaL|0SZ4smU|{a5Vi^foj=gP-MBh_$!%je1(R_2F>qG^(gEV|?2*5X9$$6^nkxKX_W zYSq{c+@N@c81~KT@6RZwhYLs`nYpHd-Z5X|dh=}LN8H*hA;F4(i$h8g$m~{!g@>8- zrt%Lk#($jtMrrkhD`3?0Tz->ECy^9c5xR6dRy%P!6RBZ+!?0}1wTV{PurLaC@6t)(Cr9Q@8e;OdNG3?v)-z5#@#XmZcFmsV@0wjm@gRx9QG*8p|keAJP zR4c|ncIhRPSeL^@%a`a*jj5VrR|}0m>3!ZA0W}metKIs=zeD?-hdlhmZ+&oeLnf`^ z@R8%Wcz0mtAE{{|mbOk}f9I)n#iG3STu)xA$Xv;Y<=J{i(7HY%tG%5~`p&(xr`&Fv7O=Kv~>aQv!kS z?g)-x&0ju?OL$mh9_70EHwK>tG?dFD)pMFGXuio0bQJKcPqx<%ayXiIXIrUaR_|$h z!Xq>b!YwIvV9s>i{seK(?6L)(dxBn{hU~t4qY&5SCgB6qIP&9F(_HzyHG1Qar8#&> zx^KHXlb>U#VdAebvhwSyEy)fFIfUJ z#?7US=%_ATWt9S7h-f=QC=kLatF z8&Aa2)i;;^&W=0))+d!tybEazrsK9eBj7aiKqE&FGykxd>%nwyL3(12$z?Cz!XH-9Ya_#an$o7UNnCpyQ!l?fbUSb7m)qY}sWeQorP z&HL1_n|*`j6EFFH<+6nZq*%X6 zi9HvaOtI5f_0A<0K46Ath;aA=E3yP9BzA1Ilf;~}OF<{CdIk5Uv{^h>B6{`|20oPFbUoDTK(V7i9WCn>?g?`)1I4{|tf zU^2S0buD5_;kR`M7PGDsXGLf%c{XBMsuaV!Hh2M!5tI12r@P2POQXWYT_pk37<=KV zkafRllKaxF`3SM8t}Kgq0kbC!@i)N6|L;gz{Kk#Bc*Sole@0(}tJL&ayZ9H@Pv6`*UJ)HG` z`Hz=pM=*WaZmUyzmu{|3cdy?j{5>A7(*k}RHYe(fadVOtGPI=!`dYf=%UmTKq|{L$ zXTS38vSo|LTWQjq!U1}H_uo{EkMn$i>b?0!_%n;dJ+~}lsr{HSL3O>U3OX~LGRSUF_@D_h->6O@jsK*XW!}Jx zbW7{Dj;>lyDYY3BICA(Y#7T4s!(_*KGqiG&(6UJ) zq!ENF6cB(|?2B}Ky5I2s;!m1+=cm@c6}rdW)&`vQa|&e)0&V^tcN4f`*^F6Vf!jr1 zPzvimHWj)TvvBR~ZOY}Bg$50K#xQw!ypT#l{Gj zcbKLp3H#5w3Yh#lms6-)8_I-#E%rp>@V-6BX5E48)ZK^Yb{6jw-kGUI$X7xS3MkJ^ zZvpS@xdq>(-8Dip@-w61m;V@S_jmnVkSx3E+SFuUQKnX(HK?s##_;JY z4<7IBZQIPZt|dvAQXW$(p0C{gHQ1hj1o^=Et&7qeT;jy+O=afH;FUr#YY#Naovh{~ zu8-7)t=}dcC*!Kr!@Id&aJC#M>vZ2;?Z(Zl=fe@}j-e~6(-{AiIJ=8p1H4k<&NiiR z|1gHncxz>Hta!+CnVGIJ!KQLD>Se~A)PTuBd^s2$cs2RCH9zP6Mb6~G{r$7PlmBU` z=B-OWbkWat`_4pbYM@zvNgj_4=){5VbnFi}cS1Q;dtkX@4;?-d3r~`3SpRkN4lXRb z5Zej9Cq(NIL;l&oC5OiAwXqa*mwWO<@NP~7D`9@aI%*A^<-_d$L4_DsQ=o>$D?MNmfFOQ&0nz(MsE2PaA512_%F^{+2{P)oi!)~dj=n)Iw0 ze2gZb!Dy~(-?PB7mygh(z!o0hgiP))!Sl0(Vqq%r1@HFE2U)u1T}Yo$)b@+TVSBb1 z+YFo-J#b2AUi$=y%~!PF`~094InPJ9cr|Vax-J>=8`O|6E}($B(uq{es;@BbQ1CSE z16|j@QMlq(2z``cC%g$PwDiyMGW%WQ{{h5F=-M5k-&5bd8@!{#d2art7aLcfnR<*^ zZxD*CyVBI5k({lSI*zcOYO;*wLF{~QxB_`6_+{b;zIEl^#t0RPWBH%{IKKVh6yJ6v z3CCvPD3ZU&4O5-%c&szO!-RT`Ah_?W2X2CvXLSLR5^%Q&beTI*$=2nwLIu_XqT2Fy z_>DgyNM><5AC%9QSCrKx$-iQt*+48l@Gg5tkGlxuEhb^-%;w6bd6&Vd@2h`Ke^t*C zIT`c%tPcy%?KBAwSvElAP=rZWy}4<)9a{}oPD>Jb9qgIXp|F}a^m;B|0>s{Vr`rrw zj(y6^=EKh91rB_ON)ccy&>U>D&1U`ln2z>QuQKk zR^h44cjHsj@4ml1SRlrM0(DoU8LVH=pIrDRI++&PxIJHG8a5 z&P)@|$Eu^ttcXT*+kW>hA5MDUv9)p?e8LhQi_KLKx?aAeV$WT-cAS+qPu3meGsQN8h-WVxO*xrgZYNSK6B?K%6G>sRbj$GQ<5 zGw8mog0!9g$v5)$EN$WW-qC|KmeGY!pOj--_y&$yl&;`Zx4xGk9k*uT+pvK1Y|i_e z&0dYw&ktK|LSQe9f}_9p{%wBnL)*#YE>D`?h_s(`9gQ#sm(vfk`GV3_psF?3;HzaR z7h(;yCpsd@f82-EK0~nFeB{W~Z<(Hg0*KZ%(p8;Yw;Vp-lZQK&bU8TBHQpoQ?+mn= zL>;byLA!p8p7&({2KmgO{_CEX`OPL*2JzT~z~E-r`9=g{fuXHD%V+o^F`bi%9AY=} zlabtCO9$u~W=V$+k{e%{Q6*lV`a?zcaEU#&sv{aSFLjeMC~O@u*aw)Osw z+VyZCEg?CG9YV=(S96e3x;~klzdM}D%=^wjH@^4-*rBy&XG|*@SNk638wSBU6GQiB z27tG zeF?^uIux=>Xpm~hhnZ;kP_L0c2R6*1ppjL@=k$UiJDb{PfMoh~oCh3@XZwoQo`KuZ zh>)Wg#;c0g{shZ~oQ~7BF8!XZTI4vbSw8!MBQ!S|-1cAv^_l~gRO=!ErOjhKBL4bw zcy00HFU0l`Gbg|Wv<94O0|d?zzYKJrW7gPMtHJjaiBWA zxwq}9kR7xR(F*_Hx|oA?BT``9nQ+domC5$m+;s5Gh6qoT5rP$bA6W=~ZikF|0k;*? zdM15 ztdMIokGAne0IjgIT)8dO1rGo|N64|z_#1oG+nnJi%>M~W+JT_lIvwDx&_=WL4Y2UU zvp3yK&R&1wcb4B+c?G``#jD#FfPtVoSD42@4_t0BEmer}@yS0ErT+s=xUWh@n36@K zIT3k*o}MC;&gLQ;Ui;faLY9{=OP%;9Pw$XQNWS*FFdX3!C@zu(E&+0WoXDf*v~u)j zF_B`V7z&S-KDvvhcB4RQ0)&yVVBul`_UN(mWDvHtR2BJ4OYl{cx?5Hgl@f@NM%JkH z;O&qypm6zC6wb*hsJp_@xh;>kbx7bdy6up$=5py;20WjICh7=sG6-ZczO0o!vn#vh z&-U-W?uMZ!OPWHvnjSMIK9V}~HYpiykCtC4Z{0)bFl zH49+wrMPL%-kOvD4yOW&iYSTMGR_TSWc zt^RU&!OK&;(@mO_jQ4lfg?-7WaBN}3%>Fm4cGnUnhpHslsP5k84#Vv4EDMoDj3;4# z@h&oVOgkZ1Ez#KwvKUVJ7I(PPi8Ak`${SC#ye)sDbd-q55OKJg*H2`aMmp*7QSE=% z`ww+>CC65C_=$g^{gJDHY_H-$CQHOn`e5{Q*S}FNarCl^$DLdtXH&c3C-RR&f6%&h zE^)MIw8RhdZ^;hCf|KpGtda|Us+Yd&S%0IH={D4^M2PEQR9HUa!5}7S%>Qx*{CRdayi97sU^>#Mc*h?M@qn=zPTnQ zU}3$lAegQHFt8?aAiMCIeK2nPa>lFs29G4g_C7S_Gnx?n2L-stq5^a4cn;H zWtuhGb6{SpjS#8qGSwO`e&Spdewan{a+JJ4_hLsP9t2bGu+Idsps5$o)c@FqZvg>q z&vVmlkr42rRnG$fcGOF(iR4&{FrYPD6-`Zpsm#*MCEmH5*AW2@2UA~qbC#034xg+^ z`iA`2;FECHlooQA*FY;T`^>Eqh*x*e)Nil6IR#-VUro}12a|R%wVK@JZeTc>lw?n& z4qEjdnmTjxkeWHo600IP_Vob)%7_4QnuRoGHY%SNxv&n%ll#E zeBr3-)bR80=j1MJzTspB@;w?3Xex@+ypKy)N8a=kuOoq}A&4soAF3lF5ucQ+^HrAa zfpuVN9z4>l-{ALf{y3l%g9Z^+#wJ@mazvWh5RShBm*U-sB$Z9NdgO#OGq7|3=CSgF zOi7YcFO>L)ll6d1?4rQ}pk30NW}yVw)N|G#jPYP58YF_jpm4G}MuRXhG}w>!mLzxS zm#aHG!(b4mjRp~1!wP5bm#;fad(I#Xiw1RIu-bq`e2!!E&>w}Kk&D12axyrNE%hO_ zYt&0b{xHak28GZd`5`r17!2Z=dBzAlCPARd4R3GG2js5aqii$JkUWu~Fg=atklF&w ztXJqcbsVmf`Z!|e5fbq)vUP{kP8h&48${j&*gb`uW`TsBjVj#D5Ay|?ZEFyHZ+6M* zQV8UmPGQ;+^2a5tt3p7haa$&igu|Rz_C0dl2MEtiTEJ_87g5*iMA>N&&S@0u+ zMLl6rq&k!6<-G-q^7@H;i;-h}kTeCK21?HZ`JiM(>(pz0hk<-rN;oJN32~Aw`{<#5 zxt>$ZK>k7Yjhc)&X#owwnRwA418lDj_x>9=NP%jw5#j}=>V{4GyoJ23fb#fOzAe7qO5Az!l>W>B=!r(C&WQIWn7(}^|@KzY4 zg29`9m^fsOC;+6BlxH8VR|Y=0(5xArkXYCReCa4$D?L!gM{!7P49KkkZWRdF48DQi z*Z~_@Ie-o!pu?Ve%@Fan4y?80N16q1kRWkbJP0P@z&oS9O(IT>=E2%X1mX_nQ7=?0 z)Ex#vEdXZM-Ghy!pL>(#0S7n8v691wS=&J($pwg+N8zSfIcu1~+w)dN`-YRdgfmJr zLr6FC9M~_}1DqnKg^3{K)!Ec*tfygSF5EsfIf-~392GJxGg7L+=^8kycRRUDF1MdJ z(I2@U-+tgU`7yXCRrX;iDUdU+D>bkVEZPE#+EN^%q6iKrlYB>x4QBz$rQ});S05!2 ze*v8KHe{Rmf&xBr2Kc?1T(z$Yh?JsG4KpnX?4JTR6@HpToa;DHnjzie>jU>UEDBTQ zg1yQ7L7`YX$+6T_uxd7ts(v00MGjNt{By|`(NwhRC0JD!R^>AH!*Cr(Q_-p?NyHW5 z{vr3=<68q$!>xgNuVK}CX;^gtXeEcKC^OA^308$`CDM`VfrU0;A((nny4u$e^mLe^ zhWR{*s`opXnxYOBnV&$am5QjfE2812oF-Y zB}`ocTJOQC)B=7OMN%N39uc4g96+o31m}`vfL5~JfvNdy!%}x(RcZ&AdI6^TBfi27 z+yOD8J`IC{Ft`Y8;X8MTDwqM7oy#^Obq9iEb#)SqWB^PRh07x624>U2)NA>w1ZF0;!S0Z=!UVvi~`*@S_0zr^E zoOy1627%4z6siw*!{tl5lVgY3iCI_?fTTdPz)BA1NwI~&%P_bBgSBu-E*NCJ?uW5G z`<#kehXmuzLGD6*9?lbf4hETEP#g{!4?j0WGfP4CNJwr<+Jcgq!6mZ-=e;{vXQb4D zP83oFpE*S31F}zaHzb!#3U00>B!!HNokX0R4{n}|!4E^uK+IANagAg!EINT`GNoB# zeF65=85X?+i(X@eMOV|_9xA_bPAD}@33|>Tousx|P zY>znl7`E?$Gu6ZPGsLhx_+dmopkxLBCLzByoQ#;+kQlZnzX&_gJ*Nu40dj)|DbOJ3 zvmdZj-33@0=uH;q2S2ZQ4nGHb`VHLrvtck8fCgdBIB%dHer|XLe$I}54tC3sf|%uT zH@RE*GtjUM#Qc5`yIXL}kV#~H3U?QYZrK{AR>h@wAef!S)S~PQyIWx6#ghEd9@S$X1R(lzWS!W>o`~hl!Q2dUw zrsvjd+@}8`3H}JA=7kCj>rY|{kX<~ej9L2I&;)3&HIx(>qC%;#PP)tY7WPP~^*&Mk zU&P{R;>?M&eCKUz3sJ^pByP%1&uRf;8$$H+2avxLDjsl3aD@bH1<#NF2O<J)vC=B~l6gP#bjdt7J@v|{v`u|u9Dh^Vt;j~m)SEzV+5oDdOsRM?HM5pHFWdCd z&|UdR^AJiSQ1-Ar-$)6SY;C{y>0lj}@^r`-Hu_1co$grO9mUjX#-!7gqd&iUZ?Gf0 zb;ZY+#&j0p$|5Gb*C4>JKKJ`J^Xo z+EU$RG7v9h^|PK``T~~$R4qVs{j-R&((do=`Shje0!q&oDKfdRPC%xU*EQg!yE*wb z^rR=F4*oMm`w=Kqa?7?_0L0!!!XI2KafHBgD1-_?F-__2$p;0-uhy0A%uG5|Gq{5R zoB3q*fc-i=Yp>S)uRs0Kow+6eAv?u3A!JjHSYzPGJQO%s`C6Dt z@SS?DW^OfDA)?Kw<0yXL%GSd=&uRfGx?G!CpZYTI_M)7KP1Pk1VCxX?*B|K3(sKt=y#_|Ni3)AKVH3x8}aH>dRp|WM(>z(#5`1|X6=7oN{?+< z6>DO4R|hj%XNHiQ^XiU|IDJY5Pp|h`T-EMAA-*7~9rM&?DlXNx+gdQ4S|iU-{qx**xL=a!x%Dtc=bJAweH)~y+q zocmPw(gpQ{rV6bYJhMdquw**6KYPR(Hzl7G8Op<%=!c%A(A6@+M|s%Ip*)iVLjfbnVL0 zHX*#3y75-1B;d*4w5J)Nol|Dx-6s1FvV=;e9Q3Sg_g!X-zjO-K-P+&#m>L?~WwAQd zVERx${OpCyL-YWoDzL-Zs)(~Ki$5P$I6pm1e^%VZ_I&0a1(cMX*S}y5HCPeAf1xEn zjAVa_jK5KQe>=))Yu|*ak^LbVp$lq!%jeS{bp`2rfM%H!_8)R)4pvEDY`y6WFrEp4bE-Rs#dWT9 zoIOFs9-&+(A0z`i^u5 zl}}mC58^qX4(!)jJRn@>CJDthZECk^ATT3Moeu^(BW&0ItajEx$Fe(HcNCEE;Kn2j zVSDmj9#j(4DP6_WPIhGxRL8f;m>j|>-S~OxC_P%1p`=Kb7iuTVM>bh-K0XN4!v((L zcBmHl`=3VsDtXKFOnZ75#QmdIbTgm6gg46buu=I~gGt2|XH^oOPB;7xWMM`%RkO>y>Moy;T`yyWxt*yt zf4&6`svY_gK9y?%rChjl_g_LKZU;%@LACeEeY9ngrwB)`KFm*>eV^+vd3Qb?J>W|p z^riqoY+M_Jssaoj6cg3e_#eY3-@ZyJI`tNebzY8!m66pDR9>w|{yyE8qM%#adH*vQ z$yTaj;6D!A{rZAZMY3I(+ajtP>Sc&1d!3OP6epAx;!P%^k|^4FqIY4PY@n~u>=fXo zE_cgaITKC&Xovrh-z6m6g!{p5~dE8rFR8GJ| zNA2_$Di<8sg}ClK)cqnTFU&=2*zeG;(i`CQk<)wZ3b_~rYAb+zEAT=Qwxt%SV0u)5 z#F3x??@`NZrV|eh0?ke?vDSHRO>&Bz`PzY}g|1;R?7hxaH%_Oh{DJglyacz?uL|(AWcAz^<+eR&?m>}57)rIZR^74> zG&|9BjY6d*m5%QTcJX8D$6?khkW5dq5>LArcI=T&Km~Z2!c!M_llONxMe7q79+lOc zPD^qve^-6`l*HCHKHxnMWXG{WHi-PJUo?z%<`SwusO7ajuD=~yeX%>()^ET|#Y5`u zPl+vjr#fSs4&|sq_ae_`3TKZUTi(B^LP}FOcw8|%m+a=$bLS?(Zdst?tJMD9u1x2V z?n0_OJe3%@iQ{XOk=0}vbMZ^(7bMQVw~Hqde7W-d?XwzB)^`DEs_wph1porL-Z^}y z;obJO|5!mBBrVo0OFnk%#qjFpcRt^Ve#$v2rH)_i((VnAHjUK`&siH+SiOs<+N}Z) z6{kEEEct?S=1zGb0RFAX_jkK~3Q5g9OQ2U7bc13VLyLkzNJ78e(Y|AAaNOO&^TQ;~ zPL;xPub*Syp{BE^w>LA|6=OBqjytrVqJ#36`TM^=o*R4SbW=rMX9%{fy}1{V>`6`RTd5L1kxE}HBab)#Pf;!;dNJ$U!KDPU=d{F^* zn_9OlpzM^YG8>=(Dbq9Ws=OvrKDuV`MP$D=_dL9hZ@C-ob`@Y$fky(YPB)XhcBl2v zmdh?eUY05G5hnU$1!#d0#DDw7Gjpw zvQ_=`0H%GYGaclQlRK4Vk`%8j_}KGiYofK`TEL$q{;k9huEjORU#umrScx*MCEegW$+`zPj2) zuffAL%p`J_J@!2YfpS+1KVjCt)9brPM3oLgh%@1O)PTy4LVDPqU{x%q&$wJ~l^muN z@?~Q_=(G!kdC#ejDV##1tx7gNU#pB z6n?bmd;caiiHJ-RXOc?|_6P)Wq1l5nJ-#XGP^kXUvo7^mR=o5fLPkvF{vaS?!r4b| z!Xj?@hBfZur0?nYch@g|G*El&!|V}sa%uFcNl$8CfLxF_*<#y$PcMB)mFPmnyMfM? z_Tw>TckfCk?fgBCttq?9Rr3^rh}Q4KaJtT6Fr(xGq{*bUrg_&17bQ`eQR zk+4s+l9=pW7KfVn5K8PC6r!;|EQ<#4>+RXO-Ch51POm(Ju#16*b<*BGeDwUskk(Px zrPGXS|8d>%8FaIa4mh{9tV9FE3C*+`cE;U2&g81(Jj`#|lRL2=^Y6!FmyVqr_hr^) z>abjMvtRuimk}xReFRFR3zWW2Vy5A7`dN96+(rGt5Y#+4(8Y6viN6j{CwfwQ%$}H% zegG^%tH-^_|Jc1KuqQ+(ShqdR>&O>K=g(Vx&ju$-3`$w(wkypZYGrL4Dv`8W;Qw{w>s$iElaKxq>eplfjt6hS`thYy*Pj9&K7+!mHK^zsZ_+>J&~i%5i%g4bB;7Y; ze~*$$w1e=-1(3b}e&EbIPt1zxFuhDxC3fWdxUR+-$k0WRmN1p4>EG^|@mq1FB_vF< zZ5jL9{8G2Fe&TU!b%N@4nl%IlfyH#BbcAEh3&UT46t9fq?gF(>!MmTC@3@@3<@I*B zu;trxGG^1EDu^NF#v0>BFeAJszRZr?8c#k5FZbIwuj1I5x1`mJ@8ARDi^owZUQ!U% zA*$EkS^C~)`tGlL?T=f@i3?Q7ke$JYeHwa0%brL(2*qY!oV-2*RG>w6>=KTiSB5{r z8sLS{6B44+p9?CoUIe=RHlI6%4=l@lKZuo-de6QPlxQ&qb^q(IAG8`-q(M>M8b*BT zW9l0lU$L_*rk_)iW6jd_%AK;-kN;VP!V>v%f9Hu7wrr-?0JYLG4z5jgHV}eqT);BC zbF@3C{!f`$g=UGlKnk0)sQM36Aj~D-Z#|?a5&xee$ z(*_xJm?7!SEsSS#E2^Z|zH=Byv7K{2aiy3n05sCoVqst3e$-ZId8N^#UB{4)6L`!joKWxHSz+_WQJ z^h8SQULpy8%@FEWT)+N<(MC3`DqH`O?1uaLfOG2t&Uti{XTb0si zEtx+Z?Y)A(NHBe8ca3}nLj+%|%`ZZR#%AcLBR>ejCy=lDBO!gY6nql2f6}wp_OOlS z7%mD=VO!k`S7yvZ>yjnZf(M`KMv&gU#VxxjbDdCVHew~m_r0=Kf!Q^!m`*XYpEx;` zNlZRn#=!Gq2Y^K^@2qU;1GVX!-3(OEKtWZUphYx~#6tDqHRk#vf^~TuYN3mUVgl{< zv|FbNpnxF09D0Qe1-n!a6x$XJ!nlndadr%?8v4>plo?N$KQ=go-Rl^W$KmV3DghWkzv9 z)S(GsIolT0!C3Qr^tN8 zvgPJ4v3UW6dh(Rl1f`fj2UY9UDr8a%%{zZaN4W2Abyqc_FsI?u4w%F!o65}}?hwY~ zK6~dG*1yKR9Btp$29UJ?V!>t56&LO2qgdct6F5G~0Kky5-u(z6Z|nMcr?da+Npn zz6b%fdktK+C0yB;pcDnMQB)`u7w~jybAAyzpBe!awK}Vadw!U#ZyOb;5z%L8RC#*X z1AqGRPw<(S9InSf`5^YMes;+p3JrKkwB^kwFoUp}rH3apkOFt@0E@wn!F3cH^$lkT zKdvUi<|NTi=~AWDkg>Qwp6^WEdt?7A&nQhE%vcjCz0TtXKphKbtN&1N`W$#6gT(+0 zpca^DUqgV3#-Ncy5TNN5T*<88Db-xgfIn4mMjpM2o|k8?*F<;f7DCelZYCepx_7Pv zZY31&0Y%!s9KSTG0nRXs&)(T4b776sbNx$K;I?WmMk2)~OMM06ZG=dSK`CD`XCd?< z`ZIZ+CMlD4f%>?|DbBq&wA7N$d<`?0h8ztf8D<=#=e`wG6j51dq1fO3in= zZDV0;x>?VwTSj92E)yc&>PlmkmDpAPVJp(tsBx=cTMI1LECnX}r|7d_)H!K~e8GHG zz0@JOJmIFaedHzZIZoZ1*DqCy{5&maK}W>e3;415`ql0jvaaCQ@w9pHG_(eB*$Ris3&T)IE_see$-IwHRioMPu8u2l+;c)HrOhGfwOD*d1{R*BrSEwnRwdi=q z6+(Y?4M$x6_Pb-DR}_!7P`-KRW#}$KU9|cHe|o($XEAOL&-F&2u$BF4)lUAdFd$PQ z=b)%}kblmUfXnh23KJPSW23b79y2isD(RsCpjwpGfLFKK*%83{MDv?(ZufNO5TMx; z{H#jU&2sxgw+BR6pb6j1jDmoneI81yg!|yknicL{4oA;0JK(XI7)d>+UZV)Gf^yS1 zFR_uA{Orr)&Fh}N*bepX>3d&2x;{SyGx<#4WA%O^Gg3P6rch^|(3xJV;sJIj=?gx7 zmhW3YA*j`>MtGkBE};WNj2(E22~)qtrIX!p}h=ZQiyfv|3u03r#@t z=-I4pUNX#9<(+bwoMlkE1srh@q0G@D&1tsJY3QzYmmF|Gp)hHy7%(znJ3x~Z06{gm zdYbCYwQ5fZU58e=2!z{h_d+$Wf+uwL%omr+Flp{|Z$LMzi*`GAmQ> zPWt=WDk#ye18HT+fZn&2uPZiE6mFx?$BWC+))IPdc!z0m`Ww{xPFOjHWPiAH9KgCK zhEQ*XGf}hNo8RASUYl6lXC83yzNn9I9_CceW|lzeMC1q56jQ#YeI* zhTzTBdjn7-JPO7A4VpRkn`>V&j_>+uJA7~VN~Fm2HdMzfT>Xh!5(o@BQ*^nY@e0$y z4N_qf=XG+HhkdEma701v&l+bh4SBI~(-P1IrHam>rEo*Lj0R^lvb#4cE87~cS(uZJ(3 z%d1}fl~l8Nbx*!h02PaMcIg;{82$6L-H@x5Ju{WtbAtuF8KFA>96N2wCP!bDSp0Ts zfWddV^`|ky<#`GmxL@B|)(rCMw|&(|{j@ezFxh=6NcX!&R+p8wa{3=WM!kC6LDq8V?7ad{af{Z7jmiCTAQ_iM`;vem%OhlYSkxD zPRtvAeDC@bm?ntI;dlb&z@Ax^@5Vk2UBs0bLCPwG*J}P}o@ka-^FjZJlRQ1Af#$~B zdQKE*lpDrJdvyO4>cc_#D5?aW=k(10I#F5;r#wPa|7Tw5k$i`sd5<25(+8-nb*g#d zu|5+l&FU{>)DXRjI|Ib+_fS8G%r5=mHT0BmQIg%E^=s7`Td>uA*q91{b;qFNQV=~; z%8)L>XO%mFO~k&Rg-&8a-trl~RfjcPiPS3v|As%s3Er}s+pnjTTR08C$1HROmBK50 zNg*nh_NTxpE!5n_Om^oa>t1`$I=kkuG~`^AutWE~y*?PlHRriHhzefsi4=#8Fa#C+<@%%i{abW*$=Afhp--Y&qbc4%nfyL8i4Y2iZ##YXf~ zj(t8!P;(vMTVO)S&lF2_E1!YhoYrrcmpkiv4b2zxJD6A>RX*r=Dz8*jCi^x^PahB| zilUh*WKd@hjc-F(WmWR`B$L2yRr9{Mx9rAtMA`XroN}h>5_JBKV*2JXb1L~DpebMH z@)G?qo;G+Wd$PZ@z-q%98im&6Nlv~!#)m#k!Bg%jUBV4e2i~gcCW@O~FC z+wxXs_Lhd!7wkt!$A+gw-9K&qAVG2&aIU#0Fl5d^K1%t0x2jP z*5y5u&bg(J++uHSj*$5XC~cYqX(4fYr}>z%8~U}_0$4N`x*r;nbxnC8Ld()a7zj=EIjnXYY`j1v^lBr$dAH+HC!xuT*;&`u5Z{oQY`ZWk6&6BSt32X$1eAeXMZMBx z@rkz6B5P`rxCmx*H1ZkcL-EmY8EC|tnoVJT#@jl*Qp=~26G6Uzxqvvz<)SF><*A62 z(&8tRfBZGOxL@?U?Tx-EuBF?{do<7|_)I|kfhYdN($U|@B_NzbpjYvQ*c~^OFy`~p zj#9I>Y!kPxX5ILV3rZ{3OTRGDYWNY_DvFGpeyl7@99AWdAotpD4d0sU!5BuRQ^J~{)v$myYGAVmv&4a zJo;tyYIT>ce5Ook=c%J5BgKmtw+Sc=Cs}=xIkwzln+2J=p?V@wW~7OGd#SD~Iyd!9 zh*w{)a0aS5<5iVfQs18PbT)HaNlV^8`|(SIp)J=Ho(o(kgAgghQdpy^`sl;;B>8u$ zxppH@x}B@^wv&&kpV`|R*~)uFNno@t`NA8Q-6>8Xjd!*C)$Rzh3FR|7QTQXhJj39C@=`P|0~~bubWX zho{t2kM~jyd4ckGI4Pf>Q9>?{e3Nno&-vayCBHfFMWikz*XM2y`ox7+bDQ1wMX*z0 zAlInwL(48?Ut~fSQ%9zhrZ%(4YFTTsx}XhTYFRhk4t9gyjF|O0-M#VZJO+Qd4xy6M zn3hG&uL8RBuJly83tj#;Z}n1heIDifgvArgE z;4+Gy*=d%NQF%&WkmKQzYKGj~tVa(+sMMI(={=Lf-?;0@;(Q*IIhZ*RE9v`F&^1D_ z${fZ{X=Yp!FK_TI$-yr}&!R5SjdTOOn9I=0)fW`2TbsuaL@|}O^@WV35c4eX1QWxH zG6t&s0@evB1JXP_Zj!Ut9($YhgoHMV970I131- zOQ9R1LSe48MZl|HVwJ(4X7uSQd_X_nq}uqS+}$Ew;Mfz2pEcba-?v)kBt_QbzUe(p9q>L&0@GxkL<)1Jw1FCj_sC*^ko^7If` z(K}Y!3#&8{Y^r80ZJ71pD=0GnH!oMcce1A50jk`fcCP&uQzIXDyjG9DSqbCmRvBkveotb46Ra|&=sqK zzHyM{su8B`LA3#1tQdj6+mW|px{w4j#mBREi@dFQ=E zVkkZD+v-&3GOi>9SU|G*AZu<20;xB%C$kgWmMWlt!5G^8559y%u?6~N0PSclgv@ck ziq`ht6Lv(iGK)n5UlWtkq`74obwE?EJRwp6Z~8SDUNM?Np%UK03V=;MK!h_Gt=oPb z51HISj;8<=L{Hx?;eGZNJr#@2(v>a!zxA1pKk;Rrq%R)=-Qf1uin;3;LZ|ER0<{q; z(Dgn0wEIp@#EWapnSw#nfb>~^P>y?&!xgOAu5tKoB);rdPWu+`QlK&MBKci>21Gxf_UFs4Rm;8RrF=;6#CYN>db_OZYi|5 zHbRxbsMWJmwdUt9bFI3;=a6vSi2;@nA^#*WsP3825Tc1GE`PRKcq1TXf2F87T_s@* zV;6R8Rg_06Ok(oE%o}>e96$qluqwk8-?*Ksjw<0j!6TjR7k?)|hWhD#N$k6C-yj#D z3X&-F1!GCRo%e{_?I3zio$c@)hBiR>B10fBpU%%M>((R3BGjRdlM$*3MIwHJu`19c zwmHi_f$ukfL#wx~TNQ~UCT^J=yo*OqUPzq&$x-fqjJ|I>m-p4Hj?21bg^8p0YSeSU z9mN9NINsBFQ{Z>Lbn+WrdEN1DGccF%?i4XxF|ZOJ``pct?F!kZ-uF7X-;gDfX4Lu0 z4K;Me=-W#+N+ocA>v`lAd6_nl5ocYTVGt7?0?+WKwlpxtwA4|9&XJw{&?LA59lKd3)2 zn8+vwNUgop-UO=;b$rXfp*Vo>+?tQToAR;26wJ8g*%yKO=|-*ZIfrO;+*kicL)C07CTB>OzP0=3OmDo)rTstco%ui1?fd>)RYcvTjYv_E+ft~k5lYEkl(F0; zC2O)}CQWG7La9WS5LrTmu?rOvvW$Hz*~XT=te@lR{bzi?{nTT4%#4}W>$=YKIF9pq zt(~?gGfk|wmSinUmh{(+``$nrzbY>1AF*eMtzW|Tzb&t8Sf0c#!R~lxX*53AT+g)u zlB3-A2R+Z7R^F+QxH6Lo8bj60ssqAmQ$012*bGe^yyNXWdc*HD@sF}Qx;(bTtbE)1 z<&mePoH~E#+88x;UpFezB~fVwJuXxPgIr+xd7bd;e6!*q9hGpl?t@mIa> zBf?}N%!D@O+T7aqxu5z33a7bc*PyddM3w3CwVX$&X%+izZmIlRu+#`+_R#X7RnJ|F8Q&3Am{kT*## z)sOfpt88^`I6G;!VvEc>ufr?2WY)@T@=e@v9a2{&S64|nYBJk3lJonz#Yg&GumTS% z>TbTC>pF5;5j3Eh$fLf!r&P)laLH{OtD`tH7B7ERuiwQ}H?Z!O0_)ax?6Zal&_yav zI6D^Y3@~*K%pCd5%i&Tc`_;H-OXgfl{``c*@a~olI%Chtc5EbeTkZzX-_|Mk&pU4w zhXEL2)TF`@_OWQ&kIkAj|5{aX*Z-bqS}>{J)i1PL45^*S)8bcP4^b&zJ!ICD?oH3e zG(2qkC`@KfP7q8`+eU%w;HF(n6@Rcr>T@$IZ((kjJ}DD+xp38EY;;#C9MQC?AtE}_ zd|Q%1Nz)*kSi1}+aber!rrma{@?P3!iBRSe5IviE(5x*#C_O`ky6fz~ zu{Iz2^O31JvK>-d9Z8baJdAF@E5{F|qg*?`6X=VPP?uu7JwX_msYwoSF5BwHH8g$s z$>@Hr+o1K~U86vSNG)bp?bLntR#TTXf$+!$0(S6sdG#)S;A8WgfvFBtwMypD>@U^S zfPW@Erq*!$F;b{D0Xv@>adkHe-}O?eUP&W$-7ZSfcQzYVj(} z%~pO`IB}!!+bC;Z*9JY_ZKL99;U`z`=ymU3&_yW+fD0^Fo)GVYtrK#CDwPn=U--#B zM2L8^sn)IahlReh-!a+R{kVp#^F)_&A~WBpJwAH;c)gvQoa{p7S+SN(rZ~qBFmHsQ+ZtF==0Yo z(Pre~pXa`j@q5}Kz&+&E3-RrbD%|ebd68F5HJ!xafLNNH%7-ht|J(65Xx|B>VoL6V zRj^{U>e!RJ+E;3n9BTuImiQJ!I6T8*nP(5y3YBA zl8E69(hG%cOK(M)*&Bou%5K07s!M&Xfm#R~4{^qn5qR$ROGY>L(FB6G#N z6>C@3bQE}#X=+z@-h-E45$IJpA!8sccBLktPM?`E;h++BmG^#GG}MENek=3Muxezx ziZ~g?B%gkx%}2>YQ97V|eEGYP)dknkxT7rzdV8uU(qt4heS`lfVyiEp;6te{)XN>2 za%}48i`?EB(G@KU5Mdegiel@DgKi1yZ*7#-OX5$+JN4phN6^OlDYb3 zcA;p5T3y4k5Z1{R8!C~@P)p(BYGm2%VEp)WzgW@JDJ~b#$*THvCwP^KO7oE z$a*Y2OJzMD%Owr5q?B`?*d1&NtVWM7Z0>CbPcbZmuA_Gl3j08RjZl{IzSR(`hYV1~ zJg|kd1hE$**%gKXa7_6SDWKiA;&AiezV8eV3PiE`Y4o}xGeGllV>!3eA+=`UL zV~j`BC~jI4r;D%V+sAv%z;C2gW_4kjK0PTJ8ueq8C{#+#ZUlDKjF{@32A!to#6qN_ z7r+{66nT7&bVoit)f*~jV{8KFpT7;M(mui=H17J_d)H_4`Kd$wg7n4p0WF~ zw#)*1c-DjN;8`x=)uw-v%=7caW@Z9JE0ktzN%*(&QEUCLPCyoDl|LOoX6Yu5Qn7Ma zcdC9;6v@t0TKt$LGNkVon;G0Cpf{iQdX=^lW%{6obiHoH{yVn~v9=Uda0wEqT{!}K zwt>`#=SQY?ZlbYb#YP~<2LUZt2#A_UeOI-U{+uEv*dxZqxFyV56fh&*jd*pcuW2Xa zu{1aQ>Y(&sL$eP5jagnD=B7r&{F__=76kSrs+N*!^$$S?Y4wchj6KQ$u=Ne_={-W%shg4(%#0o07#1bg=m&lLli&bYws*1X7}wh=PV|ze)gyD8s=yL)3*@+7a}qSt zh#8;P!y_8#@?ivCpd&iUhB?hK^NbWap|d?&rQKbg7Rs50cu#9u=#iBxCajtBOsGT- z_g~h&+}*Dx4wRnM4ArTP5aarN68Bh#@&}Zo{H-|psy>AI-xQv8@5PGX-uVewH8jd& zYnEgDl!@Y6X3<)WU3|^6b2eyO;oX5rx_=a^vlAh3B16qn)5)fSE89HmNZay$` z!?%zt))z3zuNWcf9VBtYh=arm97OfiJNaZ7cN5$G${updg#16Z?r~|)aE#0~zKZ3A zS}AZU56K-TWM!IC@^pOBn^4%Es2i~nN@TOe03`H>70sRdCVtf9m>56Q&gEn}sfc!E z*3k}1uA72fX4lf&~!B*2U+0)j)K!wPFXZt?W!Q0*lfMoUf^ znOY8eo{uxhOd&;pojaC+3T+MkcsMGb6+`@usr`djpg}^BiSB)PT1i>Qqu^|a#Hd}zld^3`)*zsWuUf})B4EyFzJig90flqQdw$#f z0#c`_(Vbd&STUG5y%ZSnLu%h5?K_C#Czemb2(U|1EQP{cKZ+PcH;jrgTFwo7p42^X zS!>6hpx)XrUCvUsBF+O1qWb|*@d>@VH1^fKnW+YgHS*kF4xLpQ1u(m?1?pz{+wXkh zI?DI{t2tJBWARekKLC5~L#>pI=N2#dEx4&xe2KpLrcoV`KPYv7LU+v{u_mOd3-CwC z6kK;onK*V|lDv@CoInX-TlQ5cj7P3&a;Z%DeZp#kskui^PtPx2lpR9Rc>0dO&%WCn z2&%X&izj}=63>%WCVMeW6C!4F{eWrd;n7x?ded%vrKyAK zMEe#wIA`g*Z$_Mb%{sRH^^@)%J>PHGZG&L1d~NnQUw!-q@+i?_qPjJ4XT=?N^;VU> zqE8&RxVb>=;^&VQf(*WsAjfc;rsiS69JI*i0^FYd)$mo7ulyM>{~(ct5~jR zeQ;X-_2&f=@=JeENJDKmxQvERM?1$e;^oCW%I>~Z zn*3jZm+f~uj2Ypb?gp0W4N{nO1-A|l- z>)g&cms^@+Wdhep4Luq9?U)R(BqW0ojT$%ot>p(7$HgNxY8ms#Ufq6&Jh$m=8x_rN zdeQpSJwwo(axUuWX2nG9&p6C~i!q*~E_bPbi=J4A`dzk_Or((C)F_Fh`zw?%!m(80$DpsTBn^ttjQf~u=H z?6F5q(sZY$ADvvo?!vpgT0QKHtg|C~PaOpR5$Ovy{TDZKaU!H(DNwKUY zB7Wjvw5Anrqnjs4m+x&$}l18PpqhKF1cNreM~bUIY$mt@~_V!7dCC_p>iaJ z>tEOQw*Ud1$8Z$V&^m^y@=ut$slyb6B?Zmtb7@nn{jNhv_aXK2P#E&4#^>=S@T-+T zT?wAqT|4RVccu`vEQ9a_F}Vp1&j27lIGtw-83Q}V9H3GgNeZy_02%%b zJm3(D05ge1s5LPh9NHN$1dim*j%p5XVaRS9M<9GV3T)At&qI*iAHyg{oLYi7ZK(ww zSVU?%ZaZOS?v4g2%aoeHb}WJXm3z@IKvO*PW1e|dE-AeXKky-A5EVLOgS(!0 zHn#Z5xj59QKT!pYg)VM+2kGo@8Lwmv+M>85_XkAd){4Nl_NW9gd|hLfOZ?R8j@!`h z_Uh+dbIk}bnKBJz?)zB4bvlnkav#R|nyv|>k)6tZk@Az`AwAp!4TIR1h( z$vPSnvC2fQ!ZSd`-{r;__E0=FZ^41mVr=po6hA;3SeQs(GDPxdxa=xqG8(TKj5phgC!6gZI%J(;0fojodb<$Y)c~B7_0Aj_7m-e*fE1jnty*AwesXW zgcpnPPHV6$^C%jwpZqC~A&7V5n5(;5xl9!k3V&H7v{65)pQKX8E2hII7MR|7yushJ z!tWw9A-w%;ZMUP%l9#ibc`2=3ohbT8R5N;F%%LNnI=b>tP!Z{i(w?yoDa zs97)V$xao*e1T^-gv9aCQWI2;5h1~+h5>l+65c<6<2x+RgZzo%kz->!f}zt@O@RQQ z;x9Fj*&SrF#BJxljSyS6T&j(E>~RS5Dr#h;;U7B4ymMh}%1y02Lc7HK6%{LXWalm7 zvn3mGY{HNlVOwGv2!T_fpDF?g=J`t1uz-8>Fb>*N0#h;fqEs31vx0CtQih9w2|ZHc z{XxGWva~2oLiAnjo}@qxju5L;l!Y0sc+7oZLg_)7gSU-(3$nO%v|aD5v{Rr|sr64l zEaq?UJGx}c_}$NW))7(*-Wf=-*)0hWkuGS4xwm<4hS_S5o4@V7vSco}omE4XS%;%V zEd$kx^ycpMxYT@6e;ag1z+h?YQD6QlkLeprx$b^Nhe+Em6|;CSsW6hil%%$%RkgplxflD_}O|aFga5vu3l2&=gc0@FWa~GCqkteTX|ijZR);? zH*a+%;Vv?iT$L|hb6EW5OX@(ZTTnjToZ1%^9>zGj>Et$q2Q_fX47R`Z6aDwT&@#E+ ze?kOsZ@N_R>2IqbyKNmC|8~Ca1b_PN%Qe5E$W)PWlFYx3B>evVdqms4 zpqot#6e;%xo>Vp<0FcdQu%DG9)y&7|Bz3n{dXKg&!P_L1eM^R<; zkZ_0)5SW#1?+f0941HL-=E1y2R?w?>cIDHTN{Uf64_w>W)Fb11I$rly*B7tDEQ}rP zXwot~P+lBqwn+K(9Fhi)aSn@kR;3XDc4!iku2!O9(`;}j7>28^c}yY+52#&LkP=zzNB^gd85Nv0;*jfu20krKRjMk+p;LA^K;kE z64<62`w*2&|Gt$~@C$82%Ex{CLa7-cE_G+B;%&0}j(caB!>g~G5n;s8dXbWJlM81u z=Mguqo)HmnB5Cu+#Ld=299pBSQPxR}2>B?$QA?%22@~A#Z91IWMD; zngIZ;NHt`iX3fv14$X}l{PYn`EU9bORou+RwRLkZ|7zuZy|aH1Q7^4yGxDW{L}q1K z`80KqGT=1|z(zASyu=O?7oRftzM<(=@tc!*$mcZbYsl=7S@jdEW{Ad)4INg;vKvZY zIoEi0Kd0EQn)6Xr&bgx5#k^bl?ue0LT9pYO2`7eV$W6LfUr&HBaP`n~<=V}>a?V!i z?n=%zEzUe~eaC%UVh!FjNfw)j6y^8D{r94K`LZV}#RWErnHNBgF#O8QQ4;@Z8nyp7 zMh7>@cE7MlVO}!5%vA6^Ywo!6Zaw%Wu31-Ob&Ya6h>0Y_npZQHjkv5sifJ8~9EdDtTTR#Ys1VJ!#gUBXKc}OI&zueFM35@i! z?6h*-$GRKk66%RNYe~~0BP4yT*^EE+`SX?pSMDHs<1{&<1?|6-j>5=IL_~cU%mxc5 z!=mcCK7z^R&%W;!q=D0Z>{87x%ACu+n4TX^psFS=%u~@w;NhSR+48VM?W=jDOGwz8 zjA1rgpMbcI8xERhC;lGv5M_02=EPflu$M>x>4X*2ZMWRdzbVt&8v;jjV^cOfqBIxd z!CyFAg+?*ZX_u1IjyLn=li%NLW8IpSX6GG-W1ylj)6s?r+ZVVjj{JmmVkdY71kAR& zLDIYtzKt83OcR&bic^dqN4(ZU4{sg?Iq$J00?!p>W?#1tA2P7&jKIk!KczeJ8uvjmN(yjRO;`_q-IXohZV zIM;vHYw_WQRlTfMUw$0l*UKr2o3L3+HTXonrL2v2m4CS$|7{ zHR1#hE)eTSbKOPLf*KDzUw{!CCoMxFeyu6cdsn-3Y76G%4; zbFMxXO?co^i`XqtxTGuf?`cJhE~{o$Q16#)o-6q19nvk*?9m*ixn!x`Ten|QKez7F zrhKItMqkaFm*jk<;m5(;o8z_n>+(EkGuex{Ls>!8B{60_IluN;dt)n|pWJbe{$O&L z1Go%zfjN7=_fDfrEz+04mI=2tFu^IA5CmJG*K&Y^ZB7oS|@ zRhaB%6j;!H{Ndg#dRjlkkk@2z`o!}pe4_M{Tdul;3UaZU%ViF`JUeV8Ry$|1LUd8- zo1}EKJPqCt6FXv)-z+_n5*toh{bn``qrj!C%)5;BPIP zkwkdI{;PVNi#eBgg(?W&0zHWVlJ(A@9o95^qxBYjtne^x7Ry^-GoP0QGpKKl`$j}6 z=uw1tPkDpqp*5FP3`a%sFQqCS%Bt?Dw{cNt-V0-;CZ1S3u&56nH?`T6GGUzS%)DQB z$P9#}rkU85zPNDl^xqRyTqpPW<9Vg6{!9A3RG7*N1ejyWm$}@|yLhthp`Eu>?K+J$ zX~{ChA?<8NNn3&1`EE9nS|D>xE}c{Ro&N!^(8Ia`4qCf<+!h;I=yHC>HPJZK2?+4` z^>xZ?V~*b7d5(%Z*~QpbCRKl;$w7Ku_o9M`wHgz~yKl$UTWd_W7BVf47TYkL78Qhl z=K;rw(SQ)6