From ac787e8590e6cd611c3aeca243f053eafd1b66e0 Mon Sep 17 00:00:00 2001
From: yanglbme You are given a string A concatenated string is a string that exactly contains all the strings of any permutation of A concatenated string is a string that exactly contains all the strings of any permutation of Return an array of the starting indices of all the concatenated substrings in Return an array of the starting indices of all the concatenated substrings in Example 1: Explanation: The substring starting at 0 is s
and an array of strings words
. All the strings of words
are of the same length.words
concatenated.words
concatenated.
-words = ["ab","cd","ef"]
, then "abcdef"
, "abefcd"
, "cdabef"
, "cdefab"
, "efabcd"
, and "efcdab"
are all concatenated strings. "acdbef"
is not a concatenated string because it is not the concatenation of any permutation of words
.s
. You can return the answer in any order.s
. You can return the answer in any order."barfoo"
. It is the concatenation of ["bar","foo"]
which is a permutation of words
.
-The substring starting at 9 is "foobar"
. It is the concatenation of ["foo","bar"]
which is a permutation of words
.
-The output order does not matter. Returning [9,0]
is fine too."foobar"
. It is the concatenation of ["foo","bar"]
which is a permutation of words
.
Example 2:
diff --git a/solution/2800-2899/2865.Beautiful Towers I/README_EN.md b/solution/2800-2899/2865.Beautiful Towers I/README_EN.md index 4057c80a4b37b..37c28b34e8f70 100644 --- a/solution/2800-2899/2865.Beautiful Towers I/README_EN.md +++ b/solution/2800-2899/2865.Beautiful Towers I/README_EN.md @@ -6,65 +6,53 @@ ## Description -You are given a 0-indexed array maxHeights
of n
integers.
You are given an array heights
of n
integers representing the number of bricks in n
consecutive towers. Your task is to remove some bricks to form a mountain-shaped tower arrangement. In this arrangement, the tower heights are non-decreasing, reaching a maximum peak value with one or multiple consecutive towers and then non-increasing.
You are tasked with building n
towers in the coordinate line. The ith
tower is built at coordinate i
and has a height of heights[i]
.
Return the maximum possible sum of heights of a mountain-shaped tower arrangement.
-A configuration of towers is beautiful if the following conditions hold:
++
Example 1:
-1 <= heights[i] <= maxHeights[i]
heights
is a mountain array.Input: heights = [5,3,4,1,1]
-Array heights
is a mountain if there exists an index i
such that:
Output: 13
-0 < j <= i
, heights[j - 1] <= heights[j]
i <= k < n - 1
, heights[k + 1] <= heights[k]
Explanation:
-Return the maximum possible sum of heights of a beautiful configuration of towers.
+We remove some bricks to make heights = [5,3,3,1,1]
, the peak is at index 0.
-
Example 1:
+Example 2:
--Input: maxHeights = [5,3,4,1,1] -Output: 13 -Explanation: One beautiful configuration with a maximum sum is heights = [5,3,3,1,1]. This configuration is beautiful since: -- 1 <= heights[i] <= maxHeights[i] -- heights is a mountain of peak i = 0. -It can be shown that there exists no other beautiful configuration with a sum of heights greater than 13.+
Input: heights = [6,5,3,9,2,7]
-Example 2:
+Output: 22
+ +Explanation:
--Input: maxHeights = [6,5,3,9,2,7] -Output: 22 -Explanation: One beautiful configuration with a maximum sum is heights = [3,3,3,9,2,2]. This configuration is beautiful since: -- 1 <= heights[i] <= maxHeights[i] -- heights is a mountain of peak i = 3. -It can be shown that there exists no other beautiful configuration with a sum of heights greater than 22.+
We remove some bricks to make heights = [3,3,3,9,2,2]
, the peak is at index 3.
Example 3:
--Input: maxHeights = [3,2,5,5,2,3] -Output: 18 -Explanation: One beautiful configuration with a maximum sum is heights = [2,2,5,5,2,2]. This configuration is beautiful since: -- 1 <= heights[i] <= maxHeights[i] -- heights is a mountain of peak i = 2. -Note that, for this configuration, i = 3 can also be considered a peak. -It can be shown that there exists no other beautiful configuration with a sum of heights greater than 18. -+
Input: heights = [3,2,5,5,2,3]
+ +Output: 18
+ +Explanation:
+ +We remove some bricks to make heights = [2,2,5,5,2,2]
, the peak is at index 2 or 3.
Constraints:
1 <= n == maxHeights <= 103
1 <= maxHeights[i] <= 109
1 <= n == heights <= 103
1 <= heights[i] <= 109
给你一个字符串 word
。如果 word
中同时存在某个字母的小写形式和大写形式,则称这个字母为 特殊字母 。
返回 word
中 特殊字母 的数量。
+ +
示例 1:
+ +输入:word = "aaAbcBC"
+ +输出:3
+ +解释:
+ +word
中的特殊字母是 'a'
、'b'
和 'c'
。
示例 2:
+ +输入:word = "abc"
+ +输出:0
+ +解释:
+ +word
中不存在大小写形式同时出现的字母。
示例 3:
+ +输入:word = "abBCab"
+ +输出:1
+ +解释:
+ +word
中唯一的特殊字母是 'b'
。
+ +
提示:
+ +1 <= word.length <= 50
word
仅由小写和大写英文字母组成。You are given a string word
. A letter is called special if it appears both in lowercase and uppercase in word
.
Return the number of special letters in word
.
+
Example 1:
+ +Input: word = "aaAbcBC"
+ +Output: 3
+ +Explanation:
+ +The special characters in word
are 'a'
, 'b'
, and 'c'
.
Example 2:
+ +Input: word = "abc"
+ +Output: 0
+ +Explanation:
+ +No character in word
appears in uppercase.
Example 3:
+ +Input: word = "abBCab"
+ +Output: 1
+ +Explanation:
+ +The only special character in word
is 'b'
.
+
Constraints:
+ +1 <= word.length <= 50
word
consists of only lowercase and uppercase English letters.给你一个字符串 word
。如果 word
中同时出现某个字母 c
的小写形式和大写形式,并且 每个 小写形式的 c
都出现在第一个大写形式的 c
之前,则称字母 c
是一个 特殊字母 。
返回 word
中 特殊字母 的数量。
+ +
示例 1:
+ +输入:word = "aaAbcBC"
+ +输出:3
+ +解释:
+ +特殊字母是 'a'
、'b'
和 'c'
。
示例 2:
+ +输入:word = "abc"
+ +输出:0
+ +解释:
+ +word
中不存在特殊字母。
示例 3:
+ +输入:word = "AbBCab"
+ +输出:0
+ +解释:
+ +word
中不存在特殊字母。
+ +
提示:
+ +1 <= word.length <= 2 * 105
word
仅由小写和大写英文字母组成。You are given a string word
. A letter c
is called special if it appears both in lowercase and uppercase in word
, and every lowercase occurrence of c
appears before the first uppercase occurrence of c
.
Return the number of special letters in word
.
+
Example 1:
+ +Input: word = "aaAbcBC"
+ +Output: 3
+ +Explanation:
+ +The special characters are 'a'
, 'b'
, and 'c'
.
Example 2:
+ +Input: word = "abc"
+ +Output: 0
+ +Explanation:
+ +There are no special characters in word
.
Example 3:
+ +Input: word = "AbBCab"
+ +Output: 0
+ +Explanation:
+ +There are no special characters in word
.
+
Constraints:
+ +1 <= word.length <= 2 * 105
word
consists of only lowercase and uppercase English letters.给你一个大小为 m x n
的二维矩形 grid
。每次 操作 中,你可以将 任一 格子的值修改为 任意 非负整数。完成所有操作后,你需要确保每个格子 grid[i][j]
的值满足:
grid[i][j] == grid[i + 1][j]
(如果存在)。grid[i][j] != grid[i][j + 1]
(如果存在)。请你返回需要的 最少 操作数目。
+ ++ +
示例 1:
+ +输入:grid = [[1,0,2],[1,0,2]]
+ +输出:0
+ +解释:
+ +矩阵中所有格子已经满足要求。
+示例 2:
+ +输入:grid = [[1,1,1],[0,0,0]]
+ +输出:3
+ +解释:
+ +将矩阵变成 [[1,0,1],[1,0,1]]
,它满足所有要求,需要 3 次操作:
grid[1][0]
变为 1 。grid[0][1]
变为 0 。grid[1][2]
变为 1 。示例 3:
+ +输入:grid = [[1],[2],[3]]
+ +输出:2
+ +解释:
+ +这个矩阵只有一列,我们可以通过 2 次操作将所有格子里的值变为 1 。
++ +
提示:
+ +1 <= n, m <= 1000
0 <= grid[i][j] <= 9
You are given a 2D matrix grid
of size m x n
. In one operation, you can change the value of any cell to any non-negative number. You need to perform some operations such that each cell grid[i][j]
is:
grid[i][j] == grid[i + 1][j]
(if it exists).grid[i][j] != grid[i][j + 1]
(if it exists).Return the minimum number of operations needed.
+ ++
Example 1:
+ +Input: grid = [[1,0,2],[1,0,2]]
+ +Output: 0
+ +Explanation:
+ +All the cells in the matrix already satisfy the properties.
+Example 2:
+ +Input: grid = [[1,1,1],[0,0,0]]
+ +Output: 3
+ +Explanation:
+ +The matrix becomes [[1,0,1],[1,0,1]]
which satisfies the properties, by doing these 3 operations:
grid[1][0]
to 1.grid[0][1]
to 0.grid[1][2]
to 1.Example 3:
+ +Input: grid = [[1],[2],[3]]
+ +Output: 2
+ +Explanation:
+ +There is a single column. We can change the value to 1 in each cell using 2 operations.
++
Constraints:
+ +1 <= n, m <= 1000
0 <= grid[i][j] <= 9
给你一个 n
个节点的无向带权图,节点编号为 0
到 n - 1
。图中总共有 m
条边,用二维数组 edges
表示,其中 edges[i] = [ai, bi, wi]
表示节点 ai
和 bi
之间有一条边权为 wi
的边。
对于节点 0
为出发点,节点 n - 1
为结束点的所有最短路,你需要返回一个长度为 m
的 boolean 数组 answer
,如果 edges[i]
至少 在其中一条最短路上,那么 answer[i]
为 true
,否则 answer[i]
为 false
。
请你返回数组 answer
。
注意,图可能不连通。
+ ++ +
示例 1:
+ +输入:n = 6, edges = [[0,1,4],[0,2,1],[1,3,2],[1,4,3],[1,5,1],[2,3,1],[3,5,3],[4,5,2]]
+ +输出:[true,true,true,false,true,true,true,false]
+ +解释:
+ +以下为节点 0 出发到达节点 5 的 所有 最短路:
+ +0 -> 1 -> 5
:边权和为 4 + 1 = 5
。0 -> 2 -> 3 -> 5
:边权和为 1 + 1 + 3 = 5
。0 -> 2 -> 3 -> 1 -> 5
:边权和为 1 + 1 + 2 + 1 = 5
。示例 2:
+ +输入:n = 4, edges = [[2,0,1],[0,1,1],[0,3,4],[3,2,2]]
+ +输出:[true,false,false,true]
+ +解释:
+ +只有一条从节点 0 出发到达节点 3 的最短路 0 -> 2 -> 3
,边权和为 1 + 2 = 3
。
+ +
提示:
+ +2 <= n <= 5 * 104
m == edges.length
1 <= m <= min(5 * 104, n * (n - 1) / 2)
0 <= ai, bi < n
ai != bi
1 <= wi <= 105
You are given an undirected weighted graph of n
nodes numbered from 0 to n - 1
. The graph consists of m
edges represented by a 2D array edges
, where edges[i] = [ai, bi, wi]
indicates that there is an edge between nodes ai
and bi
with weight wi
.
Consider all the shortest paths from node 0 to node n - 1
in the graph. You need to find a boolean array answer
where answer[i]
is true
if the edge edges[i]
is part of at least one shortest path. Otherwise, answer[i]
is false
.
Return the array answer
.
Note that the graph may not be connected.
+ ++
Example 1:
+Input: n = 6, edges = [[0,1,4],[0,2,1],[1,3,2],[1,4,3],[1,5,1],[2,3,1],[3,5,3],[4,5,2]]
+ +Output: [true,true,true,false,true,true,true,false]
+ +Explanation:
+ +The following are all the shortest paths between nodes 0 and 5:
+ +0 -> 1 -> 5
: The sum of weights is 4 + 1 = 5
.0 -> 2 -> 3 -> 5
: The sum of weights is 1 + 1 + 3 = 5
.0 -> 2 -> 3 -> 1 -> 5
: The sum of weights is 1 + 1 + 2 + 1 = 5
.Example 2:
+Input: n = 4, edges = [[2,0,1],[0,1,1],[0,3,4],[3,2,2]]
+ +Output: [true,false,false,true]
+ +Explanation:
+ +There is one shortest path between nodes 0 and 3, which is the path 0 -> 2 -> 3
with the sum of weights 1 + 2 = 3
.
+
Constraints:
+ +2 <= n <= 5 * 104
m == edges.length
1 <= m <= min(5 * 104, n * (n - 1) / 2)
0 <= ai, bi < n
ai != bi
1 <= wi <= 105
|u|DDJXR%cK#&+?`w3~Kr|t9>Zhov7tenlAv!4T9rNd+Wco0CXHK!oku8eXE&1$> zz$kS@G!qj%_)q9<%_%upS+pRW;0dxNV z%Iao@`M` cH^h2f{c0=T+$dJ>6mYB?f0 a}vw`h#1{5nZ=UA*-eA--*`vyh3{7^|T~%rG22Y*mU{na7dDHW~!2>`#Z8 zkOVA3%x|@LG?9rF;UWHt!V#@PM#k0p^0^ZJ{6zhvo8@Ks^4F$Ub7UzO2uBFhdS?A! z6b2rl_lU1);6~dm@>H;SB*FN978BzRxc|1Z2$l<;^2e3$YvY2PAGEA+vg&BdO{XU; zOwzMzJ&^76AYqRJjEpG2CqnAahT0Fpbzf2t;N~y@$OsMXQ 5*El$YzIIEDr7+R|rqC`1#$0 z@JczWS5VZIV5nO!Fa`M( Xu-)|dS zsJln!hhDu`(R6=P$MWHU9{1(DvwhR^7W=jE- }+gC zC?4KZRwKL_f1cQk>FHsFp`e+|hX!6?P }<08eu^{GPi}O-*tw_qc2?H%NMQGx}6^APeA*Vyi`r-!?oSp53hjht%b+; zy?K8(-z44MR%PXh`R@8T-I8->3%V};&?>r7qY}2CtqbXDZ`zx!Fe-9Pt4QN8P${Q* zYK9U9OeQB!?#@*<*&{lGZ++0rX_B+jHkFv&3^dMQ(hspQG1l_eHlwfbS_2PePwB}l ztx$&HD?!mHzKI5rxQyue>f%eM-RAgI!v0R<3!a0QjyI|2VJo3WlEAlk@Z}QU@5*7X z9WS0Dd1GQ?iX-p&1>c=Zggz92hYf6q7c|1UH#^P7A}@{>3ci{W1D`ti@PY*$JyPDV z2i+dP 8b77r=gpP$z1S#E zLA15$ls=4;#ua831neRpJ3Cofp22`?K!<9-OwaM!J)_t#tTW{Mr}=j<=`>rlRep zT%VL9kGgO5->W!BMW%5YyceB>G@dN9xFyAYCcp+mkb{6NgP0>ynMQRmG8w_$CfX+G z1h=gqA)#vjfY3fG_|l>ZyS+T9%{0XZKB2eg_uOAN4cbSw7B_+DaMBK -T -3<}&!>DLJ3O8%p0Fncb3u+L6@KXyq;sI`W&tf;N8Z@!`+7=;6d+j{%j*jF# zw9xC#jNh48!#{8|B>okH=H2r6`qeb1M_L}$t8IMXhaN K?hBYfM$o!(s(@A*+2 st*)xH{ zB95Ow2c@q!W@5H|=Q=iw?*0uG*m`MN%b&$=hFY~vLK0&t;Wb|Z@-K%h3<=J-B1TfA zvhe^$Mn;)8mHI7Q#+@R(yc*<2;@&5-(e&yS2DLSXKc=R@3jzXYO~%!^w-X`D+OSaQ z x+GahsWp7BWd|TH_y&m2)g4lY;9}>?I*E- ~X7Le@|ssd1G$~LU4yWXQ4}h%hVJF z01&C2GE)4~X7U^SgIb2d^RA^Er~dEAs;VdW)F{2t^g)piMwEw7lD~h^(uU#Z+$08H zU?UH3Bok;vsenI?4t7m{P`x=eJvUMf-)pVWwya ?*#Ya;Gq!4i9l@I`p)K}PrdYD<=RPwM=oH~v?G9sG z;%+@NG^8i+J82My)T*fo6F>PW?1qr=JJwYA?h9fQZg_O@F&S0Y7ivVZSnBMOA$NYK zw%o7OEb1-&$MiS%Tt`!uT0I8xe3xAaaBiF)=&Mbd@b)>wusr9Z`4ku)ogOSeJRe+d zH467xA0s1ZCt#u6cHg`p?z8`cEtV*pXx$<}UDBgad1kAz`#uziviYrrUvmfdz4q_84BOuSCGog_3cTE(kU1)|z(BOn@>xCy8lB*>GmQY$xn1$D z-j4UuNbYA@LBJE>Q@1F|Sbcsp0qqmOWud7hgHW fsdK5g%GR3z)eDf>e=0y z0Pu2r5;7na*z>99GOq d_VC<>{q;3MKYL1q6x$&W&R&jqBWr159A%iGd7E0BWyNiZn+vx%9 6+oa)=&pN$dv9WmZ$cpq)KR! SEcma{ 6>x!-Jzhp>wFrHG#b(R0vR1al?=FZPwy zl~3C9`)q26dm}2+|ARi97Y^rVpALbPj~7hR*Ix@JHTjY0rS~XlWz*H10VWFzi+`(0 zG}I5vGfFw|$P>A=f1a zAZyfBX{Y?TtrQ)Lxc_xUX(|q*rIpp~h5t`i-h6&<96vqSGL1j($JDQ90y`5qEyE*Y zh&C&`1gben(S4tzR}R_wrl#`jO@>^th2|k)cFDmR%t}ei)9v_H&O?a@pFd-73aD>d zFrebdJ_8AlKMe|%;f3J`3%;`zdIOyApMO>rLLfx5OMmIdl+X#knugLz`s}CAyHM)* z?ElWr%(UM|T*?9);rsz78|CEO#vmZ?w$feXbC7L53lUdP`1R|TLVW#Xon{m}-K`lT z`uDTpsUjES7Mr&qkK!a34&R3eyG0Pu09&v}&inl=Xr36nYDZM{#fw5pD~#)F>Bp1P zr%BTDr4!s>3Rh!M>pDixo$r5B-t%yy3V$`2IZk>mlk&X5%K)@?^*pgW=}@1;MSp-H z^4Jg!&lL}KI0^_ucx{;vON3r7`3AzLl_MH_&a(qMygN$ND(78HmIIuItcH>z>^48t z=g-)|vcP~(&GBsUC3> 7eDO2Y@3UHNAoeoCk@l9k4I!qNh%-AL@ zG`gOzVLt8C(PAk_X3tgn9xh(rT?;_$U>Ll+ZFnhb5BSii)w_#CFiQ#VA^(1?d6MtG ze-g10dKp}8+*IRZ1M)_~p$`_@@s)w!-jht!U^9~Qn)he!Tr4~k?T8`!ljhS?HLRO_ zIwqEzy#s+v$w0coV||3 F$ydQU7Zkx+*VuHrxf2Z&i0!qV{(IU&*2trleg!A)6RSzd4a3G#L3!XU>(NW zeN|h?ma2WYxTz-QCO_*9ZPTP=Mqhq*3SDsP8lZfwfdRv249AT_ES8^2X1nG{9SFai z4ho|4kFb4^(xLd1q9H|0LNbnlnN*82Eov9Pll{<-drwF!1_m3a#^;)TQkYMR^P}oA zCoVs _FE>yYM#BCMdJXdVrXr#FMC-d@IE?-M z{eZ*^mvXxl$KC03I;hJ`r(HqU-%jE$+WMxto$h^dgQ@CyhbREyc&R(cY@cpT lpV#8z%XUt-oez~eASn|yV3S20xY1{rNsvi2WPp_K}X${r)1Wu z3o~L5gP6S}3L{E2olA=pWW84+=q&Pid=vC3#dAU)9x&;0B?DQlVr%vo4yaIo$yZA$ zYMzX>Kfy$Vij=eyG G|;#Lb9qwSRlm^LPsLpLXr& z8S|!<*pu4S0GUPF_wR|Rg -=NnRTeEY3SFak1(ZbkN&nerT75C@}ge0e1jss zZM$D>obw%~SwMobO=S}dK!-~m6nK)iFG13Wnt)D9vrDmB%-eC~nL_O=#ZvQp@xYMT z;T9}LKcn^%sN@oh_fDH}lcPhK#?ita?d^VbohWMWpQb%5M(|2o$Kx=Lwx1+_7&%44 zRvP`ETD^7Wv1`R<9EiqWXbOZU=7~4Etu#BFZhb_v@K%`GG|m8xc>i}j7y{BAnDdBu z(}ZiR#ZA_iu*`B8gT_fByQl;;EVw9^Q$+hc9{i3JVL^o3Ca@H*U0dtoKugWi+E} zWv>gb(0E=fW^o$7>$5R>4ZBvCi>W#NF+2>)56DTkTozlgJHOi N@<_PR>!#t49w`r$Vegk$#*9k${;V`5kE%!%t}A!99a;G zqM;0KDfelZkc%ry7_$;V1m@8F6F4Sn5gu@HAQ}^+mLr6zAvqEwgH=yX5qvi_bRgdR z_|V~oEv9mB`p@r3Z|k`>3`_!1!O4jL0D23x$@c}9hf-l!pcVn`=)BRoHwc<5D*g8Q zBcIPNTfZ^`Ms(oA_9RLejo1gQ&i4gftDQC)v3qxuYXgA$7 MSAtNtk5 zsWxnOrukZf$2kLwzquLKGVVN)ez$ooU;!5&lPdOPC6qhUt;H#}&~J-?PX* mBfF>Vs$St+k^XSJ`eh&*1( N;gue@~H8|?+Lj#pNOwcwqH2Mwa8-&%1#1}tb2suonOYl?4kVeYLhCHlr8a!3W zD#YRe!o1AuEq~F6T-AeV)oMTk&GMp?vQnxxy8UkuaS8Ayq!IDkJ!5D7x-pikCLIW- zz91kDzHtn<1Xp5g#v-L8b;&Fauh?2H%A>09-vG^O |e8q-BD-1Y7USh#z*M)oKc15!XA+u&%~aXvuvrTWPSt z^{dDyK#`H3v#u~M@eGlLUbrj(GJeG?@7&GaMA1kEiHN@_Ql3%#{{DM@&?mAq1*K?W z8HM+r)$% f2n$dJdeVAjN(`|E1y9?jX6ZZ|{J2*%YIS+a+ z&RgVg%1Sp6!F4Do)5v)Mt*HINj#|Wh6|7*eGw?1tr&(C!vA(mZH0|o);&}NUEn?@d zi1(&QvwpE_^&TS!ei)bF_-#B(7ry;nZ*>Sa(3^{i86LaE=Z~xQsm|tqj}KT6-%PH( zJ}lF078zn;Pvbz9+5J4r|ELg=^KLA?8Yq;#f3nK8eUP=Xnfp{ljdjkpNzi%LeXU<% z-m&SkTF_-L+*wMo|_8=-ms{Qjs*M0#$;bSm4sp1n(gVBoF))U?fVtccz2K@0m?& zBbDUisfD{$(steJPcIg6%!OlAVS3uY@$dS-nsm7>&+o^d0WnEQm%VPHgY#HOSRPu7 zsxyC9M0ms+hwS&^;WwqGuM#|V&l~`l_Zd1!Q$A+_dUs~Z`q*6720$}F1IRe_QDIU8 z{%xXVu;Q$Vbi0D!0L1jB?@BNQ()61q8Ak2`YoS#+ >*YJh8*~k{hmDd!0lhKAy>BL31)l-Pb3Zl|{khFufT!Br&fE#KctsfP;g> z>c8G}3KGMOpAT7QAAp#ccytZP0WmnQ=`aAm8{m_ZldG$%m9+H4#129jJH}EXP1?x? zgh2j6Ha0OJCnpz{+}QX5cqt@zA-ln_y5HsnB EhQ<*SYYWyfBJ+vd3FYQw~ct=0r&c44ckFP;VC_WiHh{yv9wASksQ|YPJV|4 z^(!pmBCA4Php#RC^d%J7IQ(cbii%G}&>HCmW}pjMjx_~p(zpOf@X_5mR8Ht?YO MQM&@^h^Dl(3W6UjAiq!nSy|bPkU>=nHS_eC7%Y|9`1rT(tUiAGp8j?_ zF>{Wb%|>Ll578gp%B>)OoP9V&^oLM^;ea*+@nviNoC#ZZ+!WkCNn@PeDLg$bL=-Nv zp`qdLI>&G!jX`dAr`*`_D6d6YsPA%dv5mo&GF-SgR`qd;G4nlO{ey39(yl!78m!O3Aj8Q&H;cQ6&2a3U@=Jp zR{p)J=UfH+a;vtM%?3WpHE`F-ezCYYv%9&P!@u5w%^Ru`mU=Zog9N8r98M^}yyZev zJe~p{X7ne&!uRSR)}c!(<~jQV #YV@nKCu{|BCdkK1pbH&N ^!Z~XBcMeA)N9*7yv{X(0<=h-r7T^=J-hd!JAyl1ZD;d`!o}7|^Mll}@ML2$r zjpfT47Zq)b!nl4eMZm+^^zo2Tx@~*q&7y_Z?Wv>Z3jlpMZLpO^+Tdh!+ox*5PUU)C zB=oqT=RzAp6nb|PsZevQkn!r*fg8H43{Njpa$b%Tf7T`)Hr Xg~ z$HUsqD0Q9nM#ZBC+C<0brA2*hQewz}Lf&&F?8@9lnv@YzI`WVd=@2vbKC-BZT+zKD z`iG%R)Ue#s8nce>t94Z| g#JzQUF~jNpEuRR>$%V7qw6$F?`0lH#E2A*PYcu>@ zYxwL$W8UC6|6U (+n@A&Yv{ld-j(-D)DPJd{U^hf(#g)ugYqlH{crt z51aB@NU?gVs v9P~-MT(_R zRsu?M71_1eO5R{GX|B`gy&HL?VQJYIV_SSpkTE;zz899!xxsa`c7v&cyS2aYrb7`c zy;WR}jnSYvu7SOHqk8O#D#axk57n$V3}34zpy$ qWL|G^E-mn-)JU z-&PF}1{fy4+xw0&Y^s|{O0?Jwh+_HP$|zfWH04g!IiZCriU=!vCVt`-UH<37BbgyF zo6$VX?r^!{vztYPRKhNq4lOG3%+h4nc{U^1VFoD>%hT7@B_gB!+ZQh i1E6AhC;RS6Sly&*gvqaY%VYB-(P2y5RLAT=$!_Ub_$Ui1(Mgilp7x7j zOTH{?!-0~WP!6b76S+yX{-wdj!-@^OUp3hij{t`+=Pgz)lTuDsZ+1E2l_L9h`EAp0 z3=9K_(|DTE8J_K;Nam0onI%5sGM1%~GACdB30mSO4$mAud!r8}n`KLXIQk_{`)xrv zHS=vtk%}U#y6TGsJawI|lOmqipIjf&hs4B`X3Xq%9|l0mijH})hm2M{pfyRccjsm9 zBN_mxm?l!Qq2S2Bk1ecdYgf;-w2jqN*7D#3h}+>p65ULR?yqD;ankCw+?p}50CY^u zN{**LaPtgLaU1WLYMel&GZwPlx!lApu~2mqz$z{tCl5F6Kb*8thBa)wU1DMR5-iRX z?Z#37AT_g7U!9$N5fyu_E3as?nC)*=x4r&j(k5eR6Y_cQ>Z>b+Ij{fxFAMAkGi-gG z2d~vpt~Fl;KF6GhS^WH~{AZoXH^t3lQGCCw;okk33VMC=aaH<2zu;k;Ck85+!u9>- zO3(F$( z`vv%eE=X=`T*+>ZmdRAncdtr3RO{-&^)v z#?jH$la*QP6Ui^EsCld4U*@7;S!%XcIF?#aSP1%kxl8y2IYjByn^w}ENkr)rNAHoK>#HyFb=sa3l0kLR7 z7D?LO Pt;##L z<<&?1%KqxyU?uY{>qmxr!SC@z+KfWvJl)29vVE!Aa$&e1WAfudL<7v `R5`O0;w)0 zOQ5!R1Um9LK7My tvDGu2^HAeK}BNSgg|k>h0@j#jxvL?DLB+jOwfLIczyia$p+dF zhwKSg!7NK|a@eMua_8U9*8}~9OiYC2bkK>BPn@69RLDfDRoN4gG~DlB0ETgK5J ?i@PbrA!spLE=!vdxGcuAGU0cmELR8Cx zn^qXzl>Fr7wJoRT1;nAn1rD=6KKjCIQt_}HM#3hE1<& IhUwm1s3WM!#5dxX4M@>tOs~eytRL#!8~8m|d~E(&M1;-w<;xf4&&ptr z&|7J*()STJHWhaA*72Jgo9YD*Ib2HIW+(dyh%GGNMktF*mRwJ7oHb38g|~-+SC}G~ zMQig5CLvvGiCT{1T&1wRX07=I6`Dn$B&(1*7T4|49x(v+a8%E)*Bxs@FjHz-=zN#a zfl15epZY((dF(~uQb?Raa=jF^Ds(FeT)R7e{II_~G;4Cy&p2u)NVnS4d7;k8WJ8MK z*@q%SUVoCCA%`B8n@c1AR$cuo_w$U6&*tJK^Sfg`KP1{+C_vEm7YXfCD+on_ng%8> zj4NXiZ_7~bFaP$2g^MpD8~_laAY)}|xvsWzZ3~SsJ(mW;OdY;kvp<-Zdl(JWu3d$? zea^*#7;@Fu*9!$|wU?clCKnhO8oK-Q_Sv>9JaEV55cP{n2W^8zWV9{XqQ6GQf?FI# zI9jU59SsWL+29qq3NkPGycF9ziw>yrhofW^6qtZfRz9VFhdrWDv{eYFh!oJTG7J$s zt@m9q2fjt30yubtgh#*s>9>k7|3u4`4n+a9wK)P>gOd81WU$suf#i)1YhZkQ7&UAx zT4A|Q(i -O*517q3r& !ZhAb?7<0XVuc=@00J<43xu76VPZHCw zZoVu$k5#(FR`GoL-{qoqJtOrma)QQ&x1-|U0zY)iNkqn2($0_CkLC0Xp~QftRUyji z-8Ek8TFmS@gPC^ j?}pr2(vSVaGmRDy`0WE$~}VY|JlEoX;8d z-L61>lvRp{4&diWZOh+;(TaLrZBJQEH MJ`*?4RUtG5(D &? T#%#Tl-tneV2Z3W E7{aM6|7_R;Dxn^i5xaQyp=#IoI7&MLffE^fyhlRpFj2Xh#> O2M=@3cmbiis_ZjQpfqZCq_vYySDOa(-6g7iq@Jp-NDW=4T2s_gE$c zIP@!0NeevBChHeF?}lUC2_w%oj(mDr7C^2bEiX-holNc CDcHFLIunZ;C9XXm6{0YH4s<&45Sp;rY8^~~QXoDL#^{~)HP^J (C5A^h3&E1=BYCGcSvVu2B!a3 znMYhw6+iRs7NK ^6p`| zODUelh_Ob_G)g21ql@SZNi1p-jg(v%Nb=zVDivpe=tujJH~{;IvR xIUk!rU5m3rpo0CKHQRx&5Now0F%8V)IQ{DP-)(1MP-(8uoV zCP#xBU2IUfJD~f62$au_B2Mit_D_=Yqh$01qtHPN1yo#ue^Ck`EF~`=866F_&zW$g z*VV-wPaglq@yH0Odp%?VqP3}+$!x*?MlBF@RIm~j_dTqzsFjVi`s)R|7xDY$KgN!u zCn#udxZ=oZ+~G>=H~L!(B)?%2_p<^piK0C*kHgS$(Tp$TpBJf&(s997RuBTyt0X^E zUqTzkZE% @b@Z$pA6^~ zrIG>k{%zMN9lnutTWn lGS~$YgFUQU!wUO_bO|hQgXX^0-YfBMkyS6+zncY&_y{ z88x5-*+MQ)%+E2OJjR0ztRuW!8EXMzM=0hQ)al(rqq8J89Ndjv5~*d&ms7sp^d`r8 z=W7Wt3HD{YJlh`_&eyLN6U2Vs;d_7r>=H{_c(`QZKI1HbR`1z} vSrtXaMr9^MZIU|vD&XI8%y6u=e;J<{{U z1vgBP(29Qz * zbiu6$|36+NRVfV#>iGvirU;zp_4p7Brg#dZk$(M3Byw0pjPhlmJMcd2bX{s+3AsIA z{TNX;qs|$tU2S}BJCVKU?OO)6WuX8Rxmp^vcVCvGCUS(17J6#`Qztmh0|URWU#9Yd zg7lt{>OX?M&MQq|UtwgVAMEn_c|%~u%lS?lNM1)XV;I7j0F( Eax6 !P!17lG|$tghCgZ+&Uai2SEj3lgolW z*4g6D({GWZE|&jwtv0)u0Ch%j*d?qfMe^0A2HXBHe5lk`coZ%+W6N?tPHx3z{oKG4 z79!N#)5+vX&|TD8^!R`bMaxP^jzL)$HmW+Mxb5#rMxUGnc1O)*7B;ru#o3db4whKJ z%g{blx#5GBC3SYbv;8q5pyofCaNflj?DPy+YCmsT@~MQEiBcBD_$^eoxGuKx2?(H} zaFMI(7B6P?7nR&>lo)neV>7zn9<-pK^mR=_{&^xVyKfJ5G98u|r9VK~ZRqAPt?-DW zR&%}3Uz&u!WrfJhdM9|PW4(04BOv<7$0}mc?#Ipq_DFW+yG8UROhJ@ f0sHd}{m zp1IBHbRvfIZ>u=<9wQ@UPuHI^^)stgV0YG=qM%R~g`cL488BHIfW$Bg3b2pp>QKhN znZZ2Uwj=d|duCIrO|AXlGH)NKZwclCaE`A6LwkON6cF5;a&2L21QXgdP4=*^H5Y z$`7W`k_}SLF%fG#stXy&E*a~rwZmqicu|7(&%M)l*B@T9l+*0&Jk@CvM?TS2V&|6F z*|r*A?<(1jx|$??2bh~(D)anV9nRr2w5ASuxPGAqrwiQY)6)xH%i_DDz*-CEjQvxx zAPHEGCP|02!1*$YcSv?iU3g!i0j28q$}{^(|Bs}zjEeGmyYSFM4+7GyIG~au-Q^GI zMnD7v1SE%$?vPeMx*MdWQwfn8knU#a?tG8$-!HD^5@zO^C(gO|-q$|$>VLm6r2> r$}g$Y^KEh60aVWAuycf z6#}-=&-GvGl)lMJwW!LJV0`pMxa7YaIjSi^93t96UGA<*!7x8N7P}GP^s{R@tz9 dxLK-KpOcwYJU2#7EEO$Q(n41&|g}^D`g>1kRhmv6#nB3el=jh!0_K;}RA|OrI>^GC3Z4Tw;=}8C=f_B2@D8 zoOh?kDxACnM-iu6WBYAwuG-q&KP-7eO*@8;!hwtJ!fXBe4_-^dCZKpep>;1~Jxvvy z8{*A$ny ?!YrH<(J}ni*HOE5F3qB4Qa54oug!jXGJNKDe}D;L@{Iwu zg#3YIFt7P|c|=|}KmBv4nt{n~Jjzg5_{TP-4wLuVLLbQ0_Z6h0L4qWtzRPw2Nl)B; zr>8i+WV+UFMOM_K0smQe$V7?$eU$LNh{JM^eC!iaDa>z8gLKRgX1v@uaC1BdQX{xU zg8XdS#Dq4r0R<0BokLDHosg4&`_2%!td`?nC}u$DI^s4*e8e3u{zdWaT51BaEbf7; zGC0z Gg`0RfC VBI}&hawk1 T@to{r^yt?*ZK_vKeN9XR+UBNXp@q{{10!d-Lq~Vukh3*Eqx+@M zC!eFw+^m5cK+@a4_Q()--P ;C8Nc zGHal~r;T@>o>KPq2Vvwsrh-lAeu2#n`gJzA`1sLbVTMgEqTi~Uinghl_h#xiU)D;! zdbLrkWeroC=$o^D&J}a!22P=+C6X^+xUDC?cR1#Qha{})4g&{VAHbQcQ+D#1>#K@@ zozvUUtd3x`fA&)6v_7t&x|uax0hFV7QwY5`B}6XL9iN1+lvb3+FXV?SXWI=A #Rcs+>YcSL*TJKD^i4VG~U1 Qge$V 7Nl2g&K~xFo}|Wpn3=%I3(DlAB;6_MaV94(o1(Nn#?!8Q zcO;2U%r {#kg}cO57<&RT93r=2f=pBl}#H@+k{FV7S*BMjc*N@IF_(p2NvbI3vO z({d9?hMizX9txH2K?GsfDo%A_jXB- Nar zAVb%8IDxR_eB8ZTO4*_g!MdrPP+%vPhGe>hKfJueTC-p+5@GDHMj D`SdiTnI^Uh&;(5?44b7qK@A^IiBKauD(|VzE9EuFQSj4udhWu3~fV(vSs_w z8LIzfB`P0jxatStkwX@Nt6NfLpe(E0pz^OI)VO*I=CJ- >W~!b87zs*!?rPOEDxse;u&UN@=izg|(92uJgkNE$Vj?`*j~d;EwM zy}jAZ=N%+1$4~gEb}*6KP-_fm%8(IW=H3HJX4}aM?nf^)%OulIe!iDkO{HPkhe*$F zCsljvXz{_}pKRYvakySLdm!gQSm&S3kK<}y@GARQ4ka|a-+KQL!mb&b@U(4L%w^Y> zfGN HjLf!JP~ zI1nv%p}H1F2B8$S`av6WIr^z j@hP!MigbgR{$v&!bm_)M)LU zpZ9ZArY#tp=Ql=w<1jQ6L%^(Wp~0H-YL&d1!=U$-xX0Ny7aO$27F>qRYN&6WzJ+S= zE752w;fIi7?b1rG-?k?{qB)5E77OHj@t8HFy$&R2LWOH>ZKmsSAt$>d{46Y_7>kO8 z9CBN3Hy5}N)tWa0bix>tNCRloKyWC)5-t3#rGqpJdo%Ykzi9<7feE)9`-ryR(G0|p z_>$4ddIx+VoVB~qJ_Linr;7io%^_Tlldoh(Uoa^6bHP~xVd{;*VuJ0f5N};()P{RI zJO79GO{ {MD(g 2y5##+EoP)fdU; @53@T~Ik^$Ig5{`~tz`ZIYwqa*sWzQFgu!!=*z(EHu)!Qtd>VEe0IwFcEA?kTm zv35BTgtWUQq}3+FYuYVmX8G6Q%5OB^sRuVdabnl>@BVfnzPpgplH8wn#2th}A&ED4 z@*B@A_ja+VKM^IQ%STY6K_tHoeco63YIpf1-PvMyK3e=bmE9^v@WU3dcvi<>L1Kh< zR $o1Fj1p!9gJKu&*SQ z5&ik9@mNkzP-}w3;aA`x&zIB6-&bY^JrWrcAuvFoh=q4`jq4cEVM2 gvSn1`NzLX58g0`trOup258@*K~5d z?hdarhL##y<~n^kiBtKRnT3u_@^3DrKfHoMz|zm@G`S`eE->M|r+@n?B#E>!|MiOV z(dr+1(LD^`!qAPR5eug5IotC!u{6n~ _70P*5N`2%#vwH!~=*u;V{4QP` +_cxxLO&O)~XIERd zxeO#@pKhZ`Xgci_WO%QCdOhN0@l7@u&&i@3F}`2DHCo1kkJsBmvMZL<^kLCBH~s!? zL-yObMhJ|K6!o_{-%>2gVoCR`*t*f0X~?ckxkN1o8v?wT)+71PFYGX$G12O;+RRnu zNwzdXRDt;mJoa+-Q}ZP)8Bd$t#} `dPExXsLJ)BLkscG?<4ED8=iU>iGFlBfT&yW{DK z^143DL56%K5cxcMe0hvAaNiqm`2DR^S#)OC0A$> 2i6M?sZN7>40f! zaL=%bLD+@1To38klb-Iqem8%P=3AU7mVCqA$V_PF%#KapWtqV#a;hm_kltiBx218G z)I`?gy3mS4@3?Wfci-fJq!-tZ+_4y>nLFD} DNZxd{}5CnlF2NvG?&Qf5MCTc8TTbdO#pxtFaoz^xf#evm>H%0S3v- z#yMM*figjSOL35?Z3=#tHTZ{wHn+Xm29g{(+0IUg#F&Cs+vSzM+l8~N%-Uo)Ld xj@#XR{4UEb=m) zG8htTalJ-fhw+|sZB83LgEYh3tP-6O5%?V;M1(wgkW3TDHNcDb)5!pg(I}TgvzN|H z1_-~#y~gc^2DklI;Vj3sUJwSRKOH<6-n95j@`XnD1*HL&4xYZYTzAh>hg3gEl?mqc z)^n2%X0$Oz55G{FaBAR{(R=j<$}ei2{2B=&1S{Rq P$m{RATH&|ML=r;Arg73y(`@jZT3I2EDR@d zy*QeR%uugVwt?Tkeelm9m9Xu{u75ZU_7{$;F~*h!BL{M)JBBxZ-Ci3UMwaToJl~t@ z%T7kiwA~Gked6Q!^7i`*Bhza08@AUnP(cIx=*m=~__Mo^ef|&AGTp{kr(VlLcL7Jw z@3)4iJ_S7xwVR)9k}qfEgF?0@Y(y;o{^pUUq0>s>ds}R+lJ-)0qcPv|ad>?cgNoOA zi!03whmD4P7BAwR8P0`9D$%CysT6*j@A^&j5U2h5?a`taGCyV_<752-UL$AfY`hj* z=YQrig3(ODQtlsy0^!|im{hfOYJyd+rooh0hJb_PuO`whKC4HkHy1h4y9-S!t!o8m zQ_*Ss%d%*7U{)k{v>1R1g=m%-fbrh^WR=-d)MHoKsA$2q!};``G|Oa{KNGgIKZ@>s zDL`t9)y%=@{B6no+vf{>+Kw~^!Z!~@#SdUuc#yG@(NA7OG%5Uc4s|?@`F$dpG^9UR zNR?17O=(SDrREdb4wF-zeN-yD &fZuK4!B>AdLFMo z4=toYzJ@H>X7GR1T|i}pux0%fYdgG(Db=rQAa-$9ns|NUdE2&@*tD8#*d&9r9xwA+ zpR#zWUHt5HHpe CTAk|t&SQ;*Sd^BI9vAWuv0>;scRb&; z55`TmUt8l#j9A5=miZGjd`R|g7+{CP-`3f#fQ!+}M<2)PB?bgzyhJ~myzg5dhQN6i z=4%WeNyaVr|NM$U&{gDWsH2jE8v>&x^PVs~kH|RK`!=A@`Co~{mY(azr9#*@XI#Uo zHW{Rwn=FuM=(ru<&j3)u6afSeF4}aa+xY&oNakoCb+7zi^BS?SeKyD|h2o15WSijp z-y6qA@9hN>Ho%HL-izK_fK`MV;vev9uc6==tgH4XTcz8o(rakO5#HXz3nk+O41(E8 zA+?>k3fHs8^Lu>>9I-eThDn2cOrcP3B4!99h5rL7HY{JjAQ(vJ^XR?L-w~}RhWwId zNq%AZx7GAIUnvD(PT0A*CDr0+F0y_}Z3DR2%a4=I&evxH`Y-9gc9V+}2V$jFKDIJ% zE4sHomTyA?iQzGch+h_@j$?qKp#{MLVRCE`T0zfGXW#WSyb~Ky?QbEW(8!OoxeiT4 zyI`*Pw^*wrH&;eW%Wg5`2tSONezMJYWxaI9_2XRQ+Qp$MR)Zc0naZVkfbsi$lf^aB zE}8^mHq0!`!Y#@mbQq)=eO%EWZ}pWoi@5B}fB =6+v`DJJE!v#Ju`5;;klNP#UDh#=5eKJ{J|; z?Wyd*A)*H#Z{aiPlkY)T5DAEtW|;#>jJa-4l{%;B{{lz{h#J(m-X`GhqN6AUIfp@o z{awbfPWc<>)k!rph_Yw_0NEMjsgJR1#l~v<0|Y*Z^_TW1m*q>Mb?1OTgR?&aaWpXx zj@#LWlYkH+S`nw!MZb 0{)H*$+?}jPS|c@(@ZQOOCT4V1sqSbx zeydS pp_|vDtAfp9f1av}3*D;F*^QVaRs;=gFX*1nyv;B>3#)V$U z{@~&>X@e}*9zz6PG#)t2nq%*^rKF_!l%76g@9q23hvXb;7;sM1;~Oi|t~NiVR!Zi# zoGVj0{`Nd4J7-P5agYs-8eYY9fR&q$%e0K=KL5jOyOwUom2TQ+QO3&3#W?*MheetN zxRJ?a)f7QW7o-~efB843-rV@3%YffJ^|45!MlN!TkDA|dv}*S`AiITqj{IV`Df9$W z#B|-jFtA9&$K83cz5jc^)tI%iK9zk6d5tF zgc#KZ^{(U^>xohwelanzM?1`-EGC)LC<&K&j$DQJM*Cr|m0X;hZH4c)*GpUWwh1A9 z3D0c*ey1{iApoZ=a}q((wjWGk&o3FB{?GYP;dcD(?fEHd;CJ1s-2bZc1OGBEj8~s5 zJW-|v& QHNa=M);X_L~bh}Dv%u) zce>N$$7%l=oYkXwsO)SICb81Kt{esS 3w8Z`yrSQkM7hJ$Z<_EX%S)C zC1WPFs=XhzQ%ZPW;hIITh5e#LIIZ;taS_}E`24LNp#O-=9HD1JB#QAX{$xkm-#h|@ z-TeK oev(H9R1@*@n`2&c#d5ut@$>uZVwH^F zDg|jkiJTCKE7#3Jt5>X)fS}*yp{f8W`LTT&K4wtSTEV_Kti30>J&tYBPA*EdmvSX_ z!R2}vpMrD4$+bYR+Gl_G77R&U;q0-_i!F0<7%D6!g*>us`^qz)mzrP0(8;@DkRW4f zf*X1!Ofv!!HRX_Nnh5T}Q*bjMxbSk%kiP-~T$acA+Y$5rue=L9Y=1Iu7z0(wu&|)_ zqlh9?f&B-82o-EQ{?7JHvY0n#)}p*1X$P r~snI zk3^c2AL@rL2}QemwyEA}KMxrslV_^e3}zz4XzMPrKoJq&?JT{=OUZ`sx18@ak OG$R{(K9nKON-a(rjk KqaWie{pII z8TO$ObQ}}+SY|>-jtAa>gAenAp?B7^V*5eRVKHNG(DCxQm;$>VoGjdXU*6&D2V*96 zHy@AlBAZoJbziZKIJX@wg!&_-2vZPB0ty;9iJ5j}(k~z!+%U#Kh<_GQKzlp)44u8> zH?7IQ_6h8kyAh-Y;L-sBz)1XR!?a*z5FWOmsTMEWz-C&YOj|wk5h8)UuN_a1$#~$N z%^$GTjMi>E_g>b+ KHG2cIGwLDvq7e}SoEhVQ2~IQk& wG~&s_tCILdE23!%UiX##$W1a)^IQ@ zzS%)K+?tkVRR&*u<~p#RRib_TsNyw65Bo>8;b9G*bfJwg$tO_^TgR_5_(LKA;v_;n zqvTgGW8k8YMTFPk)C9{sHOWJ2dQ#Fnt`4$${6JM^X;gO}I{2-^l91oDWVjV;eAsI# zM-_bO-+!4`>WZbFECHSai_^6SDXYjds`AGV-s0k| k jW zHXMYMJPy0i?r)FU%&U_SSzKN3c}S)DWQn)e;hRC!33w224PpLlz>g(~<%SXr4db6) zg^nO#=n>q86Z@N^mWRu-Kw;ia8hLVkwt0QmNlY$_hB?@PD#v2pGSDGAUCfe>7P;EE z!Sa!nliLz1*DF!Be?@7Ehu*tpv-U1*C0_!zCf|P_2A&`>^D~LZFQL#IZ|NZ#Sv9gj zH}Lod!QS&xjaw&MpOt|u5OmCs<538*;73pR=_#uQs7T}0I_F+E=OwJi4fqu4UUv;( zwj;+^#2WiqJx^r5U>kGozW0yF5Z}LRiWW&sohFQN-#vBiw3Dk#wAN3#A{7`E;&Z)w z4&tt1VNg2Zvo!DvvL>x!r4h&%7$gm_h`*b><|4Nr+wf6H6lx7CDL^dg<}lP)x yuT{yrWBt4Scg7t2f&~a}s3$b}(Zh~})Q!P6xg4*94f2>d z?lsg4UiWK&rm6J$wGMa=h%B{{_^B5oZh;mi n;362|F-hZf1~t@A)GYe;Qo)j}vxQZBG0N zZxX|8Qkcx&h5ZsFCM3LFh+b$DTpa)_BtS4lfp7bx3r*fAhQ=Zx&CBlwMcFWPk|G2# zclFe=ZsW&i#;rsIqQYFM=kZ*t#xQ8i>pR2rFItmivPlPffnd&yv9;eKy!S<(;kCGj zvRYi#*#dyj#;9+J)jhv|h>n{@gtGZ`P$KP{NnlQ?K>z{gM<3UF z(~bcs&-;3=j$~=6+FZE}wWq9KYm2zruX0R}Q+L-3a+A?3Pl04TuHFy6Z>8?6$*N |xo~^mDH?Cj|2b z4fs%_O-oIjznztOWbfJcDF?3~M4W!Zo`+Owh95N&t^hnM0aH7fEXp0&QUD2Iw$-o+ z067@k>XGscUd4rBv)@NdpMSysxyF!wspb P<} rPg2>#Gk%?oHK4eqa$yOhXS4)cf@_-1Zp_MrgoV>n1D+3%0>bH zIKB86Ye741HY~Ke`_V+VlDs^f+1u3Uq!^V w(6)T<9s2nRG}PWC57x+KME@ & JHWZ6S?*n^|14J2+@Fe1) ~cyGHq3kQ@6`!o%?zCsr^Cd?p+9Mtb?MZ;3dy K0GKZ=E@nBt z48F>j<3DMP(OBfJtQ5aJ(zvI%0>kx-FCp|^+ojw>C^MZPLNr`7GFukmmGoN-ev6bK zn4 >9w3m%J8sPzBD6Kr|(mzUWU(_dJ21QR~hxo!Elb_9$;w?} r$N00lw7RgVLJoRnE*)(I}j|B_qq~{a^rOS&9&4(BLr@rY(btaX;ho`eX t-O+(sZ*>QEgknxI*MC#(*S?Ip7-6%LpW)>E07k^*Jid}I%d!}ix zn)sg@nG_s_uHfvPfGpqRJ>ab$WXr>U$dSlv;qu`_V%NvZ%Yuw#emkq0H-Z##Fn`9t zp&e?|-XZ=4&!tNg!VwW5{cF8HDJ4D)0QHv%2?aQ&s74p3!DdcD0Cjs!e6bXA4+u>_ zX|J_FUa#LC7JSbR%d5dkY%UF~UtsC@Y(&`n%V;9(nR(rZ!(V{V4@||}L10~svaxOG zGOxC5 MKFDI1>O+{}jcijh`_8(Sb zM;l+Hz36wZHw*5y$Yj?==WfdFnP8GxVcCU>S*my?i5PL=E|U!;e0@FL-}S1YdBAu9 zY6f;ji(<<*i~r=Rb{FPM`WF`;InccP_-Rha8FTp(kpv_N9AEYA%6R%#kU&yHNvVyF zl}wy8mZPHPntpY#0Px*g&&{si4Eq*Ux?pOMRLuO%oQFeb9P?tBCoCL4goxp8e8yCQW4QG*`$tF0Czu6sTyjoxWjr;b({!H ^$McAdTT)B&wJMjX)h6o- kz;!cniqK@T8rMAL$# z*h2$iV&a5t3{FwaZ!efJeYq6)2Fi-rO}~>(zs0`T60*bW4jnKDggRt&hQQCnzt!^5 zK(QMyRHK7*NChYrPZ>`rn40PQG3V *4)7{VL*j0&HxO z6HfUC=Wjfv;E+eGtUyc%MWh=UP?FQ&%k?yWj6uEw&ry!FMp|L_@5(LiU tS-gb zwjBBj`e&d|*y$oPJDE%tB;lOAKC3L{4C;?7a-|GBe^c8pl5u&p_)|sn_R-@`+qx7* zR#`2!$6+f;Y*-fCwYQbXIVOxYIk98&Shr<>Iq#0liR+CLX;62se1=`+ikuhqZ~?#> zbw=Q9X`cQ$aWKO_=7>QtNal3c9zZ-+Y-k~Ik5=ss#BV3?gz*_JH1^WN-*1d)O7$<* zFBohVtcLlq6ywFpBKme7q5ISD3>}RFWX`RCS+DG=OWBFxk*~A$IIurH5_qAg6$gA! zzA8d?41_5dzRjKGgr3f0TUtnwV=}^n3OIh(q}BOJ>e-u>ph2Jp6Xddj-Xf<#Xc$nYOSj83;kmi;g_Tr< zV@`*yi6TZknj@abix($tMt80k6-%-~mn`xTo;RPLAdTuX*?UiI9bcu!saa!0r|h5% z4%Pc^uj})l7CVBafesF#x>ikQW}#WhHx<##_j+2jZI+&uN_z%sQ|OX=K8jGbc%>af zT SF zPJ+=LKM&7NLPmkp=BUkeR2mpyG}=bw_F<~CR$9wIWDG|Vi&F)>vsD)4k!ix#FZE5b zS)O stY|G?dlS($Sp>mZA zJTmzeo2jl_qX32%bbpCV`yEZ^cCjSicCl 0Q}!2xyGi=-0aL zy6=O9w-gw!`UkXKpQU*0?`B&zDt G-WPS#Fbi(#a*X&T#`CGtG77J5Ek}qc&4ex$$ZxT=n+K)S0KPh zMEl~y&4sJkfYMuPElom>>^PU0I8p|9eRg5rxAL9g5|m#6j;1UwF774RkS_pJe=<0C zRLW ey0gt%zc)uRdRV$`! zSY;mv#>rjfa${+(_mI^d92@}i*xuZEH%?OA60llq+=u0FN5qfGEw06>f8|BTV}e37 z;(%AT(slpZ@yHR%^xx;ty!p2-C^}bQtkN GM)PLmjQy{c@2bUet5rI56$>{j2bp>u8ifBtT-2vTuOx6A0&sU%q$L z)%~RGGRQ(KF5+>P3TphU8*SCcQj$@vWF0mh(1zg%SoU_y+{0%E_A@qhw`beP77y`y zpL;Y}Edf+_X+5sO;dIubl$x$&>uFcQTOcbsJPa2U=im3c_CTfxmur{45khU9PBfk3 zd80sL8k6xcrevJ9o91tAKF1!L)eFivET})ef}V@Z;O)6MxSbRKWHJU!6fhxKLK%4z zMMF`kB|O6UFGTCqN)`|xSCD6b0xpU)K7{%H+ZGTMm~Zg_8>2Vvlo;(_ZOjSEqQA =X3D$8lbNA6%~IBHY|&iTip)2VL-SP%na0^ zYRRv8-uKTkTp3_{<76|&>4w{I5`41!Qx(J-EBHd-;x~gg zZYF>$$YBtOoCP;8%!Wz=h#15UhA@bMpVALMcQg^b4HssYZyFv7S5?zh%euWp8C@Xm zXuIPI3wtv1?@qQ#%JKZ9G8x=#4>VAvTtN_+gp>lm@c_9P|MxUWOJ ss*FIJjURZ%kNqy+zEg#nr{+_dXOdk0 Re{ShaL zN02g{A 75yRkQxjmb)tNURS zn~?CtItMU|EM1hU`+Pnm=UWQ_CX_D?$8@+HN63V|tqf~$H09y0>q4iDyi(ecG-}Y$ zb!QUn QP`Ok|0 zh0)XBl{2_*9CjOUv0b8L5KBX|$OKT);&(D8CV!8SqIH%dS3rJD7uoFCn`_!`RAxIJ z$ewBqdHoZUWbx{}dQqyd_zL73ypJ}Y6#p^EQ;08by=eqGRVa-5fqJ9ODJ3Y>!G-uP z8f0c-!XM{-wU5%dtn>S+#O%uStcR2G;BR;k7FL*5v3lOsFWJ}HrEf_eKD1INAIs(H zReVUw3^=?1k3p&NPg#FXPWpi6rOoP&?pu^fLf0jw0dZNR%zoo`8HllqUGMPvl)t&% zVDb7L$#CBLloJ eIx;8j$1xE zwT=Hv*kqw91ZAQ$C0+3GnfX>~j;JV`0li`k=BK@VL~$O|YK#(WK*}t(dR{v}Q_}}r z*CckGPW4LjRPJZ25!_6lN~dd3{b|>|eVj_Sn+afm_ot`-({*Vb{IQgMcLd#+JGu$Q zlT*3MHQtN1``ZeObKB}ElbVMEDZ< Tw@qyIYrd`|tjoa}!A>QZkaH40Sj&%-$(L*`GHZ>(a|;5t>A ziv|-rE(7K@cx7XSYVzL5ffpUn6c0KDDwGHh&(?1?jo;13wf|+Ag1=^~Imsv}c)Oj_ zXr^A?M{VO7s!SR%@^m{oB7jw+4f3Iy-1 m2J>1&aO)juW}I3vmmDzh9R9*bGBGpp|NX=2xWtm3WntvY9Sn!`9FVX8 z#Ehu@VkW3^WPkc(dqhP{SwUfxFO99g0NbS%=K*>sW0^eiC@eTASmg9XBb?&-pL%;g z9_A;{Fj1^yfjk*;>JTvR@`Ju&la>kZGHCO@op|e^q(#Q0>dvr`6^Cf;C7Wo@fHgC= zalr*%sl};(X(~g=8iSol)5@SQ76lEzje juc9D)Y@ zvajAv7W9WLi)M%kmCEe`N?7k_FBwV(YR!( }Lz34}DG6V7Se9X>{A90EBzGFyLy_v$;|e4J@ELmWkJB_W6;0vF+`(1wEuMm!Y5 zU{Deqnpd1%T#U~D%~AdAVx(ur`4VonL~@^=@3A7j6u{rxo-r)=B#=vi+?`G(bw_t0 zg75cNS_X`a_V{05gSMhqZ6S6$ity>rn91=dj~2hJw?=uWX2Mdhw2ENSi>ln{F!Yn) zbSM*Mo{UQ )x$$aaq+%Q=-W<>D&@fbhJ%`C2NcuO+`-{2%;qs&UM z0v_p*sP }#HQcV+<;%zS$^GtseiJr7elg_6>G2y1Ox>(-0WnEwSjStxJ9-D4I zh3I&WB_teQf>j^+a;{VBz^+H6StYg^W& BGeNoTFsE?)V%58KCiJ}-jTfMXzEC&lEQ zY8b4}hx+0nkb -#0Bg)NX+ogKFZP1xGZ>o!*Z)~UhEG}I*DBk&tvwKpc=JP7P1A5BQed$w zlh@n~NE+c^sHEm?gZw1f7fwu!!5x#O4ct}ga92AeYNpn7xgFn&9?2)(ra*s7CG!(2@1Ldk8WUI zccn7b JlU57uP0;pb z^y$t_X@bqPv5ZC;-&d6@-;b8EbxR$dCnpss*)9PEQC3c_ZdFiK47k9G8E5(m3cU$N zURRT*w;b=^vxfo5&@Q$+DVvEx5zv!>bOj|tkND3npxqZHVH#hTAqn6&jz5K6Hyc4f zTiCYAblOh*e9P?~BoWEAhMik(27US-5!u!Kas`#uG`i}19WzSYTwL%1pltG#Z97{{ zB!S`(j1~riYIE5Hj=6`NdikI(Q>b?_fj3v{ >vh_qRer>1fuh@c?lK{ 58{$dG+- zlDVbO3mPz~^aM{n>5yhU-Nftl6zMCGvrf>Sq0mtLYke|~UJWW0A(}$>@9+-o-V+ks zJVbq!7gXjBp7##V!J|Q~ETsLbX2a5Z)^_t^?O&T&qfHagFa+xxsxY>m{W5+(_Zmph z4umQ Tg*;~}a7kM|2YdG0( zPY^Btj1A~tsslU!iL{tdm<(E{?&j{jKuN{v#uQ>Hy9=;rMVya1fg| <=;t zy&a#(NY-4$=50e&-U-<8!@txZinw=e7LhQN%cIZ_aa+WcVCpqlu>@+CFNXro^=)J^ z0Qk{%_ER@y7Gphhr;rKFA3gGUiXr77O}phzsI|0R$27<$br#Z43cR{E%#xbr1d<1U zR (aM`6IKMH^RkmNCq9hI@ zi+tqWQpo uHr9q*b``1BiJT#&N(~JNArI?PSugGj z6!<}5@_6}@@0O-t{rE4I6@eOPsOxJf(dOL$+t63F_EZyGfT6x6zvQ4 _rd7C+=OI3|3+&WT({?&7+2@wj;pHCd!piZtGwNmd2z?S)1eVC ze_ygf V}$@7M~J+1e?87DC7|)l<$N9eAlj_q~^dZa>F1vri9BRXYpc)DNwc7 zX%O`96eWS>l|jRD)mnIy^M0lKDYX{grr(!ea=s9l0u}fFejEzJ#9Y2-=jVzc#{e@C zUY_w@v_RiqiDldOt`mlU)!ni?PIP^~w>e*W4T_tJSmO~Kfj$Klf0&<>`Ep4kA;HHk z%o=0xOjFD6bu*^#?0H{_^6G6)3?VKh)yND{AbgQ5d>$ +UKBeJrFFKe87d=MJSP@o9#HuXchpc3tF zIUIw}uprKHuUyN3_AE&~=T&&;r;5i=h(E#)oqLgglN )Q0eW z#O-=YIjAlGi=34w^gaNy6Ar9q|BA(07$KQ3C>#^}*NvCuKkI@3Ds?+F^p4tqhYRk9 z7{tPnAPcU1>I%M()6MIPY+3v_FYFG%nJ9YE&hk5oL5D2pI^*7D(!v+A;IlT(mM}OY zNG6FXvH2a?G8zF$??d%N1q$!@!>}wGj0N;zwSI#zs$p)SVW*Y~#s%}|%c(2kggONO z;jorPwx{q}bMHqt7z#P-)p`!M7&d|KkTA9|*f0Kq_SYu_pT2mFpZNQGHkD3VW|UuH zrCSzEurUnM7@89XN%;BWmx0DBYoUpt#Xwc5(5?p`tKR_4f?O-!Y>-5a{ Wo$AZxe~~O1)AI9T9u_S4{e| z*SPafI)9gq23l2))VfiC#q`HdI%=oXAd>}+(rQ#1m=xM6UcepZ0s^1{o(G|Wf{ZY! z#B4aQ59UPh$N`Ta{-E<_cZ-)f_8N&y+_;jxB(y~riD#-fa*}Pb4L~RW1eqUxdrh<< zgd<3%L8(D$8o|SQ+TRfK^6wBLlewTBkpIPQZ>s+_YOb5Nh z0Zs@U|j5(!$l0s06~A{?_V9wb_XGKM@r$AZ2O zQ$LD=CF$uE6+I!Q6LDHsoZjTMP|nRyR}xN3N^)lA(;C@ 7|l4HN}6}{$yok?cv+y2E+3@)u`s$GYRYoBGjO0pT4AHQ6wcLJyFi37xLUt zd~>yV@*}pW$U->-@Y=+_Bo}YHK%lsIrCQbIGBUb~ii$vx1IBHu@$XtKZ)#TKRx1uF zN;aq>ZWYl91cQwu0E F*bE z+ZqK_E@eP{QhqJ`B{@0$8=$9vsW-0S1cdRCzz^+6>Ln86N^Wkg60O$?%0(b;1!j}L zG2R=Wjxpf&y8L-aSC|GV)E= Y#4sQ<83TYT2u zXMYOLXAyPzmWpa0s5}G`ys-I!Z#An!UR!wg7}TADS4FhQATiq&$3hbeV}@Ypi7By9 zPd~bjc)n77B?Uf@x(Psm{PT5ZyM==RmLA7gwdrwDJJ(-evo`ZHQlRVl!`I}sl0WeJ zTe(5w$Eoxdk0Tz=o{k5mPe+UNnzYBP*#7+a6R% 2@Xq6P?K6