From dd531131a333fd779a6dd06a7d4b2fe72a47256a Mon Sep 17 00:00:00 2001 From: FabioZumbi12 Date: Fri, 22 May 2020 00:47:15 -0300 Subject: [PATCH 1/5] Little performance fix blockbreak and explode events --- .gitignore | 2 + .../me/sothatsit/flyingcarpet/FCConfig.java | 2 +- .../sothatsit/flyingcarpet/FlyingCarpet.java | 46 ++----------------- .../me/sothatsit/flyingcarpet/UPlayer.java | 4 +- 4 files changed, 8 insertions(+), 46 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2d513a0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/.idea/ +/target/ diff --git a/src/main/java/me/sothatsit/flyingcarpet/FCConfig.java b/src/main/java/me/sothatsit/flyingcarpet/FCConfig.java index ba1f530..f361420 100755 --- a/src/main/java/me/sothatsit/flyingcarpet/FCConfig.java +++ b/src/main/java/me/sothatsit/flyingcarpet/FCConfig.java @@ -20,7 +20,7 @@ public class FCConfig { private Set passThrough; private int descendSpeed; - private Set worldguardRegionBlacklist = new HashSet<>(); + private final Set worldguardRegionBlacklist = new HashSet<>(); private static void copySection(ConfigurationSection defaults, ConfigurationSection config, diff --git a/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java b/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java index 68ceedd..f80e5cd 100755 --- a/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java +++ b/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java @@ -10,7 +10,6 @@ import me.sothatsit.flyingcarpet.model.BlockOffset; import org.bukkit.Bukkit; -import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.entity.Entity; @@ -29,7 +28,6 @@ import org.bukkit.event.player.*; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; -import org.bukkit.potion.PotionEffectType; import org.bukkit.scheduler.BukkitRunnable; public class FlyingCarpet extends JavaPlugin implements Listener { @@ -38,7 +36,7 @@ public class FlyingCarpet extends JavaPlugin implements Listener { private FCConfig mainConfig; static List pluginHooks; - private List players = new ArrayList<>(); + private final List players = new ArrayList<>(); @Override public void onEnable() { @@ -64,6 +62,7 @@ public void onDisable() { for (UPlayer up : players) { up.setEnabled(false); } + players.clear(); } public boolean isCarpetAllowed(Location loc) { @@ -99,14 +98,6 @@ public UPlayer getUPlayer(Player p) { return up; } - public UPlayer getUPlayer(UUID uuid) { - for (UPlayer up : players) { - if (up.getPlayer().getUniqueId().equals(uuid)) - return up; - } - return null; - } - public void removeUPlayer(Player p) { UPlayer up = getUPlayer(p); @@ -114,7 +105,6 @@ public void removeUPlayer(Player p) { return; players.remove(up); - up.setEnabled(false); } @@ -130,28 +120,18 @@ public void onPlayerKick(PlayerKickEvent e) { @EventHandler public void onBlockBreak(BlockBreakEvent e) { - for (UPlayer up : players) { - Player p = up.getPlayer(); - + for (final UPlayer up : players) { if (!up.isCarpetBlock(e.getBlock())) { if (up.isEnabled()) { - final UUID uuid = p.getUniqueId(); new BukkitRunnable() { @Override public void run() { - UPlayer up = getUPlayer(uuid); - - if (up == null) - return; - up.createCarpet(); } }.runTask(this); } - continue; } - e.setCancelled(true); return; } @@ -199,28 +179,18 @@ public void onEntityExplode(EntityExplodeEvent e) { List remove = new ArrayList<>(); for (Block b : e.blockList()) { - for (UPlayer up : players) { - Player p = up.getPlayer(); - + for (final UPlayer up : players) { if (!up.isCarpetBlock(b)) { if (up.isEnabled()) { - final UUID uuid = p.getUniqueId(); new BukkitRunnable() { @Override public void run() { - UPlayer up = getUPlayer(uuid); - - if (up == null) - return; - up.createCarpet(); } }.runTask(this); } - continue; } - remove.add(b); } } @@ -344,12 +314,4 @@ public static void warning(String warning) { public static void severe(String severe) { instance.getLogger().severe(severe); } - - public static void sync(Runnable task) { - Bukkit.getScheduler().runTask(instance, task); - } - - public static void async(Runnable task) { - Bukkit.getScheduler().runTaskAsynchronously(instance, task); - } } diff --git a/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java b/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java index a3269d0..67e5743 100755 --- a/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java +++ b/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java @@ -7,11 +7,11 @@ import me.sothatsit.flyingcarpet.model.Region; import me.sothatsit.flyingcarpet.util.Checks; import org.bukkit.Location; -import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.BlockState; import org.bukkit.entity.Player; +import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.potion.PotionEffectType; import org.bukkit.scheduler.BukkitRunnable; @@ -106,7 +106,6 @@ public void setTools(boolean tools) { } this.tools = tools; - this.createCarpet(); } @@ -121,7 +120,6 @@ public void setLight(boolean light) { } this.light = light; - this.createCarpet(); } From 4d63b40e69666b4a30fd38025ca777cc190b3978 Mon Sep 17 00:00:00 2001 From: FabioZumbi12 Date: Fri, 22 May 2020 01:01:37 -0300 Subject: [PATCH 2/5] Add event to liste for block explode events --- .../sothatsit/flyingcarpet/FlyingCarpet.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java b/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java index f80e5cd..d3b37ec 100755 --- a/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java +++ b/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java @@ -19,6 +19,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockExplodeEvent; import org.bukkit.event.block.BlockPistonExtendEvent; import org.bukkit.event.block.BlockPistonRetractEvent; import org.bukkit.event.entity.EntityDamageEvent; @@ -174,6 +175,32 @@ public void onHangingBreak(HangingBreakEvent e) { } } + @EventHandler + public void onBlockExplode(BlockExplodeEvent e) { + List remove = new ArrayList<>(); + + for (Block b : e.blockList()) { + for (final UPlayer up : players) { + if (!up.isCarpetBlock(b)) { + if (up.isEnabled()) { + new BukkitRunnable() { + @Override + public void run() { + up.createCarpet(); + } + }.runTask(this); + } + continue; + } + remove.add(b); + } + } + + for (Block block : remove) { + e.blockList().remove(block); + } + } + @EventHandler public void onEntityExplode(EntityExplodeEvent e) { List remove = new ArrayList<>(); From 7f5c5d87d58f24d190aff9cc0eed1e8f45b27c4f Mon Sep 17 00:00:00 2001 From: FabioZumbi12 Date: Sun, 24 May 2020 17:29:03 -0300 Subject: [PATCH 3/5] Fix null error on change material; Add listener for falling blocks, if the material its one; --- .../me/sothatsit/flyingcarpet/FlyingCarpet.java | 17 +++++++++++++++-- .../java/me/sothatsit/flyingcarpet/UPlayer.java | 7 +++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java b/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java index d3b37ec..074f1c4 100755 --- a/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java +++ b/src/main/java/me/sothatsit/flyingcarpet/FlyingCarpet.java @@ -13,6 +13,7 @@ import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -25,6 +26,7 @@ import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.entity.EntitySpawnEvent; import org.bukkit.event.hanging.HangingBreakEvent; import org.bukkit.event.player.*; import org.bukkit.plugin.Plugin; @@ -178,7 +180,6 @@ public void onHangingBreak(HangingBreakEvent e) { @EventHandler public void onBlockExplode(BlockExplodeEvent e) { List remove = new ArrayList<>(); - for (Block b : e.blockList()) { for (final UPlayer up : players) { if (!up.isCarpetBlock(b)) { @@ -204,7 +205,6 @@ public void run() { @EventHandler public void onEntityExplode(EntityExplodeEvent e) { List remove = new ArrayList<>(); - for (Block b : e.blockList()) { for (final UPlayer up : players) { if (!up.isCarpetBlock(b)) { @@ -322,6 +322,19 @@ public void onPlayerToggleSneak(PlayerToggleSneakEvent e) { up.startDescent(); } + @EventHandler + public void onFallBlockPlace(EntitySpawnEvent e) { + if (e.getEntityType().equals(EntityType.FALLING_BLOCK)) { + for (UPlayer up : players) { + if (!up.isCarpetBlock(e.getLocation())) + continue; + + e.getEntity().remove(); + return; + } + } + } + public static FlyingCarpet getInstance() { return instance; } diff --git a/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java b/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java index 67e5743..e8d343a 100755 --- a/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java +++ b/src/main/java/me/sothatsit/flyingcarpet/UPlayer.java @@ -11,7 +11,6 @@ import org.bukkit.block.Block; import org.bukkit.block.BlockState; import org.bukkit.entity.Player; -import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.potion.PotionEffectType; import org.bukkit.scheduler.BukkitRunnable; @@ -56,6 +55,11 @@ public void setSize(int size) { } public void setMaterial(String material) { + if (!enabled || (this.material == null || this.material.equals(material))) { + this.material = material; + return; + } + this.material = material; createCarpet(); } @@ -75,7 +79,6 @@ public void setLocation(Location loc) { } this.loc = loc; - createCarpet(); } From ff5bdc0ec9f53d8f6d37ec336f105c6834979d4c Mon Sep 17 00:00:00 2001 From: FabioZumbi12 Date: Fri, 3 Jul 2020 18:34:27 -0300 Subject: [PATCH 4/5] Update Redprotect API --- pom.xml | 10 +++++----- .../sothatsit/flyingcarpet/hooks/RedProtectHook.java | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 0ab8e97..d26752e 100755 --- a/pom.xml +++ b/pom.xml @@ -22,8 +22,8 @@ - spigot-repo - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + papermc + https://papermc.io/repo/repository/maven-public/ @@ -49,8 +49,8 @@ - org.spigotmc - spigot-api + com.destroystokyo.paper + paper-api LATEST provided @@ -58,7 +58,7 @@ com.sk89q.worldguard worldguard-core - 7.0.0-SNAPSHOT + LATEST diff --git a/src/main/java/me/sothatsit/flyingcarpet/hooks/RedProtectHook.java b/src/main/java/me/sothatsit/flyingcarpet/hooks/RedProtectHook.java index 9a2fabc..d89699e 100644 --- a/src/main/java/me/sothatsit/flyingcarpet/hooks/RedProtectHook.java +++ b/src/main/java/me/sothatsit/flyingcarpet/hooks/RedProtectHook.java @@ -13,7 +13,7 @@ public String hookName() { @Override public boolean isCarpetAllowed(Location loc) { - Region r = RedProtect.get().rm.getTopRegion(loc); + Region r = RedProtect.get().getAPI().getRegion(loc); if (r == null) return true; return r.getFlagBool("allow-magiccarpet"); @@ -21,7 +21,7 @@ public boolean isCarpetAllowed(Location loc) { @Override public boolean canBuild(Player player) { - Region r = RedProtect.get().rm.getTopRegion(player.getLocation()); + Region r = RedProtect.get().getAPI().getRegion(player.getLocation()); if (r == null) return true; return r.canBuild(player); From 45941907d75a110415926f3c66393dfa170f2970 Mon Sep 17 00:00:00 2001 From: FabioZumbi12 Date: Fri, 3 Jul 2020 18:41:27 -0300 Subject: [PATCH 5/5] Add release resource --- releases/FlyingCarpet-1.4.4.jar | Bin 0 -> 48551 bytes src/main/resources/plugin.yml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 releases/FlyingCarpet-1.4.4.jar diff --git a/releases/FlyingCarpet-1.4.4.jar b/releases/FlyingCarpet-1.4.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..c754d683e457c3c80eacef153ca874f7e9def733 GIT binary patch literal 48551 zcmb5U19WE5(k2|+wr$(&*mlRZ*&W-?8z*mUvt!%r*mgRazW2^I-`ttC?*GqOM{Av` zRlD|ncGcOnA7wdk2sn^`9Q`T#%Kv=%pEuaQPX$SJQAQa>DQ4yWDFy@5_g4&n!_RO3 z_jB;y3*&zmQxH{@k&;wXXHt;5SD2iTmt$m_LzH8ro1UC$RApIY-#K()kewc7kYf~s zfj%hKOu?f6Md8(+Bg^h8>jt2!#;A~WO=k0M&xuw=ms3^yB^C!6Ifh#f*Ar=8?hQBW zW8pK5f=Jt8NV`VD&+ve-7aN1%-R{*6@?XvSzr6te+dO;o|JDBgTLAH20x5iG>O{P(n_xj`kl2u*P)Rs|*sdj}r2K~5t#af$bDen6IpWZ| zI-U)|{D4f#exma#Q-Ld5iNhkEG%d)J%9_;RXbLs)2gVx_rVvWld(Ksq z&h{0-#1Q=yA}tPvwk{z$SbRTsOcw`bG>>M^xCF1#qt0dsCfS%tupvbYCMQy`3tv5k zB1rTTu>G5DYEoKdid~@S6_vMWdSl9CLGEFOd)4IYeB<}Wvn4BS9A1IIP|E@Po@o>P z>nU1dSBRj=S=M5WZ--0?B}5#qRGib1)l^fN)lRwZ3DLF`?_F6D9{Ynq@A)4p9qfBC zCT%>KO1xxgC%f74iuZ2|Xy?aTznUKxKFr~z%-yTK3DA$!)6tyKzE=YHmOpq&j?=2l z&Q`SD#f)g1mn0`uP8m#TqzoPTn`mnX`d zJC>G`D}ei{1M1AdTO{B%#Y&V3br4J2n4QIY->+oNx~ypbI;Az*VrX9aVxPzT_Y1UlHX zrOw%y6va8zhGb?{T?}(TPTno`n0DTWiB2O9%-QE$kq^`QX~@G`=oGesk?$_KB+l*y z=d|9Xg_3`|UWXehh_ioy{=3JbH;5B%e{oCqH}=8&_1Nw&bpPRRNvcBh1`A5qb?9e! zJCE;O^@SKxC}WB$4aT_GsY>EVi?$9r1;5f>dDYSYPG16uu#tS2T6w3WQLaH;Ne8b=VeD>H90>V4?yfh=@}mmY ze~nBDoVn?ZS@YELb#(Cef&HVsa?kiqUG906^H?~VRPa4`+&t(M`xrS5v*E9!UapLw z?PR4smlSCEb<9;@Z3AK+DHaj1kN1o;eN{a?Ol>`jgiC`d^oQWOaeK2(o`bJg5_pa* zQ<0kl+DZ82+@kyVVaK7e!<;8o2u|wl^wL?7bs zBeL}r&(e#7M8~82?LT=d&~gvCMfK#r!wB-jsn4idZz}4jrH*rpkDzmD>^(nV5{=Z( z8KMfuxjKxaJqsga7g`D^tg5`f>h1xFx-5y1%P2AgQJhKgL|vW-hMvCQ{~MYANX$Il zHy_uiARs)nARvFwf26ek&RGAJhNQ&B9qsK+9L$(Z?Mz%`}gCG=PWJr`#z{MzkN}wwT|J>t}p&I+qIM_%sx2`$373EH!kJ%U6(L`tSO+>j$ zE_%5{^IZ3N&&Ag9yxP89{m%!x<%~>_Z{G2CcsTo)-&d>S*Yiwr_wTD!L}Nbx-TqWB zodJ5Llzk1v-l+lG7eLsGffsnM=dMB*Cye7hK%gu7c~kz*nMkM)i1%4$k{33^;m4HF zGka4K_T|KSmZ$#$7r1ZQ}`O`7O4@&oTvZveFZU5lt^ zNc5AmOae~^kC!8fQxzvW2d|vY8V_-PG&OvziukaeW`1bK7@JU197q0juUUk=H3(s; zOu2|GHi{FkR3%cXgb7cPT-zV-6lxBqo^HXaN_Jnr%#?a|?!EYS52#-Ri>H7QBY>x2 z#UV4`gRL=d7Fz)!)-1(|r+^Bh##ymsg~y*zTKPa2YhmRUBQ;{fp=RehG{X>UVe6J7 z<;sy&Ip@jAXBc!Gna3BaIBV4-1<%2!QWT1}1b-v5cWf4m$6>Q*m57ffw0wdQtGIN+ zk(#9+v1^V5&*(gN>K2BNq)R2ww}6;Ajauny;6?;s)(n%K0&A9R%h#~7Ia0xIwp}DO z^rNd*wl0wkNCks9wlkW=28cU((M^+#x)*3BvlRDXb6^jFO<8zF&RtkWbdoN9f0<$F z7rG^a9-l)p3Q^uhVX-AEunI?weJSL$|70?%>mGvf%$m!BbayWh`32K5O@;smxz8NJ zr6f+XX}Cb3*PbM!Yv-ik*ExpJlC`S?ZaitDZBoT%^Db4_T}q2*;oX?_45^Vb1Qj;r zVMIg2aMCz~YjrIZGPdl&aCX1Kk*Tun3K2uIfpcpxSgI;0%BF=LHNQG(wDsLXDl@kp zfGTI*-zJVf?4pMjhr^qY3Nhr!ksY8p0Mpu-Chn>|HtvoV2E1ntRxxU-Ji_RmGmlLE z9^?D~V!|gF$rk}R1U4B|f@ulWUCEC6Qp676?5tIF%~;wgEt_j-m^*1IQ-`a-*jv{u zUl{L$SBGF& z5DPGBxYfze5mJF{6jkVX%14b2T^p_Z5{|i`)*lKWpWU>HnTZ&9ISq+Ipu~?Y8-v|d zs+*D>3ZhBWKly;okh&o%z*ePm`q7!JzYno*3#%poPT?y})5O+4glhW?i5=BEBz<?=!px+NfqZ8!)=>+jdiL@VZZX~?{y;f{%Sr+ zS}B~g8V7fqY&iv>2AF9KE>d{^QlGL05Eto%40Y~}jfHv9n$x}9Em0AB;aR;y0(fmo zeO#?5oKNg>Gy@-6sE;URS%iBD(<~Lnb2{&*I}kr{ciW|Cd+L%}GkYrA5yjGrE3HQDRGQB~>3p>ulpT$Aed-K;qmog#dQ*y_bsB**h=ngY z4^hd~JJ?twVVF*o7XGl!$dVOB84w`P?ZUlSpX)$|QK}Mc@1c@_i(wheFCTm^0?az^k`fMde)>*j}AA-{lg5ZdWFZj{;&8vs#ZxVukC3#!y%lkksmL+tTM#V*%v zLApC8VG}tx6~sv_jVfcGu&mE(2;GI33o>1+=!8O)h-el4Y&DtGf0_E>(+v^C6 ziFk0=2_+8gU?FMEHY;z!{4n+~P7W))>o3*o#~5R6 zyI~@ir=!LzWpNZs*)N(+O12S!mbEStix=|8%Rc4RDs~AVoOq5JkP=Srzv5`}ATE zwS)Uyo%M}8e}A%&~jvRghEl?YN0lIA)W}3wzJ6Ihm7*M7Ht9;PY`NOVA=azp%|9 z=srb%sj18uK2k<^@PN~*T;M{$$L#N`~@q(1l|c$4;i|9M@O+GJ=BI%Y2ggg`G)^q4lDvM}MpFYuOpcHg#B_ zzK=uP4^K>k z`*b=wLRS8zj3iWrI40|o47N#;oPhOQl73W&J77}s+1MPsni3rU!de=nx+G$h7;VJEW-|ij5oE_Tf*!cI8g}?{JX*C4;Nwx_&xZydsFJ&)toHKIVe>-iM;9; zFHE@TWJbJ(@Q}H7#TJUvkLr1!`ko4epv=Zr-u75m_?-V_~LE#KQXV|bu_o48nwt!I(p7u=!~aB4-yggjlxL`2RRSf ziML!Palx&^Vz*0ULU!G8?;Q?*^AM~WVboz)Q z;E~MQ@4ke+OE<|c0fW7Y@F&BM@0A-c+Tr*wGB2zSO_BFh;uaoGhFWyj z+amROt~vi989n9yeQ5O-Nd6DPU7uAb6axXy1v>}1QMY!{K&fGSR z@$L%WpNs~vjaxo9_EgimSi7~jY5UZ=J_;3XzDaSl5%8|7vI;I*RG8(P!DC=0bdcU~ z$)U?vXNHTb4{Ax-f*HCMZbfO2sh*C5^QxBIrS^kX@Y~U+Ar5}h36tN3=5eJ}533Uh zw|Itqeg~0WneKnnE9kT=h0LqI(bZ(Y2rKdS)XegPMxkj;pt$E5Si>5qU)@IFf z7+`^;%m`BTVnG|Z-2jUj787E@HYJ!Im}Bwc4vLIm8`f375#`HN>Z7w0<-8hJKT?mr z%m_PXCF~t$^+FukQ=1$VnjBu4bQV5JfOnM{5uh7{<-ohQCc{#OJS)edUMROB0gqjb z8d?lnu)@r;;+)R6txs_nVp|Vkw`QL%t>#H58uo5NoLY>=^1-WqKv=hC_IrTRoPE=l zAtw7~RG9qv6TVm!M$SQ^Sgb0E%D7oQmT4?Hx`fZqC@WsBM6F&*H*BI9sVY@-NA{FV zpVA<#vSh*;;Ko>!?l8=Es<}yH-={F|-==dm#5k{5mHuR0)P&tC!@P%dDsGqbw5vFR zV&{=!9Bs;TOXQ5RdelY`&sQ^I8i!xE<;?9v z5MPjOHIHh2<7Gu|FT-&cw{-AOIgRCUY z%p8e!9JZJ)wwN}WR*5&>Z782qHs~&uiB5SrK~G0cay(YO%C5jS303dW>UX z?VF(`JmGOy*pasDnl8f8``Cy=8!nyYigg=g>)l*0GF1SX@x?95va3w_#e$y$cB?4n zg05c@dgaEg8tc~W8Is-Jno`x3nQnOV`lL70g5j(6=FnQrZ2FzWX0Y$Bo8s{6DxKMm zbwdLZ#k2$Fe9F@K%n0zD9ckz(gzK15FehdQv!S|F`w$KHfSt< z^TEw(JOQu6q)8DL0qhm1mv{8XI}b8rQbvw7tMBUAV73R@@P{2HvZ1E0p%!f%jpRdL z-zNIZ^-w5Unr2j39)t%)kYy=oI%QBU$BqR4Xyx$Wc$R~v)|E)QRS&kzW*9S8<+aR7 zA7%F@kr&8^D06_7NwkzTr^4hfW6e&a;1h_01;3blNE#qIYbaK~+~el5;vSX<+jJq6 zgF@_P6xObXqEcd+tDPFU^+@HV$NDW@uE+a^DUh(%M{?Z+h58=p;vggns7-Je0{D)g zf|Rd6RMX$zZ(6s}(IJp|jixp6vQ^3z&^kxuzCZ6!<;`>NGk{lG!;P0a%nVw3{AQgK z0DDgEMxUJ`bfK|6iH1(h|JIk|7j3UQp{Y$zD*Ap%U=+NMX2BAdP@{A5G z9i=bhV`;Y>Ba0L_+>*HY3(iM9#m*h`YB54R>!Iqi`qoa9tR*fae5I5 z{_jwT5Rvlao5pp zy|?UZzsJXakKH^Ab&)oF^@S6|>%Xo=seN zbA9-N+;uPz7#u-n5^oA zprt=EMbK)$8)oZGcoF7!))E+9tz7`qFR1X zR?1hJfnGKrNz92ORZ+rJhn;ZCWN5G4%(g$~LT-?~YHhx}vwS5aGbYsclEbki#AjtB z+1VGopt!|>`mHFI8;gHWrjnmuz_{dX@&`mM1fLozd;Nm^$l;d3!>YLRljIafn4N>I z93}KV>vn}e5+3e(Ga1*p43EY}rtC;R_?rJ)26bUXgSDDa*aqBh{kWqq%R5+0R(FbQ zMLijQyY=#2FN)1VqH4dpv`jlJ;na)9;Xzu<*OZ-T-CzqYlSb2icJ-g}0|jI!nK?x< zP42c_xh-seJK@QD0D*&2{b8K|#o#D{j}?%{@>w^UVczPpQ<+b-xU>xLeAi;J%_|O? zpuYwr!Cm>956VAbln(xsITj#6y&QCR-EvSQZx(4g(U%~I?iwhSNt`JdufJ9*p0vt7 zubBXH_l=uPW*qYQYpoOD*3W;JFLwG-_Xo^uQbrFws_l4eY>b*yIIl<0g3q*>I6|BJ zD$#=?S+j$&FQ9=(etnu4#%7vSO^mvTEMaS)V4z+HL|)PEPEiB0Z()q4&u$6QjlZf- z-DkDQ{?_HR&b6>Z#H=>rf%d|+6z+4e$%lNgeZ0L|j_;a$fjHZ8wkC*-wv`mT#4+fC3u+2W?US9P7!zRqN#kFvn(rP$P4BS#DmvJNd*;r`A<-Ho}!ni}xg1;=i zz`388@wADTii9NX*}0ItCnl>UmFr~7C51oK8r%LjmyC2yd}Ttc7oqbM%45JWHX&w2 zt*C+%UrB;858JJ+C8}1urdGTHArzq_(Sgj0-rJ)QVwVWlp^r7P1FFA+QuYVD3!#+r zFOuXM5<9m+4%k)02!?*n8VJbwUH}Z_6*id|5Hy%1!@PWs6A*g}2Jd4F z4>U1*;?)WBF!(EpCQm10*Y!rtSav$~O(6xQOgp;tMEhl&^k|XGtHyK5p<>9IiQD(( zrDRzdMarYO@Jabr_g|W^805Xw<%UN`C-7C@&tx_8r+zdLEf8hNraSt6;BLroWEwaZ z(CUhnY(-n9WG&swJHOGBSx1|Yer;>Y&&G7xTt#@PA@eKiK4)|>Fw?a~e9%Xsvnu==Rd&RM0vef!*0P%U;du-6X1b8KO)p)vGY1JWo5vlqg=);D@pTfI6{`zm#rc5IltN4!R%Vi=6_ zqJRmAsFog=BfA~b{5y$Q_2_uUl`epRzt*?P)`p4V3UI50%KlQn)8)8)NRHm!?3&#; zY0@r?4Heu-N3<{9m^XaF^-6l-@ya-yWCf={Mm$NCI=q|Pgc&Q1qm%9GKfAWKx?{8?m@=_=;2SGk@I~kdzGAy!$lb3HE}(zrEBDuIQ`@R*vt)&yg3+30ZE^G3 zQvmvEYf?u~-A$c7_M>=0@?1`9vg0afXX1r7z<}jOt2oSKKh3SV_-uDH_O@h3N-#eo z`%(9%v!8Zd?4Cb7xM|0LN`QD3j2*^UW^K+avL6Y(ra|=^a{eCq@{`{87IBDreZ-*i zo=%q~TIgy3r4#_KIExQHQxZKFj!Qb;^_Ehx^hzP#`=N7VEM%99izL{vTHE7te>qA9 zuUjM>zFq_9Z$YNA65xCnZ!rzn@?uppt>Ux zya)JrS0=Q!pNW@*8N}u~PxAR3c^fL{RZ4tbptYSNNA^?7?oy@Px1n%qhg72Wb87#z z*Nzf0JRM=%jL`K^AneS~MYK_tsuraUyzIwu*vHKd+PEbWnY!A+Enfo&EG%A-TE1DbXrM!Z_$!A9 zJnS!-(r#6efhd`}Yui216%8)ek`V~k_le%dQ@6vzbZUn)Qu5wgXVT9lgizuO$z{T| z&WfxD$B}a#RkKs}K_gVk(IK1;o14eZ3?29Ms;0eYFq`ZB4E6&g6Y)rv zI1Fz?4Gl)uvNx~K5hhhmR^E_$VHjgYQ^ zxryU%$<~?Tv}%Ffg&Us&V2^!lmRvxg6Hg1*JjodueQ7UH{$IOu^sMT`eXMapBj$Y4 zhn;z#b9gpIQ&vYWhXf?TBf>a0<2ciFbFsXuaU?YZHffDm-8rcKCkH7}dphsWeL})jq-kkZjV);*n2#VjFu?hPG-7uc#7rcl8{m>^GehG#n;U~T?EFU1x zbMdz-e;|dVdiy_gX@v?jc0m~_yoUHxa4ex3+QqX94@1Wp5bgM6Jfws7_>u}z*h z1KwgU@^H8ncBs*jj=hW=QK^E=GZJTcMZaIO_o2ISN+mz1HRZ8a;9Z#S(T_JWiUkm)n8DAgaJg{GwShL z+VQoG?~Zjuwe>{51snx?f`G5Q&Fa3TPl&(iR4V|}cbRm(o1prp%X9_uI)P}uFhBH$ zO%xg5lrTowZX|0wU9R?{&UlEFAN5W3-?)T+uyrI~l?KD8W)2K!tBW0)DGxdRFU}y$ zKbeodk$io_e~C_xe+h$3|9PqWPtu?GKS_TStp8$J#Ht!7p^IV&E-W)KR5EJc>WRY9 zMmuw|_E`B@fk(ki&B9_B7cGerrb_9!3vySSzH5rpEq55 zkDl}LdO^AdhXrbObJ3s07jH=h#RcGQcz(f&`}do7@_g4mCyt_6@fftvT|0;tm|hee zpGvG7J4Q|-hQH6+@klwmJVpQn{_^bl%jSvpPA;G9F<)gQR4+`M@(8< zBR~py9fVF2kn;z)w9hCUU1T;M*;qzw(^ASS-3efu4O80M^yX_;lqys3GkLcG;gh2P zlg`YBp+axt)H&mS_s$o2+keCJ&kul9qUIVi_6zjGfF6-C8%q` z1b-KxGR}<~tV`&pFt~ovrs2HwDk31AlBld%JZ-auAZE97|D*LXBtesnu=#a>)_mC& z0AKlKfJOO@b~wsfsA|@rYGJF2BijK1#5ybTezr9T24UrNk-Ss31Jx1mV@PR6Ig(lV z^lIE)dPi{ATV(ZVl}94rwau97 zC_SR~n2loFw%|_f2bCDz+Zm&OFP=opZc-2ZMTG1B8zR{L3lSR*=&UG$iefEWObWVU z?c#C^bPVZ|Ft=cP1uAr;p>WQposG`flr@Cj-KZZ76mV$Y4gv9EF@SFeupZTb+nDK` z_Sco`>tm4I@1D5WPFs=qq-Slodsq(8ZRp0y1ww}n2J$#9Z`5RC&4kX`mR!6^z)U{H z_Dq;;KQHpva+Vob2Wg${fXUfcXuse1299kR*qP%Oa$&*qqLeo6o}^)C_T=u1LQWpj^zPPUmTTv9K}E@4EOjZh;0KJ735 zF6_E#8$Byc{FLzX5{%zW|}&xFCY!pB>WX zjwrLC+++P05S%dNKiYzLP)g8L%TQ*wxu@stIt`@H-6aCB&>$nhg@f49-th)6sL&3< zS`OC$x7pl|7S9{C%toLB{nKPjJ00xYVvEk~gN&O0I8xQdQ!T&6rRHBtu#u%p=&o%Wp@Q(EkV#&s__TaTDHj%}p~nPjb|$vkks~F<~Lz zH+v$-_!PbHgT?VxM8&KmuSB2Fg&ZJ^yqx0^b`rYW?}j*eCK`gVJfssQ3+H_J;Vs0y`aH|T8(jn)o_hfaNM)wnl=Q5D-Or|nmRW9pj%6bvXUzmD zUg6hV1K&;TKA$J8p2|@-qjYraW>c#cFsuK@2t1H#4m|7vN7#R0qDC$tby>>q8G)h4 zGfeg!cL|xuE7A@S^vjcDwC42yDoY#meOiUhM{6z%UFb=u4kb|H5Zxv)LoDwj_~8A) zZVrLlvU0CMx@H%ynp1y>li`g)s`}-a``?4aNg2e!KKfsNEE@<2!~gHJ@h?O)>%jV{ zFD(gEZ)D3GYKwtEpg&RKqV@Mc{$QYhXb=U1(RKb7#=@2v$&QY7u4`{^us&Y+Q=>l0 zY6-6FM})0jvrV;}UZ?iT`ttJfx^A^@%5~tC@4W?8raaZ>pIv6ptIoeE<;$}DILFuj zDLR~pvT*G^5x@jY#`AXoQt)Lerq5x|=QOacow8ZPCSRBpC3`3yVekW8bfJdr@PHeu z4nXwU0Y>^7Y&&iSh5dp;p?pU`P$pnM7T&lhjO#Kn+wQSFPGr6K)5E&U z@AzdmG6NM7`a&v5L-Y(gqbC{oFyZrW5-Y0hD{7%a&=SL9zFEdwP za8Y3E(2%hPB3pOM6@AKm7WANpz1Y1wyjB@t2CNt^LPa7Y?Rb zIF1IPqM@9)gt^mPt)A^Ot(b2}<$^2iQ#$jwZoaZMTc9Rc+XoK!e8GSKW1V?ZAC(-z z7MPKwVV39lp`B89uN;1Z06R`gkgjEp3XLf7b+XnKLjB1UedV?^+LHbiIJ02eEkiAT z%Qvd@-nI6z;KV9jqv(ak%{{EgKV1`D!{0h)^iGj*K8mN2N?~DljK}TZ z`1D$qdHFF+V|(FXu7XS=+2Ti9x0c2^8uFKq9qHE=+uiATU~}^~ju{y@L1+=0*)fs7 zg(j@;+nS6=j^PlYI6?CB%bTvZzP;xzpD6-~wWTC$Sh%=(C)j!`o9C|KJ9K~I83kQ) zY0ai!O2sGjA0l=H^UKLgVo((`T%FVha-dr+T-!X`yXxp2jcm9u?vWwI%-AASow-40 zMipw=4P>DWEXnqpO_;T*cR`Kh!J!-WrF3?nldK!qZh>-N7#uzR`6+v>e4nxHx7cu~ z=vXNoY58~M=dhLqqDcyGdWmeAp?j&01ihwv<;h#Wu!zHNpY)ogi2L62Ct~oP|CbIq>E4Yv%iLJ|aP6Vrr5HrV|pHF~}1ZyOHsTlq`y@D!}Ad*=e zgMFHD;pW7+vymLbiLkrSk2uW`VZtDSgf3Ahu9NZ`!%`+HX%t({*&oAvb;}qnz72r= zsQ((CZyECV8~@R|4lw(edUOftmt0xuEzp!$L9r&rSx1_B9u z1vpy5GrTj~EPPGr!3DlUzmH)xQaOR#uyTzY_JX(db%7eHTE40Jy>CtVCTDHV6rW_~ zX>`C5QwY5H#*%nfLi4v$q+<_9uN9o*c4n70%DaGA4R1cUy^?35W=pEHWyzGhYYSq!EHH9aFO*H$te*k1bniOd;k$4ffB@zW9t6-)ijwl~v6WLtXN`8sGlWYCDG9|3o+mbdntaFpMlzK%KiWV9;su;dr!9x zS>nv0U`>*m|km4L(I+{E6wHKA`r{fX3K;d&<{sdt!w(_Pn)X z;nk-{^w_^Y@C<}b8{klw?Y=$3ZSyXuZ4b~WJo7{U9ka7R+;{_LQg+Yi2LhGeQ|W%u z5fQc0vrcD&Zj4WbrD+nk>kM!_ygv8C|6Ow{3b@_@-&21+bEDoWS#b3e*%#;A5`VVw z0}gwhzJvGZ9s9l*0s=>Ul?^F9(x|3UI)4N2O@s>XReD7C-`oR&h$Yfu0sNd-^Di0G zBkg+o;ch~G$fiaeI{VUY0qR&(9gp&{#Bw=4So4w7@%Ql@pY_wiyVQ{VYNOopMf;W_ zfIO@i;X`Vbw?~ar+xM91nJ6V8>OtZCaLxe39`;{^F_wp<9d)##3 zf$-_OrOIh1-xa3Ps+wlb4u_lu7MfXu=KstTj|8cl^OZflX;e4uNIRh4f7sSg@&F z1K;)e6IIZejAANFa5*xMhT;As!d4FDbJS;@Cx8q;NeAnPRo*lZ)}$#?ex>}>wo}+c z$&}?0CqEfqLcU`W!M`}qF&qU8Lx(F2k~&?a0Gnq0NDz4o(8|u3u6+nTKX}K16*AkL z?_s_L6YNlr%Z&#Z5Pnz!`S!6#=fS`8k$2C;Ju_gk*Oz~Uy&4eZH7;eGJY;{Gy6Oe+ z5!hT__9or6@_;|q5Q;utHG-N4Yx$dnpQM^0W=~7zbNv>blz^W9iFg*au;+uuCzT*($EDGhfvu{rw1;3u2F9t7_HtMjkeV6}%r1;sZIvM3U zUhP|#q81{Kg=D$yR94pbd>J?+xr-@J?ZW8~NFc?_-W+qu<55ss+G-JK6~e*cFr}+{ zQ_LLq=j1GZmW-dSs8N%w`&E$n$)AwlvglqdXz6qBfNcv)5E8|B*QP=<*d{yYW)Giy zT5_*Z7w?S3Mso9JX;Ma_*`lyr5*w!3g`*?-%cdXQDmw?%pIydw#Im5TtRD;d>g(j3 zk_vd!_=@=Cg}jmirdSkzpg^r`hQH}|o1fipJGPmIHnInui-jc?Ox8j|vN}ZgQ#M7S z%7OY#r|ZH%DA-n1;L(j|+2WmL9{Hbsm_j3;s~9J&vfdq%mQ+-=U}3(4TwQ|DLod3R zBMMZ$_jo{PKV0?9-=7yxeS086+_%Q=NwE+gmo;>bTflN(J^=~guK{x4sd~Ar% zNQ{(NI=O4@1P7JGyZ;V>A2S7oSQ)vrj-!kkE+fNJMZ*v$Uw?$WUuvrX5MI9QZ!3!D43%Px;{_|7@&IR?iAQ zpXfg|$I}tRL|s~|2Df&I7#xvwa20QqEr4r$g~$11Kb{nhbpF=K0rz2RjlI5wqa#0d zf{N%&K<<%~U;H>i^C~LKTUhoy`lU9+JSTB+kl%fB3MFU&^f2$(-gAeyGIL1X50G^? zD{)Ws_-SXHu`T(upR()ZmYge3P2<{4Zad40=a&C~3N~d6 zu&fXA4^r)*O)vMb;g0>jF3o$AGyK4FxP(dRsq$H%c8w=dlnJ5O@RL1iewGO|hi$bu zhe{0+6Kqgkx3q;gPGMMu?&VTTH^&^T9W@X)#VrZS`k{L!Mdoi9S1?-%;(+WOlC~}b z)6g>eIZn?e8e7f`)l)BHoSo%2Q=sNpvT1697xxj7rbe^`G6P2!Bvz_g-OrB2;jKK* z=q3VdWVe^NUH#w>(xyVo_)1X%zIHMLLMdaICvT->np&l|e^ThY#X)2~7UGbV0nsfe zN&e#*LgD8JmFGeVg>JeA$VMnFJf^vUO2jpw0WK=VpDF`sk|Ho2pc3W+~IFUXwX&+-EQ!13d(sBl@{?Laq4mu#-r=vPWb{N zaOgQtz#(K>KQII%SIcNqa%hVq7Lsk9iEd50d?*|l;ByFZSe@q+Q(E~b873kb&S)Z) z9QI^44vf8tcD3T-wI*twRkaB<*O!HX202)OIix021emAu{Q=!V%$K8Gcp#e)^Uy9+ zW*EGCH-mHiak}gsS8l*jRC8iYV2-{b-$&WAxe&Nz)w*Zwy_0PC5+AQv6bEy7q+@j_ z&taVpS5%LhSBwxF5Rv(I!XgDJlX*v2=qAcm8Ex^5Kr6~{(G&*@Q*A%*JQ(+L?c)Tv z`wZ&tK^!t~T9=C+{HRzb)T^{S;!`iAxJ7loUl+n7?(S%rfxnBe>gj+zwV?#;V?Mg( zfBXZhTeq#^7lYORTW*Dr@9}*xg-O?qqU!86NWu+u(vLOnfKpv7olMgoJggh7Z;!5` zza6<;fLN5`0B#BE!A2x-RG?5?9LXu^NaQweZ&F&$?I#fzr4MHB_d^R~Awk{3s04}V zb4F+E(u2~Bh5cg7Z(S^$+|AmsIbl}h4UD`lCyU~OL!DT&o}|DFs8zuT!Ij-I!}#DX zWN5G6!_(-*WQi_y<(We16BSCUMoKGo2>(e8jyzRFQDLB8ERhykeDGkNaz$G})2z~L z{CAk{hd^pK9fkr&s8KzVMNk-j`j8$(vEN7q*Fm%4P!tdGy)m=G1=I=!$QhBQhK|1h z1ecwMTk52&RjQFsSrIK4-)8EZxSckG2c4K*F8xRA!V^v7rCzLR4vX#?XpcmrfIe?0 z#Ti0>I6f9drZuLK+_Y&5yN<%K8;4|;#iY?a}8Mzs`C2^UA zxfK92T1v`~KGF{Bth#aFy20RoV9k8h;7}-dEE$p-H6`o{YKpgv2na-PqCokpRcBoi6Dnn@eH}LHTb#nc+~+> zGj})qL%-UeX=w0fsk4-1b_{z_EgMgf~91Z!B zgc69H7{^9=#<<+2FppnC@#(?jW-c+Q0Ge!_)}7QEBhvy6MR(~auMH>Id`&Wq#D9o8 ziT**n$c4bbp1T%FuVQfFv&J==b&54yI(gP~lMMRvbJ*rV*UCu%O6iAtlvJ(lLzrmX z;hd%qyBQ@!0QsjPcU997(l`dWps4M0_LEP}@-lCfa>i0+!wBGMtMuIo4mBHz|`Iqqx@*Ke6+u4ar4_HqQRHB`GFnLK~eyrW2|&n zAZPgITg9Hf?nu!I!Zgr>NFjhoJpGPmeF&Y*W_2sA$3xucTI7Kh1~L)T-3CdZ4uOsi zr!Xa@JZ11f8v7&iGiJK;#%5qPPfY832>g#l`;#;Mcl+4cRB4UhvImDR*4JdU$~(s( zQ}k>dLLr0x>NJa6i==(i#a(3C)3&FDL6am`kf_IT8Mfc8B@Lpy;hI!Is(JEL$#jQ@ z7JpGTC0fq53naJP5p)C{>k=&n>3(XulaPd!WWyI^_tI_U5EkI`Q${;viC-tF+KYLig#(JCpp0%Y`-}wbqx_>52%uMH}B| z%j!Gi2&X4Q;9mg~#@_it;_xmr>fcEoGAaao`iGE%UzywwYJ$v77r6ys`@0iQT^k4~ zL^0(t!ASmUy>&L>HW+j(rhc*+KRD!RJNs-l_^t`BWvTctIFdIo8)G*XKlpOhC3gJT=8vUUrX4IpEtD7wt$!3LXt{eopS- zxyU=}UZZH2hyimXo5-dlHo2D3{Qm!7?46=40kSmQ%t}<+wr$(CZQE8=>ZEPkwzJZ< zQEA)O&7ST%ccvfa_QP50yq-7_EB=4S{=Z#4Xda(69qwT>+H?Cw;gU08=xiy^hTVIZ zNx_zrYQq=Re`w9S+W1@68YM#>HG`xO)AB2VItAsDveg^=t9)_`YzV$)AIs0k^789{ z#LNFtK*pqk`L+ICB*gqKA~XJ<#ln9vA#7aDE$t-!!H4)~#ZWc6P7Z_-L1b8RBp4_l zAOOIJh-7!H1dNo=Az0|*f^AGU#mQFxB=BU7;sb;qywU-_VpOt{w)*t&aRa#xB@PA$ zg+nF7#<&FE*Z@`1;MrEhK9?<2q@Jl$iUu`Ix25FOBz zH_ZM$Kk`d^;e{kEReMl0a5`m^O)=|NC2iTXo-;U(!T90ys&3gele;p&eh5i+%1qzi zdw&#{nEQQxKH~QL2xlB{qz+$a{M)N*KQa{CZ-S!CxX*|?48vm2R$(C5+Zo^u6Gv(Y z{X{8Dk+E(BQ8Qv2nD>Xo#<)wf0%HnWuWlrPN-|4Z`!C`qmjhr!ch(@4b`hqEa6|W! zEvVu`P7LeLbmuZH6uKqMle+*j<0Fy$9jp{j5`rM7_Rk4)516Ys7kS^9dJd zaj4&{#tmgMt#mhgGv?fCyo*fLT%{UiM9DDf9NqqAyodBDOyJQaGed}Bv5F&02I$3g zcr5<0g^^viY>JvqFB?n)*y)B#o1X5T>sKWdnndH&g^{vGq3L@fTEAOxM@?L9 zuEa(TbEF>5Fv5DGtT?+`u=<4mylDE3RenCYFN%A8(RO$EPYsnDgcuYaHO22*NW8ad zdbOkSan)FY5vu&PN-s0&bY0~xRkb26R|gefV05Fi`aCYf@Khhiw89c6f;hR5ZtSa9#hgJOwBdmw~=%6JV1RLYRDM@EX8NW*iE0ss%m!Q~kpz0sp&5}SNV zH6lZllGY1-^$&jPa^XpYR)eTRVzyzblyf$nOwXG$hRW;jK9e$S%kz>XvE;am?01;Q zFfv_<8H}4OMG{LDZD0w*-!#6U7%)Baz#NIEuO8r7_JM%tJYfvDTr|;;k>WoDE}_>8 zgzd|>{4=QA&zD2!j}=68C8Gl{zu{q-TnBe{mXx zQZp2K322cPVyGBUag-QH5VS7Kq)mOtI|{4id$tURVg1A9m`z=d;y=U=Q#b7ul@~3C zT`J_KQ=PKaU$X?6scWm4EiE+HF&DBbPb@%|Ler!M?q${-8U@$!#;k@fB2oEM=b3MW zGh3h%C4F16O=1t?+NYdf!E_t$RfNu5nOurRgVQb?gc~)Jd2I&3%89ew$nqYJ0D#u; zfxT3>@}^6ah7kTGc{FJyCE?u;_3cItmOmM?_*MJvB$j8ie+6 z^_%p7Wz|l9c2pg;8?s~uneB4+nU&x&Ut{PJfA{EBChaQUKV zm>lY7p}~}AsorI(?%vdJ>u0rIcdG7TRR0ZV8e&v_g8W@^9rYXJYG@YTzq1r$yAEHR z05pqKda;-!=~T*-9AAiI<}rDL_?gW$-_LP`3qUc0B%ahKFMv8>X$Y%52DVcN$GsP7y^xU6Z zpW{+GG(62ZBVgMbN%J;3v>!yw$t=4*X)TuS__mI`7ZSgLb)!Mu#LRxCgKb3ZMMFuy zK!|O-nCQ*Fc&6U{SZ8wY!gnCoGv1aJXV4{y!GTMKgiDM_*ajd^F3^%a&-J0Te&!Q5+>K7nYBz$m>()JVZMP%VF4wcwNTlu&aRO6 zIC3j5R7YLDX(VfJQ_&@LHCJ#(za-Y-ZV)zzlM85Whfbjx)TE2-%EVZkvmB2c9nx4C zY$%HGbPIY3%fj5C4#S0ZFm9o-VP>St^uQ-GHESM^#W#CLplo{i3qCl3hj$ni@SxFu zC9B57&-dX|53OvsEwiV5jam8yyQ>a|W=L#0qpD_rTy%S`6<1?eB)&nOGG7-A* zxt~QDY^YW_IvL_UOkC?n)J_ivl~%ycwmw8iAWU82AF0psp*kBF;H^pQC;K=1b^($e zuOJF_L><~^H?*pt^Bpc$-Ayj(v;-|Cl~bTs!Iyrs?-wCnp70XzJlQs~?L$m?hWM2x$KzLHs;cBGy&Y7d}|1bd#xe*!$$~ zrtEGuU^ESCTZ}97a#|DsV2vsw^AEA;m<_3?-H|=#Ol!BbO3Y* znB{^_Si;r_ts$-nFs$);9V^uaU$_u4W#k)B-lzX2gw`v3y4$~nQ1`bGV)#FW(Ekep z6Ld0nwKcVK`KJg*}ej^-d ztVj|(BTm6LaV$LYQCrRaa6kzpPyZc<9)rbSOBd}vH_ZAZ5Wk5ivKDNyMOT^*MYB-6 zJ2Q2LfhC%Cr)A7TDD{nMt?&+*xGJ}-#FKE-hzq+4vdpK>B@`xw_5DfROAV(hY~suA zMMI6!#-Lftj<>%T8r3&>o1saBId9Eu#(vIBT$&T!)_i0Inb^gC#3=s>*M!zm8>kVOAYy zsk>36`1}v-`|MO+*PYpj&&^ce1l1 z#ULvm35QpCcNgX;KyLMJ2t6+Ap_$GvqKD8$JE9LQ_>^X>2M_B{85|V2p*i%q zA!8K?JzVI7p@r1X(+AK{jg%gFY*JIAsMIh(5q(JiyA+y;w6ezfJ_A!qcQumWMTLk}$81JLD0j-aj>Q(AjHjHdqok0% z(BQ^lwx*L!R#{*+*658I^y92R-?r5`((bJaV`E8VBGHkJo!8Jr>>;cW)JXJUKQ;Rs z>PCORl3=DL!fzW?pUhjfuK5~9Ui1ARGhGPF&0=fP;ME7gIjcW%e9{ZdkRGei*=(60FRiA6W0W5tg@lp7u;dO3y#Q9DrE5k$#hWs~^mSXnWD%)1jXBwgsG#tlB75gQ+WN^yTGQoO|MSGEI>s5j4yMb=Q)cF!ku?>C886RQyso?4D8 z@gCSPV@fGWRSQqqO)J4y{be?bB&nH;yVmgFm~hiO>zqOSuWdMy=HUM=!Bb04kZeO^l%80##CsoOy}Wu}RvlYp5~}l`>BK%1M;H zQV{4@{LB>kh+DUFr$bmpl0Kc|>R8%SRi@|qSXxSXre}mx_3u7xC;DMuoecrZzq?&1 zI=_)r4!4m4xmQ?!%GY|snfAV2N4wJssm^r$cB(r{6Bc#A>+YC4^^3-Bgt7trbbT*B zG9HbA^?7=p6+xN2?+Esy^+^J@jppZxCI@;Uy{5jECUBGV`FZzT?QpSst{*ksg(QsJ z2Ba0i(1<9^t!SIzhmFGx_Qwy0NZw~`n<09?D|jC(@>N~sU5DW!sV{3T@{nSGlH#~` z_I+oQN5#H24U`t-PSTQm8Z_d!2ed#ZlVBg?ujkulKO>BQVq-xf$1UL^2pyj(;SAv< zq_&t-$749MP#XAz%wvrioVi zvq0XtWmtSkd?^J(%HB}2lOD(Q$#&`#`g7M?_eSok) z;o0XA#$+llPHHQN?gsT`{b;tryg*ErfLC799&i!g?6^MhuNag)3Hu?>4~2PDyC<*V z`UO0#>$P&sv2hO)fY`f0#71p0`U^j5589&KK6@BVyvP(!yW?=yD@Dv&L!7p7*uM$2 zoFq5>()zd=vZT#B{#F_0U4}4A8}g3C^oK($gaa7QB8G}%d!V*CR4MsRayd6>^-l{| zgT@W94JE0K2n%=PvL0Lp*h+$J8ba8*f$6#haSyOe`dzDGscNm@6bVB19Ur^&TZ3?%6N@wT)Cc5nPxPqX60s%pO1NZ3vqsvD2pA^=AX)ZNwb?jx-Pq7w6 zqtLKOhaNJt<{kn<>aO5dKvY@Q3UEA%K9uAd%pAs0BuP0YPC~Qg#*%C%%L%LHhV`b0 z>r(iILe1i03EzF!pIms~6L^b;-MOnw%%~s)RxK?q=fiX7$Ir(Wdh^f6E&dP89`qYS zn4gYyuskwqF`gFe9`{q2e5v%nUgVfocS@?^k!kp^~g4bxvZq{Jc306 zzHZfxRE~UgG_`QC(Y&ELTJdnPDLU?mcH<1W%kZW#WzVj98xBr*al60VbV;Jo8Km== z%CQ)0R<_Ua0W%_P0yZ6FlktpQN}23b==YxE2vf;-?XHqFskU4lh4TDg9*7(&y&zD~1eI7`wVAS)@TL1XK$j%o@_g zGBPPGnF2}m_Hx}PWyQ*!)vqf}PrOCZo zxv4#eP#>ivsAk_*ADf}CskNKt)26W?9sD=wEprF0fM}fDXuK@|BxZB^J=3uKD5{~j z)P9oLOM_sEA%LBwkRjK=J*xIbN>m@U(h_5U5Y`e$skUTxaGtuDRPek*1F0y%Wo(q% ztSr_AEvoRy==L|@YS+6`QO<4~VqCia=?28`IfTm2>KSo!;Tp}Z?v$l7%AMsM6+^~@+6lcr$jXvNtqrZ5<|(e2am zaVG3~*?FrBhETDc#0nj-2cf(jJf}Py>}=&3Wqn*^)A9TsniLZ&(sap{5iT35W|$Hk zCtL~E`K~5*aoMeoOWCU0Q`V=_h<09E9d{DoAattHlu7ge^MDTOq57gD*x6k7KKK}y zMbuGHVTobTTwgg+`qku1j6Jm3>-pYTBuDA>UABysyw6zMZaazlBaYi22n#vZ;oS{+ zV>XEP>qRcVaXrX0#W4Olj=%Cdl7y98=1|gccWNZWSRwwEnV9#A<77)ZvA=jDNTe9WgqFIEZ8I8FqDW%g@Ca$NL(E zbfa3-2QKI5z6^mnNj1F!nZw5R2|>(2jH>=mo;{=>|!nvteW= zi=St)MLs5!_?l1!nP41WOwk^X&hcb3Q^OE{Z(v3CcXL&axey;ws5run@k+jmDG}2= z;r9w5PPw>HWuhwg9Kl*{XviJGe)V2jLVY*ku`D3p4)7Y09q5Yp^X{DUk`ynqea4;O zO!x)ZvBNL1U7CT`$BMWCDMnjH6T6T_G>9;XjzSMSK_PZa?dHUD3ni9uL?aLI38Vzy z1*CgUCr}(RkTJJmQMsF@HY6~e3Be<(J4y{c3*VPED!fPA4Jc z9O26(dg2q_sVkUV{rTC%ptXHLHJQ&!aLk`X7_p7DS`*{*>S}#%+gNh zZ#SKC<<*^v^J^@ls@*}UA^SMx%8W$TBOkF%ja?+Y-#p>S&J2`z}4>(AcMMU;J*Tk?M;gE6pr_TMYDVgT3NTot+d)DT3h2P5(bC@f0{Qg! zqvZlwn&S94jNE!h{S1*Ce*G&8F$19FNXYcQ9Bn%~;Dmp=UH3{hg&ax5NV&PeRkp^An z%AF;nF;#v)fqK%erj#z+ebs1ORV`JL6Y}%C@j@2~VnC||v@vg@6QwkA-I6m|H!WeR zkToU0h$>rBql|LAZjsM^p;L4n^_W9sbN25klPLiuuYa$G&!|?zL}HR$I&yYD@kdn% zeBmz5xU1@lvmxkxXN$mFoRFG~hnkV+g4P4}z7LpC^*!JgC?^IN(-6#RCax@!b-ErY zf<{>hx#5TDom1~vF^{?|-5$wg+xab1!QoJvE6wy&;UpM0>7-$JUYFTYIVC@Cax`as z&<;3K**i@?a$03V>?w-(nt!)6u<15QI&3F^%zsH(xIm87Wdb`^ffJUbjzZy$=02st z%}S38+=iwuzuG4RJUNc3Hb4}_(nO_E6(pyk3Pj!Z#7S;3X)wT_)hBN++27S?^bp1; zcpbcZ2-kn40TTAFs$zF<3%J%zmjBgFpg;aB&5WCe(j_zxUkeE`NvY>RTx_^sY^8b0 zgmrcy>mI}c${werAzqxMiIG!E*pX4yS0Iz(`i6PBL4n_aXatF9AeC#n&jrovvRBV@ zTG_<-zRZusx+C1Akc&%?(jm9|WMR_X7iLkM2x8pEjn)gNeAHl`wvVzv=NDlWy$P4s z9+?h3D*2$Dntg~r%w$=`h;4EKs)J@vfb3W*r$N5JzCwWv3!9oZxU7Z6W{WoC+vKCI z6`Z)_NA@?xDaX{!A`wl|Y6*_HTNA@=VNq@VSj9n&`LA6=)G>(G@=)|hnyU+b;p!%` z*@2R}xEMNm7FR<>>Y}N)h+7nQGWEPl+jWEt6)A^wrc~zq;JJ}AbA&ytUEJAZ{&)B) zQk|>!fOvjG9uWh8VdEROROTZsU{lBeqzOK6+NL0~LqRpw2>O5+?58ov!)IMUkrDRr z?$eA8gNhwN`xa?^)ZWeG+qb+{-xwn6wMRH89bjA_6nb;K&&TR7?S&QbtXSG*!+M{} zZ#$ihhO2hf5Fl?~$r#n;Y#bxESaf_eA2t)*o%^^;zs)u;t z!4mi3z3bDw@fqr->OKizS@pF!|EH{_;$mFeLlhH_)rMgICtscBZ|l^V-%X%x^PD=Y zYY>8!q&U1mMzIDuq!@b~5oaO>@n7v517H(7u-%4TLG|#MFweftbs2cs$_iGIiG^2S zYs5UW!oT=jQhPHNqLE>Z!~};(zxTZ6UW_{7@H6|pT3p6?#17Z zq1sH-KwT3OMt3v2Omm)Yb8mg(x4#1N88C_jo*1GqV(ZfhdI~B}5(}%OjZ$sn`)iAI zOl{a2XMGmrW*g^vK;VUsD5Wh$-6ET+W0w^s9cLnxL-KQq!na=29yvVfy@MpOIWgIL zV=9hiYd~>GqAIDxhGZprPrUY6E{Rm;%EZ%a6GiSE+W6q8LPd|GIz(Z0Q7c`HtTIW) zrjd)Ou8kXYiYf)ioPUKK^-!q2uzyJNwy^OYeNxu0Pr|Uv>*5KIXad>ob4CY$3VVkX zO8v}lm7ww=Njen%wp#K4{UFC;|Ku{TrYr!XhKL4%@8d}sVJK(a$G`efkuL9Z+J@%( z9rc625Im6L2G3DNAnhx_J~9r9c%2Yjin@ZGLg(icLye;V?2%UFwPpEmABB~nfHcN1 zXz6L1a*USjALC8?T|+e*ra=@5kvxCo|fOg z$pDpvEv}kxdtHz4|7)-R_a6Ayf2{%eU-lYYGLi(`W}Lb;+LS$26d`G$n9X2VsJ9x~ zzpR&|)$)V@oP?M~1B;X6B)j<}o~~@2M(&Bt4ZWo)3sm^8*-0|npV5*F_bnI|14p<_ zJlxHWt1j<9-dh`otN8D4RV~0c13wL2dLZ-3Ba!HW5qgxl4y_z8eRW5D(IMexwW5 zLb}MO?FxUEZm_@Ess@>3M^!>h=4cUWiv3fYnOWI>3oa9a4GN8~hjUAn2~BrcK4Hq{ zECWi+YMmC`nDdloS zLv?4-=ww785=)di<<(ABg>=josQyEbXzsYgEH-CiGS0R~whuWnY4RX4=*P(R5I{HT z%3l46UR{T&a5Y3^heyX!z&rw4ldzmW0~Vg8oGt@>+D&F!PIyNK_JW4)eJ;@xvEr(e z#X(;K(z)TmMRIsJwKxFdA?pvs#6?Zn`>$;6osq_@oC&!k zsA8Ol-u2t$BM-T%WmX(>Su}^*HRY+!@PI+63A% zCeSn|hsk$3X$=i+<5+GrStm3kwwaiwx-@B=hvSd8IGntG{wb$u6gj+phNj(~AqztK z+6$Nyse_T)i7LOOoJRDc9_S#ipBTs##MXG{?h_^JVv?rAQL7aHO2zMyI)fnLnaRoUec?7gPw~BDOV9D z*X3N8GIBzxzQjpq6hZ8_WkEbwjFxz=YT(unVsF?TenMC7bhl}?f6vnRBC-LeJYAWE znWwfA8wcBDazOvZbZy>gyS--saXNiiWD%^-`a}JqP&d@7)QWhM8>)tu%TPAGC{ws2 z*j1(lv5Qp`e5%Ux92YbYDsE6Nx*%Y>uUY#pQ&T!j7 zqZJPNK|U`UVv$rOMd1sn96ReBP&q}9HuD-dpJ!+t+&(kYorh$mRn=jpp4yps5oMiG z$&i3a%{ysS(R4eg)QeSn2U3JHX;ZG?gQ~@LW+HyzMYbP#Qpo((;mNA~J1Hj@nu_g< zH9om$Ronj;NLG_@+Nc|g31>z7SiF;45?6C$;n{}Z{HO&-Z8HGbDozFZ1yn1gGN1{Z zMKuJX3nd2Rti7XAAL>DS@HtBx!1fZ+N+F9=|RcEitl_< zyt8dQqhk>#PHb%TH(6HPo?|t*;vjx)+XGyqMxhmO_tHwn_13N)Dw5RHbe;d6UAN7X z0WzKdy}MhhlLVDZ9%#-@Pr>os41B*hRB1;lvxP$m1EIC{lx)!q*YK#g;q7^=-FocWL?NpnDt-q9HQR1g<GMN8KVoiQv)*0fjyT#(&U;~)t)uNclRa;En0LU$lrvo-9Z$*RV!{s{ z&4w7Js6zC5A*RY;+5^ZL${YQlj!q`1h%O#U2GYE@?Z4pfCQ9}axUv^Ui%*{Kd2wbL zn2oL*2^?XG(81f=~J(Tkgi3 zlsW_RrlGKSySZEsws*Mb%47zf$Cgr3eJleiyb!mnOWHCJTSR>4{Z*=z>@t6HOieS5 zY55hConXhCmVZmWuF7&QN#TxCn(ze6C#(*8+Mn}+RugS^AbO+w`^_#FC)RW)R6IzA z1`1;om?>LEwKI%sJrPAft0;xgrXK1g&FO>aALBJMk(}=O(0I7Y5hOezVc>f&ZhrrXlPQiR>nR;^;6So z6rwQ*qQ`(9PF;h5%pWSdcn-h;8B&CHv(~YR2Z)7&EkV%6sdX1VHGY?*B{NvM+EQA} z)_rbdHqx-xCuNF1*8a?VqR5v_d%6QlqFFAa!4=$PKRxms-DdZH?rr`0fao#576i=^ zs>Vc|h^Q5z397^BMY2IuC(;np8wmFo3R;i$Ut|CfdteSS%poRjhf_qft_4`P((M95 z)%!SR0&2D^4DUk_(I2d7pSijT8@Esv>@hu91G+}Sp4~9E;%+*K^q8;P!7sReVSd_O zKZOHkBs&Z`EU9i}$e04wdB&N+H=+r@DZHBU&I0%PeM~Ti*GGGZlr4uiira9{N zRT+};?VzA5J0BdF?n-c}s+`iXNwpWyg#&&|Q_Jk=>n|{ck8p~BBM~vkxSRB}ljeW?=VUb?t15^TKu=+%}?wmL? z%>CKoUyojlJRT_RISTWl`b!h&YfyYzuk#OH8SyKHy7y7;?p&P4k6CpSkjpa`HjP}h zeoXt-7u1tx=5z?9Bx(wpUrM=Nyk>x!$y5<#P*rJ zj3g@49acJOr>`}Kqwr9M$ii%UlfiB0hWQ~n;+RZhvRnhgh@ZQ|@V7}p_*rhqHkodS zC#)pcV$FNyEj)Jr+|z^bv)!<5GF~GiUl}b8$cw(iG=Tfr?V>Zi6oqEg-%=z08M2po zN4vsoHQjah*cu?!VY?ynt1(o!MG+fw^V_6KZ;j%wwfp%L_9%|5KO_w!X*-~5QBuLS zB>Y#uCTIDglneE-D0;F=rnd>LifHR&(WcubOMm5u-EJNA?dC-QH|;VD&I;G7>GD*G zSW4wzCVZ_5Rf?pDCC(Cu>dfio*cbZ>I9}YVN@cEdv9n;uHldudnU_%aC3-kOUzVwWUd*e~N_*dfhnRuT>Y{2z z&p6{0zVR*oI^<#+A6wVr(Jb`K5^%tAtXJU@A!*rAE7p3hB&Q-7=QuG?*52cQuSFQ| z6N1FRC1L7u+s}__9e9ISC-QWPbx$Yk^sog01=kDvz+#X)zB~~ag{%i_5u~$#WgqVT zhWs97&Wrv4%EFCEqa|!!*uHq)(@f!pEI52sugC9etn`qC*F%ylo3%`wS$+`{vZV&$ zKQYN232VCf&BmYw45P$s_#_z`cDc}1E0Y@-UtY&=dN_l8+2?~8kJR{c5RNtant0n` zcBY=OM=JCMA;voVK_yA-d++hQ6SF;(ZY>2SegI}sAqyG%E*=!H=dou3 z5p3Dha`?0yGr7@I3kV-@t1EkJbLuo-bMmWv8&@NG9J>kWf1tAwT}OHe=XDjV5sNgr zN{Y+-GKt$SyWhL{irfEk5{FmhlVygV_a|ogporpo{BpS0%zVVvB`N9*;$x(41K2`- z9+tT%oFI@&k#b#WYio-1Ct9M-P@WTQ`%Q%`WC!exh1NI5Ogn=LaRHe5EYsOlH6bng zh*7&OP^BfZFqKP-^#OZOO_=64nK7(~#;(+rA;${>ZMvhlSf>Ph>i#RT1Cc`SG<-+I zpJAbM5KLjmQz0v;+rQQ}!Yop1no09JlDw3qbZ}4LwhOrgOf_tkB_nvfjd)$>czV6E zObn)+FYaU>(J^An!r>Bk!X%>uD;;YB`Ez?vW2e` z7q{I#qPpg0Z}%bZ4z+}!;7{|JarYFX;ZA<%CSsq>l-LwMm%FtOm4Wl30UmOlA%>n4 zEpNZJLtO@IUJ+%p&$u%+9pZ~I=#Mmxe7P%(Vd|rIpv}dx6Rdqe1c&jFZ2KVE+t=ji z1KCwhS-JhqS&WOLhe~YHsl4}QHCS+UE6Mt@dv`JbKC=YGhSjj+Oc9`RUh_{Tu~ znCpS{eo?GNr#E)RV5D5x`QJ-WEG3S6956sY+qghL)c-*lM)n^@{GaxFPy^CMM-}t) z(j@+g$#a8jW3G6#(M6IxL57mHNRpy3Z_uA47=Wf^@j&V+S&}vplqSiJs-l1b=eUB9TDD|uZkj3w$){CRxc|J9uty~`E+@E_4V}i)a`j16@mv` zD^uxWi2QiAa^9EqEQ7}vF>To@-F>xGON##T+z9}o`+k|y=_H5O??FGn@+;m$!{uMTfyR|T^AJP&QmX%u3jb(Q zxyHtw9y>THRG*fmh@I!a=#>5anD|@y+Z%J-U$Zyr=$~Xw%R8o$ zkM%GcTdeQG1msptV8n+0@oRA7_z?pw={Fh-m-et1P=NLHNsAKHCwCF8%GhtNVxtLOdx0~0IS^0`F7PPmrVW~d{d zrQXbiim6$tcn>KW4lW2)4J1MQc|Qr22_#jtMEW zJhXUx7hHNv#Gh}{}u+(6fl%fInN zV993bbc;Skvp=Fef<6Q(Q}8T2f;Z?<7`4U9TW>DJ2Nby7QypQy&{pmbk5;}E5Mbk~ zEgG8GD7ZVMH5KT5nXcvD#rrG3_4?0jYQe!Bb$U|5;K4V0AVD(ff+=yKR9soCF5_|i zxgg{Tg90zs5j6WOLv7-Wx1DqhA!LsMBdB!3`;fv0y{#GNaEKD=sqs+uDK(Rp0BGEeAsWGhT@&T!I zW*A1r6bK{K_VNDo5y-y*sie#15kimWPGO3YEFqFlo*GLBNYxR;QM8yNL?G%rR)-3r z#Ce4p3R=xd)}d`g`UX3IS{_#3o6wRZ^Wb4VEFSLWImQ@Wx5iE5P){QOnH=+gPu=fD zp&g?<0Y`$)4Hz)_F|u_zb!CzjB8FdyL?^~rubu@X&v?>_O4j;va|-+R5G^6Z+Z~6jaQguwPNF>O?)Xh!xq$Ux?<7M)y&R0M}tm{+z;M z-y;xH4-9{!BA{>@9^Qc>qpcfZJl*Izn2?Ph^wTqVHzo%?jgiFDFbN0RO4dndIqjo4V_kHITqO?YxY|)u}bnQIV7+4-DV~ap^jFtigTqu=k;;FuEeC> z{E|0q8l8|SfIpELfg36hyr-z(s?Da7^v-LFxN%Fd!MZdGY!8ydsOw<>H9k>frk%7E zX=e$%op)X++#7jDN=A=a5OdR*#bP##ihiAOoj5;l?1S;q)XE~~IrMFMpzv`XMYv%aya^Eq6}XX?GmhQls268LDNEssX8Ib#|G?R5Z=k+ zyq~;m+sz8$nQ{;f8A@Y9m{C#Of}X!{aV(tN(%6VE=N}Tc5rgv+FYuAz9(bQ^?X2q^ zYnwtox4SZ@#pQeu2aXIv$xNNY7i@|+btOg;PRHwdpg~U`pNv10GNf!EjEoPRC}o;5 zvu&qO#e)I&ATXOu8Hhrm<%?)GQy>_BWR8kXpM^G&92fh`+5) z)>KQ^a`qauV^v@U^A3mqfrAxToUbTvU_*^x{uA6}a{gzU}Rz;>;bEd8b z_n{Z`+fFj!DE&q6!fQRA%zDUq{iQW7Ib62KrJu}|TpK4er;itde;dVs<$Fd9SZ0cm z;#iYV`FWq)Awi1ScSo&hH-5)4!h!|+rmT3OHTc%!ruTC)Tw5$_s1D;BtJ#d(PFG@o z2Op)Woo`}=W0&e-H9GTYr{+iMi2y$o;K0t6$-RLpbMuEezZrKeJg1BJBouDx2;B(X zMSo^^WLtCu3nz9;AHGfi+b6V0IwW|f|QQK=c%j|lb9cO8*)wzFG_5>{pCmIP;P;5bMr2F)G*QLD6(&YJsWQQ) zfF}+dvRi(ZJQ#F)1LN~*P?UUVBnC5rlClXJxw>`!jM(^_p`VH~5hqHx>fof21SMp-!oyin>v-|*2d8%euxTp*I8P!L1v-~r0+ zOj745aWE)3a5Fy=9aoUeJrTaL>-zRqH{idf^mM|j(T=XG_k;scB-9Q4uoRm(>bkHDZjdFuMn%?}%o_6|RIx4k%X&bW`seCh7MADA0Lp?;0F@6?Sw{wQmK0Z`~fMnZ2~FQzpq%~@6a&?sluPreo4Gc>Yo$wrGJdi zwFgQllvcQ=d)b;s)?t;AY%>oUZkyvJH@H`uz)`Kz zFV`Da4?lrLZzs~=v&8vHG%a{FL z|NL)mCK+A@qT)XS-rw=oZ*=DWG0*y+Z{YuBKtyd!|3|V(Syy>p0EKrwnGDvy85mf! zE?nS`g~E+>IUkCvPpPR`=G3uvy4|`!y35=E=2rqd7xCaM=C9xUV>fnMJ(NtrDGl!S zQ@rHfSC?1({C>bIL&#u~m17c=t%0nVT0a^z&};JuA~J(Ie_&SpfMNdYOHN7-Gnm zQE`cl54*vZ*~~YAB)sYjGQD3zdK|nQ=lq) zM~?s6W75^i-<<5;0TI$7EijiA3X859fo`T+I+CJl{DrtS0PQ8(LNNmI5IQ7v3>_Zv3u}x9Nl!Ra zK@es>$f&b{B(cy3O8TCZIk8W5j36?I6`I%(FE7=ucjOiGg1C|Fb_;pb{gXl^6H8#W_@_cJ*C5D*59a*$%g&0jMn++PPl_+KB7+(5J(=t5w6$o&Qo@_V`A zw1hZ)hNxi#Ny0`PNJ6Z7=>3YQS>p~c!>XNx6E1ZaYO!!m&LS`X3^CM5$U8@WYp9c; zfCR!yq-RV<^Ff2MkuXo8!3?TfC@7?N&H4CR&Lmc(;7s1?b+CE4NV8%YYnrMfav1Ko z$ta985qGi_zEyTEErxS9N2#1dgcU=r;tfhe>&C)6*+8UyT@`7KI3`+SeMWAZefZ;k zOsl>!9j$4YQ%~he-Xfcr43f7myVod2X7ji_`4&st6pYEE`g_wO5*+V>Qx$ zO1lOe+qTU%w(W*Z8rx1|yKx$;v2C`oZ8dDz#%YZIcJO5;Gt-&>taWqm$~ybm`{+II z*=IvS+B7U*ZnxlEWP*)3G){d@lz_j`x0O_qin$EgUj$7}FcCdW&y2-<8+O=l7$w!Q zfZ90)<2}F`Ag6RFVl?94^dTi_$a{(896xHPsYVN!8VqvyrF27>t9}GsqyV%odAAg6 z*`ekH4t3lL!EpHpi%A0JZylQXN#s`E%DKvQ4xn!{3dohkQ^A` zw%E;^vQ(q8jjZ%?FgF z(#nNJz3=T@V+`MbW+JYtuTedt$pNkLyk}~5Q4il@V!o`))wv{}D*4AF`;Ii@>wx7U zynf84!cYX>w8jrAG{l|kCVMK_o+sK>J>(b8M2k~Xq>*6Z>|t*CL~``Jr2G7t@-kSn zP@j^s5$&2qw#Ywu#@yqrkse&bYj*Ir2TM&r#?gq<+NyTs8j$wMY90i9VDmu<>oXzt z+{6pDhvVG02dl)BjWgF|?nZ*dD@wMF1+8BIb;o8}-zCAYxfttgz$%L^=tR)Sv0#tt zeZ;_HAttA~zS0wRZ)C1b=<&v`Qoq{NyT%wy=>m>~-+6@`wn}!povKhlBGlJ_ga$(# zP>6XGlkKnT_mbv84-^hji4!2@|RGEJ7zx)7dKHP5Z)|uUE60+&ocaCcfGb zI)z~s6pQ0>Se@50G{Qb;5rK&>k*b!)$vnVCDa!dZyUMwL`Ud)Ia>uI_86DCWusUNB?B!I?65>~;C(U4peHMI#;d%N%g9y1@9Q@~Av|Fc zsWccd)e=P6Ax6gtGzfFWb%NG6<;>yLsOGRG>H1JFBJ1F;-0~ZfKVT%-LB4MZHk#|3 zCeYs%FQR`DT9Dl9Ak)7iGmtpkIXBz|ukq+3ch^k-sHf04g!UL|eK+86S@~wNQd}dV zO-`yHc@$(+AJP-t4ouC3Z9viFA*Av>##i!WEW7-V*pEom13V3Dh#TbUB=}eGEmQ-B z&X|mfG^BkxRjGF+T}~pt-e~KXmRX=!Se(#CDKgBXMhsm)J4-_J!u#VIZS^ zY6A*qTey>^N|U<^Ci00YNmXJSj`lKc5qQP;xQ7mc-iN8grF6`JOLhdOP|702Ti$Fl zzmQGIsDwVJFBs-LOa#JN*q0nG-FP!~*X+Yv6Q450-xDB8dceCQ@SokZ>i9slVwdtn zu{u}oAJdt4IWfPce`~BjXr0O9Ur;`FP^Mlvw>!8m)N&m{2bj_Mry<64jDv{X6XYC3 zmZ9a?w>P!>J`bp78}V(C0nDOa0D`Kie>#g&QLxl=HM0L-1fkMz{VEbL>ZQYc6co^M zb>GC%zaz{PB$?^XEkr)>x0yPaFV}iIFj^|9a|cghp8Wue(h~(q=n2RUKeD9l00U`B zPUSWkZMz&^PG0r)x&x~Wp8?LbTk#1s164|r+ypU(?>t>hl`hY@#ZKxI9ihrqkjd(f zR;Cx<9)hcxvC@;&scVdltk!PC@3UCsnMWRUyO`g?M_wkmvFdY}#_94{2fNdcAg)?x z2NSN}ciGTu)WYmg(sqW%F27-Ow&1ZnZ-u0&#e+EW-3it0+ERo`8O7J3{Uox#A-Eeu zzYE9{d$)8T`*CW>((+nQH|#btBdM*hC-DxQ((aOH={q_3XSCuicE#5(?4UVO{ri*p z&5xKclqzN7sth;YiIwYf23k;*Zw7^?zRqIi@s-iP7Mv;$K47!U{frVZj_&Kk4w4a& zF*n2QV9Br;q|Bp$PHeSK4XB}QMO>6>w7-*%%3A0q0J~+Y+_!k-bXdq5qs$!QV`pX|h}oK)+6OFH^ufy~Z_9gCQI)<`d| z^^kjV0qcIV|GRygm^WIL#tqyB{D}_Mq3ddl?p46UB*D#F*7_()Y^EFuql*`nkiv73 z;&pxF;urK3$B_hI-P5`tOVlVWlBl10 z0xTLxiidK5Ouc#`!ktLGtu9#A!m7@1wz$xg7Y51~Xho&8PW2#5<*Q1m>en)rA}R0H z)B$7m1-gO9RS?&+?UBomm!JD!TSG>+_#37w9 zHam~jH2qFtKj6eoy&lZT|9E_Nlj6c1P~49gi$vG@#4cKxtKpPW8^J-OFS^K1c@yjX zD`Ys0^(J6ulqwRL!&#rESr}&cGPpq8A#;O~kq1CRd-zR`#ZW?_%@nW-F4PPwC{K%h zeA6ObnCQK4HBAlrht`>g-c0O>K>GZt*iWN{mQ{l!S*Gu?BY@0=b<6nYUz-HIDKk}< zE?j|$8$qrO!^I&{b#&Xf-siZraGDO+m@?TQlZQ3d`-H7KSceFc)X`hLZ;EAl!ppp& z14)ueIQT9|-$^!U?nRSNAT>X-r%~Z(_>HijK!*m4;V3HdZADxPO_?=bh?2<+l7I7RhdGh*(vLYH#yA7Vrbv#CN|KCoEb!jP`*Q! ziB=_O(6-7bKsgXGR(67wxHw}l=g4{?u`@(SB=*g0`SK(#p!Cxf$8@oHcdOf?qYG2v z5EaKaGKJBAwFd_lH+r0fHN(Enyb;888c`?{j&GQF$6yC%>hj8t3-uJZR`^iH|Gh6N z8cBd-Cp@(jG)1k;eatm}^Hde}L$-@baqU)S{_E1(?=)efEVwKq(vznFhRu_^3z(rn z8V4h<$W@{ZMY4@KaCE*^X6~y>@9ytJ4XdOmzWvN>qYy=jl-ORGO@Jp1Y&^r&=mw&n zqB%{;j#m2qrWQ0js4QXJd}td%M6}yv9oS4uV{@h+SOr?FkP5TV^84Y8$P#gLhqH?O?Rb_byj+P!OYJoiC%0ZX;_C31>|l`g;%JS)i~uRAHxc? zPoK}v!H#Bm%+7?KpJmaZi7PeC@hz!6EBz${@&~sMn}*s{sL0~gmfpGFxJo{PbS!qm zOtphWa;a9W%Jl4db5aIBz?z(ESJ`JjKB^d;ACy*G2YFMurlks@Ge7LOMTZ3LTbK2I zWznuUaaQoiwiRIwwb$4@(>({S$*W(XlX0x>Bt?k9OA*T2hGKFlogmbta)`%c(g59K z7P+*tCEK}kX=F?b*QcPas|zAqkEeeXbqx=%nw}o6dDYHxqmX$lT~j{#4(QBqEh9d% zDpHEtsw1`v!t{J!flkwe{#aV*WtwMj7$3ZOo&#KSfHkWrd>N}LzToK&t|Prx!3j8o zPCq90IX>4|=9yWWAZEWUahVCuxETWMhyfX2&Xbr2ZA#gt#8?kKLI| zd)EHmgL9p>a3AGH@3D0%P9Xf*PvIq|AXX*jzdL+{-jcwPX1T)jsOfmu+$u+565O?| zVMiE)f$%Y&9UD-m-uf87bzzPBnjym5?D(@sRLA9@EuoIhafJ(P>_eIY6;5c-$Se)* zB3f~jVT-E;f{tHbJ)Yax+N~>~tp=R+W;#?%oiWF^hE51x@v$ysxE0Y$taGy3u7g%w z_0Ma(oh#Z|YrreHC;kxp-H5{e9^^F8Ewfl!CJ_EvySo||wKJ1AJ=@|}ulxx&b#h>L zRkoS0>=rGKQ5}N?ara;vbztG9ENc-OrrOC`v?pCYWO^!Yu43JxJctnp87LOg~(S{}pRW%qhZDys4b zVBevv8XgZZ@$^=_K)>XAi*u*;n)=gV1@;}+Cto!$QSDWhD;r13jhK$xYkL1jxuqIb zFYe$K4AGA{C;V_;iK|mrAN0|WEbe?e2v5aj3=qurU&N0F8QC4sh=75mA68*4FmvWo zTGevn(>aaY$QU4|ZzuO&GBo6%OQ3MjG1jSNl^;$(2{7^wwoycyj&^=vv|@5GebN1&e_*(kBZ<{ zGDVVVvKKRtRs?mhHXvx+Y;k;EWq!m$6v+yn%9utnioq9c2Dis=Xjr0VN_SLh)Rjh( ztH~ZvDkR^E4?K*>5-M1O3!Sebn4vm~K25EXOUzkljNXK>>SkZ4g9;6qb3o|MzJd+( zWs@UL?6lelJUB=t*AfF{zD6+X%_ag5m6?N3TM27&jOZ-R9=6~9%SuqDiF!e?(mL($ z1?r-#ti_?_u&*gz;Etc-G3%==M5x+nuu?W?B$M#v$9tZ{ePmmR7#;EboIQPBRd%HG zn7dB5m)oK>?WlM;WS!t{ZgcqNbzl~%v+U5py7ClwYKQn1FAyaKWIdL=5Q zHnlHAU-yuy>F`$5YXkvI7kI6bEJEO$c~R-0mzeVWH!lya7z%@=jE^3Y5DBS#mTymqqoVXurK-+_Em97*?Yg*3&6z z{)~Q)c>kHTMZd^VaSsUuS(ARrVH9nU-@0jxnqiqHz*I3xDK2I?49JwQP@6hpEeAnYZQ{w@- zK`OfgqC~i4@;vSkX{jY@Scc@!pCXpICEhalyK&Pk^NaoJi2*ZvtKO3LsR=7aUC?hD^&e8sD|0mD`%8L1X#a zC&Gc6rJL-TJE0g&tV1_0+i6;pV|RQPZl3H=$zKVrma13U=CxC{u5$?xGMEQKz{xM! z6(8LOM<8xS+MqGZc}VX*r^M{dsj{KL;-~N>;+2aoSEc~dl;wYGTkdR&;ZHOMG1y0X z3%$=6HOV%(0Hi03x$tIY-Y!=fpA*dxHC}jf%8YCz^A!v1Bp(4vM!Kzs-QAVG5vR`(kIUl^vw;zg zQZ}@td)&!ebKXHrk>ChXPC;qFJQm5Vd0M7jRt<7*wC=zh;VNnb7L=%zN=QERHoErW zor(``>#=tU_3-d?v9-$yoEeL{SyS$jN_M>l?c;_|u!o@Ap{ulGn|=+8v5(SEh)wC8 zYj2)On$#oe$Jko``F8Izr%4JRo!!hil^H}tLcKyxT0LGBf2mx14=D$ zjn=6_8^S~Bd-ck0L%c`=Ezz^S|6zyPY_4UJKvwcrcF%N<+jI{7z>Q{c&gY^o(-Ys6 zAJJmR{{q%6^S;x%_R-H;PS9Ojt>zO4`9Z^Y+32(Cs4E7#*GYHnsNw9umLSpxEDUq8F4n0hGvm8Hc z`&|Ycu5Z7y~5||iYaSp+*qqN4j@Yhj=>Jcc9G_5 zT`i_AxDmU>OK(sVTsJ{3CyloX{q{$d3&rvUoZJx$53_Z+3J>2ZjMyuL=A8?B;l>MU z#e9zU8O9Xf2GzQxGQ8|HawqSmf90J*WKl37bHEZ*gyPaCx*dMD zxB>z=ABgopfT9kvplLsI7Zob*y{QhT;BSGt@Bw44ilC^QSXX(wc+xMty)0+cIbxXq zSt2Y6KN&b^xk>3ui3O=FL%J#HvYfb8K~BSzvRdM$mZJ=}><~~NOQU1!dTzNwge1DPTjTXR% zfawWxx-7o5C+QZDp%{y271kZ|0kh?(&-wiL#Sy+l1orecNBq52!R8g`mxrKy(^~1A z3uL9!)6+D4OZJaP9oO~!PP&-%5Yi3>N7>lp_jV}7wZkKEdxLi9aA9foaeKJ< zjMoGDfaTd1?h6{uQ%)~hUL|Wb2a;jSKe|74{ytGdJ@7j z*kbP1b3*ymB(V{;RjS`L+EIej#JXSRXS@_M~q>@qy|QebznQ5O4YN{T+c~ zw0GbL`WXmD)Olh)^F;8r`fPnFzH#Bi_29bPtl)dZ2#l_(jPBu)95c@QATMcx3<-4eio^n9GpWvTSKu@iy>)J6 z0d(WIOY!36-OV;AT=~tCJ1IBc&W(|N5t!IEZ97%U7c#@+yUx*kQ(xdPL56E=k8-Zx zpwnrx_9$rE-8gGdr$hSQckp~LE?5|}Z^;)aiXXMxjwdPYw_w+sLMXoPXV z*{AxO_v$zjw<3P7k)flwp7->wjrmuvZxpY)kxtLSXv8m+u8fCjC_U`rY&fZc3&i(c zQALsS(huH)&3xPOM>@y?(gNw%iJ_zvF1Kq=5XpP1eBn$R>LPFVJs?qka)G>*9S9AxhtI8>Fld` zD-VyDU9hbE;D>mes0{R|pm|JYf3mLG`#xQr8S>#-A~#S>@kA>ii5t+WQQPIpA_0ekWD*l-1A*J#`Qx6zCGUcy@G?U3z@d5F?b51Ozjy1y0lAO7 zEq?@ZoD5wavan?6n9^(28!;TpSE~BtfvMD`G&^Nz)&;hG-JeB zt-Yj9ROD1JH7vLSh%ZcVdkx4{Cpo0c2j_iQHY`-rE+T{7;2L3}6;ySH)=~sW(m@-F z1}7YM)n$qhsCc0`ce8ou1Gnd~3ZwJ!Qbx8ennCmss>CH*QsmbN!dxI`S6SIM{CH`p z7~J?ejxE-yC=0?ka$y;b#YyE2!mG&6nlsy>yKv=H(Qv06J+?Pi?WtK`t)Te*X=Zof z=!2yf5K8ka$;znwaSn}kFZf4vLEghD-2)ZSgC0uZ8(BFpqB$m#s?vVj|B?^&5mQJ5 z=F(y@xo0a#^qfwOOMBj_A#~+hm;rqZHFf#TUi$I@zPKZZxqQ__(E0{X;+#Vw0(W3haW;qcs#67qUXI%u0^AWj3k9uVA|gzLD~^ zK$3nSstW$%kTk}U&?)=%ip*Ho{M!i?p;FT97rL|__W-^e+FnJY8^eCr$WG-BerO8G zX3ZqeNM${%!!7%}l$XY7_uxHEFE{t~^+{fa42}cG6T)4bkLbLM&Vr6m!WN|kcJfr$ zr1S*sN=Xx)p^(U+w5KT!zqAvaqT9^QzZR?rq}rbpjFWW}d&I4XVYN%H`t;H~Tfx|- za1P5=W>~R3E#r!Z)m5}Yi1nH@o>hWTM(#d*_{({PIBtp>e4eDt!MX^aaBnSB^&{s2 z4_}T`Ne~P&17Ejza|F01d6?N(gKGUnMcj}}_UI|x%%~di@|8EP)~A$)+C-PSZwb39 z5Tv&yN|Lc08PvIwy2y8IBSHk;z(Pt#`Wp?jmhV(vA^tf?0#;~PP7yE&{Akla^HXR4 zuYG*iK_Z z`W3}Am`C0ax@;t4u0bA8VuPRs6Eoidd7&MAuIs;)nFxP-sr}h~G{e1u&-?lcx*hB= z^$G!%VsvAN0qZL7Z1w8ZYz4$7q;7?%!HOqU2w;*6K* zmX-?f6vfRe$xXnG92@Zds@eYDcn!k;vn}sfL;&j5cT)-|TummtBEF3%SM_)NMolDm z4IOP41+Z}GF<*##DpTR0*XOVm-D3&2s!9JWnR9~8Nqog}44f*K8VmM=xWZR~<<}h-BJhXn`zY!g_!12p!sK%h z)LAb1SewG}jk%W~6o19xN0NPV&<48YUVPYsm!q~W4Y4J%b0uNXII5M$kcS#q1fUpF zRBsxCaa4#`LwY|_99nULhsTMD#U-c*`M)`K#vp(eKeU}uC8fqu#{F>X+uTr&3qQE~ z2(67W$`s*CeOHM6ZlO}L$TRS|&GQv%!bYy9?23!t2Or+@Mv&>r>8{s`Hd)m+WA2xr zX{37)_vr#4;ws;F4NI&iSF&)5ANlfAWWPeGvs1-RtY~RM(s~K>xs$!)mG~&WA0fw; zPaIpTQEMF20bK2XHA9g8Zj(dM9TOQ{f1byvn6eFcvx95W!qFIqHqXIQ!_0VN7lxSD zru+&~QEN=QQ{tl#(@Dc@Rs3{A1PkW-jNArP{DmPFR*t|EEIYmgRt3wfucF~5sf5vH z7BVrb8cW^$0^EiA!G*^6WCmd-x|H%_XX7HhJPs!#!DwS=^+0Z@8|X|Txl!`&(eT;-BeA9mS30$*6@~~}&^PaV}wk}pR23E1COAMag{ZU8Drs;1`5RqXl1R)h>mWW@jI%ZFb{7TLG+G(M zO?O!=FiLH3+^#rXe)g0LJM0Q;X^FBT{ z?P-qNMZ9L2XM+pmqP}@T;k}CwBgqD5jBD$-P358ip3qH(SvOmCJ-WFIjnJB_bZ={^ zJH-~GXsZb01v*bJbib4lwZo$jR0^8D8wY3Xq{9rU*?Q4_f|50?ZS9v?r!YfaIC2L% z+G01EY6qqA$S<(fBSU*kGv@B)B}+BOO87QoM4RXlQ-JyKlqCmm_)ECu=&ag1i7(g( zvQ~t7iBn)*XKTHJ&0~yxGjH-I8 z4b@Ie{Zoz7&qs3>+$p6n9jy>Nz@?IsQcS#~A%g&!0t&EnUs5O$_wxZH=Bd zP(UyMd+onBa)XZJ4{>Q1%URwY-jjU-hXp zbOl<_E!f~%;HtYh%q@rBfARP>7nQIzZ#Tu(36VY1f-1Aq4nX#4Zq27dLqhFT@MJ6y#PLs<^mJL z0JF#_h>@`#&C>AYZu&&&Y91$K%AAQLua-~l-DudbhSqdLoR&Sfu6k*=a(2e}Q|!=i z+Crt_g%Q48$UKNSH}x-+Kqf2daAF*S9f#g}e2EEFH98R#;e4$hm;TZs7v9X^f-1i( zjmdg~Np`M~+N2q%+X;_g-yJDp0GktjFWZ|K_Vf|8+ob4V9Q z_~JRG`K#fw-xQqH%{A4r@1-bs&ni%TOPl0fV7qYY+viaf0T&j-Ml3?}v?-b@OyTj* z+0hfB(a6iOlH>Og#V&}QidKDhI=GSh79OgjyDQI@sSx46QX z9ffHYC_LA&qZ8Q}Jn?$6(ApX%26)r4@ja&@{i2VF>U4dS=gc9&T(lz?u9Z;EF zXbJ)h$I=t-Y`C{IgDE2+!y!NhbsD$;PpIfJ^IpZMtfq+)mu@>ulL5dxJF?O0&fnyk z=7_n6F>Jd`gACIa4I(1()j=(+O!1+y+s!gjs(^$#8RK?(E*rF*hFO~Pi($CBtiA&UJzUuiRg27?gUw>$U}40S(UP~1Ffuxp!1lI?HG8!9@a|DmQc*p zW3!A?lBr;R?r__WwItWTd&HB>iE|H;wMN4~yLBzsDB)nEQI3i`{tEB_2MmG+`r~f! z*FgpPm;e6wg9LOS_~ZM3*Y}ec6wr@bOF9-ew-sOof4~Rr$C|$_xxPQ*J^m*qD<~%^ zCaR>&AS?Dn_^V>T?D4ndhvHtqZ!06f2=>pG0^)K1Ah7eRz#j*{e-_30UGkTWL;>6$ z0lJ<ll&*xucyl}h~WN@if`Kh(Whev1eEJ54ET?Msh+iok)@3ZgQJV%bJ2oF z;e;g2(VfjsQ3f;H-xFpZz~nJ_6({0UDo6 z{kS1>v>o3c0m_na03zvr1k?S#sG0)ndZJHda=8)`q`6+5FL%AJ|zb6RRx* zARrzRARwyWnSk$H-!bfe!&)1gnfyJ~J(R1X7qDAw0M`%0pQtwgB|kCtmm9qBFE{w# zg8`pg9456)*#lrZ{Dln%$QA#OY^J}ryK#!z_s1#u_AhLF`v1&k{(JUrA=sBqKwWlK z!}CsZPZ}b{|6Rl1^_6?B;d!H?Ck-*OKhyC0i1z2UMbGKa+rK=~lK~Uye?GLo)BmO! z%ySjbi~c{UfKdA{DrEoI0^m9PdFA6LxVHBH1O8hbpI6s-!tXl$ zJN}ncx4*ahdDh$$*v#)gg8!65_uTO3Nl#CFn81JM|1kyXIr({{`V+Y#>}TX>aqG{q z&!df>utJgl0sHrR`T47jCn!z!&!B&K(ed2c=kC%cFk}9|gP)wIf8_q1v*(FBQ1nOF z&y(C==ixtG5Wg-+K#z|WC4ZR7|L&0Z=Lzu-m&B8B(qD!D>}B|w9W=j_0CV)m$Eklq z{llF7?_CzZqjP<6OaHQce>U+?+}|7+PiFu9bKn!6yyE|he|joZkOl{M(|`EWX@K$p M6Xve~77)