From e168e03d13797b25a29b7fe8483abce9b6f7c161 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 16 Jun 2013 15:00:40 +0200 Subject: [PATCH 001/139] * Countryside Crusher - Fixed card reveal logic. --- Mage.Sets/src/mage/sets/morningtide/CountrysideCrusher.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/morningtide/CountrysideCrusher.java b/Mage.Sets/src/mage/sets/morningtide/CountrysideCrusher.java index 558c9aab6b0..44a30125895 100644 --- a/Mage.Sets/src/mage/sets/morningtide/CountrysideCrusher.java +++ b/Mage.Sets/src/mage/sets/morningtide/CountrysideCrusher.java @@ -40,6 +40,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.Card; import mage.cards.CardImpl; +import mage.cards.Cards; import mage.cards.CardsImpl; import mage.counters.CounterType; import mage.game.Game; @@ -104,15 +105,17 @@ class CountrysideCrusherEffect extends OneShotEffect { permanent = (Permanent) game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD); } if (player != null && permanent != null) { + Cards cards = new CardsImpl(); while (player.getLibrary().size() > 0) { Card card = player.getLibrary().getFromTop(game); - player.revealCards(permanent.getName(), new CardsImpl(card), game); + cards.add(card); if (card.getCardType().contains(CardType.LAND)) { card.moveToZone(Zone.GRAVEYARD, source.getSourceId(), game, true); } else { break; } } + player.revealCards(permanent.getName(), cards, game); return true; } return false; From 9c57f27dfd91a0231a3a89422375d2cc67e7e15f Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 16 Jun 2013 17:34:03 +0200 Subject: [PATCH 002/139] [minor] fixed some import errors. --- .../src/mage/sets/darksteel/TestOfFaith.java | 54 +++++++ .../mage/sets/futuresight/TakePossession.java | 54 +++++++ .../sets/modernmasters/TakePossession.java | 61 ++++++++ .../mage/sets/modernmasters/TestOfFaith.java | 137 ++++++++++++++++++ 4 files changed, 306 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/darksteel/TestOfFaith.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/TakePossession.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/TakePossession.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java diff --git a/Mage.Sets/src/mage/sets/darksteel/TestOfFaith.java b/Mage.Sets/src/mage/sets/darksteel/TestOfFaith.java new file mode 100644 index 00000000000..a49381d692c --- /dev/null +++ b/Mage.Sets/src/mage/sets/darksteel/TestOfFaith.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.darksteel; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class TestOfFaith extends mage.sets.modernmasters.TestOfFaith { + + public TestOfFaith(UUID ownerId) { + super(ownerId); + this.cardNumber = 17; + this.expansionSetCode = "DST"; + this.rarity = Rarity.UNCOMMON; + } + + public TestOfFaith(final TestOfFaith card) { + super(card); + } + + @Override + public TestOfFaith copy() { + return new TestOfFaith(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/TakePossession.java b/Mage.Sets/src/mage/sets/futuresight/TakePossession.java new file mode 100644 index 00000000000..a4d0915f37a --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/TakePossession.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class TakePossession extends mage.sets.modernmasters.TakePossession { + + public TakePossession(UUID ownerId) { + super(ownerId); + this.cardNumber = 44; + this.expansionSetCode = "FUT"; + this.rarity = Rarity.RARE; + } + + public TakePossession(final TakePossession card) { + super(card); + } + + @Override + public TakePossession copy() { + return new TakePossession(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java b/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java new file mode 100644 index 00000000000..0e5b4650853 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java @@ -0,0 +1,61 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class TakePossession extends CardImpl { + + public TakePossession(UUID ownerId) { + super(ownerId, 66, "Take Possession", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{5}{U}{U}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Aura"); + + this.color.setBlue(true); + + // Split second + // Enchant permanent + // You control enchanted permanent. + } + + public TakePossession(final TakePossession card) { + super(card); + } + + @Override + public TakePossession copy() { + return new TakePossession(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java b/Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java new file mode 100644 index 00000000000..b06abd575e2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java @@ -0,0 +1,137 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.PreventionEffectImpl; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class TestOfFaith extends CardImpl { + + public TestOfFaith(UUID ownerId) { + super(ownerId, 33, "Test of Faith", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{W}"); + this.expansionSetCode = "MMA"; + + this.color.setWhite(true); + + // Prevent the next 3 damage that would be dealt to target creature this turn, and put a +1/+1 counter on that creature for each 1 damage prevented this way. + this.getSpellAbility().addEffect(new TestOfFaithPreventDamageTargetEffect(Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(true)); + + } + + public TestOfFaith(final TestOfFaith card) { + super(card); + } + + @Override + public TestOfFaith copy() { + return new TestOfFaith(this); + } +} + +class TestOfFaithPreventDamageTargetEffect extends PreventionEffectImpl { + + private int amount = 3; + + public TestOfFaithPreventDamageTargetEffect(Duration duration) { + super(duration); + staticText = "Prevent the next 3 damage that would be dealt to target creature this turn, and put a +1/+1 counter on that creature for each 1 damage prevented this way"; + } + + public TestOfFaithPreventDamageTargetEffect(final TestOfFaithPreventDamageTargetEffect effect) { + super(effect); + this.amount = effect.amount; + } + + @Override + public TestOfFaithPreventDamageTargetEffect copy() { + return new TestOfFaithPreventDamageTargetEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + GameEvent preventEvent = new GameEvent(GameEvent.EventType.PREVENT_DAMAGE, source.getFirstTarget(), source.getId(), source.getControllerId(), event.getAmount(), false); + if (!game.replaceEvent(preventEvent)) { + int prevented = 0; + if (event.getAmount() >= this.amount) { + int damage = amount; + event.setAmount(event.getAmount() - amount); + this.used = true; + game.fireEvent(GameEvent.getEvent(GameEvent.EventType.PREVENTED_DAMAGE, source.getFirstTarget(), source.getId(), source.getControllerId(), damage)); + prevented = damage; + } else { + int damage = event.getAmount(); + event.setAmount(0); + amount -= damage; + game.fireEvent(GameEvent.getEvent(GameEvent.EventType.PREVENTED_DAMAGE, source.getFirstTarget(), source.getId(), source.getControllerId(), damage)); + prevented = damage; + } + + // add counters now + if (prevented > 0) { + Permanent targetPermanent = game.getPermanent(source.getTargets().getFirstTarget()); + if (targetPermanent != null) { + targetPermanent.addCounters(CounterType.P1P1.createInstance(prevented), game); + game.informPlayers("Adding " + prevented + " +1/+1 counters to " + targetPermanent.getName()); + } + } + return true; + } + return false; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (!this.used && super.applies(event, source, game)) { + if (source.getTargets().getFirstTarget().equals(event.getTargetId())) { + return true; + } + } + return false; + } + +} From b0578574858a0d500975183ac44913a425ba8c4c Mon Sep 17 00:00:00 2001 From: Li REN Date: Sun, 16 Jun 2013 23:53:25 -0400 Subject: [PATCH 003/139] Transfer timeout counter to clock format (minute:second, for example, 100 -> 01:40) --- .../client/deckeditor/DeckEditorPanel.java | 25 ++++++++++++++--- .../java/mage/client/draft/DraftPanel.java | 28 ++++++++++++++++--- 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java index eba79010782..e59e8f96433 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java @@ -102,12 +102,12 @@ public class DeckEditorPanel extends javax.swing.JPanel { @Override public void actionPerformed(ActionEvent e) { if (--timeout > 0) { - setTimeout(Integer.toString(timeout)); + setTimeout(timeout); } else { if (updateDeckTask != null) updateDeckTask.cancel(true); - setTimeout("0"); + setTimeout(0); countdown.stop(); hideDeckEditor(); } @@ -136,7 +136,7 @@ public class DeckEditorPanel extends javax.swing.JPanel { this.deckArea.showSideboard(false); countdown.stop(); this.timeout = time; - setTimeout(Integer.toString(timeout)); + setTimeout(timeout); if (timeout != 0) { countdown.start(); if (updateDeckTask == null || updateDeckTask.isDone()) { @@ -308,7 +308,24 @@ public class DeckEditorPanel extends javax.swing.JPanel { } } - private void setTimeout(String text) { + //private void setTimeout(String text) { + // this.txtTimeRemaining.setText(text); + //} + + private void setTimeout(int s){ + int minute = s/60; + int second = s - (minute*60); + String text; + if(minute < 10){ + text = "0" + Integer.toString(minute) + ":"; + }else{ + text = Integer.toString(minute) + ":"; + } + if(second < 10){ + text = text + "0" + Integer.toString(second); + }else{ + text = text + Integer.toString(second); + } this.txtTimeRemaining.setText(text); } diff --git a/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java b/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java index a81eea2ce76..cdb1d25a9d2 100644 --- a/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java +++ b/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java @@ -78,10 +78,12 @@ public class DraftPanel extends javax.swing.JPanel { @Override public void actionPerformed(ActionEvent e) { if (--timeout > 0) { - setTimeout(Integer.toString(timeout)); + //setTimeout(Integer.toString(timeout)); + setTimeout(timeout); } else { - setTimeout("0"); + //setTimeout("0"); + setTimeout(0); countdown.stop(); } } @@ -132,13 +134,31 @@ public class DraftPanel extends javax.swing.JPanel { setMessage("Pick a card"); countdown.stop(); this.timeout = draftPickView.getTimeout(); - setTimeout(Integer.toString(timeout)); + //setTimeout(Integer.toString(timeout)); + setTimeout(timeout); if (timeout != 0) { countdown.start(); } } - private void setTimeout(String text) { +// private void setTimeout(String text) { +// this.txtTimeRemaining.setText(text); +// } + + private void setTimeout(int s){ + int minute = s/60; + int second = s - (minute*60); + String text; + if(minute < 10){ + text = "0" + Integer.toString(minute) + ":"; + }else{ + text = Integer.toString(minute) + ":"; + } + if(second < 10){ + text = text + "0" + Integer.toString(second); + }else{ + text = text + Integer.toString(second); + } this.txtTimeRemaining.setText(text); } From 848e542ee4234be813c94ca27134d6e9ca38e196 Mon Sep 17 00:00:00 2001 From: Li REN Date: Mon, 17 Jun 2013 00:01:37 -0400 Subject: [PATCH 004/139] clean --- .../main/java/mage/client/deckeditor/DeckEditorPanel.java | 4 ---- .../src/main/java/mage/client/draft/DraftPanel.java | 8 -------- 2 files changed, 12 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java index e59e8f96433..910af53f58a 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java @@ -308,10 +308,6 @@ public class DeckEditorPanel extends javax.swing.JPanel { } } - //private void setTimeout(String text) { - // this.txtTimeRemaining.setText(text); - //} - private void setTimeout(int s){ int minute = s/60; int second = s - (minute*60); diff --git a/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java b/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java index cdb1d25a9d2..7b02c770fa7 100644 --- a/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java +++ b/Mage.Client/src/main/java/mage/client/draft/DraftPanel.java @@ -78,11 +78,9 @@ public class DraftPanel extends javax.swing.JPanel { @Override public void actionPerformed(ActionEvent e) { if (--timeout > 0) { - //setTimeout(Integer.toString(timeout)); setTimeout(timeout); } else { - //setTimeout("0"); setTimeout(0); countdown.stop(); } @@ -121,7 +119,6 @@ public class DraftPanel extends javax.swing.JPanel { SimpleCardView source = (SimpleCardView) event.getSource(); DraftPickView view = session.sendCardPick(draftId, source.getId()); if (view != null) { - //draftBooster.loadBooster(view.getBooster(), bigCard); draftBooster.loadBooster(emptyView, bigCard); draftPicks.loadCards(CardsViewUtil.convertSimple(view.getPicks()), bigCard, null); Plugins.getInstance().getActionCallback().hidePopup(); @@ -134,16 +131,11 @@ public class DraftPanel extends javax.swing.JPanel { setMessage("Pick a card"); countdown.stop(); this.timeout = draftPickView.getTimeout(); - //setTimeout(Integer.toString(timeout)); setTimeout(timeout); if (timeout != 0) { countdown.start(); } } - -// private void setTimeout(String text) { -// this.txtTimeRemaining.setText(text); -// } private void setTimeout(int s){ int minute = s/60; From 58bf7cff3f2b6abd183a6377f7f1033c5a24df22 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 07:44:21 +0200 Subject: [PATCH 005/139] [MMA] Added two cards. --- .../sets/modernmasters/HammerheimDeadeye.java | 54 ++++++++++++ .../mage/sets/modernmasters/SuddenShock.java | 52 ++++++++++++ .../sets/planarchaos/HammerheimDeadeye.java | 84 +++++++++++++++++++ .../src/mage/sets/timespiral/SuddenShock.java | 65 ++++++++++++++ 4 files changed, 255 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/modernmasters/HammerheimDeadeye.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/SuddenShock.java create mode 100644 Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java create mode 100644 Mage.Sets/src/mage/sets/timespiral/SuddenShock.java diff --git a/Mage.Sets/src/mage/sets/modernmasters/HammerheimDeadeye.java b/Mage.Sets/src/mage/sets/modernmasters/HammerheimDeadeye.java new file mode 100644 index 00000000000..0191efbba38 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/HammerheimDeadeye.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class HammerheimDeadeye extends mage.sets.planarchaos.HammerheimDeadeye { + + public HammerheimDeadeye(UUID ownerId) { + super(ownerId); + this.cardNumber = 119; + this.expansionSetCode = "MMA"; + this.rarity = Rarity.COMMON; + } + + public HammerheimDeadeye(final HammerheimDeadeye card) { + super(card); + } + + @Override + public HammerheimDeadeye copy() { + return new HammerheimDeadeye(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/SuddenShock.java b/Mage.Sets/src/mage/sets/modernmasters/SuddenShock.java new file mode 100644 index 00000000000..98e2c948213 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/SuddenShock.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class SuddenShock extends mage.sets.timespiral.SuddenShock { + + public SuddenShock(UUID ownerId) { + super(ownerId); + this.cardNumber = 133; + this.expansionSetCode = "MMA"; + } + + public SuddenShock(final SuddenShock card) { + super(card); + } + + @Override + public SuddenShock copy() { + return new SuddenShock(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java b/Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java new file mode 100644 index 00000000000..986f064450b --- /dev/null +++ b/Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java @@ -0,0 +1,84 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.planarchaos; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.target.Target; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class HammerheimDeadeye extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with flying"); + static { + filter.add(new AbilityPredicate(FlyingAbility.class)); + } + + public HammerheimDeadeye(UUID ownerId) { + super(ownerId, 101, "Hammerheim Deadeye", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{R}"); + this.expansionSetCode = "PLC"; + this.subtype.add("Giant"); + this.subtype.add("Warrior"); + + this.color.setRed(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Echo {5}{R} + this.addAbility(new EchoAbility("{5}{R}")); + // When Hammerheim Deadeye enters the battlefield, destroy target creature with flying. + Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); + Target target = new TargetCreaturePermanent(filter); + target.setRequired(true); + ability.addTarget(target); + this.addAbility(ability); + } + + public HammerheimDeadeye(final HammerheimDeadeye card) { + super(card); + } + + @Override + public HammerheimDeadeye copy() { + return new HammerheimDeadeye(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timespiral/SuddenShock.java b/Mage.Sets/src/mage/sets/timespiral/SuddenShock.java new file mode 100644 index 00000000000..899a2c50527 --- /dev/null +++ b/Mage.Sets/src/mage/sets/timespiral/SuddenShock.java @@ -0,0 +1,65 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.timespiral; + +import java.util.UUID; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.SplitSecondAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author LevelX2 + */ +public class SuddenShock extends CardImpl { + + public SuddenShock(UUID ownerId) { + super(ownerId, 179, "Sudden Shock", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{R}"); + this.expansionSetCode = "TSP"; + + this.color.setRed(true); + + // Split second + this.addAbility(SplitSecondAbility.getInstance()); + // Sudden Shock deals 2 damage to target creature or player. + this.getSpellAbility().addEffect(new DamageTargetEffect(2, true)); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer(true)); + } + + public SuddenShock(final SuddenShock card) { + super(card); + } + + @Override + public SuddenShock copy() { + return new SuddenShock(this); + } +} From 57b517282ddc274f77e36ae0cc524b5955e5701a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 07:44:44 +0200 Subject: [PATCH 006/139] Added missing implementation of Take Possession. --- .../sets/modernmasters/TakePossession.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java b/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java index 0e5b4650853..6dc266b9ca3 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java +++ b/Mage.Sets/src/mage/sets/modernmasters/TakePossession.java @@ -28,9 +28,19 @@ package mage.sets.modernmasters; import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.ControlEnchantedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.SplitSecondAbility; import mage.cards.CardImpl; import mage.constants.CardType; +import mage.constants.Outcome; import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; /** * @@ -46,8 +56,18 @@ public class TakePossession extends CardImpl { this.color.setBlue(true); // Split second + this.addAbility(SplitSecondAbility.getInstance()); // Enchant permanent + TargetPermanent auraTarget = new TargetPermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.GainControl)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); // You control enchanted permanent. + Effect effect = new ControlEnchantedEffect(); + effect.setText("You control enchanted permanent"); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); + } public TakePossession(final TakePossession card) { From 8362ea3b00bd49d089743a5f8da6442d7ad11f0f Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 07:44:55 +0200 Subject: [PATCH 007/139] [minor] Formatting. --- .../effects/common/DestroyTargetEffect.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java b/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java index 944254c350c..bd5578f504f 100644 --- a/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java @@ -28,15 +28,14 @@ package mage.abilities.effects.common; -import mage.constants.Outcome; +import java.util.UUID; import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; +import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.Target; - -import java.util.UUID; import mage.target.targetpointer.FirstTargetPointer; /** @@ -105,12 +104,14 @@ public class DestroyTargetEffect extends OneShotEffect { StringBuilder sb = new StringBuilder(); if (mode.getTargets().size() == 0) { sb.append("destroy that creature"); //TODO add possibility to specify text with targetPointer usage - } else if (mode.getTargets().get(0).getNumberOfTargets() == 1) + } else if (mode.getTargets().get(0).getNumberOfTargets() == 1) { sb.append("Destroy target ").append(mode.getTargets().get(0).getTargetName()); - else + } else { sb.append("Destroy ").append(mode.getTargets().get(0).getNumberOfTargets()).append(" target ").append(mode.getTargets().get(0).getTargetName()); - if (noRegen) + } + if (noRegen) { sb.append(". It can't be regenerated"); + } return sb.toString(); } From dcf1b27decc4c9a40f15eb34d124944d4c567be8 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 08:12:45 +0200 Subject: [PATCH 008/139] Added reminder text to SunburstAbility. --- Mage/src/mage/abilities/keyword/SunburstAbility.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage/src/mage/abilities/keyword/SunburstAbility.java b/Mage/src/mage/abilities/keyword/SunburstAbility.java index c399361a14a..9f42bdc4b9a 100644 --- a/Mage/src/mage/abilities/keyword/SunburstAbility.java +++ b/Mage/src/mage/abilities/keyword/SunburstAbility.java @@ -65,7 +65,7 @@ public class SunburstAbility extends EntersBattlefieldAbility{ @Override public String getRule() { - return "Sunburst"; + return "Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.)"; } From d1153d26a3e8a8715fde3768644c07e6615488de Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 13:48:43 +0200 Subject: [PATCH 009/139] [MMA] Added Phthisis. --- .../src/mage/sets/modernmasters/Phthisis.java | 52 +++++++++ .../src/mage/sets/timespiral/Phthisis.java | 105 ++++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/modernmasters/Phthisis.java create mode 100644 Mage.Sets/src/mage/sets/timespiral/Phthisis.java diff --git a/Mage.Sets/src/mage/sets/modernmasters/Phthisis.java b/Mage.Sets/src/mage/sets/modernmasters/Phthisis.java new file mode 100644 index 00000000000..98d12ebded6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/Phthisis.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class Phthisis extends mage.sets.timespiral.Phthisis { + + public Phthisis(UUID ownerId) { + super(ownerId); + this.cardNumber = 93; + this.expansionSetCode = "MMA"; + } + + public Phthisis(final Phthisis card) { + super(card); + } + + @Override + public Phthisis copy() { + return new Phthisis(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timespiral/Phthisis.java b/Mage.Sets/src/mage/sets/timespiral/Phthisis.java new file mode 100644 index 00000000000..deedf7444a9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/timespiral/Phthisis.java @@ -0,0 +1,105 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.timespiral; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.SuspendAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class Phthisis extends CardImpl { + + public Phthisis(UUID ownerId) { + super(ownerId, 122, "Phthisis", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{3}{B}{B}{B}{B}"); + this.expansionSetCode = "TSP"; + + this.color.setBlack(true); + + // Destroy target creature. Its controller loses life equal to its power plus its toughness. + this.getSpellAbility().addEffect(new PhthisisEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(true)); + + // Suspend 5-{1}{B} + this.addAbility(new SuspendAbility(5, new ManaCostsImpl("{1}{B}"), this)); + } + + public Phthisis(final Phthisis card) { + super(card); + } + + @Override + public Phthisis copy() { + return new Phthisis(this); + } +} + +class PhthisisEffect extends OneShotEffect { + + public PhthisisEffect() { + super(Outcome.DestroyPermanent); + this.staticText = "Destroy target creature. Its controller loses life equal to its power plus its toughness"; + } + + public PhthisisEffect(final PhthisisEffect effect) { + super(effect); + } + + @Override + public PhthisisEffect copy() { + return new PhthisisEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent creature = game.getPermanent(getTargetPointer().getFirst(game, source)); + if (creature != null) { + Player controller = game.getPlayer(creature.getControllerId()); + if (controller != null) { + int lifeLoss = creature.getPower().getValue() + creature.getToughness().getValue(); + creature.destroy(source.getSourceId(), game, false); + // the life loss happens also if the creature is indestructible or regenerated (legal targets) + controller.loseLife(lifeLoss, game); + return true; + } + } + return false; + } +} From c6a283583a6259dbbcfbe477ab5a7662088144f7 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 13:50:20 +0200 Subject: [PATCH 010/139] [minor] Some code cleaning. --- Mage.Sets/src/mage/sets/gatecrash/PredatorsRapport.java | 4 ++-- .../effects/common/PutLibraryIntoGraveTargetEffect.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/sets/gatecrash/PredatorsRapport.java b/Mage.Sets/src/mage/sets/gatecrash/PredatorsRapport.java index 7c00e84e1b3..c75af84fbf2 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/PredatorsRapport.java +++ b/Mage.Sets/src/mage/sets/gatecrash/PredatorsRapport.java @@ -28,13 +28,13 @@ package mage.sets.gatecrash; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetControlledCreaturePermanent; diff --git a/Mage/src/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java b/Mage/src/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java index 40307e1aa22..9d0f893fbf6 100644 --- a/Mage/src/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/PutLibraryIntoGraveTargetEffect.java @@ -86,8 +86,9 @@ public class PutLibraryIntoGraveTargetEffect extends OneShotEffect Date: Mon, 17 Jun 2013 13:51:20 +0200 Subject: [PATCH 011/139] * Grisly Spectacle - Fixed a bug that no card milling was done, if the target was not destroyed (e.g. regenerated). --- Mage.Sets/src/mage/sets/gatecrash/GrislySpectacle.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Mage.Sets/src/mage/sets/gatecrash/GrislySpectacle.java b/Mage.Sets/src/mage/sets/gatecrash/GrislySpectacle.java index ac86f0194d2..a8efff42caf 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/GrislySpectacle.java +++ b/Mage.Sets/src/mage/sets/gatecrash/GrislySpectacle.java @@ -100,11 +100,11 @@ class GrislySpectacleEffect extends OneShotEffect { Player controller = game.getPlayer(creature.getControllerId()); if (controller != null) { int power = creature.getPower().getValue(); - if (creature.destroy(source.getSourceId(), game, false)) { - Effect effect = new PutLibraryIntoGraveTargetEffect(power); - effect.setTargetPointer(new FixedTarget(controller.getId())); - return effect.apply(game, source); - } + creature.destroy(source.getSourceId(), game, false); + // the mill effect works also if creature is indestructible or regenerated + Effect effect = new PutLibraryIntoGraveTargetEffect(power); + effect.setTargetPointer(new FixedTarget(controller.getId())); + return effect.apply(game, source); } } return false; From 5216eddb7144e082ce22a63d8273719c798bc953 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 13:59:23 +0200 Subject: [PATCH 012/139] In the card info (tooltip) tokens have now the work "Token" written below the expansion symbol. Some code cleaning concering handling of counters. --- .../plugins/card/info/CardInfoPaneImpl.java | 15 +++++++----- Mage.Common/src/mage/view/CardView.java | 7 ++++++ Mage.Common/src/mage/view/GameView.java | 24 ++++++++++--------- Mage.Common/src/mage/view/PermanentView.java | 13 +--------- 4 files changed, 30 insertions(+), 29 deletions(-) diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java b/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java index bc47999e41c..16269a07503 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/info/CardInfoPaneImpl.java @@ -154,12 +154,15 @@ public class CardInfoPaneImpl extends JEditorPane implements CardInfoPane { } else if (CardUtil.isPlaneswalker(card)) { pt = card.getLoyalty().toString(); } - if (pt.length() > 0) { - buffer.append("
"); - buffer.append(""); - buffer.append(pt); - buffer.append(""); - buffer.append("
"); + + if (pt.length() > 0 || card.isToken()) { + buffer.append(""); + if (card.isToken()) { + buffer.append(""); + } + + buffer.append("
"); + buffer.append(pt).append("Token
"); } StringBuilder rule = new StringBuilder("
"); diff --git a/Mage.Common/src/mage/view/CardView.java b/Mage.Common/src/mage/view/CardView.java index 1c27582361f..24598179aed 100644 --- a/Mage.Common/src/mage/view/CardView.java +++ b/Mage.Common/src/mage/view/CardView.java @@ -82,6 +82,7 @@ public class CardView extends SimpleCardView { protected boolean transformed; protected boolean isSplitCard; + protected boolean isToken; protected String leftSplitName; protected ManaCosts leftSplitCosts; protected List leftSplitRules; @@ -156,8 +157,10 @@ public class CardView extends SimpleCardView { this.expansionSetCode = ((PermanentToken) card).getExpansionSetCode(); this.rules = ((PermanentToken) card).getRules(); this.type = ((PermanentToken)card).getToken().getTokenType(); + this.isToken = true; } else { this.rarity = card.getRarity(); + this.isToken = false; } if (card.getCounters() != null && !card.getCounters().isEmpty()) { counters = new ArrayList(); @@ -453,6 +456,10 @@ public class CardView extends SimpleCardView { return this.secondCardFace; } + public boolean isToken() { + return this.isToken; + } + public void setTransformed(boolean transformed) { this.transformed = transformed; } diff --git a/Mage.Common/src/mage/view/GameView.java b/Mage.Common/src/mage/view/GameView.java index 09d2734ea6b..3913b9f9548 100644 --- a/Mage.Common/src/mage/view/GameView.java +++ b/Mage.Common/src/mage/view/GameView.java @@ -28,11 +28,16 @@ package mage.view; -import mage.constants.PhaseStep; -import mage.constants.TurnPhase; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; import mage.MageObject; import mage.abilities.costs.Cost; import mage.cards.Card; +import mage.constants.PhaseStep; +import mage.constants.TurnPhase; import mage.constants.Zone; import mage.game.ExileZone; import mage.game.Game; @@ -46,11 +51,6 @@ import mage.game.stack.StackAbility; import mage.game.stack.StackObject; import mage.players.Player; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.UUID; /** * @@ -131,14 +131,16 @@ public class GameView implements Serializable { this.phase = state.getTurn().getPhaseType(); this.step = state.getTurn().getStepType(); this.turn = state.getTurnNum(); - if (state.getActivePlayerId() != null) + if (state.getActivePlayerId() != null) { this.activePlayerName = state.getPlayer(state.getActivePlayerId()).getName(); - else + } else { this.activePlayerName = ""; - if (state.getPriorityPlayerId() != null) + } + if (state.getPriorityPlayerId() != null) { this.priorityPlayerName = state.getPlayer(state.getPriorityPlayerId()).getName(); - else + } else { this.priorityPlayerName = ""; + } for (CombatGroup combatGroup: state.getCombat().getGroups()) { combat.add(new CombatGroupView(combatGroup, game)); } diff --git a/Mage.Common/src/mage/view/PermanentView.java b/Mage.Common/src/mage/view/PermanentView.java index a88791d000a..09e00e4e419 100644 --- a/Mage.Common/src/mage/view/PermanentView.java +++ b/Mage.Common/src/mage/view/PermanentView.java @@ -50,7 +50,6 @@ public class PermanentView extends CardView { private boolean summoningSickness; private int damage; private List attachments; - private List counters; private CardView original; public PermanentView(Permanent permanent, Card card) { @@ -66,13 +65,7 @@ public class PermanentView extends CardView { attachments = new ArrayList(); attachments.addAll(permanent.getAttachments()); } - if (permanent.getCounters().size() > 0) { - counters = new ArrayList(); - for (Counter counter: permanent.getCounters().values()) { - counters.add(new CounterView(counter)); - } - } - if (permanent instanceof PermanentToken) { + if (isToken()) { original = new CardView(((PermanentToken)permanent).getToken()); original.expansionSetCode = permanent.getExpansionSetCode(); } @@ -110,10 +103,6 @@ public class PermanentView extends CardView { return attachments; } - public List getCounters() { - return counters; - } - public CardView getOriginal() { return original; } From 95a12028e6d7fba87df0aaab188b9d6fc6727bb6 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 17:00:17 +0200 Subject: [PATCH 013/139] Added small icon for tokens on token permanents. Token copied from permanents (Giant Adephage) show now the image of the permanent. --- .../java/org/mage/card/arcane/CardPanel.java | 22 ++++++++++++++++++ .../mage/plugins/card/utils/ImageManager.java | 2 ++ .../card/utils/impl/ImageManagerImpl.java | 11 +++++++++ Mage.Client/src/main/resources/card/token.png | Bin 0 -> 753 bytes Mage.Common/src/mage/view/CardView.java | 13 +++++++++-- .../sets/dragonsmaze/AdventOfTheWurm.java | 2 ++ Mage/src/mage/game/permanent/token/Token.java | 19 +++++++++++++++ .../util/functions/CopyTokenFunction.java | 3 ++- 8 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 Mage.Client/src/main/resources/card/token.png diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java index 8067b9d56e4..cc9ce07983e 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java @@ -65,6 +65,7 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti public final ScaledImagePanel imagePanel; public ImagePanel overlayPanel; public JPanel buttonPanel; + public JPanel iconPanel; private GlowText titleText; private GlowText ptText; @@ -94,6 +95,7 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti private boolean transformed; private boolean animationInProgress = false; private JButton dayNightButton; + private JButton tokenButton; private boolean displayTitleAnyway; @@ -142,6 +144,23 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti } }); + // token icon + iconPanel = new JPanel(); + iconPanel.setLayout(null); + iconPanel.setOpaque(false); + add(iconPanel); + + tokenButton = new JButton(""); + tokenButton.setLocation(2, 2); + tokenButton.setSize(25, 25); + + iconPanel.setVisible(this.gameCard.isToken()); + + BufferedImage tokenIconImage = ImageManagerImpl.getInstance().getTokenIconImage(); + tokenButton.setIcon(new ImageIcon(tokenIconImage)); + + iconPanel.add(tokenButton); + setBackground(Color.black); setOpaque(false); @@ -411,6 +430,9 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti buttonPanel.setLocation(cardXOffset + borderSize, cardYOffset + borderSize); buttonPanel.setSize(cardWidth - borderSize * 2, cardHeight - borderSize * 2); + iconPanel.setLocation(cardXOffset + borderSize, cardYOffset + borderSize); + iconPanel.setSize(cardWidth - borderSize * 2, cardHeight - borderSize * 2); + int fontHeight = Math.round(cardHeight * (27f / 680)); boolean showText = (!isAnimationPanel && fontHeight < 12); titleText.setVisible(showText); diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/utils/ImageManager.java b/Mage.Client/src/main/java/org/mage/plugins/card/utils/ImageManager.java index 390e2dd121a..fd8a65891ee 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/utils/ImageManager.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/utils/ImageManager.java @@ -11,6 +11,8 @@ public interface ImageManager { Image getSicknessImage(); Image getDayImage(); Image getNightImage(); + + Image getTokenIconImage(); Image getDlgAcceptButtonImage(); Image getDlgActiveAcceptButtonImage(); diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/utils/impl/ImageManagerImpl.java b/Mage.Client/src/main/java/org/mage/plugins/card/utils/impl/ImageManagerImpl.java index c99196e2ac3..a161c643c4d 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/utils/impl/ImageManagerImpl.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/utils/impl/ImageManagerImpl.java @@ -97,6 +97,15 @@ public class ImageManagerImpl implements ImageManager { return imageNight; } + @Override + public BufferedImage getTokenIconImage() { + if (imageTokenIcon == null) { + Image image = getImageFromResourceTransparent("/card/token.png", Color.WHITE, new Rectangle(20, 20)); + imageTokenIcon = BufferedImageBuilder.bufferImage(image, BufferedImage.TYPE_INT_ARGB); + } + return imageTokenIcon; + } + @Override public Image getDlgCancelButtonImage() { if (imageDlgCancelButton == null) { @@ -216,6 +225,8 @@ public class ImageManagerImpl implements ImageManager { private static BufferedImage imageDay; private static BufferedImage imageNight; + private static BufferedImage imageTokenIcon; + private static BufferedImage imageDlgAcceptButton; private static BufferedImage imageDlgActiveAcceptButton; private static BufferedImage imageDlgCancelButton; diff --git a/Mage.Client/src/main/resources/card/token.png b/Mage.Client/src/main/resources/card/token.png new file mode 100644 index 0000000000000000000000000000000000000000..e63f67cb0918b653bb8a129170a70ae3e2a3de2e GIT binary patch literal 753 zcmVPELMDI6FIw($Z4sbUGpR`F!~J_`ufImJrciQc{A|)z!Q#H3jihg@pwi9UZ}JHj9nHJRT2TUS6~bL!l5_TU$|GT@8oBf$QsQA!%r6KwDcI zVzC&Wo}SRr(SeGJ3N$x2!-LZ4_VyOr z+uLGiRlMcl;bGL()nQ^{Le5EsE|*IY5~HJ|Ld59oyXWU;JU%`Om~=ermzO2`_V#u~Mj!U7Dw!WV#4Og=*Ci|J<8(T6q##Jl zbF6~BT2@vDuh)y4o16STBr(Bv>~_2J$g;3nt=QSw!Q|wmy!WfCD|K;sjZNLAr>Ao? z)x!ArxJuyLm%`0pFen3|5E)TfS&8%W^TNY{w>L5}@*^2R?WkozLcWlurluT6qtPf6 z#%8n0ch=5-&dP#>ESb-+zrSCac5G}6OG`^QK0e0f 0) { + // a token copied from permanent + this.expansionSetCode = ((PermanentToken) card).getToken().getOriginalExpansionSetCode(); + this.cardNumber = ((PermanentToken) card).getToken().getOriginalCardNumber(); + } else { + // a created token + this.expansionSetCode = ((PermanentToken) card).getExpansionSetCode(); + } + // + // set code und card number for token copies to get the image this.rules = ((PermanentToken) card).getRules(); this.type = ((PermanentToken)card).getToken().getTokenType(); - this.isToken = true; } else { this.rarity = card.getRarity(); this.isToken = false; diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/AdventOfTheWurm.java b/Mage.Sets/src/mage/sets/dragonsmaze/AdventOfTheWurm.java index 670e174ecfd..ea962b98eff 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/AdventOfTheWurm.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/AdventOfTheWurm.java @@ -75,6 +75,8 @@ public class AdventOfTheWurm extends CardImpl { subtype.add("Wurm"); power = new MageInt(5); toughness = new MageInt(5); + expansionSetCode = "RTR"; + addAbility(TrampleAbility.getInstance()); } diff --git a/Mage/src/mage/game/permanent/token/Token.java b/Mage/src/mage/game/permanent/token/Token.java index 75355cecb6f..743e1459f6c 100644 --- a/Mage/src/mage/game/permanent/token/Token.java +++ b/Mage/src/mage/game/permanent/token/Token.java @@ -49,6 +49,8 @@ public class Token extends MageObjectImpl { protected String description; private UUID lastAddedTokenId; private int tokenType; + private int originalCardNumber; + private String originalExpansionSetCode; public enum Type { FIRST(1), @@ -146,4 +148,21 @@ public class Token extends MageObjectImpl { public void setTokenType(int tokenType) { this.tokenType = tokenType; } + + public int getOriginalCardNumber() { + return originalCardNumber; + } + + public void setOriginalCardNumber(int originalCardNumber) { + this.originalCardNumber = originalCardNumber; + } + + public String getOriginalExpansionSetCode() { + return originalExpansionSetCode; + } + + public void setOriginalExpansionSetCode(String originalExpansionSetCode) { + this.originalExpansionSetCode = originalExpansionSetCode; + } + } diff --git a/Mage/src/mage/util/functions/CopyTokenFunction.java b/Mage/src/mage/util/functions/CopyTokenFunction.java index 4943f498e56..b83582c791e 100644 --- a/Mage/src/mage/util/functions/CopyTokenFunction.java +++ b/Mage/src/mage/util/functions/CopyTokenFunction.java @@ -79,7 +79,8 @@ public class CopyTokenFunction implements Function { for (String type : sourceObj.getSupertype()) { target.getSupertype().add(type); } - //target.setExpansionSetCode(source.getExpansionSetCode()); + target.setOriginalExpansionSetCode(source.getExpansionSetCode()); + target.setOriginalCardNumber(source.getCardNumber()); target.getAbilities().clear(); for (Ability ability0 : sourceObj.getAbilities()) { From 6339038a6f50cfad588624d63bdac1750347f0e0 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 17:14:20 +0200 Subject: [PATCH 014/139] Improved log text generation of Test of Faith. --- Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java b/Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java index b06abd575e2..8547c2564cc 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java +++ b/Mage.Sets/src/mage/sets/modernmasters/TestOfFaith.java @@ -116,7 +116,8 @@ class TestOfFaithPreventDamageTargetEffect extends PreventionEffectImpl Date: Mon, 17 Jun 2013 14:27:54 -0400 Subject: [PATCH 015/139] fix a bug causes npe. --- .../mage/client/dialog/PreferencesDialog.java | 6 +- .../mage/plugins/theme/ThemePluginImpl.java | 66 +++++++++---------- 2 files changed, 35 insertions(+), 37 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java index 3248afeff32..f3452fdb8a3 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java @@ -180,8 +180,10 @@ public class PreferencesDialog extends javax.swing.JDialog { @Override public String getDescription() { - if(extend.equals(".png") || extend.equals(".bmp")) - return "Image File(*.png, *.bmp)"; + if(extend.equals(".png")) + return "Image File(*.png)"; + if(extend.equals(".bmp")) + return "Image File(*.bmp)"; if(extend.equals(".jpg") || extend.equals(".jpg")) return "JEGP file(*.jpg,*.jepg)"; return ""; diff --git a/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java b/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java index f2a10884a10..46e8ab67637 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java +++ b/Mage.Client/src/main/java/org/mage/plugins/theme/ThemePluginImpl.java @@ -78,25 +78,12 @@ public class ThemePluginImpl implements ThemePlugin { background = loadbuffer_default(); } - - - /* - if(loadimages()){ - int it = (int)Math.abs(Math.random()*(flist.getItemCount())); - filename = BackgroundDir + flist.getItem(it); - background = ImageIO.read(new File(filename)); - }else{ - filename = "/dragon.png"; - InputStream is = this.getClass().getResourceAsStream(filename); - if (is == null) - throw new FileNotFoundException("Couldn't find " + filename + " in resources."); - background = ImageIO.read(is); + if (background == null) { + background = loadbuffer_default(); + } + if (background == null){ + throw new FileNotFoundException("Couldn't find in resources."); } - */ - if (background == null) { - throw new FileNotFoundException("Couldn't find background file in resources."); - } - if (ui.containsKey("gamePanel") && ui.containsKey("jLayeredPane")) { ImagePanel bgPanel = new ImagePanel(background, ImagePanel.TILED); @@ -143,9 +130,13 @@ public class ThemePluginImpl implements ThemePlugin { BufferedImage res; String path = PreferencesDialog.getCachedValue(PreferencesDialog. KEY_BATTLEFIELD_IMAGE, ""); - if(path != null){ - res = ImageIO.read(new File(path)); - return res; + if(path != null && !path.equals("")){ + try{ + res = ImageIO.read(new File(path)); + return res; + }catch(Exception e){ + res = null; + } } return null; } @@ -176,23 +167,28 @@ public class ThemePluginImpl implements ThemePlugin { if (is == null) throw new FileNotFoundException("Couldn't find " + filename + " in resources."); background = ImageIO.read(is); - }else if(PreferencesDialog.getCachedValue(PreferencesDialog. - KEY_BACKGROUND_IMAGE, "") != null){ + }else{ String path = PreferencesDialog.getCachedValue(PreferencesDialog. - KEY_BATTLEFIELD_IMAGE, ""); - if(path != null){ - background = ImageIO.read(new File(path)); - }else{ - InputStream is = this.getClass().getResourceAsStream(filename); - if (is == null) - throw new FileNotFoundException("Couldn't find " + filename + " in resources."); - background = ImageIO.read(is); - } + KEY_BACKGROUND_IMAGE, ""); + if(path != null && !path.equals("")){ + try{ + File f = new File(path); + if(f != null) + background = ImageIO.read(f); + }catch(Exception e){ + background = null; + } + } } - - if (background == null) + if (background == null){ + InputStream is = this.getClass().getResourceAsStream(filename); + if (is == null) throw new FileNotFoundException("Couldn't find " + filename + " in resources."); - } catch (Exception e) { + background = ImageIO.read(is); + } + if(background == null) throw new + FileNotFoundException("Couldn't find " + filename + " in resources."); + }catch (Exception e) { log.error(e.getMessage(), e); return null; } From e1db02baecf2c0b7cddcf4e86252017fd2b83635 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Jun 2013 21:38:30 +0200 Subject: [PATCH 016/139] Added a sound playing if human player joins a match. --- .../plugins/sounds/OnPlayerJoinedTable.wav | Bin 0 -> 14004 bytes .../mage/client/dialog/TableWaitingDialog.java | 2 ++ .../java/mage/client/util/AudioManager.java | 17 ++++++++++++++--- 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 Mage.Client/plugins/sounds/OnPlayerJoinedTable.wav diff --git a/Mage.Client/plugins/sounds/OnPlayerJoinedTable.wav b/Mage.Client/plugins/sounds/OnPlayerJoinedTable.wav new file mode 100644 index 0000000000000000000000000000000000000000..a8c11bb354eb35bc17337b558038c326f1043023 GIT binary patch literal 14004 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 { if (count > 0) { if (current > count) { MageTray.getInstance().displayMessage("New player joined your game."); + AudioManager.playPlayerJoinedTable(); } else { MageTray.getInstance().displayMessage("A player left your game."); } diff --git a/Mage.Client/src/main/java/mage/client/util/AudioManager.java b/Mage.Client/src/main/java/mage/client/util/AudioManager.java index 252ab22a300..cfed0bd6b4f 100644 --- a/Mage.Client/src/main/java/mage/client/util/AudioManager.java +++ b/Mage.Client/src/main/java/mage/client/util/AudioManager.java @@ -1,12 +1,15 @@ package mage.client.util; +import java.io.File; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Clip; +import javax.sound.sampled.DataLine; import mage.client.constants.Constants; import mage.client.dialog.PreferencesDialog; import org.apache.log4j.Logger; -import javax.sound.sampled.*; -import java.io.File; - /** * Manager class for playing audio files. * @@ -42,6 +45,8 @@ public class AudioManager { audioManager.addArtifactClip = audioManager.loadClip(Constants.BASE_SOUND_PATH + "OnAddArtifact.wav"); audioManager.updateStackClip = audioManager.loadClip(Constants.BASE_SOUND_PATH + "OnStackNew.wav"); audioManager.onHover = audioManager.loadClip(Constants.BASE_SOUND_PATH + "OnHover.wav"); + + audioManager.playerJoinedTable = audioManager.loadClip(Constants.BASE_SOUND_PATH + "OnPlayerJoinedTable.wav"); } return audioManager; } @@ -114,6 +119,10 @@ public class AudioManager { checkAndPlayClip(getManager().onHover); } + public static void playPlayerJoinedTable() { + checkAndPlayClip(getManager().playerJoinedTable); + } + private static void checkAndPlayClip(Clip clip) { try { if (clip != null) { @@ -175,4 +184,6 @@ public class AudioManager { private Clip addArtifactClip = null; private Clip updateStackClip = null; private Clip onHover = null; + + private Clip playerJoinedTable = null; } From 03b5aea22999afa381d81355b68f0313b1e638e4 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 08:33:27 +0200 Subject: [PATCH 017/139] Added DrawDiscardTargetEffect, improved DrawDiscardControllerEffect. --- .../common/DrawDiscardControllerEffect.java | 25 +++++- .../common/DrawDiscardTargetEffect.java | 85 +++++++++++++++++++ 2 files changed, 106 insertions(+), 4 deletions(-) create mode 100644 Mage/src/mage/abilities/effects/common/DrawDiscardTargetEffect.java diff --git a/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java b/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java index c37d692d13e..251843ae5c3 100644 --- a/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java @@ -28,11 +28,12 @@ package mage.abilities.effects.common; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; +import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; +import mage.util.CardUtil; /** * @@ -40,13 +41,29 @@ import mage.players.Player; */ public class DrawDiscardControllerEffect extends OneShotEffect { + private int cardsToDraw; + private int cardsToDiscard; + public DrawDiscardControllerEffect() { + this(1,1); + } + + public DrawDiscardControllerEffect(int cardsToDraw, int cardsToDiscard) { super(Outcome.DrawCard); - staticText = "Draw a card, then discard a card"; + this.cardsToDraw = cardsToDraw; + this.cardsToDiscard = cardsToDiscard; + staticText = new StringBuilder("Draw ") + .append(cardsToDraw == 1?"a": CardUtil.numberToText(cardsToDraw)) + .append(" card").append(cardsToDraw == 1?" ": "s") + .append(", then discard ") + .append(cardsToDiscard == 1?"a": CardUtil.numberToText(cardsToDiscard)) + .append(" card").append(cardsToDiscard == 1?" ": "s").toString(); } public DrawDiscardControllerEffect(final DrawDiscardControllerEffect effect) { super(effect); + this.cardsToDraw = effect.cardsToDraw; + this.cardsToDiscard = effect.cardsToDiscard; } @Override @@ -58,8 +75,8 @@ public class DrawDiscardControllerEffect extends OneShotEffect { + + private int cardsToDraw; + private int cardsToDiscard; + + public DrawDiscardTargetEffect() { + this(1,1); + } + + public DrawDiscardTargetEffect(int cardsToDraw, int cardsToDiscard) { + super(Outcome.DrawCard); + this.cardsToDraw = cardsToDraw; + this.cardsToDiscard = cardsToDiscard; + staticText = new StringBuilder("Target player draws ") + .append(cardsToDraw == 1?"a": CardUtil.numberToText(cardsToDraw)) + .append(" card").append(cardsToDraw == 1?" ": "s") + .append(", then discard ") + .append(cardsToDiscard == 1?"a": CardUtil.numberToText(cardsToDiscard)) + .append(" card").append(cardsToDiscard == 1?" ": "s").toString(); + } + + public DrawDiscardTargetEffect(final DrawDiscardTargetEffect effect) { + super(effect); + this.cardsToDraw = effect.cardsToDraw; + this.cardsToDiscard = effect.cardsToDiscard; + } + + @Override + public DrawDiscardTargetEffect copy() { + return new DrawDiscardTargetEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); + if (player != null) { + player.drawCards(cardsToDraw, game); + player.discard(cardsToDiscard, source, game); + return true; + } + return false; + } + +} From e20b85b0596392d4c0fed881c1258b57cb4e686e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 08:34:12 +0200 Subject: [PATCH 018/139] [Minor] Some rework of DrawDiscard effects. --- .../sets/darkascension/FaithlessLooting.java | 6 ++-- .../src/mage/sets/odyssey/CarefulStudy.java | 11 +++---- .../mage/sets/returntoravnica/IzzetCharm.java | 6 ++-- .../sets/returntoravnica/Thoughtflare.java | 6 ++-- Mage.Sets/src/mage/sets/tenth/Sift.java | 5 ++- .../mage/sets/urzaslegacy/FranticSearch.java | 6 ++-- .../src/mage/sets/urzassaga/Catalog.java | 31 ++----------------- 7 files changed, 16 insertions(+), 55 deletions(-) diff --git a/Mage.Sets/src/mage/sets/darkascension/FaithlessLooting.java b/Mage.Sets/src/mage/sets/darkascension/FaithlessLooting.java index 010a6220169..1e690ccfa48 100644 --- a/Mage.Sets/src/mage/sets/darkascension/FaithlessLooting.java +++ b/Mage.Sets/src/mage/sets/darkascension/FaithlessLooting.java @@ -32,8 +32,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.abilities.keyword.FlashbackAbility; import mage.cards.CardImpl; import mage.constants.TimingRule; @@ -51,8 +50,7 @@ public class FaithlessLooting extends CardImpl { this.color.setRed(true); // Draw two cards, then discard two cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); - this.getSpellAbility().addEffect(new DiscardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2,2)); // Flashback {2}{R} this.addAbility(new FlashbackAbility(new ManaCostsImpl("{2}{R}"), TimingRule.SORCERY)); } diff --git a/Mage.Sets/src/mage/sets/odyssey/CarefulStudy.java b/Mage.Sets/src/mage/sets/odyssey/CarefulStudy.java index a4300e5440d..35a59312707 100644 --- a/Mage.Sets/src/mage/sets/odyssey/CarefulStudy.java +++ b/Mage.Sets/src/mage/sets/odyssey/CarefulStudy.java @@ -27,13 +27,11 @@ */ package mage.sets.odyssey; +import java.util.UUID; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; -import mage.cards.CardImpl; - -import java.util.UUID; /** * @author magenoxx_at_gmail.com @@ -47,8 +45,7 @@ public class CarefulStudy extends CardImpl { this.color.setBlue(true); // Draw two cards, then discard two cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); - this.getSpellAbility().addEffect(new DiscardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2,2)); } public CarefulStudy(final CarefulStudy card) { diff --git a/Mage.Sets/src/mage/sets/returntoravnica/IzzetCharm.java b/Mage.Sets/src/mage/sets/returntoravnica/IzzetCharm.java index a7d65bb535c..e476ae6e09d 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/IzzetCharm.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/IzzetCharm.java @@ -34,8 +34,7 @@ import mage.abilities.Mode; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -73,8 +72,7 @@ public class IzzetCharm extends CardImpl { // or draw two cards, then discard two cards. mode = new Mode(); - mode.getEffects().add(new DrawCardControllerEffect(2)); - mode.getEffects().add(new DiscardControllerEffect(2)); + mode.getEffects().add(new DrawDiscardControllerEffect(2, 2)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/Thoughtflare.java b/Mage.Sets/src/mage/sets/returntoravnica/Thoughtflare.java index 54c4160b783..73e05f69a00 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/Thoughtflare.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/Thoughtflare.java @@ -28,10 +28,9 @@ package mage.sets.returntoravnica; import java.util.UUID; +import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; import mage.cards.CardImpl; /** @@ -47,8 +46,7 @@ public class Thoughtflare extends CardImpl { this.color.setRed(true); // Draw four cards, then discard two cards. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(4)); - this.getSpellAbility().addEffect(new DiscardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(4, 2)); } public Thoughtflare(final Thoughtflare card) { diff --git a/Mage.Sets/src/mage/sets/tenth/Sift.java b/Mage.Sets/src/mage/sets/tenth/Sift.java index 86655ccb4f3..5a6f4fa78fb 100644 --- a/Mage.Sets/src/mage/sets/tenth/Sift.java +++ b/Mage.Sets/src/mage/sets/tenth/Sift.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; /** @@ -47,8 +47,7 @@ public class Sift extends CardImpl { this.color.setBlue(true); // Draw three cards, then discard a card. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(3)); - this.getSpellAbility().addEffect(new DiscardControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(3,1)); } public Sift(final Sift card) { diff --git a/Mage.Sets/src/mage/sets/urzaslegacy/FranticSearch.java b/Mage.Sets/src/mage/sets/urzaslegacy/FranticSearch.java index 78225e1f969..97705ef069e 100644 --- a/Mage.Sets/src/mage/sets/urzaslegacy/FranticSearch.java +++ b/Mage.Sets/src/mage/sets/urzaslegacy/FranticSearch.java @@ -28,10 +28,9 @@ package mage.sets.urzaslegacy; import java.util.UUID; +import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.constants.CardType; import mage.constants.Rarity; -import mage.abilities.effects.common.DiscardControllerEffect; -import mage.abilities.effects.common.DrawCardControllerEffect; import mage.abilities.effects.common.UntapLandsEffect; import mage.cards.CardImpl; @@ -48,8 +47,7 @@ public class FranticSearch extends CardImpl { this.color.setBlue(true); // Draw two cards, then discard two cards. Untap up to three lands. - this.getSpellAbility().addEffect(new DrawCardControllerEffect(2)); - this.getSpellAbility().addEffect(new DiscardControllerEffect(2)); + this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2, 2)); this.getSpellAbility().addEffect(new UntapLandsEffect(3)); } diff --git a/Mage.Sets/src/mage/sets/urzassaga/Catalog.java b/Mage.Sets/src/mage/sets/urzassaga/Catalog.java index 89e3830c460..2f1d132b2cd 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/Catalog.java +++ b/Mage.Sets/src/mage/sets/urzassaga/Catalog.java @@ -33,6 +33,7 @@ import mage.constants.Outcome; import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.game.Game; import mage.players.Player; @@ -49,7 +50,7 @@ public class Catalog extends CardImpl { this.color.setBlue(true); // Draw two cards, then discard a card. - this.getSpellAbility().addEffect(new CatalogEffect()); + this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2,1)); } public Catalog(final Catalog card) { @@ -61,31 +62,3 @@ public class Catalog extends CardImpl { return new Catalog(this); } } - -class CatalogEffect extends OneShotEffect { - - public CatalogEffect() { - super(Outcome.DrawCard); - this.staticText = "Draw two cards, then discard a card"; - } - - public CatalogEffect(final CatalogEffect effect) { - super(effect); - } - - @Override - public CatalogEffect copy() { - return new CatalogEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player != null) { - player.drawCards(2, game); - player.discard(1, source, game); - return true; - } - return false; - } -} From a378338bd385af6249186035f63f522bf6f54d09 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 08:34:28 +0200 Subject: [PATCH 019/139] [Minor] Formatting. --- Mage.Sets/src/mage/sets/championsofkamigawa/Earthshaker.java | 1 + Mage.Sets/src/mage/sets/planechase/EtchedOracle.java | 2 +- Mage.Sets/src/mage/sets/worldwake/ChainReaction.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Earthshaker.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Earthshaker.java index e7920ce8105..f658d9eb202 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Earthshaker.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Earthshaker.java @@ -62,6 +62,7 @@ public class Earthshaker extends CardImpl { this.color.setRed(true); this.power = new MageInt(4); this.toughness = new MageInt(5); + // Whenever you cast a Spirit or Arcane spell, Earthshaker deals 2 damage to each creature without flying. this.addAbility(new SpellCastTriggeredAbility(new DamageAllEffect(new StaticValue(2) , creatureFilter), filter, false)); } diff --git a/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java b/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java index c8344b5bf98..b62afa3c947 100644 --- a/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java +++ b/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java @@ -56,7 +56,7 @@ public class EtchedOracle extends CardImpl { this.power = new MageInt(0); this.toughness = new MageInt(0); - // Sunburst + // Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.) this.addAbility(new SunburstAbility()); // {1}, Remove four +1/+1 counters from Etched Oracle: Target player draws three cards. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(3), new ManaCostsImpl("{1}")); diff --git a/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java b/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java index a205f8f5530..c9cdc58679b 100644 --- a/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java +++ b/Mage.Sets/src/mage/sets/worldwake/ChainReaction.java @@ -47,6 +47,7 @@ public class ChainReaction extends CardImpl { this.color.setRed(true); + // Chain Reaction deals X damage to each creature, where X is the number of creatures on the battlefield. this.getSpellAbility().addEffect(new DamageAllEffect(new PermanentsOnBattlefieldCount(new FilterCreaturePermanent()), new FilterCreaturePermanent())); } From 18a8935c653624e0a4893c19207090e32540819e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 08:34:59 +0200 Subject: [PATCH 020/139] [MMA] Added 2 cards. [TMP] Added 1 card. --- .../mage/sets/lorwyn/ThundercloudShaman.java | 52 ++++++++++++ .../modernmasters/CarefulConsideration.java | 52 ++++++++++++ .../modernmasters/ThundercloudShaman.java | 83 +++++++++++++++++++ .../src/mage/sets/tempest/EmmessiTome.java | 65 +++++++++++++++ .../sets/timespiral/CarefulConsideration.java | 68 +++++++++++++++ 5 files changed, 320 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/lorwyn/ThundercloudShaman.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/CarefulConsideration.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/ThundercloudShaman.java create mode 100644 Mage.Sets/src/mage/sets/tempest/EmmessiTome.java create mode 100644 Mage.Sets/src/mage/sets/timespiral/CarefulConsideration.java diff --git a/Mage.Sets/src/mage/sets/lorwyn/ThundercloudShaman.java b/Mage.Sets/src/mage/sets/lorwyn/ThundercloudShaman.java new file mode 100644 index 00000000000..b6617e88a6e --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/ThundercloudShaman.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class ThundercloudShaman extends mage.sets.modernmasters.ThundercloudShaman { + + public ThundercloudShaman(UUID ownerId) { + super(ownerId); + this.cardNumber = 195; + this.expansionSetCode = "LRW"; + } + + public ThundercloudShaman(final ThundercloudShaman card) { + super(card); + } + + @Override + public ThundercloudShaman copy() { + return new ThundercloudShaman(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/CarefulConsideration.java b/Mage.Sets/src/mage/sets/modernmasters/CarefulConsideration.java new file mode 100644 index 00000000000..d3b7e7fb8d8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/CarefulConsideration.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class CarefulConsideration extends mage.sets.timespiral.CarefulConsideration { + + public CarefulConsideration(UUID ownerId) { + super(ownerId); + this.cardNumber = 37; + this.expansionSetCode = "MMA"; + } + + public CarefulConsideration(final CarefulConsideration card) { + super(card); + } + + @Override + public CarefulConsideration copy() { + return new CarefulConsideration(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/ThundercloudShaman.java b/Mage.Sets/src/mage/sets/modernmasters/ThundercloudShaman.java new file mode 100644 index 00000000000..788a75f1ff5 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/ThundercloudShaman.java @@ -0,0 +1,83 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageAllEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; + +/** + * + * @author LevelX2 + */ +public class ThundercloudShaman extends CardImpl { + + private static final FilterCreaturePermanent filterGiants = new FilterCreaturePermanent("equal to the number of Giants you control"); + private static final FilterCreaturePermanent filterNonGiants = new FilterCreaturePermanent("non-Giant creature"); + static { + filterGiants.add(new ControllerPredicate(TargetController.YOU)); + filterGiants.add(new SubtypePredicate("Giant")); + filterNonGiants.add(Predicates.not(new SubtypePredicate("Giant"))); + } + + public ThundercloudShaman(UUID ownerId) { + super(ownerId, 135, "Thundercloud Shaman", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Giant"); + this.subtype.add("Shaman"); + + this.color.setRed(true); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Thundercloud Shaman enters the battlefield, it deals damage equal to the number of Giants you control to each non-Giant creature. + Effect effect = new DamageAllEffect(new PermanentsOnBattlefieldCount(filterGiants),filterNonGiants); + effect.setText("it deals damage equal to the number of Giants you control to each non-Giant creature"); + this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false)); + } + + public ThundercloudShaman(final ThundercloudShaman card) { + super(card); + } + + @Override + public ThundercloudShaman copy() { + return new ThundercloudShaman(this); + } +} diff --git a/Mage.Sets/src/mage/sets/tempest/EmmessiTome.java b/Mage.Sets/src/mage/sets/tempest/EmmessiTome.java new file mode 100644 index 00000000000..0584dbca8a9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/tempest/EmmessiTome.java @@ -0,0 +1,65 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.tempest; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class EmmessiTome extends CardImpl { + + public EmmessiTome(UUID ownerId) { + super(ownerId, 274, "Emmessi Tome", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{4}"); + this.expansionSetCode = "TMP"; + + // {5}, {tap}: Draw two cards, then discard a card. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(2,1), new ManaCostsImpl("{5}")); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + public EmmessiTome(final EmmessiTome card) { + super(card); + } + + @Override + public EmmessiTome copy() { + return new EmmessiTome(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timespiral/CarefulConsideration.java b/Mage.Sets/src/mage/sets/timespiral/CarefulConsideration.java new file mode 100644 index 00000000000..9450964a645 --- /dev/null +++ b/Mage.Sets/src/mage/sets/timespiral/CarefulConsideration.java @@ -0,0 +1,68 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.timespiral; + +import java.util.UUID; +import mage.abilities.condition.common.MyMainPhaseCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.DrawDiscardTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.TargetPlayer; + +/** + * + * @author LevelX2 + */ +public class CarefulConsideration extends CardImpl { + + public CarefulConsideration(UUID ownerId) { + super(ownerId, 52, "Careful Consideration", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{2}{U}{U}"); + this.expansionSetCode = "TSP"; + + this.color.setBlue(true); + + // Target player draws four cards, then discards three cards. If you cast this spell during your main phase, instead that player draws four cards, then discards two cards. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new DrawDiscardTargetEffect(4,2), + new DrawDiscardTargetEffect(4,3), + MyMainPhaseCondition.getInstance(), + "Target player draws four cards, then discards three cards. If you cast this spell during your main phase, instead that player draws four cards, then discards two cards")); + this.getSpellAbility().addTarget(new TargetPlayer(true)); + } + + public CarefulConsideration(final CarefulConsideration card) { + super(card); + } + + @Override + public CarefulConsideration copy() { + return new CarefulConsideration(this); + } +} From af4759f1272bf93abd5753b81a3cfc373fc4db5e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 12:28:49 +0200 Subject: [PATCH 021/139] Added some background images to client/backgrounds. --- .../release/backgrounds/Blue-Abstract.jpg | Bin 0 -> 91931 bytes .../release/backgrounds/Distant-Galaxy.jpg | Bin 0 -> 260171 bytes Mage.Client/release/backgrounds/Galaxy.jpg | Bin 0 -> 279243 bytes Mage.Client/release/backgrounds/Gray.jpg | Bin 0 -> 1309123 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Mage.Client/release/backgrounds/Blue-Abstract.jpg create mode 100644 Mage.Client/release/backgrounds/Distant-Galaxy.jpg create mode 100644 Mage.Client/release/backgrounds/Galaxy.jpg create mode 100644 Mage.Client/release/backgrounds/Gray.jpg diff --git a/Mage.Client/release/backgrounds/Blue-Abstract.jpg b/Mage.Client/release/backgrounds/Blue-Abstract.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc16db47092647e0808d50a399189f28f28abc56 GIT binary patch literal 91931 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

sTUST;)6qwT&6tcJa6M_RF?ajGP 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

~g%%MtWMq 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 z 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�WQ% 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 literal 0 HcmV?d00001 diff --git a/Mage.Client/release/backgrounds/Galaxy.jpg b/Mage.Client/release/backgrounds/Galaxy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5de98c774302147bc78032a02502eb33e9e05021 GIT binary patch literal 279243 zcmeFYbzEFavnaX-cMt9i65L4$?t>+0aCaDd(BKl>C4nSJaJNB2fZz~;f#8w^B6uKJ z&^wT==YH?KyWhFzzuog&-Cfny)z!6nt*+`-b2)SQ0U%OUf+ztX6cC_-`~jCAaY7aS z9PI!=Lj&Lh000ZX1d#x!$QlUw13=UO`gI)utUxq>)SW;aztNx|X#@ad4v--)Pmtgr z_2`F=0NQVTpCHR2ngPS{}7%x8{$j>h<&MzR&e~VE- zOk7YvTv!xI4xr|PevNl|2>|&hzw<={@=<@UUx|F3FhHok$%gS)`9b7=$`7LdtNch^ z{3a)e4doBs*xJAG`!Ns?~OzN2n~daf`)>QiGhWViYJ6@Bt}JJA`w8B)v_dI_6QTiAWJQ%mtz6n z(C)Dk67~!qm&asH)A{~!*V;>jys#mHO(9*^M)B2iZ&3<_-Y46=#>n0Y*vbzj_Kc#a zrp&&{)%{|4|NGAe`gT6iStZQ_Q(q3nl<(X7KFls{8JzxlL=2#yAf-jSmI)IBUF2E> zCIJ#Oqy!$!r09ZSsbp6Y^k|QN7Xn*-^bAjv*STTsCA`auaU}pIo5(8!Qi$giHi~+p z-nO6q5aIt>0`@;exSRvLA<^k96Tyk+TzXHQa6hpab+IIoU_-vA2#U#ljWE=?%vvs+?f?J zV3c_}080)5y?nE*D9g&FjpvN2NAb;4qi7G0=#C#9ZSLJ1RZDbctj~9or3W)QeioHr z-&9yH^oFQHz-c;{V|(jew`trx(9Q*e1~nk(V`CAzr_V>UP#;E8t}+l@0&}vE4e;8> zTFxnb#hvjk7|*&cMgsojzEWRbBLGySIMq|ql@JIxaBf8 zYx*6p3Vi3&Kumb!>AX(#U?IV`PSJMURf;=5CwhxcLzI73P*_hLrc6+X2Ib`#jq`e$ zpN^_ey))4MKyxoTO(u9Hi7YcCXaKNHt%&1Yn6eW_ozvvhrKBRbKEJ*I7`kd0&LlwXc|Tc#%dw5PS*zaCjEUvrWBoW8u@8$67PY zQK%`k<45Pxv$$qcB9kvzq;1_#l}C^0ekRQ%ux7Xlr!$?gs z2a3>uE`<1gW3{NX2R99TJKU8F`>x#IAFQu&Yajp66c3+7vTt*C`|K-gkfwDZ9-WND zAkV#;UPA&$lG!tF^~??9T0B<=>o?Y>B~qWU1sK0Seaq{!BPGSjOqft8`d;;!Orp0q zVb3iTyzh_XyzclUofHx!vNF=l3U$comR=(EiqasgtTx>&nj^tW_6zr%y(xEuR z$M%*FE-E-R6iZs*y((P!L(7v6lB!wlqmNG{vTkL^W6`{Mljn0vvolnAbhN1b#ir?J z(uRBq4Aa`UDrZ4-Zk)R1u3IaZ@KZR=tVYG$x{pLowF7}=_~ERJPRrfzpdaN0|CW=F{=A z@<*RuyteRNZ93-(>d1M_Yz+>x{JdFa@@ncdMi4P(+kLTfaD$?*Xd25)6psQJg8D)sJOteiAHc==S%BIo4U;Fzk z+ifi^*2q<>m^-4^purEmO-I!3nb1xikxPhv-;{ml4XN;!Q_bt&^hcmYeS)eBS)OJ`|}z;qU%rF zTBfDqWwJUP<2k*9Fri1&7gojAxawrd-qA$trV`I}U)jldN}NsjLe!rOIr!wfO#>_M zi2WdQL6D^GslLJ@3eUTo+$&Oz6z=H9r$k+AIuyU_cnN4H=-vk&CoQwGb#C&`e0tMe zf2yu_7vbFHFTbm*&8c6kvB~31Yl5Jk1&CCD&4*$8rdyYQ&{Baw_c2+?T?XE7MwyHc z#tpq@WYHe_?8-h1;e#=L+2Ua~v7-BMXYH&gW3v;!XaIACWGLiOqF+Kn0XsC}BhY4T)*r~k!Cj-hcuH|3+V z@5(I;VS%(?0uYNu1KpY*S=<>$tV4pFU{3Rv3*FfE#8uN5gs#hO-)2wq9yKm^&b;yP ztxuzr2<*D3T!^K~r+acLjO}VU2h11UN*A;_eaMiLGcEG=@SM1>tfa<%R&iojgOwTb znN|97_Hv6*{7)ND2x$Y}l7ncVv0j@ZM86p%e-u}3s9V3a{j$tZezPi3uKTfFw-Nl& z0gw&_esRRV#$8!@e%F*#f57zDTz_1{*w;BS1O4iSa}6VH)+-wJU-IBw+pt#+*JGj{ zT+^rke0Fxo78hiWv^~ zSIz&i>GHqRcCDE!*2uX5plj&Lwg;{)NWs4fF9rqcms~e%LT9nYyciW0Exfy5dLfW3+}4#AJ+aKbblfE1NWPd zSFkJ0#RXYhO$Nit4d!a&b=S(t8VUW@Putr2YUpdZbdk=8i<_%G624CAwszish2^~6 zpugZ>Vrbht{MLTm9mC7T(c0Ea-$mUE*&Xz^anP^ZkZ2O*g?SA?6#l{+)85k!=KePn zhMT9Oy`!tGD-4S4gQuu-#r^Iz4hiF1!o1y-ZC!0WExm1RkO)B6-`(~%Vw_*ZSD337 z2-KbtS^Q7W9~I{5qN`}2iyZ1V;cXC`SdwDk(H_yK)m-rWdIpseZkX-;xH`gm&V|%-~--UU5+5UCm;J6?c(*K6V zvvTuBE~x(vkBhv;4*!+>`iUgI8VCUW_J+FhyMHa*UvEIXD-hcinO!L>6nR-7tH?41 zSw(ualt`cSUoZAwFZRpfzh3OWUhKbK?7v>@zh3OWUhKbK?0?IPy|&AkkOmfj^l7eb zGXNk2WRWh78(@WWZ5V-jfCIAbjl8_BYe?4)ApQTKUiUw05k*00cf?2OkW-p-Qj1{(Jmy^)5y zv!geoAnz?+K^`F?Zbmy#OQ@}{o2N6Q0Ivu;lBK7Oow&Aw(r*lrkRo) z;C&Uu-^sX|9=xe;_CkXof&dkd{-*`%e;_t{e?rS6{%ppKW^HUIREqM-$DM7j{jBH zzv}u&8u&-V|E{io)%A}w@Q;Z9U0wgG>mO<09})k%y8czyKhnTIBK~)E{j08jq=A1# z{O{`eS6%-|1OJHl|L^KTp6~pADrD=5JPPtfp85PGYE|ayxam4-73GhFimaicA#-Gu zCE8U&$3VYM7#NtCSeTd?*w{EY$mrI;ClD$sDmofEHUmYEnOY#na-+WI`?$6c*2i5i zxs|-94r_RtwJ;k+;VXr!kW*yP=@k!D^sD$-07Q(!gepLSj5tN}U=B+yApKt7BZxl! zQEpe8g$%KKGw^9R>cgm zwoOUse({HTP6&=zHs z80}ACo$HRFjj6a?ge=X|f{TVvFkb%f5j~i$Hm(lnb62)f9k@@{s^_&uBZe~djhh#H z&{9t)K0G0+I@VnW0>ISv~wu?WRX!jG$Yy$)3Ft; zeC));Y*}^ZNz;p;0>NLBw}M5ecgIJi0!2-T`FJwM8IuX@bG@24({2yxMWR~Qx6l~N zXhOCs8a=k?pIrj6cPssF3K0m}*d{nqtDJq^+><-*Rp4vN=(xen4Gj|4(`(T^JHhTt zjQK*IrNA4{Hf_iYg2Bg{Zq<~z6kOpdPRiPaaVLZTWIh~NBjg!an(bcxqmoY(+X?^cDwpLoKxR9v@ zo>eWc+YSuDaSp=*%?*3X)dLse&rZB6JbJ%#WPnw=XJ}m6t4|L^3vSUpS=9<;aD8~9 z@wV#}u|-AHB6!14G&HB8?wnh(Mm$doGCB;w)x#!yGD^wCp+o=i#WvdZJfaucMH7I~ zhj!zUTB$#GWGQDztP3uWuw zL&REBFFGG~83zTL?-i|LN=!#-g{I1aIa<7Gnp>xhf{IKnKG@eUb&~*$NzZFbYm33f ziMPOZwx2zz*!g(<1;1um%YzdPN0bV0O?zy>bvaIOjLJ_PmBU)Vo=0jCHQ{snJGFPe z%2|=Pj!^fl*-6SUY)!?I^3?sjxS#y#_A?3!?*2iqwWQk;rZE?miTpW?hSB?T8y$0s zrwh8~N*!jobhb4N)94o~syN{vD&6dPiNHn}Xy*4^y~)>{rp%KE*HvvU#0VtT>>-W2 z$35f{6W9&$Q9g;dSh|I6%S?x5%+unjMu^5y1;fnhZ?fQpZK)!C#l$oSS0#~j>BNQj zc<7#Vc4~Th%8ylBDVI0453=p7J_3sG;mu<}my=$hD%UHSg*JQk1eQ~FNanUCBG9-@ z#JVtiW$?tEc{x#VoHkjE_Dqh3!k{vLd+mO$c3l)n+X9Le`|Yz=^NN$Npwn)7af8& zrZ|fM>@gIrvQS58?Sobwvmhz1@8cJ{3S;ldD8EhAgM1C=vJA6RZyE`P)zoLPZP_Bu zgW&-tmaF%NEr;I>eEzy;NYu+FL85A$9AO*Y2f2eq(61T~vhvRY8Q#y7TNu(bT^wP;A zpIF|;+V*9Uq;{x((_z|H^PB343ZwQ$EwA3J*pR~eGTiNc3>7samlF0Dvj42HGB6m~ zmNs zXZYhDlU|m<=V*-qHaZn~E15HA^8BKaG_1~jma-zDj6b$A^b)CMl%~iE6dBR61JMoL zP>;SCiH8PZbsiPl@U0M|JDMoyY7%XRB&(_;wogaX3bfSd+ZpdY|6UP;!S2zfwQV8U z4Y(cql5xh#2gT215;}v%k_tcVBVwIXOyYM{1d=r0J4D3z?tmgvj1^niWnl0Mon)<- znriG%Uxy2a-q71+eYL2IyAElCzwLCWh$464E;4ET@d~A#40ca7#T(CiY`^sW#@bMO zFBLUE9+tN#$D+45iZ~)W`UM)UJ>S-0+D@0hnDaWf=1Vx~Hyx7VP+P>ig84wx0JGXL z#XM3%QeOQfXK^!W(*8TV3j9I6R9S2eI(EnB4JtR(%;yL;XpHI>wq9}8$xwNLNmgQU ztyjtXwGxj6QJeO+THhZ$sk0r#>yqHGm(8i} z^4Rir%F|=SKo-t;8md9=Q)M~fvQoSBPqH5>)=S}C2)N%#Oanb;A3HNP!_Csf!Z&;0 zJYKa6Vhw@Qx&v#s;MLXZw1;^_!U*cm$qX0rDYSw%z5P-O50gyx5;GX_&+Bg{pe?#~ zDAp>~Y?m*Vh6oIPTosjXDx}8c8K!v@TH$?m0k60h`yg$a^1SIMi3X0}3rmY7v?MUQ zu53B(GNSZ|1vQ*XNng+QraL7H7CG~$SGmE8D21kb12sJ?K0q7VjJdYV^xa~1eq5FY zMWWOxa-m3`9e8Hc5FV(0(qO}>*lx<>05eQ56`aWYDwW091`>#Zo>+5thK><3GL%a zt?p1#gKeGd$l&e@Yx8II4SY6tzS&0YpxATftlG2?oA^|+@I#vFv(i$vb51jfSX}f_ zE9E0GXP%^w1?VA9)dMrbxbYuliLn?TR7OJVyOE~tk2ky4tIHt_gT_o0kAwLYW-F6a z2*$Ycl}uou7|a4;MAg^OrU9HMdB8KRIMdz81V%?Pt_Jft0~8rBjH2A*7P1E-`CP6t=aBzN``- zCt)fUb-o1jE&(0~Gev$$+CRDW(&N5L}B&s=>V;5&a zoRZSRkI$UCWhY|@VuZa6FUxrN$%UbDR6YI9X9=*ZYobiR6Pu5hXy zZpm(V+Ua)*B**5NqZjfDM5-!OeJdl3O)+0Sm&&53=6G*rTS&!+n(}(3VVV!e9PNXI z(>mE2*iMYxU3Q^H`R)fNH?sp+v)-f37%$}&;#d-mny}}rE~@dN_hmhbYxU;&1a*|H zQk#Vp-^Hm36`vRJ<`YTs8NQXti%lO~!F!%MsQe5(kVb3cPtSt)=7dc<()DI_gbDqp z=bq3qS7Kd{VFJUCDFxw#Ee3^p;CeCFguXnp=2F$xugv}*l%Mo)xOk3Q5gu{(k&`>` zW7dRMzy5d*fpPoe9b|9TuRJb|r^f2_Cng&dxCb_lLeDVPY}c7})DEv?tIhq%KHyK7 zc%~fpNs24E$Lj?x74eTtfGM8M(L6iNQLG7Eqhkxh?GxXS7s%mY~u9r@zyF@%1(&KB2+0M zCW_^FpMNb$()v|v;@C%z-nXE2shtoG>FHwEykutK@!RKdo_D7kG>%WzqhizS$4pUq zrFj1yPS3e!%hc4EfpdA$<^(mhwn7rw@hGZYXR>A}a?#W72}QE6x4>PfAZPuAD5NW* z%T096TP5wd2ue7j+cYr>`Rr^WE?!xB(Jc z&S=^gwOeQ%sfPo*6TKAO%B5JcUXgmA2i|wV>j{mw8SdxS>fxed*s)1bV&1J}ij8pN z-gKpUfPq^&`uVxm_CM2-ETJ#W%QWH9>);o`+B;E`1$a zi_RJu_5zBQ$xEQxDTcJ8I3hEiAfmg?wXhWUdC#W`$v zbn`)3EvrD(%g>o)HU(Jo*r^S*`f&HoFcsCJ`vPL?RwaE+!)d*ijy^>M380niK z;U<4IeKMn?2DsPFZjHC+9-syIoH>GCsW5in;-gCe_bilm+vqNVOsO#r@_LEXMvj*~ z{uHgK)$Ak!GmU~)Ikyo$B>hy0U{Oz^a*dZ8@lY_KDxHqHW1=j$zHN7g>c;b+5gH}( zo#k~-*8(Q)Y)WGHHBJIE$2=03``M$RaeE~)iDz2;83WBrWRkH=FbZ+)S?A9ipQWYW zp@ZWzd`(?=76OuW){G!LIGIz*>`t7<`}vF^oog|xvQs~JV&$+*#Sf-Sow#!c!%DI- z-aYy`IMTM9aOSllkt`%?K5)V8NjP}xq3!NRsX%{0btlQ?1&1ED>dJ>J4+{GiS4F_cz$yUWGH4N!I&2g%iwQM5fK}MZE5D4dDNZRcv05x{d|$; z?qYko@It~N7mQzJwW|moiQZ~Hva}2|Ygj&AZoUK@+1*G5j(c=thvlZ~_bE7oGmC!8 zIr`+GiOc=ZIBrO1knj@m=RQ>m@kMdP_GTIlRhlA~4uel`dyIo2@? zchSH7gdEfP87lM-2m9JZ_<3+fP<<*3s(aX@uanEK#_1 zdOR!+71)zc(JdP`OiiC-wNIIl`b)97;z~=$z827s;!c-i8+ghVR+RWyOc|`0IhlD! zMO2*HsHM6oqm8sy|9*$cDQ)9OML(I4i2)(v&OYPR+j7G=B`Pf{R@C4rJZrZxnR;Nu zYe6S6)ZOpMk;W-#JaxXhics~jniObyFl{9{*Phd#o{P?-sDH@hZJS)o%;Ju$sofToY$F)FAYT>rp^}QbjY=VlR^P(3i34#Jw5Ag2&Mx%uVS*c zx9H9p#}VbGrFvWiZhl}<0=MfNipEf71=~B!a(5Gbg1hYG60BuK7J5O;$po19C7m0`z1WB>ZZ~&&)dQz zl`9;~u-C0&Veri<=Ecq>xXAO2=P8>;^2v`wH*eFTiVCV*&V#K?d@S@HLnzQ@AIdK^ ztFjup%R|4j9}#}Uj2-I!()#Q+f9u`U54|HEFCG|TvKB;ZlgMOtG*x^7=J~HrGPrF0y}HBM!Z)@{HGnNmC_tQ z$q>|w>QNls>G0yP`+hiT^^*frz}CX8_TmzFmAi`G-Jtq_|M>`_{Dnt^58%4C4_^~) z13BWd%=Cq5esa46?zK*uO|ny3-1PYD0ufZO-&#qvaI8UpCiA+mZ()JOd;bJsOhK^?tHRP z;~?h?hq(p=a%xvI_~0IVtBFU0{dV46>DX%OJ*_?M-FI1U2715-FDWCi->!Vt)#AcM zuj2_sA$Yn0KX`N@jY{PoPMU8TirRjf5WdPF$EhUZ9#QGa`~lT%WhntTOUBkEs#FS5 zkMQ~Ejy}YQT0RxIsEF3cMzw;Ipp5)?zX0DOTMPjZZoM|rsAv`7X^kfmjW_wSVej~a zf)k6tw=1Qv<~w@&T(cGwbLxGyF0(lc9!~D^UE^H(_fkD51BZ6L9VS^`<L zdqE&iuAGSKit;Ug%5^ zmnPO7G-;3YH`v3Z`Vm9=@DtMQvg{auDGbUXyDG zwN{|-h@E>m#jv+up?#Aqo*|2YB~xR>>>er&qsrn*6&+siiJ70FI-|Evr3ug`ItMcm&Qu|t0i}sTBxo|0*x!w z%}q7y1io5qsG!EXIOkYg9nk6+NM!z9B9CIg=JV+A_j<3fH&Lm{iHX7ua?ClpT;wti zk7)Y(_;m`H2UQ1yD_sgnQcjzc&L^e4>Q^~CegP^XZKZ?e1A$Ac% zu`B~N7`HPaG!J2->%1a`8;#UZy4L0vYEU4ozI0U{+I}v5Umh`C+8wzmx+IIG(rEls z+x`3f`y_X0ju(wR@M$n)#N(Z?BonpwiP`{pf8xVBZv4Y6GzT{*te}jioovb8$x#l)`zHHG8S!~=rwphR3J5YL1~t;j7RN-7CmpvyXRINS$^jbxw88)jp)cND2SH zeg63SnI`Jx#GiXv{<&(Apb&XOb&Q*FUa{^02^hmlSE(bnPHVo?)I8M?L~dChLH_=I zKrX%td#x&uh02PnbdjMew@q{OQDGG}2`cGvFQHR7PMw7~9i`(^^f@Y5_yc(^Hf-jE z!A1&G4K-liz{I#54Mv|)%NLd}I5P2=E%Qs3{7&lJ=WWpxi1>n|;Z({=VwaSfivw%a z?(m3%ho|b$EGK15H!E(Y2ISu0M){2fNZAu+);%F%9M3QPgCmB!XH~7UnmCm+nGn&Z ziUZ9eLE0pZ%#SG3`kR@{aC(b-;9W80v`MmVwDo>yjYFd=8TIJoePk%7FfhZYCR|Tb z(G{PKH<-ny=gUAmHHc*8CAV?&zz4J?y=}wTqtrliL`{~ey`Y*VzryeSq-rk|43$G+7XLyfgO^h)1!*XYZ)lk9Jz#?8PGsi2*e4efs=} zE&&Fy+0}pyYn?KgQbEhROQv;K3c(3ux$0t6yT#`e5{fS*2Z8nFS1~Hb)vewnkHHVwkw}l$C zFz#l4H0L#W{2^j%k7AKmBy^$o;Am_aZXIAJkux=LGczO8ma|t$XVR!`2_Fsl0hLhh z6r30a&oy%F7J`5od)c;DmEo4op&;w+x*bobe&?_W(W{#rlqu*fZQ|y|gCBV0J+g2) zw1;`Y7b;XAQ^kxFttiR0i^3&kg|{?YZD|Qa#WUsG0C4%s1cK=EK(k^t6zl#htFo}i z@kBRdrLsk`ovMbNs*kCNXLG(fqM;Ce7pt#kdhO3t&=W#e#nU=dMolN&S;Miyqw>fg zw2w7=KMiX=5TqJB{pgVELfQIU7LE?{3i1|f-G^hzw-J(k&S4&kZ!K&in1`&r9Q8Wh zF94%5GwZe!!!_Q#ov6tn*w1}}7hs5?P_-Rb-DJw5QHB!Q!r3WIA#KEfvM2h$PB6bE z9k%0T@%)=|$RM0JuiH5+3*$(>H4P?}7mD0O05qDJ%z9nPT4)G$)@1j`u$Ktgx}7rW z35#2zWb+MscW`NDj0RiEgc@SKF=@HGz%k z2}JH7D7`_D#WhJ=HOhL6%Wk_XQ_r)An&ge=Yq@oA4Q|Y0!q@|%PzZD`U~_A_v|5F5 zkc)*ojt5Sq=Rz46hS4345&hJCf#jb=-W8iVG3s0WC^#(ljbY-0iCX8RY_Uq47|1^@Qc)2##)RXm-eLUsg}V{OtW@b?$Q4Aaxvxf zhum_tifB*CdX|A#*&T4InY;z#T`CwQn`b#r6_BU3qexAjx_USeB8gZa^ zb)8ywXifK)c8}tlPARx11v8{UqG*9**Ji~(F;=2$cl?P{_5>@XAtNz`5fmq|PCfX0leDT`N2d`bSq0a6bmuX zA6h3ps_NG`^w1_Msz^bLHY(2LPV*Mn;AjJJfZZ(2CTb0~jrGy88u+S-{2KliUKYEM zO(z9@R4WmK^bL~Qv;;>QC}M}_zB+=*kw-gKy{*Mg19CO`%I>?Kwn@HGCKU?cAsK9q z7*}7=d{?m?tcHO*$oNC@s?{qEP$W@#@mBCr=T`7RQLEeZ4_4-JDpFMDoBRmK=S&&~ zo>6QRgJ^7PsQ1=}k%Hd4b@dpcRlB<`+^mK+F^$$T2^T}pk5Y1SzZoV&H8XKHD}3B_ zw511DtkksHo+M?L`BXP5bLbfeBy=|_raVxjf1SjAU%t3~S@n*r8u)_m4nzFAmAyPy zbw7k_F4=&oYEr*ZPjVm~Veoy@b5i~~Rp)B^(wH}`O=4@s zZ#H$ZvS99;H)B$tzFj!dBEg?#h-YVwOB041eUvc=Y|Stzu5 zx+@@v$8Ne7`2|JvmUOE*<4W7lV72gLKZzGF0(V`HkKM7Ng+87~M!dQ=K=tYTZi|PN z*(to{&KbTjtlCGTJa53JxSoajx&OFZ5H$G93C*-uWWlkJo1i2&Cz%=roYjsQe|`}V zZG4(f60nq}Uy=HK)k%@XJM@M=V_|ctS;WTu_qD6M{epb@p)~R&Oy$%)BjggNQL2cMoy)~yhfP;^*B@+XM=Q6ndbe3xS}6w~ zR&+m1NU(5tz^USsqFU)&caPin0vVe0WCXQ?T)W5TRatS2RX`{RQ3& zaspuF>F7?U+3d9I$5OZ+it4jNM-2doC=jqzD3JgyYcpbYgsXf8Z=)4*zT!Fxe3l=MYnCYgfmC$T(H)@}B?1d}1$ z;!PIYhvf9z&x@^^^>-=_72)BH8=mFiXHqa&ChBBRKeaxuFS;)xS0}-$9p!3h9 z7@S-rb$Th$#b0`ob@9dC(~5sog4rgA^0N)3Pz)kUgP~Ir>BJS#jCg=vsNf>dOFLz` z>RIm~n(};cyXzjbfNuRodRQI7XGT|NljQCRGs+U|+lH7zybsDrIMm;o^rKnbnmW&< zkm1x5FC#!GLticjH&3taciy8*P-8($q&C$Yn%2p0oA^#qlBLi)u;IwtBYVfhyFKNu zGwE24#;Ucl1t%HJ*3r^paGq)gChhUl%^D=R29z&UjJ`!!}{p4z-qOvirifGYxOz5E$^>uXxB6_I)*h2QpkH*qt9v_`P zap0p3#C0RyWEjJ*64!w%#I@Nt(l*jO%Ra$JSHb@k7x+K1iGnWQ|G9k@lXNh%jZx{p zmZ7liJUEaxs;Frt_4M(@=NbXGwK?zXz;mU7=$*;wsX6De zt#y$~Ir|%!5llr-lsTa{iS=0z8l8m6F-|5sgoPvXPUTIvDWl>|h0pb+U+pW@(<~>S zO*}eYCfuW^Nf?fnV92s8Wq7B^O*{e~Owt{aNn{pCs2squVVqZ+Ni~t?It%VfZ_ee* zR`aQCj4nM8Em^8yd`(KOBVaIhJIvm9y($j9vq0ADVOOzFE4;y`?vB(hncp_=@oOEW zMQD&L*RtHr>2QDISSfX{USa$P@ni`~ny0Bv_?0y+$g@W!`81ohbX%JmCF@Z!Ca&l- zZC~^GCKG~_n_Y;?BXah~?3L*{xv>waEj)>z?CeU!_-PuyAibNKOXe}0PM6tR;g%|w zH5n14!VHI#I1{kUJbOLtnc_*=cnQRP765mrgBC>b#?f-vvfhpy;hcO^+FsLGskO>9{q zS4q6Me9yl~Jymd&teW101e+xjYQv((L69HLw`S(0ig-ci_CC`~X}%~$t;>VEJJIN{ z^NrEH=iQ4%`kHK-T$ex~U4FVgcwhR$&2=BPe-^2%AGqa+XJfP-=rgef;Ty7R%zAsg z*~QS?y@HI9`P{nJy;_oHpV_da*i@TORH!r_8uuLbXz|%A1iWJOi8N^T1=;se+85rB zApMF`>Siv{tC>%2h_@0rSbPxmTVTh)`p*5jvd?W$5#p8g`)=qep13AJjpPV2{FU$n ztipkig+_d{&Aq6; zZEac`gxoa-Qu?#g^wHx5MDbSVK6Qg?^U1~@t!h=h{n$dd)xlMCSk0egi)e)S}Pt! zuX@t-U1&{W6%b%aJu}nPhb=YZUUMaJi^1EnnX5Gj+NU4Z+$NmqFW?$OwA84r^iTO_ z#!{jH$v#}tv8U*_P-{zePoi^a*5)EtXa(MdIqX?CwAT?NG_VkRd6bQXODC$C7JEiS zbFpxmJc(`iGB>fRf_TF=)?yER?NbIg&*0zW)B|T@F|=}m)#cOVStrX;`f}qBCMI>X zm{#jocaLKPj-yv@LxjGL_6vHp?j((!*C=OZC{Q+H2Zb5CAHbWc4wkKbGO;BB3);&R zz3@{8B>G#L*F4DAN5<1C-gsEKXvC~lo2L@TG>S%b+>q+**HsIHz~Wx$J~F9#l4Pg* zAmN_Uty|2oc1e&2Wwo>j;W%r(cn|G@8X052Rj>u-bO5RS85o3HCEl`HtkYCS|Lo&L z7otTy)Y8(+PCFpIdT8zEy_`o_;v@MeedOGdp}BK&=68)WdLMSv&O=30bkP}8gBGQp z!68=mC^ip!GXkYwDtyDVWqHpcgLGSVUlDKM?n!!cxg*DvLR@}0BE`QcFRUy;t=Y9$F_hiz0(*BT0 zc{9N6wrZfKmFC5^m_XaeJ2oFZp8_K5Fz(Qb`FeuJR&@VndKh>kvA4#>#E4Vaz(1Y4 zhE0I^?T3NX;>VNo^Fam3(7z{eE`=rbIV)+}Oc!R_V^T#D4emI+&{H?hN()&l;Uja| zz=@iXmnf64*ge5#On5J4zQ|!lmV@+KoL>+Jht3cj6dAFSOyD6$STDPijRhU%FqnxkrA&7~k5Jq}CyOMn{kL0O;RVoR~M zDQa?A)-`i1qgW#CyMjHlpfFui=gu+01uK*B&$tv!$8I_t2!H}vQve;6PWayj)E1Hs`bH$u5iMY@?A>KeVQwiZyb zhoaF$=R^XyYkjyqnB92C z(qYrr*pwR?_1^e^>~{REI2YfLfQR%7;?eX)Yty?WdHQMco{7q=VezrC1D?kV(crCN zi9$_I(U(emk&%`XmNN9l+j3Q|lK7Syokzm!8}#mXbhfCz2=4h`$UXRJJj^{LI?OUG zoTV^NEu2Q~%NeG>sToS}{(azK%XH6EuJ=@5?lq+Cx_FEQI3flb^V)Ivj@4@z2+!j7 z7F?b@e;2vCdzV}#%)^VaJjowpnuHTK{2}yQv65%UrY1}8;p4qdoC-5lJ5Y{fln>!l zUQxWGvDx1HPDrxceB3iX!8lxHAAN`D@t}u(6wY)!!EoJ1edi3tEbJFC;SbvOEC$lB zP*b$T1eO4l(@hu@!uIK)c=5r7TnUcfdlJ9bn;U3p98U_+_s?Z~*mtX{%{!{|q=$;0 za9fo86eE5}uJB{mOD#2lE^e3;Yf0r2*qFfuWLw3j^n4mLN5JE7wmY4`-R{wJLRMA? zwTRTLYA#)A?e`5Mz4oRlv~xnIxCf3>{O>Zun3dz%=X-_*IzBA(ekE#Hh;l@q5xE44 zzBxBfnR=~zR=k`MAf#Wz;SSW7Gvn{(m{VasTE|>5fkVE#ejVoiIP~^0wzy(y(ulT3 z;cHhF&gQ8pNksvOF{;gnQBfOJmSH8EWN(L!9erhT_j}(4%g#jL@&ihF5z=h8F|AEi z(+G`&#V&!T%2tT5oo1kddE$Wza8nF0v``)tvQ3iR3u;9?lUS)}-YjsVOu22$ zbWzBwY-wmXD_>&#B}lS!l+jS*h`ukMdgJH*mN7Vsn8-u7ZH61Y#$X?HJrGAD5(nJC zoW;{*s?)qOeLN{=ow7^efOypx<}-%-tZ1WH7c^`=$15|rFkjs1lm-HkZE1Pcw)%*O zsEvNWOvhw%v>xn_-7Cq6QYqAahwS6q$psfWMk9VoR&kr>Sm1mG8vn4D`IY- zyB-Zi7M>ikB7@4AD0^tn+EI3vU54lWj3qSSFL&?Khg5uJu6Kopz_S?2bN)1PE@$-HW@sySuw4PZf(aW?EQhC+AOl76Fj{=VWdhcrtS_+uO>5g&wdH_^|}r@5!+W+UIJf4 zMv1Y1e4;gu+r$@k!>-VDaS>jo6Ql1uYh9~^X7Zo5^9Ip3Oq!bQw;NXsg$iHV_wtXJ z@4Fk2WT;))Yf2X8ci3{18z@hy*OIYO{zTbu3thFp_g(INGRZd@O?(mgeaZf$Q(1Fp zfq$?87FoS6PXWD)8M`Brm+1a)FC>Y8jxUDXYm!1pNyGRe2RjnSc+*-RC+#QF!!B0|g{s^3b< zd_3J`-%_9bGJgw*g=LKtrjomTzkCyD4)$O$NyO7!ZW*w%w`Y^;z^dwS?_9^3)AIYV zEfpgcxqkqD^p|Pqy#3Z!VOSx@$O92lzlGAU$42l!0Og+ekd(lN1(;8>v`)zOw-R({ z-c%}fSS2e6(`qM}EZAuCSDou^K9u0Q$y-wN_m4%tm3oLNKBX%FnrikCc>7I(DY2HA zK9?pqIk{th%tnni+!_Zc^A2D(9}eKTuAM)II7%5z)!Gi{?gY^0&aZzV#ENroZ^lF; zYOH&6kd)Ivq9`gz1GOudn*X}Otw$KYTk;qQ7Ohafc0jw8Fp}po| zvfV7s{S1#y`5^4bdoBa!3lEhWd2+T+L{6m_J;@TZ{4O!=O)cNF;_!R|Doc^I{;WWq zh|o5QY8lPgzUk^Jfp~JFU5!f(58=ng?9|UoKXI$$qh>`D!sKu>6oFgpY$|*Vk@<7I zT&Jmz$Ac5>ml2i%3$8iSz7TkhHa33f)t{`_o)Z}-PV&pp2B(~Lc|-pgw>}8H32_c; ze|%1J{sD3mo~H?Gd>|>T&I!OmCQeum8JXMLZbDY-m~Z(l{Gi9Io>ZrPa8l*kH%*C# zV{zs(j*D?7e}*e#J?cSNKBXE-!&S70vV|wd-Wb>h+*6vwB|v*wS-y5=QkC8*l=jXQ z$lgl1r;5nG*QF010yy~y$WAqLEjd|=hod8L^AYkXh5vsx?|<81`M3Q4kCDc)sflb> zV}k>Tv8#vzCAliBR*5#pJ^T>PQ=!dEh5*l1?CWY%m*?8(nttTSub!|h{?W_+cgwF` zIEOraCJtY@6dP|1LOKJa95z-?%FeDUM$_NP!k;zBtELq1-M{ica{6amf`(|!7U*tB zulb00PH-7C#^`cL0WX9DS5zoTf$3IoPo*d~WAEUbZ#L&|0COGFru)A>^ z_26Wmiqp^<{{b#He^(*QL;tWKLNgWuu-@--zOG-Ak5Xiq3Nalma9|L=+&*SqO3QSyc>vU51o1I zVHy6mN*neiMV-c9`Q&JpLFk7LIw3`BVdSTcyQ~Y!2QValC-##V!~)hZHiz5ejEfFD z-oEz_Kj@Dsuas9IGcCxEr?T;A746}&2ClN;`B|41J#M9g?u(uCU`rWAI*GJaZL zYh9|($DT}~P2Fi~KTUrAkv2SfFp!IgbJ;W~0tVqGVC2Hf&*eDNX%oE2xi|3fIIo&` z`^K(alsqQTZ@Tv=J-<(~xe^Br-fy~w65)+qkzh+b}JWzq2*Z>8x-e3dVa*03rx4JyB+bv52cq)PrDhl#f;}wE3aP$^AWlt zt8t76N1-R>A(;xak4J-fw&`J))zq3K;YwRluFkx51!6NRY76wLlP#p(eA~q^LGFZ@ zd=Dycf<+X^08bpS8cp>gk-+bKO;5)Zw%NP@E&B(^!MsFrE`?IQWe71uL^g?p(^Cnt zgz@M+xbnL-$$h9AtSr}-{sCGWw@~Bk?!TyAnF=QjPFoDyP?{p2 ze6h0E{sR}2Uh9V`Tk>t+_=!oe`vsHtR6`8IOSV;$z2AP~`_kja63g=9qLuHk?YoL` zOBE>TOQ5Db8HIk-gidhN05K*gf)~APd}(WDBmoWzUShH{(54BKH?QZNT|czfK^{pP z@0M*W^wMYS0A;xJmS^-opva|MbldVvNy~npDz%sGVbj?S4(+?f9SBPp7~~;uS?wNq zPbN+kp1b1jIX3f9F82{z!ctEXsK+jy)u6Tcz5Vt%M@fTuZDNK_Zawy3RsS*pHV^&W zs?O!If}g!nly}H0e&JMKXOw9>Adgw&(iG137~F#evHrf9G+V~;NK~@+O zNq67N>OU=HXY*jCI|`AQ+@@sk+ms|yZ(X_>z2a!isW_{juy|q&c%Jr|?^WK4Tiut# z?8rxrJAPx_OWyQmU-K@oo6jK1UIAU2cw}!kYGuJeV6iNRinw%6Ah)=?cTW#n-Je+v z*P8wSGR`w0_)dMSQiNrwT9~QqlHBFR?*gte2@C=IW}CDLV*2f(N=tsShIXm~nF7c8 z{HAn5IfxwBn5hDBq_vBF8Y@~&xo84zPCE#`C=x%_fo5dLueb)mN;#abi2Vfbx=(_) zB;p+~6aJC&h5yB*Gt?U+opMlwft7z95-Yz46i<1K?&;?{3Vo?E*tS0XLLclZp0ZE; z-MvGBLD@(i41DrL2%y#KKw8mHKR?qjscO@imUD40jRWJ0(HEZYCDAa5iP&K%0ovNl zQ5TZ{A&!46H3%myh2SOBg%IjqTVSN*{&cYd);ScrPgxv@DP_7JJ4}v(%r>w}dg$!K z)DAE)^7J=hV5I8#WK;!V@N_)kMrhGJ%H z9NgSY?DgHb!bm>l+e%yaVu{m~GZpJ|Mc5C@#~`eds2<+AYK0JE^)T~kE*lSFiV%D} z>+^ClJG!nzqllt3uKGF>&j8Uw&HJU{I`aK=2<|?^QP({Jb-i)f3s(ia7#Xzn7yl#+ zIOn}VX)Hoc1>_uhc9k_4NYoIq8BvtY;Nl_c4oCDjUvGUxaCZ`NEm?o^x|6fN{q#Fx zsEV0Xk1jztX;nYn%fbl|24~2S95$;kmWlL46SH78vz1VR%`QiqK1V7Fqc3FyoV!V1 zmpMw`kzA_{grZ%DDcvsr4x`_HwL?L_dd0)Tf4185{B9kp(`3U5lZBw)Pbr))I+^kQ z?X?@Pn5ggk*4X_eyN-0T<0|-XIynnd3L%L4_3Kx$!l&iA`#kr6sZ$Lr;3P>ZtELPd zDxzXN#xkKEU5?|;qVe_Y;%Xa(KRF}KVYTU!H86`|sTvK~*a5m*3jaUN9yTl6L!O%= z6isT&q1P`ZU!SXrsMLKMDVL1M-b<^>05HLiXN?-J*ML{!-2fxTv%l8OlOpz!JhHYz zKrM5zY{H|DDX44fp-JubVVFFnZ@x`;YJ2_^FqOi0Bo;NtF$kaS?0Bi8&C_0~a-Fuh zT~DTU6gmtQ4kUG!ZZ`-ZCh=eWaEGsq+fidj-!95!mD(a%4$bpIyeUC?G}gpC(5fX1k%?tC zy?y<%;-_*_L)ui0HETpaF0~MEN`WXQs~8HVwY;!gOPY7jFci3TuOk;h?qHo6>t_c< zGJ<%M!i5!;Emv~K4=VsdizIvdzULXE)9gX?=?sd~2AR#Qsv4K2okDpO$0Q&u3OoUvzqF6_{L6?RCPYhhLl$OnL;F&8-$bfo|+mXnkEn4$I@l}FOTv&gb@Ux&b0op zb^e~w%cD0i!)LlHrAQy*t6f%{w(O6Yu&nO!-CsVkAOj=clAgFS+rxuk{Mt`519FX{GbGFn_LISL0eESE0R*7P2h3OoE>V9Ns zjCzpwiL=wlQWy9?8#F~)E0HTvvU57v*j{m&Newa5k>2M1g1cW9XZB1nmS z^d&lEQJlNVMuo;!{Ft1ciT^zb%COj@7eN?xBONJ{jnTJnJ*ik~f!2Sv|E$~iMeYMv zQK&2ZbpEc#yz0khj=Ny@>^HsUq;rBDIp+qy#`cVVZ)}$(#h@)LYcL^m&i&+W!>TGt zn2L$LDTYS6oh+Ti!lQ0f%E_*SA%@ph$&~Ib_1>{zxIG>9UwP zo>Y*dCm)a6r61tpR)Gv{GxTv0x<3eeH5I2V{$;4jW$`eB!W|nb%Jod=bzu(k=*Alr zzvV)?y(3<2g~nDcS-eP9s6L*nEWZk{{jAL9P8t+*qZ+?T=lhTvtDi?Nl3cl)t;UV7 zfdPt3+tMT|Iw^Cp6JeUd(QIYq&A>|^&){RE8~SM9Xcm^i5EMTltBrH2)qPGYc~Zu& zy*Q?79$rMag5MoijDAu!dcZ6Uik+Ei1f8c%*d)kXFquTBnslyZ#r3aebg2C4dThg0 z8TGnf(C_E))P~53e34D?2u|cfjacu{=8y_(B%*(Db<{D@miN8jKx@=>=N@VrXqC`J zc{gy29eY~OO1ezg0SK2f>Z;4LVR}(hH6{D8kd2Ab{=Nuv3K3+S~-`@$B9>)m~1+|kE=Y@`Yqs~bN4_pGJW5# zIzxZOknA9>ADNNX-Gv~+-t*AlXuyV2u|538m*~L4+sX!X|Jy%kH0?k#aA@piZwr>} z9hvX^^1{NxkqT;#n6Iv?h(NRI=zFA60spcD`R=-oXGgWxv#M8K{5mH)H`WR_L|bri z^4PvoBXx;To6`C6i@k~%LS?y;41VpQPWbCup>H%;;xOnHe_vm!j57x{LxGhM5L0@a zg`&w9YmPL2=vbXoxD(|m*QF0pId>kN|79i3WAz6Y1}N*KwxeB*x*L%{G+yMLTPL? z2@O-jP+51x)Kkid;X2!6;K}^;<8T>*rx=%Y;)ezpZWBT$d-A)L4I`BxBf~iDt9it= z?bwOKVIwJ-Gj})l_iiKAdO#sdG<>cEtF#F;d(9`v$mVuPXqHJA=Ns@S?E#mB%5m(m zbL1=06@uy_A0mr(cu}&;O$9)tvIxPc&8-Ym;{C70=0?Q4E!Fa9c(&H#Nn0&T5!}x_HaprJj9iQd>nbQcuwQh;xD7oQ6{K|Kt*J9h z6JA((q4hkx^Tin3vO69@NjE6VZ!zQiHo#;@$5d{pDEM*#nSXWHZhA~It)Xb*N)6vb zh-W~$$&ij(p(!u@5quR$blwBmuS_NXabW+4`5iCvs5)DSlbaWJBn%U9reckiv;zI+ zA`U)M4h1NUO^;0wC!{l_S$uD>%BCu(16A7#p?_9PP%@QL@GKYdSb1=_sWs5z-m|%^ zfosA4J8wcyyTVj+eoQAf{`;YH1!xzMRZeDzPMg}F|uf#M8aTC|KuaAGS1g#Hd)4# zp(?QT8le)?|7?jgvXnt;Wc{vT7dnK}^HEUTQ1< ziJP8L8PDB;;r|ynyiXT}_c@{n1`(wAIOk@7;Z@nXZLQ-(mb9{@d;fTTd}hkkQ~3Cq zMJlp>hc-s@yHj(^4)~^FO|oIZK}gfj?I*{=TOBJsl{`|Ca$l2VE`K%VMr-!ux$27Z zz7)NK{2#z2dl>F`WC=R(raUg?MJI6diYBDy=F;Q;wb)@-R%_$nX^`m0t$r6}>o!lE zgmn}6*fv(HJDtF)rGW9(>N9+BdKp+>sDsVN8-o** zx*ahU@1@o-54XRj9I@NIGSl17UfFLK8G2L>$T&=V$JrtWzVTA^ZL-W}q)VaCvG200 z^=!`Qtini4ui}{OFeAh$!Z>V9;M5HKmt5&N2t_>oz!colD_PGsIWEY(~8II)fd7vAs4#Wx#y`J||R+Hqpl zA$RKirMMgG-{e(13Y+-MtSDn4gGiu+^9-Dc_p+9e=J;L|KVt*e&K{2(U|%>3sk>jU zRkq!{lyD=PX6WX+_Gg{$!p?;@ed3m&o;@u7&rn*^h}sc95i8qU9r!?OGi(v$Mx$N> zvZ5U%2IqRLKqBNB%x~O0P8Q4zztq=N?}}^m_li?-LtuOM*@E=?`w*FI%~Doo>1IM3 z{&$$+PG7Qoa;$SeO=6Nyp~|&Qr7H@w^n^MI$;HjiPDUQmOGBn#MMgge^lv;U?d5z= z9>5h&D*~vrA)l1Do_xD1U;A`J`cWjfyAqa9uk|sb%7DVB+d5LtHG3(Muk7al-`Mxn zQX3rBiOr)uiz)z4XphV}Z*8ZqOE;fUD_w@|Zd1b=Icq+7KKW?Uxn+ueuBpEDM}OZc zz?n^#>yg`mW)O7h-83&_^omowK?OLe05QQf{#<2AthNo1GJ0azQWH<$TnFLDdiEuv z9X+^ePnx(~SyfjWyQJ5PX)>3?1kq@dWq3w*#nuER{{F>RqZ4B6=^zJ-$Ytkw5aimm zB6s#nUne8;@FFGbEdN{MLh7ViP~G%wx8Xb^66CBP#>Z42Fe2?4wq+jgLdM0%s$?g4q%NKOHE-$tzb)>tc^m?f)Y)v zE%%y*Ah*Aq!d(_`dg|_%5+F$5q1Tq|-|S}Bb{`ENPgKpZO5^)mlHA3QP8K9M6mk18 zsf`4L>j&2xk`RI#gmAr|nJvm8r1WZW>`cP}hJ1qR^&e#g2~JbwO?DL4)*Q=+0=4IV z6+kZdifI3$zHVgfZB9{p`aZBCKRML3^r)>Bw)uBR6gmopnuX)+8$o=- zk%k}t0s6}`6J-l%-u#E=KAB(!4K4{0zoFy0nN90x*FWa|j#dw+)e zLaJ|Fcw75aob(C>E_91~kso_9LxTd=kIgg>< z?Ql~O$&}*I0J>zFY_1|H5bY)_Nj=FrFjIQFt^wl5YZ))E?8>=M(%w%sPGWiZO_B%7-&RM6I z187c-+lL>%|0)D`vXlX{<0k}LH3g|&^ap|a3H!=3RVADaVfqfsFEQ9i`73FbR_2PU zl*Y+P)AT?!%OTQ9zuwvRS1^t_K|x-Vb3{S(Qx*qBq=eFpefGr?N!(#z%v8pn0^U$G*U?%d+ z=97i4I9UYYBC!v0Ty|{C;IjLr>;#a=k^I;xCt@Q5skKZuG`H-H`zVbljATDZ%{5~7D08Lr{X9tSQq#w08{>TfOF z&mjo=ToPPHL+;pB^So!#9TY^qORRcQQKbn#U_|#nDdSO6$B|BQ_m|3$p~l}S%;n#m z=y!U17>^w&-n+ForG4M=bv3knD~#D)eP~H#cAx=cxulmkAm%|%SL{Zn)wy=7?-{vjWd%p z;UT3>CY!_fS@XWP%=zaN^ya7x2d0!<*4~b??GPAy>V2TPU36tBFX%s%{4-zQTC=TU zi&CcW)q(m8VTyz#gbBM!%PA?UzOAFG?upd~#k4!aqq$q)@Ao4TgYQ{sMYg({#4aFo z%8^2U4LDr+!B~TGaBD1NeMQN}r1OUVn&_si&exw{6NS5>+YgxV(OCpCg7%L1RaexT zx4GDuWN9I?D$lYrhHhPRhP@x`-S@ZNH-k^m&LDax)EIl=glnjmz5nuHH;kNq#Z*XXrz!cFp1s@^@@QGv6(ooxNG zc;p63{al0CeZ&v64uD8u!;F$YLuwJqDW1f}x_k^s9267er&AlYp;oASEoL?XSwCrX zgA)8`YR(DaZ_kVaeVw7Fb@~e5?@Y^=6@e*WcH=aetPCziJ{g1$wlYaZ-!#9EHW2b| zoSuZUGTQy;idMRSf<0_%oIZ8bzdF08vpqe>v3eYTWa!EO5SI}8pH_EVBP|UqR z{0gZ7-(p+Ero&R?#ytYGN5~1lImLY2@-(oBBke9<6%lHl&*L5w!QToVI2cB*3h91# zU>Wfzj|>karA=g2d?6Q+xs=3rhEX&E-zBQl6*bhfF0bh=W@&Rydj&jSH^Z(3_cA9k zsITa!ty>@poQMTOSlR#H@PDdjJKbO%c8mpC`QCmSE=F@!V%+zpx34<+HVl(+9VK*# zT@h)UTt&{a_NYLBE3=DW)^i{cF{!`JW$v>LjYK^92axG4-|V{d{B23xdw7_%xKyI- zmXql8%&yz@Q5pZ8#kReY@`56zrP2!Kazi^IDV*Dmf{oN*>P}Mn*j9f>Jl^=e8Sy7U z0HA+Mg&13iY9!eRNF#`$C{<9j;X*6zYFjO5?C{~OOkG60l zdA1$9>XrR)y5TYCHQY8%9qq0;GrF%eR4Twv13)czYy)7eT~v#Ot7gvuFC`BQrwmhK zepA5}=ybyR~g`-G080<{#iKkvI2z9F}Rw;$6jpWxF{cUUfr7 zwtXC^{j3&q~Ulf6M-jmzA6Bf9}%T*Gu|0PI<4%5|SqD22kuu3+sE6KdSS%f(K6kf^UG7Q~(s8~G#< z9tCN)j-)7tE8k|>5%u2mfNw-4s*O<{KA+EEg2&ql-@sHcn%Vu^e(D2g8o;$ZHTPpj z+(Ljj81>UsT?RQNW9~x8%V`g-NzrkTnPQ&d2hQU4q+CCFm6?~dbNaiElh7N5j}o84 z%RT`@&Yj`-79R^3zjVW~oY^Y(HB#d-s+x=4tipaZ{2Ewyy6frMT+CX&6NBgCX7#ih z2PtbS;m2ToCw7%~c?ZEN`CHtu7=@_w?sSdcTux)_+oBf2XM?^niJpXIvx#cM2}y*H zIh|~+TN^>z`{p3%-q&5REr|1T?)G#dQYZxt*g8cyg63Qy!G^I{bm#+$5xSA#537{| z9mis?6P&%xFv+w@c)sc_j}5UN$!C@zo(!{e*6Y+5^U%%T?pu7~><1l`-1$R0uY22b zmeOwz;$X-$v9odA=Du!xqpoQ(Z_mlt8$7Og|75-9)=5v#zI%q{J1+!Ike%A%k@-R7O5EAif68eZ`8Sj^6dhFlLox4y!iV#uK+a zM;3ITd=6+jH32)4F_yXMfmWrCiQULM&Zwd1+mYkvxhhCG_Si=|q3}w63K#eHE~I_Leq ztR)!V7O$bx7o+a#5(iW>e=$hOi^|eqQ`h`Hqs-XECL$+n*5MrKf*E&uI{ zld0v$Mear^yL1{Q5^E<$5M0<$8qyITBo`@LkZd|ChYbJq9Q5^>t8S4i&3WwmTDm1B zqpm&`Vy>6xUylzLAg7(nGmbSz88VUSo*Z|w&oKM<`&uTBt-eE8LJF8LdANY=v>gNO|F+EZo7X(-xX%Ob>Mo}UuRcNUQ z90P&J`;Cwd$Y?8(vl}sHrwLz;aS{`S{8IVEPlqzWh)Uw1sFo@svaEQ1<`A*Z>UA_x zsaEU0fA#_aHj6&+qn)#}n51d{dp4K&e*#LX)MrL`iJZ>lbL!6kCpy@)iTaUfof%eJ zZ$W?aN@78dAZ)OwP^jMZQhxZ3Ycv!5x>^w+O!xCm1$(i*aXlJ6$O7xc#mW;C`bKzl zU}Z%dU_sz!Nc}N7Gng@$J8DfY%es%VsDOtor8CIXcq)nVb-tj5Eun@8fj)H*l_$tPPV^Y{XNFN4SsNy?1B|b3KI@N$ccfpkOBdXTNw*cUbtO{_f~B;m zXB|A;emY&BY5ZiM9{Z#uN532X>thU7S@y3pLtQqm==EIohc9{zh5Lo+6UxC%UdcF} zdn42l!5XD-kwtAXNU55xs^!f;>l}-VcQAX;4b;<{V>McwPJM6FA52?Ph9;_tcZ(9% zM>FV$eJKUQ*{i&&XtqzBysMW=@)I8h0w&Alus!dO)a&Ik^FP%N2357&5)u(Q)jd(w zS(v4@fsQgKU+TMa|B%ioiiDDU-$>OFI$EyeB{cEW3Elk~5mP|SBH)60=n|%AuP&3$ z9;;Hy=u-a}(?RNBb)feEG#d_G}?9+J} z8lSabjBgs-ff(L|m&)ZUdN#|LwT-1Ez4EHoUZeg_)?LYczoisHn@^tWHtNa!U5#q% z&|_G~k5;hYHMiy^iN4p~-fw9>go#5k1_l`o=9=PWN0f%xWh0!mW~Z{R?L&QEi(My? ztlOIh@j5JQ;Y8Xt+Zuq3vTp3YeEtiPRtWMW>B zn01705~s4VMt@&vTJ6M7VRPpw)NV2^t_C+D83C4wJVluX&3Aj1!x*CY$#TR9m8B;U z!EY&Dxs8-4H3!7E!#ZlSgRQRITX(#eXPyVlvw(U&fH)RUyFnl^%NEW@ByQqJVDdqb z1!m6BdA1tTZ@MSN1KRT8Jw-6`domOyPx?T}$A64OXK6%uQOf@KG_$X(^+1{BB={cw zYjWwF0w)sTh><QVE$}J$1t$WaBelZ zeff|dm5>4%{T=BO%h8_gY@@|o+jt+@#n-Qs83fi5V`FmLtY^&(C5PM|U|6p(tj#yv z(KMY=kF!1MNq?nPXX44s{FMKRvycd55M3rerg-ufwG}rJYf7UF89=JWDX$>tD2w^| zfvgb)e>hddEi0beLh6KG&^Er2Sqd^Hjn3DX1t$FFtd=_FW62-!KKXrst4rsUK3OBhw>n(fUIQIU@ddI52c(w@mwq~x;Tt~DD(NgY+ITV*#4qa` zCN9e+;zIR^g1c$b2Q2oVwXnOGg!?x`+S(U->NM8$B^@GCM-;FWW~MW6mYA%+qoZco zq@y%(Nk?|&br2$$mD#l}yAqKT$tUMqI~0#krwHtf8qmaC&fPY$q7f!ThJw&~i^u{K zy9C>Go5!lZC~cVK1m~pgiI47i<`O@9=Vc6$F88&6`xdy@cmF4~&2r_q;EShYugr1h zJ$C@s{3yDDh=nLjzW7h)Q_t-pM9s^jbJK#Be$^0m4gI7Kjob6E&>K;ZBMy7ya^9-M zaS43Pn_Gfcjb-pmZy_UOXbYNMP6JuzD{wYgjmGL%BoNz9U7^TjmGW7uhZn837@k!! zD6KVDJFIyfYB{9SLG(+EwU~Q(G`kxLiX3;ed&V#;CCyd86xcg@zDHn=E|Kp_L~N(FpC6P|*Vde;I|&EgHP{c$l}xLPBySC*;31Dk21KRn+ky%v)JY zG~{kW=q6I9Q)bG7(+d!)L}dn+irZ@PFECNn^Hg$7L^lg3d-Tyr;e(RMe4)6sm2=hd z6vSO{dw_7b-nKpyrf(PyDK@RFx!ej-7@ykRs0CK8#IxptklibZUwjj1GM31YWmsI7 z-_9pP{#^thikTGq`!eMZ0Cu(_QArBPH%H3_jxN}yF=aQ~pG|bu~6Ij36?#x_Xc;?F(xW&U^F-=oTaN%^46yjt* zpWew3y#Qi_;f(5|-=V zgl_tt|46CBXBiI1^t5iU3m?tS_QPzVT%}t^D|^0$7XDEbS4TDy9YkXnhUYz&o6q}J zN&fQD8#*0VcLQaYLLvT^)$IgzJCjnvelHo?0{V^!nb?`@*&T8S>whHu0O)TfQui zoi0DB-{UML%Ew=QoRA~}$1YSN4|@wmm2u#blSA~f*K7GICE#P`0!;_C?iZ96iD3v@ zt!@~}6Y;7EwkO@UgpZodp~ywbYJ9>WL&_Iho(b4lvyt_1RMJ*;{Msj2k{?FKo`U1K z5Itr*_6-oZ>+d(d{(@$7e%WiU&K-S0d?2BGfP06)$%i268K~*Ni%lt`0?JSVH7m|f zoCVOic~~8*fFSA-Fp*^Z@<&&kt;fq)$~czic$U8)h980k)&_Y2^Rg-HHEX^HgH=pR}84s@8>lTUPYM_HgSw zvoL>SL5i30rgIA6N@1$KNWIj`W}hfTFym`Zm@>VK~yE5BrpYk_i;LSYC z%JP24EA&cm+4mCn5AZg6Gx)3%;^^ii^@Wh^i^kzU0QlbLmy>W`Ye%Zqudu&X{{Yzc zh0np0yPoar%D+9H6FE}HHg8;Hi{9}4JC1vAwVAN#;DWB(V6&|EHeS4+E>8;S`#AQF z1N(xs%SJ-fes|yRVHPx5YaZw5!0#k9BB-_!+`2Axmj?8B(7Oe(UQVJ%7g*yCa=fsT zN!N{<8Fr{M5oeb4&gZS>J=HC4_1qk32$JWg5Qb!HHVUryv>2tdJ+l~SDlh{hcKn)) zS4$IAz~3xM!rS|17mg1+ah)5I_3r}=h(UY59u2=6J-3@l{bY+bh-|IIHc9W2!*phqbHi2__rN2! zgIFmKQ)6i(t?tNmWX%XsZ|U1_{0DWDmVOSN0%E5GG9Unnj2Fu9!1 z7apYZ?QoR0;^!?hmt&dr=>9mkAV*B^tvQ=KD-h!@dwYc_h8N@kMCmvWVRM{JQ9;IKER|(z;@1={&BJke^RO{FwhSIGedrX8OsC%j%Dfxjqw?E4%LPa(Nil{&7&BrJny8W#E+B@5t7r z<7Q&+2Yp;~JFD6`*$(2`Ix(JOk)T=d*xE5>ZJ5xp&hc6>@m*GA6V=;x)FhV`l3X^y z+f9RY!oCjoFgtJcDN=0Q8eE!y!0fmqbIMUgc(eqmz9v3h?clbuuzFj?k!8n8Z{#ef zPv@!YnTRUdSj+Pfb+jr`rBS4nmB%DA(cJD`cin(PFmyT@_+Yqe_Y%!5gRX*~>*0T8 zK#?&P6XCytOg48~KE2^xm*IhESOx1Dj>VEo%ON5ZsBnOoAuSA5;j+jpyU@*CAV(*q ze7>oKn&fBJ>s$qk(~a2ds!du*9F6Uc@_78w!joflrna1IppKng0#S$#HYS|}Gvyo- zbizhBwXAL6B3lpmJ1oQ2t`BU)_YTF3ArHp;Fwfx29m~tcc+0rci`h~|YOs1chCw~d z)#WXHYEd+5+PAL3_B-3CDHxk@YPp?={#PdD<1vzb-J8LIIf>)B45G{yMXgvOR~3~J zjMy%AKwdQY)3)wXjXLXSpM~(o-{RdjDMHq^(R6mjym?&v>d7fw*Vf_mOJWu`@X<-P zkoDtKVRI5)2C{+Okb11(fh69!HPTDs4|CFE(Y1&W4o7Xx<{# zu9BEyN{kr$66*3sSmBsRHWf0wPTIwZ%Q1)aFefrv5>LzEjj-+!S!91*X*{88W^x3p z8>r6Dy8dU({gKO4H;@YqY`qap2=@d_UVnhB?~&!}TNs!$C4`DQAgAT*~VGO6#Z zOeqEE_QM@YBS@)4tQJnQ@5fkTw(_R%HXXtrimE_wco=@7X5>cQURWrvVk^*F3X6ec zl2^{i!6XW^5sfLo`kl^zi%y+ApZ%4Vf6R+lo_?i4_d$e?pSYGl?f;IVrvC#7I3o>N z+uHx;l6vhg5(?j5^@I4<^(>J-`Si%ittq)7%B-8agq7)i`$Uh0Q!$2Zl?1ynLPDA7^nbpPz1 znwD?UT)#JD{^7-T2|g!qjLP@kEPVcBt1{g&afG4whXkf~)XNj_%4f{HkW zL&%KH-hf(!#_t1qWI57YTzV|+Icv3~u9d5Pkp4!>X|WvO79+&b6uK(@fui9mU@$*?UrABLhk_=T*6py9`lyb( z^gPoe143vV%23Ah9O&uCfSs8Pp+kHC6begu{&1092J^c+b?sD2*N>VKK7+E;WR4TQ zS;yk>4DpA2)PeB7jJ5fO9GCX|KNcxi=6C=HI z`Dm8$L?t{Ug!g2YR1<2`=Jo9-eQ{mX`Cppjx?(U;Sng4h)JK^DhXe` z!_zu6SulUxIX0q}a6{Jdy>$?etY*C{baXz^Z$4B0y(oXF&$)d%(0FqxGR7VpzDGZE z@FUx6;ZcF)Nj*L_p^w#3^rO`uU-TM1D8ZI%%-Vi0o-Z$ysAUWsK2VIA`Y-uURU&r7z&K5exYTpfQR6 zO+AYg5g~_E=rVx#%75g-Qamlrr5Hd4p3d`(bHe`7Ue_0Axunc^k-2w0S_k4+>F^q4+Dg$qcn;S8u|pwU&!m+84l<>2pfD3yV{~Sd?5JTx2y8XKhc_WS9M6$BmRK%l=1Yd5b+;C5GFD`S}D&- zBb8oaRHfyK8L+h@{!p0kN@3Wk_0-*~(rfmkZ(Kn@!Cx+t2h7~mTF;7~=hIh3v)gms zd!#S0X`EL0orZb1`@5F8T$=;B6M)0RD)gtvqN#!$8DO`IX5s;-iD+X2dC5eZ4Sedd z5sJUVdye-Bqr1C%Ip6?H6REfP>7pW)g3LboRHmtZ`}2BTK^m8J>(VK3( z3DwCZTD&ey-SfD=^2o6A4}b!G*TjaQvt&bmhDa_ht1xErzF++9GMMq_&$DG% zR_KPO$gL{X*&W$m*PxueWuo{fA)=|ARNJ)7u>=|uH zkw5klvx!V0L+HgiI?PI6*TX zUSooTezL25y8o8aD#pO|9NlN#_z@3t4TqI$YAT}t6B(nn=Rl6nHNo#Xf#!gy<~sq? zviBq?=o}0QRAX1o?gD-`3Rj$cUHl230_1i1JJc0#`wR!Qirco>0!x&3+a2GAEm&Tf zA2>#v!eQ>ecP~8!eq5=yfviTktXvFeb%f)>*e8Hr(dHYrl+#7=|A4YV2&r_eqHR z3A8o&8o1a}YRU^v(!WWU=~Gzh>llr$JZNTf3nMuk2v6zQ^!`vy(Z;LYLx)7M* zN5_U81lZ{ortf{3gl|p2QAyb!*BpY>xFGSHI6|9V52@E~2mSG`{(SknC6E*um+uVh zBiL=cS0(Ydw2ZQ)B(cI3kI|bL4Cv}vx#R7f?rYCRT~^J`K(_D(ZaDz3quQ-1c3iWj z1^FUv>0M2^5Qlw-3)+VM)~tJTRmmpTmpC9sodnjOxif;4hJNqu?s^7%@*0dA4^X4} zeAy(EzH12~E(NkUyI^g`Dejj~7xIO;+;LQ)+%LU!*$A4A9)H~K zJP@3!52B^wU?C%;w7=Ni+e>;+!I}Be#LC%RYmV%z;pbZG!_V92K&^|;&Vmyl;_v?z z(J6C*c3`5bcf;C!r^H<}kt80J9`rVYAVrH)T8g`d;uL6c>Ez7ZoSXS({z9^|v-Vogdfq3HPS`7Car2RH z`(N?{oOV(v(?}Mz36hX_{vze97Q$;X>z_ik7D_0rf+KW97zw03Kf5?|_6|wvKnyI#N45NVspUMOhm^kc88*L;EK=FOpfy|xw zeQUqZd+RXl?x`wbQE`m0?3Ei*rAp)f$gI%awAVfJ=6OQCZRmIk@*&k7ihPk|M60SUP z2tjZ~R9-ySgxtI|CRb(6n!M&YThxp++%B+}-4+s-#u)S{c1{(Ev_JVwC+H=AYx z#-=zO=(RLt+2D=sfZOpj)5?Ik4wr70wYb6L@}UxGa)?L>kV%o(c-Nnn%CVuZc|P1U z-V(M75T`{`++?(9c|pLmKQ)}L(+EX9g}QSGlb$M5`~jzmjUQD)_#N$I>Y_PR+>l4z+M z2T%$%ilZ?I3G_-&8JlWARB(HYYn0Y{bR;CMCjT8mx{XQw2r>^y8&lCQ!O*w6pSwW$ zSbM63s@dZt8G)t?m&{`>@+7#Nth;P6Gw8I39j*HH;)RFn!n8w!ZYy%ge7x^hOenti z8}wONptu440cy~=&wmc<9vKDV5J;ZrYx{kMaKmJ0{6ph+&aLOk2DUEflk^GP!P*lH zRa7UHv%ku{U$K7P>*qUo5lOg`k&WHI68|Qfap^Jgr*r0n&QSo$LhudN4jZk*Yhy5G zo4hl7uU!qvJUwz>xM>rSO?O%|T2fD8H4k?8srUu6E>H5i9!&Do{$51P=v72bvG?OY z-4~g&@jvchO8|-u)8^0O>QZmRSTw68hSeJ~L^pULIL$BUSj~OaNxqZ_C2#$79&wC? zr6PWU^>ep79lyTbeKFVRt8HEWji}m;b$<{Qt!H=>OZJRo0qs`l|cD{H7fz_2AH?4B>yiQdvfX=4FP&=Fvde32+@$iAI0Ab@_v% z%ma{zA&`Lv?bS6lTIOp`Th+9#j|pGgd&gQf+?0RcueKK{SP?o1CEf}CxoWjZ;iFJU zwI$*FgK{b<%DQC(C>Rdq(}#3qbif3bbu7^gazgrwIHOY1sR9 zTtVh5^7Q>ha&yrybHja&1cAhHA}cV&$YosnB?ujvgCWu)iAtI)HgEHua34} z$V0@S@E4)0B8(qbcXWz7X+I{eat`=+hi#%KNSY>6`pgFz?Vd*j3Rdykw;HY&lo6{X zdw}fArMfE}A`^wRO0G4}4wts*H0?#`|=v~U|WZS(Rc(dJJrA2)+c_GQi z2^t%10eDC{k5g%}JTL9QzMjKQzCi z-h3W!lv(j|xT7_&BA&2Jf=*s7Cq;0_u;IU@1Wwwmv&Lz#lzDYV89y^DZ$3xaw=FK6 z-*5Mv4$I&f8K1qH*5AAEd2{(Ad(=M0T}4Xwd@4D1@=Z&YNcvFJBz6WQ^l%1`z zJN|!wRh^kYRjv{BsO>8iua&)5qUF8A`9UVjzDtYO2dDEjrQUv^*~zLh)qq*KSyl4( zQ~!0CzBhH({Ja>wl9?SO8XVFQ&t|BOeP-9W633_xLLuPwaGy^4}kkB&L8?036V@92NtnfRJ)^c~!bc2rB9I1YOhr4G`s`5P4(L(y2J-2dY8 zWKfiKX9d2sOa5OVt4M3bf3AW z6jpado`LB?`CGjzhuAu&YD%2?IwX{%WrOpcl@^D$=^CzyL6npPwVfF2K{)31{aL+S zSi-mBr;dR@NY6tv@)B&uEEaW?YWFMTTzT}P)nfmja%fa47M9%^p!jz^YxYwo(s+g> z0271+Uiy1sQ5p?KItFKNzrEam7WdA z&^64>KE~A1UHNUNCP9r!%A8IAi7AY`lfshM_?lK)RyxQK$SP4s$~~gFp*-Kf0{8M&nKp!3S`LjrQbA0p3_czedH($6VPv zxNw9;rwl&~LjjAez1#f6bmi@!nm`L{q@olza~l6-<5{N>8r}zFysv~$hb^Zl-s4w< z-KtPKYR2^?MzTlaLyU4zCQsFmV-6q!XU+Ar0V71}qO#P4ACTF^2u8opl3EI*ZKUkF zN(a@doM!lYZ#6zovedzySG;SNghtBFA2SoPzwg9N<@=TU6L za$+63V_lam6L+rXHnm<}F->Thl6K_66E&La!aoZr)c358XD0%UJz#q^Gj)|L%bc-e$!hV*;&lim4ztn;ZtRWh4cr0D zbB??)eN_v)**a}Ezw?M}m-uEL`7y&;{w)VW%IX_#QM0*(yjT36-$RUru%hkrdM*oi zQ(d$*+YYjLQazu?pC%`2SeInuu4e8x*HCmB)X+&F)srQ%`q@UzQ^XZvWB0F$OwOhK zoXq;Bh18X{n6UGf!Md>?gS8$N4syqNV|R}&^ZYjh>O=0z z(|?atJpiby4^}sex6()ZfM$|DQO_7RB`$vEwI0LAkQ=Nqh)w-y4bCe66thWQJ20Je%EJWhQ5$=zNI0)FaCC?~Lca{nu1{JB2v-&7t z+gGg5wal5Ib3#pm&s~4%D)K#nVq2CbCqDHS{sd{Of7|~7whbx;J|(N8DuInRH@$!T zgxq{w3mt4+yq(=LD<3Gc+p;NLlt_XE|E)HnoN+^YXzHzRoXx=}ff7*~cI0BQt0b1I zEota8Feb&e{x-*fDPC97%7u~Ye=pP~AlU4n{VU>I?zZ$6b!C;`qu-}b_HrxfDf2>x z=jyKS-PehjsO(qcX&9qdGCIOOn#3c_h>dJ!iX3-|`Uhj9XVS`>oTC-jxP>{4^rQgEfquK5Q2|Oe4DW8@(CrSvf}2EXyz-wyhtl zP!&~0r$Q7S5qooBy5g8k&OzfnLH*7tDeHIuTTXPl!|P17SY&&)M1ys zH47Qn#EL=7L=ZdI_O||=yIKFDj<2y2$4f1TI^F!DGXz+_HRJ*fY8v)@-~0o(S(hAY zOH>ov@1zcizoAjF9^F`@zJ+rQI%iQSu26KPN1$OGZE+t-Y~kE zM=74i3tId{Syz}o2;TlNw#E$C2Sd3Df9(vW?CU2ndP$`x9sQ1d4{gipjW9cGXq)xn zo0-_CrAxVJaE;mt_)d{aRK1v|yT{kPp1pQg z2a@6beQe&E=6PcOg%BsCF@9$oUJl=z82xn@0164w(&tpC!Jk#+Jqj^bS_@P6m=|uC zIzPel_O2J2_(ijHPCpfx``-LYMt8q4>WVqzOR|ik4ClS~LELA(x{DQCWPwhrW4Ot& zhXrhX=NIs>p{7bEz&h)(`2b;8hYL{AjC_I@btSd3#g=}95>qHhXCcT9b0iB7m#ea) zXV~_jEMs~UIoIe9?g4lTx{m1Yv&aVe&El04V}!EJ)R$#6vEKT5>`A-xYQ?}e@~ooF za;1xYnUhU=29E~mp4#COzP&Yt#*X5V(vebc!3haS^RIs47dT&ML%DF91Ohg+W4oYj z{a*ErI>f*1@#R=mO$p#CfNneWX`X8w%lPbNUTH`z1dZ3CZxNSjzyczz5`R)*ysr7i zHW8nkFWqA0ve*N*YjfqD%TRh(>W@hg!;mjP#m+kad8}AVurDOQ6X?5kt6ZF_$P+)B zMufi2{qAUak=!UyrQHEX#cZ2VlxnS`gJfqkEE@IR6Pyq?3P<;s{H2~LOzb5mTgalM zqMmn5?E0It1MFV0?HpiETmQ3;Mf!{E?GrM;;VI|P;=HLmIr+nhneZ2OBBI*hrp2v> z(a~o}5Wt@!#GAqQkKDIo*)ZcSjqvU0$C( zEvupedfX&2AF9rEohY|3+WDrrvt8#Oa`U~P&qC*Ds2iVZ{|%7`@p#Jj*PAsJL+Vyv zQYA$C3vig;z8UHwQeeZctI1mz!o!4t_`KBYT?zcwJoy^u%2CMYN$5@@-Oih<5-xDy@N=sU6z9OoAzEFW=2 zoJ&qm1tWX*Lp29U*gN_+M`nJk%FTk=(A<6KN}f7pgGsu#_T&2eus|HFD?$Q)vtL8K z>}7_6Y0=faFM9asZyCzZoUb1Qyl7)_JNmXO-79t4%227PsaNEF_J&FrvN3o#qQlg+A(Ay`&ZoYi8Mk8UXVH?sv9Rj7*EFr;eyK{DRP+Fsn`61 z1Sj(3Rdl{&-2T1q)KIhxVsy1V&97DcvNLH-$Hd2=X*vB|ya+|vo_LDXh%C@(K(YJjidRz(yIf}7^t*#m-(y_H;%LJ zAI@ikMPJ}FEE4>l_HUU`NvuR9pr#fj`c!#(>=ERKqjpzUefO!)QS{@kjW)WBoM2V< zd%4t#<%#u4DSII#+wzC_soS*f$}Igl(n=o)fJ~YM=_$$?kC4fLe$Zp9+@NZFicTo0 zD6@!(#wb!OhR&^&6>5jZ06MKQTg&^ZeC$e_Z7_9Zs5d^6J-osJ4^dkczY-)>GYB-y zVU$Kz;>|I28b{=emSwMomVrcynAQ0CpOUuPG(TNv1OCga~mY-NINFhYN2H zIYr%k_1z*H?N$PQ7d|cBeBj$JBHWcxNENP5AM|wVbnd)a$7ZJ4R4`kkamNUckwHAbq#q~QMe#A{9(HEdOI`ERdI|0XgZz1hw6alP~0 z*azs!syUUljcT`6$E#LNlaeU7%?NeFS7Y#SKj*vSK@zUg`$8m0tkiu zcmnmg2U9oTw&_^87Lrl#%9X~xA}7Y%Se|t_`mk04tMnLc(k!wwlF-@Z3l5H8289aO zv(Ke?t1hb816C9gtUVNuDrfTp(n69oOaX~$WCQ%nC!KyLrrlXNYXXQ2b{y(-2%l@p zLAkgUAngMLmdwNU)O*!XQZB`kR z`X+9&s6Lq+D|x_@+bf%|lO>sByA^HimS(y?4wWscX>)&hpH7t`w-8}yW{Sb~>)E1T z6K8Z;iCDjgWLoEj z5fu7%Tkm5ko!UD_PIpCu9*D=#^^)f6fLuM>w_JyzJENXY)>w~kb1x#U@VVghjQ92d zpJVwCL?t}uCOEDd8Coh9@ae7uQ%RCc!d+pOb{1j24>bNT*B=<;A-Cg~e>|H4PM`ea zbzZX#|6$Na;RdA>mBsRo4j;cSsJHST6LT>h!nkWhkJ-Py^I6y(BVe$vLL&!(x{5x2EhIyJA7K&^z*ReC$o?JeOU&)TyK4J<2( zctAxUN0o_7Do(mGDjcijYgzm|zfK9?#p@rAzl?FNAE+2T%e)EFBJGfJxNt122DbVt ztIPU+(RfR8Q`ifHKs}*%@fFLXh5I(a39Ebct{VzIW04@jEAG*WA29@%CQ=6L?}aIZ z_~>L|LIXYKjJc*?r3y?lmJ1gqE`9$taIbfLvsi0K_`yS+d3Ugq^{`tHY+tDjRWb2P=)ga`$=TQnF`Iw<*C zz1-qTGuxRLxa<87FlaL&OBQg%<{#qjqA>3LnJ^MrMOT?qXIrGNQd8g0r4?BRg6?lT zW!jj;s2by{w6s1skfi8)%*$8q?N$n7UlB~7lEK%XrqisIkkHzOa8qh@TbH2U)FH-K zjTy$^ZnXj`!!)tP2uO;j(G9cWU)h1h_>GK!y$cNXL__~`6i6&8(##xGu87jpf;awa z@S1iI2pT8ZQCfx8{ae30_Qj~=V~X&s8Y8jf7btraZH}9P^-K-mRQ6>)eT)=`$VLEiR;NbYv z#stBf;cCC;sw9Ze;(BAROO|b{NaEqd9MWg5)PL!RTD_OY=mM{p$Ksu7=O{JolyqY2 zMskp@!RjTzLVySOcZ=2Y2U@)7UY9sh;oo8rrfVcBaE4uUz9#+Karcumd~n` zL?uV+&ZL|qtcM<7>|4E{+(5KL>Z(q(`xv{_U%3}nZt1B$#eqKjyT1)T>)hGVTj(RQ zJo3v%o;`Dzo=OMuh7*)Q zEkS}w`In=In+=iK=;oS>hu-qc(zBv7#)CnqU-J`Z`9QIL97E==w-^o?Ale*S(g~#N zb<&Z8$b%=5Jo(P(wLP}lMUIi<&@|505iiX3uBUJk86dtWe1mSfq2e0_?Lcx3Vm*RW z9T4GaaV)#{r;VUgSLQS`K_;VL#&nJMvqG{CF0cA{Danb_I6lRPRvSiqj*NEVg67P6L5Hj5j2kscOUa*%*Y zlFp6w2I0TgHMhlg{sG!7)R>!|HLy4T0V3-1K863y(Pvw2QXx1nKV!=YSQwWysg@u$ z>g?Cx0vFgsqu>ul%oNp|O)ynPI?;>?^Pnbx!BCC%9AsgMV@&2Fb>YG7ZHFF#1>Q!zJlz_HYPvy1o)!8sfcNE1 z6ss7a8Mo^^2+)FRqcd7AY88QT90loqiX1q|QmD(8q>0q?y}51IEDa2a1Ow*RX*(qI zmYAP8Gv#c<$(sAZ^TLS{66ybON{jUGCt|quf1);#>Ts`wn43U;5Qz7y#$fBlAeULT z2$)fCq;oNIMb^{VX0*Uji4(nTrUQs{cwDF3rf=uET0d!7 ztp1gLl5k9@j#wC48_epktai=i<53@1=PXT}V%tonPLYSDb+l)c9x zn(F2Q3#lDXmH~crJc}WtXBPJUeza}8<}1;YRYOs+1N-*>1H@c3G)!Op5*G}3Yp2ph zUvU5m{amRr+3#xjUW2uLN)TW=6e$c`-H^my{X)bh??{H>#Aveo%*hii;4k+MhYSUw z>jSRt4o94ThH$>K?S0u2N}BlP^~GJspA9A1Com+@mp3Qp^n^Um5qUgX1;Ji=V+4)8 zomi?_s6S0_jsKB-*t=cxv+DtGdcxj8J4uYut+6ec9nez3uf$DsjPdu#r`}(3U&oeW zvEBemaw%%jyvM{Ubv{br5c&e-@k{y?t`0CM{0EpU@1h!%OjWZV8+i$B(IWv+bq(K39;RB)gla;KiQqvf1xe68M2Y6rjV;+3-dafnGPRF}bsP=d? zKu47sBW-N_ipGB=bS<-kKj0rg6WyGYu}*czxM5nhgqkz=I&AW_-9-Zi9={A^>?wvE z9%4XKME^sPr2m}+zk}QB+y+~LR<*hYa=)0WhO-{JZgw9w7TK#ct`7sv2jiK$NuDkA z1W+rdU$6RVy!jbfyXskGOAZPx@V3%e?T%4G``8e9VY5ML6t~K zmY!CMl>xkKX#i8f5$?|!r0&WYTdOBE z$y?uHTCpr+=|Cl6WzZXjOOuBbkM8Fr<8xF3`*dJ#a|beQ`(>4RR(l7%t|mzHWxXkK z4JBoJfA2Ljp8(L}msHMP+-|ghQ!8p6k;iXjR24#>bE=yfLv2ZO`uTjpuOD}QWoNtN zI~54Bjz0#@2Q1f)s;$=PY|Zn04x@@+?V+h;_IH}Qq9;nn!GCQofu5zlDgF)A15H6r zGaG>TzJt_|tdq_oS-w(YdHs;vTVX0bZly};!4P+Are+*~X7I7EhFiN4qFR1}W7tmQ zR2TJQ#A|ti&OmUmaAvT@jeE$BW#1A3w=WHUqp-N9dU(^$Wn6dlgq^}YshT)q9h53Y znv}PbJXarcpy9HrRW%43iAkYonQR^79+6et=x7+g@k4&D<1*W)yb#=?o17lY^x7l( z6p*KyYVE0q#nI+sw*3!qW{_>;uV=gmzseQQv8La+rI7Xf9hH0l=2ekP7Tk%L$y6qj z2<6gn>rMN-^O|)&dL{JAt&g&DcxXpFP@H+}@&f#JP)2p*zV#;rDyT*zh|<|z(y5az z++l>Af==XA5Rt;nP&2HlN(u|Ne|A7S<&|4(*1*#UObdydHRU~Dr38Zc&YC3S=Hxy0 z_09aKTkOS%I6$WgD=CYM?R7!dv(dsr5-REr@4zBp8W|>f@eOU2 zDdBK)rc}Ho3f>`JoYhWH!rIYdx@WX(OwL`}=i!>|Xhqa;@m3CyTTm)~%%4il0sfm< z(+|yHccaCobC1oA_Bka^=<=3k3gmeVp`8>P7*Y9Fr)E>jv@$_!uuNF5oECCn=u&}& zAgFhMh=BtKbVN5dp-5D4*qjg9VPY(dTa$f-leXSwn_i_;nu|WE*S)k`uc(p5tO<1b z4{#MuR2&>r(h$dBYO@yEm;IBv8tCf&T;)z2HjGWkBt?@R!N%N<&TWd72=9)*nrt|7 zn%GoXo*pNoLIEo;ori9`&6KSURT~g#EKRR6j|_HpDOI+_7Ni|qlIx~+-OL*oc=MQ% z&rIrvPg$q)u>cW-t?0oW@qWF_%>i0QP~9EvNdmoYiPr{-*p`<2HPfe5N&GD(fbZyy zX*NC^i#@rdwO3GN1HY^%TEtE5+BDK8R#QE<2&um_S+In4@tiyGxQFNCaq;*i2XYPz zF?OfFN~?;Y zjrSQJITU%9K!(r=R6o?eM>_f_C2L;bZEnO0zPVa>pCSs16!M-=D?_YcN!a;MME4q`}=RXx^CZD~5bNTAz#U@wlsi1Kvm{#DC@Z zN5OSxPx&Q{eAaosbGt?$8)E|W?6fvGKgdx3=M|YZn-@;o=JQBI59BA5zEXLaxlI7F{6E0*-wo3i-?pf`UWU{~nNr5cg zWB0QEd~OxwKKQl+yp>Gpi-fguL=Jo%p8He%TD!m#a4jx1*Y{NT($VuKHq+-}?nx$MecjsD( zg+26%hv7?!oF9)bi-85T31R2S%xoR35PkkaC5=tNE`tOr3u@wAI(doy%cZ4?OZB0^ zU`-Wuoh|~hWWM>Z(A~WT#Vhi!UDCt;;1lX%ft!(7{;grm2_@K1I>Ya&CO<>{n(aj- z#N#Ff-p?k!^@Zj|ckI3B<#_s403r9B(vak^0;w2UcfRp>*xw?){U<-&=b&%>J&V$< z6UR?HzAHv&+n3hs$+F=C_c4+wmloA6otUj`G>-Nsds!x8u()5!KrX@MR0*n^{^8R# z*dA!DIgE{MvYxAjoCv&|=Z8l_EQp&a@I5>e7prfydEV(&`AhqeUsmPd_vJDsu3XG@ z?ZT5@IcCuN()zZzh-JZFDP$JP!FCQLLKP#BP3A64Aep63kJ`iRVgA`Z>9WZspvNN4 z+W+q6(LWr!2^^fCV8~_q+7&mKxLa}~!Gfb>3Z;A1>UQqvjf2zp%n-q_Usoq}&@$qI zLzL>!K=$4r7-({rEBKYn;Js8QG?qvOQ<4V7ksPp$FweCutk#$9Bxkusn|KB;=Y*8K zzJGETd!0n+10CIOOCT9cEnfdAA>Paw6+4ez@BnGaDtABJBD0c39HP`}`}$i40$Zn9 zJtGl6^K}zwSVLiEI~H#~lPW=G64=0Qm&3tE*KVm&W3ERlE4pu$5K62@=aj&u(Hv}T z^K6cT%;$QntXZqRA~4B%`R12WsZ;aH2Q?#_^mDz-;O-A#kRFHC1#R4 zqSbSMFwLCTpL5_RvqZuQ`V22gHG}Ip>SBX_mMY8J%_*EOTK!Mna7d~j)3F%e+_Q_M zx-uv_lWR(k@QBTgfUJiE4G|j}Y>f^w}|uk2`h~Ci1x6 z%1j*8IuV6yanc^6z_I>ZY-SD)Io1g{bbuPgw41XlHZ%81X0~YFk<0+k>+KjUT6m#o z!<$>e41UaG&c!hKn@(Y<0muQR>Xsy$>ZB&N^+X#Xt8EkBQG2O)OXmA{_bZL$MiVz-QSCWj z9ZmjlOy9%0-0+k59s?A%FC*oZkCFRz8${u~oxthl96lL7&F@U*Cto@&C&^4*XRx_Y ze(i;gY5d(Z8UDhyL(#MPhSxv<7gI0JoI(A|FlpLJc{p=3(8 zyof+z9Zjh$i%V6SN2`nk+M2AQqOMsV@-pMD!-{3W*3`LiF^H*!-)OS3w?KIeiBu!u zSV4U&gBwG0;z`?K@ch|lFMQ@A@0wXtcw|jVk2jG!CNLa8<%?qe%uzPs)?=|rbHTsE zhK(Vdd!_ZXQ?O!9`Z>vN^f7F<$I^6a^T01TT;D1bP&fH;6r5(_@Zo!@$#9LFuLM_# zY_)dsXN~T*xx|57vR^lvI0YrDVWZ{c481!1UR2Fc?Fl4ZJvR~9;sfaDP;@^bp0dSW z{0^Fnzv!I}I8){xPPgGk1IYseNi%p>LYExm!OG7rYM>8wI0747QRuHJ(&$`N#Gl zvEx}r>A`)|fDIenufYLEW46+WK*zc|&w`I_jtzw|U=hFKNGX4|N;c^Esy` z2J7QcCk=oz+z`LAegGknmN1bM6E&CvdbOsLa2f$w9~A|_7`y7iO{g|lq9jN%KnFcO z8+REPsUflz$&UmnpN1Y2Lihd$ql~Xi6NLqjwU0f2=r=a)FpBOgJojI}myH?NLHANt z4RIGGjeNzZCnht3lyeO6sdw#hFdt$z>gal#b)NKP6Y_lx5OHg6hb)ow4hP3rc<}S&s>W- z-iZtb>Dt_S+zpgoOJh`LfR9}gsc6^I+Ky@ZDAanwVygoi^8NExZG%jU>>vw$sh;B0 zS`E8fiTcxl4_k`m+TK@!D&D)Q>1jE5!ppWlmM7S;_vLT0-*^Q(m*c4bVh1%au85X6 ze?G7yBfc+7-x8^$q&gkFiM9+7iW+*h7z6P={f=B*PJqvWM$R2H8fpj^^UPz~Xb0l2 zVmo2lDRx@W4Hq~!;U~JoW`7~@Z*3c3b9Tmbo|Basz*?vGIK2=6k6OuHc}hO>2kVp-=(NqV5fEVu_ui1f-Yge5 zUoe+6SiS6yUEeZ1=waBan$nR$N~tq@qaLANVTe?((I1_WV?MOn4|y&W${NG0On|~+4ohmY*_-)$WcXbBfT=RqmR{Ki;gG{N z1gV^$VXW(#{{)!sgD+i&FT2FMyeGybH9j?v#MVGX_jaAs9C_;^Pu0vtvzX1eHZ97s zQ{Jr5?xbLU>3H=IV5`+7&WC85W+kA_a;K9{f751CD^9pIOG$rhNV!Qf)+83V8~aNO z`gCD5u1ChP(h&WO_ROWs5ga$%ln6|&<}MX+-2`C)mZ8N<`sJ+m1RuAkF%Dy~t}Cn#7YJWh%md&;+Hw489HJ6iP0S@^oU6VfWa^PrKSaN7eCZ?nS zg*x{(ZI!t)YI3$TM+fS6vAFb1E2WX_gyevAN}mGneL_kQwUxL$-97#pd2dR&U1&{m z=ltPX;z)@$6fSA7x~OyW@Xcx^yfjJCvSEnTzTz!4-$x ztamcAd`(`BR0H@Qvv5)VTQgV=R;-CS1LGm~Tl0S~a3FuK#Zl=%4BTC>%Sx_j$UdcT zjr*A1(=-Yd$TCmZqf)+J(XukWEKWiM;)*I6(#xA3&1q9DICU?0W@ADosN5>ESWJ=o zcql%dHp(B^OlGY!xJlAt2g{Q@@Rt|%*zck8mr>c_Y)K21kK6VKcpE` z0qo+i$Yw0o7B@IuZ#t4&rx>ZlrZ4Wnp4uumMQ&7`RDF{q!MmJ?M&y2ni4NVkzn8c@daVeP-1q5B-FvE^w{DBj*H-W6*n!IOsf4}BDO=+@2 z4(Ty*$E|!R?8VRItk<&FzzT6A`o=PZWIABl{FElhC|j|i@b|i*z zN|iKJ9jbXN|G0P&HtLG3cLKTfg*`faegV)N)^JPXqW#0YhiI$vTaWX-@IjPKVVD-Y%0EO?;G`4f?XGkH2grq%fegO%T@Ep0BYD-(V zv9!_EPzImNcH0}#F3{8Z?pC^lur+xs-u$*C$+}OMW&N>d%{g(m>;0C>qdlZfz4P`X zdRGFI5XndJXHkH&-BY8n_A?iq)@H-EA3r8qLaWs&;Ukif-$=8^X*%|7G_4*si#)Uf z>8+MUy`G{ya=oRp*{&LN#P7fSAV?9nV<{KZs1>lKs)@#Q$Ku4R(>|%`XjlvV&ixM% zE6{6cB+k~4cbO|LwbJz3*}E%|PKgzjk9as`EOqA~d-ILe4tD95_L2ln(oa{b*S{7bm}0j}~cmrC#2u z+8=*Trv%#BH_R&21Qe}~e(%=iCi@B%veMuGr>@FE5YdCL_YZkGVP;L?l(nWr~hHJ2DsE za*tju`#6Ni$k4NrB^2#;EjKrB=b}Ot6S%cVamULIv*f!5eL4x;M7xBVO;2Jb10JZ} zl=~fq++T51@^_sZW3f?wO`gst<4!bJOK*`xVj>{bAmYVqr&>a(^$$$1>9F*f$oMvt zPsT1t*$+$Ojn$5uPm)8Fx5?KkU!HVUZouuN1-LH!~%{gx(oB>&8|%x zfO7UtU~X==vA%G33hKOW)s)ff-^h)aRYEm`5q5%^Q1;S&6gzDJ zU%k`N>K6V*SM$q5Y4(rliE6CE1k25g*_!y-T?mtHa>+o4m@$z%cTF(>t>eT)cd~(M zh#)6Ty#NH%rQU?)C*g_U*y zPo0~rhN`B}@k_1f$dPMUs2ZmyQngHE?qbfhhjx6k+YY3ZIM6?GobwobG6` z+-SdD*A(Zh+Hh@inR-NuR{claMWp{Smy-=JQETZQ&4fvS1PXgywl#kEMj>3`u#tEzV6l+pD{GkkxzTd6N1dUxgj9J zD%JmFnU&a-rI=G4`qx7i{``1MJ-kN%;9?z0qiQMwnXnu~4bJmh0Lfo6F;b-jtYiV) zXyeDPtP5l8q5*1Rp^uHBLyK#3=Cf^;r=abGP(SLVhXR+p#8UN^9r)Ljgmi8PuRn%s zq!aq^%Vw1sBIO+OH+l^Pc~@Q3wMw=$S?e{SrTa1R2qGZ@pfCm&g&pf&N=LmyQ3yRg zv+Ed6Xw>{WyEXZ7*lVK<3Kz3c?;W6(a6*%j^LXPe*XqJEr+A{lkNlKK2*yV1H=$ps zKleCN7#O=;#Bz+5%1tDYifx6XZR~;M9G7JcqdUr-E%1WV{xn}SU;Vkf_|x}DPUmkS zH61M=C6{T6O{9?q5EW~Gm|c43GNm^(5x_tOY}g4{Ql{4}w+I9(e5eJ;^>;kWUYDVy zA~Y748s$pOO*WP&Dbr@#FQ{+awq2CE&seu=kB&~BIF>M_k~@K_47cn^yyWuk;RQ&n zOXZXiaD2c3>FF4`KH{w@*J**|lzRE@;lY zX{+E_wEPA@t9Lzey{V~dFO)A8V(X1RE?Y)9x~?FQSpG9gq|U_N!ZXvvfbi8UW+EIv zHyB1GaXF*2C4r0qA8V>Ib)FC2KCK{-KmoM>0mLuVN<_ONX0Q_hQn3SN z^$iivf-$r{I?=-%B;(1++Ygswt7~i9WExn+00J-f9|)J)>-j$a-cbU^N?5z(iN{*S_-U=by6n9GY^lyuC8b z8W$U@UwaQsQ=Ee1@OzY<%DBAwZp+3tuGZ%_Y_)dBZ_KhAF)C4lQ?p&B9|z%ztf9Tt z=la`hVLdBcnmpC~UwI__heOWE%)75=J9P|lrTr5piD`mm&ppf-r_c6OgI=o<i4X z!s@A~#_RM6sw^T8W4BY7(yvnerRj5(W7B^CzOztGPHb}2^lPnT+e@(v_fYrRj+UFL zVf*AMDG9Em&07aq0nQc?x@RgrC<&d=BJOfq)%bU&p3Y&`yxED9ZmPmdD{dT0G;V8d zY5cflL0Jd2iG265fiF5Lt|L_DaB1e=R9N2+=PE5Xq+ldBQZ z?-ERfA8z!AHy^gZ2A*7?NgXtAjs{gJrO7B!TNz3Yc4{RHek&HmhlsLmn0|0V{%qR- zDj#y4S_~q*k12S6H8gk)*v4?^!|)7jl({3T&p}o2VWoNAcEw-YnJKB2i*IJ{wK{QK z->y5xeO3LHu5B=t`$xqbi$7kUhbO9uMMSxIyxl1wfjaffgBM2hkt?MQ7dS0nrE`l* zdB5M8OfvQV+Tv(OvXRtG#T5nQDmr5+B!P! ze;FTP1ad*)!!9Ocx@$ChI=V2@fr#z5tZGjP!78{V0Sys2Dpqy8MZ1#ASOeX=9Q#-1awa@E*p9Ni+t0?>_0T!1xt6~&Ou=6Aeim`l&)MRt%i?%e=w=IK{)V8aE)V@STLd6qOSjs)+aJp!j9lV%Zp!1v6lBgH@lf*y9+kCZ_4jw?;arsI3i z-@yC-03{EiO^YipAO0eV!}ZjUA#VyaoJnbptSBtvinOfIria$)q#w^JpIS)l4y)Mpb!7CRFJt&z{og(p>p=iG;krOiQQIK}?ZZml(Uvw0|3|e*8F} z*-yJQT^{9S|NQR8r|v{91Bp>!2EPH5`qZ=$wCJwi(rVC`lJvVf$2GL&Dpk?1KhnOY zxf2d8QGD+cW|>jZ#(P(FFk$UVx3jmg=vT3Qh=ZCNEctD9vxZep+$ucl za|dWK5{h$(h)S7BVWO&hcNG;qN;foRj6O+zH%1O$0SqZ&H(**eaN>fy>jtv?z2K(Z zTEB)zw$z6TCu6$AT8{O_9cpFBM^iZy=F*I-#kV31sATvyMD8#CMvTic`DU=MJX}(- z?@qjmD^xgKJvA%f8q*OT%G_q|$X$Rq;=>lTW_FPqWQ{&Dm2R}4UUH)NHOcuc5Oxh%uNd5kWmEb;HRHD+$d46Vrwjj%h&#O zNWI$X*8SM=*g_Qr1z%%cK@g@2m!FmsyA*%B|5TxoH9NvqX`S+yJuqDZ3O8>l#R8Ie zGfhkHIB_|8k$VbEHuI-L5_&oARz4fo?K%%zBkP@53AT8#-ZvXE6McOkZ5FEc(P!en zBLs~nw>f!MH@_hk9$<(Bbd69GnPL?I<+S8Eb?n44Bp><<$O=dIS2WfQjq7Dir?h z`X*qNh9=S-EjpYuU=o9|%_Yg(;v4`OR*RUg8)2_d1VFOHbqm4F=%l08294_aveOSm z%-fVatks}1Da@IBr7?hnd3+Jtzcp5^|CBeyi(2kw=w7Eo4l*10+v(<$Eh;j$3)A%D z@RR)5&NQYv&in6n;e$$7GQ;br0{6qUOwWZ^O=b91*3^>o=$&Ynb7m}Io+pEpJYtB( z5oYvEBpg=uJQBagnG*YfT~EDz;b-jj5L3MLlz-v96GY5?(QcqN&yc;NRHyU>^y_i` zyy=E-%t0;Na*P0_jrP}a9g$QihR?~sS(xGc@0ajNk*~(0Ew@taQ2~1>4jaP>E2`il zeK_r!Zp^rRKU;t3wiLXVK)vrC+@%)Il*|Qf%eZltJOFrwdT4ts^ymwS2BQv~24k0C ze%{=9SdKyCR_tHDm-Kt7EfH^z*O?RB_gR5g2Oxgz)Ku2LaMPv}7u+HTGJQ2={b-PE z3G>-bAVyi}L9k(~i|k}nd!`Tu@X3+YpI6lO$Nf_L!fr7A9<1ujR7W>Z-CP+rbzqRz z!sIb=ra5VI4)pLcjLUfmRalJlec!#j*9NA&#%T!n{&CK4p1PZ=Ti-hJ!FQ84@VSU6IG! zND`rpXra>3*#FRn&fT@P*_`H!*?nOBR7O<5iLW^>W=b)KX;+`CHM7X6FQcjhdW#BC zROv3Gj@foZ=TB1(rrmO$Z=I!Dn+)|p4M^K`S6YqcC7Elmx$b&L7{mcg$e!SZDK>q~ zjJZ7u3m>WOprgBnvMn~G1J3cv+5?Zj#`beg!Tq8%&k@?ZERBi#R7sz`>q#)&b| zQUEHx2vN?@&p$uCBjuX8U13Z{NgUw5cNku#_hyVt@>yzmYQ}1~fXm@5Fv> z<7DfgxqUnS5p?D54>FyTB4H$ZbM)w|iHcXH5i%hpgUj5vYzr+ zPtBT4f83wu#)Qt(yjGL$?$j|ypT~dn&9_V%@y#Qs?5)12rv5wZT)t()@yMwz?<)&j z*+=M^`Hd7E2J?@U9^MMF?kV8#fRQ7ybJTZMys6*w$o1f4q{{?jOw4JLgE%=qG#!=o z-G$5}sxtf!Bfb`CNB>Zmoepo9qC9p)^WHmy4M{k+6`i_K(sr;_+s$^@IXy}xU2il( zxSfyF1OGL0d-6+}0XDrIMwb3TSrNW8dl>@Jp~k3_<}~dw#bEP#znGQSe7Ok?^qZE6q(C*H65wQ5fJ{(9TfNI)2LF+r~{z zPhsWxeu+tL*HdbJeVDHDre3AX4(L0DnC$g710P-qk!WNr3c&Mnghi(Ch{(zIu{zmp)^tfjFW@^r;|2c5tGBC`I}4gMJx z@vg=_${`~$nOhcrk~Uvi*gwr&-J*S>XJ6mU2+H7}elCIGH07uuq$-463G%VgPG7$O zxmWc#%q-yBCP$}&3sMn^Zf|u2oMr`W7r8F4C@3ju)$bwf5Mk8NLi97bL`ojwW~VsD zF;?05Zhy27S77W1={ACre5&R4x;bLwtrNdTD^kYKDLXMALRuLaoQe}%^r%eubU#&0 z`1@K+@5&{boO^O|3H5iFb(j>R2-Y?0c$->;j1tD4-YnkQrzgV2Mo>HJJ49m3bVVXa ziQboHJ+7XyrN;Pc&8=Jf$GKP4)=(?#YTC(Li^(a6vBzIK$G6gc3^yxhR~DtIr&6pl zd{GVO9eW1YLGS*sTkrH44=-G;x7s^CcRzd0hV3}{koC3gcsfaof5v4W{#_U*r%GZZ zSls|`T9x@RR6fa3AI0Tn&1kK`_p>vk5tn{u68;UmSPMvlm@k1pX?=jenPet4Kp`fnjq2V>0fCt7 zpZfOik@qAi^;s@0eK&InzRVmm!Yw;d)jb7?Db;2(*&t_dPopwj{s*$LxN=3tT5Q|F zfK`(S^u;&Y%e&RUck`)`FzuUPFbkfS&_`pww=j$19BKBM)0fXjA$FlNw;-U%?O}>) z728sWLRt~bBCVvxa%dgq+UnE;Q`2hAex-j3LzAlKxOBHqRgvPEi^NKA7`G2C8H=#= zhgDv3Yh_LLFlg1y>KWVn1e$i^A0OIxSX`&8AIKqj#ABr>PQ7wetOxU$h5O@I>f4hu zVjK>cFrQwHb4-=WDq`3uZl+_bR5~kqbWX-mm)iO&Y#NZVepJlU(?iEH z+CaLn4_ayYJ+*6rZ6Z*>(RdMSwH@~HNQCj6gA$(jk%rm8vcLb&U^PQ?-I!66TigDh z^_&#->+v#$_3l{<|j;UQESZEnL@^HL8_rPAJnDN1S0 zZeJ}gxD8%CSWjm3dY+q`sb|d4;uws^isWjD@~Z-pO~}2-&^|Cm`jUfEw!a7`m=1{a&@=E+llbxghbWd<&2ir&f} z^}*QBCLEW0{kfRbgQK4&njm5$jfb7+B8rC8bl-~bm$%PDIrUm}Req-A|1P%4~ zS8V`16Z5J}8SL1uZOx|b*MW9D#8HlL6=6N>XIkCm)qD(s5(3pX_yoTFX>S#9KJ|ux zm-eU-Wly?cxckqbC(7wt@$2M2>*)cWTb}seRG*!0_R%M%Mjq$1${shn1%%{B`!KWa z#EH===j*>c?jND3?$cOP4; zL{M%6HJ+AF0Vn+TcWY$yNTiOE6GquxEWm_8uxlfS7SoUcEbCninx2A^xHhssVYs*8^TzKR!Sphf+|vZg!Qw0{&GkG=&jD5xw@uzSoN`}1`k zs4RC&NnPw)zp07AmL6XQ1%lT&{S>`~M^A1F2R>ov0QpaDw|ElatKN7zecXg1lsMljY}A7WZPw_IllVCuVSna$Dt3KvCw3TA+*ETW{zSs zG!98_qoYXhX}Qb?4DDJ8NF(s|YQz-}jh|ZZign5#p}C!RBfm(|V?kcFM`AlM;bohr-Q}W%NWV z+CXcf$OwcO*pC1E?EWH%=XA~F#t-uf1$?I{jZXp7s*J`iV@uTMNB2PI~UyiL?)knbZwp(Rq((8vWW2 zFNrPsL$r){`01m}Q^O|=8^CJ1r&9IrY5=2`jz5?t#vZM`SQvkJZ0IvwRj zB_(0I*-SBAz7^A12zXlJ_xP7C?^CtkNA{fA_zH6%vh@dQl>4#_e1TVGm+a*)vIG6_ zDkZIfEK?R`^t3txSWi*57zzNc9QmY4vx|JhMT(0GELM5r>o!?}U}(w?^|fbl-PMOA}|Z-5#J))V1l}lgqVMGl)267btub zd-kQAaJp>6+_2*=NxmMt0ekqB5preOxV%-M!!OGTcSYR;g#XWo)&I+YS$#)~vk1U3 zxVE*oT|{~;QdFl98}67;jN(Pc_w4NGV726MpE}4O($g?v`^5-tVQ%sl0^q7IcN+dd zcL=2P*{Pv|4EI05kKnItA+bo%(lqW;QqALTpjx zUz8d;t*>{YggLE#+WI_xs<=SG$g1G01#gYH5UcMio}=~;WHLq5^{Ufz`Xj^N`qv*g ztBi|^(1-#laR+Fx!umC2a1=ooPPjJ0>|Hw;KTCgwtzI4?{?GNVnM}~u8LvISKr$S= z6yM$7vuflgMNeJuj$bpj{j*X{eS17-Tg;9ObRg!n>7!St32`n@0^N&j)V!E8T5fxyN;Mj@MA zgHW;Uc&cKD|GXkpk(pW#Uc{YDn{T&_3XVs3cq{MP&3z-X93nMQl?c?aC(r|yl_0Uk zThEq>L%U$XgrQPp^_CSzCfqI1qZELXg4}+7{EB7R zqBu77`EBR6m$Nahf(@si;ws!6PdeE-j~f#%X3s{yQ>4vO(lKE+@=v}u;0z|<+BfTU z*G{+WBN5$+WuKK&KP!T2b#bD%{fK{O6tZpLh|J3UO z+T)0{lCc=c$-s^gn7f2nT|o!brDDa^Y7;*>X7r9DH=YM;%X5yp=%oyP-D$nIe>}-P zw&7tMbOn)s86A)sUY z8jB(a&dxdlfY@fbrek=jv0uBkQ#mY;%c8ce1p`423dO2aWfHCdTvUBA>wK*_$gz`2 z1VyZin^s=)tXhQk>nY@?2(i&ec}WT6S*diKF%{@4#(!)^^FL68Ecb8{d}sNjdE+Ui z%`*|Q^lK`=q`$qyo}_CQ&7P`Hoz9D^<`rkoGYUYRd%L@Vb7tQM&3Iae^b#}0V@5A4 z9Py{I@bRSt;~Uc1Z9kEULH@MkqDy4ikLFP3G34E;@xBvO{Ln7{Y1g~zp}nmErZ`OC zfh5IiVuw6|^PS1vpJW?@lvO=4sBi$)Si^ywf9_E?h8Y(&QlexiLqW)ov-wndq6 z1vJ1-D~tujEI5pc3|h7$j$qsPQ}K+Ex{U`yM=X$MCxr0%B+-#{bLDt`-q!w(s_?~` zI8RX5`A&!6u90uxCk35yS`BlASn-Na@Ooyy+p>v**;i|3?b$9Z%J_ez%o9EmW5o=I z<$3=B#y;H2z~f6k2?cSv$Mfx34U#kF@;)C*Yj^8xQ)e`&7SlOd$?@EtwB!^gzLbVZ zt{8rr%UQ1+7SV&X?H7^-#Aeppds0ogitA>_QO?xUc84~1FJ6x!Ve&k=3FuG(W&*)3 zU#2o8kI)v5>vR~-&E7J|zNRQ2)NwvD&vXYRnZ%_{q4R68$nP$)8=JG)qc z3E}cy{_4Spe+0L;z5n|W%tp?P4 z5D2F0{^!XseK^kO1ASfs0ttkP%1Yk{Ied3bKC+cNNTA@D;dEvs zyscDhi5sNp;F@|Y&th?Ff6RQA1t9|xkz8H7BmB!>67h{6`VD72P^H`zMk!p)M5?T! zkD)$~n@by*bomTw^5Pv0%LK!z);|4gRH+WCR99psL@=2~neR0yd?LnA5@ z%)Lp)8$KdJFIxYKYj5GxzEu}bb!=FN|Iok2*?Ue4O8NeKy*+GCweT6&L5Mutx-~}S zb}sdRP~;OnfeihcWg&ETw;L0@e#Qp`YE^<*NAf?<&_Qdw)?Cl1UAwcz%iKhkEvl>@?J z#Ii+e9|RA?z3-NuVVUVes-ta*oJ34J*h1SA546deN+P8n`?9-NgD9=Oo5T6Wp^_xE zf~!kGC^7*1$GbG+fnDw3=89NBRIEf_05xh}M6(8o1 zO(T;Puf?R-UTbea*bahKYI>QQN%Qrzeb^q_k{RsI+(Zc5Uh}PhW4v@}bHs!$gUO-g znu7h8?85J(`tk=poW1;-62VP|m;cRrG_oG)YNH_~=psy{vd9aT2h}+B#k?JXLbFnJEIeu@nab-Nm( ze+m4G6~|9NR&;xkyv|P4rlIrMS^p^uQuE8iqoIZ!N1Js=Q}BdIQ=l)3?6O9f@=CEI zf+p(e9s9$^C4Bf1cRs-4E6>SGC+UsHw>sz6^+EnR+-2^;41fGh$Qs1z5PY*)hl z0Fj?7e2nltB*$Tu7Wfb}NH>vKAeV#W0Xs>dgKF0sH@(}fINv7W zEU>mAO?d6^4ar;f0IIt{91;(a;}FQLLvg3~W7AQ#WHuAo=4J%X<3>(LJi8j9`1{?q z%G`g3QMLR^!%DY=+zo@(?qQbmAKL1UclJyz8IC>k_-={M_*yy9xB>gUFrN>OBXPvO=Ugb5h`#~maev_r1V;{=GY6TP;Et_ z&Pq;BLpgoK%;sr(Ova3%DY9D#lnEf8N^XF7HU_Rm2Cx1!TwVtSy<3L_a8!)W-bxdF z5e!(cGTb57-2%}A-wQSWGWy=AP})U((9*TQBS8BNENB|;>vK3a34CVA}Le$ z)S#mdc{ZW#1%D`s<-`N(eRP;q@0Mvp6W#TNQ3gDR*lkUF@P=2&N;~w@oA57gYDoI* z1211if`-P)bf#)Dqd0H+dXHMn+!tf5^-Nic)6=gXVug3a=+od`2y%OjP!!14JY=Q+ zL(hOF;R5ypsx;mp#p(A9VOG*S(SXI95VK>Z+$}uneeYl3Q*6S?j~qfp8)AvZ#2ubh z*I5lK8;?%s?ICxJIgdG{a0@@fKZ2K792#pzum|a5dPP$Pj@U@!2dq*FMe@z6#qrNL z+3V%-N1Oiu&(@tFka5Gqq-pNO+_$gNcm`_yNgYIixrIimS$s~%x4!SxDzlh=YZH>4 zkZ{t=FiHxdZme!VH4GV(8@Je7nFA_|sFK=oQXG@jv7=Rx!g}!ho>qH_>I@Wl=7rg=>4Oj^1;-g_g-p@`teb^nTXiLx`+ z9erC(ehHjj60$kyY`feuHzhn<6Vq-vV?OZ&lo!U4Tv&~uW*=On^D8)W(>(j zCyW$v^!3|qH5mp8qn@Wcf7QC2ER@mei@Pecim5rpm<={U=wx2gsSn}-xk{`utDJ4o zuvv@^uw6$vY7U%{IQ-6yVY8=L+7g$9;`6ApoY2G?%)5 z3SQ0lB)o{QVZK;wkqYK!rs(1I@YT0vPDq5g3|6b_K>s35#X|js6n7@h1s8)pBGy7N zNs~l{Q3hqCSE@Rg?mIFUWAe%WVU$gz%uA^lL}Q{@ZUeZ-5H{UB*v*E(#dLdXNI<}5 zsaAnvJgrsRKUo43*+izzE%J9Wvt->UYbIvfS7Kl-%pYjM2X_ zi9ytE1$Rl^%$wv+(YVB9f4*G+sPn3j=903QD$t|pD1Zfl8lQ*S4jL<43Usn}rKJ{DrBss2-3cCR&hS=YAp`SpOLec7pl+VQF3Jf%R%y+D?Q#r>sTA zXD`Jdb2SQo?7v^{jM55*JpDmjM;)1L3Q|EUmt|y7;J);L7C*%|_rJBBVEA^JDFr-$ zYLPqxjOKdRFM?~JLd*AhY@AU@zU!W`Kiq7w%$rg-7m!N57~K7AKpSviD-)2WR{NN-PWiy^by=*`)3+;)N-PdQ-6Js2a1qiVO9Wc8%-{8_lwKwLIE}B- zx^RaqpmJKYiaiEj{e+7x8S!%ZD(k4HRj^4;mi*~A(2gfKSq!l+oP7K%96NI-L4rGV zTbknX{qP@=J#xK-HlCNQemAC<98MC7?@K?)e(iGS$FMqh>NqSWpKGmLn%x+j7g`g< z^=rBF0zEzrm5+mzMnSLlXzdf5Bsb8n>Jfqe3yy!W*B_jYCwEOgY&t#E-;Vv;yE4BN zunvTUjRyVx188Lq=}nlcTV~WQ@83c=P2^k3n4zIgvgz5FegXiB`gRgvM(0=hT;oGuo zDhco=B$X8G$}-y(aI&KYZVpRi2hiMax#>UTK%>5X&zuH!>-}pfocl>I(Zp$S74K0e zY+aU!V3A%|NsT@IPI>3FfqNHX8&p9jmUz7ZsR7`Y>|U`vrRrC*BPC!$fAw}>yH-&h z82FHrVb<*{*)L+AYaePy!~Rfyu&w6%>@tiv1O;h6!+wTkR^S~!Q%z!3xxiePRFGlT zuItCTs_caLufU;5e^TV<_JMM(RpA3Wm3JslV87-60Pxf2NBkWVNYnj#J|3RpWXFL; z;u0e*Zl*G*+AJm8FBOp?mWeR(Ed{kf#LStZ~}rH-=ds28X>u`Kra!Z3zF zYa)Y$3b;jMsxKx3J{)6Ij!`iw7CN){v$buDyr^lggz$E8)^RXH{n>hT<2Q5qV{IYk z%*lFy|L;2Y|7|X9%AnzqIHRhVnw*s0p5n0QXBV=p8=`#rTU++2p^rb`a2T}klE_(@ z_$8GEs9=Sgnwm5oV&MXv11p)1I*<+VPk*B8wTwgjE^F~5CAPw)z4u*8!v2l}MxDuD z%*pIL6{trvj^@Ir=nd}~e_iP4e%esf&D|;RlQ+q_epek^G@?du_!pyK= zG_I{W?-udjXrup?VLL8lWRb@!HMc}R7Q>A9$ik1B8sIYR@NOLe6ntOb9*o$kSuT{z zomc#6+>S&R=*=zS2cGN2XAkm^^9R z*By#im5u~6g`|&tT3Q~X93J6Jx-GvZT9!TMsM!gM$VaKcJVsGZsxtm~u;Ibw)H`aCs!s-@!~Xh*wT?}uVRu)%T=qbJ5o zePMRAB6=h5%45GTg@8NeE#>@e@ckWzh;`Cjo``8Us|Wije9G*$^o<2s5BF-ClWbLh z5?})PLrsh6SnuBn91}i%)sWIOFS|I*{gyd6%JS%sOFrT=F8UuJ_4J#NJpg*5jnx}c z=7e8jlY)_CS)hlLZ|M24-Pjtb+R<~b`de#H=(;qW58>>Ys|3lrC;{&VIaodIX=Na! zQLCM`>V=ZQlawdv-v;}*@*Qr9k7;hRll{qcK)&RY%q2R#x#w&YSI{ZETk7_&=l^tg z`W16do>>)TLf%d||6&$D4laZRFZk}`J|={O$DaBk91PH=yxAu+4Q!TunL^8+4~`Ol zBc6XF)Vd;4ch81j4@0oCz3h}2<*din;oD2?jDs62z8mNN0HkxLt%M%k_`CAu07f9* z6*bO!d;NY3#2xnKtLb;c(3`-DTu~F#K#Pzlwv)&X2U&V764{R}Y5v)In#os>8zf!* z?qT|eMM7=#7OB+56X9vYr(OSix)u3)6nl3PRDhN;;{9d2VLj_Gwx91qGK_)sJ`Y>E z@$_*MOAYZfuX}>-1tQ4jX!grxe7KCqY)h{rHl5MFWjP@}xnn$jZE>{j{+3lk7nOz= zxHz)TQtG~scQ&~r5~AS2zxe1jvT~-Kt{oG*2)`OL1rkDypte_DUrX!C&r@_$p{^^83Rr2 zFuT%)5mu_!C{{MAX4?m^?b@qIOKNqyPFN!#>L$4atetv zr8M%XS8WVYzZk`fKC1g?#w<|0YT>JLwn!QND52VEheCo7q-oP^my_vGWI8lyLW#u4 zA|%F2ipcxu_I8}bR;KnSNo=H|Ug)9~9Bi#0mi2YkuP->qkR`M{L%umnEalZDv)d*a zjr_J@&zO~jmPH8B>B!;C-pSd41xTQrl(Imgyz+r;2CgL5H&uqa^QRlTf8$UEujbj_#f zr=))ah=MCjf%wBZ%M2W?Yy(kac$}0WL1w$#Id9S8Z6(#<&+j`eK!9ip1Y4g?iZwZf zBvJe=|bM>h)--aUeo`YRxd)hF1aqc-8ja2eHj? z3hqiZVw2Tq#Qt{PUa$6)F4AbPq*)SG!QQ<5PH^tn=C275S6U%a1$0%ec}gRR+}zKD7zEX`PYN2qzsfxWLMFdD~T0YDSJOl_KK= zdFuhY)@xOj!hJaoEfV#7;v58Wjq?{^7iVPt#BL0@+9}_W-T0~Rlu#eJu`LVsPoyr_ zDwTo0XmWH!egKbT1QY`?m6+HT8W4IDBikr96aTEV3zi~HW4dyI!j~guSCeLD;(&5c zC+dg9zwh-jighA&CcEIxr(+cSLxb`*D(`{`K^&A{@aUoexT_mK!&do9_o;jpI(=J7 z#8+#Y%@Hf!U#kjtbyo5)I{2ro<8G|n{xlwn<+CHyU_{RGdX|^%PKmJiAuUEm@$GX+ z;|b6kI-E{s0^+lnt;UD(->wh^r-I)-PEEZgZ&y;%eF^uX-c5Ym_*_hb)1ny)jvCvY- zv(gt#Nv9H`k!!T}X4pi%M@gg^Df??s-`||Wl~SjI;-6#6P5IPI?QV36j+La2sE*{G z0l8X%2$tYXV=6Ykj|><~@T8Ql`58=Gso{joHgUvz#;@~(?6cSLpW4d=!@G&sY&yzz z$hkDWRtPt;kfDEP?+(ydtIb57n3wneI57M#hi;jSim`3La5t+tW;le^*h4!if9hgv zw%Z?Z2F`N9k3IJ87G}j9P6`tdJ*~+TV?u+eE3fBFbO!$6u05@o%yFci8-p_1W+4$r z9Asma4>K_n0>RC6J1PA@6lL(&zt7Ik!f4l|69e{hsTn?0z;_Vi!Smcouw<4?#>KRLK_?l?|ZR#hZsu+PgU9U%4D6!#%FS?6HYTcKbM}11+9rW zQ_*vFnvicEbhly)3avDL`GcB2lzV|k214_GRf1cZ-wZ7dFp^4D=p&l}n{GUf<=V%3 zuc&HYM#)v>#Z@3rk&CsGs9$sLiN86mS$=?rp!5cjo`s*?pO^jvq=baOz4x`IIeko0 z_@^7$r=)1j-)#7hZAS)o$+%lbhQl9@Fy7!gk4%tJ*q^l*_^UggZXb(5^(XGH70;E5 z78@InPsMW~jrK?2Z&SZ5I4gYTGm6rsc#6;i=qEq%9Zz%vhbuBBPNOsAO72gpFwj zX14b?2iYhd$i`3QWRTk`se(qI^=OsmYL6Yu56IiYwh4Upu6_oj}}N!$1B5(ElURp6*&;Iz6;K zP7#vsIP$s876DO2?=0tDfA?QhwFgbYRyV@mTV`&a7RwbMJ@y%q&XJOy1_WG;9iOy* zppwYLPDrndGN+;H8jIndeInbj+VyK_uYNB6Na;~vOqCa2a6=W2d8cKadhpNTG@y?p zhcRI`lOqp5t_PFwlT~c{Fas0@F`DN_tF}+dMV-nW2O_MDU0c-t1=*m?JQ3PHZcw$A zQnLs0NJ+C;Q-f)om}ovB?&8&t^b?9!GTRSZ@0 zUdKd`3E+ud&(mCH)YhZo&XD3cmNRQqD=Bo55RDXh@M$;37qVN19CWP4(S61U@P0ip z>3XHh6&U7h5tR2ww2K{$6QvHU94e zQgH6)rJPT4N+tJ=?jFUiCtJGWs@ADV5Uj^L0!Hl9Y`L7QgeYPpa2Wxtf%Baek+)@L zA8D>cqZd;2?D4JW%#QW@R2p32@skQ$*5oFpr5L6x$AFj(8A_}2f$fg{_f{(X_{qnx zFb)2IIax<6=lE&98gn7|_G0lt%w4OOO8yX~-YAHbby~=pG9FxNF+-)5@{W?v(N0w?@%~{$v#5wN{z0J5vN=$iebT{aYjLQC9+%*CmXG^yXLl}NPXQ(I z^7>Eh%33d(ONd2|g;KDuDZ7-1yF{TeB@4eS7QEC&qP9iBh=2E^KeXs{f+m(_VW=4&)ZzF@F0dO-Qjn$l^{< zOs9n3;BI^1NAW!0KUw?JhUe`*slx@0yk)7yu~6$&+N9%Z))6IM%mQ26tZ+b0^AU^q zt4Yfky@LfA^K=G@>K7w0ur!UJa)19yx5@n7^mSEL^J&+&Gh=ge_DOx=6kq6XsF^4# zxBfg;*A_uhDKpl)>E0i~#S0x3YPU=stHbxkS50FBT+e~OaZ_HJ{)!8vV*oj)Z(g)< zsqjyQ)D?c)&i%}+l)%ze=Oz8gUbmzn5^YO z-6b=xS7%~b68-~BK4Cek#!Bd3rCzo$s2t;sG%QUKYyDIW#K4*d0Xlu$7UJiGwjn8!&gr8uDt*M{ZC)$mC(3(TqL zZHzlh&HgWL*v}MJYScI4e9`u)AFj6NJh>&we(+Sqs?AJy2nwQgk#NA;?38j=U0*I_ zsVOg!5IC|QEGWUjeivGZ$^ufml^+r*Cz8h|BA5EQ5e(XABNOJ?UD_COBOxW*zC0v6IcyaG<=1U@t#9RD*f^aO ze>0*#nBtrXQ*NIS)=Kr)3RWPwZqmAL4sLAh!bhbCXoNI@PAP19cNz!=I~~xUwL)(n z>;KxPd4#7OwThgKXRzxi=O?oWDE*|fNz%QS134j^Rfp41$pE#{{)=KNE0avFKeEDZ&l)Jo`X8>LxmGy*e@8L2HU0K0E zE*6uC0Qx&+s>t}f&j?Vp+HDW7>lL*E57(zEJvEdgMWWw|L`}y^bmIRHUvI$_XBUOp zHtrDI-Q6L02<`-TclY2L+}+*XJ-9U%2-dhZkf5P){ibi-TXkn@YUV$@efpfepJ%N^ z|HrjWlhpT>I!)KfZ>Yr zGmMeH+E%sGd_fhrIq*L0X-VeRUJ248dWv{@g(DrkgyiRiL&&StnW!^006C3upk91q z6H-;yQte!5&d9bDT=3`v)w@H_r!M%xE&k>Uo%7~uwYyTTPsdFNU8yBVYabmYC|u6A zGJaY3!hGX6gy-gL9Axk+nUa55x&w{)6ac%>B*g~^G@JXHdEzhcW`H?3urL`rN`nk~I7yWTOH zSeSjDnO9=3Eb6-+hPoviug_K3(&=(ae)9B{q&@;@{{#F>tvAT*MIp@-Ys*k`rwWj> z2yp!S)sj+KAFS<;i^pN9&%bE}F#hhSfED03Nf?3Z@=2N#JAw;O~v zqVh;r9y4hbk)RD+HPl<8#W9?b*$Q{%wvs&gB_RU&agQF3NFRhALDoxQ64P!mqhqcM z?a9<@23>$`Wq69bg+#S#_I;xt99&i+g5mH#98MrGtF)C%dvh9F&4&gS8X zPMR1E+UB#I29`D;qqCPA?Y`vAs`#t;)*XsToY{XDl96ffKVLL#K7H0%`biu{V)F29 z+pv*~EKa`_oMdNZXB`1ba+8 zDoQ#d1JOa=(z=k2Uizj=69-~dujwch#oG3$9Rlw3AGE+tSKG;B@yGkT?wUz6fs?&Q zGugN_k(l);Y_taIYqUOkf+#lIMyNsd!aes8z(Pq#$2pC|f%y^B@q{T)C&rT+xt2Vx zq>^7toIje+;Ei+%q2Wo0zj$!p#o}t`j$+%<^7#wN5$V-z5Sw@yG|0jwb*8fa= zE@fC)8&TUw7|h#xTG{X=u_|cDy`|4)WKiH?$hPAFDsiL2M)rba09aL-_;qDJS_Hq7lUg=KnhxeR z`~0*_v@c9FvUJkY6=$%t(pLZ71QBBzbILRIN^o26{_Pc{e6Jp3S)VKsb4&z&H9Hh2 zwr5I^q(=GcfwxYnHW}?-y*d;!EWE$uZpwPxlSEsv{|~b9*)_F^$I~~S%=TB#GFz+u z4pFHtU`Ku^AdxlQbrjTgzrM0ry!lSocVRCV9*1WipL6gXJMlH^LR%!g`nK^{rW-4LwyC=rV);!|r)&m?entn7hj#pSjLEK2j^!rx3LPV^_$#Zp zI4A}INxg7J8)`YI5xbLkAt}vb@HM2+E2a>#&OP$I6&sZwb=i)?i)_zYN%6;OG_a>3 zaZX()(rc*uqUp%h1FGt7$gBkSP(<-u%o1&XvF!eXF#Q(Qaq!jT$0SuQfl(B(wmjQ} z)$Zt(JiH#IipneHOq;^m&d)qmDi87vTsdqJI<|68O1s`O=S8&bqLu2p)Y@Prz!5&g zeO4;%AFmu)%vMI*ofpkWRPi@M`=3n<(}nd!B8eI2496_5nT=#KL^#8>0%8~bAZ@aC z(y#i0dLD1l``bx2WVNZoo=@C-o>7_v%2M<=Ux~2Ydx_;=bX}^QF~%0M%v&4dC=vbx z;HMRg?pqETSmX#46vSSQip|NMz$jsRHf^m3<7>4KimHaJM5_*^l4cyy9~}dyfD02y z*n$716aC6^+Uj9QCo6)puFa6CR-DVS#nT3+hyh3N%QHi=|D z=MJ6x;(SU8@A#ldS-Lg-fMdGaM593PslD1rV?%j_c8sO9JdLs?gDiHIf`w(PBvrJB zB*MdbVYSrS0HfVhdKM#NsoPCpl#g1RTPhfAUnV3Yb$EX){}B#e$?Z7Jwc6`*ii`lGMIp*nzyE_ zvvMF|aZbwf?WTvgH>a0aLt1IP%IUjBEh{3R-J1|qeRFK>BQx1#TA|GCpJY0o1p`mR z+_NT6y)@KgDu6hccjhAEz1G`kGPycRB-%HAZ0rId#Fd_b4My);8~+o;f-@(p8`e-O zouKSQ_IH;`AxsHRV@r# zvJcm+d0?KM`8+r`UBF5vcEci3E_n+1i=cC7_?iDBzs`oEA(WBDq{pZErby-#NH94v zlg%rDOXsElH$3#_*-cf^wvI!tkH$O_iO>+2cr#) zcdQ=d`aZ4}U_^3S)RiFd$2HrCmzI)NlvoYX%ET8OSsvjoqTbmhd`X3aaUrauLLV)3 zkhdm^TRNHLYYhz7@}uT(@kykCZ*|;V>mm6llc{GpbK5Ik#0R05<%$jJuSU#lmHr2) zoC+TNVNj`G)rxk{UY<+59dF5^{A<_i3u79%B%!d>;2kR-~pUrWD0?RF~*c?-ZvQ9>noKx z5S4>$#roen60fp4qDf!?(yp%EpEZEN=HG3Y=igktDP#$X|K?d-Z-&c%IhWP{5w!c# z54C@3<9jSwP}dcW)8I%VX*h*Y8Z#-9rlguKsa_5za{dYK?g~%W;1f)th2N5m2ep1sY~NB3 zNVOt8$btP4z3AT4zNq6(g)@_{~<8TyewFCKC z)W|(d^7lk@|k_U%bl`O#`To-XG16G}@g$)kQwWe05z)zor7=I?cv}F-H zC`hi+VOKsC%Y(y3&Jil2G7CY#jvKbWzn$mk>j$02)4;&s5@I$*-}j1Px~-p= z>>XZgY_84$d3Fd@vRdxb@E&cFX*1U0A5%<0mD#18^Bqf-km3@?82)X}(GQhbw}S2& z-(RGxf-z6$<3IP%!|)ekT*_#GQIK`BN@e-*h+H?b%sLV{8ldy`)|tfm+3C zTW}7tfbt^VXTs}V5|Ny6x3tf=ax~JZM-4Ev>LUuy5EvWJo_y0qdl^Fry1gJr-768t zK@eh5u|d9-x3iG+FSX2LzlLnEkkj+CXfHNxHYfe2KB{auAHsV2r3@;EKY&%tz_G4X zI_*xz)Vk^9m!d-(Y$)pgfuQ}rqO+~P)=e{0#m_Wwc5KJH^s-lVR0%-<-FuWh99=tR zssoo#d8ATgToZ>s8Y;k|NzE{(4kc)<5qla6W-=Y!Yi*7B!4o~9v^28XTK2Joa_TCp zvSm9?EXU%=`$>I3CHua|mbc;MN_3=h5k;IjR0s7(F(>;k)7T21Qf1}R$1Fq0n>{$# zsz1E;T7ERyXpFDNrZR2-|MIPu#>9dXxa6z`;+cE^553(6Bn|ca7ed1`JGm~3P3Nt5 zw98K#G5abb&S6jnkD`sz1cc}2GC!FC(bBS4wwT1--Xf*3n-&1ae6D}7s*?C!VXPpl zkys`qHRIFoYq~3>Z{{we_x58NZzyS{(^-_=zzLg4;8eh%qP%u@nqsP>GnK!;Hhoev zQ`UacoHhM4eco|n)4-K@rxK+DAB&D&R?0jK{~RLmeKmL z;riH(45w0^ae7yT1i}%}GpjCnoJO_2t?g+7nC$T%Un}th2IM%6pBlpFBfG?eaq!hT6w3(0_*K913zi{>7W1cDB z&E07W5xVm7SrUTct-n<0gt2#{-iovR+5fy+!WGC?yQv) zADzisJu(9R*Kl;7*O%vk7HJlb{lqiEW8K@O1TzN%)sQ>>zK$MlKQRfYC5{vPK|AMO z%&<>Lc->Rm{jZ?lrXw*rm83OM10kr|t*_Sca$vIFaOu*T*woY-!S+gmJsT|>89`2wju+lSmqQgyOm79x&%|3x;esB;~u@7iRoz1aDL>wQss>_m9z-@RY6>%raUi9Q{0w6yX{_?PXfIJEtMQ_0#naSw zM0*3db>9sVe0*f?rJ>;?HK4CY3Vwl`JyOIAQ2)j@2>T=)7{u?|q&F2rIy-m)>iVX>$8jcqUo1K}OITY%efMX;~ z8HWSr^nRfU7tPN_7B1XTS*Us3&_zQcS*lJS4%UXyA0G@S_K3QO@YBdwO;1R{S@CT9 zRT2t*r@In{4bVm0DQvm9@?NTS0~YU>%uI$I!RqVP6I1OrU9()ZYP!BUvAglFRch`k zcJ8M`&*)}SrcfIQsif^eYn6W49(vOE0IR;qhM;k82B;InYqKf!P`TdfcK@C->W%kd zEai!CM#x^=6pQp$6$>-?Yp`Hi1N**z>? z>jNkZ6C-XcDW|xeEi-SPMR^w>94-n`TEq&xyhm#B(PWY-b+8pkg0wIG6yE-ZM7h)D zI`t96zq%(5!sV%)=4zKbpq!kRgF$>wh-*@*w-lr@01OL??Wux4>+ zChO^OY!yWoQ1&xTaSNNqaA#WJx6DW8@4BXkQJxKJ?JT?AE0My<=}*&PnG+N6me@Mh zXl#zjjuThfbhWgGaK@zfCiSclV!AqkIljL3^nw3PPlO-^>80_+MHU?cGg6 zF6#zsr*q3;FIU=Mq0#7um?lQ4zA2CrshlBb0opCmAo*3|@u3w7e2-9WZYiaC_!= zk+!z_dSgCD0I%0JhTraiU-2CnH1~b*gj#-4{|hXr^Q_)vpx`$1@?vN^UqE^&Bjz{y zpvLIuRY4bfk6EJMW-ivDa`=9T6U!>3p4ZQ>f*Xn7$RBMB(&CmU7+~8VsB*nei z`|U8RCcIa+N(GiCOM#1NU(6l`^4GvY7~->`cKgMq?!^+t zg~)IqrGY}=Nq74L5qdy9VC)_+BTsvVLGNwNL<2w8GTRy3nV6F(SFOmFrxE@$t7nRW zZMYyd&qz?t``>4*p2=M?W1~-v7Nel9Y;tM+-B~Pp-Ph!E&<9$`0d(4>c3pgV4Sa6S zu^IRKNraZ5;~MCAMLM&sud@j{HGOA%4uRl5e+S(-)h-RROMH*{Cb4+`!O_USYFNIZgUvJnfqi1WA*x|6KyZbG;H&kxT-NG6wYY-=Ga zw;w){<=!5g zT+hh+)5E}b`BAo}Q?43s&6`EgPRi3tM(PU2K^kLO+meb!{heK@t+} zFQ7ajkup>xPtV&Ve$;Bk+RsD(4gX5X<&Ngivx#|d(_+n#fa%@X>#+v2g@8B3Nn zmlg3)k`Hn%^=*i1Q&Jfp1Ix}zHeC40*S%`nOk|_od3d;a_OtOsp%FK`j#jLIaQ0_| zvX#a^XHS8dh6YKx2}PHXkhiS&PtOhB-6L6Twj0TQRjwR+ zz3xuGcq@a+Qh$1z>Hlfo=hE6sI8fi-SJYlCh1tY7f`7zxCK`9Js@Iku7V^?TKs&%U z0h{>?l=$5>ZE|K!)6CU<`^8ZgHWj`ovcnm92sE^m?+cKlirQ=}1qgn1l3Tv1L`yve zpd%iXh{-j7tSJBdfijRoYBF^PRV>Hiag(!IrF1?-3wB@IVOJ}UG8`G zF{s^4(!3idS@u5H)gI#swg+U2=Ib~T6Sj7hee{70)l)Mp5O_ux%jI~LQZ7dA6bZ2!NQl)U;+|R389;V}Zmn7-D zlZa#-j(pnb7BUQ#Jt1#iR-5^8fKF_%b|yQNDKshhkGb5d4=5dw?$2oqYK2q!5MJ>q zf~ldVs7fLGzXY3Bpq$K{lJ978GD8pr1_Jaz*y^G$SjG zm4b>(!j@1+b}vBwgAXeP>@B;2C#n$yj-Xfg@8Ey`zI>S)K-&Ik|tMg_dm}|HQ8f|rTq>rJH&j#ww z6zm@faNsIlCMH~iv-lV{8}>O4p-N4(rAlK9sQNapGj`j@IIj2`w3w1;U=?df>Lc}T z+!PXBsYZ-w?Dob zOXd?7dcse;SjHg8M914*#o+CvVmNk7Z5k+GKcv8o` zM!b$%D4ls1F(u1lN!}?!_S(I)lMFc><#!nEtAid|@~^e~`kGuSy(p{A%}BkMVmCpF znRqa^<*X-h;FUR;cPg861l|vqrYxNMP>;4xwx)cu#ANeckfHbPZ&lrWS>y}8qad(= z%${K;nZz;DxXf0nhozU?`(>*ts%VSlcMC|{kuFH?HStyChBGF3O>qA6plkNC zs`xjsxI|);DIpyl6EW&Amam|Oc<0UDQOK<8GbP6+$*XSl{o{+-{fFFSrMDt<ty1zABgeHq zT$N@-C(sCRh`Nx#mX^&^aEpy39>-FROsSL2rHkN=zbVhSlRd|v^$C~P9egmjC?)EL z#TFdWD+?>X`%c74UIF7TAY+a>EbBaJu&9$|AD~*l~)fNH3?l(?cuN^JxHP>-QEO9GuEFKcK z9ZaaB6B8ddkvg($NA_C4z67z#*lP;y&u=m0Cxvla7EUUG$H&QA$@9?#Z~B>GkCp74 zm+rmP+n%V~rDhoc#Ya?yRd#CxuTAPv-2Ahjz6mgkO`hj}lsaM?UO2R-F}3+=T8a`+ z(JzzFm zm3yB%$k+;+Ow=YIQQzU-8+`qUT0cfSP^n;L$015bKCMGN+bfrSZLidrG5LwKa*?F& z+zPmsh(0QzeU*=FX*~I)A0%2D%{MXz*mYz1BDu#^3$s2miS8PKSy^U~j!-u1M=l*R zg9*86Ph$g8m6_?R38WGwLiEqye;h;Dek;(yF?x5v?7nkn{58o`Pa+asLaU! zupNy%b#!pU!{-$G4n7)7!&%8seGE+*4vA`oMwZQRE!gRcFS~twpnVFIB z&%a{?L5e5co5#TnwKJsCq3u>kp)>8=G0G8MP`uQzlpEl~r(zqzmq&DHnt9}54tBTL zeBz~!Q?F>yi2C?#OY3mfP4ZB#Gqd)WF?BO(MwAr#zy7vd_`G~*p$4=*Il947$i|dl zOlilsNEzSf#oz0ZjYF~qc;RmaJ?!?Krsw6cHqML`01s~>I+O#G*&OLuTk1ZWzyI!7 zFU(6sNM12$^?ogNGj@JBO(QF&+!3(4u@n~|`_|Etn{J!0{sZ=U+09HKy{5+TD)OHF zv#g^;Og=FUP$4k!(=DA_7bJB6=#0WzBZy>pUpqKNuk$-XhzIzXNAwMMlhS+h0!g#k zv(e%*Dm`iz60@v$%Yw2|c&HvPke|iBW8KpEAAoeR)yP9|E@iF(z}>4^;(ckpIn^j} zsqw=@U3XltA+&}~>m$PRQWy=}p~pSUk20B&0o|`<(&+b*RfdpWSWJ=>@eZ*YMoukV ze1yaNxhmwhabgCJxy)-o4v)BCM0zUl)}4cK`r~pC3N3dpWf!11Xb2^$;Hf7j=j`<< z4=z=B%j)9rDONIl2tvR=#xRwQ&$u#tC(uzoaksm50ZZa?N zI{ue!m;Dt5Hy6$hO(C$gMKLe?Ma6x*@FIu;|DFb`e21v{HPmmAT90%L;7 zwsW{|xoNERJb&0{B-D(@tP5Y-7&es~Vh2YZmaXP1k;NU|9v|^i&yDMCF;I=@=q*`^ ztdzqh5vz<*l&hA1lbxwwBZUVxfV2_3;a|hv_~8Dk9Cx4bNYz6tp}*_7P_>K%b`vBN zsJ1EY7>ab!RnW`Pt~6v~K<^wZc}_;S*<2Z@XF(M_*oy+$mv;@TBxFUk|3Y?Mw<))p z2Th{`i+Ll77Zs9IxUH-qa>AFscNfF!N%vEbq477@+`<_HKG5JxhA!IT#L4Z(&n&N> zQ_O*HxyKl(wDL1c+#-b(Q$FR2X9igVK}-kq&jHv0B8Hu9d+DDaY|)E`8{J$zgZs$6 z8x3!MFy!2EDHZcfkW7o~NL{X%WLtpfpksifncR>~(JuLg13wPtOwWInW2x_p4Q1mm zTWdx2(3{DB0F@aC>$l~!&XiCE%8H!^zTTmbMk8eVP~k+BKkOls>0c--?q5Da5|I(F zWQIu_n?aBY^+P7-F`H}qr3adiq7E)f*+}^5B4@h*LA{=-#}zb9Ou9NmiR-JJ|FV|AK;*A z=~qw6m1$FQc?a|DLm6u(iLT+WtDzt)2j72R5lpE(2;G$MEr!vI;7ZTe()?KPPy}ht z2o6Dn}TPkai7cTrKB%`ma10T z@{iLrNQoNrmtuD>8dur$k_+f{Z6b-`B5?gGDwk$K&bpi2b7}wh<`nB(2Iuj;#k`@- zoO8f0+{*h z86n7l_isuxmhflHBbOl%b|6~K4fdmpA`>&tx+IO4H^8v(+$F2dLeAy;C#*B_;DL~} zA4gORO2rQgMU(ISM-rZuM3*?S#$#HCe7xDFDkNo+|mrjl=)H&kBG# z%>TyE{9mBwZVp}%xwchsdnAxyB-B|IAUnKe_)G51q{a%{m?>0Eyxj7He z?tL}-5I?RT4Uc2mv|*uzq{*b196g6LIy$m^z=A!L?GIB+r!|ufzWW}3t=M)!+%uW1 z<%D%kmj0J8=jR9Sce9%6p+Tqz6%%39yvoC4m4X^s>-q8g0{tGJ|Z$XaAp9S2VtWidw#go={S@;z3>Vlkxg_jA9ozyPoL5)-S2CwU{WWpK+t#l zc*VQKZsR{V;BoO}wa=m0{O0@of`iIF&b0NMn+y2$;tOKdgZB z!+IA*gRiqw%#kyB^RI*{Q#}*Q7`~YkTleqR2ZA@&Qo}Cg34!zc{4~zsXj4UX_?Ruv ztd#l|k+?hb-Ds#-+*uXiotfz}?0i9VCigZ(^4q-_iXjmVAlD}@Xnq)NF>ZFLI{M}U z!Y}fFK$pMZBvTEHTqkwiboM5o^AcXS557CgGzAS;vSIn=YJsJZjZdAjL9Hvn5{kkM zJsJEqxwed~z@Eq+z&{?n>+C!}H31`n1NjdFjl`U!zg{R078V(DWf0e1e}|etx+*pWlK-7V;MGeBCW4P4wy6JF&lc+gLaO zRzCQk2$;TyE*w-)yY<_1x-~?oex~QBjiGSxj38m0DvRG5eH7oQ@8}^Cp!pzx;{k%))0?f&EdHal41_@w{MAP?Z>0* zKQr2866$d(Dt3q?nBBTT+amWh-a0a?Bd6R)f!5-Z@J0o1*|?*`0;lpV46;TvQ(Cb_ z_?`hqyc~t+)6Y%!l|$A+zkj^j&IOQ%P+ol;&i;5tuNASJ!sH`@lpxRLKj3d&Nitkk zHhR{q~-~VH#%s2f&!wSNaf8i=Rrkoqt%I04sNx!GC2)X>-Q#miQodL>hb* zm%9|^H)$8YCHK2qpo}eVwAWfrKV@s;WFg+g&rMkBjboZArVAw>b|%4gcQk3bi~NJK zUlIuY!O{ACwE;ewC86zn+0%<@FtDkF`FIS!Abr3XOix%SUfVa0t) zn%8?!yX6+PJdHJ_w(>mHOo}HAt=%o(epTsn5jL!@mWrNA=bvTsHDa<($7PX!Toljgsz#xU{4B*HED?$10@ll8A@BM?LX+O3)>X2!9FYPQ;y`vn{;opps*i z5jg0yc%T5SWT4YkVzimxlLCBm zRqDTihFYY zk>k)xyikt$g5Fx;-d0S~8Fy|h@YJ!T%gH4pE>rs>glEuoeCkFm6=LL-ivlcSWZy@J z@wL6_H9jvPl_xRn^fjd^?hL%;@qaPB(nTshK7IeCswDLz=kxFEYziV6an}C;OA0&H zO6hvS{i2-1n|0Xs@i&+Og!F9;hi%;ZiRSiJ>14o~TtyPW6bFFYxnt4cs@LyUkJ!%T zQT+L1Glk4t0Zai((%3*dtKmsMhR#$t1vEwdFq?#SUWE<_8)kM`2iapa%oa#820ILUD24<<6u zT+D5R?MoYqCbpX2%0jTd-KYL6(o9zt*NvY97AGI}GMg3iM#b5FZs#LSppairJK?5Y zpHm`i!GC10$E57>qYhJLN?NY z=_wOWr<^xT7UQa<`C#r|l)@Wxr!WB$#Z+HNE_!PzZWmYwb#gorp{KF#*L(VZ0JYk+ zMix{TIWW$Nn~?;90KuoJ{Ym}d*{Sf)9))cM@>49{#*iPZR_IaQS^;4zdT4)8&Ob626}Y(=oER3&Vq+MHK8*K^sWo0j&92{tch|@{wHmh4xjU<9yvwJ=&*5DBAW8_C>0yM-e-fFnK)f4b+r6MgH22j6}n{E zlF=K;xVBMxc7H^Xcn_!yZgU>IWa?}(+=zydW)pHUGR`(*iz8ys9GRyPTRUycmKbSq zhkt5o7e8(L>v+bRY<(?fur`ocAn_mI^XZG(W~R<@YU|;|3~+SHj}TLVE{Pa&iZp_! z_U_^PDDY!@om@mGt251+W3k8RV-TgT_@3ps4^gv@_7fdR#G8|Mqb__;8f9XoJDE~% z47-J#41A$Vw4_`QilLElC^~0TA(HAtsefo@LKd9b_pe?Qg~1s)I41f6z71+WUP-_R zV!yHoX@?FJ=}?Taq1?VtH@?F*U8^7sy9)hoE zLg=)c=@rx!wzg{jNMIYsXnG;0=lLBp-DK{6vPbqZnYxq_1wyMj~#UCTF@jq<1iyC8C>DGjWZmu1z@ zWZ>SpV@NMk&l3b);-g_qne7`MGq#<2JI8xm|JHWUypPztWxa}bKmUIKMh@9ahUJI$ z!oy&(TMpW+Q?6_YI0`GLpZX|hG>GWx-Hu_7Ai-zKGaVZId&$RNmSSREp`>Ob& z`HE9)68tg$k8=OXwRMcw!g<|d8ar7y%x55f%N?X?!udoQ)_-`}-yfvfoZZz`XQCD^ zGg-1%7BVwf-SN-wA0J3Vv)Y)wku6bj332DO`L{gnZ71{NClCWd{ibU>-kdIT`aGIYkwv;3HLd55Hv(zh2QS-9!&wu-}QEwxtS$+h&UdL5mOy zvd3J}C}drABkZ3M|pEjk-Q; zT8I*k1nW|HL1GOJ;?5P_?pk-H!2^sv=!?Q-C2}zj!=w2%sFz{vDUS%1)ZisxvQCn` zQ*g+bnLdSd0LZ@bVc@@6oa~>85Z=*|JCT-t+W$#W=IL{UicnB7yRzua@u!sO*B8rk=9pB4_|2Y$kmhn%wBuZ0cHm0AD<9;Txt6of>6d z?$H7R`&8kQz-6~5P?;M>`b-g1>(BY)cy?5R)I6SkeSIg%9+3`-iNDVVwat$PzOMs8 zCC!=6-(4i&rVU*?oKa<(O-5B33V4M+SA+$GBbhcgH&^mA5tYmcq~wQ+bhY#dtc}}C zX~1_CLLhA<=)SE`nj3J7yBr`}B-L$Kkey43eEUI!x;s2d83}k8vKU0(UJ;;*5)KXN;K(vbpE}#4%5N%)J=o+%_I zKBPu(dkX|9A)>*Y9HPBF;wmJ{%AHc4m|tXNtsM2B4^9lXx9gW!M$e5?#ekdm%#WBN4o7l3L=ez%u=AWjr zbK&4`C^Td?;1W!M^v}{YnS4dq&d=9_0U0Ai8cx%C7z065ITCV#HT_jp_h~D& z3LzuYO|^2cYjGFqMAVj{Z5RG!HFQr1Qqv5`>*%ZDEr>PD{iH_@X1)ZSE6TxFs*f}5 zCpxQKaR}$f1^rMRPDb^kSC!*$DNm-*P0~B$CCt^zDW~GO#M~tKDC*)*n(fTckaytk zk69;RH!I~(U@U=ucl57$Nsnc}Ss?#VNfPCeihKOr0^Xv2#CC4(ROg?6fsu_n5D5wS zLulXNW)Im*K7Q(+J?gm#G*Khgpc@(Au4}QJvbRm)<+e##zyA+Vufkd@r3oIb1^uxi z_2O}&S!+d5-FIzvt+aGe`R4ujnRtEM1XGre%>Q62#Rh!ytpZqB&_3DDDvx(5AlbEM zta`|ryLNx+urXvi`a-DtnYmh@Ds?}lCX1@(fLPy~Gz`64v$QGC`BM7%VAR3c+KosD(pF14@1p!?Oj-Abxk zclQw4OMBb6?6be{szRn8jcc3C+_v;JkwGJBm(ol`(vgd1ZAeYgr#+Xkp?$d}N!-Wu zxuC%5;ui`27I3ms`FNM}vfqXDD_f|~-)dvWvQ)bw(VQJ$UI~VY^z1R$Y!7`Cqqn)J zvFRx^xr#|W*3%HD-5C;z-K6x+RFW3)UO=Qu8D8`VO^ndaeJ?H+KCyyOlB}pWpJ>+P538Oe z!D8xAWW1JMfu(o$Z~hN5^wHu z%0d5%aYVT;eQezjuFdq)teyrC7XLBD->qrn+JM%`<1W z$@j*}t~=u(<@)+|>NnowpRJP+aUW%e=ku%r0KZqB|Q6YniqI_i(`+cj5WEF77QZ}ANyb(7FMT(HV0WRH4em^cSITsmA} zhSV~GsZBXP13x9E0?&SZE7U6KcXW4SHQjKia=0(>Fk2?X#kxYT?Z>6Iw0Fg4m|r%V^exwoL1tA5ATp7x0Mt2+(% zm>QX5$21wO*0xHdXK-!LrenEk^A2c>C!x#vZ*cYO^S1wC>GV{g zjZDD=&IMJLioyyusM9Z>e+{|hVD=Rf= zvW?RkmhhRICL@W%ch_1-c#0M+>XvdaJ6&15@HHUK#fLIVX8GzdMxv82cM8D`x)!$3 zC@U+f!fH>Lzizr}zw-Khe37*Gn|M?ClFr)u>zVBNS0b*?>oH66eyurYYKN6w%`)w@ z(ryOIbQ}H$m>+UHm+oaD!(h@ol6oI^Q^^}$6M!8vEb3JJYaN6zLUy(3uNQ9kw5*DU ziWp;PYFgU@{T3LaX~Sa)j;5@&_E1P5=&}3~6HgCt)nZ#fzUmU>gW?cm?+Hj_?8D zE->i+i70P>t^e`S{ZOEIY@uV;yccm@JIw!d=!#kSg`>jRns8_ll>uPXDvINrX}~DU z@&}}Wyco`2$uXUT@}q%==n;ippFfKbK_AalDWdt!ATM$_FKr4bQ(2EU%jvVn9*xKZ zUFa?|N{<%_TKxA)Yks9gJp5ce#=fcnz1d3gj8m?SxYhU+Lr{9PFQRo*g&<`1P|d)rS7V1;~N+ zWl79dl$$vOv172vnjPy#g&30^tZMsw(Kw!ju}6ra2^Ip%gP^|rsGdK;Wd%6=e2}@A zG-sQnk5`O2@d|%~Y}qzVE1Q0!z1kJWw`ScNi0f;y9O%=5gwXWNsu#xAwWMeNRVkBshuLyZAfn2e&Wb3UwWh8Fq{T{#z(5qpMQ z7lDom_Ec2c-(eY&$UF3*4_BZ{tPE?=&=|pX@Nv!+OP1A{@)fTRR8PC|C=bHA=#xo zgah=FmskH7gZ<}bf?b6E;Qi5?wj|O_nUa1sa$F+ zk2Vw1)QdhW>wdvuu*p6MO;BV>2m1|(WBG`D_ck13mIt?pR%S_Tv0}9Id*W8!7Q1S- zHg+5RUQ8SdA`c6qb6(CT>pYoab&2%+eVk3+7(25I^bG0qz z>gyskyRnqWM)hHs6wT_Mm8CXb04Vz(KLeiZueE^jE}X0C*iqKZja-lJ-9BA8(t-F= zqtOw3J6VL+42^yXt;1VvXYKDG}I znX3J0W$LQJ5)XeD5PM z-S31L2G*oQ@>($&q6W#0r2gYuug6vBPj$)gMYrWC;e30pM%|*-Wk}d)#Ivy}$>%*% zXVUF%Pcgxfv3V1CSm+-Fk zdkg!S5C1X$!U+2ts`BDv%;*WTeQ_oevkcbGi6h!uJ?7Tnbk;7nbW0RGr@<^X0ihb9 zl;ZS`66m8wcjmYFjXL%y4ZUDqC86=*%wFjZe%alGM5Av~0>nJy<;sk~m|rVIr4S~jYu7a6-Z>zyI* zpXJTaKWHsFzm(CR#;K#dsaEa-0-}2Q6Wg3gyB|(yemnpE=6<*QF&~$fn~W(p`R>at zc|i{$Sq5h*g=&^KzgVAI?@K_JhpjJ3lw_6gBJJb2X^nf%gOF|L(cV-BrEoG*zS|%AP{k1;QEnS{?hSln_CvC=~;)%9>^yPd#db%jt%(*(o2s({TbB~W2tN~?a38( ziqun$w$3A&GJGuD4Yy)?T7FJmt{f?|p+!O*{PRhq%Z^F}JilA^>w}H_9Y+Gs1!!b{ z&yfujdsLvf%j-V>k7@^DZI(qc;(s=uZYjtAS}EhF*V{DvJGHFuI%6ssg{6#l4YPKQ zTi#hp{=a41z5&RmjO4-ZWB!`Fmp<8aTWzwZ$+#QTd>XUJ%;w{S5O1=};y>@{)|Xv{1;$MrbDE-7 zyazdEzKVFv_#3-OB@Pn}?B8-+zkS3!GS=zXC+O5Gf5QIry-?1FxKKAg8)G|x@S?Fz zHS`k&!1xWam38NESNn9Omjz#F);A3;w-p`noA>^bI>M{&S{~m^q|nRjqGl|z%ghdlm44<7HWkPdSw;F&8%Tc#5+YU)6qDfk*FYf zr>l1wy7UH2pbUGR3aT}@Std}0m%t1~abU{~^SGlMA6p^>#BOP%kiyw8aY zF>}}t5u$h%{`ytPWIjrCyfrZ~f=>$Br_+3dk^SMHy9q;p8~iMWcS;Ap5H>!pRm@a5 zmb;R>uqp#^%5bg2)?4w_vzXdcF#0Ny3Nn3m0Sir+zfEAL&(nVw7@%dgBO$OxdphEB zHCP39Gbt40nv{{x6BhXBp51ga6y?)aE=IvMp%y&s=LdT`QHC}2%&eOr^!cAs?laqQ zc!<-)_|BbFZnUantDJs{t2$zeP~o_#T=nHj;R9-F+?G6N8mB9hx>dEYY+HAB(-Lqc zNl~ryM$8#DSm>}98X=8r82jE48apYZCt$A>(n(j!Xh;!=hc|2M2fnH(_ApoN>ewoW zi|)@Lqlfc>@*SHT!${U-WpNYp!m!J2qfFc;Op=P5eh&?(*`*VhIA!KSrr-{u3%Bo} z9KS>!5E5KY$Qz2u_Tu$Y^Qo9(JjyLwGMGF{7zFr+@$R_3+%U62)QZ6CraJ-$j*?$;}voR$| znO}c`2}^|(anirV9+bQmvgqY8&l}qC6wv7G+IIco4Q_f&Ef>`h|8lV8-#9je&YG9& zE1%d_MK%SUx))@eRqxFJ!3IcukbaG2q~NBGp+~xgV;@fth8Oc!0rZ*j>`2#Knpjti zKfWUo&8)zM&ZFjroR0!8slQ`v$%b~D(y9a3ru`T z&1ObzyO8lt*J_GVpI9mnH$|v7O-Z(rqtVE$wuM22JLtU@W)z=ndcXe@wIRFrr{@!j z-0Nl2GW_h9D#gJmZoDZja#~!oAKqRUSDu-88oiA855s1@3HJnd|JJ((6%poPH#6PBK2&1qUx6?5-J09CLw9|*{Mp6U@&Jd;$_RN2xgQJ z!|u$D!XeizZ>{{kzeU=_SX7$*#~?ICFyza|pZ0LwsaZ(=Ws@53!V-s&x%n4}xe8{! z$reaJ*EiIfX2BF1U}S@6pBTItuHH^NhzQD->_fD~sq@TyW1a6jD_7ESvCa^lpQGBd z$fA2YraNp<_rR-&*Te1mW+YoqNt`bW(sdhyZWcm>Pxt(pc zC%Ofvo}^xhDCn25sSQpO$T1*bB;DPJ#Unx@QR++mjOETyG2{b@tYMYi;)E0MlW#Z& zM*#|acSH3Mfh}``-36g2M zAC)h@v><&A!4s1ilW9t6&0SiEO-O>iyNAJh!QO47RZ~Sx=m=Fv)60vHj}(Wxv_#nj z9~1YZo+h@((-@}oOX%$b^))?sh11@iILcK~9?Cp{!%u5WeviLs6w;BFwBK(5&(4g3 z#A3ZQzyYrU#3uP!@lF`(9D!z}ou>W#Ha(Bc%gManIc=Sfs62(onlh+J>_WiU-eoE4 z)V`v^*uG{i{2RZ@gzBdk2YDci@2^tPim+~1cVK<;fvPntJgh#p zX>b8{;uiLPHF;7uUjQWW9VRjO;_esVA|vz1?=4ff$df@_BI}E-8v>tt(U5S12)7f58R zOtvQCZ5P(pQm9vyhF3oZY-&ojty-=MxUYdKkXSczY_yHvaP0RbAed5tXBj5VJ01UsW}8)ss3RfU%f?yef**njJ0v&*oKN41tG zoPCL_Nwok4wb-KEiqC%b`q!QmGO*WTJNE$MHvbH&om|zU^a%R*T1DIb60jA1)tKu$ zU_Zue;r>ni?b2&8D=lEvN_<(#R}ufBG$nN06M&46-5;(WJ>;6qPp0$lNm~i*dF{2>N!ffY|a^n%GnHI z6_+E|GB)LQ<$Yud8`Soar)r5W(vVZj8ecW`syTpanB9>JP1}0tCamsir*avvh6pf^ znNbjOKPo*N6a#_rEHyHihdT?zDKt(}qC6yy-y0r85C8n)X$2jv<{#}D495n#v{t6g ze@Y9R^yz?j1$bCzr9!PT_TQmdi<6E>x;Gia!8=;hry&d`qGifqGwQ!Q%ic6o#BNmH z{g|>Lo16fv&^R%Dq#^XhVfzt}o1=A>PG~8E5e-nSY>I|@LXAWfJbtr>h_WAWkMFV3 zFQ7P@ls*dG(314vt?+zZYx(I|7y&W`3nKi5( zU7m;3-OX8(^Bm*Jjo0YTe$hl%}Sry{Ym`;qeA z9$c-Z3-p8i#HskYrWp)Y)U;I7rJ8Yoq_n`^N%wbbfo`&!(SRyr!{!<+k1pM0m%F1@ zrxc(7G!RRwue=9CG0)J$=Sot?E+R@$rS`2GWbWYbpgp7+b`Y{rJ$(@JsyjQl$kZwK z63BWkM(Mk%;PrmV_;3O8wm@Mi^6_g7iVj9c#^oUTy>99d{B6!$^s_gOIG;eW`Lsr2 zo?N072SV^|Nl^HKVJM@QjiuE4LAauQ0wm)i&vE?F7bDrLt%y^LL%*Juu~EguXye1V zTXw)aqG>a?$S0f6E!OS{^jm;gClT4hQxnY#oOxyCP=NC<$K(T?M#tO;7so~i>ekkf z53ffIA6N;qk&P;PKQy-JOz*ep;d!y-z>{@2%5c|3q;8J;nM@+h=(i>!rNo$a}O*Yg;yZ z`H4E8r!%JYQpPNEn$Z_O**jIg7Ed}>#E_u%js0@a{Yw3HFlGES8yt;a`zHpbF9@~L zWi@sFo>RzF9ReI2c+;O@S?uC1Xu8oYjMKXU`WeytFrv#c5*z~iOr|vK9Sr-DZttj> zpHZB`(74WNn=D~=qdLqKB+7jah_QSazrVV+S)Ne+S1fPIO-ENVg=_r71?b#Jfw$?% z*UF?~B1OBj2+K9p4|sJz|5vmIWF7bym?q5}%Y$``2^z?2+y+14ngTz*5Q#>CWFTD0 zgr5k$hKyeR3w2iJvB#hYvO1PEvb1m1+_x}PeN_<4MaTxCf)AK$0g`WtYENq35Bx6m z!t<;HGZv>t1xHOb3nn|sIMH2jz{O(2MUd>P8*NX!E4`0Us9%3mAG&haklwz@9KTXl2v7CFNJKdQhKndL0WbLOF~m)C$j03ZmJ?U*f7vNWSG>T+WMlu?zhZ9 z2bInep_i_!yS5*M{X7S%KjN?fca=w=-OhqPU8IJ*3~wOK;R%0!{hiOk^V20eqPZoz zt;UHGe=$Cu(^0UXHPhmW5ax_AE1|ieLLdDTaU=UQB&-oE6HPg+d*_?{Of$HTskqno z#VfWlmp}nN54%eiR*dm_X}W8t&MZpB2>jyd!Qt7X zD!aZFb0uBP^P-#cRJbEcdEVl7^(kjKJ=cKE%t1^rCt71$ib zq5VGB;>KHM=6BBnJ||@SQk2g3H!6=%iu|VqxAWFGQqy|MeahX%1<_?}k?tV;w&|HS z0jK8GHNIL^zniAr8~D>(^U3^k27)p{MrT9Zi@Nplpyz&eo1Wpli&e6XxF6GWfkFip zbn;}++~KUPJKs~hZYkZ;M|63w-7?)hOyNMg<1~hIBk4X0jbx1?l7NOlE5vfK8^pGZy@-A#Lz1zdM+i>gp(Q)UfG{dGwts^lag^!?yTG@$*Ton9Yd?y^^jpfYE zm`KLUqUH2YI9}rbwzkf3GSPTe^a^W+?U@-WGuPm}b4b=1Q@ZDYFQNnBm0g7y^M3qa z%vqj&y(^~iytBW;(Ms1PHv6%s5aE$dJlh!Qm}xCOg7By8(s%r<2}nw!){8Ern6DUj zHaYWK`NUNvQj;6J7s>5jy5(B-_I2|n7QfnN8%DWrCTa!;=liPY=*HXw_|V1>2OOS9 zT=yWGlf{m{FmS}+Bko(hst7;5Q@`+)@U7Y3?oIknd*70>N_!Z?o!{WdfOyFV`1zoV zFIzij`_|?{Wkc&9`U3yMxc5P;pn8MfF5FH2^ypObV*GZcXsrU1>H<;-pV+**%#eJ6 z-4ct4(@p{Tl}mRHb(Pf9vU*?R-OwCMwAQ;}Fnmao=KdV6ptoAziXrUWRdI~4IYDF+ z*uK+5_k^`ykv0_v+*;P$KXU>0t6H$+fqoQL=V|7d1N`8qc2V|Q;IYdB-ztAB$u|yL z-C-PlJeXnv)WYyp`gWdrSpC6kWQ6z0RuDBvnfh|`gJsnTk&L~XF~|QmQR;u#Ej|-3 zw7;a+!YPLhL|!w@W4EGEYRs?n=PuMU(MgMC2uhuA*kW7x9oarEO+_!xT*W!@;b!19 z(>GU_IpC}BJ(gAga(Dmk3eBu-fqnd4)lsCJ(hbLukkk{_$_LUn*TvTSlJ6FjEYyH_oEpLGH&0`(v99kPe< z|4p@HQUWb=eaW%Q@esRJbGhD;IypjzoX+#zt&Ce|cu1d?{)7+4I;EX3D&>Dp;E(d| zv^ibO0&NcV>NTB*&zeRyBLc@5(7+zMPEOAq^VgSU=}-ox+uTp+DhtM$0B&0I=0$yI zq6c8}Tp4r|8Q#xtl*p7NSedq4rLyHO-Szn`V)0T$zc@SS1`EzA_h-yJx*`Ll z>)VtoUy5|8((SU@MuK`45dU5;s%-A6nESu#p*+g=}T`o=B8Ny|Mpve4E=EbENp7keT zxp8`92i+=dv^Yg79>H9yQ_nSF8oJQ%)dW<*GtL^LT1JxY{`r_}wZq}l$!{Us7TAyP zt$X7r`@a;8R;yB0qM}I^`Qck3G&9s)F^Cc0W7+G4>r%g>%P_L3@JYu|r#&R<4N9FV zbY?OkDaXMJ*m?@$9M9t^s9^8y{8;MU8EA=IvIbnvfqOk6m)#s=pE#7nAt+N^j&Gp7 zEO$5}I7XK^F8~2OUs_ilK>E7#PkFpHJq%i1-1|cz@+b9>uri4_c`}9h(3Yv#P`m!x zVEMM+?mvvacE`Go*e2k|Zg?v!oeWP#@kDrJ++Lt~GnrDh5g7zpimLmXKH9pXpd&c4sl8&z~BffR$`P!jH;2SYCA%j^_ zK68T6ZC@vc1c~iucKp9$x?o-HE)OAHOFjxI$21biw1?`1PJiS*=~~64X)M9dLZkp` zoNj8+BI3leWL7ut4c(>o66gTVWvaB5yJ^W5<2w#HV+5b-SKFq)Xe4A`H!Q&-f3c z#j55P`olR-CPdLP>5hf|068us;g{Mt4dPM+NMx}q1D)5;ZQXc(y$fT~hKOgUcupI9 zRSf@|FoeFo%z#7f4}$-)u>7UrP~+la!)C`$-~o2sZKeEEF)WMk>7k*X>}qxRJOf&4 z`jh8?9ziF4{|*`%W8uJ_n5l)&O*$WT@wZcnp2~`|l7xMJUD}{MfikV)lo@?ej4u-S z~93mDCxTPj3@~BDn$gnMuVCfOqHVe;I?Q<3O#%J!mAc| z8v;&Geg0f7OQp46J(Rs5HC$R+jJWpQ9|zo6M=7B5Tts)+H&&aa77CE8C9I!x#)X}D zJyJbQe(|n+O7q1xw@kx*gvCf;F5h-*D#`NpJ&Cwdpmf2SQ8b4}lB-fV?${(0`BhGLYSWPT+d+A+I#xh4)6 z%cYo7`a*>>_&G47dL3Yr*<1$^iDNlA|Og$k)DVwQ2&CG(RO=S7Q0R&_B1>c}((;A<>K{#2YF zVcP*!<)|Pp#X$@j-OAm-&HpgI${Ik`?I&u@r|C6~f;Y0^QBlsrt*lJy|6HnQo^=Fl zFdaIRj}gg;luNUDm2vlAAg=N;{?hB5bB*Xn+}4QjWbgimfsQW*-F-s{XZkXBi(W8` zAEEPUhsXj~|cLM;d*FFUthgu7pblRwqbf3BKZ4{XbX-q?WE2g>`oCS|8 zflk0DX-XwIc13A|x>AV$xLL`nM4%(UxDc){Z11Z~)#YBrw>`K&DD2ai=xEo9l&zy% zdp1Qy87SbX+_Q`*S5kZit|WP$w)zU31+ssc9w->RE><#P?MW3ACRy7DU)T`+#c`H6 ziplMAv)LcHd~X<}7KOzwP(;$Z_0z)-9aQ)<5;Zi&=Dg(Fn9iVXbJ7+4*xxPn;8M-Q zE|y9EmFe@A#PxOmRfFMEbOHHdJgJzp*6P!UC!0RnbiD#rQ=AiZJVAnySZF46p!@;(&V^X{nz|&q5>RIOi*h&8%qp*8^Iq zfLzZEFG2_jy2QnzU|0byQaxAoE(G}#V=<7z6jD#4f&x7;O$dZa(cFY0Y?0uW$L_PG zC+&4@e^G`2d;*={(2X;A#uy`{VByz23!I3^)i{iw zw%%(e^kq2b%G9J8U0d<7Z0SU&zwM)iAbJfCB(@OO#dShQ3^>7?TsiJDbpj18m^8Ppm2hcl1Zb7qa`-Ha)N9bFv+piF6BZS~BR0 zA{hCzzCYXUisI;+ue3CD=e_(${_btKuWs6(c0EIdr zM`JcHJ!|*j;>1%WJ*w zs*Qjv)=7vCR{U(YV6p73HvsRbWs*t+r8k!=25>>4qnJ&dvUpIL_BC0Cky*)P z$98ymu;tYigW=+OhX>+~N9hv0}g%D!3v%M(|>$PPDW3#-*Kco#Ndh*vtb z)_9f*RMa@^m?Tfe7{KXhi+p_uEN$(?v3B@fL6V&TSvkOxxZXWQv=4| zLi4dBzupayiNitpNf+nxVs^F(9Pav!aRofxzHUWla#LoG%Z==v2wt|dp+th=2oB!9 z56b+#d&SSa6+2F1d4b+6h$16!M+Wn{X1ANT2zu;*DVN?^#c-)3!N?rJcG2X@?Tq%Z zEZX;yLjgot*bz``X^D&BQlmBQtBI7yyW&HZ4n{{MVJ`g1cDs_hIh%ySSCl?m4z6_> zTzo@DIMQ5pUvG`2n{71aR(#PRUjHwj_l2|VR6Z@)4d>ImR}(-IF&tX*IQI3Zc>oNm zIuzs!wtyBbwvil>SPGy4V$Qo5T^~wB9CBd@oerH1L^Y>{P&0&%xo8pw+Ee;#FndQd&19E|a^ z#M$zJbW$`lWGmdLn3q(OYYfx;eCVG>vidJO1zu$=4V$T9B8}*|J^z8olt-5tZ1|OX zch9@9Xa8ZWc*ZiX)i*?2aMoFG8jPP{?1^ybJhzxZW!uETk>6iKzE6rx%B#UIaRE-7 zy+gk^oE0AB-k2QgG=3^g%GoH${PSrm{$EDd>`P{aMUC3wX-c~py2voR&V>d?;u2pE zCD*~g0o#AvGtHCXv@>8I-+{lauxq$uvJJafL;x*fbxX?xZ+xe^uhSExX4p^q;Uq9T zbp-rS3izYPp_pK-cHVW}_#|zYoIWyMr5QeC%-=WD8gSfJIc0x= zjsXJ0r4xqrSlHkPo9yQ6@rkuTf(&@=4YfTmynE8#{Z9T)^~tdN+5Tk4bZOpV$VdG6 z*VJr9!K-talmaRnA5*aV)G_0(j$U^hBlP0#bIx`I&mA?er{$aDvmMk4#I?@L>0<0| zFfs+!I@1SA8j1y$2(l-1iZ9MBlMa8|(aC2p`hggaAFXe}zA-*&=1O$;X}RcrwI0YfT#oyel%7=5X?1Mt&6vnoX85$v+r+dbo9 z&FsSMU@$9A<2i0R5ZAGIe#X+Z3$toITeV^TV#+%e>V<#6_|}VlMu}+uUtL8h^>-2B zt?ke^GH-;hEsa{SY65OnBKG3I|6%xFKZ?CH+1(wwoed|P2(>}7P@ohQE)RalMC4v9 z9rz6b#?u4B751|x7@YX(PX+s2*Xk}iIMtV=Lhl(%nQ!_L-dSkPcb#wbDBX^Em6hRn zJt5+GaabX(-ty?Ne}BjaKtRIYd9ykHk8B2-@#1teOE@kZrCs0W*bUQcOASyB2k?6yEAoktL2{hoqHf?)Ado?P$0S;xD_D#o2 z)wE=(&e<2EPzRGd0=J&ZcYjw76G9%M*p00T<&wJcj_SJWD(~o*J6t)FRkIsBm!tdC z8_8B5(HZ3-Nu@MCwQx>g*^ za%xEzl!x-Y?ZE)?U!NfW9xpQ5eAqIn%G7zS=}c90-g2!|==eSQEJ5IzT9u1zp9n*w zmmQP5AV<*SAHj&q9{z;~Rht68l=qCkEcnbI(BhCRQpuUb7wT|>!+d4(maYh(weM^Y zQ_3NZrz$`@|Mn66U!q&4>JW$I?G^ie0O1kjadbhBTR79ZR0nxQZlv z!{kCTz%e#`%l^YKkm~uR>INs=K6}YhX|p&~9B`rzzM~ojb~PaRVQ2!JAznW1(ffQs zsup1;qWQxN&e8TfrJGBX0$u&;RDiYQSq>sIppRnp*F45yrqCnOQ4^CrXlEC?t ztCka!B6d9HHEd^~vtXHGtP7Ma6%qkW@47~7DU2(*e5PM0t~{;xVOEz;U0V^TVUf;C z*U84ullHq{QI(%Qk<{uW0S*xd@tkRsh3X!yGAy;Rqq>iT`;UAdUJh+Hx>#Ie=z z+_R?bdI2TCVtfx~wntgZZIGdaLPxi@ZvhjB3&7I*-LulspneH<6Zs0k2qQnX^Z*P` zjO$jg?4z5h$(LZN40{P5T9s{RZFPc@ri7YD0uizFMwe671zB8?R|%aBdw&(jez%X|*{Kom>9S zUR+u_Yieo^#U1)^y0ObGE)^s!&^Dzb4nJ$40p@WVx~@>0T71>XuybN7ZR6ch8f2_A z0IJF_3t<8<*Kx{32z^TgtBVYvLUki=X99iULs4h?0+lIgy1mh15?A$6&jivTqh(t( zcC#N&9yzSl$8@4f9E^cGH`n)89at50e;vF;}{0D`NxRj&vGl zB`L>K7if)=jHO3OatC&y(H_+qXPHhxnM5U)y0YX-SNAK@nE299Id-ApW!Sa-{ldD9 z4y2Pf3qyqz_H9To-oKCyGY%>#kF<;-N4q=)~a(Z7da~oU#N26YjXH7soXOoRs#IsO9Eo8eis8M&BK4{ycvqh_~YjJ z!AXT6!?13wN8ICm`OF7e7~yk{(5T`+-2(gEh0~AsTKvf(t|38-(tS; zNuP~C93S}!A^DaixRGmHWInt7ssozK!8{aLP34Jl*GJd)7T29cKGC7Y;k2@$!Nm#r z9F*7@hny1=v!z_Di$GznKO%0Pm|ngbUGs07jk64no!)=ikPBbe`ORo9>Tr;a`i zo(i`YPHbsKsC9ql&TnqO77u#iU~}+f7Bc}{Lzr7$-_bLbM&HWA`8K8_dZOmXYH@yC z{Djkrj)Kz<8yb4;VyD21i)z#I zcPc5flk~;WkJ(Wa120fL-K^0XsM_6E#!AuOy!*SR#?1=%xG1}D>lbTQo0NnPc#b;# zr5;e@We~A@S=@?$w`aer)Tywwh z*rLW8*DuWImSX#)-)WoA;8GPy{Tl~{AMi+;;GtOP4l0lt+U6HvlN4+bWiw7} zS$oR<4+HAg+vQxy03exJpvODFc*5HY50re4sw8A27GuyoVZF7lwD)G-)3X1GdyNg% zc~v2+@kfhYUFh(*wzr*f9doTplvE?-9rf}H4=7dSPXZiKsm>(D?)x{f^mfYy1xeHn zvQ3*Q7WeCqn%X#0oS4fyb7aP}gG>5eAYQBwdcB0qDt#O?4F?n{^|*5RwzSJ)^Li>1xinaFh9{H67B&S?5MwNZZ6=RS~13GQXUwh zz`sgUJ)V}?`Et2)pUitw8(}zLWFT?VP4 zj5_Qb9ObN$p59QZKvx2Ajh?Kqf{*KZZLFpX}kG z`w>YOpm857PcM?Fq+yl9q;yz-N}j_6tZH z%4}|jY7=<-N+y-DvU~#KD2D4X)Fvu$Z}s-^b#5I0g2Z5Fc>G#e`>|>O@Ny^G*IE{WaD?AXt|>gFMWFmz3oGpwZ&{b zxy8NB%ZZyND4Pj7Z0-6=Q$Wqwc z^()jJku1F8y7ym%DLK`9bS;;Z_G~^UhR#gR!lz;~X+Xbi<5->b+1W?2&_W-|4@|OI z{*Cui1E-JLrv^Id{~$;Wf3BaYLLOJxP-s&wb#s}N*jsh5zek(!Pu}vi#a->@cWe%I zsT0hr6u4iKJv_n)`mfm0Q@UcV78wcaDD0dq2mNM^ zl8q)r8{=NOp1|u4}A(?o-pUspb*%^T?SbKyYF! z*w!Ct33J=YYIq%NyB=>Hx&FG6D243pV2MD~$SLNp^MMA>iJG?^T5~qOu|lRc&axQ1 zKBerkvCtJjv%yo*QY6zG(Uh+aUX(8a6SwN#36TAk6vckk^%ZG<(8JTxa%=Z@b%CFf zO)U1v8xwOq+_drb{IRId-1}{BP`B~qPZq()vcCxH(92}hIMi$2R zga-B9#_yCK@yGubGef<2QK!34a*jneZNrB;3E2$8;&xi>SsW5_3(=Ewob=1KnzGS@=-TW4aJ58TlV^o%?*yWD$#42w+tv)g2_Y@lRZR3ioxz?@HZ2P|6 z%0!I*xonhRv$uBV#MNJop17~#X{us8xrq=c7qQapx3eT? zrorrdJ$E)Yhw{UW}xUy+SDR${Q-Q(mW|WmcEX?N5668TE=Ngc_Bnn?je9_q-`t z7@A;-iHJ?$HXVhlPfarHmdOp2-mh@29SU=}VpF#La9&PB@9s+KR_>qS8Dp!FOrFXLA~`*B4z2hvZ4<@WGkYcfkDQ9AGwHNYG70|v@1JDoh6&)RaP@+th7 z1htB`|1dgI7x098Q6Rthlp6*Y!xJpEK%6stzrfZd6{8$qj^fS-;hGv(&S3J2 zp)^8P63jK5GOF(b8gnTW40~4B3W@bvuLh&;)`Pd4%p8l0|Mlbrqj>IWs49ZBS*>@J z|DEfQYi#3npDfq6&b@+igul#UG$X#8q~hgZl(KR6?K?rXO5-&9T2`%v zo5YqIVbC>?-vOz8aIs1CHP-AI8B2|NV)CUWsYvvg28Wnf$4n8imu-F#wIo}5=NTY> zwkgJ)C-2rTr(mHcY*h5g0746IZqTXdsxOTr!XvQ&+)Az7PsBxWE=lp@pUFhO;-GU zZ935&A}l<97jnnQ6+@%c0-yTV#;rx|3%<-rjS`4#gZ4+B^>m&Te?Qrm}5MYwA%yZnrZ3y}C^fRQ*8I7T0oHPtnc>Thr@yFiXL3FhRKV$HRSs2(3>?o#X+ z(&mf*595yjtz`tucb%wYUN&&6qp!5N3XG%Wp>y$bCRNjzSti5&x0CQ6K?ko0Wr+3( zqQRfI2rhF3>X{OHNY2igNSsV|IqZQg0eM^ww&x~q91Rud{Gk-11g{)u0mXLNzREoh zaTcx)M6V-od^R@dZ2Xc6GJ&pzFT@G=!Y&&AabkFOok-qGPPk61=gqoQu6eyRUCuWw zK|zq|Qn_EWEGM1=E3)m}Yji){uK+7dvq}PMSCg zllq$Sc)fybmjj-tw8pa7Ujh?I!n_bSM-Ru@luYdvw9n{`;+#xrw!R|usyJ;Wfr;B% z?`VA#m)+K{dzSi*DxWHc?P*N>?4%hB-#n(ar51{WW_)+~Y+{`Id0=taJV&w#ll^|> zHjY&6S=-Aj7e@H4*-Tmf^GMu|pSVy&Npx{d#3fp;hxs@7Tfh8Opzz}+2)%unob(Z#Lta`rh67U{Y^1*q zZCIriwstt;#4xBKbD&B5r%F#k(Y*t54R26Cwi-8%loYcwA9r4bEK&;dXOLTIoz4qz z0VXr&pfGXJyNGjYo1>=L{sB!Qo*ye-o3HiQzW*hTNcUYYq=(UM{qt$7D^7!R?mJnQ zWD6DNzwvO(D!ps|^g8d~ii#d7H_PPSA$X46Dt5|6^n#sui4J8q>W=MNu`U$Luh&S%Z)l_82>SN(PWcd)e9@QmR@UZ(k9Ed`~46k z2E1#s;V2xDRp%mg;-IiUpmAQC_D|Q;r!gGXl8q!>{qif$qp9IG%k<{cU@U6au5qsp z*>2!#SIp*s`-^I+SVU9{;8)y&9=r_7A^KbbclR6?J{^c=pA%ffS*H^R!Ku@Ce+<+?a$bI)Vg-A?Ib#J z?24d|ZIXzNz?$_?L>TV^JaKi$ON49IECy{sM9$LSEeRZdg%8;^UfMqQ1i!MhR_!WI z*c*NO*juFJuIv=5kI@mBXR6X5E=Zg{RV&6%Ie=A0Qw}1E4FllCM;HHW4SVpRP7;N- zufxqBo@+9caHxO*&G(>N7HiiAlb+u=U|(We!0V@9F0$wyU}qBn_+!W?-j}uVZXalI zHlkX%Z4BP8n9Gwdw2c163!){+B2G$pTqYwbDf0lN?*+iz$km~iauO|$Cjv3KmjaD2 zyR=HkN*MIu-73C*nPnMMou0dBZ>9SS;f(3&;D`3c4SJCbE-PDvp}@E}Th}2D4?_uV zFQ&!u+D2D9mvpbX{X0J;(F0>+G4UCUy}e2CNq!6RMJ{z%UE8{t+y*$l!%seuk%dNLi$kbyN@qf_uR#9!W zVY_Z{mqKxe;4a18-7N%n3+_%S6xZUVNOAWBcL-9T6nAgY0xb^xR`%Kl>)&JSb(Vu1 z&N*Ls?)$oy7ykp$cBC{G3N_eZZu0xs{P-_?^;eY_-X9~*QDCMuPYQF#_Mp#Qg zK&zR?mWo_>_*V@BLl>+Y-f*h9 zQSa0}KH(2!Rh!ag+VWRdWyvq(%gSGv^R%ciQ*VUDI=)OrW-OFVzNfGzJYUia$8e_V14f0@`ShHti8}9I>82&i*WDyR!aU|oOM0}%AgiUE$Dn`AkZsjt( zx$ONoRu)axH}nJY=49q?DqxDLdJ`J|0Uo0MzT@WO^-3pQx9dMxT;C-)Fm?Az(fcJS zO^{KhL@y|iq7`-V)PCE<>oHQ9oi%?Ir2id|fzDLAu%j1I2BTes%vb*m`k9E4Z6xop z>fg0lLfQ;Wm)Y)EYBf__ugY-}(;pY?AZYJ+9Y210TB&P_$(d$x4W+aG6{!a;eF`zL z@JcR>dsmdsV#>r1RG>wTO$6XX`*!u2?lf4u>()$a4L1!Z-f({=&wsn}70t{A^g zY_=zs;}|%=Zc!7EL7NI-RxowEcQsQp%2nlJFBXk;q}qJLkY#a^Mi4E=Q9_GD5LT*I ziN#lm#Y?K#_!sAfFLWh%oEKpB&V3%~ubl%YCSkoq#W8V{)>`mO47-QqXlH6xYveotm-=dD z>~B1*k+5L#L-QLY{V^T-I&qrz!WRGt?Dhm)#~Odfyq9G?Ir-jiIxbK%FP>ksULod5 zxi7?cQN5S&Mz|u+%3-j%`NU@B&vL_DF>*}js{ofnuAUna)+H}Qt44fQURA85)O50^ zVfruhrZN1yy9~{j^#6a){Qt6Bmj2Hb^(oQS^`5Uv%%i1ZF-4V z>D?!Z$ZtfwzWa_?pie%n7vDYQcTZ)^rG>@F?7yrK&v}1AI}G}q*Tz>~!1gm~8V6nf zT9tw#5Xs+Kj*?JGW%?oe@omU&!bN43hFg0}+n}2+&0d)KY*(sd06!N{jg5f*4TFOb zt}3Y%_m2vhw5AH8zX}^J&_yvG=?JNyNgrIGk7!+fs&#?bK>PVr=`jCw^SYdJ3#C;9 z$(D&@Te8d@dWjvQIU_$hwZPyBA;q|wLY*eoy)p@zGbaQ~{47$%@aXP#Gz8PlCw|QW ze;;lv8^U%f@yd~H270p<_z2wk-O@!#B63@?)VwRV)BeW0qh5-jp@s)t3hsT`-JfyDz}s;iJwQ(1MzpGy?F3T=6`Ky2Vu=Yt0!PCp;S?CZ*?Q- zhHE;0A~B`GNGzr%JNG`BJ>kjle9D|_CKV0RDX>kY*vH?O-*+LRr+h0Q+!%R6N?Rq@ z;CMk2Ksm|D3>#?Mw;K_}-64kZb7jODaH?;h+N(Y2*NS0&0#{b6m$t_&EYW(OoDfCQI_KXh5CwR-DH1WYC7bmF3ea_(YvS z_6M9(ah5P85xQpMgEVhd74nU7(yLbJd-zDVe0`ZOc^6hVNRFOJ0@*b{U3Z}8FZPfG zi@8C5ftN#$IUQ#s*Prngb!%frVZW3jqr_+!y7-R4a*D?{r4}2}Oml!gIGd@ zeD`Lxt&;lcQ!xf3vYney>I%MarX76^Q0P?;O??Jw=wyN^F(CcmKN(&1cOw~=5Us!1OlUNtjo z4J}P25j?Kcn1|ODvkIDK{yw53oFoskdY5eE9ei$joM6mAnHig@0ZO|qJy`)K78QKb z^nFURIGUD>IW#4*o2JMh5k^-wninbzAKv-l`E$MZHM^5yNjbUOc7~s1$;^cz3;w+| zB>|I?DsG@_;6(x%y;mj{9dU8(^rM^DkemXLNrg^hYx zw#m{^w1U_feOkwam`nLqC%7C(MNg`$FE=<)ThT+)=1150w9oL|-ob}9g_n|}xYQJE zc|3h2lGdZI6lhs(S+)t^>sFI(Vs!3iRD4T&!Tu10oqaAX}kCsQ;MO+ApV=YKN$j*fzzY1B7lB2y2Q6z%?O+u+TY2fH} zj4auBFUWg$j+`T}qCpF#+|fHR0owt`wTBqd->9oIC(z@xH2=_&f+$Q43a1~Yr8l2* z%~#WZ=!3kV1&y${lk!<@YZiDZIv$bacqEi#w zaVO=J^vFtbJ(H{*x-ZHcq3nG_C6P9xz{RZ22BMe9R4qsGVpd(p%avCO5!x<&H}_YJ zwrWI@);m|)y*DA@Xf)NcD@UJq&&i{H!;~Q6{Xv7b5TY0N5Lx;|g-@m!4TrgQ{&8&;5$ zx@&%($(hVJn94zi=YWjm9|h7?DM4}1siRhXbqH4FY4PA3Ob`j|%kEygtQ5^4)|_ZFP*4hv6>6Q+tW zs$Tva@6bFpP44QX^n}r+9F|N>{?y^l77h@<`MyVf;{#e}&3YaMk-53U02^jk5z;&P z*Z$|BV8r@o-1}g4bM`WOk^Q4}$>`Z`<+c1;Chhv$wByk?5w1#ev+S8dMm1WkPvvRD6`nU^1e%%Z)pwm;WFfAa70yZGf09Q6RiC!a#! z#0VS>vyfw|sH3?%bKUEoXtE>tvI;e-)?JD27(p8$8yx8%|53q{k<^ZfVIK@ zF!RU@2!zgLM2#uMQ+b|L_)Z)<3(c_HiBTQ=0B>)(PyF+%Uq{N3-zlfU1A5B3ha{>S z45|K=NjrSe3TpZ^HggDEBcI=Q4AXSjZ|gK%y@}=_ZbyjZ9mSY3CK2EC6HQDhnU zlOUMjBbS2_#dC{>V596se~*1OH@8G|&njGkSSaX5Z!RwxwPxfH<%*`22Ga#JDm`X5 zskOyXgkqjcD{Z;;1_Oso*L25q_(bxwlBU~)?hD#7)3L`aYrTpuw zH5(1Vek=Qzyi2fBK_QJr-cH$Z%6TbIITxp29%&s)Z+_w<OK6%UJZP+F?Y}RexEl*R6p@6 z#PW8jvWd2QYiNISBbb?1g17~VBibK%x%up2rKz&NihC`;AS~#3hldC}Y8w{7!^>b% zCNJ0b+wK=+VQK9LVRCsDT*6|Aexuj%RCeL)VRddg9{`wd^q7#aEz@ljDd@uj!ni`jmQ)A&)0Q@fNoYB9#Yr-f9@YrWGJ$9~9ZB zJtgV?5?8BRa$0$0*QfLe+9U5z>9YA9AVyV&H_YFs#xUOf#*IW=-zWzILb1q?2J!Fs z4?rBcT$YuJB@An(d{Z&ByuK)N8OPs%mPb@h!|i!nfrpw1i9)G`H8aU#-VV5GrJ`o{ zMV-pQ&be<-{YtIn)2Rs2k|OnfRF!t{X`{zC1E{J`6i`L$FbZVoos!dnHBdsW6dZrK zI;1dkA=e2Ht1gTth5Ns-uTWUex;-`GJtgTOlPn=^zUyixU37Vz=hvbdHxw^gV6!)P zmFs@ z?hn1&#*~1L`hCNYtU#dif(a=9&9-RNA9$_y;LKZ3dP1pnx9v`21KM&~qHyhTNJRIU zUDZv4MfrQHY-L8JuKxg+q|OPnQnEn&SJD(aB|SzxSvv!h-UJKiz9>q9V-n+!+Vj8kQOLc zG|Q5s>64$nQc4dIuY5$RE&{TP%8uG5)iCeu|Kqh9A<`LAOt`6n!^1vz6*IAA^t<5S zF}!7buTvI zz9rSC4o?1KXV=LUYNwcZbiiHK#WVUQq684m0pV_DAWbOOp~}WJ65;EMel;U#(sE@k z9b$kgpY7&Oz7-HSn1u9n7RCWid4KuWHkxCv0@dEGw%YIiEN|8(FTWB$_y6RI8o$gq z(Nv*5HF%ajnTxJzj)0gTNEQslGlIT3`a51U(I4DxI@EEJVwwz0YuB`j>EKX%d94dS zU1Md`OCXytoz-lot5ke+jiV2V0x(*{tsObgf2HQhvVluAufq8dpSnGSRJqFGuW`!A9AfS9VKW?} z{x?EK&IrDs#n?E^lPtH0lSGw76I$T!eM_A>N~w}6U6IGgK#!+gkO^44uL$Mf4Z!XU zBVwL#H(zTJ=p21$Z5N}Wu~1+F)&BySA`5Y-{uM53u+Z6$Ua51r(T-seN_0-n>Pvmm z&m>U_jRHeb?%ALoOX^hTk7=kfJy$dW2{z_Ib}5V?3TVrH(UU9U0CHiRU6?+YMx{n2 zQ?I7t;rO2jz8T zwNp@k2n)Jaz4|6zjAbwXOx^(JhSXVyFQbp>Av(+T{!K2C39hZP2TBYk86YEis!#k# z8{VBu7D^LOZe{_V_yZTW%vs*R_7DGJWlf90?|b|P3{K1{GTl9b`WsLHxzP= zaYkA0mV^YE!WP=y_+P8ET-I)x?dQj)CC%$@KKrneX4nVwdoyuOQ(1W#ao6Z_y=z!} z=la0!lmAy|Y9MmJPYlu2^D4%B6pnD-_1e3+dLz*sufqIe63H6LcwK3TsrtV9C^pO`-@X>^pCwBMX$f z(?21*hr4CkT74BaR^R+(9b{b~fSJ(H$tOY@uErIKoz$f-UO!Ykm137;`jxl!z_ud^ z2frK#C#}L~s683kW7t@tAy6ukNcqz{z`I?id)K!v{VP!K&~TTlxN(v90U}SX81s>5 zO5X627FCbfORz(1y(}47|7Fp~7t17**TL4oeaFMyshbO=RgrmFFPJBxTtXdJ@FJ-ljK6!uXgPL-rpQ|!kfFkm~h-3NRlDs3ygC>B|mKW zo*kR71{0|@+bPE~)3X{o+P9w0%3^GtqbBBIz-+C`RN{0YNli4&@SZ=j2>EShwhH9CE2<+50IexIgD_L%IN&kFG&~J$G{meiAT?An+T0q!rfpE@%BT z#F|AUhQr%6P%*WcP0z;kVEojWo%MnXF;+R|yIEs7&Pt36bJ$4}5?RNsauG+VNrpoG z{mmBgGmlZjWcC|wxDd_ihpT;Q#|VjG=|5Dg^mcZtx*Bk_abpMa7Sil5qa1Za;>IDa zA3MLXDalMX|9q%ox`XX7e3aHn`DyR{Il_Z$Caf75s99|T(E}2|2$lPw$eNdR6`v&| z=}OIZ{FyH?;GiH6--LrU!5!lKRE8NF`5T3lEL6*zN5XON^g*`KN+7h0tiuKT%`9@F zOXTYpZ66u3eG{hmnIZwil@zXFrsT_{D%D>j{w`VUQo5>!{<4o%m64rF&qddha(|jq zonE}W4|qAKt9^UdynB(tF{#mx%ew5eCmh4(+Roc7Gb|3DC>wv zNQbJMPl0jk2{~z=$PcPM@o{aSv@GmDfc{2$Zq`gHg}|Rq*@U-2Ui%!1^@OP5)8w)< zgj8*=J7zt?kGAoSJqI!S{0d|CFLgMqf+%FtroprXD5Cp69qhDH|FL{%C$4wHMMz@2 zQzmf%mJP<4dYp5|%3#Tn%)u;LRfXT0=9#Vex`GdT>A#RO-@T~zb>BB?7<01ouAr}9 z>`rUOOu=#T7(MN0-eIb>Fdnb`C5d%i2DRCPpsFTQDknzCwb2(eLI}fa5t((Iu_Azp zo-+N=c}#ZUHN?=7AtdFq1WhzmmTT0^`0K4WQiWj$W5Ptu=??L0@gwh41i>HPO?++! z53*hM1YWqK*qaG1CIJInL{$pi%iQc#XyH{U$V%j8yD90$<@)m9MJng*&qtc|e!)JP zJ~3d#>c16-u+6Y(7ERpqUV;=a(C06X9&d@XVQGZ42vAl?J%j-p)K|8DOLrtQW3n%9 z^6!lKmh&LYsZ|F7bxk8?G!JIk{7!snbXSB#GhuaPdD(ek=+)ibnRudaI=+I=Jw;*o z9*Xz<8 z^>`#VLUPm47@V{NaDE{*UK2-`164NuJl4XplthyGnR#Io=5n@F;l9sU3Q$m$`(P6! z+ZpvfIK|qJSLtFJpAuZ~}mfZPYK-rUUA(+Tp*Vg7Oa{{f=8$Ry`^M2*G zClfck9M;F}?hJW@h8hRyQ4P(_cy?8x`jt~X;!T%wOQYEcNi_nGz8hWg;`+la(=ai^ zlFu$3v}W|F2GukvHTSm6o?e}kYC}mcfJTUJ?!mwmNnLFV1~Lq!n{8+Y1T@p1E#LJ$ zFSwSO@;svN3-Ix^wtz~HDl%0cX~h_^(x{!Q88d*JGvo4LujUryl|Em$*DXMyjrf;rC@_eUf3jJEXVEr*#vQVVC!xnjpOTpERhs)mGB(s- zB%Q5xsDhUNx;^H@GwO%fn*L@|m4(@&Ksw{L@S*?Sa@G3?7z>jcTV?Z?3JMYSD|XUD zQuzZRs(l|T+Z+6H!rs@n+o zcEe^qA2d%jGtNb%1vdgiV?xHhcj`wIKWK0s#F^HYlB^1%13Z9H;)NSJ2g^+|H?L@H zs=|h=vROb#Zcwwncxal=RNN3Q7Be>JtQs3vbsD^!I9J3Ugd3pi4W+N@O5aXI)veXO z)^8+8$4ylB{Yqo{v&iA&a zHbQw=GC`(2&BYjCr{w)z4Y;AVeXCvytjID7ur*D2`=xt*`N>F9HVFp86riAn&?9#; z=|VQ$yjP6|>O=E$gD8}~NSzOgwE4Pr(#1h#)TQHtRVw!!Dno#o@C(u(w7-`QRL2t> zD9r}f+Z&3yX5KiU_Z+yye9UXS(XKr*BT0_Z=xiqHF;A}?iy~u^voLI@zN>i!Jn-Vg zJZD{571_RwdVl6+81v>k8v6XbT;Jh%uiE)K$2gfS(@?yS*njzHrKZhs!!>^9Gj@kb z*3iSidRk@}l$CfNF+WR6Py0OlJgaat!q1S1HaMP7%FdVFIW0Ion#-ZoR{}CD__-Rp)JHlzu>4s(-a@t04g&|HYKkz^fTz#B6JpisR> z>yt3FtX);DaAvSqV^K^2X0^Av%Ub-d)+NM`yVC`{a7rgu+_}f_EIf;N=qty|{qx&a zG`s56_n{aU$rODPKGn)^aVMS>6>8a7FyR|0QnAoD>qnpIm!e zty>jWVc(wrJcIx2q`p+ih#ck#0JHW-gczxv;>o@B_)(@l!md|4X7_RYL>j>_CRID9 zem_E5RUa$e{rQnsK!GIAt9U)K==THQVvTT5^F~tq&)I*pBqq?gGCw8}@{MUFSvQWY zp95G8w*Ma&l3|_8J^I@1LHDh=+45Z@ojJVGL8fMz;1S`Fy(!iIfdOS z>{4HaDjkC=Uv=H=(8Wt)$84>OfeA8X?QNGZdnoYuAUbP86ec(BO{B!&4m-kk$eJw~ z|H55DxXcX$SNK4-LadsM&uFCw4Aj4aD6P_72Iw&OTbU28TfH~nU}6E`0xV!Qr3_P) z@tBB*K`1)lY@xfsgQK$lUz~*rnz1C2T2WEfxPuUdfad&e{4|Aw08K38n>%ZN;QGoL z`1qS~o$&Rm>cKONGwYx$!aZm1;{|X$V_N>wZi9j4R0L;71N>TNQcDdAijiKr3QUIo z2S6!~`Bd8o)5e-m#=b$5DA-$?kM{UL7#d^Xe=tE8?Y8(gLg9!`>~-uxW%V2CCY0bA zlAL;zlT0f^Y^DfHRqe#CDh^jA-vn#PoRBEtQIWS{Bdm`Gb22K#X&CAD{lw(9FIdrJtBlw$N z9aN7L0-0=|XE#nqYGcgwYF93=KPgpug#^N7eEQ$q$ZSNY9Q5wsWas{==hDQNh=2T? z|D%`uC6Zi3VdCI=vPCY(VkHC0fmmjrYXd#hwA^?T{!s`mJZngUoU_-3v%eG8pn^BZ zSw;euM4kd0l~2#Uyjfj@-O^1T2#Rit34Wa(3DedG@zb&$rW_jp5{+*ZBfDrDJ0U2b zD3JEJyoO?Y&->?YSE@@_J*H34=Xz6y-6JQ8;Dn6+KZC*~>~Hk?&k118 zZj}Ys?D>7^yUCxWHLinu=Tc3t?BM3Aj)rJ-EJ`;)g}Rfk&E}!17v?!zR$FGd_wV?B zHZ_%NH@Ak{0eLpo?>iRF-^)-IWfu&d&e=RH22)6;iqMRX@iOOU zF)GC*pt}FjzHsAE?n&^JE6uU{K(CFx6C&L=a>xFa0|z{s$T+j z&Iuh0ynJI5*%Wd-tNs=0-w}9HP7eCwn@exZjJ3JWFDw<3ntkG`>$^6o1%%s}X3}To zaIMkqAHIuHSRYK0hBhV!TyWk9b{Y!&Is8mOGwNMTdB_)`6g#UncfAu{j1Vu@e|A3; zO7CQm%`hZGLfPW!F?BN^AUFa;euMQF4WWjc;itqGrk)hZ6KLnPYVY#-8PvEs#r>=% zPAsF-^H$$;1+2dBd^MxNL(qfC1w6P^c)XZh5~Jn>l`Ezgx$n~@@OVP83&UY(8BST# z=BA>5vN?D6d$a6pI|@WA^4QXAJ1%;xyPou4YuDy75UmNkoS^`*pkd?-TP_`=y30NR zP1Q?#ER+dq1K`<#vcRZmou}@hX|yeL-S0xaJx0-5tFUUG7{NgaS)f-jh=kR2{1qvm z#|M3286)UYwGi2gCZm(vxv9Wv2EJArnm)Y5l;OI6%wbdG7%Skb7}D5u-XBc~HN4M7 zalZ86kRyFNnU8O>HFOlT&)tpE^=XV{S899Xq_WS|C1Rn#tuC!8{|O1}Q@U`mj%S6N z!{>M(QYE~@m~VbI*6Qc1Ur#o}5yLk4{7j}`E~y~~WuwOO!y4e-D)NPd9+x|rNowU%iR;A^*k?1{Ym98 z5*iTXcio=U{`V4z-YrC}IqC+lP|_9eceo!-tYHf#=kLz5zb%xAVUw0HYJK2%vIB13 zwi+d=xv_Dxng^!i4_&me+ALxoX{iwr891$&7_KyT`2@W1@=wLpV8k|S;Y9zp-&u}} z7IpO`FF+cpQdbTH?;pHU5n!?6L#*tC-SKZ}=-Lu9 z=m>jbfzl^=r5WRt=+KRTqA`0YbK70(rY7R#nHPH~e$bLRou!x*4Cz1q+jU`ZBdo4k zYmABBrG@!|l0f;NizUzr7%;m)1c3&X$as5jyc7_)5$D|eC89u@8W2f)gD3(vb|^Zof8pGcbJ6H(OIDPFY2S+LW!-MnJ;81gLVvP1%5 zXBn5@lWHLfVe5bYv%*h}DFFDKTM8rl@wjk^hIapEp4W%H9W^_^&=2iB9C@-tqy-gk zOGW)d#TDvHeT{DcOSN01&?X)*JnVY{|&83^uIF>0<#aB{)B=zSgDXqUU zMG9V$sSLkn@ouFic0IKe6AEQAUsAQ5UfAAvKU`mbHWcOf?8vy6k_d_~c8w8&0wq(z zw>y!GG8OCJKAO8f1i|uE>>s+~aVflMPMMnn65#WyrO^(jJW_6j#z!uCpCGQS#P1RY zbmed=JL+~nXsjwAMpqxq{iNPK>FdYwh&a%*u?=3X6DaIF8i9~`g6_w~Os|d)rAeu# z20}Biu|Q;AJs&m;r&1u^Ml{LA=p%{y*FF`)nVJd3RN`Vq+6-zeYD`32wu%|^Y};k` zGF5sJ*&M=FvpBuOLXwe;y;W;AxTd1Nq2uH~Iq_KtBp4h8v_)txR{)3x^AGj8gERkt z=fYgE(zh6kjd~HV$eD(DtwV3SA$%1Lul_{S{DAOv7#zKTNk6V84;Qth3 z7ZBA+`zFItZ)R?j8+QQzK1rRPjblrG5n42&_iDD{SQnTmGCA3rzyp8caQ~eX@%`xL zv1TGqO!HFeVdA0R-IEKXXYa1S_z_=Mhzr=aNCz$oU5=H?0q-7l97|VC%XFI-b3ZE6 zvY>9VrE&K!VDd+-kujGmZeS$WUNU41ww$^{e9ftvLYIv3xBMH-oTe!54P%lIeJfHW z{nHN)as@D{TXtRxqheQGCANR6Ut4xpv4(^viZK@E7!Hn(d<-Pdntc1cBvq{}%`bTY z=Q&^LqA^AXQF3kG#x`0*HwI?NvpB1_&r68hV`uczbTXK`So@v3k#n2o7Eah5asDBn z#Gp&b&OCSt^RXJfv{(?$NK$=ch}J{o32`lQP$%m2k=RS7V2#&EO3p%?0I7Ff$Gj>T zvdieAclc|gITlKRKO8j+@CDgFchFG(Dt9v9v=6>)U)d0>$KktJyISd1$fB%1#SVli(kOyQE}$6Z}`p410X z{4QG`eB--$FJ05b%2?LW9QI}|OeO0PLol}}ZCr42QilsM^-)eZSPztj+mQm$e_^z* z6hEsEte0Fgj?9T&0wES}`8bg^6Q) z^jTd*7awXla@`o~;tf;=etr~CORbSMZxUt#imr|llfR!CpX%r6^E)iH{_#aPF2A zq8FYBnYb0*F+7-8nU-<$IyjJgR0Z9%R7^hn;pmx=!{b>j+Lv~xw^!H?@rwhSh$b8<)=vwMp{5SeJ7&H0t6GNBb5GwIBscu#<6MFl6Ei zI82K7z_o>4d)~BL1sTonfFnvZ+FB=d#ZbjS{EqfRwBjS9W5@7B7h`_LIP4*kb5Mdz zg@=yi(lpcwTrUZG1uoPo!)Aufoax?OGn&4BfBsnPmSAMh)DRErFYx;f4ve5CTF};# zfw!3y<)(e1R*l%EW*+s8O|=Qu6elf;A<0N+;Sv9Zxd06;?#8S=we6BbOV-HfR$wt; zw|!RaLGiH&eGbK*TJjaJ;Es3nq-859VunXo4X4Vo#&|0*BIA@W9(hP?Xe=8!)1kWD z^$3=oU+i+8s;ej#tHy%~;u3Ojgyxp9&``iXE7a5lT#iNKK97o#UqG<-1=ZCLUy8@9)JHk_q(%>>)hwfPR#g zt!Y2j-!Q>2_1LU&MyXlTgqJHG2-iJDVLA_A58>sCJUW zG>8u+d8fNT5gKDx`7#s-E1Bbae=Jph9zyL^aE4+!D9jXzJQ?Ee5XfxKq)2#Y-9qzv zTf*O`!iB`i0R_epTG39Gf!WrMLmy$G04k-1@RfdOM}vjh+Ef^m@Pd~Z1<%m$$|Apx zIrXI8PW|>9E1MQ78pArbE)8U;I6BHrJ=Ksd3o`~u; zw9(zKV}Rqb!JBPtgDFz#;XIP`(B@$8IOsA$vL07jURot7AP3DHZtO{VjIA)yV^>4T z*CBKLAAsQ{Q9`_X#FbiGIwh;Kh~npvVr+~(CPg60HeTv?Z(H6PDb63YGt_tbeego4 zGyacPRqcY1A6i#_S8}D#m0m2W!lK zBwDuNsH^c`9BlS%8<-b4et`o!cg#qPT8F%tI}6!KA=|%4w72`5K}QK?3;1rC!v|fo zv{;F|zO*RCNPyp>=a!_GCN8X1wr-p*74`MYCUgnmpXH1qD%z3nF|Hdj-vhPIkyAnm zZkIo%i$b{@q3C%8WvVEe@!O)RTRa=JIsF@Vi!rXbnDiR(nL!T`mZMOQmq-p5;1LQ< zER*w%rHQ|DI(YyaeTy}wTQj}cD^kVQ945MmKdL!+xmx~HGdL;g!1xzIXe38;%Gpy> zs6Sn-B%sM!U*mZY%@7a2d-JY&r2-&>tMB*?U09f_iy})ZQ}k1hXme{V+wwB&e*jk? z<{Zqz9RgeZ(mszV74gAeTo?6&!9kHuvJmjy>RJjM%-aN>ugAdkVOjWP0*@{Onw@HY zypnDYNT*@PJ{Z(j35#=bIk-DFB3)Imyg&0&V)GHx<%hL!Y2^{2Sa$5@sHaTP%pU*L zUlHl^)bKapOJ2{>=yiGfMT`pmEUR5-7rtV%eYdbwcA9I}8zMjqnJcNd&I27f5;1{{ zx4(UaNtfJpNOu~WPE=oGP)5FW@0lG#txesCf_1&1xwLW|Wma4{RfJ#uMo_g_dZ)YE zoa7Z8OKfD(00H9#`WW(p&S>A>8E-PE0d2lrY}w=Tlovl5Cn+3Se3YL2z$++_tztU$ zUc@4re)Y`LWqHZd(Avk_Mpky+JPX0MMb2FQAevDDUq?dT1rMw&w>P#=x|?-GZ6?vP zOkqNQbYPR3L}it+WWlF;UYsp8@MLLpv;gmfBZ4Ci)Ukra9x1$ShJ@a0h5`9(-dAHQ zo426GqMnX!o*C2`v3=$-AE>@?gwvY~#DZx8ar|gP{)zuE%we`|?MnLJ0WX68{s)G? zK`GAS7!)TB-^!T+hY~E*zIBOs|74<6m?bn0A>C-P81Y*7vqr1O*pt_mYiacZ<85@G zoXxvD{OI|DM8kGn%TG%ALHHEorDwq%`12Q9exoUIGuX;3v)svXf&8!CckO|Z>kb1Ou8~L#zpR}^B+D~q-qYTa<_7qUjkP%RpilT z+f}iA9T*gF2)vgOqaEk=UTGwH`|Q%>^f1kfy-);g)@xwitnI_6?2RG8_@Sh%=`?I@ z1+qjCk@EBTGXHQ7lM8Z-kzF8Xhu>2Ciwk4}0-8?4$^CmpqMG{fE90PhmN^?5TndOG z{b5r>Dnj|o&AcKv(-vJF0I6Boi5PftQ3TZB`taMQ#O;TdzYjT?=aqBKqfU?|F!1vK z5AZ(3ND=Ua`ML7QVV%6~J(c&V5YRM0C=;GS@K!WgGwS7zYYi40MAZA{`p*RQq{R3L zO@5I*ihC597L>Dues!@%kOd*`Bac-DwQD-Wl2HN@Om=Y?{Kix^%X3?^yXOI3F8 z<7T{s`FEU$P=(km72dikv-qZ@srw$7t; z?k;YgPLjFpm^!x#Z~0yv(DRJ_z3cS;|s~ zxXnLD(fos!b{s5LeV z#6v}U)Fg7$zpwV!AG*=cg z?%b>n8Od-m9Z_o!wLBN!G^M<(yv(sMue{04{|}Hc{I_%Si^+5B^Uign%pNGRy?1A{ z>MFhx-Jj;_vU}Shl;Jk~jbN-xCllW@VLU>2 zw|OkiKT)-%%9nbYW$UiXz?$?PeT&nAzeau*E#%JWi^k_i3V}n-!d8LJsg1XIjWebf zM$Nhimx&2y`(%fSp-aC=G`fd|ioj$RPHiVxDpQs62$X@vd=ByWId9xu;JG?y>lMmM z^6Z1JLM!GRG52xKG>1Ai!=B)67W?Hw4T#nFr`<>)4i&yIiZBCb`V2MEBss7)2`7ML z#Do4^ekJqZI_TjljnVdx>cSDw>oQ~YS^g4nd&CRj4JoMB;}OGgNZoze5lK`fpnyBt z9omV1OQp{!gd_U`znUfY1f?Z5qy(A3gs98TZbw@j- zG3;6qOS;C~qCpP4jpt3@Sm5}BVmrD7KQFURbm0d78xgztI{ok1CPVTgrR?k*#Sgzj zlQvh~Rw|UIjj|QLAILBqgc)$ziY9x}kqT>aVB~uA6in!QhCZ1ve_`M<%Ze&mFo4wFbQFd%hqjZbvI`}|#ZHn?A9R!1D6ChXxlkk^>k9}jaE zRZ`zlefP=#1MnYoZL?@vVx%2I?d8VpgHf{(@6|tx9A=2yS$M}*o$HDdUir(@vtU+0 zk69aHmhQ>29)Px&lvKu6HFf8MqhK@xO za39vbO{2xo(db@ABjtaNbI`@Qs|)nlUO%>s`<>Yzw9IxOhVurb-fLa#CF|E0CA}Mx zI6F%ek*Z!S2h&@N`aluLaWHzRm|CdTEUPp)@Z(SUR{cJDZRTWOSQj5GOcd5HZ7Ja5 zO^W+yy@|SOkzCyHAvX86@WiGvyRBe_okFp-?of>GNRgP8_Js#sSyGKu(qQU&d>$pz zJHKzXaO_+3g~_@Z5r|(@20<^=R=oafiJIl;^9H^OWB#ND^eWAOcb!**Ejt@QxrFZP zF_QD1341|Bl|L>H1J-8LRa0aD?SAD>?vbK`+X(6n{{cwTwZ7$}*L&l;hSgi!NJ?ss0YjWD z@8_Thve=t`e5*}z-(b4le*Be3wy5vWZM3`@V1E1*<8%Avga4rVPUW%Dmdw z1wC5~bcP?WDyMd|o;yXz{bPR&TMN=-y!JknS)JfV*TMhO77RcRi1zj9tNXfF$L(^S z`aSRV?v6FoqQc9d_|5phCS>v^$qsS{vEC>Slyd{9ywo*~<}1dF5etj&^(%A=s5_cN zMoThsW_IaL>2ZoHRE#tNVpo0kG0Jk-u5Z%!C)lTuY_cycx$EEQW74m_sa~WsUOsZz z4gVxZsA5g-%3~O?h*UGsr(+z8X`iVZ4L)j=!k{<5u$mox6nTne7v-2VWqgL@B` zo|y;zQZs4kUaM_yCjP{skGofQ#`F%)%zVjVX?Z~Oz5P3<{MwFthbqp@B!k%ZbOV#{ z%01|J{y=LQKm}Ya<(b^6Xa481cPA$sR_f!3R5LEcci!Z;USWZbxbIjIO}d5V4q*Fa zT48n;<~T8*X`tGkEx=e97r=T_{bU@Vg7Q;$6WJRMcef8N4li5su#QBch>6Z|V>TR6|mEar7_BmQ{q<-b~TzXd> ztyh1hbUINvQ1hFeV`+Mw_@!* z-i5Ctpl}1$*-@*NIL8ON;`6TKmh=boN#6so zyA;peSXI*5UM3rYWz0^H^M=cwkDtiML$1x7cEU_cl|_Zs%4hSUxxalG;6=!EU5)&d z)i7Jc7A0zmLcQ`38M%plHb#PY4muO|IqR-&X-Oaz;AgZ?ohN1pAc+ouU}lUcVDvE0gvh3 z98;s`Iv2>iHmfL$Mt?OJvr;R}D`In%J4-U9yYIg?^Q$g!6>oU;G?Jug$)QsHdly6u z#GC6-2N~i}h1_@evE5XmhY{E-u}Hk(AO~;sQIkOY$w*-^k?Pkmf61x@DxEkMs`mat z9yQFW(iQDKZX*r$FG{l*5gHRd)C5e~Lq0(x1nI+GU3vSe$Jna4otZ55)(ZcNtFv&5 zI_&%P(%ncmOP6#?cXxLw(jXz-NW;>igmmY!gp|~hN-f<>htef@_Ib}cbDlZ>!Om}X z?)cuH&vhYVgQUSzHo1*qw2!Y zyO%5#Z$vaS@VU83c?DV&w~b7rhM$LUno+;%Y#X_1>Bc1|?hFu7X-)Ry`O)$Q<1gSj zRzSC-npR-0H$9rkzCP(lJ@e~jXRFUgwX!s3lzJuHdS(q5NA?rJ){l3>0<69t4gB8P zc#J+q&%3N7;bJz?UswI-*{r>|h>cd$hcGmyjT*n*&b#X7l}NLapHJ5Rw94uK&Hles zR}I1tlK;s*+^B8-Smolnp_LmG9F_E2{|#*JKCx_-5QK?JzUpeF_Gsv3n3|nX$WRbr zkMx!S?`~1=mtm7^2B*$%i-z40AJ6|3g7j|}tLo0zY^#L-0ho%mn+`5M(!Uyn`-uI% zSnAtvddMW9zqA$*lv1JhybUNA4fpFaQQu!|3@*?437%%2ySQ`-s~H#LZv>*zaJvCb z@NgFasIAC#UB@3p``#a_uYe^X# zgUq#et!$3O?Ec3JoXM6bLdOh`Q{q+vBi|x*TlascRvThLf}vBt(^o*LYC@zUhpX59 z)GAOM(M8F@rwG{`wsAtb7);Vwn9~q|uyABnT1S<%Uu=~;kdZq65!`(L5L1jJ8ce8N z`1LpoVyV|)q|9Jc22W~sx3+CYK>0;gz2l-A1K`KyP|^_owbJ8E zyX*YO6Hny^bkkLN$04YFbbX&I8@DN*b2P}t77ay3%CaNvdIUr2Ps#oP+feAv#r$n417-zAhZlcd_kR^*p#Rd zojZ(UPFYkBhC@JAos3Mrb^`_zQJV(U(B)4-cD(ton5z&g&-cF)$lDr0#jBs9h`qV@n zI}&r(QzH;(vAyZtlp?Rv@zm3x^31fZ9XEd*Gxd{lw@`{~K>4XHrT1LiOg;y9D6l)D z{m01uv&668MrM|vn$_s_7ye7jzhR;>~8bB9m%^DB_h>Nb{G#)4Ew}J^w zTJ$dhEf_k{tb*SHdnMude|&bVsgd34a&3fsWLt1QDJY+@YsDP{tS0?#7ybN~#nm@^Wmd`p| z4{1ax6Mqp}*}rktte$U@xPRtex~b_kU9}9j0P}iauR+uihvbl!{SN;h?hiK-Rjcqn zbzkgfR8LWT$x!8!yw9nqZ()xnUzQj2wXIpn$X^X#azF<&atrQ=d@RjDtfL?dWN~@} zzig^wB`_{ex%{+%em{)YU^J7?LUYH3K3I$E_1n#0@N~tUsBqA6%^x!NB9lMi-4Dxs zME3`0pSQOiXt=*e{sSyCCJImHk^?&f&4bY$x#8(U(bvMOjZOt|e|#*=we>bL|7ME9 zzpLQ4jEe5Ik>WUc5m@=MLNisQgVO4I(Q&3V$#VJ{~j|^G>Dn9 zCb=F9#nxJIQ|d=A6(AZg@<-~Go>X)uJ|8iL;Hp~YaT0BTkt zgMRhw#4#VNpBn!3@&TlCMw5wPlc>EaHDhsMdIzC}E2G5En-5Xr_%X~YQy2C7sHYVa zl00|2H>1gL(W=c>wxN==2yEu0F^rHDm;4&Jr% zeh~L{+Pdh~xwscpHK&l8bj%!rtcW&q!;tqI@95rikQ;t!P^HOg+1s_>nM|+sPS}av zF+wYK=rL+1@J7w-OpsW)1sK-UKz>74-M+0b28-eJgdz?!-t!iSm8`~nJN=J~v`qfk zj`Q%uMWI~wz;`q6{gLieeidYKiWE}rSid)iEhf72#U2F4doL=NbOt&5g5uJOK3{V4 zHw8sW*+()G)`b#@jLi3Lyo6bwPb!VVJ-(9PmKLu41i>e!LmKlY#uW#&HIfEHQk8Mz z(#WA5%|N$80X@xjy;BrlqP0w`l{44&Nh+fsg8u;An!Vb>@G>sE3f6t(Ii5IOn z9jN9f#bBOn&-2LR7R@X9rZIGb{d{u+3QI;x=_3W6yS4YPJS|(kOvK%b8b}dsM@#0S zdH<@}W}ct{Wvk{0k=r{;8XvgFSO0P?*Pf>5N7EbR2?KtK)8QK(9(Ayv0@X_uN{un5 ziX@7em9P0w8YrQbPffgoxMF|S8+S$S-lNJsu#ia|+jUIN7r-7IRbtvub>OKTF+wal z#l4Vvx=}YN5<x_-dbOC$KV;!NjT>*HBoYoRHaF@d@l$wg$0DtZTjie zM@zcw!La%8>=C%dzEqCr;74moCZSyql*_d2EGoma{*s}lrj&WrNkDdnSp?8TyN3c2 z*QbEvKJLnX*$DDkv-ZRp^>U}kP2c*c#+(Kmq6!!hAk+Xni3&$@b~kJ;v@cABE`W_f z8qDfnWfl=!OYNqAVk@AdEVDGuF*a2-WT>_LNZg+pOj}mq-(Yc4cffsA{>8`9#~x__ z(^QOZx=0o=a%u->pNI)HVCplX$)OpIT7*gfJ_v)n^l1Cqa23zF7}o$0Es3J*vN#p& zU3t7uO>;Wq)f$19?0ksiR+{4_jg07&oCuY|KpkHuYHN*S2Q+i20&}{>U8dIai0bp+ z>g6lmng<9vc#%_`o;d!ts~|$-J$G>8dT@Ru8glBVI{@AKHQVf$Kn0Mq3GLTNbkc`B z9|xte!8v`7L@YGlyRk(?82U|TlHE46N2SO8SiUvprbKJHT~V$sWFiA=tknh zNl^R6m{h8uC3}XPkyUXL!QhG64=P=WdV;u@-|RjVF7}wSKQ?+?WXFgki-&A)vva-4nLPO0t9*Kb@UVP_51!9Ob@9kW@JBMR!5R-3*BfJN9~`Pie0 z5h*vNXg*Ub4hP+wr+XL4#^*4!eo2ly{GMq@U%dfTm0hL1+1WQ=_S3Sn`rl zeyaUdMdMjweuCx;5YTSds28pthN`jqfZHp|$^Bh?mG}dG5-94lmZ{AHW2a6@SlASk zc_Nclz8}=&G@7h}iH(*6Us|%f`E8(Ho+VD)ost5UxjmJ5mPs+Pgr@8w%K6ygt2aBN zC>iuW9rg za54|6_JhQU9pb~AluF|}Het#~z&hEKz{7nc%Ca3h9hSYe&NM&*RvKqt{PJ}4@qp5Jl6R&C*Hkbr4J)SV<4U}MGgeiiIJncr)>>wZy1RMXYWa_-T; zGH4|PCi?RF7BfK&g_*O9pYan~P(TM$%~Jn2^eljT> z(ieQNzgKK4luWD*N%R#1&Qoe}MnleT#fK0S-L3O}R44B9JD^2*+c)zf9X-WAj5DQV zBGmCV^+FX$+e28P6?KW=A$o9-q0?2Ly(GGd{-+;~!2#P%U%^ODg8K zld(%IprgUm*Buf!eY+YpTh#W0tS|*ae+D#eEf^fp239+&C)XF?=jO(apk9-aUdR$? z;$Z-(?q%5fClcben4ZZFv3DNwYJsc3HK0387A4d_0~id9>nR7ISJ~<$a3y`^xsC{w zXrK1K$ETnzN-|mQ*gDH7orBdAt+JRFaiAR4n?};)KedpQJJX)?`r=mnof3oUx^xKV^-u*m6 zja(U=?V2>!zF*lai$FgclofisJ27mA3dXD_;MKmzuQ*tIKK6+E_EvSKUkx>}VmMnB zm7wHEKL`7gK~i~=+k@c1vt&M?It}HIYSgj00!0y>09~L}dz`L`JPNXBrTWx9qQs|b zU1rb`#am2^1fF_V8+$A=`iivV&g0^14d4wvq%1EZJn6?pCq3<6XF{)BLekj9vRKnr zh>u}9e1ABdMomb&#sQf&+RGjb7qchDXESUVY-DU;21$JBoB7PS0J9j=LG4h+?Wh=a z5fqSez~Gx`5%Y)K;f%J$<95AMO6^l$8Ha%_pVb;ExyB_xN`u61rShikzHKbvIpet^tmc^Q+d)n@|sUOQc45@f~Qc2&7%? zuxp6@0IqGH;CakMMO<3ATc&>sN}mWXb-L#G+Xr3$^)&0WEoQP8;_7hkVAChqGfW>{ zpP(I&;E=_%xINafSTk&r|6A+eL_QzwF$!*@(r-zX&7@eS>W~j8;Lg3>SV_7*eE(kL z4b8EGr5&oZQhKZ7QoL&fx7H2vf|;hiB+<$^CHFHXEr4kQQvMcTuE3;fPgH_hy>YkR zv37gPqb5qU#jyI<0&Z4BzaQA(NvPZzB4TJ3=q|+nlRO6lKlWQXX@;Dh*9sA=>46IN z9Lf`8WGOfwxZ#lfU;`ECF&>C z-_y$XV>e|KMYQ|U;uq6`OxEP|dGPJA=?4tqX{SsfRa|emG-Biz$#m?mtDl^^t{ZiH z7vIC^O^6Q`*R~gz#op^(_Km$3z0B|M_IP4Xs-W%?PXMN#L#(1qlcA7_S>CVHUIW1{!$xqbZFrfjWt&KYWb?0ctoK6`ppUG=7k8%n;$tnK+-Pc z1>AQ*ao+Oi9>d>~S z75gWZ(cXH++IG>LNh z!RmH|K&t}AIoNp(79-(m;g=GaNC9f0E8-9AhR>T)qcxuk_wbGn#w9Knlc@iA>t4JJ zxB5UAk?{f!U6UtK_%%?FHoCXJ4VLCCx{b~Fk%|KF)gp^JR$>YcTC{{CNoTS+c zx$0Z%rFGV@)clvicqI{ShT;I|MMR-$4w9e7nJz*o_!aNW%5T_&)mUpO7(<5WBaK;W zGt;}BcP4C9l8jEu8_x<)Uo5THT??lda=!G*&t_!`|LwH_F1t)mprcD$B7SQpjZdpm zCOmn4!_we)f|>P?Ej$8mE3Q_n)7B&SlrVlv5IX$?b@F`!9sO`Kd^C-j4O?4-|6l}K z=%J-KCkG^4oj`RVA(f<>?k9(h3)%3zU!Jimmx&pAaSm@fFKE~B(AoRq*pYrEVDH^2 z&hHqWy3drK@U*X0LnXxalZbtCih--`uq)CEA=A*ll9}IcXwTGmiO&j&PvS@v-~7WD zd2uuT^xa?Qh#xOPg+-2 zLgQ+*crGdH$C$)>=;Y{7ar=xXB5MJahV*#5sVJFgA0BUsQJWt7o%{-u2D96xMM|rV z=dfDXkIZTGEMUpXN{SM7oIEOnMVG2c4p8cY@xFs{fi*)`vih}cW=dTIgU?5^NlzcK z-0Vz3x(#Dp3)T(+C-pK_@eT=a4q`4Heg>fNntLeVcl99}AYTICfQvc}-Z6(OFkD3A zEvZHE(T+%CkB$<*8KhL;c}!&-0Q5#YS5dHk)iH7?fhV$+qvzBEuYS!{ z3Io#&|@jv;^ti=tE9 zyggLr?-t)nR{EA4AYE2E`Y@b|K_v(Pp^6Oa?E&-%9RNm&2~Ulj6jzdWp>FuUwBoI_ z+DJudkf{Mx#=x5{>i3xhJ&G^}+d| zmkreMrFQ$kyOS82cqC2Fl6>F!8k*8ApXz?-*FbPdzx&}IAbsvB*sxmX!jkG_?BRzMd_Q6_3IBucY4$Z8eT=kLJdNM2>|-Q^@4<_?Qae zfIM_5pic6DjyZik)7jK+p100($$@%DH#{rvGxDw4MLRp#>g!a`EdDq*M<=)*2jIA_ zB!BAOdXXCo@hsSVQ5e{hAs@Ri!^s@k8yXT4;9&7D(x47ia=HwY?#rk?UbUWwu=_zw zxIp=EKIZO%R?tw2@D124*C-2b0_1_guok8)bwcCQE>$b!!i265RS1qe#;a2a`svZP zR(m(dnREO^<(U^!M6lln+CW-+!R*&O}K_8jVjNNjq0bOI1aZlgzTw&K~n|pwL3MCuzCa&37PY%JSV?=;&b4`GtL*nZ0qK9G&TylTWo5gzP~l1O=d#9#WGETnsOMlMlUnDx7vHFGca{WA4t z#naa}-Q5V*&Siq8zsnvpYa&B%ignoPR87**9r?ft0A?{P`i9|rIe~A0)$vd|n#qgX z|3^VWCviu0d@@Q_6!2yu`1LW~uyIdMZuSkl0N6ySF9$aqB*qoi+afvRt3qpl62CmH z?8;ei!gKWZG#%}W5Al{BA?kxp2RKp3AaOeBKR6v08xsp{H+0$9&Cua2Lpj%|aHB{1 z!9VqkjM#{D+Z`U(U)4nfjWs=TfaSBi+{(E8$sA&0*JNk+ ze;n)l=?j`Nw;?tpqxfFvPsZzvOX;f;Ij)%Dv*fLQQK9Lr+A`95HWQ_qxJ5K?EGZ0| z3aV>-d-7oG(Uex8d|)5ScpzhGNa`eBlF#>@iza4PT>139oO!Bob+( z&~cr>GI4|DZS!fn`usy56?ur=Ie2G}0l@6OU`zAoYVQnaHN(3+6$Z><4L5W+y%vG@ zoO%AKG^#3%`j37$;OjSXWV0_|U6>p{w`s+%$N)=0Jgm;1w9D#~1!#G5A2XVycHO!} zVZ1rD5P@VE$L3j>k86i5bEljk!9T~?{-*DcF}@HvAy=u$n zTYaXVHW~%wjgeay>yq_PdT+6vs43aF_!wYv<>;AKhQIYd?Hj-(iw-}Veg(5j){h=BXB!MHhYf%w79 zX{_w5PYPU-2Qhi@XYR_UXbal?E!y|h&9DyE`BOJ>9q_~lx4_+e20d;s&zIe^CdXix z>ds%*u!gd~r4-2|EgwIYjfSUs=O;h`yz*%vBer`?MZ8k^%uiBhAfEEE1jzCacNSV%20}N()X$4r3ptQ*ZIjLv zcTv@Ed-pbZ-t_GKTZm+q?ZkKp>$`Z$f)oK~`+nfMl#jy%GBlGTW8?(Ixv7C5?b2j? z(Smz%=qok3TJ+$@zab5x89#qa>CQQ50d@FJx;a{32Okr-OPIH=o4PF;WI2)ZF{ha= zk}$cw6U-b0HA}MRFpLja4|!0}Q`4&#C|PECNTUon{>@C+X2LB`)U4>H)XGq$8xdj2 z1GxbVf)|w&!**h$X>(2n-cE0+#By@al=b%4M4Y$pF`$zF!gFtkS1{{qsTRmF%ZSh3 zBRTbU%HHbVt#sjMQo>^T9z**>7NsDYtWz@BXwLl%uTw2?-X{N<>fv(;%3aZI{BFJt zB&3~hRQiKg`EIYtg|)Sxm@YOU9W|(shx41 z{Z#o}O(~&5xBScy71E>{NpVO_E%CrPfqO7r<%nPI;@IKBjtQEFwP-vaqcN79s#z(B zGJ=FBb+!S3yjyZqFaH@V9oybPtr^UH8BJA_&6NsYI~Vzt;b2!?9oBDVH<2d9hkMA3 z`rwcyXxW~-;dw|fZyk#jF*`J*{ws={2sL@~xE(e!9<*NXO5$;o{TsKdoQQ7HxF*v;}z^ERfMmU9o~Bw$T%S)`^)AB;51 z)}nufBF+(M=ANq&(Y2_=Iw_#e@k=!nX*J1o6#@R1C^KD}G1!que1rbai%bm|tZo5* zS?J_VAeeuvxO-9L&9oiwoH>er)ka1Rj8vZQ?(LxK)L<$J30AyvOg?JOE@GQ>Ovr#_ zlLtQ~=mj4O!nr z%ksA@cA z;P2FT`7NA5T!Tv8Q`}q@2NFK!D1EBqOrwhALRRzj2@w8mAC^5c)1c{?J#rC}#t*s= z@nCj#8x6`T?W1fK3 z2q@kAV^LRKPQ!YR_;aOlktV(R90>SF;1{K!(Rdj&pPhFh9i8;Im(2L+hie3`cm(gw z16)@&&pKTOZ^I%({VlU_-@x>Kz2CIHt$~vwp{XraQq&f-9nZK2Z#U(7Pbp|79MT-@Ysmdc9r5UpR@(ndx0-%ap&JWC5?`(nK zv8I;I;xkqJ2P*l<=M8>GhodFxTiWWXkQ6c6M81yC?4J!sO)?C|A2~hdd`;hB1aUv3 zWW=Q^qD4rGns(ByZ{(Kc$(Dn3yHp3vSL=dNyvq+=u(j*l6xv7LIoLXhJTn~fs%Tul z(t-|gZkGHCXs<{`WdolDAImW7(D2LlQF8?k=(~FbW7EiK$z~Fq6Sf|3kMn}I1vXI4DrQFLgue!V^Y zN2}^UUG0(Nspn?fafLAsyJlu^0;k_x!{-G(&K3D(CP&e<4|0&^4%|0yJdcc8X3~H& zYM89ESjWPz601uj1QMUF$p8@&^!EtO?k<~J@}C2}+FK}jwi`_C!w^7yrO z$t6z%T>k;Iqo1cl7MaM}(S-sGO{`WQm&~`QEu-a^iW#i6HQ<;b!#t?2xRQp*%o=Ct z{WgsT^_q`J^ge)g;33wd!6~6OG)(l=dkBN0lToUY=S$^kp8DvHp|0p}ygqN%A@?Tq zyJ=VfBAbLc+W3ga#8fJ!#i8OS%hQ&`j(A-217zCGeqH@o#E{kOt3v8d5zqM6BtB1Y`p>9algXZlag>s&ge&mtze)N%BBzn13b z-hRjvpe~7N^BEfB$%+_(p`!QHuTixRnZhqS2}ZX5G{1Gy8r~jbwG0%9U{2yJ&;P@lMQ4P206$6H?h-)ZT!+bM3i>{ON z!dPEN=85O@r$~PMQ_~J)8J>Jn930v=#hdE6rXMM`Qz)rd-`dM`Or43KKhi;dy%u*!he??96ih%Qz7<<4d2x^xsZZnHe`x$cDUh#hp z!MTS5+Q9p<%;e>~e}Ldv)bZuOfn+TvOLEy0pR!0>_e%4hPCQOgM^RF>;0f+vvOAP& zY){wB>xw+g#E`(4ct$ddkqO$hsCrjMh}Ro-H%tMi5k6PMYfb8YW(QC)q?*DMPzvr! zjCWzT=4yo_Pj%)I;<(ngRVs1oL~Syey>+}2R6YDA772{iduH%Q`DHv^Ekz_CfS>bh zf{wtF^UalWu*=Q)T4n^Z_d?EK=_Fn)?K!0lHJ)6-6+=Q_}%&%3!SL# z6mB06gB`o?;hqWz)VaS+d{z8Nr9mk*-uj2L+4=sn#yXpEZ;06A01%?Y z6W4%-nhF@EH=BWp0V8%n+yf@-#DiZGY{57%68Og1jEebe#Z4ilQfJP~P31tzREmHB zcZfrT)6A`GEiyP<(i)`Y$U^c8&fi8NR6F)rB z%oFy}jPi;`CQf1g@Zb+8r|pA~0*>v`G~h0LBJrDAd$xV;P7_{J!^R?;fz=AAr{d?u z<#ez}#xuin3gRi{A0Y2#`!9V~(XPI?o>xegYc%P{+1<_oIm#TZ!x`YrbgDhXy}VA# z?Y2gy@8_}4aNS%Z`+dP3IpT(WY(_7B&o;&{*7;%+4Rnp3sym#(O4!ZlU9t4%?}kRZ zpzjQwblpt7uVL-Xtf^nF2$?9#&CL>&{s*8eH(X*Gw_qA_d!?0*W-ou%NgD<}@MyO^ zEh$W4NQ1W8CuEd{qj+*ouojrbK>*R-<N}6i;^b3@%&mVLE+zdI|8t{Zn_3LTx9!!7vziPyQ`%ao;xT00Y>;Q z{O%inw!X-IS);LGlPY4|xl~ZP%MT-Hk0yV$n=}Pv4ifulEV2Lw*UlS%t78{)x44rQ zfWia+YW@b<4URfo=5>ZyT62kf0EzRfGte-p}j}#tZRfM~yyx+7)NuiKa86(_a{^HmirWU*n^RK$ICla!K*%JhghPtfjI-vn**`3ouk z_}mg_c4nYfd@#Rm@p;FQtBF=PSUAV&E$9RX--AtpIg5yGm~$UFpqqTP{S6;@cxuqX z<>dWFDt%{mYZ?Z``>*GZ&J966QBitffiURc$OV)+a748^RC{7Qj}XPmGnndHVrHT7 zwRffC)}M`l_#za^^x;B^{Y1?VPcA?Uiji3N=4*y`5{r1b9ACjcw&lqK9RlkCq?eXY zpCE0t!4~zl1w4H6HOBHpIlw)XIWsbw zK=EF-)LJHsh1Vm2&TZ|g4{P!CQc@W*)Ptjxx()+F_vK%eX_`+jH3_>v;+9Z*rKgvl zmzH;g-?SUCcY9s&-|-<3?HL2V8VUqRxP1iG1nB%J$YUk{W^OPt4@!MX_6C~R1L1h-*xqHF zim?dz6X|a&j~bpL_QaL-;>%mkf%axASXW_>if%Y|sOz|{9woxtx|D4tu?kyRy`TSK ziLc!MvR5XeL@pxAreibx8K674O177PP3i}neT*Vpw2p%T*&l;`VVG&!Vfop+7mGGQ z6lUl9A=3{8Y~#DT4wv~pKFlb@+`Iy6ORWwL@@lEQmv_nDQM31?BduQsbcN{-*UcyF{E_7ir`WJZWvzTrfh6gFb%6CVlCvet$pWOLFFWO zI%R=>9sclEi-XFOh^kjg^)Y<79Lu++wFy;%lWt_x->3S#UQ>>`dlUBUh6@jApyU@Z zf%D%(TQ6cHoY1o1oB}GRKDKF}wGI1Ans$RrvuG-Ag-mhY4er1kid>sVX5HFDK;6x| ziW&szq-fHY#U2!cLlBy^+4Ls#{WrA?jB0GYYl!ydnPE``%MepYNXq1d0B2rkKL=7z zf71I<_N**v#WJUmPYR|Ds{&1A;53K(1>?$crum!oC72A$s#UNF%PbwG_hn<^L5SJK=TMM?GtUL9F;!|i*F4qF?eO$U zXjZ3XcDDv>u`>zKzC&05P&-CU+6l~0z6=UVI#f3y=0C+fRUW8fQxu7>Qgm|H_grs# zKbx8t#1L9SDDJ-t?mNB>ZF`_33~fXL`j+n5x2SIh*6AwGl(PO@=*YQELWgj!BIsE) z`lWnCg3rCJl)^_*37=+1Cc?Jf@vWL4X980RWl^bC4_YRLRP6PuC=bS#5$z#gFOc)W~91hI*4H- zzgF)80Q*mQ8HoDoPkDoaHWt)AQWKrqb1O|pL@&-zuqp7CG85HE3O zU~UXaaKoG}L4B9;gd6b*^VqnorBHge{X>@(7d$@QB@*e@9@m?)6e3gYxFL%l}nhapIauIV3d~$owQVP|8{{CbmZiGtwQkZ zoIB{~M)+$ZuZp>x`C9A%4kr1rXZ>hpB`oz1yoyqM4sp|5SS+Rrmnb}UWJrA=5o=CI z$ex8@70SZCs`!Wy8nHJ;*+ok_-YM36SU~N!Tx1AZ33oq!Oq6!KJVCwN87gz()@pWp zWX(0x&1ZI9D@2KALeezC-4!GRd=XkAXcr^WV*kKLgvG7=^vN}4VpX17#VVAOwmii! z&;couOs-IJf{Seh{d*$$<8m-g0rp&7ra0BdicGtYg*G&H%*4V_B{FPLS^#bJ_bn}w zs|ODq#MOzGo;jaYZI_?9e-|}UCy9zW>y!D$!rG|$sC8_;O&RaB`}yM(l5Kbo4adhiYl~U>^6bN~{4qx^Qsl6?EfNm7FhyHt+Hyz607=$`(2&l{QxxN!6X|vGLxd)4Jsu6HItBzAr z$rg|QuDs)^vhbtjFTDmPfZ%y+h00j*}PWlA(@xt!I0tcwW_YHj9MYeu;3?G z4smZYAfTaQ$P)B{mc37mN)b$4!lbxDL!A3ki*t>daSwa1f;K{@j`@}LmC-y;T)lV0 zmQF=>P1`qGEggdWXio9`)mM(e89or$*1J%ZdIQheC`M_WfFHy6e?OkFv5tv|a*$Gr z>0bB>Rg-9MmyPDHk>MwFYNt3uj$z%>oQ-6@+fQGfa``2pzVy zq7cjc1>UPLaY?z!4S(yFDjCM9Lzxhfk;{@J=iDlY%&SI~g@DlhO=Mks*RHFuF?k{5FEBb=MamWp}?Yy-Bz(R z7jvWG%~bgJi~@>XZt{<7vLe!}*Ejp?4aXI2EuQFahnb{&v`Fd%)=OPoN}5k#olj0d z)WVstFquhF#xz!JC-{X^;1T0MG?Iw22F_XLTBQT=@YouGhI!WqP6*eF&Cj(TKUvAb z1gu5W7z5V@_?_e!J~UsV^zIrsF<0ult0#^(UST4stG~#En*@_SKhmDs+_j6b3rB(I)o|gCVt$~ZX zF~MbtF3wSuCTII#9a5MS4?1XydXxiAtKGI14Zk-zGox^6<>me z;&Pgg9kvT!zZ1W|2p!4*#0`!(ezFvftCP6<)>J5$WtO><-^x0)ectk;=^IqE&JD21 znT^%lQ2MUe9=4_e9d$j3_524R#F9C?n-5s7D96~l97aF>MC@& ztG{q+ZhKF6_+N*)jqnox_xxi}I=(+&Dp(DYEh*n>rb@7HC5FV0N1Ex2<|nGrSg_i| zI_$|#iXr;T%AdpXtoNO*!+WMis z=YUO_hcLvv_x5%e8r$l`w}5}~@O}{bND~ii4;kYJGQGRqA3|=*{@LjkUTymMys+7M zUpvgH5u@s5W!KIp9@Y2b{Td%pJO}aRo&bxJ8U=<(gsM{3G0z;VE9^~o=m>Sqaf;~g z__G)Kq0;+!f$w)DV`^900@4QLNxSe~WmYah&d?t`*>p!!1fg{k?&JWjSBgVFqFlm#R%Z!-|7M82kKPWO3B{no~)tYo1$ zr$1=Yn4e7bU)F~ZZ%x;WN1>bs=qZguuN~vu;xDHnMI@FlUom}1rF@kELAMRS;1rt2 zUq7id?o@W<@ z(d;Bqx+DC-H!EmUkB8EgCrSD(@4l&XG+nV>b<58VHMh;S$u8^PHP3FLoS2!%-eTbf zR^v-sOW;-Ua66v{;Eh{GJJ|X`w*1h`7kJg-RUx9#v3&0zlZ+{qSsVZ~E%V_|J-soT zU>W{KCl$CgPsOJ0-1>-cgF%_{t&EjY8yY-yJbm-?vfY z#n?{9Erh1_+bcZw*jU#3h|zzOHvdf{H4d$EF8z@*JpodvS^!2H2d0OyiqsY$D6R5?@FjLemhlbsamrV-;c?s1{nTgr?x37s<(wK+$y?saV z-*f9^pnl|!$zb{J%K#GW6`1hBFReP16#}2vUw+3ws*p8?___kz%lrQUU=0kKzWxc# z$jh>JFu0A)&m$$aek=@wD%>|K1>q76UM%szFAXYuAj0G|NVfN{GRAXR>vr1nP}d^s z&$D(4nHttGcnr0xa2HY4%{iZi?+ruC^i;fv6l!!@Jm$9jCm&q2F{mH+lvKfT-IN#p zDh^Vmd5R&}BIk^66=xi^c4UER0;y zUHkTZW%kb|iMF!Lw5iLbW~V_iSBh3I9a@QTGQHc_==)44wJmOON;~tFF!}wp*UGq0 zZ!@v*TcZ0{R0W*t`3WsIC#x_>AX{c+>TJZir%#XHks8v1bF!HH_*4lX-F?w!TOFX& zzFW;!-511w^1i@y<=L~CR0w6C5*w>sX0`iF%|CBW9C& zWyVIP8J?+PHF_XwLd@}5R3zGx1T4vAKl(+)4>CDoI1=Ix=<_@{f`K^Tq3X0A zq)RSd9xA&*UYh;zz~Ah=iHhp|Qti@0Ji+K94Au)|@0B}9+87y{oKV4|-b)J*reyLf z?^d-4@hI<-oy~MNIaJ?L9qRj`xEZp`EUcNI?T^+sGCkVQ4m>)?c*2%Adtw`6KHpQ> zM#QlmHUzK`VSHMsG_(DbhyWnuC;pLC=y`Way;0|EN_DJMv#YTy%>(CNoY!K$Wh;{X zqJ21hMOK@cPlnADUw+4Ca}}{A@i#fs$qiTkN&37B3%ueM4OjFl}}< zrM~I=Q|W=4z|V|^JcMMAVR1MAc%lLr!}OpYe|(319Dq*tf9N_3uPEbg-w!PyN_R7W zgmg(uhop2#hcKjccMjd%T|;-*P|_U&Lx-f&o;hpXb?;g0zUO~<*6-PSf8)bgPuNFZS4bi(jp- z>l1#P)3JhA(2~q3?^h(>U)slfjlGJYJWI!crurF(bRxq1HS|7;-2C>HB_ob3Iw{VM z+!bnJIFx1i;GBWyzVxpL)g~62-@movUGu~^jEzJzf7GR0w*oa{UZ;GyY5$_ z!iRp@(sBICfVc-ogIsuZ#mfEx?mOWff-Al0uWQe7WH1?qX|6q> zk8tAqZm9^-)l}={u}GTuDog|mvbqwRmZy)dvt|<+An|B7chJo=zn-e zmDv9fH+tQ!Y!!D%vYSAKt3!u~L~`YAX^ysbrdo2gUJ2@HsnbqPyBs!DZaMRDV8lzz z_PVjbs3S{BU|^(TPasv{Q2>A7MBU0q$40dPBpKUdby;-uw$EwYAc)h4m#%%jIgZPx<2!}771{+e>{$>Jqn#!hyB zMsxL$9DN_}KBGt2Gh+8=-`LnM7?uZZJRO^)ECje|3zFx9Q1mrF%@swf1azcZ_>T*S zTJ3G*Y6;2m0o74Cii?K#BLgv>%-khi#pcdLOOtAH>5#N42ZWbYXXKD2b=HnH7vf$* z8AWAa2IRqwvV@9|6#tfL=?TnZmzuubM>UHTi(DO@txtPha%CfAAgINe>)gw*Vx_|t zTE7@o_~i7jPe#@U#|GkGPTIH6gbP;etqU;U4I*5PRTyD0MwAC<%QE`Ox7tC)-{CxNb%CwQ62 zMXF6QSK)&O-x4!SH?--l=CrfMYp96D<||{hBbN_Z&b|K_{o${J8_$jZX1>5U=>pr% zq+&MHn9?8go$WEoQJNWEh|081*5I{6Znh0gx$=|Gie#89bVTelbJmS%WN#-6OgMQg z#wU3Dk#RdvTDD$3)MznibWIYh%_mJYeyQi)`AI7<6eB}^d@cew`2mcE-&;(6Tz!+W z)#@S{+xhhMe($e5e=}`dg|S_w_=UIE!mNv0i{1nn>Uh03Ud?%}Wka~k0#w1%n?tIM z7jL#+J|Du(gf#7CveBJ!xj??LX+cvgqY35Iwd1VW2CU>0u+Ah21izL1);|q3-+Ei! zjr#B{;n2CAJXT{z>g$jc@oY}~IcepYI1=)5dG|=^9p6@V!SYvKZg%3~kytrP%_K^< z$P#gW0%Ky{RUctz)x2x;!e z)<}_Tsqi{SsU*Y^vH)=g-wKqMr-CKI&75_!s>n`kG5OYbs@X7Hn3}v}cZ)wRV4{32 z0D8e`Ez~^I7pmMkLwp5yfJAm>StQn6+RonRx*nL$-+HP?)g^l57&|&Ri98Y0l`2Q# zuP4a>##74h(x}tjayMU%CJh(rl9t=Yh31i@NmY&!e2oTS!epguIn^AUDE>AKvD ztbX*7*uFBNq9_?R5grqf!1S}d{+mx4L!1x#0g>u3M^Dp;82z(bUg$U1-CV~w*|U~&5AiLj3r^_0DOwNjUY04bq( zD%yDP3eMK%Ns!#AYv%6bQ~Hab1`m%L$GdYj)LyWrY5R9+MpeS=c(%$`6WIvz%VR&tK|CTVO)s2Dlg%U`;(bNGDM<>q$QTN{@wH?cxd4#DxSA*{1FA#j8mSTZOZ`BOxPhIxLOoGjlN+}+cH z*R<;n6n`etVv|!vExqG!&}?js_?FhDohbT6y+1*idtgTCEtvfNg0F)skwjN1f;w8~ zgt;nnOg|xi>$D!3uekZH_4znr@gE>-Co6pSs%#fH4ueoJxo`nABR1 zi2I6g^iA6eWRyJpK|Y@NH*T6m%WPA{qjq#1>^bjc{X5(hIaHb1+xybHaNf;ZqcD-` zX+9^jFYFj0E>7{8l_Xs2?~mRRZ=BzZWTZq?Dt)(=5`sfaq{nMp$sGZERrtCHtUx}u zWyuYy8dXe*Qtmc;OL|Qm9NV=avd67Ec|2gclW^XTnj~a2N}_ZYh^R!!dr}=TNcZsL zl6zy7(OE~~8&-wd!S3$D!LKg)RpA=N353QZ5sg@YBmZ#2kLsLX)Y8-AM_M~DH{uNK z1Q&rcfOwSx!Ay>kA2#+uyRhxn5(Q(T?(nZG`VR<_;)K+k%@?j>=Uz1VyS(J)THVq}m(5WPq-5g9pXN%vRUZ;G^vNTovTJD6L z%g7xwl*HrW!+o7F70RRIguYEYm_+*zU`3sR<`HvRe>B)_;iU%^6!-^Fkw~)mQY6K| zNqOa}@!Q$2!%M5H`ja`Hlf_^ZD{NvfR->W65m!2;2wP4EhdxbqZg*7aJ4kDnYWW32 zxi_-;Ui&<5yvH~0r-hFTI4O~ec(?T6VJM>9THwsqvy3L9O{p)Qx7o8-?71f{+-vDv z^Q={``e5T9KoazgWUY4Vy-2D^wPu8RzW$4lb`|bbe`uOE5`Rx>J(5v(`4?GN>S)Aw znPAyN$vzxr@&BU_%>3U{ssB8+7Ypg?&unEn4o#tLjIB(8^8<6tt&_3L#rs4ry2+!B z7OR%Jq9ooF+QchNAoBiI?$6K&P&&(Ry)Ik|rB&za%utF`G`OWwU`e6#AlKCsFv7Ru z9M>!pA2kbn&TcOCYckb38}1vy@qHyI4Q3pT8r+U@b64O|c;21D3P; zvz68iw@akT59dG*<=H!JdfUF0DV~w z6W9OROCE|ej)}K*NGT-;*RoJsFtj!*hT?p6U|yna>j22i@R&D2>e48 zsasvWE{P}sp?&dwQ4R{{!lWDFLy)6Rd}DFJ+uXYq1tY`9v~MX1%ThXDHrgspsi3ZA z{uI?S^9DZqhS*fhE2wsWGuf|o8+Oc`uE#9<2UB&Oa0lfX*I}l81{>vqnZw71Pt_^w z*ou3Gn{yv#OWchKQ5GPk(kZM;zm6YXRdzcm;7zXPI% z6VCo0Qra5hhF~|$S5EhrIN+E@wyBayu*D+gdq?BVcP+J3WZvtdU)<)1W*#yBeghA` z^xvnVO>#Yanf#gKqAO>)YW6wI0+uYN31| z?dcGCW8glPw)=bZ<&cr#i$_H`{;YXedijUSDF<^;BHFQEsF>rO zW{uf^r%XAz*H;msm20|`4~m!+eW+ye&5v8VIlF?jpZ)J=)&t0 zrw+ccx?qnAz)JA;c{qd6S@-wNk1pH|n)^l2`FWT1JAd^r*Q%L~`7O)C9pWncd1SCl z&u#D?x%JH!;pe0%X9Q0BC<$WST5uDE!@6Eg2aUYopJ|dq1EgG`l+k#;->o?$)jv#G z{{Ze7^XmkOVwG#vPJ20T_(@_YnTn!x`S+lu2_NV+^$kM^ZMVBYUZwjV!Yp(=lctjnpuCw#!_iGcJR|bNKm?=qyALk2rHLLdmah;7Aq@f`!+${%SFDw)&Tu;TEb7)dQ zSgj^ShrvFnH0(Ffx#ZK=71WZ*KyeOyWx%w?MCAW%t-VtnDptw^% zYpLPw?y3w=kvp;KC^3!czG3t!m8{Q)kZFyc*qkY}*HX12R(ElWyp1pJG3|AO)This zHJ#ai*xJ?^bu-&o)~sPRJE7)*A4DzrcsA_$X_C;$a%W!-a68`=TesqOu!Wm2^ljJJ zweY6?nmVnzl;0QqObxq^CDc0t5Axg0 zb#f}vt52WE{Y3)DMn+gCKkY*0_YnDFt+NFi;1%hBV1pFr`CCD~{u42lgRBEQXM=-p z%#F_ElZjT>tL)(BYp%i0@%3si5;izS$$QbT27Kp3a%$-Koa-@j&1Gip%ok}YPl&$K z;9v>XX)XeC5}wGU)t^e#Wb=+9xm7-qZ*ezv;p0p*W;i!=iM2v!0(lHTiawo|$?JHK|3 z0sY!V`JFN|tYeS|%COWka}|U@SGwbEQxj^X|5CTns*zzhwQqTiNvJHtM#!?eHyGK7 ziyxRb!uLRd4}kkzA7xJDmr9{SV6nD|tdTyCmkYj7TZFqd{^Ru$i{ysr8zf*B8SdwK zCqlI2=L&jZti~*#*y#31&6cHl2vW%l3P#^3)yFX0t1*1Dj8sodW;_^r!%ooeb=zZa zqeidOm14>DZas;C6N%7e<%5NCww5}O>L^s&RZx&~qxsQ(=8N{) zT%;C98_05DOPRy&6`CE331_JGKl!YFifpKt{H4hMc6NY-5h{T=vcJj-E@y3}j?J-! z&vsfVBBt9acRV$mtOc%Q5pU5H6OKz9rr%Br=D)DYVHuAqCP+*m6=Q*luy{^vmT9qz zqfc$WeU;A_d_!$7)PE%Vs52Ld@N5t|lFOtltjj|14*=o1hzUcc7*x@ZV$D*m7aTBi zn!F_7q#~=Tj;5YXE;;*r^3lsp{vH>EF^(IldrkjdI0VYHL7WOw8k;-#J2O{TNJhHF z2O} z+6F$5^7RzIdtnBRVW2MQ>n3fm3cg^yK|yxcHV3CmwWb6BKkxyveh`(V#Hj+sBF!53 z6XaxA?fJ(1RUxPMb727>{o5dv&~sm*+cR4!2Hnf9@6HcpI1j9%Ko6@7=f;g<;4qos zaJy#pHNje@4upu>R_FKnlWh}!F44^+ZL@Y`Ao(Fd-heZSffZ96C7&DX9I%iCS7&;O z*~eLGimdjR-I$yR_@ma#IE(g^9wu8YMv3Z9wG@anl|CKZ=SKAVh$$k064>aWL%e4Y z<}q9Bs!Ga164>5$!V2fqC_|mmkV9P)_9W=w~LDg zy?!&$Jn5~73Ry3*v4vx26{1;0F(lM}!#>)+tHg?JAw^nR_#{XCN6?JHh-6w9*k_~G zFh_(=C*9`oX0jFu#}WOj*~(m}4G%G~7MRp^#bN^vbSD(~EZUo+mySoqT1efa%~t0` z&>gh5;dM9T_Iz7$jU+{8U^J>win#M3u}H39PXcqu9tq$t-_mhg;Tk|cm6eth85hZ* zac%sI$WB;0A@{?VNzC+xoT{$CjzM+a0_FoE8rCrMc3|+_K{hqTmX4nKw8Xg*yx9uy z_+CMU`V$!%CXNZ^;l@1n4?@I|1*>?M_={J5>TluCQqv zXNN2e#zn5mQmYgS_)$COdMWvC={_y4Vz#7N%X4G$Vm&92vF>TPKpKeM3&IVh zpNhxdaj}myFEe~1d;Md?9l9=%eV5j)@)c{or4>3`rP{^KlV=B%^`j^5>>%96CO{rM3L3>YMX2bTKAO1dv@sKq(?#Pl*GZ6fPsG@U-raJq# zt6<&dxuF@P{y@}gyZYXkr&^g*!hB?dnm&5BpwA~l?sujA7)pnVIy&FI+#t>Pcz3|o zbg97B`@SxOxF)vNH8C>ybvl2S?azkRx($rsQV7}*X#lw zIav4tSDpYRvQy_>Ys2xvqedSrCu!iCm}(CO<7C*Q+2h!wA3|tlBm1`=7u-3 zvX`@_a+zHQhYd_9>%tDXxUAyD!Z`4Cs3XldCK)Z)X_6a*f`;9qlRDa)?YjTmH9VQ+ zxyVWDfq;l^6{f|3>kIz?zxBUpv*A$4huoKNG#2Qr)ZVpgEiEIvJuV0sB-VD=uZO1?e7d@PEi41_yD$z;xh- z!j5=7SAE)4#sc6Ai_vBN)G|ZSPCenz;Y{={;j|63fw*EnDdX2abkfu|TaVgW(RwYa z*Cs8vR(El5&7;>wl6*KZWLrALlB zMc9Scx#FjgUCsxwKLX7st(zJJ*FGpuqfcJFmsQMdx3P-S?o# z4M=Ao=}3mbQ-fYc&9C-#$G3d=v>R$wqok5HY*hAsKL`2m2wfExQ z+9~FTl_Dr1QUS7o@MGXAWLJri!BouW*gaCSH3>iS+)|J?uShcYUEva-e$gzd(7X?|G<4IZ%*rw*g(ZVYaC^S(j9f4g5-15Yx{2(+(tfrc3 zVhUSd_b>|!#;VKqwr{{-@XrG->b{kKfE|eW-mW~?`~abJu7M$*1q_4ut`ViVYPRIm z<2(+HuBa+WXu@yNncR(hBOT_1Y$f=`hxJp5b+j=3>H%2cHAEFZ9P)Nu`mWl|hc}v) z>-3rmt^Aqs-8+>%pD()G_^^kwhs-bbVo1nSusmK8^D9}RsLymBP*b9f*0;XzMK?Qc zHMgduJ(-2tDiU7C@5@+*FT40BEOuSW?nj|q2P!ew?VY;C#OqS^c+Cpu{JnK1B}8@K z|0t{d=%_mJxf7Kc2@x+NxtLrxNbFBfrhNq92bSsWHfIXjLao9lJWOFm<|J@qRgj7R zN=imB3GR^YYfs3+>FT1mUUzo91@bR?iRi6Y#VwrzW2sh(L`+gWbKr^7T|+eaTBfzgdB_@h1kkBB6ZqV=PbE)eE1(UqyymuyTT9|Ff;d(}6#~_WVg}H#2TR zI`?oAkaVHfV_sRgoxZkH&A8)2EEYp!3m!Pbu{Ycq+1%)mvn5T!M%3d9zWEm>Hzh1* zy)P>cxrvu;iB67+wB#sRjFYoR_~FUSSUPyVMJju`&+Z_N=>0mCBh8&IY>nD4xmwX% z_{_3YcUf6F`t7w~PsNq#88F%=?64mdRmXvyGFMnwyP@fOtF!xeJ6FED+E(*>PABLQ zhu^l3j?*^LgcwKv$oPT4*;$W*Pqtm^6Zs0sqyX+Px&2&riY88n_h)}6LSE>rEU4+b zKCgCTcFE5h1T zzMXaM;2j%%a5NK5z;IKl1-J-^(AK)=U*q}_tj}f^OjN6OM4on`?9U&a6i!9S$*~3J z4<^vrB@#8JU(?fh$9?EXwC`9s)$D|=)-uQ~7ga$+lVS%(_ZD~Ta8hF$WYIEZpjj7+ z%;hm*D(9d^y`c-LG}=nV`y@Zzh;gQjB-Se_Ra%O+xlV;M)EJU8B)z}Kb5WbElb?%} zHSkp;qAEncSQMrh0Ai2>LjNQxWWCFgDcrrA&J4Bn{HS6IDU{Zk-sdvNP{l-PKDYes zy;a)Crr<;K0esOAVu3Q)+{a?}=oRdLSBWR_x+TBMJp|sBfIt}r;0(Udk8?02lZDf- z0)a72sI0*Vt`@oqoQ~?h_zD6cM1_pBS9H!PAn`X)|L?&YTSI@Ve)y~?%yAkMq}j0k z0IUQE9zQHde6Xu6N&P!>`r2CQqkt^~Nrm%Ni;vdje&-8rUll*`{<%&&!J>GwN}vdl z8pSk{*T6+>A+le7oZV#Pe)b|*Tn`MQZEcB&2uK^UjbQpUF11`xLF?)Lmu$NiTQn<^^&)nc1;Ke?5+QUt)%t z(mbG09JD<5xDp_3f4ZJ5bx*eL2oQ|zg@>gCDVDG^hEKHCm4=((aIG34$-_(Zu>4i$ zZFac75w5Ly$UMtP9R;di$B- z7f4&sx%4+l3NB*$RO+KAl6YaSDxEvD)3wgUP9`qbK>BoDNkag=>MinJg}*f?VMCB$ z?ClaV5FmSUX0IYCY5W02JSHoopnDD6Qs3O0LsKB4GzJLv%k8cxr8$sGl(yWs+#p{UFbS;dVbN`gK)oR1pn!=OK*k7S!rL3 z+w+OFEZ??O*Hv{_nXkFJ#8L|Q4KoJyNQDx!x_HJ{HgX{ABwXl|{Seez1eJasikTcW zMjThfB3dhac}kEDqa8=0$UMG(KM*Sg3;@}u-W`8ORgMyA`}7GjiIfXJW)D{?ktHh? zafwDDwzQWr=X)t6gXco?Cnrv5&pN}hBY14swCNRsF ziBbF{9@QR=n24Xvs^GKr&-HfAl;c~mqAN{RY&Ina7#_$rG6eMscDOuBs=yj3+uASxX$pQ zwCATNixbpIm*U@ub0S0ryVm-Ov1m;QY8^KjHg8pezH*+M(8;%P61@ZP+xMODh)n%x zn#~;R(?qC6p!QaXcNG!4D-OU;;U^^{dqu0esuV|iO0&iF0-%*p3!vANwPblO;9UR~ z0{cyu`S|W$dBqiI?b25wCS)Tp6Z1i_d?1H1HxS$RZ`8E2JP!1It}ND|3RGD0YbM6> z5<--2iWyi<7bp}0?$~Lb0SM~&+A3U0Jx_G?SF6>{+BU(Dbo=(EfmHu8pnXF1B_!JaVo|eO0<&?*f^R* zmnD-~B8^>S|7JyZ{w7MJ5{$92sT45x+LJQ#K>OK^8^P4wTLZ~&N*To`P!z`2-#A#3#28%;;yMCC#n+i@GKKEOaJy&Gv3d1$UxweL%S= zj32DoES02TYR}XB`+oi$5!tL=9woB-aqTszLOM*(Orh~2%!Rv4fi7sugt&Ks?7cYC z;-bQ?LFC$0d_$p~O-bY?soX|bA|Em*siA%WsYY8`{54l)=H_r;8_|p2Kft>?6kJ*+ zH|@7WB}K+|{9ZZmwt*DJ9k8E|ec=)WZ@MG-5D%4u9yK~zu0^GhTJJ_}@Nv;8noj2`ms}sm z5}~YJu?b`5{{YP`oMdE)g-;5xeLt!-ja#9fm@E;K-1R>4vrc8UQh~&c4z_&z)azx- z$IcHD$|Ov}(@>srEnRsBx^GY6T5P&;hh8kImJ`uo78s|ob47}z6veB-_Lwd+NFesD z3Pz^hva1V*pVq&S{V9`nd+Eof2l5b2GDInL_k&A$?aIO)9r53C3`pBw)PH;c+RjLEC0&@O`w;I9C zp)W()kUF3C>uI6yqOUu$R8Qwul-jWDJg7%q?2X@Bhq$;Hm_>DlE=Q*XXM(!Yy2xJ# znxsY0_lwS&swL67ncYgSGapHK^I9*YZM%7!XkHQ_24+YGyy*;TjkClR6WHY0TYnPxGOzz}56{Ejq2d}AF-X7BWJL)COMS-It%WbMKZ<`V(l4`*&DkDV z!dm*dYJ&cv!XB}GSr{#}&rj5)dkLoHhli8MRaiffs8y2exdA}FYXM8gj`l)Jw`-?) zKtYCUU!=>8xEobx+}&q=#>C*zC?jo_@Zf|Dh|?uw6uCdCJ+5Hq7oX7Qz}j_Cer;Y* zot|ss#oUDdz^7LAMoe7av?(8{x^7^^H4hp zPNdrISSEGbwXl||L@L(zc5@wl{wQQ@XV ztevi*ONIL9%diX|a0RlU6SoV}(Y3-%l1_jw-8VE$2Fc~}=(IrG6gjz=nga*{f0wVS zH@B^?PG2xi-*gY&AM!#k4eFp*0%2)ka4^9Dtg(Q(0(terE&*pMt4}T;KjJc)n%BrS zzsm2AY_r}>a)PGvU8Ve}&svU*RT1Yz38DdQaQRr;1}{^txwkk$cd{8iBYXs za0u9Mz2p18>K4tOB6tT>RQK>`He6IoeDISkwF=h08OnaZr&DdhrrAZK_5D}@yPa*L?d;5@-qN_Iw4T(keLA5Ui56%wxYbbJvPKN zXEhGj^!|i&y?edPMq*f2)CUu>I6Rc+Q*uuwY6ii=vrHR46<*LFFQRkF^7K(1>=VgT8B3cMN@H+Y3WKC51o;C zB>0iQOqs1=7=3j8LZXuMGsx|}`B>5Hk%COGNyvlxIuCz(&*LB9bp#m4xR zjqV(MhwHm{ZO>Rs_)1XY!{=b+t7rCAXPtilrwAbWTNY;M4z~F8+*nA3HXn^|E1%a| z9NvgOvgF_$*@MH!P%6^4XLrB`pQx6C#V_u(%)UOz7uxhtwuUyg&wNS*po<>(_d)sLHmK?W+b=}5sP6f)hhm@SAd1Nfyv3|0cL<~%ySY6#> z6j84_xM@#9`=~jV4F$C+$9IWXx4K{|A}K@rF2a)=RKy$Ka8lA(vt=oGYJ}6Q<3Qj0CRvx3=YckY}~$uqvw+JF;~lkzmK(sdBft|YzU)Kp{b*LvCBvD5^1 zdtoj*C5aiw6hR0C9=t&+An>e1QkI$E9Utqt*nN3%P~S&K_hrSuxU*k#Ct#b3*;(u^ zT+_QsLMdb72z zVQXR)d^>+xjL5gOOuPA-`4vGyB<$R@o2dOvyfi!DdmnSn&-tF#r3yfsNum}4t&N_z z0&~z%XwNCa5sGxCE~!$N`5nA&z>!wce6pr{!YLwddlR6Y1|2N zFwKc{F`TlR0x5e}WrJPTu}m6`XOs&5vvO7=Yg8-RV__AHm8=mnStL5kq57nQg};H# zZursj*QEOtwM41b+KyCYrvx3ps_e{dH-)MqO;;oDZQn$ zbNf^|U!WDx-M8{tT>8S{S@5et_(iP zf3J}9L!(Zwj8Zfh)YSm^Xp5A;{NlX`98ww|92*cg7FGiP6}W=Qm{VWGiYv6WihH}4 z*QB%sSVu8r%kJXxN8oNzkF2KyMmBi?-!3Z~zTgE4#m4z_BaTi zJo0+sLX6l4_%9(Y`k8xon`$_CpIGf5;JR_%_{LtM)4qjO9`e^O^VuKnU5DE_Uftrd zH&eY8TPsDg4t;X$YpN7{v}ayL$G}Zv#5y^h4i^jGZXdPJ)gOy}vMqknv66&c`7SR6 z_^)LmNOf$Y1IRe(jB>+o%6`4WmfYg9dl#ir2VxfI3)s;Kv<;F~8Q-+2hP>~OOcBVr zD)7{LGda)2B!sQQ&D#MF4P+Tr6t8{%enM>UuKfXX5ymu?U zANwUy#njT7yb|p{9U5<*4jYx@+RGv-g=T1&n0sQt2{D%RtnQniRnZB%PxL@zGux5T z5qqfawz}B3ecQLU3$Fy~bXCHar80aEG&gI)>3<2d-t@P${k8<0&O|BEOt4sE|9^ai z|G0MmRFOA6AvUtRwQP?qr8IGJ^#wKwVFkPI*)EOK0b3k9xw$b{ezfF)JA7IAxTMs& zu9@vsCrP000E()%=p=`MP!o<28M3F)KlNmq07iF*7m&tAjMLZ^GbdR*LR&N$u6(b8 zW*oIHbkMwiWcRv8lxcX%l(RrSrL^Thu}S+afLVI#o79|h#2KtkJt1*YxO6zg@=vc4 zXl}W!_?K_UX7b8YvQGICD{60!oFb1vHX3`@=+CjiP~g3QF?n?;I7$K?fj_~R?FUgc z=!W;Sp~%xRS~JIz<7;zrlX%X!UCZ3ysl#1u)BLZ&;F*5_`ySnXAK86kpPx|CkHI%~ zZ(UPdM1`PG<~>*jt;ILG0VwsF4hQ6fWejduzT$iCRxzqcU3MT;V>xE}2cRq4JJWy- zIe)_5-=AU-w#DF1EElYq>O<-dOWCdvoMrrZ^Ot*NzA4^7FhC~YD7-YdoU#{eot%VJ z${#V7=nVw7cu>i7kBKy~*xx4Wi6CFHLX4*m&V1LW%T6`QD~o0f(+L2~7aNsJTkIw! zXDWKhoWpMkr(Wn>^dD5`8X{grkP_$5#9lPIGJcMxl;nOf8;ulu5SNK~wTj*TGyPIf zwbJ5>J`(v!lr z`PCr=wKpo$PVV)>g=|3oi#z|;0LB1+ z^_T(EJLRMtt?38pZF`kcwHQf|UH62JGeZ^&G;Dr~jZ+toc?ly}%lKXJWiv?sCwYb* z1bW(q_Ospo-Ios!0+uS^oBR9UW5#9_3CSJ0=Hxybsq%pqiF_OZu}ik_6GeA( zVJ%mzp#H@)$<5zsf2)Sx$H`ufK9h{-q_Hj?a@!BlbaWIG_#P64o^Cp67_3D`DSOYY zPihK_9lfIAC0FO`sXl|y%T;00E}vN8^rXgrfGbOe0p9Km3e?l@Z-{QYo!aE9=xTVz z`+1Q1Xt(G%gN5G>d_G`&imAkL3!9g8xvTvybY)kEnuOw{G@w3YACpsy6&hzL0@k#B z`i{fpCENF^@$6>j)XFN5Onh-F7E>3;i2nfbaUklFGnCHO2`)J|^x|{P!+T6WUlyj) zHGlo<!-5U1!MM4FhSmZ(VrOL0zh2@0){Hk@4sGNRnqFuEs)hW7r4i z$n>Oi^l!f{In$WW?PWKB69U@u$yhG1^b8oB`iWe z7H48-*v^#=hRh%x3oS1jB>GJNGVVA!Abw~wl6JY-N;|4_|FP%WEmg4ellLW6qTjEd zqU@s{tFN*X;#bu^GDN+!s*;2>2*<{*XCT8oGL?(gW!4F|t?Z2LjaVcY6~Tix_vm%D z%r_)HHuK)sYG~T@eND3kj_}@H2VKoiL)V454p;l4A|(akS#C;AW8D<}*VFYGc8F&*e5q~5w?E0S^`E&RxkY#OR4+8Qc}xP$in;vO@~R=v1x7(}hI_rgqJ z!d-rR>baPq5^$Rz{@n3-H9%Vu3Y7?bTh0Y`Y*)}ip?15Ti&X4{2YzOU^23dl_E;_5@E-b1eAQf9U#~M@+PjC&mtE)xKQVeSaUB8qjZtU*h@fH!=qwVDm|N1BXt9Yy7*70B5<4Ag)en4BZsMD@xrD|nP4;)4 z?q{4ho#sqGH}cbdqJWKOIf=S)5w0l2^OYp){b}bFyj^Q)&dE~R@$zq7W{9)0X3qR& zr|x4OXS1;Nc;4O3QowZBpO;9zF;wpBrLX_z^qJXrIpES|4ehUVKjZC@14wY*e^TC9 z9yu`;2xdjOBYpXvl=8t>Cjb*sCTu6bzS!1QN2AIMS(Yw?QyNYlu%$L1QIkv2sB0^y zS7?rFN@U+IpDRrK2WWGX-X0c}&$wbUVzWiVLlUB+WZHT1lO+}IayLlNWnf^^OmhzJ z$THL$`p!a?cIEFE3vS9wfoe42I|xpudZ>2j%>|kgI20h&{I1~bl4@eKpOleOL}HE! zg|bGOGdbh`1I#<4j6JGpZPTDT%0kxf4TA3%CnM}(v6*DnLQ!8(PRS_7;Mv^z*ljgA zGnE_7(pZimjt^(Mw>ZDy@5{MB^;5%g7I;O`?@wAAQT|*Xlltc;wX_s-c1a z9OLrL17C-I@oex=wv9=Y%h~(*b_Vj5JVFkF9HbfU)HN8LaI*ojl)c&RAqtCu|zJf#|N412tuFr)`k?!ZK(dkX6u{;aa; zR4!clB0S|JJz@8@Y_}%*;KlD>_d0W3UE}?IA3gyV{YhxOH6st^s@#z4IPb*S>d}5y z5*yb(u!kq~H1({`zI%&R9Qj1syp&hLU1`%(-nSy5zKYJCqXhQSIMkwYn-{EhtWDGm zl}@AJjLB81eN-t^Vr1JthvY>MB*oip0>**j`q(cU{!c$oOE@z^tVQu%fA$Nh2KVWE-V#}tvFt>IO z)Gh*v7H-w@mr^pxRcN`LOQ$Brrl9M8Nt~PJ&!oYMWA2<9;+6S1;%X-A3YwLbp+|g& zi5x=jen}er`CU+@i%o``kEH?v%r7PNpV~qoCqHqDgP-c`0Jp)BLrfmj?K8ZKX^O;$}27{QW{sGg{N zwWFi*+zQ>(M6b24Z(#CDF+F|mrA0XU?J9x}t-|tm?e5~9R%tj(lr`lmaW@9Ko zbIp9BVQ)C;72r@3=S}%?0y^W4Y;x`Cw=|hoDZtM}_;o_pNTW-%@!o9%K-5l(>7_=4 zE0>8DJVejAO^<6G)fSK9Kkr*6dGfBPt)iwRvXm=W3BR4f7o|gMG5}PxUbC=nyMgK7 zSDyayouCqu$3D2w0+8&~Ts=Qy#LHwB(K$>N&89G7^(=ElEB>lq(V#_#ln~M?))K# zucbJ)oPJhOd{UIFXF${ZL?l$iL$&gANqS>v0iURE&YO{vlqJa@P!DHpZ5J!9psXnw zS)zI-(yXdd0xP0h3}N&!_3tLXRCjb5#h2Fwx1bYU>8B5msD<1X1&X9FvH6ey(y>33$cRpNdWIr6gPtPne9PJTUMu)Bos$1Snu1ojHG4V_BgrQ--e9zOD3dV z7Yp1wtw4cb$I9pzsTXGUmX5_5%L0F@v=afIwtJscF}%1uKJv?7&hM^vttLpYzg*&9 zkG_p*`AA~1*>vpWUs=0mG#v$9wM1Oxr$U4Y`1o0VdZ=hH8Iv9rKPbm2VZknOlY?omEMeD#iicrIPND?#04tQMLM`)WU#9%%KBqgItG6rNV+ zzsI-{kT4RS8dpk-O+v%rcs*O96lk%>YVI!FRDnwi-|bFI=0r81BNGE-Nnof939i1pl z(HyLCakNMlI2?c8wLscy$?RM`su^NC=IZd0ee$vyzA^Cl@eH$(4m<^lYdzI?dq?uk zEYl61P0a^xSkrK#dPaX4`VjKoeg++w^}>R=NSMXiGd(M0uSMTdJ0SUEUJ)#YVRTfO z$3jsY1&=7m@V^|79I#F+MT5m#m3W?yY8WSf2H4Fw%{sTaOkotCdrW$&(NR6w_1uE; z=46)^44aAqR4?IWM%R8;f1c8_GVcBP^RAS?(oyLWv{JPFMp5-fBlJg-%GeM^zOVt06oqrpE-_dNX= z!zN(bLE!sXsaEo?1F5%HgGqR-XYtd;$XTXY6$=G|I$Q0VOH(Oj*4=(bM%h;DkC_s2 z6?t)D7m`(W(Bo?GgpQWha+U07YWMwkJ0WGt|T_Wd2IOi83}TiT9b?!(4PUl(aZ96pN| zOE_*vYt0T{Na(!-Slcx{>U`d^;vQ~*Ni%)wMWVYtn1VHWOt#UE{(Op&tA`Yhd~=64 zmkVZSO7hK#vnu_`Z6-TkES=&ho`1~M%){`#&Gz{(#@;HZ&9H6P4(?E-xRc^iEI7s8 z-Cc^iI~0mTf;$u_8mzcOkzmCwxU~fe1qu}JpZ8tg%-UM>{ae{i=6NR9eck7I9OM|p zh<()E;{Mip@9~+9?1q8R;;HlSa$&i}h1xE$5RUk+t$hboQKnLcVAZ2EFUy5xQNnf|QT6TN)g##4<2j>^*G)ZH9Cq8Tjw=(&2B@8J+mP&cQ?)`HAD_HMG z3WVkgMC;GLcO=(S5jERmxq!K{dfjKHSQ|Yv{1KC7{eE4e$lYLWRemy@jFA!c+|5F-&!MjIBk@~y z>J5{|_(x>y@((l|#Si-RPjOQuoQ8kSFUTiJw?vgW6lU8d}Bzb zW2<{bsI9S5^9igPExEeUSqA?+`iSiAs=2bPiJQ@};S&-d>qhVZ&jG}pg@w@gzX+`G z@yT%jA-I0>*=EohOdA0k`TCJa9v8Ev-f)0eQWVTSdBV%{Xv%_*r+b!n%-A}?j4cSW z6Q?V(>)hF+y-nHpPwe?K22JOMP(k*3p0S7~s@4RULuFp7he>AyQXM1J{S(ci6{6e~ z`K4qq8HuBEv^#aR&t(XuQT%Egl~2VkjmFqY$Nd%Wrqng+NqAd9qgl?Hg>NV1NIX{< z8k;->vgOaiw2Bnj^b@ku{Gr#n6C$^F09jC&oQHjg#%%5sH8rV;jA_vnSeOC}#2Guprd` zg!jm;5YJjxX?g~qe%%I_5KV%&cidKAFf1lzbS;jI9)Q4zcrB$bNDyQUW8~oH-9!Lg z%pQZwzq%VKA%{6dz*we<#b|`rKBY26F=Hu* z{^lnoy6-K18>O(&(+I7L6MFfJb(;KVqxJ5RuBK1t!~qy>^!3Y_E#`M2Tu%LQefkrQ zX4P6p;Xj&L95RcOivpMl1ew_zl;N3Fsfl7pm8{B59%us-*1J}-dUvZV;At!6q!jV> zpuiYxxk<=t*IWYz&T>1QY&n<5Omuh$!VQCUADUSI?d+#$>h5iQA~lLd^!Dc(>(6Kz zR<&NX>5tQHvzcq-X+*^7ps~gyHkZI}rzqj2i8HP#sZDo3#>K-BuL`L}038_JANSAh z;qdC%)VP1j{NPDL#VaX^6b=`4`OepFOa9{P$^6z6l8S4pjE9nxN(P|3*UN8M-4XJ1 z0Q?q+%4C0{|=XZ$gL>m^_wo za@xZh+Ia5=bv}A^F~NT@l>!C{q)*_;9a*sG)OV24F52*foa*aS$Am{WFP^K|02!+C z?Kjd*t(FK|&#e&8biTnbCFQ%nl)LGesMj3_>TKweuLy!bxM8IMPZI2>W_Ah4`btYh zuH+H@Mel#r!SWVr%e{+?BXO3BI~FTR)lJAx2kTyA$L4`GVwylS1MIW)eBb3qjQVn^ z-nO5&lQKTI9P3-q&8b4hGl!_(F@fXxE`7eeOUMwz*XATROtEWeHdpx#ABGE#`utpf zY*Sxe35%%StKu{G6|nWY33dJV&)}T_6F3@ED$Zyh1KRxwt$+BjB$*`9KU{<3tA7Gf3U{fXDD zccZ30#3%g2=!ng&S@=r9%)JXVAF{Ee`{g}Oq0sDX23^`noNLt=>QEzDCF97=UxXe$ z_B}@aHI)prVED+*M9u_mwF1YdT95cMA#I!O4xyFA`BkiYECFhNQ%)xcy;<%>p2_5#x^P-)+x|l}Y4kcOeO#L})`Dl|u`S=6~q&NEJeKSvU(pVzKfUhlt;(VGT%9dhfA-XA3t!ojt}g(roLeBshxhG^fJZ z#x5;cO5zh~>5kq`P?Ix?fLfG^ZP%TeBgQKwxfUaLYo86T2BEUE?%D)L&2y+<4$JK5;jkDby7EzXHaNS;l0W# z7vYVQxy!>Y(y`yHSF~MKIazf4F%&mB@rw?T68YY5ibxKpKBf2AU5bC`%8-Jx+szPh zOQ$fwviuxkjaWJB{FpXc6B{!^%o!y`^}b3vf4>8dg7|}Y`D_p0+D@?Gd+;U{zA}*N z5%=)xk_{Uu3Yy2KSe=j^nT+lxho*eO$|e}DUO?Z5|TvKW;7?b+NHi?H_X?8F}L z!rO;}KH`5*C{Th7!alIk6M7;D=kYatmWA|FuVL0ujnqMy;Co>+DF|#)J}Fwq zIt}=teLr%Yi!!6D6-A@H&-<6Z1>imPEdRw+!!raN0j+Zkxv0TcWp6r`KOKQBBu!6AocxAK7|& z2MvU50|;6BCZR*OH%;$iZBDjTcJ05v>M5w}GLNqpVBJ}6eR#O3&Q8=&*|fLi$p@^p z$QhSHBx9GtGr~B-5c1}=hrIQ`3+K*bUhiVkK=B|hV(Kpa%nE4t&y@_hxv0`rlT&qb zyD7FTicr^e3iezaCNU&e&z_3(4{z3`Xh@JX@==UjOVC!=ps8&82K<{b&7V9UEvDT+ za5W4g6e%1hEs3s+UYjcp>AX*r7J@H0$RD-Y)h7tWH;IrmsNw>9eXjsSG@?)WbXE4u0>TI zw`2qxH@7(7_&c_oJnC1%>X1AEeWfj_{tcrSroI{bzhXC6Zh}hS!KaACnI8<6ncj;R zn~I5Qsj_^+l0O*AQvw9MF} zD)2ZMZSYFmjmiw=8MJzAb~^|6%l#`Ke)5&u>dx`aRjSKDs3B5%Zx!rCRUpvwDO6!z zz!);kFg{|K8|#qCm+oO5QAtN-FlDjS&oF!w$l(qLLM_B|w*#W5_e9)vV-dBtp~KGJ z8s0BWz$OTVl}$rEcd+S7$H17rn`wrqo4=0Z2zD6M&!$76udPGI4LWM?Y#1;2YbuY5HJHBnJxL5OIr&|kpLqRcNB`rhC-9@@xE~ z;q$l9Fg|m}&Aed{5xJB5Rs_zfnj!_GJWL1fN z@+zG&I`<=&Oh5`?Zm09Th%VIyqX^9f7a2`CV? z51WAgIe;lR#Hb)+I{_(%?QF5_Cs=A7Sdg)jVJo8apH^p(M7!-y)k~Y7jNOO#YMk{S zXFaXGs;?PhA54Bohb)bGYR@vAarD0Wh1c3Q*fbF0qF3n6xD$8u5!dHO8jZuu#Mc}$ zq99TsB@L;|$!#_r`H(SVy`OsNgVAX6i*5pFiml-8ha|<;7zcn~f17_6fF7dEc+fwf zIhKj!99WpWA2BmZ_78wgoqN&3>|`^rsn()Y#<+FJ(ZbwgGWb)ev;MSA?D`)dQ!NCa z&}2T#st?wwPj7=HMorl zZVFtxNTi_oc&nAsEGQ=ZlUs>-i`6QXbyL-B-Q7@Q_b*8o5|Ap*bLo0f zvl15r|D)zHDF>n@=^RLn*7xZbS7*ex;#bT=SdIv9p}U7q8%#I6ed%~dMH#P#F7`)! z@0`k9H!^PG1~~?r5zZ?=)MyN65i(SndQ5B~V))jhz8cO1e)|6u3H~pe|Nk-TB9Qi% zK=wTWhMCxB7xjRXLv?1?&QxbwQ41Bba~`tdoOd`(c!pqOAo-OVa&m5acL}GgKJzYZ z>5|97EwHBz-|NTvl7EmvUb{ z-Y#)iLYA)r1{SRi?3=!AgvDB5hhvrm zK>MYN$8&nTUBlXrMP@~#U-)6(p2N26n$ovo2oIoFR2nUIi~7^uDbUpieEYs#j?i5u z<@~IZ?A*=0B<)h59{TDzA|CyUp+OauD$nRGN_&ok1kXy6I6j(uI+I$ifg<5I5=r6i ziUR!Do6hE?FlS%<9rnDY2cj(D#-YOb)O)A(4n zhZq+a1%*Mc{|D}t04n}!&7$hO-v9@Ay%9rrle57PJbKX7yx#<@GaTs{+ zTt@OXaylcc3R_+_bP-m~R;f>4<5T&$k<*af7kzzNv(Q%VOgxDw8P(%sq0O{me$^O$ z9{8cR+1_cBfN(k3QsMBk@P#vB@SochqYh6f3SUx`+YvF=A=7YE;K5K`jLz#eVjVU4 z27XRf!FAEG=hug}*1!?!>hG_BqW#~sIHB`KMW6lwiZk=yK+4U(1-$$C9@yXQv_^1S zF>hB5gfR61?O1*NTnNj^P=m26Cf?`s8Eixt?AiRdu|xnzLRL)aK8WThzQbznyyI>9 z25eS{fN207MRYv;4cB~CInY{uy7@qD8?p_~TtEM~i07V1ulsmNN2|$x5OuKCq8;Jn zW$o?zRQI`nAC0tzh6%d z2T|4mLW-CBc;Xg5+L9@C@CE)w8h)CJyBjm`=b0`)pi2KJ#AlhDTyq)zNXdrkojXJ; z(l_{pwXZ#5xf0tE8SeAFR}<#dFEZ=(g=fsC>vPZ!tx}h;eG+33 zvnQdr7tUV{PgLZo2)eNLmj|c|+aC{{y9XK{%MJJ0pJ|9PoaYP8$02Xyz+Y?Yd}A|^ z!fx0svl;~>B4hTRUjY+tsY5vfy)L(>UuhS2Rtvhga!76&Yv!x?eycV3UYa%zQ2|{9 z=Y4Xr(^^1J4o|>Z94P&5%-NEZN+zo2bRf-^A`cf4z$N!>?i<&fLd;IQ(!c3w?KrPV?SbR2jkx+D*pb!TJOc*KMJT;YkrmzKZLhBV?435&Y2R@3ju$H@zsDxhvN+N6 zWx8mf5?E9_zHkv1?^SbGrDAuNlvE_64ZN~HxQdB)(06I&Ik0nsx)5PXW;eXcsQHy& z=lA8RtMPmOi^EcLxv)`JI!E-yq04P*ioHgA(+MW1P2JL@61Hs|Fn$?CbUBA4arKFB z9LNdnl3_(w-;gO<1vU3+I`#67Fm;)!jh0`INmN@-SeHFBuP#}(y{d`>>f42~UGZM| zSfxky1Ssq}SHUrbFm8-Y|5S9mV>$`yU>TGowT!y_%drU(ts|~7Co|nSHqURL$f{O6 zc?ur~Zkb_Y z^^2ERS5tIUG2pC{G|nJiH+J5n^o>tw(b-78WK0&{dv44}swNNShHr8?0zEFPgbRic#e^N6Yc|}Wlpj+bG;r=wBK!)|qr;A>LJP&=z z$X+kk^-=bzxz;(7(oP%Pt7UqG1v*VWwA;I%l!aiQu z$lM5I@yDZ^2ZjdI*c^=HR6ok4r(Z(Q2TG1&flXEl=z`TW_F?(s*vh|~6 z^;+cm>2Di*+t8oWcHlDV(&_Y}SXoUGlFlUY+H#>v5@552W`VI81fdaPU4%o-UaBKI!O` zFJcJ)WxBarGoNOHunbzCg_SUuwAOskI=rJe@YSXy(dVk6f;!ThW%x9j6l7+m^Y}OG zT8T!J-7n4L%u(~=Qf)ox6L=g-kt`+y+M>zg41liYl+%A=fG#*xhuVL3=rZzQvj@PKgL@~)1vT{_Mu8x;x{6v7zDzg40d2DZ zCX0=33I7k!zqa{5XlG+oOlm~g<%l-I{?=@3U zXB7@}s1s@e5Fa)VixYVrmrOyWPk-#}r@qL>qhm^*c|b%*V|V7ofCr5`lQKPxm|FP+ znY2+MLShBrHQM;D?8Md<+3A4Hl-YZ;wa@Tjr8J+0cX4nKdNip~<4wk~icifOmEXEg z6m=^lhlM}yPhv6E&~Q4n?_#`xym3MRs;&C={}>nI9D56NKIpMgCksZgT%Sga?bo8> z2M{T9PX|NPe{bJ#Neu-HM%^YA5bQ;$0P&MT)*?O1p1!pX>R|qQT+V9{w|kG4+S4Go zSgC3&lNE_~M%HQHIhVRSFRsYMT(~Ja7FKl!>;DHhA34aqQtp*`)wpr@H}E$5i>3Sd zYMU&yr$_bl`1c72hLjf}pIg)aTzVp(=3&ywsAx;11Z%DnNS5KWGEb1m40H12?_wy2 z*>b)=J7ksvux}P*H6bqvU}foz{Ff0=_rId!5dnB?1Gp@H>82KXEF~xvWXyA<{;f=X zs0;mX-#-BRab67}GKG>p_LiTNfav0`az^vpACqH;d`zQ%@Fi?=xWi6RwPE|bXFy_q zD{h`A4h}axm$w@q1dYk{lanC&2}lCnk?*vb|5CbCo*F7AAL`sO+s%q!Nqw2>9U`(F z0aZ&1BaE~3CJ(e#CR3J%TtPI2yBHhvnj(;4({Ig@Mhd>nBQK>9>}`g4ACisuUvXebM)>S^3^9fJX~WZ4Y6SJ{F9cxr=C!ZY&|h< zWk;6rF;yz!MgPzfd2&dt7H`pO3EoGL5d5p$yWr2wUtW0ru#i#27fY_`=e{EZgyS;s z;N8d_ZoMn5BScZX^PVE-Efe$Z%X7thE(`mAfNxL1q3|b18hGxX!=IL@^NTTqnSQq|$d8mkY{#0xak+2az?K-ij>D9YEaHedUR#nXfKu7&27l;glnQ=Nl=+sxd6)nC6eX{-skY*}A+LY=B z2(}IHNJC8rKN@ATnyCJ!tKQtvYz!8`WS+JMGngp^#W&9nLX-jF>}pMB7uIY z_VeFHwJleFSi4thNIL7It&~7k@*iDdHe*Vmx6I$kXq75Hd*~8J?)Gb=b6YZ&u-rWn zAAtM=NM;B&r6$w(r0xmP6|_{$(<8r@(FAhzxc^Su(yiQi-SP1^-b?c8?WtP4QvP*1UX6ec2mONCyyLOx7NWL8l!w`w zXn8D|kGW&7Tv4fz-CS0=Pg$_2P8*Dm5H-Hf#VivDZHyWpzRQRC#3Tx-6Z8cvj7F0m zen0+zpk=wC$!dk69pi`eu55I!u=*5o`0!sie7!pcAw+enU*~OSn3HcpNp0V9iSbz~ znT5(&y%$!yWMpRc*K78Q)0sP{%TBgKyzQN~j!4qlb$~FAPwmXhlE3!`Y$b*MXs&Bt z{Z4*5MdnGrxU_fpgP2jK-CC$a-7hl@)+mgnh|(KYu-(!8`e<$@5#}(kdz;6v(4Lu# zCa;A;5o$Yf?aQY+?M@TMO$Y2bhs*dlW4jU zZGO_KM2l-vupwR=Nn#^a9FluwJeo)8X~?SJYN~2Y-vRILBilg+EgLh8-H_qjE}7Mh z*fgYpr^?#wTi3NkjNUARYSjb}r(FZo7VtS2~qRAdi%^x1iQmNq`OeQJ_Mq>Y${W)FBxQ->!8Xt+J@ zDZD_HIb62933^SN63J4{9Y4(Tg^bIo=9wmfIBj73od?tl38;3eE*#qv;mnA1ERaJMJ${M|v|Un@95W2C<24w~tYq5EM6Pm77a#59L7yi`)!}h{)46bz!O| z13KcElze%AkNdHABJgsB+HEw6e15zM@LGQK%(?Nop&jaCuvH?-@q3n5Jn7b+f0mEe zt2F(&5#p-FL#%|{zUTrW%=H@xp0aU!e9WI0vMh5P^IqF@?b1~rwfQ6I>QtIW#}CuC zkYoQ+ol-7V&fg<2-5 zcON-ye?;rBG_Slo35+v2x>)xV_Z-j2qC}jXwD{!Y6N~D(G2!T+5NCtnt5cI@d5x8$ z-PxG}YVg;5Z#$!bns2;z@OB_5S1H$*aovyeXmY*(sHgurji()gO{KUi`W3smBC{h?88baxLpTYMS zGNkXdhvQ@9hK~fSdrXgw-R6o|(m1vXbY0FchYx0wAT6KYa}n*6dli$&+u4bIa*0?_ zk9p-Twte&CsH#!eP+81q{qL0hZP(x&BA z8%LEAm(@WWL(3ooD?gO$=XW=?*^54R*i&;IhcD7F@3kijAx2$x zNisCybFM5R=2SEXUmaV0zE|c6Jl?^?r44R$l==4aiUI47{Vdnqk2L$CBqzfg=^j+> zvhR5|v6olm@)(U7;{=lkn2mQQluCGfLy*65tJ!V_ps^?{yktSLkE+9Q7-eRu>dT!; zm`9S<5LBH@DCJq)JuoMS6zl6?4jrRfVcvoNA#brn66z-fJw5O7K;AQ#HKU@wMwN~p zk2MOX%ZL~sL|*XFVLzN@Tz%>ad|>ZTD9jbn@iq1b48fYhqU5Iu#?PAh6YgG;V6nmV z+N*?OC>Sw2cn@DRE0WruZW_uR#_|7mBmLid`u`?*kt1nR{JKEb0&@gxOU+_wmvwHD zRfJKbV{W(1Zi8-H-cmYPos3)Z3R1>7p;sE0wRuUBBLK$p{>1LJFt%ktv>WYKowr9g zf>nQ8dlI>yqFr!(eX2aW%SLCfzJS@`itA4#Jx9eg6Dg{D6!8l8x&%JExsw$>^E4iZ z*oat|8I=I{@(uRCn0&KMZy4SnkZts`y)$TQ(OgSfZQ&hY_#r|7@d@pK1v!O2HS*_y zJeV?lcO+%=>_U8(6OQH2xD{1y>PZlT8jXD9%KmbJJ-vifAFMqFfhx;V8f{FD9+N;W zI0Kq@o87drqQu&zB(@k;qk&u79-LMZB1u4HVE+X7@^OalEKwqEvHFJCS=&wZTqE5*!^TGZw=bJ;T1{2)hd;Ae0D2AF(~|4x6b^mzMYVf2vWq__HnLk9y; z_;Qw!U6q8;HKl!w7$!f#`Tf@zyuI&)&B&tCc%q<={(r(7{~JvHzeQH#U6p~&s2EN_bu+{_H$$EajUYC=vI$}eSHxnr zWwcJX-?nc_QE|AlwM2E-n}HBz9yxXvt}K5v!e0ShAnPzGiH{-LE3bm6WqX`VA1oVX zG)r&F1PFl%M6OQxSk2RX3biW2&C9aUic4=96V#~dNrihqJ5a$cCvA*h=P8sHyg=K3 z+qiHX*J<^VnWt8|Yv`@BrhsHseqxVPx!-ah*c1)uZ7sPAZ5&~CH z;v#Ccem$|)G3PFdn2i@bYU746_u@Ke5gEd!GbkS0EQ(U$^c8!I$R!2`uA--&j>j45 znnewB=WZS$CjkW;ySO(?7kH`M=(_WrDxrD>3RpmyQT*~_iV;7x z&6nUfzK$I|07tAd`e5b)uSK7xsNxh_3QT1%L93<_mF78;!}7^m`xE0+nfGNrHpK#I zfI9bVk=Ij7jkS;1k6eTTaS#wpTe2wTXIvN6phgv}5u>EUF}HEB0WTXc+W z9%IjW{a%HeNKTJDj}0Dn4&-0ZkyFUt#-vY;9376OkBV>dyOEFbwIEB`r+1+tzunX) zu(inIVJlC&-Ji(zxYD3H*l8P}e{R1gAWWJH?EsMn(GnN(kb0$x0I*PXfK$}!`))_| z=B8^}R2!n>ng>it0U1LtSeH+n1K^9o5>P_S=+_AjrS-~ak=RfuYNh+mrlnKU&*iux zvQldIf5ga?uEul;|Q%ZbhLd1E?Oq`GH0Dnf8-?pggGdctP6u!`cMlL#*r z-HCFejKhJFP-b;Vy;mTd&bh7{!M%Kd{QKoa5UwlB zx2c1-pVAmzm9q@2X=Miuem4BX$ci**?&}e3U$q?n@(U7bH}0lKkr5xHp$k^S>y7?c zR35k_(^BC)y-*9^^%OPCM#{{aMs540~T zGq{7^GU*O$WQ^$$)4%iTRjTxFfv7}vQeI!5>mATdAFe|;AUW?y`I=^Fr2~UVA_P}X zd%Li;qksiGrB9gk?P0S7=viLT?sTJneBO$Piy!k@kL*#Hc|{rLF;6n!&yhqbNts@B zxG`Cd>$^|Q1;CdWb8^Q@K1^Q5Bmucn$?X_YjB`}8FU8mpAotr74i|yUa!DP~`T*DL z@V#&7XS3c2-WL?u_-+PIH?uWYL^hJ{6C*z2UhTQ-(>h0j`S~X=n z5zj_@4yuMZ9xJZ06TvD6!3oM+O2}k4`B=_?l<1POY-0IW{%kE+jKjX)5+2vm#+?@P z1hpd0#Gj`)9>TAeUE%{QMJ!1uC`6!aCp)GWI3x13rWKlX&!MimdBc8P_MJjj`IqPc zKC&d{z)&ufu_HC~zXqn!lnoGmVI!)lCE z(;H>01V+9S|01r=f~eq`OfjnAMFnq-wGP%o1%SVlAKOO2sP# zVQ6J)lfzY~|DU<`zaLoa0Fe<$v?cfs|Ur~|4?Eacg-swkLT?|JIcy><+PkqN3&s2+avi3Q9q2v8_*`B z%W|SC6~xD>7D@2BbC>;~My-&P4vS$_TZyNxcpHaAWV)r@VV+aQ5R$mivLwyrptK)E zhcC`t$PMD30#my!PO$2SP+4v=Y2WKr;u}p~ky-VGGj4qhnH!-;_FY0M!&re(L%dgM z#S@6IHW<-5QXOR}T&lT#b+x4yIlX1VLD@dI-s#h`a`lV;G}^As0v1xL>sfOT`+U3F zpM{6CgB0|E^%$5u$YyX0iFlHW*-H zeO=RLo=uJVl}Tw>nIe9@b2E~Ytt}oSqhj;K!`f#2-lPDDFw3CF-(PVPRrb&t6INkYH zepSD~0FF$g5pk|YYqn+^MvH%{8e15voh5fMYN@MXYGPU`aFQG8L4-juJ$~ zf7MTah$h!@U3E-XM0Ex$25`#M0&00mn<#ZF^+^J6-?S@0gb$4TXQ@9KE$7(|G(n^d zkE`4CE33iGe)_#&yi$n5;1=Z%>Bg1H_I0(|()9l$NS*&*R7?Mzj{S^ka4Vt(QMJ%E z`6$4~!PQ?jOewda0%}&dI&yL?G+(N{!ZbDtf*&X=Aa8inze`N={6zdu-7m=FbMyuf zYPd1R!Y(1DHO=h7W|q}8ZMrrFA6Vc@%zJ{}MS{N@8=@PL>%g~ML;{kES;hm(K(~K@ z`lt{WmoOJ#i&o_u@MPo$NnQYWuBd;`4@eBZk+~A^2FhvA%SShhCKdTDWKfJdp*qK@ zj!6u8gjFGuKWzlb$g&m+K<+aHk8CMsNlyb^xFNNnD$u4q0WBV}ov$vEYI{I9l*~O5 z{gbE+@!kPEIv?}GSljxkT z!CO*vd3|pBOF0ldT>+UR1AW5Q_du#>cN#rQ8PPPT8ARBTzx6)ISnW@>R1!V69pmsu z)NQ07owW0}b7Q4c_2C-OCIU{1$owvAspZe2yo)0f3&xts%&-n40b9AFnHO22mW5`n z&1L~}jT}>=qT?^}6*8-u(8b^*=ky(OR0hHNr+UQ-S8_59VOVGX0A!!HOtU7DWkeJ* z$9*|Dl_ZdkL;NZhUAF= zGClWQHQph39Pa?Ih2%iGQxm$gUt)XGE7DDT&a+Y?~wu|$McXVzXg@@{%&*oB?U+e6-6chNW5YC&(%d`9z7uSb!L_yEH^nX$nj$8o1{Rr%*YyK5NfnU-=TxWq@71 zqTkLacfhLp+~wB?A2ReCzQH(FSve_i;nb|Vaw|XFFG$*d+wxtFRR{E#+#{yYauBW9 zhTbB~j@937Fktve*{1*<4-Np1CJns}u!gD5mk(b6Ss@Oblrca_FfSy55qH$>H z@{R&&RmmWGUAU<%8DG6X7;irE%Zd{L{3oarCntx$j}RJp%&WKgb?5gR*64ky%bGCG z$N*Lm?V<^H}&`c>6b)wJ)oPA4_a z25vg}3KkWkP!O%vDlG?B+!T(<*!SnhfXqVJg@7%*S{d)KxsyhWwyk2Aa7G$QC?q6O z0Qn*2e!&NZ(_}M^q~AA1?2R|@w-(x@M$KFPdARN&VUtWtp(uFcSnEpLoSA>zAJ9T@ z@(++(xg16Le{3%Qk*bqK|3Yg-WJ5OC;fI1_wH=g}7R%MSb>qFDjVeFesyVZ8QUUhb zQt$+c6cjc0j8;uY6j5LwG{Wm~^OWwJ`3GRw)|)LI`_;fLz@Tw9wwrWIx(L+^FuQw7 zfP~ZX&~fvya2o_{I2)n49{ZO|^gIS<}=zqCR{laJ6g6?2w7`uPr)KvStYFnOVv-8bmpox%VXCv z2JUGk{nF}y^LTG5pF0`D=1H=F*^B<4pOpo9P{g_>@!(qtIBo>0r}w&f0PJsY}k@*0`d%I>?-q*1{i>PTWc>1h{M=%pM@#mgbZXQ8~6JoWaf#c+62`;>?y5 zNhMKN0CNc3^;eVUk99wdHJ@@WPXuoGUiG<>+ z2|xAz8lZ-bTsAmlV2cEN(*l^VDobJ6S{1aX=~`>lPS$!qD>@X6qv>R!pChVFQQ_q; z89Q_ON98P0Dg>==aOgRTcF1+xqrM!kB#s*CfgxltBX2CPVrVZd45==IqrAR#Q_{O_XJ-mZgF{ zx{y~z1;(i#sGQ19%bwo9x0>MK5TV>2g4#ANLe-F#krdYPeuWTwG_;cdxnE_Q@&d9R z*siY`3&sH-iI}a7-XaU~FkbQ`p&5S24km!7MkZfP(5@>S+s~TCN6_#Bhwrf=y@{kvvpV}ftQf9tNzq?XAWsN&3ux1hw)mpP*i)V^ z6*<-VMMQ!G88YDY%FXZ-MO9zQMI?@pb5v+|xT1-<9hTNmRsl$oS%3%3IWnGt%;sQ& z_FRgv8Q?P@ zhAbMuN?QwUWr0o!`TTn0R6%kcw5xt-2ke7XHQhU9?fE*YEpdBj#RNtOCxpMG^w%ex z!sq^RSM8zDG$t~Bh~a3WS{gU)Z@Q#6nG@taG($>w+r44`0Q*iohdk-`jTrif??@g` z{Us>5%-|>&#hYuPFSRMvIKyY`suSF+qhLxLzQb3?&-uaaFV#cK_R157$_6=0%<(s| zLvbFSiw3fT&Ik&pe)$v_bz#4@o$>c?3StX_n8{k3pDRuMQp;6-85RW|9{T!uyLG-7 zzRgKDD{PKQ0iy=-WTeAvEm2j}JjYP2DLUS^H3Z{-?(V#eA^YX=;`QivDM^JK=r~gV z&g$IcEJ>LeQOB1fqRuqVca6h4!%ilt?BLi6v1sno&DQBrjD2!^B2@$-&^UZ8#Icih z<5NcrmJG3&R7O~sX;R#1r^QPjSCaDG+{RdFCw&BR}|ES5_-NDgMAdr%e$w18ZazKp9Jk-X}fYmp2)1dI2T2jWy#LZtn zUB{A=1%2DyHbE~uM|f(?(>A2+zgvQPF`8c-04AG8*Fm84d>q-_2o_EC7Py#Z)U&yR z_Zs0N#~G+Tybya7A7M1tdWEwOMr#WLaA3vOF2lsvG#-3kKLeZ$ns}q!pA`i(_#J(Y ze(NN~>H%1=cFr<-l(M`~bxqFnO zOIdJ6YTg?wf^MQmRdT%|qo_JlbB@L@&X&>i_p(R5cFH+yiJG*0vu)nk?IZHG?OI$t zeK4q>>(wyqs=+|K-XPIHRXvII{T1?0H`{aC?B=!rr;SHz-5-s_yXkQc^-(&NY^~a=Ea(3Ad%141u#Z2iF2lm*P`-jTN>QojS1)w|FKywss z)!gcvMsb_acXZ&|R6X^=TPsMHLM4FuE`KdH zE*Qh={G$$;ILfWaM%&i!lp;a8X-VO5fQGi{Lw4t^6?(H>2KQve_zu)5=C^l^$+VQu zjOtCPQ&O&;q~kdKhI5niOq9Mfk@-K*oBg)&D3ANe?eq8aed71r_jNHh zR_!&xe_FIc-|$eS6Ipzw*H8L-2P;!=@#vRT{bo^;spESiHu1+}h1cph;By(pN@?SjKG?P7u{RpYZ?$3MZu)6y0YF%m0vvfFY^HkgTS$@m= zQrV0p;HTzyPPtE-cZt5|0bRP;F*BeqU&6x{Y!18BZ-lI?@Jt)h;MM@_c1pAPB{UtM zvUE$nN_*qKPj<$9Y1Qo1dhz6j(6R_7+))rP;#7qG`aD ziw3A(8D=@$I0gFk$qsvt)9?u_^9wPp_>x_uo44KjYI|uVsB8jn`DB!8()utrr(dj}q1j)$Lj{HKGit}?{u-Uc3s;qF4~6B|%TH_Yd*PO13l4IE zD5T~dT;u?Rv`8~FAGIgF1#))}xa+K=O*pIW%m~H7ABVQKEPbv0QbO$Jv)*`bF?6#Q z&rh?o`L~tgwju{to}uTRjmIV9*2C^gtwM>z{qBavmId_nAh4Yx{4sgX{S|W@+)x&h zc7rpYoZKaN0>*7DY!JR}E=GhVUX?$OmHF5I=<;VE(G+2qB07}3ClKg$HKa+-6|x)_ zR2MP$-JfbazV3(K92|Z$U=edezpdAqAu^*ze~$`}4=C>}Ttv3zyX7FAst9lvv;&kS)dLrJ}xVeThn`Aoi^(queua z)c-52S^mE}0q*=oc8GVKV{aNeIq1uPepGz52xE5%(2PQud zbfNssu1M&9xC@@1r4_WtL zTWD-}yVqw-uV4qB%rDUAnb@O(2b$_EsgpCSv+dX6Z`38LXLUCk6mmhiCI9`0RLi?O zqSqQe_wjSsx;#YX+@w+pt?`W0$4Kj?;;JtNV&(es%ZNa$p78rjg+Qymx+}Z7`Iw2x z;?2*W$WsGzET0aPEE^yJ&M@z#xSy!3nla+?1cqBP8&t&V@Epr*(Uqp08+grJambc79?`>xun!LIta5|9A{xNe_|__~ zKOjJH(A|J2ol%$3lrkQd7>m8<(T>YMU65h=LBl z4dFJlz3bQKh$t>=n7%dF(jG=+njL+ArFj^A3f>DWqW#G5emtAs`g%445RKd11MUdk`fbZ&?;mzt9hVsaK`1ii2AZBjQ< zZ_a&AssRdl4$XKF?%82v)5J%GMk^`uq2GRFqS&?Z=zHyqs@uocFCRI0lx9dQHBilD zf&7tseA6Y3g%+vAXs#ZP^vg7#EgoyLcbeo)CcHbKlyok|`G|JtLbu`i1wDY`Q^)7; zio{~c<9oI@W9n6t*7W~UG#eK;;^GavrDQFae}BmvXOSC`YsV%&@W2yiYNZQUsm8&0 zO#jX=RGM1~-fXAh>z0Y@UZnH)>a_QtRvkGtee;$cLnZfnVnJ@T}8d{Eq-5kgvcL`@=M)s*Dn6h*LKxemYJ=Idw%DcdDV}7g}hwFYL1;#NTmaP*LAR;AN<%li&Th z!_WQs^TG1Lbj;+q6gWA>voeB(!AYAvr9noK+lj=P3=Mx`z3w4%`^lsA&Mg^i-#R;i z=Y?+T$Z}1dOIqNiDa&{jv`KRsq$#mR!)a7d^bTOK|Js>)2x$Z;Mds$`YV2rT@o5S;_l8iYvsF}&@Bi_8+?yO3PYe73jb|Wumpv<- z-2?UCPO6|WMP$Z`8uz-Erq)HTpOg4-u^%aI5856v0`@u-Lpl;ji9Q95g!Odg(cIN_ zbt?k(`-bqob<7H><>XXakqF5SbW5t4{LN-GAHHp=h5V#gAZlc4qyJzZ@NF0|6y*=a64u~H_$3~4H2$rCoR zTG=7VgRg~rf19ex3#fi(5>w68RoHD#R=_8Ab`kNG0uf=s?XRB2(bqV@g}8!SfJv^R{- z=p2yl);Qm6yi_Z8eWEbSvazutlDBbMGW5GD+ZL%na1w*VPqOB^{ZV1R6;4bghP|e& zXPdY!3mO&M8D?x*ObvS5FsQ#X;7VbC`Fi+~j}`26_;ms|?R{Mpe8a-TNhvQc9>{+1 zFVF8?o3QN#FCf|K3bXXN=Jg_tdz5?F%%)FCPL-qkOwo!H78-1+!N_6g z(5}!R&flS0d$BUBu#gWgG}<=JA2_Qe!{|zlLK#EXTb7#;!NMqZBw1SypO#j-I+_3d zEROsz5&Bnj;5B0rcSzm4GxRxtNP}Q^RWYg|xLEB|3cXQ9;+kT+$Wojs#$qj|9M-Q& z5P|IB&f@r+JdG4)#jSyXF%aYJVE9T7R_bhfKTmGrMm%yzW#}vEk%G6!4Is%V4VxYd zUD8Rdtm`*wuR(3R-b>^mPszjiWy#VH$-c{?CgcS1LjAS$tyML-y z-l5IofRCQNdz;w#NJyBq)X61XVm!#z6`E{{L??6A(SneGRd>LFdCR4pTJXcC7eV2F z`#7Se(NmN+3Ocq{6j8(SJ^4mW=!q}R;KMjZt8Q}3J#qu4*zW6|#l_!P?QmUUP7j-r zX^nkL<$Nw--xZ0HZ6Z~fH6FdxQt`NNCSA7pBOn`AY7-ZkEtSD;#-hRi{ch%Wvz_Q+ z0K`Cwe(kxo6N)_NyXI#g#%Aipc##^$MZL4AZK)l+O8yNQHRmzcw||bf!(T)G-p{pH#arV6P9FP{*79pX<=zFoWHC8?R*2@r=>zOr{d7rZ!9!)WBo+Q zk*+zA7v{U(=hJs`j!>MBxLE%o8FqW1p$|0Lod2zAAC~EftoE9wNc9*_vsOB6bvyq@ z4AEmrAdM|g9LuIZur37^MHUSu0`e&n=Ij&m&gk%esII)oG?GQ3W$ozGGNPgStc|q{Ez26q;=^?&(*c5N zWab zHnRB}Tb4dy--LZtLZA!Ps!wf;H7|F({d}WHqgXy?u`51#t=Rxx!*A=Lr6x9c)dZiY zEbxXr9f%)2D(v66S+?1y>9n8%obg%H!0hR41_lnS3f;uC%5v7l#+OPLL!ZO-n%W4X3^P~@VS)Ah|h9-ogHJEC(N!aci7mvEyT($zr1zZzj%q4A2 z!y+{}nlTn;{!1-OOeUZEjz7`BKuB)Qn)tPbk_lhZ=^lcWB!evyeLV#L&_69~f^s)3 z$h?i^?5S9-bg|53r=8f7J-k{sAmB!MW?0$ifl%A=69M~GVEZ_wxS4jpQz*$NBv4Xj zQa`uRQZT&tHe^B*Sm|R*m@O#mGK4`cDHk*-c<+-?M;4ScmO>5Bzwhib=&Ene9LWpD z0;H(jA`}FCueZ*$5y+NGFKQda?-h}}TG@tMaleaiAP|>oW{f&g068pj^bE5Ylce23 zYyw5X1zbp54SJX9?OAZP@C7G5&Jyc<28!IyW+C?J-%4yw8}`Gx17E9neml0YEVHmx zo0P^pL4f`}yBx$#-e~EZFS}9}Ti}TynYArTNH){XwYqMS=UI?BCnirO`&= z={DA}e)alNgM?HrBI~}5XgV)(y)XD;Z)r82eHAs<&_C2GGBW}jj-9XYAtQRkNG#hB zhsNww<3Q@8qn>q@{e2qlH>_0qg04i9K(Gs*j6_CXdjILU_C4{Q84XZ3D?h!6G(}Y^ zu&EaN#!Z4q!KorYpQ{E(_0-t8lKjs zqSy1whhLLh)6d?Be4md#-qDr&`@>T}b9dDAcppi!ZU90ub^QxQ?;I16`}5IN)e{g; zQ9S%pRPJUk%wZV=KbntMh~tyBTkV#i;?oykyMz(z^bteH5WWIf36&^NBF>h~kHD+q*(pPEoGe?m&Abvmh0A7DBz$@-aRgiXl zJ)J5jk0Ckt#CwwkTGdZJ=jp(AbK2`_>T;ed^!{Q$lKV3L(({Ok2t0_1QZ3l{{-Kr@ zWL78bF9$@WP|_XLiBy&PRit+8Hm_fkRm-YIz&{!5r%7aW=HLgt$LM<{Gewy`?xi_M-8NF;`~tba zZoREK=U}5ko)BsubD7GU&}>*okj2)v@y$p~anrhh!G%={=r^BB2~##z{bs^N@m$qlJMO`H;jJrFRWo0REYnDdSr~LLQlVZ*j%JWQy3 zXr4R)%PwXY*;ZcsAUz^x5drsP^vc=Et^JLYbyXS9rw)i(>N^H|xOfF2h)F5kb9lV4a6wS5sYPG#S zgQoXZbgHjgS@y^KkN+V-|Gbm*QP8=T+yU@w1s~1m!I`I$L>W28DUsbFYqxRh-TGy) zhqqTv74x6kz_#%HF~RD&Y-Wiw(+ot(NU8tpQ$%`D+2)G*{A21W>qvnHbT6Cz@!?iO$-exjg?dNps!=!XVPHq7v3%T?IeSj!-Z(zNmG2vwZH>Z(Be87<|i>`u{_^ymNJtOcolp3V9KoP!w^|@k}2< zOWT{|-M$m#@EHhGi5Ix2lzqFUR{g{9J*~-)e?puGyUBNmg6=Hfr5yUM)uCy6?Z&jk{>Jo%bW;tmSt`XzQ zM3bCYaW7uN6%J3EG(j#I97@z}iNg9$tn>v50&HYl2)F_ORJ3hkmy|RhF-Zoc5wgEfCJg$_6r!YP?&O&16V&_C8Ap$?a=x92g zGDGN1j&VV=;)8$==22ee`dp+NBE7>n+Vqw-{(=P=Ev%p+sc#&I0yZ|hD(TB;Q?aeb zaV4^B21h^FN+@d`Esbh&hAqUYVwPZ@%HVuZ?Tb&=4B4vG2j!Hk zS;}^mSGzU;u38DF&l=zUxP1WI!V6zew*GoFF>2=cb`?xRn5Iho#hJA{#aN|tbC~Yy z9-WIf#V=j#j>&g~v(E9RwFAEv^IF-^!t2C|f!YDLOHtUUVnHr%Sjh98T|LWOcAbX=mY9W?`vCr*s%j zy2n)4Ime+TtsKLRU=H-lW~RbXCy6mQztZiYA+l+%=~PS$L>VTQQ!{!gcb0+1omVFGi$JXhsy3e4QFv_3MslyKP&iXKQ{{mXJE7q?X>T$9X0G0ZW1U^7q0_IrJ-MvWccFH^W?HJc zk0g!XgQ7pytQ0CYFXj~mmrT>VNu@d@nA4NMO%Di}@+s&4sxxAhD^2Ws#Ve^nn-FY( z&E~2r)+U*3~vDTX%zti)?GV@oVJDopx9vp(@);bIrN`cXw5xkyJd& zA3`=$J?U8>HgC%$8y5fa4byNLMmlcsZBcrqHG+^+Ts_jXj`#b9RqI=R88WYo)8 zw(CGd2b6vM#{FRbTk7~s`Xs$6uB2dx-CYrT-&EuGursdD&Mz~4z0uey@YE`wjFRLj zb;{wEdzusBPDlM!In2}zghXN_(pCjY2$X^ds+IgQ$OU=;71N{@Drn)G6xF(E>8uFLF9&c{zLkR@?|&ohNqI=bl;mH4A&{}UD|S&W&>M^k_Y2}?(8@%P)6$sX-) zh*qNdX7_T}N=MGcT0?TR-;N<7ozPc|JACZ-EC0wous(b|ejNHL^;SWQiuVV9mSJL% z01JMjn**dyB-FXvvuZP_37BLSRO_pbIcM5o+79h?m59rxz@deb`&tn!+B_urn zy7oig9t1B}0DEry-?q78watrY5v5C~+_b`Vsm5S`B<_OqasM8l;mUgClu}d0MZrcCTXf7NH_`bvU^+!Q5?3} z7-p4Iv@E?izk$t^df+H&bL8Sx5gL%M zsThr>TWg;&qF_Y4zFn{QiDOG5&~}()lwPvHl)>|6EL_(fmn6VO;-ft1 zj?O9MQ>Xs|MVJye9(e&S_bn06UEy5_xr$89_Gg73Gu}4o~uQ z^5$RbeRh6751*>oC&6vTN&AhZ1<`Hwq4QxZP3Okzt<2lpVby!*Mv9OMIrcEfO)c0=@wK;TU5AEND#ic*48#a znIFb|i4>oCf-KrP@U&Ls4n0OoOwBp6oBF}Ue=R2;;(4sw#FlXjm`h>P~!H zAwV}9cYlz+lnj_tp!|~2wY9tE)TwF(t1Vn|L5Gt$KRu44$5aeF7B8q1M`Yp=LrW9B zumIvXa|21Yb9(-KHEoN_S}dAh{`~O~*;o=TcMud7H`YKG2=VCK8mhluss*8Il~Nil z$;|X`i{pR2Yi$+zwOR0+g9Px=w{=^P+z%jU8;S9{ofA)U>Iw9^y=~BiWUVlTVxyhO zo@kZ-VTf|vORcqrq4yDNl)3Nep6L=#Kx^dBM@we=XpxgbZ7O@4lb zu?Nfd{`I)(F${Ii`mQWYh+v@!mV?@r65*R8qh?J?C3M`P3cL0>ydLPuRHMx-5erB3 zhM34bF8VW+Khk}VX1BQ%_s31>Zt$OChfdM%8t#7iUn;H+E(jdZ4!NP|k0@-W096^5 zVL|w=Yl_2}I_rzK;^wP(m?awvscpppq2@2hm+~I3p>5wjJQ|Kmv5p0DBTm80`@vT6 zvwsTy*zvu;29;%czH9FC22nfGV!^;DMn1$!%YB;`(+?rsKHpN?va5~PV-TXs)owFq zh2^;-;~R>0I^$uY5^^NulI4QDN!p zAn&?4iqnMpC;h#EO)(`y@;AJ?`~D%T)}pl(PF6BCKFx`bb zAD%BHVVvZWbE;Vyj&#H_P1T!5V7y3+c3cC)N;gA;mKhCK&<|>P#&+(Ew6zwifKWqq z$IWIGN<8!iUcHmxjzi?HVOmx2L|{m2MKs8I??^j2J)4|#dH?#P%^p6HFpVSOVvriz z7Cwgjsdg!|%OH{M=HZ^Y-svN@TznROi4;FDXxHSf?oXI3N=kSrq7{ew-~R=(_J81Q z=t$Cd&A8m9D?YdN_0CMhF7J}qQ;!eeRr?-Vpr0)asfWO+Xj)$tBfxzN4B4s-_7BJ8 z)pbCt38Cq14xSkb` zNKR)W7c-`toUqlm)3-+IK@0UKQ5$H~YbLpz{3*TCpn*?jp4HlYE{^=#-L1C9)doeB z4?q~L?L+}I3{8WbLQ;$sV&K#gP)b86g!wQbLED5r`)}=@{E{ESWmGV6<}$_rnaHBi zDnIxCv=!-I7SAr>$_ zrtXmAhjr!yIa)%M^-hU;{qbI6Ps4%l#@E{+e0`Mqn`xkJ0V<|Eji zm1T0K=$)X=Oc-mbE;Ij38*}T2vnH}oOTH_ltwwvpAGY3ioO^1SB9Lka8d4{JB=J@0 zl3bu*2{f|H&bn%(DNZ6k34T|}gmU+V9wUY6Pxy7?2qUplmnfY$brV`Dk6o4{s&ICi z9LB!PUkY|vRlwkp-VoX|sLeJLjlbh&>PT2+;>HNU2{%c%l&!SOl#r%Z)n(11{{)DO zh`edAB3m)4MmFhUG~hBBxY1-+AiQd&l8mR6&*n)K%_$<&1XWTY*NCNdB+@jJEY%zE_oi9z{cchh@@ z>>HI&e&%o6KDPDLfC<&=uaG}yrr^tEwMcCxQg>CZn)?d&J-P2aRlR{}{|JG(SY*2U zecFFrdUoTZ4;)IeL2SxSs=0Wh%#wj&+<+)kSS=FhFRHwGROxra_33eA<0fnE^r26^ z7EuT$6)XHE#6?O%dh%Uwq|-BI?v0HNidm(i)qp%g_S!lG;hx^9ce{L#uS+G_4X0vH ziAgGQ>7FYXKS18{1UQh{m}K*m^mIn`8|J$%RH?>t*U$oRzsXUq4K=%-A51YkHM*3p&=(K7>0mci5lEZ7= z3;r9p9Y!T6L-yJmXbyaztJL8K zzjIiVq&PDEL;8^*(1Y4Iul)7l?qPGSUo7kbk+Yfg(>V2{ll;?hNeloTLOolnJBd`K zE0vutn|fvhTs4kde^86DAt_<&@U6jp7HNXtw!x!g5v0D2t?=nVs>E^tZi@*G(I@?> zR3XaQtor!mUw%-cN1U+!QlvDLdytfIliKUK)W4XcO$LW`;lATGFuW;=%snwfB*hQL;`#iKqi?A8x@+N+}^oDlFBn) zUH#rENy#nG(I)Vx1u%(tzGW?P&}eC5gt022`u&Gg_b>I5{FU^VQtQ;&F)L`VI6V;0 zK`>mqC`}l&)C$A_p$ihCLr?hro*Ol~?x^|b3rQA}6iyt%<@51+60tDW&?0SYf7P&S zx*3U!x2tU``N9gr1U}6u;(UoA7eqlM;B{(_{Y*kd8b=+_FZG*#;L@i7SO{@`X06rv?}PXOvNksf zKmzVJF$d9j(nn=RfTLaxL1WvT1+s%^l_~vb74+{bpI?kuFRG18oj=)GqxqoU{|FmM z8cK|^+Sjzpw@b!5vTN`)m+lv1(1&{~MdcJ$CAMY7u==2WVEoK^Ge(oCyy~j;IHSA7_Jx?iewENe0;|EBP$j(<@?NB~uRS}zp5qGM<=*8a*M5I;WnV^joC@P-A9vv} z_dAXQ^|JJ+Q!{$|hDUGe&tiz8Z7ar740s3kB!5-7lIQcHY3@|a`VUFdo56Uwo=q!D zF^M@AEvaIvw8<4eO!S{_4nSVRXPV*fKsTLcPA>kG?NlyX89K*26{(IOAI1(?WTJz99qjpwW;MU1<>&} zwuY`d_DC<}L^_zpFsZ{jqr0E^&gE+0@q*F!jbU9w7LDwoY2u)^tDgTwSDHzIdLkvw zlKjGQWkrQd9@kXm(EaW@xEVV@IG(w|-e_{%Fm^&QWt4yaYSba@!f*HB>ZTe0X7gZS zobS1r!>RHe0OIfc7w=O&@g8lQ=N36U8d>}J!|+A635R!3!*J@(#3ucHdAn0kLR~}W;ZT63_$ydxVme91PPcOjj`}Y%YCOk4 z!h0G1U3k|Ju`Z@8M@Vo}9r|SnN71Gs)<05z4$=RRj89Bo&|u+}WkN!c_WvQZphE%t zFdCD_n3}bAHx?CnioQ!07rUt$o@J9=`5n`EwHRY0TWX~Igk-S*bX4{DGo=B{=USr*OdD9W`{G7Eh{4Ro;RDiV zIxLaat~`*%QY3n$WDIK*v@jyESW1MQ8Ty6=O4~^5hfM<|V$&CKZz>J7Dn+_2`&YNw znK4N}s`L?a*8i^}v;Rli@RvkV5SZGv zB>s=+#IYKg*fm&rD$phkUXi{}>-w2&{EK^Rix@CtrbraDJ{QkzU(BO~x6u6y=@{zrGHUJCIjH?M3@>kKZj~ z;-4i#25fac09z8@f4pMXM}+H}*Q+{%bj_e?3Px?p(DZ0x@_7Ds9K9q#H}XRxR=RQdncng-q=aeW$)b1{N(U z38A$4!*-!hpQ@gUlryGX5@6MvMXF%PoC*?0KOLl!%ju=Bj(zQmj7xhvVEhxVCcjFS%68g2Xd+VYn+~J@RSbiiYS*av zkrn!+cMwFcVb*qDuBFxd;1UJ*M`P)2(40Ry>k~tBSd|&^`t@4LS;e>e!>o+f%F~W$ zt3s&QPV&g4%_Gj823y{+{w;{SImABHGe8y*#v2>b<+J1sC>n6Q57&9mj`&4? ze~G`I&x~!gQAVkATrbYM^#(=Z#4>sj~<&0nYC0pa>d$&sKAk=e1Q47RJ!mhb{XK1 zy5onMe_s)RQsW*;H@?Z)!WhZGU?r);e4Nj`HyUI3H9YRJ&YSI>>@0>MVX23oiZ7Gc ztfBB5DlKp#mGv&n@*+|T+N~-YN~Q0Ei%CeE@Jz5_~=I^Cp?qiCXl8g^W7@~|{q$>!qQ4Su~ zu1N?~(&cFFG6ELd2BYsgU!`m}b~dmK})nvo6TRsK#RluHMpNs`;;P zaThOA)jU{?z1z*PZ6Z*fc^FF4u%4Ux^M_#3nt6ZZP>}@b-Y=FT-fh+S#5o2Y*nb+b z#rgP3)it2k_l*scnerfY-v*v&;r#A|SAqx@X4bKBX>>COEZFONIHoQr`n1Ow7?VoJ ze_aAS%2I{Abbja(y_G&UK0mjE=N}~D0Aaq-ntCdp>e;QcW68Ca?TWl1DT!+;M zHn5ouaH(-wb2X=X#UV%_n!NMx4)^>&jHHfUa$kPEG&~ef`Zm1T4oOseDu0#2Zu1T1 zrOg$H1}rNdXpSim%kc%6#rZT_+&e!xUu9qJ{c&sBE{=Ns#`ySbs{D5D8{(D(^~iZ< z7!zn0__^?tpB_AWVC_lR>xh>hn1GX35p7epv0*;ec)vPhk;j!JwLTp&cKi-RA*`9Z zUxaO-^(G5SSwEJ9us?E5ndzH~%!YR@9rZr(0l%*nsn1WR7w7f*NkV65;NUmBN;V>J zN6M$F&nUwV{vaIq_5wkjM>s)^A{GVA|I`M%4%uvf;i6h;vmxMDZ?XvoJ2F4G)&#IUR9N zILjDyExW->;j|qcUyJtdh0FHGx3r!Q8b^%qhvx=RZ;_O#_o2YS!Z2u4;tPSP!s!8T z9c67_YS0_CA%rzIl`Q?IZAjwCH&+QhIvvL)Epul10Lj(Kv@p3G*>r#iZYN#wzkI-(!(YRtGmW_KB(9 zI`0Oef(zd(`v1Cm-7%UeQ{|jdkBOMN-k5$9pBeqG9j|4QJB&1*>j7@d zLj^3?Z)Mr^8h8v=%Ct8?*viw*w1_l}Co88=tt_RNhtzaW4^YK8;#5f|lBv<@<$}gq z$nB`T23Wz5GT20Uwvp4+S&0UVrKQTFqt_?v+tff34Dk-onJ$(qLlD8asZ95tH2Ylvfg1pp?!kG#@$AZSe5mq`7T9y0X&99D4iIg1Nnx{s zn zY8+PN%mS*tk|trGLRFqx(SP5=usM6f6TJcWnCf|uJpxXgnUO0Qbj9XI+Q@?Ic2F9Y zYm98;i-cEg4)O?bPi|mcG9^%yh9zoXg&v*{`p7RVNGTX;+nM}PpSVJ<;HoRHDSF$H zpRoMF^!AFA6pGssamA%)&djsowZ4=A*0{RESa%kHg&eybBC5J!y~;IG#Ns$*_ zWJ@rKH4`XJiTwFLM^cdYkb-V) zzlr1^T+x$gU$#(E(ntN+iUk!z4|>3hMfV}ynI@@|yzUt%mm-&qMFko|UEv{1sxz0r zGILfQAlNU^Yc1QA=eX8ZHQ0DK43A_u)A}k>v>WyIEds!NC28rfMDd9p7A2@qH_|6S zzlY7`b>d*!Yd%6>?okIx4`@rQo@_C_LX}Z`?JGVs`~}yNjb1ky>Xc#XOLjkTG*YL` zGSoS53eEc1)HU>6i%h?}g0!yt_d-!)c+ZH*t+P91wUk^sCWtEs34jQY)OY?fFHjXz zNV!Ut{LBQfI{fHNZj!m;TzUGAdMd^sp$guT;;N%;v-nC{sj>tZeyC%m;-7+#DPV|V z8EBvSuo|DQ9mt<3+WY_bDxca(Vbz#XNSPljUt90T8u!K;$(d;R^xQxD7;Bc~f-ttr@g8hmDM-pw`on{Of=762#e$M&7z`rT>|(FBBUoAZq$mI3GRyiE3)x zLjdrNe(D2}yWX}sNdRtA^yE^VJu;!XPX|~-B?Z0nWrlogbJt=b?=P#T_FnIxa?U(TV%4&>=k6zGrXkBq?1oJ(;b_xn{Hxj>I$MzGCf(GM!AqJ;AZB0J(H=RO%Lk z1Xon^$XAO~Ij0$m(CB!_qi_LiBUO|9udbCLr+7i#1EL_(NFzteb`4`u(GBmF+m^); z@%iskYJldqT;rmYjqMcgCjKxbB7{FA zCjA1NSTYZ`=98y?_9pqhQE!N^+pWrw^J(0DyXP|#DRF~2e`J3+s4ZqUoy~G32Fx}7 zC7BDBE* zmmuIx1Vskam}x@S3LWjuzlGbgXBSZM-@xOH$TpdegmoIJJl4ilEq+$I*8L1&5)Id= zzOr}RQIO}}VzM$LO>xmj52aW{ayUyT@l8{o`4S=dCrYeAE<;b{psnVkt%-@OnpF~k z%FPHsK@`ej)oUH1)qo{V$L)Vewdwo58TX#oE#;s%xf^|al#ey)4Fx;f!*vbOaJLbb zK9Xh+DxCi4SMbY!NJCG}97iuj1*DSQC>|cy?SQy<5B6!oU(+xhsnoBe4p(3oJe{2@ zCYsJ{<=+KYD@LEwF{Ff8h)p>$WD+Y(p{xl;b4jn{U_iXfdW&wQ_1QXG+!4>7gPnuj zCanPRu6fxyjL)O_qmju*hq|fhAR7`LGir)LHVLz=r*(g_b^giSdu8Xi^(Q@MzrCQj zjSY1)qD(&@b>Z^eOYRr(LRaafxI1-}g4l@zp@cV6@v%h6R<-w1dnKd;NqMH<_4a^E z?v9?pGGcrQ9$zqQX78TuS*7$y9*^ubeGJR?cY!&HOhF z)47YK<_dc5pyl8v5O_NNbtYU|1#@$DYpG?`JRLivw7$QCbTPIffvSmC^&*s0&r%jK z%h(yl)vx5fnsZm5CQuD5aouHZHLRlKM; zO5deDhr(19eS9pAv@rSvbI)sNsTEc^?aezV7BzMwSw)U1^zA>S+h@~;oP(JobBd{W za*UxgM`G@&aj&+r{PWXh_L(0+`k&YOm6Q2S`G-W@^l}wb!5MXgBU)1nCH&Op|BP?H zs~eR|SVdJO(_y1iFm=Of?$P_6G@F2`Xy(a+j|7-(^LZ{nb7`<+V%(A>n7P&wfYoF+ z3|q$%W*dfu^15+BMcsf+V@L_5P=?}Cx~YG09kGX5s$)mZ- zn5XF_=;+d?Du-8PDb7Iy&~1I&Jnym0Ha_Sk1D9HyD>xyoYXAQKq3o^N+Tfyg-Qe!- z7TjHnyBBwNC%9X2m!PFUaS84eD=sZA#UVh87AS7-&b7a_4))o%e?oF4bB;O2c5RG0MjmhLl+u9GoMPu^5<^B%1`yO^`i~ESm)ah?MoSYh(s7Z+b?eQ_TiF}4dKVb88y40f0S9gOj z)p!(l8FD$PIdHwPQ)uv+-gvEdn@l0C6amIrfv{wdF?%BqZQ)E*)|~QvS4T-lAj!Cq zp2`zwo`9c*@a4w0#))RCKM|X>p9tE|yEL#QBHO$Dv78=~dFc-k zwk&esQ5VQ(81l=-8}EVe$c14V@&C$zPozum=r1rfPRQ9Si|4!&G7LM6hP?gWRRO>3 zg4I|pi=DH+MC0kSO&!~GPSX8B?BQzzuoTW8T&Jj%9S&18nX5>C|iqqX$NE69mSJyRtyu6wzO5ITl1i_Dqoj{Rl6r@YxHY~ z39krGimYpRtCRjeCEfpuR{DQSy8mf}s>g7aQ;>SXuDY2U zL6`5*izsCLw4Z{285as4e#J(<3qm~9dxXux6*>rHYXE?wa0snVpg9ic5kW>oNTu0={%_ty6K<) zAb(vg#o(W^eH3-78diTzla}Url8DcqOR%;w8m}AHyrbY4Zs_OmYdFte(D^Q8KDlW( z(AOw~vZOiC;U*Uh(=#$_D``P!sSAl>C%M`%kj1&}nd^$uzJiSe1VeBqq)p#HuxMyq zPtu>^DasRAjYJk0FN#dY2o`4^q#@e;sqa=C9_|?!*cRX6Y+Twf<1TZ~Sdc#v?36d$ zA=?<;)Tlqzcs2m-x)bUwf5)hYVWv!Hn*NE6YO+k8U0fRs#_)4 z@^V(VrkWgP*ATyQtIMwR*O3^kfijTh-k0YIyd%u4SKiAS0Za__)1 zUZt&5cavsJ?eax{)T@3cBzDefsGAl_SpJoO0J{sKHxLW!KL#iMFks%)(2=pWsDJsZ;5@ zg&i~H?rffoM&Q!!!*KqY>qpV2g6tj70KI5C35 z_oFj%uz64Xhw$#nKbdj%*8)XmV<3Hu$d~}HFoC}&26ZRLQp*Mt$i?2>maRW>-DVTo zQh4XS+YS-1n*SQ|odPZ7w3>Gz*>;;c^^aS2)@8R%lf$OOTr?QPVDS9{s&%@M=&NW@ zO7|5}6lTL$73r4d=1YzE;Gg}ym^xoMO3^g?3miU!ud7bDVCNnfZoP- zePd(8H1>@V={ITvp0TOqOiw~shY4j}BiA5JftU#@2T?o~DHzsc%M;_MpI#h^%}geO zblFVSTlGoza6U$vn1k|;PStZMLqqNILn}TH?m|_&E3P$C(^@MEik2IE+NP*SS&VYE zXR-P_g-P8in-}!k3+^}JuA=pI_EV<0s-C05eEXf=&r#dHn*}kCMk{6k9X2KE)bJV` zN`0F@u-+`8#eAIHI~bd~F*0*-I($s9@lKxv+u(o!k(=|duXxzOs}XLz-z z53ZB~QYOdrE&opl3rzowyisXBDVy^eZIn3ybX1a-g^?8o`7!nm;y3@<4@7WVXXMG5s zy-po-pbTQLx2n75XUB-v>P7}6r}|N`7p^!@IZvV6w8~3VPf%n4GvF2XL(Gyl8#^jJ za7D)z2-Qzla53Xsvt`K7XEZEa*L6OlLkPmC8Kd9GM?6WH=Tl>EYJ zq6kWOEv=`hTbyC;HI*(EV(HfZB)&sO;*lNHarZ_zM9#3+jfoApX&v;prd5D3K2JK3 z&7oquo}uF)OiW3&gv7)6)Wa{xN4&P!nREBQUl=d3V|=KBE!quF%d*Zm5~m{)=SVG~ zyfAgo5oW+kjecbWdmN+2)-O3$*rVA8VynT~C%JXikI}IY)SgAG;&2|0XLxCCzmzNY z0Hi9GYx@a9Hk=tLL1REP;J+N5!W=aG9{tXRG79~OyV^5420nS--{?%~FIX>=9% zR`@zQ2P=<}##{hGc*##NQ8hN1oT(bm{a-PUS1y59EP-rjKH&&uak*nyrm-E!fISP> zV?nP4cw&8~Q@sP4N8=aeC zteZT?td{7#!c&jAIi_)hPT42ZOjDaBiqgqoctf;u7E&HAs_0$&*-U>jzNg_kP zNCc7@AZ4~PIN9fFlMgl1j+L@0G-%8nX?(0Mp&1X04#hKKFLBwn*fgBq*l_y5R+j)P z?QTG&Kc-{Ij>e&Qz(Z!@P5i!u`C=slt9FQQnJ~V9A;1{2l9mJ~w$fXfz@%X5WB@<@ zVsN~1chMA#Pl4o!V7au0M~f2hx& ztVmOslpe}*tJd)RDCLIvhl8uSyDb<-o2Uhv=E2!`x5J{r+8m_0%W3^#&LDxfzph0Y zVN&Z0>sAN^%NejBz>$V1+`1V3R}90yDuWV}MAxAMqJ$orV1g{ojG(;5whco!|7cn&t??WhjrLp9;SO^T zzn#ag7@CbIpb)*TROgt;k}&H`X#h!>h9;#cr(DL-mUsw#qg!uMz3@8dp!gc`zDOczDq>(=(d33D;`h02886)s9&Po!}s$gJsfN=vb)l~FuH!cm$lwg7>b3W*(! z?#lsU5n^mdF>-EsJGg&a7CP1}IwiZlHtHhAuLyJPp|L)fw+LJ6M##Bvtmz>pTvvh* zjrK)lNy(k@(Ar(ZdQP4_Si8*ZFz^1yc!2ZY{|*xRf9Ku*?~t4j(C#lwW)%H_b&}ZI zu_>`U6JB{VH{bH3J5pb`zFyE2CovkgMhdz3B`qL4j|P0Yt;?w5IT@Osd(_h1AgL?G zoHeoMO@R?RF$1ntmvG3eyq2w&*J5aMCpRlG8L^zGs&+cBF< z75W#?dDo9&?W^w(`1@f>tJ3yU)WFBgF$%eCHsvJ=+gWskbF5l)&-nldQR|}4!Uts_ zMr!%CjR33;BL|XZX+*uTdpeV+vPS-++Ej+ie=oax-q@Yap%uq;nQM-vmR4B5K$q^H z8ua|FGD&4jGF~~A3C%jtEUh&)I-57ukP=HPSHXDS8LGp2ppdHDyj_2$zH^>sJd{3Z z`IwWT!eC7mn>q}?{jArm?u^g)BRA0dy7G&0>9|h!RUff(4E}iyTI+V|?WwC^UF(+p zjj+RbZ*!Q3FS9x4`a8fNL-``7G3s;8*6$kfJ7Dlm+@6y^{X#4L1=$}emBH1CCRGh6 zAUQ^ggqWK#t$8j_Top2MLy^l(?)mMDlXSLsCZKuuLTqc<-f=lx^`J7+a~V6*WHy*0 zQz82vja9^#`Lz| zEm7TXVBt>;=A;-YvZn;5IcT=m^w_9hoPkY+f-_KsFgC0*%G>~|`88a@zfQ9|w}qdk zRPR`Of~UbXW&T)>zw_~d9dcfV82~U!pSXdXg^p;$SYSfNWaDIRb70ae#u45|Mb+?6 z&H_5WEmsXzJ6t;Nyq@@dKLp@wau@7h{j-fn6D8yQ$>o8m(O$3Axim>x6r|G9Lh?bN zaqt&pErQj{>aV@W0G{=ncVI|2W*UtoYmZxZd7M+J9Qwh}38y&2OnG?%8|(vkli!f; z2ZN63)`*F0bN}-VeqAVwr84{uF*)sredL2)<^a^OHT>uh7CHFS|es zKGvVXGe2#vZe%dj(h9<*nLPgk$dM^nk@Z=ud=U3qF1z=mR_W1{m7u0W0n_JdwIwEf zt!T12?8_j2QMh!k1YHhZtX&Rw4)#nDnU`l{0+hRtx_+k zEk{eaWsqf5>EQ5&H;dL*BP528)qq@bqShdhh&mBNta6|+g$o|SVg7^o2g9}WG90YA zaQ1gRVv7pcP1$z%dE$tV+JGNPJ(e-&QJbD6A+=9hp8^sBU@tpAPdLMjDncy4;209i zwQ}>A4WPaNd3f%$s)~>~<5y9@*e+ib@Fr5$vrt!k0fk4eQ#F&bFdx!%w+9w?_4e;~-$J^Vc}WtLm*> z2fWcvJp@yvk6j(Uq56wS19-wSStU@)* zRtSOXM(3U4bcTgHSwEZ`&{3D*3T-r`i%pGjR#}|nv1UR#ZOV;o1 zG@k0Bq&~ZOhYRcu@*oVnww{dqJ%-5^Z|5VM#e&Z;EzF0wRhc&OM!WMCB2ZV3{_Ce! zhCTF#*DiPdP(I$a{&5RlvmAzLut7SDsw!c&t4gS89Y^+ZI!c-BUXnRPqq8B)$)D)S z)9mcHZ3u?0J10*PRZYRy$yPEiE9n)5_@yS37iCW%)laJt5+OT1u zv>p*hZ{)VX+L=i;~FF!Gsu>|uJhkHhVP$rBwRBEtS&Q1bNAyrH0ESHdRI24 zMfmmIYO-wPu^%}0j7j0Ye!r;s!xqd`;6rNHVCH6YO(SMxj<3i| zFE3xk0vndtxZA>1mmQvswX0Uss~{&HDbLoYMiTJ!-hN5ZZ%L6~qLy^~SKd{{UV#mM zX|JDtu?9|)0k2D*-F?ap({Bb`9{bKTT1+M$q=fzhbe)kMVE3E!Ep$x%#y`?x(Uf9f zb8CLo8Hlq6T1sj$6sCO{_+~0*^}1!DUJ9zwsUBDMRQa2 zIUEk(OP-1Ai@te+kvMMsImyzgdnHFOA{twterGadhL<)@vNQ~-z2Dp{Ax}~|6w^!> zoXwnMY++`M`r^BVi<00maE#&5O+^B+%dt??LNqH!_@Q)fYF+z{BoOg5V{#{&0I+eJsy+O8g?-!r(0= z1->g2p`ccF$P&&e7vN!gvPW0e)`&acK>As@*rqaaBMGU++N6U$_L8)K2_v)^-KZ1_ zwhN~I<$qXZzj)y%+>}Kt$gjN@~Q+^x19X6=_4H5wnzD(dp%5Enri!&Z^ru zR-?wnuji=r2hXq|wW^f}?~MckaOgWq=2znjJ1&5Obg&sb&M}LMARlF#N;>f41Ow;8 zX{iSyTvd5lEo9{j4MGRGju1I7@-7;IC-aX!jm|gm2r5s_e@_YYJ_KlpuB_{uP}Yn=6OD&DQG|up}!V9lG`q?>zMP!bRLdau{QH**!*@j$WM-q(yCr zzN`Vj+e_Q4ko~)x4D4Z=yx_lj>=b;tBpimOIJGA_8&;}?j)h8D#u&5(EOJ(S52c`xN8kGp6a-rqvLeGl2Zd-2~qGY;qqOp%}acKt+z zY|!w3TuuKwWa|H?9`>JD{LCYUm;Xzz<(7N_6J-tG$MXXAN&QRCG*-&|6~1tjeX*IE zj9su9lVOs%Vf&?qgvgF-sylD?aH4wgal{K(1R=`HBSMX4DdZF>)m85iInqoV8IiA8 zW^rOM@k$PeR%O|p##*5a;{2WL2acv1@e)EFHPh>@wlmrDutry(N@drAV{mKiBZbid z`b^EmRwTXlR27Zfm+|3*Uo}odVXZI#p8qnAcYj)p?nc%9iy4tVmqcC({o`-;YYRkF8b)C*;4SsUp2E;aUQ5{`2CEsygC zZ~WgkJ06Ye0n7tQ`Outn7M1d#oQrrHs=ekmlWo_ZPZV8C{vE0srpXf4!9{14QtmTT zDZpr3E`4E7hPo_wAJ2XB6O~W0sf@U8K_ z8Dri&9%>JI#H#FgUQ+a8z-#uqa60}1qIcV;&01csKY4$Sn@e*f3;7m~+dx!`ina@q zyBsKH)8F{^6FpzvTP(ajUaTV$y|h>v`PtQwN{-d=~SGAvG+J@2_23+km+Mg#S>Ffvm9iT z6}Ps@PBwA<>s_?0v4~!+s5=YoeDRiAdK=$$l1zS-!b9P|)>KI6jFQ;$d0S(@{+0qw z&1g}qZKJcbXXVSyaB46zy6vawgSa+9E@-M>$V3f16L_Wg9^1b;XEU(ceczNy8A?CI z{=Q~sy>4o$At+qkCTA3V(yH#^FGLzgscvSRE$ClALq}047kN*HyNjY_o`AW4*^V~N+4*Mu{3Pf;8`yJDFSwm zNEb-er}wN63fMiC+6356nV&QNuE_LXM4Zkid0uoiXJytdR5-oPPHV@Z6Ys?@r_Tah zsQM&`n>EIRC`kB8d2L0BQ)(81VQ&U&!)q;$RX*O`jFM7nw zmeQ&ZURt*uhW_2PuQfRB6Wr5NYyE0fqT|@(u3g&uJBo16deWAl` z(b?)>NaI$?tW>UdXgtlAN6@#am}I6y+1Zb1VjK7W0jf<6iN{dct*DD=57nq!XqA$ zcW(Hg9?T;gVoaBSN&mLSF%k|`l+t?Gp;2(BYShWSsq>oAW@Xemik^Ld82G9AsJN0W z5~~}~iCB~>rO|s=84TPuP58a;H)zk0uS!?2W7K6mE~H5+^dq&Dizp@}_+<5aQ+N$!zbHsZD*{_2J~99SbBFv`!{Df`2o+(5O_v$d&i?>ZwvP{-<4t^aj2c;w zzwib9#fOn+<}i`S*=9%hsYUG+#FNy)c6@kRHI*U;W?+aG zWawVpFfPM}0p%q8idDa3Dg0Lx##zN@R+8Igd# z_Onr zrxMFDsfdPCJA}4Sk)bstgb;m4?xCevc!tz35(S9Yqw9YfYJR&;8b|+9>=N6(A~fEY z{hcwqg^4Yf`$Js<)7j^r!_ER!QCK{1dGdHyK}Ty}aXV+lV%1y!P_=Ojbrkwf6wLsW z(wXl!EjW&m>mL3vR$DXr7~EOM>VbQvCXAOQk)(f4ys^$)1|gJ0bHUIg_7En?gMvf_ zbHn+_KK2l%5*@NecCd2+o&a2{<6ZFedD;lFQ zv;2)J21etJY;u(ATG918GDO_HgS+?j9r=FyzHS1U6CGKX?QaUM1vN$Iq&ymqF~M@Z0dA=qW?6{fRO3uK7c??}na`P+^C1Soc;*ljI^8Tz#7a+%495-=VrF&8TPgmj7Y~@JG3y_A9(ZD$K1W$kJyvR>7F-iIW6g z-ii+LMuXniyaoA`pW}bwubX)Y2}zx)uANrer_%G)N6uEbnR?Ks!aWC+{ic1QQX_ys zAc-foi)BMoI$}U?E|Hy|#42|7aGwgJ>*Oe!yyutnf=Y&n14*eqdT71L(>$$=X#7ST zO|qKR=)xz_wNcXiy|`SnFYt)`nJ_2v|4j6k|Nmr~;5KRYr7@Jh$aN6k?g1CP1}XCL zid+5zOj=tJP2|y;@>$|bC8`C2&y_MS?5Tbh>TGPY^X$&+$dR@v`CVtZgN$}>7Q4>$ z(YFRCHPW+&aoIjKQ*kc7x!-o6BGtDxJLT7>&ktdtw!GGM7RDdu#B$6XIUn}n1_OKH1WdY@VQm>LYAiP{Vi_FvSTg;3{k*=7nM<>M=FDZ`npb|ZBB(LaS( zD<--u#j#1{es!`+yRdbSRRvS;YE^ZhlT(Ujw$%!ob5}?Fep>N!r9^;b*{VkacysD2 zQ>?g(!@fTdGpuG?naKRS3EWcjL_k(ajz6r5VGze;+c5U-dNgZ6ijrY~vzj>f4Lwp=hbJDH+MtsTB^zsd!kG| z=`tUVzrF7=#}XLT2*LnT2TFXL!cQpVZRVA0@206N{61mw^IMLb=_PC`ZF#a$A4RW` zPkf!tB8}mWm>m4ZDGgs2C)aPs=?b~fUCaxWae?uwBfw&OgdN&%wCjc$Ia) zuZtWBtKWwx;BJ|ogkvmUKeN5 z3V7x+Q(`UbQu6{+EN@#d0sWKR9e%Fsn=vSQsSgv!kDo)6eurLiDViZiee$-!Wtzz- zZ}4y^FgJAll^;tRDgCT9v(~!ox4PJN5cu3p+*vXA+r|nS^V16CHOqTLpR&(xVg9pW z|Na6nUg@75-q|58et$;E6&m)zF0}TJ8{`wzSuC=n<3DNkhkiCqWES*vy+xdDt)p)i z%rl?rT6J?XTeoOW9f6javK|Bx`GUEJ&0h}CuV8Q)_&WQ6z3};KBKhLYG}+AccRM%F zp2S-prYO74Jd)MXtuR-%UECjHYIKxUv(by%o&uTOM8-U#Gu3{BlP5CghWi~k(_z~yAVT#n=VAp?R!ab^W%OXiXvE80e zw!H@)ufsTLVpnbRX+;3_7+tjj-{V*og8IP6g0Q8~YkH=-is($#rP3)rz}APFXq7Ux zyaS{7v^5Z}ZyBo*aM%dGU$NO|4Pm5iHl0=0Eh?jjtJ$?OpfC~*ek(=t4qv0uywhvV z3T`bS{MLh+j^V-n)&~%zseVEqc+<7ver%L9D`Rmqvsd04$B75#LnVRZ!9bwLS@((my^=oe>C{Os>^q~#Srp+i$i7EA`o#ZYL< z=g*#K?(a^q+Y)XKq+d!_XtKIlmpJo4;4*Vb4+Kqs3A4I#ZHAY7 zZkQr*so%moI_kIC=A_Edcj7v+nJE8=hU=!1rGLL}vmGwT7ETgIVN5EQkTtOFUtN_Q ziul;ryWs9I<$d<1?(S${auCi9o(vK#xZ31S{60NF*$~)Dn`f7@s%I)nv7)Too_t4?>Kc}GU*X@> zlwMo@>m_2FK?-;vijxeYRls(nik})1=FxkBs&sy{WGEdW_WwsDMXR(wbkNIY-A~{|kGFumxEH zXtdTwEwla$tai5i*^j}ZB*xH8%edy`rP@Pje;ytaB;eW>Gd2XR08 zLCmwlQRVES!pd7Vv|fBqTpAHkxf+MgLtIGLoBLx2R||DeFmlZcvDSJPAILWjDwpx7 zJ`-D{7>ov66l!A{ZAtaCH>0?}n4K-pOToh;+?vB4_f%mx5MH!Ct^*Z(XICn}*OLh5 zDBBXI>VpWLC#8$Olf2;y*P52h&=LkHVhl#kn0xlvZ^bl?stt3>^r1EGpO55{{!JU( z`oX3n`-Nw}!h($WE-yG{&qqS=)d*aRcHW-X^qo=T4t?0Eto-6VALdQzz^lqL#fpp3 zLq@4we*M7wgmZ-zTTYwusW8F6OC2U&2x*y*`*s;^tu0^Z`(&wB0TeHd04Yr{{{tcx zRi7TNq1NmQFE$5Ec{)SUs>ltDq~QD!2c377MI)k1s6*YqYOTS?_hU9K@~09g+ry1> z0GUtq2-#>%!9dPnRPS*!N@46;o3df*M-Il9dy=l@HL0nmoX3uULDVIKyw3S#t-?@(!wAH~c#<0~F*C|B zj9wH21099);YfyMXQPO;{{YP8$7=)CEdBohs5icNGx4e^dJGX?^nJXf2LF-y2?ReF z;VX7gNe-rUmSPJwZs3JjzDu#uA|Y4-gn%w1l}$>`_y++bGGSTkd_}I1v8Khg(3EBC zS6$K4gCLGSrYKQIK5HniJF>mj^|iWu?ZZYi;dMB41kJ=tsxK$f(U0sFBB84Pn%g zXy>4)=ycoL+=B8)$z*{QPw9VF2H^ht--A?<0Ltm)#)9bXXL|MYZk_S?s5aS``2TP# zF^T~&0Iu22%7O_n;asAV`o|E^>H_f(j#{$Gtt=X`u%bByB$7(;@sPGtVFMx-MU72Z5YdMJ9Fo@wq67~Q+AHD!?rxn z;nHQ5JPO~Om8TQ{%1}Rj^s*SP%?n!}kXX@|_)2DDxI`gw#pco!B=r8Y;<;M-PrWmD zq+M~-t=*DRFAmZI-7TAal^42P(yk%yS)AoHv|mbbnp_rnSSf&=jcbFtXD)G3RvAD$ zFWZbP0Yr1(j)d3YI(=_RcnapZ347bUJxArtMrMYi7a{!emaAr^ZTuGB<&$oV`+l3o zhJ!|9&1Sff4o$^KdvD^aS#(}BN!^O=xz%Y7G6 z7VZttGU-@!Mg#Y9F&gdGnXC@xVyGkZTlI|3bvI7x)l=x)hshpNGk<)6HZ`bXfL*i?jx??UE|#Rjls@X6YN(Mi!l^YY$P2X=iBd;mY4k4XyJ=9zUklC7 zl`x9DDZ%Y3K^=y58^Yk}SEy**s6S%zQ1$dD2v; zoMV~+7pI~p0_`lx*!z3}hfom+KmY_tFpi@~DCL=%D%)e?2ChTFYaDbILNt-K2XFL; z`%f6lSF`58;gi6v&rgdPm~g!XVbAj1ru* zT#lOT^NJiU;Q};PdJ0ifik%IU`&t9mhAHC$Y9ZghMd@k1^4ymbGBXs#>N!NJwXC04joZjTsq4jt(z(=;FI3E_bkEns| zWKZntcGMJ*+Y2+qLk)6|nQ-_dqw_4NtOYI(8uAg{KMaT{yK6tV^yY} zhroxN7=F+D#IO}E4!-_rB9US?8xOr|6LD^RitY|K`Z_mmz}q0h*xkSO60g6rv$R{S zXMX1*m40Yzca}|5{9S;7ogqC_v>&!N5t``r(BR12s%c2@`aeG^PX?w5$L&Gf%?O zXhd=0yc7jW(Lt3RvshaBcq&pRF#n`taG0F?0gzGDwob7WZab2#Tk2(sr@kQEFDfC_ zbH0u?vu!5hb+~Z=&OOc1Gjguvvr8un2uUk8V%@&axcZ;1j%T&22cZh^Prr823SLqD8>PXh@4WcLL+cKyZKVd;cA0b% z$_vb6Ctl~7RezUJnNpvSR#t!eu${$5+EZMYW|sthg@;R!onn$5%?C7*uKK|?&Z z=)?>r(9JovA{Vg43LQTJzGw=QWPagrRu_3nsUlTZ3&@9`9FVT_KWi#$Y)WnY0p*y9 zFb$!gG3xjH7uw%@Ko*y%3{}2r= za4edWSUi$paGxOK9MDr>)FTtBamD3Qayfd!Uw#zpXws8`iiVp)%|3_bVdV*vP1`ak z#b+X9oH8Yhv3%g}6;<7Ab~(^$be+EOM1x&~DpKrkLr=^zypJhTIiRe6JfRV37R;YS znMM%MX?(rqTQ0QgRIE^!+lc!p7Fz%D&!FpI@*1KtGajnUJShyS$P#+E!nvMUMHE|Q z?JX~d+7hJBS@`*w3Xzo^@G(Pez6TNkzwklaVk8m+As|^|kb8$_$HYI+V3T5NW+xwh z>V@C80*h7l`OaXs9eRDLK^0-9H?)(dHJ2cZxX`pA-l<74ZsF`vO@dJ(2;(rt15xY7 zG1T89drR z?|*=wwfiY5DI`V*u4t%++@;9(%UQt$^38HSd|Oy%n=UoNmXO-@%)VcSf%JQ3tjo!_ z73Zh%2$_^0F=v1rPdHr{M>riiKm51)!q&*K6x&N!Xw#+-yD^@*O#2~P&CAO{1Q|3VTjRE>Vtf7+zqBFehA_M49uyo|t; z&A>XhoLWfi?QVYXBM%o_vJ&~*A3MXx-N`wAZ@Pt3`W4`hGC{^OV2Amb%+{$Xp~>Ko z^kAn*_q}r)j&^f?{+Qe>ni<=Yn;6?M6$;|x>DKgyzRV(9y(^byOr>S>)m^f<`2z5{ zU3xon#0 zbjhySpisqxEb$oh#61axs>Q>rQ3Lx{)#IFrFug8xFj(9tyy1r)7F#=K^jFxrxR{p+ zxHpHEB~@=Uk5-4a@J?P`4e{wF+wrlwX#GxVU$N9YaH)r1q~?4g2#-Jmreoe1MKq(( z^sFNvVaDt0(S^~JkL$?r1|O}^))og~sO+zgy#p5Dud8P-X>9%OSkJ*s0k2qp6<#Q4 zUNhd_jw5a`j@|!J2Xk0YO%aORtx#=Z4pakj2%&n~OWF!rBnbqBn%&yVm?Wcwv{q`sB^3HfLSr}ckJ)c-Bw z6fwd3sOXlJJ;d`uvrc}Cr1|>saT1ujBvC_-Vn8eh;yANCS%UZ)8e{)PW!AS2Ia`tz zyRS=-pS%~S|Mo-hn0Gu>dBUq35hJD+VX<(UjI4hqz|(K~%(nEzb+ex(@=&^CI=7ja zF2}O5>Z@ub089an6lS|$x}qsDsb&27kTkwm75ev|=u=>eQmnw|(EJQ0xv5;@t1F#h|blN>!l} zd>2@OmGT&vS+>*Ds!==S8)Zp+}~> z9;?7jVfZ{)r-NwOcu!n#cp^)s%EpY0L)e`dMeUBtNv)v*f5%Nk5WPZiKnK%9GYLD7 zp++kGW%+@UxO*-=6ImHtK9S4vFtkS7qw7fu;MwvFQzkcPJj1Vk4#`|;Rg^fg;M4W$ zcKG05bN)e0C&+jjiIrR;v`y$>+OD}hscUep+T@p37KT24okkqOBcHTc&AoZS#~36M z#AsBK`o^F2KtZONVSI+^>I1_WHL2y&?)Ni<(($Jb0Y$kQ8hej})2?&3&tynaUDJxoWTP4Ca9QhXem2P@hk zM!CAW)QJ*hmOtfD6<>G6#7-UszWX3GUxRo>)e*N+TB|dOHWaXW$dY)vJPyX&p2&Av z{;W3yF|;>N{u>s>2bAe`9w>eE^7ImSHM>1;JKXq1HFX%|+&wZbX(4lv5(B(`DX?W<%$1#slMY+>O$CN#Z=9L7pdDsX2D~!YHT}_*yAHj1-=+KHu zt`-GrrZd@29S*-9&e9HDqoIo4LKPrhqA@*&t6+2-{EU~O+=;9OT&4*(Wz_0lg8Fp# zWOsz_dF<^FU7h?uX4@1N@9W?EDi4`0FAY|?^Vv3#5L^Kuo;i_rWyXz4E}C@-GxsH! zaVvgQ^VmLj&1zaR5|$=fDKg@7tvz|I9tu~<9zO!%-K<+Ojzh0n+L%4q8C!o!gvMrJ z27SyCQyExtSJ*<@h)bCd_i@n%Uc`_gYa?*a-4NPy*-@p9s$P&Z9E_;SA(1l#JG zcOt!KWusoGXfCvfO`Ss|%dEirF!qSCEam%-4yJl22zhg1n5I~OmFM>8sNd4TH*SmyGRNZL6*VV4UYl@;h(M#LZdEo2HiL;*v#q2u@*OYM+ zYWfYOS?psYBL0uW$b1VjOLS%?x6X{83z`A^?re?I{&h_!-M}5#pI~6?Dn_I2PNKz! zImYdAR^l;5wf<}GuD0d`Cia((p}!ax;#Qx|f2tOl(ZV$->4vz5II&~AS0!fJVO(4( z4>$UP1b`U0B${0p#;aexrM3*hel!6dit{I46}~N}ViDu8Si@;+rCxFH#&ACQOW z`-e09c|OLp&6By z>-}Ppm%zADo7uU$QB>*DiAoD4J`v&{F64!$vs(d<6o02##o@9H)r7T#EaHQs5En5# z7yUrbd0;w&@}|stDgY1;^K|PV#~-}LBaMO9pGxTWP^Lv{{HFHP^t!{fVb|o%mGNrN zfWFXqy~)MOqc`s(-<>f>Ynp%RQLa&jd{&R$1c^ADFg5g6aIufYVz+?U`5WFkmQn3? zn8xipl?IV9F3`Rc#@cTB>rNsQVtG^TkE({(6A8dL@ze;}?FYuv!?I0gaJIHHfd7fY&uf^j>!_@YE` zW>P`344WDkVI`PJkG9=yQVuZWF0OHR_OUZhoQFvNz3RKXOZ{#{+ zHJ2^06@ilqOh={!_4q|IWfn|Vo@4MbZ4|9W(CDtHuJnXAl?};f@ru#CgmtXbEmnebmZJ|ByhJ3F1ch*j3MQei z{?5Ru(2~sGQ|z`J&VWE0r-RgAD!y!_2%v*|jNqduiq6pBzPdhv!Hx)@xjwZ!fz|Bc zV!!J?rZ>F|+1oSs53Xefbc2!+Wq6r?4u6rEQhEB5hxrLKDd6Y98>A#*5kxW~8f&hq zSqA8D;kY!K4TuuFwDNdfFw_p3yFWQ=BBRqGg{GWVM4C(6x~7i8D|vu15xY{h%Mn>x z*!Txyo#O5Ux8hpdwYY1LBEhw|y9Bo)#ogVDJEar} z6n867+}_EzzM0ec&v8z2@LPNB{XF-5T}5C)pVvr%Z6sxQbDvHuq`Qm9-?}m1|BpBI z{|P?IjLbNN#w3YE5n8(Y=phCfc@_P8=kyyYf7!YGMY8>Tq_ zKqy7|T+k=7*k+l?n@7U?QKrqyyM0@{{7-D<1tzGgDz+OAH5I2i418XXvA!|gp@P4l zvrbRf9eEGerS)P^m$d7@TF{zHCK9$CGNc@zI<_L%QQyWgDA`ig#0u9ONr?rU8S3pS ziPE)?^iLvO1k*W43EsDOKgY$pe`yqK7G=REJDep!QSlTMA>aItJkpnYc%)+T&<6Wg z_Du}%l&gRa27`Fo6aO#4lweKk+5>lSrO&(5A2BNpXnJt#qDskJY_zjpY42M0LgDol z4`O(Y=_ctuz8RD7#D9~Exsa=_O_QxMam8*z5@2s3ra^cX2nEYE_&=Y(Y&8R0Z^+$q z$U|M|a#LYSjN{kOda2AJ-hT{eY%CN%d#$LDC*5%dz`Gi_=g+gv+Hkt?euGTel;VOo z2aCWGWoP0A;z|>qOuGHV59;asCubAr?C>#hk;^Z&E-q8gI=df3K5rnef5DnI zhRsxQu$>paiTEeKFFhetl+|-Mg8TdX9DFAxg}QjGCYp!XQ`G+I`c7)wYDG9}VHd5w zu?lDkQWfQ+(H-a*?X_nTQ+_ors!%|slI$6&FK&k!aj}K~TMY;LJhYZ!?0FP!sbk$kww~OUUT_FUFUtJo(yjdK$xx8X8&?InDrptkqhUY9KZcfJBg}HIl z8%=X?K_w%~m;8}tF6q;ltoXK4hwfy2y>bPnvHh;eiSXg++N-Ka*$B1> zK;LNlT3ka<$JfO`Ax2DFJ9>#I19g>M*^^p!^qkK^jo|MyMe%Q}lySPL-#l=>kK=*8 zu(}NJy+nN4+gK)`TunUFZa>A<1J(@PX1Ko(rt%zjj&hp&Svul_+fV9FFTRdD3f(j4 z{T{U>B=xnB$F+ib(m5A5ESOMj8I76gOqOI!62H0;YqS5Nm1>e~zs&Vo_^P?W>5II* z=qAQ3^i*UsPJz4EyEtp%(ul!&H=yYsx17_i*p`)~mOS?FW9L@%O?_{#rfp|3RS@Bx zO@ZPKmFZ0FbW;kUmZHUvGw1u`YUOO6W^ffV=&|A{KVKY;M38|leQR3i85-_65uGsd~7%9&!D{s{D%Ne3PeO9J}d9Ou_{mGnd^e?`T` zd>e`1XVBtN0RuAH+gD^3TUx-DTpA3V@?{`q_sUtCH*GcmA#&7xwMoQwZ8F*onI+NS zPh=lkh6&PDPXzHj~7xdwf8_S)MN1$LggcqjBKO`wD0wSIzuXay_|5zJz@lRpyHtPF))k&A@4KpRT zO)zYnGW$jn-N*s6%> zDR=*{7_%`$EB>@haiWQw!5%54-{}$UiGV8ozl}ef(l|J4ct}^<2+;P%vU7{j@c}QD zP+GT4Yhm02M{Or1E5-8y`7Y_=ZUY0)iw5=F#j}0jp`-E|DZEwB!eglp6mXqPg5Vr| zdxv7y!IwRuiqsIO8%$NGT<|k=u&da~j^rOl9BWGvZ7n4NcGMs70c9d-nC}`gjWmfhY5L0pZin+$-HT4(KUNW#9k=J|N{kRO{t|g= zYZ1BRoy!PS35v>!J^!3I0L>41{+Rl?8QfY%JWDUIdPkNjYJ6R3ku+_wh$zR>o59lH zvG5J-VpQD=xW{I+byl|8wwRo-Q70dbCvX8qTX2qQBHii&PZnWpoa(Y2EbEy21?ciI z%FZ%uU|Z??a0M(wXKUL=fXRP= zz7HWxN_#2RfvxtKa-YSRHYVFwn9p6@hfV#VWpIdH+MeATI9{jN(Ql`zhSHi$#1on& zJWdIC-c8M!2r3`Ue(NTo?A!fvFN7hdl!!Yoomtrj-O(z-z8s8Y6lF3Q(tg7pS1^^* zL*7m3w4`z9DgJM?{lfnk1C@q*)&lAS zi?cml%Dm5(s+&QMlZ;l?o=i|F7md1$yE<<}d>yXKvQ!4Ye-`pz)!MtjhvM1=|UEbkJ&~bR$RiIXh|>MFV)i|Ngl%_9Cfw#Dn)JMnGp|;yNuh zEj%9gW4?z{s&!V%jS+WZ`;eIRx49W-V>P6<{_wW5W*b>qzf>EqXEN1+Ftx<1Ac@2I ziEAE^-3{LLPuHIZ^zLrGn$b7Y37@9%ksCdV>3)wlyheg=w#L1DYi9y`uf@xke=Wz& z-bg);&%H}sQ*fnNxEh9|Q>R_ek9hpdw#=H3rLSoX{v*%gEhnf|S79`e_Aa46)yC1J zQgYr`*szr7Z>nlNTFQB(OVr{;spiv_lg6y2vFB&9NuDx%;Cmu#xQZ9+TEShiw)|o| z&e}}XM}m7>`*2o%;bOW}F{$%Hh5nLxBWy*cB^#-};MGM$W>n{IojDTK9BSD~9!>VK zV;Op;`w?mq5|0(ZAMVohOT|m%?)G9a>E}FxAJDQ?ULm0JAm9sbLJdCMr@0vUD`!Dm zR}>YP>BX=E4a+~li>l*2ZG-Ch_wQX&fg{AdG~6FTg^svcvj@WMAQp1($A%u~%{Q)~ zw`#Mlp4Q&VWNPy&Ex}j;K0l$0ZiQ3zg)`Z*S?B<@$ZQs1H&-3Cz;&zIT6KzNjz*CTj{>@<-jlQ`V zVCW2o*d$@Ry6CI`zwhNoI^|p95g5B*viakvyuY6tY{tF#@-FxT_I3W z#Mwxgr=gQi{SUA-womkFRtBUPOoB#5V~q8Xkh z1Ms=CqeRAa;Y6us>sxg7nQ0F{bJyGClbN{r#8c?_tA5O52mZHQeT;}<`Ajh`Qn>9n zCBu9c%V4+uZgPF5$A;*R-2kr&@A2ldcfDA@d!?Z8KMv;|4wWC*K3dF&hpl#fU}9V& z{cLB+4&F1^TLon>ZsNtkaGX&oMMxjm`WW1o9go}g_5wB-%?9yXhb>N)!RRAxbX%1xe@=!aywnen6Pm!cC2XopR)1S|9&wpJWa&UvG(&G zC%)f97A7_wH!qvNs(nrGWDAo$KCQ26`)cq~@AXbx-I9bBiv9D^s*{{FaTC^rQS+p< zSDfV<5tqxlnulB!a_;bM;b-qMzRZxi+4wTW8BFT7RCa>=!`h54YKfUid>|vmO&$5~rCBA)6;UoSOdFfS)r>k)m zu3kR96QGY(n7jB-f@$P&j*L;^KL8hF^e9nK22A7mlw_Soiq2tr8SwJiJMByCI&Q3(pw|Llb&scPbYq z9tH(AqH*mY+_4x3i~NC39!VVAroRxH1E07A|7l$J7Eb!Hbdd^CNqk5c!K7CL4TYUh z;363l$}SKgzfIPHo0sdYu$VJc`x({YAar?DCdby1L!;O_wPV{NX&(QdCa6qCEla$N z{c(7fRdtg+JG)A%It2P&CU90Zu$)>WbFLQ7D-k89U1Xr9YI6amKKD=WAT7$zw6VK4vSFY~NG* zYN&tkf^VjG=nn&2Jn`rctzfUrh3s&}Ym#-RL~aq*_B<~Cm$ph>ALs?i8Fd2yYRFv$ z!@90Ux&Zw{i8hGcjMt4FJ{UPCfhJAU2S=**5*g&62{WJh>rpCyeMW6N{W?YFvcOx0 zzdxCmI6$SxA}~#NkvjCP1h+aw@I3`NTsb{TPti#3##(Vj(4yjw*wO5vX$kudvx-c5 z;r-h>zg-0EHVLudY^T2}&&DY@yRZR5E}Is&l(lI*rs>#YC^H1kZOEL7`(n-Z_5m(HHf0fiu07B5#5?Lzs=2 zc`)IHDa+D>48vfR+UMYNlpGBTRn}4v!76$S5d(PnC3rDck{#m|y82SL;X_=KLN%Tn zphPz{o;}Q`Dm_WcI;`S_=!F=r{gsW`Pt|^yEK`F$bw(3}M-)uq*hcKebT(LIU*3b2>e4`k}W2Y3PdgBzHpU**ej>Ku`?E zx&}>+yxgU#BIbxc(XgiRiT59w$)WKls9_V>5Uf#@lUM@hC0G50~mE0%^>`q(SlG;p_WPI$QVO`|g{M)IAu?PP? zTZ_h|-a)`Q{~>e=c+>3W;ZB-*E%a~uT6N{e$V9rea@Zg^RabGCeCzY~3a#$%`u6M7 zl2F<~JVQ;p36hg8nR%-rf<~nFMB^`ljTM$aR__}d8^xO(sJ@T=)WxQf_;$C^8(6t$ z(szcuI!qwawA*p@?W?2V`F?j?ruL!QDU2$OOZ~-yzlp7G_W7Mo)1BF1oD(-uMR=9x z14qR{ z0W!!&`!qL&=~R@`=S*?CWc2%6UFsq|mJ2BZJHHO&K`k6hFixFE?j`q<{|Yv z8&xZpq!0pu6+o-*Qs&q{{;mv1SmFU|w@aY9EinUD`3R`FJiz!x> zvI9Q8Y-YgN$iKFA((JK%5f?e+l~>ft>aw~^i26n4m9)hN3yD*(GuG`VM=1d66g2hW zKD4sK)r*qj#4ud|26h^vNi~2m4U}6$+)+y=3aLol^{K>ihy*87U+6H0RN5ERqD_%5 z4A0}19rBW?WV@)R;xJ8SdVQPeW~0!olc`0JEGeo>8z6|G25jrDohT<7ragLQ)J0oN zu2*A0T2^lxB+}Y0-BW>(%C^fHIQj}pz3LpS{Ak>p(r{w3kM7vpGp4#E9IJWl3+yN! z%CCXQk^SU>sfTZ4!umh~fh$I1JfwxM>&jl$x+(b(2FQn4EnKQmczMimKSbF4*eWPj zCqepKSzcS>=-(%DU0U?D^BWZSeGDH7BUNmZ5P~Y=H>?$n;Q=*PTV$m%gVI!5z9^FT z%1j-}OM-8T#KtLHWuwO}_R5%kz$ajwIV&$b3CXvp{$CgOr=q7KI(K!ahY}ku`IM8B z6Eg(?udtzsP96IqYeY}i#t2==_oGGt_HSKNyy_ja8&=YTNE;|_LiL1Ld~c=mcH_b` z8KtZU2@M80B>~o~Yk0EgYRUU-8CQ~;GV*RxLhjFB8G2Ro}t% zw*r1=2V~GVg;1&MlfrdXwaN&JLqC$`G^W@Tqm54?5UM@o8$O1cTKTV1Gl?sDAH z#c_;-X8n_s7`6h#Oz`df{*5>_Vp9i!U&Q#!l9CQbGbWQ|nyUpm2Cn0Jnd#|8ZZCRj z+~4@?4O?fW(S5sA0p@9P&Qe9V<`h&QRYs!Ueg$JP{$BQ9$hYW2wzMRT`;>74#}4C6 zZ@>l?KqU9)PZiZHTRT6Y;vXnvc&XDsc@41`8LsXjNldBErWI31HgByg%%3b_H&n(r zSDlacg<{&QW4wD4O$nEfvBw0ED{k=v5tHg*K0K8gIKySnt+s~Hhh3R z#L|#RQmm9m0)h@N5Y~MbG|tAh*MN3(a&hTAQ0#TR$x88>Ny_|m)h>!jf)i7q1%M`u z2&_B5f5HNTl{(hm#0w757vjY2;I4|~@4KyeV+jg9ZPem;?vSC0BKrK*`)dX>(h^~vJuq! zu-MHKDXvN6?(oPx=aIjRX~K@hB%C@+0Hz4FF3_Tc%G;ALTXDI=qBWvHa(utfS9fc& zj#-yoCBi3$#&5=--7lQdJk1KimOVgctFBuB-X=qFqoVRnzwgncVCjL1k?tzlTZ3Vw8>ejNvc zD!S>+G^4>JTM$^fyPL;`EaawITncHn=J?X$*xlTARx#r*Ozb=Lp=8(*C+Yvo>=#72wjJX;c@pC&|5G4-Rblucjc z_<$tW;!3^Uh|(b;ZW&`>w^!VlU)+QL9X&^N zuvPDmi38td5OF7gJ#kKQqN@d2l+ItD^(kQw4eU9~M3Q|2{V#DmwcAC+tbtVfmqg!x zXN9DaH&+J6aTIp}+a{piiF^`9-XZyrKlB))2z}>u-OKBX+Z*2E-`J4jWeuUKvAPem zkT7`AX8c48t;3hVFVJ?`%i&p4Bb+({b zpP{1v1<{E3g6sV2lw%T>?fh=hWe;SB>k$#b}le`ji_7$(jaJ;f)^CI8Cd zF`83$cN&WSR#bimT*@x)&-49j@;kKpB@E|0-WM5(Jtak3@*Fw7@cb)8*wWU5A9*ls zt4=lKW)>(lVqFYTbq6o-d|V3hJOn5)Q_YliNWdZ8odHLkG!I% zrz4>aETvgoU6whz=Eu~apGqS5rvGVzdS3a9D)J(#g%K2hx|Dajm_6EREBGY`eIlZ! z1jC>~bLmVGqaI@~e_*ni$JN(_J})aeGGoG8k`kw!lR(~nzc-=iT#m!S*&jh^o0J$4 zUTrM1>0I$$M2|e*dO1#sROrR%o>eVWB6Q_R=d3j{CEvG}Fnz7|~n|;G-xlKu(s{?m-vCyYNkv7?=3xD0LfJP`|;-a&++Dd%YXT|f*7#bjM`{EU^HIZq9bE`wLs7ml5iy@TEv$3-IMvIJy_MB6R((~7X z7t9oW%cGL?ZeYtTf~O}ZV1e2MNc7Kb3-d#i>a4P;R)oPpe{I0JpvoqRFX&#h0qjyq zfFT2BZ7Y|hQ|I823V213L(20pyZnGzI^c!?r_?gkp4@Y0`dK*-gZ~bZ{2R+uLKw{U zZJD52+bO<_IXV{nVH2d(Pb{)l0%WlfICGdb+q~wFJ`fMi{$rWKZgd2Oaxd6dxJ#hd zNYVu%3{fnIol@Zp_FAuYBJT&XdRMF<)I_Iwy(G`Ra(z1@7u=yHafxzmmO)n-6u0gT zmjiwwQV_;xZ6PHgYOCdPfQ9KOOZM$o$Qz*Vy}>~9i8kjR zUKZ6|5Z>^j*8mU7Q#4)Hs+L}bxQ^X-1RMXvDlTJ~Q@{;RSiKn#OokA_I*m8j=weZr zu?SA18L;H+?+|Q#_xLTdjA^x%Zm{m|&+Mr?&F%gw(uMskeWa@L-dX(_+D8j&7I%Nw`-yjiJIy&OCSH^m=6Gt5927!iSDIE3;N=!U;7dAZqI@DaYPs=``pPj}OGCmrCdO<`W9$zAziI3f_ zwQ>a`p{``xxN=MENF3Q8CkJn|vf@Zg*K~T~{hi?8_sKDgyXt+@zd-5Ta)cg*7c4!b z9#@idvyXt{N=t%W2Jpw^MU6lcsy5xyo!IutUVTn;0gt?p{9AeU?48j9C4!fXOhGE9 z&M&c;-|q*ExN*LTgjf)L6uhG1c~((p-8AGbqw0j_Ds1oG+>}M5f@qNa;Xqi<+RDtpJCqa^ zhYf}9B{K3-;Zw%u)NiH_9F@rLD7{m;Y^^w8C5*D( z+M&5+@$$U%1MO_5jr);Nxq0vCa|1IWI5Mo!zC48!D;LeCNl&qrp`@f)IB-_~B3yeP zC)c{EBV=ifH*K#iy3x$o$zv%M{N(tR#U5F&QEo<)&jP3#^<_^0h;V6q3P%U?|2UOv zzl)brM%nPTu;BWs$CQ5S^AtRXE7QgK<+8ODKz>QgwHx3q`*+qYCx4To$(Wp+nAxf^ zz3P3BC{9vWy?wnwqfXz@&$mDV-pnKiGg=Qf3=$SnJ(0_cvH5q!Y~{9e>rkSK4rej@ z5R%;+HS|gPq?qa(%d#;F(tiMQz+^Z?xJiY#n_eLm8ndPrIk|+~zu5;~?yh`OHHV$) zdivoA5G8JE){jv_JBdq%)0L;rUz0X7%KPHlg2sGmGYUC&-5w!C`e;*cN2F=zsu3HJ zjOdt6fE|N~4Pvhl=ilWAMu!a-MD6PiV5#C#f0Rk2UPkf@u+X}8Y-gnD6*vfjh`OqRj;t&2el_BhJx=?dj?P~)ceUh0HJYL2 zm@^nXbc)W^NUNLMtM*j`ul8yzu5@g4jeq>tXqyinZhb>AI%KrALUz9(e zSS|#!60?pf?iiLN2^$V`N?Ive%y_rO*gW447@2pjW0xwR{Y>m|AaBr^?h`;gZ7C~N zppBeejwl;Ze8iJvSZXh#To%C(t{Wh;pJ56!BN4qw{(+wEgGY$Y<&V>US<;}gWTika zyJ{YoY#it)n`?*<_x+UXn5#azu8NI$g11LEv_rkK}ymn$T5COwso>< z{J44X~{RMx;KCG@LK%bKqP)p5Ho6(z)0i!FOojNHlmdzwsJ!5wuzBIi5)(Y`A z`{u0vN8~@iUv0bvN?c)uz^Q&wYPTl;Z~a@wJ|!I_coP|&P$}3hfoO5F;;JG7sgNaY zMB@V`HDNd>LFZ%q2NnqXyJbcyYCk`-j??mp*)tTjz^QYd^GLQfEg8~S-*EA| zU%l&4?gYZJ)3A!ca87jk!ohC0N@5xUq3^ylDW!=)l=ebWR5>&wohPFxZR($J?{YwX zA+2B`WQzT1BfO<|jaQU+QtU>U9ky3Dj9spP`4NGQDYbvPSkv2XX>b=3B@)5gGPP-v zWGo&w&~I;yZJ_U+ z`O-AZoWh%YF%e==j8rS$0lyzt7-f(u zx78OMhq(bmc#>iKi94~%3Ksy=dN0Nm#^>D2^7`zLK9FWmPpd_B(>=nH@yfM$hC@Bl z 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�W2B&MEtEjv$Eu)o5miAI-rJZzIfm$voT z!zQoqu7$Tck0>|=NW*&_#;BfR2B7=`yK7OE3bVGskxleH)#z&cz;DQyki0^BSPj*+ z2%BDwTKykuBP~^2At7#tgOZUQeYR_odzA_)LF?ew_jdZxNc9)M2I0@(KiLZTZT`2S zZaELj0^t_pIq_(tXoo|hiylpTZ7R}ZSN_gAdD39zNcoyF}@<7K`&Eug5`K%Ybe zJd%p&7Pt12ub%pCryHqGpV5s!3b!w_VtqTXPDoVd2GtVLAaK)4Qr{Gbb4oE-FZJQZ zVB?S20J$O$GxMTA0G~knVmP6E%C1&V9}sk;rH81Kd3G+gcLqHv(&AC5m(&cI;y6)L z^x?6zlmnM)pv!$NAL`Go9N&YE5EaK zxM#!dy3GSv+1d!Z61{oHnK_fOr@8(Se8#+Q#83shi1l_ZitIypvmU2YwgfEA)#tIj zHjWkEpZre|p8qk|^Pg{G|NHOo&-ZYtakW?aC;IS)PRebHZK`svqMrbmNtt|B*(9au zvXKfec&(FCfw7#r%aHs0k=F7_gZAaxFOP4Qr`UhQqF&Pq?l)e%{-OnYTtyrq+ ze1&aD9B;fTqW!-#t)s(vr#GmHHQ^iQmM36Qf)E~8Xlsa@eQ;FCpZs=kTi{I|o_ZeW zzCs?7Kwz9Kj($&g+v)hUe{(jb2x3lD2&c!W9B{KHk6Z{SYWtRlb~_(;h-z=~dNkeb zs)@XA0Jf@^oQKwU#`s$Rnw75A0TKI7EVc}B=tkgYY%tyja`>1v*|d)wi(5}~2y<=6 zTw({GmVZh@8XFqvtLBRuNwzqMVw4bZ7`0iq#YQke0P}pd&jSq1>)R9|N$xTHW}(MX}+~V7EeQnTO#j z33#V-CLwsKQE%h+S|%+;XG|ZJGRt0*+a$;1F)zR)Ou3~wPmH8=+~VT0cEX|FnlUHs z)Zww=w+nQirVrULX@`3kKz>>#*6~IoEl5NwJ4Ur|6oNfdwW!HrxK|bmND%0_ySuFf z#j!eaJjTb ziwR_4f~LFDSGqI|xQlkk#{}7BXS!6>93mjLAfNS6wGUmRGK35^({`;G-b#llQU}B# z3R**u*RZx{a$CXy!S?Aa*3SM5jO6F|5o;tXJWUN4A6XVyWqwkf`eP11(X^j1NpY-w z+n2T`;x)#DJ3_iW4cJ!l{239wgN__KDFJ3t2>RAQ@(+oP zSjj7RC&q-J;O~McGG9zG;e)&z+QEinnQWbnND}SGrkkuB8i{fS8e`wfcci_^qh1-8 zJZau0a+-;Kj7k{Ofp1^|SYP-N|7gW{PV#hMZU>P{d^nk+Pc?!$9K$DOGIV=Zyt-;x zZA)%F_Mb2H;XAZ28RJ(+cLv{xow?QPy&e5Gh?JO$d>Q3vuX-oE>dQ?tI0Et@k=uAL* zrg)g^Vc1;A44d-6|AmGbL$oO%`wVUQ&$(8W@G>~J&p1R+r3%}PyE@9&eOA6hC?C+?Fk9qJhrNW+6T4TJ8``Uj7c>ckiS42mOeBW$$ zn(wGl?OFH99+K}{PBk(FlZN*0)Cpo8&Oe2{EkV~cdsGU4-iUHilSceFu<}|F9op!{ zotzmQ#(VU8B+`qw+DF4hzOJTT(RZ-`U!X7zKl=1s^0x{@R7W=>vJdt~{#O9U1UUO) z$~Cv?J2x&1lXUaN-Jpw3JU^2+(%X)i0}T@QYbns*6-Dc1FljKy|X%6Jn>h>)NGTvun_BCPuTi*`8=q+L94qKpiYi z#l0!(e1I1cGVajm8IMD^KurkT zZE(mz=x^7jV?$CTAxS{S_R~Z7eg~yEfMUhRy2DdD48Bg!s#S%hhrYuW003uatPd_!q&c&NwwW~Izufl)m z7fIm1$ULOHOg!YIcqMnl#G7Q;s~uc#`r^$RliK zhF|SRB!cowAvRV!6|PHkuB~@>QRNs}crw2^&*3KFqJs|`6C*PZB1{(LF=8dA#D&&a z-bl&ob}FyCb(Dr3>UV6TUg)h=f)~R$o;#4?xfGKW;ByCa@V_FRgjhSBB#^~C#I>Gi z)siT}gTHAyQKMX`a4oj#%y&JLHWoH4*<38x61tq65wW0I3pqxVA8ybX5CU9ZPSu^) zSWd4TBI%U#z>IEt3S2x7@(_m!7 zQ5P?P!NtRIQu8?R^Em?+Ot_=lw;vk7iD!NO#2sy+uLt~}$^QV?*;@2%S;YSU4D^0J zx3N#5=JGQ@{w<*G(USTL9SH-tu9e>&tMnzgZ`hNMkVH**i_2ix^8;@f9Z3KXK^j%h zry^+C{7t#sY}q-!4-RacPmiP-9Ik9I8KK7#IE`9kZ)j$1g5+GCE2~p!{lB4w(s=bf zTjt+5$LBstjq*t5o^DH{l~7?=nsh)Ek)U8cjOc5U628Eod&syi=3 z$?>@yShI5OqDUGkk$kJ=Re1p*uKN*ls3zy>TsE{bsaFI%-a+%FS)f)DVydEAM+U3-HP>2|lS2u~=0=M)9z1ph zgGrHc30og%TiVA%bFE_5OPm?nVhR8#0H6YZ3IHeopaOsj04M;U0)PqtC;*@WfC>O8 d0H6YZ3IHeopaOsj04M;U0)PqtC;*@j|JfF}GH(C? literal 0 HcmV?d00001 diff --git a/Mage.Client/release/backgrounds/Gray.jpg b/Mage.Client/release/backgrounds/Gray.jpg new file mode 100644 index 0000000000000000000000000000000000000000..284a678ea9354777f2329a2658fb68f76888f9db GIT binary patch literal 1309123 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 z zfINv_3);tAUH{a9xhD|9RH5YQHZNnn+Py2Bf`|4jq?CM_l2sOm_pvX8rhHLiwTdSD zEi1^S3^~yX9O1UYaoH|~VL^E&rasoSB&L7${oNS>>$8zb7?AcATHXPqq!#CCF#wnU z3nEPoHgho4$+BG^wa8V$J);s9EWs0#OZMNmI}tLtVBMf3;5$pR(*{M3%+T=huyvCo zqJzZhUAo1b6vO{QOf=bEblODLJlQMNZC*DD zst<`-J3s|V+ip`;BnHQ2(pW3$8|+K@juV$i)EQ`dI> zh#X@es_)Dx0RgR_pphWqELDMja1Ro!9cg;VA}fC5-=FlyCoJG_BnM7 z@P+vuc7vq*8~l%7>A2wk7iWf>E`L({7tf?kr|DxO{Ojvk`|rNtxdgusOsG0;zE(IZ zS?wBtJ+@WLvRSTy2HRw2@+KxF{zL!G_jy~sO+t78mB4n0Io`_IQy;!a2Q7psxe zW{_IxOs7Hzt>7Z|!ep7Y1<*t7d#0y4sTS~Snl^J zz8qwR?}bGbxTIK=UoCa^u3?I7W4CvccZX#=h-U=ni5{u7=nkgfn)nn^qHc%Ga`bJQ z!#|`9_yUv!wM#%R{m^%h@7B4EK9bqMOL%FP@$4vk$$9a?7Ut=2nVEPCZG zw*+|nzmN1yighn*PBUZ)tMFehnDeJX&K4Os^eDbm*upvA5M4VV`?*3^Qv2TS8@cya zA;q@kRb4QV6YxVKZ^7@wg^SwY^Z|pL1mH)_#mC=)x&VyCdLN%47p=Y}z$ndnF|dPl z%*<0-@c@dLPK8AByX61z-sex8=`J6Na4N`HnMRO>r}JzfGd*9*ijJB?q5;rr@eJ>qEdJW`+`g;&7p4#| zr{N0U_~DmnQcXwf@$Poy-4+RIYNq>Esuh_2Dr@j30maOd1Tr&nQ*ADlre(SgIB&RC z;9n&16j0CpjLYOwmH8Zv$aba&-wG~$LrcMHFnQ3$5jpjfrh#3FgJ`v^pf4tHx3%I8 zCgqYdx6#Bgpl@lSrS^Aadm&7a1y2AKYq(OKTSZ93^&4D*rIq1q_&wajmQ5duwuo33 zuLgpTWo0vRe@%K2NEv`fSG-z=v69o=-w;}GJKlL-c~S0(T@aUf@X}Pt<$cH52+kN$U)t(Va#=@;=`!xG zb{^q3cO2L?O$`w((-P_*U3~ujDglKSyXm9`*$&N0p!0O@XLx4t&10k_vy)YrXi$Qv zcvf2fx4c2#r~)-oGM3pRV&yz5ODOb0;WSgC>zjx>J~V9OzyBkJp)x|-a1r0i&|;LN z#@C`|-z5Y}^%dkpE^|Ts{vZ1TR-4l!dG3w)S8tPM+VDx{>An6PS$_S+&L1YWxqNZ8 ztOQX&pP&=BSO64tmkg+JLe*&2U~!}CW5CRlAalD|!mOVYkDB01Z~bLF;j#UE5W)(02gml=LyRahJrlHBvY#AsgN28$^dJA-A2-drn6Z_Y6PUyz_j;Ng34u(#N~ zWcVq@V)zz*?sQM>&{d8oUG?eeU5_vZ81P*}g@G&NvX+uB`x~5hyszo%-sk7KjHa%r<(@ZFzJ*}8qmNUzz^J^OyX~~65$%&NHFUA z7Z>xamV?)tRB!7~CzeCC76i%1W54v@dUekMB>bIvlkOjftY28(uH58Yy|V)ZnnbL* zcK7NVFZgT9?iVTZpdR5}rE04rlD&hV(NE)}dz>4|I&A-h#XH z7)O6Y3pl)N_mFj-8NoU)*5s)F&xYr$3hz92gZVW&_&@&T*&yA; z6k;rxz7A4Vl=24tQj4C@M>S%pt9FsnD$?Wps{0RtwM1l>8ea#tZjr~QkrzbQZjA9x z=&+(Rb!T+h-aP+WUSzNRLeqWV&ZC44V$=`;-=XEuZ=q5Or8)wEZ zy$71`ma9fj`SeOv}5R=<+y}Md@wk_Uk zG77dlq?=5{%3$4>gm+%7J=f6C%IqJymcSUsM7srZ&!s=k0)A;OL(}diObPO@CzPE# zAAxe{5<)rrRzEkc>V_BuSO&Mjz7VjfmRAj7&Eo>viQbT}h+7cG(tR;nNdon)lC~{l zAj*TaL5+vwIb3rU%sb(dMyi7C2Swe6hJZNv8CXQK?{=}bip=KYy|GM40Td3Waz zv1DX4?7k!+c6j%{P|~;Y?whlg)YwgD*QQ-o`uf|j(?(S5oDPL&@zO|)o~L#?=}&}K z*P!7dgcR$)pUoO&XGTC!6Nt4K=_KTEeGu7Dry*lD;<&T2^W)$m029$oK(};cGkvPZ zE!wK{IvaKW^W$MT8;Y@j60Alq)ko}tYO*g>0SHS#0eS0xA%qeS_0X*~lw7p{;!$`q z)C?!O5E_*0II!y8A3xTvLdme1Pd8UItoDNcs&0be0Ky1oP{%4|BZd>0U0>{gTn@2z zXIlN{5NsZKytxe{paa-yx_NK#^V1L~*^p|4(`t*Bt_C5vJ*%gCAZ>&E2`_*=0g0u& zy%xgJ2hBy3SKoZgJyaMb=T+cvZf2fdH_5xwTFpNDApEg#%d7ULEDVMt3Cb9EG4H_% z6As{1>=az@cdhp;x<}~FS~!8^=<$<$JNu=+jiATRbit$46|XYJW`?z&F1|ar4*p-r zLp)QmfCmUL=2SPoVo0KHSv$WaWmDxe#r-AUzjgQ}6s|?qg`D1efl8kA0|4*Vw8R?F0VRUj;rSGjY=@v z$Lzb^EQzPXL#fN2J9cdK|2w2{nc?d>01(2+P|fYF_0O_LqP`})8E-K(B4v2NLpRPx zSi!D0!_jI!SHXsiSWsz613_`&>5(-=UFjHuN3>ZKV5g$q-aMZDU7Z`Ik}C;%eT&JC zW5pGyg~xgsy28TyR}0NyX(;U!G9o>B0%7Onzot%U&1bLLwBz6ylKJgIXgJx>*^!|B zQe>LpkAu5)LWk??tE|RK^G}-abS2R=gKnli5`7kY%)hrI z@6@is%n=A~a=+5f)oVBzv3U$>g^ktLYFy8Vw<>5ov*L5r5Z_2O< zjNCZgg9f7!voDJg@_F@=ZHinB2gS7K<2SCeykz@lPXOkE zS-72D)n15owOL?uY1^D-$F;k2&{SEyhOBnuxk9t;ykr3g|MCnOvLZ{7U*I!#z(U_^ zvSOj*kQV1#8Gd!_a2<1eyzlOZstEIXAdwoqaV4gjZRa4XCp!dH&oF)o|HLLt^#j`b z1$kwR19+gg1we>sEMY3g41DMJ^Qqkc^}SxGuBZ=9ISz?psZrz7vWoML$7_S)A-uGy z{5(HLHgBkRt_bl>0*Q26ZTN=tSdm+`a~B6)kKQrg*h;b5?C2f1kk}H$iv4YBAmy{7 zns(<;v1%GKXHZ6QtV*BQWiP2|&nC?HQYK1px$$=O19!sqOVMrc;XGQ+{PSpVI59ny zcbFUbjpvUp|3Wkq&H`)sD~{H}-YI(xopfL?YL$OiWSNb=YhOK?qPF}W^cGfu8Bz2X zt!?#RBh==k4C35W8H6%5-Q1907m01MLwKc)cZ3Lo!y_<-=b2=~e2ESB`|6`1O>DE^ zHi8Y~ppcbG8XFq1lKlfDNkAGxY3?vPlp7w?Hwg!HR@}Fhx^2T`(*&?&?&Ig+W5p1j z|M`2AzW;IKLs8iTENIxr36b&$VA>aImairGh$MvospLf;|@>`JtW))lRv zS-NU>vS_vUKMcNjz8%j?LyytDSyp{bo${`eESKntJ^M`aml-VIE?d{;0bTw zH0=^Gk`w;{`z1~C6c~w}IYMV@nhFyX!7~x7;oW)0KqBf-O)XUcUC6*E{*w>vh9D4Tp!+Y(1&_b;)P~h&Uy)T0PW@AJDowvkEY*#V**>i{E2_K8lv*q?sE!lZ zV~I-9fW95qeq$VzG6nJN&o1p%cARh$FSl6SU(+t3$9vO$V{)Kbb)g_maHW zBOk=k)S^hDzKFN%)P88A=)RFEu}v11NGKagS^R!P8z+D|eftVOsnvKkFZiRUT@>M` zGdkr)1JN*TTlv&v6J!3*m5i9!8S?AoZ9|;b)}+TiM;?nfUEIuTFv{g{c7Zplt<23d zzD+ltX1`E;?V7e@zQPLW*#>Gw9B+lO5xFyR+(YQu~VWlqA9-3izX zo?>cLyb&nX4 z95=~j>Px<8q@S|>P~=e4Gn?#=A7`8LMQ`c$o<$h;1u&-~R5Td-lTy_R1HmApA%SJ# z;_Wx07W^?5I{PvIA(9b8B7e~LmHmE& znd5%Vwd@SH@7$o(N?}JHh-^o9De*VPc1NFi1G7;UB={%LGSW)j|C3aVUe)LpVPOSVab`kO~f{MeYn{k3rHKBh?(1N_hRoo z)HnUWa-0->x_GL9A^9lqQdhh? zTrl{A)u&A7Mxr!ba;*ZUs5aVOeWUN@s1@cMuCSXA*+B1YhGS*g%8)L@4(3-SM;3Ho zD>^l4>KwXU z2_G(VUViIJqo2C&ruCF!8#U66cH3}8g9G_>vpN_OP!)p5(xjz866gBxkDga%^?`@h z@=8a(xac2_(k2`bfJ94roI`bqOwcb}I%|()yI^vw{pbzjo7?fXqln3;=Skb<^haJK(X-vwR&q=gzx_ zhHr}$p@XZwUy*^XnOi`r%%jlLw|ipq6<)f9_lWI^HK%uj>xYS{Q{nxOD`G&RBEbia zE>dT8ekEhqx`!VxZFR!r%fgr%O0I-IBe=M!{cLRXxwof!tfEnBKwyhnMZ}6bR_zq2 z9`61O#qqq&FX(i4C zIvYVTP=5QNvip50FHW!X4$RrVg8y{=ZtuyeOZm-M5(MS?|Wf#Pr>OgJvLI8)VZ)p2YBijjLTeEt2=;jiQq9gCF zA<>LFK`!H6BC@Nj0U>e2WT)!N=EMU|*_4s4h8JUOB8~uw7|CxTUSf18B^Ah*>?5lk z3DWOFqe5bvlz_?adwApTPdalP7h&Ata{BHI3``aTid`=YJ~s#k5UH{YnY3OMjyTg( zkB_ZkoFJXXdE_2K(3HHlX2D%S=JIx9${2W$TwD6Jp?Q25ji0pr`b@vdFw*ecoJNrH zt4h(-{kfssQkfgem=PgZ$t|m;1I5jBs4O1%?KhaTreA_Tqiqv5mal!It1e7PokT#TrU0f8NluUegQw3yAO=A3{uR1u)r=MBlBs(tC8K{$v~7v`kbH~YUEH$9ewtf`76eevecptm#VPG#tv=qgS zQh22TY_v+G4>bU_I;Vl}5iGg9KJX$EQkYB4u)DDN?EN*ZC`P|U-G0aUP*{gY?stAZB(DxwtkEn3lZr`Ido z)Lc>BOf}pxG=AXzAK}u+MN!d^6bMG^4{lL2zwFQ?9(nl&O>)Y8E7#4)u-}hx?cs+a z=&nH=HWjL34rTog%EE3@d*V8{>G_CJoZhN#OZ8K+n0$JC2dt zlt(U=;Bdt8-kcEHUMou<1PhiM?%-9$wA!?g1MjI19#9+|^KU8=f|Xm#?h%F{e%WC0 z;l+)+H1`!RY8!9_tjA_Y|6f@;1O82?S_GP?1|H=E8W9)Ic26VO9fXuRuzckyv<{*3WD+?o{r9=Y8 zUIVtpq@vcCAtG2T5KB6ZaP>rk!nRc%2%@1g>&q%vqIEn7hMC}#Y7u?Ltq%R%)iHsC zbT|gXpmqjRu)qORZBI_&Q3ykr;{FY!#fc*bl_I_kw)BYuKJM|B9l!hnu8rD( zhZo1|ryU*T$M@dxf zIe4T9vZ{gfTvP`cKn#5G_S|<4*ria0>6u85mB=eY%lWygtk-DB-%v-CqL5KsgI>!a zYs1c(3~`t#OKp=VEfXty)x&#EkOTbP)^mm%N?~6>{~z+dg`M_)iSz=OTY6-fcCSp^yk17hW7PU0%eU40}X1JtapP7&QYAlE z9NhcG`@-jaM~^}qtPB{E_?JQI?-Kg=H!;>o<=MWEXLXPapVbKvT-9#)v~WtcI<1}P zx|hDGI>9^KSmQ&8gJyBn{2)QPgOLMwM06VmM}C4@>1HIzzb58PwOkBKbviFn7+EQc zk9k(b(Sy@zMQA*6k`4#&zOIPF8~m;ExjDvj9SHJt?0>$nU$49_gLh?RailH5{q%t_ zwFokYGsxMvSZpHuoEs`QrQ`{h2IQ}vp)M4b!3rxH z@bOSjP(ZzjUnU2bp(iewzUK%d1z7R=ew1%AXm-pj+6cXSS7J!)O?7{E+b(U4KWRY9#;;Dn=th^3%NJ6!ZF?kD0Q zCTK7$7DgjY)i|7p6%jlMAub|(##^kGE;z~Mx%a#eo;Ii#A`-8Wv2SW>Tj>_`_8 zh!6bz$Y%&**m&Pf)YP{lvOpR`hs>86*Y&n;LB$ zLjc6_(rUJG*7-&5VEi<^e9Wrf1 zA-V}pl&;q+F(1tC4{S&SIpPE=Ev;?pTj!2py0syvE381q|V5hOSB-*z0h>Q(G< z(Z<_M?=r)1*v8Uwy=Iu-cjLK~8)};|Vvy{<0& zT)T*)X~Xno%S;Ocb_4F;n#m&}eVyRnx zel}B>R7vUUff@)!MNqM{mG(yDZMbY3-v@EfbdE%ex&|A=>1H*NhXv_?e{HBjc=i{> z5OgwJ7C(6JF7}q^s`LoRcDGE@g8sq5pT)s9I-Df)j20xgUO<|@q^?|xR0xXJ>C`BT zCMWN>IsFvbID?c~mpDG=jr+ecyAzlH3H6ZSlS0|S{v;2Jfg>+y5t~G}#EZN-`Q9We zNCMs8^6EB0%&Nb+LOtop0ej0k{QQXnzJJDxZToo_8ziXqZDboEr>8oG@!ke9pae3` z-2FbOZ60BwPlC`ZV|!nNaUycW5y8v_Jj}^z6Ys>mFiocrY{VL^D^)rJK_r6Nsm%2S zB?1;A_V9)Ys18t4+yl1Y{`c^!*t99pK=~upI{}LM#2+P|>`F!^ZGnC*aLOOx>Prgm z;EET>N~H8jQ)|@x7(Bl25k&G1VDQU%>!kW?DZ6XZS7VcHBIiHPi?Hb$;2;(2g+SotZ6CqEezFQR6z~ zC$dU@;*q7pi^sB)6|oW0IGya2aPv=vFQw<7fb1fKJKMvRN9ff&+R)K~Vh>B1P(YYu zYQS3NYNruE@-w9^$Q`|~@o#5%q~*tlYtGu6Npe|-m@nK54;_B>pNOt7&eH46`=BFQ zpfY&XtLY4;oa=>HEXg%=2t>Wbe;=`BYp|jKDuW|U>grEhzH|bkRvHRIK%+In(X1;M z39ZC7&|}ZabB(^Q%sJY`wjX4C{Vq=&&$)dv=H7;vcedo-!6`U7fnYlRia1)eV=Q36 zGFWICcBVw7p8!R*7-n?2myr=Q6}fcvH5E!~-|Tt}W&;$%(bn>NnjX!!&cVqmP4i?T zVdelL2yu3eSS-dMpksD+u7k0pb&*1KE|pNShjIdBn-%#YN8)%l5A>uEP~SV3rE^m$h!AHl=wg80Kj_9^<_$bf{ZqK2CM+VU^b%gFC=5H3&FJBEO;)A{BJ(+s~VbNDlky%EBgh)FJP9u(c4>AU{n(G^<%sTMC*Bv*BKKR1FWR0Z6S z*EZgeZg3{IDQh+Ik|ndU9VhQAC}5b(qdJl%9O>R+LS<#?!Xx=lDc=J9P5_Du)|I8r zp>DE4ycDuN*!|t%40X!C+emUvET2*duQomI!JkFm6`%Zw^(3HiRa<{@B!Jd9lXiyl zk6%R%B$7lZQf9+Xn|1#&IPuqC85c|u_X-|_RsOg>EsVM>!-@XN_5a-WC+fE(jSP*Y zF*>!av;~tLCSs|?O+Az+a*2xkTHgPvWU~`D&q0jFu7WklF5GWHEczIw&kpgeK2-hR z!m;T`s0m}MY%_eMX5mx$?BrG_?v$HKXi>^Mv~yfRRPzPwjhF1b>U)b6}oM7@wqk=4-!+)KE*WgRGRJA_)aJALp1&owY>8#@G zura(-KP8Eoj3Z5+4+5i8bSBh?2wZ5l3%mOASX@aC3N zOSBJT?I&Q*RNr|3TN=gBhFDjW?el$in>}*}tz7# zedy!atrr%DLtVk#uIwGYv~`!$FfeV$6UC=N4u8)U>AwXt=>uU#V`(~4y9eEd?Ts4e zU8}MkbPh=P*O1w-ArB6tr{QIrLY}_qvUg19bEF-_3W!ACy6We~y8@8+qoEfrfAmMa zNslZ$R�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�qU5%?NHNny?Et^x}hK6`Oq#eUrn)2-7oJc%;}^ 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�I##s#U{y(45nxe~&sx=X&qNJXK}>xv@|Y!-N1eq~0FBHqAg z3xk|WViZ&xoLBcgM)nGBURH4NO6ufxSu3Vz;UCVGTfE!4=&_bOTJh8`tSY!=Hiz}59aw`puQ{E2| z*sr3jL|-bc$Nw!#+_tzPVzI3W*M(TTv-b2s-<7B7UwktF?+>!FO7Xb`m33RrpN`Q@ ztyqTf@eLg|dm|QjTHOxv@|KpVc@h^;JEG^A5d9w%iqGq_J@|o!VpzM~UgR7ZymGVg zFHyMSw)S|jVNja0W~#k${Q%?2!w@@U6867z_GpghMJ9pRtOP6L*V+UfXyl6P)KJY| zqYoVqgktow8Ila5v31;KaXQ=M^q_5#LYGv^DnsQ1x6bIR>}Ji#5^+Im zx2=Cnk()nkNSw-Z4WOv!#_#q@+A;}=B5*EF)Cb+#m9ds zIoTBQ(@&*I4dM(t4Ohd)U*{_x#I(X`n@aZ$&>fqldB^Ij0SyY9DVDmO{!m-}P9}&J zE#(lS%qb%FI*Bm+)m|SI=D?izBRw(Mzb`60#Axys%c`}u~(>}c3sOZ zSIfYlQ6y#`TxH}u*P63X>dR)u7Pn%s7NgWCNbzV@X<-=j^w@|l2UC!`EiFa&|2R4q zN2d4xk8g%W+A69o8#)xh0%jDjB(LVd!$wn#*)sGsIjfm&!F1 ziP4E+Lb)DOGuLFu!ufs9?@t(?efEC8UeD*_5$SetUQnC=73IgO>oOrr7RA36c=R`? z2rY9QUAL3Xcccg$MZPH-l1x1DmO@HKchC^72smq2y#0_`?B%?Dd&0~?cvu{;aUi%} z%LY*#SrqT+eC9Z>A?egVpOgFLP>Nu!JKlU*n&H}er%&lg=@%s~&^p#tdZC{z6K*oUZbFgK8;a+HX7-b#{g;!0uw<1sMTNL7DT zyX6QafhtY)d=t33GiFbE+zfyR+;qZpr@eRiTcfNEA$07HB{o(>a8GN6*m@_O`1(S5aT(L(oL*SsB{nUDFDvabz;SwFre#Vu>mA)a8Ekw z_Zw4XXfwGh3YfhvPggrdf%21PrXwQsEAQtX0=K~x123d=gEEA^-0q>wDG-0q2U^1OG1?Mh#b^N)MRFYCm!INR87|0Z(|=#;ivtg1CwDDfvdI*Ow`!4FgL-<57+NCPR&^8dq>Z;EtK8IR46vfJPb_R4P~x z&b;XUzKv(3?7d3WHS8^?5tRnQEgGVvPBR&6@`=nlZ;H<+lT8@00)z&5O(s44 z=krV8w1|X;iKOlb%9|~nK|eskD=s{`syQnW?%BKN^38VvV+0xS(T1a2?L!R6ZP=#y1I|9-Jgcf>z z3`ebe#h`L)Crh!Yx6JjG6*PnO8M+8~y`BeO;TSS*6_IJ*~H{y+Sb+X^M~F%N-fGF*VPy#d3#O5_sMjxZQ6wj(&IHa)5J(< zvIlB!R$Y1V7S&{1A|NQ%XnTfuT=#@$|zrLzcM3dgI#FYCOC4|WY9�HcjX8hH8_oxRi?m#$M$ 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

&7+{^Fn$N`U99% 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�M{_)46L9~Jnei)QO;j`^~emP!SNDBSvf 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

my6R+a(-jgP6lc_gsVMfF0VZ6-h8eA5oUMw6!Bc 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

)MA9(_h@tmrwm$H^mv{JQHXEb z8f`Pe%T_i5CZ35bGCtNbc%<(4n>$s&W8H5@6>uU&-v}4&{s+o4-9;&>7b%foXJzkrbJ;?yS>@ZaXsH);z-?Dgm1EEx2C*1CYrs&DlGK%%YAOgvGk*KLR`vL z;LUY&Pas8Wi;s!3Uw!idIb&cwvhd`KO)-T4c(CXmtp>^^M7}Sxcx^$(gNN+9wIjeH z%~xI^K?{ef4jiz$n`~#)f;Z5h=08Go!_K%Ksj~K`zD;aF*~p9a$<(|7J;qM!rvrXS zcsE6$NF~(2wD4hNOd33XdG4)GjnX124Og=5Nz`@@0gJ_ud|nOM0od})P{{$&w{}9-Jikj1v+ZbIxj(A5_l z(DsSLtCg4dH1f5z{Os=5?YXpdEDo|p1vdvYqMarN4WsOtT7AT($Z1;7_z&gHohaJA zVA8FG!NR0VKzpV3Ht_@5MGy7FX3R-7(oY~^xVG!hbs}UoxG4gjI|&g% zRJl@6Sy6285dleVERbq>{z}1v7%sLw&|)>(p$obvtwT-Vx>xOgkSoX@R~@0+4L@m5 z0&b0K=4u3dRR^$Qwi-2cQ>|Lau#a1R;UxWPg4fqXoMqmth1|{EHc}U#;19mBTKsxl z6RC_3QV`$nc1{D*LQauo3sd#&HLu=!6eO^dfIIDH?w6 zK=8av(~T_i<~b9|vvS+;`kZbX@xoYwLQw@j#6|c1(Z&{5H$=i3WEz?+>OKs%GyMVj zVips*A%p}t0fsGZcNmZV>9fUJ6!w9#xqBL^AZ3z< z{vpCpp}jMYBT%2FO)1^c$&}oavzfoSF{C+yNpUdKTx(WTWx5gonq51eM>t%+ ze&J??Y?zV?RbRuelxa2`^k}fTq@#5Oh$H#h|bIobhQUsApP2eIia)4Y5_EhoR4MtA$;P=v3k&l-1Kij^{RL_M5JUoca( z*M5MTcIZMX+Q&Gwpm!U4da3`|X%E9{C#EZ_(L%sB5EWUr=j9*qbq$JGjrAx*!Hd~O zaG5t4x&$;ZCsNb*>cnR%Xbc(@I&7fV^|_yo(@ggEL+595eLcDf-Bu|*$qj#!_Ful= zfoP}nTP7sqI{B#Q&a|X{iV0W@tSf3c)M*f}n@Sg@l`(ixh8a@2d-vV$z& zmgGbxoB3a>_;*R*crtkS4qH-)Um$pt{JTvUy15&>Ts#=ka$_Cl!D9YhBI2k30d=L+ z58F^Bc)dqdc*69G+uR>r^ox6%?y`M+o>};WVTzICnQD}lgOB?f+lp!|R+pcgn}XJE z5sOepGj_BDEWh?(S-I*a8;!aDL72klLh!C)>_b6RbSveZY7vv(uHpCeW6?8s4VC^Z~U zkc&Crba*61;Q`M}K4YV0G{nO*NoDov)sMdUr=U4y8kWiTKO@@dJ8-zibGe<&)+WI2 z#R5j%d(lGcQt{)Jr#Z!69~3${S6^y7cv;T68j$g`M<5isE{DKlIYH`#Da*6fO7xA3 zNOy5C?@bWRV7sT;NrX0Ki0vBLxygYa@@72@j>o)Hzm8l zB*f7(nYM#yGNvPp=S!Vu{xj9auiGX8{(^!TU#EkAb|{+*`zn(me; zV=u%z{Gyr@w=@M83VO%H=1LR;odszjWLwEz~i z;#LdM50w6XzbpnQa!cT0Ax7-5nOv?%aADxnYIB{1%*|7q^d&zXB-$XX_lQKlFDr?Q z?=RhqTP*&?`$UJXP43P=(S}8`Avm2(Bik1Q@y?+{yUL0auo%1xuy!nfIn4bdV-)NU z`Cg!HIz|Cc4Px=h`Om6S?(by{+UoCi3U0NXEneEk{LlI&ij14cVo=f}Xza5k`%ezA zA9-pc^qMJg4m`LK;HqvThl?jN!>2qxmH2o|w##~%Bw0750rJIq>hR-NslmlnbG1PV`cUoJk!aCrx^2Bb=_q`jJ;^!DnXS6hhry{p3dRB3^KC^!;i zy{2}8%a8k>+$m&YKZoj+=ErwblpcvgvL*PGP?G(>F*hKv5LJ?t9BT7gt*P7PWtToe zf}L_Xg-16ujsktK+BvSpm)U}ku4 zMAKemru_sh)!0m|FwAO!2fd%!Uw6AhFHr~v&E2%s`3+~y$9?BW%%W7==M$gqj%k$~ z!^aZ0dtACug>Kq%_|%N|7s5}0Bdz&y4;5S;PzIBMT4^-T-#-`szf#uv@`>`C)s1Tp z!DTsm6ZE`lUE;#B)cVMx+J}XL7_GQAg^8nw6hEHS+GsW)Z{E0w+N4l53(uK`Z2VnN zNc$z%>`g%+crn`*L-@W#D>a%IDB~&X{S3g2+f9q0gKwY2`Unyie6iAjYHdTge$nuWWDD4xZ8 zSt_x*#S%8ax7zncA3to<;l+%ID7Zo2LFrGY_vp8)epP`Lbd<#&434J~+C1}X5_ZL9dnXk4HN(MJgQ+GExS;i*HHBs20lNLK(~+7A2(Ss? z5>696E4qB&R2_eZSLy;Ho!<-R3ScX9x!|~tVU4gpRJ|*!0S4dbK$534>n#iXCtMzl z)NWnldFp#FiAVd+fh=al^M2cev>KP2p4PCTR4Xk&e3+@JG#sR7^MG#p~ zQ~yA2`d3t;Kn|+9R(-ooS{E|zzp81)cicQ2g;h$h3<=~udS=SyLGQl@#HXCEOjA=0 zJ?87&bB)C{PkhUR!cdrc1bE-^{ZpfcoyjtV*`ro?i`^fc~td&pQ}u z#ldcb!&fe|9Kv0%|9!6^)296kYv5y?&9IRWZE^N~eeI)^)1r)C&8!_R*h$NovwvQn z+{LUIHr=IamgY?=X`-^lvr=d5=i%S_-tI6*&P%N=7I`s0D?S=mgRvNZ1Zy-Tt0%L;QHG@G{(xkmk5kg?pN^r>x* zz%g0-S?R1>hk6HU@O=;8NL+P)sqiT)NP%j!6*S|l=+E%IwQtsG#C00|EaOzekd@cI zkZ-?=+43*W=H^~72n@mi-+$+$0^c;`&Q?qhcR&>Y$HySc`=bdO>w$|cR{ya)=(9Ri(Mk{_NIa{}fNvfp8^VwVNFnx& z2RaJvCPbJ;8km$k@#(p4r>|kbUdX2q`rn`jlPYVk2Y0kwgEoLxDJguRQ;$RGHc+{8 zDb2h#3bitqO3dj1n_J``*!sqv=yq29-A?h+#G}>adl_5BC^wjq` z$4L3ct*rq*mLsc6j~^}W|7Q};?$Mjk^8p)=HuxTx-b+b-)$x@zQt@bq4T0a!8Kzk0 zzN%H&2z5Ss&7lrP*hqp0*Yz*lTlU4P* zRTWm4xT_RmKh5}ZZ+3c3Vy2ygj6Lq5(m5yVX9x+GOD}*-dj|?2_bT+zWBn%}N)nt* zCMCEyZTWRTr3L@99nx9AR-~}Qp}DB#t65R6;(_m>q!{xQ&f(HlJ(Ps1ufsY;veR4o zKPA6nNRHNrnniCnKU{=ur~4__xtuS@jJY-PE!gV{ZVr)?JZ)B2fL{1OaHTrBa+k}Q zh~gEyNHG(C`b6-hQ>aYk7%!htD*NnTF)vqp-yFCu@BnMJ@?3q5(c6EfoXY57u;n7K zQQGZULb=s@F68I5-C1|_`_1bFnZvGH2ARTZ6tM`2O=t+E#Uj_bC%w-rAnplPLu$8w zjI^i?J>&E>+-5;ltx%SjyIJXr&00{=kr374cY!zy3AUX^aU}lIp7_|LY*mH8E@`D# zpjgjq**h1DHK0(=8ju@S*Ikv2X?c=HTA?x~)%i#kM$EC50A3iT@dJ4TWCqn%CNj)N ze+%pu@zH3`-v#A}qi;Dhk#bdC-5vZ1hY-gloPFe$3dtAJvbr!lzJZB} z3!gcE#L3mOA^dhWalGO+pDS#U?@0?^HOGKB)0(d18kjhU&XT=+=pGCbtEqfe!RoUQTGp2 z-t^rpjx(cOWgY3Z@={NwoF{E>{v%xL&Ya8{AMYM*)KdC*)r2Nt=A z=+dp~rQrnu8nOoDGd{e1JTs=KYUi-$#m`&p&SRJ5rP(OzkJVL=iRXgfKo|G_nJUgG z{CLpZ$klybay}{&i`eZ+FwXpEfB$SguX@w*0{Joz&Xvs89o6EJyNwADwRdoT&8YET zsrRN_1=cO?*omz4Mmcm0R~huGN)!r2CyP`t-u-{_@qEBBqP5 zqBNb#YDM>_A}^1mn~&LqszQ(f*n&8+JpzmF$xO{0J`s4$NSI$8h?5GxSM6$WYZ@S$ z%wmhy0)vmfXI!w)U% zIub2Pn=j^w{;}0GN+82-a7Zt8IM^qib$3#mp9Z$@aotXU!Fho2Z@vdRqNt^16W_8nN}@Ulh=JlTlSZHE=rmI{Vw|F}EZfEi^a%2}88-QL;+ycQ4MuU={4pPA1k z<6%Np_h~eCbg4FOjfac}u{7c~Vw8mlsB!5hu5MgSkHqSM@H1Ojt02;0M(LI8nN2ny z%>v+m>3MVAbO=;Cqo2(wWm{`X@Mm$W|InMXuQqb@^!`GhcCfQ4 zZa;hcN6G%m+E;^L7Z~6LI+6Hu15x(hi@@X2NssTID198^Iq=7nadh+JEXalBjRclk zU_@gHb%U>m)2qU6e=WgVX2}QNLF~^+@GD>Qer{N1?+PD*aAOaj5#hN6o@1r-mZAVw z!J7!WoK>w-_QY@gVJ++hT8rA|+3c!_RPrB$tRIpwx+f**X6+uy8 zsIg?Ov)wX#uM62$Zk4fEq^B+6G|Eor4wz3`k+&(k#FQb0jpAnj{|C5IBYnk9=5+^| zE;yv0MjJN49wyY7y8gS61?24-#Tf$XN~(AC^Tn^Fgck#PkIxvGbKVVA2b~yU@-JdFSKvv*#Y#v~)*Gq+K|=1f}-H@%UvzX45$zD92`1Qc)zB z?|)Nu^qA?b^o4F~1gxtd$0L^jfsbWI$=YJJg#X- zd^GCzO1!j*spjSSQfXVpaN=l6QEy7bH6A;F#cV9$S0Lq*s)O>Th`nozMfq?4wiy$C z@5IEZHi97MO2*O4PYrNjfN2@1v^eSV23HVXpWTM!46J_56J){=OGOdoGxU>?XG#f? zdgZN{=;>L7T8gmnNzkCtmD<@Nrn1rO_G5JQ&S_e2Vs_?Ulu7qy9Mn1*z9c5Y>tm+QH7+`$Yx2(87R%m^%6 z+{Cvcq5P8LXA)E+L4vX3*e@{OK2&QLi8mP7&a)AOW0rR}^j>aB=G(AExHc@nKz%n$ zRS$gBbg@>eEXV*}y&B)Lx`DvdrO%1s9#gun-==x3QWncfq23cd@OJ61R zaFZSv@A?SyR1@XGJ}JlYIK8TB+WA$GnJS(k-a&hrk0?=akbJ|68DT}?fX{btFIvfn zk6kYDiNwJ)Utf#M6q2u+2rb3)jzpt&Yx#`JzasZ@;c&llzGZQb54An|^pU&r+PELq zlV(8JGWQPOhTnuBG!#TEfg8e6Pk~SjXRpT8nTmhsO0I7utbU{q;5_=?Zq&KMbU3Z2 z&G+cVyeY%De#*PuHaFLkYWuqGmD;-%_n1?|!k|8VPm}zGo^-D>)Qq$b;NIp5@dVJ) zgexZXIY7!%r$Q3oW-`_$mp5Juo9a^=bNE*z#C8IN2|P6<3isD9pRW(%Q#8l^hR-)3 z(9+IQE`%h3YDjto!0j;pBkF6qGBwQy*2ieDj>Oket!w@)FI3ay)HQnBseS7LM{$kd zx#V#Xq>@`LLjfjU21GaJx?d$5!Tj6<(l$c=YJ9wwI?1u zs46_5F`l@%^fkZLVgq^hZqvwxDROkwe=%++{UsUTt*fbncj3`ZeayQ5~#{N*o)F^eJXj~?_Xv*22;G2WIQ>CR9b z-j24Ky1Tx2&mC9dY{7SGYs(tx-P(NTi35$AdEh!?l#b&QUtfz)Im0m-!s}~Y`H)I7 ztyPY)(6r3cmrfg~cqyP>O8POe`6cGk>#4xAJ-4ne8ybT3+#^w{Xj@MoNIGQRJU)_y zTyBpJHL&-lq`5dAe|6{z`N&v#m+9KCYZ<4ScCOjO`h&5%E&QMZ^UjkH1*PNb@|N*^ z)(YF>2(X&+$8&ai)$iIjTWCh&<^V4Kk2rjjn&bYa#zQ4Jil&;DzC3JafkY>v5t0z4 z<5qUg>8~1}o3G7QWM?ukcj1tdz3CmT^OOmX9WyD-) zGYz>t4Aa{9C$dOej$3tC76c42H+rEQYR1f&iW@n9-?$|yoHigv@vgXdTKC;KvnZzY zS187*S}svDRVL!gOY5#KuWpnkSkLjHxe;22FaM6V*vXTohFDu@LfRFS_F2z9_$pq6 zFzs*jWB_lcl3!}c5tSpK8NMTpdPy(~_iC)hl(B;-_Z)Zn-p8P%0ZZ=7(!38GQGb=` zkt&BzCwm~kLEa66s5|q!gw14|$Ai1ON(73yj*c=*6-czvWMF*_g{l{9C-1Nz+Z5?! z2$sKQFVzlTUf#hGuSb`Q!`33px+3OOyKZQup{`=8v?e(dfVI#tZ#=@qi)Y+w4)fC)T4ms*zl2Ry+uS9d#zns(UqEXy#7wUr5 z6L^rST8u#0nW0)Yx<(I^IzUdE1CoI|!D4w@f4iNStipGDFkY{fY}For=`1h7oFR+^ z-=eH`y%$z*AEc|SL<1dt)qa)FCn#2mMhv$NYMTO3+pqKbcYEsO(vn7&_M`)Fhl7=C zJ3iLKzQ3kkk$C<&1grTDQKbEeP_=76DWoNRvsjVlFTyCKRmkR?E-5oSNm$sMo?Pzo z_S?Tsdv zO50-l&l?jzYn|`LFr|nx!&XQbP^T>wFAm|$`wa%v|4^e27E_K zs$jBI%}1(^er{d7NPtsM4)!wS#2TA`WXm z$@=4|ciUy}R(ZkycQ#l!m$OfGjRavus{mNS?fR|CmsEC>tU8LDaqv^Vq{N7qmxbCx zLD^49pd)uqCUoPpm*G7G?5~&Y(Ou>jr}V0(+x=irjU^x$=GuFPetb6LtD@I{GW(jC z9}-hXC0)C-%;^Xcu@y2}OInWtH8#vkFetSB^a@-I%+fw!{fKK9wTxx>Ju+enC9s+ij1 z@ibGJ!5J(Xx5JaTstb0O6E4gn&EF=(#CJ2P#h(}B;=3$C9oPbq9&aVg!b{HOuR z1oTA*mrECnagyy!Ahg^9;r(`-3?5|9uze8@B%T%1gwSS6AAWRlsIiVsSqWgJy4aZ> zqHiUPf%%thcw>nVUe#AhtlMn ztQ<`z(|@^^JrRqLKAQTH`efaxt43fEOK}!4ZlRgIM@D`m*4OVipk?|Uup~4oz3bae z%`^P-hPE+rq6W-uMZ%PQP!@|jFr6EIRfOVOmgZgrZd8*_=_#-#lkeNANu3c^DRJ`i zcRL>`zSBer`KrX%UJ%0nZa>Sk$|zhTPNMe~HRekOS+Exha&hXFtsj|}FawRNOxj}C ziH2}=T3-@=Ho5PCEeAXoczp?jNslLljzDiZ9Waa6Rz4L5q=)?WtG_D}&oy;B0O&dSL* zwJ~t{j~;{HWO@X%_tWo=R@qL=xq?DtQ-!e_{C4|f1iwOC)h=k&Q*5{DMX@r#!5ZpK zbOI3229!QGbHd=#Ii(rx1eLk$E;Kd&FS*XOGN+N+=7;JpHfzXbT^RN;TK-?3hW!*i zAjuBvq|cK^O$-UcEi@!gh}H&vKY>Iyo2l#qgQD(etavG;xEW#>2 z->sazOAIAjrD$d;LS|aJ0ZlS&Q}AyFIIZJX1n%Rj8yA7%&A`sMzU^`82;pJd69q8p z^Uhi~8fAr(_H79tr|@tE5TiQeEu?6-W7lP)3nqzU+TwIt@81AFHrHA_G?_4I+e&Gt zdp!UD>Z1LL<=tZ^l8QxoERL#CoBO%XSx1pfE>C*))B8-%1Jp#`%@Pa$AD3#r%gZwf zp6^F58A5iw10i&_@Q%(RmWM6G1)2x;z$t4Lkvg}=MfKZHCknhJ6|jB)qe#p7tC8o{ zQh4l{-}z}+g+#|kQi6Na#GcPDD5*?ugM_1~eE93{szyWXi3&iGK!#21m`~?M-K^4= zcRTPf)gyy@0Suc&Ix^U$mgfZ{u7EQ~&0tdJ+tTvZVI0H1tzW0%iF|(nzO{|F7@*H^j*JbX7y@ zY0;BobG4d4%NI@hkeJ6qJ>%@n4 z)i`R#@Gs#Vzh2Rp1=LA^y!BBHF_-3Q4}}Zt^(?j_^F2?~o&j^XaqK?t@eM6Un9m%? zM3`ztE<89+Cje?$uvE6~c|gsNw)1Zn;U&R4=0I;M z-OPi0o-;7hmvW?`;L>%~b~8wHXY0nniN+umkP)`KkY`?xN5ss%1D-7_J|PDc5_MYalxZQM^E88@nDYO4)cl0BNaE?XqrXt!b8LygZIgL z1KZSllDIu4H*-CWR8`QS;&}#hlYzw^rTHK7gY3(Xnhvjf?xsi^0ER?K0M&X;5kg$+ zvj?|7iU7Nmz8NP+LP&DH9Xzoiwr2OCC}oi3l%ZGCOxxS_gXGlToSJzuFmv% z{L0WOeQCx{ZBc|eY&SIFV8m)!!&lf5?X2N5y*T&a0f^2FpXSm(R&t=8LWWt7zRo1s ztTcNAlu&_ZvB58%lIjW;lcU2aRyB}T{a0L~Gw{P~XYVaU`=;aG-~jMj&oMKS&Iu~( z$GGOGeAdOSf5ju5mJqU3`+8xhmX9fFuzKidmk^ub^v8draaxkmRMaEEgPA8=^us5@ zl^PMw-V*u&OG_1>(&~M88+HbOy@+K z%g0>}L2&g!JOuyzXQ)9WINeZt;z*_xeDu#EwBAIQLhwzpykJ4L9;o57D5^GFESX`h zblaCeU~Fn;V7uiFvRY3Z+*Bu{-|}ZMV5q2->9|7g{`QiGn=}*Jw07g9*10aB&L5bY zkw47baffZh9BNNh=ZWj8BTyWSy)%<&(zd^y(xjPZ;-2>^?&*1rZkGm3Q}fkE9M5aV z_OrPWx?S9J3CdvEw{bN)b-6&tChQMSuU%EEPjr@D=9wi_(qwj*cS^KX3Z} z_uda8o}V(HWV)P+Pjj`+ zn;}rPQv1vGP)uQ~s2Z4?{s&>%wNg|q^GlAJ&l<`%z{qY(f3K3H9|+;~Vdb1R`Iu(; zl@6%9sDIMj9a0d{0$%nggCRS`g&D?@2CfJPL56ig89fk_5>Q3|dNb35hB~{~t$ZAIS9j|Nk*8Vmeu;sk!M;qfSLuZDwwA zin*E4tt59RrjnVP%yC~iY0YhSnwgk!%H7Fr4yIysPR1tWK3nEqvXO=F@A~}y?+@9$ z-`DkeJ)e(9GLg5)QZL&1nzpr75xIZ^-#!+_b|q1#AH{0Uf#xsgs-LeBX;NA1-(m{W z;~knHA0JJCe?tcG-l{_zZ}Xk3>;ED)ou&b;m5mo?H-4CV(6h4Tu^jYc;c{&X`M+oI z1TQb!q56E_hYyyn=R%*Z{+w;Yjqepz4v*AA`O*O$5LSD-5WF`;2fIq?Y`!>qq|f?FYRcxlQ;lo!E1So_{w$`!7a%%1M6C)=cvtkSqTR&L8&b@XGVwgRH zEkt9XLuoXs_j^T>96G5B#TNN7H$JxlpM3M2Q26OVr{S^yC$2F#qM-I0f8F0uO;m3? zzPN{5AnU+dF-5hKD1fTzWA;Be@m`^&kSvS(Qu;GfrqtW_A1;WkMe9G+U7rHtjoExB zd!4U^E#ff_1S_|aj&n|Lx|612Y&eJ4+VID_&%Zja1JVI~APnp3ENM-4jslU6$vj2R zu)mUE1QKq+cM3L?Xg_secN8gWg7dZ%P)5haOjgXIo3nbOmM>lvIW5XPBgtl*!uw~9 zg`KZ0bc8kt2oBi7-SK`5hkc2)bvuY4IjX)$%u;WMS;>sM&Fg2v&0vH-IS^|05QvaF zSw;x@M-#z%+|z-JWUKIG8>YcJ=e6DY>wILX(@bjXWMce@9#G*|zwa>u`$LfimTszl zQl=dwxEY#;N=0;-*h&(goc`w7t52$l3Cy0&nAzN$XP)d+6a;TZl%o-=I?!)LGq_fW ztlhTw<3rJ|bDtQ+C58b;wPxmNUYfep?r7cdh~mZRI^%#^H5<#rah)N8FbFjzg>Rkw zv_8E=%r2;1-4#6m55J{Y?iObA^xCxvTM7v6T0`{hN5JiNCJtwvvzKx~%~DEm&?^yK zmlqV*A&Mrd?TDMS?vZyzLj&ea{cy|hlZPeoPm4U^)lWd#JP)!5mC`F)X*1ot9IkcV z_1)qC7*uw}O$k(_R{5MmMb@D=+BKz7*aaA8k1;B}m~@LXbt&zdFX2KWf7l}&rU$=-=!;f)#p06Jji!hu9t3U%Ea_z#x zfrAmd=d;sk_|Y8_oesbPX8 z5-z6bH43+engvzytbAFigUnAIX!Z=uTO#`p$%sts5@D8$K`X^O0ET&oHCd+%D zFar<=!%dY{_MOfS(CkD=9?jjv{tAcr_2t@G1sOA$C?QhW%nn_91TUndCx~{q6Q|w{ zH79$-=P5pR^_^4wq^c(XmjOXf26ypd!4}xi5+75zMEL8uyy{x-2?BnplVECA_DwDZ zxzVBC`^37EzO_?I9Rh;s8giClA@KGfUpa+sd*|2bEj85V`7>^{3SbN~RjrEyRZM0E zR!|XQ(^2&M*RsG#PeqZ_y@*6TWz-l zVwLff%xqAPCoczgG&bH)n=3IWLstOH_78p`8G)xL;+?W8mRB!rQ(}GhpY3c;51weqezmuY*{n#C3d`R%4 zk}DOU*m};5@_zBRJ^TtEnv9+PRyM&%PNB8^=?KMj9kDKctRk*;GhEL7^>X`N6(-%& zVmWZVXd90Af&9|vrQqqmpN)Cbe1a{YJ|`-Pv%)MoOGpdfe&3hZ!9%l#MOAm#(tVm` zYcB^x3#foc5a}}JEt7$jq6sFGwaJvm#-FoFkA10he#WKU($ww%Ez^if`k&s3KM&LN4Ym7vn-lQ!xh`F8^|aon$942Gj3hzsfD* zZ_0lytT>Vny$NE{HU0k=1_MKlsCN&`4;w8hPCF#bj=p%@QP8wJRvZi~w;KmaJ7cO$J3I02_ytQ>YrfdA77|5s5(FY%HuD3$zRRMYFb zs6e1{D!t&+y~Hz_0%1xAKY)*DEBq~lvhKhou|4J`nY|1I!0^4O+OMt!IYez0c=9l9 z8rnWYw8|snO-z=v-%NLa3LV(?a$UxgW<{f=gz~MIyZ`eY4>FcWR=7GHSS%lW0qtvR z^*(kFha)rXrHsU7`G>7>Cl^DGzG`;^U{4Wk)4KX%RqVe}2qu_EvT}kiR*9 zvS`X7)lSnnd)k$t^mSfjDR!3MmmB+w$Hyvb&!kqq(X=y9Y(TF5oiHX}gw7!IP01$VW%USSaUvoO0(PQ=K)SK+-Bte*h3)X7GnwiB)M z4&aVGGl?Q>HgsY%W0x7j-IBbAck1UfS-1EqOGJTKghGiPzkYewIVn-S6=tOnLfda$ zS5WggS~JX(k=K%Vp^0@RFjjQ~x`f}NyD#;?99;b8{Q6p&6qQi`C+R#Aa{ZevrAw6h_V*-AK%OqjHhktHm%W1*`U_9X(v)a=X z>SHZ3juk8aq07U()LsuYhj>tx1#?3dPRg-9)0gZoq0`|B4^77zscCmt>-W7j|2N%5 zJUQQ{^2dN~XQzOJFHV9R5iDBygtk52jDO^k>^3bzq*_G;c);p?&{Jd%!5TPmcMj~m zcHaprLkwOTcE7F$IxTvQxt_@oarTtzFMO1;`MTlPIFpf#TTs15CCA6nmC)`;G!9d5 zOX-%)1cRYAen`HR1pMIXoH8ON5kPH`#N8le(LCh0Tle{TYbt&S(V4-(ESlM5iIj|@N)3$ zRmLwTyXrf3xs}zxpX?5|gAHMt;xB*V`>2uOeXpJ{Zix$w<1q`40yn=_BgL*8!<_dI z+q&X5s?zKlTSzqdUmk&<2IqV>s`^LM-zCUrZp1#`@q0-V`G}3;JC@V$KG;v*x*1=c z|Jdu$Vihy%<~ajt?iR^r1N&E5uNOq`t3_}3(M7^Z!zkP;A{D0yJbi{mhjbbMo60y- zslSpP{rdH8f$m7MrRP^$$WP0tAEN2-y|r)VTX#QWrk7&OZwymdgwmp+?vm-)`=XRF z<8g^_xht9?Vr?mSF*58HdtqxJDhMFM)E?)bb`vQVmA%t*FoFU9k1N!=L2CUbzhiez z`Qhc24<^$8u{X{~!Qzu6Hsf;)_+Po)GlwoM97KO^b94WsK?Wq{k4JAD+PkBKs#xW4 zV$EC3L1XhufU|4k;CR+0)jiTm8?W;r;-3?#j;;fwjsJtVxC0fJK?mqrKTkfJUGpYK zsTa`9wGLha_nVW-wClI!(;p1-B_<}PVV~zu;S{H@E=bA|4Mr{Qa(1`f^jJR!8``>H z(d7y`psCN)&m*fj;>NZ65)r;AI%{}b$?=oGKNjd)2OT>ma|~y~VctQxWN(P3bW%Ll zw5PKbN~r2`{pE7LI}dUka!FKGShzhLZW%^(lN_y_^Ucl|VTP5}*BXq+r4^V#uM5$} z>jG(CqNC(e0|_&N=@L?L1=rXY!=Inp8)hL#_a#CM*Pk)$B;mm|3N4?-(;CF<;%;Bjccgw3 z{`4Yy4lH&YtpXr$ERwz5?du(@jo|6}V=Ip5(98sRo9P^G)liH`eXg1ALx^>^Ra%HK zj<2qXI_H`;IQp45%($hP;NaEA0(IBjY7XM@$KIa5*7Vy3IpkdV+tBwD0qfeRT6JZNEFFG)G~{EVsBU>fmX z2-m1#(Mf%_JD_0JEvV3fa)V&c*n&ez>oHB*q>)=itI?>NUsrz4UeeEhU>N!#_4~5( z`jpP6J?0(8-?S^#(s`SRvDma91-DiW?6Qf9)gq5)H7QH-HeEeN%q%0gKd_Z>J;i1t zRNKj`&$TQyuttOQF!NA;FU36mEjErrP}L6A3I60wDA~S{Q-S<~#@cX9G!F%mA%@uhY3@4^9&!%}r@4RfkzQQRyTave; zv!37tKzTmZpxDX%ow5Z6*#PWD2i(f6BkjFnYhRkWuv1;mC&iU+K^xiFr@`KrALbGg z!2wWUkg3aNU8=i!d|{kP4~)lr?)Ifqv-|QhByv}^aN1YPuff-qE!GsLQ%z=aceYSB zOrMVbA7s0%%i)(?uOhzg!I!^O;N~1cpRkuf#VIJWi+ugxpGX#q3XlBkVt4}Fw6P^7 zyYBT}&-~r#xRvR&%sGr04P$(owUhJODV>vftKC00*<&I>(Z)aHos4Hhr*`gpl&BoX zD{N_Ly4LaXV9oXvaFXJ^9PH!C?PLqVi!7L0-ov^b`C-;0WHLI4GIVL!$p(UmXf^at zt$){Lk=;%dusKFXDC)-NOh>gW3szGiEY}CpPDsSE)j(2_PLD4Bh83?ZpXKye%U2N8 zOy0t7L}Dh7pv0Rp?QE+n86pnY@ja}If^GtvW!}s?Q0jp2jvgAk5CCF6QfRT7X@gNM zA!f>?UeoHX6*#Uksuy-9lH6>(ejDLL-4Qn*0b6ionzo$?qcu9HrIN4>O2Bei|Kz{< z%c|+OJfRLmAB$$GV(!`;U!rM*3LNjO)%t6uWPfK>A2uv^E0LF&Xsk$>k*LXBJLCt* z;gNAhVP6V8s3ksFiHqH^$USW#-!M`7Usr!J?Yd8a!L3njdODPh1Y2YNX6|1Z&!?j78dH8%LLTvEmVCCAX0~mOI32io0mkZOvMe=MCz)k& zs@IZmtzB_$Wf;wX?ueqgfpZ^2kb1E_XP>`vbDyS=>s5SH7`G-1eRVP@LwQZ%rnr%m zthg#Vt((xEnIe-KCA*>kQU-||-}T~!A(YN!sL%IfdU~UfXiVLn&SfuN98GHVqh~hD ztvFVr{Mz-jdUt`3LkqUFxo&rq&a#{%Z6;JrpDHRIV2#+kNdf$8Qn1K<%(==u!(NFF z2RY73!ZDfP522b6AqFHiuqSwlGiGR?lO830@(#F|WCi^$avUG0PdqLuD_by;MwwAs zOV$=Xt-3QzXtVyt)lTAjNR*hcR34NPy32@_YpQdz=~xC?n3p%`s%kTVy3h&HyX~4++1-zq_~qeq@gb0j+>up{@H^_ z*mgTkeLgeoh()4)dVRvNH4>zHvY2UdckHRXx0^- z(u(amiH@DQT=u(PVd!T;Hx)e7{Q2B{WtW00|DM~^6$V0z{e{8pRGIF+!ZWRHgm)l9 zB3?VYkoQiKAq*SQ4zsQvw_NV;uQ@qi`BL_3H+XoUz_8``f;i*6^{}U_SKmG&`U3*B zKA@{BhUL0dpoDwsiIFm@SlUTQtWVt^T4I_$b|oJQC7q-WEGe~Zz^tKzBxZed`_ zbmj2&bL*44pt851u@3lsM^qLv3H3i((l3=|FjezkvvtR$`QX?b8OM#>f$ zuAaofH>6oV6YhVakJ|1^dW{r*h*C#a{Oymytp#jU{xc&RFVAeg)wf$H4Mt%3-95Z1 z*l9=`X2HlSS-6R3%bJvA3)#^_)77Vi)H#Aho9V$( zMqu7;VRz68%ghv>A=NQPJRD?{wqvvo*`T|+K{m59X5kije|6`Lz6(r_6%X}gDANKA z>D07CTSx3VR*I{5Hk(x^qI_ldgMInc<)D%j- z9r+Tgsw=Gto}Ad|u^YMIHqn6!BY!et8-~K@X{pVe^i~1jO)#{OMpjZQeLe!yowtCZ z^7!8QUI`$tB&aW#_T%^>7X@4_C_-BWD0+uVw2{Mw_5(Lc_G6Oc$2f zWn=lPa?hDuS2Jy?ol0!nwd4CFq7$zN2#vHLM8Tf|H&O26sOsP9{td()FQOOTz{yR|vB>ypsMDsY;@|s`UO82Ep#^=Qdamw7K zub5shzu#li!eH3-TZn4van7Cc>3fU>?T{;*Ej7+HANj*Jmex<(jGqns`g-dWEv3H> z(V!V;!PkR)IC$Ru$pU}vk`H@~BVab1bB|y5 zB0SF7#$AYz_ABRv3j7Jd()0fAQBD)W-ln4`(cKo`fAsLDWd*Y9I&OY%4J8TD`2j>x z!DgiEr;F;1<~DiQp8$ZupL1%uG5c1jIq^L(3=exq0u0`{k(j-?YQrn7Vpaoty}m1E zaTGv=(UJq(%|Vrv6(gN)GeZAYoiRRu)6e50^1|Z2sbRsvF{k|blZ9BBl-;(QL4#xU zmK{B#&IRMeFq<-~3*tZO)qXx<$-x))QVyg6V%5oaXPg6XOw_cZLmC8`r-n2 z5?k>HBaRO?@E4&~bEY;PMlWtuNegtR^9I^OtlzeHzL6Iec87a+{g;7~1ZBY7g*i-L zakIs=V{x|E-JXm%EP|V1C!S_JEV_Bso__B0yz^ofu>%00PPPA0`|$uoznHnxDE)12 z@|--|UuignUvnU`>q4L}qnCVxZ|XE{j8k(&m#m${WU{u*W&rc~xyOD4{_+3RaEeH^ zyp-PT%_+W@5ochqCm0594f0kF!E$MqN%4@!{`Bt)7t6qGenGqH9(kw!IJ6CZa0jfg zzJ(E=)8eJ`s^PiLY&%8N2j)hpCt?cLG8U@soW~HUwGXtc{|OpiN{dv!cGgc@WaDMC z$Cl|8{b!3*$S@xRdq>uzt4YZ;{b3FFe0Krj^5DA{%jRtk1frf9O%w(@?Z6E=IzT)& z*kFh@j8I4>Gv?7~D-`Xt?1uLr&Hl-dE~5S#hAl;*emeEV+YbxVMfK(kQqbq#0j5a) zA5`0Rx9gj_&lgXJd=?mS3&6HMK2_oV(#tQRx;}DMk!&Ie-QZbGFsoNj4>l#nkz+TZ z-%7TpjkekW^3@_~BK+}h2(TykCDY9(x##TOYg(#%iANfHlmxXjszV)8_CfW3ZB!rN zC%VU2r^O1pfhyJAHmh&?jzQu&maUgJq0j0KSf5OEJ+LPlrC4H6h1te5Mz7Y3dn7&< zOoRQpz4IC=0C8F*RS_F;oA#t#GGaAzYcR~f!0|{u6P;Ni9dNU4 z(DO4kSYx0r&v|(SZ1uc7qHQgZ{D5JdR>Uxh8KyqTzIXESg&6!P{PKr=w^SP>Kcz)a zdBpL92ylF?duPXj#do1fmY2Cj7h*dtXp|%PDmEJG%e?{1L`q~lfeJG>215DX^8)@{ zC&LD{)W>qvY77Ona%S#f&fPs8$0^Jp-J;WOB?1rl7Q~-@eGPlCgd;Fqdzi`WloC#V zGC8~NP1akKGJXZqlKwd*HyR05P@EUX6dp=j2n-v|o_u~)@xF4D!CS+g{MlUOC1*pM zOrQ#x%ykEp4)@y|~aVnE{r*s;7MM;CoQE8M~U>FBVi*T!bnSzyp#qaNws zT&q)Yb2is~2*;mIv)91O=ev`D9P4%J_syK51*5Mh&u%?=uLpICB7lM@bz|Ou)x?7c z+fFkx2g4wiVS6>|p{}Sv%sn+@@Fx-&?VHD-ZQ%(@&2j#uq40s&B$?&?& zcjOzJVY3T&BlfBF@9Z!lvQzKDVe5K%+kpe2_^EQ3-uHD1F*ENUsczAkyt(dw;NprF z1U3IUb=K}!O&ca>K6b!vZ8N8aSTb9Gd2}LD&Ze}-K!I>;G=~%S)MIkyAR5e7W{I-y zgWM-nXIH$&{KWyccdS@<#)fvU_~@SBucdxhcy!~-FL|31rc3Hd-9`uS{|90Er~ljS zap2PR!!04Cd}$5-$Waoomj0tyMFb30_=GDxmt1U|0>c?_4&(gY;O^C!wAckcgMRMp z2j$5)D0&uPj>S|&h1jV(<%ZN#FM8JF9ebQ& z3xmj!#z6(_x>1#FTRKPRI<9TyN#SPU8uCSYG^e$ln#qXaL|@bHn%I8Cc7DjJ`xb9; z3~{a3@&OX1_~D-eq5*Nap8@)pCS!&KG)CTe{;_;_45fQE$(od`1EdR>Vh-i*+e zAkK0Tb-Q)eXugy5B$h+`T9K^hdCa5aNNJ_Smnj5Gc3RKgAiq?b&x4tiex!nqIzxA7 z=98MJxj0ZxB@bOPLlUJbfl;7CHCKt|78s?yI5p?WY1EW$Wmcl6PY)G=f_F)UI9xDp)+LOj7?R)$G+fhKzV00sMuZcDP9__RatJ`6xYk|wr$Z;GKrjWb%#RR)S@>F{{o`l>SFN=7}_k zE;m9zzwJ!={=?n&S=_c91Dfi4R^89p{oL=}cn+uSc~axF??y1&&mmr>PIzm*9^E>T zT~1@9el0T=d8s{1wdqTl!_DX39UAtBz_rV@%QV$dsCfTOxaCE&`F<53xE6(<8fL^u zD=~;_TclJa8H=09{ZE~*5of1oO1Dou1$Xl?`IU6U!8jR$dp-xrit94(m?y4zXlFz} zPqHyAoU!pz4{NH?aH|kc+b(RVvJ+}Sdo$v$SynhT5${fyqmPh9I}Z_NF0xT@%MwgwnnB97L4{iOZ#M2Gs-4ukF>VKblWU+W$P4=1KeA~S8h6;AkfYp z`k?h<=I|OOVt(!=Vl!(elcHz(XawmF;ZwLhSJq7-n`%Jc(%qAS{M@v7~(D z9=Yn4VHPdicHZU9IO{t^iI2z$#jk3(_ZNp*KiP59Avn3tPFqDTYeQS-m$`t@E+L{a z{tx+Vik+O$@SJenIXQH7SA6Ib!>d`zLbcW-oWT$J|m zbZ&4f4^j>rK~c``jtms^p2kX(Nw=iANPSzwz~#lW#^vSjUpL)N5*PwKRM!^vf-W>G zVX4P{HL~)`r3=@zxJ=d&hqB`akB@4N)aw0)&g9wn$S7G#MnGo2Jbz~K`END4-Y4Gv zcw4esgquNXMjA8E)HlwdRj-}ApS&B}LcDK8m6$*eHj5Z$AvYQ_FzVM0bCq`VERwc*pBT(?nRI7C}TE)TvGk4 zX!y+K@`C!OG9VuX_RHqDD!$i?xFUl+%1NS1BNq91RJ&W96K&mNpKHNSF*p=G9)UxR zQ-^y;a6a$azKx3AkWjSMDz8X3t4KEGuD4-FolXR-=YouYQD(P){-H0as5l%yz=6Bg zW->C>bL9Kw6s*j~%bvc{G0m!f;p+8y_mDe&97IyBgxlX{GHEFPS6NOcweX3$l5n*} zFZ*t7KD6(imty;upc2YJco2zN9*Lx^0J{0YB4ez$oeeAb-d{sE5c@``sJHQ@S^Eo*-caMKo8~ znOXwcPZczurb>rqr5#6H=d_xW;{yhI1j6hG8Fk%cqx!`$V7$K)&vOqhE^mK$M`|o( z2HZejHzTZd5s$JPUJeHPK_YN^Rheyj2nnV09(|<)v?_~UO=h@*Cowy}e9Ov?-}nQc-9jfzf5UkNXxHN5-FD=Qee&JE41iB=W|-0u7u&MG74FZ>DVI3GWZa@ z&mJKUojJZ36wb2X5nPX>jpM?!y&lKkedhH>pO&mH#-T*9Ut@Gvhg|%_`B{V?zNbNu z0)T&>=Z(BPa4l>-&PK<*&c;N_1Uc93uI#3|tCPS#E^jxDWIt}4@&-{m!z&6vWV3NQ(h9^Joj z0bZ)~))$q;<1X*D4wNAd8?%TjV#I=YSckZlUV>sWZZis*?%!E9sE-%vM{qc#9=Ig_ zSOJuJ#KpO8$UKO^bgttS!kMchMKTnGK(cw0A+`cIR-K^=V&Tx{ z>XrJlS?7Uw9Gi^m9FKxzpA9M-D1TO2Z(uj=0EM!r2&VgnSp|WwQ}xWhpLU$0c$!r6 zDGn{*(Fq!hxUz_p`gkLQ2d2j3H2)&TwHI*JS9N*~0?Z^9wT;jyicRa<>TZ$Aa;TSc zgN6h8N{MxWsp|W(PKZl8*R?|cL?+5BXUH}9AliEDefIhDzZI=LsXmi_HqPE^iDk_c zvb0?SmWuoC4d<+}{xr`{gsaao19C00(@!{*?{^M4ICJ>KMMvH`mb;ys|C-uG6MdSw zTh<+=jz&WXO{TW|_&8c_(}-~A+a>d&V%+$0Z(xcueTgp4vXd^A&>FMxTbWW2KiL<9 z1Wi`OE{xtvLufe@ltnvfGALT?xHVMB@BBYw&eten+1MrOmPe<>%SJ~Pmn_^X%m6*=_ctE!M)vBka zfzKEKTD0;5=5xIT6ze2rq@m~EG13YyvVai!{$p*fPTiIF%nK}S?|9uJdGyZxBKIwR zy_6xA?3+bqU0wsM0Rz3!8G=d1>*qOy(3q=6iRS!$d8{^bTO%vLVU1br6{j#%F>?!@ zH)9R4tpd_!PHY6Bim|^a|CF&psZ&5*%yg);@%pbxp(H@+O8ePGgD^V=we^?8&_TxY zXJfzF_qnpI!2@l-Wwe3tevSWpWkRZu5ogj=4ksQMwgGVx)9uAWUTO)PL(Z|;X)yFP z4O^t~kAN1Mn?PTB)IBQLdsO}syWTJ^?{dRz38v`wJ!|>vkq&kY=a{-n0`wc3W$z=?3gr= z76%KY3gOZPym!nX5rmcRbej12 z*6erTT2@XuU)2gKVlsOF(WE9Nn-4y~V73LNKcNcH`5gUm9cDNQygTeRb%2vbO^jC2 zw|?l|c=6t-!raaKj}dAneb*KlY6Z>F!hfUtP=>6VN)rsa7(v&zKE19xJHO~?0j9dt zv~xX`WKhWMH}Ep8smXY|zWiawvDyjRr(rLWSTtkDj(>?$Z00CaHxZDgP42MpZmU8r z`{mhCy%=#KVG2yQU-Xw2xh}90-R$Y8@leRJ zE%@6Yw|LwvY}8Z|xRr8gKj`k0r1C*^)<62{>%m}HlejB%M8kF8T1tPdxd6~wPzEl- zs$-)(>n8+9F($#y2g|AK|7UKX+VfJ%xt;<*v$&F(Ym*1>?|w0T6)H#fW8#Cp72xrA zDt0FcZhjHc$5+??HW5n7cI}iEt}nZW%l)FNHB4#-{%`}UwRxhTZh~@hJ_0k^0hHTb z#9yj~zk)}4jrGmwoJTMF*jotjcvf}v;&*7;IUUhe(B&waES*NEH^21u0Lg|)c9h4B z`>xl)YW62P!VO=P5(^?OnRYO0j;n+rMrxu=|2VHq>74BX5TQVEG3}d)E8J=Ih7t^4 z-+`2blkEg9w0I0YV#mYmU`RWK)g*Ajj|XtwoKEy#GF%7KgW~1Ny5BU6zv!q zok1C(b!3=)L7SBNb=DC+x5OBk)-EX$XD8yBLaipma(^l2 zV;>K5$KZrz6lcGA5+4(j{X2#GWs$W-;X$oTPw@8jWR(B6{Z(aACOrVD*P!++Jv(eR z_m7IxSvM}Ke`hL$IvK;?XtDB=UFYoHE7sY80hmBk{(myIUn>?^Ar{kI{`e2X)(;1y z(WVl&Sh1AmsDl|9w8U^V!nDTBO8u~=()vY(P$}z7R_u5LJ1!JO%?bk(T&M3?>kXP` z_rq&*h6m|V*4lJ>nW0sdgWHOuE+_mB#9*}v@1OC56}yVi7#tPfGloBzvS`DEA^pNF z#u9^(!*nrY*t02tp9TTydb&qAp_!GVUS7A;DnhaA1mWZ{7gnD?cu?hURuy6LhJab; zc@ldSjV`q=&i=+eSk?`Ma)g%lv}j@L%pN1~U-2bbIFWtc+>G5~KBV{hG<6_JuFJmk zq8hw|ab4Oj`l*=iJ|13ELQDBzf-LkY+_r$7fydV)l=@k5t&m-ZpxA({6S<)l`8lj3 zs=w?QY63F__-K464!2tTgPJeQt8V(&;NfECP=!}e0;wsc=l~?NIW<`eZF8jp@z$Me zvvDR7D<|9%s0h1%?wbhWVx=v*Ab%~Pb|Q~D_0=mG9CIs%QJiAMbeRkx3qQBh@|9mo zE1JDQF8f5wk0%pCTQQ?4ySpRiyH1*Fu?jQ7n^cYG+Kyk_N)Jlr1(idJw-e_GW+op; z7zZ0G(ZQLqQxG-A3dVb_l%{CeE&=VAtZYi#?p8R~94pYCmkn=wP z9}6$se)H;WY?tFaU1S!93$^^5s>Vu*)*Ak)SDfAVbiIDjzD9<)dBZ`6hY+;`DE;P9 z??<)I0m49U!(w_go2kScU!5pz$HNX#D)lWXf&$F5yKdeQ?OSjqO%Go>d(7M(#I5Q} z)so@kG={haeyl3$@0#{X-uPFG)>+3R!%*IO)v0^M$sb0J0WQ6^tu|r$A5=DTi9yo( zxoPCx*r7xch1Fb`t7IsgjBa{g_w5c^{Qa!Y^sqrm9uEd9mH(2rUUK8oZ?2rOC-FHc zurWDTf9}P;c4qP=2MRl6_Z!-n7>fwrr(|wXU93Rk$k?n*S z>xbIWzRQ{k@{K!t6bg^?uPZOOKzrdat$Z*0{NC8fY9jEDH9y}D4F{z-mW<0v%@1gE zsW82c5eSqYJ2T?85MG~l zHt*2Giw!+kOw~cx&bl zY1*!ykiEw3k6?x?0$R{}r5WP7Ew@8qexR}Xwp1m|VU#!HioC*g2@*cOWcFyV>XbI> z2X!=C@BFgt`HJxETc*P)YPZ6;D(qqPdgQfY?fEVX?nj+b0f|Tib#}%n*kvCdEG0{>M=>3 zxK_T6(}TK|`Ds_eDWz~CA#U0LCkcd~G^rh`&#DYH(yJOmyubNdyPlhDil6t0pc~=JFJr{PG|AIFvQP zsUE%kuj{Wzm$ED=N%CS)o_5-jMJ}L#OBHm1b#h-qm+LVZO(o#Ku#2W#O8-X2b{b{D zLS+?Hy9T5RYvXmAeRXBmDTm5p^Cm?E7E>gVXvSYA6VBeL93)%Om9kkOV~6+GehyUZ zJ`;br@oF~lVDu69ra_eU2l=?D^30OJs6@B)=n0w8)^kC+0gco({6^&clEVyO6C7troin_!dC?f6 zVY3=gur|!6on7lb-n**?L&{}bO=`Z|`&X;wDR%g;30~QIlDcf(lvDor>uu$A@mPLW z;uihX20ktI_d=tGqpRB@C7^Xb>zvKALNO92$~!;Ze>!LV`0EDEqgL^_{JAeplPTpO zuA^Qj&NH;Xc^)<3E2Xcf>F#+AGRp44Sf_rQvlMy$dmBu6%$Xc_g_WZY>Y z;a4pdABK|zrFkeJrFyhX=ckA7Kp)H}hPd5uZq6l>L0Y(zzT}w*d!Y=oTEWay?M_*A99VyVWnpz?%6A&J63yCA zsm~n&k1XY|Xi8ViwA+Q+>|aP54w|bI>CbxO&$W8zEMu@4eITQ)W9xo zx*j@To_wzPPoS_-cqZ{ruA(u=<9^F;`fK+h!(xbGx(2dKD2mhSjK`%$4H!NZr?){S zE&Ado9z<3S)&~X^D8_|!xa~|_+wp(9pAkP*h2g9e(Ht~zNQ%?Wjkz}%3+u~-W~T8ihK9#L9G<`cfFSVq;d*hkX}(^_$X`PuvJeacpFu zGjOf2Y3FXhW~mi>wAc!K+_=3$IP)tG2w2LlX-(lPjHdh3ERqwL#-xe)>n zHCnhSbO8l+y(14y@ZS`}J4~!_2%> zIT3OPOp{1R-27^o7I&t>t2_2Ws73D*xVMCMg=wq6b3zLJZ|uI$ zy0vbH@l7~F8ScGu`Ms;xM8HGI5>r~rJ-tul;MFf*Zl_TP zlbT=OKdBb7f5p$C+^tEK^DiZgY$4#f{c+YfZ$aw-*YDj8DNc$?gIfj$YG%MNd1dTt z|KWS6jL)w<%wi+xr8!`gNB5@;93fI!8yV zyp*4aO8~$YQHz}oXl-o9v_aPI6e`kG3PTGVe8#v=G-%(Hi}?Q_y{;g9ZQrvMm}=vu z^jl9VFW2WZ;AZD-@u5g*-7+X)+T2l!jD@wxCLa&!H%(odaT2;7gMF2CES{py4>ge&V9(A)TcUc)F8uVX8XGU?F-)jd3j)W*#Tf?v+>7OlXoLv8Z#N(S~K8y{2NH^}vp zaVZ;-h?Ho?4R4sflPaCZf%S&QrC_5dM`?Ci(0}p1&eZ9&>t4fDh}xyBQ$Gf#-ozLb^@HK=4kK7aEta#61E!!?(Xea9ZL{AEJWNTn1gprR zT?g)-3fIQUS`p(HR@*I)2b>X#PCNgH)9qBr!mn`kA$qvU)X+cu6P0G%R3Zy1!?tL3 zyjddFj_@?3jIj<;qnKbuadaAii0KpQ{EBaEzwaqSdQdc3-0O?hY?s?D*8CH-aX7&=vC}!?WKnMK6~WiS|Ao(-oIcEu z`}%freTIE0r(nhgf@Jbh-_bYG{APFP@zM0jbGve>BJ=W5nqU#sb+(;6kD%AR)6`pd+;R9(Fj3>Aa6Wv7??Z;_? z*Ra?BN2>b->%FetGcJedOwmMD;MzN5JSX#qz$U1mZ;lB8g}jUeOY0U%PtX8i2iA zl`q8HXP2iudK#0g$AgN=G||Iq$KppT8UTOoSoUAGjunXQGRO(L)S7peq~>4Yi4h4* zhU&3}4(At2-y@CEYy^6x@B^3IiaKzudVHT8jlstIj>P|i1fkh5E6;vE{DBz*?}Yu9 z8(U^fx42Er4oG(SSTMe?-yvv>T(D#SXm=V};9}s9+n2HUSEW8|?_KRG%+IhY<7BMt zFQ+;5U-h@=!LnncuM+_1m$MmhcW^$7cAj6{U+=O7bn-8(0NW;|IzB+p~abc$}f=f`sV%K7KX$-go80pz)n2)to&{Svcps{+X zoa5G?6#hx~$I8$Nq2YF|Z0MS}1+z`Noc?AGHm9kJ>GGHd0JLm~k?GoURd`MTRz2?{f3N@mI-k zH@C-(<{C&vuMdmcFhg}T?*-GrQPv2=BfjM!DvmrB8@xCEC7cvzK2&aMb}EcI7ZT-H zEVk?Huv%4n_-frq@7}aqlsU5k_Klmkg@1z5h3}a;s5bArWe)b)xsh>uWu@>;`*EBU zLZ@fC3W_Py9TOQEc6tt8E{bpQ#fbZjtU2N5o-t z0^2}PIX)sjNA;u3j!&o}&I2|ByMV0SkBXGBpT(%fH&uZvvo5RvCNCB>zokKt)2)Os z^IV(5QdjZ|dkr5DG)Tud^>?3}+p7}Pzf2(e3>FZNB}$7OSCO364_X%o#bmEH)FFck zr(jTtZFkg_h~|=qLa?YrhZZ08;z!~G+2G!k`-=R4?rVpW&(1pFx*R)Z$T|_#Crmo0 z0Drm2inc5oO>7!_tta><&NZERn5O-9h=Vo|rTwb3Npt_+{qfKKOYB0>b<1=lk6iu} z9)4<0lac3o7?xfzpIh8$HuI8~*_E)%_E?HQ)P3g8!vW22HageN}Dpl+CMfgu4w~dCWB9JZRGew_L z(qbRjNYToVAwkg5Jk~_cjaSMJ)*~?z54eN9z-#-tXqd^^BS*+q(GaT|r9;=p$v7g) z=+M1R<8W9r@Gw!Bta_9-O{x9IpLQ}7Dr($){mQX!>nTVi22b{zdxzcBH^t3&N;&^a zP~_!_w#lV4ROi|GljVBbm`X(Ec7BowS6tl~Fl3i-MVPUQwSw~zuOF=aiDZhu>P_wb z8;AraQh$GS#Or;(ZcWm70Gh$uqvKcpx1^K%$s@KWO_*cg&4tSHO|9g(x^5xShr`PXCkw4wb z=OW@+>z-+i{!P!H#8=-IH(Sb7#NP^Dcyr31gFJ?51y4*jpy|9ikI4198^4n9>q@bv z?>7glg;vl6*^0i(PZ^FA@r6$_NFovV^`4f(jJ4^Z9pSG&rJUa;xAIj) zArTi^U%3w;NT#iw!J{%5n`tRE1Q=3=*{9w>OeRlVV zs=QKXvs0|+XeA6MSw^6j|H`ISgP-<9z@!*G6YHU=^NndBby{s;20jKnH7PTR{x!_? z_`_B`xH{j7HZ*#${Q34HByDM$8Js}0UiWzA>>sc3?vYPj&26i% zaIM3=8#MR8>frOMbvmV3!yxA2lL#fonpGrsU)J9`X-z{AH6pSo^pxFtx^BshrZ+tc zX1>`hH*p`62f1Z5L#{a(di3M5pc z5T2)HqWG#7XN%ca^LmHe(d-|lzD1^pLB1`u3cE%4e-xd2Jk$Fh$H%ZpR8~=Q>5$p! zRBqLVxpi_YbL&(`l5k>3W*A%U$w_N&>7tnxGm=Z?nuH@8ofszMo-K1%Y-Hj0`<(xK zc=VY0em|f0`}KN0$vve5m7~&agv@DcuBnH|BH;Wz#w-nBCVU?^Ra)J7PGywc={QIj zfQ2F1EEsg4ZX)-B@0BFQd#>)Z&%J!iCPZ`xwZ4{5g}23b+-gfCq1Iq!MUJm5Ph zgo)A~6tW^t%|*!3MCwZpHb_m_70;W)f$pT5XGU^bF`6+mZj5)2tP+l2=>MnoMA`O4 zMtH1I7k*pEkpxv60H>hMI36@#EgsI~elUiJ+sr=?IyY3MK($@XWC^*pGC~GLP_5$( za7V_5gP8WU1*c|NTr|i2r)i|tBnT9&P2Okxmu{cRB7aV<<`5ayVqP(eb5eVzy~s^l zCuPDf%Y}SiH+&5o9;{6hv#Hq|B~2ddJ+UEYt3Rh46lq8VO~>7wEAL5P2Q=N_0L&uA zoqs747G1(XeTA4nTI-M1cO|xt^ zP6r#65cO@4TaL1BMbOn|9G)~rz&GAPT)gd2_8|-c=t$9KS7kCBkjN}>&mFKJduV_3 zG}zl{ON-~R^egIWu8tLHbj^QHLsZp$8WR{_0!4WidM{V^sepcsc3R)+Q9(jDai9oh zn!tzyHoeQ&JU)Oc6?djX$Tk8V@h+@X7TF$MkKD{|gn>s;KP-T2Tngu;mSGCm=b z

  • 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

    H0|uU|I3MXtN_%`fn)l!ii1 zJ)JBg|5VzC6*7)P#g2;V!|BIN#s6W3{k>%TX8Q>|Ggn}l!n*f; z+lErZEn*Bx^A~(-B1oNI;R)Y)`Q_W|yZ2vZg8>JkLWl1?OsE4orzz`zafAW1w}uNZ zzMK2?Uht;~6q%VME6jebf3>Z={vKe;!RbY>3gY^5bIU(0zgiOT?lB)}fL`3J zfm32)$Q$SMFW?+9e^tX&1K9Sy)`c1ra?&qXFR8ci+8GYzSQIGTp@kc`lY%3dQVFh8 z)2>6375QcsTjErNGnC$-nMIpXndV?IiLh{^?K+xr6iQFbvSsYP=c7Sgf4* zm6de;k(VNSv-u3^7O+q6a&C}gzRX7okwCM^7e+B+-v*N2*I)0(sqC$^TcSkI zfM-a9o738$yb!I!gHQBu2IkwX1#+^ESx533Z3||lbSk2Xe}n0PV?k4AmO1*c1&^4|BBlbpaT6>d|k?!bgX+y1|f$9c!lsd)CF3yU(6;Bq<9 z^U9@Rd$Z=ekTa$eA~x+y!`5B3BQj7B1jJC$L+syzH(%~W_X}L}^4~JsTX;ChH;v

    +~KU!1HFKh^t=V2iTKYn>UqgZg$QYUDZHGPoPjWlnk_WQw&4+Cj*y8U!jsfQuS!}*tH@vK;3Dwjc_o=tzVs{tk_ z9#6F1+)JTIMt4Z) z^dRlz|M%4bU4P~vZZYiuXe5~x*>?0teB~{fWNh9{Y3-`+)6Vvz{gXiIzOrlt?K}g2 z0^p?nb2q)}!E0jnzp19FIJ3*i&nxacZR2nWiTiSNCmy27@zI3A|pa#i?8Fj_puVLv2W{ZoLNQ^M9ZhxGmfmov*v z>i9QTi`0Qr61$eSyYxcHy%J8UAs^9+RMwX zoR|_=pMsqD*I_!A#3?anZMI@6JvI_qmq)*9^Jd^2f@5pB65Wz0dn6hev|)<+wl&FYdZUas?5}NVudNbD}CwT zKu-?Tp_2N9hZ3U&15G3#@0&i6)A*h#!^Kr{CXS0)KMd3CUcc70Ar4e{626X&PjB-$`a1f~4LzecEhf=srxS0(9ngCT_(;v=y9WBCv1biu;YG_Qh;A)tD=`X^U zB^=S;+6A-zqpQPqRv8_8zmq|s*qJFKzmRXf$GtY93(K@N>-SwJ-+|-24z4Nb6=zBl z%vRJ2%+t*RVHwSU?ekE@vwacU={-FmpUt~-gJqImt_UhCfF3)yR-`4SyR*9IwgjvWd;58p@)c}M#D(gAg##n+7)iu`n%`ujlQC`AP{1188Gw_-SXV$RR%s-ucl#- z(!du9ytms2Fupn$mv{Tla}FL@Na(_u_VGsT5XhKFG}j{cmEa`4jr$7L*?0=zCy+<- zt}c5NI?mw_)^g~=hl4sXZq()N)M?YnV)usbhLFdP`5!7Eg$Efa|Qq zY_lFwI?W0*{23sBx9o^o5S=BndbcISmJ~H3)%VG~%K{6iz2;1( z4SugNawtivjSSLBNb1d25ZpXdSY7qD6^t=BiH>C?J&Q`HbmWDUz{HifdTw<;jHtK z_y7R;ty|UedUy5#)40GTe9?vg{bFU;*AMGKivmx@R&^=4W!|||=a8rh!X7VeDV*)2 zwkgiJH{O*ZO)%nKIDl9T6xNiPE$p^^bYgM`9q8+`*t*(E_UiKq^uF4v?y9(_5XJ~h z#RT{R%`&2%y&;~pE5n_#Wb0w)?3?8?GVj%U-gjt+Hfz@Avmyk23E3p4m|d~1JF3~- zV$+CxdR}9@xhl{I({Nyhc+vls`4fvUHK#R?+2g3TBiRx97lQ8#%vaWX@+ycQA6$95 zP3MDIRBH#Yx{^;7txSlUPdavd^1p5n_~L-N`HH&O+>HSGMLfNj9{s#wPVH+*3uuHX zn9x07Pv9&jInG!42kdH;Au(NE7@6v96;<#xR$HC!j9dU)6<)e_wLPTA`DKgcAAj4U+^QoMZ4@q9ab?C@8{1}* zY9&C-L{H_ozjA-AyhOktfmyH>_MVFT(D-#RHfB1?TZBXjm8S$f;kIdK)JGJD3e9db;X= z(wu;MSGc*F;|ceAwJBv$Cco_P!$Nbqtn)0pe!o*rTvFH|4p^F0NKRj(2SO5tkuI;h z_q~a<31Syw+SSEq;SzlZi_Tgtik1H3SuHh@CUrv+7?0s2LiT7EEZE&0$U~sb5`M;= z?fxb}Xru(3^J{2)ywi+A`w>+v6}XzNhr@I0@6@YY56!jG&;zY@89sdL@^{S0og+;E zwI;S?CKj`<^w&NdLbEZJgxvs+D|?gcuUt}v0%8r#t;m&)hkJ-N3zxQ}jW0`$rr6`tK|Dy;DE|%PO++R9>;GUMJ;}&OW(js;m@FzEIEcQS1oFUa_ z-1|Sj$;G>K8)4#B7m5DUjLZh^fgzt=GqXg2Qb>vRa+_WU?g0QPIlIi6W84@iAMCQD z*3{IXAsOnH4<^1|n3>y_Ejd5D-uI--o@mXwT%GQGL3&OsKZH~m!T=D6Vm?~HTwJT1#uKaz|rFKqbB%RoknG;H(vY}VqsBg>L zUB1`D;sfHLLIA_dzAXxj1oo@8qs5qIeZ-6vVG{U~$x7;_AtMb+M#J4?MqlF|EZ7>V zE;M$1O@rrDmqh8XfW|5y`9ZV@AxZH@otnuX@Om<326z@I0f1*z^PnqXHn@ppO~ENeC%oFfbm^f)v8j|LF)+$)KxcRmh$MY z>zDSJ-5m+4I32IsDtRBkQvN}@19TU^gBZ~*f}2X|#ZHey@YM$d<imqJZ^kUN#Apw5*9tt^BhC~>*V!hG9#@I#(n@XB5J}X z7?}VQ*Uygui#~LBzE+1Bp&Xo+6FuEZ`wayZRxLfNor$Ce9 z(yj2%!Xp>0Hh|8u1@K8b>+RUx-)_XXrAeBgrzHreJw-zUcFmXPLCQF@)R@Uszq}ma zfgW7Rt~oGjhRQF?YDcsbFR~wRW=sOaJ4)8NDioF0Wytu+RcWl1!7+_Y1>-(N7xpbr zs0IN)FR`hN{M(VR`VaEl%VQKG*=9#xhIE5Uq#TTp>H!}{P!r5n-BPTfr@zDezaUaP zA3HnPTXzQAZk{&A^gQw8=3+#~Y;15C?x5H!(#ge-)==hiXVpX?nHKrfa$NqZ^OC)BoT!jzoCc>x# z#?GS_A~RHNzZ^_a=Lgi9(AuJv1L+F6`t^zVbFXa)BS8cE_X2<>iz{|xS*K)5Hsl#X zi08u`{RXE?#9w@Pm4SY^fx++m{J6XxCgDV#3G-V1hVJS-YvtL^>fn7Ip%b@EaljAH zr1&nrqruP~rPY-Ye_T;qMaUYg+I1zqivmIw(-w(x46lS~c`WyH&nuVE&R1MWDgi7R zMsIft=S3q>MXnzAEiU)|148`yH{Pt;X#MQ%Ex4wth={7T80mX%*?y?zJtR|LyyrR) zy|W@1vY3BJ1XDJ7SiO`mce^b7+8qu+?zi}G<5^WsaL<5~OAN4Sz;{I#E<(8k9^-OZ z1Z<|`fE|q5F>f`?piTT6_h#ay8a;AyS-ey&0Er z-jso@;oPuCXs`vY~$H9`J$z$qW z6xwgVgL`W`nY|*-?t9D`*2FbTuoXJ;VNi=)+~I>q0ROi;ej8)7*%JZ)Iat)QFM8?^ z(Z){fF%Qs*Tq)dOV>v|;vaMTp1;@9y3NXkubiwOri%~uM+Jo)6gLBFg6tir@M9Oi) z@obH;2aH*uzRm-6*+sW=AxTN=XDaqQ+qLj4z$rjmvv6RAqayg%5tz{L9U#k3#>P@e zf3VZF;;OS3Dd!gQcZoEIlft#(!i0`_cC7Bus_n>Wwjpp#6Oo&BBdpFviD*@Iu2Mt)oEPCNkO*h*8i?h7|| zAFVctORV|$O`xG#WQLI5%01$Bs=XI~On_NuHhe9=* zJ>B@B@`mgu&q$sA*N@?q;p&4ltpAl^C$-ih|s0F zUg^vMmk-NHNh?6WL=5lUq!OHc1`AqVp=3gMVMH(8??)52>`2ucHB#sYvjlZ*u1gzO zpj|qDuJhLY00xX2A4BUs4}7m57;pIn_OnLHW&j*>L)u6RjjPX-DQkK)Q4A$km;W-2 zJA2{zdATF$aV~5cpe^46DL0h#Fs`}1RAen-)%p2_+){*;LOqo`To0Zh^RPHTCmE3* zchN?kjK`I4K?-#i*`#P~XukTiUfqc;fqom!X;TcN4q>sagW{%T5rh>0>84l}XO70Z z+8qNyarOR8u1##zL^jfM&za4*#uCBO28mNu+lEEP(W&N&D=vOYwsaBTp83{9=mJ-u3Q!<~wby%jFt1c%Gd7_kxeza4`gT@K1-Yq6;k^KO+TqKOG-ZnHYN*k{5^j>7q zBe9b?{VfNy2mX|+hJZCUmXjn7Sruh%7Jsl^q$k4Qj(OIOwrw7lo*OD0wieC%-Wo!4 z61ip#feg;qPd?k%RPtAFApT9I&_8vMv>A$_+pWk9sPZ-Qm>okoiB=sz(s$mSm1E;E z;36Ll+0Td)?RDwcPY>!|Uu0?E6l z`>h+{QJcgH8esqAw0CGe!OkZ;d3k%{FKn~-{!LqZ&V1b$F??pj^3RO`s5$NI#}1t* zCiEJ_&-N~I7YPO)QPo~V6vk}rX}rCE2a8QB!GgM-0uVw-s^Vnkz_}8O%hLFg7Ql4d zTfb|L8h;E6?2Bx&hSHJ*7_6|QkbB_lQLeS~(E1j_&^>SQ&nTCHEzHtsXm?NOg1d^r z(^Z~53Ww#W3qJKlASa)DmAkwIZqj7@!1z*|lUlPCR&bLnNw&yHa=9gFJVYHYGJKHG zM`g|uI`_UZJHT4{_HlxRoJ!UB2Go&U8VA|cd)pGkB?3nuF#xYNuRY3srK; zwW%<42rQBOoXiLUDy#$9l={ZU%xUz52)Vp|h6qqaiH`UoNs@acm_-2t(^4@V86-&{ z%#S`ayB|jUsGyy<$myCiQ%eoG{@l-Cm$gQeq!-;y9_Fgc=isllb(YLWonZg;^{Pj;`Lu^UMPw5t7iNBTt{ z^`$%{lKqRPIB$)xV5tpMIm|!nQ-mVpyvdH%SApw)h4tC8AWC*qVxT+*B-4s=3p45> z&NA(fRJ8)41el?K@Jr%^N5yV^PAdQyPYk>eov{#l2dYv3hh)0ah8Zu=xAU>(;Eu-t z59A!5cdpg%wkURi1SfgU+Q{u;)Y)NpPeZ-J*e4f6JTApe;`}kC9;A7%uAnHKJnZ$) zvVntSAlt+c)2^YSv{q|!>9*z*f!6!9Hr-Z%IU_&YeZa*a3y7f43PMi%1+YhPr0OjC zt~{&#qV42aHr3h>BRI_hDpE83e*HDIBNY(J4~14C`r5X1usPkopgKoBqyFJ#ls5O@ zPLqw*w&220jwNkf-u|b{2mnF~@g7}40;EI}bM^@BOIjk8UmnekydJ*mM%Gi2CUAN` ztsJ1fOEu^6UYy--Yzr@1w8jl$vFOT3VRlu6(U(R!gmN^XoKr#H9dY1M!i;Q~{S%dM zwkTp|XspHLlM!vASOz`*&WCxvwCT0mG9S zAl6efbeN!rlRI#KMf^$(uazo_mr6XY8FFvroDAE8QP<92E$Kk9;?ChOR42pPP~ykC z`mGqvdyR+6=RRa+2`%n{X%ot45J@dKeu#UW{_rJ3mfBztYbrJMI9XsGxP>%2o_WkY zQ+hWGX9P^1SpecP9vH260B;)oGjoLz%Ew|G_J#tu3L$H?^dHAb^6SczjFAZ7^}}EV z6?u}gvJP^_67cf^+T$5n41Bcu63=>}+s&aJeD~ixf{}YpAFb(WO&oZFO_HC0p5zNp zI#+h*7L@b|F>>LusqB-XttfW(8LaDp$aE`7 z7u0I&;pLxH_EvP&6!P!S%$L2xrF?Y&b`!Wr7#f=xt$LZ~sdw9L#KuUHM^oH3knCkx zSrLH>1@I`?cFt_N6=XO)_!p#?T&Ur}>}9!ynFIJml$U7|S7%^h2z`{%;C(EiUt+gV(a#(8J$`fQ)3&Vt= zs*J0>X@w1g!TLO~cJVR2iA5$Kx31J>(DgpEs$SC#=tD0j3?^Tis}=TdZX5-~rNJ(5E;D^EdS+`G} z5VSTIJWX3nVh*L>d{sLH^sy_jVpKP~Pm?+# z?bCO$JZq(~0?2T-YPVLI>gC|C3nk!`<({l`-}#)K57VvfuLAb+nb_$h0H$g#1UTqP z_!Wz{)a;NGqqjq)IY_f4R*Lr-V8GLNXynQ9H>3j|8rB^v@FWzSp&)=HovrkIdZXsA z?LR;|ffQO~QHy4yVM0Qu!L_58mWm(eSPgdv443IaBIZ{4zAH{Xu6nk?(xZgN&Bow` zKO|odWDRXAXa}3d-pnNWbW~njfI+KGZ-~=?0YCD zT*8bzcGm4ybi-a_^=~^hsSIeqFgzX^zL4Fx{ny@*&)&;)t#VRJTH1^%M!0L|7r?R< z8LYc7t~pp>H}jo3`?4UxqUl?wK@UiMt_n3PDsrGUJBhfXUCQ|lW9(1`9 z@+8v9x&;)CMWM1o$6|yGKvAXLD0Lz?KK?K05t0>;?-0XBN7MvYceKktb3W+reWTtc zrT#e4w`qlwHeSjn9QL~T-1X8^f|aVy&2K_=WWcPGV1{;f`9|=-WYryxz*3xjaQ9=A zDWNmY<+;!j(NACK0s9@f#(*YIC{8O%r;Y2x_hvbM@df%%z+Dt8niFV zY`z93CKCJp#JG|MLp;3h=t9daYM;4#;F(7b&G!*+E)NW`&j+M28MScc*k5E?Vp>UG~9E=l8CcbYTP*uNyHwn|4|+BRI+mL7$G_Lj6A02Ay81k-Gy z*Xz-BRY8T;eGYJ_A79UL<7#;Bno zI0DpyqY8SM&ym2!tI_J$#y!ZNFC(sZK#OVfXLGBNv45d!Fv=L&Y_@MaM9|9!S=i_E z(02~JpS--I?{Y=}i?)QD@p@CgZOm(1DoyJ>!}jPeP-M{+;~U6<#-y|kzFUfmQ(C(W z!M#zGukTvR{@+^uckswIJCGoB>TcP~Ba#SA0I)Ur!l>2Oh+1&lbLHW;=?`lw zlK`uXLGp^l%*O<>vL45$cow$XO2bCkZs)()PwJ?P%QOM%#ZuT1BWPOD${s zg+?2%W7?LF(Y1o*;+pPVEB;gF6pyy){Y6j_C&ZSj zoY#u8;35G4FFUGuC_*zw;kZ4<@-C*Rc&uL8)Wyx;t=WpR5qrhS>8Y+S@TzkUY#71a z@-!9V?jFu*d~qfYdCL>nh*(tCG$r=`2CsHm9wq|eR+jtIwd;ZUTHK%AvVf&pq@N7h zpCnl+SVcr=4@k1T*OwFUQjmhUiRS7G;+nhyB7!ALvthNPA9i9|#pZvK-hb>dr9vQvs){DSG$gI#5EMB8h2}ND8chU@+Z2V7)NRrOYDz) zIq%W`?pE6PmPaeX@dT$+UmsuZ3&V7{4QNCctI^qsxqoH{kCrsC(rGbDmIC#s_|V6m z^JXdgC@=!;nhf2Q_vuH`jTMKZwSk*k9+d+)@=}9B)$+L=X>^yL-Rq#FJ_^nj2_sq- zlSa$p34fL)9q>kK2Qm)55UV)>tv2jMXgma_0!(+>KhIPFf<011o$twFo+~0{^=2#+RRGm@!JLq^-Jq;X*bLA9!dfW;*rl3{%bT-1|=nC?

    j`M8zc)9A)w0%UE7+E& z_pV{>r}g1Sju>7U(KG#Hx}3ewd%&tE;;JPq7gJO;z0KZ_0{}u8SniF-ndMN8pFqs- zWF>=~B=~G-o3oa#@#s=a56sT)U-k!(trMbIJoX6E6R&2Tsvtzdo+es}7Nzpe9!I)8 z8ruYMWT^tWe?M)xRl7-P7?2d`Qv8fUw6ArMd^?%&UJ_j=iD!kumCT)A(}?+U@bY=X zE=&uLJQN=jm{M+NLmR|kwq7y4swUYv>}(c{vn=iKRv!a!v|HTs!o%mD(9nw)E@3>GEUV&_{o^f+|pNH}hW z{j%SE;AP6m_u=0^~;>OeRWEvDWBlS5GdsDz-)@U-`ADxB}&n}Xr2SSJ0^fN5m9ty z#3{Cg{ekhvbSj5`>qk*j*3K*W!uBpxKV-U*bBDPJ(b_rOIWyJ(TA^W>kbS*4YMxI$ zIX0j&hkyKXe$JS}|?pnQC-u135 z*7aA0F8>7EV6_JNnGrD4?9z~)I`=pA+Y>D$Gt`d42Ab-}dq)nH>twE~%)l(qU^wl6 zfuZ|l8hU!Z?Z`*Qj}3=s+3^#uyFt<;bQucSlUbLWoLRkPPdp6VA?x65y?0v3ruEcU zy+9Scxbqh*N~l5G8&nRx*!657<648y0n^Btm~2Z}lEu5s(Uorh&;`k-ooY$^k?{B|Uxz91bUKO`#%Gx^}k z^8-sfC+m11hS?X1KE^YYjF+8Fovg1u!5AlGlxO$dI$+65YrNl%Z54glRe0Jplliin zf(JAhzJ}I*gy{XTR-M3#&ffUz3zO1zC`PP4>tM|z^UFL*&mZ)-&KOu-WxNjt$RS~C zGuAv+bY4@r``Dy)I)A(xGnojOLmx|=vc3#H*SX!!+aeqhVmKXIn=h8}wzH+?qXhcPX4bvNGRuC+d|=*PQ$$=hHdBR@?Z|4AjZ?m zssv9D_w6x}Vs><)<=w3(f2JSqSE~lk^Ub@>^ms%7^LZ}tLF4zBhwoVNjX%fbPj9@hAiiUcLn6rS zokyN~Ydvlm3D9~3?`8J=eV3Zh&;Iby=T577=;O_^y(406)U4}h)}4casR8?!8Jo9z zlwo^N2mww~7B0^mk*5V!Sl+RVa>eqZaE2%M=+8%hayK$1DK^g9J6MaeZDv(JZs%ss zp{B5fjA&r?){XvJj{4OG*FTk2Q|m@%#H)%=KJ2Y!8P^ABg?%ShtH>qMSrHu?&c+oV zI+&4FJhfl3rb^oYa&=S-pLWW`A6cQ3-Y774y^FOx){cz%QsJsrUAj*whuk`|=jE11 zY3V!Fp9Wk))=r1N!zB#q;?n2Df~ zh)XP&YoU9{H%p8Xmc$iq$x#BG6`@=>+Tz+(JzM?2Bz4dYi_wQl(b`xbyAky9SI#BG zY*%hM_#Om1FGDXZOFa5pWXy(_x&H+TfR|Dgvij?BHP=W7UrXN%tsIT0dG=O4<7=H6 z*Iw=<9H$b*!7Y+>0&TC0d*AKv5hmuM?YBk|*iv~ba|(f+O{)HOEgaIfBHPbO_D1d) zK;wYqt;@U27Lg1`vj2N^#vbl-BJi6#0x+BHxoWc=AR( z+iiXEN-Wik$&AdoLu2=0(%bY!pnv#HEVs;40NB2LSstiBk~?>0{Ou2nj8l3g$;XHg>}r|L(6^lnZ&a5hc9w4A*^l(g6L=q|eTh0d zEj`a+u=95Hl|j3nW(?jl7lCWpWPswU6O=Si1W2#-mO2M%;Jz?bE5jD9raaIjVs`F) z)BV-t6B&!lY8QTQnRQAfDBza)jxKng0!L5JcR%vM{Crsv_hWV+J19R$!vO(wun)oh z?~uP1zV9FRYbi>EsChiIw? z)A*r8G!^}!_l=s|jZZ<^T=X2c3z$}P={D5_+IH%n4{g=F#}Xn6oBcUAR^TU!Vh&)b z7tTi#>i8>#OjZh)20vQH6A7QHeqIy9s|Y@S8SiSiv_8qq3w_IGokdHBt&eyv?oKB8 zuB(LxRu1X`AqiQhRkqXFJCp)3N9q4Z+}f>HyDU<5@3#q4nnbdoTon*H)n+JA{7r3Ox*ngHdc$Y z{?PEo2Pl9;Zh zaSd#jiq3pk?0aaQuj#tmn`LFc334x@_)-1Je@w1bn|#+{ZLzcBBZ`D{F?OnW)%pCs zdjCXgxk$5U-1NUG+5nxNY|}Vr8Lnesmfk{-I~yv*bP=$Uhi@+{mzqOKjRLg5IFOcH4kXU-E1%wgZaw zEu7+Q)!koXhiV3a^kjXp=ai?~)cbY_->70I%$%Os1c+#oGxOLdkU`9CA_~CyPor^z{{r|^T zWGPK$-BBBg%yKKIYQvnm9Y!V;g+!D?k(nGO=Z?}GMrzHF&8QqIa!R<%W_2@dn4Gg^ zjuSQ_{C?N>AMhx_Di=lZxDEY@o+%8Dm4Khb^Nl&!j72?!~p6eXr@x zqy6UvP^B^3^!_lwGxnAu-sJy)aS4XNYg#&E^YOiZ60vVL_12W2yb~$oYA`TYWV*hE z;tHsvp!?ZL+5^l3`qW@%1=_6mku5;yJpQsCxR7-7_`NsoskI5~%H-XYmsrU7uWq-z zAMtxObm_w*C5_F%SyT4y_eN+P>A|u2>Y8&G8Iec+E9iDT-^qCG);DW7X%rF6j9pB{ zdi_|R1Xvc2wP~+`U2UNlQ%+2@Xa+HwRG&)apuh{Ci7uY6CxTrzKO!R>rdSDP-CJWy z)Mt<>Goh0u0WkVaknxGs6pHX#Xcf zX#$GDM!^b087G1wKz62t8LaEI_TKv~>c8jhHGo%*v+c+yNRq{Gx+Y=eZTvmdKHN86 zt62=1ZA~&jTCQz0?0c%X`fYTT*h`42-g#Oh0vz6}sm56`Ul_^y<0qRRDR17p^HJu~ zKn}g&R>-4Opkw8__ABW?OmsD``c6<0Y(cO!lTXV{UF)|jFIr*OLzOTIjelGPedU*< z9yWOwl{8yi?Y{lh+Eh%lxNlM`w*&CAx1S&Ac4lv=2ADCrNV$h?Wj$N@Kc>=xb(ATjGpZwb}78nNjf zH=UGS#XoNl@fo5W;ifWnxGvxO?s9cdMl{@_MuX}9yH|IlO9&7v;+Bhm5_6{N3(s82 zA-&Lk04x<}k;c$LiGbeKjdMd))(-0lZ6%t(2b>5UdOrNH>Bb%KD5e?jcrGnNsAj$b zrM>TY<`M2suph#ToO@n((9Hl+*9C z23o2crtT3tqtHTHk0^(@6W=pB&h{DGPzX8JC>Ondy^!ej_lhb@PQcW}JCwjVKp1{U zZQ?od5k{Gi4T7LWi^$hjqErZR%LpSXMxmzqZrUv$8M|37d_Og)&~2A{pQ+(@%-Ia% zr2zG(vmub}lW3t zmF@pKMP2*j%KgDF-FE7FFw(1&etaykL?;!`GKyP$m*LhVI6L9dbWkP~3}mDTGH;K+ zT=58|^Ff4EWiUhExnOpG3~}2bKTOimR|G}9OFls$aYWlphp0QjZrt)a3sj7}jMuFh ztY?y!0syl?dWigS>n@D*UgzeWTU%nQ<>a(Vk)|me6wolh*Y-c3e9C8AVTIj(t{K0M zDqer~y{OA9D9ff)6Yn!*bSDI`d3H(h7nH9%no42wP zV&n!#D6K&#ZBaa6-O&u4@mCxiEMIdA$jHv_fsDT#qGX5Nkq23i{gI>CL|SuiL`~2( zb~L^pH{?iVbctECSmE9rA^?phFhTPh@va`{hUdzd@J1oH5@~thPES<8&&LvtyNHU@ z6Llv(1LYt6Luxar=rNL>ZD$XFs6C}*sv)S*Ohl{wAL#pI4aH*%IOm5?I{a+b(mJ5L zNHZn%{&5EP`W{7uwt+f6jior{RG$-z;s{AKv$K*;ScU%XA&Dp;ZL}}<9zc*f7V7oW z``%ltemKC}oTCI0fPBJ|O{1r6OnnA+MZ?i~6sfwh*6Vw+_u)nT-Otv(xz#ov9L{d@hC0dp=rZ$vB_GYfm>~YLaMFK31*E3UKO~2J7&KEVsrL z0prMB7n=L#@!N%}GxM#bcR@l7ddlYJS-g+n%AU;UXt={%x*Ke9JB!ehes=+5cj7^K z3Akr363~R0Z?T<~bXWcLc|Dl>KH;8GNL|8~N&W#v4)^^wIaPJ)9>Bt~vg^nzn?K^w z3d4u!^Wt*zC2URYff!Hgym<~RsD~c|`IOz(Hi<+vHJ`3510dg&n_Kk{tKevMWACn<^0&7uro0*z&jJ z)kAY8i0N()nDP<;#L7tUy~Dw5qqEUP^!aXovzWc3R`~Yg*3`g-8LNg`tRdat%E+h8 z)6R#S@Di}k*`HzAd((%DO@q>;(*$dbSv1_mWbQ@Gz6WjA)G-1ren$uwB%QX%eR%1> zDYm88<)(gdM&Om&f|?$_Z}h-6Idf8yS7JA|18@;`Q|^~E;Cn;OKs0K%fgvkyjMN+B zby3Z6e=`siP9saq+~a^8#nS76rK7t_`KLeLh==*Pw`9l-rktbXk&Qz}7BtrXi4vMi z=^WHtPQn!CSh|=zEvMQh0>&g}m1wrPP=_(=6X!mZXz%-pk2ax;nYiSDjP9zQumMjf zsdZuff=;edb{bVq){Z$=qcBpO#RS7+rLH*8E%;KW{;mBdJG@-Dd@!`o)uiA@1fY|H z699uZo3P%l{bY)~??_Y{!d#hMYgTHIRC@Gv-L{0Y0aaBnH(~%Vuk(1xBS6jmVk z0s+IB5>x-PHmjrxV@5%atk~+CrkMMYGq2cc@D~{Sbl(QOt&Wi-l(#Fgz=D|2FvhI_ zphfUf*_RlFdE=C04aX74q+H&&!$T`r$e{;gfVlW@hI(^@y6pHct|NqS@r{^y*78Y6 z%PCkTf%?b&QFOyeft^L>Qi}Vr@So_=%DY;>+SsbB5EpBHOK8YNy&c@=t|cu#Yg^i& z^eBsUrQRdq#YZY~U=jOEV^wFUyeO2Vft(htrzVt>={;?(l#JF&HFe8T)cPsx5pT_F z{#kwud8DXU%-lJ}F#%@qUE2?mi0L;y{XBj)2FR%^+k6l$QKGFy8E=+5Iu$R5Ud1_i zKkAl_#mu;{wG#ug+fC|DtTcrAZ;@eu*lKP-w`|%p#r^7`_q?C=MUUA>NU_Y5D1>GL z+N78A(^g-U4$m{Mz+QNEgpsvLn6xyt>jJ{_L+ABg-D%tb!ApS$ z>$tfTTnEHQf4)z}Ht9Vu=4uxDSuvOk7fUbe)7mzjHN-Qn|INp%{Pk0(yXYFZ`Q(e# z`6r!VAD{^cTd-~g5Q?1Q<5BR6C{3AFoxL0+D?C4uW?bJ z+;8Fm1F$B5TAs13amfFA2nWL4uY-M?A{oz7-M=BCc2)chURZy->yWTWy?)AZA=;{k z5*%SEHc6CU8^50z_NArih0+pVqwEE_@yVU9p3%o7zv0_E5pG!S)Vb%*rH;f`_gB|; z#3?~s&|GWVk&0Y$qAWR$joL8836qsuptA)vM-AVFJzT%g#==01aq=Qjfa*MjboH&3 zFs8l`$dItjGu)ej1dY_*uKjDm+2Uw%RXCle;R7+lQ<{&wL|m9`ACq=WE2Aee7sOK+ z7n^3U*Aod`-*vY)T^3JE$&HQB_d_-bYi?;Id*7!fb80v2|1POugH+YgGA%8WJHR>> zhR=5VGB|x{IIk53jF;O6a7cE;kn$VxKCE|y)04Gy?7>JY*%$@I0e@74Ee20`eOFZL+7V{BoL8brwzM$cZViegFG=r$o3#=q~|@^x$8Dx(~!J&(ty+6yXlFfG0^ zuhQ9c&uJ9xH%!WQG>TK>nn#%hPc(V$(RkSJYxko~R*X}WxGcT!zI2$WXM+*tI*e%YQu@sc!*rtHz@U%r4ZD@1)ziYUSIcW^{>^aU`gI zaQ5yP$Hkqi-ewt2y&( zM9#-H?*FR6^K+>#UPlhzI_SM~HSro5+!HVv46M(TE4ufhMR);4!E~*caH(cLRH$ZA z6hD#f*8A!WhF9+j-1^J;Zf>E@HPAvad`hS9Kc;rgU+E2A9bw;nke09j+RzT{ptoGY z-E|=EHp34csFv+sn6y;lkpN@ckXuaeoBONFQ1=kqY0dv(RP79h65&X_%l>x}mpAL@ zu@ZgwC#Ii8?nm|%m&iEyYUn_HeDtzOkS47NpM@%4&9Ka`)i}M1cV_&TqcR){w>)ZK z8nAA7`tf`JNoXO{l|((4+Tx*+IpdW1d9&7sYvtHRBjRV;q4P(|T4@%~R_JS4iO*Ea z!~Y}~1&|v+3t4pUvcvp3-*i4Ggxo$wCFP!fGAh+hXhv7CHFY4oow$) zsv@3VIV%6=F4Qgd9EPqZHjHD*RPE`})p+_hS*c zA@)34i=i3bZ0e6gvbv@++!TkqKu2QROyGmnsIh=4o1Y&)PvJis0@tsoIR}Su#kT1L z>*8U03MX{ezgdLL@OnlY7p$hb47H5zaP7C3v9MjvpaLeDX5fG-?G@FiPj}#~L3tSC zCUm z|HN!d2tQ_L2#nZ;&RvN<5DcEYnZ&^SoR^CpLdn?WbLqa!c_k5zxljLMfBfS~vxo=+ z3mI&so>r@4HIw3%@M`FcG39^o6QuW3zc_{^k7+lXeGsdIu=wz8P~$R-bjj<6g+Tv~ z>RflUl)rcI0jAp!oLym&T%>&Kc&DSUJs7JwLV< z$!uvP8GK`pKtR#(H=6|*=VHc|Tyk2D*|mGG6)#@6BLj+%5HXFa9{PHq+p|v?|BD#a zu~H=3L@bm~`9%w?P?M)1cs{};$&&atD`!}9gSZi5d8pg%uMc0V3k|ij16um>TjcSc z>P5p9eh7GyMg?eTRpVc>hmBjJe! z8`;GTVeC-l@0?#{Cfv}mvy14T&lo4~>KPN08amHYdemP86+R8B^T#@3eFX@LPengi zUIUkOz-(n@&CU5ceRsZ5Jykr&OT`OT`G1a`gy)`K*f4Y5I9l@S{llEFN6s?>n1&ZE zL@)2wOB?CR4A(KF%|FL*s?~(w81~Q_foH#gZS2zVM$4s|Ei*b_UA=S}pMq^0OC`*- zgI^s31ItIis-VM6$dVp7nT$e9jN1>fBL0_}F#G;&K!4z0GBsYgE9YKC)ZXapPWM{? zV3V!>m$wP>77d#MOfb4ZEePD26=XF_tUEGWG|uWZoHC@{1rb03z3d34!Vi-0IcOzR6JGySru%;_M+l zPTBm)ydYhh_bt6^Zs<&gQk9k*23x|^luAMq+PjO;@FZLavv|OYqs7-LK6z*U9Jy6VLz3!jD?|T)Q(q zdrtqIl59TnbRPvPW&gQk1-z=xpUlR2(VuDnru8mNNOA7%mZ%l3cK3icS-f~tH05YjGE|3)YyCjPIXOAI_tK>>xHPY!X>aOuje zeOup0x#0g32R_|8i$u3cjJZDPP_OShk{h6({_dDEwE}Qi; zwtI#z?iDm$ziX1}ApM^W%kwAsh~A&h6jp>0de)S0(AKyn)B+L(1Hrv!_k`1tElEXDmhd5J<%k8>L`hPol#-|K{4g zdJZ6`iBx)0?V?G!uK}8awvv!iTr+q&!T`ON>1bnZertZ-t@7icl>_LxwCvyA_#9c@hnM+tZIlriwA`0+%C{F|IVLLV*JM}rqCxmB)u>J#j6G=4ddm4^ z`rGKn-NN@t2To@vTf<#WV=tf6mQ_=!>eL{4f)nsS6+d2keDq-d22xR!BB-7_^GpvL ztj03J!nco6doC%e%2t4Gl2dj4Dsk!efe@B~3lL{}b*Lgo?F&tTFw;k2Yv@iYw|FUj zUwrnAv&RadtkM2hR{QH6EKqOmPtWzUMs73-?F8 zhIm?$l&u};{!p%5?ky?O`LD(sWnYk~$>1}IAG)D(J%y|sPvT*QYRz+~a)j~kE7Vq! zaVvn4lH^g08z*Wj?;cDHFA}O^CU-KU3+!Y)FF=Wdzbk*q;&Z`@zdH=a*C4f56)6V-!T24D%kN&j2X_ANA!!iHF_=jgeF%%<4??CN=)xta`e7NxfJTsXu6qFAS?=8>;7)i(kz{-e7QmuV5gw8 zpgB(e=n*jNz)fh0_AeJXJhx(pzNBsB)LRAp(IqXI`{ltNkw9?eR$8y7lDyF(c8dW-^WI>59l!=0lEp#Q3% zRN@e!JaAUi%+6st$uUBXw#pUajvWusUBcY+Lmqsysl%8Va3 z=a$7&mMNw1*2%|(r>xO8f~syr=!#%T`-{p4?KxcgT=f z4oO?IUSb)qEtQtg@ZU$5o5}qX~@u@FA*M6cqiPzvg3u`rSzJdZr=|?UXlg1d;X2rce7CB z3>%1C&J^NmB&&5QH(x?x*JP|RvRYc z2&Z*NscD(FZ!vCN-#z?%X{%}2{7f68%g%6-^g%R{TN3st^{vBM1ACOZkm|P1ge`Od zg?4;ioub~OR*PgvgRnx!H0QL&nE5{R@l>$^+k zUrVnjL0Sx^(o$T8H@cxz8K>PDXbV2OOqmSna#>>T_LM)B*gu0E;81p{(@M%s=m9M! zAcAh+GSobOAYWc1AEjP^lsvD0{>~HfTG{fHf5+jBxehi^DLz_2ue{&lx}h)*H2s~( zDIJ{ov{c=2{qWOwC9Ge7&%gzPE{On*y{xik#W4a41~iU6@y{_Pxl|e;SB02nf-^h% zDV@@5m|5tnEFT0F-jz@JP3&20-uae))}7`OZWQ9;a=8f2sObJASTMg;x(JrjUZZX~ zA99kSGd*Y6N{#M9gH{-8yqu8XyOM$GG+GfP7E1kPH6su}gP(iq#;i_cjqQ#9r7U*p z*aqwtq`+Yso-nz1rCE~I(v=~sf)3)wz337I+yIlpU?!#s%3`>;uVif|SnfCwdQ|vV z#vhF;f2{WWm6#j4<&aASpEr~8jsu_c5Ya@(rA}~i73lQEzcK|=SnZM5I6?2j8ImO{-({wYbm= z@AN>2IwgF=%5aW*rrVOq zM8D+ext@G7o(QIX;|nx=dTIo&kN7Pu=oeJC`05?VFPJ-mYdZLz6qeEOw&T9{`Ap)I z`LYYTo<67bXXqu{Wl%vHtE#IDYjIZ8hDah^L-!Q zRGHs=d~x%<=>?bbMTKATW$L*X%qx%R?@YMRaI4;xy*ia{a?|Ec7jX}1V=8Vg^YgWu zypn?#ocndlu$VTzZ5mzoURVCLd+9eZg9qf`F;lM=YyIB;um@BrwR2^kmezyk2iLl# zL_;6lmn&|bs;>5!8VAq%0NKnumOm(mz}!9kyGC`08fXBcIdmM(rxND5VrT7<7xj>W zb2)Ky6yLZF0N~@8Lrz$|~fI+V|m74I`6A#g#za%Hu+_LOJV!)7r zTbA$5dUlp*B&<4Zt;QM}TO+rdFs>J`Jz%3crbhd+C6WkCqE zR+wwdu@@inm5#-M(r{e3f+FTkisRQy*gj{oNn^FiU9bRo0*zUL#c?Avg(yp2dc7>c zI!gKLA{}_hQy=)QDby+BSJQoj8NcFTx0pwwb5w(*(sl$e#Cg%Re5ASE9GH$xmr821 zE{3*>qR~=S`ds&hk+D*$;3bcWsof_XF7E`0yeIl83wxSc$8MH67s`H5hG3*>+D zo<|=cm<=lss8^eSxfHTt6J{ix=b+1*nkDDSlSkD{iqt>megNU{Sp?b3oY{6bQHisP zr)H1}Y>_DQZ2U>-;o{Kr%HFJYi_v^yFo%`s+yBD(vbEXp1w7CnHrKfAeh@8>TyHb6Wkl2h zX$vbLw5Qt@D<5G|w3IQ80RSGo{ zw^YmVo@{Jk&3kA?T6JxK69%%fQ0@TCO0$>Qgwz9>D?v7XD`d@qGkU!KXb!rXCdN&q zVlj;gM_&)+^&{dR(j4a6!Eo+n_j7XxYxHX4i;XjJnAUbRaTyH4luz7u)TLbUV=62# z17x`JCSAb@(8L_P>{>%#*{^24G)i@Yl*r2vYN{2muy-aPwB=K7z?mCqgXUxakstc) zFQ9)fM41PK2)Ewla8$uOMh)-i8eLPEW4vC@r1fijDHy<#hj(Uk)uiVoL9lJdR0n$MIzPfP}4CTPHr*uh;gkv+OrQvUSDT3Wi(rR_Py z3+@@W{tv`%PlO=@OuPD*Z0LoUS3JOd>1;~5PqTuM}>S! zvBR^qrE8P}yh-m%LpM9S2&1Z66gTCAv5csdT~XccqwAEAfQ~kKP@M4atKnz|m4tu9 zN^ELMCgYfqgA@&hsW`Wvsy`7^G_)9VtBvgy!r`J&!u01Yckev+-tLXrE=(E87>kUZ z?{~|I=_Rf8+ngh0SxM0C@{54}a4LOo{uQ6RS&-5~O15-7g%&5n9F;oq4us5p7ME+P zv~~zh0*nk-DW7P`B4 z&YK;MOX$6J2oQT^s2iuFWSX>Ls}mtHR%=c7Ez-2K0gXp}mK{FxOlqih;gu&3eQpY! zzKFAuERG&*P${KLKCf+3UC-~YNY$?&XtP%zbu72H_a7b}LKda{jyasyaQpM>m3}5{ zSvKWhEev5$J2Az@X9}uAm7{F?Xadn1fjU_w|4d>D`5_~RR_1Q>=W<&ah(#R zIpybH^K4w+9n|vMmDV6E0$1QZ4DOjH1mCfwp}QisY2DHQxQxt~k0~aLyZ3HUUA?Cq zY6FqnFSn?vy7d)`tMmDHFD?!>lN@112QCVx>h)SsUcT$dqSr3Ci|Ziu8sk|bg$Ss45r|6XBaH0u|8_>V!a0)Q4j??_f#p2`9 zpCj4N{rA3O{HeeJW%! zEqXZL-X{kjFouJbA=}3SgX-xGRb|*kW?7-QFCUJE;Yq(=_Dw{I25t)#0jf_9dNKqQ z9vRyOJkSRvUvk1;?Oe=>v_>$Ye3mB|+)eEZjma8*Qm&Ya+xo|^?r`1%^c26mLjBWd zxw;)b)uqyI8@ywF&XM>2H7!97JwL-feMZY1sR|1?f%T5okvfMTGvt^{IielGYoa&P zA9fVLX!o9k4?N6#E>|{7;T+bs@!7{~vlFMZUP?xZ68BxSI zYc=ahZky7yun-@ZXotTKlC?w3qes_NqNBxR zfTeQd+?_ct+=AM>ICbSnXBWBunouAozd)k%**&!H<|-FC2eiomR}IB6_lrcjV2mtM z8SP)NKJEj{`)R>zo4Jl(h&dnC16yIRu^>S?lvzD(wmea2)Le;Tzw&4QSR2pXtN3SR zGgmqr{Q5A-@_ymz3%)Z1Ix9M)O?gw zD-HW<^8EX1`rE>9|_Y3 zD=iW-)CrqO0Am=Y{(qncWzOi6_qo@<7CrTljC}kzzliHfO+c3GO|q|TOz4J394zC= z6+_3iV=U$^p3-HZ6ZwtZ%2jF@5M~$bPr;}6TTB|4qI8^(_457deu%)_L%*!; zeGMxg{_6T${d+5-zO(^orl^T|&!Z1xK7U!58JeKkt4(9TmU)if-ggVN8UEl%aH1)H zYO?R{MZ!e@0y`CQ;#T0L+TMqPB^hJgqQ&dciH5y7PS3W%V${@g=b{G=(DH*V3Um>) z2xHu0bEVE;W3?OUgZc*zM-SJbPVCYJpFJJI1sD%MPjNQM>%3Z0U9VM_WX)MSdjS~v zL@KgPhAO3ypmza_%#W65+~n?}-M|g7UiuS8@Gu`{09HjwMHCx{@IS;T@rftzai1gq zbP1dO$lBp9iI@d1J^c$8r>-4e6;qH)*WZMF-=@X}6s3%R>cR|tf!&BM6MmJjAKCP; zgW({C{lm^-s?Zk%(CaoE%a2@}4f`56tKQRc8bF7>INI@qQF0^B>>hDX-}6zLvio2< zc4X>}lLys)w>6k7ov|{{!Vrb&cV?v~g0ev5GHd41>XA?avU~J zY(9}22HR`ZDmpvf_sMHy%z^vGNO7(csiiK;ad8aswsV@O$=Yh&As*~wfHM}PQpVTH zAJD!M2!FKD=N7{fxf+R`>ER{Lyt6&o2+@wf*=zkOD#M`WfAer%KR%|4KiZj*`OrOu zz}j!uOuTYYP#Gvt{R6KTjl`U7hTDlUFA-79kgfTNWke$qqN4a7!orY0Nn$^5O42wole+I31f2A|cb zLV4aIeM}@rLIXMXT_!5pO3}jFV;JlVRb4^X*>?^KemSQGUt4eqF98-V$acL;S-@l3 z*%~014a@`2I>}L^TE}+pa_Oi9G9$Za$tyR0Aqh>Iq_k2+wU>Q@orr2a=TC_ReM!m? zZ*#HcpeK#7r-~q28BuaH^pNhs6g6!i8`EL(^SVTFMEDk<*!J+e!DiMg<~#P~-i(ZD zj8xhtlC=R_9rGMTVWk2g{bosU$Z)eYcB&?2uxLC#=Jey?#Ho(X;}3zXsnYsjdcnu@hG0nZ6NeUFk05e7ATaQRjyh!Q8yFL;Fi4%l(GP?`)cPg z0-y3~6bpLBo^d)SDtTcu4b9tes<{o*tq~dfBd!&&AUa`nhVQ;)NoXbq9geCo<3q#oPPI}=b=~M`@wQ` zV+Mv!E@6M0z0!g5yNtGr)D>(Yos;RlHifqnwNjjZYqUl&%}$l*IL?LY7{zZG;hknA zackdzHs!z>m#%!uUwv27i9-OgbP7$E2#RgKIqMG0CA-?6`Y@bq>7^Ta{fhTH2i?-lwLe zmb)gf4r$&(aauXk!Dul+9f269*?c?Y@7;0c)-YFfE#0*PEC5qHfa+tNm3g9l&yu}% z!kBU-8U&agu)|H;!Kxf_L#IyCogmco_Y=5Iv%~k*P33^XiCZ9KyDCQxjtuX6@l637 zZV->}Jk((>q@9Y{2Vgf19}K0&1gfWPr9up_pn#$&_v;rQ(m(NU!dFX^x3D7P$r;yP zdc;5k`!df@yWF(4bCIVeY|%^zd38}||MaIU7p;C304XTeULYCLoOL95S>7)X)(8HG zfS`O9q;zvCArsFr$$PI_v^W$=R6gy9<*2cLq&h3xUeh5D1p`fM1Ykt3L-18$kXjHg zd~Vk#fVB>ZiH0^M!Q_4MWYaEi6(LJU7Ia4%mD zy;&FP;fNDf1B5N)*NpWcpwQ!7_3}!%pql;!AqU%wivZDQW2Isq*`-YQR%NMGRc?S> zcry_x;e+4*yF^NekLm<80>C`$l*7}H<7oobHXyCdMR9+O6nyOcqP)OZ4~@HgGUcN% z7HlqBwBo4e!eF;Y&zw_u*#{!5m&dPc=JqWk&i~4$iZx+Ulcnw;bBzET*Zc4t`Q@ts zzDR96B?o0uLW^Ubl&anl77YKd7<*}$t7RTgt6eGQgwzBk=Y?K2-&qO7Kd#rmTJ5IA z3aeXL+jgyFnhZ-SQ&Iw0Rx@3O)??H_(nx(N|N0e}dyI|p*VS**&1dDI-}JnbU)R*!|D%ppbmYP8%Car|-0E1BBl2X#E#)hXj@EVrBvSvzcz zOk>i(L~E&dhQdg=v*P$KEOk5Rj|fQWC9Kg_=_~!7*X<4sc$Y%V7I&GH>#u98@KNIw z=PA4d4$PA%XL0COpe}tP$p3pZB#laIjw?;;Ntw1teOysQ!7l9@eu6;hCo9XRpY31i ziXfbhX-?l~4Nir`Y0BDFl?YF|42W{+A(x#V1{?myT-f~3ZJ0()_qZN;wVwKaph8DW z!1yWcc{K84_0Kn)X9GR2JLxEL9ee22psVpF(JhE69|>kC>V1FMq<`N%UPR!4spA#w zctd@UqF9k^imj047bq5>(XV-Zt*f;EPRU7>(bI-bZEOT-{5c-4zx{uxyEXL?NQBXL zfXb@F&}#yB_+2qF)9~$qFtvVhLqix1J7S_$T6`^X1DGwAj>qSHj#qrjWJ&=j6|e*E z?WpK)N#Tgm9ncsAq7-9`Jjv_!z79oLcUfkYq)Cv>gOPWeXC4@nCw28Rx$vcPb-H#4 z6ue>W8@J32KN))D>WhEgQve0Pr#)#?6z7U=KS&xMdPHxewJ_`MpMVH%C6Xz>7=g2> zXX-ij`NvUGM?z`(0w_74F;U;>VfJ{z{e0Ec99Gw-v2cXqb=SDF;_RT_`p+H+!$AG zadp(6zOQ$0_7*Ha4H)`p$H;>WKw2s1@`TsUROnXve;|+wn%m(DE-vn_uf6qyYg8LJ zT?ug=^!XNZKnz+pd2KMn$M;h)CVB1*TdQ0<2(J6FgHG}Ar-pAX2x+!3^^-DG2WHyK z+3c_Ur=zV&rasgFbM+CKh4j(@l+u5OBnE=t*e>EimwofeLj8`$rk^&OTeGM!>nS>v z-!#T0g4r9zvvv;hQZ5+E(oCbOP)Y0OY7y7-iUP%xW|1LAp9HFF*D40g4u=JG;uYd7 z`b}WFG4adgVNFohLO0%8$~8F_Sb6&0+bk9sE&3C6IL}3UPnuxHxj6-~zih8T0%wxQ zOSZSpynDuk368fRBfEX*Q);8#)x_Ysoui}!K550CMWB{{CJ&UJd+cxLUG*mvV zfd4b&K;%zgE5KJP+JPBAiViGU1p}|ckRpfD8j=A^%!Pq)grWF!bojFRr)V&o=$CcjR?*|(2!lvNn@b(|k7Yae zWRv3Kza``1fTO_por<1XzV(M)zi9J@To zrb@i5NMk7rVtW&z=KZw!7|+TYOsgsRDKC7FR#kmXuf-azHfgTj4@e{B>3A-HTYUIu z9kFMezdjicG(>9#OsEMD7vzc5mCBjP|r0QO}FN;3JIjb1^Ay z%259f9o4g{3fl86ZAQj50kU<;ST3$)fR3!wdvC7NCd_8T_zs*;d#FL0cxT5;7o5W_ z`7{Vf22?j71&Xc96O5)&*RrN*7;J(65uoj{ZOq8PH$F`&Jd)7v?&(jU0rG-1p88X; zJf14&He2i05a(vSR_LDYLwTm#bYZ_yj`C%G#W57ZJO{WxdGaX520OFf)T18=d;3@h zYmXgB(sHz#jGaZ9Cmf|^hJi7je*-@bJsqsQJF(eF0h#bh$E68MhSOrl@PfX4pkFRK zanobRrDMm>T4?|QU5EmqRpM;(7foj6vWBR%ovLXB8&099d|n` zx|3xx^?pVNqKaQOai`{|J|X-#zd{GU0WzmB;D2|xT-vRk)P-iuY{v6K%HvDJF7-Ql zJ@@svcOsh3+9x=YeVkM(5J&r=X5H&D|)uDn~$3>Nrk|eCGYd>Clt5Nzc16p=iIti z30k*7duJCg!IJS7jXNxp4;Rb@o=`hvY3yh(bab4>=SOf?+W|LHgNDzJ{M!3h5%m)| zV4W|ee?kiRwL3j3Ie2_ieMzYSyV(+844M)Tz-vSH?|;z~%yn%;BcdG`m{=4h0y{x| zSDW>EAjS`3e>stv9<#c_L?nRs1s>|?0*C8zaS)fOf6hx4%^>D6aAV4u%^G@xuh8ov z$Xxb6ytp4Vi1uAm#ZxldL22q&QS!8e?UZWAFF=mqndUsYa9z=Slia9QCC*mU{MUu!@cLqAf^FvuQ1q|iMnG8Fl@MX?YHvKydaq#g-$>J- zO5~??G1Q5&_PFWdBN=ET1O>dLW_Y24qeBQeGug`&d zy^A$PDO{7;pRq^YbSbOu1E|yo49`C_k7`w~H(^o(HQc~NZctg(HR%C6yPsXeu>dqf zo@C^t&W4?@A3ewFU9pjb$Fkp>xg{%ia=5t9XNPmb$iJBWAohQD#AQxVlzbHHWQN-# z;&*86=@zbuA6{Vbu{7Vfu|BF>5x%B$3l8)fUAzu9b-MzqYWBg#YA}ik+p-i;r!7=? zjyrDMau&rl&nyiwrV8K1NEy%->uFO!c5q(VL!u*{*o_xRp)FO?QpxyWK#S{^Wudkb z(RFGQQQ=XRFF$zYn``vI8}A3fGll<8(YePn-Tr@kT3IAIsK|!CmW8`=iVbt>c9_E! zDtAbVJ0@i2I5}7Dw1y3pW{5ddPUV;s6{BL>7IMCAne(A-$sF$A=lAfp6;|=g0u551nn3ty{8g=`fq|3krch&G99$R)A1#;RQ&+h{-s5Xr*R$*86qP!*- znhw)8SKUV%?$H_=6#oNp^736L+{)u;lplk6TQbH~4WABY3RzyEUTYv$n3ZDAW1u&K zpqzMhli*#U^fTUV+ff;Fss6SY_%bW_a=p@X_3i`MFFP`h9`wDIsFACYE2m&Cv3$!* zqUYnn4`*(_bGlUpdJL{1QrZB#9y+L%bYPi)FAW@lAVxi$^M3xVIGKR10QkI9P2vB~ z-7AnL0{7LgRRUFni1GnSGL;0R#WIvVT0^|kArr)zUhH$j-Dop$394&15XTqS z+$c3j!r`3EHaPf5nHG;xe^qvfTlb715)|29_PVUyw=IG7ucHH4WpYis5?QtXs3^>w z4ydl>*v8+qXnk^hu5y>#_K0_k#X%Lebgb_0WISSH@fh#(dgj3=w8|D3Z%7`0Q68)A zY{E)RV!Y(+w#v*A#VVG<2CbMLNHc8i#gF*=_}$G&SS*6UyG{HShXh-s*-mphqef-m zv1onD9ifR*XpH#HL4XD zk-5P=a^Okw-z^sI(7Y}_qqNc9b#HSU2*p0jXekmfV%Y-Smb~6QJQQ2?*F4~^VSmzB zQGeTD(8xdfQAnG2ZYGDSbj4nALXQ_IjMAZ$)_5SwE3;0dlk)%IxT=;fM?3&m8}-NZ z=~%=1K;rrQf|yg%Atx)dm@$J{p3&NCzh4U{p8m8xh7^jy+L_#WuZZ9Wb!YX|T6K!t_xa|+%HDST~ebc~EcKL}(z`b-FA$b!|aq zy0s8=VwR51CG-7XmaHhkK`=_WZ)kCLxU#A24kCI%BKuk z+W5o5nwDwG^|c|)UpSUXxn)bI1<`-ae|`E%>tMB^Xa9M*R>j%EkA=ZE_h!jDLf-Cj zkJr}bMDL?h99a;GD>4dTaP98(aJz4JthwhZ!%Psaqoj%4499D?G-^9-)B*Sqb_>GT z{pRBtc@rQlrI^4j(<$BO*a3h@@SV)aPX}lK|DKJmxcSsJe&IB%*0FoZz!B(Kznyfy z`0fq(ul>Lk`zBn%R3mnwgzCH}YfoI9<9&AT6l_SC3lT;sl3sLvsL~CHTL-{TBy)f? z45SQIZXR^>IH9dan1w^nrZL{g@KP`*+D%h`4OMqPoq zuuZ3H&jHXZw+#`~e}*&)qzkWSzJ zFNAH)zB@6en6TG_njkyuYAzq%u0B47FI`RJ0m+bgx3;t_C9P@$Uj7k=y)5bvV*cSN zx7u;50!U58LU2teJmvcpYYV!F0bqITf*Z8W=ZDJ4H~ZZr?LBZB8=?BVVK_$FJKzDG6axRH=<>py%yVhJTTgYI%>nh>HzJtVAF3e z|3;`q6dPr;v|v)Mrf_z z%1MQoP3He(;_ZJyT3h!~Vzn$w%5+-TzPNW@5iwqd9(QH)BHQOVPX-~tABmw$YhFm>1!jh%xpu%o zkcK~>OnXAUQM6!N_By2!(4^#0D54pE6-cG~lPN?;N7ZY@KFF=}=9Ru5mk%3LjoLd( zQ9ISGH51PSZ@hFLbBvam35O)&OIOS`4vy2JzaD~VoEY68&f%Oqwm2vVs`CtU38g*! z>R@dT5Eb7{EcmH&$>b5^*HM)gin4%SyKg=|Mf~SMs?kIv{)0*n3kcNenXUp%V}l&Ua&4VclG{1A`4m39YU4G zVr3?e%1XQxckYWov)lB4Vt2EO=S~<%)b9GE#t939FS4%LJ0Rg6uC&1GrS`kQl^xq! zv<%-g+5)l@{o|_5{Ppgk3b<4>*k%e1Y$S9jS5>FoD%k&y(MDSBV6qYkzZt=!+=E25gFIa*f)=++%CgAatEM_o5&)7xGEwENTMy=z{cJ8u4 zSUxJb_{5KQF?A8Nj}(QPrYjnHq7B&Rbgzwi$NbOjek$}0je)Di$4)9x3Jp}?=e{)^ z*SmCV^jTB2qB%#F^~F&aa_lauG>G|fhZ=p7EC6Ig&8Q!QF7yNBe0;G<-j}2?w)so* z=u%Z74B2NucTWh}NAzH2K{!;*nSIUh8QtPhXwj~u{+F&C%oYohP z-*~AwN+FPm8Tj(rg;MbmRF}R|*y9~3l(;nn6a7z&`>4wSn{Fg}ovGH+x0~%`=jAi{ zVO9p<@eU7vIJZWxKB+8S@@QCip9RF-Uq_XEqv<(U)GMOvW`~PsBay~Wp@oFOBI5;M z`s01SZw#=g@n`BN|&EqgN+6#x$u$3%>uxJx8h*MJ4f?uMxEsB z+drbx1LTjYPN0O_>u4R<`n^trw0*fAgH()!IjR^=QYF}T<*Y#1$=6@h2xN=R>rDtT!0gAumK+$yC2z?a? zTvtcn&h@MT{gLc!DfHTt*QC0t2HTaAG{$74YWe;x5tRgx8nXkcp8(8g?(#sEDafBO zGQOxoQkUS3nY?@+U)!5_7J2$C_#aelt6)B`~*WDvtzC2BEfLYxy!#PD8bQvP& zg6@ZT`cb|2a5dQDX*|DQf|zGb&H&SgXGUacd?IIxScl~2F1DOn(~4>=dxoopz)#?I{9t^`S4Ru;}@*LwRTSaG~zs=SPRr;x(^vl zoFhbF6#cBx>1#IK+Kk=p^F!fAy`H8;YwG$_Q+%={lLcDw8lIS zRuNXBUvm_8ur!s{2$;^fCG(iGFC!9+#7rp=@3?UO@>DRav=Bwkc#0g^;!P^w_`YNEm3E`f3z5p7sz;swr3P)t?m2_s4Wh zFmPmhOn?{$_Hi4Jw`ZX;UYA%!tj1UnAF*1NC2OPD?!Qurd+5AhHRKKip&12}C1kEL zHK77>l=y!%j^`gpn0Zu@s5t<5n&d+nrIK&5vGZICVc-sezC!%%;hAX@|ME4=2C4p` z|DbJdO@Jp&@tq*UM$(6@oUgc*2Hh@cGOqt|DlDbCvi2$UYUoD`0$Gflb;fcOKNyJA z?QvSwk!iEvo3(P*c#l0 zvjDdXjn!o=C`P;sr@}ldWI!8}0(H_?iN%J8upcvOB-)=g&*&mcK;$*mnG?AS4Jt|W zfT^@aAXlxdHb%R?cI`h<_98}NL0r6)hAXO%*|d^B8RNHBty~~w6qsLV9yWV0(|DLd zPr&NR#l<LdpSq#~CJva_2r~Vg*X_cxU)>51?|0C%JE*F@0MB-pphwFN|?X$!U}p z$}h&$R@=k1^|D!=qY0KJzqY zMt`|mg|FNuO+?RPIx}X&KC+w2jgzqS{Jhe9d0g?ZE5*l3a`A{P*`Miiqw6QWV zYKI;iE;eaY;f$Fi>*Jb~!$H!m-G^>1hTYaugj}#JvAA z;!8J2GjqVXFeA^vH-EL052lR(&{HY*zGsXK5DZW(ikWwcLudjL11IP4gFFwmMm$I$ z?lq+=*>KU7pIqZhY=!U$AjVI?w6nk9Zix@={R`tYVCy#6zg-`qwg3Th`$L7BVx~%$ z`Ks$&^-xt{Btle@xm{b__`xpbD#U{YtHrZY^13@vFj<|GT?^8CbP<^#o}!^+XMbO> zDi8f|RSse9X#DOUwz#78vfbM+wvHVgRyIx%#6F;S`Q6+8l=r5KQAdY{@B6G(_D!}j zHKumt$3RE7@a~McypNdev5Z{|lE;kg?Zcq{jR*7kKT?`i7YAsA-kC8scDEp}DJu{e zd!Y)ev{nn!SHI?fT((9!MESNb-1kW{5Xw^dmkMB-pWPh6Dq^;m zHF~bp00ng66Q?tAvlu}1y{FHJ#nm$YklieZ9_f;`GRro-`T+?u>LN{L2`y+%G>U<% zdE|lCSIzx|R5igu8>&nKp}a6+AWNz`OG_PXw-X&0 z1Fd{@$JcD%Iq$Za9gSHlWosCy=fDTwIJf#m)BWiIWOs%Ad90=o_ghW<(b&HChSE9~ zqNQ^u!>D};r|jGxEjkztOyv}h)G2dJGHr+0zB>97*7IEsVQ;w2d*{poM4s>$`S$qM zxvo?hOS)thGYD)CJd~x1xcnZ-%|!cnZe|fQ3SjVAJTl?DQp2RM-+ATmZy1)`2s(X5 zl;N@sO>rM=3rG)}3^yt)W&#t%T%QqEX>Z)O4Ej zg^DLmy>~Q(tIs$+iW_xkJ8c`Jg~nMjHyS_mXrdw=*$#~`*iNi}#JV_3_anML@w|p* z+sGj_K126A#?6!#PJvatntK|Tf==`;)Up2MCD9yvX({A*@~S(Z=gMr|mxZ>0!iK;W zfW8<#i=3Y*cd9!2H3P>?%?}4bH~d6StC)Lw!`A2bQ_{E@fHVrrvt9GYM`5|d{JB38E-VLB2Lv`^giO`*{SY?n zV_+Zb6IZ>Y&55}d#jfi_XhBn0Om~3$#`zNX<-5Qy!44FtDTX=R>R;r&@AGKArcUU9 zRqjS2RMa=!am?OBEmUhmCDqPQSwsvQE&_Z!Y zd0Y+!7Im=Jm4_SZybi#05FgO1fYjw zpL;rAl*hFCWCF26AdRPocu{Xl!_3`bO4h1SB`{#Sf4i(s^ME-i72lZq!u^$3kt))n z28G_G%1$&IX|B8(Usq#OZIm{V&Grf#y|Z(b;Sj>jUB5u)m5$(SizzGspehvK(ya5}|T| z8sx1~4Y0oTlMu}>2;7Q!SN3Oe6#I(T6LY=V;K{d-`7kuTR2r$;&Ws+T9iP?a?EN?? zwrrcxg6?O#(JodG6#WQz^tBIbAX#?3m7Q#;>r3fT)LHu2jfB+P0wOSeNYojZGw~0! zpvg8JY@c%x1<0QHLF4>}{6Dpeh8?YkCKcmpP9GU>qL8JdHO2S|Zw0;tSpNpk5J@Z2h}KU!rE|~O z8*b6m+kxz6E8lrF6v#W@TKeMLczHj;F>%%EqhSln4P&Q@w7fBD)4zh|9lf^tj&l2F ze12(Farxz4qe>yGR0CT6)lZWLls3>tE+?y40TK2Pn+f9sN$D-~%ML|rDzV5i>Je%< z#Dj5S#u-2UKZXtpfJmjD?k+S0_DF0>{cT1%MGmQz5#9Rr=*{c)f2j|tkKsp`)PPUP zGJH?3N+8!ftJ6>*(Mh!NRQ;jTGD7ndd{L12H% zM9QGDDHge&B=7h?DvdW|IaE4_UFz(fCB%J$C#t8BaJ6-i&-_6xqCdHpKPkiEBR*~YoCm8o1wt;y4ZEJYbU1qkYr_9>cEcw%KP z0V+=^zyiDU7)@cL!AJ_$^~6lzq2qeaR}(U8l6{TA zql;bY_By*AA=i6+*)&qm37yDig=HlWb^^D=$}GoH$7 z(TSsy=~Sa`xKI_QLqi#h)s=S`I@nAwHAARI;;Dy~@?RU$66M;<_cuegu%zko$z~Ms z^2pU4DSd_nN<6PT9Q@mQ0UhkO7%}kRRGQl>F2x#clKXtGrJ zWO)NF0Qca;SMAc%L)J2xdSdNcBeIZko zA>gs}i%R!J=;O*9jTctrrk?-FQNBCBK>QMDE++x>G0eC6g^#oy* zpXxY&KKFGRX5t(Ik7QLsDh2&2bg^cj%2e65=;DFkwX8SlLu0e!SxQryX@gMOg_2Ps z)tNvNQk2jJy{cDyK`bBn&;OF{nd_yalhxmO`ThqI9xC@dw$WRRN551=BD*Vsd-ejr zJB_4yrzEpet@0aPHg>LSj=h&I|9RzMzgUZY?O`%0z&|sX&@giSlN;u{+{BMfG`_bF zxn9?M#Iy?>sOaeQH!QS=5f_PuwO7f`JqR#a>^Ixh!5Q zT@chC{d%d6`2WSYPVp`d^rP~B-+}%#DGDE=YM!P8P|fq z7J-bo-jheZ%IV2EwhLi1aLR7BuN>OSF}>HC3B z1@D8@88=_erjiaA_3AiDkDb^UJfeCmS)Ht8gM~)I0O$qn+o8XQZ0*DU5)jGqmy1%! zAbsmjs}*X&h^;7_)gnv|vf$U$DANWndK?7uut;(5sU(IO(JQ|0o1D*;AFh&ab`i2N zr>6fXjxc7nf^L;JBaZOI%xA#@=f|y(A6qBdyMfkQNQ9kF?&3AZlRc85b%Jk|KJQ?ZN47Q>9Eg?%$j5w% zn<0!O?>cj$I!%q%-353ZOMBFke07|>>K`#1lZV*oSTH1CHV&mCOh%O!WFLucwH4AB zKyBUed|(y^dI6jG}$PzO8!Hi+7G|5O#ua?y)N zOXyKSe znZv`NBGUT!b_)Om?2ET4-pGdq^_aJ3pPH5TZhOu;EphlPn)N&Zw9UX5`wk! zUxp?}EjeIE`{RB|1FO)`C)Q9PM(%ZGprD4?b8GP8wM5y>?WP|X@BBen&1*2wGgpFc z1DJWN`wY-#5lKoOn>>-hBLypHSGXi}k9Qp&wS6nYX?XN#TN+ALxH{Qyv<=uMuiUA- zE2Ful+5w!G<`aT~^{&eRy^+O{fjcX$_x7xd7CW`$ShoU)Z|8lG=@v^xX_z#snUWii z+d4hEt1O!uk?3wt=yk_86&ps+=%{pD*hxW6rdSIRu-IQ`P7Q{f!S9h0e!H9K6Y23$ zhfD|fVco7DYSEw{j=d*Tx)Erl+VZx7E={CnAWBFVWVlSyGN1HEp1}@!UR%!`TS(G! z`Qr#h7UJJ-Y=;OR;78a%$$SKPI)~mU8==&!Tod{S`pzE?@c7Ur*JD?ygdUZixf6Kf z7p}R>gp#E^K0{VEJjlX7Rq68g?p~X-_X89%KXPq^XlZokPUdScSptt28WWeh`J)#) z=IfmMaX)ozq+q&~8(JPO_x!m$W-c~F)bHmW5jQCnh%gaN&t-?d%UgPIGqHD{h}nD! z9@8jMAppVNWe2Em{h;&ZQ+m&br@{@|Vac;t1h-#NR%h}0M-DFxwH**sr1)DE$!^<| z(0K^nDF&+HX)CiMOv}q%j4FL0I+itWEsaE}m*v(so8D-Zne9I~Lb;nIHc!Vkqozx} z>W5@fk_i-aWxRN{i+}}8B2H5Q^hGwmQ$>?FSmSZ_a8v75dcj&QqmjV;^U%)vQlu*ZXJK zLl8TatdZK4pB6�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%0Am|+}o&W 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

    }`4GLJ0Kislc3=UIvfRAJH^ zn1X?WmapYAue<(@l8S<^r2~?hB+@ML`2c9A3C#Z*Pye3g`SnCo zA_-{nr}tz>^SD_oe}+UaZVHQ~1P~kpjS`&jEkrA$-n&(mfAb8$He1nD({ z;8$LCrJDf7^XxnCqb9-q@~JkY+(55{3p;OWK1ZUgyZ2-5JhQxpJ$u})nA>bR{o@RV zMaY=U&cN8qJI2lraQlIW3`^Pd0=Nl!H(<9DC?T%q-PZHEjrU%4;PoePLOegGodEE#Pfu6Nj zBvHIXbv&4Y>anD@1~nY~^G?%%?WrgmjTQ$qaN8Qa7d>sZdOZxK*Ane<24h%--mu@6 zm)<+?*mC8glG7(8W#tNZp6{1A4>8 z%?lsuKjuCae^@{7rDI*&QZ~ZHe=Slr%64Nl~gO`qzQ2+xa z%~9y%Z<}!7m&!=Q)u8*RdD0xN8IE39=zI2Oc6aD{V!I&;OBoP9q-vgJTjssE>PH2B zHB|OwB@51qG=XXW=kn8S&Cc$yo&{YkrT|O*udFK4r=;3{HjaP{l2uHx%@LU1 z5HlL6rKRZxfD$ocQyKE3BRq!=>7IDv>%{M0jm^*>lq^0N2wavT2URr*GUcDn-B6bQ! zRJ4S;ZR+j>KSF~6T1cq&-Z7rclL3_NUP^HGPaz~F(6}@}F7$McySqHF2#kq?e#zx0 zvePUXns~$)6gFo5&2^^B>V4aZqn1M36;-8IQ0iK#*zJ<*W3PJ{26b~gyg`Naoq(*T zrQb)x4GM0>#S6dUVM&&Zm62L!|H$M7w8Q{Las=>1S}t7^MC=DxJpSKO;XeeYs8?4n z9}GfaDNMdY@eiXEtAo)Bmc&RTTUTa(;p&|EaxW#D(oNkdrML>w+6!%F(v_d}O{3@C$|W?8jO&iSra5ki5V)iPL-Pwoe+z zca*$a|Hd2{d3e6t{X)rsnexR#M!X&jo)W&92WMn1)gPBu0$rQq(Nrt7lZmPn_g;mD+$d6uZkRsE8|turxqC z-DY(nt=j$AIk+w!+p*wiC&Vs>ze33kZPcy5JIGLq3$?U^zKhLDa!Gxhi46FC z>LeU-=!^;hzk{SIv$UoiO@f6Zr~mk-z3~gq_TPytGSGb-(ygcuan`pYae?wSgIgi& zEBX&~fax^^BZd_9(xJCZ);tdzamaHr2}vM zItLCf+^YG?Nht|Em)O{;aMbn1-;GHBQKjha&?H{R7K%N}gwd zkNUG8{XwC>{kFpyEksR&A)Sq_Lzy(#-Xq1L-aigBHz{|4=K3LbrT@1}a{e+#AoCjT z2ol@%a-K?bE6Rx#9MMH(V0f`w3KR>X+#?U+ZiNG{#qtbha^#b{*DDXIyxenC;=mkI zS)0T4mrJ9xA$fP|8=|_29bqixj&?r6{I%Rj_F87lxH$aSsA^V4HqVOc@R?wu{=qxi zJ>*>If3F@=uKDB#X_#ShEqT3XX^NIq(<0@|z{zxqfMWnp&Ki(p2XB44RvdX>kGe^n zNN&}?FXU*<73O4X(|@oFVH25QG6PASs>SKh=7Y#V`GTx2KoA^9J(!^Y#aW=(8c z0HCy2^XFY>t{{=@k9z?$qrpmt0PD8PZZ}W7^i6g?NAQSU*DmRnV_$cgj$U-$Z#H|7 z*X0;9H!Q|o6QX2{BR&}OFhYRI%@v`#tpe}y|^;+!}{l}O>~Jzoav-7X=Yu^!62Z(k2F|twElImmzVNb z!|J$LY1%w8!-0NoB~;z*h4LL<1dPcFOgqIR7Xl1=Z|`BZZ>MZUe!f1v%^6G^A{sx7pF z50&d%Drd%~ggZ~UK_yiLAF2o0eK@QyO4DbXWtQ-)hyUVC_qX)JH`F)p7PIf72Ithq zU|S6wVSO#O{?~dG@*vnyg_aQvm9R)Nd;|`G-Ib!-GQgy-eq(}z4AFCw+xMpTR{3K_ z(j|K9Yg2e-1Llfh2$#kYx3B{$RSQpPFmyV4x7u}-H4S=Ggj%!+Q%hbY+XS;PnB zsSZ1DZd5=T;Sr+lS2dM65S<;4D^;fGjR+yW)19f9$n^VbcRnZ^_BS9?Q`&W-H-f2O zv@sz!jyj?3e7-$v2!F$NGNgM3FWq=V4K}ui2f-E@&TW>^X>$UX;`Uo@1ypg3TE6t7YMY1J7 zN=b3OTA-c>%Znf}7c{ThG?m);gO&bVmeao}vt;L~ry5&-j)#<1tRL6~v^>4GU{Z~aa8 zj+r6OF*sM(a+F!e;s1E;037`9NIg7p?clsl z(|xf|<}LVuKSmqP)hOv^ShB=T`|^8JBUj~xf!f-VyO>Kf}fV;3xoOe zB&F+4Dq3B^l_9}r*i#xRx$QDWKAJPPx!rg)??7t&avt!Sog8}~WPfwMD)=rhU6>JI z%gL`KS~rjT?C5Lv^@CcNFq2b*tvei4e#rd-A&`89i;u zOgqWQUlzJ_&GGvVelaT5mX#fk5hCNYjz-(8>~nVuJ9;^-kkXz00VZw)7a1(C6iu(+ zwDm1_U#G8@fPtkYh25)mG-Q9^u;ma~;m(Tl*_lA`Miw|=%nkNrEFt0*W4XWPX1_kV z8s=>2!7|sjm4Tt$7hcYLzqYhL=rD>)<=BLR>50k9foNo2yxI{GnW~B#Pal>;LJheF zi*iU$=XR8>HrSq~7cxrNq0 z>!Cc2hAFX0ZdaeVH*g|RnbzXBtCRtyv^WQy79OC{_KTQB@Df>7*d1I>tEt(!7R#lt z1S5s00xCEgIjvOg(HsO6bs!P&?_CJnu=tUUbgb5^D~OZYU20I7K>$pAA6z~oXfZuj z^YP_Eq5rT9Dx^9v90{O^xzkb2r@w|4k;F`aB=73?&EOdJ-%n9xD+4B5=Z9~9zIz~l z|_TNIP)OVt5<6wcM+35?HM|by39h#ZJ)patA*K#SP@VCye%-!p*P(QNlx| ztsSl7KUm3b6k`#>?jY^Xf1rHJdA4h$au)rZc;t`Y%i1F~;XvrF@Ej$p#vcvTl7D=D zee9`O!Xrr;Ia&@`@TExuUzIT3M>^KQVyFzeUIM5eE76e-y2DReFo8=P8wuUBt}?xj z{eiF!Kr=KAIS35#TC>^Z{rWy@r84DuE@YzeHR8&!ujQmAKqO$8+rE{0Qr z^G69_-ASL6DaQYq3@@(L+qZ7P^zmqJf<0Oxg^ zRd1qNL>o>=uayp3F2iKp;IO|OkJVrjy90GC($3P8nf-cS%D=^eW6z97Zk#bbO-s(o z@D@$ohUB)bLR)7Xpfc!+vW-`;*Da4+#lr%DLgYX5?*%8Xk+!f$y4}muz_~ZZNCPc} zr9H~cxyyNB?+k3v%FvxqnaV!f1nK#K1NM%pY7(1F%VdXE5Sg0s#BbvH-a2}4$3fn5 z&A3vRj*6Jd6l%)~_uKZB3e|sV6`cVX8dt0cmDWN|(7) zKV&7!ON$tWG3AqlZ^=Ow*)Dyj2Tb(uo%iSk?N!5qgw-xy(DB{0MS9vZ3hu%DJqZxE zlw`ONvG0yH6c1PZ^Lxv^DS#pcQf}oKNpu+2N!HBskI%Pa?vrECvN2WWB77RhG208J zh1<3u{sjOxd?mipb9daV@hsAx#U?SZLF>`5A55mZ=_t>}TzQlIq{|IcN5;pr^4flm z{|TyxlflS{l0_v4A2|RlI~?nItpOorG-6|ej8fqBr)b}v<5yp)e=%5O{|jchH)O3j z>pnPC)nD5-X##&2wnAb6+fm*`$y4;f`*?FD!>nv`(z-Z9H^YYXYrY)#5Wt{B)?zE< z_Xh&5p@FoA+w%+HQJqmtJnmVZ^2)8vtgQTqQqiMI0HiE5o0>qHM4$#S$)Pvzp=B#2 z^+g-h3nPddcPcMg4|o#Ks zaz9WT&H6Qr-CFIZ@VAj8&re19g}sj|6;{L8*a|*kdYfDrM~EZF6R1WtIExM5;t)zg z_aGGr#`4(dMy`?j74*;ej;fFxgSmc~AJrW|(Jk7DshGn3z=gz_u&n5PaiR!T_qO;y zP$t4MMY)_$={n-!Ma^MX{v@_z$0Dq^RC7E>e!51)YHCldJWrQ5o?6=~;Xry73CY@+ zKWO*b3$ui1!?Bit&3->6aaGXF=B|s!gZq>~g0o6v%)E0Blav*7MO~$_Yr0&ss6#<= zvXe3M_N^TF91P9~8}nAvMWa`^f0xh>K6En*)Ygrbcb?3D{1h=Q)(l&pNlvq5^6~LI z)xGLCs%k)qQG!br6vB;|d0Jk?glB&OQ-3RsiJt+s15++_tSW1CqXVKR2~T&s4;?IEZ} zs-bjB-~&LJHD#ypZgm~Ot2=45#nH#rzR4A39FYl4&9!}I9$_q@6+PIZ-Cz`Wm#t6} z!YNEPM&79}>-*#K!(424!DBga))3W*^E!7DeC;Z=^|#(033$mv&}1-$m~eh}Tb!*x zn*$I%8m^Y-W5%y%?#4R^bs1;OMg|HTC_;P!^#-#ndLB%+I6oIMe0?*f?6skx$`1)j z|DMYj2@G!#7-qP*eUv7cYid_s#-*OWcU09vC^~@f0_2xBH%A20{Or%kj8WE*OHbP3~4x z#2>-O1Mw`+X|picZR{?`*3>(iVZD1t?ulDc0}|dn)m?ODQ|bPTorfb{?P^CWYuhY~ zlI-~)S(Qc*q5b+cC!=f)C)l`{(y=BXt(1+dT@MYKKWf)Pw~7ZcdgKO_02|Ew_R!%K zZ+HdVf9SD|tVsBedu#+)nm`Yvvq<)LwyB~dXsLRI>y_;gQO~V^x`;uPPzZcoA)+P3 z%tlY7_r1Kh_R=~#=TVayW+q&=p5gDj)k5mBOe5CpYPk)GoW`b`T|CmlZwj_z+e5oz zB$bxmR5nJRwxc$tuIAPZ>`>XVCQ3| zcu<=QE?zp37kA6xSf@CI9S~RkZS2=wtEX6z$|{r@9KPS}j~l%B0xClA_{K%Q(l*zo zZmr%#-n2bDf#B&F!`JMGoh#deACDnR~NaQ`wN7O=0!4ApI;Wc<}0*T4^Nc zbtSu^=ebqPy?=&2*n%W4ugwyrJU)zKBhv$>H(rmRcST%F3Rg|VOw z!3u~9wEDq?lC+AN`PAosINRyv2N^D{wpaAI{mf^RF>?7t<}rO5NWS2G)p6F18Fj$H z=Ll1AuFOH_IUn!6^@k@4cy|>=oXV;{F5#VoXLt~zt>sMY_x8td6M;3&azRPVbJ+XA;-e~ve#?oXoCFJc#PsFz z7ioWVA1)51Z{2?LALwZAvnXQC8Rg{EXi;6aQ5w)wdiai)hn zf!K7`~FQkIgk*J7T5qTG+tMXLB!2(mA0(`^T;~NGy&e1pyAv)mG=~L@Yn;3 zH?$~4+K#FA4HLT8+7bL;ejC=T0_qOF+AijpP22@HMjELD`B?VAfFOcH-v*LovJ`J9S)5_Kpjw7L9M( zvm1Ui3Us$0gufuMH!Efd$KDK`j-vEu05eQ1X@H$m+1%)R^O{+bGk8dpnbiPO7C@np z4-LZ;38+b&ygc0Pbp-LgQx#6rPdI ze;!3#!M(=D@HUBv7sz?`m%(AJ?#S>$3WJ?9ZYgdA#%e8!oZ4;2~xwlXKZ<5h>%-U37ol%>)*Aqk$ZnDipZ89U@QFNh@k|@ zSEI##6tc39kE_dbKFufiCNu5BR7rGA-g&!-x-Ty;us^1$stK#?C4J8t3W{`r3R!4q z0K!e+byr1e-lD%2muZo^)(%P|MGc2PJ{~6Fn_KWE@^E0~3Zv!0g7;|`zx70E3#l4T z27!b3Xu(FkBPmjuJ_5*99m=1Y8l!jDHota#v0q;Nbl1rbd3O3;Oyj95!&k4C5ml`v z*ncI)9L#9j$==L)u%SUDys#8*#0G;0^Giaui~q>p57jm_kjtPPkXAn!4V_Ah>P@B{ zRL{mM&EPwB)xg$@2S=rEV}FN$d$w7@@<=OP=GGduyU3X0T>1YvI`?>{`~Uxs$s$dm za@a;uvs|j7Y_>Udg(;IMl~amxD6-9QyD(I)wB|56Xoeg{IdpJL!c~mQp-sps8D@^j zB*N$S{{H^%cI(#K_S)PfwJiUi_$Lq2L*ZpyyfpCZGSf5>=p+dA*$os{_gY$I zbm}1`{4&rQorFa;&0-I{ipheVEf>j09)_=7jqmmw_05Mmc?1${?0!yOmf=_M5%LMR zaaHP;?Pbll>WAvw_#TF9Qj9>?(W&NYYBlLoC?JJ4Y}XUVr}aRF-k&|*-l5e*K+h!WP%o3;F#kx_1K%Bl z+K&J&JLSIusqOtFbWZ~2*FLtLMS|gE%y~zr^}oOfN?)JG1U{XF)x8HB7=F>}{P(+v zSrs|Xw=9NFVyFG_F6Ye#waCa50rPqWP>QrmF=H9b=7vLdMSgZ5{n^$`cxkv{`1*IL z5>iJ`0*?kt@W)>{+mc@m9p^Qv&j&Qatq?_djV8;p#<~*Cv1eoM$$ejvW{9g28GrY} zHF@H7e1fTn@92E-qA*G4j&uR7ibuSYp5)xC(}WXfj@ri_nt!U)W!8B+;N$x=c0fMz z*3;={Jw~WkJWlRa0vLi#n)`Boa=}xW4%-NNirrpMnL&(FZYFG}=qEp*hLJv(f0^a4 zx8~>LljR*H7{i@4xc@HL{X1_M$Vm7}()yA~PK2A;zu?4~UT&rgE`;*2RyM->dHb(D ze_Op{)9ekW{RYW-m-lSQNe)Ai(n)ayeCbDb|5KLH;>wyAcrukb4gstG?ZeaQm%p9d z8ma_Ae(OF>)bk(uzXMM8!rBfb;UvzqZ0oDg9Pc?vG(EaSryhzSkdD~VX6&K|tZ&c* zjXjJWJ0*=m9|FHZS=L%w2caZt0O|PjEs!`}Ga=Mo1KvLxDZx`nM7_wV!%Mk~E?18j zK!10YX-OK3(7-%5NM1dj*RVE9X2;lc*#f#_(H;-TL{5mz}(3GcnaULC?mqxc2Q74ClQjSP$L5uUG8vY zdTd$;CIQWRDC;;L`x7*iu1Ek)pTN{$mfN~8EhtO>-0FVYucJS=j#GM>!yuT?IJAy$ zSiG#(P^Iz9s2$9wJ3oeCubaCLWVqf4QNV12O6B#@FbL+lm-rpsZC_#;^0IP*vM_nALYQA<=OQPG-yxaoDa|FOT zs_@ydRzpvD2#G{M$&dP^6c3$0i!Em!HuD9I>Uye>CxiMxf{{+4(&$c>OE-NqHau|T z7f1rfN>~yAnrYg!f{`!u8bUCK9VD86J}8;huE%uI>BF813p3q+gdyWBfbz!<^g1wq z_~D!J*e9%?QBu;Om7dFhl%W-*$#>cR1$2|C)TwBiMf%zqEnBcF!`*Ix`15F;u?ZZ2 zD(lTq=_!6T)xx-NWIei2yuQ{g>K$GFdQX8$#qlsO*M>F8PrjCMsZO|hAF^*S*>f56 zXLQjvne3kE^%pWu$lg%I@m32ziGrFZF3~uh)ab6DQ%fnAW1hb0{{>vD&5|^+(itgn zn15AoKF0Y#>S8(r`nD(i^9P&Y5W{glf1VwKtft{lXr&U1GH1JGdk9j#mO`SSwmGl1 zrWSbiU*yWn?xyuIf&FamYv#>Sd1|!Yr6_ouw(G~k*0FCyuO=h^UPAVm4E?Y_71jo9 zEy=-c%@6{uWqVK+YHb^b_nsLFDLnMO=~r8q{2fAf`O&v-kh-$g5^nSNN-{`RoT-_QFJ8nsQV?mYOh zTsl%gzWL| zA(sAK{zMxz?!(UZsL&9tikFKg=qjp^>KHb~(ayfcG2|Hi$h4k8Skr-&k23=|d(OV! z0CRJ?6Yb(2#4blPJl1?9Amdb9?>~_q%i5lpY}8f`>`D3hy8cE*-3o^kJ^@hAz8^9VV{}#c`!~YK=~m}9XSqSaQ&@5a652&FTE3qV|PHwBP? zIGNo(0Mrp;RBi0`5TZJj#AO8SfF!u9HM+}SO%2_m*$#J*3h4Z>`Q*#bn*ruKsps22 z5$o5GjA@;4d7{}_^ZBVgkySTWr2qGJYH7`|f0rz4M#6sJA`73s31C_`n_S7Wt)@3HJ|E-O9iS7#ttQBQ2i%g8Z(72tB$ z@13iev$qIsh8oFC;V~9+~CFx6duuIt^v+u2Pk(osPyndz)pFk-<@4N5!>foHHl? zm--VL_uo?&x9Mikq9GR>b(4tPPKoF^DooGjB?XhKb&A? z!)?ToU)qi}Q`;powX%fjG`b6sDEY8#sOJHfKpC)Glh6$mt|D&m{Mg zP|vop-$>SkG}bRE?~8fW{4GD;D4`kgh!6-o>`3}Q8)U!p_&Ma-F3yz#U!IwcE0INo zMzaw1*EO;lq%masnUIAD)oxNLPK;k8qrrOVH0i+Olt-wMl^r2)5;~EWC^JS`)&4+5y>fOmTYSn>#li zJKX&pd&VW^P;zi#uCC;_aEAr&YgZ8pMyG&19yq>YiOX zbt`P;S1v5LodBd6u-WrQiW5fnF_OGin$r-C)74iPuzVNb`uS2stCK0x78J_J%)3Ut zuiEM$2@3f~9&$X{eb~gq`DFYh;30b>5Z$$?f*>3WcN)6I7#PC=2tT}9G{!7(LQ*2u z7qTx#Of(23h2+lZv3@$!SZ5DB z{=Cx|!6NP1coLH&|7aEFzo3$Q<5J;=#{m@0dCP2y(+w)2uI2c>GM_&C?o)^)Fz~YA zz;HOI-gs82&bT$5YAqXk*u>^@)_RDzVZw)q-YF>5ZmtRXhIUFe9k|5k4ak_!PHk|e zQtagPEh~o$!^}ztuPbR;0=JhT`D?_$AIH};cWAA4X4KFL9hZwtfd;g z9khP!ONL8Ffq0f=NJwKxFEG)L)4vo~uj?=YldA>UdV%!oZGN53F*~3VJ6*83!*qU+ z2IS#@%M3R*Ol|H{)ehcx{E5TKQiaD(=TWM$fC};K1B%TBg0;`+inKKVtjn{%?iw^l zy~&g0sd&L|D0p-xI4p5=Cb<)}~o zt_3tpk!le!$pQYOms_0D-xjXC(s|<#Le%OydYks~lCsoaz~(zVL-ttmH9o0rV{nD9 zNmIba*yG-ufNX>9M4#~7zbn?4bY^}mq&(CP;@d?z*>@X{7HCN~oz7(4t3oGpBCm50 z7eGG1O4KnDv{)N2?bw}S{FTz{aodE!3RN1rAgtT@PuV`w z8=#aR^iNyJqQ0z3d*TKkECTXf*U5`Ho-3WEj-7obAxo4~(Jo!!_-1{bKqW|aUWz#R z@Uvj`L6_q+5vPAKIkJacD`+rImeh(k>8gaS3pwslNQJPji|)AL`wK<|s2PEGKmULY zP+BuvJ8;sSTAr8`3RN0U^sxw=}m1vujx&bE#CzMn?R}?s1>-aqbQ$*O>E$Er(oAQdR9h z{sdH4r)d+OHsiSFsU0+w_YOv5lLDOqr!T#`q6Zryl7EVwk+mBLVdKF_t$C1vt9J4^ z#1TNFLbFp1>6b|zKT`MLUhkRNpbN`QOxJo^%F2%w8XbU?$l9%v%<4%d5Ri|m4Y4Im zonMsLrvRnCt7ecBx#Q3yv6<8_1bOp@augwH)$Aq^hflX|FLD12td0?9KAQQ(Lu=JnS^Z zt~zYcr{mCVT|qqiA=u&2QD23K*%KNB?e4z@U%^a5X@Fx_*H{7O zmrin!z>;Cr#G93O>%q+!{gPJG7KLR=x~brlYgKPS;D;{)keq(CdH4b#3|GTVygu{R zujZi1WVZ=yWqF0~cPy%{F6x`rVGKrh=KQ0a zq>(vUimp%Ut`1doJuM=&40`l?CPZWOMH;0JGo9jryH(UH;lbArbyH2#dZ15ocu9mt z^)tVY*QBa?1Flg&F`T*i;i-_*_=ZYW)7-9sYv@z>xH;?aQ}$ zs0&}W5tji^&h&%V+mDqZzV($ETZVZ3XPNlCp19CT!WOYfsQSX(LZpsCQfSoZns0d^ zac{gn`W0hL?JG>pPC}slbtq%p_h`g54~@ehPWK9?aK<$@ z_%CPU$Co$Iye6SP7tweR7gKcX53`H%4gQ)OhQ&&hAwiDN!IbgCcwcZiL&(D{|1ujm z=dPCHW@y>85g?gXoeH|r@#?tK5zA4KD$aT=L*72Pfj+M7^zF2?xF8+7yapqKxj*+< zeig5sJy7u>HHVQ1LbKPoYSFots`}NKqQ?X8Ue9BACKg;o;=a@)ko5N(&@KD-l;@Vc zHV|V4nBrDN#i+qH10PqX>;1TA7odNJp%70NW$q-WC#?^WxXaZ2)9QQM?C%@hYk>h-d91Hoz%a~vo=I+swNk>wCEd2dsBp0Mc zNn2;;jw5bHc4_9>gscCA|6G>zu%9F{-ystdOh=MR(=WS4I*{d%8^YnhH_LEMmygeC z=gL|jT3z^vQEeAyfduy)RTX~ePL2K#;EHRf2vwX%vwV{8rvpPyCPouG(`m9D7wOeN z|7oFo<78q?>bsA=b(lg00M}vKNoyh9e`OQ=us(V=zvh3Sr!0TvrW8S$qm;tNrHl+% zhC~w#;q>hd7PMr<<0BfeTkMY$yE&=$7_8RX=>s}Hpcd+ERfTSlX4AA?wDjDfz1z{; z@7&aA2@9q1sPlWX-eQU)@n^${nCqx6%Ur;d5naSh6KT!Uddc?&eGIX1B{5&i?0X*&h_L;_+}#?54+kh& zZGsn*w~Vgq9+{TwqRiM6(9M#?r=B0ywq3%uucjapUlbCWFa}F~S%GEqXkrtdArZ16 zHlkdq>wF!KvwJP+QmZqZl7-uBn9iwtsom&e9!5w(RQgHc1yrI&M*lnfs0vS3Hy)Q7 zNGv%Sx(D#_E+q%H95W_=Ns`)WKlm^A~+2&*5ua7mjolHg@;pcc1r2y&Vw} zNE#1CXHyo~flJ2Z<0>i~_M0qK5f=ZeiO(o=V}fg9Emq80_3`ZW#gk`qm9gLoO)Lh; z`1mV;<9Q6%m(CRT=}!Tz_8srW=P&@4Nv_iZ#OSH3iIEEc^KOPLj6B}>-p#a@a!7OQ zf2p0k^c8gJjPV~C&Da6FR`bK(H# zx_@_gd*Pt9`}AJTQE`0BUV#hGnTmOO&KIUrKD#u?BL9{Cz6X&d(= zkNT%PwtV;>JLqhcEilxQH{mWNraW{dS=`#jE}*-TR*nOZ@bG0>A-F;>hS5{ZXB-Lo zbEnlb=OI1Jj7}5fK6{xQ5F4KpvazNOSocycF)75sJoA^z)-;jgtH>MVTgVavAJt1X z!(3RH7@S49*JMlQ>gMVnNbtaDE{}_ogPd^aW3uN^`YuB4^mZ+*gdY;!VbsFUeTNrA zW(FQ$=Tgd1g)usESaHp?;fzdX#!In=#?)_6?4JvCbMwm7YvsB^-pUfSkQfL!4|3Ge z+Zxw!WLIYt53w0r{KnzMiCpIvb`MDi%zEM=#!5(wFkRhc7)BQ22>S z(Mh@}fS)*$z~@CRV+z|DK_JYBQMtJm1%KTz2}_P05cFqX*zePcEZIVTcrKOh7pdWn zQ=(np-jgCBauG?>*uqG)N;;axBZ}(^1QQGG`NKh@8}i9Ps64NMG2kW~*ZXAnI<)WH zW!PeCbUt1-*ZV9J7o>W!8V2YW;nStu>xnTQnuB)0iask8zE#Xl5@x9NM4So;@!*a# zA(w1M6M2opO%RQVYu;jcl1c1M@JK4iW_cXg#8zEhzZFM+_aecBc;nqsgy>sM1?^1w zYae024S38_2jO45OyDcz)PK1n-N|p{Tix2_*p9nH^f*l*Of5)(J5HJZrQ!mOI9|Y; zklF2(d#8ZZjQiGh-P2M0-M?VjRXeyU2^KkpT3x5Oh@REVxy!}}?&nju!A<(uc3@L; zi6^mgCk5`}zuQart-wWt6HxVcT8Xm40$y<>$S!)y-mDfL8LOD9IV4W&@#p$|?m`TG zvCjRJ-P|6KR4Y1Tyh-ca~wTsh;`@=uPdy33^-GOsS|v}tP{VaDx_E)oyoDH_@vJYVcKFs_aXP?!pKDPaiL|?4-2_?| zkXCbnq4)Z9de0s&1(3>S1F_>UW;*Urz+`gwfyezeEOvpof`Hn#^K%ryZ>!pFFxyNx zqyU@u=JyF73Xr_~#BW*I54~n6+kC6-j>+b1^m!nxWY^P%_xH;`9cKZR-?h(kgS-=e z=a_a=1C3trBQMP~3xNBnv@NfoEW+sHqr8HWHL3-4I}94hVlCq@XHiMLTZg~d)IZLV z3Ljz&($CXj;U#q3k&KM%{e^chRw57?cod3JrIY{p^v{PrsMUXof>r4m*{i?nk5bTm zqE+(JCjDwUarlJ|4)=l&{)+*g4uCBIaTJ$`YBR^-zneO@wgN^9*OYO(JjMC3(+R)w z?*E90-+-dl)x=p#fxfd17z|se4IO zrgM?J;@Dgd3Maf&q&fX%tp%yT5KgF`b_%$8W%KYyJeO>)hqxIowz{XhVShLY=Z0qe)W{$vI!;2sgQ-HKP(^eF$gkU5%grE+q?JrjSs+M z!?Z>64Xca%LPNovr_=Dycr8LF-Csd_t3E!AF#TV9_4{@7@5u*xJK0eZ{p61NV?vbC zcI47b{J;a?^XyjTu_bffG*TbLGfixkPkSL{EwL>=M+VD1yTg8{z%~`d+bBaQQ-Rd| zxusubTN7+%=Iq3C0^x&$Z@=F_H>mcBG&?YJ`XFEasV@nWy<#PS%QyBGP0cABA=D*eQyDAl}sbO_K{vr-m+#9H(c+}C|9|#@ZXG( z9Mhe5#E=Tu8u{2nbDID=Pa~alvo|;Tr_?o3#AWy=2O1zop=hq~-a;-dPbW~C;yo@5 zU+8k>EtBsp7*v|Qsv6L=10aO{IdogQ2yw+lI@UG$y5_QrHY@Y-#R5AM3N3OQ-uU$!D;+V(^c=>h_Tp?ZP`) zJj1sP|K)_Y^g-;|u%tsI^f#D{FaH%Y&JAlJo*Z$%yW|@|#50dA^*;K>U6u^o9X!+i zx~kOi2xx|BDrDMpnnX7l_@p_Kr{8Ckubx;qY5P?jafR`(U0|FQAJ)^l{^`p}#$J+x zRy#tL<2-XNtj08B|6%$VYbkM4W4;zw*RiFc&Q;@(H5S6#%_9n71Qc$@QUQ7rDN3*kB+ftkU%47+wEr4tL=GQJ*ox!}nY0v7 z|K9XuTe5pKu1;cQO)Ojn$z*x^bu#zaR$8Xj|2mo+G}qwZ2t<1IChF!HerF!vcFTv$6-A zvZ8N02p~n6Ie^|r51tx;1V7y2ysdBT^tPQ-tz(m2v& z_&_(A+%Wb|A$;93W3+B6TAbKokghF#!|;9ubwcC&Rh-;$ zS{I&Y*yhrNnKFF*+D$EGAN5jCC|#^yqEV}#@;F@yt9VPJ>PpFhic5C0GDLwS@uWz! zNSHo5RDR$~%^u9S+?0J#Ksy$%T0|jMuWW01F*LeHzsl6XYL!KY4Lv$^b*?)i?hO_= z68B}&?n9;(fiB8@WBP3y6+06Mi4PObgLUecgxu^@!iu`yeLbF){>e_-oJfI2tceT1 zW3a3--!_Vfu~0S#>|#C1kLo}CQg=id-32r-L!bK;7`l!kuj`&S{E$}1zPCmdB8L9- zx;cGS%Q5Y-(xrPh-t*`?dEKb|+KKqJ*swUuo`TBjkBsUoH2{+heR9(38{~nw+3tc<8*<2XeuN$8ourRV;9M+shInAovXeKpDN0=)^QgIo=wB zitf@I73aHFEl`kfwact92xd*VS;cX788KG}oS~uy&6$M-r-ohe-t(hM0tG*IXdsYH zJ{0Id8T7aX4{WIPyHLmYj}=O?uh3Ftu|v^Qv@9JbqgU4WrIgtGGH|4epoCy_a>md9 z*nFu1ZRM^%p3}q!SxyPyP#T9=7ntYdRoQeK@6YDdndK)~19YFxEruh%eCBqSw`k3! z&`;BbbUpoc+8@n+jGEpn&}@gX3zEHQ>_jl45_|Cskb0@j$7lg9Tf3%d6FSt?`O3m> zWqZ8ORkox;zoKE!fGq<(Y}H<{AYGSYanE+}%Fs0Fpq>wO3ut_t{%g6U#whY2z;JOk z-~ph`WUu!LN!EG_09cbIWXV5r=>oLBUdBp6bMXMLH(GNV6*X~u`}^_5EJSHR zI?UpSogx(k4>YIRldC6YFzTUZU<&={gt_1lFMkaq5W&+<{fta`% zV|227?6n3FiygNB`B+|FhQBEJ6yE1jqFQ@Htg1z^!2@2Hd42D0w zaV7T_0jt1PUP^T8x*=$Q|AiKVe8$xU_^a$cB)WQv&DpC$VB2h-8qN$EtqxIuo{FB!(NO;Ybs{*7>qxzp1sd` zueYiiKyyB1JN+#D80vLYv!k1}lk2m5;P$1qcFl#sqlbFkH0vbYzHiYE$3xmMVy&mi z5g;)C6!anfYQ|FHU`0qJ^-l>16sZn`(aluSmV6|Ca>vroy_So4A&>&+X>|bWaLnIG zLMW}9-Sfy``9IdUB=5Z~CFKho&46!K68~m_*}ua>F{vk<#a&gQoFAOKhb=JoP=5 zl4`x{SVXP2n7G#&zS!KBA1H=Dk1=##-s9DxiI;(YbbwTNiO7krvNIObN2Z}RFjiX1 z!|ro>KEb0B>=-{V2rSnuAV5R6DrU$f*dwKF8sp2?oh}xKfw5gwP-{TD7@0{>YBsw- z9a4jOU^d@q2U`XV+IoC`mW*uzJZy3;$VL)>>fi%Pc}QvG2aP38Kf5w9k*gvGi4D&D zoH||q82@L24t4;ZYeyplX8AfVE}pqLy_L`kSf4F3FoRdoroY2wPcp|v)^I?RYswnU z@sxF(ArGU?9=dROZ$#-%-p8N&Bbf}<)>KxSOken9E{JKdwj$GzYgM(BG&m^6EOi6( zGOHY^^YF_a(grw3lv4(hVCH6=3P0bAPKxEmxkE!4fBbjpL98}QKj#Q|L65z5Z1hEXD#VG1%$Ub-ED^cXot%1YD-lxjr=E1AP&=oH$nTH{cnr z?Zr&l>m|xIGj^|rI$#aJGr%0LlpE}S>7K$4I}=(CJ$96;3ZoK&9(%Uy={E@!{0W2- zTC;9Sq3$+%^1zTw*Qs0Z_&J+P30NfF?^nrWs+SkwVh-1!iP&$y7R_DBEnNuhgyc=d z7_QS65|drd(VrwXx}*rO`8mh4ivN@qIR^cS*V1@sS+Efh5gB;zSxT&~#_)7410 z1^g3n%X6f;qdVQ30i8#VH;TniA6najF)Li~Dni@i*PB@WBb-UtsET9)wse8n098)x zq(bDgNGEC8@0ZuIszt*88frj8K8Q17c2sUfUMKcCK%r`y__t}UeI@S!2*~l+&c452 z3dQJA7Pw@8n4|(R-ZRkIx9wTK^9_N<>9N`6{RNo`$@>vrA>^u3jZE`x(f^uYta7fC zc~$~pWX?r)U&NT1K*frRlm!yyBv_QyqHe=Q#DN8NKN*8vckFgM>QLIcc3u@Yj zWcNRdwH{8)@q}(>z$ok^(eRFw=hBoK;$QTDWd-5Z2a41p7*;L+`yTHH1*+$> zfj8y4CHlOcqka#0i7#>g^OlM??K*K(=#Qokl7aZT- zMMVvxd2f^-=y;DgHM}QScjDMRtzdv3$~O?*$oixa915A7kAXOPeg(%^*}TpNR1J;?*)KrJG9^y zqKUXYE&=o9dR@RJJjc~RJ&gyHV29`CU*^AZxFN@;#pk%#DNR|Go#foVZxXI+de_!> zW_jgF=KcGy2ga3ZiR=x-zB3<)Uz0{HGm;`y0X#kMxN`L?kvawDvH+P4n#e6_vSfy$ zil>I}um*#bmD*?e1~m%|B;f8}*p4%0SNwKX=UapKKaU2gv?3B{nCp*MZ$)8hBFK?n z<;aTBzx9lO z34p_=KF_;Dud5g!DHo*!@oJ~a?8NiKFZjGin|2BG&^S3Vr_bf0N5AR3Rpy}>5^m`% z^3wcgoh#A6$~u>p-4D?k_lZBjaZ~dCRVzFa4Ge)OS+*9i6mN(|_1}fT3aubnA%1NW zX*U1xpY8Y7VilG;6w*XFE>72;8sn1qKl6dP7Aj=Vl0Fs^aRe3X^}gC(v$=pHI_=oE z2hUX16#OHCu@$2woRO@^5V1PHoVvBE@IdThmjcasQeHQt(YxoSdS?VXs>Io?^zXv( zTqZ(5SnV)Nyf^d%&>bY}yzEww=#M?e`RzaQm?iTCh6vkT+*h>N5`LM&3Q$5rWQbm! zB3_t>(Q@9w??K?`-)!0IsaqZJ_X0;-0%pDB8r9eMdaBA=_!MRg;GQy+uk0@$HC--B zkCt_sE0crwl@+EIq%}2L34tk@)!J7x&SZpbWc9yxZS9u)1nSnJ<#n2G81yW8Nc8^XwEj!K#;h0e=c^VVycOF@BeprY@9_J9ZFSDw z_qc1-EPNNI_z=YNr>Owg^4#b<`V4rWDa=am36#9W0>6u~wFbb^wCl0Q^w9;QJWFyE zBv0J?FlLE2R^okbA33zfFnluE9hYTr|Bg;{6IQ`rpU{CH7vB)`G7H?RIJ=iBQ=f*~ zosT=nVZo@!!xxCn?ez**${x#OwOXA$7sgLcX7J zoPs*LPSzP9I{k{V7Yp7SEt|1(#;dUN@t+wQgAI@L*3tx;EtpVBs#24{HQBb;T$?24 zDrnrtg`Rn|BSb5aG|Q)%piMLSdWw^OJ8oIi}J?0z%8*s6%Oi@|Mb5Ko*i zAxOPZij2?wG6h;2Fx=I)>ziokZv^ho3gH3*NTM+}3_YB+ww1<>Tb@EH_*yx;I!b3K z)UP<`_V@&nTvs*f>uC}evnfDg2*E=?gxI{& zf|^CAI#1Yy7zYgtV7rvJS zO<__|Uz7v>DJwglBau3y*Dq|JOFzh~eqI+`uWt4Iw@^qW_IGY1_Vul~*xo3q656I* zjOF#f{F#7p_CdrgcqN!S52CbMkGehwb<%PqPWxXU4-9Dy2i8Fn!dgz@=?u}A>!{9! z1>fF+)>z-Zcj}V*7BT9)A)u7Y9@E0G(_&XDMuzY($(+`dNJW=QMRpn50lemtr^7DQC@+`_D!}!22 zxZoeji=uRU9kx~y+~%mVTYy1LK%`X)-#f?_xFE#@iQFsQ>3bXh1vnT696Oug+t``5 zy#1vf>XS}p2mQnxCZ^TitT2ZD=Q76~Z8pqNS5W_%C)QU;B()8*mZXDb$d9l0ysCb2 zSwb+Or`QJQsbR*mp0(UNv43IjP+X2XDQY9&{$PScJr_w>%5ijm$o~R%^8Vx^6Z|H} zt<{!%tv4xSpaVAJge4;`YMe`s5Q3crcQHBR%a`t~$*KMD>4N!+%h8PZUsm@}gn02_ zq22uxUWWBY+S`DlpfB+8q|#EY!MR03;<04%z!=E1jeu#vV3EK|4&DCrwTs)O8k;5w z;a~9phY%0P{W#(3=n(9MjzK4O67gWisCCl8OZfr+3O>oLK%_$UqtRao07y{%KqI@L zoT+}l%Xfgy&=qnfU>?-#xE1k_$p?!-v#>k;MdZ2XIhn@Ci5E`?qAlo~MH&9xGTGF@ z+!|k-oW+$wh0%CXNnyy@#z_ zx#Zj=J!5voT29NT4F+58z#ntw7g5fP%@1rFXwpy-v*Ik26qaPoEyprTbpk0{u`{jq z8pl*WcG{0Rugd%mn0z*RSt2a^)91APT5$u^{vVJt z-5UguBG{Qq236L)(m)80&`!V5m3(xL+Q8_7~r4i<~=IZpJ;08LUJc>aV~Av{ifM{W)d&*Nru1A zHX8w?NuXD7HKT^YWQfw8U1%YxA*+l?EwP?!qC9%D>tfJpC-X4vvh&PxbWNiz&B^k2 zvrKdH*#o!Mf~?v&%ZE*Tj^I>|CnY%(epJ&`+$|o&=AtyQT5WBzCm)Q9n%sbwe*}Ly zwFKKm<0Q~dEbRAD5yR5$tig3fqvE#~qd*LPNiOCNC|rQmc-9ZFJ>ogNuU@~horfz9 zNfcD%O-`5r><+Ebv45X6#DB{@G%M)?zukU_6s=4V5NK|tB8OdT?5>aXR{yD1nZi_b zy)gia(*FprNwvmK<|9%50uV;_7qyvs4rGD$(!NwNRyZ25=nZ+sVEKk2?@ zhoI;=))ymO0W-ul6*SW?ZzzC(^+uT%J-9MW=%u#R=a7&`h2wwdXHmGj9{2Q_G>+(Y zQ|`}DE4)}Er?{nEqJVfeB(lK(#0H|4V0Ar!B;9+BLN(vn4y1O-qX1jMCtS18s3QEu zT>%i_N7Z)D^|wZKZhgjn@lp{~;X|9V|L3JxtGP3(^cS5uO0}${BqrFY{$O5n6WaC! zUe|R=>CF%;h^w7_lX(F}rAbRW4)gWdQ0oFbTF;Md!97Fpki)U=x34tkJ~v1}59U5~ zE@XNhk|S7v=%Bs1l>|!2^Bpre-9@HJ;PAdisqYz_gSbRVP<6RIF{e zX^E_HE)!+txwdrnWBI5d1|O*@F;jDHj2+UxUlpM)Q%7>eyqKjE%6~jBwF4$7MHFT| z&hzYtb)e&8k3>SI9e|@tc#CP(rQu&4kl9l%k3era={maCgfXpjC$cWSYb2CZ1-r@( zA)+)jo8|+#VVzLSeBd?Y)h6`s&5TNsJ2NNeH+jvMFCjnhQHT9m1oqu=Do~7usPD7} zm+EAU+ztHgLC!)>h;7I_c=F3pNyWz@5j!SoDr&O4{X!)oa_4Oa2uubk$(?UCA^cEv zbgCTC&HX2zO=l8JH&2+&wd+YB2L1_wMZIO9TW8}}>0zC;EORyG(J-q_^S}!S%xZev zny2i+dXpS3;--H^gI&eRe{U>OMDVpq)=!TKz&C>?8I62Ncsq)qtu@w#9+r+6vt4YAY^lfBXX$;NeGPsu;j8XPny&@ z(|ZbjQ&87cq1AFo)xd8}3{wvI7)mt0xxB1aR!5O@2Szi>wO{?;bZNJh=D#(6X5%&9NTRt zH$@X^YGjJGrAfY}Ie%1~!i518%@~7QKh;^c5PW165`v2c4*@dFZnu?kz2z>+;QD0B zQpbMA*CRpmeLxrJ;;AtXOY)Ym=K7$)p!{5$Racen=4&UzO8G>t7=SEe3O2(XKa2$) z(I+hSwo;rFBAc!`zjrI2OK)> z!9`ne!`|;4KZZ`zOEd`#S2@?z4z3KwK6oa}0T8BO#8pW64-4+NL}O^78{k+**tEe= zU0_yLpgwy@45*5X_tijgtk0YDFNOdbBD3Y@Lo$JT z`PEXT;p;HTAY!#ct6361?eK(n(K_M4R%GE6OMH3rwyFp_Zp zlP#qu<--HaD9^NM*-ZFy(ywLe%X0qUna3&Yl<7&#R?VRG$>U(X`K;&1tpCOtsxyu>;A#C^mD;txVI|9IsiVtcn55A0ft^|DJOlzzNzCyn$E7pw zCVsPD;+Yanm3}RKvk^Nm6t@wGyK!k`zNra{%klm%?SU?dE9Q^~E(Z@6?EQr&`?0yF zdD-pM`iV>Za)W#W6&FW*jj@r@k%E~)kw*R@Z)VolZT72@lrWa|15|Sobi1=P7G@1_dmqWH0!1n z-N(*?^uO)PIT+F7`NFN+dCVtT6Tgxl1)`-#&7+P!C2q?s{zx|YHgc&iZ$6OLCY~Zp z7tHqNUsOJIqa(2%0DL`3peibUBU2n#+yXp|a9ylak4Q2HJW#bSvO(&|OWWCH6XqH;PzlJ0{)L)0uag2Mi`I_y z=Y(QlX>DC*pQ?eVvtP0$fK)Pb@bvS=3RXff`NdNtjNVvw^|oWBO)R>Pf6!?BDG7kB zua-00ymF{dWrwNY#)rpq0%;c8!*R-Nx=E5ZC(B*Y|FI?_U$gr+^fNGnf(TP3K%&;Y z*ooRw{zOPyTLebDl)J+3gREEr3P-C%(4=ldp5*GH1iwW#z@g|k`qnkoBu3TomJZSv z`|bH|j6!?@LpcQdmxUN2bvpL?&WE*o(?jy;Rabk>1wh!G^?BOAp;SLyA3V9N@i=+? zO{kR$IimjgP(>K?z6&#I9%@1M#Ttx8h|APo($RBIbdr_y{6iQkFju$N-8xnIFWgKvDf013qA?*gHZ0|f*Ovw@D~Se`$VbM1 zDTw&d!(>!*snHN{VY3J0>*Wo~Z&wBk^I)%Y`ry1RuN0eEw`@$iDbi;+BRZ zQ5rdniVCfTGaP!JyW52C>o9P!_pAKAId-Yu9zT@f0>gWY7!fQzAi`i&GWOV%9|pXgY)Dqy=LDW%pz6Q`-nZ&IZ+5 zRVVB}tSN+Hy^y2zkl{Fk1tLl@7Pjn(c&Y9yT8tpddx2r1>_|dp;i@VtKX>nUEC~^+ z$AGLgd3>gT(ss>AU;RHN~F1XZqLEMBlJeS9@El?J_cGrv7`w)P>Qq z;IO@qk^bHDkS?`XSHL8k2K2+RrNf~S#*2B3%Z7(H9FmOXS`@0jvvS|wX?OJh0wtfm z3!B)q3*Bo+WH(@P&K%VnTZ0o?(ZjP#xEJPH{f!4Z1ti5EmZ_<{;eopzuCx6Yo5R6pf;-L;0TMv(D*QB2gZyuH>&74(@Y5_il zeGd$7N(ZQ(JzDmrGdaa8Yn6$|-?%(@H0#W@z!C#@gKg}rpZVCpKNf#LhJt3bGoztY zQ$RHM#qZ3#x^jf+Wsbd>CKoq)?XQ=EjB5%@r#ybcGba$5H2V;#3C3K=9`*dM#|&f9 zDsi)YcEKC>KrNEqzx>A@8p#TZ-F5jq*+t3G~cnGoriz$r0aPggS-krd;$;Sv5jV~^!_;eXyoUue`!%t7aDih$5^|o_( zEk^Ge^zF9ZvMJDkxU+EVgeJv34!5vPeaWOs_W!JWwl0g1E*u;vbjbYXI54pXr`@Ko zJec(~R^8NO@$$;?)cO!S23utcq05pfyfHxbSaOQ61&+rTiDa{(|9Vf~Ju&ym;{CDV zxXvZUtdRnaz+kkWzMA3d=`#%j2$qP0>VXJTg|2-rXF;-bR+x@B<#y zQGgAJ@M|mgGItQQ@HPHX<_BdZACFP?qTLI;&8Q|6afNj-o>K(`0MMbs<$VjMa+w(+)|aw?fst(qc5Z7BY=L6|=|K z{BaO7q!W^((!Wp{K=|D%jHfpCaOiK?x?a2TKil5NK@Mn-*Q;jn{DAgJw3Bm#4SE>B7e?MC)D^~-BNqY4$?YUO`@iKI? zLQk*7=Kh^4vS$i@dOT8Y1X6x&>Y%B^sdnH0sJUKQG8ZdulSu>oW3;}xXS>fMo(Yok zZ(Q8!P)y0(jO*jWzp{11rlx-R6=e3`spylQ0A|Dy0-#WL$RhF2tx!~pJDiQEk$dvidfuDVTP{j zLv`7)y^gP~pP*=|!g0wsCgq6XeZ}RHSAIZnLrS1@eiBoV2C*eKa~J#GAG|^-mPwkpaAI57S%JQi`GO%*WR{< zk3=d%==`D%Szh0i`>JDZK+Z!hx&>GR#zI4)lw%{?EMBEFOHP4ICb4nZKJjSqFym@u zb5ENHLZ=9G zl!^5`zN*-((YbPh&}}U2>-o3>0YezQOh29Mj@1?cn+#?~LnOrz*3_zLK`flb*72fm z*)q0}`nzW$ONU8)d&Dg#9=NP_bfGUsDq|^#>ZPf(oA-04MT=Mh4&8|s0H@U?^P&H` zjQ?Mnl8D~|g}t&RK=inC#`pEZdXcA>a5Xfl#mV*CsmtEURs{3H2u;~40GBaAS8!@gxk z=V@J@4j@QbNEk0NS)p2J=Xq%hKQ2OsUc|o<2`1jY( z{rjCOJJ85qU`%%E6Mluosfdk0O<==4wL)k+qxf{1gT=f!Lx^(mf&bEqd8ps}hY#pY z)yFm~{ny}yEJBwmW#TZP-M|7m5Bu5=GRfJ~^mp%}yM6N)M=NE}?SNfPUR{ORe|J&w z6O9scI@G@lly~@d&v6X6a?^oWUAil}`Z*-ILZ63Q7`8?T0`OBOO=G7@WH>+h= zq;H2QvzWJxG$Pn&udaP7%|k7VSZ%JMu_Zf}I+hXFO)Yl%H0hbzjqj7`u>o+O_+o{b zH+i*^X)~yD-HXzJ%WV)4A4!0Kmbt?O1Lzh<3QcpxHNQm9Ua4alm;AzH`u8)qR`OC@cj?OM;2O}W6p0Ajg58Jv&xtbp_nq=|*tL4qnxOwF7(A|>j z0>Gno!yzyJJv_zKcyNrawFeiIsajUFc06@9`JDL{w(l@xsQ!}O`6=d2%we@USI5$FB_{;9lazkjpyFk<9jU(Y~N3ruYA z8$J1S>~0xD`T42r=P-^4)jrGCk9kX16>V?I!e%9F7qiiMxn|ivYi6B>=J{%T3UnYEdXzfq`bO>_vVdc zocr$#ME`#vwz_oRj@(O^#yRJj9)#{TzL&P%is9fbP6d>K!{+4_Vg~9n0or;3Ba?ss=dATK?1LkoMxD0EW89EZ%T-DTUK^aZ2Ni&Yu3Xyj5;1mN^ z55LjtGiT1!e&`{yo2x9Ovjq@+pCrflw>dAGE>mNmY71h+N0{p>abjz!VR}9Pt+gDC zJMg4f?>T48@{$%{xB@7!jIn#d*0nhzPAlRk>W$496{^SfT^Jw7&V-JltVc7_j+(<- zfN@K~W(>=wKeyO1=uGARK!z4lz$nh0#;}mm85Vw;o?=tBiTp+NMAz3g`U{ zqh_F^|8z@qYqri>E3u@@@fL5rtE=>1&2ge*TzWO&ET0)IqUD&S=K{sW&qmLCf~N~l z$O=3lA9Lg{>#+{2@LO)*a(NZELnDvc*_pX4eENEV1^{xYvyoe`?LVuCZ@vicHii>t z%{WD%l@R~CwUdgMG#4SVAGVs+_RIriC&mB+4b;7xrNFrF8r|r1?&T}TgdP_wZoW_1 zhEnP37vAP>NYVKTxorW^;V z`nYdJT*Na`A*oUi8FA+Xv9qO}xY64;lmGI>&@JV@?GRjyu6;*4zM?mMGVXwqz(0X5 zffky504r$rtf6>#_d`%q<*fFEzC~eg@o=S%PyKVO9$6k|y1JgHTHX`=t~)h^?1dOD zs;x!T9!mjwDLTQ~y<|--5C_E1$?s6u-kuAz?w!-9#6a}pc=@WhJ!82%l*Z#G&5vSE zIS%W8jueXFS7OS}HNa#-gHQ*|?1x$5OJ-)nsVp}3u2t~-cbVd)Guc?sgb3h$$Z+H? zxYYG)Illh+kI&Mf56Y)r&lq;AXKpv^_1>~XVHu6kW-`HCwCz`N!P7N;YN#40;020h zP0lvGU6Z80<=ZHV``E_`VW3ry+#K&l;4^!KrlAvNFo5z%9Z_$?IY zobxFBOtr32is+mWzJ_k!z}hjh=`*D`q=OcIw2{@P&0sQX-@W zi<3oX)Gd)?>G-_hp>vWhaUEw`133Wf^XTZ8QY0&FcHvxPmmx-p zd|-9R1{mVXAkiF!DjF{lvAw+vjE2p}f%_7JW8M7dtR-V~cTG?d6iNUdsX(_e2IvU` z#qz7_7t_CNFw@yTRyF116v*C8&FZa@EEhpiS*=OhI^)&xVnrQnLrmLARa=5QdJ zJri?UJqHt7q9j%V;8vFGeyFw6m*)=8?-NS#(2|?51~uD zFf%$w^DGNH)(^0}1@PM&ExTv}M8m|&6$j^U>7>3$74IWjdb}OLk*9uf^ig@cK(0fd zJu>+e$!l1#Wc)uh%<)Fq_Ug?b$R<@O9&pMwb?hu@aoT7j^SL*(MG~$li*VE=pi%DWi({i0aX);)=nW^mwx`%-5DP~oR#Je&pbbuF+n`TiY|Waw_++_VIZydfnK@j!Xt5Hp zqUV12GFCf|bn}P=w zCHcwiioa>)QZs!3I%;^@?G3|TZQL_cTp3F@bwLnJSGIkBJKq1) zb-e>?Y9Olr9%{_#^UScYytJc^^t8hfXvwx#km)(X66ZqJo3S>XAdW`h6cLc(2JcnI zcAFupH=LYuP)lKL?v{k~*+Jzb`xGhR++KL!u;pWzvShMx5(W#^9EQMNTE7d|I1Ufv z)N^FX{6W>1o&Kt#U?A_ruZT9z-v&UEmZPrVDTu*P>-sbeq_GE*JxRY7(N@B^1YA+> zCF2^l)gHbgA1p~!#?0wK{r)}RUd-*yZyM`xmztX57h;X_0@E(CK+sTaX25eztPN== zF<;$K2WL>@_%pbrwl6a1V>|@@wZYsVu|mP$?x9na7`DQWRRd-D+nIxQOUCuB$)-8i zo(-2(7Yrp|+FKa7w6R;R&EC)1$f9L$@Ca15m#)p=$aP(A>c3kPJed;R3_XZi-7&&3TG~EAsTgu?jg+Jo&3$4 z6YHhFtab`5tJy}vc0X#_1CsUrb`wK5xfdQUtzgErKz@@s8z@n)w7NvI^A@#o+z7VR zqYwLB&Otm_^7iQ+eD<4gU;#jqdFN56@XiThL*3hbP-=AkLM4B_p5rFbkyFnHK8Uhq-tc`{umG zPGF@gWuvuMkN_OW-Fol{>?7#9p9a0dYC;SIfmWolk7&pJmgwX8e`Qww=wuAynIc<7@pdy?}d>y04X##*#a5Y zI>ORi3>W3d`ZOqEsxOg7-e+hqsu5LOyEq{yOdT9xjMoA?fFzkd`;oOSRRH7Hf>AAe z(&hRH2yC+`n>_%l7bmqrHROt4zBwedWI0%f{ay6kNEX3I8+?>MU*aptEyOiP=5J}v zt0UckC3-g_%S9~wo{=hTPNQFT93wxJSMs@<$x3Y_HE4fbI}KKGVg@okA&U0X7f0P^-z z5(7Ea!=NczsFVVARyV8_;Pm;veGqo2SMOJ((qW(l|38oy5+s`9-Fo`N3)YvwV-r$# zqeG%b=d{Izh=5papTS~5y=*;3(tVS~vS*NbBx1YG`4EG=-e4|zCPa^Ti9oJAbO`wK zqdB7v`P*2IpD@HkQhd)Oj&?&&C`h1X-^8t+HyAnK==Y6=8{z`NH=rt_K#V_OHE`vkM`1 z8!wDFU{GsEM(^*HYe6fX2meJYC#KS!ET9;DAD2eObfT_&``#K*=uvp0G7#y8pERSU zT#r`xV|Tmx9#)rmd*G7)w&X$|O%T_iN(T}r7J0+34qiO|n>a+@gY#X-0As!9u2_>a zr<2bFNPvdXF&6^jVp%R zh_aWHGb%#RsxNR0|B|km1)HHU26v#<^UE!UxOCh=qftd!ODuHWd#45#js@6`Tnm!( zi1jxYmoyD1o>yZMwc}#D*laS&@D#U*x{w#xiyevkOFHAWfd7lGdqg){;WW#uh_AX3 z2I7y`Ql^2F`6GDasO(3M+lCk@Nw+Lm`)*G(;@)R@uuXqj{VmISGUYR5_tf#3?;Vai z4sWP2!3@#Q3IygAMH}}TA7qyF5!#8V%wVah*vJ{pSpUZhCqTU6a(uDS)CAEFiWjl?S4|&hKY%=&f=!u|K9jwoQ7AHj99R?GX__{ zBPOfAK3AFCC|3?0fydOetINSBcHxm2MZwq|vBigoXEL-1WtvafnL|`McJ2fruzFD| zx#EV`KkV8-$24lldFn}6ozBpZhbzxTl2Rkvv%@nbS_yYwoo4+2nmGN1$EjFUk6ooAm#oCI?yW< zi{}s4;NG-9ZJz(=*ohGVu^XCz1%3X~FB>;IcV04lO4{wp74s%H{?F!e4xtXhSk&F; zCuhiSmAx_^rta$W#h$L2DrDXQ$Y(;fKl{5D@KRzCth+T?e*{O*&Ft1sep(PEsQGJR zZFb{k)*1iV#AmcOzsSH=qd-T6$bx+}mk-q--|eoD?Yi^40Fg8hIJ;YfkdB zI~Qgx!6wH6%f1f6dPqJF5QY2;;#9t_IvRMAU!e#9J0#>3ap*4jCyhgXQ>+wd6xZG)q{Vwd z4jZYOk`eT+QaNE`5vyq>&=0{(^qW%Kyc)US4Bs;34G0dztTkv&J7Aq*N& z`#`J4LV%A(UA}015`<}iVW|YXos`@NPB%5dyxiM5&FfjYM)n~bv=^Q4l>!Zs5GXVM zX4Gdd?HksBH05*Rk+S_cm_^70(efWg zO;5$mc}2mmT*$9EU(%D7{E|RJ#76cu)pyJ){bF95ifDoN{jmJw@ql3i@_rp6AKmQUfgBkvX3`TrzvI z+#v7r(R3Yfszc3R!FItdXr)wuF*pIgncv|5)mmqNM>D7q8|R%>SeQ zFGx^`*m=AXV$_PI@amesJe&L((0TA?E9c|`KI>-IY&RvM>-ei{UKT5%m04{)0tJeF zaRIyS?s=CTx5pPKqp)tF14^O;0x9ZHxyhD=uMQSy+jo7FqzYZE+*tzp|C4j^%2*T1 zivOGTx2ktW$N;0+kf3r`KwFc`sXCuDsL+Y5aYV63c;4g&{F*l6)ZT#P0W-jkw(0PzucV>F*w$2f&}2UGPrP?kHzl zB6~^=E}+@qKpUYrGP^Im=4Q!j&p2AViJ3m-Ypg^!ao)J_R+O(*9&adGo5f1#32Q@D zA%is;$+vBO2FEV-xg@NTWq1vRURcUknA=oS@x>2V?RMX-2ipV-N2ff!Z$oG#q~ZqP zL=KJQG_;+{z5I3VE`Nq>%es2qjnA_NZ*BJe50sUUKfA~&vN2m14l_{^10RWPO)gq7 z2G#o#-`>U6$@0O71Z+cgIBXWTd9Wnei>`sMsP>q3L8@h zUzK7s|JTB`Qw8_Q?dOd*MXRE&?iRcs5Zv?4|-B3O^m@kv?P+%Dto6OXH~CB z=G;@G6PR|r1YktRPfcoaT~)o|y#EUR3~qsOX7u_4jth}D79Z74U@ERZvvB+d;cdvf zkVC0)`Deqg+)jA+yNA5CrM{}SyH|E~h~kxGMW(agR&TJMUWV_Rpc`XXQ~dNK`k+SQ zf>Gu_pZ+Ly-PV@X!Au!9&vRc{zsx!L=p%bbdjxP|(%%jLUR)qZb*O|dY7ua* zqs#PRLYz&1@=Goo4>~Ym{}4Bmp*oPeDV7rpk}l~H>gwD5|K<%lCo>AFLAm#me`2aiq4^h&T+}vW5$4F=EyHZygap5t@!srfnXu z+uUR~7wg;8Jb+62Hk(~-9{$QF&i>Dj+QV5*yRj#iy= z?*xS2#RAp1gz+uyt6gtj4B_fKmVSeA6TdzSdxxJ51#$`_cDA1~BHSxpAJ|0bF84CP z7>+@8`HT7EuPfi}G}?_oHB6(^-Gr4NN1#z7czd=eOkkKPe}jN}Hi2o6T9{?JOd&o( zGw_)>I4EI>4`L)t_2} z$;l2N(Ie7W4*6+tki?vVbdPwNG1$jq;^qbq2A9fimyJZfsE%+X$vpyAjAre=0-z#o zV5gg0b_V0B87O&#ifJFWxQgbZ!LvYox#k{HZYsRfe(W(cn-2pIsuq9mDo_DtRPbG) zP1K`N`|DG-rKpc}-QMvy&k&D5!!3=v#Mu9%Yb};+#TlU+& zGMHX$v@FX3{muXVd-^j7J(sm=-8o8c3H5Cre}gP|zYYWh?<})O0xaRuLyz#94geAaNZIYg* zybkQR9g?C0cWEvS9=+XF_MoQL-PA4;sp4%Pg~V{I$T#l*H!)l5vqqUCEQ-60RwUOx ztNlq@O3Q=~7+e>ut{cN}$R`!6mj%X(u@8`|x%ys)KbZ1%l*h8{i34KU(3u(uDj@hq zM#mgL)L5v4d|;iMGT)!Frt?)s7k3?q*jyb%?IO+qd5vq=JZnB+#EVgT7)Y%251KsS zEV-xVPL6(KCqw(COIWhNE!P9YUL;U>Q)T8#E(>X4NA>G!W7RPoN)zxS>XhYfh<>P_ zPSJjL16P5&iz#jNhOex!NBxttFUTCk4>t8;;-9~sF}*$cutB91wBI{{@%xv$vq8P$ zz|+4UkPA|e!^NUSbYa!TeTbag9Kp$C-T#A|=MgHlMJ^Lq58fCpcCBoq$#vG)+yv2Vf5wKC|?XbU#yg^xGPLwTOWq3G6pyJ1^xFEi$04 zH7}C`K@?1=iNnTR2Zgk=QJ^ODXUD!mxF;AY&k}Z zeQ^rA>!Vy zZKD-txVS9|HU?Ek{}EC8><(XL^N*dh8#OUR{fw(i=-1$r9-PZOWq6PD7xF5Ne6{Aa znO|WgFD`XZx$Xw}W~6wXD~l|VsaYCw$+F*?bw=uY!L!QLuc(&ZS-KTw^~*%Mf^WSJ zMh?R+=$!el$|t zr!P=V-n7y&oXRc}QzZcm3za&GQy(p``u_ccS-X({a83ZvVX|j>KhJyR^AD>VR_+ra znn24^IL7?>_Wsu!MK(}q%r5oMJ%0ltJoRrP&t~@fFv0RH6JmsyjKxK^S><|{+IX>b z*`q}3)Bi#_<5@d3`?{`IU8v8dg_ycPDLkW5*6PS%`?C=TgO$LnG&8K8y?M7Wko8FN z%d72k`E1*)O~*HM>0#u4gkoU&JZskx%8(y==Ln$_wqP2_{vYVW*n>Lib%Rxg6_A&M zweV3aui@bf@;5?gQI4g?9EDIygzWoJ6TpkXFDg4?JwnDxwjPW%#*)2~2+Gr9eXnN6 zVeqvckJE%fC1}B85kDnzb}YYamS#ujtrl!p-Nk79=~V!4TZ7E49fRV43Wanz_T<@1D2E?U4Ok!SXG zQgX?4aN>|Ce>ef)-O(cppgJT^s)Ue(dJe3ZzuY)FuXtBh+~dD_5FUcpUmb?`VC1&A z3VzpDk%W@KJA5DjLz8xrF4ys@0{{OMuk30Y1#7l}MA8ehoX|_13-rfXcGT&C7YIR? zlV7(9#CE)w{pgt3%6g2`lSS4V0Z<|v&+|`J-r?Va@%0HwZW0h|6{FkVjy&f(`79BP z#-KZ4lJ@_ybrjzhDQq4rL};gW3V=X=XA*hz;7&||`fjzlm;aGZ`sopIfXH%`bZ9k| z3#@|>n(K6|UjHdVjlxjxH*TP!lT{TY9Tcw0et?o%b$jnlqfI2^wAA+#yY6M{HgVS*SsTb=Lkw3xU2HAmACc2x1mNJL5 zvlg9?M%id#8l^WB??!bNc3Gu4J#RW2DCxx}u;0E&nOK`3_wsC)fOpzp)nsf;w{O7c zwAHgwJuBL;P!Lk(_Qzj-x;j__qk7`z!#~CH*Gb@EeML8xz3;X8!%o0Yx1w-W_W4F* zG-`2)B9FDLV~3jfefSAhd}`5;aczT{=r%pgIFWo8FA;-&QGY>enxLT#jhn zDt>?eb87RxN1L%QtY%iBQ{)H^@7D4)pws_qwC{=ltwK(U=?U8=fA!#8 zjZnk1f-8PlL~@lVY@@>9AKm4Hwx5RN{)|x73*VaYXWLGy2kL<)e5$t8huRGSiQ{oe ze_w7Mu3z|oRGNUkNDl$Lav0?*)I%DuY6YU5xbLGefTizFes$WR2y7FAV4;~ttjip0 zKpj7UD%A_&Dl7jPnq+Hku8WJCMVCU&U8|(O=q_iqXa3$%C?2*xuoUDi8}{OwdDCwG z*Cg{L-byaAPBAvub=ScLtYkOEGr3R^?_}4z@Rvh{PEq#iy7`U+q8ViHJ}rH;G=Nn2 z*HJQE+p-C^+o)4NR`cqMqox5TH*7};^f&T$Mho1UN?R5sMPuc8Y*iu{>Fn!{LQ|Sy3nY!I*mL;VM6EZ*i-#oQoHMKLYVR-Yppcv z5raTM8lfGE&R33rUgRqm;MA)}O!}Pbb0ctO$_W5N=Munw8f?DYWHHrt&c|cCn*o#} zH=ZXCXiyNd=3zs8UVQ!X=)k*YTI0hZE>KW7S*m+lAPU7Bq^{y!g=ZmGPU^ zZmFeNi#-rqM!a@!V%VaoR#3@2Y9+*6DJCqH8M2Xh$qY-hE?hHzh?}J&i&_n>dVO*c z)V&aNPTpt1waR&!o=wH~&(or3Cw!Lksey5yE4Kv0`RAMWZPvEdmNJjijRfrGSt$Ue zZ2X-`x(0Q-M!81`-+8=9HNi@>6xK6ePlH+foCO?gKaaH;QJnVnDe~X9Hxm!YEX9UU z_W1>dL6nP8z10oRELI*K1wgGBZc(8Co~A{uSIsHxqCn4C=U})v4dQ|&@W-b2-s8;F z;LS>Se2l&wG!`B=do_>zyza~3X?RRxmTkv$3jJO3Wm?~-EC0k!kf%0E&nc; z2<^darDP{J?InjZ*8?HR9I(*RZtz02bS%zPV1ZU3E)p0(Wa$Q>{aW*f)rAG~tO|uL zlfnBx$9{|hYj%r>NOT91me8%P_BqVzzhjKb$2MiJci$We#Q?O8crElS2R8li)~92B ziOMW59t0IGLWn|VBRUVf#pdgM#-+kUKJDDSUDj?qZo~|H87qqucB5roDXZqRxoh4zx^vlYS_DXpO%z&`2MixM?{3@h94jwSK?&o76=kOd`UeEqsMfsP z2%e|y>p(jhWR*ZAtV^HI(%cB6l*SCv(2@ zT2p=Xo%l!qh0xQ7`?-HZyp*)Zyj4k>gYvJjavD_uECyXL;RXXxBLp9x(F>NwfJdf! zeFh6f#f)xqP{iw7DF65H%(0SYn00xOlDpL-taZo0hfOY&$vTn1A4C%Z+^51?nLP zfCPBHw$<>`F?wb{CvXR;%78Q2%~5R@ZsPJ&6n}*c?vJ+f6&{Sf-fz|NcMRav#8MdrQL1GsWAV|Krid+~Nm`2T)LJ{)VR7N) zd1EP0tci9kprGVuuVd#bbsCEP6BLAW~;&ce}I^o}Xl+g)}1e zfdUnqSKSHhKJT68yG{WC^wu3B6WxlHhUDa*aaG;5IkCC9qF#>}8|w#9^_Th+?MHV0 z?K&3{1C1)^B}`X-Fc^1{x4>Mjk%%#P91f00&vyGhv{;wWrJ~!_I)DcTdV+sc-SuJ7 zyNYN^Z*-Q^#R$1a9UiGvK@lm$<}K>dW8@Q$ z7eV0Es23$yd_0^h3zZEDi^K&ABVKY#j4o`A8TQ{v>~faXviVT>map~Lq+jzhMI81u zu!B#|1{e6%3|x^=3UAj{EK|G~36`7fnSKyfXN(L}NAI|OE81}%Sr-Y89&DP^6tEi< z?P*_AH-2G-&V^yezxw_aw>0?9%c7O?KhWvV=_{kLnQw2r*#q1fbE;U&+*ibgjSX0Cb@l)0!vgzGkCqOKCRp&_~3Q2{^sj4rP!xLNn>D zE6N=OXR$+#gf#n%hHmXXIMKWqwP;~+o{&fXfDIj8HIFBV__L-LN_C>|O9MKc>8J5g z3YFMLDjDg#-O)w2ka0jTB>Rs|dijuV4Itq8Jv*<482z1d<2mNwUV}tYE(Qkl(=G%R zw3Ro;bxKmgWvk1=!!&Z=8p;=a&faUTAOY}ma#=h7!mqksZ;DlnaT~Fn1x7@96{m)* zk@bn#WZQP#>3DQ2(1P@Jo9wgrqZuiXGpqnIM4@O(QVza)6Sk0Qo(hc2=6i-KeQ0aKr6eo5;rF#AhtVf-0>Y)(P&8j|!JJN< zZRN_o5MP_qjM=4Uf4wTTXYJ+Ng$HNCVF{lJjNkCyC&4rb&a~{(|9?2*;~}jecdt4) zk2pww*PZyE&!PGD-pzv_afw0 zw0~4}_2n-Q=#zNk4h3xsxj1?QfHD_3%G?49=z!^2l#9ih60Oer1VF6*Z2KiDtl(cT z&jyT;Rm*i5;EEMKs=+a{wIp$4GKH-T$bduq&fG{(y!jELjMgW{hWh0sx&a=ND*V&2 z2*~SQBP>K-cxRjX_t41Bb>Wo;x2f|K=hSsU^83f}dm`Z^(M!TR9rz*+K#t*uUF{ z?46}$aZt?a#DM!BKvXlt$z=f!}n@y|^(nX_>YZR(q$@{PRI{+M=HxrBsp^7%Y6~( zf;6)W^{uQaA90?+2nkga_;hjfp7HGL=2!8yuHDzV(3*(K=Md!-gV`BSf%+5(xOrl& z9lSn$?B~@lJ&ho8{ev|qtJ^%LU3x~3E&j8Za|;xQA!wxXI-|XJqcvR zn`pKs#0K+^vMmD)=oWB0LwJN4}vU9En0b!AWg zsh^|x3@}Gld5B!NePhJg8Qz|skxC%I!De;1Q=l|KLIt8kK~=bZj^aIv{eGW{S@V6? zXFs3?Zw=xT=o-=QoIH4=o+QDl@QQ+I(H*e}KFv^?@-fU;)I?QO&ILyz3tbL(?Uou$ zek?QFg<3J=x(F%&cAmV(bnSyje3ei$&KMtcfc{|^g5p`hE4)*@1sH)iZw}%jz;qUr zmGv-JW%U0L`)u~g34ZeTpx)0~EZ1BDM0?j>F*Wv{6m+)EBUVW%)82k;KyNrlHIr=1pv0WdCF zG2Q$%5E#(V?z#oL;@|P}$qV?RFsnd&fNf$vB}2!SAOluiN`fNP7M6sAsDzO2D2^2= z{}d^EYf+NjA}*u}lzjBp|H^Qw?a5d*3*ox>e1CjVcbRRjZ)bO{IceOu#hbwR0+tq-EiIJ?Umaca;{)=b_0ycu|&cdmbi@!|NQ5E&M|4~kUJftB7 z96|ZBaqO6~^UuuNEFI3f?IC~d`=$2!cvI=!ZfTt8U8HD%tH00q%s0(Xp++2Vfp%*l zo2uJ$nh<2*K^R(_0eZT)eKj`&( z?fHB>?)TemwdWMyY5uWY&j2)XBQdH$aeVfgE`AR}Jn|MXb`WyngAoA1LE&Bjl&?7BvW2Ycfg~u;?5HmQ2%Wco67za`7^hQ*%UC?248#XGx1dj4x?bdqiMau0HS zy>ejP-_uk@vq`>Ef6jlSrl2kfK(Hw(NX5W%rfRhN#P=9@iD1Tj5B}p$f>FNvBGN#W zo+jR0#;M1_MCcd0^jmK_UvhtVI5|Rnb2{}3!zlBXlk3|WJJWok^Tpkh)a|Try`fo? zzQuKw@6j({0iSQ&Ym!xwa>`YTY1_%-6zrhm<3BMLcX8J`^RICRdFjI)+^4}HFcqY6 z7lh9;#3t=Iz2tXd!>8DU0kN!K3nLccdRXt`kJW61b*R7WghA^cjfxO$GkTvxci*rZ zy*Qc`Zb)2m#K!H4M@5$qdPz0R<~A-!rUy}cniRMU3|dz!zlT2m-0+uNvONMJQ7I2Y z8=7zC1FTXzH7|QDtL$xpV&c2UOxpLMa(%PnUw7+tD3f$LFUMG66sriys5;Gb5??j4 znf#%MN+#`*(JB;@r>Q}oBi3IYiGve#>OfF}s6X6k8K|7{t%;-Hs7`j=dbefX;;SRL zruPbd;-WA;;q}6?;patWnBwV-2Q^YXT^ji=FDr;)gU;gb(bUMw^**CirR>XctKnVbZ2j4b_tQ~8(shGQo z7X=G;Wm*nBUC%3I*M{23+~Z>Dnz?tEGN(k;kb=hI#oj^%ix(yg^SbiwA^LL`Mc;S1 zsY(U)?>j4&VPWe((9+?;foJXmGchG1j1UEFK@YVgGJf*s#ep=!v}>PQUV^$IYF z5@(#pT7%~p?3eHK{oYbMFMbTt(j0@FJ-uGX1Jg5aAHb2Enr?)L{IV93qvpgHXmdX! z_FDu?ca^*T+=DBbHJ@}dMz#s)k!h}pUf-w!fNdOCEP9JkwQ@Q=fxkSwo+Zd; zkOYthEs@TQLxbB(ult7W``HR?67(@^H0A+km900v+*eW#f3OMd6EsEOyrU#Q@AC@g ziU(KS+VbN;mz`sZ*j5th(&s-78wvtm7>6UpStho50%DsepI|t)cTfj86Ru~xTc>tQ zcZFb4M$>#x0a}PX!E(!4Kz)Dgp2c$vxHcp>Y;1Y3n3+Qu%fNr1vFOtrBes>+CUr_x z`uQiV%&ma7{IzjkO&|=BajiU&#Lp`nmXSX{83ECfN!$FoUFqX4V-Ci03bH*@%3OTH~o6XHuv>5Oy*4&N&M z=)+o-QCibp3=rVmgYDKG+PirXw;`xL81pqbsVGFxEJiA0b+k{UQp!L280FUT_a1p1 zpDyiyR4y&eT~__(GvzTbX?a%-oau?%X%f_x!vhUx(4gtUWP2M?8QSH%NB@(nOQq`U z-6+_aobW57ynN+p#>z=!pa|4EP2K6!9eMLtKObfTD2Hd`yG{Bcf70;0hN0W(U|pF( zpnx0RsYO?6ZkIl#(0Cuzf37H+2GxT3&1HjG&rYINxzAa{;lx)ZNH~JUE$!8i)}=W3 zLmJ>K6>ncz=aXgT_FC{;4`J;(P<<3<P zMrQGfqH33JKI>eLyWTagza73<{e#qb2jl+}P%J1PFF&pyq8S5DOO=rx^&}ksd*`lf ziO;6|s{_(W-%M zv5jq>`C4yydEM2IGx$z3cj|IVm#%P&Xv@>GhXNc+goMRKg+q{2=|7m?jPqX0=%C}_ ztIQtrqRQzq{CPa}*+tS;=KBndxB4o~B3A{S;sq`XlxhORM~Il!Kg{R#V4FZt>Z!-8 zvusn5T+~93k%Ly`YGfv<{Ox;{Wd<{l5oby_d} zYX8SBIcg+B9dZ=#RK5wMYl;xExo)8?Y42=IQXRi%dau%)yh?PktlMUTJzCCxrD|uw zK;-E5;w-FD_5@$$d)&xHk6CRvVk450(#MbF>c)T6{-_O#klUoEV0~n`&g%;o z9A}1Vmg;`fFc*TwE->Y^lu_P|$1Pw2P;dbQ6^<*vC@f zn}E?>bYYRxkM>koRqq+`lLwv_)B1?AXDKcE>F~t9+?(?X<#m7>PR#rN50%svu936< zvSi=Z!421TM5k^f)mX3VT)nL_`1osBfMs70V9VjQ!oOge#_F27e>Myf_^?*}F*MjfHejxN7tD^<{JI%tio&-DFv7C`X8

    O!1cKc z3)$3@H~hRVSL9w?I`~cOE20g8U*QQz%kiB&R)1lt)8-Y6HO?*XuN%G9VS(y@>Z*z< z`=X{YeN284#?HpL|C?p?Ko9+p`csFcr(Z3%)VpVW)FH{wrVEnkk35#sKg%}z4ub)T zLcFHq2(=LHa_-e2(R1s0gh!fGkP&S0lGYnlapS?DT%JT$5wZ1FB%4No1*tbZ^;z`{ zHd3X6y1XL^n~#)Mx$W@lW0QyD+hV%Z9oc}61FGf!w36@*s+~y^=KCRE`^{#RVpDe0%7UiD;dfd5kRHQD$ zXdv?@S!BAT7N%&^EDD>%m6Lp|dytYt#_qArMxnDhN~PP&j&W|;6e&nxdc0;Tg78gS z296MbsS-YoLUr5>?4Nz5XHivewmp?$dHPPo%bZLbPL>ydTHqBh(&{Ejd(xj0Oze3c z`-qGWz(F1!ZdqR)>Z$b3{iwHV##ffULPwNM4}v3M0z;Lb-yNT=Wi7GhH6Xe)YH5bG znJjTa{W&GS5@-O#;%p+*y5?pH&m6X<7HjUlDd1N_m;60F)Yu6?2~myX?9Z~R{?p$T=ncEH z4E4BFXSrf#Yw%7NTos))>A#4M#zvWsWcnDGGM2vg4Zrwp+|({O>IVSm2+1vQ87la* zN?TqA-9n=pIgj-Le@0qsjvnCpRdh$c%^e8)DH@7Cdp(xc;%q!71I~(Q%i3?EojLBt z#z685K0jwQw5AL9ffDX@sgMs!M93%Wubr_y>*tj|&?tf7$Yc4VD-hM$lV0faYor&b z$f7wXEWgwAEUN~6Xy}oyP*Xl`KA4jjL9kzYo{z=O+fabkf@SWgk*^~xlIs+M8UH@h z`ZYZKT-{_exK?DdKRXj!uCf&V-F@Bu05-zf*CNA~FP8?y{9|K_y=;(jlXPGRs`!0J z<@U#iXD%{(B2!PsJj9Q^PPrJlv^|4d7%cbMbvEJN3)=`s)J=AR*dm~)7JjU-Udg-r zxq3}PW2(6u?x@k$+vZA-S&xdleNj3TNm&Xd^V;H%U8j9s{Z?Id^R$IBXU^G=Y8)Pc z6l1&6nQuN2VbMCv)2W}i;kXi{={2wY%!Mdzji2p8690-Qhm;hHtX!w=dVT*cG%}mMkB{N%OlZeXmFWLgn6DfY zVZ?{PtF?NtagwFWD<^P|OWv8GGzBnU*B;Q)1iazM;*l}$7>5XX2tR{xTa%voA%o!a zo%~dwy52drjhu6gK%jyqs`bBJadsvtexd=R+`002r>}l+19?U~=L>@4slYb0H;n7- z329|)-m985wS-_vK@IB7odODp_adU<^Ba6C+jS@IX&w?Do>uSkBv#Be-{M~hQtL74 zJOp*A@~-myGODVPps-D7$4oA>?QR9@>nk6M8og3VsZl`fT&nI-&`L-Cz7*E)Ifq9%09rBC?T{pEqE1Z@2Ad((__DXEGu38M6| zZeB)1URIjLz4`c=@L;!Im8ngdZonKzE-V|ge=H7U!T`#!a(GKoANJX@ zKSxHDe-d$!SY2P?GDctdOCkS!P$k!SP3&a$yzAdfAQ_F|tLZ1^^Un)_CZ$b}m1Sf` zm62VyRUEN>*InEI)p8AkMt3`Tj(+XZp440D`Vb8_4X`4E=_$PQ#P+DdXNYx%doO|5oi#2d)zhR-5oMZ*OKiMypQ8+fl7-i>fzX?(VBmysI*?UZ+G3b0?Hvk=yLoEQ|jwg zmPprQA=cT3h{=3Xv{K6p=Zj+|{MOSEm>&D_M`HUCIhsfC<=;s)U!6?SMnwax#)e>G zYu;a-e(mfeO@iZ6SI;gt%xIo|SIC)vX)}6BMbgqvV#`ge`Ho6#4>@YV$zuk7edIhZ zQ3d|o=!N686@t;vXmJNR+Tat{j}S@UN9-^ietwGedXJM7JV;q};jFMm)uT-vV?a9S z-GX7phwrLrb80IMM$()WTlyyeDaov5W*QBdv59?krfDupvnx&2zkm@LCNdDCQ|J5}AHyqhOV_ zHk}C|L`&GGH}6;@#e*lV`O=aD%m{>T%i$W9j7Ifw1fI@Q%2*j&ZF-* zc7Xve2vf)?wfd0Vao+vbqe@Oer4|~QdzupPwhx(q-#rQJdyG#M{6sMF2 zFFxq`@H6ZY_$aU=SQTe{-Pr$URVO~e(1~)ekdv?Iw&9+*R?`8T4gP55*z&)FOyP=2G6^rx3P2ciqB*aA_Fe7x_Jm%2gR0gw1KC1HT6;$*-i{o) zeEhe?yQOvIaw%L@zcd?NGF?=nbI4_=Cv5YIa}}`#^aEm>9}C{j$4nGUUN~BDTMhQN zeAE8(3KrOev_;8g));O0(_$_>3OVK8=V@6~y|;#S^@i^>ZF{}qd+5AwL#*OJZa8KJ zm~^X^E&Zn7)M^K(Z}Ad>@q@1CmZ~(GQj*cHVSEzhAO|IAJ$ts{AM8RERG=lZKsDT@ zuLQL^C@IlzWJ^4?CxwC3Zwnbg$}@(+&h*V#j&}y$WPs|`lJRLkCeu|q=kN+90cRYm?+fWP-?6;&fYtc@$ss=Z zZiN7%0&TV0b7&QAS;yY5o2UOc3(y-N7E=T^!bpx{LVP4S|+3+domIA4PR zFh>R`);Lx4ehYdkr(|hxd)dhgy*u-4`Y05mE5inHRlt-?+w7%*vh6B+uU5XZkNLqI z(k9Q4jYgwgV1xg-t81jB{2Fg1c4(g>(NlwCUYwsjZNvv%l*e`Vps9d;>(PUU(8ud2 z7!g~(*m7TAp(m;O=za8&UXOnckb+8n0dLZjo^DQWto!tDRLM=g?^ZENw4&JuG|sjW z$4Z<=>ahPZjFyVt(-5=dWoczd+fuLFAXsN^xG=}2$1E07qgU;=B0qm;GWt_$98%3n zG@jBf)HH|E`!f58TC$gt&BKj4^wjUUan;ns&X}>Q`@@<<$!Lh_>gs6=h6zJjiaF6c zR6xbfQ~z?SgT|?%R(tIB4Aku(j~Ar;jCAypQ$n=Qb)S1y9}weZ2nWgh1<9uF2ZurA z0`9*r{q#wO$th(!HKSi4v%RKuBicD{J`qc-5Z7+<@BK z(&>V*&(<1t)(UeI%iU*mDi4Jm_GnU=KnnPji*XtX|AAs??j(?6mMp_ChRmE)Tj1bWcp@$whJmCp$};%Os?+S)nKT+Jp_z^ds! zVK#uJsm!e|ZfH{GItTHKOX?6kHWIgNH}!g{Mp`YJi`wKxSN{%vNtGw|^0B}KXEJ)a zG-|#L*@brS19X>`(tOY4yCb!$EUVtHWQ!6Y(=GiKtSU+yd`BwVXtePoAh{cJf4tVd ziv-RpbJnVpQQI5L<_8sEaW~xUm(6U5Ks^LpNl};?J@To|Vu;AG8FEwXUdbCa{}I=H z&7hyJJmT7J4eViz6$93BDpTVR{VA7Xj$D43gVW%kc+L9MUkMeooLjDMZ!BtQ3BX04 zaz%7asEh{D$@PWv?}hA@Vu41y4zgUiFPonSsWh!&Okv7K4(p(@tRakzvfreWN{VQ4 zWmLf1#=2>d1qo_sj+d3ufl(%Z*azo^)(t#S%nd^bwwl<%@a$1a5WvpTUGu+{u4Cgtu|A#n4lXDjSM0Psa-=Y{Nr7K} z%bI`#9+HM&>A?HJipZiLrDenv&UYtwzP0OxOWMF=Gew~Y=mPZY_}}MdP8;zG+PJEs z@sh1!Q=`QCyJ+H1;pAnfE(6fD&malP6{zeBFO9V%ld0vJrKV$_zNvA54@|eWTn`eg zpE6`BrZY84BXleBX+LYM^?F5-xXiB@Bpbk`h(C=Z^s4T!1T{WqmP$t6Jd^I+Q!M;dwCJ zf=Ge>ETtk5OZhB~#m^WoYc}qdH_V>~yh=ZN`4`S79u}$;&PMl=jFPT>q5(Czusi}L zS~W0ed-}n{a}{PvnEu_E?PnR{#psg z-CQs4Bd18w2+NJ)z*W8_bJ=#}qAZbWb(&x_0fJ)Bt>(L&XbzLTJ({Wj=hrcH_XYlj z3S#7r<)Yf}5ZAF0h@}iawmFP}oTTxeegKc?nx zV<#`BrN!2(vDeiNfHI8CtI#)h{Ape*bzz^TfT8$-ZLz&Y>~vxN=%brQfhG=y5@q=T zeX_+B*6Q$7=qm1@u!+(hOr-B@b-A>7EW%uo*omDrzvk1HlZ^>bZPL{6kK1MhK#m{*WdhhD12xIlPaoZu*fHtgoiWb}Q zM~CID_F$cmRmqPd^X%sH;OqN ztIRNTR6`x%bu&MKA7~)CiG2a|qX84u*y2%RN{jM@|7gc(D@?|U^(23h*MIByO0u3n4C z~NP>K8j1GfHS?`d|i1AyuY17r*5Uen}0Fm_AOFPNwo`I%ED8>imrrV|E zop{q~R?Qy)U47SWP*kH#c3}&ZLkXaUJgF|88VM6%ttWR>+q=yW+-uiv_gxsf8PS@b z0aH-pRJFIem%1lZ^mOlAF>$SN{<4i=2XW z1tn_j3)oL{uCHn)Idy7+G6ZWbZKP@LLMJKYnaO^7AQ51JXt(J$+N>?$`GMHY6WUhi z(VM*vHS)Ls+*RlCmcLaid*X`szxnmGOLfu>?{ZVO=Z1@Bxx z{rY1g(+3I5bh4N{hn$R_$~1~V>W&I~#3MAEo5r*dNq+P~QgA_1q0BF-}w zK1*;Ke4+5Cg*GteQWLKB@%HT;!eT5+nspcd?!f?J_SL>#Rq8i?QeXYfG4uOcX-k-m zEnxfRTVgSF<2JGK(5YwEHnE~U_`rev&L6$Y!PRn%=C7nIxIi1C9 zUd%tPs+-PQSYot3WvSF&Kaa7-01zsX>?G78ezV^iT@2uHxj9~!}`X2 z22J~`)42#8I@sSUFF$k#v!lk=^MLIsS^o_7!d^08J zmAg$GM_d`^b6ci$Ez(2 zQH^lOuo3GeF@EyFtG(j`=SiV(6d8<#(6TAfmG}9fB`u+TF+wRYFAG+Kt1d87Yo>DX zFV9mqZc4;XP9o&mHbK8UEY+?5gcj-*`sZ44c4h&H)VRC*Ty0Z9hG&?XxLy3yzi=lp z_qcy4fHhLLVc?X)_HK>rH))F`kS>D$u8Aj%`T;R#SgrPCM8pLL+X?5?FA z7xO#3oSUBYAGc3lA695b%$xUdqu#4qXnz!nR+&532L8TPhZw6{Vp!&0w)nP^8hQc@ zgcxg1O09}m*Prp5j+X)F1r2EYBBAJ4V*RuCPU5{2B|0M+-V_F~ya$F{#kfv|E-@P; z^yLL^{vu!hYj`Lk@3o@N_Zb{&>&Pu4WzxS|-^+EIlWLEAw zZWe;altahZ7E;sTuLkw=Sy2l`tP_*Ffns53+T|r942PIm^5p)f*Z#aDEB3<=%tu~i zp!437xe9z|^}`!e$vYYq+rMHc5h4Dx(ex9wUo6zrG?0*NdvemIc+BS85raRttr`G0 zxR<%^|1OJ35#s4D18OI&pS}rGyeQ7*!UU*`kGQ~1q93VYi2br6WJIgQzj)BZCoc!_ zx|=7?s0v_E3*KgwsJ7woYu7s7_X9#02oPr*ct_nXT?FSFWv5Nlnlkz1d+_Uz_$w(K z@N#+DAZ40H^g8Ct{0p%#xXH`GpnhP(&5wkZ&40ZW`qy^+Heq{V<8LrUv;L|>AiP?7 z#NL7e%d9?~fIB+Q(Y+*oem;Vvhx$Px;!psd4z!x)d6IJ@{qN4DRQn`zZ;?*237zET za<;f}ELl#(NTw%|vgi!l%>ek>gDs(kD=M&X(!n%}lqDA{VpuHOhAm{Q#b`2f;@Y<3 znTVNEEk-yA|EA_*z)?LU1hJ6jVv!8od6?_d+SRv+AC-ITiK!4zl~4$BZk!g&I~lU( zp$R3ZLgm9vMvzvb43V8oD)K@Nr0sI0tgpj@ExMAd=xeIffmzX2#=@mpNI-#P+ z+?Pb__WbU0#n)tm7Y(Oe;ui1SiCnVL-P+p2QUTdOiYhiQVm3E}D0teI77XB|Wb$j! zMsE5u$$G|Updqz5Ag{+!LrFNdT`xyh%^rUOg}_9wh#6?|uegr0C#&TlE9+10d`|!w zLTop92gtC*H*T@mb(u&mKAvr-(md#^=uMI`(LcfyhztU@8^9&ObBrdac4uIdFd{`- z#;SfMo5UbQK+2Ehy`1=z&p8`FQ+ z)B1`C-xZQRC?hPV408G@jyTc*rCG&DptLX#B$5P@m`e&0S?V#ug0g zMLj!OF9kco4yAxk6m&4b>+PycRh3Yh&Mt@gnpUUVcTEd%VyAv z3QD8rF7P$XW9G1!)|CBlc#gTK+%w!4(oM^}x%_9fR7L^)e2%X&FO0B8T9#*29)Eqj zYLvja)knlICU}3hM(YLZ>8Nr_x}>FjjI@;}T%xYDMHxu??*jhY!;Z|{InzjrKu2QE z^T+ETNjDETV1wc1s%UZ7)m1~q)#1$5j>F%yubBS_@{VR|ymOY8f2w(8F?Pi$$7FCW z0|6wOHE?phek*>CApZCmkW9XZz%FV`E7l(L?- z*g`h|v~LceBX+Bb{iA_As}YXSsMwT(HS5m}*^5KqK<5*z#zl%3E)@VvaKE!OohD7D=5?P?CVRs4dISM-10}dY*9_0SSi<$+mno5oz zFIMP@AP0ezyZ1BXNx;18w0oo9jomV8?A?}c{0jh!E;vU)v*BDUDQECH2%6~Y(F)2U zPL!kdt|d6BFy5J=Q{<8fkS|P`v@FYpYKh}6E<)}XMn3aV5JK=DNb~Iem2oXYMepoE zmiEHL=Ea+*yJ}dIr~A=|6?xq82yqK=o`x<(AvG zhB%s1qyDqLs$|+WfSY94Xx)C2$0t1rjjfVRvifdM?2By^RU^j?u6a;AUdhukm74PmRAx)K@G~rWTZ9;%(Ww_k%J6qj5jTq?^QDOsJ)ZmpH zHj`=eU%??pV~VclXjwA4DRjZ_1f~GN^zs1sSdKiqVz;@x%v}Oo<;+5k;CVSdW9l66RO!9{jC-BTx?> zu3@am%Wj56SX+KOR1i9*^~%+_Eorxw2qcot$B5usYia;isi8My-PT^F$Ld#9A~1pc zr#=T#+`MhV@u}zS7A?z3o+hriq;K8DVHqFt70}7ZMS@SyJa(;@@P3s|3Wt~mQib=M zVQvFg$NSHCweBPv%J_#j;6GaLn*7X^oUl?Uehun_08UZ8-9ido3!u~r>J&m~7@ z4=r=6A?PjQ9Dsg(;G2`$YaJf9u!#@YjGkt#8ptundh6+;S3qlU+kNjw3Xp%7=v0(R z)I`0a%BPgVv5&t-n5PA7hjCqKAA4)4M^T3=S!+?b`u+MH*gk5UIK$g7LP0o5t__q|`bYVspM*XCh3%=g|@n~avz%b!_J*sru7hH zKtPt4l9tcRSr2q_!nrDN`*w~|U@HoXj;c?;nid?^)g61JRJ=u^VK~=z-W@9V`qEL_ z)DC=DdRM!(VVcP+z`>9ZX;z8R4O5)UbaERCLdd=N1%6pu=UX@{QnK92oS2OJy@Kn6n<-vwipusCgsoBN0auu z*^aEyF@>Wg<*Z+QhZ_YX7!24NIMK8O-$hv_d$^Z!2U zGhuJfGvYWZir21HASx%^p%$hFDq$AK$=VUfj?=wJxK1(0n|ER`6c|}NfC=a;1n+bO zJ;V_9Kaj|jm}8iLY45ncbE4*KEA8+~hstS>#XQ~mx>7X}ON}k>0NhtI-={)<+4I?a zhJxjI?pgJ!huu8E3zkkd3u=OA z;62e7T+nIX;fq4RUac}2E4#b<;CGK>Bcr=VQZ4^-YuThg<2ruB6_-Z)#ji27pjeFN zFWkzLmFfN?=(C5B95skUMb>;@I7Gux@3YsjOTT~YT#^cpTw5J%Jx(4gj_}eoQ0agt z{0`q(y5J-peR%lE;S3x*eQ}{L%=0X8z(%d&J`2=lE!U787VxHA`qgKqKjOAK5E{kw z0~YuP>AFQ%ZQ~J>J6Ckw?kI@+h&0=nx5aeEefe{XT7hd*sWNL}k2M=kdBh$)WsP{h z3Xl#7fS)WQQ*4_zsc8gXp~ z8_c3cpY44DMM&36%PiJZ9 zip9w7%H4AmhC?6!-6Q7a6_6Gq&Z;LX;5&TDHv(sR^IQR;L~_Z=BTV38@hx42pF9Nc zXe25?UvyKfA88cT52+Pqa57_1TCv=b5u!s zGi1g*5TAqdOE&0@0!1y@bg6Zju-ux5(|qfG{CPPKfQ#_D$O?EH%eo zAYK?Kp#N(xpY#nO`;S!JLnEa=l>|)ei05;#jti9DsRqJ7zI*GXu+0p7|)bQQS55Kj&(O_GTb}W@y=|+}hVNCR|%-X(h64Gy2$F{d3P`X|y7r z`q*EDvh`rFmgwk1mg>>Yt?RitInzzM;Ka_QKdYi;l73yfJd!`0d>7sHi;#q?RyciK zM!Fq8mGO|=D4TRGF*m5j*m39JX#cJMX_NlRw;f$&M^g2=;ZJN=Wwx-i^`vd2(99z_-YI9c%0UAZX@l!Zh)Xy|<;E&+zv zK6nuE#L{(Bn2^>B^uD8YQaE9lr(yWm=hhL%Be@5R+Ti(qY+EJ8+jJWCR&+SbT30}$ zh{m&<*gUdmzl)PW@qvg5Dikoj1f@)5`e8lAL~&>b2b|?Fmw#>&`c0fNTw>8cRG|L+ z6^<#T3gCcscx)u}xo%c*_D_BUM0YDt^5iplpFA2NDED+rCQ+L@r|+58D?TCz!4V*6 z{bTV@0QZpx4+m!foFUaEo5?MaTJ`TmZ@!xKkD8<~=-Hh;Uw2d#i^V@L^<0Jgk9?1s zBtwttuvo5&@uFaJm8oy=uV>qE1>x;W3=)2o@y^Gb@3APW`2m#n)6FY*a&eP->genI zx`w9jI^q2 zqjlPU~KY4#N03ZpjJ$oeY0ZN}( zWje)k*dBxqyi(M9uqAB%&?{T?awZF+qf^wz%af=p-e!yvy8+=qLCBf&$Ggk*6?fjf zGrjcr#+8s?e{9cm!Y9g|t_7Wc>&MkFnW$7DD|5f&T$B$rw08Ul0#^N?6b6>KgmLgP zy1Sv%_Z6U`pe{a^E?84!986 zpUlM~i>Yraj*hvtnO3W|w)tQLFlwA>KWGO6ENi+9ZYHbK_^@@=GKv6PM!LvctE-`D zWI<-lg-2XC*>jth_0UoB^8jQK49>^R@k%fpKg(*v(vALCiOD(2MV_9p%QWZOELSJ@ zuz8Px_W?QNue^V*O`oXYLyd`pttTLw94#_`JqNRY<9VD~mjEgJp_gtWN?VMVeQ0Li zzUSQ5rYPSR*<-?0g}-XR-Q8-K*SX3M}}4GogKwc;ct~2r_blcfb!9fY>YsFIqpH zj={cfShvNht9FXu!&&JZxuC&@3lCeP%x+x0FWsaN={(J(o>K)agfQnkUhJVdtOIt4 zSyufNhKIgU?pkj*rLV-#AUIAq`zMbiLs9-uizxME_#8^Ev z9Z;L2#Hg_exJyj8m4kN-adOgOM<&<4U5=POvrAVfJ>Nej)1^gYlc;@<*E@USI;WrF zE?}VVgHXyv&b^2(G4(MFPq{f{V7n>Y;>7|pSN_{|>-mN~K)q1!n}w%3x(0-^xhMrnOhd6H0YpYL^aoCYbn^t$Q+z^(N_6)bio-*kHC8hgfP6i_f2 zut98l#Jpblq1Vdzw-npVhu}FW6A8Cu{xIrxYKe7Z0?21Z+$1chT5WxEl~?ahDk)1} zgv#3)u4Xe5npoGznJu$zfIQ>FQSapVVnMp-$Nb6JH+Kr>&;I>sVb(l=1(NQkuTD_# z_|ReDCoa*1>&DfHbPV@WMM=9jrou7a?#2(_)gaGj^$?q|UvbRQC*S;oHZ)uHkZWu! z&&TJa&rkEt^EBx>WKzFDY#v9BtrGn-HVm(W!_#cy6HwhtDWMGtBO!* z)X~6YhfYI9E9|K!1-(wEd{z(KXD&BI{=}bgWfQX(G9J(fFRFu{sE=rFa7l(ADh02c zr&IqzEz=Vartd@pk54W32tY6i^437%gjJCzrlr33#tm&ld2$dnzT0psg+lB*5Uliq zu&)cDL7W?>BhUaCGJ!BuWzh&9q|FWFE28)Brw)$ZFx1?b0iDQt303srH0b7BcM}1S z9ctn-I&#pW^8O%fxyUE?=H>hrWyTv{-$=Uu9aVU_^OkFO!lTwXZ8JshwW+invReZ$ z#&odQ)x}4jc$R!`htx})OT|J4vYtG9wNFq32_eX>>|T_&cic?8=~YAdieSgZQF zc!C8izM9(s1yz5xvwnL-bb6K{4uy}vsA-nn z4OLQnkyWm$6+jiPgjoIus+5*A_WvEyeeOdrw=5p0H3^r+9s9k`$Gg3Bw52Arb6f3J z);l?a8A>8!D_g0iS*`pZ9%ynbS3~y`lrt7|RBOvjD+n!Uj;Z)ODN0!68Qnw>2xAXW&^*fHV6RQ;RH@na4;b_e8{I{LwMn|3MBG z9;XrCRw_p)rVOQ8^$_f?4wWI4a1{c?d~iFY>fpwz)7pTrWvuM3A*5m+BvPTD1Y6yW zbZb$1<90L$2?nlL_R}yCV&2eD?^Qzkt(d#NsU6i`8U#(JI(%*uWK#`;k6$2Dx#w+V zenyv0>!fi5I=j)kG%i2G48Aq#0+N>A0)&+fn}9X`$Hg!sC#JQRpX|8SgVx(l7(cge zDLMXyQ8xA$?Efe_7k?)E|Bp|Tr9?${Q*$V?mRmX2hB@A04iie{6miFhY?H%wJ1318`Mlq+*Yhd1KD|=jrQR-x zhCsVrFT1FJZ4I}0Dpl`vEQc_Jl>${q@38S|ysf49g*GsHJofhK%!AUGwr3FfM`SC=xc|$==Qn9Wb^#TqmZNIUCr6a9}Ajz za9!f;UrY+@TJ@fQA4r|$E*1i~x68n(*yEPfC1w$Z{wyT0Z(&wsK!7i6O+2dfOzb0% zuSO1lDKZU+x*y|oFAM?Gxwpc(-o?yGprlc)Sz5=@Wrq7bUjT%`ft#dcbDy|3&;Ph^ z<;K>zdj44cg5E=BGZ=t7vP_%LFYX@qgNTxyQD|$cf&K=m8p8*3x6678fk2im;m6B^ zY=m*;uw~j$ak*Jdb;h_T$`^@_`!{$W zAN+E=EN}Ai2d`F9;O_*r!u8&_y6;mb)h$ESLSG{#wDU*Fdg$xqyN=0Q4a!}bg^=X$ zrL4x;EX`+jUO=5n2x4NuP$}y;bBBge3eLdG?u~!ml~cwEJs26Z1V5$2H&p`u1w@i;hObI(n|hA|;lOgq z$s1$0MzNpHde7|;0k4%0G40|i^c>CGR&68dv<|!`X}tkiwZtLa&wKU4d2wz^Bm}eE zNq#Ue8vt&O7k=9@ZhBKkUL;s?EHVA>mU=s{*pi-k$hqT^fxVJNcC6*}1Nj*7Yl}ff ztN*U?FT-AQh6)zx^c{1Fi9EeqHT{i+y9_h<5fF)uG#BL$z8to-XBua z35%(_H4!_1KYXLw6K%vl@&G))^H^;`JhKD+6XAet6?U%hfOyO$9XJ* zd4C!RCC+6pB3M^xc78*+7q;kBU=@MeRC!E(lFrvUi*Rur?52GE{U0hch_vhKnJd%ITxELpO=eR_}Ul(Rwifu9sK4 z^{ji`b{=0pGg?e6nq6|7b@qsy_)vQzyaOn`x;T6po?je(gaRly3(olA;H)Sk-?WIo z-q+T8x$m?9eyOwPzARPxdY=X}ZY(gRvApodwb6hZGPs}#)oBhSbQ`p}a2@NjXDn9r zECPnKT35H0st?I=#qa^KLOJnT`=xok^S0^&JWoeW$b$--OSqTruwqO`L0YacYReQU zXe$4jRdF=dgjbAIBl0wUy^e5L==COjz1!(%_3qwb&C#~Pa{Y-vahF~nLy5Mb!GXOb z+8A^5T!*i3-WYAb$2D}Q5p8n*X|tQ3efCgewFP7EBpToAp@vVIPdp4=z_^xK# z9%3hc;6^F@g)sY{ffd;u%aLa#305qvk2$#m!L=Uj67tiT5)AtPKp*I~GysT3JRc)m z0wv2fWEEmKR9oxwIqn2^=azk|2sl+*dM@`EJ6S7lx8BcggGHqJh11)^Wz#*%bRZ!oz$8CDJSd)X4Zr$q3!Adv2QoS7(JM-)qvv z)A?~*aQ>2hv6>P|2B*=LExya~^vV|>DiC|cMKxhiDX+QWTT9@{)hBt_bsK=Ok@=si zCq}~I!}=rZ7f;%L?TID=;Z=~+rb4)|J2De*L1VgCA-6pMsAYufE}(a}k{;t&y0Bo~ zIQ8k9%po}-?pzcOsf9GEA&z)oXE|b+%HvgP`7M-xcC)jW$ zG)gFx)g5>BPQkkCS;y5)oDq#J85*qUJ~eMvoiWQ6zJ`<^%Cr<}VC3c8FpYI=r6l{6 z(q1AxvdU*3T(mlI|8_aKShZO2f1t@rrWr5RTg5l!`@N@ozW(eGQ5{$vrfSP^O-(~%I^6QhLo}~M&8b)~_H`l8n&X*YFuo3K`(D~W zYEgK^US_&Zt%loawQ;r|C2!o(cDR2Vz&P1_cB=Uz1SQP2*?z(Xx+@R$^WLe#Fq;oT z%RhPyF>*K+^|cax%;7u0v8`Qbx(^9m7>GXpnBNkpr>IlgyVE3{%IaMSH)y%GUGn3X zS2PJ^lrCWm-gTNYc%Qn3Ir4xZgaxN}xV((8&D4Raufx??6SaY3_8qY0&1{92ui75o zPwU4szs{re|0?}Xv2zc%lM8Mag|gHzdfP(PKb=nc;4!3S1bp=``B$IVmbZhgt^C-+ z%VDDM6(yRqv)|{2+<%$1d@9a_iZ#hoAQqMHZbO|_EV3hoqAEfRQL-L)zyACd(0q=` z42k)$tgDAWq=;XKVV3}{%mj-eVB+0D_qzftz+>ks+x$EA54+MY0RQMK>OHa7m+@}!RZM!#0=&^t2&Rvo<+0Q*ROc*b>F2h=xQ@KzS6;HB&3 zys1QYzw?fDAIg>{e||9|j{yOhcjDzT_WCBzr~4n@TfeuLF0Xf3w6;l(J)?&R(8|ei>(f=wWYFvC>pHr>_ynW{K+}(g_KSQ{n!rb!c-VvrCe}s>lXW<>q$p8swPW-s zg5V00>ID5k&JK(vzLz+Wv#^lk2tb$g^X5BrpzEOiP-gi3#=4lo)Fa*775Agl&zMr}^kYVqk&VSS+F z4NjZci%I5>@rh@TB0}6+Ul0s|v^%aWw`+E(KjXld_aLyM0^r2Fa>K?bLzH|p=xJoY z=Q0ies#garuS^@u@3y-n&Q>c88Bg23YF#ebI`?ktX=dn)L(l#?iysIr-b9qGL@S@h zODk#*JViLVn4U1AtPp?fb+Z=oNC#i_{>jJel8GnV^oYHbtr&g(0&>)0ZL)BA`hgBh zhq5|rH+>;?7c0gTCYR$F^@PqA(|AF1h-QSo5&92`pIrJUCH#ULQkY&8)N$b3@E?UQ zP*T8vwMmb12^z;${sF&Ntm2V{J(l(Q`5nyaB@lA9y$n7n?cO);S5e!l*2f&*n5x1R zSKp|caKt8NgH%4IBtim6-tKW%J;}S~9E{0*leIpT9LLWG2H!iPdgf!q(6Y$Urmb`R zZbzeEH#U9gv4shHd6Le=ccD#Od$5qRWJ=ah%p(=Dt{(REHgmzc+8!0%)h>-&xRbhnkSYupdgO%K zA;hdW%`!n?@Zhb-i&@Sihml(U+RTu|rrTI3jrguPgvCq_d|J;2rP;)(tXLQF-vwda zEGl;UL3Tp?lvKy)%AhXYU%~Xd)lnU~Ep<=mS*=a^`^K;Yf)O=e+0hwR9g~io+RLCu zCmXq;;3#loFW=MM_N#%9+WL5QwF3Yj(l8ICvyyIm3T+`2iQm$W$inHdB z9ciLH$JQbNZ6l^*%fv`v1mcpE?mSxplM410_2*{Wrw-{1mg_s>&8|MbIfk7=H!UI* zb@XS5%+6;H1swA0Tf%HV;*ztX`jN+PZslQgPiycr+3TgX)+w|71&iaIk3RsN_fe#{hUhcE)FRzkAtP@4ZK=W4XBCLJ2Gph^tTQHfp(b zl4M)AvTGYj-t%^Z>v% zw8L^pOj2Jv7X{Z6|2*&W$qv?BR&bLm+h9H_?*fBDq9L|fS1D1zHpAu#HQUx_ZQ$y( z^?SB-$til=R-VW!2T<>EM;13qPJee_j+JD&jfr8YKk57!fb)FI2DX>a+7Rc;=E6?1UI|N&kc!a7Ww@xHo+k=276^~52z4*)l<(cD$fXQJRku5Kb z#YoP#JqP0NGo8T@C8rf}s_=KxOrdyS2`8bHF zR<|;5G)=uG_};c!MBf(IBy%f76d1uGml^imFOO_y^{_R8SU>@F|kLsSQIV#hfd z=FB!{ix=-6{McDw1EU1jz703)?}~M6b5x4#j0C|~Oygd!jnRXuT!amF~AFyCl40atJ2mfyzN^1jj#X{!pqO1)eiY$+UO z)-N{i@1iaob{|)l@YICsHcO+-V?RzzbwuIxUpSmv=JdTJI?PK2V%X~0g+8jU#jQip z(%*(DH38gByy3JA){=J7{g z#v^--B=+9HJ{4wI0;DDgkj4yJ@o zXQeWKQ`xJHTB22XT~%3TfUrkcuCHb4Aq9~J3hr} zzjXJomGzhlglcVyFr}i8%uj^J-&(f$mTZWW@U|#1nB_-wUh^s8ovC|sf=?mDYZmCd z=Fg#1)JEQ>lrg9FsGL_{2kT`&i2G+;dSZYDE>OD-+EQ65=ZU}8aA6zo~ z%vO!wL}Xi@j7qsef&F(e35depjat{_1qtNZ^@~^}JD30ukm`P(Up!rtCIVA}(cKo& z8^0~iJzMq9nhgV%yFwdY%@kQcJkN^@8UdOdP=X=B9op%J(3K%AzlVj3S}~(_kC03J zVgVhU03#&KV#l-a?heO5b7&mrJJT$~&|Lj7^T&sfKyZ)sbu7C~fd+oK7|JMwBvYF216GIUR}o^hkM~rxk!G z(_G+MJHO7TUfkGOwxS4mAxPVOvUlU0Sxnw>a|s^6%0l4OQkwJ7orp6*0u2@;8pG43 z+ZLc?8pLxAuMWK;)tyM@g+~jOP`rSzW(KX*ikEl2{THUv25g-=EVL=x9BkY7NBBD| z^%@>x(1sc7rD2dFtU2TCuZxjiOWZ$EF`HG-FYcA}fPg}WqTb`-{{w}a3=PDV>puS2 zkRe$B?#cz&7j`XicEOULbhO2qRr53K+M&cfH-r_5-@|&$e;bqOk0wix28`U@B28zn z{_wbAa8RxGMhG0xrtyn6U)WE~#L~!jX(`A~0%|&cpNa-Cb;*<2`1j@FDPP8S#aU{7 zugRG5*q7BOK5rT{&B67XEU?BbX>VihjFG$ljX$p@t?SUwqPVjXX2l)!30K;c`|Xlk zz%~W=&qMIMHs|~IsB>!?KdA$QM~OTEiI3xgf#S-LR*`A*0*&&kzy5ku$=lC3BwNBz zPDCX00IQx1PVXM`^9_T#Afa;FYZZXn|PPaHuAZ$rO({{%^_G5?;V(RB%jt?#~H{%e@lc+TinvBh2^>e zx*uD&>sS8P40+zMEBlQK#4=cIGsS#)^hh~jJim6p#+D0a5NREU)q9k&37jBDgNd6x zZo2(21@j#D8WivmP|sqWJM?9HZgkD^sgH33VL2Z}qO=_xaD!gr5ZZ|87J4)?3II_x9gE zpzY&abTjK-vp|%}!)Jw`SUNj675a;%ndRtwmINe>+Go9v4!8kQUEw=F@=m;VT!$yQ zU~o!lH4oi}cNIbz!fJqSysHK%RxAYj-cSp%}&3$wXkb|l<99VBou>;uSIhu0t8GP33{MSL1Wr^`9 zNtXGqm|1$kAM_TG*jii-68}sxou3+Y0?D+5Sy&N};(auGet)SPzNr6xMpO!PK7JEd zTI-tL<7P)A$dO`uRHEDr41A*mht(zQwNj=Lf3o^uTSw$|yqsp~Q0>pn%5^|OpLV<< zU}o`Q^DH&9&2$kKE7EB0+JDGz`*yM>q!xIM5!A>?I=V5%k+Tf4@@|W^ z{VBF-Wrl3n-VwS{{YvbH^vF}5FKCSyR8)&97K1gC05}B4d*UH9 zdZXILj#IS&0WCzeGmP6QFeU}p?pL;0gJ#ABFrpzy(~{eB31}0b2mYo;ZgMHACjp`* z;ybDTo92Yx@QiMaH1a+BCpI38jz(B58+;T(d8QRip&BeCndXGW0LdkdD#z}Wln^00 zURt_Z(ioc&#QrVp1P~tPYnn|Oh{}doBY>EGyx!)p_2u{U0HYJntNffS zf)Nn*h#4ZSGrrWl=|tC<_n(JOF^*CX2ILk4b^G`jH1#Hvzt!yGx1^MTq3UO&8is zn2u<6m5&)d+)=7lTDfj1?yur}zQSxX$})#ho7B7Y@~`#((WnaM(;-7``^HbD%>agM zASsKn3d(@cIw9L?0Qf9Ca#1gVgKd%)3n3NgS>$-@Hr%|y(UTcpU)+^!Ip9=K>g}?Q zojp$SKbtr@%~ttuNWWw(y@HyXBfj^P4mEMK5OWAHEXN&*goTm!8_r7^O1gIL;B<;=8~M(!lu0`@kLQqoXy^aus-<4HoUx?MZWT z^N&I`Z)qn&%1s487Y)TJcZnRoGy8PEI~)Sm;CMNli$%v*)Fvv_9F_^lB#(AU*P^@M z*}d7AgdkB?LA9Cn;lCZ&BXh7qaB1u%(kiO*6X&vJDL043V@ znDhpx+7FHad?FNzI|GD|C`=>ilE?VPV5~2UY0^XLo1B%*y3I)shc7;S_mTF_1Mr`X z;D;*~dU2f&@#t_|W<>V#RhdqAo>{6=C$+lg{vT>B889E%poQ{3~bdvrT zAB$Vx%13|sq?}0Pu)G|hVqiHTHT$BCLwD}w3RdC)WCbX1{0_7E7DDfWr&+)&xq>6lg~it-M>}ImU>*cu(0H)H&mx7(0P|RJ;=fi@*KCi9mz(?w<|jGZ`Qgmc6+imxG%;vT zvhu(Lfm{^+x^TzG#eX&503cxctSG3lgAn+=lX$IAZTKdC1{NZF3CPD5h2Pwj*x>=tftNu%) z7WiM=A^N_?kj&CzjL~~;n*J$fi7Fk-QDG%J<0hske?QI9 zc(b6NVjdEGOdDjh;gNXF>q6TH>#a8%{igt-1W9?IHu7_SEa|pMPx8h}p(Z6B(&E5A7_2wR9Byt8(ev5QN!j(8Q?w_i^lAX_>8ja*$ z!T?fvCE@pqy}c2EflBx>C9s=>XPYY9_LyGBDD40D*3m?hA9%N`T#)hyQOs6M%LDZ= zLy^$pg@kg25f6i{4vpMBe8$4RWZS*wbxF6*4b7V&iN~^>J1q2DcP~-J6jHAV&vh>! zHhl+0)a6DzhOi`#g5#dyvqr69&kxVUTT)dl54r{;0ZwM=sfkis0NBN;mG}A~E`ezN zEXETGa{e8Lqe&G5r?#uU+ z*`19}hW$R?yzqCh|Ci?`rA%@tRJ1deI9dnL^?h4|B97vp56@Y{mfhewx!kQkuiOdC zbNXZG)R$MlngGdCZg@(mX)ylQ*E*v{5>C#9z4XMHI5o}W%r|NSZ!Vx)I}kirJLVm$ zN8(<(ZO%-G{qowNmZIaQUW!QdcUxXYritRzb%Vi27~P%9(O8VM?8#tNx|{4!QDJRB z^K{wC)*3?wfl6qa|sV!o!{E_bpYX(8un{ zn#|x)o?d{%N+9Sp$tFb(lV=aV5%$VZEc}n6!Hla?J=XiWdM$RcbL`6(J24%t7p;{% zJeT@1eQy~j{_IpnJt?2?zRIO`k_cGqok07_%x^r`_`TK?tnxBW?JL?=u)iU7Sl%qV(~++AaSX&p?DV z*kMi-BatF8MXHec9wrbXQQWfH;>nX9KxhoAnGeu8oTMG+rC7Ewj(nGAnP}7#W=e|^ z{)oHM=jeatrT0!mP4TynHSd?V>SJallT5@t-(r@=E#&Vo9jJ(4A}uR>q}tljBpA~Q zn3&250b#&aUyh%0yP?L&&$E$(qmwcrYHJ_?gF4<+(y{n(Bz6o5p|*hl5kdOLEx*+> z&9(T(cgLEo-EBzp05QCXzu(tl-_)3A5R+K64BQkYV!GMePG*>0;;V%YNbV41kXk%1 zZTfGPBTT`WGmAqtiw~L&%rgp7cl__rr<^|YD#EU-1e8` zHT1pRzUTHP|9yuN3R~C^(GzsuY2DLj9j=WvZ>7Mg3Uaa;#IIMhO|(f@MRP4dO*GnT zTv~Mb+CD@=dz49bWl8O~E3K4#pFMlW(n!l4C!Btjrc3vG_rGT@+ND$QlR1gUcmYjS ziANsxPrKD0yCTPyu9X{f8Yh+YG8bM-J@yp9RNrTN? z0=&T@<8n}LssvN*^|x+q%%K!XJIBre?+~|_z1}6-S;jwx1F5n-IPeNw`>mvFQNP|0 z@R$xGT+@6o>qjqfwn*YB?R$AWcEqml9NqbIcz3hjVVU?H7}o1R%8nv9gf+ey)l9+9 zCz`m(o($&IG4f^(3u55Iaph02pKMX44a#T*;!wGkJ(cup;92YV{>04F@ab8AxO6%& zP^HT3_~~Kn@y*ZvW186b*CS{X75oLwr{DbLc9>A1%tsoyIUC-g#9s%CSN5E; z<-%@^0njP$L&VVvC)0iOM2GKf*u;#J@{E;uq5APKOnK!(uctAxGr8boROwuJq=D`s zc#sK=q7{I1Aj>#W1z5?IKfg5tjE95WwZM_B%d|$1bszuB~I+`i3w%D{0yGhzsTSuJy**D zqQ(|4CN&Ud1N-VS!P#w#DyBejfE@RYaqiNo253JB9SM{>vkkE9PNpC`)~cE?IJ$Q^(1tu zHAAeLH_nd(`1tahfC?HA-F(T~)J*=-wE z2PGn!bbiwKX2*?5suA25zmu4qS*-z|Uns}3g)7kV*@anYsauV{Om%bPES{D+k3N1d zyt^*8?fEgem&Phd_*6&x9`Z6%O5n<%O&pY#v+E7&BpT1&rma zc*qO+bzxQcjijs2<8!Cu4iie6yE^giz|*HQL7b(_AMDuOU!v$v+c&H&&NKdviOjhnJZ%xUpt(10peZY0QZ{Wr0vB} zYSI1Oha5eP@##w!lFmK9Wf}sY@k%QY!c8&#=;GM+|6!E&YpFJ{udBn+=GozXQZbER z>s)@|={0!{JUxxbSTEn$2-&!L$AbJqj-@S%1G;6KjDxXmRvtb>s>q(DB^be7ZI8R= zZ%5F%qb##d^TNqho=@&S8A8-LN3(vPgFE`?+A~aRxKT4wh#J`eE$>O_0kuythR*2~ ze!bJ|XoE$9cFJ+tosbolTJQU4w6c@tqq26cMKdfI=7pPBma`8{GbRpzv!XSdP~ucO z?_vK-no}n2T&o`}FhfZ-wML2|1+=GdMNz|Ht)|J6K6r4fb~M9XG-1{cd_N6n)A zTJs9ydhNUBAT>C$AaE<8%Dp;ErmWyTg)95TOc1Dc_`l@`1GxP$mFP2i*eOte4N6GA zgE1xz2atgGaI{5I0q)xHd&p*DC0oL8^8yKLg9p|+w0oR%vfuAN>2guwm2w6~d%1m@ zVY3J%gv!aUALfl=ksn3bi%2Q@FTxeHnNmUW*$?VA#(lpTYe+Fo&aau>fR&bBoKI$_7~LzDY8U4j8| z>rU*6_1imCSn^8SNM|uNoZYn@<=>WvD_mZl0Ks~+I}5>;dl-99mUg2mvO8fbz@&o|GmQ(qE*|V&eIyW zO2-ZVd03Ybqrq!H?9Q{*96R^%B>8S4`*A7rZF<{j-F-#_!i?$s#}lbh=@_nVtgh;i z+S0=paxdThdvji9Q?FJhrsV>0GCq_xm(b}*Dks+)q5_(h(kwjlzUoj^JUWl(y$Z7@ zlL5b+(l$d#0MS$U>|4;xN#YpuC$i(P7`4RcEgcjr^|}MWqx^=KO&05_)~9v|)}h<7 zSGf!JSPR1yyI)Ca9^L&;SAugAO&k(tlHOc-I=5kDl?t%4Zsrh2VZYAJh!lM*DZ@g5 z#G)H=kmN9B$E5y_>G5wIw z3t!(9Av)V{I_Cwli`!$2ti0b+W{8%9^6(3oTn0l3{U379GwvGrt+7gP9!`M|#G5bb zJw=SaLb;Tknf(#dahO*T{&(NS>yL)7!z(4d!AMqL`Sad9{M#o$G=hqfbemSr5mahP z&qg{nZhy5twiDm=GsV*LJIYcs0gby%w;QkT1?Sn$7UfePNh|h66YqVHstJ}#&sZCd zBwG9l?xcd-`1U3xYjcCi0V5mgs(sm5Rwm~BK4otUpNT5UIj~)ILCA6 z46V&sPcYgpE=JEww`T%F)i{=1?<(gkrm{iQe&W5NyjDIXL^+>ws6r9R(b( zI0kK=yWRqcmS+}IexH$7fRARKBHw#f0zK(RNN7jn%Dy{Gm)O%qU;FOP4~JQ<{#c(* z&m)P%jimh1D7$oiv@rEv>4v9=L8R^}nJs@a%bmCJWz^;Hyuo1r$Hh#X(=zG*aB5;k zB_NaKkp=ypd^|RMa7Sl%xGA7`P4+pUz0X}k!O^Vf&E39+!-|$Lg?Xgdbo>L;oM}Py z86Uf=`#6PigX5~=2S7nRQ+9wTr&r6lr2{qelFW2TdR7<&F4c&Ca(rliP0q0Z&MoUa{c6+|db8o#gxPw$u^zhj+-QDOexO&VZ+OS$mypHTD^ty~~3_VXDB%N{K;S zN|P(ObWmx=5VdI3d(f33`YksfcHMX9mMw-NOml;)Z9J-px^VSmBS660TvsS;%lhVq zwtowOYQ^<>L79d~2x`HeG>lt{hU)i#00O=Z#8N=HvEa(|{kR7BRq?5eUtWN1p-Y&x z>*Y3#M7oJ+f`cu{Fxive@>4~&H$$6*s8MGUMJc#>D#d&7h=`dfA5A*<*NUQ+AF1D) zyp23_!Z22Z|B+=!AdpwRg$-$#hLDr+cVdjEZ2XSD!CzqY^!L2VM}<5mK(a)~i`PV*y5SOy8#%5_94?KBpRbo10^TI(I}VZqS@;)Fr8-%!UhO zKfk{4`7;m{I28!kScY(=kMs=H8A?ULDA++8NDxJ~@#S>H*FD0@X09&j*LU30 zXw+ew#jzAb{rLR(@|c@P-F4GbnL9cT>)cmz+MIjRV)QJ$tdo&sRh-_Tm#{7qOjos+ zl|3A}H{xo~Br_TPN>q$^n6dNo{gXO1j)QcEzSYH`Aqn=^MXi79_lUvQ8!tQKxYnn^ zru|X#1&5BtSb!@gAg(c{?}6ka%dbD_R_=viS7l=-OR;H@b5m=p;`{1xU}89lu_-S@~;_~f)g0+(l%zt}eS zbM%X%zP=Ms5wQkx(-ArspXsJif4^XaHn_BmXEZh+xg};HCEcJHZE>^Uyo1}Rhy9D` zDT+Gsza32#g4qID7pM>3m3OYP;u{%I(ifpv#YYOSU37VH^-^bDBh7Gs*rDW)#;nE1sC4s_o(TN(y>mrhPQ0< zE$tW0HTkc0s>w}o&MX}@Cc}*gkCj!FPD`_3;NBDYR%{7yi`l*>OEP)vXe?79w zfcL0UIRL~J4}pQn)5a_YDTYioSHaFNea;Z2Q>{`2{Zy0m_SvzllOls7OZfNM_MD`F zM?KNexVD3@5N&35ulCqzZVjukaF!}|1V0C??rLxIyI zKNB{1d81c=&`4PCf|fsR`;=eZ8~?YM$zU3F9Q*Y_vrJhECtq}1iUzGR#RIunhAL=_ z*lw2#t!EOHw_?se;yDJE)@_KH$ST4G9Cg{d&f`b_JwE?R!E^XOTmR4#MB+mP^HAFP zhK@r=o1#R4Dz;}O|{ z6h1qIsGbs5D)L-YNhsX){Y;vUUZ9c^Ai2|pQEJwLT_)C%TaF* z2B4J_mO5PeW={1FvWo%p);en*@>&5Udxn*KF0_g$G2!{QwRjqFg-EcL5A*8dOhXuq zIS#RRx1?w`ca0?Mcb?o&`7dT(el^8L$CB>BP`0&d3vZnB^Iu%5yt(%4?VD9BXQ)91 zV`}BSe&zo_mjj+;-5;>K;IV!-y-G4<$#0hQn0vJ>9-A!S-nKr$U?M)O0=9+HHba6x z^rjqzD4juk9eE?ys^ybE+7gBy(g#$e=w)`NqUm#^>@EubW!roJbqb~wC|+Uha{_6O z4;{H1L4L#?*{qZUTM*peBD#B*xeH5YrzWZo+|VBmgILGJigorQpb#C_x2%Q+%Dz}t z)L{f6s=@jDwSu%a)HL93v@yP2u=mW>P>TF8XdCk(}&gib7Z;Oofe!t%1S zf#1ohqt(b1C!UU$*9DE|VGY}Mhyi^o$JS*PCW?cC`mWXnSy88mtp+KEPCRF?oOtym zfQ{$uJf!EmV2Y#>@lbNpODKz6<31C-b8Q;&Gj(vVq!#9Y+0Ai-tdWYGg zL9KPbX2t^;2UQX070qJbZ}hpHzRGC+csGq&2`&QoI3m>wbX1Hhk-Y^w46FrJ2IZ^e8=-!d6O z-?L~cUe!n$1E^4pHJ#d7Z|1+w?;St}j8(2$GtYi>rA!awPY=P zErCqH<%6?>vEn9~hNCm)_0pBgrY#USOUuI%Jo@wO_~fYs)c-iUUM=y|$j}rf=34vU@7ro?S|L z$ni8U`bb5s&$*cmomI6YSfy8XpG>ZO8yyza!-k;WnS+o&UvwH8_0#hF6~lj@0j+Py z795iYR=Ztj*KJ3elAxN8!=Umi*l6Ul)|Ykc6(UVCs`g)cC$N_(s}DTvm4`NI7aTOk zQDwz;&BZ?&XorZ+Y^qx@Fn zK(d*zhA+2H!h-Of4i@~|>Y^O?!TiFO-V1j741p%c+x)WAM8QYtR9K-1R|63#fl4I7L1*%q?>r}D9csBb7U<=do00(6T^_uvy9T}4 z7?7Uw-ZUn7-2v4D*;e5^4%h?T#tEd2*wRHN3nCw-KK1m#>rzeM+*x4XgL_V7%BhP0 zzFGKh5J8ON{&rNGV2Dv{B+888^Tib0d1#1go{M2bKgEctY4ohN6tzX3maC_z=o)OV z{d&N2JJm)M4=9;v`D?V-S4+v$oSK5u#!gu@E6#UCQ^&XA1WRRw4HOlxg zVM*0XpORF7SZKvK=$UB5@#9Atf(Rr6qPz}b6OEK){nPRc6dH|`Uz4P7CDj)P>i`?& zUuWs=_XXQCYjrANt2U@L^s1M^+Ws%|Fk)VGqMHWfQ`hF~T*Dk?-wgAL#C*7ZR9n&|^KP{kp#Yk_#`Ze_O_BSo$*NM*eR=H>X3A)uPj5B}5Gw9oJ-z6Z3X zOSiem2z>!YXIPVbQuYzemVhKyOH6)@{ze8dS?W^gk|XxrXL`jv z8{+Bi(P?qk{j%3+Kke?|XZeNuY)}*B4YCroe)l(FxPEZ+}8i5DKEhH9uw_ zMp;;4m9C~FWWFm_+Zq(AA`KS0k8J=F5m*+gp-usv$_C^WR}=-oP|bSGiWH=~Z-?lY zI4c5RnaLn#g+mi^MCu3SWWl+@EScy#o>_p8vwi*kHk_Hs1V$9fiX%uF$MiA3^-5j3 zZjLetupUecK@7%9<_V*G-6 zKe!NfMP-#9U?N-Z4vkBW-$oTqzAL}n@+HNZnTY!zQWo>fM_Wycv(jySYd!Gfe?_0@ zSR$k7y;^A*9aJon>59Ji$EjXW;fyYq>nhhDy|J|IorlR}F;HQE18_cw=oqG^WN>Pk z`X&(v+fi)HD;)R4 zVrP7>rGze0U?S#^3ggtS5qB)(%P2WLR-p$lvx@D%1CHGgQh!TJW@t1^cH#A11;`FXwS;(AvsIgqigu9i+&;YhM{ zYw9&PNpHwrfGaxC{XdM4^XCWT89f2kWVFb~t9MN%F2_E_n8I30ZZ@IK<8)Bv_&gM6 zh#rTjIfss{oFH7Ng2S2lTC8_yyraoW+b6cU)Q8qo1mm|=gGbYI=KTY!J*4S0GHu2} zR)zcM9rUSsQP1k#W02S~203?}@7732VJH)l@)IF%BT&^*CticoIX}Bi(?B~F|7WYH zvAu0a0kp25)hvkiwrG;v@ZinK2~w6?piEpfgUAF0!o<33&-t{d&($}_5*;n0LC7+l zVd2E>^2CdepF@8qo9__qLur_}VGN-6M~X|^ye{;TuEDKE%eJz)@Fp+ADt#>&7&@mW;1Os<#>pcGOTVSKH9lrVA z#h<;15*fmaVf{pQ&kkO|8Tiq*6uS@WoEq$Q3!S4WJx1#-)7j)opV8fLYd`)jP;@-! zAAX;|p1V25=m5~vP+1O~W;khmd==&ESMztoy>@seCrLTJI2tAVK3y~9y?eg1jw^r# z*P70!yvb&-mxpa0`Sw?$IdvS3`;gvc;f}uZ1X0nM=c_oHJ~RN@ZL+y;*~{Gl9p2m>@L%0T5R3xKBFc} z!RFhxV{CaK!5|QuM)el`8LPlS12qb11;HepvO(%?e(s4YhA$mweBYripB zf1N69GOZ3$+uN>?L)oY7q z&pa1f7uY_FSfOcfI`2GpiRSt>AvZX8I4Qp@xc668ro4wU=;N_bP4Tn%&f+Kz?*ZyR&Ae80DAA7KCd<+*Sl*7yptRPOS&KY$k zh8^Fi&jf0S7|XTFRp75nI?a1CZ-iEk3!>cv+GgFGHLMEUB4X}bxPR~7zf59wXU5(1u|FL`ZS1aiebXxSMLZ2vt<-L+&fD>qob7DrCBWNIJLNVu7GcMBdD>LKyN$#hEXxR|0b#$61RU` zS~5BS1yiUK`8Q?q6w!wCshiZSa-=CZbyfN1zIaoD0!l|0rj%>vR&ljduh10-zE>>c z4CbUjqT|_C^)(BD5$Aeu?oEq_^3XdZ=&Mjcf1H7QV%ONF99K-}bPI z+gfp(d$?Jk66_Esu9U7-{!I67d7H|7h*luQRBSfSxvxHb;IiAo&!OFNA9=Osm=1Jv zgP*pZ_s7eIhmW8F)h_k!!ysk?cgZ=**I0O<6~va#O47FLkr>QzTXsnpJ(%|Gb-JQD z3JzN4`QX?y@fFP%JiEszG^Wvyoo8)1@64)A>DL}y&5)c4HVBdRk_}RTq1s0OuMH9& z>(`>&Zn~xtP`v!}tnv=lF-&V2T>n&N9i-WkS^x0UF)%Dv;_Mz#@V;!%coMv>!u~qPGWfi!4PM*BihVy%eljq*1}NN z%qW{tIaH2GO~tsnY;ula*)nHgBa+YW{r&y#=5{lCzuvFs;c>s?;zI^>?&xkw6QQ^p z&IqNVnERNd0{E!L>P-2TQ5p2)nt~v4S;K}=YWcJq+@77mB<60v)K$b-Y&Kn z_~)I>r_Y9)_|j6X*RJ?KG(m&aNd4tzJ3Qtlw?0%zbtzqFp}U0Wnoyiy8#`HFs)9p(dmd45!FBS{$CzOy(;V$AMY+%7KJ$JB;koz)BN%LM>Sv4&?29}ljL5+ zx?l6~-{H>&XD8AD+Cl4%^PeC0*9C8z5>qGWZ#EW{CEl%(``uOKy?}!4{D<}RkYDe` zA{lSelM+Ne6&PUHK(rn_`MM==XE2Fezck*v2o zeEv9DOgtSVrFF|zHk$mp=goD<2SbUvZ*m*NcA*Z1mZ#&BcA8-aH6a!W9jg6>4buBf zJ@nL*bCK<5{0Ik1vd1#!nADI#%eD!B0BIR??NTWapCe@n)IzSoxc0WuxRIWU?S6G_ zch34Ya70OEb8l3Fq!Xl+6EuGMp59NJLN;9gslp=7vryE`y(6paYJ;erN6BbS! zJ|Fea(bodI6@ztJ5cD(R^Vhd3t3fJoql}@#2J#rvKC|vY@GEV)g_Ds?$~8&x&z|w^ z98o2xf60HZ%2G_4fT$U>S~e_3ewC9q_TiHXdc#z2s7;2!yuHdGq?A=bwFqDE1w14d zUdz=VEIHgb{m0P;vzVQsfU6D$82vmtj1Sg5b7m(Z+21*Ux^ZCvXJ%V`VR|x1nz1Gs z&o3Mx65_N09TWYn2wIt^RGZ`85Uow*GL*6(r;g=3cV16UGLb&l|8lCZCd@nh;Z7&D zRRtILJ%ib&V_x07VJ{s{1ES+#Br^U-3GApwL|J^?PBvAtln90v?-ly!+C_&ytMvK6 zuj)+87D#qr6GUiv1?K6H)T8q`1Q^1zf10XXD-&I1_&+=MCnSXaUD6$bNpuXP|D^~% z@Fn^zgrev)y&8v2Y)5S=dN){Aaa)zK7BWg(as|MV%YU4I^tV_#fS$_!-ZlD<;o4u1 zX5wy)uIyYKCQafH{;5)EPt=*cQF|Da&>X*$sJRHA&nX*prMU~E*jr`)_=0nty;+C)Nx`)~z zXVWsVi^Gc?Rso@UUw6jo$^n((v<^@P-Gaay)GwZnI2v1~B4raHR)aHc6`evelU1jC@#|;RU4Y;Y{XN(0N>P-%a>h@_?9=+)hP8?y0b6ZYk(yE%CV!Iya{Svy z4~Jf>woV(WG_8CL#Kghyk_p(fRdSwv<)ryvBdrcMmM{nw^8%0<5dZmpiw$~Nh%v@VgS zHNHk-Q+i0}Vf@{I9&gSWCAbbqJx(?MSzH^xuTir3(1zXEMqwXP#=V5y*x-Q?bZ`ic zB~zbt1(NU#Z_J&VT6ILxO4{l~y5)wKbyw^j^U|T}4>Gzq7R+#x$Mw`uAP_Vcx8$SWMzKV08h zlR*|5uHe*lT}s6n(e@v={WDb#BzS#BA7rWHj94bJBvW;t#Xl(s)|JzM3u@j}o@J4! zT0EZZ4i|ybIvtoaOEypKib~h`KLbdFG(DlL+bZ4(vqSV~Mih8F(NNco)QMc6q^jl% zwXiS33^O`(5?W4L9BMr04vI1yuEh91Ps<))us`!&P(YtV&*fE=ljIzC#|71FzrF>t z)JADkg3{g}y<-@*zU<#QzchH>ANm|ETXsjGf%?5RVpO`56$jj$ftBhHaWOMK!9=FG1JzKWl}4Vc_*n@uk8K-<)-|d~uBS?SQ|g;mK-X!?tML!8aE$ zyV9HtEMa;w8l`ubY6fK1vf|asyD8A4N-NO5rH25AR1Yg*EoWbao8fNtR#p8_3 zuT}pe(eesG1fK-JxO|erTJ)G}a380^RMolqTu`o`@^k>0klWvjky^*$0?JKP&M%r`^y_tMM z@%0Li#Mw!phKymu`-gIo0Fen4xmlw%p?wSXMV*04ibb zuer)M1wP-Yfj5T&UUY%hA(Av9gz(nFP}g#mdfKS!BMIA|`hPSH92N!SlXx@C=$B2^ z=SSZQK-$@9MODf`+-**W|zy6Z7U=4aR6?rz}N_R}bw0Mn?C8#tW_$SFRtxQ{ol6VF*(93y=BE z`%k(YvsYwH%elFhNt3+(2S5?KJqn7Ds;!fl9zWG><~pYFWZLRPR*sc5ZJAyiTM^Yy zyKAFxvW?X>eOu%cReQ|4X-nSY!kdO5!~~5o@NL%gJUSf3{q%Rz{bjBZLlhW2@<+J2 zPW*0$Lm^#Dt!E;V8~n1ll>;UVXIINN_A^1|ZFZWPknvoWL=Mus4c^1bubd5`rc)3_ zlxtsvK8D=|6O()s&ODc>I=1fXZ9Z&xrrQ5(cGrDDcd6~fpj{1St%sb}GpN%3Bqyn@ zDJZxdE@d|g2^u59b6MM9Q1d@8*{z;BCa78Ely^aGI3zTtdVMO^9z&tIs4Cm zH%RVI^XS=aPhQM=c+8yteHEO#4NKajd=k}x4ZzhuaM zz0zqCReY~FMwkd4j<|9Pp`tJXV%-ZDaW~rh(y|NVhN7=l+xORGt?-g(k7ak zoHV5t_3Yv3?cbbq(c^_#Kwg9uHQzRTCWPGg_FV~bW^MJ!wvoEQr|lpbVx#vSF!G(Y zbO~Q^s_J#=5GHQiM1=CX?|v4?jY{#O(XK={n@?R)GR>W?6u)LR$7ADTt{=WT8iiW# z!9^t)BtcGC<-|9LC2T8q!LNCL8;(znZwF{+T#RuJi4WGq~mUjDz_d$hXTUOurw zFjk(ZC0WEvS*tAu{&lHD4WzE!mP3!Z$bSLguNFdzrLf5vo}#sdz$e$r)?!~>^0wau zv*>-fk01C_Jux!nS97r>ErvKg*<>l39 zvRm0{Ym1{r>23&_oHWIZ`nLnSH7>s_C~}f4@`~rlGQP*pABv@_G6P5`4bJDqrb$W9*L?MFhJ_Wqeh-(U^s{VUs|b(| zg-_C&TxVTdIzA@D;N>bXP;!li&+kLf!;mD(aw{0yoML$*6Yz|$E2TrsXBM8Z?W(*j zIRTWH#-sH2E$^@Mw<0DAvfNb%X?m94oOw(qrp`Wps?FhHiD7EvLOR~t=k>#{i2~;z zl#S+FcCjTeIb0U{cFzTxt~65h8q$%6@b3^@k5i*9dwe{%ea@Ct0yoIePnY zz)1YQo|&+DbLTl(q^5^W+ z2t+AQJPG%vx5x*zaVOTbBxkg~aSgV(@tVE3p%IXuMkc69NHSpCU2D4UpJU348_8hW zaX?Wb)H*W(lPc`SVtSkEy05%LR8IO08inwBCvx>CbfBr}@cPg@by1YGk+;)M z61Do2@<+~?9RbW+p6Z0bMJ_JWpC5N!6z~H5EbseS&*7R5V6XP*+`q1MF+A|-G?F{y z3|MT(Mp@AbM#0&=es7yE2Sx-Om>Fv$>OP2N zW>DGy_)XGu`eOL3ttLpP`eS@22snAEbkn%5c<(4w7P$i^opHO6sy$|i=>BwUcz=&m zNLokBTs<&;wJ(Y?3Gn9Zh*beD#${9eH>c zN9?7lVp^t6g+4PJH_nkxjEhvEtW9Z6bdk%U=-kUwSpa9rA9t;1fmNUeoqtE8Da<|x6JJc~Ww6mR z>wbBKjIEQ0)l=3LHxz9?C@Gu3>7U(Qy|85BSaj6G(4yL{$S>$o)WzZ7`F93?b5EY9 zAd{J;DUJDrX6w&~?=h%A z3lo+o(OY=Q#(K9$=O7M%m?~D4yb_o%5Y^ZS5A4!=ybH+n=V-KW?e*T~?ZSn5#^pb= z92l#Bb`Ly!M3L7M(Kex}m}OC|SHSA=NaL)B`gdkLY1jEblgbDfqg%>Am9;yQ)&p!4 zcsm?f|HbVnv*DGPsBD2* z5?hP_x&*TcogR#+cfn2=Iwq7}(`}t&2VqYGl|-k67^?N0>ANcfWiPS5*=;|G)e!7Zmfc;gfu-FNM};s3V5nltt1^V1 z!>yWl6`bl@|?4f2Sn_n355UFQsbnoJ#t=|@xy4X<(BF2z8V$slH{A) zVr(lo3L~%3{yeSa+w^yvg_hS6#1yZ!Xe%TC5n;R~$Kk3Tuhi6ao37B|5^HWx+}D1I z4Twb7=xC8;yUrIwtg~6bz-ovOMuEZ5CqAfoyIrFdGcl^3hBjSpx=jfSgWOAAy zSl!XXicCwkiM(QoxgSkk<)t{J9O`bl#M7r5krtdbtcBJ?dEH|7ZAkrNT0I$_y$m`K zm0N+eO=}&e$g_4hf(KY3^sVN5Mp6lvt;f_tQ4&9`-0bY(3bW;-|AL4(l)=yOFkgD2 z9M+0>vlO<~C={mlLt&h?1#4w@??YzznW%OZA3SM*(e)`uE9e_0_R$fG{cd=2zQa2P zT7<@`h@j_Ov(yt>;PS;1I%S>Kn}S!9Qb-Pv4Leg(~Yx9z?>D zX3%$F%&3nhZJxtKZw;Gu99i3uK*f>;O0-u> zZT?Ja@fY;KxX{`8{dan1y1tn@ilA$InVG`r|1SEkb^FJ?#L;}bQc_DCzlh+EN0lEI zO4FrlipQnL`f4mV>j3_gu84m7f*W_o>{5vxb7@9Kd`p>Gc#W9!gA zca+~-h~gi4C7nbY1G^}U_BH@+g?oyzL{jgqg4qv+?$Dm>!sdkO51OZdcEfE|Ho0eT zyLI-!{R*_lio5DYnCPk!o7QQ}T#Y(Noi=FEiz3vBX{+hKYBn`vbJ6-TAUig(bsGObRkPGMf2dWE`St0%T73b$OM*W(0 z(|=MgGjitraq|aedei2F-iCS*yLvpTY-GCa07!bxc~D03XvV9n+Z6?t*GH5Z&D&J- zgV9)Zd{_%=goOwZcQ}wPkv&1$MlE!BP8WQch1v);*qBc-vLvVDUXc-+)YJz%Vts-!04ZH zd7}2p7&+6=(9g%UnR&W;76!ti3NShw%J`B<~ug zbN`&CWEY!~HmL3Tg%xTP`{Y`Q(+HP{)q*d$f*V9B;RTIT@UZZX=h#+zMzohXE z>v_=3&v0oKw1;YAda<}CBdd5RI!S{w%n&${M1fD^_D6L9V^oyL;e&4$5I>5M1wD5$fE(&b{JN*k5}r2gmz?t2WhJ4J-W0{ za8U0|S#Z2AT5X&`qwE^cEi-MK?zl~6KU6JmGrh4@R1Sm(#x7BTCCG#Kos!nLBXmn) zqF!kk{=$Nli*<$&5^a&tYPb^?Qko!V7Su=V{2KdI1=zt>53Y&xPXC=XqCd@wO7%&6bH6%6JKq zSKVfXKcsW!&-19s8vvw*qAX>kWsiYkkA|2$?Yp-?gciIlB>`tdWZ1v>Bcm=>&IX$DEW6-t2e3b5-M?Sh{!ln-pp!}b5N*O^wWq-MIHCMfjW zLYF`NoIMck_mh2%`*dc~7;m>E-Z5f{A7-sYNn5n956 zxJ>smj91420`KVkUjI14u1+(|0cX9U9(B4LExOLG$$1$FE$oSdh63aEnNMkSJ3#r| z_t^K0`-A_URl;6=xJ*Xv$+C6hm;uC$^U^^BhGyGPXuP4WRC_#q^# zqNv{Q7MO@va z6o{g2gmGzY6KMm?r`n-dxM^EpjR|sDvdU>y&1;N0^1XXSq?^n;sx^Mbc%!@;0D$2( z2+nXBX{x^t@@T>1^{%UWbcd1Uip59&Z#?}=G!aFvGc1W z(f`5zJY+}}Kl+&@kb8qnW>Uczdcu>4f*8+F$Br0Di% z7g}fBuY%sz$0w*4Sp^8{bHK6<-8(0>*0*gVRu zsVXO&yJGNv1v6{86$K_c%)FVaE$^6shSrxRm~#t1}$^{%ze>^ML*)!}G@( zRm#q7Pb*^gX6~tdZu;;17u*cds(o~bxiiQt}I&vyX zUSX&!cw`ViX^lHyarR-zkI(jBob3Mxx{1<6+{fR#V=SxvWjlmC7+M9Ljt7=&-#Wb3 z&IHO8QDCHTAs@Y-L~?}fG-l^*FzNg`7<_lBa z)8pNc*XxTc|Cvj!xH>?zdZGC_GYF9sesJ&LP!n+X!Q4s-^tnKEL+KKRgkK`J>UOC8 zw9NDhMa>NYP0NY94MzR4+r*A`zFLnJsaNaL?=g{EU$@dqB0ty7`_L{Mi zfFz)OCfyFG>tkC$+9Ir_hX>Zxv_%3+&ZRZ`;9Y$}zQ=A54t|W=Qg@b2i|urT@qyxc z2TrWU2Y&;*4P)5ckGDv()841d}>123mLDT(SkGjA6>`uQTGLUul+O^8KUEE@S}K*8KUMgZFw?*7dq9?tQ+`c zTZ#kq)5eca74IkDooY0xy|SGAGW^4lxT!}e7pL4)fSO+U9KUdh?CL%x@D->(d_SOQ z;m9}S+zCS&!>!DblcSXiN93oe8xJ`uY6Ax13GvgYuTd*ki`E?a4Zaslg-*jWt^@~fD6H;gs~4q4?t!T7#A;gZU83v zvtVfV2l_vP3BsFGbHPx(Qz7LtZMT0lgzmacOnktkDqv8$zf!%8>)X^Q3JmvcdZDsS zVV~@pCc^tvx3_xcuQ6+$l(@%F{1Ah=~IUzRcjps)0qf!&}&Bj?`Xi zIOT#9!x{x(`iNGbqtMjjC&+QT&k}_hzS0ZYv>|mZ5A)O+5d=_!=u0QEG$}!7*E7@b z%N+AB&{sNX2KRZ!V4tI@AuXNIoMtdT<&XU9nJV3yo~ZlE-?@Xo)-1Z@W*v{ySj%)D zp#>wTWY2~xn^#s^{X7hJHoyhWlh#ZK-Xa?PKD7BD;o?c18l@zAKuuXfj6MU`Z9QE< zHBdJos)OLr|28w0pkdEc-)(Rf*@AMYc(o1hEbCFx5R%zAQJ@x>C6nf$j}|ayRamPc zL>$);)*_OhE;(LTzdN(DZq)_icC9_*1R-W2SeuDWt~HB1QPKZsfdzsP$RfN&;@m0r z>}3*w;;T4vk>WSMWf%K@pa;+tJIe6rZrs(Iob_H_w@I+&tW`>&lPi8(2OtWTjifqU z19a}dKIlwVO2x6-S1Rgu(l7)>>?iNxp&f3~z4sPpAc~R|-S5FHnv|w|6cJ;ls;NK% z*voSCkJl?`B&wW1##B!m{97L+ufo@SDg1nu7Nc86C>xU8s>5Ne>0mDC@TV-m6Es?6 zRs8`aQEwx)MUz|rx*SN$tGCr-wOXC36*R$Mh>&mf@~DBcYQPib>)O1PndY{6)pYa*BuwWFma-mS_L{|P=xJ8$-*(bnfJDKd#f+}FDQ2Ao@;4Rf z+cyLlV5VsocrCgtX*UhJf?^h&R#6U$Kaiw5bX#C^T<=y!hdp_Y77!g&k@}BekM8o6 zn^eIy*Xac*B;=y&yWAavl1wjpYQOBgc$L;2P(Dohd|~$D*Y5jY0hRQz54A5{h#F{c z7unm-E=CG7IQ8ay+sHFas)k}7%^4ZctxiO73cf$&-$WX18hkr(^mb=2+o7~_^)thy z+{Qo1IP%z*keo!h?ssUHAPxjv2^Hmprn*!=e(VlW7x2SQPFI!S?@il3U9I$1 zx?HTYiyhC}Yp*F`#f<0RuqwQyt&y*TS$Yjv(*~Iosn0eg8!1h^Ag|?g2+7T{GMv%e z5y^q3uyc>qdfz!#QvEvFW^`@J;BC}h0=?X>_iDi_GCk!Pk9NN^eU>`6 z1S!2tz`~x)e#hk*qdKnJYU{oJnaJr-7%n~`5Oi`C5zcOJeBLB-3?R34m%TrqJ8r;= zVrr&15J2|36Wg@7#seP$19qj_D|CPOJ70Y5Q*UVBd(ce$TN7lMRVV-#Ju2Px^9#F} z5>PN0EZ#MiN{KC9b=df^{U4*R)ZL>~Ta8ny@Zmv`M*Ew)-aO>A`E;$0-!Tij9kEqS z%69)5R?CdcswEV+v`@NjlUEpEtsc&pyMyeBBjZaItWva2BnrI%jV?Huv%>Q1_fQ4%=Z zi=Big4;5CG^~Aq)iFP((Z&Q7~g}x2z?09cqb6TsV7HByKC2F={tzLTowg?^MRdlP3Qgu-A_=m<+8I6cdGEpmXqLTa5$Ziedt+I>`KwNNO8t-$# zY6tc=TPnsZM0lOHatJ0TbhCAVFG{!yZ93T%4U)Lq`EI!{{>7y@}b za*mcyh}VO|0gtmF{{!K_bL@XCkLLR0SFPiwx3*jjrV*`73lq>r(e9G{Piu_Fr6kl? zIwUFDVu#sIz_h7*r~N3Q)y@0gpx1R_gxRJSWbr3)zI;%r@8Mw;@lc2(Q%kHn+U0cb z!zjmY?)-dUz^lvAagHEQgYq$U09%(dqMFFIVCA;xp z@(Jb$_#sb+DpP=;bGQDD;*0#d`l4&9NSLQJx1$Vb63y(iDNj0oT?R;E$4#l_H8&R~ zF`7iv@ZVOTx>Y2*_|84JuzBEGnDyH42cyGY*@=J9#rBEooQBICZcm!V>rtW)<@!^! z{^3#6>rhi-ITzQ%X#aUgZ+-vh^z6mhiyy0bp}JsvBd8~E^3NkAb9FP7G0aPWN3v94 zuxl8M;=B?gBY$h{5IW0K-6&altmS!3k2))GC#%lwxGPZ$st!i00YRYhi8Idwr-z`y z3M|%CCfDl=n8u>7?Lynf!ojLGJj6FQIF!&!s(ZB^Emx~5mP0ww3F71iP&c&bR0|yt zsl#SXrMhL;&i|Jab^Q8h2K=Y#|3LBzNNeDXbK}hVE{2CSjz^>Wu-wfcaroz&^F_e^r;yO;8RD)1Bpx7q*o$gcPz%T(y{W;XNJit_G2# zp2Nyma(7W*co>Qtrui@4_e-upYvp17 zw#z!_kY^!NDQfC1@`$)_qp5Xh9B9i!NL}d!)ChxJh@E%g8Dn64$ygJ#hjLz3_;{UHprKV*MsaAFLS)D_w}Pdc@M5kCn--ePp#ti|)+@RoFz+@=wwTIP6b zhb7sTdVv3g1)O01Oyac%I*s-*6Q%2qE13;ZjzPiX(Fbo5e-ez8+Jx`}!P{i9N}hhD zLrwGuCa1_MUb`~d(H{@IAgjWEWxl%FRGHz5TbGtg{9hz0kPh!kJ=^!Rf(dgyfP6Gw zqA}Cb>W~D$T7#VP(W*=1>CqG^HadK$`I8G@br5*M0rQW%sQ6I~^87QoU>pvd~6>ufJN~d}duc3HeRgsrOoro}ru0P-|2?{k|T1?>P_u zNue?i<;~WDgE{*5$1T0N&38sdZtMCCFavX$lSh-DK~G;ir|CEP`o6$Mo1LL5CVOWj z?UdkxG^uojCg_}_#k6&A?=pe(H}M?Ouvhb>4@gyj)?LP7Mvs50!)5VvEbR7cw10Un z0z=7_?{}pdL3l(|$2bGsZt(L9P0@PleAn%7sCA&C1$xT#XWDPx#S11Ve)6j8B$uuu ze`O`}*t}-_Ku@M@)V}@V@*GaNK|rmXh~Jy(u_*R1BPx~LiE`1o8thT+w~h}eTF(X5 zbKW%DkaB6ZXHD>KTP=TfttGA)^m;eo*G7;$0d^Mv3R676nWvJj(p2WW;jn8_in{o# zYI4K0oCH6#jb1Z)!}PP|xpU$mEkElqa3;~=2HWZ2-;z@&J~!R`a5WZOblhYVuzb*V zo8awAA-Gt5mZmHiLj9CyuK;7i`|=;adb%QwLVMX;kKj4W^o$C{y+ncUuc8+<{tP+9kbf2#Zpowq3Q=L4v#N|bRidQ7d$_ZLp zZ|K^o&&@g@rO^+%W$OW9;tczCt;eS(i!GGJfl5$G!>X=UAn)VhVw1~uez9{sZ#{}` z;U)U={#@2di@pc1La7q1f^{-1#!gw0yF#WDIR$lmkd$qO6S_h5NTM%kr&jt>qYNKy z)4CYj<+#Hd6kNK4&;sCp2)@EfN0$ESXG^Gi-0@-j(EphZ*lHo=7mw<{0l=YluC z$$nx1T(e@0Wrb+k?Id(m>@ALUVHEB6uKGUlSO$F)tkW)=< zU%G>`yAbPCzxn~A^^-$=L23XCoDz!olul-kEN_x=rV(WzRV0$$OSB#sMwP{T;SQ28 z%6Yp9)_X9LCFgOE4MiCgez>~Zy}f;omg$^MS#6_k=SJ>)?|8e^x>Jt_^pnFLZUb(W zZ4t*dQoWS&Uf(HN+*E6XPE;yMjsyGBa-MDz;B{<^@>AR2RO$UC**j7`3*ybilz~J!ff)gNV>tKgL9$rjM7LowVpdp;E@5nTwrZ-_U4@3ez&9 z>#xVFufn!=C{c=8Qy|8|I#pMDM#a(bTgh~aJ;|?NeoJ>s(Yx}B(}Upufu7x`1peAA z*^OqE>?s`z)<+H&2DVO7)AMnag~zfCT}ugmpy;J7M#mr-WF5 zNUMc!SS`&Ed=x^^#ytEvjz)Yi4%RMNOcU8O+Aq>#5^s*Ffo_e){h^|m&B zzFQXCmLLKT_N2-p4T_St`hUXQpE!Ce8W4D>gIdAMn>GC(PipI;_-zikg?2efK3>~9 zKfcn&O}5I1s~%0cT_|Zjimmx2g2=g?2+}L0o;Dd;r(M__>(76HEqJ8@0a~8Lh}hCC zWSX?fcl7U(I=%(Sh?au~UkJ0Wl%QmD4mH^MEh_063xKvS6%QueQa%nW)<(V|e`h-C zVKNK;?XUhNyNfPPB3NkY_t+f#lscY>C5fP2PHmQo$HI*=b$J(JQ2?DLP&@CI{WB#f zB?(P7|0-_@-`mu*mx&TuPvi6xy7O|rhCmm48s{l~f8K`qQCSL3fyXMc^lyS;miWj0 zz$hY7!_W|Wh}oQmizIa}hrl|fMB(0pk}{zM^%Hdx641A8n?x@|7vo3Ep-35G%~Q4i z7I@*BK0n%qX`(46veMBG4GSII*a#!rIvQ}A)F47DsS+ix26r-i=x^#zEWw(svf&Cj zbhVFjel8+SbS>rGgQ4<{IM_ce2w(d5i93hO0^%umvKb;t5+MQGvcCV|;}@{b+t`FT zwzqB8=d0_RHp8#P`8E6EqIFOXh4*Y&EXCZ6Z)D7+Q10L^T1bOhckp_j=V+XJ@p{bT zim^wCrwzcjI74tbq0k?L)AGi zKi&OF@gsGu0`ld#V`o`Q0Py@U;f5>*=t~%!s*M{mUJtjCS6vOsjPucSS`Sg{Gnt{@ ztnVf06o_M5CQa>jyjNS_&rRkuEX_cTDU08){FTqG;Z&X;skG&VWPhTNygP(WEek^Y zp}c3Fkxd6K5@EVlXV<&awcfh;e|&txeBO2|J{pZI=XYu*2-M^VN?%QvZB&VS8{U## zcn5le(c9fG^*KQ@MbFWjf0_gYli9Vnv&Vjg0r?1;#BUxUkq;I2_iwG>SZs_qO#+}gH)kPQ zMmOC)RcmCp8>dU)87SIN9WpPF~cR^)pMBAbFL+5nM~^+12_uC#v{!*JC-*GkiyE8;9Nde^1J&`^Du z^09EWVfLZsqEfG+6M68qz1|>C$FqzxbjF3;F*i@{f6!AVU*;nJeB`1MBn#e6w4!ud z$ctWK?fPN@cS?$!BtR^|p%EyDw=dIHhI>zqQS%RgLf9nHansinV2Gn;Qy^A>DOdGs zZZ9eo&}$9z4^xUfE?!7+=>2zXmqZ;2Mx<+b98XwthPMNI)iv-T%gAb2%SSyT#G1LS z#gN{t<#lQl>umFL=I=OpgS8GCTPs{k;H@H7=geHKCu$b=P6zOM?QTG}Agg3H* zLwA>|fxu{}_)D`JT)D?HUnrU9%X?5$-6cQ%izZSi%YJ=xf0;y>J;xb>=x#1^UL9x! zOqbtzZZ)cM$Bz{);H6rbF`uBE@|z#!+ET>;AeVs#Dx=NX0DL>zKmKyQ;NoKGj<=(d z4KcgVyuLRe>bIaeB3QR!oT&qo7KQXP#*RxXFhSSQvsP64R!xvS0+1^udE7pUn%nd~ zh-xAbDO154(McF4TG_HOWgB=1zJ77pkKNS#&PJKC>@NslF#Od)P;|G>j%{5v+%b7%@6y?uD14qmvcSM%md^w<(Te$2W zfebNi44d`9y6NIASIhtXP;NvEtq=MHKl<4GqG1yqPwLy#g&g@)Fl z0X7?6be0io8hv-E$Ys+8$fJc97Bry7P90fOaEJMV8maB?BVC!;dZpBlGJ&seo13(+qufG zhGK13XCn}5K8a9TZ|wWZ+fq;kbgc7B`y=Tmn}@_Es}k)N!;0<4D7*CHW4elNOHkZ} z9zfweL%nCa7fhpTtbf`x%&f3A8xN>nXy)^k0)Njem8op;l4*tKi(SzvBO>&a=gm3x zYb76gje2Kt9>vC64j_o$2&Gw1sg}osE6M|Jit(dy%OYJ3o?;RQ9;n#6>G!8GGy4B= zbnfv?_wOIyOqOCQy0h9)WYk?bRU78e!P(|e>K0PmIVLkXY&ouSr!{Qpux7~SP$7jJ zQl!i(#wc>!-IkeS*obidKHuN}9v;Sg_I_X2>-Buv#XLi|>(PE0(x4T@z5=a53u-ST z9^nW|$95P)K;jAvwv0X)+!(I0AFKTyq-Hy{OwNS6(ZM`x06pu| z;H*jquOD;(O@wxuw=@HFw7X4XGZq7Q_ZyR=lN|?uvikRihMD)kGNf?Oe{*fa2CazL zzxS6sPu9{EybAb&bDx2Ebq@tl5Nhidy6rltOPui48+v7M9%AW(ngh;Jobv%3%**LC zIij!_ZXMm{)aC?W7Ye5C6}>QTmH_cu0V=$IN9T?F%5=m zTL&jQJQASwSSwzc@lp2sWfz8kOu)FFPQTPT{;)65A82#16Ic3rB=F#3*2Sl;kq6HV zS#24e1!o3eZOb^WW0woW$`Z;T6VoCcpvQa_d-+q?*hbN%JVqN1M$X)R-|Jr4karH- zt{phm(n^o}FiWP?X2&Jm0kGg@Qm?AL-u8(@< z2WNP${9Y__B>Yv{q#}Kb`X7C;$o-&2(^owMF+1;(a?h<5Fe9zQH7?8m`}KPqu%Z26 z{6Bj!6e)9=?%(x7m+?-VA63U`7JN3tV>$_^M)x^CrlgLfUdn5;H<(WVrei*!W&;T# zzfy^n1S8~hiJL5rUwP<&{S?BG`QlfRg5)Sqa%g=GDs{onn5kZj8}=MGGw!P>|JnUI<3qaLLn z1Lo_O6mri8rLljFU8hIAFJ5My9YfALy8Z5Qa4h3NS>CRn%eTy?@Pv;#6WYuyrG{MD zfn)sYLyEPq6oIc7tzpA;+w}^T@C*0yK~!wD{Ylj3DX&fYPCuL3AHG|^Uia4HvhbQf zc_RY6h-^zJkVGd;%1eq{k`4t*0_E)m3_&D2Z@l)EI*G;urK@11#i7b92`gUW73NCF zJn~%UX%{Ql8|Hjz$(LVFXd+1^4+6 zTO&Ss{zyWL0gJ;Sgt1hQ=<%gV(xH-yBT!R(j|R@eX4qc}pk5jVw8j`!i>YZ8L0Yi1 zU1PXkB{+~WNp}ne>eci-$8*a5F!k=8`#@;AjLOR)ttz&KK zi`DxBh&}&-%AHiOO^M$hw5~e(dYB7}F+k0X>FlR0om(?bTCa(7^7&!~82iuyo&K@B zV||`CQ#M)6!?2E|y|L9`SW=@LXw!VG0h?(9-pc!{bDp2b&mjs~Rz;|kjkBVegkKbn zE0qp$DD2iSK1WZ=w%u6~axfKzC9?0904p-ZxbMgmgu#j-4v8~W@Y<^{5(h zv2>fag=y4VXT3k|a_#GFyF&(&5Cy{fRY)Zo>mIBCm)rzy!7HVHQp(qg)ozf%yha5O zA0R*gdJ0|RykOOv0M+d-gMJ_o%vn#- z%x^C-Rd1i3JRXh(T_RG~tLw41WIPv3RG{X{#i)+mKsCUP8q~CVuv2xCcGtD*U}eNVq!h(VhiG7JUgmef$xQWkT{Ew0z1qqI z*)v#JEJY^24(|Qk=?f~!FRA;^SS1sE=)N2!X+ClJf8I5WA^r88sllIeD7l7FJ%nW$60(vcI zPj+5GNWRxTn_Z1J8Zyzp3jjnAD>Y7`;6EAZ3)~&3VGz5n(7SSNn*#_5>=1i5SgXzP zj(<&K^s33*$4{PkW2lsqY6mT}MqGN7|7&wJJ~9(g&av~P&_M$4uh}=@lHd?!Dc3iA zsM%PyRK*s-+|8}U*1_V#N6w77xmSFbBke&8w7U<7S#zU6Ptdw=2=JQZteJL(#nsw_ z$RsbH-+w;b-+w$CkK?Rlnwi*x7U447PJeYkKFUr}>rOXGX+3-<^F`eh94Ei}E}InSPeGN(!gU)%{!j`Ol_BEv=G-?m%Mn|%25=DV4K9~3Qg6s8i2KB@Cutwi$ zKt{Ft%wK{ZHJPE|Hq}L}1xg?0!)bbBHluDJAf@c_fzcEArf9y5k>)%&z^cLhz+Sne z!yf8pkv-$43*N6bbjtzpn)}G&IS_fliB|%bB$=PMQr-pT!THix)QbjhK#2*na4oMa#tQi$_BsP{>FQ4vb9%kr=1GOsT=0C0VW3K%nQ!`?+bi z4g9^t`FZpJE);nVg-m`}MsOce)^6e3c2Y&4*Dxa6-Qw9G*sPVBUBVdJiC_423Ul;% zWm7BgWRVvYn-1KV{mU;9hyO)%T#$~?aZ7GW**X|8GU>?xZsk^}u8Fl8HCDSb%ya?Z zD=w;(USwollMve6O@b=4*An%<#t)ptqf-lg0EaW z8e}ch%vMrck;FdnimypK5e4R9q)3?)=-*dc1qI*BMq|_V`yFpH<$-9wO19Z!W&l)! z%Zfj3?dClG7fUF&-a?Rds&C7zeHRWa>NaY(X+-sU_tYQT231yYZQbNgcKF}Sg{Fhg z<4I5g4M;7A9VXnt@B;x$#?H7ImQE6;%%}GHBza?N1-`=Ob=% zbv)by&Y!B{S3q;~{0T$F%bl&PpTKilTe~v_rU*AiUFg@)^;=8e0B__kM{}1?$Qw7| zD{R}!3@Qv}>ktG6EkTOt9@U4-W;XmW=<)LFly3+~q6S&m2K5bkbKl8}&}pZ9)utL& zuxL|!-~XoN!}cK}E2PpRO!jSc94Kd>{1}_MpHrI39Teo3A(TUrAA})mvQ?vyo1q!YhxsWe>4Df2{3)=4? zJU<;=%m#}XoOl(h;;{e37lwW8gLTT_8)slGtzQgNA#@2};FgT8cqK;ynU+0_`qj6a z!kwr7c=InE(5iIj$fZrjuJ;QOKqVCsk|k(5q%9LvgljUMhxXqkcBZUdjd%4i{%g?F zR4%O)0m3$62oPpuij^PQ%AZA6sxM>EWhmRvI>+k z4~13)dIIVTVJQsRpDF86jIa`le+g=09- zl9lWv|ITRhkXs15sBG534uODC>N@@i6i!em+2na>L1~sZjgqN0 z=nmpNpQJmF(XfdVWQqgjT5Z$ycEy!QHEIve%v{#ej_`13qzNKpXD8kNga*{?kE?Kv z)6`qyi8C)m6{VZAPaZCMxjCTkn9eU*PG9+M;CNjAx53CixyY#g*v0SZ0F2}*d*80N zUW;A$z7=nqK;lFqC}dB$uhsqibp}g2LZg7%$&Md9Wuk(^oH~}C`DNpfQb|c^ajt$H zuYA94W-Ha#r)~&98c}$D-Lzl2z09Ymr^w>LUJYDopeH@acGJU?PyKUuB>uG{V@c#YfZ4yJsnmBoM_Q>O{4K7nAHtU2gkrx8MqfwZD-n(@>-!axA z9cTF)7RIe_5qGfyg+FjUkxlBk`<$eeb>G>qbTQU`ElcYJuz4J+~lb zkXP8r9oU&W(|-)s7Du#F!zW!)}09>wg4Cqi#fJQ^Py`!na;*%$6rib529tfu~!t@ zLDKrt$vwlvW*6^O01tE>{J$R#q4XALQ0(M^N569b{X%*YTg_iiS$a5$B8g?7S@H;XfwKfkwSl%%hWT^C3JcCpgpz>WTHTeKZ{ra}d zy1*qx8*ufIBC)`L%BffwHsq%kg0{Ik#mMQa(*JtLa!>iwu-jeJ@a9fu<>cymWVAg5 zY5|Yv_{jU|cv`;%89LebTzuGfYX8&XR)dgI)UtQ4*qVB^Y@xm=?i*|}NASbRysjca z>zisx+`;1^l$N$IXI_)Ln5+>j*$v8iokV0C53vH%CPyu%zo`z_guxJVtV`6ZE$yf% zlIEo2xt&&F(F4&*YgU;a(YvTyK(Y@8&jyv38I8z$&3ceYK4%Cl=-^xH^v+Zks)oxA zII?wXnDI&8y>`sOwJ}2nvJ~0iwUXlN?%ZB>r1oMrZt0xr{)p(ug`qS3%po+q9R(~> z>lM=e#V274hM}W@?Wis?(Oz$%2k`11K2e!CT+q^%I6ImNMo2(7%%sbVOuaFjH<#tz z+%9EC?H)8(v^ znH^M7j1K6iiYD~QXn?xJrZ;!GENsZcjI_|#gdoK(O0~k0DCdR%x8B{y^x<}807HDh z=i?Or_w?`vt^9N975*D!&9cEXrrW0c(-wpT8X^`=fjgrYwm&PjIlm zavmS<`9;%^>6=N+k#(^jaE$4=lsvI zk&>Pib~*0I)QusGKpQ=lN5|r8$wJvw?xgidr)0*1?bo6PQ&OjqqQ^S8^!2jbCM zujd+937&hogT36MP#jB|ma2j-0RyzI5|_rw3wx8!ju{|K+OZA7U}Lyn5Uu|E&8Z5n z9nq)~9nn=TdO4vP3Vg5~xTc$UbMf^D2dp-#Y~)XYI*iesIPCm} zBljMk3I9IV74(z4%3qJ=MU-D(#cAm4YgOlQk(rxt|AByvo~~KHyCIS+{13FddByvT zZ>{<_KVw@RBb>hP?fxKb0E2VnUM*_cq=2xxjQM}LP3~;Wl}m%$8ziKy)6RXsHxV*@ zYdw*FNqD!$1o$ymDO=6jdUw*W$(wy7_$l&bY_Z?j+9I zqpc-uJREeo+^g$CJx-TBpt>_H5z#k6`-OcOgh%s2R z1bG2MTuTP7F-;#Ka@4ZNMr;EC_j_W0<3LOPMY7jd-@m9<>srYMJ+zJ?rTb+oUko30 zfdY?Wvuu5@z(vCQ0fERI>ef+gn9ZB~JSzhR0I0$gmAFY6ZK3y`h>S1BSV{*iGTx9D zSiw6VM&7zSdg5TRUp#6w%>}I|rmS1+=TDsRkjbyS%cI+a2&*@I{kN!NUz}2dxY%h6 z4A@0EnepKGt!*l#bnpkmq*RfZMwkW!S+V;kl+~^R(Idlb!Yft?l_Vs@X^X4p*sXBU zrF6SC0H?9>N%$go@VP?*wD0SqFSk6~1qNc~E`Pg#)Y47|aC3{r7JO}j0n-AwQKJxu zbyjyL9|f38by&K^2}RX*R^qokTGdn6zqDxI)LT~;=Qy(oUF@X9(y)^w;vLkL^}DR(l(Ir{ z$MYSN?eZdR;3%Kv19Fz4Dg&ZT9TJz;tEbDGRW9TgU@Hi680x0ts>5kdqAHv_$P+AuFwOEi~{vmaye?jg1n>8VM)V#1~%co2!T z#95NAc=`U7+O+0a)fQ&nNtm5J9VdUjnHrQ&vWf+|Z#9NO=K{zYTFwy!*h_o3SOZ2N z9666qCVR5}1Gxa!I8zJucingQa))x$2UU9pk>rc_moT9`HS)M4Z9iFkS@WHxcmw^YUv}yZ6_{ z3#HW=@X4+aeeO<><}V;g3`W%&WBs3jX~fY9k|*yKW|n{02VCdJSe6!Wp|l55?lGTG z2oz(>#u>v1*-gKB-Cg9iL<2$U%t=mf1I4SG*jyC6gPQsHk<7=)D`VRSEn=}H7vvrCpYp1{`a|chV z_LOo_=oPS|D@Q3g2O3Bqprpt@PQ|cMZV~n4Azu9+R)inFs0-h|_ z6aA5>WGi4n@9O=T8Hj=}@!puap58vD1nJAk`Co~DA_jW{Hh6XebOB%!O*xB^#I8-3 zZK%qf1WF$}ugsa(Lkpdb-q{+>!;<1TdvEENV8r@L_pR+b>^kwd4C^$UY;uS#M-?|a zzz9Pjl=eNjH=TF?!&6Ro*q~}vs}yT{ZH1MS2{Z|a^i6XNm!VG{%bQA4i%JoUjzgal z+H6VyjN4RpA~k3VEYQ2!0WwjJ1N>AR;gZLuMmxPqxB#bGyzM=sZyrEW9fc;ROIbft zHsQ!$xDmH|0T9qm^S+V714B2pPNT@*K%VST>EUf}{yC@EbewHE*;jLTS5)g|h_#56 ze2TcTBrgmj(}quqn+zS5vsI#F5=uJC{|TQz253FpRu(b?91;K`Q=b+QHFIw_B5<2V zrPl^HsLDF1BFQLM{=BmMx}GK**y_{5ipC--^I3NGDs=p%Ki+y^MuBsvW}E48*aU$h z_*zze(-?)SJqwl>SN#WyWwB!%wV3e@;A+kydIIlqA81Q#S?ECvwCbb`0nYh@OW*Jx z)GI(X%*=`tw;;`#q-!UbGGwgMAgv!;ms`**yWa@(iwBANc82%muHzOXyp|W z%S%l+*~HQC_P~tDg8I`*TdKr@;THgO8TX$7-y8-@p^usUfC4_yem;HC@OP$ZDh`dA zeEj4wFLITYTy5S;-1jy62w~i;sZC>f{d7c!8t_K< z^&*YmdeuaLR#++)3+4n;p5g5Zv8xX>KL8e12gh7=*8bpiC zqm>I&X2!&t3@D^xA11NJt*wY2=M)CP+QVm$rNXQYRahpLlTQi<_$AKincF$X##&7KVb?h%NMtEw{z*B z9cbQC{I&-1d()%hsTN=RW`$zhT`%%C3DWZ6T)5G-S7B9-Z_L6dtY~vaXLQ(K`)fA| zm15#Vl3+!fu{M?Z^ZlC8%pBJpalxv5&u(>qmk1rXDFXA{E^-IdG|AO^P&ROiSm`ny zEvY#i=HGwqYj+iT#%?Sf`AoO2=@}F=g(ur-bL{U6YtF? z^h&osj(1P3&d-rH`C*4|-Fq4>N>TjoN|f9B0z|u9-}b2QHcL8UA=817MvawtZG7{6 z8_vO|ZX(PC-DWqwIo^UZGt**Ki%PCvm8qi9AjH+#%rlqwtEc`hqK2@s#u#n+%+S>* zxz#5|{9eHld6gn#)hMW6x+TG`C_eURocWNrg6O`6@3YvxYl682Ksc2%eQ?v#x!Tg;OjnwmF(+! zdf?9wL9f!%rfKPEfF2RNoOB~3WzUtkid{UkKwb)b+G(^sedIHx{wd#X6+pZj;YY5u z(FXNafNQ_4H-G`YT*W()4N#7Uyps|qhTDwypZBbCY8&}A;jXXQ2%(MCKOv4^zyEr; z{bi@=EZYke; zH9e&~Z1$wAN>J34tpq)u2GH}E=P&V5`O*6gI1)}rP;t>O>3^Uvj?lNZzF&-t{c68A ziPqn``11M0+U&uaYK`Q)MC=A-1(qbA#VsX|AMU6Fvk+UX=oqb{dt!QGi`as5_dMZ+ z-8a66`8ZivF_qUp#{6nUX{uHOP%c>P2DJFqzs$IX=e0Ny7~6*b;a~|MGQ`xcK1PS`iYC#R3Qhg)6MNSP}tM=TA)jjWnZ zKEB17y*Tyw5iqCmhuHj*qd&L|;qTiI1?pI(gGD<}gUVJE^1{i|MWL7%6$5iNq?tv3 z6J1qsU|X*+--%_brNjMOw8c7)^9u}WZX+zylY`_fTmeeI!hC=s3*JgcMtn%;GP+ikau-_Wo{m8Z2JfVW6I%44V8Dk_eKB2|)0sNOXD$y{s|ZZS9Q z9qwzO1{(QR&HH{jA>R+E%5EKNXw*Vz){($NU|f3(&zmJhe*mrT=N3G107z>YY-80~ znj=*I@PXp#ixtAUb@B?4s^Ey^Gl?yGZkI=X&~6%33;Z1jW?e1u)S8m3+LZs}*n?ad zyO%NNcl(I$M=H?3=(FyQ&Aa`LJOEV`G5WB!YCYtrle2Xxit$p{+=-8kzVVRplzj=m zGk%Pl`fwg~U17>LY0(^rG9hEv8;^|u{$p=c(cMEYbw&f~J5>@ms+}qJ!aF;TMb5m= zNOcxh&KKYLhS6RFa-dzO&U8hq)9^8l*s?^-g|--AR2ViePRPxrShLF7d2onQUOmk+ z9^vIX@MHF+rWGzm1KGGUJ8sB6s(SC!;L58|Pgy>$8q&6!%&H(?yg4jXVfesGkO@$2ZqdhgVQ&gu0Q1hiE3*fbA5ULG;ee@%aE`&N zz&@!Nt2e#&q9zqQv?%a&G8J687XS3h!xx-sgNlPAP@qz&OgBCiERy~#^YK?DP=9<@ zrv4-^p%}Op6b2Oc;Xv--&Ukl2u;XXU`rYg7M=t^7#%#s=>hJf8(naxnIl4sSleKu{ zWlX$9<_r72N!sw8?P0RG)073NuDz4JL7*r`!@38R6A@@|&>1y{;X=_i1v+vi`3`J` zo@SOWrp=7tykEluweJiym>uH~MiNuwutwn$=ObOKYI9l9Va}2bRzz0sr|-vq)C_8t z3`^O`)s0O=w!@B^vldIoP>A?h7nik8+joVPi58nr&O)KooBH|XR{1WRXUBaP^w9q% zA~$kSfMKGKxzmj^RI8>Y0rMrmA%As2A>Ix<(9gL`y3Gm>!ti|k{;gY@usYpXc|*CT zOBIUJjtsJ?M#Mq2rxG6@XyVo0hiUkMZ0ao*ui*X{0pHI_JG9&JcpdOX8EI@{*B^rU zC)#gbUu#NoE~Y!fwe|Z7IWx7#8hm;afatP{S(5r800w9Jk2zISV7)ktE4$+FQC;^y z+|viOcq_GVcP(gLnNR9~>jpI40`2kGzDf`m5RcXk)|L)v`q<*zotbe} zb}<-jah1II2Q5yt@P*LfQT}(`n2Znl&GG<48Lai~R@k$o+cJUfgAPLsuhKf?@cG@h zfuD=JwlDZzGiqVd)wB4?_r8LRpQ{OcuJS_jqV%xyw*xAee^B~!D?MhG1li!8@)GX* z;b(_Z7MQ@b0Dxp7yfW+F(O&E1yY-fzj4JgD6x-6s9t1`oqQ_-GO_dMe$o>QMVmeF= z1iQ|aAbOJh*c{EJ7YUr-hDu9l1Cg4B@5XT@Q3&FvyYac`?wiqoQ;HR1{Ju z{n#HAs;4Ga4uO^`n0qHB{NP240&Y!zI`zd~!={ZVIoH5NTq_%=nLAJhe zmJmj^qqov2)zzun` zgaeU0Ap%AY(w;v4?e3oG36QcFJ?Z*uq3$V+Rp0vQq9hf@n^yxx_x zb)sv25Z*mi9R$>VocQr}8PvI6k3V?HEMNQGkn z>pP>QCyo8OJ0wmCaIa1-*a=dE+_KOaFgwLhNT$76{@@#LcaYcz?0@fGMbPn)^6i_B zf{OCbpKtd5v212h>PI)anH}@GNb7e~yn0L_`5$*I?rr6oo zbjVD)3ElhDk887w{`^7}!I}Cdy?eQ3jk=JFID{ zy+SJ^HQE*+17*h7HQW|NCgIC>qbJ>KkZsChY{FtuW!>a2?>Z>4$CitT0j%hKO#f8V zp2C&P0ArVr9R*vw;sqt#!x4Xh>e@ge4Hwnsjzc$0R9fH?m}N{DW^pwp)MYUqpybIM z2t315WxX8g`rUc~j>mN82*GBmvpGDMfJEJ_8mrVE7P9q?O+W%ibnW$g;`Cnva%%T{ zPUj8`+#ByrcQ_RfDYU2%zO=KLo~B9w3n;7W6g?Uk<9;a~sWo&NS0Sci;2Rouo>}DU zqaYQ=9ItM5Wy(wv!NqBO@D>jN+Th+aHU&w(h^<@k%%KLcn;gO!Z|#)q0hob)rG;7* zPsn}xHsNp`U^S33fx+SMTDYIrgyF6iI9$v|Ktlx`WD55UJM5MY_UjnUwviS)!-IRH zQY{r@z?dWphkhbl0s~P~o8F`pON%IxR$dC9n-r<;XG+Vjbn*4OT}OZZaFrMEkTcn? zn1Q-rVr$wC5l7P$#Z)R~v^Z?l=*&p#Tibx%AqG2+wInZlb7$1^cCRRlYf%MsJxD)| z%Z_$I=p0HX5iojU_$y*|jgOBncu(3mPIwYxz{vOH;iaB}ic%2G8S%=qk843U&$`Q^ zD&Xas;LX4w{9QVDAi<(Qy4IcU=zB*p+^j_-1(Vplwtyei!6qubaP>^+xjU0|d>Pk3 zj9HF0mhE`5y*{dIB*{{~RP;9GN5>zH*9!6myF3A*njsi!n<~aU@nZBB0MF7pDDg3` zB>UwJ&{A=UK3hIou=(Wv5##=Cuk6i%!z1&&)ct5IDw*Pp&BDlfu7aetUK>1p;_4v% z07qS{%MCG_ETB~O%xOK!a*NrO&prLD8muaP3)klPhG4{4!m-@xf^(&H{lN9Di_(D* zi7`QaB^H>7OQ|LsB_aTarxB>Crz^3UOyR9HH|q)JAXjr=yf(n|y{WngS?8e^h{ ztulRHU)3I+<4pETSj>o;_p@Do5*7luEIC2zQLlUr9(}vP^CpF`Bw5!^y>)Lrp$tm| zZqGu*0!xjhK_b4j3!fyY?n}P%AXZ$Xx9n_irzF+B!~I8j7yZQ2m4<2#^s3>*bbZc5;wq1s52qU2-lGlTMiZ8-CF zt($bln|~~4;7E+1hwAAw+jZe<*20JVIiG)TBvL~d*%~e;wtjQG!~2Fa0|Ej51kFg$ z(JTMmRQjSZM!mv(42mVgSY6lz^)4lIiuZp1&83K&<7acyPvxXJ5!>Yw_E`D(I^l!` z;;M}2M{w@zWpmii!lMB8KkBntKL(m3D9)&q0_RD#rNAq2fx5rbAe;|M9?y33nxlS3^e!NGKUu~r+ur9~#N+n`!paqKoe zda#QDM7cK(_Mr4JMVDP`mUa|G(q0oM-6B(u&{EXAyuSFW?zg&0Ors^B*rEE^_1tr` zfuXQSIy5Rl>w2~cDW{j|eDEJv_ll8zC0fN) zR@!Kv%ypWj2Gclh@AqZ_kVn0jgs>kJ=j8tf`b*|KGQRWtri;X^*G|*4$9D=OD{Ci@ zyn4A|`{fTht(nJ$Npk|iNjda!%|CNDI!TL)A_`3vE%8unh^x`GdDup@pCKM|uf@tQ zdTqnZQW5b5o%@y`Y!jRM0&zAep5L}%gRkGxxVd#uG0p@!%)J0i+=4JmMO_c;&kt*A zLk&P@dblRrFvBcD`xwAq{VQ}(Q!k_v|26031W2dX-z>5L`XA^?ZXAWuJdH06uilxI z=(p7VJ>6c6#%#Yle86F}A^YL3f3OLw>iTN1hc<6+miVY1Nc8xsoU=ZQdr-VUo%?n1 zMpDinXY5KU0I(=fNp!G9taygRJ$(8y{vVZ2G#Zg)#OqtIpjO5gTxSzntYgBo7H9BH z=gkOVxl#Um-X}XvuNiMo)7GcGd05sL^S!>JXIC171~mjc9auS3{nR6^pgMur9w-)K zW+|D6%KN{*7~7Uv5m9kT1WK%b|a1zicQBGM|r~rSy7d>Bb|J zfX{v-?3U%onSWM5W|j*yd#&697Dpq7GhA>0Sg@aU>H5HBLxbKLhv$=hJ*lvLCzBnM zHzGtAU&Z%JaKb2~XgyXo0J14TWD}`6qQ#QWg=A(MZeWuWvIzu)#meNJ`wu^ka{G4h z4)kqhFTq|Al=Zc+QNGzf^ngxvuOG9HGoTgU1~A=VO@vwMcSc_fqoHn#S@Ojc-<%kS zuY6-``I`Ue9A1;n>{3b6?FPzL!)}Y z$94~1)eu^A@xH#^7F!#FOGNH`@o`)P;g=uc?|OKfnQ=U16xkGhD1sT^<@V~zBh+us z#k<>L%)7+c_Q#T=SA(rqjl`7`P>VN#k8mB}Rg$i!-J+n<`pc0=P3e~n>oZ^(SV9X| zB7s?n2+m3`-FFkdoTJX0b{LJ@Ln?>I-3@)a!vW;EF3xDkyf*|(%#1f@6%~XiQ)6dH z-mf%sA(hvH$I2$P_WpeUGIo9`%cgo-M0+U9FF)CEZ!p3h)IQk>u*iFU37|P0DwhYN zgQyaa2{Fspqu)=-(Nkfu{qxuKMPQuREE29Lbn;{X88l=VhBVD8lXJZpK=hi>QdCj8 zYb@$r5EhSOq&u9nHbG)mg35QFV@`;j*Z-90{%ccRpaO(&(V|mNiIJhRpDwKNbhEUz zZqw>JlaeA_xj!G2y5L7It|N&9w1=w`u9s1<2SL+-S4itrO?l6*rB_|XXh9@%r~5E{ z_Qe^sY!ZeF+Q<2Z6JVpB~7FI9wXcU?*t(JiZ0fY2HR) zM$N3`_Ig1=*be4$PMhgq-&+fV=@{f7!Of5TVB9i?Z^5cK_bW>q^!>j7mI3$K(jR{& zSQCNPE8Is~a_#EV#!y`*A}+5vho`s1;UWK-%whH3iYdM^xB!GJuvM9U*{+)NYbPO( zoULwWpD6>Zb zz994Qxro3OHN^zJ>43rP^Lxx2+PrJPRL$4epSIF?(=z``q;QVHcDBv+NvDt1TrZi9 zOu<=t4Bu;|diC135~=aX8%}m08igIcw;>*Os%8&>6%RDe-r(HK(@90Boj#n*IT_%7 ziwa@U0ghl?qFy!{2~#a{zy=vGwv_32DON*=97n{Ip0Z-t-NhiGfSqMANw)_x$){YqVIhD~@wL+b01y4&4XxL6NI_-0wh`x9Zq*G9en<9Fnc3Lp#POsa9Oc(mGkwL zIx<^jxr(aUqn93v?j%w&_srC2;$79-2%Rw}U0HH{%Agkaap2>7?*bVukhl6Zo1CO? zv0-KVRo~5sEPvB%s%K1F;9|vx!HRSp4S8Ix?FTONlr6|w^E z{cUQRe9-E8K;fgh3ghATk8(6s_>@#f8cpsd4jJL5IxjY=Oy zT$n)+CxHwU)aI`EIYhG#SWmFEgdUF?>%h9lM`bR~dazXQC_$j+{C5f+M_O~=`%!Uh z8LG1mta{_&+On+gQfA>T%Af(6rIvCBK28$T5=(QZZj{&Vz(kQ^Z60vF(8^*~5Q16E z7*;#JlvV6Nq&VU1c9G}7g$k!L<4!OKLQkK(|ZSi5*5#ojNJ4 z_ehVk-VXE>L12*qW&Oky%e!yBQ%I6yQ-f0RQLnq39&G*v270w2Z_%sjCR=oHN5pX& zP3SEturCKDBS2RbW6WkoGgKe3_}FFAK}lS|)9G(6LNNOJ8JUiEMGEk zrvWA=VK9x9t~D)GVEfs7d`f9)6%SbSY;S1ud5S&PXBc1&>~F;^AbT+Q z4|K2wc5umQgF;Mu5)%^&{5#+A9i9M@#RkEdMz|%g5voexMxIx@qm%>bW7nYyIg;2m zQ(AG!-=Wm#nHcnhyE3Cs7tkZ`{}i}uf+VfPbRd)L#!YE=huO7YGh*-WSiV-h7&Rvd zf0~+%l%*(<=h8ui)vp3|^4A+SBAbZ4-BAT7-7FWJv{a{F)Ll`aEgK!h6ad;oG&211 zXC*0+1-`zJ*3w3#W>#9IhU6>}+X0S4nu1@fBt_Qq-WavZSUJFW;WY#Y!k(+xQD&Go z5tEXyMfY(Bav2%(dR{sY^j=|81c%Qw$w3gEk-QG&g?0oLLIbiIkMwp_mWnG$)O-Kh z+gw+`%a&e&r9&b4<$8S74<5YT!Z{*(=dLTCvOY1*NbDxQUa&{yMON>H?g3VIca!~TD^A>!807AXU4!2m#8B0|VlLkpjN%j8c$na5iYqWH4L z%YfcBs&(+~q^rCCku)ogZoW9vZD}$K7yhd5!-`i>1sY{7(g`pE`hh8mfji{)Q8MJz>_&S(@nuKN+_9)AMLRlgO3rPd*8$5q+;TPNNsW|mZA*6z47f@#J$m4=^CG!5uh+Uv=GW(`wt{oC~f-j8FE$~ zXs#9;>2Fqu=GvclH~NAKa;Pun!7bKluI!@#Z|Kg!mDCJvE5d9V#Z3y|1hblB65OM} zv%n(>yTKSmWvzsit2#cwpMZ;X*Bfxsij zj2o{cVNV(Y+vAQSKb}D2P=4tfrIqDYb5Dgp!#?%`Z5bG9n>nK)ta-C=;N@+Yt`n!* zO|le#{0O|SIphZfuJojDNO{PWK#i4+kwZBDYz4u|WzzRPX-(gW+ zpyCQcqbK{lV`A(SXr6CYl8KVT)X$iWJh$%E6Qz){va!Zq-=WPR@YN(!duujSUcPtS zU~pKqZAL`oOPTlpBJ);xCV0>~8B_H0J1Z*pLsFzRL>njo0T6~?V8^E9;2nJg4Jd{e zpnm9$oouu`bT;DVfPrpjHki#31(oi3@w#F69qXv(N&4vFJ&aBj;xgmpP$l77Dh&@Q z{RA^U#h_b)(*_T__5vo3k6DFqi>3#Z{KyckqnAC@^c2&qAguaP198cZjsVF(rzrXD z+6Bk+!s3rdL*u6?Sdv7f!9BG6y(GV3`{?28sH~FGX?tGs&;ss^4`K7UQ*CK9B0cO& z(#_oKXvN~Bo49lzj3h<@eQf9com+1v0#8d|iZP3fPMTo8xxannzSfNv-X~Vbb{(_i zBKfnK#lN>f`V6vhmKU=_Favm7ZkXYH56wi$`dt;#PxC1>cV=AaLbTaN{jB@NVf8IC zR@~y_GtLwH_Yax=3X*Gip9w|EpXbR^_{GemlW^j0l>~tp$iu-W$gqcnGQdBtq=DLfpNcnDCy(z*kZ%9aQKJLL2p&R1a z^o8|;`Hc`PER3V^sFzA)R@!rekLsx*l0bZ|p6Vq%jex|$$zGQumuZkXz8q`(P{fv| zC!N%|fPNEEfI{eg;-UhEN#6_kPxs_iM$h)>3bedvD>_Q65)!8l=h;Cvro$(uWis|4s+gavA zRO~a;<>{Wuk;m4AEI?$(aQ>zlQKN^&&5Qu@q+0W4WwPAjFLkS`XvYx|Gfc*BhGL*v z{x*fB+Y)WqoLEJX9NFmk$#9l%$ga5sL0!38%#L=jpMlwF`D+?{ElY!AAkf@N_vM9k zg7djkXHN9LJ(8$L-Wi7OB&3ZN_!dqK_rFU-Izixu6uO2-l9e!g8q(0c8#ZGCMo&0u zg#Z+FFub|Lq*iR>p(-I#=^KvH&3nCZor`-b0l*ttx6Jd) z@jMr_nw^$v4VJG@8#-fEQ9TIHHzGjuyzs#gq%GC;z0ZCBMWNmp5Q|n?aL_ zr(C-GkFyCZHIO}bn6f6a%-*-_2kCyw?o`p*i0vjY5P zDBRon>K_4uD0j(Lfb?IblKmT$z}LxD_j8$VdXL#pr4>;(*$cF->cs;$v=ql&mg>5x z?1G<(h0h87`JcU=M}6F?-HxyKgkT$p4t9_q%Nc&e58ihwj$gLgcm!rT2;@nNb%>Ms zzVxAI&rtI^)%ASI!s(j4_v}VhxvrS03T3hpXQ{it8eRAT;s03%JY7i-gFE`3d#JlI&x3>1px16IVbSN z-KBqRWfCYb((mr$cV;qDuI|skz5fkUH%uz4B-*1#I`?czZ2Mop@GKR!3sSk~>2TOz zciB(vkBHKf78oOsXt<$uxXeTTr(Lw;ze0Ms^WNv`KnpUCqi?+g1#Z^XIi`M3+S;3S zcx zjQ3mUsWHeCh7Pz7EOlK4jw+MBE}NM@0|)Q)>*52@+)mrAS-zdl3mUG)y19qSq**TR zH8VNEkK)zVlA4~_+3~P-v!_uzE`H%ubd}IvgETq@EdsZWTT+8h8O|2$KYzkD48oeD zlDvX?-lSNT%~+`nA%M0Du={Nv?15GgJbSm*HftQiD3H-%A7L?szJ;eR8TJyZ7%6Dp z5qQnNypsS1SHhA7n(uFRZp7&xL#y7u!sc_p+s;gvzFx1es2j?ZKA=qi4Ek6hv|KNW z|A~?pD%L--K%d45xR3)mP;}|;dQ6O;|3|bG&Lc%b21mKOUQE^3+Zp|@RCFJ@yc4`v zWy)}h6)1gst%v8Ax>4KU(tUz6|HJ(5L_HChy&Ale02kOr#}L}WDB74uDQ|J2^-!g-~ zy;4@%%t!wlgPCzRJ5>{0Ewoz50ko4nVSj}md&CHTC&t<>%{q|8bSsbPu03Oe4Lh;| zl7LJPU*29uDpx;PggiMrKm*8xT9FkWI^YM6V{IO+^xWzMPmi+i9*x)}tFAC~fZ4B5 zXvVG}d(WQACX?a%-7PEWAb@*pY9~2@hc0&~{pt3@V0LTE%ZU<&76(8TD-Qd8=3aXJ ze%wJt1VsL20^fiKVw=^S8Ofr`k3u`}jN|!_tc@6Ht<_i&v+sx9wDy2q<1LZ=I~(SN z%)l)_p*5t3d&V7Ous8Ark@8|Sm=j-FZEL&M;MeA7kH2I<`Uq0YYzJBalGbzg#*>-1 zXA*eWP~c=LwYj_co_-Fho~?15LZO8bfbP?{8Wvj$*LkpVDVN#Qk4@dmE)Xr)bM7~h zw=jP6V~xgc%pFm$&V2x8n`b62)65$oXaoRR{H6tTbfZc656E89AN=*DGOgk1f~8&a zEGq1ER7=TpGspy_W4S5#!%T(6j0EvB?4xCjIXi>pRa0$(^XsT;$w=0~w=p(hB)=)b zJF!0;R$TgmUL@#4)+Wr%`xreV5AjX!KLw}6v-5}!mQobfdBPo4N+&Js#_PO!9midd z^$++E_S|b8u&usPH%s&y2iJEx&;AdBS&tFm`Z-^QdF1f-1}vD<>K!AgK7x?bOL4e< z&AIvmwARe#K}oPkTm{!BaUmh zZEDhafAH_Rz^h^!ndoB5k|a5QFX8W2*tZczvR}ej)Yt${*8tw*vUByWWr-N^d+a{q zKhUl3H$t9lpEb;m*Igs|UC2nzGYbFVA8xFd-$Vsd#RfeqL4BAg*69GTcIy}hihb$g zU3q*h?5`-L3;#?+C-A)S@YyaM)k(JvkSIc%v&BKv7GQ02yQ%v?fT-RYxVHvb6tUMd zf|@N1E2gkMEzR;~B(@Cdrf6?-M0h53g_YLZj5Nn5tCJ_=gcWUKq5!zvN++v-;0MiZE=+k)%JBbACn+E~FWzm)tR&OBv^0_$#guR=8Ne;l2CJk$IC z|2LDRTvXO+%QiY>sZ+;Q$A-D66Q*pT)R82dTojqP+`@25Y0bq*%?!C16{%b%HFX%B zm`uo3vejHmHX{1`Uf_ZI%=zHs}P5=7sE>yZc686hEGD zdgN2{%ZReev@`TEX?G!ylT0}`K21UXr!l6OcCS)4{DouO6dz;XSuXL0Eyv9Tao+Dr zI_^mEU^8}74OqND0iGb}EEB?QB800281UTe&lk~A@jz&6iunTk|GpuB^q`4rw^sx;mXLU^=4k*~8 zas#fN~*Z@Cn8)L!Q$ zfbeH8!|+{k=(NhbZq-t8om2C%xT-mo7$r(-(<4tmmiWtFN!YSI@wybQnZ%iO-JGml zN7mMV*S8E&;-?73GNg@8$|9`$coQ>){e4;Bo717hmACDYgzvaEoAh0SdwFl-x}V^r z5i{Y0ydFg)lrPp7(|>IGZ9JdJ`C{-{x;{m=ZBZl`*dd4Z3q z6KaAsWd-wi*`&WiAL~39CspAz%2_HVwWNKgH;hHu<^P@-;%mXD@;|gp9{ouU(dC5d z@A$gLkeIgX$Nc=2mR9yCQW!(Pm;wrBDkr7DEt&52w3&Hsv4?{);Iz@Y%!2Cgz-{C| zh69t*Vy0a$m&5z(3A3cxR^SqGm>$9kn)iTF>;lD2x#ivWg~@rR_OteX&;!%oq=+Yn z0F8Xa^rmZG0Q(dvi=Px^zKPh<{6tk*;t@ zQ^3FaRXOEIG&!>A=uzhQ>y%8snfYLPuKog#$^=KWZ_LuL9<8y2AJ2to@QV##b_WkV z9Z&sUiswF(T2^-Pv~2F<&_7H21wD^_4`>*s=?dznpIDHf?)d&N+fjEZS~|IHJ_o{ z%F>5}!E?J4%J)22=BI2r1~OZLjjihS@%E-7aQPJe%nnSaRQ|!gt6c=ukkvZ@r2RUfvW*ljMK$$$ggwhls=OlD+qIth(41ETO)3)yTb^DJqQhEN^u4d z%rGZ~)OfbUQ1T%yZVVkc*^elJkd{QBD4tsD8C!KK zy-rk9t}C}h25r`KdPkF0(N4q*D=-t*m*qoC!c>W@Bpf%%Rz-7XFt<&d+nxpHl7Iw0|S~ zA26*^w@tfHT1v_Ac2~FI)05#wciUC9OyYh8mN4Wn-;wgDFPD=vf2y+m@|n|=V@fpr z0taN1MX2(uh_Kc(Z}*5liRCVqUt*Aq^~9Y%qxp-jN5Y`r6P1%z8Ua7D;z~a6zXUry zw%zU;VVr9Q*U!vUcDlzjYLS4TyxekZb=+uu$nZNQ} zYE>@(NhRjB(jBlPSIb>T8V&qHb*$ z>^~)QLpte#@9u%UTRWyZ-FrhV!91R0votv%=iYvppLE3N_m#CE97Zkv>Yv#!B=EBO zorh$rV|8W@t*U^SsZG2O2$C;yea}?O7KYM1QD|tvl{Aaq)O|CS_&1ye8MP}&o~5QG z?dP~5YC{n@IsfQO;ks;Xf?9S~16o=@4#{e|gc+)B3zH(d$bj|oR<6HY*dg)>u8nEj zUo&&3_;I_q76(#!=m2g`)IHcLB76H2oN;s?>}J4ZG+HKOQPaK7g~ccC z4Eha+sk&lr=TD^Ci)nYXlVAf?6lgY1W?t9*^?=`vP#2*%?`GQYcBLxX(|wv68_ z4Er){kNTN?)n1jw>E@T^R6fymE7=m^4Ai_O^95CLW0KnTh^IR2a8veZb^vVvyfy75 z4m6!^&bTW}C%;I}<2%FoaZ?*SLNEQ3KQp%>6%$UI!j~l_C2Q#lEUYK29}H;Q8NXpS zN-a{8?N>dJccl0=8n5U0fs>4D#Q#C^;g8^UNhSGnrdDojJFR?E7uN@WL0&-#s(~4d zMTZT{78|MdjO zX{JR2;=2A>M7GD1t+`Am1B0p~xXHsVgJyx6VRwpEfr^xxVf=gviD{YUCe{DV*cdHM zVbkRX77b#%!~EXC+FQi;P;f<^!UNBfvpVp7FCi;;yvk`^m^*mg0B&0%OL3ugnJdID zolR$rwA{`VJ%qHy;^ka3vians0Te_a26wHAhS*eGr0MXJEp2pfYdqfOdZ0N zF+8&4yiVzUC^O+xLJp}8G&YChje(?0p(w0t?f25KgC^ z{Xir>9<3*LR(2V`j7xXmv3&ij$8)Y}nI&R#%mi;0f0tF>Lq}{>0JPlEf^4uJj{vB+ zo@dGAFCYE-5ecVZ^(ySRHq*9ulC<21$_?A!-)y6bDOdb*`6Cg=KPpG1Zga2FayQps zFn*vwY;9K!LmK)U9*<50ZP=i@wcVCpj#3+)TgY4`(|g1?MB2ML1%tQE8>C z2gPmVyBN7PG2KQ5Gk8zcoVf$xv>N|%SRwFv7su>pAK7=VLW|_n?$My#OXYE646NB^ zG~ zNio#<2v3ouP zM?Q08j_zr|l-x5NK?^0h2LLsFXN41UMWH@-4`zs5b5FZ3XEl<02 z{m6~XVJ=H;+gh|bM&^eowjH+{bxf-V`=407t7!z(Itg^+J)E@Z`?`qdR6~C z`}70edaT&%Pzkk-LJ8S?(>e1QdJNP#qh&h6>0=4=uXMw;Vx{wRH^7Tccl+KmckE@( z=I7|I_AuL;q9kuM{9*sTN{jBI-~;Ew?YqL`8GhOM z0t1wOz|ui2+i#C4XE)&W6~x8v#MM^)4*ftug3{IKXwAv1o3k7`L=b-M?q6d5Hk!%P zK?9)_F%#5>FiOcQ6_mm?AS4#g|?Fww^p63!3rA|165m^P`FT)6Y9veTze` zx<4DPmtD1!Puh#mIdm%zYF2W8$&E&U&b8iEj8^=2MWqG32=}JePlnFYimzzyGN*7m z%Kqezn8^4AYfC<5BH?Z`Xn}$eUU7j`&`|q`JTqo zA{uWFxb+&wg?@k&# z%QT=X1ZU67f z-m9}oLI~FMXJV;dYj3!f`{$knQAp3l5m0^C18z3!ilD7ehh2o<#}JU6!ImPPfO}YWZb*GtV0xb zQ6&|nc!gL3P;4>Om%HLYF!TSHK6|qL-{_eDkzEZ~PP@X-DN&DKYnhAnqs?AC#Xt}Ed(@NGh!7Jr@~9@Mrc+IdkHl@@1l z51`I#3^^L+)RVfeNwMP&Ju#DPpg9w-?RNMSa&#n7Wbr(3s8$#9{P%Nr7?M=tAIXV3 zEhk`cs#{E_$Z?2D7K_#v9#^V+DMOu;<%E5HA-z{hnA>yeR1-7?9cUweVd`RX8mq1P z)ruP&0|8k43fsFX8Oc_UJH$q%BhAQ7wo5a-h&?}smkd-R@I^<@m>?FG!)*%}9V66* zgxPMc(W?H=(>jwP9I6%nM?6!;{f*-Z=^}_>;ErhCj|wwSnm#hGuVT(e@cswc(ry9E za%2Ri^yD^gQ5$v^k?&=rWeLT^kgEBMU|~Nr%@0B^uA8<3hkey6%o12>Pc>eacyNJb!Jy;-e>wOzTIp0HGNOy8Y8g zP0jX)ITBQt71lUWxE}mta2S>xFCtbXihKU41rLwJ6$ot}z;EH;kEY#f>Y+|PsS-F6 zF(O;WUqn4^Bg(Raw~N+}>M-1!Xj{X|?89M#eJmi!sT+ervry%DH7ZZb5@Ubo*{?-(pW#OT8DYYpdJM{I0P}+4Gf$(7@DEZ(}*;{ z?GY|>pE z=FC@*=Z|D;a+Yb`T@SWRVaxd;HPvw77IyO1`&oOW=ZP=EGx%(?y`9*??c*KQ_AYCs zh;Fxj?v}SMl<}_M>%E>Y4RhV@^dAxABLt&9R^Gm0D}_x|`~UrFjz#EN)>@_-U|BcvdyWZT? zlTKxKsoSW;;U|K%aX1X^yQDd1@RxpQf47X!=ypbSY~~YeF66wQvldhf(hq6(Wo)zV z$@u}E!&!2+^U^Gd7mZyROS|0e2UsN1kCnSMYeDeqtvN5=)K%QcmWAQ^xWS6;sq};w ziW4L!x9f~3q)gF**kax<@X6mZ*a!Koa4eG-i0!?Dk~U1c`dD6qT>YtUwZNyj;*ufr zHA(NCLar>=GQ;HrgRj%B7j`wsy8}`8r+pz5L1!03#Tc^d8H-bvwQC3{<yIoq z;7XrioG6o2?^2&m2YCHL9^3RI@BLrlRW)&S?3;O#t7@|KI>qIdwZ`ENq9aX-2=K=&W_o_is5wlLe;?09 z%}{{Ewm5A3;+aCw=<7GSU2tA7qV7lo1kBPFkcdmMGji$fGQnU$}c z9Z+ivH|1L?ieWHZV;8>l)TxS6h3l?xialNF&o|y^xIRV`hV@#17$B3Zy$@-xbeh&v zlb=T%)iU+?WwzX6KD-M)3SZ&EG`)n824O+Ik`ZLln=gmt8x(v(&%F^6(_dhf?QXJCI zf(YS=nsZIN+vXj#6Gj?lk4n~*Wg`zy{qah#5)KEKPtCLH^=~uyJSGvCBmlqt%JaZV z*TyqXjafGJpCw$alg||Q>(3wTyqL`5udj5OI+LdP+2F&tyGydwF#z_`m+=T6wzk-{ zXE>g-)sgIASRe-tEWC~K%blQ16zcLb=Q+AcFin(rpZBicQ@yhL0K^at2vB()AO}2u z(zqIQsOT4B& z6>of{HK6-y%oft@P^k$!+{{&Tz>}qC?pJp>P#?^zFC*u37vk3;*$SbTis zv+i876m)y|(fJ^oDCtYv?83RA{O%qzdK9XiI6;^(?~b3Lo(e0Rugn;!oFTO1JMq=% zK=`mbg7M_{?C?Ylf1_OM=ykJ=m~y>Bt(TV4w4ks;7?VPrK)%Z#{WqcJu3tQSjQZ!j z5s6t0spP76Gy%sA)~DTuM2l5Y|GtRecU%{0{R6SqYAF2ug&BU9s~f)wHLy54-Km$e zKl;yu+jkqiN+yQnF5mSEyS6?fXJJQcBK@q_&o~oO>}Ksm;kd^4EJY zFYZN?cF~PT=G%fT1F##X+b0iSzPE#e1kJXjA(d<%KjFDw*0ZPkGF{$`Z|~BwJg`xo zUjycH!kAV)9Zch?{r_U`PNyC2FKV+6tPI{W(uCk%4wp}g5`vxN>p^ZeJt@aIep^=~ zh!qWD!nCN?$*J&1-M^~7>3$T5A7}Wn$X?C3{%!rvqlG%(7DSh#EK>FPqaTXePC0~z zwJorG;~CwQ`cIP{f^fPLxw2%#QnBuK$;^tyIFHwSPNP3&bUfHu)F@@zKIi6s(Z>>| zDD=joc_(Hf3^`uR=`H}v_o7|-pl2z-RMZk|gPz{&{4n^6-_SJ*u}((>K=7{Gqtu32&wNk{nfBkEXU+AMbxYvwQdOA#%cm=#jhe>w<5= z`xdPqk9NIclExBjdjnW(E9LYFz~k1BAe~kJ2=aF~@Q@Uie}&rZ+h)Ndjau&ZV}ZE7 zZ1iJ*-j5G%Xz~Fv=8_|*4o$^U$>tixe0pI~=^O5W{iB^=N3s&tsc#S#k+4jL{#v?k zM788zUUd;0_$D>2Guv(4dOay;PWxLD+B+spxwmccA~@g5?alnf&7Xpfn}l0`Bgw#4 zvg%|y3cd5UzVXZL?nE)(Aj5d%X$^In=U&(Kx!lp}`bL9C@btFadYo#M*uf$6fzNnm zKi^?h!{fSv{_kjLPsL>6voe$+kFQ1>N;@PfhX;*OJp!Zm?VGci^C__OUi;8eBGzZ| z!1E@;u*L8ytOzwJDGPQaM_6GMeD>H#U%8zY#hdCRne59WRUZ5J?ETeZc5H_j6p9WM z$3$xd)4#%PpZ7F1b2Ur4n;&N(bOP&k`rPqOjdMpYp8 zjf`x^p1O~az8H7%V3*}5CAHE0F~P=X2QY&JF~CN`1t3yp?0tk+@Gi!(a;a4Gz1y-g z8sY9rOo^J;7x%Ff*PSdBpPSndCnk4a)cJ4zEO_~}yL!M;8*VEoJ()ESTKWLiMr3qv zL`fgP_`yMa_dcgl98AC&7$(_c{*G>_aJIZfaV&t zzb<%YQbrgq@y=I>0neSo8G>ceSRR+(9&~x@F`1=aC{N-=%PT5ApK2Ic z-DJKJRcf%3-jx@9O0WE%C<7FXwOl+weD;pJMYTr_ z0X!Nnaz4qyPTqLX%(ZZb#P$vtEK>cP3V$vji@Z9_!Umsh@dZ$^N2SKPPa;h4=;)Hq z7d9=qNSTv7ph!qlx8X3G319M>NJW#?4FIGFks>e;I`AEBw6x$s``heS8z3@SAWMfI zJWT(gf%drEux`)KPu%4FuJ&r|$iF}gaS7NK)N*YW+sEXM7ENgpA$?j}abUznEN|%| zNRt$0%fmY&;V(yQl*L5)M}KELNh+ zZ<@FU!P@`tNT+%)xP{$d*$M=R=X9D|4Wo|$v z=a8~%qtfPhPTsbdExdpL%PT(?$#U4oDlIU3soe3=VeP6Rgw%$Y^`sOCUV8bWI`*Zk zJtheaBOxlJ$)lA*A9;lcskHFdXUXmIHP6}a_`htzWYg1bYG&3Ets(W%uGf>=5}a)V zV*j>=FywlW=rN{2Q8MHZj+$_`>q-~(T-{gwqq*FxGrdexqkuw~>+!L&0;5!U>;=ivsN0aE<(%JD={+c-76p#y|cTyBHi1q2kd zLmtkDqlw{(zp*?LcOGbBMoI-&+@;A3ZMn-&WfhJQq{>MeV!!y1=XiMHwjj}=I0H%AZ*$Cza2Bn10hAtOw23`*k~Jid z081IbHWbnW4a2G2Lan>Y7O6P&1{`RP+-4fX%FNgIi1fz-1s<*LBqHQcoV+{2c=Tmz zh%ZXUQnbaEz_O?*-xI;5@~oyetl+$aUBQRf6er|gg|Qa+LM^;t0xDUR zahwVA?u-ri`Ue?v2NLaEfPA1xy4@;lmm@>MzzlTJznU2b|NWME&Ygl?-(w^54a7{i z40^-nmck%7fo=9(c{B-SP&A(317)OeX4%;)z?HMw%?%kdLi(41cr)Fe94E%4y4Izl2ijri_qX;PnCaA7K(VBU8cOxvED6VKP%LmYi5^O$EQ-8lWLCdLf=Ll0x zIN487%h34w7qQ%P0-Mr+BWyY~nAezu7md?5VH7&i6ByDQ#Q@c2yl414J8{!qcj}A6 zJt+K7?;dyZQWMmaKg5omcQKv+nACUE$F&T4Bsl6lvl#xe*&_W)jG^Cc)`m%^$>H9J zA4AMk;&sfrs~(_hDR1A}G&pPyQUlAyFatK6;^1mj=ZhV&R&?S#BzWQtoA(;$gz1$q z2|S6lT%u@d&@_yI`74X_U(P1he&mw=g~e1M82lhr%dz+cZlMYyMO5A{#Fq@7kb#9( zw@MghlM(5Q*qzZ%v(@?XR^o=)S5LrdSj_AA}BXGfVtOt9kM{TUu#R*{h1{ z@5gamBGlo-XkQ>M>?^4meS0Vo8&?WPjV1iw!O^S@g+R=x>B|f*csDJGchPy7I1wBY zFzkK`O0-H;f)Q2YJ-3Ly@#%(w{5?b}n_@A0kHk7;F1qZWcJ60=vt?idrzzx>R>Ifm z-YCRBI+;oJm}gw}Me8Ev4&0hkttykAq_mK@H+NV4*i8C3oZeGW>ieS7TV2oRIkk^V zXX5b&6UNE9z?YbcXn;13ZJq9Ycm76(vruk#EX`y2i3v5czOVEF^Xk*@zDj*=kiiQI z5>pXc!nD>Rseapt-f4w(5FOGy`B12iZ2+#R=nQo~E0*6=cb8SjsQK(P3A8IhI3qPG z$`T^QhtQ5W;@WfjUd+S+r}|zGDlhzl7%6*C%xic}{7RSN1@s@FzW8f?erxH!M5oWL zLmgv)6@2jMpTER33+HAB_{1Zq;}kg2cu&b_@lI&invCy&FU8@I`%@M}4KL)Ks(oGF zL(R~(@zv>ePn7R zGWjs2W|cD{XeFwC7~-8qU0+_ z*78zI-qK*~cF($3&86q#lrq}vG4XHe!fBqO{My^1jj|0Q1DljijX1@SSbE5{V;GJO zG|X&*VV=5KcC++85jt_Yf6N?p@jT`x#%Ld>xR@@6ifx7K>YmODuzf)9@!Gz@9q-6$$GtQsv;RJS271wy2% z3W0H#6FA)^lyd87Uqf0=gtpLh01e zC_)E3lX5ZWm%gPfNnJ$BXD5P8=IcM0+PJ@L&|x%f+YIs7TAlDN^G+jm9KJ<5yy-#H zU%P&1T(HQ}g)9icnpX=39SF=a_ju}0!d+z9rNRrx!2V+XCQV#5WM2hPgw{t@OnaOi^=L)RJ1 z{n9n}ea+actp~j{J!kHE@q7f(}X2mFK1RMj8~g?y|v}4%7SgPt|TKI0}_zSuvDG z$#{&W*So7yMiCP5pjN1)me=udMWydDdS1LXO^${510urB_iaPNB4TK*Ne-yLFQMK7Vo+uHqQ1p8z~#zgX_9eKWorB zI&jSpUZ5&ZyW&BvdD!bT`jojw-1KUuJq(aT6+nB>%e#0sE!28bcya%FaZg5u=~co6 z1*s;8);@Fk*pi_(g-(u-E8~#cn-m#tC*$4r8v9Hbmjoyc9#^>6G~T<2&ae1CD6}-L4 z34NCTN@b|pd0rF|;w`VU)9{F(cK7p7kv0v?O8R?yq&9)Le%$Bn?sU!C$UJm|9K(jn z7AR|U&tJe!^2kNgG>9K{xpB(5({4drMdunksJ(u>qT%N3PXu*#7-ahQ&SDN8*h+Po z@yJRPy1Pd|buN1}Z@70X1~0nwr632UA2W90T2}RuW)J8$DZI+oo9jK6VVcs*Z{r5f zUB8%HxG#Eoo(vfBLcHjlmwT{XUFO6-6|* zIat?dwE|Ykh4RnX-mfQQ^u)b7&DSqR z8ztVXu<>VWl0e~3;JpYO7Y$iW)whz8N7RTbf-v}W_m3X>FS6`f-x5|NUV#)OzxY>a zxY+q?qq}F?P9ja@-@led*0PM6X7Oty-g~cC=3m4r4(@wbqLzRX=zAb%U%gCDO#lB=sLQH2({FEJ4HO%T92c zop&ZGX-;^-h1Rg*%m1;Td*nPJ)3s;=Csm87M?;aA_;10?nAcc(GC3&zRSzR;i}qVG z9)My8>U^nu{;`^zEkkxOa0~ZX0e0M6Of(gdMfaa*>aP;i$NlzMNvqbo$gN| zkGMqBz3t3O}aM#TlJR}tqbzmEd=dr~} zAKAtuzYLK(v;YSfi4x8Q8I)~dEoSx!&dlK|hp;XRygoa%d6#e{7E)3AAGXzJ+Hp@i z9*2AM$;B$F^LUP;_n6$EEVj)tI2NL@4L^pax;}W2@xqc?Odw3o;00N5pS_o#Sh!A8 zp{O=(P;<`(u18`-uu^qC{&2x7*7_a<_e>F4eI-_OXn3bJW1Z%h6bT|-aY7XOQ)9b; znu{YCy!4jz45`gBaqMub@HoLd$~OOTZ!e?Yb7!42Mu$yh1xSAI!1!71+N0g&n?+UX zKO^693jDiSi>_reoBneckjaZ?*@|$eq4X;-2Anc-`{K7MofZ>{S>IrEwMj0iSy$)g zj^ub_0OrOWv~F+Oe?-Pwh1hK}iNMdZW53j#>KmKUAhi>g^uHQAI?20Cxd|m@!*|fI z7Q>j*y@$R=5QrO%iUf?Z)5Rev?3r+CSFk;?9hYq0u2w;37Q|v5h+U>h6eJ96&BuU~y=j|)Olu`sBuCCMIKNu$2UyM(&;hU$sc%*+b?=+nIw+gcwJw3{P zd3{-p$Me`@6#%H>Dz^nAVUrtPPk(=RIO}F`(FOz{Pi^WSf!kKSruxp)DN%W_bF3YB*A%6MM1rmkORH?0@wiNJle1zh?qEPba^=Y%r3 zVmyP#Hgk$Xb|BiU3H!VKd5fLcAJ??#>^)F2OvM?!Rl;#1Oft3We`RiwacaicqEcP9 zy#Y#`px{!d2cyovUi*4P@9rwqaY(JN*UVgjSvS_LFQfJP9O2;!_WZ=4d!F<^^w-Q4 z_~HsZupA3ZK@==CJHksbt5mTM;o;!>VgALYjpqCpfQbfT{`>ySYCIIKjTC#c6){~9 zc|Czp9`QLEN)uBqX?ywb&u{8f!OyBIbUU0-=HwX=6?@4B(|1dItYAc%2w8#F(DA=222`b%m_yv2_7pf<;t z@OaX+r;1$g)(nc#cJT%o1sh+D3rrn&(UcX9mv*=V_Ck%`lhpu&K&AUR;tD}1BtoP& z!|A)ZZx{|nt1#ZqK=NMIBN*GxnPq%5GdzJd2dLvoejc)=_w(qY1>0wxG zMXuQZ9368>M}kKL$OYJY6-FQ?;QE}ynFds&6=h*HF%|XsG1Iu&>gq#le(XBECjhM^ zl1)=cBg~dtBjotiG)_N$ntLazS5-f$WilC#RN+vC_>QH{)0ci1yrIiW^|9;UOk#@+ z>wZ}sQ137(vl`nHOk+306Fpp(03IWDh3t$ZOgbTdbFv)?3Cnv5bsmP}ZLr3FaFVGF zSZ$(l>BRxH|3S8{yDSt`q7}QFe=K$$%Wh)MeY8A0gi>LJ&9m>IsVC~5LO;4(*c^qI zm#Jy~G8qavPR+0enX_vxuLG^G+jyM$t563r#%YkJu*Tkr!9u%@ur_suVW_e;AV#$j z6eZT-j`SsX(S0vN7(GBkV{ESDOE%b;H$iOuPmHWW1Vut?3Jig5_#n2)fK<5tA#|Lu z(sq-m-DPTrJ39I7jZ6!LyjY8D?>sQ00Tt6)-J84$5rlTJR9FIsCyBi!&_>*&3b1J+ z$QR^|6|Nw*E`1h273=@-NL)`)Iy5|2%)~E{SPbl)l1HJA0Og)t!eR61RG>!GEl3O_ z1~dK#;hnH173!of0ws5W+o{sFnWas}XU|?goXP1QYAh}&8sjU1Y9aIUUHHkPAQ@T* zby`u3XVsfOff5r}hu<;P;4d+R`_3>3NT+zDS^w}a(=^dyXdly=bT;Sl3o;Q0!(mB7 z6?*vwngak>%&*-v+<6+3p+3gbdX4BRS&w0y{L3<0MZUjdny-zR$rS3NHMC4Ljf41w z=9mc6UixwK^kXn_dBscfQ&98F?r>8cGcRc9v%mjUOoO_vuVH zYJUO=@bu?a3&+%|tigO4S!%a0A>P{E6KY1eG6pUsXg*XZzTy^t2}V|*6oq~NzjBJA zWOW$AckEVE|B}IzkfL>-4Uo;$=n6$49}oc8IX2I3Su?}VltDm^r7QlWR~={Av+tAZ zc|MU$adThBj{iaJN1}es4p=N88+UxzwX4x5A?*1#3Zf*j&MA!Ad936%ORXvDKP)d4 zlHSG~xPXcwf5G-`F>ImvkJnXm>TSWo0PNkCmbty_ zfDKEJp0akQukwHPzNR{Uk_>Rk&t(hW7yl|*VR~noQ0mM{V762|%P7=K|J-SmD0Zpq zsTG<}O8U}&*1H6JX!Iu207O(^A;5uocMGB*h;gI zpiPmoZ$Y>!GW?iU?G^5n>1JO(L5RYavCr@{7Tc#gt#RQhaH2!USXOWY2$yTq_amTA z(v=f&r*jve#g7h>&Xm8(1W2UCwC!_4$l^M>`!@4_Of1oqa;ESXt^-Q6U)Uk@%dhI* z1lXTDFwMb&xz#OZ_EJP%P2(k1`*pnZk;PYAkA7mq-&rTc!ms(rcSn$ zmMs8HY`{13?x+&|0M@#8h!x}2ih9aq|6nd*%DgLXE_f>Fw=6N2sr$F7NV_GJ=r)J;=@T9b?WS&DHkgocriTVg z1yL0?ql>2?3FjUeq+|q%5TQaj4SBBo>W*(RTI1knX_YDQEm8Hq{CD7$R>r`e^2S@y{BADY!RFDnZO= zk3DV~!_v8B1rd2uXcgxUm?3+QGy{)&5!?Ew=VWH|Xfis&2?IcLHs4J9iDt$h+Prcm z_Mun#5FEyJmz+Hk|MX;Nx6jaHEo-TbvM9YS-gKIhONq+*!UXl16nvR1FdF_eM&)*2 z!$=AY2T$ouET}YDMz5}G_ubuG>>S?V4Fj2zGPJzR&Sf*n=-)14V*UZ^g_OgX_cInh zF`~wjjyAeRz|ya!p%+XADDS9cIYK98iYoF*i+&;dP-c$Vq;r273rmD32E_ji&l9vNt)0KPJ)bPn(jqcN0V^WSdr0n60^@9)BH+F=ju$|== z{{$$fKR&iN=|F8YVla`=v(W^v4wtB58apgf&6P+ z2Iu}wKNw3z`@HL=K$aX1j>x{Fg<}I!q}aCiP8&@uC<|(?x~a=)SC+a%36m+`C3U%f z{uu7_r_6G^u5S1f+nW}h<$Apl_wpD_IDW@T_nF+b z_aIHre#%T6*{R=V{lk5_TJcN=U|Ca-8{_q4X|<33eY^gC|LGkz<*VQsYp&e@Kb>+o zy?O3w@V-rr@+`8`O9YjN9f4NRtxax9PMAJ!SVl(z_0V~V4deLHksED9Dv*_8BjD%S zxbN@%eScVu#$m$0W@fqWcXtbZ>fG?*mK?`o@PpM`K0W=WBx;^Gdv8Q^5qH7-v+CBa z_=QeAO9Q?+_n*c)P8VdBxc>A+7azxX>xGlz3vWDUc8LqIcS@yjg1Fu#%&VRX4pG5X z3}aO>wHHyz_>~(vXB0O*E2fd^c?uEP72~lv3d%p~8(k?;wUl zq!@EoyAcsV#-_RL4t#s<{b0-%+0POwfSSMsc86Uez8rPKF>WOBmJ4}N6KbRqu1jYM zsk!YkWFgCn(}FD9+K}0Xlofd8>+GyQ{MQ*C=+oIOxNoDpwGN>7%^rN4AmN)^7oNNqoi%!5xv^%h<ok7N$0m&0 zND6L<|2)c~!JynG+P3E5>J4x&1F28m7JH#Pz7)L;-W`~kR&{3Zt!1d@io?7T-b|$N zQ3&_)ah=9B-bDp;{QEq{>bw0 zRj)f#15)~taISZ_{d{ItLEzX$1?Ka@A6I<27a0R ze$!feedT!TYELo)Yqk0%Z)7+hQRASLenot?K9%J>L3I5iYf5tpzr|T(<8PasUA|i2 zL+=S5I^oIdD1mHcQZrp>DT`nvr*bvwKJK>Jve))g?~~@gyJg{90gWjfnv%)xuP(Ps=Ju_ZL;--ezcazwcFu3W*nujBXkM@-e~ z{p#NQulsZ96g|y5rJx_PEI9PpT&x1OAltCfBjbg+G znL2v!Kf0lHDH+crC?OtfXB5)5B!x6#S=qh7E^dHh%*iFvzdIx1YN?0NQA9>yEd-i0 zx%%FsB7K#)M>09}X!y z_V9KwErq4|fVT<-D^nYuitQ3;45}mtR9?{A14GNC7`5Ox8?g;iuza!SL?e=gb78h+ zENDNW9oAFStlZpcSxC!o77>tWNfT|EP2<16$Q?{IYrdBnGbCX<<4Pf4izw*zdCGzy z@=fTYtLj<0jS$~&c2?nr@*@58vOQ|giW2n}I?=Mo`2sK9xt69#4VJWdzbhx^Sjh60 zpZTON6XW1A{@c#h#j_^G3uT1;9@_s#72Cwzb8Yyr{Qx&r%3D$h0@2}#ZMQ3pZjeT9 zG$`QfRqE}C?9L5Rw4B&%>M+}v<$Cr`r*#Qm`pk?c+sfwoU2CJm*mv-2#uwu^vu}Fh zGjcMN@#PxFGZa9cH#_8$Z?$?jz=6?%OLy%?qY5ecuOQARRByAUr$%nlnc>O>kp z@oUgxLrh~wn}b1`m*x2>c$u~hmhR4Gq`1$>Qr-taF*R~5Qj8>wr_74`*?V_}Ea{RyFb(-HGla!( zoWN$0$8n8#Gkfo>MEjT&$BIG~vq#sh+#+*LW*H+loz1(*anr-yv+-#wH;)*fwZ6$P zwbTBb7H;#+yg+`q|M<3SH0%87s217I=q9htC!cQNagtaCZzV}0BzC+YKY40dg-rXV z7-MA_Ls#jGJ!P&InoSc265I;B17V1nP*qy{r&Mprt-hH;y_pnY8)%Jv{QaSd%xM6+YUU4kH`K+FqQFDY4hXt7H_0|3Xh%!1=^y6LbC!u^<@SMMG>iw~zAlcLUx z&e2befSq6mTo6`ML>(?@G99q8%l_a65irqh2cZZ0V~C%$i?fArs|Ec(?cAtiBkk)Z2alxOB)Qep1Xgwin2i~ zIzx6;=l_U=^`zzPnaT)y1^A86AjQqr`hX46yGrkoPFb%9pCP+>{Qz|P$POGa2&I>L z@XUTSy&I(%CqYB!pJyVVTIMbI33G`BH1i`Qi`r5)zVe8AF}y|g6D6j5%PZ#8?@d}3 zw)(wRwoFk;{8T{gk+_~MWLRs7;CL|IMdU}Ak!+~#7Jx6|nF5P35a1*hyvMfENvC%I z2I6Vn5{&mQgAThY*IzDEse;(v#T%qJf1Jlg#4{^GOBs-6tMk?1!8pcv3>;nwVX;gg+RxxFkB;w%Hs`CwFOvS#kTFRHY^v*QF%&tLwBkF?EG~1N`+ppr zdpy(q|Nl3`BBq0`rZ#ku(UGV&Gp8I-moQ z6cw|IX%ot6mn}1M2pd`W{NCT+fBtZD<9);X^?E)ZkNdrxrR_aim(}B)6}^D1#o zRP!O4PDC%euOc#n^Pk|s^09@jF~BtEHvkas{Z*{vW0~Nhg^xGJX3TxE;)m|=?s%!` zpXU>u5vRe&@YEBWc%_9-T>$s;_Z!qhrSqM>HrFtAKY%zG-eU%cXbdk{acw4g$TV6B z`Qq1DtD^uJOFO zp8}7NBWlYP|M!Lxd>>Rt)sizHYBzt8X%u1Nay-a-I7dcxF%FF?#80JGwSoZp(e1j{ zV~PE3sHSq0*KPy36(Hg_CU;{AA6K0+nbUQC?)FYk$S@-CDg+SbmUwtq2;m2%*DT zl6X7iN$9bk>jpM&@>*lM)=hI9@8`c4%ensjc`~`nmwV^rXJZ^3z6VX7OY(O1Ht&YEyExv zuB%I*CCPV^{S16^X4hAYadirm@!Mho7Is#hZ3OZ^=s6a$3QNaW1wG2DWj@C zL5r(4$h{&~P2d4Z?0iP2VE2uAQP{K;qADC;zXZ;*!Vd-~~0QcyZ zPToLHI~Nh~KTt{M?SrkK)c)@ShDk~Ma|PK3WUG)4=tn{Z7(*D&+@FJx-V`pe$KsI_ z6w{e$?bonOb^g>!HVW&z3t}`W+x)cP4=5wMz-UySPq{wqy$($BIqAS(-5=oCR^PCg z*JD&fc)<4oS3knoYgfGp{5nyFckNjQt)lNgbXAL506I+$S8y+>0U7Ak2Y)qC(frn3 z?WPDsR(n-Wb%a5iblC9uKO4HRsdh7{I%WCY6cFDoB0D8K+2&CyMw|_8u6X=V?NDkD za8nJan+K)wje5v$!@+`mHwzZom}P3_%g#ftDpN=J8`rgb++MO!zk`POxA ziw~~V!okSn(&yO&Ck6w!$kucVhh1~IHm8rBJM<`3jMyrCyo>LZ_~yMR zH!Pbu;@f|HWEQl+D6FZ|NuR|MmxLZ~-Dg_p3@jBp3mIwE2nwD)crMSUs^;}u zLg)wQ|D(~yXin>hSc@|JhyIs4GtNFIa)m62E0LS=Drs9#(9!6l`CuTw-s2g^s|I@uC<@5Eh zw_D|2ykWP$JBya^8u?&3Uz~5@&g0|kXJb@P(>Are&)gu2_)%^uW=R&bq&Dx43(vlQ z7AR)HK8Kx$Hk6f6)6L5ihHBoqMCR#zSAZPh!* zf203)`>;}$3&vijL7pqS%_fk90(pB?;p;~chZ5Wk5TsI-ir#eJe{owUYe_yQxS4ls zmOSt2Qvc^9K>5k^I7AfYh31kqyN$Av`W+^h`RQJmO3LR|WP z^smN@V9Xh(TqjhOwJI>RZT-jGw`Wbv*W)Rsblb%~rgNGCGSGUmCHcI?k>}0~8f%^_ z$UmgYJz*2u6>^wl^%T!_Vz8~4-pzIqC0^r2D%jq~9bKVf#-I{_G+J@b4lpY#1umMd zIIdT~53mxq0rwyR6;-OMSiPb@`tn~58-@6dkK_2m;uf<`fU7#t?dop2fJSbZW8SJ& zn)$pVcD47|M&u%B`Fc);)`EMUr`-#4PkP0S@a@0KUCF4^8r z+W5x3k6E)^p9D)Q=aHM1hL<-bS}QnPKy3!N9_xU6C(n7Ges}|d0uGNb4B*j{NHW~? z(Y%&H@2{0-4}nm2+KykPP)>m5p2&tTg+;~h|31e3r^|DRGiOCXss zjxfAa%}h_OpJf7E96iY2PkLh7iWJ;1Xz>0y`yj7vwbR&ynUxd{z$OFp3z&^_XmG?`JCPlfpUDW=c|G_89QeLbM|Klzv{;k5mU!87w~ z7LGii#n)ra|A6 zda8Xt=2SV9-lPPe(t5rghg;5h94w`L4jRA>JOAyENByW2Ll|Qjz`Pie z>j&(SlaN|9doP%A8EtaL;O4?;lN3x_X95}E3+$R|?K~(R$~)#}m&8@xU-A(@FD~MS z8?u&FepbWDVp%|ecZK@qDOk*>;rtE8>qSB5<6|bpr?7VgQ< zzS`r{(F4Z~q^}9=)qu~*q$_*BO#%sFVpbM27*9M!YHiTABriS4IOoyRt$}3&SU#iR zo6N!O?-h^*7Tc|^0kOp=oxpr}^GokEW7Sv`0nPSpFe4Q#NW^n6bKQeyzwXRJk_+S> z&bKf~UVD%E)*FL5Dp;#Un@FlCHG26tTx_S4Y)mR$EOZweD7z!al|g31AOAobamzr2 zZuK0xlL^ix<|%Z0^7(@aZam?OV1h)U1BQ#s%Dq3laXp}!LOFMjn)pDC%EiSTc}zgf zC0_4zUPsA&Ff)1m*Ce?w@+0cP(kF4QP}G~!2aaEaPW)2&02*FdQ5d2%>1&mc*i0$;_BA$(u_78z91g*4?OQ8-tgIN#q4!Ygk+kw-cMfjs={YI^vKr1m%R{il zbwD{HYvDrE>~Y<4=vz}zA3dMwn}vUT9ShoJfOK5q zsEf0*=-7aZ`?;?ty%zJadBK5Ssdi7qH8#uoMM|~zkqNC=fyndSm*FI_-MOpmfsI21 zH7RCI58yz&hf(QY%Wr*HHet^^g!P1Q44bR!d2kR+E8a5NreECNxlJ`yc4{n=CO)VgL5_*Tju2&uw7W7HnP- z2TYSqSv#s*Ds;mJcB^kQx*a#cJhW5YFb&fV`dpnjd%(@0P2Mim&jJ7Q_WM)HqSuxS zBs7tSq!`AyL+fx;!C&jAtW8)^#uF^P2->pbi%#e=A0aTr__qU(2%xw^y+95JK$ShV z^DMp28(NL4k1V0_9F~8f92-9_evMR^mHAL*mY<#vpyU!uX=)_S(U)@8*l%AdjW(&2zm#@P){I^Wpi({h_#<%KB-A6nLvSVVlsM zncC^zZXid8Pl%|O*x22)gwA;x){ui7BMgQ!Sv)#4%FH7J(rm&?$$hH2X>{m?qS@fn*odz zz_s{hjhu3^C7V1AsRJ-q;yU~0nU3A*fnam#zyh2T4#VXElyX}DGbbVo;y;XE+}}1c z1+-)u^iLlq)T5_~e6l4aX}LTd0MLmWaa{fHz+c%?hwh+e3CD?!)eg;1-yrJ0B>3Ao z_!Z+U`*QN?LbOasP31#=Z*bXI=-Nw|>)mmLB_1q^@PGClj6cg#;(lPt30=VG8#D3n z54G7}+-hZer$wuiY-Y;BRCg0AyE3C~)5i<#0?%4?fGoDbwyg#D=SGIHDKU)#=Q=!SmNI5H{v(ZahGV zDz(|#w`F4uPm)yTbS7adh9_lZg8_k48qO;A;HXj*||yAP|BL--7E# zWE0w@blZT!*Il56lQ;sy{XLE9ikWnB0MwsHl;L116s4|nX|TQOmTANbA4`je#)w4Q zBst$S(5d6t?N1s#g!~QdsQ!C$nkb@n&%L0N+h&@`Ddl#H{GUR6h|@L071ew$G)}Q< zoqM!tLxO`*&BW~?mClzVBUFGffk*&Cz75{};%}dPu5q}2BLIv{$9~3F z%p_=gkuwj)OoC-Ru^Ek0(s_+i3L_2;)r|p>>SIcM3~V0c@7qcWyO6F>XTNdW||#=nTaIyI3NN7nshKo$03=} z=9;=_J}WEt-#@3?9PQ(MeJ;;uxoYwF)pB0h;p9j)L}a?iir-vbz+IFFEe&e$KpE`k z!zFRByN`x#OZ6k{epmp!?8?&hB>hr*A!LgJZ_pPjG z;2}<^wk<3TH_x|WKk?RjI18bjC9t;6xR3l2<&0Ho9gegNrAZ+yah3T#uxz02ap1`* z&^z2bO8`n0sbRBNf^W-UylFvKTh|bcd48NcgO*Mp%@d#1Zvenn1HDO{y*i7}5g?2t zcPH>GBsO}-VzgJ40Cx}OtLI>x!&^FbQ`&0GR5A6)6I@eIBEikXRGjk@?167Rpq3)i z+03__$S+VSxPiwDZvZ|&JyfHsB}}UW$_W#*2?5K&y1E!qGW6_w)DfGi(#^Gkt>eVPMQ}SKtvmqN|x`TgV;LrxN=jYT%d$ z`02qfFLMdhj`XZ)@1rb&?;q@Ja9f*0T5RGd|gb07T9GLGo!qT1SXSzXL7uWS9CCHb|U#9U^W2d>4~ zvVQ5dR!=xWvoVlb;&1>XhyLnwq)J3fju+hAM89N$>bTSqx{`O!NxVj)$=w!o731G!{kc8j2H-M_PLo2VSJ{x`+z6*o^7U zQ!U_Xf;$d08m6a8l%cHS>6&_>62!dX{*XXP5DuBAzJfTQ(TBqrQX0BpXZ-KDvX3`9WGQ(U6JaMf>ixS#Wbai%WXEh&^ znOBMhUb4rN8i-a~1C>5C(0q8I?iuSiA zZxKfB;{P4bn)ja(B~58k3Qp=XKW{AP34YSeqB{c5S8#NsC(WcWA)4{*SkcYV98cB{ zx4LGVUU$A>D`uP?GSaBqLw*l7X*^{0GhmC8Bt2E1@%7ZLk>Yo_pC%=h*0-cj5Jdct zr&cq1VKB75jq4EXRSSfKx@MS{Y6qV5GJ503Z4K7|@~VpMss{@2Bl*0?e?7gcRE#kY zw<1c;PNhBse(ID1N56-*7xXwvdn5Eq@|4wiq%9u(^(pJm{afN2M^5E-{Jc+0I3YPiZn%rw9;K; zgC~645B6Tr{FaakAVd6~i2p`07Na!(X^6Zf@x-HuNx%w#l_CjTCdFs&nIvRJN@=w- z34CKQWC&^T6}W{E=mfu+iyzYSx4hfCHk*pd@->bCN@Go^!&ZgTh8MdpY~QKrlZG)^ zjS*!7X|H@+VZyVEJ38lsseE-9cG+e%xm{k;Q)TP1ushn^q?C&YCsjZhy~Kh3BK+c! zM{!DgSzq8u{HdzxY!=v9G(UX&h-4-)6fh)~iXxMHU=$&-2MD@f>UJ5~mc%@ERc}C8 zYV+L$rwxdnI3LO>@!oTUcQH}}WX;h_gIsdYZ19biBqVLM{Tl9NZuD4>Racv6(PMc; zcVwF9C*6~3oZJqt_!w1(vz|FFyz##1U!0|zZ)`Mg1)!Og1o|O9NLT@p0BMpXE`1Q( zdQ~wPw!+0(kLeTnbuw@K!~6S2YK;QXzN4-8gryu}*k`RqkDv z{r(nzw*FxpMR$uM)uc)XI0o=-drzM4*l&7OV=^(d6DvAjff0r4L>gjja0WiJZ=;&+ zV5sVxPFbcq$e0rc!J0-(z=Mk73{j7~?E@kugw&hByS< z^m#@OZMrBCLvjC_M#+7;I#XwO9lsaV*4nIo!a)rTelKAey{F`+)GNH7!%x2#1D6js zZAruSGK&| zN$N`g6f-7BZ^XR3gtP6m_HTLb7RL*lw@eQfuRT!-gz7^@z5b3foxn>e=8>(Qz-)C)+!Drel?;RZe8-mL}4zKrZ@H2(e% z#xRFa*_i+Xu+CUNkCymxNlK3^*ffHfqPYM4icy|}AnTyzDo(Z?g*g!lVJ8MN@UvE0 zakL18g#E=V5#|mBh7vA;o=z9iFV899@{V01C0zb90DuF$QYG!mGblG^v8`A9JY$0g zLzny#$=SpX^Sxt`H)_S)i$>ZXsE!|K~SRZT?(<(Myy z-+=uvgeD+O=?;2xvQOpoMyTD)FZM?`->z(&3#92>as-|msi8ne- zK!}{dZ0qh__CJxg8!cQKl{-l!{YxXhVH7~p2gI5<<)5z?0k&)?TnvSPL=*JpAZ=GS zq)&|Nk(PZK0B{I#5mlvOBQ^aWDEXQj5kF!Ddo8sg+k@OZ4L`clJ{U)kh}$p%v-4sVsP(#%JSmD$a%nD%0xDX zn;S@fOfX6^+XM|j{@N}Ixgv8D&*3?yk9JIJmviX0Qky2bL?73* zY4enjU01DVGr>M+#1_0%mTTlmy)30$O}fP%8(;$_h}NQMwOMrAcX!b^m7Hx~5*)VZ z(FR4y#s+L2Y_Boilt={p?rDx;iHW5J{dWj`1SL+kxPKoc??Z)Qx-HWwt1uA;1QIxz zmY`+>6n#XtK{`+`5;0Fp+6XHr*92O84-&ED82zp)kXAbvzJqJ0Ll{#{!I zZ`#-b{|0r$q00@hFE4#XHJJ7{f~JVv{ldqnz(EQyP-rur(vszqcWeM`7VG->)6rCi zVq_K&(No$8p4Mxi!~=CTHnpSwf}RI@wt$wzKspayr2qj5Uf6Ts=+;nwCItFFP{`u_ z>)+Z8i_vgV08!3u)ml8`2wMY2WeIwrks=bW>`yG{d9vbxydL=E2f03LAfPG=^dzkT z`pYI_?t!}VkQ&<*hbmARl`vojBeE@`fo(fxY0mo`8S1s6~=uMI69fZD_x zw99`+91bFbTGs$+?BQ!qOv+aN0R@69fR`>UrK_z%ok1lN+uACWFSovNlH|jtCE2M; z;0z9@uwMlv;%PDGC<4a9jM8Aa?BQsejS?UzbYn3%675`NZHNtoqFVp61MbklPLCC~ zQqB3mAlv`jox*r0e&#}qZ6X;wAh=#Na_zu<0dZ^~uTr2t*ez2)}SazHYM;ikRCF-eRzav_)AMR|;Q%P1D-L9f~mQyq59|UK*~$A{Gn= z%opO^d(2~!&&lgQ7u;$GC8;k}%|bEz^ulZdy>VC3`FJTPN!)tW0A(6ZR93uf0ZmuO zxBjCFBsId^s`LU~rbh-hIBb?pdZWt34mXb0-U7d0ECdSjW2G_xL>#$O!z{tAE>^#| zxVK1keLZ!Yk+qUh6ag#mW&I!vREq;sX_Xdx>o>8~5`13-L?aTgfnjkFoLc~+%9`Un?zT=qqLN%`+gq*w& z<>BspPMLb3Pro-vkeG%MFK`e#;8g(RT(ch(e@c~4@n?VSfGz9VUOU!4&cM~%x5`i? zuxbgAYF5h$sM>aS!q}i{(fgrNH{K|ZY%8q``wG9`bq>MG*2EI=G#U&%Rew)Q1x`pNEV@kfA>FdRUoLyaZcyA8vq z+^EESEyMygu-Oq5MFT+`;*7`M3?%2>QXK)oprDLw25X7y1t=-Vdx!0jpj$Kiu-7*s z@^(cPGj=?MTn3{g+c%r&-#we{Xi_%qRCypsx%aPXR`D2xGrtK`9)&VhAguu@`ee=p z-8P(-L)ddGSy%g{RacpP*4IJrckx#272pvAVpsqkfAN5ob-t~l2j&Fid8BMjja^tP z&?E*ZgSo@`nUx-ehv>Fp-X++kjNjbka9Jl}zVgeBgH|x8*Jf4jS$-S<+sGa`{tk|ivYWb( zPKXP*Vb*w?rQI%7z%0NtnU9{b*p6Bu6MZJ@F;jY%0^&`O@PG-=gdL7OtEqN@_7nW<91ey;vHf30fztPq031027Z96mXw@`*)jyp05a zLTzQyK z;Vc@FZRLI(V0NmK%VwRI?@erq+yX^&!=9Jy5)tN{QrxXx)B=%7gwWksoR{h3GV^e2 zz$|F}O;|LX-xymbLG3-9q~q$_lH6`nWO8Y!3gzFEsuT%&_aAs<+%8iEIzd^9dYQo~ z!-;t1CP||uE_Kceg>5oHY^D+2yQ}gqy@T(~V(BDWzzGYi1Z!oL>eOx0qrq~x1PHJ_ z7o-~y>32Fce#;%Ko+^YBpX+Kf{vNUelH%7 zd3c^oiaKgGoj*z(q(yFak^>tL%Hi{&J45QrP3PIgICE0svfE!~o$=wR0MhQ9g_E5E zhepOUL~{tTZB1m5rXzYj%07gmRKIzd#%;8Tx{PU}okARdz zqosQv7%7hjoDA|4LEfD_y=rqLKs^GF($;3RrSQYoTUtNhO&{6i^ktYJV^RTn@BNvI zt3$z-2*fg43NigWr1Z_}O94T!n54Pe5M$+X%@^#T=O48W52$!V z6l+IpzBStoXzVGs`c6MdEbo;XELSQ_q7hL~9^~!)T$cE-tkvge6z3T8_Q1F69=g}e zUc?3au;27BE`4N*1;aJhT`)G&`G1aB%4U=t)>B0rLfRO8Ig~AF{`1Hl>C^dwPMG%r z5wU&lr*_bd(aO_bvAR2{T{0gXJX~BCMm+ZIW0}Q^y@P~yqoY!m|MQ4~b{RV+rrz|+ zNXN_!zrV;Gl+9_t#tY4e%Qxd7rFJ6KyobI-Qj&q~yCv{EJJc*Kxs>Rwt{F<={Th*t zv}}6br)7K*Qpzhev>FpOSC+?)`w|ksQWI8`sU$GZOYGomF;#n=e!J z%wM_J@LmHyGkwxnkarLIBFrt;_tu=VprMuv!#RN659y(P0P^Q{ZdbAyRxR^xd9VL; zZ)^H5LVrHVG@>v0u!ZX{HSd-(5lpIL#>lxIe|rZYm@9OIv{%iyxk3Wwhh^OCZ1|ET zSsYji?6Jgjp;#%UrE^6fofN*!|3LGA*&Ps+n9s2tKN5y}HyGZ$yXusx}0kOkR_w044F8=k485&t!u43XtY8;7Uk0B_UUOc8Fq<_Hdq@eAP zUg+k2*3nI_ZhaGFAA0)Xm#KO{`p;!&I?NYEn|N4XJn$AvBrL4iDmXb)y1zBlT9ufi zP%JSs1A4Y?eGa63@6S;YkX&G;h#PjM0m}4R7yB3bJn4yIhbLfX`$wF7*m;oB37DH`6;W7JaV1ur|FsoB*Bz&xr?%X zmVu|6G-K>E+U4HRDr^+{Yh@Zy^Tl>3z@KLI!V3wVv(4gdCqs0+=EqQZu_<9kb$%RK z)(17UL+ohz*aBZJiY1}rENt$9Y4AcYTF!TjUIA8Rm{5t)Vu$ODg(bp$lGtr5qeC7b)oOA0g0tpDYNym@WjFG5wfhZVO0 z#~`#~hV2dOo&-e$uRjI%tXr4HYUW!;2?w`QrS`dG0n@Qp0jjVc$#`|#^<=!r0uUC@ zxCFesXt|ZMpx=rO2<8o|a}y3^?6K#`6flR;qxYX{+Olf#IQS>qVW03Hhl3b1DnRQ&2f=;rdA#m%z0W0x8)YKm>6P;W4^F0w|sU}yGfsd!+ZQ5 zBn9e{P6n%~Rj*BJ!DEQ<_47=tw>iRA+_tuuU#}3-T3-wh@~inqra!M$rhwZd@!yDp zn{#r*Na?dh*MqQ;8I zPeoE7?qv2UHn-tuxW44YM|RG{G|&x2Pp3&40kc$+Xyl2E??Drzp#OK?@iuMTSS!9) z7j8e_Rb^C5Pz4B?{ovG2GB^i70QaP#XA1hS7G9*XmL>DNa+^2T;F&}RQR}{CpCRpcmV*v|{W+L(U7eR}fHIENW4pZ0~2C8H^9v8PGMW3Z}>8o_^ z+?_l?Z*-oJY87IGz$+ zRp>*U1p{oi#=*lG_p=FkJ_%arN`szM3}2tPHx$VHhmDZ^*|uASpdFxz!=7Gr`-;y&Y{hSab7lRQ0{sZ(2Dm7$rCK+)V^40*VmE%FH?q zmT>9K<@7b*vxU~41sn?XPN=v_&*!eqTZ{=y@?%5$wxE}qcp)MQ`r`L;2nL1Zp=%oQ z>v~TZ=H$$^mHjJ;+~g!1JVA?hGl4u2*T!I%=7i|V^f-{O9ea53Th=;7@NA;Bg9NC6 zfQ3PhHGePeoE_EV@`_m8N&Nq#$O#n|>xZ~(n z{Dwa&qrx}UCJ;*kg}K_aUt}Gr4OSMec8pNcwSzVTMI1H3r9Sw)e^cG#Yib7nI%Lh{ z{%w?m02Mzu#*~1g#$se9 z*f)iQd#}-w=M|w3^slE9UCDxrzniY?kKAkcDhWAcU_(`QY1~vGv+j?E*Uk=(a4& zQ(A&=4IC5@r9np{C=Aac4_P#BQ!f|NR{($@k8SQ8{y~BC-}5AG|3clJ#tq~F04sI2 zwX3S^27Hb$c0vguNZauuVT|_M0Fhp(Scm}b)5bgLPLt_wmF8XWp0sYi5FnjysEL-M zs|skWa50MApcU-p9W#5?_nfs-=KuX_%GLpDf^N`D?Smm!u3FGJWb0ZCUL6QFNpnsl z#Eku6Lqlv{@pFYGTGQXDYu~0|w+#@iS9vO?7yW%+1}o6_<;LBl{9b&IgSE#yj_F^ zs%V1oM#-st;q;Lb>hp^D6A>UJ#}I}}M=58UR=p9xSK*^=Vk)nl-KfD2>;qKDzZol* zjXeHn4pxCo8CO(`^q9()D4L!}Me9($Waj=>s4(|$jF?k1cMKmq9Teo9g;p1{($mU~ zf2}|FID#L(ROjtJ9D&30dSK4Nyi$pnlifQS;Js?sWvKHJ~KDJm^6!4o8) zkQXQ$2504ZQPbw|qpIuC-^2tZf@J5n-9T!(e)H<+4Kq;06Z=(!Fce6EK`R}0bv!gf zRemOBE85@tQ^T!^HbyY13V!Gh{SIzWQMQUzF^Z zj9v?9AiLxrn~>Am7xxZpag|d(=6nNLyEwn*Y)B{h6OYI`(1(km{nVONeIE#0>65ORlXmN>G?nSd%&y0oMyge=R%btYM`|&V< z1DVXXNvxzi@&5Jl-gQQy`_5GUC1DTN@Xf8gf1>n>llM||#CB?gJP$uTWb0z5xzCT! zy8BO$mU9D|`3C$-i?e+xcB)=MEy=9EvPXQ|ij_rqdnw z@5OZNID)0oBG}Cp!wIgL`;s`6%I&4*LkXCC9_O&!F#+U=Lqs3Zj< z0S(OTd(2P3MHfwV=(>Tluur5#{V0@)kyAS-3NvM^tbBN@wAGQ&x1O}c5;(27h5Sw` z>_f|X!9%%cGR7)*jGbe?@dN%per9tyl_7b1UY!bY{a0ITm*4us{jhZRnAq@5}l|x8ZyP)wydehBey1{*fYJYgZuI$w7DbBHkCI(Fr;~6uPwal2lhppN za>`cCMVm6SB(}jJFEggmzgTLH5Tq`4sHv0OyV~(-Ejo8uaSkAZs9y&r~i7BXi$3%sBRPd9}Jy8lFPZ z;~0rOe`a1eTnYfy)E%ygJyOL3V~@@5ef<{;EYrK7O?F~+;Z79f6 zxOZUpjgX`2;sk}>4dEV3abbX8NL;xK1yD)r&f-m9LPGg|>MR|dsFGj?$|P&nE%v0R zb50*g5{0qpfRgb1TFpKGE=D}%q9L`KF<-?cHM8J~rTWXLjzkx^tHSE}y@+N8r_DL??Qiy_6m>TIQ(h#>VaU7DS30e8xWrs|U(!i<0@Mz%SV+hX7zWcvoY$DeZ6&3p|L8vGDTrA@U3^$mV7)nxX{yIq$ zrIY=e&Ujv*VW+Q|%Z3(e@P8AouZYK z9r#SZ`3(SHN|<|8SWPV{2cgmqjm&A28sKWCFW*atMv4vBoGLZwR)ectdW_rY54znY zE%Zljj}1_3vx$yKi^6;7uC`D4*1_8=>LFs{uVrHRwTu}6a;zyadf+Jeh4B-)%Pj|xR_K233$4o#o}hv3q*jFeU~ru*fXG6 zYsg~Xso>*WaoEok8#QHT>e4dMWyBG?k65msDXW-Hl>>C4kZnD~bk;ik zwNo!%8LI-_<8ugwSV4Xz-oWrf>RR-mcjyVp7QOCSbVWF3h58N8MF<=F;T3;1;h=p1 zM>M~f7#kka(!W=)?KWla-)pqU{qCxVA_*v4x!;}ppnA@3K31JBP)MV#x#>6)gjjF{ z0+aKevd(m?Z;S=-M(|IP;mw>D!wM0l?_2jEbZZu1y(Y)Vs%z`cYKfF>q9q$np6~@Z zVk_>cmWm#eo;J4<=)J!e`ojLXj)=fMlqNl_cS}W0QT+<|Ja;-4yq+E{^J&vBk>(PH zMnS+e|Momo#sqRb`k>-YtDnk_gT5aff`N-pz{^&umyQ&n`V~k|ld-~K1ZMb)J`exr z+>5{9CKd+^F zII+|C{|Wx->~4f)@dNWp#Wqpu`RT9k*BpKs4t;H5fjJuQFB|j-U1Z}3g6jR19jKun zRqI9{nXx0Mu1wI@D6q=`8IFc;{G!W1{?mtiow9h9l)cnUl?t+>|_Q%0mLUj zVN_pD&sk5%yvaz>oSlVp{}bw8X$BZxDCE@3f2^F6c~;p=Lc}qm|=~i7@;yx<~(qMKJ#lFx?G;LiPE*>lJO~qsQ-n+fXQDNjORW zvXq)}txw<&6gD<4>ddpPXcGlb9cSpJEC`;rzbzH^hli1C<~M*T+@@viLSo-?=R2v;uMCeaJP{XMm_tCOy3WG>4E3a|>Kq zD*sWrKdEVhuXq|$8V)o@K>AqpuScM43b1YsJ_F#SlTCj+xhYZ!S1r2xSOLyr>(Q%q zO=}tkTnvJ}QZcNDmd^gb)I7U5lKWPNR+wnTjkj>(o9a+hU-n)I-@3=u$69Do8>6Y$ zJw;*U8rDog&oztdyc5q(RYT`nxG*k5?a61xyPUAS?Vp8Cul zNCcah>-av!K~UM)&;;9g6$4^Xa{o3#6_gyyJ^Vc-9BG?i#rM#pM2+d+3pg34ZXk8I z4IG*<_R5o|PifSu16P|ZE4M5uf?``0b(^qw>{(J#^D%@fv8|Ib(;b5=vFz4HGVVV0(Be!X=fVs z-$}qrOL0(jVMr__mlcnr>&O;V7HesOPNZeH+4ZhcZN)EserCT~ z?l7wh-~4Q7G(R3v}p3hnl>i}%rd3w&rj_=Kac?!xligav$mvq;wP?`q>xf49|=8K{C(xa>6?+r#1PRd!~?MHnKSn>iJQR3qU z=8J8$&AobyT@I9-T-;Z3AAL&+RS`ni-T#q~ZYOaJqKW~KDlL;d6ea^uC0CIl`FMj*=W@8HPf}1oTa3Ptfd!i zAH6+52UtsACNuF}sd&@CQ_Q@$z?+nn$*hUN(aAq&x+<dW(}?-f_T)d9PN`}0!1_Ys8W zxE!DCuRA|Tr=&5nLh9MkSleE(N#Xc+qa*JN^fh0|VrGm)UlZ58&0*}8^DSD3HZ9rI zyZ>64{3odKW0T1_pr59~YG1sUX&sZ?Z7dNTyPA3f{D(Bt`AZZr8*Q>)_`bDJ8G^?4 zfIyxKaiK)AJbip$rFw_uzp%S3M9?BTAhDt@T3_C;K&L}JUXE4(z{jCu&jrp z8GkWS*CJM07faKMAN1^N1ZarsXRV;xMoj;j_n*D|Up+NMJ5Mp8wUVg9l2ev0cLw3v z0Dzm(V1_2XdJP%KOzO26ihH{yVc<=pSQLp40oq@2@;&)2rimufZ9bGUe#(b;r8N|x zQ;6sd5=jr`dY^0%nU)}6>D^Oz`kJm%PW;?|u!T0Q9!Xj*X`|TyL!(;X7u#M z7&0q#@Y}JaH;ZdCM zTrIp%ochb*m`V!>FklWmo_)CX%XQ|mrwY*4VNHeoz@+}x;-2AMQ}4~m>+WppF@hu% z4cT-1PQ$+=flqFA3%+|i>UEFgLds>ZW`4P29Mtkd?Q>euVRHW@1#&O`^?kRDi}m9{g!18XN!D5D1H4U5a)rUkM?o21T4~X?-6)2cpmTv6}3lh=(5t)ya-u7UnRM4FY{Kh z4po00{b3_jnh&LZ2HE!PV@=+ihB^B>$e5=cEyPEQ3I+O$bQVJwXW;2> zja9JN>b<9OygA`hoR@3?DEiO7n2p)fT0!)MFCm%Xh? zF6%GcsSMVZ@taC?2=h{yv3&lv+Kgc(M}v%dQ*RvSq--s$xp#rCQsFu}oj}fC>&&ZS z2;~O|J1+6?bqYF@4IHZ2<3*I*eM2aXo=yE1%IuIIi_S87N7L>FIx%~%A;3$viz?4%2f|o6Z>0y9}KlD z<9aQ-RUN&_*r)e3x%aw*sil{t)y7@cloiQ)3};uPha*5@^< zQx?m(41OmXG6kTH{OdUT2*4sF_RKT8m+}!~)q}q%q!Wg{Ac2Vtc6`?}Rt%NSnz~c` zWA#uNIDeVv1J3ncJ2IKMy?O?-^+ddxmP5$Y{rpUuK^DWaEMXd%J3j}hAx4hB<{|@- z2Wm&b0*vrKM4u4t6j$|qoANB74ES5u?Ic7Gr!Uyb>eOFjRVaD^K{}Y>wGo96N}X2` zemL1ud?PKCPG4jJtCUd0DnKr{lkx`b_0PqZ4U9gJ8!Jm6R^V*AQLQI=_EzqHHKENDgZZKGYzD@u z02k4UT84+0A%yKr#fT~&O~KOut7_T0qMgkv6I)-Q0zXZ}rCz6|-aq+Lq& zx5;!|n1J_8c`aYqlIKn?2{N$(v{cFEqX(~2y%QW5y1*z6uUssk4062=i=J@f-h6MK zcSS+R;B&9I=4IOI%E_@x67GHpm_~$H0pb6t47wy*7T#RmB#O-`cwx$97b6!-yd_cy zyBLe$q&R9<#67)%T62sA7T?bOIU9QkF6X=++*q|D0WqlkF?w$6aAn$qDepi$h5eG6 zX}Kfi&-K)Yl{=f7xwTjSqK8Np)aCQKS1lB>r=pR@XmyCMtmwSx%KTs>lugli`h=w`J>~#D!!m#-j zD_6kVZHzHnOX@s4v%@>VkoXPGu4u=0+m$qTmRTFnJXduEQWCKYUY19hFby=(Z0b*h zS}=g(Bw%5j0$2`Y!pv(|3RBR2tt3I@Dd%36O%`(oq(D9rA^=Ff)tC@Eo6E&mi262^ zaUUAb_9MRnFfU-pX87pMCTvap$&#-Wwr~?cv4l=^!gZE^tLvO{r9^kB3+E`xYJ*>~ z2wCXdEhNGmKn^8dingM73rDBWFHitx#b|*%?9>Z-I}J?CyXfZ|RZ@Scah-I3_<(#-RE`@y)M3V<9jj?lG zIP8-|PwjoZp2kbEbvQS{_AeF?j*B=w^W#GaHH9wTe8SLmocVkjbr~VaBmq51csR3* zJi*)95NAUXeq=3GWC?>}by1cH^neHuQnIu>>#FVr%_Kb@*W@S2jAu0_{k-qeeyW)I zOY9)NEM-xJdB7iMf7P?Pnv#7gFK)FN9&W6iD9zc{czJs+nHq8gwCdoW(d$8^syb~H zb$6$Mg3f{~4kHV#_4c)Kw^;-annSRfK1!)j;WJWJ)0PXw`EVEk^^!FjBcZ_vy-`=U z?borIeOG7gxm?A5355PW?^7XRyXu5oFI|lB@Qy(YmXr9lF6zL^aL^))wf4?SpfsYx zbdKBn4%3BZ35dmiwo6=*{q;>D&;<>h?9sOf=X-}U zj%X4&a<+>`1v2c)?WJvJ6m4w{v^M-|`It~W1pT^fcNc1so!`NIxCzK(dA}1<3u{)M zf{$a-VSGzjB9t*^*~+T{v)hZ%>FYdy)bI{d4r(t}{i%+|lAFmEOI(mZaud9=)CIF# zg;8d64mU$7>#-5C@QD$Q6Rl&&sQOF7nBIFI1u3fv1d z{C;Do2-r7N_m$D!kC~Gxb!lMcfVZ%h0;Z-|NYlF&xZg%Zs|F3!If%! z;8BlnEwLlsub9307<(YT*fY*CgJg&&a|EG$#OL}zD$QD z#YV$oT>can${TG3Xbx`tDJZ;U&BpVWI5WwzV4LF^yjB@Y3ed++d^4>@mTXhT!0w_| zK&2HUoU|bdW45#!iICw6&m>Hbw2B(=XQRX^yggt=FB<;LNlqhrzTFqCMUS;%tS(nc z%tu@ zs41FVeY)awoepBT+l66ZW)6_28JJFzeV*P)@E~(2SMC-H4B=!(!x`%=}SxH;yYQ4wHca?u!$@{4=@3sfb*E`@sd%~JgSVH zI{nuB^vikuV3*el58&CgHwmdL&2E>vlYzxTV;L%~cr^mJD+*_4+gVnQ6^|7?eGTLT zL*#vMnikfK*{|w(+!nae=Yu&amBg`{&{j_(Pu2ZKtn}l$;Cj zujEy8Xvxu-4+2y+Qha(4Zxl@txYSreUZrOL8|&kE#&_F`zuC0#FO_CA-Cm5OAS!<9 z9nC1y5gG1u;m%D|R@%`g{W{CDc{rW*xz&T9dcY-R*u(A zjfD+X=$89h=k^_2k+y*JXeN12UZSxkcfRD^5e+mCDFds~!;DxMIpc5jHsWjujA$!( z2(OejnLH>s+wp5#5T10+NOa*|+v8=q_Rd{(KqeLx3o%)<(nScbNm0*^)i+rt)*&H+ z=|~;hqr3*~>VE%N?D_mvr*QandYo~W<@i7-cu?_8tWOOI&zK|5#z0g;+_wr=g0$aP z9P<8kuAo|*T}4ZrMkZ*d)t_uR{96bjF+BI5ah8tF5bS;6?n?=f_I5k6_z%m!2M|WR z&M%kX6NRx3`ZC!9VadRxBG+t5I`RYa1~O6Ef3fI(0ho(+WH@Gw@XSCAcRaT15TU9O z?}+6~C?Y!9voqFp%@Q!HxI5qN7Ep+<52OeBe2CUR>Yl>>D^CusO4({l+&9Lf1*|L# zg_e+Bvn%X6YaVDmCA-}CamOO!t^fn@CIRp*N4U9A1L z5A47KB%^vqoiCFa0=vG(TcBbLv@zY`+(YM~$&!Y8uWM!ogfhTgKcJz4A|1d_h^cGKCwePo>hIkp=a&#(N)V2tGC|01z%>#b~R z7^RPO^0z;P<-N!KVJFAB7Ke;f9O#trqaaGpXoB6`GanhV5k&&T(mCMYlL7iok9rRi zv1D$}S|HRnZ7Wiq2LPn3K0|Udg%uKGmDNz(Y(}Opl-zpO(_zpHIXYfJc zBJhc31{ar#u?zmVOYMg3wNBY04D?U!Sg)U}E507>1Yr-&`Utfl1sI%diO<>KPIOZC zLP)4ZSmqF*MqCL?5gkr3kVke~u(JAaipPX*G{U?oFmzW3x-=k{8pH}oVY)?rzR`bm zcATzWOSNqB9gA|rx#ECb0yV}VC9bm1`|#%Ps#$R+HDy5vUly5^{L%NQ7uV{K;<_jk zx~GbYyXw#u`5B6m7&H18M=jvaXH)83Qzw>e9Vzy;u@yQ|O|X@qj6t@8`1Fj0lKk}0 zM8@pw(E{770-|S^&Cfm*&jg>(+KY?&Qjsjc5IS*xNOtiL`!98y)fl@ijG@WfmBYQ$ zhIV&X6`Kf04hHTmj262Q)EA5<^8a)11<{~bXwHv2w)bsFeQGIH&-!iE@$52`Z14nF zP&cXn37>Lo^BMOS2GOevM8(+`_Lh~_;aSYAZ()9HY3cd#>s=*)VmK{sK+#WGeJnNh zvY$q6z3STHEn}oQ(8V?#h#r*d>|0`EgkODvepYYHrm&h=pWUGREPC!h!IjIW?(jOE zb?Hj!S~z^%{!t@7_YqaFMvD3^BLpy4=prBbr5 zhvtx8f7xb#ZSWu&>Lh{!vg~ebrL{}8lfHPfA+(em^{yxO>w}+Pm&w@`GgkdaPf;I) zC!hTR$2avGTqq0sA7~@ii4C^%nw!40{d#x}Na`e$>*QRCVikjx3@fUP4xuw%o}@U= zdlke!--&k#-l*mX`>G>aS^}F(ispCs;!ShK#c5xB3h-C=-*um>|2=)}tb$v5b)clE=+AZvr4J{ViVBi4Y-yCUx_|re7#_)= zf%@jR1iS6pnna9LtAt(i3DbG}$;`ok6@}qRzm4nEKOsw>d~dU-=F?* z;z8&N#)a)+caMf6rna5DnsRI8#52CC1Ne?DaiH{#-{5tXL`~<}JFy*N9ZJsK+5J2= zX|mzvZ>YrWO#q_Dg%}}xCVgdatn{K6b1G4Pf$6a#AGonC{-V8wGVI_=Cwc{l*>kstm#YK>h;XS@VBzcJRGUXN&Ki=mbGTpsBGC+1Q?q;_{dP> z{Xl+>2SRA8A4kTH-EF~o4elDjtX~tWq(~`q{KetEJF!8_m=479a;4rODqV_I1p18a z+5hx4%^jqmn>@H<+?9Sb>Cx%Hp-8UdZjvitF%t0X8y)guJTLFW-e1Z089tM1Mh}HL z#Xm{{Z9PN*^;VTTD?7G6l-+HS{alF9eh{`WhcpvAGe-9 zg)Evozakh@&|{%qKLh>1-AQwup2MvTZ~TEP*%m;9d{ScK0m)$bHGgi~#CHCopCYxp zJ7b70lVu*?ej+3_4w2#3xXK;QzL&(fG0GEg)=JYYFWUmcJY06!_6WZFmZMC zMhGzv{_?A z3MuN(Brov(GtDMktkA`cpa3f09G_2*>xSEoE(+TNWA@q%I==##X!e&jy$oAWEmx4E z!5u<{KhvMr(Qan`X@tJmr4teCPOV!u?)>FtF)!JmKT8y*7tk-EDEfZ5-8dRG25PEB zIoH387X~}m?^z1{;XEU@ECC041O|R(kax(xj>~QlIAyw9O3}=2WLSSE&ud5R*NRom z&r~328S2Dj_#B{0!Wl^l!pOyge$IuQwlFG<%nE>goT!0PhWzP^c~npm&T>=yPH11# zwSYR;B@lzsQx2FWG`sm>;q)cv{wrq8+@P%yUw2Z^-ct6+Lbdy8iyh{uB*fdp+uw_- zKgH-9j+tpBQ-zx;xq|VVCGQ@D4FYmlZg9V{47lKU>@|1g`mEs5>LaXXQR6o-VDeor zd2R%ua6j`3cXK0r-)v0d(zfTG3ien_S-f%(3MqfkQ~!o}y5D|Vnhj&^?FN#$sg)4T zcCNp7r6J@6ZwNwP7@;q5zhKZA@9wcmYX0=6sei)agf2D}NB}Bmq2;i1|C1NsSY0U# zc{`fsZ&VQD$rr+*#UJUhX)WrCZ@G15>aGatrZe*gYh35Cd<#DjC`k@MlKtPSm^z

    + + + + + @@ -16,59 +21,233 @@ - - - - - - - - + + - - - - + + + + - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java index aa87cf7a2b7..938592368f8 100644 --- a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java +++ b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.java @@ -36,14 +36,17 @@ package mage.client.tournament; import java.awt.*; import java.awt.event.ActionEvent; +import java.text.DateFormat; import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; +import javafx.scene.layout.Pane; import javax.swing.*; import javax.swing.table.AbstractTableModel; import mage.client.MageFrame; +import mage.client.MagePane; import mage.client.chat.ChatPanel; import mage.client.util.ButtonColumn; import mage.remote.Session; @@ -66,6 +69,8 @@ public class TournamentPanel extends javax.swing.JPanel { private TournamentPlayersTableModel playersModel; private TournamentMatchesTableModel matchesModel; private UpdateTournamentTask updateTask; + private boolean titleSet = false; + private DateFormat df; /** Creates new form TournamentPanel */ public TournamentPanel() { @@ -74,6 +79,8 @@ public class TournamentPanel extends javax.swing.JPanel { initComponents(); + df = DateFormat.getDateTimeInstance(); + tablePlayers.createDefaultColumnsFromModel(); tableMatches.createDefaultColumnsFromModel(); @@ -95,6 +102,7 @@ public class TournamentPanel extends javax.swing.JPanel { } }; + // replay button, don't delete this ButtonColumn buttonColumn = new ButtonColumn(tableMatches, action, 6); } @@ -128,6 +136,31 @@ public class TournamentPanel extends javax.swing.JPanel { } public void update(TournamentView tournament) { + + if (!titleSet) { + Component c = this.getParent(); + while (c != null && !(c instanceof TournamentPane)) { + c = c.getParent(); + } + if (c != null) { + ((TournamentPane)c).setTitle("Tournament [" + tournament.getTournamentName() +"]"); + } + titleSet = true; + } + + txtName.setText(tournament.getTournamentName()); + txtType.setText(tournament.getTournamentType()); + + txtStartTime.setText(df.format(tournament.getStartTime())); + + if (tournament.getEndTime() != null) { + txtEndTime.setText(df.format(tournament.getEndTime())); + btnCloseWindow.setVisible(true); + } else { + txtEndTime.setText("running..."); + btnCloseWindow.setVisible(false); + } + playersModel.loadData(tournament); matchesModel.loadData(tournament); this.tablePlayers.repaint(); @@ -144,8 +177,9 @@ public class TournamentPanel extends javax.swing.JPanel { } public void stopTasks() { - if (updateTask != null) + if (updateTask != null) { updateTask.cancel(true); + } } /** This method is called from within the constructor to @@ -157,46 +191,175 @@ public class TournamentPanel extends javax.swing.JPanel { // //GEN-BEGIN:initComponents private void initComponents() { - chatPanel1 = new mage.client.chat.ChatPanel(); + actionPanel = new javax.swing.JPanel(); + lblName = new javax.swing.JLabel(); + txtName = new javax.swing.JTextField(); + lblType = new javax.swing.JLabel(); + txtType = new javax.swing.JTextField(); + lblStartTime = new javax.swing.JLabel(); + txtStartTime = new javax.swing.JTextField(); + lablEndTime = new javax.swing.JLabel(); + txtEndTime = new javax.swing.JTextField(); + btnCloseWindow = new javax.swing.JButton(); + jSplitPane2 = new javax.swing.JSplitPane(); + jSplitPane1 = new javax.swing.JSplitPane(); jScrollPane1 = new javax.swing.JScrollPane(); tablePlayers = new javax.swing.JTable(); jScrollPane2 = new javax.swing.JScrollPane(); tableMatches = new javax.swing.JTable(); + chatPanel1 = new mage.client.chat.ChatPanel(); + + setPreferredSize(new java.awt.Dimension(908, 580)); + + lblName.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + lblName.setText("Name:"); + + txtName.setEditable(false); + txtName.setHorizontalAlignment(javax.swing.JTextField.LEFT); + txtName.setText("tournament name"); + txtName.setFocusable(false); + txtName.setMaximumSize(new java.awt.Dimension(50, 22)); + + lblType.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + lblType.setText("Type:"); + + txtType.setEditable(false); + txtType.setHorizontalAlignment(javax.swing.JTextField.LEFT); + txtType.setText("tournament type"); + txtType.setFocusable(false); + + lblStartTime.setText("Start time:"); + + txtStartTime.setEditable(false); + txtStartTime.setHorizontalAlignment(javax.swing.JTextField.CENTER); + txtStartTime.setText("jTextField1"); + txtStartTime.setFocusable(false); + + lablEndTime.setText("End time:"); + + txtEndTime.setEditable(false); + txtEndTime.setHorizontalAlignment(javax.swing.JTextField.CENTER); + txtEndTime.setText("jTextField2"); + txtEndTime.setFocusable(false); + + btnCloseWindow.setText("Close Window"); + btnCloseWindow.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); + btnCloseWindow.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + btnCloseWindowActionPerformed(evt); + } + }); + + javax.swing.GroupLayout actionPanelLayout = new javax.swing.GroupLayout(actionPanel); + actionPanel.setLayout(actionPanelLayout); + actionPanelLayout.setHorizontalGroup( + actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(actionPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(lblName) + .addComponent(lblType)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(txtName, javax.swing.GroupLayout.DEFAULT_SIZE, 260, Short.MAX_VALUE) + .addComponent(txtType)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(actionPanelLayout.createSequentialGroup() + .addComponent(lablEndTime) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(txtEndTime)) + .addGroup(actionPanelLayout.createSequentialGroup() + .addComponent(lblStartTime) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(txtStartTime, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(btnCloseWindow, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + actionPanelLayout.setVerticalGroup( + actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(actionPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblName, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblStartTime) + .addComponent(txtStartTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(9, 9, 9) + .addGroup(actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblType) + .addComponent(txtType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lablEndTime) + .addComponent(txtEndTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(btnCloseWindow)) + .addGap(0, 14, Short.MAX_VALUE)) + ); + + jSplitPane2.setResizeWeight(1.0); + jSplitPane2.setToolTipText(""); + + jSplitPane1.setDividerLocation(230); + jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); + jSplitPane1.setResizeWeight(0.5); + + jScrollPane1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); + jScrollPane1.setPreferredSize(new java.awt.Dimension(400, 100)); tablePlayers.setModel(this.playersModel); jScrollPane1.setViewportView(tablePlayers); + jSplitPane1.setTopComponent(jScrollPane1); + + jScrollPane2.setPreferredSize(new java.awt.Dimension(400, 100)); + tableMatches.setModel(matchesModel); jScrollPane2.setViewportView(tableMatches); + jSplitPane1.setBottomComponent(jScrollPane2); + + jSplitPane2.setLeftComponent(jSplitPane1); + jSplitPane2.setRightComponent(chatPanel1); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 573, Short.MAX_VALUE) - .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 573, Short.MAX_VALUE)) - .addGap(0, 0, 0) - .addComponent(chatPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(actionPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jSplitPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 908, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 262, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, 0) - .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 260, Short.MAX_VALUE)) - .addComponent(chatPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 522, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addComponent(actionPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jSplitPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 489, Short.MAX_VALUE)) ); }// //GEN-END:initComponents + private void btnCloseWindowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCloseWindowActionPerformed + hideTournament(); + }//GEN-LAST:event_btnCloseWindowActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JPanel actionPanel; + private javax.swing.JButton btnCloseWindow; private mage.client.chat.ChatPanel chatPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JSplitPane jSplitPane1; + private javax.swing.JSplitPane jSplitPane2; + private javax.swing.JLabel lablEndTime; + private javax.swing.JLabel lblName; + private javax.swing.JLabel lblStartTime; + private javax.swing.JLabel lblType; private javax.swing.JTable tableMatches; private javax.swing.JTable tablePlayers; + private javax.swing.JTextField txtEndTime; + private javax.swing.JTextField txtName; + private javax.swing.JTextField txtStartTime; + private javax.swing.JTextField txtType; // End of variables declaration//GEN-END:variables } @@ -237,8 +400,9 @@ class TournamentPlayersTableModel extends AbstractTableModel { public String getColumnName(int columnIndex) { String colName = ""; - if (columnIndex <= getColumnCount()) + if (columnIndex <= getColumnCount()) { colName = columnNames[columnIndex]; + } return colName; } @@ -308,8 +472,9 @@ class TournamentMatchesTableModel extends AbstractTableModel { public String getColumnName(int columnIndex) { String colName = ""; - if (columnIndex <= getColumnCount()) + if (columnIndex <= getColumnCount()) { colName = columnNames[columnIndex]; + } return colName; } @@ -321,8 +486,9 @@ class TournamentMatchesTableModel extends AbstractTableModel { @Override public boolean isCellEditable(int rowIndex, int columnIndex) { - if (columnIndex != 6) + if (columnIndex != 6) { return false; + } return true; } diff --git a/Mage.Common/src/mage/view/TournamentView.java b/Mage.Common/src/mage/view/TournamentView.java index af5800fa13b..ad113af0ebc 100644 --- a/Mage.Common/src/mage/view/TournamentView.java +++ b/Mage.Common/src/mage/view/TournamentView.java @@ -30,6 +30,7 @@ package mage.view; import java.io.Serializable; import java.util.ArrayList; +import java.util.Date; import java.util.List; import mage.game.tournament.Round; import mage.game.tournament.Tournament; @@ -42,10 +43,23 @@ import mage.game.tournament.TournamentPlayer; public class TournamentView implements Serializable { private static final long serialVersionUID = 1L; - List rounds = new ArrayList(); - List players = new ArrayList(); + private String tournamentName; + private String tournamentType; + + private Date startTime; + private Date endTime; + + + private List rounds = new ArrayList(); + private List players = new ArrayList(); public TournamentView(Tournament tournament) { + + tournamentName = tournament.getOptions().getName(); + tournamentType = tournament.getOptions().getTournamentType(); + startTime = tournament.getStartTime(); + endTime = tournament.getEndTime(); + for (TournamentPlayer player: tournament.getPlayers()) { players.add(new TournamentPlayerView(player)); } @@ -54,6 +68,22 @@ public class TournamentView implements Serializable { } } + public String getTournamentName() { + return tournamentName; + } + + public String getTournamentType() { + return tournamentType; + } + + public Date getStartTime() { + return startTime; + } + + public Date getEndTime() { + return endTime; + } + public List getPlayers() { return players; } From 8ca1641c12eec183603cb5b8c8c24aca7a9807fc Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 23:51:51 +0200 Subject: [PATCH 138/139] * Leechridden Swamp - Fixed missing tap source cost. --- Mage.Sets/src/mage/sets/shadowmoor/LeechriddenSwamp.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Mage.Sets/src/mage/sets/shadowmoor/LeechriddenSwamp.java b/Mage.Sets/src/mage/sets/shadowmoor/LeechriddenSwamp.java index b9272bbc36f..725ce23cf42 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/LeechriddenSwamp.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/LeechriddenSwamp.java @@ -69,6 +69,7 @@ public class LeechriddenSwamp extends CardImpl { // {B}, {tap}: Each opponent loses 1 life. Activate this ability only if you control two or more black permanents. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LeechriddenSwampLoseLifeEffect(), new ManaCostsImpl("{B}")); + ability.addCost(new TapSourceCost()); ability.addCost(new ControlTwoOrMoreBlackPermanentsCost()); this.addAbility(ability); } From 64bb951cc6977e21da73bf44401e9a9912c80879 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 30 Jun 2013 08:35:51 +0200 Subject: [PATCH 139/139] * Prison Term - Fixed tht the enchantment did not move to new creature caused by bug in EntersBattlefieldAllTriggeredAbility. --- .../abilities/common/EntersBattlefieldAllTriggeredAbility.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Mage/src/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java b/Mage/src/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java index 2518a34f4a4..510fd276492 100644 --- a/Mage/src/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java @@ -86,11 +86,12 @@ public class EntersBattlefieldAllTriggeredAbility extends TriggeredAbilityImpl { this.setTargetPointer = setTargetPointer; } - public EntersBattlefieldAllTriggeredAbility(EntersBattlefieldAllTriggeredAbility ability) { + public EntersBattlefieldAllTriggeredAbility(final EntersBattlefieldAllTriggeredAbility ability) { super(ability); this.filter = ability.filter; this.rule = ability.rule; this.controlled = ability.controlled; + this.setTargetPointer = ability.setTargetPointer; } @Override

    7( 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 literal 0 HcmV?d00001 From 8435bfaa6fae752e83b63221c40db3b3f5341d0e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 13:26:00 +0200 Subject: [PATCH 022/139] * Binding Angel - Fixed the bug, that the "skip next combat phase" ability did not work. --- Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java b/Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java index 039550ef59b..0d2309162e7 100644 --- a/Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java +++ b/Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java @@ -36,11 +36,13 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.constants.TurnPhase; import mage.game.Game; import mage.game.turn.TurnMod; +import mage.players.Player; /** * @@ -80,15 +82,15 @@ class SkipNextCombatEffect extends OneShotEffect { staticText = "that player skips his or her next combat phase"; } - public SkipNextCombatEffect(SkipNextCombatEffect effect) { + public SkipNextCombatEffect(final SkipNextCombatEffect effect) { super(effect); } @Override public boolean apply(Game game, Ability source) { - UUID targetId = source.getFirstTarget(); - if (targetId != null) { - game.getState().getTurnMods().add(new TurnMod(targetId, TurnPhase.COMBAT, null, true)); + Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); + if (player != null) { + game.getState().getTurnMods().add(new TurnMod(player.getId(), TurnPhase.COMBAT, null, true)); return true; } return false; @@ -96,6 +98,6 @@ class SkipNextCombatEffect extends OneShotEffect { @Override public SkipNextCombatEffect copy() { - return new SkipNextCombatEffect(); + return new SkipNextCombatEffect(this); } } \ No newline at end of file From ef83ec2874b3cf7692bc463f7c1fcbb5c342fa80 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 13:28:09 +0200 Subject: [PATCH 023/139] Set the server release log level property to warn. --- Mage.Server/release/config/log4j.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Server/release/config/log4j.properties b/Mage.Server/release/config/log4j.properties index 932d8c71066..6a3d87231f1 100644 --- a/Mage.Server/release/config/log4j.properties +++ b/Mage.Server/release/config/log4j.properties @@ -1,5 +1,5 @@ #default levels -log4j.rootLogger=info, console, logfile +log4j.rootLogger=warn, console, logfile #console log log4j.appender.console=org.apache.log4j.ConsoleAppender From 9c6db9405aadc48a1afa926afe0a05c1951dd61d Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 15:14:53 +0200 Subject: [PATCH 024/139] * UnearthAbility - Fixed that unearthed creatures had no haste. --- .../abilities/effects/ContinuousEffects.java | 3 +- .../effects/common/SacrificeTargetEffect.java | 2 +- .../continious/GainAbilitySourceEffect.java | 6 +-- .../abilities/keyword/UnearthAbility.java | 38 +++++++++++-------- 4 files changed, 28 insertions(+), 21 deletions(-) diff --git a/Mage/src/mage/abilities/effects/ContinuousEffects.java b/Mage/src/mage/abilities/effects/ContinuousEffects.java index 11c7cbce8e1..b08a3fa92a0 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffects.java @@ -156,7 +156,8 @@ public class ContinuousEffects implements Serializable { case WhileInGraveyard: HashSet abilities = layeredEffects.getAbility(effect.getId()); for (Ability ability: abilities) { - if (ability.isInUseableZone(game, null, false)) { + // If e.g. triggerd abilities (non static) created the effect, the ability must not be in usable zone (e.g. Unearth giving Haste effect) + if (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, false)) { layerEffects.add(effect); break; } diff --git a/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java b/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java index 4611df4260f..353aeba46ae 100644 --- a/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/SacrificeTargetEffect.java @@ -75,7 +75,7 @@ public class SacrificeTargetEffect extends OneShotEffect @Override public String getText(Mode mode) { - if ("".equals(staticText) && !mode.getTargets().isEmpty()) { + if (staticText.isEmpty() && !mode.getTargets().isEmpty()) { if (mode.getTargets().get(0).getNumberOfTargets() == 1) { return "The controller of target " + mode.getTargets().get(0).getTargetName() + " sacrifices it"; } else { diff --git a/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java b/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java index a18465d7c56..978705f07ee 100644 --- a/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java @@ -28,12 +28,12 @@ package mage.abilities.effects.common.continious; +import mage.abilities.Ability; +import mage.abilities.effects.ContinuousEffectImpl; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; import mage.constants.SubLayer; -import mage.abilities.Ability; -import mage.abilities.effects.ContinuousEffectImpl; import mage.game.Game; import mage.game.permanent.Permanent; @@ -73,7 +73,7 @@ public class GainAbilitySourceEffect extends ContinuousEffectImpl { - protected boolean unearthed; - public UnearthAbility(ManaCosts costs) { super(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(), costs); this.timing = TimingRule.SORCERY; @@ -64,7 +72,6 @@ public class UnearthAbility extends ActivatedAbilityImpl { public UnearthAbility(final UnearthAbility ability) { super(ability); - this.unearthed = ability.unearthed; } @Override @@ -72,13 +79,12 @@ public class UnearthAbility extends ActivatedAbilityImpl { return new UnearthAbility(this); } - public boolean isUnearthed() { - return unearthed; - } - @Override public String getRule() { - return "Unearth " + super.getRule(); + StringBuilder sb = new StringBuilder("Unearth ").append(this.getManaCosts().getText()); + sb.append(" (").append(this.getManaCosts().getText()); + sb.append(": Return this card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery.)"); + return sb.toString(); } } @@ -133,8 +139,9 @@ class UnearthLeavesBattlefieldEffect extends ReplacementEffectImpl Date: Tue, 18 Jun 2013 15:15:24 +0200 Subject: [PATCH 025/139] Added Brackwater Elemental, Kathari Momber. --- .../mage/sets/alarareborn/KathariBomber.java | 80 +++++++++++++ .../sets/conflux/BrackwaterElemental.java | 108 ++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/KathariBomber.java create mode 100644 Mage.Sets/src/mage/sets/conflux/BrackwaterElemental.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/KathariBomber.java b/Mage.Sets/src/mage/sets/alarareborn/KathariBomber.java new file mode 100644 index 00000000000..274527612db --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/KathariBomber.java @@ -0,0 +1,80 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.UnearthAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.game.permanent.token.GoblinToken; + +/** + * + * @author LevelX2 + */ +public class KathariBomber extends CardImpl { + + public KathariBomber(UUID ownerId) { + super(ownerId, 41, "Kathari Bomber", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{B}{R}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Bird"); + this.subtype.add("Shaman"); + + this.color.setRed(true); + this.color.setBlack(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // When Kathari Bomber deals combat damage to a player, put two 1/1 red Goblin creature tokens onto the battlefield and sacrifice Kathari Bomber. + Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new CreateTokenEffect(new GoblinToken(), 2), false); + ability.addEffect(new SacrificeSourceEffect()); + this.addAbility(ability); + + // Unearth {3}{B}{R} + this.addAbility(new UnearthAbility(new ManaCostsImpl("{3}{B}{R}"))); + } + + public KathariBomber(final KathariBomber card) { + super(card); + } + + @Override + public KathariBomber copy() { + return new KathariBomber(this); + } +} diff --git a/Mage.Sets/src/mage/sets/conflux/BrackwaterElemental.java b/Mage.Sets/src/mage/sets/conflux/BrackwaterElemental.java new file mode 100644 index 00000000000..b6b5c4ec8df --- /dev/null +++ b/Mage.Sets/src/mage/sets/conflux/BrackwaterElemental.java @@ -0,0 +1,108 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.conflux; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.DelayedTriggeredAbility; +import mage.abilities.common.AttacksOrBlocksTriggeredAbility; +import mage.abilities.common.delayed.AtEndOfTurnDelayedTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.SacrificeTargetEffect; +import mage.abilities.keyword.UnearthAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author LevelX2 + */ +public class BrackwaterElemental extends CardImpl { + + public BrackwaterElemental(UUID ownerId) { + super(ownerId, 21, "Brackwater Elemental", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{U}"); + this.expansionSetCode = "CON"; + this.subtype.add("Elemental"); + + this.color.setBlue(true); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Brackwater Elemental attacks or blocks, sacrifice it at the beginning of the next end step. + this.addAbility(new AttacksOrBlocksTriggeredAbility(new BrackwaterElementalSacrificeEffect(), false)); + // Unearth {2}{U} + this.addAbility(new UnearthAbility(new ManaCostsImpl("{2}{U}"))); + } + + public BrackwaterElemental(final BrackwaterElemental card) { + super(card); + } + + @Override + public BrackwaterElemental copy() { + return new BrackwaterElemental(this); + } +} + +class BrackwaterElementalSacrificeEffect extends OneShotEffect { + + public BrackwaterElementalSacrificeEffect() { + super(Outcome.Sacrifice); + this.staticText = "sacrifice it at the beginning of the next end step"; + } + + public BrackwaterElementalSacrificeEffect(final BrackwaterElementalSacrificeEffect effect) { + super(effect); + } + + @Override + public BrackwaterElementalSacrificeEffect copy() { + return new BrackwaterElementalSacrificeEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent sourcePermanent = game.getPermanent(source.getSourceId()); + if (sourcePermanent != null) { + SacrificeTargetEffect sacrificeEffect = new SacrificeTargetEffect("sacrifice {this}"); + sacrificeEffect.setTargetPointer(new FixedTarget(sourcePermanent.getId())); + DelayedTriggeredAbility delayedAbility = new AtEndOfTurnDelayedTriggeredAbility(sacrificeEffect); + delayedAbility.setSourceId(source.getSourceId()); + delayedAbility.setControllerId(source.getControllerId()); + game.addDelayedTriggeredAbility(delayedAbility); + } + return false; + } +} From f62d9a9a9439c6ce378b53adb8f736a1104a41d3 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 17:15:51 +0200 Subject: [PATCH 026/139] * Added DelveAbility. --- .../mage/abilities/keyword/DelveAbility.java | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 Mage/src/mage/abilities/keyword/DelveAbility.java diff --git a/Mage/src/mage/abilities/keyword/DelveAbility.java b/Mage/src/mage/abilities/keyword/DelveAbility.java new file mode 100644 index 00000000000..a1769b614b7 --- /dev/null +++ b/Mage/src/mage/abilities/keyword/DelveAbility.java @@ -0,0 +1,111 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.abilities.keyword; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.AdjustingSourceCosts; +import mage.cards.Card; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetCardInYourGraveyard; +import mage.util.CardUtil; + + +/** + * 702.64. Delve + * + * 702.64a Delve is a static ability that functions while the spell that has delve is on + * the stack. "Delve" means "As an additional cost to cast this spell, you may exile any + * number of cards from your graveyard. Each card exiled this way reduces the cost to cast + * this spell by {1}." Using the delve ability follows the rules for paying additional + * costs in rules 601.2b and 601.2e-g. # + * + * 702.64b Multiple instances of delve on the same spell are redundant. + * + * @author LevelX2 + * + */ + + public class DelveAbility extends SimpleStaticAbility implements AdjustingSourceCosts { + + public DelveAbility() { + super(Zone.STACK, null); + this.setRuleAtTheTop(true); + } + + public DelveAbility(final DelveAbility ability) { + super(ability); + } + + @Override + public DelveAbility copy() { + return new DelveAbility(this); + } + + @Override + public void adjustCosts(Ability ability, Game game) { + Player player = game.getPlayer(controllerId); + if (player == null || !(ability instanceof SpellAbility)) { + return; + } + Target target = new TargetCardInYourGraveyard(1, Integer.MAX_VALUE, new FilterCard()); + target.setTargetName("cards to delve from your graveyard"); + if (!target.canChoose(sourceId, controllerId, game)) { + return; + } + if (player.chooseUse(Outcome.Detriment, "Delve cards from your graveyard?", game)) { + player.chooseTarget(Outcome.Detriment, target, ability, game); + if (target.getTargets().size() > 0) { + int adjCost = 0; + for (UUID cardId: target.getTargets()) { + Card card = game.getCard(cardId); + if (card == null) { + continue; + } + card.moveToExile(null, null, this.getSourceId(), game); + ++adjCost; + } + game.informPlayers(new StringBuilder(player.getName()).append(" delved ") + .append(adjCost).append(" creature").append(adjCost != 1?"s":"").append(" from his or her graveyard").toString()); + CardUtil.adjustCost((SpellAbility)ability, adjCost); + } + } + } + + @Override + public String getRule() { + return "Delve (You may exile any number of cards from your graveyard as you cast this spell. It costs {1} less to cast for each card exiled this way.)"; + } +} From 25495bd9d874c79b322092dd8ac19edd4e3596f2 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 17:16:27 +0200 Subject: [PATCH 027/139] [MMA] Added 6 cards. --- .../mage/sets/dissension/TrygonPredator.java | 52 ++++++ .../mage/sets/futuresight/DeathRattle.java | 54 +++++++ .../src/mage/sets/futuresight/LogicKnot.java | 52 ++++++ .../mage/sets/futuresight/MoltenDisaster.java | 52 ++++++ .../mage/sets/futuresight/Tombstalker.java | 52 ++++++ .../mage/sets/modernmasters/DeathRattle.java | 76 +++++++++ .../sets/modernmasters/DemigodOfRevenge.java | 52 ++++++ .../mage/sets/modernmasters/LogicKnot.java | 67 ++++++++ .../sets/modernmasters/MoltenDisaster.java | 152 ++++++++++++++++++ .../mage/sets/modernmasters/Tombstalker.java | 70 ++++++++ .../sets/modernmasters/TrygonPredator.java | 121 ++++++++++++++ .../sets/shadowmoor/DemigodOfRevenge.java | 145 +++++++++++++++++ 12 files changed, 945 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/TrygonPredator.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/DeathRattle.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/LogicKnot.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/MoltenDisaster.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/Tombstalker.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/DeathRattle.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/DemigodOfRevenge.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/LogicKnot.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/MoltenDisaster.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/Tombstalker.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/TrygonPredator.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/DemigodOfRevenge.java diff --git a/Mage.Sets/src/mage/sets/dissension/TrygonPredator.java b/Mage.Sets/src/mage/sets/dissension/TrygonPredator.java new file mode 100644 index 00000000000..e1417dabe0b --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/TrygonPredator.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.dissension; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class TrygonPredator extends mage.sets.modernmasters.TrygonPredator { + + public TrygonPredator(UUID ownerId) { + super(ownerId); + this.cardNumber = 133; + this.expansionSetCode = "DIS"; + } + + public TrygonPredator(final TrygonPredator card) { + super(card); + } + + @Override + public TrygonPredator copy() { + return new TrygonPredator(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/DeathRattle.java b/Mage.Sets/src/mage/sets/futuresight/DeathRattle.java new file mode 100644 index 00000000000..a7bda35110d --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/DeathRattle.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class DeathRattle extends mage.sets.modernmasters.DeathRattle { + + public DeathRattle(UUID ownerId) { + super(ownerId); + this.cardNumber = 82; + this.expansionSetCode = "FUT"; + this.rarity = Rarity.COMMON; + } + + public DeathRattle(final DeathRattle card) { + super(card); + } + + @Override + public DeathRattle copy() { + return new DeathRattle(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/LogicKnot.java b/Mage.Sets/src/mage/sets/futuresight/LogicKnot.java new file mode 100644 index 00000000000..4b5bb17b2d0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/LogicKnot.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class LogicKnot extends mage.sets.modernmasters.LogicKnot { + + public LogicKnot(UUID ownerId) { + super(ownerId); + this.cardNumber = 52; + this.expansionSetCode = "FUT"; + } + + public LogicKnot(final LogicKnot card) { + super(card); + } + + @Override + public LogicKnot copy() { + return new LogicKnot(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/MoltenDisaster.java b/Mage.Sets/src/mage/sets/futuresight/MoltenDisaster.java new file mode 100644 index 00000000000..84a0ce4aaa3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/MoltenDisaster.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class MoltenDisaster extends mage.sets.modernmasters.MoltenDisaster { + + public MoltenDisaster(UUID ownerId) { + super(ownerId); + this.cardNumber = 102; + this.expansionSetCode = "FUT"; + } + + public MoltenDisaster(final MoltenDisaster card) { + super(card); + } + + @Override + public MoltenDisaster copy() { + return new MoltenDisaster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/Tombstalker.java b/Mage.Sets/src/mage/sets/futuresight/Tombstalker.java new file mode 100644 index 00000000000..a36f78ec894 --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/Tombstalker.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class Tombstalker extends mage.sets.modernmasters.Tombstalker { + + public Tombstalker(UUID ownerId) { + super(ownerId); + this.cardNumber = 91; + this.expansionSetCode = "FUT"; + } + + public Tombstalker(final Tombstalker card) { + super(card); + } + + @Override + public Tombstalker copy() { + return new Tombstalker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/DeathRattle.java b/Mage.Sets/src/mage/sets/modernmasters/DeathRattle.java new file mode 100644 index 00000000000..4d78df7ea27 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/DeathRattle.java @@ -0,0 +1,76 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.DelveAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class DeathRattle extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); + static { + filter.add(Predicates.not(new ColorPredicate(ObjectColor.GREEN))); + } + + public DeathRattle(UUID ownerId) { + super(ownerId, 78, "Death Rattle", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{5}{B}"); + this.expansionSetCode = "MMA"; + + this.color.setBlack(true); + + // Delve + this.addAbility(new DelveAbility()); + + // Destroy target nongreen creature. It can't be regenerated. + this.getSpellAbility().addEffect(new DestroyTargetEffect(true)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(true)); + + } + + public DeathRattle(final DeathRattle card) { + super(card); + } + + @Override + public DeathRattle copy() { + return new DeathRattle(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/DemigodOfRevenge.java b/Mage.Sets/src/mage/sets/modernmasters/DemigodOfRevenge.java new file mode 100644 index 00000000000..d80cbcd0f73 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/DemigodOfRevenge.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class DemigodOfRevenge extends mage.sets.shadowmoor.DemigodOfRevenge { + + public DemigodOfRevenge(UUID ownerId) { + super(ownerId); + this.cardNumber = 187; + this.expansionSetCode = "MMA"; + } + + public DemigodOfRevenge(final DemigodOfRevenge card) { + super(card); + } + + @Override + public DemigodOfRevenge copy() { + return new DemigodOfRevenge(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/LogicKnot.java b/Mage.Sets/src/mage/sets/modernmasters/LogicKnot.java new file mode 100644 index 00000000000..1670de315dc --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/LogicKnot.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.common.CounterUnlessPaysEffect; +import mage.abilities.keyword.DelveAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.TargetSpell; + +/** + * + * @author LevelX2 + */ +public class LogicKnot extends CardImpl { + + public LogicKnot(UUID ownerId) { + super(ownerId, 51, "Logic Knot", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{X}{U}{U}"); + this.expansionSetCode = "MMA"; + + this.color.setBlue(true); + + // Delve + this.addAbility(new DelveAbility()); + + // Counter target spell unless its controller pays {X}. + this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new ManacostVariableValue())); + this.getSpellAbility().addTarget(new TargetSpell()); + } + + public LogicKnot(final LogicKnot card) { + super(card); + } + + @Override + public LogicKnot copy() { + return new LogicKnot(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/MoltenDisaster.java b/Mage.Sets/src/mage/sets/modernmasters/MoltenDisaster.java new file mode 100644 index 00000000000..715f485c371 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/MoltenDisaster.java @@ -0,0 +1,152 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.GainAbilitySourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.KickerAbility; +import mage.abilities.keyword.SplitSecondAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class MoltenDisaster extends CardImpl { + + public MoltenDisaster(UUID ownerId) { + super(ownerId, 123, "Molten Disaster", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{X}{R}{R}"); + this.expansionSetCode = "MMA"; + + this.color.setRed(true); + + // If Molten Disaster was kicked, it has split second. + Ability ability = new ConditionalTriggeredAbility(new MoltenDisasterTriggeredAbility(), KickedCondition.getInstance(), ""); + ability.setRuleAtTheTop(true); + this.addAbility(ability); + // Kicker {R} + this.addAbility(new KickerAbility("{R}")); + // Molten Disaster deals X damage to each creature without flying and each player. + this.getSpellAbility().addEffect(new MoltenDisasterEffect()); + } + + public MoltenDisaster(final MoltenDisaster card) { + super(card); + } + + @Override + public MoltenDisaster copy() { + return new MoltenDisaster(this); + } +} + +class MoltenDisasterTriggeredAbility extends TriggeredAbilityImpl { + + public MoltenDisasterTriggeredAbility() { + super(Zone.HAND, new GainAbilitySourceEffect(SplitSecondAbility.getInstance(), Duration.WhileOnStack), false); + } + + public MoltenDisasterTriggeredAbility(final MoltenDisasterTriggeredAbility ability) { + super(ability); + } + + @Override + public MoltenDisasterTriggeredAbility copy() { + return new MoltenDisasterTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType().equals(GameEvent.EventType.CAST_SPELL) && event.getSourceId().equals(this.getSourceId())) { + return true; + } + return false; + } + + @Override + public String getRule() { + return "If Molten Disaster was kicked, it has split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.)"; + } +} + +class MoltenDisasterEffect extends OneShotEffect { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); + + static { + filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); + } + + public MoltenDisasterEffect() { + super(Outcome.Damage); + staticText = "{this} deals X damage to each creature without flying and each player"; + } + + public MoltenDisasterEffect(final MoltenDisasterEffect effect) { + super(effect); + } + + @Override + public MoltenDisasterEffect copy() { + return new MoltenDisasterEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + int amount = source.getManaCostsToPay().getX(); + for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) { + permanent.damage(amount, source.getId(), game, true, false); + } + for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) { + Player player = game.getPlayer(playerId); + if (player != null) { + player.damage(amount, source.getSourceId(), game, false, true); + } + } + return true; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/modernmasters/Tombstalker.java b/Mage.Sets/src/mage/sets/modernmasters/Tombstalker.java new file mode 100644 index 00000000000..339b15d08c2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/Tombstalker.java @@ -0,0 +1,70 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.keyword.DelveAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class Tombstalker extends CardImpl { + + public Tombstalker(UUID ownerId) { + super(ownerId, 102, "Tombstalker", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{6}{B}{B}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Demon"); + + this.color.setBlack(true); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Delve + Ability ability = new DelveAbility(); + ability.setRuleAtTheTop(false); + this.addAbility(ability); + } + + public Tombstalker(final Tombstalker card) { + super(card); + } + + @Override + public Tombstalker copy() { + return new Tombstalker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/TrygonPredator.java b/Mage.Sets/src/mage/sets/modernmasters/TrygonPredator.java new file mode 100644 index 00000000000..29ec4f62b1d --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/TrygonPredator.java @@ -0,0 +1,121 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.permanent.ControllerIdPredicate; +import mage.game.Game; +import mage.game.events.DamagedPlayerEvent; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.players.Player; +import mage.target.TargetPermanent; + +/** + * + * @author LevelX2 + */ +public class TrygonPredator extends CardImpl { + + public TrygonPredator(UUID ownerId) { + super(ownerId, 185, "Trygon Predator", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}{U}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Beast"); + + this.color.setBlue(true); + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Whenever Trygon Predator deals combat damage to a player, you may destroy target artifact or enchantment that player controls. + this.addAbility(new TrygonPredatorTriggeredAbility()); + } + + public TrygonPredator(final TrygonPredator card) { + super(card); + } + + @Override + public TrygonPredator copy() { + return new TrygonPredator(this); + } +} + +class TrygonPredatorTriggeredAbility extends TriggeredAbilityImpl { + + public TrygonPredatorTriggeredAbility() { + super(Zone.BATTLEFIELD, new DestroyTargetEffect(), true); + } + + public TrygonPredatorTriggeredAbility(final TrygonPredatorTriggeredAbility ability) { + super(ability); + } + + @Override + public TrygonPredatorTriggeredAbility copy() { + return new TrygonPredatorTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == EventType.DAMAGED_PLAYER && event.getSourceId().equals(this.sourceId) + && ((DamagedPlayerEvent) event).isCombatDamage()) { + Player player = game.getPlayer(event.getTargetId()); + if (player != null) { + FilterPermanent filter = new FilterPermanent("an artifact or enchantment controlled by " + player.getName()); + filter.add(Predicates.or( + new CardTypePredicate(CardType.ARTIFACT), + new CardTypePredicate(CardType.ENCHANTMENT))); + filter.add(new ControllerIdPredicate(event.getTargetId())); + + this.getTargets().clear(); + this.addTarget(new TargetPermanent(filter)); + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever {this} deals combat damage to a player, you may destroy target artifact or enchantment that player controls."; + } +} diff --git a/Mage.Sets/src/mage/sets/shadowmoor/DemigodOfRevenge.java b/Mage.Sets/src/mage/sets/shadowmoor/DemigodOfRevenge.java new file mode 100644 index 00000000000..4f24697e34f --- /dev/null +++ b/Mage.Sets/src/mage/sets/shadowmoor/DemigodOfRevenge.java @@ -0,0 +1,145 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shadowmoor; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.NamePredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class DemigodOfRevenge extends CardImpl { + + public DemigodOfRevenge(UUID ownerId) { + super(ownerId, 183, "Demigod of Revenge", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{B/R}{B/R}{B/R}{B/R}{B/R}"); + this.expansionSetCode = "SHM"; + this.subtype.add("Spirit"); + this.subtype.add("Avatar"); + + this.color.setRed(true); + this.color.setBlack(true); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Haste + this.addAbility(HasteAbility.getInstance()); + // When you cast Demigod of Revenge, return all cards named Demigod of Revenge from your graveyard to the battlefield. + this.addAbility(new DemigodOfRevengeTriggeredAbility()); + } + + public DemigodOfRevenge(final DemigodOfRevenge card) { + super(card); + } + + @Override + public DemigodOfRevenge copy() { + return new DemigodOfRevenge(this); + } +} + +class DemigodOfRevengeTriggeredAbility extends TriggeredAbilityImpl { + + public DemigodOfRevengeTriggeredAbility() { + super(Zone.STACK, new DemigodOfRevengeReturnEffect(), false); + } + + public DemigodOfRevengeTriggeredAbility(final DemigodOfRevengeTriggeredAbility ability) { + super(ability); + } + + @Override + public DemigodOfRevengeTriggeredAbility copy() { + return new DemigodOfRevengeTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType().equals(GameEvent.EventType.SPELL_CAST) && event.getSourceId().equals(this.getSourceId())) { + return true; + } + return false; + } + + @Override + public String getRule() { + return "When you cast Demigod of Revenge, " + super.getRule(); + } +} + +class DemigodOfRevengeReturnEffect extends OneShotEffect { + + private static final FilterCard filter = new FilterCard(); + static { + filter.add(new NamePredicate("Demigod of Revenge")); + } + + public DemigodOfRevengeReturnEffect() { + super(Outcome.PutCreatureInPlay); + staticText = "return all cards named Demigod of Revenge from your graveyard to the battlefield"; + } + + public DemigodOfRevengeReturnEffect(final DemigodOfRevengeReturnEffect effect) { + super(effect); + } + + @Override + public DemigodOfRevengeReturnEffect copy() { + return new DemigodOfRevengeReturnEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + for (Card creature : player.getGraveyard().getCards(filter, game)) { + creature.putOntoBattlefield(game, Zone.GRAVEYARD, source.getId(), source.getControllerId()); + } + return true; + } + return false; + } +} From 1ec2b46e66ee64bb008f94ea5bbaef15b2df04fe Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 21:45:15 +0200 Subject: [PATCH 028/139] * InfectAbility - Added reminder text. --- Mage/src/mage/abilities/keyword/InfectAbility.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage/src/mage/abilities/keyword/InfectAbility.java b/Mage/src/mage/abilities/keyword/InfectAbility.java index 9b60d0a33dc..05db0001047 100644 --- a/Mage/src/mage/abilities/keyword/InfectAbility.java +++ b/Mage/src/mage/abilities/keyword/InfectAbility.java @@ -75,7 +75,7 @@ public class InfectAbility extends StaticAbility implements MageS @Override public String getRule() { - return "Infect"; + return "Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)"; } @Override From 35f1c710090b9a1707d645b36e199eeda8c181da Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 21:45:51 +0200 Subject: [PATCH 029/139] * Mirran Spy - Added the missing flying ability. --- .../src/mage/sets/mirrodinbesieged/MirranSpy.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranSpy.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranSpy.java index d998f8a1912..57d3e28dd7a 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranSpy.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranSpy.java @@ -28,12 +28,13 @@ package mage.sets.mirrodinbesieged; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.filter.FilterSpell; import mage.target.common.TargetCreaturePermanent; @@ -53,6 +54,11 @@ public class MirranSpy extends CardImpl { this.color.setBlue(true); this.power = new MageInt(1); this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever you cast an artifact spell, you may untap target creature. SpellCastTriggeredAbility ability = new SpellCastTriggeredAbility(new UntapTargetEffect(), filter, true); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); From 1be6af4b9b81602c26b2a79167e268ec49735751 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 21:47:17 +0200 Subject: [PATCH 030/139] * Conversion Chamber - Fixed the exile artifact handling that's now an effect and the effect can target artifacts in any graveyard. --- .../mage/sets/newphyrexia/ConversionChamber.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Mage.Sets/src/mage/sets/newphyrexia/ConversionChamber.java b/Mage.Sets/src/mage/sets/newphyrexia/ConversionChamber.java index 409145b31e0..af1ad6abbca 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/ConversionChamber.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/ConversionChamber.java @@ -29,23 +29,22 @@ package mage.sets.newphyrexia; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.ExileTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterArtifactCard; import mage.game.permanent.token.GolemToken; -import mage.target.common.TargetCardInYourGraveyard; +import mage.target.common.TargetCardInGraveyard; /** * @@ -56,10 +55,13 @@ public class ConversionChamber extends CardImpl { public ConversionChamber (UUID ownerId) { super(ownerId, 133, "Conversion Chamber", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); this.expansionSetCode = "NPH"; - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new GenericManaCost(2)); + // {2}, {T}: Exile target artifact card from a graveyard. Put a charge counter on Conversion Chamber. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new GenericManaCost(2)); + ability.addEffect(new AddCountersSourceEffect(CounterType.CHARGE.createInstance())); + ability.addTarget(new TargetCardInGraveyard(new FilterArtifactCard("artifact card from a graveyard"))); ability.addCost(new TapSourceCost()); - ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterArtifactCard("artifact card from a graveyard")))); this.addAbility(ability); + // {2}, {T}, Remove a charge counter from Conversion Chamber: Put a 3/3 colorless Golem artifact creature token onto the battlefield. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GolemToken()), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); From ed69a87b4da47aa78639415fcef174abfa7171a4 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 21:47:53 +0200 Subject: [PATCH 031/139] * Ogre Menial - Added the missing infect ability. --- Mage.Sets/src/mage/sets/newphyrexia/OgreMenial.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/newphyrexia/OgreMenial.java b/Mage.Sets/src/mage/sets/newphyrexia/OgreMenial.java index 28d90a28670..dc9e5b7a8b7 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/OgreMenial.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/OgreMenial.java @@ -28,15 +28,16 @@ package mage.sets.newphyrexia; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; /** * @@ -52,7 +53,10 @@ public class OgreMenial extends CardImpl { this.color.setRed(true); this.power = new MageInt(0); this.toughness = new MageInt(4); + // Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.) + this.addAbility(InfectAbility.getInstance()); + // {R}: Ogre Menial gets +1/+0 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}"))); } From e4d38f4ee94a3b14c0848280181ea51e9e326e90 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 21:49:16 +0200 Subject: [PATCH 032/139] * Hellkite Igniter - The boost ability counts now only the controlled artifacts instead all artifacts. --- .../sets/mirrodinbesieged/HellkiteIgniter.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/HellkiteIgniter.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/HellkiteIgniter.java index e545d5724bd..2ff26c50a2f 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/HellkiteIgniter.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/HellkiteIgniter.java @@ -29,9 +29,6 @@ package mage.sets.mirrodinbesieged; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -41,9 +38,13 @@ import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; +import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; +import mage.filter.predicate.permanent.ControllerPredicate; /** * @@ -51,6 +52,11 @@ import mage.filter.common.FilterArtifactPermanent; */ public class HellkiteIgniter extends CardImpl { + private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("artifact you control"); + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + } + public HellkiteIgniter (UUID ownerId) { super(ownerId, 65, "Hellkite Igniter", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{R}{R}"); this.expansionSetCode = "MBS"; @@ -58,11 +64,14 @@ public class HellkiteIgniter extends CardImpl { this.color.setRed(true); this.power = new MageInt(5); this.toughness = new MageInt(5); + + // Flying, haste this.addAbility(FlyingAbility.getInstance()); this.addAbility(HasteAbility.getInstance()); + // {1}{R}: Hellkite Igniter gets +X/+0 until end of turn, where X is the number of artifacts you control. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect( - new PermanentsOnBattlefieldCount(new FilterArtifactPermanent()), + new PermanentsOnBattlefieldCount(filter), new StaticValue(0), Duration.EndOfTurn), new ManaCostsImpl("{1}{R}"))); From b7c88b3c6d8efd4967327038221e1f63c9046e8b Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 18 Jun 2013 21:49:38 +0200 Subject: [PATCH 033/139] * Added Sample deck. --- .../Modern/Modern Romance/Gadin's Robots.dck | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Mage.Client/release/sample-decks/2013/Modern/Modern Romance/Gadin's Robots.dck diff --git a/Mage.Client/release/sample-decks/2013/Modern/Modern Romance/Gadin's Robots.dck b/Mage.Client/release/sample-decks/2013/Modern/Modern Romance/Gadin's Robots.dck new file mode 100644 index 00000000000..7847a4cf292 --- /dev/null +++ b/Mage.Client/release/sample-decks/2013/Modern/Modern Romance/Gadin's Robots.dck @@ -0,0 +1,28 @@ +NAME:Gadin's Robots +4 [DDF:72] Darksteel Citadel +3 [MMA:220] Blinkmoth Nexus +3 [MBS:145] Inkmoth Nexus +4 [NPH:76] Vault Skirge +4 [HOP:110] Cranial Plating +4 [MMA:223] Glimmervoid +3 [LRW:261] Springleaf Drum +2 [MMA:198] Arcbound Ravager +1 [RTR:265] Mountain +3 [SOM:154] Etched Champion +4 [DDF:48] Master of Etherium +4 [M11:211] Ornithopter +3 [SOM:179] Mox Opal +4 [SOM:91] Galvanic Blast +4 [DDF:71] Thoughtcast +1 [RTR:255] Island +3 [SOM:174] Memnite +3 [MBS:131] Signal Pest +3 [DDF:44] Steel Overseer +SB: 1 [ROE:92] Unified Will +SB: 3 [NPH:159] Spellskite +SB: 1 [NPH:102] Whipflare +SB: 3 [MMA:213] Relic of Progenitus +SB: 1 [M13:62] Negate +SB: 3 [MMA:106] Blood Moon +SB: 2 [PC2:7] Ghostly Prison +SB: 1 [ISD:127] Ancient Grudge From a373047c58ad7690d83e32db4a1f4200bd7fbe38 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 19 Jun 2013 15:14:21 +0400 Subject: [PATCH 034/139] Fix for error: unmappable character for encoding Cp1251 --- .../mage/sets/scarsofmirrodin/KothOfTheHammer.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java index 16d2ed2d2fc..1192ed8a0b0 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java @@ -28,12 +28,6 @@ package mage.sets.scarsofmirrodin; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.*; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.MageInt; import mage.Mana; import mage.abilities.Ability; @@ -51,6 +45,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.abilities.effects.common.continious.BecomesCreatureTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; +import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -62,6 +57,8 @@ import mage.game.permanent.token.Token; import mage.target.common.TargetCreatureOrPlayer; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author Loki, North @@ -95,7 +92,7 @@ public class KothOfTheHammer extends CardImpl { // -2: Add {R} to your mana pool for each Mountain you control. this.addAbility(new LoyaltyAbility(new DynamicManaEffect(Mana.RedMana, new PermanentsOnBattlefieldCount(filterCount)), -2)); - // -5: You get an emblem with "Mountains you control have ‘{T}: This land deals 1 damage to target creature or player.' + // -5: You get an emblem with "Mountains you control have '{T}: This land deals 1 damage to target creature or player.' this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new KothOfTheHammerEmblem()), -5)); } From 42dd9d81b493071ec10907bebe0b1c37760e9530 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 19 Jun 2013 17:12:31 +0400 Subject: [PATCH 035/139] Timers (In progress) --- .../mage/client/components/HoverButton.java | 29 +++++ .../java/mage/client/game/PlayerPanelExt.java | 7 ++ Mage.Common/src/mage/view/PlayerView.java | 6 + .../src/mage/player/human/HumanPlayer.java | 80 +++++++------- .../java/mage/server/game/GameController.java | 60 +++++++++- .../mage/server/game/timer/PriorityTimer.java | 103 ++++++++++++++++++ Mage/src/mage/game/Game.java | 13 ++- Mage/src/mage/game/GameImpl.java | 22 +++- Mage/src/mage/game/events/TableEvent.java | 3 +- Mage/src/mage/players/Player.java | 14 +++ Mage/src/mage/players/PlayerImpl.java | 23 ++-- 11 files changed, 302 insertions(+), 58 deletions(-) create mode 100644 Mage.Server/src/main/java/mage/server/game/timer/PriorityTimer.java diff --git a/Mage.Client/src/main/java/mage/client/components/HoverButton.java b/Mage.Client/src/main/java/mage/client/components/HoverButton.java index 4d78bbc3c11..fc8ac09de2c 100644 --- a/Mage.Client/src/main/java/mage/client/components/HoverButton.java +++ b/Mage.Client/src/main/java/mage/client/components/HoverButton.java @@ -26,8 +26,11 @@ public class HoverButton extends JPanel implements MouseListener { private int textOffsetY = 0; private int textOffsetButtonY = 2; private int textOffsetX = -1; + private int topTextOffsetX = -1; private Dimension overlayImageSize; + private String topText; + private boolean isHovered = false; private boolean isSelected = false; private boolean drawSet = false; @@ -36,6 +39,7 @@ public class HoverButton extends JPanel implements MouseListener { private Command observer = null; private Command onHover = null; private Color textColor = Color.white; + private Color textBGColor = Color.black; static final Font textFont = new Font("Arial", Font.PLAIN, 12); static final Font textFontMini = new Font("Arial", Font.PLAIN, 11); @@ -100,6 +104,18 @@ public class HoverButton extends JPanel implements MouseListener { } else { g.drawImage(disabledImage, 0, 0, imageSize.width, imageSize.height, this); } + if (topText != null) { + if (useMiniFont) { + g2d.setFont(textFontMini); + } else { + g2d.setFont(textFont); + } + topTextOffsetX = calculateOffsetForTop(g2d, topText); + g2d.setColor(textBGColor); + g2d.drawString(topText, topTextOffsetX+1, 13); + g2d.setColor(textColor); + g2d.drawString(topText, topTextOffsetX, 12); + } if (overlayImage != null) { g.drawImage(overlayImage, (imageSize.width - overlayImageSize.width) / 2, 10, this); } else if (set != null) { @@ -136,6 +152,15 @@ public class HoverButton extends JPanel implements MouseListener { return textOffsetX; } + private int calculateOffsetForTop(Graphics2D g2d, String text) { + if (topTextOffsetX == -1) { // calculate once + FontRenderContext frc = g2d.getFontRenderContext(); + int textWidth = (int) textFont.getStringBounds(text, frc).getWidth(); + topTextOffsetX = (imageSize.width - textWidth) / 2; + } + return topTextOffsetX; + } + public void setTextColor(Color textColor) { this.textColor = textColor; } @@ -242,4 +267,8 @@ public class HoverButton extends JPanel implements MouseListener { observer.execute(); } } + + public void setTopText(String topText) { + this.topText = topText; + } } diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index 24d97a1b964..a67210205df 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -182,6 +182,8 @@ public class PlayerPanelExt extends javax.swing.JPanel { } } this.avatar.setText(player.getName()); + String priorityTimeValue = getPriorityTimeLeftString(player); + this.avatar.setTopText(priorityTimeValue); this.btnPlayer.setText(player.getName()); if (player.isActive()) { this.avatar.setBorder(greenBorder); @@ -216,6 +218,11 @@ public class PlayerPanelExt extends javax.swing.JPanel { update(player.getManaPool()); } + private String getPriorityTimeLeftString(PlayerView player) { + int priorityTimeLeft = player.getPriorityTimeLeft(); + return priorityTimeLeft / 3600 + ":" + (priorityTimeLeft % 3600) / 60 + ":" + priorityTimeLeft % 60; + } + protected void update(ManaPoolView pool) { manaLabels.get("B").setText(Integer.toString(pool.getBlack())); manaLabels.get("R").setText(Integer.toString(pool.getRed())); diff --git a/Mage.Common/src/mage/view/PlayerView.java b/Mage.Common/src/mage/view/PlayerView.java index a7cad2dfda0..f0e46419eaf 100644 --- a/Mage.Common/src/mage/view/PlayerView.java +++ b/Mage.Common/src/mage/view/PlayerView.java @@ -63,6 +63,7 @@ public class PlayerView implements Serializable { private List emblemList = new ArrayList(); private List attachments = new ArrayList(); private int statesSavedSize; + private int priorityTimeLeft; public PlayerView(Player player, GameState state, Game game) { this.playerId = player.getId(); @@ -108,6 +109,7 @@ public class PlayerView implements Serializable { } this.statesSavedSize = player.getStoredBookmark(); + this.priorityTimeLeft = player.getPriorityTimeLeft(); } private boolean showInBattlefield(Permanent permanent, GameState state) { @@ -191,4 +193,8 @@ public class PlayerView implements Serializable { public int getStatesSavedSize() { return statesSavedSize; } + + public int getPriorityTimeLeft() { + return priorityTimeLeft; + } } diff --git a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java index 79165bf6b9a..ce64108b878 100644 --- a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java @@ -28,11 +28,6 @@ package mage.player.human; -import java.io.Serializable; -import java.util.*; -import mage.constants.Outcome; -import mage.constants.RangeOfInfluence; -import mage.constants.Zone; import mage.MageObject; import mage.abilities.*; import mage.abilities.costs.common.SacrificeSourceCost; @@ -46,6 +41,9 @@ import mage.cards.Cards; import mage.cards.decks.Deck; import mage.choices.Choice; import mage.choices.ChoiceImpl; +import mage.constants.Outcome; +import mage.constants.RangeOfInfluence; +import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; import mage.filter.common.FilterBlockingCreature; import mage.filter.common.FilterCreatureForCombat; @@ -67,6 +65,9 @@ import mage.target.common.TargetDefender; import mage.util.ManaUtil; import org.apache.log4j.Logger; +import java.io.Serializable; +import java.util.*; + /** * @@ -98,40 +99,43 @@ public class HumanPlayer extends PlayerImpl { super(player); } - protected void waitForResponse() { + protected void waitForResponse(Game game) { response.clear(); log.debug("Waiting response from player: " + getId()); + game.resumeTimer(playerId); synchronized(response) { try { response.wait(); log.debug("Got response from player: " + getId()); } catch (InterruptedException ex) { ex.printStackTrace(); + } finally { + game.pauseTimer(playerId); } } } - protected void waitForBooleanResponse() { + protected void waitForBooleanResponse(Game game) { do { - waitForResponse(); + waitForResponse(game); } while (response.getBoolean() == null && !abort); } - protected void waitForUUIDResponse() { + protected void waitForUUIDResponse(Game game) { do { - waitForResponse(); + waitForResponse(game); } while (response.getUUID() == null && !abort); } - protected void waitForStringResponse() { + protected void waitForStringResponse(Game game) { do { - waitForResponse(); + waitForResponse(game); } while (response.getString() == null && !abort); } - protected void waitForIntegerResponse() { + protected void waitForIntegerResponse(Game game) { do { - waitForResponse(); + waitForResponse(game); } while (response.getInteger() == null && !abort); } @@ -143,7 +147,7 @@ public class HumanPlayer extends PlayerImpl { .append(getHand().size() > nextHandSize?"down to ":"for free, draw ") .append(nextHandSize) .append(nextHandSize == 1?" card?":" cards?").toString()); - waitForBooleanResponse(); + waitForBooleanResponse(game); if (!abort) { return response.getBoolean(); } @@ -154,7 +158,7 @@ public class HumanPlayer extends PlayerImpl { public boolean chooseUse(Outcome outcome, String message, Game game) { updateGameStatePriority("chooseUse", game); game.fireAskPlayerEvent(playerId, message); - waitForBooleanResponse(); + waitForBooleanResponse(game); if (!abort) { return response.getBoolean(); } @@ -175,7 +179,7 @@ public class HumanPlayer extends PlayerImpl { } while (!abort) { game.fireChooseEvent(playerId, replacementEffectChoice); - waitForResponse(); + waitForResponse(game); log.debug("Choose effect: " + response.getString()); if (response.getString() != null) { replacementEffectChoice.setChoice(response.getString()); @@ -196,7 +200,7 @@ public class HumanPlayer extends PlayerImpl { updateGameStatePriority("choose(3)", game); while (!abort) { game.fireChooseEvent(playerId, choice); - waitForResponse(); + waitForResponse(game); if (response.getString() != null) { choice.setChoice(response.getString()); return true; @@ -218,7 +222,7 @@ public class HumanPlayer extends PlayerImpl { while (!abort) { Set cards = target.possibleTargets(null, playerId, game); game.fireSelectTargetEvent(playerId, target.getMessage(), cards, target.isRequired(), options); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (target instanceof TargetPermanent) { if (((TargetPermanent)target).canTarget(playerId, response.getUUID(), sourceId, game, false)) { @@ -267,7 +271,7 @@ public class HumanPlayer extends PlayerImpl { Set possibleTargets = target.possibleTargets(source==null?null:source.getSourceId(), playerId, game); boolean required = possibleTargets.isEmpty() ? false : target.isRequired(); game.fireSelectTargetEvent(playerId, target.getMessage(), possibleTargets, required, getOptions(target)); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (possibleTargets.contains(response.getUUID())) { if (target instanceof TargetPermanent) { @@ -323,7 +327,7 @@ public class HumanPlayer extends PlayerImpl { options.put("chosen", (Serializable)chosen); } game.fireSelectTargetEvent(playerId, target.getMessage(), cards, required, options); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (target.canTarget(response.getUUID(), cards, game)) { target.add(response.getUUID(), game); @@ -358,7 +362,7 @@ public class HumanPlayer extends PlayerImpl { } } game.fireSelectTargetEvent(playerId, target.getMessage(), cards, target.isRequired(), null); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (target.canTarget(response.getUUID(), cards, game)) { target.addTarget(response.getUUID(), source, game); @@ -383,7 +387,7 @@ public class HumanPlayer extends PlayerImpl { updateGameStatePriority("chooseTargetAmount", game); while (!abort) { game.fireSelectTargetEvent(playerId, target.getMessage() + "\n Amount remaining:" + target.getAmountRemaining(), target.possibleTargets(source==null?null:source.getId(), playerId, game), target.isRequired(), null); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (target.canTarget(response.getUUID(), source, game)) { UUID targetId = response.getUUID(); @@ -412,7 +416,7 @@ public class HumanPlayer extends PlayerImpl { } updateGameStatePriority("priority", game); game.firePriorityEvent(playerId); - waitForResponse(); + waitForResponse(game); if (response.getBoolean() != null) { pass(game); return false; @@ -450,7 +454,7 @@ public class HumanPlayer extends PlayerImpl { updateGameStatePriority("chooseTriggeredAbility", game); while (!abort) { game.fireSelectTargetEvent(playerId, "Pick triggered ability (goes to the stack first)", abilities); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { for (TriggeredAbility ability: abilities) { if (ability.getId().equals(response.getUUID())) { @@ -466,7 +470,7 @@ public class HumanPlayer extends PlayerImpl { public boolean playMana(ManaCost unpaid, Game game) { updateGameStatePriority("playMana", game); game.firePlayManaEvent(playerId, "Pay " + unpaid.getText()); - waitForResponse(); + waitForResponse(game); if (response.getBoolean() != null) { return false; } else if (response.getUUID() != null) { @@ -500,7 +504,7 @@ public class HumanPlayer extends PlayerImpl { public int announceXMana(int min, int max, String message, Game game, Ability ability) { updateGameStatePriority("announceXMana", game); game.fireGetAmountEvent(playerId, message, min, max); - waitForIntegerResponse(); + waitForIntegerResponse(game); return response.getInteger(); } @@ -530,7 +534,7 @@ public class HumanPlayer extends PlayerImpl { return; } game.fireSelectEvent(playerId, "Select attackers"); - waitForResponse(); + waitForResponse(game); if (response.getBoolean() != null) { return; } else if (response.getInteger() != null) { @@ -593,7 +597,7 @@ public class HumanPlayer extends PlayerImpl { filter.add(new ControllerIdPredicate(defendingPlayerId)); while (!abort) { game.fireSelectEvent(playerId, "Select blockers"); - waitForResponse(); + waitForResponse(game); if (response.getBoolean() != null) { return; } else if (response.getInteger() != null) { @@ -622,7 +626,7 @@ public class HumanPlayer extends PlayerImpl { updateGameStatePriority("chooseAttackerOrder", game); while (!abort) { game.fireSelectTargetEvent(playerId, "Pick attacker", attackers, true); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { for (Permanent perm: attackers) { if (perm.getId().equals(response.getUUID())) { @@ -640,7 +644,7 @@ public class HumanPlayer extends PlayerImpl { updateGameStatePriority("chooseBlockerOrder", game); while (!abort) { game.fireSelectTargetEvent(playerId, "Pick blocker", blockers, true); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { for (Permanent perm: blockers) { if (perm.getId().equals(response.getUUID())) { @@ -656,7 +660,7 @@ public class HumanPlayer extends PlayerImpl { updateGameStatePriority("selectCombatGroup", game); TargetAttackingCreature target = new TargetAttackingCreature(); game.fireSelectTargetEvent(playerId, "Select attacker to block", target.possibleTargets(null, playerId, game), target.isRequired(), null); - waitForResponse(); + waitForResponse(game); if (response.getBoolean() != null) { // do nothing } else if (response.getUUID() != null) { @@ -696,7 +700,7 @@ public class HumanPlayer extends PlayerImpl { public int getAmount(int min, int max, String message, Game game) { updateGameStatePriority("getAmount", game); game.fireGetAmountEvent(playerId, message, min, max); - waitForIntegerResponse(); + waitForIntegerResponse(game); return response.getInteger(); } @@ -719,7 +723,7 @@ public class HumanPlayer extends PlayerImpl { updateGameStatePriority("specialAction", game); LinkedHashMap specialActions = game.getState().getSpecialActions().getControlledBy(playerId); game.fireGetChoiceEvent(playerId, name, new ArrayList(specialActions.values())); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (specialActions.containsKey(response.getUUID())) { activateAbility(specialActions.get(response.getUUID()), game); @@ -737,7 +741,7 @@ public class HumanPlayer extends PlayerImpl { } } game.fireGetChoiceEvent(playerId, name, new ArrayList(abilities.values())); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (abilities.containsKey(response.getUUID())) { activateAbility(abilities.get(response.getUUID()), game); @@ -757,7 +761,7 @@ public class HumanPlayer extends PlayerImpl { return (SpellAbility) useableAbilities.values().iterator().next(); } else if (useableAbilities != null && useableAbilities.size() > 0) { game.fireGetChoiceEvent(playerId, name, new ArrayList(useableAbilities.values())); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { if (useableAbilities.containsKey(response.getUUID())) { return (SpellAbility) useableAbilities.get(response.getUUID()); @@ -785,7 +789,7 @@ public class HumanPlayer extends PlayerImpl { modeMap.put(mode.getId(), modeText); } game.fireGetModeEvent(playerId, "Choose Mode", modeMap); - waitForResponse(); + waitForResponse(game); if (response.getUUID() != null) { for (Mode mode: modes.values()) { if (mode.getId().equals(response.getUUID())) { @@ -802,7 +806,7 @@ public class HumanPlayer extends PlayerImpl { public boolean choosePile(Outcome outcome, String message, List pile1, List pile2, Game game) { updateGameStatePriority("choosePile", game); game.fireChoosePileEvent(playerId, message, pile1, pile2); - waitForBooleanResponse(); + waitForBooleanResponse(game); if (!abort) { return response.getBoolean(); } diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index bd8c491074b..cc0e26fedb7 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -28,7 +28,6 @@ package mage.server.game; -import mage.constants.Zone; import mage.MageException; import mage.abilities.Ability; import mage.cards.Card; @@ -37,6 +36,7 @@ import mage.cards.decks.Deck; import mage.cards.decks.DeckCardLists; import mage.cards.repository.CardInfo; import mage.cards.repository.CardRepository; +import mage.constants.Zone; import mage.game.Game; import mage.game.GameException; import mage.game.events.Listener; @@ -45,14 +45,12 @@ import mage.game.events.TableEvent; import mage.game.permanent.Permanent; import mage.players.Player; import mage.server.*; +import mage.server.game.timer.PriorityTimer; import mage.server.util.Splitter; import mage.server.util.SystemUtil; import mage.server.util.ThreadExecutor; -import mage.view.AbilityPickerView; -import mage.view.CardsView; +import mage.view.*; import mage.view.ChatMessage.MessageColor; -import mage.view.GameView; -import mage.view.PermanentView; import org.apache.log4j.Logger; import java.io.*; @@ -75,6 +73,13 @@ public class GameController implements GameCallback { private ConcurrentHashMap gameSessions = new ConcurrentHashMap(); private ConcurrentHashMap watchers = new ConcurrentHashMap(); + private ConcurrentHashMap timers = new ConcurrentHashMap(); + + /** + * Time each player has during the game to play using his\her priority. + */ + private static final int PRIORITY_TIME_SEC = 62; + private ConcurrentHashMap userPlayerMap; private UUID gameSessionId; private Game game; @@ -106,6 +111,8 @@ public class GameController implements GameCallback { @Override public void event(TableEvent event) { try { + PriorityTimer timer; + UUID playerId; switch (event.getEventType()) { case UPDATE: updateGame(); @@ -124,6 +131,43 @@ public class GameController implements GameCallback { case ERROR: error(event.getMessage(), event.getException()); break; + case INIT_TIMER: + final UUID initPlayerId = event.getPlayerId(); + if (initPlayerId == null) { + throw new IllegalStateException("INIT_TIMER: playerId can't be null"); + } + long delay = 250L; // run each 250 ms + timer = new PriorityTimer(PRIORITY_TIME_SEC, delay, new Runnable() { + public void run() { + game.concede(initPlayerId); + logger.info("Game timeout for player: " + initPlayerId + ". Conceding."); + } + }); + timers.put(initPlayerId, timer); + timer.init(); + break; + case RESUME_TIMER: + playerId = event.getPlayerId(); + if (playerId == null) { + throw new IllegalStateException("RESUME_TIMER: playerId can't be null"); + } + timer = timers.get(playerId); + if (timer == null) { + throw new IllegalStateException("RESUME_TIMER: couldn't find timer for player: " + playerId); + } + timer.resume(); + break; + case PAUSE_TIMER: + playerId = event.getPlayerId(); + if (playerId == null) { + throw new IllegalStateException("PAUSE_TIMER: playerId can't be null"); + } + timer = timers.get(playerId); + if (timer == null) { + throw new IllegalStateException("PAUSE_TIMER: couldn't find timer for player: " + playerId); + } + timer.pause(); + break; } } catch (MageException ex) { logger.fatal("Table event listener error ", ex); @@ -388,6 +432,12 @@ public class GameController implements GameCallback { } private synchronized void updateGame() { + for (Player player: game.getState().getPlayers().values()) { + PriorityTimer timer = timers.get(player.getId()); + if (timer != null) { + player.setPriorityTimeLeft(timer.getCount()); + } + } for (final GameSession gameSession: gameSessions.values()) { gameSession.update(); } diff --git a/Mage.Server/src/main/java/mage/server/game/timer/PriorityTimer.java b/Mage.Server/src/main/java/mage/server/game/timer/PriorityTimer.java new file mode 100644 index 00000000000..7398e74ab0b --- /dev/null +++ b/Mage.Server/src/main/java/mage/server/game/timer/PriorityTimer.java @@ -0,0 +1,103 @@ +package mage.server.game.timer; + +import org.apache.log4j.Logger; + +import java.util.Timer; +import java.util.TimerTask; + +/** + * @author noxx + */ +public class PriorityTimer extends TimerTask { + + private static final Logger logger = Logger.getLogger(PriorityTimer.class); + + private int count; + + private long delay; + + private Runnable taskOnTimeout; + + private States state = States.NONE; + + enum States { + NONE, + INIT, + RUNNING, + PAUSED, + FINISHED + } + + public PriorityTimer(int count, long delay, Runnable taskOnTimeout) { + this.count = count; + this.delay = delay; + this.taskOnTimeout = taskOnTimeout; + } + + public void init() { + state = States.INIT; + Timer timer = new Timer("Priority Timer", false); + long delayMs = delay * (int) (1000L / delay); + timer.scheduleAtFixedRate(this, delayMs, delayMs); + } + + public void start() { + if (state == States.NONE) { + throw new IllegalStateException("Timer should have been initialized first"); + } + if (state == States.FINISHED) { + throw new IllegalStateException("Timer has already finished its work"); + } + state = States.RUNNING; + } + + public void pause() { + state = States.PAUSED; + } + + public void stop() { + state = States.FINISHED; + count = 0; + } + + public void resume() { + if (state == States.FINISHED) { + throw new IllegalStateException("Timer has already finished its work"); + } + state = States.RUNNING; + } + + public int getCount() { + return count; + } + + @Override + public void run() { + if (state == States.RUNNING) { + count--; + } + if (logger.isDebugEnabled()) logger.debug("Count is: " + count); + //System.out.println("Count is: " + count); + if (count <= 0) { + cancel(); + taskOnTimeout.run(); + } + } + + public static void main(String[] args) throws Exception { + long delay = 250L; + int count = 5; + PriorityTimer timer = new PriorityTimer(count, delay, new Runnable() { + public void run() { + System.out.println("Exit"); + System.exit(0); + } + }); + timer.init(); + timer.start(); + Thread.sleep(2000); + timer.pause(); + Thread.sleep(3000); + timer.resume(); + } +} diff --git a/Mage/src/mage/game/Game.java b/Mage/src/mage/game/Game.java index c4f2b06bd81..df3a256a243 100644 --- a/Mage/src/mage/game/Game.java +++ b/Mage/src/mage/game/Game.java @@ -28,9 +28,6 @@ package mage.game; -import mage.constants.MultiplayerAttackOption; -import mage.constants.RangeOfInfluence; -import mage.constants.Zone; import mage.MageItem; import mage.MageObject; import mage.abilities.Ability; @@ -44,6 +41,10 @@ import mage.cards.Card; import mage.cards.Cards; import mage.cards.decks.Deck; import mage.choices.Choice; +import mage.constants.Duration; +import mage.constants.MultiplayerAttackOption; +import mage.constants.RangeOfInfluence; +import mage.constants.Zone; import mage.game.combat.Combat; import mage.game.command.Emblem; import mage.game.events.GameEvent; @@ -65,7 +66,6 @@ import mage.util.functions.ApplyToPermanent; import java.io.Serializable; import java.util.*; -import mage.constants.Duration; public interface Game extends MageItem, Serializable { @@ -225,4 +225,9 @@ public interface Game extends MageItem, Serializable { // controlling the behaviour of replacement effects void setScopeRelevant(boolean scopeRelevant); public boolean getScopeRelevant(); + + // players' timers + void initTimer(UUID playerId); + void resumeTimer(UUID playerId); + void pauseTimer(UUID playerId); } diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index f7fa2fc9758..1212595fe44 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -29,7 +29,6 @@ package mage.game; import mage.Constants; -import mage.constants.CardType; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.ActivatedAbility; @@ -49,12 +48,14 @@ import mage.actions.impl.MageAction; import mage.cards.Card; import mage.cards.Cards; import mage.cards.CardsImpl; +import mage.cards.SplitCard; import mage.cards.decks.Deck; import mage.choices.Choice; import mage.constants.*; import mage.counters.CounterType; import mage.filter.Filter; import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterPlaneswalkerPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.NamePredicate; @@ -89,8 +90,6 @@ import java.io.IOException; import java.io.Serializable; import java.util.*; import java.util.Map.Entry; -import mage.cards.SplitCard; -import mage.filter.common.FilterControlledCreaturePermanent; public abstract class GameImpl> implements Game, Serializable { @@ -590,6 +589,7 @@ public abstract class GameImpl> implements Game, Serializa protected void init(UUID choosingPlayerId, GameOptions gameOptions) { for (Player player: state.getPlayers().values()) { player.beginTurn(this); + initTimer(player.getId()); } if (startMessage == null || startMessage.isEmpty()) { startMessage = "Game has started"; @@ -1946,4 +1946,20 @@ public abstract class GameImpl> implements Game, Serializa public void setStartMessage(String startMessage) { this.startMessage = startMessage; } + + @Override + public void initTimer(UUID playerId) { + tableEventSource.fireTableEvent(EventType.INIT_TIMER, playerId, null, this); + } + + @Override + public void resumeTimer(UUID playerId) { + tableEventSource.fireTableEvent(EventType.RESUME_TIMER, playerId, null, this); + } + + @Override + public void pauseTimer(UUID playerId) { + tableEventSource.fireTableEvent(EventType.PAUSE_TIMER, playerId, null, this); + } + } diff --git a/Mage/src/mage/game/events/TableEvent.java b/Mage/src/mage/game/events/TableEvent.java index b9c9041cead..6d6637b4220 100644 --- a/Mage/src/mage/game/events/TableEvent.java +++ b/Mage/src/mage/game/events/TableEvent.java @@ -46,7 +46,8 @@ import java.util.UUID; public class TableEvent extends EventObject implements ExternalEvent, Serializable { public enum EventType { - UPDATE, INFO, STATUS, REVEAL, LOOK, START_DRAFT, START_MATCH, SIDEBOARD, CONSTRUCT, SUBMIT_DECK, END, ERROR + UPDATE, INFO, STATUS, REVEAL, LOOK, START_DRAFT, START_MATCH, SIDEBOARD, CONSTRUCT, SUBMIT_DECK, END, ERROR, + INIT_TIMER, RESUME_TIMER, PAUSE_TIMER } private Game game; diff --git a/Mage/src/mage/players/Player.java b/Mage/src/mage/players/Player.java index b755ad8cc69..45134926757 100644 --- a/Mage/src/mage/players/Player.java +++ b/Mage/src/mage/players/Player.java @@ -299,4 +299,18 @@ public interface Player extends MageItem, Copyable { * */ void revealFaceDownCard(Card card, Game game); + + /** + * Set seconds left to play the game. + * + * @return + */ + void setPriorityTimeLeft(int timeLeft); + + /** + * Returns seconds left to play the game. + * + * @return + */ + int getPriorityTimeLeft(); } diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 9ba6065ec4b..ded8742beb5 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -28,8 +28,6 @@ package mage.players; -import mage.constants.*; -import mage.constants.Zone; import mage.MageObject; import mage.Mana; import mage.abilities.*; @@ -46,10 +44,13 @@ import mage.actions.MageDrawAction; import mage.cards.Card; import mage.cards.Cards; import mage.cards.CardsImpl; +import mage.cards.SplitCard; import mage.cards.decks.Deck; +import mage.constants.*; import mage.counters.Counter; import mage.counters.CounterType; import mage.counters.Counters; +import mage.filter.FilterCard; import mage.filter.common.FilterCreatureForCombat; import mage.game.ExileZone; import mage.game.Game; @@ -59,11 +60,13 @@ import mage.game.events.DamagedPlayerEvent; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; +import mage.game.stack.Spell; import mage.game.stack.StackAbility; import mage.game.stack.StackObject; import mage.players.net.UserData; import mage.target.Target; import mage.target.TargetAmount; +import mage.target.TargetCard; import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetDiscard; import mage.watchers.common.BloodthirstWatcher; @@ -72,11 +75,6 @@ import org.apache.log4j.Logger; import java.io.Serializable; import java.util.*; -import mage.cards.SplitCard; -import mage.filter.FilterCard; -import mage.game.stack.Spell; -import mage.target.TargetCard; - public abstract class PlayerImpl> implements Player, Serializable { @@ -108,6 +106,7 @@ public abstract class PlayerImpl> implements Player, Ser protected boolean passedTurn; protected int turns; protected int storedBookmark = -1; + protected int priorityTimeLeft; /** * This indicates that player passed all turns until his own turn starts. @@ -1793,4 +1792,14 @@ public abstract class PlayerImpl> implements Player, Ser this.revealCards(name, cards, game); } } + + @Override + public void setPriorityTimeLeft(int timeLeft) { + priorityTimeLeft = timeLeft; + } + + @Override + public int getPriorityTimeLeft() { + return priorityTimeLeft; + } } From 13af25bd1df7bdce4816987c7a8a11dbbc54175a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 19 Jun 2013 16:12:11 +0200 Subject: [PATCH 036/139] * Seasinger - Fixed a bug that the controlling effect of target creature was reactivated if Seasinger was tapped again, also if not the same creature was targeted again. So Seasinger could control multiple creatures with untapping and using the control ability again. --- .../mage/sets/fallenempires/Seasinger.java | 22 ++----------------- .../decorator/ConditionalContinousEffect.java | 5 ++++- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/Mage.Sets/src/mage/sets/fallenempires/Seasinger.java b/Mage.Sets/src/mage/sets/fallenempires/Seasinger.java index 71d027b96f9..650f0c59849 100644 --- a/Mage.Sets/src/mage/sets/fallenempires/Seasinger.java +++ b/Mage.Sets/src/mage/sets/fallenempires/Seasinger.java @@ -35,8 +35,8 @@ import mage.abilities.Ability; import mage.abilities.StateTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SkipUntapOptionalAbility; -import mage.abilities.condition.Condition; import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -89,7 +89,7 @@ public class Seasinger extends CardImpl { this.addAbility(new SkipUntapOptionalAbility()); // {tap}: Gain control of target creature whose controller controls an Island for as long as you control Seasinger and Seasinger remains tapped. - ConditionalContinousEffect effect = new ConditionalContinousEffect(new GainControlTargetEffect(Duration.Custom), new ControlsPermanentCondition(seasinger, ControlsPermanentCondition.CountType.EQUAL_TO, 1, TappedCondition.getInstance()), rule); + ConditionalContinousEffect effect = new ConditionalContinousEffect(new GainControlTargetEffect(Duration.Custom), new ControlsPermanentCondition(seasinger, ControlsPermanentCondition.CountType.EQUAL_TO, 1, SourceTappedCondition.getInstance()), rule); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); creatureWhoseControllerControlsIsland.add(new ControllerControlsIslandPredicate()); ability.addTarget(new TargetCreaturePermanent(creatureWhoseControllerControlsIsland)); @@ -148,21 +148,3 @@ class SeasingerTriggeredAbility extends StateTriggeredAbility Date: Wed, 19 Jun 2013 16:15:58 +0200 Subject: [PATCH 037/139] Fixed some unlean code. Added CardUtil method to get card and ZoneChangeCounter specific exileId. --- .../src/mage/sets/innistrad/NightTerrors.java | 9 ++++---- .../sets/returntoravnica/AngelOfSerenity.java | 20 ++++++++-------- Mage/src/mage/util/CardUtil.java | 23 +++++++++++++++++++ 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java b/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java index b5f9d43e239..159725c6e2f 100644 --- a/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java +++ b/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java @@ -28,14 +28,13 @@ package mage.sets.innistrad; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; import mage.constants.Zone; import mage.filter.common.FilterNonlandCard; import mage.game.Game; @@ -98,7 +97,7 @@ class NightTerrorsEffect extends OneShotEffect { if (player.choose(Outcome.Exile, targetPlayer.getHand(), target, game)) { Card card = targetPlayer.getHand().get(target.getFirstTarget(), game); if (card != null) { - card.moveToExile(null, "", source.getId(), game); + card.moveToExile(null, "", source.getSourceId(), game); } } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/AngelOfSerenity.java b/Mage.Sets/src/mage/sets/returntoravnica/AngelOfSerenity.java index 0d65d73f69b..d1e7d5ad015 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/AngelOfSerenity.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/AngelOfSerenity.java @@ -28,11 +28,6 @@ package mage.sets.returntoravnica; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.LeavesBattlefieldTriggeredAbility; @@ -41,6 +36,10 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.Card; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreaturePermanent; @@ -52,6 +51,7 @@ import mage.game.permanent.Permanent; import mage.target.Target; import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCreaturePermanent; +import mage.util.CardUtil; /** * @@ -156,7 +156,7 @@ class AngelOfSerenityEnterEffect extends OneShotEffect Date: Wed, 19 Jun 2013 16:16:17 +0200 Subject: [PATCH 038/139] Added SourceTappedCondition. --- .../common/SourceTappedCondition.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Mage/src/mage/abilities/condition/common/SourceTappedCondition.java diff --git a/Mage/src/mage/abilities/condition/common/SourceTappedCondition.java b/Mage/src/mage/abilities/condition/common/SourceTappedCondition.java new file mode 100644 index 00000000000..b8b0a8522fd --- /dev/null +++ b/Mage/src/mage/abilities/condition/common/SourceTappedCondition.java @@ -0,0 +1,58 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.abilities.condition.common; + +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author LevelX2 + */ + + +public class SourceTappedCondition implements Condition { + + private static SourceTappedCondition fInstance = new SourceTappedCondition(); + + public static Condition getInstance() { + return fInstance; + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = game.getBattlefield().getPermanent(source.getSourceId()); + if (permanent != null) { + return permanent.isTapped(); + } + return false; + } +} From 62ee197cda3fce724f232d21af9e7c5c1e80d0bb Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 19 Jun 2013 16:16:36 +0200 Subject: [PATCH 039/139] [MMA] Added 3 cards. --- .../mage/sets/fifthdawn/VedalkenShackles.java | 54 ++++++ .../src/mage/sets/lorwyn/RunedStalactite.java | 52 ++++++ .../sets/modernmasters/RunedStalactite.java | 74 +++++++++ .../sets/modernmasters/TidehollowSculler.java | 52 ++++++ .../sets/modernmasters/VedalkenShackles.java | 113 +++++++++++++ .../sets/shardsofalara/TidehollowSculler.java | 155 ++++++++++++++++++ 6 files changed, 500 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/fifthdawn/VedalkenShackles.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/RunedStalactite.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/RunedStalactite.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/TidehollowSculler.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/VedalkenShackles.java create mode 100644 Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java diff --git a/Mage.Sets/src/mage/sets/fifthdawn/VedalkenShackles.java b/Mage.Sets/src/mage/sets/fifthdawn/VedalkenShackles.java new file mode 100644 index 00000000000..b1419e58eff --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthdawn/VedalkenShackles.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.fifthdawn; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class VedalkenShackles extends mage.sets.modernmasters.VedalkenShackles { + + public VedalkenShackles(UUID ownerId) { + super(ownerId); + this.cardNumber = 164; + this.expansionSetCode = "5DN"; + this.rarity = Rarity.RARE; + } + + public VedalkenShackles(final VedalkenShackles card) { + super(card); + } + + @Override + public VedalkenShackles copy() { + return new VedalkenShackles(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/RunedStalactite.java b/Mage.Sets/src/mage/sets/lorwyn/RunedStalactite.java new file mode 100644 index 00000000000..9a3757e93db --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/RunedStalactite.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class RunedStalactite extends mage.sets.modernmasters.RunedStalactite { + + public RunedStalactite(UUID ownerId) { + super(ownerId); + this.cardNumber = 260; + this.expansionSetCode = "LRW"; + } + + public RunedStalactite(final RunedStalactite card) { + super(card); + } + + @Override + public RunedStalactite copy() { + return new RunedStalactite(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/RunedStalactite.java b/Mage.Sets/src/mage/sets/modernmasters/RunedStalactite.java new file mode 100644 index 00000000000..6a08de7e6bf --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/RunedStalactite.java @@ -0,0 +1,74 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continious.BoostEquippedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.ChangelingAbility; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class RunedStalactite extends CardImpl { + + public RunedStalactite(UUID ownerId) { + super(ownerId, 214, "Runed Stalactite", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{1}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Equipment"); + + // Equipped creature gets +1/+1 and is every creature type. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1,1))); + Effect effect = new GainAbilityAttachedEffect(ChangelingAbility.getInstance(), AttachmentType.EQUIPMENT, Duration.WhileOnBattlefield); + effect.setText("Equipped creature is every creature type (Changeling)"); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); + // Equip {2} + this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl("{2}"))); + } + + public RunedStalactite(final RunedStalactite card) { + super(card); + } + + @Override + public RunedStalactite copy() { + return new RunedStalactite(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/TidehollowSculler.java b/Mage.Sets/src/mage/sets/modernmasters/TidehollowSculler.java new file mode 100644 index 00000000000..0e0ad4d5055 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/TidehollowSculler.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class TidehollowSculler extends mage.sets.shardsofalara.TidehollowSculler { + + public TidehollowSculler(UUID ownerId) { + super(ownerId); + this.cardNumber = 184; + this.expansionSetCode = "MMA"; + } + + public TidehollowSculler(final TidehollowSculler card) { + super(card); + } + + @Override + public TidehollowSculler copy() { + return new TidehollowSculler(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/VedalkenShackles.java b/Mage.Sets/src/mage/sets/modernmasters/VedalkenShackles.java new file mode 100644 index 00000000000..7584f8d9eae --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/VedalkenShackles.java @@ -0,0 +1,113 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SkipUntapOptionalAbility; +import mage.abilities.condition.common.SourceTappedCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.continious.GainControlTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.ObjectPlayer; +import mage.filter.predicate.ObjectPlayerPredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class VedalkenShackles extends CardImpl { + + private static final FilterCreaturePermanent controllableCreatures = new FilterCreaturePermanent("creature with power less than or equal to the number of Islands you control"); + static { + controllableCreatures.add(new PowerIslandPredicate()); + } + + + public VedalkenShackles(UUID ownerId) { + super(ownerId, 218, "Vedalken Shackles", Rarity.MYTHIC, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "MMA"; + + // You may choose not to untap Vedalken Shackles during your untap step. + this.addAbility(new SkipUntapOptionalAbility()); + + // {2}, {tap}: Gain control of target creature with power less than or equal to the number of Islands you control for as long as Vedalken Shackles remains tapped. + ConditionalContinousEffect effect = new ConditionalContinousEffect( + new GainControlTargetEffect(Duration.Custom), SourceTappedCondition.getInstance(), + "Gain control of target creature with power less than or equal to the number of Islands you control for as long as {this} remains tapped"); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + ability.addTarget(new TargetCreaturePermanent(controllableCreatures)); + this.addAbility(ability); + } + + public VedalkenShackles(final VedalkenShackles card) { + super(card); + } + + @Override + public VedalkenShackles copy() { + return new VedalkenShackles(this); + } +} + +class PowerIslandPredicate implements ObjectPlayerPredicate> { + + public static final FilterLandPermanent filter = new FilterLandPermanent("Island"); + static { + filter.add(new SubtypePredicate("Island")); + } + + @Override + public boolean apply(ObjectPlayer input, Game game) { + Permanent permanent = input.getObject(); + if (permanent != null) { + int islands = game.getBattlefield().countAll(filter, input.getPlayerId(), game); + if (permanent.getPower().getValue() <= islands) { + return true; + } + } + return false; + } + + @Override + public String toString() { + return "creature with power less than or equal to the number of Islands you control"; + } +} diff --git a/Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java b/Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java new file mode 100644 index 00000000000..a700a0d2f19 --- /dev/null +++ b/Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java @@ -0,0 +1,155 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shardsofalara; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.LeavesBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterNonlandCard; +import mage.game.ExileZone; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetCard; +import mage.target.common.TargetOpponent; +import mage.util.CardUtil; + +/** + * + * @author LevelX2 + */ +public class TidehollowSculler extends CardImpl { + + public TidehollowSculler(UUID ownerId) { + super(ownerId, 202, "Tidehollow Sculler", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{W}{B}"); + this.expansionSetCode = "ALA"; + this.subtype.add("Zombie"); + + this.color.setBlack(true); + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Tidehollow Sculler enters the battlefield, target opponent reveals his or her hand and you choose a nonland card from it. Exile that card. + Ability ability = new EntersBattlefieldTriggeredAbility(new TidehollowScullerExileEffect(), false); + ability.addTarget(new TargetOpponent(true)); + this.addAbility(ability); + + + // When Tidehollow Sculler leaves the battlefield, return the exiled card to its owner's hand. + this.addAbility(new LeavesBattlefieldTriggeredAbility(new TidehollowScullerLeaveEffect(), false )); + } + + public TidehollowSculler(final TidehollowSculler card) { + super(card); + } + + @Override + public TidehollowSculler copy() { + return new TidehollowSculler(this); + } +} + +class TidehollowScullerExileEffect extends OneShotEffect { + + public TidehollowScullerExileEffect() { + super(Outcome.Exile); + this.staticText = "target opponent reveals his or her hand and you choose a nonland card from it. Exile that card"; + } + + public TidehollowScullerExileEffect(final TidehollowScullerExileEffect effect) { + super(effect); + } + + @Override + public TidehollowScullerExileEffect copy() { + return new TidehollowScullerExileEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + Player targetPlayer = game.getPlayer(source.getFirstTarget()); + if (player != null && targetPlayer != null) { + targetPlayer.revealCards("Tidehollow Sculler", targetPlayer.getHand(), game); + + TargetCard target = new TargetCard(Zone.PICK, new FilterNonlandCard("nonland card to exile")); + target.setRequired(true); + if (player.choose(Outcome.Exile, targetPlayer.getHand(), target, game)) { + Card card = targetPlayer.getHand().get(target.getFirstTarget(), game); + if (card != null) { + card.moveToExile(CardUtil.getCardExileZoneId(game, source), "Tidehollow Sculler", source.getSourceId(), game); + } + } + + return true; + } + return false; + } + + +} + +class TidehollowScullerLeaveEffect extends OneShotEffect { + + public TidehollowScullerLeaveEffect() { + super(Outcome.ReturnToHand); + this.staticText = "return the exiled card to its owner's hand"; + } + + public TidehollowScullerLeaveEffect(final TidehollowScullerLeaveEffect effect) { + super(effect); + } + + @Override + public TidehollowScullerLeaveEffect copy() { + return new TidehollowScullerLeaveEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + ExileZone exZone = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)); + if (exZone != null) { + for (Card card : exZone.getCards(game)) { + if (card != null) { + card.moveToZone(Zone.HAND, source.getId(), game, false); + } + } + return true; + } + return false; + } +} \ No newline at end of file From 6532aaffdf2483e49a2d0cbd384ed38e7666e012 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Thu, 20 Jun 2013 00:17:06 +0400 Subject: [PATCH 040/139] Timers on client side. Refactored. --- .../java/mage/client/game/PlayerPanelExt.java | 37 ++++++++++++++++++- Mage.Common/src/mage/constants/Constants.java | 5 +++ .../src/mage/utils}/timer/PriorityTimer.java | 36 +++++++++++++++--- .../java/mage/server/game/GameController.java | 19 +++++----- 4 files changed, 81 insertions(+), 16 deletions(-) rename {Mage.Server/src/main/java/mage/server/game => Mage.Common/src/mage/utils}/timer/PriorityTimer.java (72%) diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index a67210205df..0890cde733e 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -34,6 +34,7 @@ package mage.client.game; +import mage.MageException; import mage.cards.MageCard; import mage.cards.action.ActionCallback; import mage.cards.decks.importer.DckDeckImporter; @@ -51,7 +52,9 @@ import mage.client.util.Command; import mage.client.util.ImageHelper; import mage.client.util.gui.BufferedImageBuilder; import mage.components.ImagePanel; +import mage.constants.Constants; import mage.remote.Session; +import mage.utils.timer.PriorityTimer; import mage.view.CardView; import mage.view.ManaPoolView; import mage.view.PlayerView; @@ -101,6 +104,8 @@ public class PlayerPanelExt extends javax.swing.JPanel { private int avatarId = -1; + private PriorityTimer timer; + /** Creates new form PlayerPanel */ public PlayerPanelExt() { setPreferredSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT)); @@ -114,6 +119,25 @@ public class PlayerPanelExt extends javax.swing.JPanel { session = MageFrame.getSession(); cheat.setVisible(session.isTestMode()); cheat.setFocusable(false); + + long delay = 1000L; + timer = new PriorityTimer(Constants.PRIORITY_TIME_SEC, delay, new mage.interfaces.Action() { + @Override + public void execute() throws MageException { + // do nothing + } + }); + final PriorityTimer pt = timer; + timer.setTaskOnTick(new mage.interfaces.Action() { + @Override + public void execute() throws MageException { + int priorityTimeValue = pt.getCount(); + String text = getPriorityTimeLeftString(priorityTimeValue); + PlayerPanelExt.this.avatar.setTopText(text); + PlayerPanelExt.this.avatar.repaint(); + } + }); + timer.init(); } public void update(PlayerView player) { @@ -183,17 +207,21 @@ public class PlayerPanelExt extends javax.swing.JPanel { } this.avatar.setText(player.getName()); String priorityTimeValue = getPriorityTimeLeftString(player); + this.timer.setCount(player.getPriorityTimeLeft()); this.avatar.setTopText(priorityTimeValue); this.btnPlayer.setText(player.getName()); if (player.isActive()) { this.avatar.setBorder(greenBorder); this.btnPlayer.setBorder(greenBorder); + this.timer.resume(); } else if (player.hasLeft()) { this.avatar.setBorder(redBorder); this.btnPlayer.setBorder(redBorder); + this.timer.pause(); } else { this.avatar.setBorder(emptyBorder); this.btnPlayer.setBorder(emptyBorder); + this.timer.pause(); } synchronized (this) { @@ -220,7 +248,14 @@ public class PlayerPanelExt extends javax.swing.JPanel { private String getPriorityTimeLeftString(PlayerView player) { int priorityTimeLeft = player.getPriorityTimeLeft(); - return priorityTimeLeft / 3600 + ":" + (priorityTimeLeft % 3600) / 60 + ":" + priorityTimeLeft % 60; + return getPriorityTimeLeftString(priorityTimeLeft); + } + + private String getPriorityTimeLeftString(int priorityTimeLeft) { + int h = priorityTimeLeft / 3600; + int m = (priorityTimeLeft % 3600) / 60; + int s = priorityTimeLeft % 60; + return (h < 10 ? "0" : "") + h + ":" + (m < 10 ? "0" : "") + m + ":" + (s < 10 ? "0" : "") + s; } protected void update(ManaPoolView pool) { diff --git a/Mage.Common/src/mage/constants/Constants.java b/Mage.Common/src/mage/constants/Constants.java index a2e837dd0bf..c6b76fcb3b6 100644 --- a/Mage.Common/src/mage/constants/Constants.java +++ b/Mage.Common/src/mage/constants/Constants.java @@ -68,6 +68,11 @@ public final class Constants { public static final double SCALE_FACTOR = 0.5; + /** + * Time each player has during the game to play using his\her priority. + */ + public static final int PRIORITY_TIME_SEC = 1200; + public enum SessionState { DISCONNECTED, CONNECTED, CONNECTING, DISCONNECTING, SERVER_UNAVAILABLE, SERVER_STARTING; } diff --git a/Mage.Server/src/main/java/mage/server/game/timer/PriorityTimer.java b/Mage.Common/src/mage/utils/timer/PriorityTimer.java similarity index 72% rename from Mage.Server/src/main/java/mage/server/game/timer/PriorityTimer.java rename to Mage.Common/src/mage/utils/timer/PriorityTimer.java index 7398e74ab0b..90911c8ddd2 100644 --- a/Mage.Server/src/main/java/mage/server/game/timer/PriorityTimer.java +++ b/Mage.Common/src/mage/utils/timer/PriorityTimer.java @@ -1,5 +1,7 @@ -package mage.server.game.timer; +package mage.utils.timer; +import mage.MageException; +import mage.interfaces.Action; import org.apache.log4j.Logger; import java.util.Timer; @@ -16,7 +18,9 @@ public class PriorityTimer extends TimerTask { private long delay; - private Runnable taskOnTimeout; + private Action taskOnTimeout; + + private Action taskOnTick; private States state = States.NONE; @@ -28,7 +32,7 @@ public class PriorityTimer extends TimerTask { FINISHED } - public PriorityTimer(int count, long delay, Runnable taskOnTimeout) { + public PriorityTimer(int count, long delay, Action taskOnTimeout) { this.count = count; this.delay = delay; this.taskOnTimeout = taskOnTimeout; @@ -71,24 +75,44 @@ public class PriorityTimer extends TimerTask { return count; } + public void setCount(int count) { + this.count = count; + } + + public void setTaskOnTick(Action taskOnTick) { + this.taskOnTick = taskOnTick; + } + @Override public void run() { if (state == States.RUNNING) { count--; + if (taskOnTick != null) { + try { + taskOnTick.execute(); + } catch (MageException e) { + throw new RuntimeException(e); + } + } } if (logger.isDebugEnabled()) logger.debug("Count is: " + count); //System.out.println("Count is: " + count); if (count <= 0) { cancel(); - taskOnTimeout.run(); + try { + taskOnTimeout.execute(); + } catch (MageException e) { + throw new RuntimeException(e); + } } } public static void main(String[] args) throws Exception { long delay = 250L; int count = 5; - PriorityTimer timer = new PriorityTimer(count, delay, new Runnable() { - public void run() { + PriorityTimer timer = new PriorityTimer(count, delay, new Action() { + @Override + public void execute() throws MageException { System.out.println("Exit"); System.exit(0); } diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index cc0e26fedb7..fe29d7fb06a 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -36,6 +36,7 @@ import mage.cards.decks.Deck; import mage.cards.decks.DeckCardLists; import mage.cards.repository.CardInfo; import mage.cards.repository.CardRepository; +import mage.constants.Constants; import mage.constants.Zone; import mage.game.Game; import mage.game.GameException; @@ -43,14 +44,18 @@ import mage.game.events.Listener; import mage.game.events.PlayerQueryEvent; import mage.game.events.TableEvent; import mage.game.permanent.Permanent; +import mage.interfaces.Action; import mage.players.Player; import mage.server.*; -import mage.server.game.timer.PriorityTimer; import mage.server.util.Splitter; import mage.server.util.SystemUtil; import mage.server.util.ThreadExecutor; -import mage.view.*; +import mage.utils.timer.PriorityTimer; +import mage.view.AbilityPickerView; +import mage.view.CardsView; import mage.view.ChatMessage.MessageColor; +import mage.view.GameView; +import mage.view.PermanentView; import org.apache.log4j.Logger; import java.io.*; @@ -74,11 +79,6 @@ public class GameController implements GameCallback { private ConcurrentHashMap gameSessions = new ConcurrentHashMap(); private ConcurrentHashMap watchers = new ConcurrentHashMap(); private ConcurrentHashMap timers = new ConcurrentHashMap(); - - /** - * Time each player has during the game to play using his\her priority. - */ - private static final int PRIORITY_TIME_SEC = 62; private ConcurrentHashMap userPlayerMap; private UUID gameSessionId; @@ -137,8 +137,9 @@ public class GameController implements GameCallback { throw new IllegalStateException("INIT_TIMER: playerId can't be null"); } long delay = 250L; // run each 250 ms - timer = new PriorityTimer(PRIORITY_TIME_SEC, delay, new Runnable() { - public void run() { + timer = new PriorityTimer(Constants.PRIORITY_TIME_SEC, delay, new Action() { + @Override + public void execute() throws MageException { game.concede(initPlayerId); logger.info("Game timeout for player: " + initPlayerId + ". Conceding."); } From 7a6f42556e4d641da3b6d397f4af8e68d67784a3 Mon Sep 17 00:00:00 2001 From: Li REN Date: Thu, 20 Jun 2013 01:21:36 -0400 Subject: [PATCH 041/139] simplify image file filter for background --- .../mage/client/dialog/PreferencesDialog.java | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java index f3452fdb8a3..dcd04ccd831 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java @@ -154,24 +154,18 @@ public class PreferencesDialog extends javax.swing.JDialog { private final JFileChooser fc_i = new JFileChooser(); { fc_i.setAcceptAllFileFilterUsed(false); - fc_i.addChoosableFileFilter(new ImageFileFilter(".jpg")); - fc_i.addChoosableFileFilter(new ImageFileFilter(".jpeg")); - fc_i.addChoosableFileFilter(new ImageFileFilter(".png")); - fc_i.addChoosableFileFilter(new ImageFileFilter(".bmp")); + fc_i.addChoosableFileFilter(new ImageFileFilter()); } private static class ImageFileFilter extends FileFilter{ - String extend; - public ImageFileFilter(String extend){ - this.extend = extend; - } @Override public boolean accept(File f) { String filename = f.getName(); if(f.isDirectory()) return true; if(filename != null){ - if(filename.endsWith(extend)){ + if(filename.endsWith(".jpg") || filename.endsWith(".jpeg") || + filename.endsWith(".png") || filename.endsWith(".bmp")){ return true; } } @@ -180,15 +174,8 @@ public class PreferencesDialog extends javax.swing.JDialog { @Override public String getDescription() { - if(extend.equals(".png")) - return "Image File(*.png)"; - if(extend.equals(".bmp")) - return "Image File(*.bmp)"; - if(extend.equals(".jpg") || extend.equals(".jpg")) - return "JEGP file(*.jpg,*.jepg)"; - return ""; - } - + return "*.png|*.bmp|*.jpg|*.jpeg"; + } } From 64f24520895850a2cb1be3b447addbcdd5e07925 Mon Sep 17 00:00:00 2001 From: Li REN Date: Thu, 20 Jun 2013 01:24:16 -0400 Subject: [PATCH 042/139] simplify image file filter for background --- .../src/main/java/mage/client/dialog/PreferencesDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java index dcd04ccd831..bef9caf4f93 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java @@ -174,7 +174,7 @@ public class PreferencesDialog extends javax.swing.JDialog { @Override public String getDescription() { - return "*.png|*.bmp|*.jpg|*.jpeg"; + return "*.png | *.bmp |*.jpg | *.jpeg"; } } From beb3affa7c2de432b187559bc4782a5cc40290a6 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 20 Jun 2013 08:41:50 +0200 Subject: [PATCH 043/139] Some changes to Suspend (not finished) and AddCountersSourceEffect. --- .../counter/AddCountersSourceEffect.java | 58 ++++++++++++++----- .../abilities/keyword/SuspendAbility.java | 47 +++++++++------ 2 files changed, 71 insertions(+), 34 deletions(-) diff --git a/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java b/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java index 5029184f207..72a752e21a3 100644 --- a/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java @@ -33,6 +33,7 @@ import mage.abilities.Ability; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; import mage.counters.Counter; import mage.game.Game; import mage.game.permanent.Permanent; @@ -44,8 +45,9 @@ import mage.players.Player; public class AddCountersSourceEffect extends OneShotEffect { private Counter counter; - protected boolean informPlayers; - protected DynamicValue amount; + private boolean informPlayers; + private DynamicValue amount; + private boolean putOnCard; public AddCountersSourceEffect(Counter counter) { this(counter, false); @@ -55,17 +57,23 @@ public class AddCountersSourceEffect extends OneShotEffect { public SuspendAbility(int suspend, ManaCost cost, Card card) { super(Zone.HAND, new SuspendExileEffect(suspend), cost); this.usesStack = false; - ruleText = new StringBuilder("Suspend ").append(suspend).append(" - ").append(cost.getText()) - .append(" (Rather than cast this card from your hand, pay ") - .append(cost.getText()) - .append(" and exile it with ") - .append(suspend == 1 ? "a time counter":suspend + " time counters") - .append(" on it.") - .append(" At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.") - .append(card.getCardType().contains(CardType.CREATURE)? " If you play it this way and it's a creature, it gains haste until you lose control of it.":"") - .append(")") - .toString(); + StringBuilder sb = new StringBuilder("Suspend "); + if (cost != null) { + sb.append(suspend).append(" - ").append(cost.getText()) + .append(" (Rather than cast this card from your hand, pay ") + .append(cost.getText()) + .append(" and exile it with ") + .append(suspend == 1 ? "a time counter":suspend + " time counters") + .append(" on it.") + .append(" At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.") + .append(card.getCardType().contains(CardType.CREATURE)? " If you play it this way and it's a creature, it gains haste until you lose control of it.":"") + .append(")"); + } + ruleText = sb.toString(); if (card.getManaCost().isEmpty()) { setRuleAtTheTop(true); - } - + } // add triggered ability to remove the counter from the card Ability ability = new ConditionalTriggeredAbility( new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), TargetController.YOU, false), @@ -167,11 +171,11 @@ public class SuspendAbility extends ActivatedAbilityImpl { // add triggered ability that casts the suspended card, if all counters are removed card.addAbility(new SuspendPlayCardAbility(card.getCardType().contains(CardType.CREATURE))); // if it's a creature card, add Haste ability - if (card.getCardType().contains(CardType.CREATURE)) { - ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainHasteEffect(Duration.WhileOnBattlefield)); - ability.setRuleVisible(false); - card.addAbility(ability); - } +// if (card.getCardType().contains(CardType.CREATURE)) { +// ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainHasteEffect(Duration.WhileOnBattlefield)); +// ability.setRuleVisible(false); +// card.addAbility(ability); +// } } public SuspendAbility(SuspendAbility ability) { @@ -252,6 +256,11 @@ class SuspendPlayCardAbility extends TriggeredAbilityImpl { public SuspendPlayCardEffect(boolean isCreature) { super(Outcome.PutCardInPlay); - this.staticText = new StringBuilder("play it without paying its mana cost if able. If you can't, it remains removed from the game") - .append(isCreature ? ". If you play it this way and it's a creature, it gains haste until you lose control of it":"").toString(); + this.staticText = "play it without paying its mana cost if able. If you can't, it remains removed from the game"; + } public SuspendPlayCardEffect(final SuspendPlayCardEffect effect) { From 83eb6aae476fea43d02003decfd14e8234b9f0c2 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 20 Jun 2013 08:42:28 +0200 Subject: [PATCH 044/139] [MMA] Added Epochrasite (not finished). --- .../mage/sets/futuresight/Epochrasite.java | 54 ++++++++++++ .../mage/sets/modernmasters/Epochrasite.java | 87 +++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/futuresight/Epochrasite.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java diff --git a/Mage.Sets/src/mage/sets/futuresight/Epochrasite.java b/Mage.Sets/src/mage/sets/futuresight/Epochrasite.java new file mode 100644 index 00000000000..f2943e24d2e --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/Epochrasite.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class Epochrasite extends mage.sets.modernmasters.Epochrasite { + + public Epochrasite(UUID ownerId) { + super(ownerId); + this.cardNumber = 162; + this.expansionSetCode = "FUT"; + this.rarity = Rarity.RARE; + } + + public Epochrasite(final Epochrasite card) { + super(card); + } + + @Override + public Epochrasite copy() { + return new Epochrasite(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java b/Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java new file mode 100644 index 00000000000..197a5063c3b --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java @@ -0,0 +1,87 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.common.CastFromHandCondition; +import mage.abilities.condition.common.InvertCondition; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.ExileSourceEffect; +import mage.abilities.effects.common.continious.GainAbilitySourceEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.SuspendAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.counters.CounterType; +import mage.watchers.common.CastFromHandWatcher; + +/** + * + * @author LevelX2 + */ +public class Epochrasite extends CardImpl { + + public Epochrasite(UUID ownerId) { + super(ownerId, 205, "Epochrasite", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Construct"); + + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + this.addWatcher(new CastFromHandWatcher()); + + // Epochrasite enters the battlefield with three +1/+1 counters on it if you didn't cast it from your hand. + this.addAbility(new EntersBattlefieldAbility( + new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), + new InvertCondition(new CastFromHandCondition()), true, + "{this} enters the battlefield with three +1/+1 counters on it if you didn't cast it from your hand","")); + + // When Epochrasite dies, exile it with three time counters on it and it gains suspend. + Ability ability = new DiesTriggeredAbility(new ExileSourceEffect()); + ability.addEffect(new AddCountersSourceEffect(CounterType.TIME.createInstance(3), new StaticValue(0), false, true)); + ability.addEffect(new GainAbilitySourceEffect(new SuspendAbility(3, null, this), Duration.Custom)); + this.addAbility(ability); + } + + public Epochrasite(final Epochrasite card) { + super(card); + } + + @Override + public Epochrasite copy() { + return new Epochrasite(this); + } +} + From 7c187a1d2aba9c662e473e6d06e5140c8718645d Mon Sep 17 00:00:00 2001 From: magenoxx Date: Thu, 20 Jun 2013 15:50:06 +0400 Subject: [PATCH 045/139] Fixes for timers. --- .../java/mage/client/game/PlayerPanelExt.java | 17 ++++++++++++----- Mage.Common/src/mage/view/PlayerView.java | 6 ++++++ Mage/src/mage/players/PlayerImpl.java | 2 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index 0890cde733e..7f54cd24eeb 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -206,21 +206,28 @@ public class PlayerPanelExt extends javax.swing.JPanel { } } this.avatar.setText(player.getName()); - String priorityTimeValue = getPriorityTimeLeftString(player); - this.timer.setCount(player.getPriorityTimeLeft()); - this.avatar.setTopText(priorityTimeValue); + if (player.getPriorityTimeLeft() != Integer.MAX_VALUE) { + String priorityTimeValue = getPriorityTimeLeftString(player); + this.timer.setCount(player.getPriorityTimeLeft()); + this.avatar.setTopText(priorityTimeValue); + } this.btnPlayer.setText(player.getName()); if (player.isActive()) { this.avatar.setBorder(greenBorder); this.btnPlayer.setBorder(greenBorder); - this.timer.resume(); } else if (player.hasLeft()) { this.avatar.setBorder(redBorder); this.btnPlayer.setBorder(redBorder); - this.timer.pause(); } else { this.avatar.setBorder(emptyBorder); this.btnPlayer.setBorder(emptyBorder); + } + + if (player.hasPriority()) { + System.out.println("resume: " + player.getName()); + this.timer.resume(); + } else { + System.out.println("pause: " + player.getName()); this.timer.pause(); } diff --git a/Mage.Common/src/mage/view/PlayerView.java b/Mage.Common/src/mage/view/PlayerView.java index f0e46419eaf..711e037d859 100644 --- a/Mage.Common/src/mage/view/PlayerView.java +++ b/Mage.Common/src/mage/view/PlayerView.java @@ -54,6 +54,7 @@ public class PlayerView implements Serializable { private int libraryCount; private int handCount; private boolean isActive; + private boolean hasPriority; private boolean hasLeft; private ManaPoolView manaPool; private SimpleCardsView graveyard = new SimpleCardsView(); @@ -74,6 +75,7 @@ public class PlayerView implements Serializable { this.handCount = player.getHand().size(); this.manaPool = new ManaPoolView(player.getManaPool()); this.isActive = (player.getId().equals(state.getActivePlayerId())); + this.hasPriority = player.getId().equals(state.getPriorityPlayerId()); this.hasLeft = player.hasLeft(); for (Card card: player.getGraveyard().getCards(game)) { graveyard.put(card.getId(), new SimpleCardView(card.getId(), card.getExpansionSetCode(), card.getCardNumber(), card.getUsesVariousArt(), card.isFaceDown())); @@ -197,4 +199,8 @@ public class PlayerView implements Serializable { public int getPriorityTimeLeft() { return priorityTimeLeft; } + + public boolean hasPriority() { + return hasPriority; + } } diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index ded8742beb5..12bdedd2e58 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -106,7 +106,7 @@ public abstract class PlayerImpl> implements Player, Ser protected boolean passedTurn; protected int turns; protected int storedBookmark = -1; - protected int priorityTimeLeft; + protected int priorityTimeLeft = Integer.MAX_VALUE; /** * This indicates that player passed all turns until his own turn starts. From 66d1a66967a2968cab20215a9753687fedbf5047 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Thu, 20 Jun 2013 18:09:30 +0400 Subject: [PATCH 046/139] [Timers] Removed debug logging. --- Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index 7f54cd24eeb..3a93ad629aa 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -224,10 +224,8 @@ public class PlayerPanelExt extends javax.swing.JPanel { } if (player.hasPriority()) { - System.out.println("resume: " + player.getName()); this.timer.resume(); } else { - System.out.println("pause: " + player.getName()); this.timer.pause(); } From 212e53eb752822fecfff5540ea7940dd505d5cf5 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 20 Jun 2013 16:51:29 +0200 Subject: [PATCH 047/139] * Sunburst Ability - Fixed reminder text. --- .../src/mage/sets/fifthdawn/BatonOfCourage.java | 2 +- .../src/mage/sets/fifthdawn/ClearwaterGoblet.java | 2 +- .../mage/sets/fifthdawn/EngineeredExplosives.java | 2 +- .../src/mage/sets/fifthdawn/SawtoothThresher.java | 2 +- .../src/mage/sets/fifthdawn/SkyreachManta.java | 2 +- .../src/mage/sets/planechase/EtchedOracle.java | 2 +- .../src/mage/sets/planechase/PentadPrism.java | 2 +- .../src/mage/sets/planechase/SuntouchedMyr.java | 2 +- .../mage/abilities/keyword/SunburstAbility.java | 14 ++++++++++---- 9 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Mage.Sets/src/mage/sets/fifthdawn/BatonOfCourage.java b/Mage.Sets/src/mage/sets/fifthdawn/BatonOfCourage.java index 218eb307fc9..ad700127cc0 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/BatonOfCourage.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/BatonOfCourage.java @@ -56,7 +56,7 @@ public class BatonOfCourage extends CardImpl { // Flash this.addAbility(FlashAbility.getInstance()); // Sunburst - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); // Remove a charge counter from Baton of Courage: Target creature gets +1/+1 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1))); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/sets/fifthdawn/ClearwaterGoblet.java b/Mage.Sets/src/mage/sets/fifthdawn/ClearwaterGoblet.java index dad83e18d8e..a5006adeacf 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/ClearwaterGoblet.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/ClearwaterGoblet.java @@ -51,7 +51,7 @@ public class ClearwaterGoblet extends CardImpl { this.expansionSetCode = "5DN"; // Sunburst - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); // At the beginning of your upkeep, you may gain life equal to the number of charge counters on Clearwater Goblet. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(new CountersCount(CounterType.CHARGE)), TargetController.YOU, true)); } diff --git a/Mage.Sets/src/mage/sets/fifthdawn/EngineeredExplosives.java b/Mage.Sets/src/mage/sets/fifthdawn/EngineeredExplosives.java index 31aa69f8d7d..059d1f76c6b 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/EngineeredExplosives.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/EngineeredExplosives.java @@ -58,7 +58,7 @@ public class EngineeredExplosives extends CardImpl { this.expansionSetCode = "5DN"; // Sunburst - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); // {2}, Sacrifice Engineered Explosives: Destroy each nonland permanent with converted mana cost equal to the number of charge counters on Engineered Explosives. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new EngineeredExplosivesEffect(), new ManaCostsImpl("{2}")); ability.addCost(new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/sets/fifthdawn/SawtoothThresher.java b/Mage.Sets/src/mage/sets/fifthdawn/SawtoothThresher.java index ef57a368362..811e9a46002 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/SawtoothThresher.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/SawtoothThresher.java @@ -56,7 +56,7 @@ public class SawtoothThresher extends CardImpl { this.toughness = new MageInt(1); // Sunburst - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); // Remove two +1/+1 counters from Sawtooth Thresher: Sawtooth Thresher gets +4/+4 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(4, 4, Duration.EndOfTurn), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2)))); } diff --git a/Mage.Sets/src/mage/sets/fifthdawn/SkyreachManta.java b/Mage.Sets/src/mage/sets/fifthdawn/SkyreachManta.java index a5ebb277535..f4a36ca5513 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/SkyreachManta.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/SkyreachManta.java @@ -49,7 +49,7 @@ public class SkyreachManta extends CardImpl { this.toughness = new MageInt(0); // Sunburst - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); // Flying this.addAbility(FlyingAbility.getInstance()); } diff --git a/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java b/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java index b62afa3c947..13fc76cb009 100644 --- a/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java +++ b/Mage.Sets/src/mage/sets/planechase/EtchedOracle.java @@ -57,7 +57,7 @@ public class EtchedOracle extends CardImpl { this.toughness = new MageInt(0); // Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.) - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); // {1}, Remove four +1/+1 counters from Etched Oracle: Target player draws three cards. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(3), new ManaCostsImpl("{1}")); ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(4))); diff --git a/Mage.Sets/src/mage/sets/planechase/PentadPrism.java b/Mage.Sets/src/mage/sets/planechase/PentadPrism.java index 2ec25226bcc..488a322cbb2 100644 --- a/Mage.Sets/src/mage/sets/planechase/PentadPrism.java +++ b/Mage.Sets/src/mage/sets/planechase/PentadPrism.java @@ -47,7 +47,7 @@ public class PentadPrism extends CardImpl { this.expansionSetCode = "HOP"; // Sunburst - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); // Remove a charge counter from Pentad Prism: Add one mana of any color to your mana pool. this.addAbility(new AnyColorManaAbility(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)))); } diff --git a/Mage.Sets/src/mage/sets/planechase/SuntouchedMyr.java b/Mage.Sets/src/mage/sets/planechase/SuntouchedMyr.java index 6ca3efebcd8..5de6e02a4b3 100644 --- a/Mage.Sets/src/mage/sets/planechase/SuntouchedMyr.java +++ b/Mage.Sets/src/mage/sets/planechase/SuntouchedMyr.java @@ -48,7 +48,7 @@ public class SuntouchedMyr extends CardImpl { this.toughness = new MageInt(0); // Sunburst - this.addAbility(new SunburstAbility()); + this.addAbility(new SunburstAbility(this)); } public SuntouchedMyr(final SuntouchedMyr card) { diff --git a/Mage/src/mage/abilities/keyword/SunburstAbility.java b/Mage/src/mage/abilities/keyword/SunburstAbility.java index 9f42bdc4b9a..c7271b2fcd8 100644 --- a/Mage/src/mage/abilities/keyword/SunburstAbility.java +++ b/Mage/src/mage/abilities/keyword/SunburstAbility.java @@ -33,6 +33,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.SunburstCount; import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; import mage.constants.CardType; import mage.constants.Outcome; import mage.counters.Counter; @@ -49,12 +50,18 @@ import mage.players.Player; public class SunburstAbility extends EntersBattlefieldAbility{ - public SunburstAbility(){ + private final static String ruleCreature ="Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.)"; + private final static String ruleNonCreature ="Sunburst (This enters the battlefield with a charge counter on it for each color of mana spent to cast it.)"; + private boolean isCreature; + + public SunburstAbility(Card card){ super(new SunburstEffect(),""); + isCreature = card.getCardType().contains(CardType.CREATURE); } public SunburstAbility(final SunburstAbility ability){ super(ability); + this.isCreature = ability.isCreature; } @@ -65,7 +72,7 @@ public class SunburstAbility extends EntersBattlefieldAbility{ @Override public String getRule() { - return "Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it.)"; + return isCreature ? ruleCreature : ruleNonCreature; } @@ -114,5 +121,4 @@ class SunburstEffect extends OneShotEffect { return new SunburstEffect(this); } - -} \ No newline at end of file +} From 53835f9b224b77774809bff80fa7cba4ee7930cf Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 20 Jun 2013 16:52:03 +0200 Subject: [PATCH 048/139] * Modular Ability - Added support for Modular-Sunburst. --- .../abilities/keyword/ModularAbility.java | 37 ++++++++++++++++--- 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/Mage/src/mage/abilities/keyword/ModularAbility.java b/Mage/src/mage/abilities/keyword/ModularAbility.java index 216c55a71dd..549b0bacd21 100644 --- a/Mage/src/mage/abilities/keyword/ModularAbility.java +++ b/Mage/src/mage/abilities/keyword/ModularAbility.java @@ -1,8 +1,5 @@ package mage.abilities.keyword; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.StaticAbility; @@ -11,6 +8,9 @@ import mage.abilities.effects.EntersBattlefieldEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.Card; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -42,17 +42,30 @@ public class ModularAbility extends DiesTriggeredAbility { filter.add(new CardTypePredicate(CardType.CREATURE)); } private int amount; + private boolean sunburst; public ModularAbility(Card card, int amount) { + this(card, amount, false); + } + + public ModularAbility(Card card, int amount, boolean sunburst) { super(new ModularDistributeCounterEffect(), true); this.addTarget(new TargetArtifactPermanent(filter)); this.amount = amount; - card.addAbility(new ModularStaticAbility(amount)); + this.sunburst = sunburst; + if (sunburst) { + Ability ability = new SunburstAbility(card); + ability.setRuleVisible(false); + card.addAbility(ability); + } else { + card.addAbility(new ModularStaticAbility(amount)); + } } public ModularAbility(ModularAbility ability) { super(ability); this.amount = ability.amount; + this.sunburst = ability.sunburst; } @Override @@ -71,19 +84,31 @@ public class ModularAbility extends DiesTriggeredAbility { @Override public String getRule() { - return "Modular " + amount + " (This enters the battlefield with " + amount + " +1/+1 counter on it. When it dies, you may put its +1/+1 counters on target artifact creature.)"; + StringBuilder sb = new StringBuilder("Modular"); + if (sunburst) { + sb.append("-Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. When it dies, you may put its +1/+1 counters on target artifact creature.)"); + } else { + sb.append(" ").append(amount).append(" (This enters the battlefield with ") + .append(amount).append(" +1/+1 counter on it. When it dies, you may put its +1/+1 counters on target artifact creature.)"); + } + return sb.toString(); } } class ModularStaticAbility extends StaticAbility { + private String ruleText; + public ModularStaticAbility(int amount) { super(Zone.BATTLEFIELD, new EntersBattlefieldEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(amount)))); + ruleText = new StringBuilder("This enters the battlefield with ").append(amount).append(" +1/+1 counter on it.").toString(); + this.setRuleVisible(false); } public ModularStaticAbility(final ModularStaticAbility ability) { super(ability); + this.ruleText = ability.ruleText; } @Override @@ -93,7 +118,7 @@ class ModularStaticAbility extends StaticAbility { @Override public String getRule() { - return ""; + return ruleText; } } From 023e4f94b5d7275edf9b1e19009274b1f303dbec Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 20 Jun 2013 16:53:05 +0200 Subject: [PATCH 049/139] * Suspend Ability - Added support for gaining suspend during game (Epochrasite). --- .../mage/sets/modernmasters/Epochrasite.java | 2 +- .../continious/GainAbilitySourceEffect.java | 27 +++++++-- .../abilities/keyword/SuspendAbility.java | 55 ++++++++++++------- 3 files changed, 60 insertions(+), 24 deletions(-) diff --git a/Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java b/Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java index 197a5063c3b..d34353fdb5e 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java +++ b/Mage.Sets/src/mage/sets/modernmasters/Epochrasite.java @@ -71,7 +71,7 @@ public class Epochrasite extends CardImpl { // When Epochrasite dies, exile it with three time counters on it and it gains suspend. Ability ability = new DiesTriggeredAbility(new ExileSourceEffect()); ability.addEffect(new AddCountersSourceEffect(CounterType.TIME.createInstance(3), new StaticValue(0), false, true)); - ability.addEffect(new GainAbilitySourceEffect(new SuspendAbility(3, null, this), Duration.Custom)); + ability.addEffect(new GainAbilitySourceEffect(new SuspendAbility(3, null, this), Duration.OneUse, true)); this.addAbility(ability); } diff --git a/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java b/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java index 978705f07ee..307ffd1bef3 100644 --- a/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/GainAbilitySourceEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects.common.continious; import mage.abilities.Ability; import mage.abilities.effects.ContinuousEffectImpl; +import mage.cards.Card; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -44,6 +45,8 @@ import mage.game.permanent.Permanent; public class GainAbilitySourceEffect extends ContinuousEffectImpl { protected Ability ability; + // shall a card gain the ability (otherwise permanent) + private boolean onCard; /** * Add ability with Duration.WhileOnBattlefield @@ -54,14 +57,20 @@ public class GainAbilitySourceEffect extends ContinuousEffectImpl { private String ruleText; + private boolean gainedTemporary; + + /** + * Gives the card the SuspendAbility + * + * @param suspend - amount of time counters + * @param cost - null is used for temporary gained suspend ability + * @param card - card that has the suspend ability + */ public SuspendAbility(int suspend, ManaCost cost, Card card) { super(Zone.HAND, new SuspendExileEffect(suspend), cost); @@ -156,6 +162,8 @@ public class SuspendAbility extends ActivatedAbilityImpl { .append(" At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.") .append(card.getCardType().contains(CardType.CREATURE)? " If you play it this way and it's a creature, it gains haste until you lose control of it.":"") .append(")"); + } else { + gainedTemporary = true; } ruleText = sb.toString(); if (card.getManaCost().isEmpty()) { @@ -168,19 +176,13 @@ public class SuspendAbility extends ActivatedAbilityImpl { "At the beginning of your upkeep, if this card is suspended, remove a time counter from it."); ability.setRuleVisible(false); card.addAbility(ability); - // add triggered ability that casts the suspended card, if all counters are removed card.addAbility(new SuspendPlayCardAbility(card.getCardType().contains(CardType.CREATURE))); - // if it's a creature card, add Haste ability -// if (card.getCardType().contains(CardType.CREATURE)) { -// ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainHasteEffect(Duration.WhileOnBattlefield)); -// ability.setRuleVisible(false); -// card.addAbility(ability); -// } } public SuspendAbility(SuspendAbility ability) { super(ability); this.ruleText = ability.getRule(); + this.gainedTemporary = ability.gainedTemporary; } @Override @@ -200,6 +202,10 @@ public class SuspendAbility extends ActivatedAbilityImpl { return ruleText; } + public boolean isGainedTemporary() { + return gainedTemporary; + } + @Override public SuspendAbility copy() { return new SuspendAbility(this); @@ -257,9 +263,7 @@ class SuspendPlayCardAbility extends TriggeredAbilityImpl { public SuspendPlayCardEffect(boolean isCreature) { super(Outcome.PutCardInPlay); - this.staticText = "play it without paying its mana cost if able. If you can't, it remains removed from the game"; - + this.staticText = "play it without paying its mana cost if able. If you can't, it remains removed from the game"; } public SuspendPlayCardEffect(final SuspendPlayCardEffect effect) { @@ -310,9 +313,23 @@ class SuspendPlayCardEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); Card card = game.getCard(source.getSourceId()); if (player != null && card != null) { + // remove temporary suspend ability (used e.g. for Epochrasite) + Ability abilityToRemove = null; + for (Ability ability : card.getAbilities()) { + if (ability instanceof SuspendAbility) { + if (((SuspendAbility)ability).isGainedTemporary()) { + abilityToRemove = ability; + } + } + } + if (abilityToRemove != null) { + card.getAbilities().remove(abilityToRemove); + } + // cast the card for free player.cast(card.getSpellAbility(), game, true); } return false; @@ -323,8 +340,8 @@ class GainHasteEffect extends ContinuousEffectImpl { private UUID suspendController; - public GainHasteEffect(Duration duration) { - super(duration, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); + public GainHasteEffect() { + super(Duration.Custom, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); staticText = "If you play it this way and it's a creature, it gains haste until you lose control of it"; } @@ -345,11 +362,11 @@ class GainHasteEffect extends ContinuousEffectImpl { } Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent != null) { - if (suspendController.equals(source.getControllerId()) && !used) { // used stores if the control changed + if (suspendController.equals(source.getControllerId())) { permanent.addAbility(HasteAbility.getInstance(), source.getSourceId(), game); return true; } else { - used = true; + this.discard(); } } return false; From 2dcc9da8d7c6f212a4e09d75b002957fa5554415 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 20 Jun 2013 17:12:41 +0200 Subject: [PATCH 050/139] [MMA] Added Arcbound Wanderer and Warren Pilferers. --- .../mage/sets/fifthdawn/ArcboundWanderer.java | 54 +++++++++ .../src/mage/sets/lorwyn/WarrenPilferers.java | 52 ++++++++ .../sets/modernmasters/ArcboundWanderer.java | 63 ++++++++++ .../sets/modernmasters/WarrenPilferers.java | 113 ++++++++++++++++++ 4 files changed, 282 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/fifthdawn/ArcboundWanderer.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/WarrenPilferers.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/ArcboundWanderer.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/WarrenPilferers.java diff --git a/Mage.Sets/src/mage/sets/fifthdawn/ArcboundWanderer.java b/Mage.Sets/src/mage/sets/fifthdawn/ArcboundWanderer.java new file mode 100644 index 00000000000..e6484295d6f --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthdawn/ArcboundWanderer.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.fifthdawn; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class ArcboundWanderer extends mage.sets.modernmasters.ArcboundWanderer { + + public ArcboundWanderer(UUID ownerId) { + super(ownerId); + this.cardNumber = 103; + this.expansionSetCode = "5DN"; + this.rarity = Rarity.UNCOMMON; + } + + public ArcboundWanderer(final ArcboundWanderer card) { + super(card); + } + + @Override + public ArcboundWanderer copy() { + return new ArcboundWanderer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/WarrenPilferers.java b/Mage.Sets/src/mage/sets/lorwyn/WarrenPilferers.java new file mode 100644 index 00000000000..a3c79d6c8e8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/WarrenPilferers.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class WarrenPilferers extends mage.sets.modernmasters.WarrenPilferers { + + public WarrenPilferers(UUID ownerId) { + super(ownerId); + this.cardNumber = 146; + this.expansionSetCode = "LRW"; + } + + public WarrenPilferers(final WarrenPilferers card) { + super(card); + } + + @Override + public WarrenPilferers copy() { + return new WarrenPilferers(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/ArcboundWanderer.java b/Mage.Sets/src/mage/sets/modernmasters/ArcboundWanderer.java new file mode 100644 index 00000000000..f4dd03beadf --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/ArcboundWanderer.java @@ -0,0 +1,63 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.ModularAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class ArcboundWanderer extends CardImpl { + + public ArcboundWanderer(UUID ownerId) { + super(ownerId, 200, "Arcbound Wanderer", Rarity.COMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Golem"); + this.power = new MageInt(0); + this.toughness = new MageInt(0); + + // Modular-Sunburst + this.addAbility(new ModularAbility(this,0,true)); + + } + + public ArcboundWanderer(final ArcboundWanderer card) { + super(card); + } + + @Override + public ArcboundWanderer copy() { + return new ArcboundWanderer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/WarrenPilferers.java b/Mage.Sets/src/mage/sets/modernmasters/WarrenPilferers.java new file mode 100644 index 00000000000..c03290587cf --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/WarrenPilferers.java @@ -0,0 +1,113 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.GainAbilitySourceEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author LevelX2 + */ +public class WarrenPilferers extends CardImpl { + + public WarrenPilferers(UUID ownerId) { + super(ownerId, 103, "Warren Pilferers", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{B}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Goblin"); + this.subtype.add("Rogue"); + + this.color.setBlack(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Warren Pilferers enters the battlefield, return target creature card from your graveyard to your hand. If that card is a Goblin card, Warren Pilferers gains haste until end of turn. + Ability ability = new EntersBattlefieldTriggeredAbility(new WarrenPilferersReturnEffect(), false); + ability.addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard"))); + this.addAbility(ability); + } + + public WarrenPilferers(final WarrenPilferers card) { + super(card); + } + + @Override + public WarrenPilferers copy() { + return new WarrenPilferers(this); + } +} + +class WarrenPilferersReturnEffect extends OneShotEffect { + + public WarrenPilferersReturnEffect() { + super(Outcome.ReturnToHand); + staticText = "return target creature card from your graveyard to your hand. If that card is a Goblin card, Warren Pilferers gains haste until end of turn"; + } + + public WarrenPilferersReturnEffect(final WarrenPilferersReturnEffect effect) { + super(effect); + } + + @Override + public WarrenPilferersReturnEffect copy() { + return new WarrenPilferersReturnEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card card = game.getCard(source.getFirstTarget()); + if (card != null) { + card.moveToZone(Zone.HAND, source.getSourceId(), game, false); + if (card.getSubtype().contains("Goblin")) { + game.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), source); + } + return true; + } + return false; + } + +} From a44c2c90b48889ad7964dea54e51659f1e962688 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 21 Jun 2013 00:37:13 +0200 Subject: [PATCH 051/139] [MMA] Added 3 cards. --- .../mage/sets/eventide/ColdEyedSelkie.java | 105 ++++++++++++++++ .../src/mage/sets/lorwyn/BlindSpotGiant.java | 52 ++++++++ .../mage/sets/lorwyn/DreamspoilerWitches.java | 52 ++++++++ .../sets/modernmasters/BlindSpotGiant.java | 119 ++++++++++++++++++ .../sets/modernmasters/ColdEyedSelkie.java | 52 ++++++++ .../modernmasters/DreamspoilerWitches.java | 107 ++++++++++++++++ 6 files changed, 487 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/eventide/ColdEyedSelkie.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/BlindSpotGiant.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/DreamspoilerWitches.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/BlindSpotGiant.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/ColdEyedSelkie.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/DreamspoilerWitches.java diff --git a/Mage.Sets/src/mage/sets/eventide/ColdEyedSelkie.java b/Mage.Sets/src/mage/sets/eventide/ColdEyedSelkie.java new file mode 100644 index 00000000000..8dbf6adb710 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eventide/ColdEyedSelkie.java @@ -0,0 +1,105 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eventide; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.IslandwalkAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class ColdEyedSelkie extends CardImpl { + + public ColdEyedSelkie(UUID ownerId) { + super(ownerId, 149, "Cold-Eyed Selkie", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{G/U}{G/U}"); + this.expansionSetCode = "EVE"; + this.subtype.add("Merfolk"); + this.subtype.add("Rogue"); + + this.color.setBlue(true); + this.color.setGreen(true); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Islandwalk + this.addAbility(new IslandwalkAbility()); + // Whenever Cold-Eyed Selkie deals combat damage to a player, you may draw that many cards. + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new ColdEyeSelkieEffect(), true, true)); + + } + + public ColdEyedSelkie(final ColdEyedSelkie card) { + super(card); + } + + @Override + public ColdEyedSelkie copy() { + return new ColdEyedSelkie(this); + } +} + +class ColdEyeSelkieEffect extends OneShotEffect { + + public ColdEyeSelkieEffect() { + super(Outcome.DrawCard); + this.staticText = "draw that many cards"; + } + + public ColdEyeSelkieEffect(final ColdEyeSelkieEffect effect) { + super(effect); + } + + @Override + public ColdEyeSelkieEffect copy() { + return new ColdEyeSelkieEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + int amount = (Integer) getValue("damage"); + if (amount > 0) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + controller.drawCards(amount, game); + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/BlindSpotGiant.java b/Mage.Sets/src/mage/sets/lorwyn/BlindSpotGiant.java new file mode 100644 index 00000000000..10ca0055e4d --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/BlindSpotGiant.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class BlindSpotGiant extends mage.sets.modernmasters.BlindSpotGiant { + + public BlindSpotGiant(UUID ownerId) { + super(ownerId); + this.cardNumber = 153; + this.expansionSetCode = "LRW"; + } + + public BlindSpotGiant(final BlindSpotGiant card) { + super(card); + } + + @Override + public BlindSpotGiant copy() { + return new BlindSpotGiant(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/DreamspoilerWitches.java b/Mage.Sets/src/mage/sets/lorwyn/DreamspoilerWitches.java new file mode 100644 index 00000000000..3911aff08d5 --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/DreamspoilerWitches.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class DreamspoilerWitches extends mage.sets.modernmasters.DreamspoilerWitches { + + public DreamspoilerWitches(UUID ownerId) { + super(ownerId); + this.cardNumber = 108; + this.expansionSetCode = "LRW"; + } + + public DreamspoilerWitches(final DreamspoilerWitches card) { + super(card); + } + + @Override + public DreamspoilerWitches copy() { + return new DreamspoilerWitches(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/BlindSpotGiant.java b/Mage.Sets/src/mage/sets/modernmasters/BlindSpotGiant.java new file mode 100644 index 00000000000..85656c2caae --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/BlindSpotGiant.java @@ -0,0 +1,119 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.RestrictionEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author LevelX2 + */ +public class BlindSpotGiant extends CardImpl { + + public BlindSpotGiant(UUID ownerId) { + super(ownerId, 105, "Blind-Spot Giant", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Giant"); + this.subtype.add("Warrior"); + + this.color.setRed(true); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Blind-Spot Giant can't attack or block unless you control another Giant. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlindSpotGiantEffect())); + + } + + public BlindSpotGiant(final BlindSpotGiant card) { + super(card); + } + + @Override + public BlindSpotGiant copy() { + return new BlindSpotGiant(this); + } +} + +class BlindSpotGiantEffect extends RestrictionEffect { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("another Giant"); + static { + filter.add(new SubtypePredicate("Giant")); + filter.add(new AnotherPredicate()); + } + + public BlindSpotGiantEffect() { + super(Duration.WhileOnBattlefield); + staticText = "{this} can't attack or block unless you control another Giant"; + } + + public BlindSpotGiantEffect(final BlindSpotGiantEffect effect) { + super(effect); + } + + @Override + public BlindSpotGiantEffect copy() { + return new BlindSpotGiantEffect(this); + } + + @Override + public boolean canAttack(Game game) { + return false; + } + + @Override + public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { + return false; + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + if (permanent.getId().equals(source.getSourceId())) { + if (game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game) > 0) { + return false; + } + return true; + } // do not apply to other creatures. + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/ColdEyedSelkie.java b/Mage.Sets/src/mage/sets/modernmasters/ColdEyedSelkie.java new file mode 100644 index 00000000000..6142ffb9c32 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/ColdEyedSelkie.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class ColdEyedSelkie extends mage.sets.eventide.ColdEyedSelkie { + + public ColdEyedSelkie(UUID ownerId) { + super(ownerId); + this.cardNumber = 186; + this.expansionSetCode = "MMA"; + } + + public ColdEyedSelkie(final ColdEyedSelkie card) { + super(card); + } + + @Override + public ColdEyedSelkie copy() { + return new ColdEyedSelkie(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/DreamspoilerWitches.java b/Mage.Sets/src/mage/sets/modernmasters/DreamspoilerWitches.java new file mode 100644 index 00000000000..10f588cdf7f --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/DreamspoilerWitches.java @@ -0,0 +1,107 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.continious.BoostTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class DreamspoilerWitches extends CardImpl { + + public DreamspoilerWitches(UUID ownerId) { + super(ownerId, 81, "Dreamspoiler Witches", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{B}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Faerie"); + this.subtype.add("Wizard"); + + this.color.setBlack(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Whenever you cast a spell during an opponent's turn, you may have target creature get -1/-1 until end of turn. + this.addAbility(new DreamspoilerWitchesTriggeredAbility()); + + } + + public DreamspoilerWitches(final DreamspoilerWitches card) { + super(card); + } + + @Override + public DreamspoilerWitches copy() { + return new DreamspoilerWitches(this); + } +} + +class DreamspoilerWitchesTriggeredAbility extends TriggeredAbilityImpl { + DreamspoilerWitchesTriggeredAbility() { + super(Zone.BATTLEFIELD, new BoostTargetEffect(-1,-1, Duration.EndOfTurn), true); + this.addTarget(new TargetCreaturePermanent(true)); + } + + DreamspoilerWitchesTriggeredAbility(final DreamspoilerWitchesTriggeredAbility ability) { + super(ability); + } + + @Override + public DreamspoilerWitchesTriggeredAbility copy() { + return new DreamspoilerWitchesTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.SPELL_CAST + && event.getPlayerId().equals(this.controllerId) + && game.getOpponents(this.controllerId).contains(game.getActivePlayerId())) { + return true; + + } + return false; + } + + @Override + public String getRule() { + return "Whenever you cast a spell during an opponent's turn, " + super.getRule(); + } +} From 881792c36d097c1092223aad9d2f382732149fab Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 21 Jun 2013 15:42:29 +0200 Subject: [PATCH 052/139] Added Zone as parameter for SpellCastTriggeredAbility. --- .../mage/abilities/common/SpellCastTriggeredAbility.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Mage/src/mage/abilities/common/SpellCastTriggeredAbility.java b/Mage/src/mage/abilities/common/SpellCastTriggeredAbility.java index 77d4fbc3096..f516c806f6b 100644 --- a/Mage/src/mage/abilities/common/SpellCastTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/SpellCastTriggeredAbility.java @@ -51,8 +51,7 @@ public class SpellCastTriggeredAbility extends TriggeredAbilityImpl Date: Fri, 21 Jun 2013 15:43:08 +0200 Subject: [PATCH 053/139] * Bala-Ged Thief - Fixed bug in inform players message text. --- Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java b/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java index 407148ade61..52815a1318f 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java +++ b/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java @@ -152,7 +152,7 @@ class BalaGedThiefEffect extends OneShotEffect { Card card = revealedCards.get(targetInHand.getFirstTarget(), game); if (card != null) { targetPlayer.discard(card, source, game); - game.informPlayers(targetPlayer + "discarded " + card.getName()); + game.informPlayers(new StringBuilder("Bala Ged Thief: ").append(targetPlayer.getName()).append(" discarded ").append(card.getName()).toString()); } } return true; From 231b7d0ac64a3644cc571994c47e032fff4126a2 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 21 Jun 2013 15:43:36 +0200 Subject: [PATCH 054/139] [MMA] Added 6 cards. --- .../src/mage/sets/lorwyn/CrushUnderfoot.java | 54 +++++++ .../src/mage/sets/lorwyn/MaskedAdmirers.java | 54 +++++++ .../src/mage/sets/lorwyn/ThievingSprite.java | 52 ++++++ .../mercadianmasques/SqueeGoblinNabob.java | 52 ++++++ .../sets/modernmasters/CrushUnderfoot.java | 119 ++++++++++++++ .../sets/modernmasters/MaskedAdmirers.java | 84 ++++++++++ .../sets/modernmasters/OonaQueenOfTheFae.java | 52 ++++++ .../sets/modernmasters/SqueeGoblinNabob.java | 52 ++++++ .../sets/modernmasters/ThievingSprite.java | 150 ++++++++++++++++++ .../sets/modernmasters/TrompTheDomains.java | 52 ++++++ .../sets/shadowmoor/OonaQueenOfTheFae.java | 145 +++++++++++++++++ .../src/mage/sets/tenth/SqueeGoblinNabob.java | 69 ++++++++ .../mage/sets/timespiral/TrompTheDomains.java | 75 +++++++++ 13 files changed, 1010 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/lorwyn/CrushUnderfoot.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/MaskedAdmirers.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/ThievingSprite.java create mode 100644 Mage.Sets/src/mage/sets/mercadianmasques/SqueeGoblinNabob.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/CrushUnderfoot.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/MaskedAdmirers.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/OonaQueenOfTheFae.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/SqueeGoblinNabob.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/TrompTheDomains.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/OonaQueenOfTheFae.java create mode 100644 Mage.Sets/src/mage/sets/tenth/SqueeGoblinNabob.java create mode 100644 Mage.Sets/src/mage/sets/timespiral/TrompTheDomains.java diff --git a/Mage.Sets/src/mage/sets/lorwyn/CrushUnderfoot.java b/Mage.Sets/src/mage/sets/lorwyn/CrushUnderfoot.java new file mode 100644 index 00000000000..dffe1e600cd --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/CrushUnderfoot.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class CrushUnderfoot extends mage.sets.modernmasters.CrushUnderfoot { + + public CrushUnderfoot(UUID ownerId) { + super(ownerId); + this.cardNumber = 162; + this.expansionSetCode = "LRW"; + this.rarity = Rarity.UNCOMMON; + } + + public CrushUnderfoot(final CrushUnderfoot card) { + super(card); + } + + @Override + public CrushUnderfoot copy() { + return new CrushUnderfoot(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/MaskedAdmirers.java b/Mage.Sets/src/mage/sets/lorwyn/MaskedAdmirers.java new file mode 100644 index 00000000000..25ff88f6e9b --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/MaskedAdmirers.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class MaskedAdmirers extends mage.sets.modernmasters.MaskedAdmirers { + + public MaskedAdmirers(UUID ownerId) { + super(ownerId); + this.cardNumber = 230; + this.expansionSetCode = "LRW"; + this.rarity = Rarity.RARE; + } + + public MaskedAdmirers(final MaskedAdmirers card) { + super(card); + } + + @Override + public MaskedAdmirers copy() { + return new MaskedAdmirers(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/ThievingSprite.java b/Mage.Sets/src/mage/sets/lorwyn/ThievingSprite.java new file mode 100644 index 00000000000..73323cfa515 --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/ThievingSprite.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class ThievingSprite extends mage.sets.modernmasters.ThievingSprite { + + public ThievingSprite(UUID ownerId) { + super(ownerId); + this.cardNumber = 143; + this.expansionSetCode = "LRW"; + } + + public ThievingSprite(final ThievingSprite card) { + super(card); + } + + @Override + public ThievingSprite copy() { + return new ThievingSprite(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mercadianmasques/SqueeGoblinNabob.java b/Mage.Sets/src/mage/sets/mercadianmasques/SqueeGoblinNabob.java new file mode 100644 index 00000000000..4a0cf763dbc --- /dev/null +++ b/Mage.Sets/src/mage/sets/mercadianmasques/SqueeGoblinNabob.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.mercadianmasques; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class SqueeGoblinNabob extends mage.sets.tenth.SqueeGoblinNabob { + + public SqueeGoblinNabob(UUID ownerId) { + super(ownerId); + this.cardNumber = 214; + this.expansionSetCode = "MMQ"; + } + + public SqueeGoblinNabob(final SqueeGoblinNabob card) { + super(card); + } + + @Override + public SqueeGoblinNabob copy() { + return new SqueeGoblinNabob(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/CrushUnderfoot.java b/Mage.Sets/src/mage/sets/modernmasters/CrushUnderfoot.java new file mode 100644 index 00000000000..314f5b404b9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/CrushUnderfoot.java @@ -0,0 +1,119 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class CrushUnderfoot extends CardImpl { + + public CrushUnderfoot(UUID ownerId) { + super(ownerId, 109, "Crush Underfoot", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}"); + this.expansionSetCode = "MMA"; + this.supertype.add("Tribal"); + this.subtype.add("Giant"); + + this.color.setRed(true); + + // Choose a Giant creature you control. It deals damage equal to its power to target creature. + this.getSpellAbility().addEffect(new CrushUnderfootEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature damage is dealt to"))); + + } + + public CrushUnderfoot(final CrushUnderfoot card) { + super(card); + } + + @Override + public CrushUnderfoot copy() { + return new CrushUnderfoot(this); + } +} + +class CrushUnderfootEffect extends OneShotEffect { + + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Giant you control"); + static { + filter.add(new SubtypePredicate("Giant")); + } + + public CrushUnderfootEffect() { + super(Outcome.Damage); + this.staticText = "Choose a Giant creature you control. It deals damage equal to its power to target creature"; + } + + public CrushUnderfootEffect(final CrushUnderfootEffect effect) { + super(effect); + } + + @Override + public CrushUnderfootEffect copy() { + return new CrushUnderfootEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + // Choose a Giant creature you control (not targeted, happens during effect resolving ) + Target target = new TargetControlledCreaturePermanent(1,1, filter,false); + if (target.canChoose(source.getSourceId(), controller.getId(), game) + && controller.chooseTarget(outcome, target, source, game)) { + Permanent giant = game.getPermanent(target.getFirstTarget()); + if (giant != null) { + game.informPlayers(new StringBuilder("Crush Underfoot: Choosen Giant is").append(giant.getName()).toString()); + Permanent targetCreature = game.getPermanent(this.getTargetPointer().getFirst(game, source)); + if (targetCreature != null) { + targetCreature.damage(giant.getPower().getValue(), source.getSourceId(), game, true, false); + return true; + } + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/MaskedAdmirers.java b/Mage.Sets/src/mage/sets/modernmasters/MaskedAdmirers.java new file mode 100644 index 00000000000..b57b228388d --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/MaskedAdmirers.java @@ -0,0 +1,84 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SpellCastTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.CardTypePredicate; + +/** + * + * @author LevelX2 + */ +public class MaskedAdmirers extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("a creature spell"); + static { + filter.add(new CardTypePredicate(CardType.CREATURE)); + } + + public MaskedAdmirers(UUID ownerId) { + super(ownerId, 154, "Masked Admirers", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Elf"); + this.subtype.add("Shaman"); + + this.color.setGreen(true); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Masked Admirers enters the battlefield, draw a card. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false)); + // Whenever you cast a creature spell, you may pay {G}{G}. If you do, return Masked Admirers from your graveyard to your hand. + OneShotEffect effect = new ReturnToHandSourceEffect(); + effect.setText("return {this} from your graveyard to your hand"); + this.addAbility(new SpellCastTriggeredAbility( + Zone.GRAVEYARD, new DoIfCostPaid(effect, new ManaCostsImpl("{G}{G}")), filter, false, false)); + } + + public MaskedAdmirers(final MaskedAdmirers card) { + super(card); + } + + @Override + public MaskedAdmirers copy() { + return new MaskedAdmirers(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/OonaQueenOfTheFae.java b/Mage.Sets/src/mage/sets/modernmasters/OonaQueenOfTheFae.java new file mode 100644 index 00000000000..a9e95fb5027 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/OonaQueenOfTheFae.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class OonaQueenOfTheFae extends mage.sets.shadowmoor.OonaQueenOfTheFae { + + public OonaQueenOfTheFae(UUID ownerId) { + super(ownerId); + this.cardNumber = 193; + this.expansionSetCode = "MMA"; + } + + public OonaQueenOfTheFae(final OonaQueenOfTheFae card) { + super(card); + } + + @Override + public OonaQueenOfTheFae copy() { + return new OonaQueenOfTheFae(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/SqueeGoblinNabob.java b/Mage.Sets/src/mage/sets/modernmasters/SqueeGoblinNabob.java new file mode 100644 index 00000000000..6ba36633d8c --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/SqueeGoblinNabob.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class SqueeGoblinNabob extends mage.sets.tenth.SqueeGoblinNabob { + + public SqueeGoblinNabob(UUID ownerId) { + super(ownerId); + this.cardNumber = 130; + this.expansionSetCode = "MMA"; + } + + public SqueeGoblinNabob(final SqueeGoblinNabob card) { + super(card); + } + + @Override + public SqueeGoblinNabob copy() { + return new SqueeGoblinNabob(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java b/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java new file mode 100644 index 00000000000..5a6d40d80d7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java @@ -0,0 +1,150 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.List; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetCard; +import mage.target.TargetPlayer; + +/** + * + * @author LevelX2 + */ +public class ThievingSprite extends CardImpl { + + public ThievingSprite(UUID ownerId) { + super(ownerId, 101, "Thieving Sprite", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Faerie"); + this.subtype.add("Rogue"); + + this.color.setBlack(true); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // When Thieving Sprite enters the battlefield, target player reveals X cards from his or her hand, where X is the number of Faeries you control. You choose one of those cards. That player discards that card. + Ability ability = new EntersBattlefieldTriggeredAbility(new ThievingSpriteEffect(), false); + TargetPlayer target = new TargetPlayer(); + target.setRequired(true); + ability.addTarget(target); + this.addAbility(ability); + + } + + public ThievingSprite(final ThievingSprite card) { + super(card); + } + + @Override + public ThievingSprite copy() { + return new ThievingSprite(this); + } +} + +class ThievingSpriteEffect extends OneShotEffect { + + public ThievingSpriteEffect() { + super(Outcome.Discard); + this.staticText = "target player reveals X cards from his or her hand, where X is the number of Faeries you control. You choose one of those cards. That player discards that card"; + } + + public ThievingSpriteEffect(final ThievingSpriteEffect effect) { + super(effect); + } + + @Override + public ThievingSpriteEffect copy() { + return new ThievingSpriteEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player targetPlayer = game.getPlayer(source.getFirstTarget()); + Player controller = game.getPlayer(source.getControllerId()); + if (targetPlayer == null || controller == null) { + return false; + } + + FilterControlledPermanent filter = new FilterControlledPermanent(); + filter.add(new SubtypePredicate("Faerie")); + int numberOfFaeries = game.getBattlefield().countAll(filter, controller.getId(), game); + + Cards cardsInHand = new CardsImpl(Zone.PICK); + cardsInHand.addAll(targetPlayer.getHand()); + int count = Math.min(cardsInHand.size(), numberOfFaeries); + + TargetCard target = new TargetCard(count, Zone.PICK, new FilterCard()); + target.setRequired(true); + Cards revealedCards = new CardsImpl(); + + if (targetPlayer.choose(Outcome.Discard, cardsInHand, target, game)) { + List targets = target.getTargets(); + for (UUID targetId : targets) { + Card card = game.getCard(targetId); + if (card != null) { + revealedCards.add(card); + } + } + } + + TargetCard targetInHand = new TargetCard(Zone.PICK, new FilterCard("card to discard")); + targetInHand.setRequired(true); + + if (!revealedCards.isEmpty()) { + targetPlayer.revealCards("Thieving Sprite", revealedCards, game); + controller.choose(Outcome.Discard, revealedCards, targetInHand, game); + Card card = revealedCards.get(targetInHand.getFirstTarget(), game); + if (card != null) { + targetPlayer.discard(card, source, game); + game.informPlayers(new StringBuilder("Thieving Sprite").append(targetPlayer.getName()).append("discarded ").append(card.getName()).toString()); + } + } + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/TrompTheDomains.java b/Mage.Sets/src/mage/sets/modernmasters/TrompTheDomains.java new file mode 100644 index 00000000000..8746082ff4c --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/TrompTheDomains.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class TrompTheDomains extends mage.sets.timespiral.TrompTheDomains { + + public TrompTheDomains(UUID ownerId) { + super(ownerId); + this.cardNumber = 171; + this.expansionSetCode = "MMA"; + } + + public TrompTheDomains(final TrompTheDomains card) { + super(card); + } + + @Override + public TrompTheDomains copy() { + return new TrompTheDomains(this); + } +} diff --git a/Mage.Sets/src/mage/sets/shadowmoor/OonaQueenOfTheFae.java b/Mage.Sets/src/mage/sets/shadowmoor/OonaQueenOfTheFae.java new file mode 100644 index 00000000000..99c85b34d5a --- /dev/null +++ b/Mage.Sets/src/mage/sets/shadowmoor/OonaQueenOfTheFae.java @@ -0,0 +1,145 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shadowmoor; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.choices.ChoiceColor; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.permanent.token.Token; +import mage.players.Player; +import mage.target.common.TargetOpponent; + +/** + * + * @author LevelX2 + */ +public class OonaQueenOfTheFae extends CardImpl { + + public OonaQueenOfTheFae(UUID ownerId) { + super(ownerId, 172, "Oona, Queen of the Fae", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{U/B}{U/B}{U/B}"); + this.expansionSetCode = "SHM"; + this.supertype.add("Legendary"); + this.subtype.add("Faerie"); + this.subtype.add("Wizard"); + + this.color.setBlue(true); + this.color.setBlack(true); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // {X}{UB}: Choose a color. Target opponent exiles the top X cards of his or her library. For each card of the chosen color exiled this way, put a 1/1 blue and black Faerie Rogue creature token with flying onto the battlefield. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new OonaQueenOfTheFaeEffect(), new ManaCostsImpl("{X}{U/B}")); + ability.addTarget(new TargetOpponent(true)); + this.addAbility(ability); + } + + public OonaQueenOfTheFae(final OonaQueenOfTheFae card) { + super(card); + } + + @Override + public OonaQueenOfTheFae copy() { + return new OonaQueenOfTheFae(this); + } +} + +class OonaQueenOfTheFaeEffect extends OneShotEffect { + + public OonaQueenOfTheFaeEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "Choose a color. Target opponent exiles the top X cards of his or her library. For each card of the chosen color exiled this way, put a 1/1 blue and black Faerie Rogue creature token with flying onto the battlefield"; + } + + public OonaQueenOfTheFaeEffect(final OonaQueenOfTheFaeEffect effect) { + super(effect); + } + + @Override + public OonaQueenOfTheFaeEffect copy() { + return new OonaQueenOfTheFaeEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Player opponent = game.getPlayer(getTargetPointer().getFirst(game, source)); + if (controller == null || opponent == null) { + return false; + } + ChoiceColor choice = new ChoiceColor(); + controller.choose(outcome, choice, game); + if (choice.getColor() != null) { + int cardsWithColor = 0; + int cardsToExile = Math.min(opponent.getLibrary().size(), source.getManaCostsToPay().getX()); + for(int i = 0; i < cardsToExile; i++) { + Card card = opponent.getLibrary().removeFromTop(game); + if (card != null) { + if (card.getColor().contains(choice.getColor())) { + cardsWithColor++; + } + card.moveToExile(null, null, source.getSourceId(), game); + } + } + if (cardsWithColor > 0) { + new CreateTokenEffect(new OonaQueenFaerieToken(), cardsWithColor).apply(game, source); + } + game.informPlayers(new StringBuilder("Oona: ").append(cardsWithColor).append(" Token").append(cardsWithColor != 1?"s":"").append(" created").toString()); + return true; + } + return false; + } +} + +class OonaQueenFaerieToken extends Token { + OonaQueenFaerieToken() { + super("Faerie Rogue", "1/1 blue and black Faerie Rogue creature token with flying"); + cardType.add(CardType.CREATURE); + color.setBlue(true); + color.setBlack(true); + subtype.add("Faerie"); + subtype.add("Rogue"); + power = new MageInt(1); + toughness = new MageInt(1); + this.addAbility(FlyingAbility.getInstance()); + } +} diff --git a/Mage.Sets/src/mage/sets/tenth/SqueeGoblinNabob.java b/Mage.Sets/src/mage/sets/tenth/SqueeGoblinNabob.java new file mode 100644 index 00000000000..69651d5dbf1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/tenth/SqueeGoblinNabob.java @@ -0,0 +1,69 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.tenth; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class SqueeGoblinNabob extends CardImpl { + + public SqueeGoblinNabob(UUID ownerId) { + super(ownerId, 239, "Squee, Goblin Nabob", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "10E"; + this.supertype.add("Legendary"); + this.subtype.add("Goblin"); + + this.color.setRed(true); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // At the beginning of your upkeep, you may return Squee, Goblin Nabob from your graveyard to your hand. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, new ReturnToHandSourceEffect(), TargetController.YOU, true)); + } + + public SqueeGoblinNabob(final SqueeGoblinNabob card) { + super(card); + } + + @Override + public SqueeGoblinNabob copy() { + return new SqueeGoblinNabob(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timespiral/TrompTheDomains.java b/Mage.Sets/src/mage/sets/timespiral/TrompTheDomains.java new file mode 100644 index 00000000000..329d08a2d56 --- /dev/null +++ b/Mage.Sets/src/mage/sets/timespiral/TrompTheDomains.java @@ -0,0 +1,75 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.timespiral; + +import java.util.UUID; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.DomainValue; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continious.BoostControlledEffect; +import mage.abilities.effects.common.continious.GainAbilityControlledEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class TrompTheDomains extends CardImpl { + + public TrompTheDomains(UUID ownerId) { + super(ownerId, 230, "Tromp the Domains", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{5}{G}"); + this.expansionSetCode = "TSP"; + + this.color.setGreen(true); + + // Domain - Until end of turn, creatures you control gain trample and get +1/+1 for each basic land type among lands you control. + Effect effect = new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); + effect.setText("Domain - Until end of turn, creatures you control gain Trample"); + this.getSpellAbility().addEffect(effect); + DynamicValue domain = new DomainValue(); + effect = new BoostControlledEffect(domain, domain, Duration.EndOfTurn, new FilterCreaturePermanent(), false); + effect.setText(" and get +1/+1 for each basic land type among lands you control"); + this.getSpellAbility().addEffect(effect); + + } + + public TrompTheDomains(final TrompTheDomains card) { + super(card); + } + + @Override + public TrompTheDomains copy() { + return new TrompTheDomains(this); + } +} From 250f860298187e61a1ea7fd9795a7530f8ac168c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 21 Jun 2013 21:28:19 +0200 Subject: [PATCH 055/139] * Retrace Ability - Added Reminder text. --- Mage/src/mage/abilities/keyword/RetraceAbility.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Mage/src/mage/abilities/keyword/RetraceAbility.java b/Mage/src/mage/abilities/keyword/RetraceAbility.java index cb15ed79647..2347e178270 100644 --- a/Mage/src/mage/abilities/keyword/RetraceAbility.java +++ b/Mage/src/mage/abilities/keyword/RetraceAbility.java @@ -67,9 +67,7 @@ public class RetraceAbility extends ActivatedAbilityImpl { @Override public String getRule() { - StringBuilder sbRule = new StringBuilder("Retrace"); - - return sbRule.toString(); + return "Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)"; } } class RetraceEffect extends OneShotEffect { From 514d21375ce6da46bc3e8b4a0849ecd80a6af5fe Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 21 Jun 2013 21:30:24 +0200 Subject: [PATCH 056/139] [minor] SunburstCount prevent exception. --- .../condition/common/SuspendedCondition.java | 10 ++--- .../dynamicvalue/common/SunburstCount.java | 37 ++++++++++--------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/Mage/src/mage/abilities/condition/common/SuspendedCondition.java b/Mage/src/mage/abilities/condition/common/SuspendedCondition.java index 361b45879f9..3b2538b5843 100644 --- a/Mage/src/mage/abilities/condition/common/SuspendedCondition.java +++ b/Mage/src/mage/abilities/condition/common/SuspendedCondition.java @@ -69,11 +69,11 @@ public class SuspendedCondition implements Condition { break; } } - } - if (found) { - if (game.getState().getZone(card.getId()) == Zone.EXILED && - card.getCounters().getCount(CounterType.TIME) > 0) { - return true; + if (found) { + if (game.getState().getZone(card.getId()) == Zone.EXILED && + card.getCounters().getCount(CounterType.TIME) > 0) { + return true; + } } } return false; diff --git a/Mage/src/mage/abilities/dynamicvalue/common/SunburstCount.java b/Mage/src/mage/abilities/dynamicvalue/common/SunburstCount.java index b3e76851dec..74ec3946fa0 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/SunburstCount.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/SunburstCount.java @@ -49,24 +49,25 @@ public class SunburstCount implements DynamicValue{ @Override public int calculate(Game game, Ability source) { int count = 0; - - StackObject spell = game.getStack().getFirst(); - if (spell != null && spell instanceof Spell && ((Spell)spell).getSourceId().equals(source.getSourceId())) { - Mana mana = ((Spell)spell).getSpellAbility().getManaCostsToPay().getPayment(); - if(mana.getBlack() > 0) { - count++; - } - if(mana.getBlue() > 0) { - count++; - } - if(mana.getGreen() > 0) { - count++; - } - if(mana.getRed() > 0) { - count++; - } - if(mana.getWhite() > 0) { - count++; + if (!game.getStack().isEmpty()) { + StackObject spell = game.getStack().getFirst(); + if (spell != null && spell instanceof Spell && ((Spell)spell).getSourceId().equals(source.getSourceId())) { + Mana mana = ((Spell)spell).getSpellAbility().getManaCostsToPay().getPayment(); + if(mana.getBlack() > 0) { + count++; + } + if(mana.getBlue() > 0) { + count++; + } + if(mana.getGreen() > 0) { + count++; + } + if(mana.getRed() > 0) { + count++; + } + if(mana.getWhite() > 0) { + count++; + } } } return count; From a573d2c0266e778a334edd72fd35573b05f5dfbe Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 21 Jun 2013 21:30:56 +0200 Subject: [PATCH 057/139] [minor] Improved inform text of Death denied. --- Mage.Sets/src/mage/sets/saviorsofkamigawa/DeathDenied.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/DeathDenied.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/DeathDenied.java index 13d82da31d3..3a3a0b578d3 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/DeathDenied.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/DeathDenied.java @@ -66,7 +66,7 @@ public class DeathDenied extends CardImpl { if (ability instanceof SpellAbility) { ability.getTargets().clear(); int xValue = ability.getManaCostsToPay().getX(); - Target target = new TargetCardInYourGraveyard(xValue, new FilterCreatureCard(new StringBuilder(xValue).append(xValue != 1?" creatures":"creature").toString())); + Target target = new TargetCardInYourGraveyard(xValue, new FilterCreatureCard(new StringBuilder(xValue).append(xValue != 1?" creature cards":"creature card").append(" from your graveyard").toString())); ability.addTarget(target); } } From 738efcc47fef97d8209a688304611bca40d1f8db Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 21 Jun 2013 21:34:06 +0200 Subject: [PATCH 058/139] Added option to select time limit (also none) on match or tournament creation. --- .../mage/client/dialog/NewTableDialog.form | 82 +++++++----- .../mage/client/dialog/NewTableDialog.java | 99 +++++++++------ .../client/dialog/NewTournamentDialog.form | 120 +++++++++--------- .../client/dialog/NewTournamentDialog.java | 107 +++++++++------- .../mage/client/dialog/PreferencesDialog.java | 1 + .../main/java/mage/client/game/GamePanel.java | 4 +- .../java/mage/client/game/PlayAreaPanel.java | 8 +- .../java/mage/client/game/PlayerPanelExt.java | 57 +++++---- Mage.Common/src/mage/view/GameView.java | 8 ++ .../java/mage/server/game/GameController.java | 12 +- Mage/src/mage/constants/MatchTimeLimit.java | 37 ++++++ Mage/src/mage/game/Game.java | 2 + Mage/src/mage/game/GameImpl.java | 28 +++- Mage/src/mage/game/match/MatchImpl.java | 1 + Mage/src/mage/game/match/MatchOptions.java | 15 +++ 15 files changed, 367 insertions(+), 214 deletions(-) create mode 100644 Mage/src/mage/constants/MatchTimeLimit.java diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form index 5dfc2743e95..cec7d3c43e3 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form @@ -25,41 +25,49 @@ - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + - - - + + + + + - - - + - - + + @@ -88,6 +96,7 @@ + @@ -98,7 +107,7 @@ - + @@ -107,17 +116,19 @@ - - - - - - - + + + + + + + + + @@ -157,10 +168,12 @@ - + + + - + @@ -174,7 +187,7 @@ - + @@ -198,6 +211,13 @@ + + + + + + + @@ -281,6 +301,8 @@ + + diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java index 655f289493e..8f557402962 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java @@ -27,21 +27,23 @@ */ package mage.client.dialog; - import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import javax.swing.*; -import mage.constants.MultiplayerAttackOption; -import mage.constants.RangeOfInfluence; +import javax.swing.DefaultComboBoxModel; +import javax.swing.JOptionPane; +import javax.swing.SpinnerNumberModel; import mage.cards.decks.importer.DeckImporterUtil; import mage.client.MageFrame; import mage.client.components.MageComponents; -import mage.client.table.*; +import mage.client.table.TablePlayerPanel; import mage.client.util.Event; import mage.client.util.Listener; +import mage.constants.MatchTimeLimit; +import mage.constants.MultiplayerAttackOption; +import mage.constants.RangeOfInfluence; import mage.game.match.MatchOptions; import mage.remote.Session; import mage.view.GameTypeView; @@ -85,6 +87,8 @@ public class NewTableDialog extends MageDialog { txtName = new javax.swing.JTextField(); lbDeckType = new javax.swing.JLabel(); cbDeckType = new javax.swing.JComboBox(); + lbTimeLimit = new javax.swing.JLabel(); + cbTimeLimit = new javax.swing.JComboBox(); lblGameType = new javax.swing.JLabel(); cbGameType = new javax.swing.JComboBox(); lblFreeMulligans = new javax.swing.JLabel(); @@ -114,6 +118,8 @@ public class NewTableDialog extends MageDialog { lbDeckType.setText("Deck Type:"); + lbTimeLimit.setText("Time Limit:"); + lblGameType.setText("Game Type:"); cbGameType.addActionListener(new java.awt.event.ActionListener() { @@ -177,33 +183,39 @@ public class NewTableDialog extends MageDialog { .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addContainerGap() - .addComponent(jLabel1)) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addContainerGap() - .addComponent(jLabel2)) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() .addGap(16, 16, 16) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(lbDeckType) .addComponent(lblGameType) - .addComponent(lblName)) + .addComponent(lblName))) + .addGroup(layout.createSequentialGroup() + .addGap(30, 30, 30) + .addComponent(lbDeckType))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(cbGameType, javax.swing.GroupLayout.PREFERRED_SIZE, 398, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(lblFreeMulligans) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(cbDeckType, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addComponent(cbGameType, javax.swing.GroupLayout.PREFERRED_SIZE, 398, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, 546, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(layout.createSequentialGroup() + .addComponent(cbDeckType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lbTimeLimit) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(lblFreeMulligans) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(spnFreeMulligans, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)) - .addComponent(txtName)))) - .addGap(0, 0, Short.MAX_VALUE)) + .addComponent(cbTimeLimit, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)))))) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(0, 0, Short.MAX_VALUE) .addComponent(btnOK) @@ -233,27 +245,30 @@ public class NewTableDialog extends MageDialog { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() - .addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE, 625, Short.MAX_VALUE) + .addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE, 633, Short.MAX_VALUE) .addContainerGap())) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(lblName) .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(lbDeckType) - .addComponent(cbDeckType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cbGameType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblGameType) + .addComponent(cbDeckType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(cbTimeLimit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lbDeckType) + .addComponent(lbTimeLimit)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblFreeMulligans))) + .addComponent(lblFreeMulligans)) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(cbGameType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblGameType))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) @@ -282,7 +297,7 @@ public class NewTableDialog extends MageDialog { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pnlOtherPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE) + .addComponent(pnlOtherPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -294,7 +309,7 @@ public class NewTableDialog extends MageDialog { .addGroup(layout.createSequentialGroup() .addGap(201, 201, 201) .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(240, Short.MAX_VALUE))) + .addContainerGap(244, Short.MAX_VALUE))) ); pack(); @@ -315,6 +330,7 @@ public class NewTableDialog extends MageDialog { } options.setDeckType((String) this.cbDeckType.getSelectedItem()); options.setLimited(false); + options.setMatchTimeLimit((MatchTimeLimit) this.cbTimeLimit.getSelectedItem()); options.setAttackOption((MultiplayerAttackOption) this.cbAttackOption.getSelectedItem()); options.setRange((RangeOfInfluence) this.cbRange.getSelectedItem()); options.setWinsNeeded((Integer)this.spnNumWins.getValue()); @@ -422,6 +438,7 @@ public class NewTableDialog extends MageDialog { cbGameType.setModel(new DefaultComboBoxModel(session.getGameTypes().toArray())); cbDeckType.setModel(new DefaultComboBoxModel(session.getDeckTypes())); selectLimitedByDefault(); + cbTimeLimit.setModel(new DefaultComboBoxModel(MatchTimeLimit.values())); cbRange.setModel(new DefaultComboBoxModel(RangeOfInfluence.values())); cbAttackOption.setModel(new DefaultComboBoxModel(MultiplayerAttackOption.values())); @@ -464,13 +481,19 @@ public class NewTableDialog extends MageDialog { break; } } + int timeLimit = Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_TIME_LIMIT, "0")); + for (MatchTimeLimit mtl :MatchTimeLimit.values()) { + if (mtl.getTimeLimit() == timeLimit) { + this.cbTimeLimit.setSelectedItem(mtl); + break; + } + } cbDeckType.setSelectedItem(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_DECK_TYPE, "Limited")); String deckFile = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_DECK_FILE, null); if (deckFile != null) { this.player1Panel.setDeckFile(deckFile); } this.spnNumWins.setValue(Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_NUMBER_OF_WINS, "2"))); - this.spnFreeMulligans.setValue(Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_NUMBER_OF_FREE_MULLIGANS, "0"))); this.spnNumPlayers.setValue(Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_NUMBER_PLAYERS, "2"))); int range = Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_RANGE, "1")); for (RangeOfInfluence roi :RangeOfInfluence.values()) { @@ -497,9 +520,9 @@ public class NewTableDialog extends MageDialog { private void saveGameSettingsToPrefs(MatchOptions options, String deckFile) { PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_NAME, options.getName()); PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_DECK_TYPE, options.getDeckType()); + PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_TIME_LIMIT, Integer.toString(options.getPriorityTime())); PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_GAME_TYPE, options.getGameType()); PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_NUMBER_OF_WINS, Integer.toString(options.getWinsNeeded())); - PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_NUMBER_OF_FREE_MULLIGANS, Integer.toString(options.getFreeMulligans())); PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_DECK_FILE, deckFile); PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_NUMBER_PLAYERS, spnNumPlayers.getValue().toString()); PreferencesDialog.saveValue(PreferencesDialog.KEY_NEW_TABLE_RANGE, Integer.toString(options.getRange().getRange())); @@ -513,12 +536,14 @@ public class NewTableDialog extends MageDialog { private javax.swing.JComboBox cbDeckType; private javax.swing.JComboBox cbGameType; private javax.swing.JComboBox cbRange; + private javax.swing.JComboBox cbTimeLimit; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; private javax.swing.JLabel lbDeckType; + private javax.swing.JLabel lbTimeLimit; private javax.swing.JLabel lblAttack; private javax.swing.JLabel lblFreeMulligans; private javax.swing.JLabel lblGameType; @@ -534,4 +559,4 @@ public class NewTableDialog extends MageDialog { private javax.swing.JTextField txtName; // End of variables declaration//GEN-END:variables -} \ No newline at end of file +} diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form index a11795a9219..d2b4221f2de 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form @@ -27,36 +27,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -73,6 +43,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -85,39 +91,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + @@ -140,6 +137,13 @@ + + + + + + + @@ -233,7 +237,7 @@ - + diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java index 497513246e2..04a623f5fd9 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java @@ -41,12 +41,13 @@ import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JOptionPane; import javax.swing.SpinnerNumberModel; -import mage.constants.MultiplayerAttackOption; -import mage.constants.RangeOfInfluence; import mage.cards.ExpansionSet; import mage.cards.Sets; import mage.client.MageFrame; import mage.client.table.TournamentPlayerPanel; +import mage.constants.MatchTimeLimit; +import mage.constants.MultiplayerAttackOption; +import mage.constants.RangeOfInfluence; import mage.game.draft.DraftOptions; import mage.game.draft.DraftOptions.TimingOption; import mage.game.tournament.LimitedOptions; @@ -86,6 +87,7 @@ public class NewTournamentDialog extends MageDialog { session = MageFrame.getSession(); this.txtPlayer1Name.setText(session.getUserName()); cbTournamentType.setModel(new DefaultComboBoxModel(session.getTournamentTypes().toArray())); + cbTimeLimit.setModel(new DefaultComboBoxModel(MatchTimeLimit.values())); cbDraftTiming.setModel(new DefaultComboBoxModel(DraftOptions.TimingOption.values())); this.setModal(true); setTournamentOptions(); @@ -104,6 +106,8 @@ public class NewTournamentDialog extends MageDialog { lblName = new javax.swing.JLabel(); txtName = new javax.swing.JTextField(); + lbTimeLimit = new javax.swing.JLabel(); + cbTimeLimit = new javax.swing.JComboBox(); lblConstructionTime = new javax.swing.JLabel(); spnConstructTime = new javax.swing.JSpinner(); jLabel1 = new javax.swing.JLabel(); @@ -131,6 +135,8 @@ public class NewTournamentDialog extends MageDialog { lblName.setText("Name:"); + lbTimeLimit.setText("Time Limit:"); + lblConstructionTime.setText("Construction Time (Minutes):"); jLabel1.setText("Tournament Type:"); @@ -198,7 +204,7 @@ public class NewTournamentDialog extends MageDialog { .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup() .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(txtPlayer1Name, javax.swing.GroupLayout.DEFAULT_SIZE, 638, Short.MAX_VALUE))) + .addComponent(txtPlayer1Name))) .addContainerGap()) ); jPanel1Layout.setVerticalGroup( @@ -247,29 +253,6 @@ public class NewTournamentDialog extends MageDialog { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(pnlPacks, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(lblName) - .addComponent(jLabel1)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(txtName) - .addComponent(cbTournamentType, 0, 330, Short.MAX_VALUE)) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(lblFreeMulligans) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(spnFreeMulligans) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(lblNumWins)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addGap(19, 19, 19) - .addComponent(lblConstructionTime))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(spnConstructTime, javax.swing.GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE) - .addComponent(spnNumWins))) .addGroup(layout.createSequentialGroup() .addGap(0, 0, Short.MAX_VALUE) .addComponent(btnOk) @@ -283,7 +266,36 @@ public class NewTournamentDialog extends MageDialog { .addComponent(spnNumPlayers, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(pnlDraftOptions, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING)) + .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addComponent(lblName) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(lbTimeLimit) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(cbTimeLimit, 0, 115, Short.MAX_VALUE)) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(cbTournamentType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lblFreeMulligans) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lblNumWins) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spnNumWins, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(23, 23, 23) + .addComponent(lblConstructionTime) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spnConstructTime, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE))))) .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap()) ); @@ -291,32 +303,28 @@ public class NewTournamentDialog extends MageDialog { layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblName)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1) - .addComponent(cbTournamentType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lblConstructionTime) - .addComponent(spnConstructTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(spnNumWins, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblNumWins) - .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblFreeMulligans)))) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblName) + .addComponent(lbTimeLimit) + .addComponent(cbTimeLimit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblConstructionTime) + .addComponent(spnConstructTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel1) + .addComponent(cbTournamentType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblFreeMulligans) + .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblNumWins) + .addComponent(spnNumWins, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pnlPacks, javax.swing.GroupLayout.DEFAULT_SIZE, 65, Short.MAX_VALUE) + .addComponent(pnlPacks, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE) .addGap(11, 11, 11) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(spnNumPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 28, Short.MAX_VALUE) + .addComponent(spnNumPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 23, Short.MAX_VALUE) .addComponent(pnlDraftOptions, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -357,6 +365,7 @@ public class NewTournamentDialog extends MageDialog { tOptions.getLimitedOptions().getSetCodes().add(((ExpansionSet) pack.getSelectedItem()).getCode()); } } + tOptions.getMatchOptions().setMatchTimeLimit((MatchTimeLimit) this.cbTimeLimit.getSelectedItem()); tOptions.getMatchOptions().setDeckType("Limited"); tOptions.getMatchOptions().setWinsNeeded((Integer)this.spnNumWins.getValue()); tOptions.getMatchOptions().setFreeMulligans((Integer)this.spnFreeMulligans.getValue()); @@ -512,6 +521,7 @@ public class NewTournamentDialog extends MageDialog { private javax.swing.JButton btnCancel; private javax.swing.JButton btnOk; private javax.swing.JComboBox cbDraftTiming; + private javax.swing.JComboBox cbTimeLimit; private javax.swing.JComboBox cbTournamentType; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; @@ -520,6 +530,7 @@ public class NewTournamentDialog extends MageDialog { private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JPanel jPanel1; + private javax.swing.JLabel lbTimeLimit; private javax.swing.JLabel lblConstructionTime; private javax.swing.JLabel lblFreeMulligans; private javax.swing.JLabel lblName; diff --git a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java index bef9caf4f93..46f230051d6 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/PreferencesDialog.java @@ -92,6 +92,7 @@ public class PreferencesDialog extends javax.swing.JDialog { // default setting for new table dialog public static final String KEY_NEW_TABLE_NAME = "newTableName"; public static final String KEY_NEW_TABLE_DECK_TYPE = "newTableDeckType"; + public static final String KEY_NEW_TABLE_TIME_LIMIT = "newTableTimeLimit"; public static final String KEY_NEW_TABLE_GAME_TYPE = "newTableGameType"; public static final String KEY_NEW_TABLE_NUMBER_OF_WINS = "newTableNumberOfWins"; public static final String KEY_NEW_TABLE_NUMBER_OF_FREE_MULLIGANS = "newTableNumberOfFreeMulligans"; diff --git a/Mage.Client/src/main/java/mage/client/game/GamePanel.java b/Mage.Client/src/main/java/mage/client/game/GamePanel.java index d5e08a492e4..fa4137f8435 100644 --- a/Mage.Client/src/main/java/mage/client/game/GamePanel.java +++ b/Mage.Client/src/main/java/mage/client/game/GamePanel.java @@ -353,7 +353,7 @@ public final class GamePanel extends javax.swing.JPanel { } } PlayerView player = game.getPlayers().get(playerSeat); - PlayAreaPanel sessionPlayer = new PlayAreaPanel(player, bigCard, gameId, true); + PlayAreaPanel sessionPlayer = new PlayAreaPanel(player, bigCard, gameId, true, game.getPriorityTime()); players.put(player.getPlayerId(), sessionPlayer); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; @@ -385,7 +385,7 @@ public final class GamePanel extends javax.swing.JPanel { col = numColumns - 1; } player = game.getPlayers().get(playerNum); - PlayAreaPanel playerPanel = new PlayAreaPanel(player, bigCard, gameId, false); + PlayAreaPanel playerPanel = new PlayAreaPanel(player, bigCard, gameId, false, game.getPriorityTime()); players.put(player.getPlayerId(), playerPanel); c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; diff --git a/Mage.Client/src/main/java/mage/client/game/PlayAreaPanel.java b/Mage.Client/src/main/java/mage/client/game/PlayAreaPanel.java index 5f763feb966..48a77a1ec33 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayAreaPanel.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayAreaPanel.java @@ -64,9 +64,9 @@ public class PlayAreaPanel extends javax.swing.JPanel { addPopupMenu(); } - public PlayAreaPanel(PlayerView player, BigCard bigCard, UUID gameId, boolean me) { + public PlayAreaPanel(PlayerView player, BigCard bigCard, UUID gameId, boolean me, int priorityTime) { this(); - init(player, bigCard, gameId); + init(player, bigCard, gameId, priorityTime); update(player); } @@ -99,8 +99,8 @@ public class PlayAreaPanel extends javax.swing.JPanel { }); } - public final void init(PlayerView player, BigCard bigCard, UUID gameId) { - this.playerPanel.init(gameId, player.getPlayerId(), bigCard); + public final void init(PlayerView player, BigCard bigCard, UUID gameId, int priorityTime) { + this.playerPanel.init(gameId, player.getPlayerId(), bigCard, priorityTime); this.battlefieldPanel.init(gameId, bigCard); this.gameId = gameId; if (MageFrame.getSession().isTestMode()) { diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index 3a93ad629aa..8209c856006 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -52,7 +52,6 @@ import mage.client.util.Command; import mage.client.util.ImageHelper; import mage.client.util.gui.BufferedImageBuilder; import mage.components.ImagePanel; -import mage.constants.Constants; import mage.remote.Session; import mage.utils.timer.PriorityTimer; import mage.view.CardView; @@ -112,7 +111,7 @@ public class PlayerPanelExt extends javax.swing.JPanel { initComponents(); } - public void init(UUID gameId, UUID playerId, BigCard bigCard) { + public void init(UUID gameId, UUID playerId, BigCard bigCard, int priorityTime) { this.gameId = gameId; this.playerId = playerId; this.bigCard = bigCard; @@ -120,24 +119,27 @@ public class PlayerPanelExt extends javax.swing.JPanel { cheat.setVisible(session.isTestMode()); cheat.setFocusable(false); - long delay = 1000L; - timer = new PriorityTimer(Constants.PRIORITY_TIME_SEC, delay, new mage.interfaces.Action() { - @Override - public void execute() throws MageException { - // do nothing - } - }); - final PriorityTimer pt = timer; - timer.setTaskOnTick(new mage.interfaces.Action() { - @Override - public void execute() throws MageException { - int priorityTimeValue = pt.getCount(); - String text = getPriorityTimeLeftString(priorityTimeValue); - PlayerPanelExt.this.avatar.setTopText(text); - PlayerPanelExt.this.avatar.repaint(); - } - }); - timer.init(); + if (priorityTime > 0) { + long delay = 1000L; + + timer = new PriorityTimer(priorityTime, delay, new mage.interfaces.Action() { + @Override + public void execute() throws MageException { + // do nothing + } + }); + final PriorityTimer pt = timer; + timer.setTaskOnTick(new mage.interfaces.Action() { + @Override + public void execute() throws MageException { + int priorityTimeValue = pt.getCount(); + String text = getPriorityTimeLeftString(priorityTimeValue); + PlayerPanelExt.this.avatar.setTopText(text); + PlayerPanelExt.this.avatar.repaint(); + } + }); + timer.init(); + } } public void update(PlayerView player) { @@ -206,11 +208,19 @@ public class PlayerPanelExt extends javax.swing.JPanel { } } this.avatar.setText(player.getName()); - if (player.getPriorityTimeLeft() != Integer.MAX_VALUE) { + if (this.timer != null) { + if (player.getPriorityTimeLeft() != Integer.MAX_VALUE) { String priorityTimeValue = getPriorityTimeLeftString(player); this.timer.setCount(player.getPriorityTimeLeft()); this.avatar.setTopText(priorityTimeValue); + } + if (player.hasPriority()) { + this.timer.resume(); + } else { + this.timer.pause(); + } } + this.btnPlayer.setText(player.getName()); if (player.isActive()) { this.avatar.setBorder(greenBorder); @@ -223,11 +233,6 @@ public class PlayerPanelExt extends javax.swing.JPanel { this.btnPlayer.setBorder(emptyBorder); } - if (player.hasPriority()) { - this.timer.resume(); - } else { - this.timer.pause(); - } synchronized (this) { if (player.getTopCard() != null) { diff --git a/Mage.Common/src/mage/view/GameView.java b/Mage.Common/src/mage/view/GameView.java index 3913b9f9548..db5535cf492 100644 --- a/Mage.Common/src/mage/view/GameView.java +++ b/Mage.Common/src/mage/view/GameView.java @@ -59,6 +59,7 @@ import mage.players.Player; public class GameView implements Serializable { private static final long serialVersionUID = 1L; + private int priorityTime; private List players = new ArrayList(); private SimpleCardsView hand; private Map opponentHands; @@ -75,7 +76,9 @@ public class GameView implements Serializable { private int turn; private boolean special = false; + public GameView(GameState state, Game game) { + priorityTime = game.getPriorityTime(); for (Player player: state.getPlayers().values()) { players.add(new PlayerView(player, state, game)); } @@ -255,4 +258,9 @@ public class GameView implements Serializable { public boolean getSpecial() { return special; } + + public int getPriorityTime() { + return priorityTime; + } + } diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index fe29d7fb06a..925539e12aa 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -137,7 +137,7 @@ public class GameController implements GameCallback { throw new IllegalStateException("INIT_TIMER: playerId can't be null"); } long delay = 250L; // run each 250 ms - timer = new PriorityTimer(Constants.PRIORITY_TIME_SEC, delay, new Action() { + timer = new PriorityTimer(game.getPriorityTime(), delay, new Action() { @Override public void execute() throws MageException { game.concede(initPlayerId); @@ -433,10 +433,12 @@ public class GameController implements GameCallback { } private synchronized void updateGame() { - for (Player player: game.getState().getPlayers().values()) { - PriorityTimer timer = timers.get(player.getId()); - if (timer != null) { - player.setPriorityTimeLeft(timer.getCount()); + if (!timers.isEmpty()) { + for (Player player: game.getState().getPlayers().values()) { + PriorityTimer timer = timers.get(player.getId()); + if (timer != null) { + player.setPriorityTimeLeft(timer.getCount()); + } } } for (final GameSession gameSession: gameSessions.values()) { diff --git a/Mage/src/mage/constants/MatchTimeLimit.java b/Mage/src/mage/constants/MatchTimeLimit.java new file mode 100644 index 00000000000..6e48356edb1 --- /dev/null +++ b/Mage/src/mage/constants/MatchTimeLimit.java @@ -0,0 +1,37 @@ +package mage.constants; + +/** + * + * @author LevelX2 + */ +public enum MatchTimeLimit { + NONE(0,"None"), + MIN__20(1200, "20 Minutes"), + MIN__30(1800, "30 Minutes"), + MIN__40(2400, "40 Minutes"), + MIN__50(3000, "50 Minutes"), + MIN__60(3600, "60 Minutes"), + MIN__90(5400, "90 Minutes"), + MIN_120(7200, "120 Minutes"); + + private int matchSeconds; + private String name; + + MatchTimeLimit(int matchSeconds, String name) { + this.matchSeconds = matchSeconds; + this.name = name; + } + + public int getTimeLimit() { + return matchSeconds; + } + + public String getName() { + return name; + } + + @Override + public String toString() { + return name; + } +} diff --git a/Mage/src/mage/game/Game.java b/Mage/src/mage/game/Game.java index df3a256a243..5eedb6188c6 100644 --- a/Mage/src/mage/game/Game.java +++ b/Mage/src/mage/game/Game.java @@ -230,4 +230,6 @@ public interface Game extends MageItem, Serializable { void initTimer(UUID playerId); void resumeTimer(UUID playerId); void pauseTimer(UUID playerId); + int getPriorityTime(); + void setPriorityTime(int priorityTime); } diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 1212595fe44..2517430a297 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -155,6 +155,8 @@ public abstract class GameImpl> implements Game, Serializa // used to indicate that currently applied replacement effects have to check for scope relevance (614.12 13/01/18) private boolean scopeRelevant = false; + private int priorityTime; + @Override public abstract T copy(); @@ -198,6 +200,7 @@ public abstract class GameImpl> implements Game, Serializa this.stateCheckRequired = game.stateCheckRequired; this.scorePlayer = game.scorePlayer; this.scopeRelevant = game.scopeRelevant; + this.priorityTime = game.priorityTime; } @Override @@ -589,7 +592,9 @@ public abstract class GameImpl> implements Game, Serializa protected void init(UUID choosingPlayerId, GameOptions gameOptions) { for (Player player: state.getPlayers().values()) { player.beginTurn(this); - initTimer(player.getId()); + if (priorityTime > 0) { + initTimer(player.getId()); + } } if (startMessage == null || startMessage.isEmpty()) { startMessage = "Game has started"; @@ -1949,17 +1954,32 @@ public abstract class GameImpl> implements Game, Serializa @Override public void initTimer(UUID playerId) { - tableEventSource.fireTableEvent(EventType.INIT_TIMER, playerId, null, this); + if (priorityTime > 0) { + tableEventSource.fireTableEvent(EventType.INIT_TIMER, playerId, null, this); + } } @Override public void resumeTimer(UUID playerId) { - tableEventSource.fireTableEvent(EventType.RESUME_TIMER, playerId, null, this); + if (priorityTime > 0) { + tableEventSource.fireTableEvent(EventType.RESUME_TIMER, playerId, null, this); + } } @Override public void pauseTimer(UUID playerId) { - tableEventSource.fireTableEvent(EventType.PAUSE_TIMER, playerId, null, this); + if (priorityTime > 0) { + tableEventSource.fireTableEvent(EventType.PAUSE_TIMER, playerId, null, this); + } } + @Override + public int getPriorityTime() { + return priorityTime; + } + + @Override + public void setPriorityTime(int priorityTime) { + this.priorityTime = priorityTime; + } } diff --git a/Mage/src/mage/game/match/MatchImpl.java b/Mage/src/mage/game/match/MatchImpl.java index 4d11d3e3499..5fcb9b018c2 100644 --- a/Mage/src/mage/game/match/MatchImpl.java +++ b/Mage/src/mage/game/match/MatchImpl.java @@ -162,6 +162,7 @@ public abstract class MatchImpl implements Match { game.loadCards(matchPlayer.getDeck().getSideboard(), matchPlayer.getPlayer().getId()); game.addPlayer(matchPlayer.getPlayer(), matchPlayer.getDeck()); } + game.setPriorityTime(options.getPriorityTime()); } protected void shufflePlayers() { diff --git a/Mage/src/mage/game/match/MatchOptions.java b/Mage/src/mage/game/match/MatchOptions.java index 72aee136ee6..ad6187f2240 100644 --- a/Mage/src/mage/game/match/MatchOptions.java +++ b/Mage/src/mage/game/match/MatchOptions.java @@ -31,6 +31,7 @@ package mage.game.match; import java.io.Serializable; import java.util.ArrayList; import java.util.List; +import mage.constants.MatchTimeLimit; import mage.constants.MultiplayerAttackOption; import mage.constants.RangeOfInfluence; @@ -49,6 +50,10 @@ public class MatchOptions implements Serializable { protected String deckType; protected boolean limited; protected List playerTypes = new ArrayList(); + /** + * Time each player has during the game to play using his\her priority. + */ + protected MatchTimeLimit matchTimeLimit; // 0 = no priorityTime handling public MatchOptions(String name, String gameType) { this.name = name; @@ -90,6 +95,7 @@ public class MatchOptions implements Serializable { public void setFreeMulligans(int freeMulligans) { this.freeMulligans = freeMulligans; } + public String getGameType() { return gameType; } @@ -117,4 +123,13 @@ public class MatchOptions implements Serializable { public void setLimited(boolean limited) { this.limited = limited; } + + public int getPriorityTime() { + return matchTimeLimit.getTimeLimit(); + } + + public void setMatchTimeLimit(MatchTimeLimit matchTimeLimit) { + this.matchTimeLimit = matchTimeLimit; + } + } From 0ab055c0f8d06fdba09fccb65d87a318d36258cd Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 01:56:43 +0200 Subject: [PATCH 059/139] Added default value for priority time. --- Mage/src/mage/game/match/MatchOptions.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Mage/src/mage/game/match/MatchOptions.java b/Mage/src/mage/game/match/MatchOptions.java index ad6187f2240..b54e3adabb3 100644 --- a/Mage/src/mage/game/match/MatchOptions.java +++ b/Mage/src/mage/game/match/MatchOptions.java @@ -125,6 +125,9 @@ public class MatchOptions implements Serializable { } public int getPriorityTime() { + if (matchTimeLimit == null) { + return MatchTimeLimit.NONE.getTimeLimit(); + } return matchTimeLimit.getTimeLimit(); } From 3e1b0f5fce820e210b3154895b8cf3bf15278eef Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 01:57:21 +0200 Subject: [PATCH 060/139] Added a mode to allow TargetCardInExile in all exile zones. --- .../mage/target/common/TargetCardInExile.java | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/Mage/src/mage/target/common/TargetCardInExile.java b/Mage/src/mage/target/common/TargetCardInExile.java index 4322d0dd586..c6835dcb43d 100644 --- a/Mage/src/mage/target/common/TargetCardInExile.java +++ b/Mage/src/mage/target/common/TargetCardInExile.java @@ -27,15 +27,17 @@ */ package mage.target.common; -import mage.constants.Zone; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; import mage.abilities.Ability; import mage.cards.Card; +import mage.constants.Zone; import mage.filter.FilterCard; import mage.game.ExileZone; import mage.game.Game; import mage.target.TargetCard; -import java.util.UUID; /** * @@ -44,26 +46,67 @@ import java.util.UUID; public class TargetCardInExile extends TargetCard { private UUID zoneId; + private boolean allExileZones; public TargetCardInExile(FilterCard filter, UUID zoneId) { this(1, 1, filter, zoneId); } public TargetCardInExile(int minNumTargets, int maxNumTargets, FilterCard filter, UUID zoneId) { + this(minNumTargets, maxNumTargets, filter, zoneId, false); + } + + public TargetCardInExile(int minNumTargets, int maxNumTargets, FilterCard filter, UUID zoneId, boolean allExileZones) { super(minNumTargets, maxNumTargets, Zone.EXILED, filter); this.zoneId = zoneId; + this.allExileZones = allExileZones; this.targetName = filter.getMessage(); } public TargetCardInExile(final TargetCardInExile target) { super(target); this.zoneId = target.zoneId; + this.allExileZones = target.allExileZones; } - @Override + @Override + public Set possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) { + if (allExileZones) { + Set possibleTargets = new HashSet(); + for (Card card : game.getExile().getAllCards(game)) { + if (filter.match(card, sourceControllerId, game)) { + possibleTargets.add(card.getId()); + } + } + return possibleTargets; + } else { + return super.possibleTargets(sourceId, sourceControllerId, game); + } + } + + @Override + public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game) { + if (allExileZones) { + int numberTargets = 0; + for(ExileZone exileZone : game.getExile().getExileZones()) { + numberTargets += exileZone.count(filter, sourceId, sourceControllerId, game); + if (numberTargets >= this.minNumberOfTargets) { + return true; + } + } + return false; + } else { + return super.canChoose(sourceControllerId, game); + } + } + + @Override public boolean canTarget(UUID id, Ability source, Game game) { Card card = game.getCard(id); if (card != null && game.getState().getZone(card.getId()) == Zone.EXILED) { + if (allExileZones) { + return filter.match(card, source.getControllerId(), game); + } ExileZone exile; if (zoneId != null) { exile = game.getExile().getExileZone(zoneId); From 49ea20b1c80a44c33b0e2bb3e00cd01a6a9c3fd2 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 01:57:48 +0200 Subject: [PATCH 061/139] Added ActivateAsSorceryManaAbility. --- .../mana/ActivateAsSorceryManaAbility.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Mage/src/mage/abilities/mana/ActivateAsSorceryManaAbility.java diff --git a/Mage/src/mage/abilities/mana/ActivateAsSorceryManaAbility.java b/Mage/src/mage/abilities/mana/ActivateAsSorceryManaAbility.java new file mode 100644 index 00000000000..634584f71bf --- /dev/null +++ b/Mage/src/mage/abilities/mana/ActivateAsSorceryManaAbility.java @@ -0,0 +1,56 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.abilities.mana; + +import mage.Mana; +import mage.abilities.costs.Cost; +import mage.constants.TimingRule; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ + + +public class ActivateAsSorceryManaAbility extends SimpleManaAbility { + + public ActivateAsSorceryManaAbility(Zone zone, Mana mana, Cost cost) { + super(zone, mana, cost); + timing = TimingRule.SORCERY; + } + + public ActivateAsSorceryManaAbility(final ActivateAsSorceryManaAbility ability) { + super(ability); + } + + @Override + public ActivateAsSorceryManaAbility copy() { + return new ActivateAsSorceryManaAbility(this); + } +} From 462acf2b2f4ffd8c74521564dbaeac30e4c00760 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 01:58:03 +0200 Subject: [PATCH 062/139] [MMA] Added 3 cards. --- .../src/mage/sets/eventide/WormHarvest.java | 84 +++++++++++++ .../mage/sets/futuresight/GrinningIgnus.java | 54 ++++++++ .../mage/sets/futuresight/Riftsweeper.java | 52 ++++++++ .../sets/modernmasters/GrinningIgnus.java | 71 +++++++++++ .../mage/sets/modernmasters/Riftsweeper.java | 115 ++++++++++++++++++ .../mage/sets/modernmasters/WormHarvest.java | 54 ++++++++ 6 files changed, 430 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/eventide/WormHarvest.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/GrinningIgnus.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/Riftsweeper.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/GrinningIgnus.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/WormHarvest.java diff --git a/Mage.Sets/src/mage/sets/eventide/WormHarvest.java b/Mage.Sets/src/mage/sets/eventide/WormHarvest.java new file mode 100644 index 00000000000..53fdabcc2c9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eventide/WormHarvest.java @@ -0,0 +1,84 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eventide; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.RetraceAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TimingRule; +import mage.filter.common.FilterLandCard; +import mage.game.permanent.token.Token; + +/** + * + * @author LevelX2 + */ +public class WormHarvest extends CardImpl { + + public WormHarvest(UUID ownerId) { + super(ownerId, 131, "Worm Harvest", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{2}{B/G}{B/G}{B/G}"); + this.expansionSetCode = "EVE"; + + this.color.setGreen(true); + this.color.setBlack(true); + + // Put a 1/1 black and green Worm creature token onto the battlefield for each land card in your graveyard. + CardsInControllerGraveyardCount value = new CardsInControllerGraveyardCount(new FilterLandCard()); + this.getSpellAbility().addEffect(new CreateTokenEffect(new WormHarvestToken(), value)); + + // Retrace + this.addAbility(new RetraceAbility(new ManaCostsImpl("{2}{B/G}{B/G}{B/G}"), TimingRule.SORCERY)); + } + + public WormHarvest(final WormHarvest card) { + super(card); + } + + @Override + public WormHarvest copy() { + return new WormHarvest(this); + } +} + +class WormHarvestToken extends Token { + WormHarvestToken() { + super("Worm", "1/1 black and green Worm creature token"); + cardType.add(CardType.CREATURE); + color.setBlack(true); + color.setGreen(true); + subtype.add("Worm"); + power = new MageInt(1); + toughness = new MageInt(1); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/futuresight/GrinningIgnus.java b/Mage.Sets/src/mage/sets/futuresight/GrinningIgnus.java new file mode 100644 index 00000000000..2d8c4e2cadc --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/GrinningIgnus.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class GrinningIgnus extends mage.sets.modernmasters.GrinningIgnus { + + public GrinningIgnus(UUID ownerId) { + super(ownerId); + this.cardNumber = 116; + this.expansionSetCode = "FUT"; + this.rarity = Rarity.COMMON; + } + + public GrinningIgnus(final GrinningIgnus card) { + super(card); + } + + @Override + public GrinningIgnus copy() { + return new GrinningIgnus(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/Riftsweeper.java b/Mage.Sets/src/mage/sets/futuresight/Riftsweeper.java new file mode 100644 index 00000000000..45a5ed4621b --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/Riftsweeper.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class Riftsweeper extends mage.sets.modernmasters.Riftsweeper { + + public Riftsweeper(UUID ownerId) { + super(ownerId); + this.cardNumber = 136; + this.expansionSetCode = "FUT"; + } + + public Riftsweeper(final Riftsweeper card) { + super(card); + } + + @Override + public Riftsweeper copy() { + return new Riftsweeper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/GrinningIgnus.java b/Mage.Sets/src/mage/sets/modernmasters/GrinningIgnus.java new file mode 100644 index 00000000000..b4750ab5f61 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/GrinningIgnus.java @@ -0,0 +1,71 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.costs.common.ReturnToHandSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.mana.ActivateAsSorceryManaAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class GrinningIgnus extends CardImpl { + + public GrinningIgnus(UUID ownerId) { + super(ownerId, 118, "Grinning Ignus", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Elemental"); + + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {R}, Return Grinning Ignus to its owner's hand: Add {2}{R} to your mana pool. Activate this ability only any time you could cast a sorcery. + Ability ability = new ActivateAsSorceryManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 0, 2, 0), new ManaCostsImpl("{R}")); + ability.addCost(new ReturnToHandSourceCost()); + this.addAbility(ability); + } + + public GrinningIgnus(final GrinningIgnus card) { + super(card); + } + + @Override + public GrinningIgnus copy() { + return new GrinningIgnus(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java b/Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java new file mode 100644 index 00000000000..3f23cce82a6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java @@ -0,0 +1,115 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.HauntAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.other.FaceDownPredicate; +import mage.game.Game; +import mage.target.common.TargetCardInExile; + +/** + * + * @author LevelX2 + */ +public class Riftsweeper extends CardImpl { + + private static final FilterCard filter = new FilterCard("face-up exiled card"); + static { + filter.add(Predicates.not(new FaceDownPredicate())); + } + + public Riftsweeper(UUID ownerId) { + super(ownerId, 159, "Riftsweeper", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Elf"); + this.subtype.add("Shaman"); + + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Riftsweeper enters the battlefield, choose target face-up exiled card. Its owner shuffles it into his or her library. + Ability ability = new EntersBattlefieldTriggeredAbility(new RiftsweeperEffect(), false); + ability.addTarget(new TargetCardInExile(1, 1, filter, null, true)); + this.addAbility(ability); + } + + public Riftsweeper(final Riftsweeper card) { + super(card); + } + + @Override + public Riftsweeper copy() { + return new Riftsweeper(this); + } +} + +class RiftsweeperEffect extends OneShotEffect { + + public RiftsweeperEffect() { + super(Outcome.Benefit); + this.staticText = "choose target face-up exiled card. Its owner shuffles it into his or her library"; + } + + public RiftsweeperEffect(final RiftsweeperEffect effect) { + super(effect); + } + + @Override + public RiftsweeperEffect copy() { + return new RiftsweeperEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card card = game.getCard(targetPointer.getFirst(game, source)); + if (card != null) { + // remove exiting suspend counters + card.getCounters().clear(); + // move to exile + card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); + game.getState().getPlayer(card.getOwnerId()).getLibrary().shuffle(); + game.informPlayers(new StringBuilder("Riftsweeper: Choosen card was ").append(card.getName()).toString()); + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/WormHarvest.java b/Mage.Sets/src/mage/sets/modernmasters/WormHarvest.java new file mode 100644 index 00000000000..e158a312d52 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/WormHarvest.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class WormHarvest extends mage.sets.eventide.WormHarvest { + + public WormHarvest(UUID ownerId) { + super(ownerId); + this.cardNumber = 195; + this.expansionSetCode = "MMA"; + this.rarity = Rarity.UNCOMMON; + } + + public WormHarvest(final WormHarvest card) { + super(card); + } + + @Override + public WormHarvest copy() { + return new WormHarvest(this); + } +} From d520d63e2cd490684385279f8e989f0fbaffb585 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 02:20:26 +0200 Subject: [PATCH 063/139] * Quest for the Gemblades - Triggers now only if creatures of the controller of Gemblade made combat damage to other creatures. --- .../sets/zendikar/QuestForTheGemblades.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Mage.Sets/src/mage/sets/zendikar/QuestForTheGemblades.java b/Mage.Sets/src/mage/sets/zendikar/QuestForTheGemblades.java index d3d4a6522bc..9159cb8ba21 100644 --- a/Mage.Sets/src/mage/sets/zendikar/QuestForTheGemblades.java +++ b/Mage.Sets/src/mage/sets/zendikar/QuestForTheGemblades.java @@ -28,9 +28,6 @@ package mage.sets.zendikar; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; @@ -38,10 +35,14 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; import mage.game.events.DamagedCreatureEvent; import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; /** @@ -94,9 +95,15 @@ class QuestForTheGembladesTriggeredAbility extends TriggeredAbilityImpl Date: Sat, 22 Jun 2013 19:35:22 +0200 Subject: [PATCH 064/139] Added support for casting modal spells or activating modal abilities with more than one mode to choose. --- Mage.Common/src/mage/view/CardView.java | 15 ++-- .../src/mage/view/StackAbilityView.java | 59 ++++++++----- .../java/mage/player/ai/ComputerPlayer.java | 8 +- .../src/mage/player/human/HumanPlayer.java | 25 +++--- Mage/src/mage/abilities/AbilityImpl.java | 65 +++++++------- .../mage/abilities/ActivatedAbilityImpl.java | 16 ++++ Mage/src/mage/abilities/Modes.java | 85 +++++++++++++++---- Mage/src/mage/game/stack/Spell.java | 18 ++-- 8 files changed, 201 insertions(+), 90 deletions(-) diff --git a/Mage.Common/src/mage/view/CardView.java b/Mage.Common/src/mage/view/CardView.java index 30da7ad0d49..d619065ea54 100644 --- a/Mage.Common/src/mage/view/CardView.java +++ b/Mage.Common/src/mage/view/CardView.java @@ -47,6 +47,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; import mage.abilities.Mode; +import mage.abilities.Modes; import mage.abilities.SpellAbility; import mage.abilities.costs.mana.ManaCosts; import mage.cards.SplitCard; @@ -184,15 +185,19 @@ public class CardView extends SimpleCardView { if (card instanceof Spell) { Spell spell = (Spell) card; for (SpellAbility spellAbility: spell.getSpellAbilities()) { - if (spellAbility.getTargets().size() > 0) { - setTargets(spellAbility.getTargets()); + for(UUID modeId : spellAbility.getModes().getSelectedModes()) { + spellAbility.getModes().setMode(spellAbility.getModes().get(modeId)); + if (spellAbility.getTargets().size() > 0) { + setTargets(spellAbility.getTargets()); + } } } // show for modal spell, which mode was choosen if (spell.getSpellAbility().isModal()) { - Mode activeMode = spell.getSpellAbility().getModes().getMode(); - if (activeMode != null) { - this.rules.add("Chosen mode: " + activeMode.getEffects().getText(activeMode)+""); + Modes modes = spell.getSpellAbility().getModes(); + for(UUID modeId : modes.getSelectedModes()) { + modes.setMode(modes.get(modeId)); + this.rules.add("Chosen mode: " + spell.getSpellAbility().getEffects().getText(modes.get(modeId))+""); } } } diff --git a/Mage.Common/src/mage/view/StackAbilityView.java b/Mage.Common/src/mage/view/StackAbilityView.java index 60d5534d375..1b4d35124fc 100644 --- a/Mage.Common/src/mage/view/StackAbilityView.java +++ b/Mage.Common/src/mage/view/StackAbilityView.java @@ -28,17 +28,17 @@ package mage.view; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; import mage.MageObject; +import mage.abilities.Modes; import mage.abilities.effects.Effect; import mage.game.Game; import mage.game.stack.StackAbility; import mage.target.targetpointer.FixedTarget; import mage.target.targetpointer.TargetPointer; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - /** * * @author BetaSteward_at_googlemail.com @@ -68,30 +68,43 @@ public class StackAbilityView extends CardView { } private void updateTargets(Game game, StackAbility ability) { - if (ability.getTargets().size() > 0) { - setTargets(ability.getTargets()); - } else { - List targetList = new ArrayList(); - for (Effect effect : ability.getEffects()) { - TargetPointer targetPointer = effect.getTargetPointer(); - if (targetPointer instanceof FixedTarget) { - targetList.add(((FixedTarget) targetPointer).getTarget()); - } - } - if (targetList.size() > 0) { - overrideTargets(targetList); - List names = new ArrayList(); - for (UUID uuid : targetList) { - MageObject mageObject = game.getObject(uuid); - if (mageObject != null) { - names.add(mageObject.getName()); + List names = new ArrayList(); + for(UUID modeId : ability.getModes().getSelectedModes()) { + ability.getModes().setMode(ability.getModes().get(modeId)); + if (ability.getTargets().size() > 0) { + setTargets(ability.getTargets()); + } else { + List targetList = new ArrayList(); + for (Effect effect : ability.getEffects()) { + TargetPointer targetPointer = effect.getTargetPointer(); + if (targetPointer instanceof FixedTarget) { + targetList.add(((FixedTarget) targetPointer).getTarget()); } } - if (!names.isEmpty()) { - getRules().add("Targets: " + names.toString() + ""); + if (targetList.size() > 0) { + overrideTargets(targetList); + + for (UUID uuid : targetList) { + MageObject mageObject = game.getObject(uuid); + if (mageObject != null) { + names.add(mageObject.getName()); + } + } + } } } + if (!names.isEmpty()) { + getRules().add("Targets: " + names.toString() + ""); + } + // show for modal ability, which mode was choosen + if (ability.isModal()) { + Modes modes = ability.getModes(); + for(UUID modeId : modes.getSelectedModes()) { + modes.setMode(modes.get(modeId)); + this.rules.add("Chosen mode: " + ability.getEffects().getText(modes.get(modeId))+""); + } + } } public CardView getSourceCard() { diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java index ba03a462982..24cf4203a6f 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java @@ -1230,7 +1230,13 @@ public class ComputerPlayer> extends PlayerImpl i return modes.getMode(); } //TODO: improve this; - return modes.values().iterator().next(); + for (Mode mode: modes.values()) { + if (!modes.getSelectedModes().contains(mode.getId()) // select only modes not already selected + && mode.getTargets().canChoose(source.getSourceId(), source.getControllerId(), game)) { // and where targets are available + return mode; + } + } + return null; } @Override diff --git a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java index ce64108b878..cc6a3bbb5df 100644 --- a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java @@ -782,18 +782,23 @@ public class HumanPlayer extends PlayerImpl { MageObject obj = game.getObject(source.getSourceId()); Map modeMap = new LinkedHashMap(); for (Mode mode: modes.values()) { - String modeText = mode.getEffects().getText(mode); - if (obj != null) { - modeText = modeText.replace("{source}", obj.getName()); + if (!modes.getSelectedModes().contains(mode.getId()) // show only modes not already selected + && mode.getTargets().canChoose(source.getSourceId(), source.getControllerId(), game)) { // and where targets are available + String modeText = mode.getEffects().getText(mode); + if (obj != null) { + modeText = modeText.replace("{source}", obj.getName()); + } + modeMap.put(mode.getId(), modeText); } - modeMap.put(mode.getId(), modeText); } - game.fireGetModeEvent(playerId, "Choose Mode", modeMap); - waitForResponse(game); - if (response.getUUID() != null) { - for (Mode mode: modes.values()) { - if (mode.getId().equals(response.getUUID())) { - return mode; + if (modeMap.size() > 0) { + game.fireGetModeEvent(playerId, "Choose Mode", modeMap); + waitForResponse(game); + if (response.getUUID() != null) { + for (Mode mode: modes.values()) { + if (mode.getId().equals(response.getUUID())) { + return mode; + } } } } diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index 7bc757f7e05..4608c5828d4 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -170,9 +170,12 @@ public abstract class AbilityImpl> implements Ability { if (card != null) { card.adjustChoices(this, game); } - if (getChoices().size() > 0 && getChoices().choose(game, this) == false) { - logger.debug("activate failed - choice"); - return false; + for (UUID modeId :this.getModes().getSelectedModes()) { + this.getModes().setMode(this.getModes().get(modeId)); + if (getChoices().size() > 0 && getChoices().choose(game, this) == false) { + logger.debug("activate failed - choice"); + return false; + } } // 20121001 - 601.2b @@ -198,33 +201,37 @@ public abstract class AbilityImpl> implements Ability { // its mana cost; see rule 107.3), the player announces the value of that variable. VariableManaCost variableManaCost = handleXCosts(game, noMana); - //20121001 - 601.2c - // 601.2c The player announces his or her choice of an appropriate player, object, or zone for - // each target the spell requires. A spell may require some targets only if an alternative or - // additional cost (such as a buyback or kicker cost), or a particular mode, was chosen for it; - // otherwise, the spell is cast as though it did not require those targets. If the spell has a - // variable number of targets, the player announces how many targets he or she will choose before - // he or she announces those targets. The same target can't be chosen multiple times for any one - // instance of the word "target" on the spell. However, if the spell uses the word "target" in - // multiple places, the same object, player, or zone can be chosen once for each instance of the - // word "target" (as long as it fits the targeting criteria). If any effects say that an object - // or player must be chosen as a target, the player chooses targets so that he or she obeys the - // maximum possible number of such effects without violating any rules or effects that say that - // an object or player can't be chosen as a target. The chosen players, objects, and/or zones - // each become a target of that spell. (Any abilities that trigger when those players, objects, - // and/or zones become the target of a spell trigger at this point; they'll wait to be put on - // the stack until the spell has finished being cast.) - if (card != null) { - card.adjustTargets(this, game); - } - if (getTargets().size() > 0 && getTargets().chooseTargets(getEffects().get(0).getOutcome(), this.controllerId, this, game) == false) { - if (variableManaCost != null) { - game.informPlayers(new StringBuilder(card.getName()).append(": no valid targets with this value of X").toString()); - } else { - logger.debug("activate failed - target"); + for (UUID modeId :this.getModes().getSelectedModes()) { + this.getModes().setMode(this.getModes().get(modeId)); + //20121001 - 601.2c + // 601.2c The player announces his or her choice of an appropriate player, object, or zone for + // each target the spell requires. A spell may require some targets only if an alternative or + // additional cost (such as a buyback or kicker cost), or a particular mode, was chosen for it; + // otherwise, the spell is cast as though it did not require those targets. If the spell has a + // variable number of targets, the player announces how many targets he or she will choose before + // he or she announces those targets. The same target can't be chosen multiple times for any one + // instance of the word "target" on the spell. However, if the spell uses the word "target" in + // multiple places, the same object, player, or zone can be chosen once for each instance of the + // word "target" (as long as it fits the targeting criteria). If any effects say that an object + // or player must be chosen as a target, the player chooses targets so that he or she obeys the + // maximum possible number of such effects without violating any rules or effects that say that + // an object or player can't be chosen as a target. The chosen players, objects, and/or zones + // each become a target of that spell. (Any abilities that trigger when those players, objects, + // and/or zones become the target of a spell trigger at this point; they'll wait to be put on + // the stack until the spell has finished being cast.) + + if (card != null) { + card.adjustTargets(this, game); } - return false; - } + if (getTargets().size() > 0 && getTargets().chooseTargets(getEffects().get(0).getOutcome(), this.controllerId, this, game) == false) { + if (variableManaCost != null) { + game.informPlayers(new StringBuilder(card != null ? card.getName(): "").append(": no valid targets with this value of X").toString()); + } else { + logger.debug("activate failed - target"); + } + return false; + } + } // end modes // TODO: Handle optionalCosts at the same time as already OptionalAdditionalSourceCosts are handled. for (Cost cost : optionalCosts) { diff --git a/Mage/src/mage/abilities/ActivatedAbilityImpl.java b/Mage/src/mage/abilities/ActivatedAbilityImpl.java index eb0e95f2da5..fd270faf351 100644 --- a/Mage/src/mage/abilities/ActivatedAbilityImpl.java +++ b/Mage/src/mage/abilities/ActivatedAbilityImpl.java @@ -261,6 +261,22 @@ public abstract class ActivatedAbilityImpl> ex } } } + } else if (object instanceof Spell && ((Spell) object).getSpellAbility().getModes().size() > 1) { + Modes modes = ((Spell) object).getSpellAbility().getModes(); + int item = 0; + for (Mode mode : modes.values()) { + item++; + if (modes.getSelectedModes().contains(mode.getId())) { + modes.setMode(mode); + sb.append(" (mode ").append(item).append(")"); + if (getTargets().size() > 0) { + sb.append(" targeting "); + for (Target target: getTargets()) { + sb.append(target.getTargetedName(game)); + } + } + } + } } else { if (getTargets().size() > 0) { sb.append(" targeting "); diff --git a/Mage/src/mage/abilities/Modes.java b/Mage/src/mage/abilities/Modes.java index c1d15c99c13..0637e4a4fcf 100644 --- a/Mage/src/mage/abilities/Modes.java +++ b/Mage/src/mage/abilities/Modes.java @@ -28,7 +28,10 @@ package mage.abilities; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; import java.util.Map; +import java.util.Set; import java.util.UUID; import mage.game.Game; import mage.players.Player; @@ -40,11 +43,18 @@ import mage.players.Player; public class Modes extends LinkedHashMap { private UUID modeId; + private Set selectedModes = new LinkedHashSet(); + private int minModes; + private int maxModes; public Modes() { Mode mode = new Mode(); this.put(mode.getId(), mode); this.modeId = mode.getId(); + this.minModes = 1; + this.maxModes = 1; + this.selectedModes.add(modeId); + } public Modes(Modes modes) { @@ -52,6 +62,9 @@ public class Modes extends LinkedHashMap { for (Map.Entry entry: modes.entrySet()) { this.put(entry.getKey(), entry.getValue().copy()); } + this.minModes = modes.minModes; + this.maxModes = modes.maxModes; + this.selectedModes.addAll(modes.selectedModes); } public Modes copy() { @@ -62,9 +75,30 @@ public class Modes extends LinkedHashMap { return get(modeId); } + public Set getSelectedModes() { + return selectedModes; + } + + public void setMinModes(int minModes) { + this.minModes = minModes; + } + + public int getMinModes() { + return this.minModes; + } + + public void setMaxModes(int maxModes) { + this.maxModes = maxModes; + } + + public int getMaxModes() { + return this.maxModes; + } + public void setMode(Mode mode) { if (this.containsKey(mode.getId())) { this.modeId = mode.getId(); + this.selectedModes.add(mode.getId()); } } @@ -74,40 +108,59 @@ public class Modes extends LinkedHashMap { public boolean choose(Game game, Ability source) { if (this.size() > 1) { + this.selectedModes.clear(); + Player player = game.getPlayer(source.getControllerId()); - Mode choice = player.chooseMode(this, source, game); - if (choice == null) { - return false; + while (this.selectedModes.size() < this.getMaxModes()) { + Mode choice = player.chooseMode(this, source, game); + if (choice == null) { + return this.selectedModes.size() >= this.getMinModes(); + } + setMode(choice); + this.selectedModes.add(choice.getId()); } - setMode(choice); return true; } this.modeId = this.values().iterator().next().getId(); + this.selectedModes.add(modeId); return true; } public String getText() { + String andOr = ""; StringBuilder sb = new StringBuilder(); if (this.size() > 1) { - sb.append("Choose one - "); + if (this.getMinModes() == 1 && this.getMaxModes() == 3) { + sb.append("Choose one or more - "); + andOr = "; and/or "; + }else if (this.getMinModes() == 1 && this.getMaxModes() == 2) { + sb.append("Choose one or both - "); + andOr = "; and/or "; + } else if (this.getMinModes() == 2 && this.getMaxModes() == 2) { + sb.append("Choose two - "); + andOr = "; or "; + } else { + sb.append("Choose one - "); + andOr = "; or "; + } } for (Mode mode: this.values()) { - sb.append(mode.getEffects().getText(mode)).append("; or "); + sb.append(mode.getEffects().getText(mode)); + if (this.size() > 1) { + if (sb.length() > 2 && sb.substring(sb.length()-2, sb.length()).equals(". ")) { + sb.delete(sb.length()-2, sb.length()); + } + sb.append(andOr); + } + } + if (this.size() > 1) { + sb.delete(sb.length() - andOr.length(), sb.length()); } - sb.delete(sb.length() - 5, sb.length()); return sb.toString(); } public String getText(String sourceName) { - StringBuilder sb = new StringBuilder(); - if (this.size() > 1) { - sb.append("Choose one - "); - } - for (Mode mode: this.values()) { - sb.append(mode.getEffects().getText(mode)).append("; or "); - } - sb.delete(sb.length() - 5, sb.length()); - String text = sb.toString(); + String text = getText(); text = text.replace("{this}", sourceName); text = text.replace("{source}", sourceName); return text; diff --git a/Mage/src/mage/game/stack/Spell.java b/Mage/src/mage/game/stack/Spell.java index 006ea540017..6e940915198 100644 --- a/Mage/src/mage/game/stack/Spell.java +++ b/Mage/src/mage/game/stack/Spell.java @@ -138,10 +138,13 @@ public class Spell> implements StackObject, Card { result = false; boolean legalParts = false; for(SpellAbility spellAbility: this.spellAbilities) { - if (spellAbility.getTargets().stillLegal(spellAbility, game)) { - legalParts = true; - updateOptionalCosts(index); - result |= spellAbility.resolve(game); + for (UUID modeId :spellAbility.getModes().getSelectedModes()) { + spellAbility.getModes().setMode(spellAbility.getModes().get(modeId)); + if (spellAbility.getTargets().stillLegal(spellAbility, game)) { + legalParts = true; + updateOptionalCosts(index); + result |= spellAbility.resolve(game); + } } index++; } @@ -226,13 +229,16 @@ public class Spell> implements StackObject, Card { String name = null; if (object == null) { Player targetPlayer = game.getPlayer(targetId); - if (targetPlayer != null) name = targetPlayer.getName(); + if (targetPlayer != null) { + name = targetPlayer.getName(); + } } else { name = object.getName(); } if (name != null && player.chooseUse(spellAbility.getEffects().get(0).getOutcome(), "Change target from " + name + "?", game)) { - if (!player.chooseTarget(spellAbility.getEffects().get(0).getOutcome(), newTarget, spellAbility, game)) + if (!player.chooseTarget(spellAbility.getEffects().get(0).getOutcome(), newTarget, spellAbility, game)) { newTarget.addTarget(targetId, spellAbility, game, false); + } } else { newTarget.addTarget(targetId, spellAbility, game, false); From 4d3d76e8e90d35bb08536c2b1fedbb9b55f49d99 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 19:36:16 +0200 Subject: [PATCH 065/139] Changed some modal spells to the new handling of modal spells. --- .../src/mage/sets/gatecrash/ClanDefiance.java | 33 +++--------- .../src/mage/sets/lorwyn/CrypticCommand.java | 53 +++++++------------ .../sets/shardsofalara/BranchingBolt.java | 11 ++-- .../abilities/enters/DearlyDepartedTest.java | 10 ++++ 4 files changed, 38 insertions(+), 69 deletions(-) diff --git a/Mage.Sets/src/mage/sets/gatecrash/ClanDefiance.java b/Mage.Sets/src/mage/sets/gatecrash/ClanDefiance.java index 70cbf444f9f..41739f433ff 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/ClanDefiance.java +++ b/Mage.Sets/src/mage/sets/gatecrash/ClanDefiance.java @@ -64,44 +64,23 @@ public class ClanDefiance extends CardImpl { this.color.setRed(true); this.color.setGreen(true); - // Choose one or more - Clan Defiance deals X damage to target creature with flying; Clan Defiance deals X damage to target creature without flying; and/or Clan Defiance deals X damage to target player. + // Choose one or more - + this.getSpellAbility().getModes().setMinModes(1); + this.getSpellAbility().getModes().setMaxModes(3); + // Clan Defiance deals X damage to target creature with flying; this.getSpellAbility().addEffect(new DamageTargetEffect(new ManacostVariableValue())); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); - + // Clan Defiance deals X damage to target creature without flying; Mode mode1 = new Mode(); mode1.getEffects().add(new DamageTargetEffect(new ManacostVariableValue())); mode1.getTargets().add(new TargetCreaturePermanent(filter2)); this.getSpellAbility().addMode(mode1); - + // and/or Clan Defiance deals X damage to target player. Mode mode2 = new Mode(); mode2.getEffects().add(new DamageTargetEffect(new ManacostVariableValue())); mode2.getTargets().add(new TargetPlayer()); this.getSpellAbility().addMode(mode2); - - Mode mode3 = new Mode(); - mode3.getEffects().add(new DamageTargetEffect(new ManacostVariableValue(), true, "target creature with flying, then deals X damage to target creature without flying")); - mode3.getTargets().add(new TargetCreaturePermanent(filter)); - mode3.getTargets().add(new TargetCreaturePermanent(filter2)); - this.getSpellAbility().addMode(mode3); - - Mode mode4 = new Mode(); - mode4.getEffects().add(new DamageTargetEffect(new ManacostVariableValue(), true, "target creature with flying, then deals X damage to target player")); - mode4.getTargets().add(new TargetCreaturePermanent(filter)); - mode4.getTargets().add(new TargetPlayer()); - this.getSpellAbility().addMode(mode4); - - Mode mode5 = new Mode(); - mode5.getEffects().add(new DamageTargetEffect(new ManacostVariableValue(), true, "target creature without flying, then deals X damage to target player")); - mode5.getTargets().add(new TargetCreaturePermanent(filter2)); - mode5.getTargets().add(new TargetPlayer()); - this.getSpellAbility().addMode(mode5); - Mode mode6 = new Mode(); - mode6.getEffects().add(new DamageTargetEffect(new ManacostVariableValue(), true, "target creature with flying, then deals X damage to target creature without flying, then deals X damage to target player")); - mode6.getTargets().add(new TargetCreaturePermanent(filter)); - mode6.getTargets().add(new TargetCreaturePermanent(filter2)); - mode6.getTargets().add(new TargetPlayer()); - this.getSpellAbility().addMode(mode6); } public ClanDefiance(final ClanDefiance card) { diff --git a/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java b/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java index eee8f86cacf..abef367a041 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java +++ b/Mage.Sets/src/mage/sets/lorwyn/CrypticCommand.java @@ -45,7 +45,6 @@ import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.TargetPlayer; import mage.target.TargetSpell; import mage.target.common.TargetCreaturePermanent; @@ -61,41 +60,25 @@ public class CrypticCommand extends CardImpl { this.color.setBlue(true); - // Choose two - Counter target spell; or return target permanent to its owner's hand; or tap all creatures your opponents control; or draw a card. - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + // Choose two - + this.getSpellAbility().getModes().setMinModes(2); + this.getSpellAbility().getModes().setMaxModes(2); + // Counter target spell; + this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell()); - this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); - this.getSpellAbility().addEffect(new CounterSecondTargetEffect()); - - Mode mode1 = new Mode(); - mode1.getTargets().add(new TargetSpell()); - mode1.getEffects().add(new CounterTargetEffect()); - mode1.getEffects().add(new CrypticCommandEffect()); - this.getSpellAbility().addMode(mode1); - - Mode mode2 = new Mode(); - mode2.getTargets().add(new TargetSpell()); - mode2.getEffects().add(new CounterTargetEffect()); - mode2.getEffects().add(new DrawCardControllerEffect(1)); - this.getSpellAbility().addMode(mode2); - - Mode mode3 = new Mode(); - mode3.getTargets().add(new TargetCreaturePermanent()); - mode3.getEffects().add(new ReturnToHandTargetEffect()); - mode3.getEffects().add(new CrypticCommandEffect()); - this.getSpellAbility().addMode(mode3); - - Mode mode4 = new Mode(); - mode4.getTargets().add(new TargetCreaturePermanent()); - mode4.getEffects().add(new ReturnToHandTargetEffect()); - mode4.getEffects().add(new DrawCardControllerEffect(1)); - this.getSpellAbility().addMode(mode4); - - Mode mode5 = new Mode(); - mode5.getTargets().add(new TargetPlayer()); - mode5.getEffects().add(new CrypticCommandEffect()); - mode5.getEffects().add(new DrawCardControllerEffect(1)); - this.getSpellAbility().addMode(mode5); + // or return target permanent to its owner's hand; + Mode mode = new Mode(); + mode.getEffects().add(new ReturnToHandTargetEffect()); + mode.getTargets().add(new TargetCreaturePermanent()); + this.getSpellAbility().getModes().addMode(mode); + // or tap all creatures your opponents control; + mode = new Mode(); + mode.getEffects().add(new CrypticCommandEffect()); + this.getSpellAbility().getModes().addMode(mode); + // or draw a card. + mode = new Mode(); + mode.getEffects().add(new DrawCardControllerEffect(1)); + this.getSpellAbility().getModes().addMode(mode); } public CrypticCommand(final CrypticCommand card) { diff --git a/Mage.Sets/src/mage/sets/shardsofalara/BranchingBolt.java b/Mage.Sets/src/mage/sets/shardsofalara/BranchingBolt.java index 78275104c5f..49d3b615043 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/BranchingBolt.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/BranchingBolt.java @@ -65,7 +65,10 @@ public class BranchingBolt extends CardImpl { this.color.setRed(true); this.color.setGreen(true); - // Choose one or both - Branching Bolt deals 3 damage to target creature with flying; + // Choose one or both - + this.getSpellAbility().getModes().setMinModes(1); + this.getSpellAbility().getModes().setMaxModes(2); + // Branching Bolt deals 3 damage to target creature with flying; this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying)); // or Branching Bolt deals 3 damage to target creature without flying. @@ -73,12 +76,6 @@ public class BranchingBolt extends CardImpl { mode.getEffects().add(new DamageTargetEffect(3)); mode.getTargets().add(new TargetCreaturePermanent(filterNotFlying)); this.getSpellAbility().addMode(mode); - // both - mode = new Mode(); - mode.getEffects().add(new DamageTargetEffect(3)); - mode.getTargets().add(new TargetCreaturePermanent(filterFlying)); - mode.getTargets().add(new TargetCreaturePermanent(filterNotFlying)); - this.getSpellAbility().addMode(mode); } public BranchingBolt(final BranchingBolt card) { diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/DearlyDepartedTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/DearlyDepartedTest.java index c8b1ce05da2..d6ae457813c 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/DearlyDepartedTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/enters/DearlyDepartedTest.java @@ -16,7 +16,17 @@ public class DearlyDepartedTest extends CardTestPlayerBase { @Test public void testEnteringWithCounters() { addCard(Zone.BATTLEFIELD, playerA, "Plains", 5); + // Dearly Departed + // Creature — Spirit 5/5, 4WW (6) + // Flying + // As long as Dearly Departed is in your graveyard, each Human creature you control enters the battlefield with an additional +1/+1 counter on it. addCard(Zone.GRAVEYARD, playerA, "Dearly Departed"); + /** + * Thraben Doomsayer + * Creature — Human Cleric 2/2, 1WW (3) + * {T}: Put a 1/1 white Human creature token onto the battlefield. + * Fateful hour — As long as you have 5 or less life, other creatures you control get +2/+2. + */ addCard(Zone.BATTLEFIELD, playerA, "Thraben Doomsayer"); activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Put a 1/1 white Human creature token onto the battlefield."); From e55dd735a97dc3191fefb628d533b13ba49812e6 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 19:36:33 +0200 Subject: [PATCH 066/139] * Added Austere Command and Primal Command. --- .../mage/sets/commander/AustereCommand.java | 88 ++++++++++++ .../src/mage/sets/lorwyn/AustereCommand.java | 52 +++++++ .../src/mage/sets/lorwyn/PrimalCommand.java | 131 ++++++++++++++++++ 3 files changed, 271 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/commander/AustereCommand.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/AustereCommand.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java diff --git a/Mage.Sets/src/mage/sets/commander/AustereCommand.java b/Mage.Sets/src/mage/sets/commander/AustereCommand.java new file mode 100644 index 00000000000..a6f6581c2d3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander/AustereCommand.java @@ -0,0 +1,88 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander; + +import java.util.UUID; +import mage.abilities.Mode; +import mage.abilities.effects.common.DestroyAllEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.Filter; +import mage.filter.common.FilterArtifactPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.common.FilterEnchantmentPermanent; +import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; + +/** + * + * @author LevelX2 + */ +public class AustereCommand extends CardImpl { + + private static final FilterCreaturePermanent filter3orLess = new FilterCreaturePermanent("creatures with converted mana cost 3 or less"); + private static final FilterCreaturePermanent filter4orMore = new FilterCreaturePermanent("creatures with converted mana cost 4 or greater"); + static { + filter3orLess.add(new ConvertedManaCostPredicate(Filter.ComparisonType.LessThan, 4)); + filter4orMore.add(new ConvertedManaCostPredicate(Filter.ComparisonType.GreaterThan, 3)); + } + + public AustereCommand(UUID ownerId) { + super(ownerId, 8, "Austere Command", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{4}{W}{W}"); + this.expansionSetCode = "CMD"; + + this.color.setWhite(true); + + // Choose two - + this.getSpellAbility().getModes().setMinModes(2); + this.getSpellAbility().getModes().setMaxModes(2); + // Destroy all artifacts; + this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterArtifactPermanent("artifacts"))); + // or destroy all enchantments; + Mode mode = new Mode(); + mode.getEffects().add(new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments"))); + this.getSpellAbility().getModes().addMode(mode); + // or destroy all creatures with converted mana cost 3 or less; + mode = new Mode(); + mode.getEffects().add(new DestroyAllEffect(filter3orLess)); + this.getSpellAbility().getModes().addMode(mode); + // or destroy all creatures with converted mana cost 4 or greater. + mode = new Mode(); + mode.getEffects().add(new DestroyAllEffect(filter4orMore)); + this.getSpellAbility().getModes().addMode(mode); + } + + public AustereCommand(final AustereCommand card) { + super(card); + } + + @Override + public AustereCommand copy() { + return new AustereCommand(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/AustereCommand.java b/Mage.Sets/src/mage/sets/lorwyn/AustereCommand.java new file mode 100644 index 00000000000..2663bcd872d --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/AustereCommand.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class AustereCommand extends mage.sets.commander.AustereCommand { + + public AustereCommand(UUID ownerId) { + super(ownerId); + this.cardNumber = 3; + this.expansionSetCode = "LRW"; + } + + public AustereCommand(final AustereCommand card) { + super(card); + } + + @Override + public AustereCommand copy() { + return new AustereCommand(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java b/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java new file mode 100644 index 00000000000..9fda7dde884 --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java @@ -0,0 +1,131 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.GainLifeTargetEffect; +import mage.abilities.effects.common.PutOnLibraryTargetEffect; +import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.Target; +import mage.target.TargetPermanent; +import mage.target.TargetPlayer; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author LevelX2 + */ +public class PrimalCommand extends CardImpl { + + private static final FilterPermanent filterNonCreature = new FilterPermanent("noncreature permanent"); + static { + filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); + } + + public PrimalCommand(UUID ownerId) { + super(ownerId, 233, "Primal Command", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{3}{G}{G}"); + this.expansionSetCode = "LRW"; + + this.color.setGreen(true); + + // Choose two - + this.getSpellAbility().getModes().setMinModes(2); + this.getSpellAbility().getModes().setMaxModes(2); + // Target player gains 7 life; + this.getSpellAbility().addEffect(new GainLifeTargetEffect(7)); + this.getSpellAbility().addTarget(new TargetPlayer(true)); + // or put target noncreature permanent on top of its owner's library; + Mode mode = new Mode(); + mode.getEffects().add(new PutOnLibraryTargetEffect(true)); + Target target = new TargetPermanent(filterNonCreature); + target.setRequired(true); + mode.getTargets().add(target); + this.getSpellAbility().getModes().addMode(mode); + // or target player shuffles his or her graveyard into his or her library; + mode = new Mode(); + mode.getEffects().add(new PrimalCommandShuffleGraveyardEffect()); + mode.getTargets().add(new TargetPlayer()); + this.getSpellAbility().getModes().addMode(mode); + // or search your library for a creature card, reveal it, put it into your hand, then shuffle your library. + mode = new Mode(); + mode.getEffects().add(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(new FilterCreatureCard()), true, true)); + this.getSpellAbility().getModes().addMode(mode); + + } + + public PrimalCommand(final PrimalCommand card) { + super(card); + } + + @Override + public PrimalCommand copy() { + return new PrimalCommand(this); + } +} + +class PrimalCommandShuffleGraveyardEffect extends OneShotEffect { + + public PrimalCommandShuffleGraveyardEffect() { + super(Outcome.Neutral); + this.staticText = "target player shuffles his or her graveyard into his or her library"; + } + + public PrimalCommandShuffleGraveyardEffect(final PrimalCommandShuffleGraveyardEffect effect) { + super(effect); + } + + @Override + public PrimalCommandShuffleGraveyardEffect copy() { + return new PrimalCommandShuffleGraveyardEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getFirstTarget()); + if (player != null) { + player.getLibrary().addAll(player.getGraveyard().getCards(game), game); + player.getGraveyard().clear(); + player.getLibrary().shuffle(); + return true; + } + return false; + } +} From 621bc4e1cef155c5a647bf691e8b554573b6241c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 23:00:39 +0200 Subject: [PATCH 067/139] * Added Entwine ability. --- Mage/src/mage/abilities/AbilityImpl.java | 4 +- Mage/src/mage/abilities/Modes.java | 24 ++- .../OptionalAdditionalModeSourceCosts.java | 42 +++++ .../abilities/keyword/EntwineAbility.java | 160 ++++++++++++++++++ Utils/keywords.txt | 1 + 5 files changed, 228 insertions(+), 3 deletions(-) create mode 100644 Mage/src/mage/abilities/costs/OptionalAdditionalModeSourceCosts.java create mode 100644 Mage/src/mage/abilities/keyword/EntwineAbility.java diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index 4608c5828d4..be15e14b18c 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -52,6 +52,7 @@ import org.apache.log4j.Logger; import java.util.ArrayList; import java.util.List; import java.util.UUID; +import mage.abilities.keyword.EntwineAbility; /** @@ -191,7 +192,8 @@ public abstract class AbilityImpl> implements Ability { break; } } - if (ability instanceof OptionalAdditionalSourceCosts) { + if (ability instanceof OptionalAdditionalSourceCosts + && !(ability instanceof EntwineAbility)) { ((OptionalAdditionalSourceCosts)ability).addOptionalAdditionalCosts(this, game); } } diff --git a/Mage/src/mage/abilities/Modes.java b/Mage/src/mage/abilities/Modes.java index 0637e4a4fcf..a27df19db6d 100644 --- a/Mage/src/mage/abilities/Modes.java +++ b/Mage/src/mage/abilities/Modes.java @@ -29,10 +29,12 @@ package mage.abilities; import java.util.LinkedHashMap; import java.util.LinkedHashSet; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; +import mage.abilities.costs.OptionalAdditionalModeSourceCosts; +import mage.abilities.costs.OptionalAdditionalSourceCosts; +import mage.cards.Card; import mage.game.Game; import mage.players.Player; @@ -109,7 +111,25 @@ public class Modes extends LinkedHashMap { public boolean choose(Game game, Ability source) { if (this.size() > 1) { this.selectedModes.clear(); - + // check if mode modifying abilities exist + Card card = game.getCard(source.getSourceId()); + if (card != null) { + for (Ability modeModifyingAbility : card.getAbilities()) { + if (modeModifyingAbility instanceof OptionalAdditionalModeSourceCosts) { + ((OptionalAdditionalModeSourceCosts)modeModifyingAbility).addOptionalAdditionalModeCosts(source, game); + } + } + } + // check if all modes can be activated automatically + if (this.size() == this.getMinModes()) { + for (Mode mode: this.values()) { + if (mode.getTargets().canChoose(source.getSourceId(), source.getControllerId(), game)) { + this.selectedModes.add(mode.getId()); + } + } + return selectedModes.size() > 0; + } + // player chooses modes manually Player player = game.getPlayer(source.getControllerId()); while (this.selectedModes.size() < this.getMaxModes()) { Mode choice = player.chooseMode(this, source, game); diff --git a/Mage/src/mage/abilities/costs/OptionalAdditionalModeSourceCosts.java b/Mage/src/mage/abilities/costs/OptionalAdditionalModeSourceCosts.java new file mode 100644 index 00000000000..104542486d7 --- /dev/null +++ b/Mage/src/mage/abilities/costs/OptionalAdditionalModeSourceCosts.java @@ -0,0 +1,42 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.abilities.costs; + +import mage.abilities.Ability; +import mage.game.Game; + +/** + * + * @author LevelX2 + */ + + +public interface OptionalAdditionalModeSourceCosts { + void addOptionalAdditionalModeCosts(Ability ability, Game game); + String getCastMessageSuffix(); +} diff --git a/Mage/src/mage/abilities/keyword/EntwineAbility.java b/Mage/src/mage/abilities/keyword/EntwineAbility.java new file mode 100644 index 00000000000..8e755cebded --- /dev/null +++ b/Mage/src/mage/abilities/keyword/EntwineAbility.java @@ -0,0 +1,160 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.abilities.keyword; + +import java.util.Iterator; + +import mage.constants.Zone; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.StaticAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.Costs; +import mage.abilities.costs.OptionalAdditionalCost; +import mage.abilities.costs.OptionalAdditionalCostImpl; +import mage.abilities.costs.OptionalAdditionalModeSourceCosts; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.constants.Outcome; +import mage.game.Game; +import mage.players.Player; + +/** + * 702.40. Entwine + * + * 702.40a Entwine is a static ability of modal spells (see rule 700.2) that functions + * while the spell is on the stack. "Entwine [cost]" means "You may choose all modes + * of this spell instead of just one. If you do, you pay an additional [cost]." Using + * the entwine ability follows the rules for choosing modes and paying additional costs + * in rules 601.2b and 601.2e-g. + * + * 702.40b If the entwine cost was paid, follow the text of each of the modes in the order + * written on the card when the spell resolves. + * + * @author LevelX2 + */ + +public class EntwineAbility extends StaticAbility implements OptionalAdditionalModeSourceCosts { + + private static final String keywordText = "Entwine"; + private static final String reminderText = " (Choose both if you pay the entwine cost.)"; + protected OptionalAdditionalCost additionalCost; + + public EntwineAbility(String manaString) { + super(Zone.STACK, null); + this.additionalCost = new OptionalAdditionalCostImpl(keywordText, reminderText, new ManaCostsImpl(manaString)); + } + + public EntwineAbility(Cost cost) { + super(Zone.STACK, null); + this.additionalCost = new OptionalAdditionalCostImpl(keywordText, "-", reminderText, cost); + setRuleAtTheTop(true); + } + + public EntwineAbility(final EntwineAbility ability) { + super(ability); + additionalCost = ability.additionalCost; + } + + @Override + public EntwineAbility copy() { + return new EntwineAbility(this); + } + + @Override + public void addCost(Cost cost) { + if (additionalCost != null) { + ((Costs) additionalCost).add(cost); + } + } + + public boolean isActivated() { + if (additionalCost != null) { + return additionalCost.isActivated(); + } + return false; + } + + public void resetCosts() { + if (additionalCost != null) { + additionalCost.reset(); + } + } + + @Override + public void addOptionalAdditionalModeCosts(Ability ability, Game game) { + if (ability instanceof SpellAbility) { + Player player = game.getPlayer(controllerId); + if (player != null) { + this.resetCosts(); + if (additionalCost != null) { + if (player.chooseUse(Outcome.Benefit,new StringBuilder("Pay ").append(additionalCost.getText(false)).append(" ?").toString(), game)) { + additionalCost.activate(); + for (Iterator it = ((Costs) additionalCost).iterator(); it.hasNext();) { + Cost cost = (Cost) it.next(); + if (cost instanceof ManaCostsImpl) { + ability.getManaCostsToPay().add((ManaCostsImpl) cost.copy()); + } else { + ability.getCosts().add(cost.copy()); + } + } + ability.getModes().setMinModes(2); + ability.getModes().setMaxModes(2); + } + } + } + } + } + + + @Override + public String getRule() { + StringBuilder sb = new StringBuilder(); + if (additionalCost != null) { + sb.append(additionalCost.getText(false)); + sb.append(" ").append(additionalCost.getReminderText()); + } + return sb.toString(); + } + + @Override + public String getCastMessageSuffix() { + if (additionalCost != null) { + return additionalCost.getCastSuffixMessage(0); + } else { + return ""; + } + } + + public String getReminderText() { + if (additionalCost != null) { + return additionalCost.getReminderText(); + } else { + return ""; + } + } +} diff --git a/Utils/keywords.txt b/Utils/keywords.txt index 7703191a843..4b4a2e77d18 100644 --- a/Utils/keywords.txt +++ b/Utils/keywords.txt @@ -3,6 +3,7 @@ Bloodthirst|number| Bushido|number| Dredge|number| Evoke|card, manaString| +Entwine|manaString| Soulshift|number| Basic landcycling|cost| Forestcycling|cost| From ca42bfd7dab519c671af8cad4fe78f6473a1801a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 22 Jun 2013 23:01:06 +0200 Subject: [PATCH 068/139] [MMA] Added 4 cards with Entwine. --- .../src/mage/sets/darksteel/StirThePride.java | 52 ++++++ .../sets/elspethvstezzeret/BlindingBeam.java | 158 ++++++++++++++++++ .../mage/sets/fifthdawn/RudeAwakening.java | 52 ++++++ .../src/mage/sets/mirrodin/BlindingBeam.java | 52 ++++++ .../src/mage/sets/mirrodin/ToothAndNail.java | 52 ++++++ .../mage/sets/modernmasters/BlindingBeam.java | 52 ++++++ .../sets/modernmasters/RudeAwakening.java | 88 ++++++++++ .../mage/sets/modernmasters/StirThePride.java | 155 +++++++++++++++++ .../mage/sets/modernmasters/ToothAndNail.java | 117 +++++++++++++ 9 files changed, 778 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/darksteel/StirThePride.java create mode 100644 Mage.Sets/src/mage/sets/elspethvstezzeret/BlindingBeam.java create mode 100644 Mage.Sets/src/mage/sets/fifthdawn/RudeAwakening.java create mode 100644 Mage.Sets/src/mage/sets/mirrodin/BlindingBeam.java create mode 100644 Mage.Sets/src/mage/sets/mirrodin/ToothAndNail.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/BlindingBeam.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/RudeAwakening.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/StirThePride.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/ToothAndNail.java diff --git a/Mage.Sets/src/mage/sets/darksteel/StirThePride.java b/Mage.Sets/src/mage/sets/darksteel/StirThePride.java new file mode 100644 index 00000000000..866b3ac875c --- /dev/null +++ b/Mage.Sets/src/mage/sets/darksteel/StirThePride.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.darksteel; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class StirThePride extends mage.sets.modernmasters.StirThePride { + + public StirThePride(UUID ownerId) { + super(ownerId); + this.cardNumber = 16; + this.expansionSetCode = "DST"; + } + + public StirThePride(final StirThePride card) { + super(card); + } + + @Override + public StirThePride copy() { + return new StirThePride(this); + } +} diff --git a/Mage.Sets/src/mage/sets/elspethvstezzeret/BlindingBeam.java b/Mage.Sets/src/mage/sets/elspethvstezzeret/BlindingBeam.java new file mode 100644 index 00000000000..48c84451200 --- /dev/null +++ b/Mage.Sets/src/mage/sets/elspethvstezzeret/BlindingBeam.java @@ -0,0 +1,158 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.elspethvstezzeret; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.keyword.EntwineAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.PhaseStep; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class BlindingBeam extends CardImpl { + + public BlindingBeam(UUID ownerId) { + super(ownerId, 28, "Blinding Beam", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{W}"); + this.expansionSetCode = "DDF"; + + this.color.setWhite(true); + + // Choose one - + this.getSpellAbility().getModes().setMinModes(1); + this.getSpellAbility().getModes().setMaxModes(1); + // Tap two target creatures; + this.getSpellAbility().addEffect(new TapTargetEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(2,2)); + // or creatures don't untap during target player's next untap step. + Mode mode = new Mode(); + mode.getEffects().add(new BlindingBeamEffect()); + this.getSpellAbility().getModes().addMode(mode); + + // Entwine {1} + this.addAbility(new EntwineAbility("{1}")); + } + + public BlindingBeam(final BlindingBeam card) { + super(card); + } + + @Override + public BlindingBeam copy() { + return new BlindingBeam(this); + } +} + +class BlindingBeamEffect extends OneShotEffect { + + public BlindingBeamEffect() { + super(Outcome.Tap); + staticText = "creatures don't untap during target player's next untap step"; + } + + public BlindingBeamEffect(final BlindingBeamEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getFirstTarget()); + if (player != null) { + for (Permanent creature: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId(), game)) { + game.addEffect(new BlindingBeamEffect2(creature.getId()), source); + } + return true; + } + return false; + } + + @Override + public BlindingBeamEffect copy() { + return new BlindingBeamEffect(this); + } + +} + +class BlindingBeamEffect2 extends ReplacementEffectImpl { + + protected UUID creatureId; + + public BlindingBeamEffect2(UUID creatureId) { + super(Duration.OneUse, Outcome.Detriment); + this.creatureId = creatureId; + } + + public BlindingBeamEffect2(final BlindingBeamEffect2 effect) { + super(effect); + creatureId = effect.creatureId; + } + + @Override + public BlindingBeamEffect2 copy() { + return new BlindingBeamEffect2(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return false; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + used = true; + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (game.getTurn().getStepType() == PhaseStep.UNTAP && + event.getType() == EventType.UNTAP && + event.getTargetId().equals(creatureId)) { + return true; + } + return false; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/fifthdawn/RudeAwakening.java b/Mage.Sets/src/mage/sets/fifthdawn/RudeAwakening.java new file mode 100644 index 00000000000..816be8afe56 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthdawn/RudeAwakening.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.fifthdawn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class RudeAwakening extends mage.sets.modernmasters.RudeAwakening { + + public RudeAwakening(UUID ownerId) { + super(ownerId); + this.cardNumber = 92; + this.expansionSetCode = "5DN"; + } + + public RudeAwakening(final RudeAwakening card) { + super(card); + } + + @Override + public RudeAwakening copy() { + return new RudeAwakening(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirrodin/BlindingBeam.java b/Mage.Sets/src/mage/sets/mirrodin/BlindingBeam.java new file mode 100644 index 00000000000..b762ddbc0c6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirrodin/BlindingBeam.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.mirrodin; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class BlindingBeam extends mage.sets.elspethvstezzeret.BlindingBeam { + + public BlindingBeam(UUID ownerId) { + super(ownerId); + this.cardNumber = 7; + this.expansionSetCode = "MRD"; + } + + public BlindingBeam(final BlindingBeam card) { + super(card); + } + + @Override + public BlindingBeam copy() { + return new BlindingBeam(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirrodin/ToothAndNail.java b/Mage.Sets/src/mage/sets/mirrodin/ToothAndNail.java new file mode 100644 index 00000000000..a50188250a1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirrodin/ToothAndNail.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.mirrodin; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class ToothAndNail extends mage.sets.modernmasters.ToothAndNail { + + public ToothAndNail(UUID ownerId) { + super(ownerId); + this.cardNumber = 134; + this.expansionSetCode = "MRD"; + } + + public ToothAndNail(final ToothAndNail card) { + super(card); + } + + @Override + public ToothAndNail copy() { + return new ToothAndNail(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/BlindingBeam.java b/Mage.Sets/src/mage/sets/modernmasters/BlindingBeam.java new file mode 100644 index 00000000000..f6b2666b46f --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/BlindingBeam.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class BlindingBeam extends mage.sets.elspethvstezzeret.BlindingBeam { + + public BlindingBeam(UUID ownerId) { + super(ownerId); + this.cardNumber = 7; + this.expansionSetCode = "MMA"; + } + + public BlindingBeam(final BlindingBeam card) { + super(card); + } + + @Override + public BlindingBeam copy() { + return new BlindingBeam(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/RudeAwakening.java b/Mage.Sets/src/mage/sets/modernmasters/RudeAwakening.java new file mode 100644 index 00000000000..bda59eebe31 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/RudeAwakening.java @@ -0,0 +1,88 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Mode; +import mage.abilities.effects.common.UntapAllLandsControllerEffect; +import mage.abilities.effects.common.continious.BecomesCreatureAllEffect; +import mage.abilities.keyword.EntwineAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.common.FilterControlledLandPermanent; +import mage.game.permanent.token.Token; + + +/** + * + * @author LevelX2 + */ +public class RudeAwakening extends CardImpl { + + public RudeAwakening(UUID ownerId) { + super(ownerId, 160, "Rude Awakening", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{4}{G}"); + this.expansionSetCode = "MMA"; + + this.color.setGreen(true); + + // Choose one - + this.getSpellAbility().getModes().setMinModes(1); + this.getSpellAbility().getModes().setMaxModes(1); + // Untap all lands you control; + this.getSpellAbility().addEffect(new UntapAllLandsControllerEffect()); + // or until end of turn, lands you control become 2/2 creatures that are still lands. + Mode mode = new Mode(); + mode.getEffects().add(new BecomesCreatureAllEffect(new RudeAwakeningToken(), "lands", new FilterControlledLandPermanent("lands you control"), Duration.EndOfTurn)); + this.getSpellAbility().getModes().addMode(mode); + + // Entwine {2}{G} + this.addAbility(new EntwineAbility("{2}{G}")); + } + + public RudeAwakening(final RudeAwakening card) { + super(card); + } + + @Override + public RudeAwakening copy() { + return new RudeAwakening(this); + } +} + +class RudeAwakeningToken extends Token { + public RudeAwakeningToken() { + super("", "2/2 creature"); + cardType.add(CardType.CREATURE); + power = new MageInt(2); + toughness = new MageInt(2); + } + +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/StirThePride.java b/Mage.Sets/src/mage/sets/modernmasters/StirThePride.java new file mode 100644 index 00000000000..ce6196b28af --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/StirThePride.java @@ -0,0 +1,155 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.BoostControlledEffect; +import mage.abilities.effects.common.continious.GainAbilityControlledEffect; +import mage.abilities.keyword.EntwineAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class StirThePride extends CardImpl { + + public StirThePride(UUID ownerId) { + super(ownerId, 30, "Stir the Pride", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{4}{W}"); + this.expansionSetCode = "MMA"; + + this.color.setWhite(true); + + // Choose one - + this.getSpellAbility().getModes().setMinModes(1); + this.getSpellAbility().getModes().setMaxModes(1); + // Creatures you control get +2/+2 until end of turn; + this.getSpellAbility().addEffect(new BoostControlledEffect(2,2, Duration.EndOfTurn)); + // or until end of turn, creatures you control gain "Whenever this creature deals damage, you gain that much life." + Mode mode = new Mode(); + Effect effect = new GainAbilityControlledEffect(new StirThePrideTriggeredAbility(), Duration.EndOfTurn); + effect.setText("until end of turn, creatures you control gain \"Whenever this creature deals damage, you gain that much life.\""); + mode.getEffects().add(effect); + this.getSpellAbility().getModes().addMode(mode); + + // Entwine {1}{W} + this.addAbility(new EntwineAbility("{1}{W}")); + + } + + public StirThePride(final StirThePride card) { + super(card); + } + + @Override + public StirThePride copy() { + return new StirThePride(this); + } +} + +class StirThePrideTriggeredAbility extends TriggeredAbilityImpl { + + public StirThePrideTriggeredAbility() { + super(Zone.BATTLEFIELD, new StirThePrideGainLifeEffect(), false); + } + + public StirThePrideTriggeredAbility(final StirThePrideTriggeredAbility ability) { + super(ability); + } + + @Override + public StirThePrideTriggeredAbility copy() { + return new StirThePrideTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType().equals(EventType.DAMAGED_CREATURE) + || event.getType().equals(GameEvent.EventType.DAMAGED_PLAYER) + || event.getType().equals(GameEvent.EventType.DAMAGED_PLANESWALKER)) { + if (event.getSourceId().equals(this.getSourceId())) { + for (Effect effect : this.getEffects()) { + effect.setValue("damage", event.getAmount()); + } + return true; + } + + } + return false; + } + + @Override + public String getRule() { + return "Whenever {this} deals damage, " + super.getRule(); + } + +} + +class StirThePrideGainLifeEffect extends OneShotEffect { + + public StirThePrideGainLifeEffect() { + super(Outcome.GainLife); + this.staticText = "you gain that much life"; + } + + public StirThePrideGainLifeEffect(final StirThePrideGainLifeEffect effect) { + super(effect); + } + + @Override + public StirThePrideGainLifeEffect copy() { + return new StirThePrideGainLifeEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + int amount = (Integer) getValue("damage"); + if (amount > 0) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + controller.gainLife(amount, game); + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/ToothAndNail.java b/Mage.Sets/src/mage/sets/modernmasters/ToothAndNail.java new file mode 100644 index 00000000000..62d5f76bbbb --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/ToothAndNail.java @@ -0,0 +1,117 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.abilities.keyword.EntwineAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInHand; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author LevelX2 + */ +public class ToothAndNail extends CardImpl { + + public ToothAndNail(UUID ownerId) { + super(ownerId, 170, "Tooth and Nail", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{5}{G}{G}"); + this.expansionSetCode = "MMA"; + + this.color.setGreen(true); + + // Choose one - + // Search your library for up to two creature cards, reveal them, put them into your hand, then shuffle your library; + this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, new FilterCreatureCard()))); + // or put up to two creature cards from your hand onto the battlefield. + Mode mode = new Mode(); + mode.getEffects().add(new ToothAndNailPutCreatureOnBattlefieldEffect()); + this.getSpellAbility().getModes().addMode(mode); + + // Entwine {2} + this.addAbility(new EntwineAbility("{2}")); + } + + public ToothAndNail(final ToothAndNail card) { + super(card); + } + + @Override + public ToothAndNail copy() { + return new ToothAndNail(this); + } +} + +class ToothAndNailPutCreatureOnBattlefieldEffect extends OneShotEffect { + + public ToothAndNailPutCreatureOnBattlefieldEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "Put up to two creature cards from your hand onto the battlefield"; + } + + public ToothAndNailPutCreatureOnBattlefieldEffect(final ToothAndNailPutCreatureOnBattlefieldEffect effect) { + super(effect); + } + + @Override + public ToothAndNailPutCreatureOnBattlefieldEffect copy() { + return new ToothAndNailPutCreatureOnBattlefieldEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player == null) { + return false; + } + + TargetCardInHand target = new TargetCardInHand(0, 2, new FilterCreatureCard("creature cards")); + if (player.choose(Outcome.PutCreatureInPlay, target, source.getSourceId(), game)) { + for (UUID targetId: target.getTargets()) { + Card card = game.getCard(targetId); + if (card != null) { + card.putOntoBattlefield(game, Zone.HAND, source.getId(), source.getControllerId()); + } + } + return true; + } + return false; + } +} From 5898f8a79890fd354713266bbf85f34f1b9965ee Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 02:45:30 +0200 Subject: [PATCH 069/139] [minor] Changed layout of create tournament table dialog. --- .../client/dialog/NewTournamentDialog.form | 89 +++++++++---------- .../client/dialog/NewTournamentDialog.java | 80 ++++++++--------- 2 files changed, 82 insertions(+), 87 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form index d2b4221f2de..fb97f4a2e45 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.form @@ -33,54 +33,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - @@ -111,10 +108,10 @@ - + - + diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java index 04a623f5fd9..3b8226bd447 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java @@ -258,45 +258,43 @@ public class NewTournamentDialog extends MageDialog { .addComponent(btnOk) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnCancel)) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addComponent(jLabel2) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(spnNumPlayers, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pnlDraftOptions, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addComponent(lblName) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(lbTimeLimit) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cbTimeLimit, 0, 115, Short.MAX_VALUE)) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() - .addComponent(jLabel1) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cbTournamentType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(lblFreeMulligans) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(lblNumWins) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(spnNumWins, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addGap(23, 23, 23) - .addComponent(lblConstructionTime) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(spnConstructTime, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE))))) - .addGap(0, 0, Short.MAX_VALUE))) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addComponent(jLabel2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spnNumPlayers, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(pnlDraftOptions, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addComponent(lblName) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(lbTimeLimit) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(cbTimeLimit, 0, 115, Short.MAX_VALUE)) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(cbTournamentType, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(lblConstructionTime) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spnConstructTime, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addComponent(lblFreeMulligans) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lblNumWins) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(spnNumWins, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)))))) .addContainerGap()) ); layout.setVerticalGroup( @@ -321,10 +319,10 @@ public class NewTournamentDialog extends MageDialog { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pnlPacks, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE) + .addComponent(pnlPacks, javax.swing.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE) .addGap(11, 11, 11) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(spnNumPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 23, Short.MAX_VALUE) + .addComponent(spnNumPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 25, Short.MAX_VALUE) .addComponent(pnlDraftOptions, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) From 0e87313e1ac17eef98f99c8f891bc2c48a303aba Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 02:53:55 +0200 Subject: [PATCH 070/139] CounterPredicates works now with card counters. Handle Exile to Exile movement. --- Mage/src/mage/cards/CardImpl.java | 3 +++ .../mage/filter/predicate/permanent/CounterPredicate.java | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Mage/src/mage/cards/CardImpl.java b/Mage/src/mage/cards/CardImpl.java index 4e0879a3460..6f788edbb9b 100644 --- a/Mage/src/mage/cards/CardImpl.java +++ b/Mage/src/mage/cards/CardImpl.java @@ -402,6 +402,9 @@ public abstract class CardImpl> extends MageObjectImpl case LIBRARY: game.getPlayer(ownerId).removeFromLibrary(this, game); break; + case EXILED: + game.getExile().removeCard(this, game); + break; default: logger.warn("moveToExile, not fully implemented: from="+fromZone); } diff --git a/Mage/src/mage/filter/predicate/permanent/CounterPredicate.java b/Mage/src/mage/filter/predicate/permanent/CounterPredicate.java index 1096383d4d2..4c8852246fa 100644 --- a/Mage/src/mage/filter/predicate/permanent/CounterPredicate.java +++ b/Mage/src/mage/filter/predicate/permanent/CounterPredicate.java @@ -27,16 +27,16 @@ */ package mage.filter.predicate.permanent; +import mage.cards.Card; import mage.counters.CounterType; import mage.filter.predicate.Predicate; import mage.game.Game; -import mage.game.permanent.Permanent; /** * * @author jeff */ -public class CounterPredicate implements Predicate { +public class CounterPredicate implements Predicate { private final CounterType counter; @@ -45,7 +45,7 @@ public class CounterPredicate implements Predicate { } @Override - public boolean apply(Permanent input, Game game) { + public boolean apply(Card input, Game game) { return input.getCounters().containsKey(counter); } From 72ca119ececce7b60fda04085c30c4c2c345f215 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 02:54:30 +0200 Subject: [PATCH 071/139] [minor] Fixed rule text generation. --- .../mage/sets/newphyrexia/MyrSuperion.java | 29 +++++++++++++++++-- Mage/src/mage/abilities/Modes.java | 2 +- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java b/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java index 31868181a05..fddf8737532 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java @@ -28,10 +28,12 @@ package mage.sets.newphyrexia; import java.util.UUID; +import mage.MageInt; +import mage.abilities.StaticAbility; +import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; -import mage.MageInt; -import mage.cards.CardImpl; +import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; /** @@ -51,6 +53,7 @@ public class MyrSuperion extends CardImpl { this.toughness = new MageInt(6); // Spend only mana produced by creatures to cast Myr Superion. + this.addAbility(new MyrSuperionStaticAbility()); this.getSpellAbility().getManaCostsToPay().setSourceFilter(filter); this.getSpellAbility().getManaCosts().setSourceFilter(filter); } @@ -64,3 +67,25 @@ public class MyrSuperion extends CardImpl { return new MyrSuperion(this); } } + +class MyrSuperionStaticAbility extends StaticAbility { + + public MyrSuperionStaticAbility() { + super(Zone.STACK, null); + } + + public MyrSuperionStaticAbility(MyrSuperionStaticAbility ability) { + super(ability); + } + + @Override + public MyrSuperionStaticAbility copy() { + return new MyrSuperionStaticAbility(this); + } + + @Override + public String getRule() { + return "Spend only mana produced by creatures to cast {this}."; + } + +} diff --git a/Mage/src/mage/abilities/Modes.java b/Mage/src/mage/abilities/Modes.java index a27df19db6d..47bd7304758 100644 --- a/Mage/src/mage/abilities/Modes.java +++ b/Mage/src/mage/abilities/Modes.java @@ -33,7 +33,6 @@ import java.util.Map; import java.util.Set; import java.util.UUID; import mage.abilities.costs.OptionalAdditionalModeSourceCosts; -import mage.abilities.costs.OptionalAdditionalSourceCosts; import mage.cards.Card; import mage.game.Game; import mage.players.Player; @@ -175,6 +174,7 @@ public class Modes extends LinkedHashMap { } if (this.size() > 1) { sb.delete(sb.length() - andOr.length(), sb.length()); + sb.append("."); } return sb.toString(); } From 9180ecc1f0cfb79fa611ea915af4f3b52ab2d260 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 02:54:53 +0200 Subject: [PATCH 072/139] [MMA] Added 3 cards. --- .../championsofkamigawa/KodamasReach.java | 52 ++++++ .../src/mage/sets/commander/KodamasReach.java | 139 +++++++++++++++ .../mage/sets/futuresight/Imperiosaur.java | 54 ++++++ .../mage/sets/modernmasters/FuryCharm.java | 52 ++++++ .../mage/sets/modernmasters/Imperiosaur.java | 96 +++++++++++ .../mage/sets/modernmasters/KodamasReach.java | 52 ++++++ .../src/mage/sets/planarchaos/FuryCharm.java | 163 ++++++++++++++++++ 7 files changed, 608 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/championsofkamigawa/KodamasReach.java create mode 100644 Mage.Sets/src/mage/sets/commander/KodamasReach.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/Imperiosaur.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/FuryCharm.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/Imperiosaur.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/KodamasReach.java create mode 100644 Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KodamasReach.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KodamasReach.java new file mode 100644 index 00000000000..0929eb3d74a --- /dev/null +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KodamasReach.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.championsofkamigawa; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class KodamasReach extends mage.sets.commander.KodamasReach { + + public KodamasReach(UUID ownerId) { + super(ownerId); + this.cardNumber = 225; + this.expansionSetCode = "CHK"; + } + + public KodamasReach(final KodamasReach card) { + super(card); + } + + @Override + public KodamasReach copy() { + return new KodamasReach(this); + } +} diff --git a/Mage.Sets/src/mage/sets/commander/KodamasReach.java b/Mage.Sets/src/mage/sets/commander/KodamasReach.java new file mode 100644 index 00000000000..f05fa597b13 --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander/KodamasReach.java @@ -0,0 +1,139 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander; + +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.common.FilterBasicLandCard; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetCard; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author LevelX2 + */ +public class KodamasReach extends CardImpl { + + public KodamasReach(UUID ownerId) { + super(ownerId, 163, "Kodama's Reach", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{2}{G}"); + this.expansionSetCode = "CMD"; + this.subtype.add("Arcane"); + + this.color.setGreen(true); + + // Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Then shuffle your library. + this.getSpellAbility().addEffect(new KodamasReachEffect()); + } + + public KodamasReach(final KodamasReach card) { + super(card); + } + + @Override + public KodamasReach copy() { + return new KodamasReach(this); + } +} + +class KodamasReachEffect extends OneShotEffect { + + protected static final FilterCard filter = new FilterCard("card to put on the battlefield tapped"); + + public KodamasReachEffect() { + super(Outcome.PutLandInPlay); + staticText = "Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Then shuffle your library"; + } + + public KodamasReachEffect(final KodamasReachEffect effect) { + super(effect); + } + + @Override + public KodamasReachEffect copy() { + return new KodamasReachEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + TargetCardInLibrary target = new TargetCardInLibrary(0, 2, new FilterBasicLandCard()); + Player player = game.getPlayer(source.getControllerId()); + if (player.searchLibrary(target, game)) { + if (target.getTargets().size() > 0) { + Cards revealed = new CardsImpl(); + for (UUID cardId: (List)target.getTargets()) { + Card card = player.getLibrary().getCard(cardId, game); + revealed.add(card); + } + player.revealCards("Kodama's Reach", revealed, game); + if (target.getTargets().size() == 2) { + TargetCard target2 = new TargetCard(Zone.PICK, filter); + target2.setRequired(true); + player.choose(Outcome.Benefit, revealed, target2, game); + Card card = revealed.get(target2.getFirstTarget(), game); + card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId()); + revealed.remove(card); + Permanent permanent = game.getPermanent(card.getId()); + if (permanent != null) { + permanent.setTapped(true); + } + card = revealed.getCards(game).iterator().next(); + card.moveToZone(Zone.HAND, source.getId(), game, false); + } + else if (target.getTargets().size() == 1) { + Card card = revealed.getCards(game).iterator().next(); + card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId()); + Permanent permanent = game.getPermanent(card.getId()); + if (permanent != null) { + permanent.setTapped(true); + } + } + + } + player.shuffleLibrary(game); + return true; + } + player.shuffleLibrary(game); + return false; + + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/futuresight/Imperiosaur.java b/Mage.Sets/src/mage/sets/futuresight/Imperiosaur.java new file mode 100644 index 00000000000..864ce03ce15 --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/Imperiosaur.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class Imperiosaur extends mage.sets.modernmasters.Imperiosaur { + + public Imperiosaur(UUID ownerId) { + super(ownerId); + this.cardNumber = 145; + this.expansionSetCode = "FUT"; + this.rarity = Rarity.UNCOMMON; + } + + public Imperiosaur(final Imperiosaur card) { + super(card); + } + + @Override + public Imperiosaur copy() { + return new Imperiosaur(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/FuryCharm.java b/Mage.Sets/src/mage/sets/modernmasters/FuryCharm.java new file mode 100644 index 00000000000..3d8fea9f959 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/FuryCharm.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class FuryCharm extends mage.sets.planarchaos.FuryCharm { + + public FuryCharm(UUID ownerId) { + super(ownerId); + this.cardNumber = 114; + this.expansionSetCode = "MMA"; + } + + public FuryCharm(final FuryCharm card) { + super(card); + } + + @Override + public FuryCharm copy() { + return new FuryCharm(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/Imperiosaur.java b/Mage.Sets/src/mage/sets/modernmasters/Imperiosaur.java new file mode 100644 index 00000000000..328d6265684 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/Imperiosaur.java @@ -0,0 +1,96 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.StaticAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.mageobject.SupertypePredicate; + +/** + * + * @author LevelX2 + */ +public class Imperiosaur extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent(); + static { + filter.add(new SupertypePredicate("Basic")); + } + + public Imperiosaur(UUID ownerId) { + super(ownerId, 148, "Imperiosaur", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Lizard"); + + this.color.setGreen(true); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Spend only mana produced by basic lands to cast Imperiosaur. + this.addAbility(new ImperiosaurStaticAbility()); + this.getSpellAbility().getManaCostsToPay().setSourceFilter(filter); + this.getSpellAbility().getManaCosts().setSourceFilter(filter); + } + + public Imperiosaur(final Imperiosaur card) { + super(card); + } + + @Override + public Imperiosaur copy() { + return new Imperiosaur(this); + } +} + +class ImperiosaurStaticAbility extends StaticAbility { + + public ImperiosaurStaticAbility() { + super(Zone.STACK, null); + } + + public ImperiosaurStaticAbility(ImperiosaurStaticAbility ability) { + super(ability); + } + + @Override + public ImperiosaurStaticAbility copy() { + return new ImperiosaurStaticAbility(this); + } + + @Override + public String getRule() { + return "Spend only mana produced by basic lands to cast {this}."; + } + +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/KodamasReach.java b/Mage.Sets/src/mage/sets/modernmasters/KodamasReach.java new file mode 100644 index 00000000000..085b2a953e9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/KodamasReach.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class KodamasReach extends mage.sets.commander.KodamasReach { + + public KodamasReach(UUID ownerId) { + super(ownerId); + this.cardNumber = 151; + this.expansionSetCode = "MMA"; + } + + public KodamasReach(final KodamasReach card) { + super(card); + } + + @Override + public KodamasReach copy() { + return new KodamasReach(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java b/Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java new file mode 100644 index 00000000000..facc65b4451 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java @@ -0,0 +1,163 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.planarchaos; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.SpellAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.continious.BoostTargetEffect; +import mage.abilities.effects.common.continious.GainAbilityTargetEffect; +import mage.abilities.keyword.SuspendAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.counters.CounterType; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.filter.predicate.permanent.CounterPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.Target; +import mage.target.common.TargetArtifactPermanent; +import mage.target.common.TargetCardInExile; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class FuryCharm extends CardImpl { + + private static final FilterCard filter = new FilterCard("suspended card"); + static { + filter.add(new CounterPredicate(CounterType.TIME)); + filter.add(new AbilityPredicate(SuspendAbility.class)); + } + + public FuryCharm(UUID ownerId) { + super(ownerId, 100, "Fury Charm", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}"); + this.expansionSetCode = "PLC"; + + this.color.setRed(true); + + // Choose one - + this.getSpellAbility().getModes().setMinModes(1); + this.getSpellAbility().getModes().setMaxModes(1); + // Destroy target artifact; + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + this.getSpellAbility().addTarget(new TargetArtifactPermanent()); + // or target creature gets +1/+1 and gains trample until end of turn; + Mode mode = new Mode(); + mode.getEffects().add(new BoostTargetEffect(1,1, Duration.EndOfTurn)); + mode.getEffects().add(new GainAbilityTargetEffect(TrampleAbility.getInstance(),Duration.EndOfTurn)); + mode.getTargets().add(new TargetCreaturePermanent()); + this.getSpellAbility().getModes().addMode(mode); + // or remove two time counters from target permanent or suspended card. + mode = new Mode(); + Choice targetChoice = new ChoiceImpl(); + targetChoice.setMessage("Choose what to target"); + targetChoice.getChoices().add("Permanent"); + targetChoice.getChoices().add("Suspended Card"); + mode.getChoices().add(targetChoice); + mode.getEffects().add(new FuryCharmRemoveCounterEffect()); + this.getSpellAbility().getModes().addMode(mode); + + + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + if (ability instanceof SpellAbility) { + for(Effect effect :ability.getEffects()) { + if (effect instanceof FuryCharmRemoveCounterEffect) { + Choice targetChoice = ability.getChoices().get(0); + if (targetChoice.getChoice().equals("Permanent")) { + ability.addTarget(new TargetCreaturePermanent(true)); + } + if (targetChoice.getChoice().equals("Suspended Card")) { + Target target = new TargetCardInExile(1,1, filter, null, true); + target.setRequired(true); + ability.addTarget(target); + } + } + } + } + } + + public FuryCharm(final FuryCharm card) { + super(card); + } + + @Override + public FuryCharm copy() { + return new FuryCharm(this); + } +} + +class FuryCharmRemoveCounterEffect extends OneShotEffect { + + public FuryCharmRemoveCounterEffect() { + super(Outcome.Benefit); + this.staticText = "remove two time counters from target permanent or suspended card"; + } + + public FuryCharmRemoveCounterEffect(final FuryCharmRemoveCounterEffect effect) { + super(effect); + } + + @Override + public FuryCharmRemoveCounterEffect copy() { + return new FuryCharmRemoveCounterEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = game.getPermanent(this.getTargetPointer().getFirst(game, source)); + if (permanent != null) { + permanent.getCounters().removeCounter(CounterType.TIME, 2); + return true; + } + Card card = game.getCard(this.getTargetPointer().getFirst(game, source)); + if (card != null) { + card.getCounters().removeCounter(CounterType.TIME, 2); + return true; + } + return false; + } +} From d5a7f901307753756c1eae97ec795488d27c95c2 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 15:10:13 +0200 Subject: [PATCH 073/139] * Mogg War Marshal - Fixed the triggered ability. --- .../mage/sets/timespiral/MoggWarMarshal.java | 54 +++++++++++++++---- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/Mage.Sets/src/mage/sets/timespiral/MoggWarMarshal.java b/Mage.Sets/src/mage/sets/timespiral/MoggWarMarshal.java index f1055e6d857..6f02c577f7b 100644 --- a/Mage.Sets/src/mage/sets/timespiral/MoggWarMarshal.java +++ b/Mage.Sets/src/mage/sets/timespiral/MoggWarMarshal.java @@ -28,15 +28,18 @@ package mage.sets.timespiral; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.events.ZoneChangeEvent; import mage.game.permanent.token.GoblinToken; /** @@ -58,10 +61,7 @@ public class MoggWarMarshal extends CardImpl { // Echo {1}{R} this.addAbility(new EchoAbility("{1}{R}")); // When Mogg War Marshal enters the battlefield or dies, put a 1/1 red Goblin creature token onto the battlefield. - Ability enterAbility = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GoblinToken(), 1), false); - this.addAbility(enterAbility); - Ability diesAbility = new DiesTriggeredAbility(new CreateTokenEffect(new GoblinToken(), 1), false); - this.addAbility(diesAbility); + this.addAbility(new MoggWarMarshallTriggeredAbility()); } public MoggWarMarshal(final MoggWarMarshal card) { @@ -73,3 +73,39 @@ public class MoggWarMarshal extends CardImpl { return new MoggWarMarshal(this); } } + +class MoggWarMarshallTriggeredAbility extends TriggeredAbilityImpl { + + public MoggWarMarshallTriggeredAbility() { + super(Zone.BATTLEFIELD, new CreateTokenEffect(new GoblinToken(), 1), false); + } + + public MoggWarMarshallTriggeredAbility(final MoggWarMarshallTriggeredAbility ability) { + super(ability); + } + + @Override + public MoggWarMarshallTriggeredAbility copy() { + return new MoggWarMarshallTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD + && event.getTargetId().equals(getSourceId())) { + return true; + } + if (event.getType() == EventType.ZONE_CHANGE && event.getTargetId().equals(this.getSourceId())) { + ZoneChangeEvent zEvent = (ZoneChangeEvent)event; + if (zEvent.getFromZone().equals(Zone.BATTLEFIELD) && zEvent.getToZone().equals(Zone.GRAVEYARD)) { + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "When Mogg War Marshal enters the battlefield or dies, " + super.getRule(); + } +} From a83ccc4dec80ecc7f9181c7fb88cd9bb104eee36 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 15:10:51 +0200 Subject: [PATCH 074/139] * Suspend Ability - added parameter to set short rule text. --- .../src/mage/abilities/keyword/SuspendAbility.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Mage/src/mage/abilities/keyword/SuspendAbility.java b/Mage/src/mage/abilities/keyword/SuspendAbility.java index e9c57af4980..1242a128d7f 100644 --- a/Mage/src/mage/abilities/keyword/SuspendAbility.java +++ b/Mage/src/mage/abilities/keyword/SuspendAbility.java @@ -139,6 +139,7 @@ public class SuspendAbility extends ActivatedAbilityImpl { private String ruleText; private boolean gainedTemporary; + private boolean shortRule; /** * Gives the card the SuspendAbility @@ -147,14 +148,19 @@ public class SuspendAbility extends ActivatedAbilityImpl { * @param cost - null is used for temporary gained suspend ability * @param card - card that has the suspend ability */ - public SuspendAbility(int suspend, ManaCost cost, Card card) { + this(suspend, cost, card, false); + } + + public SuspendAbility(int suspend, ManaCost cost, Card card, boolean shortRule) { super(Zone.HAND, new SuspendExileEffect(suspend), cost); this.usesStack = false; + this.shortRule = shortRule; StringBuilder sb = new StringBuilder("Suspend "); if (cost != null) { - sb.append(suspend).append(" - ").append(cost.getText()) - .append(" (Rather than cast this card from your hand, pay ") + sb.append(suspend).append(" - ").append(cost.getText()); + if (!shortRule) { + sb.append(" (Rather than cast this card from your hand, pay ") .append(cost.getText()) .append(" and exile it with ") .append(suspend == 1 ? "a time counter":suspend + " time counters") @@ -162,6 +168,7 @@ public class SuspendAbility extends ActivatedAbilityImpl { .append(" At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.") .append(card.getCardType().contains(CardType.CREATURE)? " If you play it this way and it's a creature, it gains haste until you lose control of it.":"") .append(")"); + } } else { gainedTemporary = true; } @@ -183,6 +190,7 @@ public class SuspendAbility extends ActivatedAbilityImpl { super(ability); this.ruleText = ability.getRule(); this.gainedTemporary = ability.gainedTemporary; + this.shortRule = ability.shortRule; } @Override From 4977504eaf5c712bea70d35d4cc726ee1681b042 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 15:11:35 +0200 Subject: [PATCH 075/139] OpponentCastsSpellTriggeredAbility added Zone parameter. --- .../common/OpponentCastsSpellTriggeredAbility.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Mage/src/mage/abilities/common/OpponentCastsSpellTriggeredAbility.java b/Mage/src/mage/abilities/common/OpponentCastsSpellTriggeredAbility.java index c10a7b3d097..acf4015b5d9 100644 --- a/Mage/src/mage/abilities/common/OpponentCastsSpellTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/OpponentCastsSpellTriggeredAbility.java @@ -49,10 +49,15 @@ public class OpponentCastsSpellTriggeredAbility extends TriggeredAbilityImpl Date: Sun, 23 Jun 2013 15:12:05 +0200 Subject: [PATCH 076/139] Added possibility to use echo with costs that are no mana costs. --- .../mage/abilities/keyword/EchoAbility.java | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/Mage/src/mage/abilities/keyword/EchoAbility.java b/Mage/src/mage/abilities/keyword/EchoAbility.java index ccd2eee72ed..c4dc45d3e9b 100644 --- a/Mage/src/mage/abilities/keyword/EchoAbility.java +++ b/Mage/src/mage/abilities/keyword/EchoAbility.java @@ -29,14 +29,15 @@ package mage.abilities.keyword; import java.util.UUID; - -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.costs.Cost; +import mage.abilities.costs.Costs; +import mage.abilities.costs.CostsImpl; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; +import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; import mage.game.events.EntersTheBattlefieldEvent; @@ -52,18 +53,27 @@ public class EchoAbility extends TriggeredAbilityImpl { protected UUID lastController; protected boolean echoPaid; - protected String manaString; + protected Costs echoCosts = new CostsImpl(); + private boolean manaEcho = true; public EchoAbility(String manaString) { super(Zone.BATTLEFIELD, new EchoEffect(new ManaCostsImpl(manaString)), false); this.echoPaid = false; - this.manaString = manaString; + this.echoCosts.add(new ManaCostsImpl(manaString)); + } + + public EchoAbility(Cost echoCost) { + super(Zone.BATTLEFIELD, new EchoEffect(echoCost), false); + this.echoPaid = false; + this.echoCosts.add(echoCost); + this.manaEcho = false; } public EchoAbility(final EchoAbility ability) { super(ability); this.echoPaid = ability.echoPaid; - this.manaString = ability.manaString; + this.echoCosts = ability.echoCosts.copy(); + this.manaEcho = ability.manaEcho; } @Override @@ -98,7 +108,15 @@ public class EchoAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Echo " + manaString + " (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep," + getEffects().getText(modes.getMode()) + ")"; + StringBuilder sb = new StringBuilder("Echo"); + if (manaEcho) { + sb.append(" "); + } else { + sb.append("-"); + } + sb.append(echoCosts.getText()); + sb.append(" (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.)"); + return sb.toString(); } } @@ -137,7 +155,7 @@ class EchoEffect extends OneShotEffect { return new EchoEffect(this); } - @Override + @Override public String getText(Mode mode) { StringBuilder sb = new StringBuilder("sacrifice {this} unless you "); String costText = cost.getText(); @@ -145,8 +163,9 @@ class EchoEffect extends OneShotEffect { sb.append(costText.substring(0, 1).toLowerCase()); sb.append(costText.substring(1)); } - else + else { sb.append("pay ").append(costText); + } return sb.toString(); From 946d0bc206d9fe1e9565af9c155376d813228ff3 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 15:12:26 +0200 Subject: [PATCH 077/139] [MMA] Added 3 cards. --- .../mage/sets/futuresight/DeepcavernImp.java | 52 +++++++ .../sets/modernmasters/DeepcavernImp.java | 72 +++++++++ .../mage/sets/modernmasters/PardicDragon.java | 54 +++++++ .../sets/modernmasters/WarrenWeirding.java | 143 ++++++++++++++++++ .../mage/sets/morningtide/WarrenWeirding.java | 54 +++++++ .../mage/sets/timespiral/PardicDragon.java | 124 +++++++++++++++ 6 files changed, 499 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/futuresight/DeepcavernImp.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/DeepcavernImp.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/PardicDragon.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java create mode 100644 Mage.Sets/src/mage/sets/morningtide/WarrenWeirding.java create mode 100644 Mage.Sets/src/mage/sets/timespiral/PardicDragon.java diff --git a/Mage.Sets/src/mage/sets/futuresight/DeepcavernImp.java b/Mage.Sets/src/mage/sets/futuresight/DeepcavernImp.java new file mode 100644 index 00000000000..aca794c8cb2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/DeepcavernImp.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class DeepcavernImp extends mage.sets.modernmasters.DeepcavernImp { + + public DeepcavernImp(UUID ownerId) { + super(ownerId); + this.cardNumber = 83; + this.expansionSetCode = "FUT"; + } + + public DeepcavernImp(final DeepcavernImp card) { + super(card); + } + + @Override + public DeepcavernImp copy() { + return new DeepcavernImp(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/DeepcavernImp.java b/Mage.Sets/src/mage/sets/modernmasters/DeepcavernImp.java new file mode 100644 index 00000000000..0fb1dd54ce7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/DeepcavernImp.java @@ -0,0 +1,72 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class DeepcavernImp extends CardImpl { + + public DeepcavernImp(UUID ownerId) { + super(ownerId, 79, "Deepcavern Imp", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Imp"); + this.subtype.add("Rebel"); + + this.color.setBlack(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Haste + this.addAbility(HasteAbility.getInstance()); + // Echo-Discard a card. + this.addAbility(new EchoAbility(new DiscardCardCost())); + } + + public DeepcavernImp(final DeepcavernImp card) { + super(card); + } + + @Override + public DeepcavernImp copy() { + return new DeepcavernImp(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/PardicDragon.java b/Mage.Sets/src/mage/sets/modernmasters/PardicDragon.java new file mode 100644 index 00000000000..327b7e2e013 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/PardicDragon.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class PardicDragon extends mage.sets.timespiral.PardicDragon { + + public PardicDragon(UUID ownerId) { + super(ownerId); + this.cardNumber = 124; + this.expansionSetCode = "MMA"; + this.rarity = Rarity.UNCOMMON; + } + + public PardicDragon(final PardicDragon card) { + super(card); + } + + @Override + public PardicDragon copy() { + return new PardicDragon(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java b/Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java new file mode 100644 index 00000000000..3f3a6111c82 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java @@ -0,0 +1,143 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenTargetEffect; +import mage.abilities.effects.common.continious.GainAbilitySourceEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.permanent.ControllerIdPredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.Token; +import mage.players.Player; +import mage.target.TargetPlayer; +import mage.target.common.TargetControlledPermanent; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author LevelX2 + */ +public class WarrenWeirding extends CardImpl { + + public WarrenWeirding(UUID ownerId) { + super(ownerId, 104, "Warren Weirding", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{B}"); + this.expansionSetCode = "MMA"; + this.supertype.add("Tribal"); + this.subtype.add("Goblin"); + + this.color.setBlack(true); + + // Target player sacrifices a creature. If a Goblin is sacrificed this way, that player puts two 1/1 black Goblin Rogue creature tokens onto the battlefield, and those tokens gain haste until end of turn. + this.getSpellAbility().addEffect(new WarrenWeirdingEffect()); + this.getSpellAbility().addTarget(new TargetPlayer()); + } + + public WarrenWeirding(final WarrenWeirding card) { + super(card); + } + + @Override + public WarrenWeirding copy() { + return new WarrenWeirding(this); + } +} + +class WarrenWeirdingEffect extends OneShotEffect { + + WarrenWeirdingEffect ( ) { + super(Outcome.Sacrifice); + staticText = "Target player sacrifices a creature. If a Goblin is sacrificed this way, that player puts two 1/1 black Goblin Rogue creature tokens onto the battlefield, and those tokens gain haste until end of turn"; + } + + WarrenWeirdingEffect ( WarrenWeirdingEffect effect ) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); + + FilterControlledPermanent filter = new FilterControlledPermanent("creature"); + filter.add(new CardTypePredicate(CardType.CREATURE)); + filter.add(new ControllerIdPredicate(player.getId())); + TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, false); + target.setRequired(true); + + //A spell or ability could have removed the only legal target this player + //had, if thats the case this ability should fizzle. + if (target.canChoose(player.getId(), game)) { + player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); + Permanent permanent = game.getPermanent(target.getFirstTarget()); + if (permanent != null && permanent.getSubtype().contains("Goblin")) { + permanent.sacrifice(source.getSourceId(), game); + Effect effect = new CreateTokenTargetEffect(new WarrenWeirdingBlackGoblinRogueToken(), 2); + effect.setTargetPointer(new FixedTarget(player.getId())); + effect.apply(game, source); + } + return true; + } + return false; + } + + @Override + public WarrenWeirdingEffect copy() { + return new WarrenWeirdingEffect(this); + } + +} + +class WarrenWeirdingBlackGoblinRogueToken extends Token { + WarrenWeirdingBlackGoblinRogueToken() { + super("Goblin Rogue", "1/1 black Goblin Rogue creature tokens, and those tokens gain haste until end of turn"); + cardType.add(CardType.CREATURE); + color.setBlack(true); + subtype.add("Goblin"); + subtype.add("Rogue"); + power.setValue(1); + toughness.setValue(1); + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); + ability.setRuleVisible(false); + this.addAbility(ability); + } +} diff --git a/Mage.Sets/src/mage/sets/morningtide/WarrenWeirding.java b/Mage.Sets/src/mage/sets/morningtide/WarrenWeirding.java new file mode 100644 index 00000000000..1dfcfa4a3b1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/morningtide/WarrenWeirding.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.morningtide; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class WarrenWeirding extends mage.sets.modernmasters.WarrenWeirding { + + public WarrenWeirding(UUID ownerId) { + super(ownerId); + this.cardNumber = 82; + this.expansionSetCode = "MOR"; + this.rarity = Rarity.UNCOMMON; + } + + public WarrenWeirding(final WarrenWeirding card) { + super(card); + } + + @Override + public WarrenWeirding copy() { + return new WarrenWeirding(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timespiral/PardicDragon.java b/Mage.Sets/src/mage/sets/timespiral/PardicDragon.java new file mode 100644 index 00000000000..40838cbe2fa --- /dev/null +++ b/Mage.Sets/src/mage/sets/timespiral/PardicDragon.java @@ -0,0 +1,124 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.timespiral; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.OpponentCastsSpellTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.common.SuspendedCondition; +import mage.abilities.costs.mana.ColoredManaCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.SuspendAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.ColoredManaSymbol; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class PardicDragon extends CardImpl { + + public PardicDragon(UUID ownerId) { + super(ownerId, 173, "Pardic Dragon", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); + this.expansionSetCode = "TSP"; + this.subtype.add("Dragon"); + + this.color.setRed(true); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // {R}: Pardic Dragon gets +1/+0 until end of turn. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R))); + // Suspend 2-{R}{R} + this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{R}{R}"), this, true)); + // Whenever an opponent casts a spell, if Pardic Dragon is suspended, that player may put a time counter on Pardic Dragon. + this.addAbility(new ConditionalTriggeredAbility( + new OpponentCastsSpellTriggeredAbility(Zone.EXILED, new PardicDragonEffect(), new FilterCard(), false), + SuspendedCondition.getInstance(), + "Whenever an opponent casts a spell, if {this} is suspended, that player may put a time counter on Pardic Dragon." + )); + + } + + public PardicDragon(final PardicDragon card) { + super(card); + } + + @Override + public PardicDragon copy() { + return new PardicDragon(this); + } +} + +class PardicDragonEffect extends OneShotEffect { + + public PardicDragonEffect() { + super(Outcome.Benefit); + this.staticText = "that player may put a time counter on Pardic Dragon"; + } + + public PardicDragonEffect(final PardicDragonEffect effect) { + super(effect); + } + + @Override + public PardicDragonEffect copy() { + return new PardicDragonEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player opponent = game.getPlayer(getTargetPointer().getFirst(game, source)); + Card sourceCard = game.getCard(source.getSourceId()); + if (opponent != null && sourceCard != null) { + if (opponent.chooseUse(outcome, new StringBuilder("Put a time counter on ").append(sourceCard.getName()).append("?").toString(), game)) { + sourceCard.addCounters(CounterType.TIME.createInstance(), game); + } + return true; + } + return false; + } +} From 7f2a9250ba4a15c740b3f1b75c9211af8e3da612 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 18:04:31 +0200 Subject: [PATCH 078/139] Added DiscardHandControllerEffect. --- .../common/DiscardHandControllerEffect.java | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Mage/src/mage/abilities/effects/common/DiscardHandControllerEffect.java diff --git a/Mage/src/mage/abilities/effects/common/DiscardHandControllerEffect.java b/Mage/src/mage/abilities/effects/common/DiscardHandControllerEffect.java new file mode 100644 index 00000000000..5698b0004e6 --- /dev/null +++ b/Mage/src/mage/abilities/effects/common/DiscardHandControllerEffect.java @@ -0,0 +1,70 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.abilities.effects.common; + +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.constants.Outcome; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ + + +public class DiscardHandControllerEffect extends OneShotEffect { + + public DiscardHandControllerEffect() { + super(Outcome.Discard); + this.staticText = "Discard your hand"; + } + + public DiscardHandControllerEffect(final DiscardHandControllerEffect effect) { + super(effect); + } + + @Override + public DiscardHandControllerEffect copy() { + return new DiscardHandControllerEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + for (Card card : player.getHand().getCards(game)) { + player.discard(card, source, game); + } + return true; + } + return false; + } +} From fe1ca2ae88bf604e1499e28edb4d9920ae6587c3 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 23 Jun 2013 18:05:05 +0200 Subject: [PATCH 079/139] [MMA] Added 4 cards. --- .../sets/futuresight/PyromancersSwath.java | 52 +++++ .../mage/sets/futuresight/RiftElemental.java | 52 +++++ .../mage/sets/lorwyn/KithkinGreatheart.java | 52 +++++ .../mage/sets/modernmasters/AngelsGrace.java | 52 +++++ .../sets/modernmasters/KithkinGreatheart.java | 88 ++++++++ .../sets/modernmasters/PyromancersSwath.java | 121 ++++++++++ .../sets/modernmasters/RiftElemental.java | 207 ++++++++++++++++++ .../src/mage/sets/timespiral/AngelsGrace.java | 150 +++++++++++++ 8 files changed, 774 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/futuresight/PyromancersSwath.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/RiftElemental.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/KithkinGreatheart.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/AngelsGrace.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/KithkinGreatheart.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/PyromancersSwath.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/RiftElemental.java create mode 100644 Mage.Sets/src/mage/sets/timespiral/AngelsGrace.java diff --git a/Mage.Sets/src/mage/sets/futuresight/PyromancersSwath.java b/Mage.Sets/src/mage/sets/futuresight/PyromancersSwath.java new file mode 100644 index 00000000000..a57caa04aaf --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/PyromancersSwath.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class PyromancersSwath extends mage.sets.modernmasters.PyromancersSwath { + + public PyromancersSwath(UUID ownerId) { + super(ownerId); + this.cardNumber = 104; + this.expansionSetCode = "FUT"; + } + + public PyromancersSwath(final PyromancersSwath card) { + super(card); + } + + @Override + public PyromancersSwath copy() { + return new PyromancersSwath(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/RiftElemental.java b/Mage.Sets/src/mage/sets/futuresight/RiftElemental.java new file mode 100644 index 00000000000..ba67a6dacf1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/RiftElemental.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class RiftElemental extends mage.sets.modernmasters.RiftElemental { + + public RiftElemental(UUID ownerId) { + super(ownerId); + this.cardNumber = 106; + this.expansionSetCode = "FUT"; + } + + public RiftElemental(final RiftElemental card) { + super(card); + } + + @Override + public RiftElemental copy() { + return new RiftElemental(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/KithkinGreatheart.java b/Mage.Sets/src/mage/sets/lorwyn/KithkinGreatheart.java new file mode 100644 index 00000000000..1b038c613ca --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/KithkinGreatheart.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class KithkinGreatheart extends mage.sets.modernmasters.KithkinGreatheart { + + public KithkinGreatheart(UUID ownerId) { + super(ownerId); + this.cardNumber = 25; + this.expansionSetCode = "LRW"; + } + + public KithkinGreatheart(final KithkinGreatheart card) { + super(card); + } + + @Override + public KithkinGreatheart copy() { + return new KithkinGreatheart(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/AngelsGrace.java b/Mage.Sets/src/mage/sets/modernmasters/AngelsGrace.java new file mode 100644 index 00000000000..a9a4a58adea --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/AngelsGrace.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class AngelsGrace extends mage.sets.timespiral.AngelsGrace { + + public AngelsGrace(UUID ownerId) { + super(ownerId); + this.cardNumber = 4; + this.expansionSetCode = "MMA"; + } + + public AngelsGrace(final AngelsGrace card) { + super(card); + } + + @Override + public AngelsGrace copy() { + return new AngelsGrace(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/KithkinGreatheart.java b/Mage.Sets/src/mage/sets/modernmasters/KithkinGreatheart.java new file mode 100644 index 00000000000..b270517da07 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/KithkinGreatheart.java @@ -0,0 +1,88 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.effects.common.continious.GainAbilitySourceEffect; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; + +/** + * + * @author LevelX2 + */ +public class KithkinGreatheart extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Giant"); + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + filter.add(new SubtypePredicate("Giant")); + } + + public KithkinGreatheart(UUID ownerId) { + super(ownerId, 21, "Kithkin Greatheart", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Kithkin"); + this.subtype.add("Soldier"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // As long as you control a Giant, Kithkin Greatheart gets +1/+1 and has first strike. + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect( + new BoostSourceEffect(1,1, Duration.WhileOnBattlefield), + new ControlsPermanentCondition(filter), + "As long as you control a Giant, Kithkin Greatheart gets +1/+1 and has first strike")); + ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance())); + this.addAbility(ability); + } + + public KithkinGreatheart(final KithkinGreatheart card) { + super(card); + } + + @Override + public KithkinGreatheart copy() { + return new KithkinGreatheart(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/PyromancersSwath.java b/Mage.Sets/src/mage/sets/modernmasters/PyromancersSwath.java new file mode 100644 index 00000000000..a1d1805084e --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/PyromancersSwath.java @@ -0,0 +1,121 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.OnEventTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.effects.common.DiscardHandControllerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.stack.Spell; + +/** + * + * @author LevelX2 + */ +public class PyromancersSwath extends CardImpl { + + public PyromancersSwath(UUID ownerId) { + super(ownerId, 125, "Pyromancer's Swath", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); + this.expansionSetCode = "MMA"; + + this.color.setRed(true); + + // If an instant or sorcery source you control would deal damage to a creature or player, it deals that much damage plus 2 to that creature or player instead. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PyromancersSwathReplacementEffect())); + + // At the beginning of each end step, discard your hand. + this.addAbility(new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, + "beginning of each end step", false, new DiscardHandControllerEffect())); + + } + + public PyromancersSwath(final PyromancersSwath card) { + super(card); + } + + @Override + public PyromancersSwath copy() { + return new PyromancersSwath(this); + } +} + +class PyromancersSwathReplacementEffect extends ReplacementEffectImpl { + + PyromancersSwathReplacementEffect() { + super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "If an instant or sorcery source you control would deal damage to a creature or player, it deals that much damage plus 2 to that creature or player instead"; + } + + PyromancersSwathReplacementEffect(final PyromancersSwathReplacementEffect effect) { + super(effect); + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event.getType().equals(GameEvent.EventType.DAMAGE_PLAYER) + || event.getType().equals(GameEvent.EventType.DAMAGE_CREATURE)) { + MageObject object = game.getObject(event.getSourceId()); + if (object != null && object instanceof Spell) { + if (((Spell) object).getControllerId().equals(source.getControllerId()) + && (object.getCardType().contains(CardType.INSTANT) + || object.getCardType().contains(CardType.SORCERY))){ + return true; + } + } + } + return false; + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + event.setAmount(event.getAmount() + 2); + return false; + } + + @Override + public PyromancersSwathReplacementEffect copy() { + return new PyromancersSwathReplacementEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/RiftElemental.java b/Mage.Sets/src/mage/sets/modernmasters/RiftElemental.java new file mode 100644 index 00000000000..d4deb0375ab --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/RiftElemental.java @@ -0,0 +1,207 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.ActivatedAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.CostImpl; +import mage.abilities.costs.common.RemoveCounterCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.keyword.SuspendAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.counters.Counter; +import mage.counters.CounterType; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.filter.predicate.other.OwnerPredicate; +import mage.filter.predicate.permanent.CounterPredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetCard; +import mage.target.common.TargetCardInExile; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class RiftElemental extends CardImpl { + + private static final FilterCard filter = new FilterCard("suspended card you own"); + static { + filter.add(new CounterPredicate(CounterType.TIME)); + filter.add(new AbilityPredicate(SuspendAbility.class)); + filter.add(new OwnerPredicate(TargetController.YOU)); + } + + public RiftElemental(UUID ownerId) { + super(ownerId, 127, "Rift Elemental", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{R}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Elemental"); + + this.color.setRed(true); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {1}{R}, Remove a time counter from a permanent you control or suspended card you own: Rift Elemental gets +2/+0 until end of turn. + Choice targetChoice = new ChoiceImpl(); + targetChoice.setMessage("Choose what to target"); + targetChoice.getChoices().add("Permanent"); + targetChoice.getChoices().add("Suspended Card"); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,0,Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")); + ability.addChoice(targetChoice); + ability.addCost(new RemoveCounterFromCardCost(new TargetCardInExile(1,1,filter, null, true), CounterType.TIME)); + this.addAbility(ability); + } + + @Override + public void adjustCosts(Ability ability, Game game) { + if (ability instanceof ActivatedAbility && !ability.getChoices().isEmpty()) { + ability.getCosts().clear(); + Choice targetChoice = ability.getChoices().get(0); + if (targetChoice.getChoice().equals("Permanent")) { + ability.addCost(new RemoveCounterCost(new TargetControlledCreaturePermanent(), CounterType.TIME)); + } + if (targetChoice.getChoice().equals("Suspended Card")) { + ability.addCost(new RemoveCounterFromCardCost(new TargetCardInExile(1,1,filter, null, true), CounterType.TIME)); + } + } + } + + public RiftElemental(final RiftElemental card) { + super(card); + } + + @Override + public RiftElemental copy() { + return new RiftElemental(this); + } +} + +class RemoveCounterFromCardCost extends CostImpl { + + private TargetCard target; + private String name; + private CounterType counterTypeToRemove; + + public RemoveCounterFromCardCost(TargetCard target) { + this(target, null); + } + + public RemoveCounterFromCardCost(TargetCard target, CounterType counterTypeToRemove) { + this.target = target; + this.counterTypeToRemove = counterTypeToRemove; + text = setText(); + } + + public RemoveCounterFromCardCost(final RemoveCounterFromCardCost cost) { + super(cost); + this.target = cost.target.copy(); + this.name = cost.name; + } + + @Override + public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana) { + paid = false; + Player controller = game.getPlayer(controllerId); + if (target.choose(Outcome.UnboostCreature, controllerId, sourceId, game)) { + for (UUID targetId: (List)target.getTargets()) { + Card card = game.getCard(targetId); + if (card != null) { + if (card.getCounters().size() > 0 && (counterTypeToRemove == null || card.getCounters().containsKey(counterTypeToRemove))) { + String counterName = null; + if (counterTypeToRemove != null) { + counterName = counterTypeToRemove.getName(); + } else { + if (card.getCounters().size() > 1 && counterTypeToRemove == null) { + Choice choice = new ChoiceImpl(true); + Set choices = new HashSet(); + for (Counter counter : card.getCounters().values()) { + if (card.getCounters().getCount(counter.getName()) > 0) { + choices.add(counter.getName()); + } + } + choice.setChoices(choices); + choice.setMessage("Choose a counter to remove from " + card.getName()); + controller.choose(Outcome.UnboostCreature, choice, game); + counterName = choice.getChoice(); + } else { + for (Counter counter : card.getCounters().values()) { + if (counter.getCount() > 0) { + counterName = counter.getName(); + } + } + } + } + if (counterName != null) { + card.removeCounters(counterName, 1, game); + if (card.getCounters().getCount(counterName) == 0 ){ + card.getCounters().removeCounter(counterName); + } + this.paid = true; + game.informPlayers(new StringBuilder(controller.getName()).append(" removes a ").append(counterName).append(" counter from ").append(card.getName()).toString()); + } + } + } + } + } + target.clearChosen(); + return paid; + } + + @Override + public boolean canPay(UUID sourceId, UUID controllerId, Game game) { + return target.canChoose(controllerId, game); + } + + private String setText() { + return "Remove a time counter from a permanent you control or suspended card you own"; + } + + @Override + public RemoveCounterFromCardCost copy() { + return new RemoveCounterFromCardCost(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timespiral/AngelsGrace.java b/Mage.Sets/src/mage/sets/timespiral/AngelsGrace.java new file mode 100644 index 00000000000..3600a04a191 --- /dev/null +++ b/Mage.Sets/src/mage/sets/timespiral/AngelsGrace.java @@ -0,0 +1,150 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.timespiral; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.keyword.SplitSecondAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class AngelsGrace extends CardImpl { + + public AngelsGrace(UUID ownerId) { + super(ownerId, 3, "Angel's Grace", Rarity.RARE, new CardType[]{CardType.INSTANT}, "{W}"); + this.expansionSetCode = "TSP"; + + this.color.setWhite(true); + + // Split second + this.addAbility(SplitSecondAbility.getInstance()); + + // You can't lose the game this turn and your opponents can't win the game this turn. Until end of turn, damage that would reduce your life total to less than 1 reduces it to 1 instead. + this.getSpellAbility().addEffect(new AngelsGraceEffect()); + this.getSpellAbility().addEffect(new AngelsGraceReplacementEffect()); + } + + public AngelsGrace(final AngelsGrace card) { + super(card); + } + + @Override + public AngelsGrace copy() { + return new AngelsGrace(this); + } +} + +class AngelsGraceEffect extends ReplacementEffectImpl { + + public AngelsGraceEffect() { + super(Duration.EndOfTurn, Outcome.Benefit); + staticText = "You can't lose the game this turn and your opponents can't win the game this turn"; + } + + public AngelsGraceEffect(final AngelsGraceEffect effect) { + super(effect); + } + + @Override + public AngelsGraceEffect copy() { + return new AngelsGraceEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if ((event.getType() == EventType.WINS && game.getOpponents(source.getControllerId()).contains(event.getPlayerId())) || + (event.getType() == EventType.LOSES && event.getPlayerId().equals(source.getControllerId()))) { + return true; + } + return false; + } + +} + +class AngelsGraceReplacementEffect extends ReplacementEffectImpl { + + public AngelsGraceReplacementEffect() { + super(Duration.EndOfTurn, Outcome.Benefit); + staticText = "Until end of turn, damage that would reduce your life total to less than 1 reduces it to 1 instead"; + } + + public AngelsGraceReplacementEffect(final AngelsGraceReplacementEffect effect) { + super(effect); + } + + @Override + public AngelsGraceReplacementEffect copy() { + return new AngelsGraceReplacementEffect(this); + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event.getType().equals(GameEvent.EventType.DAMAGE_CAUSES_LIFE_LOSS) + && event.getPlayerId().equals(source.getControllerId())) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null + && (controller.getLife() - event.getAmount()) < 1 ) { + event.setAmount(controller.getLife() - 1); + } + } + return false; + } + + @Override + public boolean apply(Game game, Ability source) { + return false; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + return false; + } + +} From 9b6db419236e0406c2aef546eb3c3f0cf7666499 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 24 Jun 2013 00:08:53 +0200 Subject: [PATCH 080/139] * Guttersnipe - Fixed a bug that the triggered damage to opponents did not trigger ability of Curiosity if it enchanted Guttersnipe. --- .../mage/abilities/effects/common/DamagePlayersEffect.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java b/Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java index 365b6381b9f..9fd3fe37060 100644 --- a/Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java +++ b/Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java @@ -78,7 +78,7 @@ public class DamagePlayersEffect extends OneShotEffect { for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) { Player player = game.getPlayer(playerId); if (player != null) { - player.damage(amount.calculate(game, source), source.getId(), game, false, true); + player.damage(amount.calculate(game, source), source.getSourceId(), game, false, true); } } break; @@ -86,7 +86,7 @@ public class DamagePlayersEffect extends OneShotEffect { for (UUID playerId: game.getOpponents(source.getControllerId())) { Player player = game.getPlayer(playerId); if (player != null) { - player.damage(amount.calculate(game, source), source.getId(), game, false, true); + player.damage(amount.calculate(game, source), source.getSourceId(), game, false, true); } } break; From ba7bf794f5048bcad66dad36491eeb15f7f3d48a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 24 Jun 2013 16:33:20 +0200 Subject: [PATCH 081/139] Some more Modern sample decks. --- .../Adam Moore's Beck and Affinity.txt.dck | 17 +++++++++++++ .../Daniel Watson's Zhur-Taawin.txt.dck | 17 +++++++++++++ .../DailyMTG/Elias Rudin's RUG Vial.dck | 24 +++++++++++++++++++ .../Liam Puknys's Possibility Brand.dck | 19 +++++++++++++++ .../Trevor Cashmore's Just Kiln Time.dck | 18 ++++++++++++++ 5 files changed, 95 insertions(+) create mode 100644 Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Adam Moore's Beck and Affinity.txt.dck create mode 100644 Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Daniel Watson's Zhur-Taawin.txt.dck create mode 100644 Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Elias Rudin's RUG Vial.dck create mode 100644 Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Liam Puknys's Possibility Brand.dck create mode 100644 Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Trevor Cashmore's Just Kiln Time.dck diff --git a/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Adam Moore's Beck and Affinity.txt.dck b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Adam Moore's Beck and Affinity.txt.dck new file mode 100644 index 00000000000..720432a7664 --- /dev/null +++ b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Adam Moore's Beck and Affinity.txt.dck @@ -0,0 +1,17 @@ +NAME:Adam Moore's Beck and Affinity +4 [DDF:72] Darksteel Citadel +4 [GTC:240] Breeding Pool +4 [MBS:145] Inkmoth Nexus +4 [NPH:76] Vault Skirge +4 [MMA:207] Frogmite +4 [MMA:223] Glimmervoid +3 [LRW:261] Springleaf Drum +4 [M11:211] Ornithopter +3 [SOM:179] Mox Opal +2 [SOM:122] Genesis Wave +4 [MMA:209] Myr Enforcer +4 [DGM:123] Beck // Call +4 [DDF:71] Thoughtcast +4 [SOM:174] Memnite +4 [MBS:131] Signal Pest +4 [DDF:44] Steel Overseer diff --git a/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Daniel Watson's Zhur-Taawin.txt.dck b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Daniel Watson's Zhur-Taawin.txt.dck new file mode 100644 index 00000000000..3c928fc7432 --- /dev/null +++ b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Daniel Watson's Zhur-Taawin.txt.dck @@ -0,0 +1,17 @@ +NAME:Daniel Watson's Zhur-Taawin +4 [MMA:59] Pestermite +3 [SOM:225] Copperline Gorge +2 [NPH:159] Spellskite +4 [ROE:165] Splinter Twin +4 [M12:63] Mana Leak +4 [NPH:33] Deceiver Exarch +4 [CHK:234] Orochi Leafcaller +4 [GTC:240] Breeding Pool +4 [MMA:56] Pact of Negation +4 [DGM:120] Zhur-Taa Druid +4 [GTC:247] Stomping Ground +4 [ZEN:229] Verdant Catacombs +3 [MMA:120] Kiki-Jiki, Mirror Breaker +4 [SOK:38] Freed from the Real +4 [RTR:247] Steam Vents +4 [ZEN:220] Misty Rainforest diff --git a/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Elias Rudin's RUG Vial.dck b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Elias Rudin's RUG Vial.dck new file mode 100644 index 00000000000..54ed5861f5d --- /dev/null +++ b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Elias Rudin's RUG Vial.dck @@ -0,0 +1,24 @@ +NAME:Elias Rudin's RUG Vial +4 [MMA:166] Tarmogoyf +4 [SOM:225] Copperline Gorge +1 [ZEN:67] Spell Pierce +4 [ZEN:223] Scalding Tarn +4 [ISD:78] Snapcaster Mage +3 [EVE:177] Flooded Grove +2 [M12:63] Mana Leak +1 [GTC:240] Breeding Pool +1 [MMA:64] Spell Snare +4 [M11:149] Lightning Bolt +3 [MMA:144] Eternal Witness +1 [GTC:247] Stomping Ground +1 [RTR:265] Mountain +3 [RAV:63] Remand +3 [DKA:140] Huntmaster of the Fells +1 [MMA:190] Kitchen Finks +4 [MMA:197] AEther Vial +1 [RTR:247] Steam Vents +3 [ZEN:220] Misty Rainforest +4 [RTR:255] Island +4 [MMA:38] Cryptic Command +3 [MMA:70] Vendilion Clique +1 [RTR:270] Forest diff --git a/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Liam Puknys's Possibility Brand.dck b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Liam Puknys's Possibility Brand.dck new file mode 100644 index 00000000000..844e91ad7af --- /dev/null +++ b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Liam Puknys's Possibility Brand.dck @@ -0,0 +1,19 @@ +NAME:Liam Puknys's Possibility Brand +1 [ROE:4] Emrakul, the Aeons Torn +2 [AVR:106] Griselbrand +4 [ZEN:223] Scalding Tarn +4 [GTC:240] Breeding Pool +4 [GTC:247] Stomping Ground +4 [DKA:87] Faithless Looting +2 [ROE:6] Kozilek, Butcher of Truth +4 [RTR:247] Steam Vents +4 [M11:211] Ornithopter +4 [DGM:34] Possibility Storm +4 [WWK:37] Selective Memory +1 [M13:63] Omniscience +4 [ZEN:220] Misty Rainforest +4 [M13:160] Arbor Elf +4 [DGM:123] Beck // Call +4 [ZEN:211] Arid Mesa +2 [CMD:1] Artisan of Kozilek +4 [SOM:174] Memnite diff --git a/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Trevor Cashmore's Just Kiln Time.dck b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Trevor Cashmore's Just Kiln Time.dck new file mode 100644 index 00000000000..944e92278e0 --- /dev/null +++ b/Mage.Client/release/sample-decks/2013/Modern/DailyMTG/Trevor Cashmore's Just Kiln Time.dck @@ -0,0 +1,18 @@ +NAME:Trevor Cashmore's Just Kiln Time +4 [ISD:248] Sulfur Falls +2 [ZEN:67] Spell Pierce +4 [ZEN:223] Scalding Tarn +4 [ROE:153] Kiln Fiend +4 [SOM:82] Assault Strobe +3 [5DN:36] Serum Visions +2 [DKA:27] Artful Dodge +4 [NPH:2] Apostle's Blessing +4 [ROE:60] Distortion Strike +4 [MMA:191] Manamorphose +2 [RTR:265] Mountain +4 [RTR:247] Steam Vents +4 [NPH:116] Mutagenic Growth +4 [RTR:255] Island +3 [9ED:99] Sleight of Hand +4 [DGM:87] Nivix Cyclops +4 [NPH:35] Gitaxian Probe From e1ae922214aab05219ed3040da76f35dabc0c165 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 24 Jun 2013 17:09:21 +0200 Subject: [PATCH 082/139] Some match time options added. Set the deafult macth time to 25 minutes per player. --- .../main/java/mage/client/dialog/NewTableDialog.form | 9 ++++++--- .../main/java/mage/client/dialog/NewTableDialog.java | 11 +++++++---- Mage/src/mage/constants/MatchTimeLimit.java | 5 +++++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form index cec7d3c43e3..ff9e1bb9b35 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.form @@ -49,7 +49,7 @@ - + @@ -173,7 +173,7 @@ - + @@ -187,7 +187,7 @@ - + @@ -214,6 +214,7 @@ + @@ -231,6 +232,7 @@ + @@ -284,6 +286,7 @@ + diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java index 8f557402962..0fd129f5f72 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTableDialog.java @@ -119,6 +119,7 @@ public class NewTableDialog extends MageDialog { lbDeckType.setText("Deck Type:"); lbTimeLimit.setText("Time Limit:"); + lbTimeLimit.setToolTipText("The activie time a player may use to finish the match. If the time runs out, the player looses the current game."); lblGameType.setText("Game Type:"); @@ -129,6 +130,7 @@ public class NewTableDialog extends MageDialog { }); lblFreeMulligans.setText("Free Mulligans:"); + lblFreeMulligans.setToolTipText("The number of mulligans a player can use without decreasing the number of drawn cards."); lblNumPlayers.setLabelFor(spnNumPlayers); lblNumPlayers.setText("Players"); @@ -147,6 +149,7 @@ public class NewTableDialog extends MageDialog { lblNumWins.setLabelFor(spnNumWins); lblNumWins.setText("Wins"); + lblNumWins.setToolTipText("How many games has a player to win to win the match."); spnNumWins.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { @@ -202,7 +205,7 @@ public class NewTableDialog extends MageDialog { .addComponent(spnFreeMulligans, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addGap(0, 0, Short.MAX_VALUE) + .addGap(0, 9, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, 546, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup() @@ -297,7 +300,7 @@ public class NewTableDialog extends MageDialog { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pnlOtherPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE) + .addComponent(pnlOtherPlayers, javax.swing.GroupLayout.DEFAULT_SIZE, 181, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -309,7 +312,7 @@ public class NewTableDialog extends MageDialog { .addGroup(layout.createSequentialGroup() .addGap(201, 201, 201) .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(244, Short.MAX_VALUE))) + .addContainerGap(252, Short.MAX_VALUE))) ); pack(); @@ -481,7 +484,7 @@ public class NewTableDialog extends MageDialog { break; } } - int timeLimit = Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_TIME_LIMIT, "0")); + int timeLimit = Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_NEW_TABLE_TIME_LIMIT, "1500")); for (MatchTimeLimit mtl :MatchTimeLimit.values()) { if (mtl.getTimeLimit() == timeLimit) { this.cbTimeLimit.setSelectedItem(mtl); diff --git a/Mage/src/mage/constants/MatchTimeLimit.java b/Mage/src/mage/constants/MatchTimeLimit.java index 6e48356edb1..40e8444f90a 100644 --- a/Mage/src/mage/constants/MatchTimeLimit.java +++ b/Mage/src/mage/constants/MatchTimeLimit.java @@ -1,12 +1,17 @@ package mage.constants; /** + * The time per player to have activity in a match. + * If time runs out for a player, he looses the currently running game of a match. * * @author LevelX2 */ public enum MatchTimeLimit { NONE(0,"None"), + MIN__10(600, "10 Minutes"), + MIN__15(900, "15 Minutes"), MIN__20(1200, "20 Minutes"), + MIN__25(1500, "25 Minutes"), MIN__30(1800, "30 Minutes"), MIN__40(2400, "40 Minutes"), MIN__50(3000, "50 Minutes"), From 20db0b8c9cb7a3a4e98156e818f39e2088330fb9 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 24 Jun 2013 21:33:19 +0200 Subject: [PATCH 083/139] * Added Prowl ability. --- .../condition/common/ProwlCondition.java | 70 ++++++ .../mage/abilities/keyword/ProwlAbility.java | 199 ++++++++++++++++++ .../mage/watchers/common/ProwlWatcher.java | 97 +++++++++ 3 files changed, 366 insertions(+) create mode 100644 Mage/src/mage/abilities/condition/common/ProwlCondition.java create mode 100644 Mage/src/mage/abilities/keyword/ProwlAbility.java create mode 100644 Mage/src/mage/watchers/common/ProwlWatcher.java diff --git a/Mage/src/mage/abilities/condition/common/ProwlCondition.java b/Mage/src/mage/abilities/condition/common/ProwlCondition.java new file mode 100644 index 00000000000..86006f1a5d3 --- /dev/null +++ b/Mage/src/mage/abilities/condition/common/ProwlCondition.java @@ -0,0 +1,70 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.abilities.condition.common; + +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.abilities.keyword.ProwlAbility; +import mage.cards.Card; +import mage.game.Game; + +/** + * Checks if a the spell was cast with the alternate prowl costs + * + * @author LevelX2 + */ + +public class ProwlCondition implements Condition { + + private static ProwlCondition fInstance = null; + + private ProwlCondition() {} + + public static Condition getInstance() { + if (fInstance == null) { + fInstance = new ProwlCondition(); + } + return fInstance; + } + + @Override + public boolean apply(Game game, Ability source) { + Card card = game.getCard(source.getSourceId()); + if (card != null) { + for (Ability ability: card.getAbilities()) { + if (ability instanceof ProwlAbility) { + if(((ProwlAbility) ability).isActivated()) { + return true; + } + } + } + } + return false; + } +} diff --git a/Mage/src/mage/abilities/keyword/ProwlAbility.java b/Mage/src/mage/abilities/keyword/ProwlAbility.java new file mode 100644 index 00000000000..4ca59aa9f30 --- /dev/null +++ b/Mage/src/mage/abilities/keyword/ProwlAbility.java @@ -0,0 +1,199 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.abilities.keyword; + +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.StaticAbility; +import mage.abilities.costs.AlternativeCost2; +import mage.abilities.costs.AlternativeCost2Impl; +import mage.abilities.costs.AlternativeSourceCosts; +import mage.abilities.costs.Cost; +import mage.abilities.costs.Costs; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.cards.Card; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; +import mage.watchers.common.ProwlWatcher; + +/** + * 702.74. Prowl # + * + * 702.74a Prowl is a static ability that functions on the stack. "Prowl [cost]" means + * "You may pay [cost] rather than pay this spell's mana cost if a player was dealt combat + * damage this turn by a source that, at the time it dealt that damage, was under your + * control and had any of this spell's creature types." Paying a spell's prowl cost follows + * the rules for paying alternative costs in rules 601.2b and 601.2e-g + * + * @author LevelX2 + */ + +public class ProwlAbility extends StaticAbility implements AlternativeSourceCosts { + + private static final String PROWL_KEYWORD = "Prowl"; + private List prowlCosts = new LinkedList(); + private String reminderText; + + public ProwlAbility(Card card, String manaString) { + super(Zone.STACK, null); + setRuleAtTheTop(true); + name = PROWL_KEYWORD; + setReminderText(card); + this.addProwlCost(manaString); + card.addWatcher(new ProwlWatcher()); + + } + + public ProwlAbility(final ProwlAbility ability) { + super(ability); + this.prowlCosts.addAll(ability.prowlCosts); + this.reminderText = ability.reminderText; + } + + @Override + public ProwlAbility copy() { + return new ProwlAbility(this); + } + + public final AlternativeCost2 addProwlCost(String manaString) { + AlternativeCost2 prowlCost = new AlternativeCost2Impl(PROWL_KEYWORD, reminderText, new ManaCostsImpl(manaString)); + prowlCosts.add(prowlCost); + return prowlCost; + } + + public void resetProwl() { + for (AlternativeCost2 cost: prowlCosts) { + cost.reset(); + } + } + @Override + public boolean isActivated() { + for (AlternativeCost2 cost: prowlCosts) { + if(cost.isActivated()) { + return true; + } + } + return false; + } + + @Override + public boolean askToActivateAlternativeCosts(Ability ability, Game game) { + if (ability instanceof SpellAbility) { + Player player = game.getPlayer(controllerId); + ProwlWatcher prowlWatcher = (ProwlWatcher) game.getState().getWatchers().get("Prowl"); + Card card = game.getCard(ability.getSourceId()); + if (player == null || prowlWatcher == null || card == null) { + throw new IllegalArgumentException("Params can't be null"); + } + boolean canProwl = false; + if (prowlWatcher.getDamagingSubtypes(ability.getControllerId()) != null) { + for (String subtype : prowlWatcher.getDamagingSubtypes(ability.getControllerId())) { + if (card.getSubtype().contains(subtype)) { + canProwl = true; + break; + } + } + } + if (canProwl) { + this.resetProwl(); + for (AlternativeCost2 prowlCost: prowlCosts) { + if (prowlCost.canPay(sourceId, controllerId, game) && + player.chooseUse(Outcome.Benefit, new StringBuilder("Cast for ").append(PROWL_KEYWORD).append(" cost ").append(prowlCost.getText(true)).append(" ?").toString(), game)) { + prowlCost.activate(); + ability.getManaCostsToPay().clear(); + ability.getCosts().clear(); + for (Iterator it = ((Costs) prowlCost).iterator(); it.hasNext();) { + Cost cost = (Cost) it.next(); + if (cost instanceof ManaCostsImpl) { + ability.getManaCostsToPay().add((ManaCostsImpl) cost.copy()); + } else { + ability.getCosts().add(cost.copy()); + } + } + } + } + } + } + return isActivated(); + } + + @Override + public String getRule() { + StringBuilder sb = new StringBuilder(); + int numberCosts = 0; + String remarkText = ""; + for (AlternativeCost2 prowlCost: prowlCosts) { + if (numberCosts == 0) { + sb.append(prowlCost.getText(false)); + remarkText = prowlCost.getReminderText(); + } else { + sb.append(" and/or ").append(prowlCost.getText(true)); + } + ++numberCosts; + } + if (numberCosts == 1) { + sb.append(" ").append(remarkText); + } + + return sb.toString(); + } + + @Override + public String getCastMessageSuffix() { + StringBuilder sb = new StringBuilder(); + int position = 0; + for (AlternativeCost2 cost : prowlCosts) { + if (cost.isActivated()) { + sb.append(cost.getCastSuffixMessage(position)); + ++position; + } + } + return sb.toString(); + } + + private void setReminderText(Card card) { + StringBuilder sb = new StringBuilder("(You may cast this for its prowl cost if you dealt combat damage to a player this turn with a "); + int i = 0; + for (String subtype: card.getSubtype()) { + i++; + sb.append(subtype); + if (card.getSupertype().size() > 1 && i < card.getSupertype().size()) { + sb.append(" or "); + } + } + //private static final String REMINDER_TEXT = "{subtypes}.)"; + + reminderText = sb.toString(); + } +} diff --git a/Mage/src/mage/watchers/common/ProwlWatcher.java b/Mage/src/mage/watchers/common/ProwlWatcher.java new file mode 100644 index 00000000000..0f8fa533e23 --- /dev/null +++ b/Mage/src/mage/watchers/common/ProwlWatcher.java @@ -0,0 +1,97 @@ +/* + * Copyright 2011 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.watchers.common; + +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.UUID; +import mage.constants.WatcherScope; +import mage.game.Game; +import mage.game.events.DamagedPlayerEvent; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; +import mage.watchers.WatcherImpl; + +/** + * Watcher stores with which creature subtypes a player made combat damage to + * other players during a turn. + * + * @author LevelX + */ +public class ProwlWatcher extends WatcherImpl { + + private Map> damagingSubtypes = new HashMap>(); + + public ProwlWatcher() { + super("Prowl", WatcherScope.GAME); + } + + public ProwlWatcher(final ProwlWatcher watcher) { + super(watcher); + for (Entry> entry : watcher.damagingSubtypes.entrySet()) { + damagingSubtypes.put(entry.getKey(), entry.getValue()); + } + } + + @Override + public ProwlWatcher copy() { + return new ProwlWatcher(this); + } + + @Override + public void watch(GameEvent event, Game game) { + if (event.getType() == EventType.DAMAGED_PLAYER) { + DamagedPlayerEvent dEvent = (DamagedPlayerEvent) event; + if (dEvent.isCombatDamage()) { + Permanent creature = game.getPermanent(dEvent.getSourceId()); + if (creature != null) { + Set subtypes = damagingSubtypes.get(creature.getControllerId()); + if (subtypes == null) { + subtypes = new LinkedHashSet(); + } + subtypes.addAll(creature.getSubtype()); + damagingSubtypes.put(creature.getControllerId(), subtypes); + } + } + } + } + + @Override + public void reset() { + super.reset(); + damagingSubtypes.clear(); + } + + public Set getDamagingSubtypes(UUID playerId) { + return damagingSubtypes.get(playerId); + } +} From b392cd2e3b6907fddceb4f70ab2b0e7180f755f7 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 24 Jun 2013 21:34:27 +0200 Subject: [PATCH 084/139] Added 4 cards with Prowl ability. --- .../sets/modernmasters/AuntiesSnitch.java | 121 +++++++++++++++ .../mage/sets/modernmasters/EarwigSquad.java | 128 ++++++++++++++++ .../sets/modernmasters/LatchkeyFaerie.java | 77 ++++++++++ .../mage/sets/morningtide/AuntiesSnitch.java | 54 +++++++ .../mage/sets/morningtide/EarwigSquad.java | 52 +++++++ .../mage/sets/morningtide/LatchkeyFaerie.java | 52 +++++++ .../mage/sets/morningtide/NogginWhack.java | 143 ++++++++++++++++++ 7 files changed, 627 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/modernmasters/AuntiesSnitch.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/LatchkeyFaerie.java create mode 100644 Mage.Sets/src/mage/sets/morningtide/AuntiesSnitch.java create mode 100644 Mage.Sets/src/mage/sets/morningtide/EarwigSquad.java create mode 100644 Mage.Sets/src/mage/sets/morningtide/LatchkeyFaerie.java create mode 100644 Mage.Sets/src/mage/sets/morningtide/NogginWhack.java diff --git a/Mage.Sets/src/mage/sets/modernmasters/AuntiesSnitch.java b/Mage.Sets/src/mage/sets/modernmasters/AuntiesSnitch.java new file mode 100644 index 00000000000..d4c31390768 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/AuntiesSnitch.java @@ -0,0 +1,121 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.CantBlockAbility; +import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.abilities.keyword.ProwlAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.events.DamagedPlayerEvent; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; + +/** + * + * @author LevelX2 + */ +public class AuntiesSnitch extends CardImpl { + + public AuntiesSnitch(UUID ownerId) { + super(ownerId, 72, "Auntie's Snitch", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Goblin"); + this.subtype.add("Rogue"); + + this.color.setBlack(true); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // Auntie's Snitch can't block. + this.addAbility(new CantBlockAbility()); + // Prowl {1}{B} + this.addAbility(new ProwlAbility(this, "{1}{B}")); + // Whenever a Goblin or Rogue you control deals combat damage to a player, if Auntie's Snitch is in your graveyard, you may return Auntie's Snitch to your hand. + this.addAbility(new AuntiesSnitchTriggeredAbility()); + } + + public AuntiesSnitch(final AuntiesSnitch card) { + super(card); + } + + @Override + public AuntiesSnitch copy() { + return new AuntiesSnitch(this); + } +} + +class AuntiesSnitchTriggeredAbility extends TriggeredAbilityImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Goblin or Rogue you control"); + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + filter.add(Predicates.or(new SubtypePredicate("Goblin"), new SubtypePredicate("Rogue"))); + } + + public AuntiesSnitchTriggeredAbility() { + super(Zone.GRAVEYARD, new ReturnToHandSourceEffect(), true); + } + + public AuntiesSnitchTriggeredAbility(final AuntiesSnitchTriggeredAbility ability) { + super(ability); + } + + @Override + public AuntiesSnitchTriggeredAbility copy() { + return new AuntiesSnitchTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event instanceof DamagedPlayerEvent) { + DamagedPlayerEvent damageEvent = (DamagedPlayerEvent)event; + Permanent p = game.getPermanent(event.getSourceId()); + if (damageEvent.isCombatDamage() && p != null && filter.match(p, getSourceId(), getControllerId(), game)) { + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever a Goblin or Rogue you control deals combat damage to a player, if {this} is in your graveyard, you may return {this} to your hand."; + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java b/Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java new file mode 100644 index 00000000000..837e9287c17 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java @@ -0,0 +1,128 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.List; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.ProwlCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.keyword.ProwlAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInLibrary; +import mage.target.common.TargetOpponent; + +/** + * + * @author LevelX2 + */ +public class EarwigSquad extends CardImpl { + + public EarwigSquad(UUID ownerId) { + super(ownerId, 82, "Earwig Squad", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Goblin"); + this.subtype.add("Rogue"); + + this.color.setBlack(true); + this.power = new MageInt(5); + this.toughness = new MageInt(3); + + // Prowl {2}{B} + this.addAbility(new ProwlAbility(this, "{2}{B}")); + // When Earwig Squad enters the battlefield, if its prowl cost was paid, search target opponent's library for three cards and exile them. Then that player shuffles his or her library. + EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new EarwigSquadEffect(), false); + ability.addTarget(new TargetOpponent(true)); + this.addAbility(new ConditionalTriggeredAbility(ability, ProwlCondition.getInstance(), + "When {this} enters the battlefield, if its prowl cost was paid, search target opponent's library for three cards and exile them. Then that player shuffles his or her library.")); + + } + + public EarwigSquad(final EarwigSquad card) { + super(card); + } + + @Override + public EarwigSquad copy() { + return new EarwigSquad(this); + } +} + +class EarwigSquadEffect extends OneShotEffect { + + public EarwigSquadEffect() { + super(Outcome.Benefit); + staticText = "search target opponent's library for three cards and exile them. Then that player shuffles his or her library"; + } + + public EarwigSquadEffect(final EarwigSquadEffect effect) { + super(effect); + } + + @Override + public EarwigSquadEffect copy() { + return new EarwigSquadEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player opponent = game.getPlayer(source.getFirstTarget()); + Player player = game.getPlayer(source.getControllerId()); + if (player != null && opponent != null) { + Cards opponentLibrary = new CardsImpl(); + opponentLibrary.addAll(opponent.getLibrary().getCardList()); + + TargetCardInLibrary target = new TargetCardInLibrary(0, 3, new FilterCard("cards from opponents library to exile")); + if (player.choose(Outcome.Benefit, opponentLibrary, target, game)) { + List targets = target.getTargets(); + for (UUID targetId : targets) { + Card card = opponent.getLibrary().remove(targetId, game); + if (card != null) { + card.moveToExile(null, null, source.getId(), game); + } + } + } + opponent.shuffleLibrary(game); + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/LatchkeyFaerie.java b/Mage.Sets/src/mage/sets/modernmasters/LatchkeyFaerie.java new file mode 100644 index 00000000000..14dd89fc3ff --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/LatchkeyFaerie.java @@ -0,0 +1,77 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.ProwlCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.ProwlAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class LatchkeyFaerie extends CardImpl { + + public LatchkeyFaerie(UUID ownerId) { + super(ownerId, 50, "Latchkey Faerie", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{U}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Faerie"); + this.subtype.add("Rogue"); + + this.color.setBlue(true); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Prowl {2}{U} + this.addAbility(new ProwlAbility(this, "{2}{U}")); + // When Latchkey Faerie enters the battlefield, if its prowl cost was paid, draw a card. + EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1), false); + this.addAbility(new ConditionalTriggeredAbility(ability, ProwlCondition.getInstance(), + "When {this} enters the battlefield, if its prowl cost was paid, draw a card.")); + + } + + public LatchkeyFaerie(final LatchkeyFaerie card) { + super(card); + } + + @Override + public LatchkeyFaerie copy() { + return new LatchkeyFaerie(this); + } +} diff --git a/Mage.Sets/src/mage/sets/morningtide/AuntiesSnitch.java b/Mage.Sets/src/mage/sets/morningtide/AuntiesSnitch.java new file mode 100644 index 00000000000..619eb63da4b --- /dev/null +++ b/Mage.Sets/src/mage/sets/morningtide/AuntiesSnitch.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.morningtide; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class AuntiesSnitch extends mage.sets.modernmasters.AuntiesSnitch { + + public AuntiesSnitch(UUID ownerId) { + super(ownerId); + this.cardNumber = 57; + this.expansionSetCode = "MOR"; + this.rarity = Rarity.RARE; + } + + public AuntiesSnitch(final AuntiesSnitch card) { + super(card); + } + + @Override + public AuntiesSnitch copy() { + return new AuntiesSnitch(this); + } +} diff --git a/Mage.Sets/src/mage/sets/morningtide/EarwigSquad.java b/Mage.Sets/src/mage/sets/morningtide/EarwigSquad.java new file mode 100644 index 00000000000..ebdc6e0be78 --- /dev/null +++ b/Mage.Sets/src/mage/sets/morningtide/EarwigSquad.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.morningtide; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class EarwigSquad extends mage.sets.modernmasters.EarwigSquad { + + public EarwigSquad(UUID ownerId) { + super(ownerId); + this.cardNumber = 60; + this.expansionSetCode = "MOR"; + } + + public EarwigSquad(final EarwigSquad card) { + super(card); + } + + @Override + public EarwigSquad copy() { + return new EarwigSquad(this); + } +} diff --git a/Mage.Sets/src/mage/sets/morningtide/LatchkeyFaerie.java b/Mage.Sets/src/mage/sets/morningtide/LatchkeyFaerie.java new file mode 100644 index 00000000000..93dbb9c7482 --- /dev/null +++ b/Mage.Sets/src/mage/sets/morningtide/LatchkeyFaerie.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.morningtide; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class LatchkeyFaerie extends mage.sets.modernmasters.LatchkeyFaerie { + + public LatchkeyFaerie(UUID ownerId) { + super(ownerId); + this.cardNumber = 39; + this.expansionSetCode = "MOR"; + } + + public LatchkeyFaerie(final LatchkeyFaerie card) { + super(card); + } + + @Override + public LatchkeyFaerie copy() { + return new LatchkeyFaerie(this); + } +} diff --git a/Mage.Sets/src/mage/sets/morningtide/NogginWhack.java b/Mage.Sets/src/mage/sets/morningtide/NogginWhack.java new file mode 100644 index 00000000000..c8a5be67391 --- /dev/null +++ b/Mage.Sets/src/mage/sets/morningtide/NogginWhack.java @@ -0,0 +1,143 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.morningtide; + +import java.util.List; +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.ProwlAbility; +import mage.cards.Card; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetCard; +import mage.target.TargetPlayer; + +/** + * + * @author LevelX2 + */ +public class NogginWhack extends CardImpl { + + public NogginWhack(UUID ownerId) { + super(ownerId, 70, "Noggin Whack", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{B}{B}"); + this.expansionSetCode = "MOR"; + this.supertype.add("Tribal"); + this.subtype.add("Rogue"); + + this.color.setBlack(true); + + // Prowl {1}{B} + this.addAbility(new ProwlAbility(this, "{1}{B}")); + // Target player reveals three cards from his or her hand. You choose two of them. That player discards those cards. + this.getSpellAbility().addEffect(new NogginWhackEffect()); + this.getSpellAbility().addTarget(new TargetPlayer(true)); + + } + + public NogginWhack(final NogginWhack card) { + super(card); + } + + @Override + public NogginWhack copy() { + return new NogginWhack(this); + } +} + +class NogginWhackEffect extends OneShotEffect { + + public NogginWhackEffect() { + super(Outcome.Benefit); + this.staticText = "Target player reveals three cards from his or her hand. You choose two of them. That player discards those cards"; + } + + public NogginWhackEffect(final NogginWhackEffect effect) { + super(effect); + } + + @Override + public NogginWhackEffect copy() { + return new NogginWhackEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Player targetPlayer = game.getPlayer(source.getFirstTarget()); + Card sourceCard = game.getCard(source.getSourceId()); + if (controller != null && targetPlayer != null && sourceCard != null) { + Cards cardsInHand = new CardsImpl(); + cardsInHand.addAll(targetPlayer.getHand()); + + int count = Math.min(cardsInHand.size(), 3); + + TargetCard target = new TargetCard(count, Zone.HAND, new FilterCard()); + target.setRequired(true); + Cards revealedCards = new CardsImpl(); + + if (targetPlayer.chooseTarget(Outcome.Discard, cardsInHand, target, source, game)) { + List targets = target.getTargets(); + for (UUID targetId : targets) { + Card card = game.getCard(targetId); + if (card != null) { + revealedCards.add(card); + } + } + } + + int cardsToDiscard = Math.min(revealedCards.size(), 2); + TargetCard targetInHand = new TargetCard(cardsToDiscard, cardsToDiscard, Zone.HAND, new FilterCard("card to discard")); + targetInHand.setRequired(true); + + if (!revealedCards.isEmpty()) { + targetPlayer.revealCards("Noggin Whack", revealedCards, game); + controller.chooseTarget(Outcome.Exile, revealedCards, targetInHand, source, game); + for (UUID cardId : (List) targetInHand.getTargets()) { + Card card = game.getCard(cardId); + if (card != null) { + card.moveToZone(Zone.GRAVEYARD, source.getSourceId(), game, true); + game.informPlayers(new StringBuilder(sourceCard.getName()).append(": Discarded card ").append(card.getName()).toString()); + } + } + } + return true; + } + return false; + } +} From 1cef0185808278c09c595fcf6301d8fd44a87bc0 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 24 Jun 2013 21:35:50 +0200 Subject: [PATCH 085/139] [minor] small cleanup to Life's Finale. --- Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java b/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java index 7792c363caf..20e3dad0276 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java @@ -112,9 +112,9 @@ class LifesFinaleEffect extends OneShotEffect { } } } + opponent.shuffleLibrary(game); + return true; } - - opponent.shuffleLibrary(game); - return true; + return false; } } From 980298d0ef461dc143e2c2c458b255a629e1aec3 Mon Sep 17 00:00:00 2001 From: Plopman Date: Tue, 25 Jun 2013 20:29:26 +0200 Subject: [PATCH 086/139] Modify TriggeredManaAbility for choices --- Mage/src/mage/game/GameImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 2517430a297..e73cd74e881 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -1065,7 +1065,9 @@ public abstract class GameImpl> implements Game, Serializa public void addTriggeredAbility(TriggeredAbility ability) { if (ability instanceof TriggeredManaAbility || ability instanceof DelayedTriggeredManaAbility) { // 20110715 - 605.4 - ability.resolve(this); + Ability manaAbiltiy = ability.copy(); + manaAbiltiy.activate(this, false); + manaAbiltiy.resolve(this); } else { TriggeredAbility newAbility = (TriggeredAbility) ability.copy(); From 91a8d7bd7602f39841ba1418bffeb288c629b620 Mon Sep 17 00:00:00 2001 From: Plopman Date: Tue, 25 Jun 2013 20:31:25 +0200 Subject: [PATCH 087/139] Added Fertile Ground and Early Harvest --- .../sets/eighthedition/FertileGround.java | 52 ++++++++ .../src/mage/sets/invasion/FertileGround.java | 52 ++++++++ .../src/mage/sets/lorwyn/FertileGround.java | 52 ++++++++ .../src/mage/sets/mirage/EarlyHarvest.java | 52 ++++++++ .../mage/sets/ninthedition/EarlyHarvest.java | 98 +++++++++++++++ .../mage/sets/planechase/FertileGround.java | 52 ++++++++ .../sets/seventhedition/EarlyHarvest.java | 52 ++++++++ .../mage/sets/sixthedition/EarlyHarvest.java | 52 ++++++++ .../mage/sets/urzassaga/FertileGround.java | 113 ++++++++++++++++++ 9 files changed, 575 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/eighthedition/FertileGround.java create mode 100644 Mage.Sets/src/mage/sets/invasion/FertileGround.java create mode 100644 Mage.Sets/src/mage/sets/lorwyn/FertileGround.java create mode 100644 Mage.Sets/src/mage/sets/mirage/EarlyHarvest.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/EarlyHarvest.java create mode 100644 Mage.Sets/src/mage/sets/planechase/FertileGround.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/EarlyHarvest.java create mode 100644 Mage.Sets/src/mage/sets/sixthedition/EarlyHarvest.java create mode 100644 Mage.Sets/src/mage/sets/urzassaga/FertileGround.java diff --git a/Mage.Sets/src/mage/sets/eighthedition/FertileGround.java b/Mage.Sets/src/mage/sets/eighthedition/FertileGround.java new file mode 100644 index 00000000000..578e3953e2e --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/FertileGround.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class FertileGround extends mage.sets.urzassaga.FertileGround { + + public FertileGround(UUID ownerId) { + super(ownerId); + this.cardNumber = 248; + this.expansionSetCode = "8ED"; + } + + public FertileGround(final FertileGround card) { + super(card); + } + + @Override + public FertileGround copy() { + return new FertileGround(this); + } +} diff --git a/Mage.Sets/src/mage/sets/invasion/FertileGround.java b/Mage.Sets/src/mage/sets/invasion/FertileGround.java new file mode 100644 index 00000000000..a92ac371a27 --- /dev/null +++ b/Mage.Sets/src/mage/sets/invasion/FertileGround.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.invasion; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class FertileGround extends mage.sets.urzassaga.FertileGround { + + public FertileGround(UUID ownerId) { + super(ownerId); + this.cardNumber = 188; + this.expansionSetCode = "INV"; + } + + public FertileGround(final FertileGround card) { + super(card); + } + + @Override + public FertileGround copy() { + return new FertileGround(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/FertileGround.java b/Mage.Sets/src/mage/sets/lorwyn/FertileGround.java new file mode 100644 index 00000000000..9702a94bae7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/lorwyn/FertileGround.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.lorwyn; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class FertileGround extends mage.sets.urzassaga.FertileGround { + + public FertileGround(UUID ownerId) { + super(ownerId); + this.cardNumber = 211; + this.expansionSetCode = "LRW"; + } + + public FertileGround(final FertileGround card) { + super(card); + } + + @Override + public FertileGround copy() { + return new FertileGround(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirage/EarlyHarvest.java b/Mage.Sets/src/mage/sets/mirage/EarlyHarvest.java new file mode 100644 index 00000000000..5192a939d0e --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirage/EarlyHarvest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.mirage; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class EarlyHarvest extends mage.sets.ninthedition.EarlyHarvest { + + public EarlyHarvest(UUID ownerId) { + super(ownerId); + this.cardNumber = 111; + this.expansionSetCode = "MIR"; + } + + public EarlyHarvest(final EarlyHarvest card) { + super(card); + } + + @Override + public EarlyHarvest copy() { + return new EarlyHarvest(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ninthedition/EarlyHarvest.java b/Mage.Sets/src/mage/sets/ninthedition/EarlyHarvest.java new file mode 100644 index 00000000000..00c5b8ab080 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/EarlyHarvest.java @@ -0,0 +1,98 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.ninthedition; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.filter.common.FilterLandPermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPlayer; + +/** + * + * @author Plopman + */ +public class EarlyHarvest extends CardImpl { + + public EarlyHarvest(UUID ownerId) { + super(ownerId, 235, "Early Harvest", Rarity.RARE, new CardType[]{CardType.INSTANT}, "{1}{G}{G}"); + this.expansionSetCode = "9ED"; + + this.color.setGreen(true); + + // Target player untaps all basic lands he or she controls. + this.getSpellAbility().addEffect(new UntapAllLandsTargetEffect()); + this.getSpellAbility().addTarget(new TargetPlayer()); + } + + public EarlyHarvest(final EarlyHarvest card) { + super(card); + } + + @Override + public EarlyHarvest copy() { + return new EarlyHarvest(this); + } +} + +class UntapAllLandsTargetEffect extends OneShotEffect { + + public UntapAllLandsTargetEffect() { + super(Outcome.Untap); + staticText = "Target player untaps all basic lands he or she controls"; + } + + public UntapAllLandsTargetEffect(final UntapAllLandsTargetEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(this.getTargetPointer().getFirst(game, source)); + if (player != null) { + for (Permanent land: game.getBattlefield().getAllActivePermanents(new FilterLandPermanent(), player.getId(), game)) { + land.untap(game); + } + return true; + } + return false; + } + + @Override + public UntapAllLandsTargetEffect copy() { + return new UntapAllLandsTargetEffect(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/planechase/FertileGround.java b/Mage.Sets/src/mage/sets/planechase/FertileGround.java new file mode 100644 index 00000000000..5668ee980ee --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase/FertileGround.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.planechase; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class FertileGround extends mage.sets.urzassaga.FertileGround { + + public FertileGround(UUID ownerId) { + super(ownerId); + this.cardNumber = 71; + this.expansionSetCode = "HOP"; + } + + public FertileGround(final FertileGround card) { + super(card); + } + + @Override + public FertileGround copy() { + return new FertileGround(this); + } +} diff --git a/Mage.Sets/src/mage/sets/seventhedition/EarlyHarvest.java b/Mage.Sets/src/mage/sets/seventhedition/EarlyHarvest.java new file mode 100644 index 00000000000..61a9948cb44 --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/EarlyHarvest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.seventhedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class EarlyHarvest extends mage.sets.ninthedition.EarlyHarvest { + + public EarlyHarvest(UUID ownerId) { + super(ownerId); + this.cardNumber = 237; + this.expansionSetCode = "7ED"; + } + + public EarlyHarvest(final EarlyHarvest card) { + super(card); + } + + @Override + public EarlyHarvest copy() { + return new EarlyHarvest(this); + } +} diff --git a/Mage.Sets/src/mage/sets/sixthedition/EarlyHarvest.java b/Mage.Sets/src/mage/sets/sixthedition/EarlyHarvest.java new file mode 100644 index 00000000000..a6da55f486e --- /dev/null +++ b/Mage.Sets/src/mage/sets/sixthedition/EarlyHarvest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.sixthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class EarlyHarvest extends mage.sets.ninthedition.EarlyHarvest { + + public EarlyHarvest(UUID ownerId) { + super(ownerId); + this.cardNumber = 222; + this.expansionSetCode = "6ED"; + } + + public EarlyHarvest(final EarlyHarvest card) { + super(card); + } + + @Override + public EarlyHarvest copy() { + return new EarlyHarvest(this); + } +} diff --git a/Mage.Sets/src/mage/sets/urzassaga/FertileGround.java b/Mage.Sets/src/mage/sets/urzassaga/FertileGround.java new file mode 100644 index 00000000000..d7d5290e76a --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/FertileGround.java @@ -0,0 +1,113 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.urzassaga; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.common.AddManaOfAnyColorEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.mana.TriggeredManaAbility; +import mage.cards.CardImpl; +import mage.choices.ChoiceColor; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.TargetPermanent; +import mage.target.common.TargetLandPermanent; + +/** + * + * @author Plopman + */ +public class FertileGround extends CardImpl { + + public FertileGround(UUID ownerId) { + super(ownerId, 252, "Fertile Ground", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}"); + this.expansionSetCode = "USG"; + this.subtype.add("Aura"); + + this.color.setGreen(true); + + // Enchant land + TargetPermanent auraTarget = new TargetLandPermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // Whenever enchanted land is tapped for mana, its controller adds one mana of any color to his or her mana pool. + this.addAbility(new FertileGroundTriggeredAbility()); + } + + public FertileGround(final FertileGround card) { + super(card); + } + + @Override + public FertileGround copy() { + return new FertileGround(this); + } +} + +class FertileGroundTriggeredAbility extends TriggeredManaAbility { + + + public FertileGroundTriggeredAbility() { + super(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect()); + this.addChoice(new ChoiceColor()); + } + + public FertileGroundTriggeredAbility(FertileGroundTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + Permanent enchantment = game.getPermanent(this.getSourceId()); + if(event.getType() == GameEvent.EventType.TAPPED_FOR_MANA){ + if (enchantment != null && event.getSourceId().equals(enchantment.getAttachedTo())) { + return true; + } + } + return false; + } + + @Override + public FertileGroundTriggeredAbility copy() { + return new FertileGroundTriggeredAbility(this); + } + + @Override + public String getRule() { + return "Whenever enchanted land is tapped for mana, its controller adds one mana of any color to his or her mana pool"; + } +} \ No newline at end of file From 5591059e53d909d8b2fcc316c92e48364bffc62c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 25 Jun 2013 21:46:11 +0200 Subject: [PATCH 088/139] AbilityImpl code cleanup. --- Mage/src/mage/abilities/AbilityImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index be15e14b18c..d36af44d0e0 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -192,8 +192,7 @@ public abstract class AbilityImpl> implements Ability { break; } } - if (ability instanceof OptionalAdditionalSourceCosts - && !(ability instanceof EntwineAbility)) { + if (ability instanceof OptionalAdditionalSourceCosts) { ((OptionalAdditionalSourceCosts)ability).addOptionalAdditionalCosts(this, game); } } From 2aa984d4d6338d258499e42aaeaee8bc952cb31d Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 25 Jun 2013 17:34:47 -0500 Subject: [PATCH 089/139] - Added Deathbringer Thoctar, Thought Hemorrhage, Vectis Dominator. Fixed Erratic Portal. --- .../sets/alarareborn/DeathbringerThoctar.java | 79 +++++++++++ .../sets/alarareborn/ThoughtHemorrhage.java | 133 ++++++++++++++++++ .../sets/alarareborn/VectisDominator.java | 121 ++++++++++++++++ .../src/mage/sets/exodus/ErraticPortal.java | 6 +- 4 files changed, 338 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/DeathbringerThoctar.java create mode 100644 Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java create mode 100644 Mage.Sets/src/mage/sets/alarareborn/VectisDominator.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/DeathbringerThoctar.java b/Mage.Sets/src/mage/sets/alarareborn/DeathbringerThoctar.java new file mode 100644 index 00000000000..9723565992d --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/DeathbringerThoctar.java @@ -0,0 +1,79 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DiesCreatureTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author jeffwadsworth + */ +public class DeathbringerThoctar extends CardImpl { + + public DeathbringerThoctar(UUID ownerId) { + super(ownerId, 36, "Deathbringer Thoctar", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{B}{R}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Zombie"); + this.subtype.add("Beast"); + + this.color.setRed(true); + this.color.setBlack(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Whenever another creature dies, you may put a +1/+1 counter on Deathbringer Thoctar. + this.addAbility(new DiesCreatureTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), true, true)); + + // Remove a +1/+1 counter from Deathbringer Thoctar: Deathbringer Thoctar deals 1 damage to target creature or player. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new RemoveCountersSourceCost(CounterType.P1P1.createInstance())); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); + } + + public DeathbringerThoctar(final DeathbringerThoctar card) { + super(card); + } + + @Override + public DeathbringerThoctar copy() { + return new DeathbringerThoctar(this); + } +} diff --git a/Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java b/Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java new file mode 100644 index 00000000000..827e158f24f --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java @@ -0,0 +1,133 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.repository.CardRepository; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetPlayer; + +/** + * + * @author jeffwadsworth + */ +public class ThoughtHemorrhage extends CardImpl { + + public ThoughtHemorrhage(UUID ownerId) { + super(ownerId, 47, "Thought Hemorrhage", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{2}{B}{R}"); + this.expansionSetCode = "ARB"; + + this.color.setRed(true); + this.color.setBlack(true); + + // Name a nonland card. Target player reveals his or her hand. Thought Hemorrhage deals 3 damage to that player for each card with that name revealed this way. Search that player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library. + this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addEffect(new ThoughtHemorrhageEffect()); + } + + public ThoughtHemorrhage(final ThoughtHemorrhage card) { + super(card); + } + + @Override + public ThoughtHemorrhage copy() { + return new ThoughtHemorrhage(this); + } +} + +class ThoughtHemorrhageEffect extends OneShotEffect { + + String cardName; + final String rule = "Name a nonland card. Target player reveals his or her hand. Thought Hemorrhage deals 3 damage to that player for each card with that name revealed this way. Search that player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library"; + + public ThoughtHemorrhageEffect() { + super(Outcome.Detriment); + staticText = rule; + } + + public ThoughtHemorrhageEffect(final ThoughtHemorrhageEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player you = game.getPlayer(source.getControllerId()); + if (you != null) { + Choice cardChoice = new ChoiceImpl(); + cardChoice.setChoices(CardRepository.instance.getNonLandNames()); + cardChoice.clearChoice(); + while (!you.choose(Outcome.Detriment, cardChoice, game)) { + game.debugMessage("player canceled choosing name. retrying."); + } + cardName = cardChoice.getChoice(); + game.informPlayers("Thought Hemorrhage, named card: [" + cardName + "]"); + } + Player targetPlayer = game.getPlayer(source.getFirstTarget()); + if (targetPlayer != null) { + targetPlayer.revealCards("hand of target player", targetPlayer.getHand(), game); + for (Card card : targetPlayer.getHand().getCards(game)) { + if (card.getName().equals(cardName)) { + targetPlayer.damage(3, source.getId(), game, false, true); + } + } + for (Card card : targetPlayer.getGraveyard().getCards(game)) { + if (card.getName().equals(cardName)) { + card.moveToExile(null, "", source.getId(), game); + } + } + for (Card card : targetPlayer.getHand().getCards(game)) { + if (card.getName().equals(cardName)) { + card.moveToExile(null, "", source.getId(), game); + } + } + for (Card card : targetPlayer.getLibrary().getCards(game)) { + if (card.getName().equals(cardName)) { + card.moveToExile(null, "", source.getId(), game); + } + } + targetPlayer.shuffleLibrary(game); + return true; + } + return false; + } + + @Override + public ThoughtHemorrhageEffect copy() { + return new ThoughtHemorrhageEffect(this); + } +} diff --git a/Mage.Sets/src/mage/sets/alarareborn/VectisDominator.java b/Mage.Sets/src/mage/sets/alarareborn/VectisDominator.java new file mode 100644 index 00000000000..e76cd593fe5 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/VectisDominator.java @@ -0,0 +1,121 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class VectisDominator extends CardImpl { + + public VectisDominator(UUID ownerId) { + super(ownerId, 84, "Vectis Dominator", Rarity.COMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{W}{B}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Human"); + this.subtype.add("Wizard"); + + this.color.setBlack(true); + this.color.setWhite(true); + this.power = new MageInt(0); + this.toughness = new MageInt(2); + + // {tap}: Tap target creature unless its controller pays 2 life. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new VectisDominatorEffect(new PayLifeCost(2)), new ManaCostsImpl("{1}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public VectisDominator(final VectisDominator card) { + super(card); + } + + @Override + public VectisDominator copy() { + return new VectisDominator(this); + } +} + +class VectisDominatorEffect extends OneShotEffect { + + protected Cost cost; + + public VectisDominatorEffect(Cost cost) { + super(Outcome.Detriment); + this.staticText = "Tap target creature unless its controller pays 2 life"; + this.cost = cost; + } + + public VectisDominatorEffect(final VectisDominatorEffect effect) { + super(effect); + this.cost = effect.cost.copy(); + } + + @Override + public VectisDominatorEffect copy() { + return new VectisDominatorEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent targetCreature = game.getPermanent(source.getFirstTarget()); + if (targetCreature != null) { + Player player = game.getPlayer(targetCreature.getControllerId()); + if (player != null) { + cost.clearPaid(); + final StringBuilder sb = new StringBuilder("Pay 2 life otherwise ").append(targetCreature.getName()).append(" will be tapped)"); + if (player.chooseUse(Outcome.Benefit, sb.toString(), game)) { + cost.pay(source, game, targetCreature.getControllerId(), targetCreature.getControllerId(), true); + } + if (!cost.isPaid()) { + return targetCreature.tap(game); + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/exodus/ErraticPortal.java b/Mage.Sets/src/mage/sets/exodus/ErraticPortal.java index 145f12b3641..92fae347c3a 100644 --- a/Mage.Sets/src/mage/sets/exodus/ErraticPortal.java +++ b/Mage.Sets/src/mage/sets/exodus/ErraticPortal.java @@ -100,7 +100,11 @@ class ErraticPortalEffect extends OneShotEffect { Player player = game.getPlayer(targetCreature.getControllerId()); if (player != null) { cost.clearPaid(); - if (!cost.pay(source, game, targetCreature.getControllerId(), targetCreature.getControllerId(), false)) { + final StringBuilder sb = new StringBuilder("Pay {1} otherwise ").append(targetCreature.getName()).append(" will be returned to its owner's hand)"); + if (player.chooseUse(Outcome.Benefit, sb.toString(), game)) { + cost.pay(source, game, targetCreature.getControllerId(), targetCreature.getControllerId(), true); + } + if (!cost.isPaid()) { return targetCreature.moveToZone(Zone.HAND, source.getSourceId(), game, true); } } From 725ee6e04222ade99052df9b2dfb1c7c5024ea6e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 26 Jun 2013 17:34:14 +0200 Subject: [PATCH 090/139] Added SpliceOntoArcane Ability. It's working but it will need some handling improvements. --- Mage/src/mage/abilities/AbilityImpl.java | 19 +- .../abilities/effects/ContinuousEffects.java | 60 +++++ .../abilities/effects/SpliceCardEffect.java | 66 ++++++ .../effects/SpliceCardEffectImpl.java | 67 ++++++ .../continious/GainAbilityTargetEffect.java | 36 ++- .../keyword/SpliceOntoArcaneAbility.java | 210 ++++++++++++++++++ Mage/src/mage/constants/EffectType.java | 3 +- Mage/src/mage/game/stack/Spell.java | 24 +- 8 files changed, 470 insertions(+), 15 deletions(-) create mode 100644 Mage/src/mage/abilities/effects/SpliceCardEffect.java create mode 100644 Mage/src/mage/abilities/effects/SpliceCardEffectImpl.java create mode 100644 Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index be15e14b18c..7d760b55b0b 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -53,6 +53,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; import mage.abilities.keyword.EntwineAbility; +import mage.constants.SpellAbilityType; /** @@ -162,11 +163,22 @@ public abstract class AbilityImpl> implements Ability { @Override public boolean activate(Game game, boolean noMana) { - // 20110204 - 700.2 + /* 20130201 - 601.2b + * If the spell is modal the player announces the mode choice (see rule 700.2). + */ if (!modes.choose(game, this)) { return false; } - //20100716 - 601.2b + + /* 20130201 - 601.2b + * If the player wishes to splice any cards onto the spell (see rule 702.45), he + * or she reveals those cards in his or her hand. + */ + if (this.abilityType.equals(AbilityType.SPELL)) { + game.getContinuousEffects().applySpliceEffects(this, game); + } + + Card card = game.getCard(sourceId); if (card != null) { card.adjustChoices(this, game); @@ -179,7 +191,7 @@ public abstract class AbilityImpl> implements Ability { } } - // 20121001 - 601.2b + // 20130201 - 601.2b // If the spell has alternative or additional costs that will be paid as it's being cast such // as buyback, kicker, or convoke costs (see rules 117.8 and 117.9), the player announces his // or her intentions to pay any or all of those costs (see rule 601.2e). @@ -198,6 +210,7 @@ public abstract class AbilityImpl> implements Ability { } } } + // 20121001 - 601.2b // If the spell has a variable cost that will be paid as it's being cast (such as an {X} in // its mana cost; see rule 107.3), the player announces the value of that variable. diff --git a/Mage/src/mage/abilities/effects/ContinuousEffects.java b/Mage/src/mage/abilities/effects/ContinuousEffects.java index b08a3fa92a0..6919f6ca31b 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffects.java @@ -36,7 +36,9 @@ import mage.constants.Layer; import mage.constants.SubLayer; import mage.MageObject; import mage.abilities.Ability; +import mage.abilities.SpellAbility; import mage.abilities.StaticAbility; +import mage.constants.SpellAbilityType; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; @@ -58,6 +60,7 @@ public class ContinuousEffects implements Serializable { private ContinuousEffectsList restrictionEffects = new ContinuousEffectsList(); private ContinuousEffectsList asThoughEffects = new ContinuousEffectsList(); private ContinuousEffectsList costModificationEffects = new ContinuousEffectsList(); + private ContinuousEffectsList spliceCardEffects = new ContinuousEffectsList(); private List> allEffectsLists = new ArrayList>(); @@ -88,6 +91,7 @@ public class ContinuousEffects implements Serializable { restrictionEffects = effect.restrictionEffects.copy(); asThoughEffects = effect.asThoughEffects.copy(); costModificationEffects = effect.costModificationEffects.copy(); + spliceCardEffects = effect.spliceCardEffects.copy(); for (Map.Entry entry : effect.sources.entrySet()) { sources.put(entry.getKey(), entry.getValue()); } @@ -103,6 +107,7 @@ public class ContinuousEffects implements Serializable { allEffectsLists.add(restrictionEffects); allEffectsLists.add(asThoughEffects); allEffectsLists.add(costModificationEffects); + allEffectsLists.add(spliceCardEffects); } public ContinuousEffects copy() { @@ -125,6 +130,7 @@ public class ContinuousEffects implements Serializable { restrictionEffects.removeEndOfCombatEffects(); asThoughEffects.removeEndOfCombatEffects(); costModificationEffects.removeEndOfCombatEffects(); + spliceCardEffects.removeEndOfCombatEffects(); } public void removeEndOfTurnEffects() { @@ -135,6 +141,7 @@ public class ContinuousEffects implements Serializable { restrictionEffects.removeEndOfTurnEffects(); asThoughEffects.removeEndOfTurnEffects(); costModificationEffects.removeEndOfTurnEffects(); + spliceCardEffects.removeEndOfTurnEffects(); } public void removeInactiveEffects(Game game) { @@ -145,6 +152,7 @@ public class ContinuousEffects implements Serializable { restrictionEffects.removeInactiveEffects(game); asThoughEffects.removeInactiveEffects(game); costModificationEffects.removeInactiveEffects(game); + spliceCardEffects.removeInactiveEffects(game); } public List getLayeredEffects(Game game) { @@ -328,6 +336,29 @@ public class ContinuousEffects implements Serializable { return costEffects; } + /** + * Filters out splice effects that are not active. + * + * @param game + * @return + */ + private List getApplicableSpliceCardEffects(Game game) { + List spliceEffects = new ArrayList(); + + for (SpliceCardEffect effect: spliceCardEffects) { + HashSet abilities = spliceCardEffects.getAbility(effect.getId()); + for (Ability ability : abilities) { + if (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, false)) { + if (effect.getDuration() != Duration.OneUse || !effect.isUsed()) { + spliceEffects.add(effect); + break; + } + } + } + } + + return spliceEffects; + } public boolean asThough(UUID objectId, AsThoughEffectType type, Game game) { List asThoughEffectsList = getApplicableAsThoughEffects(game); @@ -390,6 +421,31 @@ public class ContinuousEffects implements Serializable { } } + /** + * Checks all available splice effects to be applied. + * + * @param abilityToModify + * @param game + * @return + */ + public void applySpliceEffects ( Ability abilityToModify, Game game ) { + if ( ((SpellAbility) abilityToModify).getSpellAbilityType().equals(SpellAbilityType.SPLICE)) { + // on a spliced ability of a spell can't be spliced again + return; + } + List spliceEffects = getApplicableSpliceCardEffects(game); + + for ( SpliceCardEffect effect : spliceEffects) { + HashSet abilities = spliceCardEffects.getAbility(effect.getId()); + for (Ability ability : abilities) { + if ( effect.applies(abilityToModify, ability, game) ) { + effect.apply(game, ability, abilityToModify); + } + } + } + } + + public boolean replaceEvent(GameEvent event, Game game) { boolean caught = false; HashMap> consumed = new HashMap>(); @@ -617,6 +673,10 @@ public class ContinuousEffects implements Serializable { CostModificationEffect newCostModificationEffect = (CostModificationEffect)effect; costModificationEffects.addEffect(newCostModificationEffect, source); break; + case SPLICE: + SpliceCardEffect newSpliceCardEffect = (SpliceCardEffect)effect; + spliceCardEffects.addEffect(newSpliceCardEffect, source); + break; default: ContinuousEffect newEffect = (ContinuousEffect)effect; layeredEffects.addEffect(newEffect, source); diff --git a/Mage/src/mage/abilities/effects/SpliceCardEffect.java b/Mage/src/mage/abilities/effects/SpliceCardEffect.java new file mode 100644 index 00000000000..094b3a98916 --- /dev/null +++ b/Mage/src/mage/abilities/effects/SpliceCardEffect.java @@ -0,0 +1,66 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.abilities.effects; + +import mage.abilities.Ability; +import mage.game.Game; + +/** + * Represents a {@link ContinuousEffect} that will modify the cost and abilities of a spell + * on the stack (splice a card). {@link mage.abilities.Ability Abilities} with this type of effect will be + * called once and only once from the {@link mage.abilities.AbilityImpl#activate(mage.game.Game, + * boolean) Ability.activate} method before alternative or additional costs are paid. + * + * @param + * @author levelX2 + */ + +public interface SpliceCardEffect> extends ContinuousEffect { + /** + * Called by the {@link ContinuousEffects#costModification(Ability abilityToModify, Game game) ContinuousEffects.costModification} + * method. + * + * @param game The game for which this effect should be applied. + * @param source The source ability of this effect. + * @param abilityToModify The {@link mage.abilities.SpellAbility} or {@link Ability} which should be modified. + * @return + */ + boolean apply ( Game game, Ability source, Ability abilityToModify ); + + /** + * Called by the {@link ContinuousEffects#costModification(mage.abilities.Ability, mage.game.Game) ContinuousEffects.costModification} + * method. + * + * @param abilityToModify The ability to possibly modify. + * @param source The source ability of this effect. + * @param game The game for which this effect shoul dbe applied. + * @return + */ + boolean applies(Ability abilityToModify, Ability source, Game game); +} diff --git a/Mage/src/mage/abilities/effects/SpliceCardEffectImpl.java b/Mage/src/mage/abilities/effects/SpliceCardEffectImpl.java new file mode 100644 index 00000000000..4a4aa90cd2f --- /dev/null +++ b/Mage/src/mage/abilities/effects/SpliceCardEffectImpl.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.abilities.effects; + +import mage.abilities.Ability; +import mage.constants.Duration; +import mage.constants.EffectType; +import mage.constants.Outcome; +import mage.game.Game; + + +/** + * Simple implementation of a {@link SpliceCardEffect} offering simplified + * construction to setup the object for use by the mage framework. + + * @author LevelX2 + */ +public abstract class SpliceCardEffectImpl> extends ContinuousEffectImpl implements SpliceCardEffect { + + public SpliceCardEffectImpl ( Duration duration, Outcome outcome ) { + super(duration, outcome); + this.effectType = EffectType.SPLICE; + } + + public SpliceCardEffectImpl(final SpliceCardEffectImpl effect) { + super(effect); + this.effectType = effect.effectType; + } + + /** + * Overridden and 'no-op' implementation put in place. + * + * @see #apply(mage.game.Game, mage.abilities.Ability, mage.abilities.Ability) + * + * @param game + * @param source + * @return + */ + @Override + public final boolean apply ( Game game, Ability source ) { return false; } +} diff --git a/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java index b420aa7bf1d..b331aa9af68 100644 --- a/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/GainAbilityTargetEffect.java @@ -40,6 +40,7 @@ import mage.game.permanent.Permanent; import mage.target.Target; import java.util.UUID; +import mage.cards.Card; /** * @@ -48,23 +49,29 @@ import java.util.UUID; public class GainAbilityTargetEffect extends ContinuousEffectImpl { protected Ability ability; + // shall a card gain the ability (otherwise permanent) + private boolean onCard; public GainAbilityTargetEffect(Ability ability, Duration duration) { - super(duration, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, - ability.getEffects().size() > 0 ? ability.getEffects().get(0).getOutcome() : Outcome.AddAbility); - this.ability = ability; + this(ability, duration, null); } public GainAbilityTargetEffect(Ability ability, Duration duration, String rule) { + this(ability, duration, rule, false); + } + + public GainAbilityTargetEffect(Ability ability, Duration duration, String rule, boolean onCard) { super(duration, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, ability.getEffects().size() > 0 ? ability.getEffects().get(0).getOutcome() : Outcome.AddAbility); this.ability = ability; staticText = rule; + this.onCard = onCard; } public GainAbilityTargetEffect(final GainAbilityTargetEffect effect) { super(effect); this.ability = effect.ability.copy(); + this.onCard = effect.onCard; } @Override @@ -81,11 +88,24 @@ public class GainAbilityTargetEffect extends ContinuousEffectImpl 0; diff --git a/Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java b/Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java new file mode 100644 index 00000000000..e58bf4bc0a0 --- /dev/null +++ b/Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java @@ -0,0 +1,210 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.abilities.keyword; + +import java.util.Iterator; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.Costs; +import mage.abilities.costs.CostsImpl; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.SpliceCardEffectImpl; +import mage.cards.Card; +import mage.cards.CardsImpl; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.SpellAbilityType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.stack.Spell; +import mage.players.Player; + + +/** + * 702.45. Splice + * + * 702.45a Splice is a static ability that functions while a card is in your hand. + * "Splice onto [subtype] [cost]" means "You may reveal this card from your hand + * as you cast a [subtype] spell. If you do, copy this card's text box onto that + * spell and pay [cost] as an additional cost to cast that spell." Paying a card's + * splice cost follows the rules for paying additional costs in rules 601.2b and + * 601.2e-g. + * + * Example: Since the card with splice remains in the player's hand, it can later + * be cast normally or spliced onto another spell. It can even be discarded to pay + * a "discard a card" cost of the spell it's spliced onto. + * + * 702.45b You can't choose to use a splice ability if you can't make the required + * choices (targets, etc.) for that card's instructions. You can't splice any one + * card onto the same spell more than once. If you're splicing more than one card + * onto a spell, reveal them all at once and choose the order in which their + * instructions will be followed. The instructions on the main spell have to be + * followed first. + * + * 702.45c The spell has the characteristics of the main spell, plus the text boxes + * of each of the spliced cards. The spell doesn't gain any other characteristics + * (name, mana cost, color, supertypes, card types, subtypes, etc.) of the spliced + * cards. Text copied onto the spell that refers to a card by name refers to the spell + * on the stack, not the card from which the text was copied. + * + * Example: Glacial Ray is a red card with splice onto Arcane that reads, "Glacial + * Ray deals 2 damage to target creature or player." Suppose Glacial Ray is spliced + * onto Reach Through Mists, a blue spell. The spell is still blue, and Reach Through + * Mists deals the damage. This means that the ability can target a creature with + * protection from red and deal 2 damage to that creature. + * + * 702.45d Choose targets for the added text normally (see rule 601.2c). Note that a + * spell with one or more targets will be countered if all of its targets are illegal + * on resolution. + * + * 702.45e The spell loses any splice changes once it leaves the stack (for example, + * when it's countered, it's exiled, or it resolves). + * + * Rulings + * + * You must reveal all of the cards you intend to splice at the same time. Each individual card can only be spliced once onto a spell. + * If you have more than one card with the same name in your hand, you may splice both of them onto the spell. + * A card with a splice ability can't be spliced onto itself because the spell is on the stack (and not in your hand) when you reveal the cards you want to splice onto it. + * The target for a card that's spliced onto a spell may be the same as the target chosen for the original spell or for another spliced-on card. (A recent change to the targeting rules allows this, but most other cards are unaffected by the change.) + * If you splice a targeted card onto an untargeted spell, the entire spell will be countered if the target isn't legal when the spell resolves. + * If you splice an untargeted card onto a targeted spell, the entire spell will be countered if the target isn't legal when the spell resolves. + * A spell is countered on resolution only if *all* of its targets are illegal (or the spell is countered by an effect). + * + * @author LevelX2 + */ + + +public class SpliceOntoArcaneAbility extends SimpleStaticAbility { + + private static final String KEYWORD_TEXT = "Splice onto Arcane"; + private Costs spliceCosts = new CostsImpl(); + + public SpliceOntoArcaneAbility(String manaString) { + super(Zone.HAND, new SpliceOntoArcaneEffect()); + spliceCosts.add(new ManaCostsImpl(manaString)); + } + + public SpliceOntoArcaneAbility(Cost cost) { + super(Zone.HAND, new SpliceOntoArcaneEffect()); + spliceCosts.add(cost); + } + + public SpliceOntoArcaneAbility(final SpliceOntoArcaneAbility ability) { + super(ability); + this.spliceCosts = ability.spliceCosts.copy(); + } + + @Override + public SimpleStaticAbility copy() { + return new SpliceOntoArcaneAbility(this); + } + + public Costs getSpliceCosts() { + return spliceCosts; + } + + @Override + public String getRule() { + StringBuilder sb = new StringBuilder(); + sb.append(KEYWORD_TEXT).append(" "); + sb.append(spliceCosts.getText()); + sb.append(" (As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.)"); + return sb.toString(); + } +} + + +class SpliceOntoArcaneEffect extends SpliceCardEffectImpl { + + public SpliceOntoArcaneEffect() { + super(Duration.WhileOnBattlefield, Outcome.Copy); + staticText = "Splice onto Arcane"; + } + + public SpliceOntoArcaneEffect(final SpliceOntoArcaneEffect effect) { + super(effect); + } + + + + @Override + public SpliceOntoArcaneEffect copy() { + return new SpliceOntoArcaneEffect(this); + } + + @Override + public boolean apply(Game game, Ability source, Ability abilityToModify) { + Player controller = game.getPlayer(source.getControllerId()); + Card spliceCard = game.getCard(source.getSourceId()); + if (spliceCard != null && controller != null) { + if (controller.chooseUse(outcome, new StringBuilder("Splice ").append(spliceCard.getName()) + .append(" ").append(((SpliceOntoArcaneAbility) source).getSpliceCosts().getText()).append("?").toString(), game)) { + Spell spell = game.getStack().getSpell(abilityToModify.getId()); + if (spell != null) { + SpellAbility splicedAbility = spliceCard.getSpellAbility().copy(); + splicedAbility.setSpellAbilityType(SpellAbilityType.SPLICE); + splicedAbility.setSourceId(abilityToModify.getSourceId()); + spell.addSpellAbility(splicedAbility); + for (Iterator it = ((SpliceOntoArcaneAbility) source).getSpliceCosts().iterator(); it.hasNext();) { + Cost cost = (Cost) it.next(); + if (cost instanceof ManaCostsImpl) { + spell.getSpellAbility().getManaCostsToPay().add((ManaCostsImpl) cost.copy()); + } else { + spell.getSpellAbility().getCosts().add(cost.copy()); + } + } + // reveal the spliced card + controller.revealCards("Spliced card", new CardsImpl(spliceCard), game); + } + } + return true; + } + return false; + } + + @Override + public boolean applies(Ability abilityToModify, Ability source, Game game) { + MageObject object = game.getObject(abilityToModify.getSourceId()); + if (object != null && object.getSubtype().contains("Arcane")) { + return spliceSpellCanBeActivated(source, game); + } + return false; + } + + private boolean spliceSpellCanBeActivated(Ability source, Game game) { + // check if spell can be activated (protection problem not solved because effect will be used from the base spell?) + Card card = game.getCard(source.getSourceId()); + if (card != null) { + return card.getSpellAbility().canActivate(source.getControllerId(), game); + } + return false; + } +} diff --git a/Mage/src/mage/constants/EffectType.java b/Mage/src/mage/constants/EffectType.java index b83b5f3891c..aa483ea23c4 100644 --- a/Mage/src/mage/constants/EffectType.java +++ b/Mage/src/mage/constants/EffectType.java @@ -14,7 +14,8 @@ public enum EffectType { ASTHOUGH("As Though Effect"), RESTRICTION("Restriction Effect"), REQUIREMENT("Requirement Effect"), - COSTMODIFICATION("Cost Modification Effect"); + COSTMODIFICATION("Cost Modification Effect"), + SPLICE("Splice Card Effect"); private String text; diff --git a/Mage/src/mage/game/stack/Spell.java b/Mage/src/mage/game/stack/Spell.java index 6e940915198..fab094b1409 100644 --- a/Mage/src/mage/game/stack/Spell.java +++ b/Mage/src/mage/game/stack/Spell.java @@ -118,9 +118,21 @@ public class Spell> implements StackObject, Card { public boolean activate(Game game, boolean noMana) { + if (!spellAbilities.get(0).activate(game, noMana)) { + return false; + } + // if there are more abilities (fused split spell) or first ability added new abilities (splice), activate the additional abilities + boolean ignoreAbility = true; + boolean payNoMana = noMana; for (SpellAbility spellAbility: spellAbilities) { - if (!spellAbility.activate(game, noMana)) { - return false; + // costs for spliced abilities were added to main spellAbility, so pay no man for spliced abilities + payNoMana |= spellAbility.getSpellAbilityType().equals(SpellAbilityType.SPLICE); + if (ignoreAbility) { + ignoreAbility = false; + } else { + if (!spellAbility.activate(game, payNoMana)) { + return false; + } } } return true; @@ -142,7 +154,9 @@ public class Spell> implements StackObject, Card { spellAbility.getModes().setMode(spellAbility.getModes().get(modeId)); if (spellAbility.getTargets().stillLegal(spellAbility, game)) { legalParts = true; - updateOptionalCosts(index); + if (!spellAbility.getSpellAbilityType().equals(SpellAbilityType.SPLICE)) { + updateOptionalCosts(index); + } result |= spellAbility.resolve(game); } } @@ -351,6 +365,10 @@ public class Spell> implements StackObject, Card { return card.getOwnerId(); } + public void addSpellAbility(SpellAbility spellAbility) { + spellAbilities.add(spellAbility); + } + @Override public void addAbility(Ability ability) {} From 99dc405f91830f80798bcab203af411f65990ddf Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 26 Jun 2013 17:34:56 +0200 Subject: [PATCH 091/139] * Thieving Sprite - Fixed game log text bug (no blanks). --- Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java b/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java index 5a6d40d80d7..280f0d16d32 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java +++ b/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java @@ -142,7 +142,7 @@ class ThievingSpriteEffect extends OneShotEffect { Card card = revealedCards.get(targetInHand.getFirstTarget(), game); if (card != null) { targetPlayer.discard(card, source, game); - game.informPlayers(new StringBuilder("Thieving Sprite").append(targetPlayer.getName()).append("discarded ").append(card.getName()).toString()); + game.informPlayers(new StringBuilder("Thieving Sprite: ").append(targetPlayer.getName()).append(" discarded ").append(card.getName()).toString()); } } return true; From 1e5615295d7368153291c12d932b3d30f7508ead Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 26 Jun 2013 17:35:52 +0200 Subject: [PATCH 092/139] [MMA] Added 3 cards. --- .../championsofkamigawa/DampenThought.java | 54 +++++++ .../sets/championsofkamigawa/GlacialRay.java | 52 ++++++ .../sets/futuresight/JhoiraOfTheGhitu.java | 52 ++++++ .../sets/modernmasters/DampenThought.java | 66 ++++++++ .../mage/sets/modernmasters/GlacialRay.java | 66 ++++++++ .../sets/modernmasters/JhoiraOfTheGhitu.java | 149 ++++++++++++++++++ 6 files changed, 439 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/championsofkamigawa/DampenThought.java create mode 100644 Mage.Sets/src/mage/sets/championsofkamigawa/GlacialRay.java create mode 100644 Mage.Sets/src/mage/sets/futuresight/JhoiraOfTheGhitu.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/DampenThought.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/GlacialRay.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/DampenThought.java b/Mage.Sets/src/mage/sets/championsofkamigawa/DampenThought.java new file mode 100644 index 00000000000..d055d3a1754 --- /dev/null +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/DampenThought.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.championsofkamigawa; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class DampenThought extends mage.sets.modernmasters.DampenThought { + + public DampenThought(UUID ownerId) { + super(ownerId); + this.cardNumber = 57; + this.expansionSetCode = "CHK"; + this.rarity = Rarity.UNCOMMON; + } + + public DampenThought(final DampenThought card) { + super(card); + } + + @Override + public DampenThought copy() { + return new DampenThought(this); + } +} diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/GlacialRay.java b/Mage.Sets/src/mage/sets/championsofkamigawa/GlacialRay.java new file mode 100644 index 00000000000..4fcec2c79cb --- /dev/null +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/GlacialRay.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.championsofkamigawa; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class GlacialRay extends mage.sets.modernmasters.GlacialRay { + + public GlacialRay(UUID ownerId) { + super(ownerId); + this.cardNumber = 168; + this.expansionSetCode = "CHK"; + } + + public GlacialRay(final GlacialRay card) { + super(card); + } + + @Override + public GlacialRay copy() { + return new GlacialRay(this); + } +} diff --git a/Mage.Sets/src/mage/sets/futuresight/JhoiraOfTheGhitu.java b/Mage.Sets/src/mage/sets/futuresight/JhoiraOfTheGhitu.java new file mode 100644 index 00000000000..33438ee7e40 --- /dev/null +++ b/Mage.Sets/src/mage/sets/futuresight/JhoiraOfTheGhitu.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.futuresight; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class JhoiraOfTheGhitu extends mage.sets.modernmasters.JhoiraOfTheGhitu { + + public JhoiraOfTheGhitu(UUID ownerId) { + super(ownerId); + this.cardNumber = 157; + this.expansionSetCode = "FUT"; + } + + public JhoiraOfTheGhitu(final JhoiraOfTheGhitu card) { + super(card); + } + + @Override + public JhoiraOfTheGhitu copy() { + return new JhoiraOfTheGhitu(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/DampenThought.java b/Mage.Sets/src/mage/sets/modernmasters/DampenThought.java new file mode 100644 index 00000000000..1d2afa8062b --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/DampenThought.java @@ -0,0 +1,66 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; +import mage.abilities.keyword.SpliceOntoArcaneAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.TargetPlayer; + +/** + * + * @author LevelX2 + */ +public class DampenThought extends CardImpl { + + public DampenThought(UUID ownerId) { + super(ownerId, 39, "Dampen Thought", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{U}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Arcane"); + + this.color.setBlue(true); + + // Target player puts the top four cards of his or her library into his or her graveyard. + this.getSpellAbility().addEffect(new PutLibraryIntoGraveTargetEffect(4)); + this.getSpellAbility().addTarget(new TargetPlayer(true)); + // Splice onto Arcane {1}{U} + this.addAbility(new SpliceOntoArcaneAbility("{1}{U}")); + } + + public DampenThought(final DampenThought card) { + super(card); + } + + @Override + public DampenThought copy() { + return new DampenThought(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/GlacialRay.java b/Mage.Sets/src/mage/sets/modernmasters/GlacialRay.java new file mode 100644 index 00000000000..73b0f4b3471 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/GlacialRay.java @@ -0,0 +1,66 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.SpliceOntoArcaneAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author LevelX2 + */ +public class GlacialRay extends CardImpl { + + public GlacialRay(UUID ownerId) { + super(ownerId, 115, "Glacial Ray", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Arcane"); + + this.color.setRed(true); + + // Glacial Ray deals 2 damage to target creature or player. + this.getSpellAbility().addEffect(new DamageTargetEffect(2)); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer(true)); + // Splice onto Arcane {1}{R} + this.addAbility(new SpliceOntoArcaneAbility("{1}{R}")); + } + + public GlacialRay(final GlacialRay card) { + super(card); + } + + @Override + public GlacialRay copy() { + return new GlacialRay(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java b/Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java new file mode 100644 index 00000000000..d791c6277c1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java @@ -0,0 +1,149 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.ExileFromHandCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.GainAbilityTargetEffect; +import mage.abilities.keyword.SuspendAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterNonlandCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInHand; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author LevelX2 + */ +public class JhoiraOfTheGhitu extends CardImpl { + + public JhoiraOfTheGhitu(UUID ownerId) { + super(ownerId, 177, "Jhoira of the Ghitu", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{U}{R}"); + this.expansionSetCode = "MMA"; + this.supertype.add("Legendary"); + this.subtype.add("Human"); + this.subtype.add("Wizard"); + + this.color.setRed(true); + this.color.setBlue(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {2}, Exile a nonland card from your hand: Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new JhoiraOfTheGhituSuspendEffect(), new GenericManaCost(2)); + ability.addCost(new ExileFromHandCost(new TargetCardInHand(new FilterNonlandCard("a nonland card from your hand")))); + this.addAbility(ability); + + } + + public JhoiraOfTheGhitu(final JhoiraOfTheGhitu card) { + super(card); + } + + @Override + public JhoiraOfTheGhitu copy() { + return new JhoiraOfTheGhitu(this); + } +} + +class JhoiraOfTheGhituSuspendEffect extends OneShotEffect { + + public JhoiraOfTheGhituSuspendEffect() { + super(Outcome.PutCardInPlay); + this.staticText = "Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend (At the beginning of your upkeep, remove a time counter from that card. When the last is removed, cast it without paying its mana cost. If it's a creature, it has haste.)"; + } + + public JhoiraOfTheGhituSuspendEffect(final JhoiraOfTheGhituSuspendEffect effect) { + super(effect); + } + + @Override + public JhoiraOfTheGhituSuspendEffect copy() { + return new JhoiraOfTheGhituSuspendEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller == null) { + return false; + } + List cards = new ArrayList(); + for (Cost cost: source.getCosts()) { + if (cost instanceof ExileFromHandCost) { + cards = ((ExileFromHandCost) cost).getCards(); + } + } + if (cards != null && !cards.isEmpty()) { + Card card = game.getCard(cards.get(0).getId()); + boolean hasSuspend = false; + for (Ability ability :card.getAbilities()) { + if (ability instanceof SuspendAbility) { + hasSuspend = true; + break; + } + } + + UUID exileId = (UUID) game.getState().getValue("SuspendExileId" + source.getControllerId().toString()); + if (exileId == null) { + exileId = UUID.randomUUID(); + game.getState().setValue("SuspendExileId" + source.getControllerId().toString(), exileId); + } + if (card.moveToExile(exileId, new StringBuilder("Suspended cards of ").append(controller.getName()).toString() , source.getSourceId(), game)) { + card.addCounters(CounterType.TIME.createInstance(4), game); + if (!hasSuspend) { + ContinuousEffect effect = new GainAbilityTargetEffect(new SuspendAbility(4, null, card), Duration.OneUse, null, true); + effect.setTargetPointer(new FixedTarget(card.getId())); + game.addEffect(effect, source); + } + game.informPlayers(new StringBuilder(controller.getName()).append(" suspends (").append(4).append(") ").append(card.getName()).toString()); + return true; + } + } + return false; + } +} From afab33d65f1f3769d36997d26465ecc3e9c9f1f2 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 26 Jun 2013 11:14:28 -0500 Subject: [PATCH 093/139] - Added Shield of the Righteous --- .../alarareborn/ShieldOfTheRighteous.java | 80 +++++++++++++++++++ .../BlocksAttachedTriggeredAbility.java | 13 +++ 2 files changed, 93 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/ShieldOfTheRighteous.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/ShieldOfTheRighteous.java b/Mage.Sets/src/mage/sets/alarareborn/ShieldOfTheRighteous.java new file mode 100644 index 00000000000..9f77c7164ac --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/ShieldOfTheRighteous.java @@ -0,0 +1,80 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.abilities.common.BlocksAttachedTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.SkipNextUntapTargetEffect; +import mage.abilities.effects.common.continious.BoostEquippedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class ShieldOfTheRighteous extends CardImpl { + + public ShieldOfTheRighteous(UUID ownerId) { + super(ownerId, 11, "Shield of the Righteous", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{W}{U}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Equipment"); + + this.color.setBlue(true); + this.color.setWhite(true); + + // Equipped creature gets +0/+2 and has vigilance. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 2))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.EQUIPMENT))); + + // Whenever equipped creature blocks a creature, that creature doesn't untap during its controller's next untap step. + this.addAbility(new BlocksAttachedTriggeredAbility(new SkipNextUntapTargetEffect("that creature"), "equipped", false, false, true)); + + // Equip {2} + this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2), new TargetControlledCreaturePermanent())); + } + + public ShieldOfTheRighteous(final ShieldOfTheRighteous card) { + super(card); + } + + @Override + public ShieldOfTheRighteous copy() { + return new ShieldOfTheRighteous(this); + } +} diff --git a/Mage/src/mage/abilities/common/BlocksAttachedTriggeredAbility.java b/Mage/src/mage/abilities/common/BlocksAttachedTriggeredAbility.java index 8b9b87db34b..ba7e08a2965 100644 --- a/Mage/src/mage/abilities/common/BlocksAttachedTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/BlocksAttachedTriggeredAbility.java @@ -19,6 +19,7 @@ import mage.target.targetpointer.FixedTarget; public class BlocksAttachedTriggeredAbility extends TriggeredAbilityImpl{ private boolean setFixedTargetPointer; private String attachedDescription; + private boolean setFixedTargetPointerToBlocked; public BlocksAttachedTriggeredAbility(Effect effect, String attachedDescription, boolean optional) { this(effect, attachedDescription, optional, false); @@ -29,6 +30,13 @@ public class BlocksAttachedTriggeredAbility extends TriggeredAbilityImpl Date: Wed, 26 Jun 2013 22:03:12 +0200 Subject: [PATCH 094/139] Some improvements for Splice onto Arcane Ability (game log text, reveal all spliced cards at once). --- .../mage/abilities/ActivatedAbilityImpl.java | 58 +++++++++++++------ .../abilities/effects/ContinuousEffects.java | 54 +++++++++++++++-- .../keyword/SpliceOntoArcaneAbility.java | 38 ++++++------ 3 files changed, 108 insertions(+), 42 deletions(-) diff --git a/Mage/src/mage/abilities/ActivatedAbilityImpl.java b/Mage/src/mage/abilities/ActivatedAbilityImpl.java index fd270faf351..1f0ca1412e7 100644 --- a/Mage/src/mage/abilities/ActivatedAbilityImpl.java +++ b/Mage/src/mage/abilities/ActivatedAbilityImpl.java @@ -243,31 +243,53 @@ public abstract class ActivatedAbilityImpl> ex } else { sb.append("unknown"); } - if (object instanceof Spell && ((Spell) object).getSpellAbility().getSpellAbilityType().equals(SpellAbilityType.SPLIT_FUSED)) { - Spell spell = (Spell) object; - int i = 0; - for (SpellAbility spellAbility : spell.getSpellAbilities()) { - i++; - String half; - if (i == 1) { - half = " left"; - } else { - half = " right"; + if (object instanceof Spell && ((Spell) object).getSpellAbilities().size() > 1) { + if (((Spell) object).getSpellAbility().getSpellAbilityType().equals(SpellAbilityType.SPLIT_FUSED)) { + Spell spell = (Spell) object; + int i = 0; + for (SpellAbility spellAbility : spell.getSpellAbilities()) { + i++; + String half; + if (i == 1) { + half = " left"; + } else { + half = " right"; + } + if (spellAbility.getTargets().size() > 0) { + sb.append(half).append(" half targeting "); + for (Target target: spellAbility.getTargets()) { + sb.append(target.getTargetedName(game)); + } + } } - if (spellAbility.getTargets().size() > 0) { - sb.append(half).append(" half targeting "); - for (Target target: spellAbility.getTargets()) { - sb.append(target.getTargetedName(game)); + } else { + Spell spell = (Spell) object; + int i = 0; + for (SpellAbility spellAbility : spell.getSpellAbilities()) { + i++; + if ( i > 1) { + sb.append(" splicing "); + if (spellAbility.name.length() > 5 && spellAbility.name.startsWith("Cast ")) { + sb.append(spellAbility.name.substring(5)); + } else { + sb.append(spellAbility.name); + } + } + if (spellAbility.getTargets().size() > 0) { + for (Target target: spellAbility.getTargets()) { + sb.append(" targeting "); + sb.append(target.getTargetedName(game)); + } } } } } else if (object instanceof Spell && ((Spell) object).getSpellAbility().getModes().size() > 1) { - Modes modes = ((Spell) object).getSpellAbility().getModes(); + Modes spellModes = ((Spell) object).getSpellAbility().getModes(); int item = 0; - for (Mode mode : modes.values()) { + for (Mode mode : spellModes.values()) { item++; - if (modes.getSelectedModes().contains(mode.getId())) { - modes.setMode(mode); + if (spellModes.getSelectedModes().contains(mode.getId())) { + spellModes.setMode(mode); sb.append(" (mode ").append(item).append(")"); if (getTargets().size() > 0) { sb.append(" targeting "); diff --git a/Mage/src/mage/abilities/effects/ContinuousEffects.java b/Mage/src/mage/abilities/effects/ContinuousEffects.java index 6919f6ca31b..0cc5102bfcd 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffects.java @@ -38,11 +38,20 @@ import mage.MageObject; import mage.abilities.Ability; import mage.abilities.SpellAbility; import mage.abilities.StaticAbility; +import mage.abilities.keyword.SpliceOntoArcaneAbility; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.Outcome; import mage.constants.SpellAbilityType; +import mage.filter.FilterCard; +import mage.filter.predicate.Predicate; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardIdPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; import mage.players.Player; +import mage.target.common.TargetCardInHand; /** * @@ -434,15 +443,52 @@ public class ContinuousEffects implements Serializable { return; } List spliceEffects = getApplicableSpliceCardEffects(game); - - for ( SpliceCardEffect effect : spliceEffects) { + // get the applyable splice abilities + List spliceAbilities = new ArrayList(); + for (SpliceCardEffect effect : spliceEffects) { HashSet abilities = spliceCardEffects.getAbility(effect.getId()); for (Ability ability : abilities) { - if ( effect.applies(abilityToModify, ability, game) ) { - effect.apply(game, ability, abilityToModify); + if (effect.applies(abilityToModify, ability, game) ) { + spliceAbilities.add((SpliceOntoArcaneAbility) ability); } } } + // check if player wants to use splice + + if (spliceAbilities.size() > 0) { + Player controller = game.getPlayer(abilityToModify.getControllerId()); + if (controller.chooseUse(Outcome.Benefit, "Splice a card?", game)) { + Cards cardsToReveal = new CardsImpl(); + do { + FilterCard filter = new FilterCard("a card to splice"); + ArrayList> idPredicates = new ArrayList>(); + for (SpliceOntoArcaneAbility ability : spliceAbilities) { + idPredicates.add(new CardIdPredicate((ability.getSourceId()))); + } + filter.add(Predicates.or(idPredicates)); + TargetCardInHand target = new TargetCardInHand(filter); + target.setRequired(true); + controller.chooseTarget(Outcome.Benefit, target, abilityToModify, game); + UUID cardId = target.getFirstTarget(); + if (cardId != null) { + SpliceOntoArcaneAbility selectedAbility = null; + for(SpliceOntoArcaneAbility ability :spliceAbilities) { + if (ability.getSourceId().equals(cardId)) { + selectedAbility = ability; + break; + } + } + if (selectedAbility != null) { + SpliceCardEffect spliceEffect = (SpliceCardEffect) selectedAbility.getEffects().get(0); + spliceEffect.apply(game, selectedAbility, abilityToModify); + cardsToReveal.add(game.getCard(cardId)); + spliceAbilities.remove(selectedAbility); + } + } + } while (!spliceAbilities.isEmpty() && controller.chooseUse(Outcome.Benefit, "Splice another card?", game)); + controller.revealCards("Spliced cards", cardsToReveal, game); + } + } } diff --git a/Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java b/Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java index e58bf4bc0a0..299aaf3cc7f 100644 --- a/Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java +++ b/Mage/src/mage/abilities/keyword/SpliceOntoArcaneAbility.java @@ -106,6 +106,7 @@ public class SpliceOntoArcaneAbility extends SimpleStaticAbility { private static final String KEYWORD_TEXT = "Splice onto Arcane"; private Costs spliceCosts = new CostsImpl(); + private boolean nonManaCosts = false; public SpliceOntoArcaneAbility(String manaString) { super(Zone.HAND, new SpliceOntoArcaneEffect()); @@ -115,11 +116,13 @@ public class SpliceOntoArcaneAbility extends SimpleStaticAbility { public SpliceOntoArcaneAbility(Cost cost) { super(Zone.HAND, new SpliceOntoArcaneEffect()); spliceCosts.add(cost); + nonManaCosts = true; } public SpliceOntoArcaneAbility(final SpliceOntoArcaneAbility ability) { super(ability); this.spliceCosts = ability.spliceCosts.copy(); + this.nonManaCosts = ability.nonManaCosts; } @Override @@ -134,9 +137,9 @@ public class SpliceOntoArcaneAbility extends SimpleStaticAbility { @Override public String getRule() { StringBuilder sb = new StringBuilder(); - sb.append(KEYWORD_TEXT).append(" "); - sb.append(spliceCosts.getText()); - sb.append(" (As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.)"); + sb.append(KEYWORD_TEXT).append(nonManaCosts?"-":" "); + sb.append(spliceCosts.getText()).append(nonManaCosts?". ":" "); + sb.append("(As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.)"); return sb.toString(); } } @@ -165,24 +168,19 @@ class SpliceOntoArcaneEffect extends SpliceCardEffectImpl Date: Wed, 26 Jun 2013 22:04:04 +0200 Subject: [PATCH 095/139] Added checking if file for deck importer exists. --- Mage/src/mage/cards/decks/importer/DeckImporter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Mage/src/mage/cards/decks/importer/DeckImporter.java b/Mage/src/mage/cards/decks/importer/DeckImporter.java index 6af78ca0cf2..0f50787b9a5 100644 --- a/Mage/src/mage/cards/decks/importer/DeckImporter.java +++ b/Mage/src/mage/cards/decks/importer/DeckImporter.java @@ -46,6 +46,10 @@ public abstract class DeckImporter { public DeckCardLists importDeck(String file) { File f = new File(file); DeckCardLists deckList = new DeckCardLists(); + if (!f.exists()) { + logger.warn("Deckfile " + file + " not found."); + return deckList; + } lineCount = 0; sbMessage.setLength(0); try { From 4676b617da4cf0f75b960f16acb81887736db552 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 26 Jun 2013 22:04:45 +0200 Subject: [PATCH 096/139] Some rule text generation improvement for ExileFromGraveCost. --- .../mage/abilities/costs/common/ExileFromGraveCost.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Mage/src/mage/abilities/costs/common/ExileFromGraveCost.java b/Mage/src/mage/abilities/costs/common/ExileFromGraveCost.java index 053c9f0f295..b877e972408 100644 --- a/Mage/src/mage/abilities/costs/common/ExileFromGraveCost.java +++ b/Mage/src/mage/abilities/costs/common/ExileFromGraveCost.java @@ -28,16 +28,16 @@ package mage.abilities.costs.common; -import mage.constants.Outcome; +import java.util.UUID; import mage.abilities.Ability; import mage.abilities.costs.CostImpl; import mage.cards.Card; +import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInYourGraveyard; - -import java.util.UUID; +import mage.util.CardUtil; /** * @@ -48,7 +48,7 @@ public class ExileFromGraveCost extends CostImpl { public ExileFromGraveCost(TargetCardInYourGraveyard target) { this.addTarget(target); if (target.getMaxNumberOfTargets() > 1) { - this.text = "Exile " + target.getMaxNumberOfTargets() + " " + target.getTargetName(); + this.text = "Exile " + CardUtil.numberToText(target.getMaxNumberOfTargets()) + " " + target.getTargetName(); } else { this.text = "Exile " + target.getTargetName(); From 59585393b12ac0ae946d2ac6809c922904b0525f Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 26 Jun 2013 22:05:53 +0200 Subject: [PATCH 097/139] [MMA] Added 3 cards. --- .../betrayersofkamigawa/HorobisWhisper.java | 90 +++++++++++++++++++ .../betrayersofkamigawa/TorrentOfStone.java | 75 ++++++++++++++++ .../championsofkamigawa/DesperateRitual.java | 54 +++++++++++ .../sets/modernmasters/DesperateRitual.java | 65 ++++++++++++++ .../sets/modernmasters/HorobisWhisper.java | 54 +++++++++++ .../sets/modernmasters/TorrentOfStone.java | 52 +++++++++++ 6 files changed, 390 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/betrayersofkamigawa/HorobisWhisper.java create mode 100644 Mage.Sets/src/mage/sets/betrayersofkamigawa/TorrentOfStone.java create mode 100644 Mage.Sets/src/mage/sets/championsofkamigawa/DesperateRitual.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/DesperateRitual.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/HorobisWhisper.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/TorrentOfStone.java diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/HorobisWhisper.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/HorobisWhisper.java new file mode 100644 index 00000000000..32fe18a1506 --- /dev/null +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/HorobisWhisper.java @@ -0,0 +1,90 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.betrayersofkamigawa; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.costs.common.ExileFromGraveCost; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.SpliceOntoArcaneAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetCardInYourGraveyard; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class HorobisWhisper extends CardImpl { + + private static final FilterCreaturePermanent filterTarget = new FilterCreaturePermanent("nonblack creature"); + private static final FilterLandPermanent filterCondition = new FilterLandPermanent("Swamp"); + + static { + filterTarget.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); + filterCondition.add(new SubtypePredicate("Swamp")); + } + + public HorobisWhisper(UUID ownerId) { + super(ownerId, 70, "Horobi's Whisper", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{B}{B}"); + this.expansionSetCode = "BOK"; + this.subtype.add("Arcane"); + + this.color.setBlack(true); + + + // If you control a Swamp, destroy target nonblack creature. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DestroyTargetEffect(), + new ControlsPermanentCondition(filterCondition),"If you control a Swamp, destroy target nonblack creature")); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterTarget) ); + + // Splice onto Arcane-Exile four cards from your graveyard. + this.addAbility(new SpliceOntoArcaneAbility(new ExileFromGraveCost(new TargetCardInYourGraveyard(4,4, new FilterCard("cards"))))); + + + } + + public HorobisWhisper(final HorobisWhisper card) { + super(card); + } + + @Override + public HorobisWhisper copy() { + return new HorobisWhisper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/TorrentOfStone.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/TorrentOfStone.java new file mode 100644 index 00000000000..8c77e1470a5 --- /dev/null +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/TorrentOfStone.java @@ -0,0 +1,75 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.betrayersofkamigawa; + +import java.util.UUID; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.SpliceOntoArcaneAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetControlledPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class TorrentOfStone extends CardImpl { + private static final FilterLandPermanent filterSacrifice = new FilterLandPermanent("two Mountains"); + + static { + filterSacrifice.add(new SubtypePredicate("Mountain")); + } + + public TorrentOfStone(UUID ownerId) { + super(ownerId, 119, "Torrent of Stone", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{R}"); + this.expansionSetCode = "BOK"; + this.subtype.add("Arcane"); + + this.color.setRed(true); + + // Torrent of Stone deals 4 damage to target creature. + this.getSpellAbility().addEffect(new DamageTargetEffect(4)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + // Splice onto Arcane-Sacrifice two Mountains. + this.addAbility(new SpliceOntoArcaneAbility(new SacrificeTargetCost(new TargetControlledPermanent(2,2, filterSacrifice, false)))); + } + + public TorrentOfStone(final TorrentOfStone card) { + super(card); + } + + @Override + public TorrentOfStone copy() { + return new TorrentOfStone(this); + } +} diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/DesperateRitual.java b/Mage.Sets/src/mage/sets/championsofkamigawa/DesperateRitual.java new file mode 100644 index 00000000000..f77e08f550d --- /dev/null +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/DesperateRitual.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.championsofkamigawa; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class DesperateRitual extends mage.sets.modernmasters.DesperateRitual { + + public DesperateRitual(UUID ownerId) { + super(ownerId); + this.cardNumber = 163; + this.expansionSetCode = "CHK"; + this.rarity = Rarity.COMMON; + } + + public DesperateRitual(final DesperateRitual card) { + super(card); + } + + @Override + public DesperateRitual copy() { + return new DesperateRitual(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/DesperateRitual.java b/Mage.Sets/src/mage/sets/modernmasters/DesperateRitual.java new file mode 100644 index 00000000000..aa8e6837082 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/DesperateRitual.java @@ -0,0 +1,65 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.effects.common.BasicManaEffect; +import mage.abilities.keyword.SpliceOntoArcaneAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class DesperateRitual extends CardImpl { + + public DesperateRitual(UUID ownerId) { + super(ownerId, 110, "Desperate Ritual", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{R}"); + this.expansionSetCode = "MMA"; + this.subtype.add("Arcane"); + + this.color.setRed(true); + + // Add {R}{R}{R} to your mana pool. + this.getSpellAbility().addEffect(new BasicManaEffect(new Mana(3, 0, 0, 0, 0, 0, 0))); + // Splice onto Arcane {1}{R} + this.addAbility(new SpliceOntoArcaneAbility("{1}{R}")); + } + + public DesperateRitual(final DesperateRitual card) { + super(card); + } + + @Override + public DesperateRitual copy() { + return new DesperateRitual(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/HorobisWhisper.java b/Mage.Sets/src/mage/sets/modernmasters/HorobisWhisper.java new file mode 100644 index 00000000000..a184763a994 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/HorobisWhisper.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class HorobisWhisper extends mage.sets.betrayersofkamigawa.HorobisWhisper { + + public HorobisWhisper(UUID ownerId) { + super(ownerId); + this.cardNumber = 88; + this.expansionSetCode = "MMA"; + this.rarity = Rarity.UNCOMMON; + } + + public HorobisWhisper(final HorobisWhisper card) { + super(card); + } + + @Override + public HorobisWhisper copy() { + return new HorobisWhisper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/modernmasters/TorrentOfStone.java b/Mage.Sets/src/mage/sets/modernmasters/TorrentOfStone.java new file mode 100644 index 00000000000..bc8ba0e686c --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/TorrentOfStone.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class TorrentOfStone extends mage.sets.betrayersofkamigawa.TorrentOfStone { + + public TorrentOfStone(UUID ownerId) { + super(ownerId); + this.cardNumber = 137; + this.expansionSetCode = "MMA"; + } + + public TorrentOfStone(final TorrentOfStone card) { + super(card); + } + + @Override + public TorrentOfStone copy() { + return new TorrentOfStone(this); + } +} From 3a9c5f709ac188976c95d41aa5fc1f55e76ddf35 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 27 Jun 2013 16:27:36 +0200 Subject: [PATCH 098/139] * Kicker added support for Kicker X. --- .../dynamicvalue/common/MultikickerCount.java | 2 +- .../mage/abilities/keyword/KickerAbility.java | 23 ++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Mage/src/mage/abilities/dynamicvalue/common/MultikickerCount.java b/Mage/src/mage/abilities/dynamicvalue/common/MultikickerCount.java index 5f70fe6f98d..05276d85c3f 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/MultikickerCount.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/MultikickerCount.java @@ -57,7 +57,7 @@ public class MultikickerCount implements DynamicValue { } @Override - public DynamicValue copy() { + public MultikickerCount copy() { return new MultikickerCount(); } diff --git a/Mage/src/mage/abilities/keyword/KickerAbility.java b/Mage/src/mage/abilities/keyword/KickerAbility.java index 12e08e9e6f3..96ed1816fed 100644 --- a/Mage/src/mage/abilities/keyword/KickerAbility.java +++ b/Mage/src/mage/abilities/keyword/KickerAbility.java @@ -31,8 +31,6 @@ package mage.abilities.keyword; import java.util.Iterator; import java.util.LinkedList; import java.util.List; - -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.SpellAbility; import mage.abilities.StaticAbility; @@ -41,8 +39,11 @@ import mage.abilities.costs.Costs; import mage.abilities.costs.OptionalAdditionalCost; import mage.abilities.costs.OptionalAdditionalCostImpl; import mage.abilities.costs.OptionalAdditionalSourceCosts; +import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.costs.mana.VariableManaCost; import mage.constants.Outcome; +import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -88,6 +89,7 @@ public class KickerAbility extends StaticAbility implements Optio protected String keywordText; protected String reminderText; protected List kickerCosts = new LinkedList(); + private int xManaValue = 0; public KickerAbility(String manaString) { this(KICKER_KEYWORD, KICKER_REMINDER_MANA); @@ -112,6 +114,8 @@ public class KickerAbility extends StaticAbility implements Optio this.kickerCosts = ability.kickerCosts; this.keywordText = ability.keywordText; this.reminderText = ability.reminderText; + this.xManaValue = ability.xManaValue; + } @Override @@ -137,6 +141,10 @@ public class KickerAbility extends StaticAbility implements Optio } } + public int getXManaValue() { + return xManaValue; + } + public int getKickedCounter() { int counter = 0; for (OptionalAdditionalCost cost: kickerCosts) { @@ -178,7 +186,16 @@ public class KickerAbility extends StaticAbility implements Optio for (Iterator it = ((Costs) kickerCost).iterator(); it.hasNext();) { Cost cost = (Cost) it.next(); if (cost instanceof ManaCostsImpl) { - ability.getManaCostsToPay().add((ManaCostsImpl) cost.copy()); + List varCosts = ((ManaCostsImpl)cost).getVariableCosts(); + if (varCosts != null) { + // use only first variable cost + xManaValue = game.getPlayer(this.controllerId).announceXMana(varCosts.get(0).getMinX(), Integer.MAX_VALUE, "Announce kicker value for " + varCosts.get(0).getText(), game, this); + // kicker variable X costs handled internally as multikicker with {1} cost (no multikicker on card) + game.informPlayers(new StringBuilder(game.getPlayer(this.controllerId).getName()).append(" announced a value of ").append(xManaValue).append(" for ").append(" kicker X ").toString()); + ability.getManaCostsToPay().add(new GenericManaCost(xManaValue)); + } else { + ability.getManaCostsToPay().add((ManaCostsImpl) cost.copy()); + } } else { ability.getCosts().add(cost.copy()); } From 3131b5fd90b1d94c109bc82dfb395727effc76f7 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 27 Jun 2013 16:28:01 +0200 Subject: [PATCH 099/139] [MMA] Added Verdeloth the Ancient. --- .../sets/invasion/VerdelothTheAncient.java | 128 ++++++++++++++++++ .../modernmasters/VerdelothTheAncient.java | 52 +++++++ .../sets/timeshifted/VerdelothTheAncient.java | 54 ++++++++ 3 files changed, 234 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/invasion/VerdelothTheAncient.java create mode 100644 Mage.Sets/src/mage/sets/modernmasters/VerdelothTheAncient.java create mode 100644 Mage.Sets/src/mage/sets/timeshifted/VerdelothTheAncient.java diff --git a/Mage.Sets/src/mage/sets/invasion/VerdelothTheAncient.java b/Mage.Sets/src/mage/sets/invasion/VerdelothTheAncient.java new file mode 100644 index 00000000000..097592c3486 --- /dev/null +++ b/Mage.Sets/src/mage/sets/invasion/VerdelothTheAncient.java @@ -0,0 +1,128 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.invasion; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.MultikickerCount; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continious.BoostAllEffect; +import mage.abilities.keyword.KickerAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.PermanentIdPredicate; +import mage.game.Game; +import mage.game.permanent.token.SaprolingToken; + +/** + * + * @author LevelX2 + */ +public class VerdelothTheAncient extends CardImpl { + + public VerdelothTheAncient(UUID ownerId) { + super(ownerId, 220, "Verdeloth the Ancient", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); + this.expansionSetCode = "INV"; + this.supertype.add("Legendary"); + this.subtype.add("Treefolk"); + + this.color.setGreen(true); + this.power = new MageInt(4); + this.toughness = new MageInt(7); + + // Kicker {X} + this.addAbility(new KickerAbility("{X}")); + // Saproling creatures and other Treefolk creatures get +1/+1. + FilterCreaturePermanent filter = new FilterCreaturePermanent("Saproling creatures and other Treefolk creatures"); + filter.add(Predicates.or( + Predicates.and(new SubtypePredicate("Treefolk"), Predicates.not(new PermanentIdPredicate(this.getId())), + new SubtypePredicate("Saproling")))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1,1, Duration.WhileOnBattlefield, filter, false))); + // When Verdeloth the Ancient enters the battlefield, if it was kicked, put X 1/1 green Saproling creature tokens onto the battlefield. + EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SaprolingToken(), new GetKickerXValue()), false); + this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.getInstance(), + "When {this} enters the battlefield, if it was kicked, put X 1/1 green Saproling creature tokens onto the battlefield.")); + } + + public VerdelothTheAncient(final VerdelothTheAncient card) { + super(card); + } + + @Override + public VerdelothTheAncient copy() { + return new VerdelothTheAncient(this); + } +} + +class GetKickerXValue implements DynamicValue { + + public GetKickerXValue() { + } + + @Override + public int calculate(Game game, Ability source) { + int count = 0; + Card card = game.getCard(source.getSourceId()); + if (card != null) { + for (Ability ability: card.getAbilities()) { + if (ability instanceof KickerAbility) { + count += ((KickerAbility) ability).getXManaValue(); + } + } + } + return count; + } + + @Override + public GetKickerXValue copy() { + return new GetKickerXValue(); + } + + @Override + public String toString() { + return "X"; + }; + + @Override + public String getMessage() { + return "X"; + }; +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/modernmasters/VerdelothTheAncient.java b/Mage.Sets/src/mage/sets/modernmasters/VerdelothTheAncient.java new file mode 100644 index 00000000000..7fcc11e8189 --- /dev/null +++ b/Mage.Sets/src/mage/sets/modernmasters/VerdelothTheAncient.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.modernmasters; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class VerdelothTheAncient extends mage.sets.invasion.VerdelothTheAncient { + + public VerdelothTheAncient(UUID ownerId) { + super(ownerId); + this.cardNumber = 172; + this.expansionSetCode = "MMA"; + } + + public VerdelothTheAncient(final VerdelothTheAncient card) { + super(card); + } + + @Override + public VerdelothTheAncient copy() { + return new VerdelothTheAncient(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timeshifted/VerdelothTheAncient.java b/Mage.Sets/src/mage/sets/timeshifted/VerdelothTheAncient.java new file mode 100644 index 00000000000..60183eb6528 --- /dev/null +++ b/Mage.Sets/src/mage/sets/timeshifted/VerdelothTheAncient.java @@ -0,0 +1,54 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.timeshifted; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class VerdelothTheAncient extends mage.sets.invasion.VerdelothTheAncient { + + public VerdelothTheAncient(UUID ownerId) { + super(ownerId); + this.cardNumber = 88; + this.expansionSetCode = "TSB"; + this.rarity = Rarity.SPECIAL; + } + + public VerdelothTheAncient(final VerdelothTheAncient card) { + super(card); + } + + @Override + public VerdelothTheAncient copy() { + return new VerdelothTheAncient(this); + } +} From 528f49bfe803a07a9fb8eccec35bcec9545d4d23 Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 27 Jun 2013 11:56:37 -0500 Subject: [PATCH 100/139] - Added Double Negative and Knight of New Alara. --- .../mage/sets/alarareborn/DoubleNegative.java | 67 ++++++++ .../sets/alarareborn/KnightOfNewAlara.java | 150 ++++++++++++++++++ .../effects/common/CounterTargetEffect.java | 66 ++++---- 3 files changed, 254 insertions(+), 29 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/DoubleNegative.java create mode 100644 Mage.Sets/src/mage/sets/alarareborn/KnightOfNewAlara.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/DoubleNegative.java b/Mage.Sets/src/mage/sets/alarareborn/DoubleNegative.java new file mode 100644 index 00000000000..4fb2cadd7d6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/DoubleNegative.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterSpell; +import mage.target.TargetSpell; + +/** + * + * @author jeffwadsworth + */ +public class DoubleNegative extends CardImpl { + + public DoubleNegative(UUID ownerId) { + super(ownerId, 87, "Double Negative", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{U}{U}{R}"); + this.expansionSetCode = "ARB"; + + this.color.setRed(true); + this.color.setBlue(true); + + // Counter up to two target spells. + Effect effect = new CounterTargetEffect(); + effect.setText("Counter up to two target spells"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetSpell(0, 2, new FilterSpell())); + } + + public DoubleNegative(final DoubleNegative card) { + super(card); + } + + @Override + public DoubleNegative copy() { + return new DoubleNegative(this); + } +} diff --git a/Mage.Sets/src/mage/sets/alarareborn/KnightOfNewAlara.java b/Mage.Sets/src/mage/sets/alarareborn/KnightOfNewAlara.java new file mode 100644 index 00000000000..505fbc33c52 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/KnightOfNewAlara.java @@ -0,0 +1,150 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Layer; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.SubLayer; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.mageobject.MulticoloredPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author jeffwadsworth + */ +public class KnightOfNewAlara extends CardImpl { + + public KnightOfNewAlara(UUID ownerId) { + super(ownerId, 70, "Knight of New Alara", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{G}{W}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Human"); + this.subtype.add("Knight"); + + this.color.setGreen(true); + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Each other multicolored creature you control gets +1/+1 for each of its colors. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KnightOfNewAlaraEffect())); + + } + + public KnightOfNewAlara(final KnightOfNewAlara card) { + super(card); + } + + @Override + public KnightOfNewAlara copy() { + return new KnightOfNewAlara(this); + } +} + +class KnightOfNewAlaraEffect extends ContinuousEffectImpl { + + public KnightOfNewAlaraEffect() { + super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.BoostCreature); + staticText = "Each other multicolored creature you control gets +1/+1 for each of its colors"; + } + + public KnightOfNewAlaraEffect(final KnightOfNewAlaraEffect effect) { + super(effect); + } + + @Override + public KnightOfNewAlaraEffect copy() { + return new KnightOfNewAlaraEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); + filter.add(new MulticoloredPredicate()); + for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game)) { + DynamicValue colors = new KnightOfNewAlaraColorCount(creature); + if (creature != null + && creature != game.getPermanent(source.getSourceId())) { + creature.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(colors, colors, Duration.WhileOnBattlefield)), source.getId(), game); + } + } + return true; + } +} + +class KnightOfNewAlaraColorCount implements DynamicValue { + + final Permanent creature; + private int count; + + public KnightOfNewAlaraColorCount(Permanent creature) { + this.creature = creature; + this.count = 0; + } + + public KnightOfNewAlaraColorCount(final KnightOfNewAlaraColorCount dynamicValue) { + this.creature = dynamicValue.creature; + this.count = dynamicValue.count; + } + + @Override + public int calculate(Game game, Ability source) { + if (creature != null) { + count = creature.getColor().getColorCount(); + } + return count; + } + + @Override + public DynamicValue copy() { + return new KnightOfNewAlaraColorCount(this); + } + + @Override + public String toString() { + return "1"; + } + + @Override + public String getMessage() { + return "of its colors"; + } +} \ No newline at end of file diff --git a/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java b/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java index a756b4b819d..b0d764e2c9e 100644 --- a/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java @@ -1,33 +1,33 @@ /* -* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. -* -* Redistribution and use in source and binary forms, with or without modification, are -* permitted provided that the following conditions are met: -* -* 1. Redistributions of source code must retain the above copyright notice, this list of -* conditions and the following disclaimer. -* -* 2. Redistributions in binary form must reproduce the above copyright notice, this list -* of conditions and the following disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED -* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR -* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* The views and conclusions contained in the software and documentation are those of the -* authors and should not be interpreted as representing official policies, either expressed -* or implied, of BetaSteward_at_googlemail.com. -*/ - + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ package mage.abilities.effects.common; +import java.util.UUID; import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.Mode; @@ -55,12 +55,20 @@ public class CounterTargetEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - return game.getStack().counter(source.getFirstTarget(), source.getSourceId(), game); + boolean countered = false; + for (UUID targetId : source.getTargets().get(0).getTargets()) { + if (game.getStack().counter(targetId, source.getSourceId(), game)) { + countered = true; + } + } + return countered; } @Override public String getText(Mode mode) { + if (staticText != null && !staticText.isEmpty()) { + return staticText; + } return "Counter target " + mode.getTargets().get(0).getTargetName(); } - } From 83ba45479d147e38220231acb353e65771b40cfc Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 27 Jun 2013 14:56:58 -0500 Subject: [PATCH 101/139] - Added Godtracker of Jund, Leonin Armorguard, and Reborn Hope. --- .../sets/alarareborn/GodtrackerOfJund.java | 80 +++++++++++++++++++ .../sets/alarareborn/LeoninArmorguard.java | 77 ++++++++++++++++++ .../src/mage/sets/alarareborn/RebornHope.java | 71 ++++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/GodtrackerOfJund.java create mode 100644 Mage.Sets/src/mage/sets/alarareborn/LeoninArmorguard.java create mode 100644 Mage.Sets/src/mage/sets/alarareborn/RebornHope.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/GodtrackerOfJund.java b/Mage.Sets/src/mage/sets/alarareborn/GodtrackerOfJund.java new file mode 100644 index 00000000000..3477f083c94 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/GodtrackerOfJund.java @@ -0,0 +1,80 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.Filter; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.mageobject.PowerPredicate; + +/** + * + * @author jeffwadsworth + */ +public class GodtrackerOfJund extends CardImpl { + + final private static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); + + static { + filter.add(new PowerPredicate(Filter.ComparisonType.GreaterThan, 4)); + } + + String rule = "Whenever a creature with power 5 or greater enters the battlefield under your control, you may put a +1/+1 counter on Godtracker of Jund."; + + public GodtrackerOfJund(UUID ownerId) { + super(ownerId, 55, "Godtracker of Jund", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}{G}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Elf"); + this.subtype.add("Shaman"); + + this.color.setRed(true); + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Whenever a creature with power 5 or greater enters the battlefield under your control, you may put a +1/+1 counter on Godtracker of Jund. + this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), filter, true, rule, true)); + } + + public GodtrackerOfJund(final GodtrackerOfJund card) { + super(card); + } + + @Override + public GodtrackerOfJund copy() { + return new GodtrackerOfJund(this); + } +} diff --git a/Mage.Sets/src/mage/sets/alarareborn/LeoninArmorguard.java b/Mage.Sets/src/mage/sets/alarareborn/LeoninArmorguard.java new file mode 100644 index 00000000000..17ffd5b5ebf --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/LeoninArmorguard.java @@ -0,0 +1,77 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.continious.BoostAllEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; + +/** + * + * @author jeffwadsworth + */ +public class LeoninArmorguard extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures you control"); + + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + } + + public LeoninArmorguard(UUID ownerId) { + super(ownerId, 72, "Leonin Armorguard", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{G}{W}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Cat"); + this.subtype.add("Soldier"); + + this.color.setGreen(true); + this.color.setWhite(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Leonin Armorguard enters the battlefield, creatures you control get +1/+1 until end of turn. + this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostAllEffect(1, 1, Duration.EndOfTurn, filter, false))); + } + + public LeoninArmorguard(final LeoninArmorguard card) { + super(card); + } + + @Override + public LeoninArmorguard copy() { + return new LeoninArmorguard(this); + } +} diff --git a/Mage.Sets/src/mage/sets/alarareborn/RebornHope.java b/Mage.Sets/src/mage/sets/alarareborn/RebornHope.java new file mode 100644 index 00000000000..2ee8ed947cc --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/RebornHope.java @@ -0,0 +1,71 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.MulticoloredPredicate; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author jeffwadsworth + */ +public class RebornHope extends CardImpl { + + private static final FilterCard filter = new FilterCard("multicolored card from your graveyard"); + + static { + filter.add(new MulticoloredPredicate()); + } + + public RebornHope(UUID ownerId) { + super(ownerId, 76, "Reborn Hope", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{G}{W}"); + this.expansionSetCode = "ARB"; + + this.color.setGreen(true); + this.color.setWhite(true); + + // Return target multicolored card from your graveyard to your hand. + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filter)); + this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); + } + + public RebornHope(final RebornHope card) { + super(card); + } + + @Override + public RebornHope copy() { + return new RebornHope(this); + } +} From cc50a0866cee72c6e359eb4a63539d92f95b2f98 Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 27 Jun 2013 17:00:23 -0500 Subject: [PATCH 102/139] - Added Dragon Appeasement, Karrthus, Tyrant of Jund, and Jund Sojourners. --- .../sets/alarareborn/DragonAppeasement.java | 143 +++++++++++++++ .../mage/sets/alarareborn/JundSojourners.java | 81 +++++++++ .../alarareborn/KarrthusTyrantOfJund.java | 169 ++++++++++++++++++ 3 files changed, 393 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java create mode 100644 Mage.Sets/src/mage/sets/alarareborn/JundSojourners.java create mode 100644 Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java b/Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java new file mode 100644 index 00000000000..7ebc43da3ca --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/DragonAppeasement.java @@ -0,0 +1,143 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * + * @author jeffwadsworth + */ +public class DragonAppeasement extends CardImpl { + + public DragonAppeasement(UUID ownerId) { + super(ownerId, 115, "Dragon Appeasement", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}{R}{G}"); + this.expansionSetCode = "ARB"; + + this.color.setRed(true); + this.color.setGreen(true); + this.color.setBlack(true); + + // Skip your draw step. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipYourDrawStepEffect())); + + // Whenever you sacrifice a creature, you may draw a card. + this.addAbility(new DragonAppeasementTriggeredAbility()); + + } + + public DragonAppeasement(final DragonAppeasement card) { + super(card); + } + + @Override + public DragonAppeasement copy() { + return new DragonAppeasement(this); + } +} + +class SkipYourDrawStepEffect extends ReplacementEffectImpl { + + public SkipYourDrawStepEffect() { + super(Duration.WhileOnBattlefield, Outcome.Neutral); + staticText = "Skip your draw step"; + } + + public SkipYourDrawStepEffect(final SkipYourDrawStepEffect effect) { + super(effect); + } + + @Override + public SkipYourDrawStepEffect copy() { + return new SkipYourDrawStepEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event.getType() == GameEvent.EventType.DRAW_STEP + && (event.getPlayerId().equals(source.getControllerId()))) { + return true; + } + return false; + } +} + +class DragonAppeasementTriggeredAbility extends TriggeredAbilityImpl { + + public DragonAppeasementTriggeredAbility() { + super(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), true); + } + + public DragonAppeasementTriggeredAbility(final DragonAppeasementTriggeredAbility ability) { + super(ability); + } + + @Override + public DragonAppeasementTriggeredAbility copy() { + return new DragonAppeasementTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.SACRIFICED_PERMANENT + && event.getPlayerId().equals(this.getControllerId()) + && game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).getCardType().contains(CardType.CREATURE)) { + return true; + } + return false; + } + + @Override + public String getRule() { + return "Whenever you sacrifice a creature, " + super.getRule(); + } +} + diff --git a/Mage.Sets/src/mage/sets/alarareborn/JundSojourners.java b/Mage.Sets/src/mage/sets/alarareborn/JundSojourners.java new file mode 100644 index 00000000000..f3fd621bd93 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/JundSojourners.java @@ -0,0 +1,81 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CycleTriggeredAbility; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author jeffwadsworth + */ +public class JundSojourners extends CardImpl { + + public JundSojourners(UUID ownerId) { + super(ownerId, 116, "Jund Sojourners", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{B}{R}{G}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Viashino"); + this.subtype.add("Shaman"); + + this.color.setRed(true); + this.color.setGreen(true); + this.color.setBlack(true); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When you cycle Jund Sojourners or it dies, you may have it deal 1 damage to target creature or player. + Ability ability1 = new CycleTriggeredAbility(new DamageTargetEffect(1)); + Ability ability2 = new DiesTriggeredAbility(new DamageTargetEffect(1)); + ability1.addTarget(new TargetCreatureOrPlayer()); + ability2.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability1); + this.addAbility(ability2); + + // Cycling {2}{R} + this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{R}"))); + } + + public JundSojourners(final JundSojourners card) { + super(card); + } + + @Override + public JundSojourners copy() { + return new JundSojourners(this); + } +} diff --git a/Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java b/Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java new file mode 100644 index 00000000000..c9466738412 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java @@ -0,0 +1,169 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.List; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.GainAbilityAllEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Layer; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.SubLayer; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author jeffwadsworth + */ +public class KarrthusTyrantOfJund extends CardImpl { + + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("all dragons you control"); + + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + filter.add(new SubtypePredicate("Dragon")); + } + + public KarrthusTyrantOfJund(UUID ownerId) { + super(ownerId, 117, "Karrthus, Tyrant of Jund", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{4}{B}{R}{G}"); + this.expansionSetCode = "ARB"; + this.supertype.add("Legendary"); + this.subtype.add("Dragon"); + + this.color.setRed(true); + this.color.setGreen(true); + this.color.setBlack(true); + this.power = new MageInt(7); + this.toughness = new MageInt(7); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Haste + this.addAbility(HasteAbility.getInstance()); + + // When Karrthus, Tyrant of Jund enters the battlefield, gain control of all Dragons, then untap all Dragons. + this.addAbility(new EntersBattlefieldTriggeredAbility(new KarrthusEffect())); + + // Other Dragon creatures you control have haste. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter, true))); + + } + + public KarrthusTyrantOfJund(final KarrthusTyrantOfJund card) { + super(card); + } + + @Override + public KarrthusTyrantOfJund copy() { + return new KarrthusTyrantOfJund(this); + } +} + +class KarrthusEffect extends OneShotEffect { + + public KarrthusEffect() { + super(Outcome.GainControl); + this.staticText = "gain control of all dragons"; + } + + public KarrthusEffect(final KarrthusEffect effect) { + super(effect); + } + + @Override + public KarrthusEffect copy() { + return new KarrthusEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + FilterPermanent filter = new FilterPermanent(); + filter.add(new SubtypePredicate("Dragon")); + List dragons = game.getBattlefield().getAllActivePermanents(filter, game); + for (Permanent dragon : dragons) { + ContinuousEffect effect = new KarrthusControlEffect(source.getControllerId()); + effect.setTargetPointer(new FixedTarget(dragon.getId())); + game.addEffect(effect, source); + } + for (Permanent dragon : dragons) { + dragon.untap(game); + } + return true; + } +} + +class KarrthusControlEffect extends ContinuousEffectImpl { + + private UUID controllerId; + + public KarrthusControlEffect(UUID controllerId) { + super(Duration.WhileOnBattlefield, Layer.ControlChangingEffects_2, SubLayer.NA, Outcome.GainControl); + this.controllerId = controllerId; + } + + public KarrthusControlEffect(final KarrthusControlEffect effect) { + super(effect); + this.controllerId = effect.controllerId; + } + + @Override + public KarrthusControlEffect copy() { + return new KarrthusControlEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent dragon = game.getPermanent(targetPointer.getFirst(game, source)); + if (dragon != null && controllerId != null) { + return dragon.changeControllerId(controllerId, game); + } + return false; + } +} From 38449c63595decb28a740c49c4dae18dee742b44 Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 27 Jun 2013 17:11:07 -0500 Subject: [PATCH 103/139] - Little fix --- Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java b/Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java index c9466738412..7f5033748ee 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java +++ b/Mage.Sets/src/mage/sets/alarareborn/KarrthusTyrantOfJund.java @@ -144,7 +144,7 @@ class KarrthusControlEffect extends ContinuousEffectImpl private UUID controllerId; public KarrthusControlEffect(UUID controllerId) { - super(Duration.WhileOnBattlefield, Layer.ControlChangingEffects_2, SubLayer.NA, Outcome.GainControl); + super(Duration.EndOfGame, Layer.ControlChangingEffects_2, SubLayer.NA, Outcome.GainControl); this.controllerId = controllerId; } From 08fcb36474fe68033b06fd007002546185eb15a7 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 08:14:14 +0200 Subject: [PATCH 104/139] * Voracious Hatchling - Fixed the comes into play effect beeing a replacement instead of a triggered effect. --- .../src/mage/sets/eventide/VoraciousHatchling.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/eventide/VoraciousHatchling.java b/Mage.Sets/src/mage/sets/eventide/VoraciousHatchling.java index f5147b5bd61..b31f7d971ea 100644 --- a/Mage.Sets/src/mage/sets/eventide/VoraciousHatchling.java +++ b/Mage.Sets/src/mage/sets/eventide/VoraciousHatchling.java @@ -28,16 +28,16 @@ package mage.sets.eventide; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -63,9 +63,14 @@ public class VoraciousHatchling extends CardImpl { this.color.setWhite(true); this.power = new MageInt(6); this.toughness = new MageInt(6); + + // Lifelink this.addAbility(LifelinkAbility.getInstance()); - this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)))); + // Voracious Hatchling enters the battlefield with four -1/-1 counters on it. + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)))); + // Whenever you cast a white spell, remove a -1/-1 counter from Voracious Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance(1)), filterWhiteSpell, false)); + // Whenever you cast a black spell, remove a -1/-1 counter from Voracious Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance(1)), filterBlackSpell, false)); } From aeb5bb8a7433632750711e45ba9a36862c0555b6 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 08:15:02 +0200 Subject: [PATCH 105/139] * Sturdy Hatchling - Fixed the comes into play effect beeing a replacement instead of a triggered effect. --- .../src/mage/sets/eventide/SturdyHatchling.java | 14 +++++++++----- .../abilities/common/EntersBattlefieldAbility.java | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Mage.Sets/src/mage/sets/eventide/SturdyHatchling.java b/Mage.Sets/src/mage/sets/eventide/SturdyHatchling.java index 57f5a515d29..6041e058c7e 100644 --- a/Mage.Sets/src/mage/sets/eventide/SturdyHatchling.java +++ b/Mage.Sets/src/mage/sets/eventide/SturdyHatchling.java @@ -28,12 +28,9 @@ package mage.sets.eventide; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -42,7 +39,9 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; +import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.Rarity; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -69,9 +68,14 @@ public class SturdyHatchling extends CardImpl { this.color.setGreen(true); this.power = new MageInt(6); this.toughness = new MageInt(6); - this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)), false)); + + // Sturdy Hatchling enters the battlefield with four -1/-1 counters on it. + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)))); + // {G/U}: Sturdy Hatchling gains shroud until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{G/U}"))); + // Whenever you cast a green spell, remove a -1/-1 counter from Sturdy Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance(1)), filterGreenSpell, false)); + // Whenever you cast a blue spell, remove a -1/-1 counter from Sturdy Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance(1)), filterBlueSpell, false)); } diff --git a/Mage/src/mage/abilities/common/EntersBattlefieldAbility.java b/Mage/src/mage/abilities/common/EntersBattlefieldAbility.java index d91976c1458..3f107a6a521 100644 --- a/Mage/src/mage/abilities/common/EntersBattlefieldAbility.java +++ b/Mage/src/mage/abilities/common/EntersBattlefieldAbility.java @@ -49,7 +49,7 @@ public class EntersBattlefieldAbility extends StaticAbility Date: Fri, 28 Jun 2013 08:15:16 +0200 Subject: [PATCH 106/139] * Noxious Hatchling - Fixed the comes into play effect beeing a replacement instead of a triggered effect. --- .../src/mage/sets/eventide/NoxiousHatchling.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/eventide/NoxiousHatchling.java b/Mage.Sets/src/mage/sets/eventide/NoxiousHatchling.java index 5870e58d1c2..687dc3608f4 100644 --- a/Mage.Sets/src/mage/sets/eventide/NoxiousHatchling.java +++ b/Mage.Sets/src/mage/sets/eventide/NoxiousHatchling.java @@ -28,16 +28,16 @@ package mage.sets.eventide; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -64,9 +64,14 @@ public class NoxiousHatchling extends CardImpl { this.color.setBlack(true); this.power = new MageInt(6); this.toughness = new MageInt(6); - this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)), false)); + + // Noxious Hatchling enters the battlefield with four -1/-1 counters on it. + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)), true)); + // Wither (This deals damage to creatures in the form of -1/-1 counters.) this.addAbility(WitherAbility.getInstance()); + // Whenever you cast a black spell, remove a -1/-1 counter from Noxious Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance()), filterBlackSpell, false)); + // Whenever you cast a green spell, remove a -1/-1 counter from Noxious Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance()), filterGreenSpell, false)); } From eb53abe8dbb30b6da0c41a71e8a3bfa594d8ac46 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 08:15:35 +0200 Subject: [PATCH 107/139] * Belligerent Hatchling - Fixed the comes into play effect beeing a replacement instead of a triggered effect. --- .../mage/sets/eventide/BelligerentHatchling.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/eventide/BelligerentHatchling.java b/Mage.Sets/src/mage/sets/eventide/BelligerentHatchling.java index a9d574a10e4..81236cbdf16 100644 --- a/Mage.Sets/src/mage/sets/eventide/BelligerentHatchling.java +++ b/Mage.Sets/src/mage/sets/eventide/BelligerentHatchling.java @@ -28,16 +28,16 @@ package mage.sets.eventide; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SpellCastTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -63,9 +63,14 @@ public class BelligerentHatchling extends CardImpl { this.color.setWhite(true); this.power = new MageInt(6); this.toughness = new MageInt(6); + + // First strike this.addAbility(FirstStrikeAbility.getInstance()); - this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)))); + // Belligerent Hatchling enters the battlefield with four -1/-1 counters on it. + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)))); + // Whenever you cast a red spell, remove a -1/-1 counter from Belligerent Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance(1)), filterRedSpell, false)); + // Whenever you cast a white spell, remove a -1/-1 counter from Belligerent Hatchling. this.addAbility(new SpellCastTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance(1)), filterWhiteSpell, false)); } From 106b3831c4b1765cc729e9390f15e746502bbd6f Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 08:17:20 +0200 Subject: [PATCH 108/139] One more sample deck. --- .../DailyMTG/Robert Seder's Esper Control.dck | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Mage.Client/release/sample-decks/2013/Standard/DailyMTG/Robert Seder's Esper Control.dck diff --git a/Mage.Client/release/sample-decks/2013/Standard/DailyMTG/Robert Seder's Esper Control.dck b/Mage.Client/release/sample-decks/2013/Standard/DailyMTG/Robert Seder's Esper Control.dck new file mode 100644 index 00000000000..a5e7c1ed67d --- /dev/null +++ b/Mage.Client/release/sample-decks/2013/Standard/DailyMTG/Robert Seder's Esper Control.dck @@ -0,0 +1,33 @@ +NAME:Robert Seder's Esper Control +1 [DKA:142] Sorin, Lord of Innistrad +1 [DGM:11] AEtherling +4 [M13:225] Glacial Fortress +3 [ISD:83] Think Twice +3 [RTR:145] Azorius Charm +4 [ISD:78] Snapcaster Mage +2 [RTR:54] Syncopate +4 [GTC:249] Watery Grave +1 [M13:56] Jace, Memory Adept +1 [RTR:35] Cyclonic Rift +1 [AVR:79] Tamiyo, the Moon Sage +1 [AVR:32] Restoration Angel +2 [RTR:44] Jace, Architect of Thought +4 [ISD:242] Isolated Chapel +4 [DGM:127] Far // Away +4 [ISD:245] Nephalia Drownyard +2 [ISD:53] Dissipate +4 [AVR:38] Terminus +4 [RTR:241] Hallowed Fountain +4 [M13:223] Drowned Catacomb +3 [GTC:242] Godless Shrine +4 [RTR:200] Sphinx's Revelation +SB: 2 [DKA:76] Tragic Slip +SB: 2 [M13:26] Planar Cleansing +SB: 1 [GTC:63] Devour Flesh +SB: 1 [ISD:212] Evil Twin +SB: 1 [RTR:18] Rest in Peace +SB: 1 [ISD:27] Purify the Grave +SB: 3 [M13:62] Negate +SB: 1 [RTR:47] Psychic Spiral +SB: 1 [M13:56] Jace, Memory Adept +SB: 1 [ISD:119] Tribute to Hunger From 0d3244b8a1102271560e4f91887d2e41b9758f4f Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 14:26:32 +0200 Subject: [PATCH 109/139] Fixed Jhoira of the Ghitu. --- .../sets/modernmasters/JhoiraOfTheGhitu.java | 23 +++++---- .../abilities/keyword/SuspendAbility.java | 48 ++++++++++++++----- 2 files changed, 52 insertions(+), 19 deletions(-) diff --git a/Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java b/Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java index d791c6277c1..01302ad44dd 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java +++ b/Mage.Sets/src/mage/sets/modernmasters/JhoiraOfTheGhitu.java @@ -31,20 +31,17 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; import mage.MageInt; +import mage.abilities.Abilities; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.ExileFromHandCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.keyword.SuspendAbility; import mage.cards.Card; import mage.cards.CardImpl; import mage.constants.CardType; -import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Rarity; import mage.constants.Zone; @@ -53,7 +50,6 @@ import mage.filter.common.FilterNonlandCard; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInHand; -import mage.target.targetpointer.FixedTarget; /** * @@ -136,9 +132,20 @@ class JhoiraOfTheGhituSuspendEffect extends OneShotEffect { if (card.getManaCost().isEmpty()) { setRuleAtTheTop(true); } - // add triggered ability to remove the counter from the card - Ability ability = new ConditionalTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), TargetController.YOU, false), - SuspendedCondition.getInstance(), - "At the beginning of your upkeep, if this card is suspended, remove a time counter from it."); - ability.setRuleVisible(false); - card.addAbility(ability); + card.addAbility(new SuspendBeginningOfUpkeepTriggeredAbility()); card.addAbility(new SuspendPlayCardAbility(card.getCardType().contains(CardType.CREATURE))); } @@ -326,16 +322,26 @@ class SuspendPlayCardEffect extends OneShotEffect { Card card = game.getCard(source.getSourceId()); if (player != null && card != null) { // remove temporary suspend ability (used e.g. for Epochrasite) - Ability abilityToRemove = null; + List abilitiesToRemove = new ArrayList(); for (Ability ability : card.getAbilities()) { if (ability instanceof SuspendAbility) { if (((SuspendAbility)ability).isGainedTemporary()) { - abilityToRemove = ability; + abilitiesToRemove.add(ability); } } } - if (abilityToRemove != null) { - card.getAbilities().remove(abilityToRemove); + if (!abilitiesToRemove.isEmpty()) { + for (Ability ability : card.getAbilities()) { + if (ability instanceof SuspendBeginningOfUpkeepTriggeredAbility || ability instanceof SuspendPlayCardAbility ) { + abilitiesToRemove.add(ability); + } + } + // remove the triggered abilities from the game + game.getState().resetTriggersForSourceId(card.getId()); + // remove the continious effects from the game + game.getState().getContinuousEffects().removeGainedEffectsForSource(card.getId()); + // remove the abilities from the card + card.getAbilities().removeAll(abilitiesToRemove); } // cast the card for free player.cast(card.getSpellAbility(), game, true); @@ -381,3 +387,23 @@ class GainHasteEffect extends ContinuousEffectImpl { } } + +class SuspendBeginningOfUpkeepTriggeredAbility extends ConditionalTriggeredAbility { + + public SuspendBeginningOfUpkeepTriggeredAbility() { + super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), TargetController.YOU, false), + SuspendedCondition.getInstance(), + "At the beginning of your upkeep, if this card is suspended, remove a time counter from it."); + this.setRuleVisible(false); + + } + + public SuspendBeginningOfUpkeepTriggeredAbility(final SuspendBeginningOfUpkeepTriggeredAbility effect) { + super(effect); + } + + @Override + public SuspendBeginningOfUpkeepTriggeredAbility copy() { + return new SuspendBeginningOfUpkeepTriggeredAbility(this); + } +} \ No newline at end of file From 383fdfece166d0f7d1888e1e910574536e8c3157 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 19:59:44 +0200 Subject: [PATCH 110/139] * Truefire Paladin - Fixed a bug that the first strike did not end at end of turn. --- Mage.Sets/src/mage/sets/gatecrash/TruefirePaladin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/gatecrash/TruefirePaladin.java b/Mage.Sets/src/mage/sets/gatecrash/TruefirePaladin.java index 2d320a9ea64..ade6131e720 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/TruefirePaladin.java +++ b/Mage.Sets/src/mage/sets/gatecrash/TruefirePaladin.java @@ -68,7 +68,7 @@ public class TruefirePaladin extends CardImpl { this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,0, Duration.EndOfTurn), new ManaCostsImpl("{R}{W}"))); // {R}{W}: Truefire Paladin gets first strike until end of turn. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance()), new ManaCostsImpl("{R}{W}"))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}{W}"))); } From 7a8aa103ae36b73e00ae850130d2ceda87a2f0a8 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 20:00:26 +0200 Subject: [PATCH 111/139] * Greater Gargadon - Added missing point at end of tooltip text. --- Mage.Sets/src/mage/sets/timespiral/GreaterGargadon.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/timespiral/GreaterGargadon.java b/Mage.Sets/src/mage/sets/timespiral/GreaterGargadon.java index b02a8c7f3db..cdf65622ee6 100644 --- a/Mage.Sets/src/mage/sets/timespiral/GreaterGargadon.java +++ b/Mage.Sets/src/mage/sets/timespiral/GreaterGargadon.java @@ -114,6 +114,6 @@ class GreaterGargadonAbility extends ActivatedAbilityImpl Date: Fri, 28 Jun 2013 20:43:48 +0200 Subject: [PATCH 112/139] Added EnchantedCreatureColorCondition --- .../EnchantedCreatureColorCondition.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Mage/src/mage/abilities/condition/common/EnchantedCreatureColorCondition.java diff --git a/Mage/src/mage/abilities/condition/common/EnchantedCreatureColorCondition.java b/Mage/src/mage/abilities/condition/common/EnchantedCreatureColorCondition.java new file mode 100644 index 00000000000..4f6049ee8e7 --- /dev/null +++ b/Mage/src/mage/abilities/condition/common/EnchantedCreatureColorCondition.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.abilities.condition.common; + +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author Plopman + */ + + +public class EnchantedCreatureColorCondition implements Condition { + + private FilterPermanent filter = new FilterCreaturePermanent(); + + public EnchantedCreatureColorCondition(ObjectColor color){ + filter.add(new ColorPredicate(color)); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent enchantement = game.getPermanent(source.getSourceId()); + if (enchantement != null) { + Permanent creature = game.getPermanent(enchantement.getAttachedTo()); + if (creature != null) { + if(filter.match(creature, source.getId(), enchantement.getControllerId(), game)){ + return true; + } + } + } + return false; + } +} From 2dedbffc26fecc8a10600b798431b57a8be9ebd5 Mon Sep 17 00:00:00 2001 From: Plopman Date: Fri, 28 Jun 2013 20:45:08 +0200 Subject: [PATCH 113/139] [EVE][SHM]Added 10 aura witj "As long as enchanted creature is..." --- .../mage/sets/eventide/CloutOfTheDominus.java | 90 ++++++++++++++++++ .../mage/sets/eventide/EdgeOfTheDivinity.java | 86 +++++++++++++++++ .../sets/eventide/FavorOfTheOverbeing.java | 90 ++++++++++++++++++ .../mage/sets/eventide/GiftOfTheDeity.java | 89 ++++++++++++++++++ .../sets/eventide/ScourgeOfTheNobilis.java | 93 +++++++++++++++++++ .../sets/shadowmoor/FistsOfTheDemigod.java | 89 ++++++++++++++++++ .../sets/shadowmoor/HelmOfTheGhastlord.java | 90 ++++++++++++++++++ .../mage/sets/shadowmoor/RunesOfTheDeus.java | 89 ++++++++++++++++++ .../sets/shadowmoor/ShieldOfTheOversoul.java | 89 ++++++++++++++++++ .../sets/shadowmoor/SteelOfTheGodhead.java | 89 ++++++++++++++++++ 10 files changed, 894 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/eventide/CloutOfTheDominus.java create mode 100644 Mage.Sets/src/mage/sets/eventide/EdgeOfTheDivinity.java create mode 100644 Mage.Sets/src/mage/sets/eventide/FavorOfTheOverbeing.java create mode 100644 Mage.Sets/src/mage/sets/eventide/GiftOfTheDeity.java create mode 100644 Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/FistsOfTheDemigod.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/RunesOfTheDeus.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/ShieldOfTheOversoul.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/SteelOfTheGodhead.java diff --git a/Mage.Sets/src/mage/sets/eventide/CloutOfTheDominus.java b/Mage.Sets/src/mage/sets/eventide/CloutOfTheDominus.java new file mode 100644 index 00000000000..00e75989b87 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eventide/CloutOfTheDominus.java @@ -0,0 +1,90 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eventide; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.ShroudAbility; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class CloutOfTheDominus extends CardImpl { + + public CloutOfTheDominus(UUID ownerId) { + super(ownerId, 99, "Clout of the Dominus", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{U/R}"); + this.expansionSetCode = "EVE"; + this.subtype.add("Aura"); + + this.color.setRed(true); + this.color.setBlue(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is blue, it gets +1/+1 and has shroud. + SimpleStaticAbility blueAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "As long as enchanted creature is black, it gets +1/+1")); + blueAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "and has deathtouch")); + this.addAbility(blueAbility); + // As long as enchanted creature is red, it gets +1/+1 and has haste. + SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1")); + redAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.RED), "and has haste")); + this.addAbility(redAbility); + } + + public CloutOfTheDominus(final CloutOfTheDominus card) { + super(card); + } + + @Override + public CloutOfTheDominus copy() { + return new CloutOfTheDominus(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eventide/EdgeOfTheDivinity.java b/Mage.Sets/src/mage/sets/eventide/EdgeOfTheDivinity.java new file mode 100644 index 00000000000..29b3e28d798 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eventide/EdgeOfTheDivinity.java @@ -0,0 +1,86 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eventide; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.EnchantAbility; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class EdgeOfTheDivinity extends CardImpl { + + public EdgeOfTheDivinity(UUID ownerId) { + super(ownerId, 87, "Edge of the Divinity", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{W/B}"); + this.expansionSetCode = "EVE"; + this.subtype.add("Aura"); + + this.color.setBlack(true); + this.color.setWhite(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is white, it gets +1/+2. + SimpleStaticAbility whiteAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 2), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "As long as enchanted creature is white, it gets +1/+2")); + this.addAbility(whiteAbility); + // As long as enchanted creature is black, it gets +2/+1. + SimpleStaticAbility blackAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(2, 1), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "As long as enchanted creature is black, it gets +2/+1")); + this.addAbility(blackAbility); + } + + public EdgeOfTheDivinity(final EdgeOfTheDivinity card) { + super(card); + } + + @Override + public EdgeOfTheDivinity copy() { + return new EdgeOfTheDivinity(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eventide/FavorOfTheOverbeing.java b/Mage.Sets/src/mage/sets/eventide/FavorOfTheOverbeing.java new file mode 100644 index 00000000000..fb9bc329c90 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eventide/FavorOfTheOverbeing.java @@ -0,0 +1,90 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eventide; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class FavorOfTheOverbeing extends CardImpl { + + public FavorOfTheOverbeing(UUID ownerId) { + super(ownerId, 151, "Favor of the Overbeing", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{G/U}"); + this.expansionSetCode = "EVE"; + this.subtype.add("Aura"); + + this.color.setBlue(true); + this.color.setGreen(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is green, it gets +1/+1 and has vigilance. + SimpleStaticAbility greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1")); + greenAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and has vigilance")); + this.addAbility(greenAbility); + // As long as enchanted creature is blue, it gets +1/+1 and has flying. + SimpleStaticAbility blueAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "As long as enchanted creature is blue, it gets +1/+1")); + blueAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "and has flying")); + this.addAbility(blueAbility); + } + + public FavorOfTheOverbeing(final FavorOfTheOverbeing card) { + super(card); + } + + @Override + public FavorOfTheOverbeing copy() { + return new FavorOfTheOverbeing(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eventide/GiftOfTheDeity.java b/Mage.Sets/src/mage/sets/eventide/GiftOfTheDeity.java new file mode 100644 index 00000000000..5d83ce804e5 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eventide/GiftOfTheDeity.java @@ -0,0 +1,89 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eventide; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.MustBlockAttachedEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class GiftOfTheDeity extends CardImpl { + + public GiftOfTheDeity(UUID ownerId) { + super(ownerId, 122, "Gift of the Deity", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{4}{B/G}"); + this.expansionSetCode = "EVE"; + this.subtype.add("Aura"); + + this.color.setGreen(true); + this.color.setBlack(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is black, it gets +1/+1 and has deathtouch. + SimpleStaticAbility blackAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "As long as enchanted creature is black, it gets +1/+1")); + blackAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "and has deathtouch")); + this.addAbility(blackAbility); + // As long as enchanted creature is green, it gets +1/+1 and all creatures able to block it do so. + SimpleStaticAbility greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1")); + greenAbility.addEffect(new ConditionalContinousEffect(new MustBlockAttachedEffect(AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and all creatures able to block it do so")); + this.addAbility(greenAbility); + } + + public GiftOfTheDeity(final GiftOfTheDeity card) { + super(card); + } + + @Override + public GiftOfTheDeity copy() { + return new GiftOfTheDeity(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java b/Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java new file mode 100644 index 00000000000..83c4db0ff16 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java @@ -0,0 +1,93 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.eventide; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.abilities.keyword.WitherAbility; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class ScourgeOfTheNobilis extends CardImpl { + + public ScourgeOfTheNobilis(UUID ownerId) { + super(ownerId, 146, "Scourge of the Nobilis", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{R/W}"); + this.expansionSetCode = "EVE"; + this.subtype.add("Aura"); + + this.color.setRed(true); + this.color.setWhite(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is red, it gets +1/+1 and has "{RW}: This creature gets +1/+0 until end of turn." + SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1")); + redAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{RW}")), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.RED), "and has \"{RW}: This creature gets +1/+0 until end of turn.\"")); + this.addAbility(redAbility); + // As long as enchanted creature is white, it gets +1/+1 and has lifelink. + SimpleStaticAbility whiteAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "As long as enchanted creature is white, it gets +1/+1")); + whiteAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "and has lifelink")); + this.addAbility(whiteAbility); + } + + public ScourgeOfTheNobilis(final ScourgeOfTheNobilis card) { + super(card); + } + + @Override + public ScourgeOfTheNobilis copy() { + return new ScourgeOfTheNobilis(this); + } +} diff --git a/Mage.Sets/src/mage/sets/shadowmoor/FistsOfTheDemigod.java b/Mage.Sets/src/mage/sets/shadowmoor/FistsOfTheDemigod.java new file mode 100644 index 00000000000..0598b992789 --- /dev/null +++ b/Mage.Sets/src/mage/sets/shadowmoor/FistsOfTheDemigod.java @@ -0,0 +1,89 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shadowmoor; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.WitherAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class FistsOfTheDemigod extends CardImpl { + + public FistsOfTheDemigod(UUID ownerId) { + super(ownerId, 187, "Fists of the Demigod", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{B/R}"); + this.expansionSetCode = "SHM"; + this.subtype.add("Aura"); + + this.color.setRed(true); + this.color.setBlack(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is black, it gets +1/+1 and has wither. + SimpleStaticAbility blackAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "As long as enchanted creature is black, it gets +1/+1")); + blackAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(WitherAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "and has wither")); + this.addAbility(blackAbility); + // As long as enchanted creature is red, it gets +1/+1 and has first strike. + SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1")); + redAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.RED), "and has first strike")); + this.addAbility(redAbility); + } + + public FistsOfTheDemigod(final FistsOfTheDemigod card) { + super(card); + } + + @Override + public FistsOfTheDemigod copy() { + return new FistsOfTheDemigod(this); + } +} diff --git a/Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java b/Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java new file mode 100644 index 00000000000..f0e24efdb8d --- /dev/null +++ b/Mage.Sets/src/mage/sets/shadowmoor/HelmOfTheGhastlord.java @@ -0,0 +1,90 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shadowmoor; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.DiscardTargetEffect; +import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class HelmOfTheGhastlord extends CardImpl { + + public HelmOfTheGhastlord(UUID ownerId) { + super(ownerId, 166, "Helm of the Ghastlord", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{3}{U/B}"); + this.expansionSetCode = "SHM"; + this.subtype.add("Aura"); + + this.color.setBlue(true); + this.color.setBlack(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is blue, it gets +1/+1 and has "Whenever this creature deals damage to an opponent, draw a card." + SimpleStaticAbility blueAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "As long as enchanted creature is blue, it gets +1/+1")); + blueAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardControllerEffect(1),false), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "and has \"Whenever this creature deals damage to an opponent, draw a card.\"")); + this.addAbility(blueAbility); + // As long as enchanted creature is black, it gets +1/+1 and has "Whenever this creature deals damage to an opponent, that player discards a card." + SimpleStaticAbility blackAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "As long as enchanted creature is black, it gets +1/+1")); + blackAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLACK), "and has \"Whenever this creature deals damage to an opponent, that player discards a card.\"")); + this.addAbility(blackAbility); + } + + public HelmOfTheGhastlord(final HelmOfTheGhastlord card) { + super(card); + } + + @Override + public HelmOfTheGhastlord copy() { + return new HelmOfTheGhastlord(this); + } +} diff --git a/Mage.Sets/src/mage/sets/shadowmoor/RunesOfTheDeus.java b/Mage.Sets/src/mage/sets/shadowmoor/RunesOfTheDeus.java new file mode 100644 index 00000000000..fd088d802a8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/shadowmoor/RunesOfTheDeus.java @@ -0,0 +1,89 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shadowmoor; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class RunesOfTheDeus extends CardImpl { + + public RunesOfTheDeus(UUID ownerId) { + super(ownerId, 215, "Runes of the Deus", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{4}{R/G}"); + this.expansionSetCode = "SHM"; + this.subtype.add("Aura"); + + this.color.setRed(true); + this.color.setGreen(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is red, it gets +1/+1 and has double strike. + SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1")); + redAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(DoubleStrikeAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.RED), "and has double strike")); + this.addAbility(redAbility); + // As long as enchanted creature is green, it gets +1/+1 and has trample. + SimpleStaticAbility greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1")); + greenAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and has trample")); + this.addAbility(greenAbility); + } + + public RunesOfTheDeus(final RunesOfTheDeus card) { + super(card); + } + + @Override + public RunesOfTheDeus copy() { + return new RunesOfTheDeus(this); + } +} diff --git a/Mage.Sets/src/mage/sets/shadowmoor/ShieldOfTheOversoul.java b/Mage.Sets/src/mage/sets/shadowmoor/ShieldOfTheOversoul.java new file mode 100644 index 00000000000..2cc3a43b4d7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/shadowmoor/ShieldOfTheOversoul.java @@ -0,0 +1,89 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shadowmoor; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.IndestructibleAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class ShieldOfTheOversoul extends CardImpl { + + public ShieldOfTheOversoul(UUID ownerId) { + super(ownerId, 242, "Shield of the Oversoul", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{G/W}"); + this.expansionSetCode = "SHM"; + this.subtype.add("Aura"); + + this.color.setGreen(true); + this.color.setWhite(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is green, it gets +1/+1 and is indestructible. + SimpleStaticAbility greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1")); + greenAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(IndestructibleAbility.getInstance() ,AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and is indestructible")); + this.addAbility(greenAbility); + // As long as enchanted creature is white, it gets +1/+1 and has flying. + SimpleStaticAbility whiteAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "As long as enchanted creature is white, it gets +1/+1")); + whiteAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "and has flying")); + this.addAbility(whiteAbility); + } + + public ShieldOfTheOversoul(final ShieldOfTheOversoul card) { + super(card); + } + + @Override + public ShieldOfTheOversoul copy() { + return new ShieldOfTheOversoul(this); + } +} diff --git a/Mage.Sets/src/mage/sets/shadowmoor/SteelOfTheGodhead.java b/Mage.Sets/src/mage/sets/shadowmoor/SteelOfTheGodhead.java new file mode 100644 index 00000000000..13036e522bc --- /dev/null +++ b/Mage.Sets/src/mage/sets/shadowmoor/SteelOfTheGodhead.java @@ -0,0 +1,89 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.shadowmoor; + +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCreatureColorCondition; +import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.BoostEnchantedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.abilities.keyword.UnblockableAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Plopman + */ +public class SteelOfTheGodhead extends CardImpl { + + public SteelOfTheGodhead(UUID ownerId) { + super(ownerId, 150, "Steel of the Godhead", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{W/U}"); + this.expansionSetCode = "SHM"; + this.subtype.add("Aura"); + + this.color.setBlue(true); + this.color.setWhite(true); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // As long as enchanted creature is white, it gets +1/+1 and has lifelink. + SimpleStaticAbility whiteAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "As long as enchanted creature is white, it gets +1/+1")); + whiteAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(LifelinkAbility.getInstance(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "and has lifelink")); + this.addAbility(whiteAbility); + // As long as enchanted creature is blue, it gets +1/+1 and is unblockable. + SimpleStaticAbility blueAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "As long as enchanted creature is blue, it gets +1/+1")); + blueAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new UnblockableAbility(), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.BLUE), "and is unblockable")); + this.addAbility(blueAbility); + } + + public SteelOfTheGodhead(final SteelOfTheGodhead card) { + super(card); + } + + @Override + public SteelOfTheGodhead copy() { + return new SteelOfTheGodhead(this); + } +} From b5ea4ff7ac6df0e5a1881a2c8babd38234c1d435 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 21:56:28 +0200 Subject: [PATCH 114/139] * Kicker - Fixed a bug that you could cast the kicker card with kicker without paying costs. --- Mage/src/mage/abilities/keyword/KickerAbility.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage/src/mage/abilities/keyword/KickerAbility.java b/Mage/src/mage/abilities/keyword/KickerAbility.java index 96ed1816fed..0724b88a056 100644 --- a/Mage/src/mage/abilities/keyword/KickerAbility.java +++ b/Mage/src/mage/abilities/keyword/KickerAbility.java @@ -187,7 +187,7 @@ public class KickerAbility extends StaticAbility implements Optio Cost cost = (Cost) it.next(); if (cost instanceof ManaCostsImpl) { List varCosts = ((ManaCostsImpl)cost).getVariableCosts(); - if (varCosts != null) { + if (!varCosts.isEmpty()) { // use only first variable cost xManaValue = game.getPlayer(this.controllerId).announceXMana(varCosts.get(0).getMinX(), Integer.MAX_VALUE, "Announce kicker value for " + varCosts.get(0).getText(), game, this); // kicker variable X costs handled internally as multikicker with {1} cost (no multikicker on card) From d2900b37c8090338dabdb929ef777b7f8854e985 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 21:57:01 +0200 Subject: [PATCH 115/139] * Mold Shambler - Made target mandatory. --- Mage.Sets/src/mage/sets/zendikar/MoldShambler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java b/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java index 052ece5cedb..d623ff2dd9c 100644 --- a/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java +++ b/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.target.Target; import mage.target.TargetPermanent; /** @@ -69,7 +70,9 @@ public class MoldShambler extends CardImpl { // When Mold Shambler enters the battlefield, if it was kicked, destroy target noncreature permanent. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); - ability.addTarget(new TargetPermanent(filter)); + Target target = new TargetPermanent(filter); + target.setRequired(true); + ability.addTarget(target); this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.getInstance(), "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent.")); } From c9392d5eed947050cd3deac7c063ab0c0c5d0f50 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 21:58:13 +0200 Subject: [PATCH 116/139] *Walker of the Grove - The triggered ability was a enters battlefield instead of correctly beeing a leaves battlefield triggered ability. --- Mage.Sets/src/mage/sets/morningtide/WalkerOfTheGrove.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/sets/morningtide/WalkerOfTheGrove.java b/Mage.Sets/src/mage/sets/morningtide/WalkerOfTheGrove.java index 4fb0692805e..1f542adb0df 100644 --- a/Mage.Sets/src/mage/sets/morningtide/WalkerOfTheGrove.java +++ b/Mage.Sets/src/mage/sets/morningtide/WalkerOfTheGrove.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.LeavesBattlefieldTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.EvokeAbility; import mage.cards.CardImpl; @@ -53,7 +53,7 @@ public class WalkerOfTheGrove extends CardImpl { this.toughness = new MageInt(7); // When Walker of the Grove leaves the battlefield, put a 4/4 green Elemental creature token onto the battlefield. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WalkerOfTheGroveToken(),1))); + this.addAbility(new LeavesBattlefieldTriggeredAbility(new CreateTokenEffect(new WalkerOfTheGroveToken(),1),false)); // Evoke {4}{G} this.addAbility(new EvokeAbility(this, "{4}{G}")); } From 918e6f4e661f5c92b1919a18da67b0d9b55e5b50 Mon Sep 17 00:00:00 2001 From: Plopman Date: Fri, 28 Jun 2013 22:24:37 +0200 Subject: [PATCH 117/139] Fixed Genesis Wave --- Mage.Sets/src/mage/sets/scarsofmirrodin/GenesisWave.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GenesisWave.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GenesisWave.java index 1eadb801427..fff7c40f60e 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GenesisWave.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GenesisWave.java @@ -106,7 +106,7 @@ class GenesisWaveEffect extends OneShotEffect { Card card = cards.get(target1.getFirstTarget(), game); if (card != null) { cards.remove(card); - card.putOntoBattlefield(game, Zone.HAND, source.getSourceId(), source.getControllerId()); + card.putOntoBattlefield(game, Zone.PICK, source.getSourceId(), source.getControllerId()); } target1.clearChosen(); } From 7dbbac4da39994b732cdee298434efcd6f043562 Mon Sep 17 00:00:00 2001 From: Plopman Date: Fri, 28 Jun 2013 22:25:22 +0200 Subject: [PATCH 118/139] Added subtye parameter to FilterCreaturePermanent and FilterControlledCreaturePermanent --- .../filter/common/FilterControlledCreaturePermanent.java | 8 ++++++++ Mage/src/mage/filter/common/FilterCreaturePermanent.java | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/Mage/src/mage/filter/common/FilterControlledCreaturePermanent.java b/Mage/src/mage/filter/common/FilterControlledCreaturePermanent.java index 4d69b6393db..5831922c2f3 100644 --- a/Mage/src/mage/filter/common/FilterControlledCreaturePermanent.java +++ b/Mage/src/mage/filter/common/FilterControlledCreaturePermanent.java @@ -30,6 +30,7 @@ package mage.filter.common; import mage.constants.CardType; import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; /** * @@ -44,6 +45,13 @@ public class FilterControlledCreaturePermanent extends FilterControlledPermanent public FilterControlledCreaturePermanent(String name) { super(name); this.add(new CardTypePredicate(CardType.CREATURE)); + } + + + public FilterControlledCreaturePermanent(String subtype, String name) { + super(name); + this.add(new CardTypePredicate(CardType.CREATURE)); + this.add(new SubtypePredicate(subtype)); } public FilterControlledCreaturePermanent(final FilterControlledCreaturePermanent filter) { diff --git a/Mage/src/mage/filter/common/FilterCreaturePermanent.java b/Mage/src/mage/filter/common/FilterCreaturePermanent.java index b23a54be977..1f397f9dd07 100644 --- a/Mage/src/mage/filter/common/FilterCreaturePermanent.java +++ b/Mage/src/mage/filter/common/FilterCreaturePermanent.java @@ -31,6 +31,7 @@ package mage.filter.common; import mage.constants.CardType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; /** * @@ -45,6 +46,12 @@ public class FilterCreaturePermanent extends FilterPermanent { public FilterCreaturePermanent(String name) { super(name); this.add(new CardTypePredicate(CardType.CREATURE)); + } + + public FilterCreaturePermanent(String name, String subtype) { + super(name); + this.add(new CardTypePredicate(CardType.CREATURE)); + this.add(new SubtypePredicate(subtype)); } public FilterCreaturePermanent(final FilterCreaturePermanent filter) { From ea7bfdfc211994c1c734e5a9efb1d9211970b719 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 22:53:56 +0200 Subject: [PATCH 119/139] * Swamps of Ice Age set - Corrected wrong collector numbers (were shown as Sulforous Springs). --- Mage.Sets/src/mage/sets/iceage/Swamp1.java | 2 +- Mage.Sets/src/mage/sets/iceage/Swamp2.java | 2 +- Mage.Sets/src/mage/sets/iceage/Swamp3.java | 2 +- Mage/src/mage/cards/repository/CardRepository.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/iceage/Swamp1.java b/Mage.Sets/src/mage/sets/iceage/Swamp1.java index 0e127133355..4a7bca78159 100644 --- a/Mage.Sets/src/mage/sets/iceage/Swamp1.java +++ b/Mage.Sets/src/mage/sets/iceage/Swamp1.java @@ -36,7 +36,7 @@ import java.util.UUID; public class Swamp1 extends mage.cards.basiclands.Swamp { public Swamp1(UUID ownerId) { - super(ownerId, 351); + super(ownerId, 353); this.expansionSetCode = "ICE"; } diff --git a/Mage.Sets/src/mage/sets/iceage/Swamp2.java b/Mage.Sets/src/mage/sets/iceage/Swamp2.java index 6158384913f..9a0c2663498 100644 --- a/Mage.Sets/src/mage/sets/iceage/Swamp2.java +++ b/Mage.Sets/src/mage/sets/iceage/Swamp2.java @@ -36,7 +36,7 @@ import java.util.UUID; public class Swamp2 extends mage.cards.basiclands.Swamp { public Swamp2(UUID ownerId) { - super(ownerId, 352); + super(ownerId, 354); this.expansionSetCode = "ICE"; } diff --git a/Mage.Sets/src/mage/sets/iceage/Swamp3.java b/Mage.Sets/src/mage/sets/iceage/Swamp3.java index c515e8d56dd..0714bbe7893 100644 --- a/Mage.Sets/src/mage/sets/iceage/Swamp3.java +++ b/Mage.Sets/src/mage/sets/iceage/Swamp3.java @@ -36,7 +36,7 @@ import java.util.UUID; public class Swamp3 extends mage.cards.basiclands.Swamp { public Swamp3(UUID ownerId) { - super(ownerId, 353); + super(ownerId, 355); this.expansionSetCode = "ICE"; } diff --git a/Mage/src/mage/cards/repository/CardRepository.java b/Mage/src/mage/cards/repository/CardRepository.java index feb74c07090..3d979c90ef1 100644 --- a/Mage/src/mage/cards/repository/CardRepository.java +++ b/Mage/src/mage/cards/repository/CardRepository.java @@ -54,7 +54,7 @@ public enum CardRepository { instance; private static final String JDBC_URL = "jdbc:sqlite:db/cards.db"; - private static final long DB_VERSION = 7; + private static final long DB_VERSION = 8; private Random random = new Random(); private Dao cardDao; From 2052e07edabc29b04726c7b10fd7d569bd789558 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 22:54:26 +0200 Subject: [PATCH 120/139] Fixed some bugs of Scourge of the Nobilis. --- Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java b/Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java index 83c4db0ff16..ddd524ca43e 100644 --- a/Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java +++ b/Mage.Sets/src/mage/sets/eventide/ScourgeOfTheNobilis.java @@ -41,13 +41,12 @@ import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.LifelinkAbility; -import mage.abilities.keyword.WitherAbility; -import mage.constants.CardType; -import mage.constants.Rarity; import mage.cards.CardImpl; import mage.constants.AttachmentType; +import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; +import mage.constants.Rarity; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -74,7 +73,7 @@ public class ScourgeOfTheNobilis extends CardImpl { this.addAbility(ability); // As long as enchanted creature is red, it gets +1/+1 and has "{RW}: This creature gets +1/+0 until end of turn." SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1")); - redAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{RW}")), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.RED), "and has \"{RW}: This creature gets +1/+0 until end of turn.\"")); + redAbility.addEffect(new ConditionalContinousEffect(new GainAbilityAttachedEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R/W}")), AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.RED), "and has \"{R/W}: This creature gets +1/+0 until end of turn.\"")); this.addAbility(redAbility); // As long as enchanted creature is white, it gets +1/+1 and has lifelink. SimpleStaticAbility whiteAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "As long as enchanted creature is white, it gets +1/+1")); From b5d96bc98e1011106d90cce1ed093aaa0ff78be5 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 22:54:58 +0200 Subject: [PATCH 121/139] * Rathi Trapper - Fixed missing tap source cost. --- Mage.Sets/src/mage/sets/planarchaos/RathiTrapper.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Mage.Sets/src/mage/sets/planarchaos/RathiTrapper.java b/Mage.Sets/src/mage/sets/planarchaos/RathiTrapper.java index 7a55cb292ea..954a91b4900 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/RathiTrapper.java +++ b/Mage.Sets/src/mage/sets/planarchaos/RathiTrapper.java @@ -34,6 +34,7 @@ import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; @@ -58,6 +59,7 @@ public class RathiTrapper extends CardImpl { // {B}, {tap}: Tap target creature. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{B}")); + ability.addCost(new TapSourceCost()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } From 7715175076410389f55bcd48b46765985bccba79 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Jun 2013 23:04:26 +0200 Subject: [PATCH 122/139] * Thirst for Knowlege - Fixed a bug of the dicard handling. --- .../mage/sets/planechase/ThirstForKnowledge.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Mage.Sets/src/mage/sets/planechase/ThirstForKnowledge.java b/Mage.Sets/src/mage/sets/planechase/ThirstForKnowledge.java index cc029e3339f..58307e8acb9 100644 --- a/Mage.Sets/src/mage/sets/planechase/ThirstForKnowledge.java +++ b/Mage.Sets/src/mage/sets/planechase/ThirstForKnowledge.java @@ -94,18 +94,17 @@ class ThirstforKnowledgeEffect extends OneShotEffect { filter.add(new CardTypePredicate(CardType.ARTIFACT)); if (you != null && you.getHand().count(filter, game) > 0 - && you.chooseUse(Outcome.Discard, "Do you want to discard an artifact? If you do not, you must discard 2 cards", game)) { + && you.chooseUse(Outcome.Discard, "Do you want to discard an artifact? If you don't, you must discard 2 cards", game)) { Cost cost = new DiscardTargetCost(new TargetCardInHand(filter)); - if (cost.canPay(you.getId(), you.getId(), game)) { - if (!cost.pay(source, game, you.getId(), you.getId(), false)) { - you.discard(2, source, game); + if (cost.canPay(source.getSourceId(), you.getId(), game)) { + if (cost.pay(source, game, source.getSourceId(), you.getId(), false)) { + return true; } - return true; } } - if (you != null - && you.getHand().count(filter, game) == 0) { + if (you != null) { you.discard(2, source, game); + return true; } return false; } From 6d02f9bf37d974bf743a9d5b6151a2be1741f211 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 00:16:15 +0200 Subject: [PATCH 123/139] * Ethersworn Adjudicator - Removed the wrongly granted Legendary supertype. --- Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java b/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java index e858987dfbd..4451bc8fc3b 100644 --- a/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java +++ b/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java @@ -63,7 +63,7 @@ public class EtherswornAdjudicator extends CardImpl { public EtherswornAdjudicator(UUID ownerId) { super(ownerId, 26, "Ethersworn Adjudicator", Rarity.MYTHIC, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}"); this.expansionSetCode = "CON"; - this.supertype.add("Legendary"); + this.subtype.add("Vedalken"); this.subtype.add("Knight"); this.color.setBlue(true); From f8b0dd4ce3e40f511568cb8da9a953e8af66d158 Mon Sep 17 00:00:00 2001 From: Jeff Date: Fri, 28 Jun 2013 17:25:29 -0500 Subject: [PATCH 124/139] - Added Unscythe, The Killer of Kings. --- .../alarareborn/UnscytheKillerOfKings.java | 207 ++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/UnscytheKillerOfKings.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/UnscytheKillerOfKings.java b/Mage.Sets/src/mage/sets/alarareborn/UnscytheKillerOfKings.java new file mode 100644 index 00000000000..b9e4fdc70bb --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/UnscytheKillerOfKings.java @@ -0,0 +1,207 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.alarareborn; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.BoostEquippedEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.WatcherScope; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.events.ZoneChangeEvent; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.ZombieToken; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.targetpointer.FixedTarget; +import mage.watchers.WatcherImpl; + +/** + * + * @author jeffwadsworth + */ +public class UnscytheKillerOfKings extends CardImpl { + + public UnscytheKillerOfKings(UUID ownerId) { + super(ownerId, 114, "Unscythe, Killer of Kings", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{R}"); + this.expansionSetCode = "ARB"; + this.supertype.add("Legendary"); + this.subtype.add("Equipment"); + + this.color.setRed(true); + this.color.setBlue(true); + this.color.setBlack(true); + + // Equipped creature gets +3/+3 and has first strike. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); + + // Whenever a creature dealt damage by equipped creature this turn dies, you may exile that card. If you do, put a 2/2 black Zombie creature token onto the battlefield. + this.addAbility(new UnscytheKillerOfKingsTriggeredAbility(new UnscytheEffect())); + this.addWatcher(new EquippedDidDamageWatcher()); + + // Equip {2} + this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2), new TargetControlledCreaturePermanent())); + } + + public UnscytheKillerOfKings(final UnscytheKillerOfKings card) { + super(card); + } + + @Override + public UnscytheKillerOfKings copy() { + return new UnscytheKillerOfKings(this); + } +} + +class UnscytheKillerOfKingsTriggeredAbility extends TriggeredAbilityImpl { + + public UnscytheKillerOfKingsTriggeredAbility(Effect effect) { + this(effect, true); + } + + public UnscytheKillerOfKingsTriggeredAbility(Effect effect, boolean optional) { + super(Zone.ALL, effect, optional); + } + + public UnscytheKillerOfKingsTriggeredAbility(final UnscytheKillerOfKingsTriggeredAbility ability) { + super(ability); + } + + @Override + public UnscytheKillerOfKingsTriggeredAbility copy() { + return new UnscytheKillerOfKingsTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.ZONE_CHANGE && ((ZoneChangeEvent) event).isDiesEvent()) { + Card card = game.getCard(event.getTargetId()); + if (card != null) { + EquippedDidDamageWatcher watcher = (EquippedDidDamageWatcher) game.getState().getWatchers().get("equippedDamagedTargets", this.getSourceId()); + if (watcher != null + && watcher.equippedDamagedTargets.contains(event.getTargetId())) { + Effect effect = this.getEffects().get(0); + effect.setTargetPointer(new FixedTarget(event.getTargetId())); + return true; + } + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever a creature dealt damage by {this} this turn dies, " + super.getRule(); + } +} + +class UnscytheEffect extends OneShotEffect { + + public UnscytheEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "put a 2/2 black Zombie creature token onto the battlefield"; + } + + public UnscytheEffect(final UnscytheEffect effect) { + super(effect); + } + + @Override + public UnscytheEffect copy() { + return new UnscytheEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card card = game.getCard(targetPointer.getFirst(game, source)); + if (card != null) { + if (card.moveToExile(null, "Unscythe Exile", source.getId(), game)) { + ZombieToken zombie = new ZombieToken(); + return zombie.putOntoBattlefield(1, game, source.getId(), source.getControllerId()); + } + } + return false; + } +} + +class EquippedDidDamageWatcher extends WatcherImpl { + + public List equippedDamagedTargets = new ArrayList(); + + public EquippedDidDamageWatcher() { + super("equippedDamagedTargets", WatcherScope.CARD); + } + + public EquippedDidDamageWatcher(final EquippedDidDamageWatcher watcher) { + super(watcher); + this.equippedDamagedTargets.addAll(watcher.equippedDamagedTargets); + } + + @Override + public EquippedDidDamageWatcher copy() { + return new EquippedDidDamageWatcher(this); + } + + @Override + public void watch(GameEvent event, Game game) { + if (event.getType() == EventType.DAMAGED_CREATURE) { + Permanent permanent = game.getPermanent(event.getSourceId()); + if (permanent != null) { + if (permanent.getAttachments().contains(this.getSourceId())) { + if (!equippedDamagedTargets.contains(event.getTargetId())) { + equippedDamagedTargets.add(event.getTargetId()); + } + } + } + } + } + + @Override + public void reset() { + super.reset(); + equippedDamagedTargets.clear(); + } +} \ No newline at end of file From a4677f2cbbabb7667c75a583f86af2756214ba81 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 09:37:59 +0200 Subject: [PATCH 125/139] * Relic of Progenitus - Fixed missing mana costs of second ability. --- Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java b/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java index b0d02eb39c9..7334686a4ce 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java @@ -36,6 +36,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawCardControllerEffect; import mage.cards.Card; @@ -62,7 +63,8 @@ public class RelicOfProgenitus extends CardImpl { firstAbility.addTarget(new TargetPlayer()); this.addAbility(firstAbility); // {1}, Exile Relic of Progenitus: Exile all cards from all graveyards. Draw a card. - Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RelicOfProgenitusEffect2(), new SacrificeSourceCost()); + Ability secondAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RelicOfProgenitusEffect2(),new GenericManaCost(1)); + secondAbility.addCost(new SacrificeSourceCost()); secondAbility.addEffect(new DrawCardControllerEffect(1)); this.addAbility(secondAbility); From 39f39479c12db6412db97c7c67fbb206bd886388 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 14:30:48 +0200 Subject: [PATCH 126/139] * Prison Term - Fixed tht the enchantment did not move to new creature. --- .../src/mage/sets/shadowmoor/PrisonTerm.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Mage.Sets/src/mage/sets/shadowmoor/PrisonTerm.java b/Mage.Sets/src/mage/sets/shadowmoor/PrisonTerm.java index dd51faa4559..8240f8917c7 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/PrisonTerm.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/PrisonTerm.java @@ -110,12 +110,14 @@ class PrisonTermEffect extends OneShotEffect { Player you = game.getPlayer(source.getControllerId()); Permanent opponentCreature = game.getPermanent(getTargetPointer().getFirst(game, source)); Permanent prisonTerm = game.getPermanent(source.getSourceId()); - if (you != null - && opponentCreature != null - && prisonTerm != null - && opponentCreature.getCardType().contains(CardType.CREATURE)) { - game.getState().setValue("attachTo:" + prisonTerm.getId(), opponentCreature); - return opponentCreature.addAttachment(prisonTerm.getId(), game); + if (you != null && opponentCreature != null && prisonTerm != null) { + Permanent oldCreature = game.getPermanent(prisonTerm.getAttachedTo()); + if (oldCreature == null) { + return false; + } + if (oldCreature.removeAttachment(prisonTerm.getId(), game)) { + return opponentCreature.addAttachment(prisonTerm.getId(), game); + } } return false; } @@ -124,4 +126,4 @@ class PrisonTermEffect extends OneShotEffect { public PrisonTermEffect copy() { return new PrisonTermEffect(this); } -} \ No newline at end of file +} From 969feb138775401f6ae2362cf1747e58a2ad1737 Mon Sep 17 00:00:00 2001 From: Plopman Date: Sat, 29 Jun 2013 16:24:27 +0200 Subject: [PATCH 127/139] Added Magic2014 --- Mage.Sets/src/mage/sets/Magic2014.java | 55 ++++++++++++++++++++++++++ Utils/known-sets.txt | 1 + Utils/mtg-sets-data.txt | 1 + 3 files changed, 57 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/Magic2014.java diff --git a/Mage.Sets/src/mage/sets/Magic2014.java b/Mage.Sets/src/mage/sets/Magic2014.java new file mode 100644 index 00000000000..390c116dec7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/Magic2014.java @@ -0,0 +1,55 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets; + +import java.util.GregorianCalendar; +import mage.cards.ExpansionSet; +import mage.constants.SetType; + +/** + * + * @author North + */ +public class Magic2014 extends ExpansionSet { + + private static final Magic2014 fINSTANCE = new Magic2014(); + + public static Magic2014 getInstance() { + return fINSTANCE; + } + + private Magic2014() { + super("Magic 2014", "M14", "mage.sets.magic2014", new GregorianCalendar(2013, 19, 7).getTime(), SetType.CORE); + this.hasBoosters = true; + this.numBoosterLands = 1; + this.numBoosterCommon = 10; + this.numBoosterUncommon = 3; + this.numBoosterRare = 1; + this.ratioBoosterMythic = 8; + } +} diff --git a/Utils/known-sets.txt b/Utils/known-sets.txt index 64660b8762f..dbd8ed79250 100644 --- a/Utils/known-sets.txt +++ b/Utils/known-sets.txt @@ -13,6 +13,7 @@ Magic 2010|magic2010| Magic 2011|magic2011| Magic 2012|magic2012| Magic 2013|magic2013| +Magic 2014|magic2014| Planechase|planechase| Planechase 2012 Edition|planechase2012| Duel Decks: Elspeth vs. Tezzeret|elspethvstezzeret| diff --git a/Utils/mtg-sets-data.txt b/Utils/mtg-sets-data.txt index 918e837264a..dabe32f3866 100644 --- a/Utils/mtg-sets-data.txt +++ b/Utils/mtg-sets-data.txt @@ -59,6 +59,7 @@ Magic 2010|M10| Magic 2011|M11| Magic 2012|M12| Magic 2013|M13| +Magic 2014|M14| Magic: The Gathering-Commander|CMD| Masters Edition II|ME2| Masters Edition III|ME3| From 62fa1d3b310176a7be1502e6903088582927f0d3 Mon Sep 17 00:00:00 2001 From: Plopman Date: Sat, 29 Jun 2013 16:24:44 +0200 Subject: [PATCH 128/139] Fixed FilterCreaturePermanent --- Mage/src/mage/filter/common/FilterCreaturePermanent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage/src/mage/filter/common/FilterCreaturePermanent.java b/Mage/src/mage/filter/common/FilterCreaturePermanent.java index 1f397f9dd07..290176f307d 100644 --- a/Mage/src/mage/filter/common/FilterCreaturePermanent.java +++ b/Mage/src/mage/filter/common/FilterCreaturePermanent.java @@ -48,7 +48,7 @@ public class FilterCreaturePermanent extends FilterPermanent { this.add(new CardTypePredicate(CardType.CREATURE)); } - public FilterCreaturePermanent(String name, String subtype) { + public FilterCreaturePermanent(String subtype, String name) { super(name); this.add(new CardTypePredicate(CardType.CREATURE)); this.add(new SubtypePredicate(subtype)); From f77ba2be44d6b1b472bbf8ec31892765185678be Mon Sep 17 00:00:00 2001 From: Plopman Date: Sat, 29 Jun 2013 16:25:08 +0200 Subject: [PATCH 129/139] [M14]Added 5 white cards --- .../src/mage/sets/magic2014/AjanisChosen.java | 135 ++++++++++++++++++ .../mage/sets/magic2014/ArchangelOfThune.java | 107 ++++++++++++++ .../mage/sets/magic2014/SentinelSliver.java | 69 +++++++++ .../mage/sets/magic2014/SeraphOfTheSword.java | 71 +++++++++ .../mage/sets/magic2014/SteelformSliver.java | 69 +++++++++ 5 files changed, 451 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/magic2014/AjanisChosen.java create mode 100644 Mage.Sets/src/mage/sets/magic2014/ArchangelOfThune.java create mode 100644 Mage.Sets/src/mage/sets/magic2014/SentinelSliver.java create mode 100644 Mage.Sets/src/mage/sets/magic2014/SeraphOfTheSword.java create mode 100644 Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java diff --git a/Mage.Sets/src/mage/sets/magic2014/AjanisChosen.java b/Mage.Sets/src/mage/sets/magic2014/AjanisChosen.java new file mode 100644 index 00000000000..f5093f9ff3a --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2014/AjanisChosen.java @@ -0,0 +1,135 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2014; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.Token; +import mage.players.Player; + +/** + * + * @author Plopman + */ +public class AjanisChosen extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent(); + static { + filter.add(new CardTypePredicate(CardType.ENCHANTMENT)); + } + + public AjanisChosen(UUID ownerId) { + super(ownerId, 2, "Ajani's Chosen", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); + this.expansionSetCode = "M14"; + this.subtype.add("Cat"); + this.subtype.add("Soldier"); + + this.color.setWhite(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Whenever an enchantment enters the battlefield under your control, put a 2/2 white Cat creature token onto the battlefield. If that enchantment is an Aura, you may attach it to the token. + this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new AjanisChosenEffect(), filter, false, true, "Whenever an enchantment enters the battlefield under your control, put a 2/2 white Cat creature token onto the battlefield. If that enchantment is an Aura, you may attach it to the token")); + } + + public AjanisChosen(final AjanisChosen card) { + super(card); + } + + @Override + public AjanisChosen copy() { + return new AjanisChosen(this); + } +} + +class AjanisChosenEffect extends OneShotEffect { + + + public AjanisChosenEffect() { + super(Outcome.PutCreatureInPlay); + staticText = "put a 2/2 white Cat creature token onto the battlefield. If that enchantment is an Aura, you may attach it to the token"; + } + + public AjanisChosenEffect(final AjanisChosenEffect effect) { + super(effect); + } + + @Override + public AjanisChosenEffect copy() { + return new AjanisChosenEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Token token = new CatToken(); + if(token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())){ + Player player = game.getPlayer(source.getControllerId()); + Permanent enchantement = game.getPermanent(this.getTargetPointer().getFirst(game, source)); + Permanent tokenPermanent = game.getPermanent(token.getLastAddedToken()); + if(player != null && enchantement != null && tokenPermanent != null && enchantement.getSubtype().contains("Aura")) + { + Permanent oldCreature = game.getPermanent(enchantement.getAttachedTo()); + + if(oldCreature != null && enchantement.getSpellAbility().getTargets().get(0).canTarget(tokenPermanent.getId(), game) && player.chooseUse(Outcome.Neutral, "Attach " + enchantement.getName() + " to the token ?", game)) + { + if(oldCreature.removeAttachment(enchantement.getId(), game)){ + tokenPermanent.addAttachment(enchantement.getId(), game); + } + } + } + return true; + } + return false; + } + +} + + +class CatToken extends Token { + public CatToken() { + super("Cat", "2/2 white Cat creature token"); + cardType.add(CardType.CREATURE); + color = ObjectColor.WHITE; + subtype.add("Cat"); + power = new MageInt(2); + toughness = new MageInt(2); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2014/ArchangelOfThune.java b/Mage.Sets/src/mage/sets/magic2014/ArchangelOfThune.java new file mode 100644 index 00000000000..09ccc8cd1b2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2014/ArchangelOfThune.java @@ -0,0 +1,107 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2014; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.counter.AddCountersAllEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * + * @author Plopman + */ +public class ArchangelOfThune extends CardImpl { + + public ArchangelOfThune(UUID ownerId) { + super(ownerId, 5, "Archangel of Thune", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); + this.expansionSetCode = "M14"; + this.subtype.add("Angel"); + + this.color.setWhite(true); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Lifelink + this.addAbility(LifelinkAbility.getInstance()); + // Whenever you gain life, put a +1/+1 counter on each creature you control. + this.addAbility(new ArchangelOfThuneAbility()); + + } + + public ArchangelOfThune(final ArchangelOfThune card) { + super(card); + } + + @Override + public ArchangelOfThune copy() { + return new ArchangelOfThune(this); + } +} + +class ArchangelOfThuneAbility extends TriggeredAbilityImpl { + + public ArchangelOfThuneAbility() { + super(Zone.BATTLEFIELD, new AddCountersAllEffect(CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()), false); + } + + public ArchangelOfThuneAbility(final ArchangelOfThuneAbility ability) { + super(ability); + } + + @Override + public ArchangelOfThuneAbility copy() { + return new ArchangelOfThuneAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.GAINED_LIFE && event.getPlayerId().equals(controllerId)) { + return true; + } + return false; + } + + @Override + public String getRule() { + return " Whenever you gain life, put a +1/+1 counter on each creature you control."; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2014/SentinelSliver.java b/Mage.Sets/src/mage/sets/magic2014/SentinelSliver.java new file mode 100644 index 00000000000..1fb3292340a --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2014/SentinelSliver.java @@ -0,0 +1,69 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2014; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continious.GainAbilityControlledEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; + +/** + * + * @author Plopman + */ +public class SentinelSliver extends CardImpl { + + public SentinelSliver(UUID ownerId) { + super(ownerId, 30, "Sentinel Sliver", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}"); + this.expansionSetCode = "M14"; + this.subtype.add("Sliver"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Sliver creatures you control have vigilance. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Sliver", "Sliver creatures you control ")))); + } + + public SentinelSliver(final SentinelSliver card) { + super(card); + } + + @Override + public SentinelSliver copy() { + return new SentinelSliver(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2014/SeraphOfTheSword.java b/Mage.Sets/src/mage/sets/magic2014/SeraphOfTheSword.java new file mode 100644 index 00000000000..9aec676afbc --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2014/SeraphOfTheSword.java @@ -0,0 +1,71 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2014; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.PreventAllDamageSourceEffect; +import mage.abilities.effects.common.PreventCombatDamageSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author Plopman + */ +public class SeraphOfTheSword extends CardImpl { + + public SeraphOfTheSword(UUID ownerId) { + super(ownerId, 31, "Seraph of the Sword", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{W}"); + this.expansionSetCode = "M14"; + this.subtype.add("Angel"); + + this.color.setWhite(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Prevent all combat damage that would be dealt to Seraph of the Sword. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PreventCombatDamageSourceEffect(Duration.WhileOnBattlefield))); + } + + public SeraphOfTheSword(final SeraphOfTheSword card) { + super(card); + } + + @Override + public SeraphOfTheSword copy() { + return new SeraphOfTheSword(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java b/Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java new file mode 100644 index 00000000000..36186afb6cb --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java @@ -0,0 +1,69 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2014; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continious.BoostAllEffect; +import mage.abilities.effects.common.continious.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author Plopman + */ +public class SteelformSliver extends CardImpl { + + public SteelformSliver(UUID ownerId) { + super(ownerId, 38, "Steelform Sliver", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.expansionSetCode = "M14"; + this.subtype.add("Sliver"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Sliver creatures you control get +0/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver", "Sliver creatures you control"), false))); + } + + public SteelformSliver(final SteelformSliver card) { + super(card); + } + + @Override + public SteelformSliver copy() { + return new SteelformSliver(this); + } +} From 63783d9fe25edbcfdd534a113ac11aa8447610f1 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 17:52:19 +0200 Subject: [PATCH 130/139] * Tornament construction time - Fixed that the selected value was not used. --- .../src/main/java/mage/client/dialog/NewTournamentDialog.java | 2 +- .../src/mage/tournament/BoosterDraftEliminationTournament.java | 1 - .../src/mage/tournament/SealedEliminationTournament.java | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java index 3b8226bd447..16f567f10c5 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java @@ -357,7 +357,7 @@ public class NewTournamentDialog extends MageDialog { if (tournamentType.isLimited()) { if (tOptions.getLimitedOptions() == null) { tOptions.setLimitedOptions(new LimitedOptions()); - tOptions.getLimitedOptions().setConstructionTime((Integer)this.spnConstructTime.getValue()); + tOptions.getLimitedOptions().setConstructionTime((Integer)this.spnConstructTime.getValue() * 60); } for (JComboBox pack: packs) { tOptions.getLimitedOptions().getSetCodes().add(((ExpansionSet) pack.getSelectedItem()).getCode()); diff --git a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/BoosterDraftEliminationTournament.java b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/BoosterDraftEliminationTournament.java index 92f8ee92e3d..d541f4537df 100644 --- a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/BoosterDraftEliminationTournament.java +++ b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/BoosterDraftEliminationTournament.java @@ -50,7 +50,6 @@ public class BoosterDraftEliminationTournament extends TournamentSingleEliminati public BoosterDraftEliminationTournament(TournamentOptions options) { super(options); - this.getOptions().getLimitedOptions().setConstructionTime(600); currentStep = TournamentStep.START; } diff --git a/Mage.Server.Plugins/Mage.Tournament.Sealed/src/mage/tournament/SealedEliminationTournament.java b/Mage.Server.Plugins/Mage.Tournament.Sealed/src/mage/tournament/SealedEliminationTournament.java index 702ab4630fb..7f8689f9545 100644 --- a/Mage.Server.Plugins/Mage.Tournament.Sealed/src/mage/tournament/SealedEliminationTournament.java +++ b/Mage.Server.Plugins/Mage.Tournament.Sealed/src/mage/tournament/SealedEliminationTournament.java @@ -45,7 +45,6 @@ public class SealedEliminationTournament extends TournamentSingleElimination { public SealedEliminationTournament(TournamentOptions options) { super(options); - this.getOptions().getLimitedOptions().setConstructionTime(1200); currentStep = TournamentStep.START; } From 3572cbdc87f07fc7069fa7dd2dd278e3ed1fd106 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 20:50:13 +0200 Subject: [PATCH 131/139] * Slice onto arcane - Fixed a bug that splice cards of opponents were counted as own splice cards. Leading to lock down the client. --- Mage/src/mage/abilities/effects/ContinuousEffects.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Mage/src/mage/abilities/effects/ContinuousEffects.java b/Mage/src/mage/abilities/effects/ContinuousEffects.java index 0cc5102bfcd..88cd165bd1d 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffects.java @@ -351,13 +351,13 @@ public class ContinuousEffects implements Serializable { * @param game * @return */ - private List getApplicableSpliceCardEffects(Game game) { + private List getApplicableSpliceCardEffects(Game game, UUID playerId) { List spliceEffects = new ArrayList(); for (SpliceCardEffect effect: spliceCardEffects) { HashSet abilities = spliceCardEffects.getAbility(effect.getId()); for (Ability ability : abilities) { - if (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, false)) { + if (ability.getControllerId().equals(playerId) && (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, false))) { if (effect.getDuration() != Duration.OneUse || !effect.isUsed()) { spliceEffects.add(effect); break; @@ -442,7 +442,7 @@ public class ContinuousEffects implements Serializable { // on a spliced ability of a spell can't be spliced again return; } - List spliceEffects = getApplicableSpliceCardEffects(game); + List spliceEffects = getApplicableSpliceCardEffects(game, abilityToModify.getControllerId()); // get the applyable splice abilities List spliceAbilities = new ArrayList(); for (SpliceCardEffect effect : spliceEffects) { From c924ca8727a1d6df71d9dedb893842a3ee907693 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 20:50:56 +0200 Subject: [PATCH 132/139] Posting a message to the tornament panel, if a player submits his deck. --- .../java/mage/server/tournament/TournamentController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java b/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java index 48edb9c3218..a408913541e 100644 --- a/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java +++ b/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java @@ -229,6 +229,10 @@ public class TournamentController { public void submitDeck(UUID playerId, Deck deck) { if (tournamentSessions.containsKey(playerId)) { tournamentSessions.get(playerId).submitDeck(deck); + TournamentPlayer player = tournament.getPlayer(playerId); + if (player != null) { + ChatManager.getInstance().broadcast(chatId, "", player.getPlayer().getName() + " has submitted the deck", MessageColor.BLACK); + } } } From 55a6de849e01a76cc81291ad33a38d19eacaf2a4 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 20:51:54 +0200 Subject: [PATCH 133/139] Ignoring M14 cards for download. --- Mage.Client/src/main/resources/image.url.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Client/src/main/resources/image.url.properties b/Mage.Client/src/main/resources/image.url.properties index b8e0d66da16..e182c246172 100644 --- a/Mage.Client/src/main/resources/image.url.properties +++ b/Mage.Client/src/main/resources/image.url.properties @@ -60,6 +60,6 @@ ptk=p3k gur=guru mpr=mprp # Remove DGM as sson as the images can be downloaded -ignore.urls=TOK,EMBLEM +ignore.urls=TOK,EMBLEM,M14 # sets ordered by release time (newest goes first) token.lookup.order=MMA,DGM,GTC,RTR,M13,AVR,DDI,DKA,ISD,M12,NPH,MBS,SOM,M11,ROE,PVC,WWK,ZEN,M10,GVL,ARB,DVD,CFX,JVC,ALA,EVE,SHM,EVG,MOR,LRW,10E,CLS,CHK \ No newline at end of file From df07c5ba84d0368a410d412df6353767d7d3f5d1 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 21:20:11 +0200 Subject: [PATCH 134/139] Petal of Insight - Fixed the wrong card handling. --- .../sets/modernmasters/PetalsOfInsight.java | 53 ++++++++++++++++--- 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java b/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java index 27c3974522a..0eb92b10ff9 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java +++ b/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java @@ -28,16 +28,17 @@ package mage.sets.modernmasters; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.PostResolveEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.Cards; import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.filter.FilterCard; import mage.game.Game; import mage.players.Player; @@ -58,6 +59,7 @@ public class PetalsOfInsight extends CardImpl { // Look at the top three cards of your library. You may put those cards on the bottom of your library in any order. If you do, return Petals of Insight to its owner's hand. Otherwise, draw three cards. this.getSpellAbility().addEffect(new PetalsOfInsightEffect()); + this.getSpellAbility().addEffect(new PetalsOfInsightReturnEffect()); } public PetalsOfInsight(final PetalsOfInsight card) { @@ -74,7 +76,7 @@ class PetalsOfInsightEffect extends OneShotEffect { public PetalsOfInsightEffect() { super(Outcome.Benefit); - this.staticText = "Look at the top three cards of your library. You may put those cards on the bottom of your library in any order. If you do, return Petals of Insight to its owner's hand. Otherwise, draw three cards"; + this.staticText = "Look at the top three cards of your library. You may put those cards on the bottom of your library in any order"; } public PetalsOfInsightEffect(final PetalsOfInsightEffect effect) { @@ -118,6 +120,7 @@ class PetalsOfInsightEffect extends OneShotEffect { Card card = cards.get(cards.iterator().next(), game); card.moveToZone(Zone.LIBRARY, source.getId(), game, false); } + game.getState().setValue(source.getSourceId().toString(), Boolean.TRUE); } else { for (UUID cardId: cards) { Card card = game.getCard(cardId); @@ -125,9 +128,43 @@ class PetalsOfInsightEffect extends OneShotEffect { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } } - player.drawCards(3, game, null); - return true; + game.getState().setValue(source.getSourceId().toString(), Boolean.FALSE); } - return false; + return true; + } +} + +class PetalsOfInsightReturnEffect extends PostResolveEffect { + + public PetalsOfInsightReturnEffect() { + staticText = "If you do, return Petals of Insight to its owner's hand. Otherwise, draw three cards"; + } + + public PetalsOfInsightReturnEffect(final PetalsOfInsightReturnEffect effect) { + super(effect); + } + + @Override + public PetalsOfInsightReturnEffect copy() { + return new PetalsOfInsightReturnEffect(this); + } + + @Override + public void postResolve(Card card, Ability source, UUID controllerId, Game game) { + Player controller = game.getPlayer(controllerId); + if (controller != null) { + Boolean returnToHand = (Boolean) game.getState().getValue(source.getSourceId().toString()); + if (returnToHand == null) { + returnToHand = Boolean.FALSE; + } + if (returnToHand) { + card.moveToZone(Zone.HAND, source.getId(), game, false); + } + else { + card.moveToZone(Zone.GRAVEYARD, source.getId(), game, false); + controller.drawCards(3, game); + } + } + } } From ccc107f7efeb940f6ff6251009fe36e92198c04c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 22:27:58 +0200 Subject: [PATCH 135/139] Added count for started tournaments. --- .../src/main/java/mage/server/TableController.java | 1 + .../java/mage/server/util/ServerMessagesUtil.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/Mage.Server/src/main/java/mage/server/TableController.java b/Mage.Server/src/main/java/mage/server/TableController.java index 44f1fd3c43b..b37d884d9b3 100644 --- a/Mage.Server/src/main/java/mage/server/TableController.java +++ b/Mage.Server/src/main/java/mage/server/TableController.java @@ -396,6 +396,7 @@ public class TableController { User user = UserManager.getInstance().getUser(entry.getKey()); user.tournamentStarted(tournament.getId(), entry.getValue()); } + ServerMessagesUtil.getInstance().incTournamentsStarted(); } } catch (Exception ex) { diff --git a/Mage.Server/src/main/java/mage/server/util/ServerMessagesUtil.java b/Mage.Server/src/main/java/mage/server/util/ServerMessagesUtil.java index 0d947069f2c..0db20f88218 100644 --- a/Mage.Server/src/main/java/mage/server/util/ServerMessagesUtil.java +++ b/Mage.Server/src/main/java/mage/server/util/ServerMessagesUtil.java @@ -65,6 +65,7 @@ public class ServerMessagesUtil { private static long startDate; private static AtomicInteger gamesStarted = new AtomicInteger(0); + private static AtomicInteger tournamentsStarted = new AtomicInteger(0); static { pathToExternalMessages = System.getProperty("messagesPath"); @@ -170,6 +171,8 @@ public class ServerMessagesUtil { statistics.append(hours); statistics.append(" hour(s), games played: "); statistics.append(gamesStarted.get()); + statistics.append(" tournaments started: "); + statistics.append(tournamentsStarted.get()); return statistics.toString(); } @@ -189,4 +192,13 @@ public class ServerMessagesUtil { value = gamesStarted.get(); } while (!gamesStarted.compareAndSet(value, value + 1)); } + + public void incTournamentsStarted() { + int value; + do { + value = tournamentsStarted.get(); + } while (!tournamentsStarted.compareAndSet(value, value + 1)); + } + + } From 4cb4a377d2e530183d619143dbcf99360891c7ed Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 22:28:52 +0200 Subject: [PATCH 136/139] Changed message of the day panel to full width. --- .../java/mage/client/table/TablesPanel.form | 11 +++------- .../java/mage/client/table/TablesPanel.java | 22 ++++++++----------- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.form b/Mage.Client/src/main/java/mage/client/table/TablesPanel.form index 7d5dea9d538..3a514255d88 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.form +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.form @@ -19,11 +19,7 @@ - - - - - + @@ -128,13 +124,12 @@ + - + - - diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index 2e100e73fb5..9e8dbac6446 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -422,7 +422,7 @@ public class TablesPanel extends javax.swing.JPanel { jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); jPanel2.setPreferredSize(new java.awt.Dimension(664, 39)); - jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); + jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel1.setText("Message of the Day:"); jLabel1.setAlignmentY(0.3F); @@ -443,13 +443,12 @@ public class TablesPanel extends javax.swing.JPanel { jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() - .addContainerGap() + .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel2, 449, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(440, 440, 440)) + .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 701, Short.MAX_VALUE) + .addContainerGap()) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -486,7 +485,7 @@ public class TablesPanel extends javax.swing.JPanel { jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSplitPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 743, Short.MAX_VALUE) + .addComponent(jSplitPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 803, Short.MAX_VALUE) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -502,21 +501,18 @@ public class TablesPanel extends javax.swing.JPanel { .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 848, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(0, 0, 0) - .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, 779, Short.MAX_VALUE) - .addContainerGap(69, Short.MAX_VALUE))) + .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 908, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) - .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 501, Short.MAX_VALUE) + .addComponent(jSplitPane1) .addGap(0, 0, 0) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 576, Short.MAX_VALUE)) + .addGap(0, 580, Short.MAX_VALUE)) ); }// //GEN-END:initComponents From 17c893799ff5707ce8282aaf3fb5fed7dcf667d3 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 29 Jun 2013 22:30:43 +0200 Subject: [PATCH 137/139] Added a close button, tournament header infos, name in window item and movable divider bars to the tournament panel. --- .../client/tournament/TournamentPanel.form | 245 +++++++++++++++--- .../client/tournament/TournamentPanel.java | 198 ++++++++++++-- Mage.Common/src/mage/view/TournamentView.java | 34 ++- 3 files changed, 426 insertions(+), 51 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.form b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.form index 6b8c260a15b..4b690eba5f3 100644 --- a/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.form +++ b/Mage.Client/src/main/java/mage/client/tournament/TournamentPanel.form @@ -1,6 +1,11 @@ - +

    *g?;=j}?z@3%%+ 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%0D%A#;?%QFBI>79hS+=DfgSg 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®*y9jn&ejmFDZD2&710t%BD3pOiA-|D{F~ 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

  • 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⪼rGq@$YL(kR}68jR&u9c!y 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\`JhSctQQ4}CKZrrUV69LCaS;NvD!D`m^S5)=Rj ze9tH4t2)Qj#HaUbSGTTr7uZ}p&v2VLAP3*@AG?%Oz`kF&&8inpg&Q)C^$(}r{{UGA zhI6w(sj9%#v)_sMBQVIsPu)0Ufq<$9W1yj(jh5>T8ZQNA*<5Z$)}Ti1QSqSXOOG<+aLN4XldBBN zoc`y^OA8FZejq%pMIb{N&1CMOxsL!d1GUBZoli^nB{_(992N9aI9qbMMkZ2}Y*hjn2ekcz-IcFE3*I1W=T=N|YFWJfchFyPV-!0XnEzMD#HGsP` z1koRs25UdiiISr(6iR6$6x)UaiZj3!Ma|OV+My2AW5e$AjhZrp}tg zFU1OO6FCnC))H6yk5am4V3*vk4>ToLPJ$>MeCs?Hc!*i6Y&W@zK0|t8t?qH-ji}NH z+yD)4Q?MR|re-kt&qQ`#VzP?+_cf*)*!<@vYS&mTRqbXoI&NDl6O)-567W0K^w7su z{x)`p-Qs~khmx8AcrSHr_-h{@E8-3?4CIYiCKHU^zZ7Ye@|27!xrKU?+q(=_>#m69d7EGUT z^x{3_VqU(W&#K4@|kwJvaRJ>DVZd z!Wx>1^;@lviM6pO`(JQslvtHpn1*ZA7K@cGD*XJT&?H*YNjh=L!L{wsHUmf}nM=NKDnK9X<7#KE--CnShyz zHr?qwQ1|j==2eR!)o!_G0%$|gd&OgwQR36iLGDk3%^{E>lxD8(G)~@#tMy&)l~Z+b z>|qm@u}WubIi(l(;;b&C`qVopz-U}G9P=;RE5jG1xs|?(P$3Uqyg9$Xs(GmXa%wv3 z>f_&jG_gb9f;t=6e`h7hQ+??H_CdwfMXa+S5CE!+oCp&pMVEZaeSpfJPg(Xl=j+u9mrjnHQ$STG;?vKx(MLPL|{3| z^r1#R9ZKxbIp>>I<(;>PO3%g3qvjA(g5B>-H}T>k@KtLTh8G`IvOK9qQ_H z4PgOQsa+M;;^gePb4D4XQDbK^`<~RL0R0#8tkHFOKO=t3Om0ZNvs zS${pXq$~eivS|^ep3$!M&Wut6-W1CApaP;3j!dr2A%PY611S&Rb8XlT5P!(iFEas_e0 z)hde+T8&b_BS1QBBJKuNv^N{Ju6a8B{1-yhLu6icieKZUu(0cJ{fno(j_mp^tEKrM zEBOWCnP2gYm0f)Vg1Q+7R}XBjTE*$xxNn*|x~7UJh{U;AYij>jyNSfP7)Q(I=eCXw zTHnahiT<3+pE=Odrjuf^i~GRkd7Y^rCYRG`DsRgJKE_)mK!Q-?6*(IF!70 z#BaHs%T6N*YDTW57&li>=)y zV*AJ}OX)gjF?x#z2Qo-8DQY54iGN%Jw1fb8i}cMBaRS`qvxF8JOA)qu`N6Z@`^`D_ zZq)N9Be#*3r0D)v)SU1b7$1;3!wC~zmr#8gfGuv#4?gzKNymq_wH`(u1F{djx#BVHdVD+b^jP9 zvv8Cz2uDMkuTqq1A!@L+34&S`*;~M>ygKoIW#d84bh2NjBnuhez7~43lKjB+qqKN#2 zDxqoSf4q08sh9LS(})?|4P_=A4>%or6ox7_KZQkJrqP*XLO|z!nNTuwW5M0gT1@o; zUJl$_87wD0I7e%w(>f%UY4?k5gr3h>$zDy495~0 zhMcCYI9mvkFd(RJ@oLC%bS+M8l4*A7LAACjr$X+{uewv@RXUjy7pnh9HB4J;DSc~e z{we>Vc&Cgs@4-|@J9YEoEmuQyq|omRsh+{nm^pdFKQcir;99l#2J7`=x6lEcAsQ=& zO{ZTdqe>)2$ng0usvTO9V&g3I@KvW2am`2W-^sBy}@`ho1P-dG&F?|{qERg4g7|z0$&=g?@L>=f%Y`}3w z15AxyDzb@R8c5hi+=$=if2tY|1!xFXL($rXUv*VQGVaAfD)FI+6WFin^aaRLU7B8P zcTHYYTldp8Ye_)_NL0yR()#Z&mcDo{V*&>9k-|Y{D#>-vp7q5J)DM0t{s@ZC#y~DH|8&$rQAd23YvOO4X^rq8P?s{XxOQplSyd zFz%izn`B$IX+*C=uRcHy0fYJ=eBz+vAv_+Y$3=>SL7rPEd?*`7Gz zx5Ylv(XN$WRlE1d1Kr_IirUB|%mM?V!=z~(hm%t?P6VZkExy|1oAERsOn7=Te{n~w z9mg7asc;d0X|Lrjrb!1qQ4V86}_oNw_AOw>ORujE0xXg#NJ>x!iFo z?fRx=f^x9Av2ofpDg-8&F?QT42mwhm-RR~ON4*hiKB2?yqBQa+jq2a z%l>uX=}`jJ&~32U{c4i+{|ety$YaLUKRU{s<^e51(Tc?bw;Q4O>1E$cEJtYjCzY?Z zF8n+^`Kq>Em3`QT$YwZGCz8`%Vu6Z^J5w3H+9r;UzLT8R%V+=TvA+U(JjTjSXD6{Nu>Y>#Q0w z52SAAr__Uwt*+}U$Nk*!7pXr8t!zsa&i{0=obb%F2~=SaPBgsrPA8{Fbs92V;)0Dh zxLU|sN`TG|QHr5-z%Q!VSYCGHG^&e^X-jD5uy}!l2^g4#CAUAaq zmaq1E;#g6o9190))(a-dfjUmbAN8O9epuIUk;qZMv&Oh)nn{_%>0hiky2p8-9Y6ba zu^Widhz4=q61LlEzco4}Bgtlh(qS<5SB&N*dx%RtPXb1e7En#P5u<3VqbJr;RtBp! zp$O+u1@c+-)~FYk!{)7z$1E-+_%#O4J#Cyr_=GJCs?Y2mTi&y7_|s)ux!KQ7nHhc2 z9GnZlWQaZ-EbhT2zs3b@t6 zyg_OCjMBv;ax>AQ9^Lr+#MOe}vzecjU|7{oWp4+LsQ`y*lYQhbky|KJgw~s~La3A3 zJFIP}?iGh~Upc4cCt_6nuV{Vb+K?(m8{z1&6+;F!tFF>F#`5F&(`Xkr%o{t#>55V&{vgyo;owN;OUIjHd z0@6h34Y6Hdz~_=6Y%<+%=x`PJW~+CNV30YTbSg}B7Sx5W%v}-0-cX%sr6D7VTD#ij zSGSeIMn67%YOr9(`!$`_X!q>UksU=l*Oq9`aV>6*M-H1cZb4m-WM6XAnM<~Qpb^7g z?K69@T;ANBIwm*aZ5p}mU-SchT;4i{p*!z$a;(bJbHR4HbLh--%{D+d4P%BVU;h{xW`1XRZm*F?Uaj*6g#*EmQ<&ygc$<=0UtqW3Qc-eXJub0q1`j#V| zIW^Wlu~NRYSWqQ8cVy%x%_Z4iK_XdTTmqlO!r|e&71^yKsfY;8SY2!@D(u$%n9mFi zHRO2IOb``J(_WceeiYDCy@#uv(Y1w6-i-DCiL-0%hJ=+g*2pq_p;>AD+2GaWN$)Jo zS#l>X_bFSAYHUj8^u^R&cG7~9W!0}48FZMIpaMgg|G8XFBwa{&sFRT-Z=C1mF4eRz z8mnx*MD%-X{PfwWtK0j238V$j&-*f=%n)PV$hhVQ5xkYpa)o31Qq)mOmWeRi`xFEXj0h>R)LA_g=a^ za~oa;%cOzgUh^CW02I0ytZVGj2{#no>m~dV9)nQah~3KW<5mNVg}H(HO{_!pqdtRm zpEY0gay;9L?GaV}Y3y%TDT2?{9=><4aC|M{UkGmXary9IOy<1rm189^^b_17XAGyW z`wtfx^zNpX@4nkpVQO8HBDS-cqwy4DFL@Rh1D^qY6(oh$KM{^f?p7yYio`?aj{8~^ z)6OJ1)TpqivHFeJ;O%ALP;l!4Gxd^CS{B*JW1a4)CJzp(Q!Lo=vw8!Bi}a75_QNUb zR{33>`n=(*)=Eb%Ca-TIypv+!O;2n?sDIuHi6O7K3|<2Pu+hn+4N>Y_K}IKb_VmHT zOgsi8?8IE9;MN>dl3BNa0~K=}o{+A#1245E9QVm7w+m0N?Qf_XC`^1WQI(d)?2?a?OtOXz zgP!aqg_|yk800A`*j0Sgc}Fn$oB&abS>dC@Is2j~pu<@j0}V~)-IMfOSZS@+VD&?+ zsU}xGmjejt505%rNyu6yliDy^%I^Id;^lp`McUfhA1On8mSG>5qI$h}WtoW=sHdnQ zLW$AXUJzwEupmxZjODX~hf1AhOzL?uYSOm0d~e}+0*%{uW*O+;_magjI^Jr+Ggn>3 zs1^+Ft_fMtqFPY5;_X0y?2_rk#ggsb`=T&vX4y&aR;s_-@)w|^i;Rn{A=bE8i)VL7 zIM_A1U-j1c0TCroxt(*q(E54=<5T*})l5V(GkHW+XELo-xuCcyBOcUpemZdzC8|Yd z*Z$_LN{h@>;wUs1QE2eXn?(z=m{u`iOZccqTsEj)GOy&^iCe0E9c$B~R*30R70{`Z z4|st?G9cXR>ThiaO5X8X(MmcgJFrKREQGd@(U@c)NZ&1?!m9s|qBD<5I&H%+ib|GC zlT>K9lqQ;AC29!@DmAINfJ@t$nWi%?m5I2*xR*@~;o7E%nz&^yO>SkTwunxn7?_rO zVd09IpozbrlXx!&`^<(-c*+4?kl-eS)#x_VU$z;b>9(!L)aow_Ey@iKtHS)C>3DYYu=lm3Mi z=)G9qFj1MW@JzNzwA%6IL0#;>5X^(*NWmvZa7~Q`cznHbauWxD80TLJkKa|E>;E{tF}4bqe!b z3cjjqVf)*y_D~q*E&5-Ge^ig9Tu+1KzDFyHQ;|haCX)y9J8k@ztu%&z*|GCre=;#RbbH%5lCM|=|v=y(Z!c2!1V=yA6zUueTx)#=0WOchT?BjO1XxpR1GX>szUi#Jj{)j=g=-eN@WIpddFhGf-g9avMnX0 z7h)%khjqpNW7&@Aq*2}RG;v{jpX=@Gw&!ZzYcGryut5jzs8Z1oZ6f1}W&_81u0FD`puUy*3*dl>#s0ntPlA8>*~?Nv8{? zI~p0EHWMm95u}z>KPP==;zPb59J;--bF?Kf=A?;odbrcZ5i428eR2@2(UEAB4t%`xc zP*_B{Mmfg*@IO>W_G>&s)0ajeGATS{V0H+kL+`n?1jhcF+?-hQ-I&#i#Xn~DDJB(C zoj}Y~*Z{82mqrNuRT0C_f|}0r%v0IRtB@-UWnB37HCby3HE?%5#CWZ)M3*A#Dk`?W zZ^wN%vVx=zaO7OYWvN}RXRGAR6w01lOS2rr=->RBc_D&VRARVTZAiD>3nXI)ckUjT zhMopNN59a}=%>fy0oHh&EdUd=X|T5pZ%@3xyaKki7s8G;->BeuIM}<`|5-HMz2NW~ z^p5b6XQ1nOUJ8bi#f;*DuiR*YbVH1%(7OK_?wA;ZARi#WMN9__Lv8^X#|tBr*F%bEqjL@TiOHF zd7br2fp0{0p+TN6UmVFfaXsPk-l0esfrsHvr!Xh`RL3Sr2t~~NY@P-+rM)vD1hEWB z*GARh)g58#DSSNb^PlIFpDVN=@aANnONy^26XCYYJ7pgnXsOPKPGu91_-+Ks-X-)x z#p{cE%Hl+MZrNK5*2F5Ax8*Exu$$&Iu`lqce0vCDoR{Z0n8itOhnNO-8A_+!i=gXE z#F@l4f&*;U6`Tyudn6`4kF^5$B!pH@cH)cvBpV2Z3(9;_NNbXu2j>(l&hp^k&n|A@ z)2x+Pr2OEXGQ3d%D_d7LL~366;*j_8CUd<#F|eZCKMD#-%$2-~XvaJK&I*MXurm`2 zLSEcKFu6H>@?b1naCH6EG#_Nb%M)&2+fc&lYFPH#Tui34plXX|z0g}aH8g9EZ#OZ_ z>1gjcawSRuqb)+sGT*sU&e3lOKge~+Oa1TqFTQgbxO{plO)B?-3R9nUTAsX9sfO;@ z_I*VL3WqZea*p&!aDZw{HoB0~RmOVMJSmRt5oGd`{=#6oM2ui87OY&fj*XBulsbml zi$4V5ms<#->j;SFp=Y#bGtvAyIM94byB0VN_rf@ztvwWU(H-3BcG0w;>i&$*O_>Zj z6B=q}JL6Wfj8N@{W!mKA`F@KFNE0ISj?i{xjA-w}Ai zPHpXZp*BBkYwT3_?s8cF(g)#|mn&bIjnw+KZaDtbg+P=pcfgQodEAZ3H?cJ-ec$ZZ zUV7A2o29t}U-Yhc*hic52pJbBZohi=A=x6MtY5a>Zi+E50@WFkhP#;>z#vujFgTh2}ZCEIczC%Y36`My!M1vRww3x&srC)iorv%3M$(+pPkuuzRX0MudA@X zMZt~V7!R$sZc*uv_CG~lopfs9Fzq+sD@wBZr-0=1HP#N-}+kaY#y_m-Pvo zppXgnBH=>50TViIB>YMn360k72a8}IO<0BlW%?BAfwOf0=N{x@8e3GOTHInK*nPB7 zE5q+c$)MEk_C34sl)++HEh*F@X(IuB>eoxkV*}g8Yaetos$pNCH5LjB;4)Snupd@`f|<@({F%|}j@Uf;kM0Nfy@z8i}vDm=ZrgA6Qt;pl`Yr5mU#|LtB>yg4bB!f z+WW*jd$;q&)P*H!iTqS#)js51M{C5zu@|{FaG8;N^sgU|IUHF^H&cJ5=|?6#7m`uh z>yhr>Eg#M`6wN_Yd*eidJGGZD+CxJ3mz*$|?w?#i)r6p!q9z<8bbp<7cp9}iiuYhK zI}}kT6<0#5w{8%a?RH}JhKW6?$XoqUx`;g~ogT__)`lUZ5_g^SKYWvIn1Q$~rq>lE z`D6^{&7ntulqI@`{nk*deIZ<83LZChdi}a7R2$W_FDGW(C5mbDj0P!5!*oXDl?I(@ zinr0)2t{+^pgFy9Mf)VT#sGXi??V4ZSpIvffIXe^8-q1uA-n`-n|K4>6y7y-luRJb z#q*TDk$ueVxKf46s`dTbK&?QAz;GebDNU?6&)sUSJ(t=in&p^?n+CH^mj3F$D_5bz zXnQ1STu?gNl3bGMi2afd0|urpQQucQxzT%Doq4~DYkh3loFtduAI{fleV5tQx7@_ZaI`Bsaf}sI{Mk7D z!w|{3C26gdL@uY2+z+Jbaqk&oP$+_yHX0Qxp>!&7-v#HE6ZW zm_n}_Dsf~e%xXGaz1)Zq*1N3yS93FhM;1G|Q8^zM@_M~qbbN)zSU70&VHKslHk-ev z5G(P=&jEO4Z%7C1_R0~G=Q{(LMmdxzf)3>_W@_rHO2Q5YN1@3EhwK7b4tzNDQh zZ^sng9HM>48c8Sf+^=5D4_|+v5hw1;>Q%?AKYbN7+iUXd%eKoB45XEo)k)iW0+u$* zYc*>nbS}5(Hay832@F10uociZ)-rFj8VS5wVUkm;grSLDulBiP zp$VgF$;TQ9zbRlhYy|YP1G{2FV*fq~q42fK{C7Z5i=};D0^;Kj9T=2B3J(Z8feO|p zOYVK;7o${SqjdYBJ^j(zJY&vSGmfT1c84LpmucG#$93TP0P4I2ndW@y{2OWMzYuJX zvOU4voW`0Ih_c#2o~!f1u44Y+)6TeZ<#0N6w%_C2mFZmu2^df9vg0%(VZ2kwG4m4EQJ^3s}XHT8A(CfLhJul1r8 zTre{-%%x@OI!p;d?3P4A%FR(AAYW#(vvs!7V9yO;o$Q_vrbCc9eTxJ2k*8yh#R9+J zM##!se8r2Vz}%?1HZg#u7lmFa3W~4^Ege5oXWD6qRQ_8*`f@0PfWqIL zWoVN~3P9E(1@6np>PJ?Q@zYs7#ClV{CsTo$cP!gyBwQnIg5wyvv8SSg4;x53(sQYp z8{KaAVVVK-09jHoV{7`F3K^$|UAB78j)J|2uL^CT=N+vLQ03uU*P#)-UPRO=W3PlnEb|YJV(()Pc+mzn#nCFMD z7S&f*?Vf$3pCSjH&h-69QEm zR$r$460<9Hi^OE-ZOQA+#N6`rjSv%1t(yltL=&ySld!h7@O~P^8Co~(@G50EqsyxX zR8-1cARgsE>YOSjJg=j4Nt9>FkY9+1?&oLwIIEX=@}zoYuaNawgz>CaTR5>n3BbUaCf;ZAOE%o z*4#;9g&t#W`U1aKb*W_A`D-X#B&@Q>psU>=upElrX;gXsu{h&`o5oA#Pg&id>oq!c zHtN6F5nb1$9aJIsIF?EH=f*o1MY?f(`|A)fiiMF2cD!hUr%8J?=$?Ns3E3J2VcGQJ z@|Zc8(Ra-WXJfWGag|KE|25CE;Y0o{+4jh>v~pCQFN8N-YSM!L=}cW!{Zh`Lkr*jJ zi`Bd4nLr}ab>#?U0+^J9naalG2yUQ(7z`w{&M~kZJkM2+NX=88vtubYTk3chUcpPU zx}|Gn$-8ldg#N4)C)oHD{ryZ)vQ0EX#;b<4m0_`lI~B=6ua@TL-yF1Uh|=^cK4Cxv z+xF%X{S3e6@_*(7u>0wcX)^8v2X7Nw9KGkvZcvhjO@QNs@|~1b{c@_SL;L(n_e5|C z;XgWV^6nRqPMeE4I1yO&XKpDv@b)^eOb7vIu}0(5qL0_367Yg-!RK-7v&W(uLT-k*F?ySlDpd89hfw@FRvCLNHkh z+x{c(yJY>D45TYOd?h#FZYG|Z^5#hR%Z83+aS;XANpY4l_i%+0i)0=; z_qU4C5?fHBR#ia4gtzy#FHRaB&Q z@Q{LKNU(0atO#<5Tx0)J-Z2ddiz*Z(Yx)&lheMD_^65yDy;|UZaSj<*&Kc=*4PSQl zIR;B~YVJ{VIe#{ZO1>?S?@Q*=?(;|3HxR{czJNemaiWX#4GI^(7+zen( zjH)d3fmRZ*aq5~n`|oK=sw@+@h*od1UW`{GqhKg)8~}WTcdU9)dLjCK9@PmadiD(c z=dz*Z9o@FFJ@zGA9u)L${qc`?LuX9P!6P45`kGN&y*sv9#b$Bv8&`=Fhrr;cTmZjD za(EEB$OZV8ZQvSVby>4Thxes@o;eu>AK5|6xGaC~*fX;~xH`>9s}pp~8chA2kZF9w zQr8ikSa%CtO8>IlOGrNNdE7}`Tx)-Hi%$$KmQVAE(rRvZH^gk>sq(6E?0L~Pf^la!B)efi+~R|PUqYBhq?%tvgf?@j5A zU&hI}{C}wIHC8_)NKRYxNHX*>bqYLMhW;_J!;zL30Yl0r{Ml+J?Y-X1nFbo8PGc}5 zApo#8#!oXqjErdZ0ano^q43}U?<2Tc@$~ZWj$CBy>^#w&9AN*ycgJT?W>H#MQ}_@$ zQdDOkBpwX+3jYl4UhWdLB7a(;MJahm>Vv2+UakrE{CCu_tADmL=FWrfaVRAuo93OO zSF%*}!0!3)&G_7(QrwC!JW$cKx35NuE9Cx@I$N$dxhmkhQQ!;Pjz`s7!wyS}`?b>X4rYf$C(h~pd1x(xZ=U95JLA;3fH8%g7n$Va>wf>-BS zl}1@xI$;x``A<4zx|ntVx|&nx+M8u{iL!WM!L=CONc#KlojqFC51(wWff#Dbe`88J zaDlaM{pa#eZo7ZUc<*rG-7k8r*AY_r$rsPm!$)6%?uN@T)lPhpP0jgxPh$M@p6U@W?YfaP0qcgn`8-QHd1sd3Cm8_U z!|h2L_5V;=w{b&bFRz|c*$pYv~jkhUnAlifCrS)d~l3`*Xj=^u;E)ZszS4{qVI_eQTy)pcUKIu^!L+!p!^y=cP3x#<1ftW_#I zD5}HiAF$y}nA^;CS^3NC^ZTu^t4RZ3h4JLrN^Bs|T7YDjUVZHH{K*2jYL(B+2;yu? zr|BbA(PP|FUw`CiE*UJGsx-|t@8BHx}cPx8Fdg1*@Yf$(c0Dem(US~BfaX~i#5 z>Lu)@E(5(2s0yP5e8v7_-4!=)HE$DQjh6BpvAs66DExsax_J)qms=uSS{i3vNbQ2* zXi*PUqb^3xLBNVe)N}Cs{d1%0U7cqSmz~M8h;&AD=>mqWMN*6GosgC!#yPL&eVGv;}un*X-P3vn+!$9O#dQl z=!6You~_X{(&(VkQWr0*@|PCKCl*inX_3ZLBL$XaYFK!V&rR0C7~@Q1$p~%n4zH0| zI)u(O0)?&OmbHNq7x_p8|2VI?RC@xz-lsyVE}Ksmep_(ag86i#Ccd0rjo1QIe0Z8L z1r*By_4>2vkL?}+g}_}S_BYLGMr`b3^fQ;a2w&(p3+C(b{L9&>j)@6D>+qQaL#&~v z-MvmwzXhvc+jw7ni00A(X46?`;=E973JAzVEBHt zzUuvTxlQiLSVOE)APa0_RU)2hBU8rm>cj7Y-LnT#iG{^Gs@obi;pGE~^EZF*!7IV= zPvye4|4vC@r1Z$^BaFgiuX&|H44-!JD=QOA>Y|KRW+m{-w$}Zrw2L_G8%a9X+`!dy}6Jl+vl1no$dnC>uP}&{*#IMXx5db`KE0kM< zml3iRSHR)g1dC#A_LuCc$+Nh!1hm>|Lj~S%FP*>pe#)3KcDI(4m}?vPp-ixQb(!0- zk?`2nwMwg}t)lgIp3;{MjQ86v|U55W2B-N zreB`)0ylS0@Rg`N0_(bavqDB3^kK%8=Mapz!fAE15i}XFe(+ljPqaQV z28)7aC?}N4H(+UKSf2ip@Xq>oKH(L9s^Wi|O+qV>A~4xMYCA$IEF37v;@8js-%+u9 zHozQ|t;Bf|-JPIefj5b5&DRj3O}c$*W6T3^i9HDXO{&{YnO(t5_;cc>9pf>+tmMzPI2G5p3l-Pv z68%+dC>+ySRs`Nuj{=U`1ErI z6BBD5?yFY(s&8Ywl3sl#f1%Q+r4A9h$97mZtVbgCtn8gZs*DhV-64g_~GBS5H|Fb#=bnTju2 z7549$N-M0CYQqySpy_d?_2-5csqY+qIh0EM;q@+H{8BphzffsgQstYy7d##m0FF?z zr}K{YEy{2;lcGcL`%-ySQF?xCGZ;ae>>+zRNd8mku^A_)oKOzYB@ZIxf=nkr?5x9< zI4p95=0)p+KKZ~zCTSX4u?0FbN(fNgl~kS z!!+B2c#x;ZGu-#*v_Cz})M&l+Ux=F*G__<&#OxcUGrG@nF_VE{Pb~bd2@G-KVlIka zmf5MBj?QATe`BLlQiMWW->K*AOM`{AUZ!XIAaq(E{`w37g*EVM!lfS7L(t{#&!0bg z+GXyTLSPzG{dG2^D3Yh1oCM{B47g_tZV&s9)0^}P+_B`}7lk{IqE5Dplqxq33rdh{ zf=Y}S#j*MA;n4XfC*B#sAk>aPCWpHTf7%JU+Ac)ji#rsIL>bF%r5Jjk?&E34B7Jc& z4(t}~r=7Z#)`{!QrTiLLW61eO3Mcl0nyTh1fcxqW2Yh|Kjx8;%^I5ye4jwLinJbg( zNuflk)^{tBTsH5}DXP`Ap$k}+pr|nEp~ws_6jq}K*F#Wag9MT@hNq;Lo`Y{u7-Z&c zg-6n$F3#N|D2p6$l5^{9zF9e?ymAissZIZZh_Lp8oW?r`US@R|F`E>bid!HW?Xhq6 z9$mP!4VW&?iT|SukN-3{WxKVirR?=1kl0w79mIKNTh_U)}Katpi$7kkO22oz>g^Y#147wwZdv_HtJvre9c<>6tDd2|KD3|dx{ zs`*0My5h}HIbw97yCfq&jTuDWy7Sr1rE{YJeAstbtJ01S6YOvv?YI_pc^Q1dLBCGK zXk*GLcyFDp6V$Y+xE@>Gc2VhG`7OY|j)mg8p(u{&$Z4%baGdwtj4yF&eg$Y#Ki)Yj ziM~naln>f_TKhjpA07!Hu4aul!*70xC4Cm?*Vx}anf>gEUK3$6uJmipyALk25f8GC zM_Q<0Cli!S`ByhVKeT)hp2*&;huo-%{b^p1=YV%G#Cpy;ob^&s6eE+-1fw90r;s2q zBX+w*p>HIf)jXXfzl z6It2l4rsO2cL*}l5i;@LFkr8l?4nezfq{=b7iIM|!QfJzHctlw$%4=>x6c7)0L^w) zE9gvrq`!A0(r%^Jh~oBEQH9DeRr7Q5-LAYBp^L=@HrS2;ICJuLr$C;F0KGoBBy8B` z9&RM5$;`hw0Z!SbMOhuFe*Y+|qhnt*u{@=$UgCs~q8N*Tt_pSzybPC#bz9vJ#rJ|L zSkZ%(k&D)-T9njkC(k>BwBBc2+kCA?#b)w*sAZ?Q%_Lw`5jqeUZ9vl0E1z{x%@H=} zr;}@~AW7*Vpxxs+mg>{e?CBtQqTzJRNx%X=B*}chb%TYj^~$YlAMDBBz%Uo*eOzm4 zGnbxZK{8n=f(gf$ijb^pbR?AFm-?bnv-|?ha=6Wx!uF0$P%$RMV1-@Yl~tD__OL{I z9y2GTWzj}Qse=(1$jP)AwaV3aQQzd}%vZz1J?amwd7{MrUfV|4r5!Nn;+*ms_pX7JY_(e4S|Pzvp?fyd5riZBW?s3M z$GmMT(LFVA&^+NVj>8<{*?-y^RH(IYw?%|1(IR^fmhUC%LS%R z>=GAk3d0%>B3U6Ss3y-rB;|)E=h`<=AtDe|iTHFy?B!JIlyi^CMe0JT4VCm|f6E@W z$S}jfTzT(wdpCa!Kh*+je4t-j$9J(U{A&8*?$6bFqG#Z>djtNGh=H)4%e_LQ{s+NZ zF60F=gYSrIOKs^*5X2N2(S=+j7}O@Bnf+-xsz`T`=T?w+TCO%brAOcRF3x z(Yxyw`>ZcuYl0>vGel1F-!Kj9lo2>ordJ?#GRZRUNWT(a?*@kF?Fhjxocibe&0Dg| zmx6IxLYSarA|j?Kf(z7G>o?3ke$Oy02^6wu-Yy)H=7bY`q_+6L!I{^?oeM?NLoBZ5 zD^_!HSiRLnjs?ttCc+6p4vRQ85L7WsznQ~vv=uYGayXIp2aG23F6%$5@3#fz8ZnU- z*M+wLWV_z=SL0E8p%JJYxi{u?Zyd_FHb4L8L+8Wqp|Nwo88mcj!XMhcY-oJb?Ch;` z;REm;gqe6zT9&g)ddTRt?BjbvM25Jv9ic$_?knggj!kJep&)^v7n^u;k#rRPwBXTU z(hunyYa=F$D4TIV5+yy+wwIc0DW?gvIJ+xA2Hn(XxV3xbkCmL^+6Ji7PkplPhn$!0 zqn*x>ZkgOWwEMDcWVIsezh&r^V!zX|V3a(|?Z9i`X+dy`v0GO>dPWrTDa1(u8Qsv1YH$Cf59w(GkbBZe0| z#UFSy^gjLJz;R7~CwG*Cdz4H{Ks!6VfI*>UCVzc-=D!yznUHo#%jSQ@`Lou8tyW|DFIYw>fa#*6(_pPj z!I5Vcp+`sGEDV<06CBaQJ3UCG&Mfk|$3!r_Z5A;iV4*7uF2phqw)Ah-s)3&Aga)+} z+Zm@=x(aT$Tl5P|5r)r1sKFzycOOEOXrQ={=sDchWS3g*l;Ds>1gM5)%-4c;&~|@X zas}eRGx+I4@GPk`r~&feTJ{I>&&Zq&n2Wt!inS|F+B?C%0<{xaUBOO9i5Q-3p6kg+ z(cOl{T}UqxR(jQgXjQ!suFx0Ria|0WZ+GsNeZ6_;iueBdg1p_8d_7KmVu9Q9!%=&S#-`W#)|R;vD5rY9O=pZqC{pST74sJi;PQMJEVDK)}YgA_8UNEFxL z9}X?`9gM*slM@o+N@q7IzcA5EiqqvaDM&eh%4BtQUuzssX2oVbk6wT1^Q7O!J^aQY zOU^aL_^+ugHw{xh6#7(rocf!liHlL%PDGVju^dpKYnsVlK0{aqKb@E?Jg(_Yw{ zd+y1;?(^oj#Z7m_G&6&T-DzrkFM(@w7Xg_}fQ8*|O?hJ-U`pu(6S%yXfq(Aq;v}oW zlEJFks#*WdZ0`ZrGoj~Iup-U~AWip1MABqa>PKqQnocGkMv4uVW#y6R@&3Ff$%pL% z2h`x8(h|vNSsO9UM)r>$%(4Lb-h9rr$wf{sSM-=S$bPrrd#L(1Xe~iljjKRlHuV>f zd0y`5N>g9YtW2l3?830%)z4WLo>xY9q?T*r(W~#8a3CZ(?;yIOWWd^;tPGimJi8)3 zLOQs!vHH&zRIym4@c5rZbFXGkcJ%Z(n?kIzg*JK2wyUX7_gF&(ZzSNj{%xLK3T*#J-gB< zSlW?x<_WZ;8#6zc26QlsQ(-SqRdBz?z#Bde8gV>mtES_e5ApJKz9F~@c5r9N;q>S? zsHzW#C$$lx!bB{5A$JFvWDYaV3k|=vS{tP_8DVZ;jrs3p@o}2i(!v_9`s3)vgsRcR zA~P>eDY$u7#&!Km@XA_0;UQtPB`*&6Fw=&ar;MaAs(9tjB>gfIKrx-Idq3_OH$N!% zN>sVE+v}jo!8agHCrh+SwY(B`oeKgCgexZwUVo5gJ0HOZv%*=vw4zOri9`A0%xb z9n@u6x;6u9sqPl8hKr4nHAPz~lFIO92R_wR74Ib9nHYZ2{yg}ms;I`foXP^*IqR4s zW>N^*w$Ak9`n2+BgBC_sI_+>Cb!m&UTv}R0I|}zE^?oXS#Y*xyQ2Nj7hG$F#$a>`eMcbzb~uTjpM;vvWMcoki*j_An-&hRlHAKL?Wj@dRCC! zZ(%9Kw+O%(EV;31H>$|qGtb2MjG)6QY1-kl-N%S)ROQ)d}BSq>|E$o*&9e7tTsy42U;JVL{0D;@C;BP@|wc z$oc!)T|B=~^mj2xG-z85)%gwo;dDGDRe?u~<6|z6%C(Datq$%SzF1IV2;xV~yznhZ zMFKQk_F%B@Ov_)oOW`8StdJ>u+?(`qCVtxqUeexDBEP4QRAQAZ#em3ChgIru7^b2N zE0@8n6qW)jG1`hLEJJqGWDFO`AMo*C0eb3hN)}5Km~`5emYUfS=E@4yAI3gTfr&uQ zATtUzBAl+{=6`@7MqU|2m0VpReH!ogsA(YlCUlE;aB4=zay=Xg$k>NppM~Bsx(*Q` z7P{b8?b+3=sfA?T&mAp%4l8Ht8d$&9r;z2^IU(i zM0YV~xWN|8fD?~_eaYPZp6U-b@NIq}V!+3CzUl#<7MR zxV?9#31qpKuJ@tHhOrIGjC73eDD`)qK`+cYJPoY5_AA-mvum0Wp_FW+uml}QX^B?E zv?CA0A~05IZH8GR-eIH1DYp7R4gwGrtuVxcmA{%fcSGVGA_)hG%UCP6n8L4_(+jzD zPBFHhx=Rc-Ox=PMk~D!gEA5SrS(UQX%>npx71(QPdA4Cz3w?xf!|#|ci{Ip^nVG7S zP}o3rzY(19GGm(L9vZNI4P2DGgnzd7)xfWDk_*c$On*5Gj;JgXxqx!%^frQN2>Cqm zov+EdY16agZNC|to7>;s3pD`om?L{zuP+q7Z7wYeaHFzblxPEKPqO(Q^=W=j4#PZ> zmbnKTrnkInt+-v%iz(X?*KUY7n5_UEyIT>C;jAL&C7~s_a9ffjS=@Rmhx7{06l3%_ z4cZ74NSub+?H=~4KnzWD|qz$26C zUZQNvtl3k)zNP2x#VyvyNcmvX&8B=P?93K=hVK>GfhKQ;o2K80XRz60>)#r7K1m-Q zuEhQ1tO7xbbYUPlY;z*aRNRzAV;0^E9%NEGfdpemzn|#423^D{Fs&M8!LAa>Aj7U} zwYx}Exp^oJK2~0Vo#mL?p8rtY@hl~W#a=EtMD$&6o(pl2bX-zVlwt9$$|jRLQP`57 zp(M?%maGIzlE~f~C4`?<5rKos3k4qh-C!*RyuCcaVlIE9l2&8ZWGhyi{+3MH8+fuk znO}Vfy&C+j$Xe@r38;FL7dJu_LW-P8Nt&H^Dt+X|H&>%2A+laD6A=2;0olDYP!|of zngp9AbSTsQ54A#G-lYV>vaWQ2kF^Ta#`oBMY~AWWp6m>w(~NMkvD$8e43 zfNJ{0YEYktQ^ksQQER<3sda7njWJEyg#=2k4M!L|7KV&@b2xEhjp8zPabS)d>43@z zBw+9sl<#ZcGiSOAyj{Ga){AdXMw;H(O8;)>hwZ^M^i-PV&3O@L=oFUJL@5x8uk;%{ ze(Bt;iD(ISViAC=EvNakozEUKRK*9GGE}Ci?P8a#dS643_1}F-9Ef60;Sz6W{=0hX zDq=C>_J4*M59&H@Qv8hzUO|_(lh7@C&oACPIhm3(KX`;V9JT9A>rGo|N=hoxkP$Fq z!+E+=R{OSOf7Rn65oR8w>NXO>u8ve!$G{84i^W$XeEjBArD6_cD5LjAO;LV=l98t0 z`ckrqD1%hQ%01_LQv!UG`Xs8eL->Xzd&&Jg*ZS8>j}@TyM@6e!-Nji9Bk-B-7zrLjhdpYt4PS*+GK z#>36F)tT3V_mG?X(5^u7J1w{^*J^tG+VCAg4BQU!od{9$O6k<8{@Q>WZI^?~4Fp*^ z8R1l(zMvq#+4i6kA8*O~1cD$wSqIODy~h0)n_4JMm-;C06UY6~hwsP-thW1B^QW1mL@MOoGYOB3nykcDy zlBIhmJ!o0>V91v?b8x?ok>s^t?HGMB8tfrd&^*%fsM4y~W=VA&sNsdL_gVHPB%n{c zoKC?Y7daTEC1QU{FOBU_IkhuhwR0X_4mFx&g0`IS7s?1Y=2x0E{;ihA1_1D`1@}(P zHr*d@$Vcz&x~m0(kluAp7}0Q^%gjGE5-TZY_J@ZhAm0>%hO|4A1fD~0d|6iaeu9^c zthfq~xMv3L+U95m;jI>Xdjd(_7zE>Tng>9|qwqP+OAJY(>(VHBF;~p?5=#?)o&pf( z`t9iK1bIZrd#hbDnFSdTcB&?zG~sE;=yL16(u7y#O@pPVu}Q5TI+sR$vWF69!2W?P z=i~~?5eP#-eYhQKmT~tyA`+oCDS`=@YF9c?IXs`I#*!SR;mf`gqENs-arwzTRD2$5y-#`}^uYrWpR9tUQ*U zS&;9B-Sqnarv=XTI+_p{0#B3*w4iok5bICt%b3oq`d-#y`-e*!Go=%QX)hCh#RWr| z(QnL}4kAjwUN~lU-!*Z~neG>K1!~*0Na5@$$ z7+z7Q*_ngyaDNYO59XKy19lpV!Uq4V?AcwmBbxXpIcf8rjQ}lTfBR^4(EcdN8(iUY z8%jz>Z+`oXr4*I+bN=a&s*&THbWn-5iLLy)QWI=?=@Jb8m{sWF_FX}HWg>0Ceck!p zw(&~tx&@7Pv0zksOjxWfojhD#if6%e6GB|`i;g6gICN9kYiv)ZN%%U2eM+fjS%=0M zZJu^F>+W9v3+>=Dpat=t5CgS>qZ5i#F1RMsI-d?V5b3gPb^J73k#h5Cuhp7I9dnri z%~fgHQf~s?V>ErCPZcRHl1;lQeLu#@og90lQqcCQ8_A(E6mwX~G>v5MRzb50%vS@` zOB2%c-(u%XYcAnc_Ucl`Yg-TQ-a8tS`R;wnl-+H8U212%Ofk!cdzCtj=r9tO!sn}N zetpDA=`w^NmP>IQ60v>x!TjY5&zlsv(dCL{1Y!cY{6I4BG_bMO1A|)}>9e~mj}=uL zoS8Z7ft{lE*b2v!Oxi9L+}hTNPmQuJk)Uj7KTvGDvRhX2FXT~tXV|&0Avki$wYzI_ zO(V4RG?N5e8=M=-k!W%^#9ymjR>>GOKQp6^$97|}V)*t12W@GwBR^uC@~T|lFRo;; z#wHuxLwer(>eyu9Q#=u;a!y;0Lx98CrBbK;t$yLf1Ij0b^Fbp z$0_M6vmn(tIgw1$dw>4whZ{ZBH!w=yUD&i>hG(aP!8h`8?}HMrm@^mCILQe!UY4EY zPsA{RPF-T*C)bmM2c8_?YWmUS@h>s(RI~(R#mHyTe&V4T-0Q<9zjxyiGUR%B8@Bs% zW+YmO*9`PJ(?t(P%oc(Zdy7)-(YsVowG(iH;v~#-llu9y^A$ z#sxG_H-f0|gYH_M3Ssy(x?Tvf2{a0B3iFHSC5gQc>b=?jYqKYDywbwGzQzQDU9Y4i z12cF+$mtg)p`}5#nOIC`+zMA4RrqOPnnb)n;7VI`StJ`7KP)zpM2jw-8hVPGw)0Gz z8sRt__zROej6g_?z=Tb67`JS-f*y(yCh7IV3^eWkiG z_ymiLch-M%tgh3(?0}>63_R5_ZXM?Bnp)CGLic%)o>|=h&NK{G8#Y{x_j}Z`0s+jI zc~{2@TpFGMAE3MUUKGl`lQD~g7fW#OMj@4QHw_m5HmK73g9EU%3#Q{ z6AXay?zSj>k|r%2(7g33PQfq;US*g$b#VQ}(S@LEExwvUtD+s0tc*^sd#U8+t029R zSa{prqVihLs(NI!xEw?dzpqzno|`g3v4B*d+=9(kj6*R`eQ!Dc*w31Fs~rPmtA>Ky z2ud<>O2g7MzZoBXBHdv0a3f841TSvb+c%(1is;_y578GTrmevKKF!iLXg_Msm zy6%QegkCablj>#N^KRQ}4zJ8zfAd915O+AVZgzo<8?dnwJl?ReU z)b1Rv%?&BW=Gq4W#hfMBbOqR(<@KPW>PQ z6z-C7CcRPlNXdKk`X)s>70`5f!)0N_*cU0C!2MZ*6a%VYIb2d5;CIeQ8&(X0VLW)f z($(0A1>$Dh19?@({I>N<{F6;9pZSmQgD7oY)3o#5o_ETJSHGs-z2~{`qff!fcSH4S zN(c(<&+=?JZ8at;H7mQ)cuC)i4p#M>6x|O``(6UpY_lF)eHsGdA>c&IU5_uSnhl7D z8rt80KV5a6hrI_}G4qP521G&^bMQ%L=^UMK< zjywn!r|2w!7tl_;>i<*-be^UEvl>dX}AVP#i9{ zodkVva=v@Ik_L8$rp5^o2|3Sc{mCy@@o`?%Jjzxo%UrelVK#Bf^~&Y+Nv-iVw-i$Q zM9!cvTV4NGI0~o6B9nbUWqY|Br&B*@rT|`|P^Jviy_uUZ&^E{KN?{h zE#8+4QRV4k5Zt-?UC&a11&kA7gdP^6fQ3lsf0LuBGiII+^JyLW1-3H^(#kzPXI(5b z@ZXi8iu7P5sfZ~M3gl^8g_{jvAUxe0+N7Jg&1v=Pt&4MJNBZ3ag3#*!nXiW|j3gO4 zLx%@5s&|qkFJA!utpBF3&IPe+|KWtRRq&JF&@||q@3U@r4F&JE;8Ws)xYJZELWu>B zoJnM1>wvm(88QQutPot^%5e(7(R)a)_2YqVI7~>;~PrSIU zGG?J+xxk2+0#A%BtK7Awn!_nd$ze}Km(3gESX4HJ?5ee#?*`Qa3$nmI?>{hjYOiD5 zPS4R|yXwc*ztXeDIns_MWX8QHjB%;N2k8jxIihL>D(C}3f|+?&%=Vodo8U&;Nbzx{ z`)>k*Vw+2L!;55#8zYpQsL;^lCWZO*N4X6=YV?DOCOTHqr8g`#bM=fe) z$4x3?xZMz~4x`{{XS~Bw7axXD@`8YnuV(qaO4~4qhjROjt+Ys?zpw>dLB`LiR^19m zGk@>NVclAAMvo*XXlmp73OK2k@+$)Cx~B`P4PYr8N9uxWO{s#xJOs(HL242BBz(u@ zZ}|;U2LR_WG-SQZ(boL~kdMzvOmKnh#C`WPad&2u(H;N2yZix#&dzg8K9P=reM4#} z#6LA|E1K`JJEy~d<~^EIZXSFG(b4HJ>xO|r(s|y_32!cQoc}XbAJzo}w~DeRhuZh* z2W)CI{cXJo2jWHj-q}z3f(p#3ybCYyXXSJ+8&+$6YG@C==%^~{*PysIZ+H5(EMoU3 zCo4LJ;J=~ytq=sJHv-LzbcaN@qge5vhrVaL&ED6mPoXmo%L58A__ot4eX2$Z(`>ru zCZIv1$Mp++d=yu9WLy@F03=AptgE|3kt&@-_dxA9?ByPBhRX_IUD3eNg+=@AE>=$a zTH3-q&i;m1=*F8S-K~ZDt<`PM#){jJ7w`86BD5hio!_5@8;@0LTn<`X+HMnw;cD0} zW8_{>VlR@;Uqfc2lWBnrH{J5=hzQKAGe`)&twl(=G7tb&)5LW5niN65&2tJW!IN`G zJ=>LI@3*0>y3eP{L$tn_<4SHUMMZFtlK_p!2~2QKA7D9!@w8SwJ&q>I1UAGAsX zkr9iU#^y)@zL{TC+TM$SBGye_yqej+cPic>)-Lt7r0dGkSvTr!-tqao(Ell5%$D>t zjTnGK2Z6G)*m|#{OAVn0YwNGG9IOMl8by$^n^6MHERQg}FC|%fVS!%_`P7UHUMjkC zTXLi&7{@V>AeKO}JU3CfV%6x2_NRFu1!wPamC`kV{G1)5GY5mEWt5s?CO7aVhE(2V|hwdZx+DNbV+zQNAZMBK90iNzuXEiD59Cc z#m3pqwnQI7uU$dqJs=|N!OOP_8YlA|fN|N|at6C@dKf+WQ8g!vNu42uU}xDWgH}eP zJV{+|oII^tB~R2QKC@o}=F&pP==cxcf-jq%r0QY0J9=rDPP9?pQ1DIODccc zFo;Q-NhOsQsHH{bTWOMkf=i8S3NCG9W^R*9=7_jLu9THSxX@yRs3|U$OJy!8sg)wl zC?=-n$_R-Ui zK6CA)o6O$hEh=hwjBasPl=B4V?#j{mXWB}7CU>V^0B@xGHq;P+k8JRKL?b)@px)yf zrH$ETP7_ewKN5DDeXekRbs^B&tD^&JV-c?}Q}%36Q$N7K@VQs0uP*1fnaO$+iO8_y zrxVHf@1G80wX7^ajNB=}F7Kdj1ev5}kU}qK9Aiz|3HXF!jm@q6K1T5C)9z==?k97W zP*?f7SL`g4^hzEno?S1SI$u==d~cE|;GMcFiY($@kj2c(`_I?H9y{YB+640hS~Q&^ zkfeV!J-;o0^>!OwGf43*)7`kmiNY92UP9s5;>s>pd?dFT7D|wl&~Fmv*}Z@tq!ERc&?b#HE0f^R!y{W|9Dp+) zmGo|@A#QQ&Z&K+_v0&qDY6!^(5>py*Y#}7XWGAX1XQsPHi z(4)5v2NLZOeck@f+3YxeU+T&0zlBSHCPvRwAU>w~!xn(nBsqMSRlO_)6jWoLB)8`y zk57G?8c$ZpM{}i_eGl@Upf5}rd-OL5J>$`U=4i{nFL$$P8bGk3>5iwiw!@?OIM%5@ z&t}bYx2|2Bft{waxJBM{ide6{1u(%EPhP?Uce1d@Ap=)DzP|rq_5F}Zey+dsRASki zN(jv)T1s9*7fo$F@@GA0gVvt`>ji8uUfpg!c=DQjWP!F$a(|La?|VDXavaQ2sNw4T@U_ zm~cUXC0fbgvo#mO9|PTO#D5c2ekwzfLuPTV)`WzPx${vtPK~CYRDu#=Pvo{uIuMb- zYGV9Z!esK{vLRqa|0BcMC{PvBm4GS2;y2?Rk>$@XmmIiS<)_oxJ^~Xk$p!at^%6}n|u1QopCGS=a=Jl53R90 zT04-|H71Q{#NPmZonM8VTqXLbU{O`@lho&1eEqP%Do5YjN6R#Rr9A03t50rt8V09l z-X1DW151WV;YUPQANCTPoJI!HpjEuXv>LUwa>2+;Oo=P^3t$| z$Oib_TW!5QZT3=!0^a1ONfw}Nysy_?%P<~uaBe~TFlR5My0!|$J23J#=h(}4p;sCi zAKuv;0t*A!DVT17-iHQ0W|p%GC(9MeFIO(Rvm*AadI^I?9ujBX$nN1h z>Lw^_5R0?JK<#%UFTQvsPLCCWPgDoROuKyCqysoX7n}fxE&EvQql7(;Vknr`<+kU?Xraw+P76Z$V^t zfanVJ!jR5TPu7W8=AHz9TG#PJ5`m9uCcwffuV-Dmdd%BydTsL6$O@ONUiK!k9=XoD7lPC3~?2mqFLFp>V8P7+os>9Z8(@6bzKG#N7|2~P< zD`Q1{d*#GA7u%k4JW4138v(Icr(dYTWCjwS?k=?@5UqQ8=9yJdVGigtTl~uvB3!S? z5U|=H_B=N^_|@Wd6iAKWEbNCD)tYrLO)!x~R0Ul6E4rw8dhnT5jg|FNO}YY4^l%{y zBz2Sne;7>Z@cjXJN0IeM>i2~5M1IV$m*eV`vBpSlzHId2GnY=n0&Gp7sXiC@Mt=2lo34ixKvq|Z))WPVX}{u56<(Vz9*XLt_4iU&N+SxZ z{B4BZzJMI=(2!pdW>X0-O;NlId%lSOeJ`?~`8)JDo>j-aTfB>XitSUmhN9(L) zPN~%k`nM@q$+{|;R&qic<&lV;&Ag6@yjIjLlulQOlUm-#Ii1z`)(Lhg{^i=eU2)Z0 z4>UjlxL?bUlS!)Gr|;Li0*-7W62t`S10Bc-W%p$s=Rv`ASqYX4ICLfLp_^*!%|L`{ae(|>Miv&Ut$=+c< z{HaIm-Al8ab%kCT5lQ~_RX&<4=%LpkLAknJ*!9pb5b;OS{l{Xqn8IuW9V4*Uor{`* zz$Yk}O=^_}vpq#F;(Z7`fNW5tH$p5&Q|>k%*(6(d3Xoh6!jll>)o%CgOSp_f-~>er zZbuXl1vtn=Y(#JN#YaX`gVDfpl`Mq7+flB+A`^`zs@viZo6kC_A~68uM>E7k&_2vD zE!uQXrM6=Dq+hhGSG?#*fJ8b1YyjLxDO=AJz#i?>P_tTC6*c}DsbZ^Rn0aHna~+co z?$_a?Lk=!iOZrRZT{T(s*T&fCexxmcp!4sK{6C^C7}bFAdXnO-%6SZs@4QdEncL;+ z1z44!2u5+wE@8N`ynU;|bkh5sT^eErf#}l>MuJs2#S7>Dnae%VxvQ#P52PBjyoC=h z&hFg?;wRNmyJnp2jhHHqs`sq_r{;Mv5|ouPn*zxH!-v0?^IRhDsKOS{C` zB+V8pj-u+8J&-NS=kB{J5&`!Hdy6^n&pr5sX(!0{rzwzWK9IXC z$xAV|j8wCEusilm3rsdWb7=n52q+1iY;7zU`Kye)wk}V8v{dwPu(~eSGwC+ZWU{+G zXE&R@0|Y4v9TUD$1?Y*%`QDa{<~zkFu6F}Tz6jHJaUdcXtw|uY$`~VZv(%j7%#RQ^ z(3*me0s6+KzwT}{1!UzdRo}WZj1{T|&~wOn1pv2Vr|e4*0biL^j*8ETwv8tK01d z4sr_9qF{tEmrxHrb{T?2-|Q=A1PYBn4$#Wbrpg3~0aX+?Wl`Dplpd5q1V{j-`H!mb zM76&r(+>{IQu%=#;{>nXby$_6ScMVC@NqGe9obX}Rqti1kOnVz~*fJ~{~XZO$Y)D;XFGT8$~mC41=*ti?$jZj36d+)aBN_2}|Jt+eg-|h+w zAr%hRp0*twtkox3|N$6=2kNsg#QhBDSK9cv0fUf|5Y@l-f5yX zu1Bzvl#nt)+&2p#w63XR*H!0-H}kK^fi~K$eV3;rAxN8T7|Vv1+WfX zAy76-nEiDXCMm&qGsSeqpZ}N-%Qzq4^WB&3XfS96LgX!jt3WzL?&MYx4X;xT%(o5A z_sCG~iG8Il%JgrYc$7vh+c>K@+_&eX=3;M>11;0jeDs;c>u|S!l;R2V=JMqitV4Up4u{i&_>z4qTf&BFFQC7Wv0De&je-okn%^UCDXB6EE0v^AQN`PuJC#4C##upueTW+1uf}H*%_W@iwFc| z;lk0&>4T@Xf#&}XN;IxlU7s7XH9onk#;*Q0GF{Esl&FIhi(^!tpE*EsSyz?!E&%Br zSt$-8Z##N9!JXX@t~;IS6H|h3CgBUTo3=)W!DPr1>o?{HTAT%dcS%F{ZiGc$3F&6)Ysf@Cghf1qFp#0iP42N_oWROnHtvhRn$f8aT(mY z&lZCNgp}d@e$^bSo_7!J4_sIMMEg~USZiiF5 z^El@fWj|-=?pibV$dw~6{wc`e4dioAWCBhbu|CC^lSk_TN32S&O&!2h|4?h=DV}|%1ZqrMK3!O&NwrGG`0KGxiRB$ndRr=hs4a~hi30;g2UyPGb4th{e;j-wuvc-b78$%AHe)zWE>IF26GRha;krfT)ZLz8uqvV6qno zl2_X#5Y8GS)JpOLNg`1GcE5IQv)S-fmb2~>QW&=9P3mZC%YUHu(Wi!`*zjoN;iF0e zXTx}XR|&AzXvHna`6@MW-sVRyU-wUvBNo>>tx`7IP%F(k55zr1UuZnV6h*coQuZ2j zljwoSAK3Bi)9K(Av1Fm`D1i{^1cWax+pTU%v6UI=-Cqz0FrC&E8L-+FIhK#4+DR2uaU3Y)R%Y(;QnXe}#%!#X<8gbqnB`8(S5BT0*n0Gj}1ftM`+$+A^ z9l`5tq>%akjL=(7Qy5@DX54uB>!wO()|?uqqg{=h>M|_Bk>#{Aylw}d{_Z5(mbF_4 zVW^yhHZ6;4i>E7a`o9hHGlx`7*GP<}v-j%jK7DM_kpL6GXf9$0b$c2f=m2^bwyaoD zI3R2rHdZRZV>&mD`Cpooq>7qVMWCFIt5H8B_cSvfUe`4|I6v7#$C?(Zms zkKB!fjZ8CgyTVKX6zxizS7@O{!OUSPv!lzpNpv@o5)C*fO^$r_p8R0QOqZ?*eS2qH z0#Ph)AMa}ukcF1{9B@(5u}((wv5Nf<2f;>qYD7uu>8&61%VvoadzZF>VE^a5GGqJ! zX(y}F0E>=K&;4yH9ZfwSr`aObsSFbyQM++ zxgn;eW*~yH$NR`j??yAT4Pu!0^%M02p3%UUK(b$YleXT5nOFAcf3V4OLQ($$PPT;Q zI1O{f@+#2AKM@h+N_vm$Cd8TGV6|!+in%e zhnBcqYUW*Jz6;0|2=YP=fq%)WUP{+X3;|Pie2nSfgO~&e5*7i*mQ*FGGN(Rd4?*!( zUI_t?(8cj5e_l;}&e-~yx>6jNWjC1kx`z>bZAVVuKXE?W`|D-!9co~q_0M82kw?M9 z4gislgAnx&kORkjNW4wg#MUBhQG#+E?1hMcD}VKW1C z0=GMr)`c(5g>vJr(LH0?SB`yy4 ze6BxQMA2)oempDubFt@9>1rpq$`43nQ9MOos;BFd6=lGP%W=_wUIbgbM`Fi(v z%+yo|k+ZYqd~aA3SR!HqsbrFG&zq0`18FXEyC{nreWq^C0XtyT$b<>zXv(gP*ctHJ zBtYnbb%2ZkYUrHGXD7(oII~<|249K`Sp7>x4`8gXn_?%@ho%kyZ0 z8a`Q2gkTVn^{pj&m3zTB678qh-7Lp3sY!aZ*cpni|1T>gn4&H+>Sb%j@-nM*ttgxA zorgda_6pujqrW!*vB(B9LQ`^hkx*Z<{TGqblXurFjsk`xPA)3d5%mpYSZcUGkIBmb z|5(x8IBN627^{P*h5ByQI5~A>sbRZnWPFj1kzRv1rt^fLH^5Js4{(NzmawxOWxLil z8ALh#`!=<0FS&bGKLwa0O+eSgL81h{O(7zq!rLi8#!Tg7#66l(w$ktMhAfx<-t%u? z`+=ll#(><(!5NEb>EOHI()zw?XsmZrG)@(;)9jXz#$UrkYNnYt>f|nB2zyaJSWHkF zK_+J3+{OXw9W7$wy9V^^(?7Pn#+6H^o$RiRV`mw?tI@oVd42C?ky6dY#XW!ew>f=i zHbn0Liy^{txvg4a7xapY>*Cs?+!j3Lq$A{_B&(Eem5rnt@=w4LX}j66RvpS&B6Btx z3fw|w^j)r0sE*l3!`(0D#UnWE7;b?oaKpTs>GIq}`^(4{We;N6CY5^?ILW5~xjj3D zjrZw2>INKW_YOO50RB4x8W5`Je(-FM3xtv6OJxzg*tAvzjj%Cqa{ASb$+ma_w7dfY z-~M9->FCu{eD`;Y6R`~971y|8BNF{PRxpvaQoYR%m{=DUmvAJ!HWbP*(_e_rzan#D zT;*Q7g>017ZrXGr@dFR89b250_jXZ)ivh-FBKV2nYQs_#Ex$r%iY&xTr`o=#Q?b>Z zG0sSeP;Z@reP@M+rJVjdumEnVGd-p&Jb3TY*1Q)eP%sADW#uX8GFNmImelwshMS6) zfe-AlaWLyW!;04X3vuoQw=Mdk&EJ3}0D^7lGRqIkwho$0*A}$kV&<6+bLv2Un2ora zmK$Z;F_KScC~nc!`M<J zBZbAllzv&k<#%$D8h{@s9#Z)}uoh;pkh4iOlCp$ZdAiLUb=-Fmg!yHaa483nE17@_T zLul@6x(LFx@i$8ccQ@8QUTK*k3)4@2gzFm%sG-Ha;c{SB9p1g*nBb}{N zvYi(ZX=d~Gd6gG$$042gVXmob5JNg=>0sac<{-2Lr%4{`V^EWtKJ$jQ?yA+!_m~}} zuLBVv!it*)+1_du=KD0#390Oj8Gn*R&hB1hdn8@fdBN!j z)sZ5O!q!whZ!~o2C=AXH&W{|4TGFmfdde(y^$WyT8yB+zu8$b)^XeK7qDKwr6h>J^ zVTzx;ZQSocxKO{HO=}TWg}FuxF-lQwZTP#(5qDZ9KR}Uh0Xh3}*Vw0Le>?8q!H(X| zmZdf}hY<)^-4)$~h3(3ZB6q9QIU8FyG*f6;r_*L-!VS1YqCkHvPdgEzMu9mL`nf@i zYNO$cH8+ES>6eUqI_KA+9kC>TVHM@nfZ;oWW$!y*+N1X^Qs6m9-(wHJ$z&(47dM=C z(d~WO|y{q#V@W1i72afFhW*7XtT5m15Sz>QhMvL{n<3N>E?2{EvQsdC8 zpKXcth#*;YNu*Ue-cDD1{?7{qJV))+{3u7Bjt*3Ggf@LjbcyzQzmZA8b7)jgZ6`Mr{tB>=~l{++kzra1Mk!eDu&YwJ$j;1&m#hHH!zkYqn`u5i3&qRw%I zPSc$0gR<0Hu&5k27iZ_<_ALLq*p^jND+(b}H`qoEK3I7&Zp*a4-Jq#i{h|YS?_EU~ zWzVDQm!OsZT*bD4D4Qk^fwWsxWj3-O#mv9D|1bS@U~NM2-&%!db`bw=yS&`}=!<1hcj9~4aSt#}5UR)&LieY_BZ9g>KKn0BqA&-+;uqaau);j$`|A`ky6}=(v zm)adiXWPu7s;Q~0z$u%OI8eg0Yk0(TFXui!Iy^u-pOBn~!gj^$txvHlb9P_;$oC;J za}uX4TDyqq}J;i$LZp{FxCfzdQc7|~pgE?UI5U?(1-3?~8<0WyZ2UO`V4s%qTP`#?~;v5rwR z^3v!7633>I<48GDrqL9X&9A_1Bh%!g58m)v?D&wneqAoVigL{(#ycIVH)0%$=5pVU zoVvdQrXyeN`S#fW*aSi8K@|3 z95w6jstW{9IHw*Xdlz=eZ3d~>gf-LwMMF|E7r0o341!#F`A%60q_iQ)O(C4Gv4^j&Fm^5XpveCw9g1tzf)Iq%Nm1*E)+CxG>6$d zO5z=6*PQpKK4qmP{ zu@<;1UWhyU=%0r(v5}FW>Hf091p%Z$Dob^W8^8cRu_1u$3-Z$>wV*YYV^3*C#gB9= z#2$5QCX@Xu39XF}ue324pfjiY7!;`=1FX6&OTKP z2ZU|1DvFJr*YnRBpWHHRz%F0c%xVHlLK80XenV0v^)sP_kq?zXoHA5xL# zJkR7&Cu_h@GXP#4cIz_{Q#idv30 zxC{T5D$3I0QM9BYN^K7+`(!Leg6&Y{m=0&VPPZrMPOlqlIPa58sOqgsfW@)_Q+Pwn za4xO>!gBdnfE9R*9n4>IWOn~S_1ru+*Me9a>gPcKideT-FRWkR+m6<~(#o$;VOH~! z1@Ic!AJ4UT#+bFq1J7%K)O3bwze)XL-6?YbT%9?6E*N?7={M@_#itL3Mp#g9A}~$t z(<%I&chP2FqB2hE;dBisT!Qh`ALg{thbh|1C8RuL*NS$21P{oR-CZj~{Wg=;EW?fi zj#ElS1f2I1MNdL!Xs34S{tvW2MdQkSnIU6ja(CI*f@s+fcvEow+Mzvr9FYllM?;kd z^?0i#L^q_~Kect5*24tEwKC9n%BC*$Da$~{ea&S#Cp~4G9wiF~h0mWiN`d;`%-FOD zuf|FYODLXm!AtM?51!OZi@%X)HZk77`hE=5#7lOHLkqiUEpn9 zp;0v7$Adv2rD<8QKL=kM@UIE{6C>~KxxS?i3Yp99%gQZI%_91U-ue9a(BIr?%O~f3 zD8($b?Gt)Zmax-yCYLN!Nu1H91w!l4m|^x(N!~5$$$t)wr83yC_xI`fJieXcsdBhx zPJ`ftlDA`ve+{QN?9FmGbS)AAAcmNuEEpowClG0@p{#&zf6$_z%Ej{EVUeAXZHVkv zTvU{C=$oq_^FB1YL+z%4I$UMeMJs)uZFq1|RY_vIJvi}VG`D1yoBI4sLEyAVZhztJ z3!`s|?w--J`6Zjq3|}AcbwgTtZq-RaaPo?Zz|TaRY^hiW35;5 za!^-fJ>GdPbWZToOPe0u4wiSbBK40!5pxDw#4w_xe?<)Z7~+^AA{YwK`>6}X0HGK_ zx>6OHbSiE57AS=RusLIgZIOwoPy2VDc?sTE4b#=-18Qu*O_Q($VUb>sFa~Rn9Y}}% z1I5aTat@`INT~UC#QUYzyu%ytP`ZvZ7Jv)U_+>KIqwCuo?Nk`nKHGuJj_~Dp_JxOU zw+=^cMl1=$0qppxc-aDa2P+Oxzlik!jVJNR%Z_Qj(VlCGj&DQpe9i^y_gU3lo5#z4 zG!Epa4TAkUIt-4wolG`ZX+^}9JD&`6ygq{q0_WeDpiPfWw?6HgbomzdEf9Qo%(NvS zUYc?GgBk*ebFlvhVxHdNMy+5BJ;Z4SR}uh!u`VjhEcNHP*@JJlo^fky2TKePGQ9mh z=}UoO_e9~`r^$m~R_}tebFB7&mX?(sg~p9FfMscgKup>UOj*Ay!LOXENc>PJ2V#<3 zU?5K<`rBR)x&_#VD@{Y2^Q-jkrz4cK{sMHKlCF#^QCYYAJTG?w4s84BRL=S>oAW9; z@siRWz}NEe!{W-))2#Oyp_l)3vJW6|U>Xnl+P?Aw<{U*c6nv*X6EVHH1DrUbo z?>0Dv+=4WXS1A%8WEgQwYtfVQGZwvZfgcb-^hH21UcC9Mcwu-29sV)D=_UvvmC{;; zYAN-)!=M$AxF_k>zC3|Kx*nQb5~|kpezEt5r9uZTVlqga$U~RtV5vAOG5xqPMpwW` z)nZE%W5Drzycj!cdpera~ddP^tOeRGuARxZsCNN)kf=G^aq$ zvaN}&UQDsnl<>@Q1Lq`ZTjMJ>DT)OxL^z>%_rM z-fyePO?E;5+g(u<%{vApoo^l>yOaz_3uT38zN|kwp9NOE_wq zC7k=9VW0x^bCIAU4TeH>Fa^#R|7-w8g@h%oWgu(x#Zm8npbFKx*RaJ|d&ss85CF0X z(a)4*yTz(i^_mT#`m2CAy}xxSBPufFS=8HJD%ARapc1zuPN+yA>G7mHb`9LJW<0l| zle_vZ09Md$?q=}E9UNmgx&Z2@1%>E6wt1u|*`EJI2QMf-lQB|l5jznOYTS1T51MNXU%fYsjy$SPf^zom2kw0Zd)^EiWS?lXJim+(u&8#=l=UeSPkrqPoj6^KTv^C`e3^a1AI5*fhT{oKwdu3to*;U{fzpw0H>Hh{I=YBl3mwvWe2V!&uT){B5rL{v+ zp*|gJ1gyR!D7wmV=gt#$9{__=)rs-6qbuPde4yp{forT96pL943;$b(%oIY5GR*rC z8|axAtOLdQrVs%V51u}gSv3(Bx98nkpoH6B+=3Zt#q&a^ueXjW%^GA|IzTesQS**f zCrL^C)7cpPf9N^H)ix*wRp+xbQR8-rHF4dSa#xt_>cKFlGkBP1{pAH7`5$8yCp1pR zRfpVEE+cQdoQjn+^G?Fw{MJ~R7NZLD(Vjh%25vdBzR9g9@psEH)_b)saz9N`R4z@l z42IV<8arG4uFhu1NV4fcKrPbA0WPaqm3FzI|@H#bWt3-Vt zPG|#PvNX=MH%V*usOZ20+q2U@Qd8&RI}z{vqtka`t>U|gu8R(iu7Mbt(Slo}woy7M zf9lYZP&Ar1|LoYrF{pJ@G(1-ZfOq*}Zeg@;e+&kvOy#4CHKXMN!PpYj;KB|p3M+u$ zu5xuh6FUMWGm2iy;Q2zmpCthI`FRAIq23~pN*YRl>@0}ZyUmPMJSx{5Rt<&>d)2E3 zXJ=M~^mtwk9dt7_)LHQ*_2sdTs!4ukw5=Wo0!56+d=#y13$vvKTHZSGV10Byp~0XvdtpwHDOMv|D$jcCZ- za7_txu@sVmPi|y|9e?d-Ric*kc;3-QV*7R&GcD&V1w$22|1LXuy^RY&!RMt~&JpNe z8<*t+*jB)9zSv3ZIQA~Zww)ThP!2xdF+WLgbFGTb*)n}iOGkHUwj1o+vc#{Rw$J;L zb&W(>5=QhkcX4tC0w@XzBA91mz#*;bg?u?U02Z{gQ)!Ie*`~NI%h>rdG4U_2kv^mp zF+KqP0?}H=6Yow9mvyMtB~CE_YFrKOFYDB>R^Gs(-CZ)uAqlwuT0+u*@$T97!LQIW7OF2NvAPlidQTc9*k(2m&aJ3K#ay@7fMSe( zBuJTrr9trNsb%By#roVUa8ZN*7$E7*rfXTTcDR{^w9i@R8;do`1c9Js zmcO5UZtn4sA78ip)NlE$TwL|&P*l%7f%yV7Yv5uu@9j03_vc>yU_B!Lqz=swUnv=W zQe8Rx0s~wtG9-C0OFz;)b&TsocD(Eu(IUXKn{$?E*bjc3dc5)I+)RXIk&jR9gy1`7 z+k75&wT#dVeqcAE{dPD;p7dlA`VO2p@`28d11-1NnAGX4z71k1HqD#_X*Jjo?l%RF z;fdUHRl7Q_+r%(H+u0H*Tj{N-v+aZ zP90Or8>p%>+vn#bLsFKCBDb*9h$Na*<3I=$pN}lt7$T z)FIs|GHnQvLF|2g^o~b%??dag&(j-ZHzOtOe6JRMk7UC1s@@l(x&OhG^cw0*K%vzwOcw0r`P{EK>Jl?^1h3`Vb zCB`oo2M2LlbEttYWoVj+VMz|qJJ^0eCuRv3BQUX2xQwYF5O1oS~F-+BbMj;In= zUTL@{vso%#%K<&XYgVkS*bDy21#9I|2`kgK_*{_FlzBU*K!(9PhC$o~h#1|;5CQPY zU4<;$+E+vitc#e)qo>6SkQZpSEbq%(hsmiqP}>ixqQCS?LHRxt&mA77Uuc}D4&ne2 zcSrQU?cn9|6ND*A+|kJRjZ^oxC1#c+bY3uVnekcR-TLp$y2iWbG*VfK&`)a4)9+`K zI!`8*J+7l}ainO!;TNBKpMf?GtK0`HGOyB;m1PYUa{rKxvzN}No-FWC6rY=U@Nw;s zLNTdc;D5&UMa3t$`@z9jCjc^`C`jh?YW+JlN>2tHu@Ud1XMbwM!hErk(Ueg9$Knnl za8pe^8u4_=hUgQJp`m#U)m%O8V3ygFqGgIPkg?QJx+{tTNTJ@q{NR0rHe0-4tKndY zIEpEdXi&6=fDk31QpQFcr}WHsw41L3raI87>c1DD44yF_;M_)IxYZh9!|pgC_vqOh z4fr2!p0zXgVzyO#0+kBAlz==&X{`AeUE_@B+uQC@vA=+za*87~yUjr1r=~vVj05HY zN-wvH+z$wu0_b*`;vHb6F1CB49DQxP6O3daGQ-S)_1A^^8Cj(|ayJ(RqNPDgJ>XtiNNi~K~l&Rcq;TbkdKWr%a=I?NOFj{#1PafkfOE$3ayuq`R4oL4{go6xe=}T ziyGLIYesflRrc&@b_WG7;z^yTEAFIe+nn0>oCc%CE|Q>t%~r-rbPD`woUcG=^y9;s zNPMO@=rsR^I5^`9TPqhyy;}a&`(xN#ZZIlEjgTPidC9QQ1G-% zKce{Q8~AsglX$K5ZY$6@_2INKh@^~)@B^V?w-J)w!&X;u;_b7S;JP5$=0FIJMd&SA|p-|5QwzU8Bpa&x&t%d+Sxf+ATk9#oJdR9dV?L2#X7TrLn8O4UZX5nzdVctr#O137EEB z5zD9V^^I?BdLYzW>M4u=m-s8u&Dmw8H|pQlS;dUUNaM||;Ruol;RVDqt>4}$W~Nc} z)IM<+1?(VK*To3q!5`-CrDQ*8}_gbLnV!6cOC;|i4~^X$V;>BW{yc?eQDlr26ts3 z-)dJcNsGVzU zp|t*5V`m6RWjIc5pV#6q(}n2h=*XSSI5s{qw8&+)07>g!nijf>qF|t?()mDxo`{*t zj(V8cR=jbsW)P=od%al0?i&8XKyU#9P*3Z0!GOzJM>sy1}_0cz|4zQrH$=XsK zjFDs}g}xYO$LQrsd$#^2!0HI*IrndFzxUN}0j*s`{VOH$?(%q+#L#H1DG&l5d8_ql z1vx>DQ+k>QL(-y%!2jX;MbEGI41cDj<`cb1?rPswd0{Slu-2SBAWS%>Q?Mz5*9>!U z)&IL{f6DGSkN*A4|1g{&jDLf$Gc#P<`9H=e<9<)QI=@-c$6O25_`AC1_5ubMBtdUt z)~0=SjlG=4Tqr&|-lLbS+^A9Kh11?q6E|bIrNP(kqakCHre>)w@v}fV?txDzG&a87 zY@X#wa4ez5bY6Koc<{*AMm4PPM%=6;l%o!RGIQ~!_Ly#~VSQl(GTFQ<^v_q?7f!>o z9Dn&p8n{9PvM7u4JyhM~nt%SW)0yRyK-mwEZ4n^4-HQyNHjlzwm5Q}PJ7;>rZ91N^ zE^O5+T(_>_3>f|ZOkV|qg!d9rCb<*!FFonpk!uad&c6WEhlxJB*QEWD`&@_>cuV&7lMody|cH{9xAg?Z@5Bt9-vsvzf#RJOH|a zhF$Ts!<#WeHMeLp5)e`iS5kkWkY^Qs>*?ga{0Ca{lpxxGA;dY|cb=S-A?Reo6!I0d^r-TgUsrV>3* zN|;k4^}jJ^#06T@-kdF}OdESfC;P17}TUL|&MR0X{-*KsgE(Hrc+%#aM95qVD z_2DB|M_O{4g4xmlCMVfz{uHxT^4D8!fW&+o9jLmHmT1=ZsACV&&bZikwVJvxde3sl z*x?I1U1p&qiH=Z>)(E^%157^W3cjw7gV-+-v{Oea&VeePxybL12uxDM>}_T(EAR$P zi;n6q1-FFJ`ki;PL)LGgOfv>}ll^QB?3;n-6_DX=N%wC?%hfXenp#g|GuVtb=X?4O_^zBGMPXJ-B0viaN{&`&qlwS+G5_1; zhQo`U2NQr7V6bPy6Uyye@&?(_w`nooTl@NnUQVTuWVvCJT4VrlwGu;o28ZM7Yi?>4 z2Y(loi-~7$1z1CrPU(L=e@PG5dE}r9Ded@XWw$v! z)7O#fb^XY#f2#afWk6`!Gq@DLemHHUO~1d{CBZ1=xanrS$7RJ$aQG!jNGltcQ8IgF0TtsKjZnwf2;L|rMxQTG%rETUIU~ zYljAWwBo0*Xg{DHqXR%eEk<8dw5=tqaOdS~HynvYG+CrzXitnC`w>Nf~&McuB<}mc1-*vq4hCiKL7tqerEUR%o5p75Ts(uR7pv zNNB&;b3{>J6smyeJ!RGc>$*E6w^~jLw%!Nf2b@R{L4n9flILih)5A($AFd25^$RY5 zz?;N+TaxZu3^nQ>4hYKp7q@OHDu+d++F|CPeVm7Zdqx`gxaIMD4m;`W$>?lE1yJH* z%Q9UeTmGM-bMa@o{r~tF7BR)DsX26$S#Cw#wP6mqbBfKWbfZ$-v5L$bGC8ipoqNq; z9a*Cs#$67TvuG;D-OXfjK4mh@A=$_rzQ61D7kC)^e6H*De!ZVhe0osty{jG}HF!rW z6%R1Y4BjMZj5Wq5^W88IA(O5W5XMLAmsxtKf1L`AnIO}3&((EUHJM&t6l9am4u0Jp zD$x8{kJ8y#Iw@No%sf3hF&Q7!3)Y>gZds2nv4rWa0c;g|q*IB-(7WRo>#ptIKYI*L zLxHMM27ruHI_-)^=FMklarC851_FAH%r%V zTR^GFiJ2Lf%>EFQPCRMgSY1(X7aWJ?y!+)*Uoqa?*<$uq0YcSEl>RB(k2KJzJmtGX zw3g`eE<=Y?wLkL3Gz{8weU9pBH&j(-#G|m4C$dsTjEC*przv3Y!xbSXgR>PL`KKJH z#R^&L9(6DlrPaw*;ah?RD$>c0`omJrUW<2eTdTUgyYaN)(~+BB{eMlmQ>KQU$10=@ ztAbZ1%|qaMgmOz82JK~Gzk#~Br^);E$lFj#@4Xj1FdK2*7k|{|%mSDS_kZRtu6310 zldq}uU4BMLPjIh((VcqW&x)jj z*p)oe>IEm8e$aYX%D(1^URyjVgRkZJ_BLl&ri+}uvUBe#!e*p-qVGHfR+r%%R-}dg zjw{;2heBo+hh~jHS(WIP%W1+`#%`LmKwK&_j>N+u9k66mQ(kxSUKa?3pEvKCH<{a4 zqLf_Uc*}qllzbhWOJ-p?zDa4V9+A-=xN z=JjWVMFpIW_`m5PkVKSMxK^{?v1izVGhe&tVA~fCtgB^C78>;oG@d}JgKi&dic?A% zo%|3^7=<4^a#ACL%)fe(UA*rk+1X2O-w9bwl>Tfo3SW`* zJ}39E$+4_qeuv0){kv-pn?4A}*g!4f#HGujR`Ktj6}~;cvqp zr9ICup_l(V3RbCx-l{bH6STbEg+g(8UV{Ar&?s$*$DZ z4YTfy`wc1lwHYTs0AZXs`f{+&?fm;RJE`V(o3}cW9Q)RB^}0o${Fp8iNT!$`BX)07 zP#YaU)4ksGzyOOlW!1@*6#f$mwc#LcEJ0hrA@j93$|In7E|H2n&dAcLdTsoB^h%+90V*3N= zStAKXYq1f8(SjI5_QSogP07yIf$E7|FQcJlotrDO?)w4anunDZ;6(p}T*4NOa4GUi zX6Z@PYXLuCfl6@&(ARGRbBibUk~SJ)o_1;=QhG#YSa_TMA;5If2i-oXL(RzWn+>pE`g z?$Oc0ZT<$d8pdM)@!CDlAJNaGWyeOomXl|8T2hy?WB+}tL!hK(Ama>DxGUVeGFZ>L zpuYNje1NN~gLIGeR+68QW)~svyJIAIxH~XV9xF_{=2Tl6lVj%}3gD9~1)bye3bFjl zyXgjVH=+74x2MOEFmz?o#vwO(eJ4VL^CMxU#$6?8iPe=#UY_kDru zzkd7Q^$mhmo*8@M)87K~H`WD-g@&?cc$}@!*~hG%uMma5T>ctVw)fjy4T9MebnQWH z&VhB)hH7Jzs2$bR67airqvV?9Y5_FFYbWX1TOC&Lq_Fo9l8@82no60T``9KCiCvoK z35&(d$Z6zi2jW0Nim{qCJHkmp-l|(NOa0>7ZlGMfzuC&AT|B(k?a;W&`c#qZ48gyD zo7Qk7jt8^&&<^%pmj%1LsvbP?6Bqvt#svnHF+|jO)JjQ@XZpb}f06rlN^u>!<>J#{ zCd&5s-SM7Q5AX_xGL*2;-!L=JHC<(|R8kXUOU?P|-nk_f-;8H2{201W<_vn;f{McT z4?4|Sse#>tgSTt6S_w|5`BjTi^FBOP^3#vZOw~Jt$yFRo-E;8Q!g=YMkE}u@*!QAHXL=~`-QfJ$Klhjp1wO1uhstB zKd9jw1JD{*B!n^?&+q z+VBKiCl2u_(|_QO(B*V_%z%9_ps_FYWi}&52ah0X>QPCy;uCHxzrEEjF97jfFe6{V zOT>mJI0bmQ^YTUt^G5B^6?}VIwmmH?;dNxh34iz5_HStod*PN){_zAO>rKFW9L#(4)%;ieY>(7!qh73|CX$*PCT|pmwjc?*taXcgyU~rgx!ecM_|DH zn#q=zdG3k-oA5s9`=TSBV3qFRaOKL~;?DP=UD#J}zr6N94+h7tw%uD)hTqk%0Z5-L zvQwW?yyr=#tE+* z|HWHXsJJw9d4SapDEv5H&}ea>3ojrDYjghtjXu8dp$KO|%2Vryy9#yh8LBW_)u^apg-e>k+StT{;QW$i&pFuo39xm5b0?_H{{t@WBuO_s|m& z(SE7Yoy)C>b;haAm7S;}7(U(KamaHD%+YJo>FkxiL1j;FNw3 zxy6_sF*_^;BX*9*{F^{SC424&-K+b{ACS8Cc2QqS#{u;xzXhshf_`V=Z~}3;Xmg>U z?vGjI*1~n2FGfgo7G*<>j+uKb8;)I@$_TO!(h{+yVdqC`Kd@w**t`XyZhCFeV%WAU z=D^>C531u)Gs$Xhr`Uz%o(_?520=@PELUNZ`A}h~Tfy_P79oQyyL3NTu8n{0$*xK6v_0I&A#!|8pRU*n;z<{K%``P9Gj|fl-%5?S>1QsF} z)V~hi>34Vf2mTa?rc)`7aC7Nu%kHii7r*z#R!xuj_~LdG-q)V_4bs1>Z(#AEw#jgt zn<>t6ZSBHh1wmx^`^%qx$AoRzLr&peM?Od1-Nfq>|ZB z#sEhr&HxgD<0~MJy&4Ps!Q_KYutix3zh_q$pTEDF02hKa4iiIj|}l-v)0NUF1lnifOSx_^yVi0ii(mWKMOkYm-)46xI+3K?1hPrKlpdDwO3HsqVbpVb| ztO>|WJ24C=+OO83ymoz=!Ke&fxluhpnjU(ev5y z74?k^hY6Hqn0}Sk%EtAUUj((4-k;m$PXq8Vo(O)Z3}gehOM6cHSsY&5Fxv7-^}C8l z@{>b{?A8W`s#5JE+q5H;QC&yNUiMQ3Z}`w_b+|m&-fs{WgJ8RVah?3Azp@zWZ>(V=BB~sDIpIu=Y2Y8ERh_-Q0%%UwI^QK9_13^0>UJa2bB z?;;#46eQc_qpK~mmC3b~leyk@-6!of_*Dp%QRxD-3=D21(*#RO9|ArR^h25tLWUod z^cxe87MRVVb?$hVd^Fgv>z3e?4u#6uwz6RQ_;ongp!V=54+1b#fm}{TLL46=_%dxE zXuNgMO1h#j#lm?H(QouW{||R+2(rr_pRhTt5QCEH>mwxHAJjO{AeSC-^0ezZj8(Rd z3(JwKi|!Z1T_N-z?oh>MYX~gKFIGE=bJBC{(b{^*quX(sPj6Q*Eb(6%|7Ie&4TJ*nHh)zA%|S-zAqn120VR{JfKQ)v#86xk5W?Ff&5k_Mln2fhbaLxSinphCzX9S zikUV(`^T&PKluu9m#a&51}L4)dn#g|W2IdjipCMRGV%f!3}QoJ$TezaAMHfdarc3- zyn^LQy1YZw*LyI=9ukVB6Ib9GE`E}xyx@dI!mt*14%~Kf8zJ$1a z1s3HY9>OUG5b&8~%T)6XJcdil4eHPvbA)QAQ@U33OZ01`dAU`Krd(c46X|UV4_yIb zp_ksS?p7+iB7zm`(*3OaSb$81G*RK^4jRg~ z@5#&o(u*;BW7GYVF?5C#HO5MlCu9j48tToXR$T5KaDn2LCt05}&Md7hAFuBz>N}FW zLFt$CJUYi>L0kadyF@4b_d9B%PiB~adb339i=7O`7^@6lh&aRE>@ZiTR`(WnVrpVv znSE}A$va+O1QF#E2lJ}fE6jHeU_=fJe|3zoRZ$kxnuW;by!bokD1xj6GyCwI zckqvCa@#X&!foy+L$h3vLOl<)0cEL3e6rI#!(KtI6X34(@Ygq;TL99^7OZ0k0@bgz z(sgd4*11m6}{*;38Bz9^FWSo*B zX50_@@q+1YaI?PO&kfXBrTgyxKiQsxcZci;%BR9ZwyIKI>FJt!xxz?7(l`KXhUcVgMr;T5KF>Eobh3oz8)(^!$9 zyqg)efY12MZ41zKo64!tHxLAXUq?CFg8`J>H>%WQD3$t zD05|e+^}4~_{chjpD0nTOisnMo`gdR@{al4{kiM}usce4Oam$K$L{np^Z6FN8jk{W zF)Vk+;oQZCaNj24Cuws& zBruZ&klhHIiG~IjxdXS=_1G+LG9L$h=MnnO-s!^iNzJxS7*N)jvqP!=$7}jQ>3EJn znPJksb~TCv&cVLUxUi30mr4*r4e(%z+woyWDYJ``cH}w^T6P8{TXHUVX%T5kfM~-M z1Vp^@cr?ypq+VmRWWN%1H&zC8yx?^FGp?OeCQNjQmli?|=*bCu*RYnk6sy0KlyJ7^ z+;!ePbr`-dW;0rp&KGy59J`Q`f|LrOw6sWJ9uAsbcywXtmm>qpg2h;T0;Vi-AMJ`gIp^(?JRZrV zzM94yiM-y1ZN(cUF4sOx6=qPnqAa=rAr;%|q}Q`+S*vZnSBOs-9?I4{ zP?Q=ylPM6u25+~I%Tt=0Tkzf$*Y@Q}CKKS>EWW5(ky*=r6q9I;lmDm{gdDK589?Zy zMQ-bijGKDaFl66uki0Pvs1&b5@njR?fT#F0^`7J4E$yVv(D;TUf7lQEYiV3@GH3mS4s-jYFmxjD+ zXKxN#MvG?LO?q@AoTo9hqp~!U215&IW}6hXtK3eAGXOcF2?V$a?>_+v=O6Gih zh@=H5=8}#a)yB51!1O#~So2sY8p%T#yUIWSK}Vx|QaX?Z;}9h(lFf8@J`@P zy2yr;9qW4Ubjib)55Ec|GQn$z{?9te1S`>C2>Ha;E^fX%<)4FS`b@ zvcH`Zd+e^?hV(;i!y@sivzxen%@PW_+ML27SrPo=fYjI|##H(9TE26xa z=1G>%gWy|(6gFgh6N7CJPkbBw&zq{D1B1tw4S4w1ww7*L1eorFeSh42LFx(!8Kcd& z=p#^p$xe2bUg6&&^H9+sAre+uFAMZmTg{HU7rn>iX**KY&((6|nr-8ATbcV7$zY@z z4>9Y_^aW&EE>QPQ*2HA(DA7FzWydv_;HDGmf0#QqFjlCqh>6ZRBcLC3V};+S*YtdK zld|ZT(3+rRr1O4>w_F%#kF%D-N_~JrEefI$ff*gDX7*6LD`LB@8H{VT&0gmm4v#R! zjieQoR+M(sj++Uz$^1eL6s;St{U!}p->>2S>_wIfzlg+(A;N}=C@yC&8%phn+Pv^5 z7L7C2lit2NqVeD3gOf31w_J`kO@L&WXW!*T>C^AOm{K|T`T~QRe(njj5D$EJGQrFR z{|D1hdaAlU2}SSz@s=%ISS>hRpZ0+~E`sR5G2CD}YhE%Jy1V3$a4Y5zG$S(JOD_Gq zD6J@~;w8Xe$Ye_=Jrlw%zC_%~JzuJ3^EH2W#=0DPwCCf4`oB+DtnPhd?}&$eb2cem zKrx0TlU@sWt02T!M&TjP<4alBb?!e7ptBfFcPy@Tx%^hhJru`>)^^}saQp6{)+he< zC;z+Z&}q&DV6C38A%(!0sobLvfpmbHb}UfzvjI3OM5tK2TnQ@1{goU{n_o?K<_58W zwX3Ax>&@SRc54yJyl1V7R^Tbn-Wl3Zb(g@ukEh7k7+@x?tF2yH| z?lg8|CRF3KdRdZcnq|^KXtD11g2mifce&W;Je}*~vZ;qDcV!7ic{x>A{^tE$N;A*p z2<>Eder%GR&at0>Y0S|t5_o))wHHg$>6AF$WyV!i&jBBS`S5om2!BoV3tc)XV`YWP z{ZzcJWx@Z1e;q2fo_G%K4A##6feRVfxp)ux$w?-+Sxc05N=u86Yl9(FR{Kx=I(s3$hUl$_TwAQA7(Rq&=7m8xk?)s&NqJ(Q+*}xQ9hAocfjE)cbF_2L9 z0BrDnx+jZDagWh>_y|4>m2|=}_GsNtjV7m)3nPFr2fgNzr2cW-OX1~0|AZ--l?wi% zUB8aRjZOS-rPO>a8<<%mK6H`s;Ps-2xoiC=B0d8?V+xA>2tT-quAz|GkPGY?* z$#a?gLX)&6S<3P8C7h6mwe2o^vCQ+5v;v0MnR^b0H1G_AhCy>(&tF}3Y>@Bs#E=I3 zgqj;m43bk*!ke@Mmn4X5VJEnvawy*FGb?sn%5Cp3sn%J)>oiW36hLp=VFQ)5bRHK# zfVndn4zn{dT)Ac+Y3hWXAAMA}FJ*+zqMRPda(1~qiFV6?X_iSQr+Kx47`wG$78 zRI69;>+O)k2Fz@SRJowKI0zk-7X$kGlXTvO(6Zfb3{~taC-fLc?+d%q75!AY1MD@^6mz(yDPaa~1gnVJVo#-iTQDVYu9)s-LItI2 zMMD)=BJx4Z^QJ}pMSxa~@MYXjzV?aP>Wrt1K5cLA9R0~{N5Jxi8TtB~8Q1+z z1n9)WKMH?4{kpb(PBk&yS07KMdufc0M@`%;Gd5npLN_P4sW|;oJua39h*gM}i@_c_ zl&6hW>jGyX`w5zrl>5VoivI|!#$#%&S32W5)chlSXRWlqll!y7DNlz(@FaR+(x}uW&^ngSQ+BlpXE@VUT4)0{`*}7=_=2$7~a#g0R4H zdkW-c?&s~MAv$@H5oG5f3Lo92Lo)rme_s(Lec?x3{?ojuPAC1w0I#6EN94HHvZ!BD z;oEga->R3oRb72JTCJ&tUF3n^ZK#PXb|zJ)G=#8iU5T7;pl(wYe+!l5cR2i(qHbrZ z-#d?dTTbu8mThoHr&*(!ti+-mIV&lw2$q+xx722xlG(ER@?1x&(Kaz3T3)J!zk`%{ zX)j)(qjhrLy~V(Z|B;8i{qG&99hLzb>JhNM0z-YSnA6iTFdbqo_0Zfw3Wrgo*%l)C zHC>r*7iNjbMRw0k>DRw_=sZv2gU|(6_i#lYRUIt)oqYBl{BoVW#_Bh;}jpdbM zY4krGA!wRo_OwER)z(=I!Fkve2k_{7uS6z@D{$aB&a+-l_ij1$=upnRX!zr;)C}-w z=_!n0lFrJ3BLuNWC3>%t*t1qDqFsL2ag6il4VQTBqUN)?lzfy;y3c& zJ>amG0PiW-VY$Qumiy870Yhd-D^`)ymT3-SjNHuD?@}&j;^#N&dcMC{jDI z^0)B9yOnTdQ8muujuv(%{r$~3lX~T!xqP~(gH&m7K&}9MgS|A~dGN8KzCk9=I#8&$ z+_sA}R7|-NsK;cCj!+2VjS`nLzC*SDEzSB!7Tv5D4iMrs9BuBGd7V}b8&6F_U7{sl zZ(b2Q#KJDv1cb0;UU1t^5-0z(2FXfKJfyvp?Y1sjTJ*9Ryd6nIuHt9p+VxA29ao~V zUS%_<`sGuk(>Sra)$2X6-@FFb4YS;fGIXpam;0>Kz`Q(h(gCC{y9>+I9M&(Ef9aV8CJ4*@*xln z$b9C5`}6Zd9rc2PCuss}FSwmrZpklMS4v`iD-b&G+yuaY1G}-5vUS4yO0awO>*MUm zW2&Hrd0+U?<>nVzJzzIk>@#y=I;Y2hl?9m&)we#?@<2fe?`j)=wJX~zar&dM@j$@h6$5lpHN-`MOkbHw^YV?q zRjs}(b`juzBppPYEsa?F%iiV*?3=W>bK?4+Y7Mn~ot{Za*DhIFWaPed!Vz=(_Hgsm zIPE2ulQ~faFRLyFsj=unYmF0zLKcnw!zsw`kg&RDFL#NV(q8;sxeeUn_wLTl$IZ?i z0ytO*?CPZq7CppZ3(?(B#S8oOgTf@a56z~y>no(4Fu9%KXvV9lLRtfpiLlCW&f~wZ zc~;a)(Ly^8rAxih7h91tI&CL+ZD|T1RnHgtdsZzL8=GS1=Uv9ikwBk$G}{mUsbVz$ z+jx9Q5vycYd9hWwAjem;sp#8bfCw5-J3V`;JpRnJNSwlQdne|nf=&Uvsp#q3jy)HC zdVzLb2v~G~s}rIAtT5(fD@IgaoUhi02HvAIQt6z0hO$V1Cc};+@5{L%9DTqI$ZW+* zP-Mb5gZ<53t3&1Vz}-KtqGN^_tQ6NqtF4=9ky&A9f*Mpe6O86_ztOy^eC5CyLpp=6 z)8QZsJRs6T{~dq z)N`A*DDSu73uelY@ufw=GplC-7_eX>UbQg3+||MNwsf< ziPAog4rz!&DjM-bu@ix%?snSms)~E#EuMZ~o-}`!dJ1Erse7>TL#B8$)F6LtKL@{6X&rMF5cxZG*u= zt#t^Iq5iY(<+Y0(G1v-IWwJ+(oH+Y{l`=yn9Ko*4ob+P835^{BrX~sqCiC^RW-`=2 zaSP^F4&WCs)*Eki9Fttn=7pfUGO!)LETGsvfg!!ANXk!^Cb6fZpjx*lsxwXm15B93 z^z*I-6B%e$1j=hxtMDn-aYhxRFw=;5w>PL{QbNUT$kT7=M3axa(u8MckY$*X+K|0bq+ zNSKa~e(cUb$wKJklKhyxdf*$Q;-`GSVVfN~lSTR2y>Em=!*$&FIqOIOiA8TjY(-y_T z{^&U;s`-MMeL~FcG?g8!X#BKDk1QTuvNt(9Vp^CNGw{lmkEk51syeXVr}}xV8*|>? zYDGk!qDfnzd)Sj;G029Y9ry`fgGw2p>V2XM_To!xeOTfkNC}<=K zYNS)C_{qm!N$D5tpP!yRYZ;ds1l|u&6mm;64=Q*u+jVR zY?#RIgIZS-A`9~VDO(1%}zpGA)lB;a3mGI6xbOm5$)N+ zQiWSW7!;Pm%Fc|g4MeT4SS%#zCO*mg^^tv&ZFh3qoXvgZ7ccg^;FssK-9i}Ka4UH+ z?sFK}Go1cRH$BU8iNz*_!h*4xse5V?coy9hx-4*&6VqSbL!AuKheD*($8kp%Z_F^Qd7QOIVrB1o+UfeM_m_F)<$B(})+^et&AdDoi-^;q3rV~x zhzV*v2nSB&UP-yFPY3Jel1dSGNn?)aDRahJ3u-<0-+zwIHiuU2W^5+rk1}KTx|n># zZNxLEUZ5*Fql&@ufz~4rS-VNHGgz`S!|IFs)4W@;^SM;Trg0y-$jW8QTDXu zD4-+t>??sW?4%`oCiagn7U5qNt90QR0^q-$8dUA*Qtht?Cjb}zVL#znEMU&Z-%a=CPTOnQ^bFJKC0fmEe|7vavA_(vb3UgI32yl@e0}Tj zH2Lv3$fiBo+AH|Gx;^9RwA#_LC-h2S20#RZNMYkT<)B&!wWHi`Z}{4A(->zie-yRc zuTrzmV1Z~puZ(PoXxJkE~Dr;fr z7_&a?FR8&fSM0p3HX|*&A#pgJk$Z}Nocp?ZcbJ@83i7J#Dyaj4GKB8=9xA~%!Y()~ zY$TMB?O?(!#1o!(dZ|sr_9+v@tc{{ay-E%gTkjJY)o1u6J2U>-B3Zn0mTNZUyG5a;ruJ#0&HZ<|Gfca|`iiGSV$xOM*W;DXxQuN`iyF>AZH3+G0dgI?_Y}YN zJTX|0yrUy(lKX!GHQ$chy)Y}sN%+-j#0sX5 zZ$%bQBXQb}p+=TL@2;+U?dI~a=O2Zet$7#+IIfRSQKkwPv(K!I%g3SUf(BpvuwRYU zAMa3#AE&rfni@nTD37ZgZ#W*|g5wGqKa1FAKbL6kqq6&25{qbQyX}+0D-bggay!H9 zgvH$A#ei$Z!w#FIQX0>irAl@fzPQ7Q5I22Bh{$8-8|Zdtw2rHS`+&_f40tyuSv8Gv zue26>P!jDDu6je?|Bo=?Y?=!3!;fN!EyFT!FTsrcxHFRK zA+KSY_;kG+m0_jB(>Hv~%0gtB+Re11X=&jL>yb8f2y{qfTooiTF;EUxLnR^6`mD*x zETb6egM?F$>js@+-OP9A&k+%WCyV|4hmYH>$Rr*6QA@P7u7)##MC+}DTV}1W+Hu{> zFVHaqCVu~Ud|))zGeSRwJXj-(*|twl$j&^=*HaA%wJo%GrLVAsFM-SjhR;&O*_YJM zf%P51J4d%NiLA^YEK- zvd`d*TGYAlv3l_eY)w3x7W2C2Mh&R~&1N@Z<(V}|6nPp0A5v~5x8bR=`Ffc>nKPNb z{GybKJFFG$WrpIh4A_4>$T2%?f#7GEK`9vv)nhx7yTBW6c{;A7?syP-)~OLQn^@pk zJu&8gPb$i6??7uotyAbB8JN0rgUXSOcA)X9N>1Azw6MIE?J{Rr)=&4@$ zA7t}#PIdot>0mRP{mzx7C2j^N{Rx{hvp4m>;jD$sE-xdf!XzrZd7e1h%dL#Ry~K(U zDm`uJqqE?wp5oEoplfaL2nyil(7of<3xdgX)TNu<;qR%{FZXjV(CE=TLuQHq1=c$) za^5lxXHEVx1M@++8Z3)g>OFGyLHryVtJAOZo{8JI9ArQXPx+}Dg$Nm9lNV2!tQ^1{ z{_BJR1Kj)yVej-bM+;j_23%HyR7%!XAvQ}FGB9%ggIr5#6T7%PubfrOTu`^Ue-Ahw zI7ROMX*CwkVaxliqD0~hBhk>{egB5n2Z#Qmq~e-I)keCT;n)_9@ZM0%+cn{)QgB0LT`8Tq!m?;P|=LcWEJ4kx8yhCD8jd!%{;y@#` z+GTr-avC$0N&lIqMyQ`1N)O6Dtw^*Mu}Pm!JiDmLb7PZ|nO*4@BO*yBs!twQ6;0W& z;syQ>@#^?n{(WAjhGGy(XoV;qtWaMS6|;f4685QA7(u|HV#EM&Ks@K%j1s`Y4mmL! zLT%QtliktR9>>RDdQkRK=UI&cB!TydFLDOvFTkRtQhXlF?H;qgBiJy~?b?cV#qUK9 zFAE@W4$b`%Odq!9GwqNykVAWi#x0l;&}imRnsqAPKgdPYH$&(&weO^+nM|E|ks9IT z+1zm`=`R$7ssqWl(=neTR#{nJ%!ze@cI4fs8n76>vj8q;e##6Bd*m1HTSM zDu{|mq0C(mX}4i|ftiBB-x9b1WcKa94b3(wTi5d-jY>8&1Q)x)70$TY@^K~Kd~55x zdYi$Jw2&*xErJ=oc=|^{%D{O~a_d~$@kkd`aNuf3u%K#CGsfY|ZFwOY3sxgGwh&8v z;ZKzJBfj~8iXYs?X4GLRoJy=dYXL9!T-1p(w z1YRYBXis;;mMi^!1WI4cFIfo+3-y1g zupKQkr4|!pK5~(nmLoZwa20KPz8ulmxGeS!4|$>VaNP0-R>bin{0rKR)QS8{=s!zo z6%bXnh?z~elR*qOJMMdNZa(j81_7eazEjNk>J$LKQz4&oGP@=1I!?+Rzmx$qF%(K}a{V}-n;_muWl^&65x#JPVz4n25b7KdvWa;TJq&ox*W6R;#_DhAzW zu_{wSeE-ig^k&D+IO(Q~owe8R z(uTKw2OX6bMPn)4k;)DQIVhVna<^*N3sqXzR)Cj?ZYE;9ZmwLYZy1&c!fovJ)I?dJvz5$>~w-Hnf9XF)SB$$s9Me4`Hv)`QPj z)baZ2#CG%XhPT?Zydo`^dNb?UR_v#kk--+ZVKPsYnYOK&YtyqB`{GFbwX-gEdO=z; zZ^Aecr$Z~l9E*KcP~K$|)IJVvn@J&V*m4kePp;i&-R@L|6?5W&DBRX6m0H;qva!?x zUIBPASNG{JjnEBI)#0yp_%N^zHIePRU82t2LU@b}?do~>-t%X$1o6k9(0x8owv%^G zQu*5z&E1n_h}-}V-{Q)r7^RgryTP7#_`IU7Xesa7CDiK1dbW|_=WoNr&PQtk!3*sN z4?gOC9YS!>V6wG;>GQ2QDd42K7hij8qD)9R}4Z0dP7z z(zL(R2)RSalrkGC1dn?U`4qOJlGzxLvWHs-N3C=~Oz9$l!Ezg7E?9@)6Z}AwCO1@E z>$OdR)`t_@U1cX=0oryXz-m*N*=kA}`)H2}0(vIhW0cIHLL(RpRUS?iR5aYS6K-eH z7&p6+8cyHX_W?_R+lp&ja3qk3Fl$*L#pg@bz8`y*L@8;Wt=IWV5Bj&oN7|hyJf5Nr zRV$fdU}tY(vErdVrsI+8`-u6GirAXSv!nD#kz$0p8@UD3u5Zi=Da09D8EU-y-J(1Y zp0GqCD!$^6N-XZ)Tlj#Fji6q-zm)3CFSGLaPB+{2==^sMTFjs`}*!P@AdIKH;A@d%PmW zm3c2853`tq-vP|7C%+vUQ4aTwIUcqC5Aod1ptY`Ah;T6odzE&gp7!wV%i~Ip3mogi z6ap$qd8U)x0Uanfc5U?)ZKz1iifzT%2%O3|(Bs`nQr^yJN|pl`k{6ANS|U9WVSw(hqF&r-1Zu@#zmydZH4w>sZt((g~b}dARm`{ct79m|lv{ml{OQ zm61Suuw;eMF=x`)n=}3=A4FHs(p{BTn#Da47*%C$7ZiN+mX-{7${?~8K(POi5N#8XMtEkl88GyiM%!-AOJug;eXvOnLQ zG5EmBU2Zx2)qBe0iFTXrx!Qc(1_}CP^-Y_`INpV9lGdC$4xfy;SycZwi#a5q?%rtk(~Vz`_+_P~^&3>O z=3QpxDcu%ox|%jDNeGHXO~i$&S^m{aj}})#bRcL$Y@#JvPIlTb9SKu%7H4Mr^6Ki5 zGrn(={EKBL-HP<2KR$hJlXk8f9sjhnW&kTMAWVV>ri03}+1%<{fDDugQMJuQs!&V& zwPcSi_DOOk9`}1>T%kM`d_GTg^Bj2esrJtr( zJ{fvG8V(9fV)S4n!Q<2}X<0d9efG7w_wC3uUKyryr`uA4xYYUMx;M;$qwd^9oQ*q( z^F=aSi}-xAUWpiWdu1-qNp59wyXaZW%jOMXh-K;238$*r;2Tnhk=0Ox>B13T*2X_8F!rHLgQkt!I%`2{R$G!)9U{Z;zxwI;%VfWKW^2>Zp#dTq6OEZ%F4XX9}88& zr|7X9|58qzom5T$oUtN@;ylD16Lr$-PPz7@QC8r1qaG&a1T#O979AP8R6 zGL756*ZPPt!T;O+TP}$&4@Ow-fBH7^)xdTgEv`e(&4`1V4jk|Q1#?x$4m$lG_yvCE z`ALDQZJcxRSB?wvh)4nf1!Bk3)0ErD^E$qHg9fK?x zuC1$Ww^B?~5zl|$y%Mm0(KkC5YV^e|Fj&}G0!e8s| zhVm|3K_?QIaE-+{T%zsiCzUZ?T>rJ)nY?&2!?ikW<@wT+F`sO1n}8_Xg2I0l5bDD`<*{L7wV%YHD`s{1^XXf`Ez3F zXm-KAPuqj*^jUKv)^eK1K^V5+ow;{RUW2@<%G7G*cz_rR-_4+awo}UK#tTt4>!<}? z3#CVhrUGqV?9?k6>r8o|Q!!v?imytceyZ60FemVPHxCxzvx2B=@| z&?201OPl$Zv6 z?XNpc%}DIY#hCR3_q3;hZUZ&t7%}lgo%}s#wx2QV^Cd0YIV;niofC{0lQ7=&t{ez_ zrqXpA%LqScNk7Nr0+mHK3B{^c1H_*(aY|O2`@oA2tT8>sAnSh#MYsbIfx`%f6#MNl zJK2{r+Y|8n=B#C^$lWx`Tsf2X>qDoub6W6hXXwC1Cj8?2fTSF`)gJN<8Ud+pTm}w_ z?Lof|IHa}g8;Y@?5FXQpv5a_a@XlRQGslO%0o7Ms#)3ntdwbSN;nJ@x?}mM{UpG{L=8_+N^rU zNE6w4VT`IUfZ;{@E! zcIY$XxLM&tHb(HzV6N_yl=HEhbdqvHpxJQ6+tiI#avRq&Jh|u7%v9&mH|I7Wo3>{S zWK{0A&(uN|gyB8E+!-nti*9l;Gc2DJ@$$l<>s|W3zv~V!c7v~6ImRA2aj4qsB$>js z>81(~pu5b<$el>@TDOZVC_jjSX>YH9m>XN$X2L_#?;QEOWzg3eijdTYV+yxWQ|-T# znmyhrkG-IQ7S8gg|2!y1w#HucZFY-28mYY;&4HSmyi4=>UJ1XDQ1qT1Gq1L4@fXCY z-4HE6Nd||@{#Sm$C+h*gtnP>#VS!;l;L*>Kg)dupTPPwk29UqVcIqEWR9DU@OIF(6 zmio46D$m`78cN1u9dcTxh9CbNuHTMS52=ujGT9AliI(;;JG0Lom8j8m*phiqNU#`- zpnkjCd}W_yN%>q>LlAnx)yJueKZvKM#&gc}*F1HX7G5J#@?sT6-M@@i_xj0(oI_WV zJ&5>UpFJBmN(d|v<|MQ4`#$rKRQZPlBc&^{Us>6&Ki^Ud^t ztCM&92=XZcXWKPt%Ob8hu2Qd#42yzI4!el(VuZwaK<1L~PHvH-f?ng|fJ!w&*Jd`| zX;pA@y%v8AnAr?gmd8Sv4f7{7&R+;@Ko*K|i4`%b^^_^m-ike!x=0FbhCPFoZ9@#8 zEKx7skPCy(F#c)pLIfm|oo7X6S$(&j5ALh#$OKV;Y!A8}A+9jLlpQmoe|Y+USS2kv zU?>UcXNNU@4K%Oo1%^+YYZB=lo$+XjxY!$e4tPD|CUF+xg0kLAnJ$OJ-!kyP>NWn* zOx@TGXO{sGSw3Gc=Fb$$Z=`yZOA!G+48nDtR4pm0HTcVj`(2UwPd3g1k@90lWbC3B z>i)pyg6m+{4BS+e`1+djC(AEpD1^5jybbgH-J-DS>eWCk&}-eDq4=m~{#>a8f|byd zYi9F>xf6pIvq564uP_^**tGER(B)?j`^LczGAAg8ERUacvuc>{Z1C>KAnVZ72y4y6 za%4zNWF&>_Voh<2v}GhH1djO{5PtXcI%<$vMt43d+Tp7&^m2{kUwNm}x^Q+X8D5Z} z(U*5SX@$M2u@9jm(E-=*fRU;udAUj0GcvG0eH@5xWGCGZ9wNHi9JB?>XVJMy-&X?` z#UI4$Ek38q{5wwU_PN@kzVd$%%LO?vcOQQ^kJ>nM z$)ubkz-82<4EDS66tgGP(JfaDs0oWRctMRtYZ3T6WqAbu}0MJvl^;qA4#a_#Aa#@0Y`M9roLc_8+Lrc zRasiUMX4XyO=)&0)@0cQg)Z+$mwlKG{PUe5y1fI&N@iPNbpq1B#w4jW?^P&_{PjUQ z%qY|}0HVf&zSb}`(1`%?x<^=6uyI-|Y4mUWLXUr&Xm_epX`U|~ja_>~l&H`hQZsl- z^VYtiY_(ZdfKT^MR!|jno#)|7t4-G;h>d8gf+88A9UD@O#)Y<4JDn_f*9yCc!A+R! zUH=Z@+#k6GpVWd4toMshlN#63j^dq+6iOhZ`j0TI0qTAiD0#Y$1^y=>hGVgdg+C*c zYN?PQoNM2M6nj~qA<;>OUuwj~d?$FPYg&)})L*G+Po>-krHyWlb?fja z)w()NBQ+pZ(_?C$zRS0!$j*O78H%yr*v@=0P_p}6#bq{L=VlcI@zepq2>fs02$> zYa$M@Ok7;GGp=3tYS9cN2FfN0var91EhiW|44mi=r=F&@N8zk&$^hzRnFXM+< zby3BhQ9D2Xu>g>V!UCfi+CX>Z<6iE}@^=cWAn##m{C^_bLX&+l4P`3|cM!!gUxWCx zK4>`cvri|8sltA@bkXWgHa@XKzK!wXs9H7wu^hz-FJ>W>ux!h1eG5S}UbWcMte_>O z85`kV=v}8gMy_YAI~g_UDkiRTtdO>7IB-HJYW@A#^>NT4Q#D>7exb>>wz_Z_qN_Qs zHQU>BdNaVR0vycM9#Tm!{)VIiR)e^dV*xm`Su1`!NaqiqR~fNei(kxmN7~U6bmleo zw7#9c_+X^KTVQa5ttQ9WfwWA`nKMVnB#K*8DuYK7CX?4AyxMgp_6o7tb;LhGoJV;0 z6}@8rDe>3CRY$<7k4N^1!>lg7>@;<-#cr-Q$^yCW0sxVG93&(XcSD9uQP4rxG=d3aG;fzmerv(adK zfiS;oimx=XfV1XSZt0R9$Hth+fVlbmo6PkLFn9!#3Ud%+i!S`Qa^?z|j}1xbM}JEl z5F?b>^!4HWJI=+{`#&m#Xh!HcGD0m5HY&yS-fp_uT-$mx0|>{cacx1*RB|aZ5jGyG z*7m3!ZvO3In^7VFff2Q4GPn$UGFV)HRg6BY_FIENcBtoFAwtFw!q~!C{i$VP&z_K) zB*)b-LU+ntaIXY8>2ID8^&}%bSc#RoD(r0#YjG_n2(d2dP4H)=QTS~MTv`U7auyfz zIm$`B%J&)>IEkRmooS69n$ zhG!tD4DMoAOn~5-4uvie{jTa5W01_N%f*R9`Xo5o;f-X@d5C8y2TDfe&Hw@u5wb#R z?3fx@4b^zL?eW(#f5|*)w#N=clTkIK9>@G$kncd?7;oUXD@EE19gYV4uHf&^z`)xR z+7X#_p^1vf#!dVjas6QJT4MjlUYq1UHL%fWiH{yuTHZd?ch6qyni*!TmLts)!N*j^ z=jirIwBsou0G7`^nVD>NbbLz}zYvsjEfOa7Ru}K==vw+c$_!^2ziKm;hMx)DJ763) zsY}V!Djkbx&969j^6u4hn`_i0N**H1lRKO+#)_~dJUsbi;C9bCJNgbap!F*WNzkuq zQd_02p4e+2_3SFAZbtxBIwdOEoA~3SxSSl_Mt z(>J5?bAzhAxfqN|ciubtn1XBD<6X{WG8`#5% z7K1YDon1Ih`&E)&lG6e>7Mye~2d9MLkb>NpsgIU`N*ALPx9lS&qzlf4qOy}F+NF$I zghcv_n`%6>?%L^JK&8hFiV~_JtKw(!Vru?q9=Rt_H_neQE)vw^3%$v*%MPglAyrfb zH*`6Ix@a(S+1m4W9OcI{F;RQP#$)mG6JH`}SbI4su2Atq1u_emJu&YgI^wo!RKXF9 z>AZc^Q@?u*zFN22zJkR#OexSK* z#HFEK(z3E1kvr~-P3oCm%&{KNURZlk{Kp^KdpRTR zb3d|9d1oKAp`8|^4_$wKDgm-yQ%Ff;vMt~2GhSmU4{f{1G`KH^#)2k17jGA{P&#wT zzDn%AfE0l${B3$PPR45v7F@Dt6b6~yqTdBD6w%gvCOT8m@t?Ndt%PshWWt`$5K@LFEEHQnen&312x zDmadZb^E}y;{NOO?3ET2;sfJ6hG(gZ0X_zF2CyEyAu zm@kwRwyR582!$G1Hgx0FW|-+)!p~*Rk^=GPpg4y{&Mbdw%I6t%`-kR@*WL%Q(l19% z^(;#d)m4_<+V%4b;z0GO9scg^*sBwE(crD%Xl%m9UtB0dDvkT}LCV2qW0G8nSYb@c6p(Tf`0 z6goQ>GoDL%AWmV88Ebf?3;#t{K1WykyTZBnxYA9wj0OO}56cBm(w(d*Sf%B{WWcE=&TgSHvGawK;B8E~(%BMKMyAZv1Y-b)1q8>;85lpGc8$y4n?dj+F(_V;FZBP)3D$2krx#X`XTA(q{WQK@XP-jJ{%0505 zk*R6xG(j<__T48cJqsMEB)z{@Q-VRZfccd*o-Z;K<7`JuXATwR{5GWDmgHzgTz3}N zGRF?%v^{#PXS&6fjTsw%I5eet-hS$Ek~b(AwH)yL5?(AzSxXRJ1+^Nc5z3SU3r^nm&K?%==r5|-}-0tw6q>^qjdmnb=RB781e)LH zMR!OMs~Zoi|H5A@w{Lt9$`nwfRBSpbO z1;3Qp<6-IEMI?iLO+M7n3_i=%JYlT(WkGjIJh^cLEos&$biVO%Q>+_YXWa+}sh+A~ z(e98&*KI$&JuzxK4G+PrxR5CGG)Kf|^T(fWss^^RR%dgT#pw~Iuj6IIs^XEWOe?Dx z3qF<})V6rf5-5jYS%aMI&EzCb(9mxB^5zM9h38PANHOf+vf9v94CYX%m-~8g4YDDu zPwOKwbNCXgX|n_1U(XY82~ZC`BkCpq%ltPnoqEpOmfsGI;CGW;+^4nV_M#T%@ej+W z+nRiy^O8>+!aF)TuypaFkPH~ccfyngkI(k{g;b+}diU1z%>0teg)3wsgEF)HEep@T zg59K7-=pt|DVao?*hEG+LBaMX!fB+-VUnDFjXZOCos^}+qKXZ4Xao#M45c5a{BrEh z6qD-=(S4Gmlf2D#ks9pX-19)#+g( zpPvBiZ>oz^51YMWg*37YK@Il3W&Dj65b)GbKZHADdjG>T5JjGqcV5PZ;#VDa*c^+E zJ;1N|KZwZ(MxvwbM^kVPR~1)R&lg@?Tv-h*Jg0$Nk~!TUTuhr%NtDH}lXWquEhXhi z4!yP8TXMaU1!0;--D*78Tye#epv_?YxXJrfo0A1sylg(i&veZSSq8e#?Wm%Ye{0Qa zxAR1m0N@vE^i$ym%WnaBpyl)c!wK8jQ80S6VM9jN77?P}417H3y+ED#3sbUmpN1_4 zbGhlolZG1FS=qKCHu@uaH9>LgtCPNZtRq0TQv}zJhAu&JcM(iFQ&PB=?}Lmo<_&J_ zhnRg+_Zd(OC+fkUUguBl*=bMnrfEiKJH|;-8cTO@uv07r;jw4Bff!rxHV?WkPJrPn zOA>$Gmto9Pe514D9Nq^=PSf#v{ib7cCsTT)urxl{hLLayszQiPPhD$t#Gh;M!cF$6zD_Y4|RD z5T774fSZ$tbyfJm-_JgH`c@-wAR!uNpy=qf1x9uQaS1p#`9^jwkUx;!8TM6nYHpwntiC$^Q7yp6LjWJv>Z6e*@6JC@Z4;9S@lTR-Dkiu`Q z_804$)nik*x|Vo5COtSW%U%am*U5YpHtF;@Spkop?+$e7FUQJi6l(}O|<#k{jFy`uN*I~ z9Pivo1sfo;XE*hGSs~Zc{Y)!xzrTzG#>Bh`2sGpU!p9xTAQEoJj(EY9Eqah}l+aZy zONA`|RuRs*)K_ub%S+c4hc?`sd9}UEP391ei3+*PDhg7IIhASY%{XuXp-Ez8T z^v5?=!VDODELQ9bbj*h@LWh-w(0-f^-#DizM?Y;^ZPF8hOrCOIJLFpzu)Pg%b(IzR zr0{p(pLNA9(xL9$-aO;fPlWr=wp2%esw%m2>*0pREAre&%8un7wt@?P8Qj(LRvGsq zz^*pY0x||Pb4FzMjK}74L(EQG?nbn!QmM{%=MWPDo5-m)$3D|&57Zh>(>|m+@{38> z{C6XNVv3uQXA@FcQAGDe4pu2#}HuMEHgKzDinC*^F)XvO}k1I)8c$4+W=K_D2hFz>x_!Y5=>+PAa+ zssXpjr>t(6|0APcTqig1l`6zIt6kSc(_Wuz`Rp?J-mh-$(6;OAoesuzLnJ~qN1dPZ zp2&GY7{rGjJRjfXkOPQ95Jy4Sg$lux)8mu>eTWldZFDVvZ>p1N?FeG#wdI|6Xac>g`& z8^_5}?=2G&oWhh%l195H9yCtNQBs&0J8t7(W?D)&E~E0Si`?G4ZWE=;%#5biRf0j9 z>L_=;%KGS}YS_$Vpt~c`nvc7FHX?@%G=v~|PauHm`fs7kjm!7cUu|qVmc_M%Ga|K( z{+#f1%exiD%U4FZDr|6x4+4aKhF2%?|A=n^{2(?VUcU@(_d1!XVdc-8n$3)h=WAw)EB+R}mU+ z6ud9+&=Vn&q9l(KQkxzW^|v~fAkk9w<%J5;1<K5encSwAL^1`)hN}ZD>_u z!uZ3Lh38+-ud`g-L1sU~#c@HWp_kE`uVJ$L&+fP}F{4GsGt2O1PW{GdIngj$3}v#@ zY6{1Gk~6q>BVX)kY8a(Gn6Qf}q_u~SDR?F5p}a-)g;PXyha_mOd_GdM2LqC|zWkB2 zZ>^~;ItyBmWSI*^sHFQkKJIS1Q{d#JM50c+&(~i>UG=kgieLEOpHAIzG8S8_xPPwv zax(-8Dfl-%d~S+9pE#Mrj6vQ%5`#*WmO;ON-0y;SUc?gnPa5nU!&}?1QhG#s(oW+2 zh2x!v5@_aRww4sxf@08ujDAd5gb%%Vwr}7VA8P1FB^ovG%ow^_;|%)ESY%-Cm@en% zSUN1id8Qll(MEOk76uoAt0BADPA$#bc!oYdvk;>XQ3wbTq>@OCM2KGqP<^3GX|85) zl!GnrUzyX9znV9Fw@XcgVZD;eQ0sj=2Tmm+s}ePK&GxD$;-3;j!xqjSCJp^5E|+Uf z{?dw!>AHRXxRHw;;GD$Rre(XMcg24zdB)Gv<9Wq*lNk-A*{8)U#Euq0phq~R97Gkrfb3C{~Bkt9-8sA`~wl^q+j}0)^#(rZFzN_HKurbzY_n~0I z{(7SS11>|(k>G*Xy}mwE^h?ZyKhoTl`p7zieYNr%d0#fr=j~{b zwu3B9f}-Q&Z%bPro$U`8#K*7w8X#&n9E(J+{Ib)%?BZ$S)gl69u6;!V$`%{44AltcK-hUyPaDhhV>J6rlc@bO>taojP6Hd+Z!&O!q;ej9{e}gWJ{j6E0eY z&Khjgg+duj<*gKn&O$g5?Nf>b$Gh}0FadgDD zdtE=3vv{uX$QH7&@Q#Oo{N)l7p*D#w0|%Js_HN6`M^X|K(X)ImXuhews{PzmR z7w~F#D3GSbcf2!uQW3mp+TF|7k#lt05RmtOSykBnKW2+$+iT>>dkI> z84MfH;}SQ*oZ^x+`uex02>!|Qhb2+xNv}u$xq3{tc49YR)v7IDy!G6CDCsC*#k(Z( z`fG|xKBZpnGlKnCERoGRTm9tQIG$p2A}qje#cqQhWhojgXJk&?w4B4L^ij`2f_|QEqQO9U} z^Gy5iK;!*No!$CqIxPEIg;OkryYuJBpG7apf+DoCq~^Y=;f*9{Cpm4>GTD2`p|&3W zE;G{A%OJK4y%gWE_8pOQ8d4a=8?$uci%r$CwE^7qeSOc-1j>)-b@_~g$pvVRBK7UyV!Db8gXA4sO7USyr`Rr})88>N8UYX92{y3b zWCRW7fz?=bKT0RI2-lp@6X`tDyB>0(8r4H#Tw2ijO9KN#`f@+nh;`4*68C zx|pq>+dqjg@<@Eb=Y3xzTaOCKLnb%%&SdX--L&Dv-sjW5E#I_+n@8^k=r?4W3e8y| zE2ms4Y4aT80g1Gxf|5P_B140~lUo2r}{Ogq%HjykXDh#-oD z0_VSC3vXoFW`a09q!6(vXpnjC8}<#Yf=;+1XDOXf#-kN{*vWq{pMK9bXB-xnV};^U zyO?je`T32xH-fLfLrWPLj=Dr_4nboiAWGsJf$|#iAuQ+6CP^&S$%M9f0 z9DR<`b#Ko}M0KO%Qw`BbQ*sYm`3N(UisqXN;ljplKru=u7FWP=T@s(>7XH6qiPrCH zjPq}MSJw2od zHkz{Z`!yWiQAa3Eh1tL8T`0Rm*hg&I`6{d5@Mqz8K7GrZ0CMMU?!7M2m* znQ7eNYVoMaZBsLNNkgd|6@sPd8^N3`0Th8j?wTZ3?zm!g?dC=^^%t@UD$@!2G#gfk z5K>>LHeIhwja#b?Y*9nD8FF@f4TN1NL#t3W(ySj|Hj#(L>Z{cC*GxlRbQNmODS3?u z9~xv`q?)N3BNU<@!p4BhjPY*n8*S5=IO82sU6=$1ldE~X%={&2RiyhzySsP8i%yuf zzTT4I4;!QAX_`m}yr*RSWsdm}E6r!Y>;BvE2tLviHy-+6brY<4rHv-1PA}1|F*9sX zjuX;D%&Ksavcv`a4s?#cO zQ*e#ont!eF@ANso6kWb!r{J2X1rkzr&EuJUvyRrx4=;+qd*!2>1`+`xm+Gr0o}}!3 zd@-caRL}2IyC9s?b0jHsi(410pgqe8+G?B9jDnT7ER!?(iqU)>HCVaw*%{``qd*E9 zC^piJJj#BXuLzf#i!;f@&*}OPkdW^-H`@m-5G;MZ6vKZqq`mKg7Yz2V$t_Eu=(3Lr z+LWdgn3)QNTbpks8@E^%H%fv-*q>ux|7o0(0o*h3nrUDEb-YbY*;h}_#fHoJ4JiF| zVas<|;p)^mwgwbhZY~Lk2BofBkSxA{Xzh9U=BM8uk8f5WhJ>vFU<1v;3W^ZHQuNH&HCSs$nrW2Sn&Cyq6r2}Q4303vk&^OU`E zFB7tbsy|8aJx~I+dXt7+T+$6;fZm0_g=boyWHa^ELtu|k`KAt{QT>0 zuY-0KAbH;P5o%~IeyxrD99h@A^V)g!D{|QcWPx+734)b?Zm>sP?)6)%XyX-OIDa1) z(Lb4#J&E?U8K%-fI)lU;MZ(po>(BO0?D+T9v2*IiVj2u?;(_6rj_D3Oeek$uF~4?G z6#=5f;$Rcbo!;>)dnOS}0&<%{BXi?^ho6LS) z;?BSF&Tz$X{WTq2Vn;_sj&CpL>uIkSO*VMjI3!S`cqhc~|^R7ZG|o>_;dJCDV7qNLSm%oOVqvwr`3k3;*H zVhpw%B=f2)9c_8eeNTo4IE@#Z@3>weFOknQ#{brH`R{21FLAxadA@&#=Y$h@>s#WC zwDgh`n;T4}P}RpHq4tg9NlISsYj&z|%Db$eW#W^!L7xvTqxPL8;|{|?t}U(TR9 zcSq=%>J~^1o^wPy+PttaD>j~JY_uRS&-kIYbK${M43E&Hx7BcG0xKJa&!HUYAvX1y zH5!`Jqmh-U6gmTjS1#5Kh!VYo_QnyE4)aSHYi*`^kM<7W>~7(bYJYoXwf|JOJU17F z*35p zVzav`e$^#NJx!o4gr>0o$VICYgH4%d6yqx1P-`$_0h>srGch*G z17)ml%^cKYaWu9Bbd3}W)GgSSYgCCdIyU6rG!CPQBu{oK$Gg)s-_Ny(MRe%!yI zI&%>)n91&{70**SkApnk&CRpKM)BAbJQ4zcm9{dUOHI)F)20FL9egN_oEL#v>2`X0 z4&{-4_KFW^7K+iRV8$2tDyefQvi3(>qimIw)b`Jb{Ml{hOUx#HlTrZls15sEb^J-4 zfpMYU8`r&=->DhpA5T4O3HHICW0-YTc$=2%T?JWnA+PuB5?zddlw2}SrCT^C)9RG1z zX}Rsesqgil>hTL;BpYwEFrsDwz(4u4q{*5r->(aqVF3~F8NYxB*fakNy@{nWoFoDB zo_itPayuoz{i&h`cU)bX#vYc?iDFVWSs+SBg-v{vJ=@cb!@vOq3ZW8&;rn|;E=W~} zY&2(%9&9potWLQhYPIv{rj6ljnlsk zY39{i?mZn+(2v>zS(q6uX-=Q>cnb=+h~rrIfM0L(^@&tLv5-MC;f9aaKE@W2!NB0H=#F_)kGtnOQ_b1T*`Q*dFJO5x&E!#mlDN z*cK&1S3Y_h)?$I_*0hJX9&@?Za{RFn;P<#L09ZU>In6P_OGi0G-w_*43f(x8l)NLh z$0%QPP6K8*7Lb@AYW{auMT`zYjm6SkDm#pemodg4C;ahnYe^bH(T%~$tO-u>GA~5l zh)w(?hKIkA;t{{=1}Gm~dliZ^WLbDnmO&uWk4~z#%O#2bd_|~vL=f@$M2{f2rbeXO+jX7`;pt?EAUbN{PYpkHs zqFa+XS3q$qRW@&XoNcFCP!=92>6v}Yl+k~RJZ8@jVk4w&{&q3Nisdv<*%Pe~%fI_N z3dHWs_hS=4?YZx6v-v6C!Es~zB>$Y+tr4@!-e501`7JZv#x7*4-8iRq=+mxqXXFM% zOZ(e^X%#&yOhFYmJMupoB`TJC9COK_yxUhI9ZaR(`R|9q@R8#yHxHazoSjNnXP&D8 zPFk6((Zq(Zp^M23J7EuMmP{xF$C(s&!9}Nq!k|Af7!2+uRg`d5!V)8q=@7DC1m0F; zWC_=$1uIyKg|G)iyG(+=BrkM|Kc-l0>ap6goy2qQ$3}PV?{0KldrFGk%8WIzSXrf} z`(+XW(BswroUqcsGOWR@galzlp+V%4bAR+nlGE1%h?;iHgjxw7%5F_#x<~7ICxjq` z(MWk#Co(*3TYdu+ICPiq?Qen=vLciDpl}#Wi`2E)))aQ&Xfm#-@#Eg#@AG*{=ve|D z>_Kjm-(=dRFj|#CjUzv@IuAdPJve}sAObQfk%VRemQl)q%QvEGB$_)@+NCIMlB1bK=hkiS3lpW~| zhZZ4(()GWy7#p3#KP=OBHcDc+Rh^> z_(wDc3{=(YP#?tOMW zqW+2v-=U#+4t01`GWzpR*Cfgmzr;KUW5Tv|D<8Q-PvI#LqGM|FtW~G+eBOtq7b_Aa z7p*F_`JlMTSAp8?y(d)`SF&yB6hW9a7d_?p{d>8z zH_ttM`s|_F8Zlef&6E{XVSFEMoQo_Yr?}*&J#G*WSahQ?*o(Bn%>#2OSs8Ed$}Sts zG&|u>=f8=9kB#R+z>G=H9CQ<#)YQz<>e1q!^#>_gBKsF<=~?NC&XNUb`n57lcUgO7p-`?3yKI!%n@@}S5F9c! z3yQ^1l1XQ3+*nY0xOF^2t-tO!dCIeN7x^PN97?l|MSIykmo+|n)coVt6TZGcN2E|Bw(h2Vrg%Ac?jPhESlt>EQJ2;}T zM`Oc@!~34K9L;#Y3cOk@X`ACIZ&lf~gRu<&P2q2$nq3~x+CO`)0rf>PTk^;WIVY~X6a8jcWaz^>8Wo} ze~Q>f`+_m@)&poai8K8h#)>Jc|cP<6a{S3)I=!zhM*Urfj1uW_9 z7H72IB32k20D~fpT2(%z=|ffHhavm;N?D30=Gg3PPu_tiXW#((ChbA2x9N~|;4~>7 zi)w|GOaQlfh=GAKPu(tirT+Z#e>yMl*i&lWYhJvxJyia@I$~<= z1Tqp_%+<$^`kt?;xoxO2)yoMnXjG}k@Ze9*P1w+Fc!*V77aMx?80#X3;Hf z-|<@G(Tgnp^c#gIO7!Z~+3S4`#hLEyGDah+n@o?Dkm&#_LNeeXbaYJcFo+Mq2%ZR^ zJ3SbBppq5>L-Stn402&CDK@41#K|vyR>Rh6;!@q&FcQo>GqE)%>WuDle0~B$11?6L zOLW<_vTUsNgefbmZR)j8_8?R%ik?MpUB1&mWsF$B%z)#M-os4Lw`0_xX>s%Ptp*>rgcq^|7@6t%p5)w@Ds|-H_)0HqUWM99EFoz~-L5 zsv}36KMgs@1$Av`mmn@Z<_a<03FJR;C}X;XqtsxZ^610!$C31MoGo3E=UWmTXtlcv z`Jd~Kp*O$m)!!0069#9mx`a+m4-+=O@K|--Hbisgn|PnX;a>4D2EuycxmfpIHuPi`(R)wSyO4yt zs#y_={U)g{?|iuZJyQS-UjA;W&BF%OWA;8h>-h&Q1e6RgXxxNjLhO~ugx{u0I<7Vx zxe_pM(~T+3T5M>aV$-}i&j zlcfWdRaP5na;Up?mT01DJW;LBYZ4Jn{vJh7>??6_l8XT#s`CSbXQWUjtl~Dr8jC zd%2$k#g9HSi#4Qd(U|W2u&rZ0Ypcuc1_LO9L|AfWB>nRB@*Gha{2Pn~7RL)2zn>fc zT*ZZ@3c~>kOn%VRm>ki1s0Oo4#W9)@aK71cdAYM+ z;GlSJ1<%RoSU?1Mgz>|nTLrqGG$290@eICLq4ae0G2n_Id-2{$H{fp9ts?){o$)o9 zHCZgdQyCEer8w;V&+nM8P*gj~&KkcSEi<_^4Z5MIP*oTj9s&Rp{A=BZGn*gix(6+5 zC77rAVBw+01f-k~g+6t430N!^hlU89wvn;p z0q~lVWO=GX1Y)WY*8yes{0QCLGSlgnw*czS5lKPE2Ypxr%owLTd09tGU+ zQYX&vybyo*ifvxYpEQ5J7bf14{&t<&p^%JQ4KKFX2F;jh!-s7(zfxXE+y1V9 zzARgUw)h^Cb!5z@z&#?+hQFL_ z-jfNF%z^cib7S*0RCLtD!)ltSaE3VZzIeD=uMGSejg$lxWM)*Cle1c`xmUOfzuFi# z?(YAK0fx<h8+0Udklp57eh5{n0L!-jka{XdxvK)qxK93tFLhNnkDB zEFeJzMX{A@NEur!T2GJ8q*}fyH6S&6-znI*YhYGCBu7AG! zp<&9J)nRWeU+NKkl(IPN4cJE3+AP-47|Z$O^dk*2p0H*_9ENQ%nM*Knzb1U}b$l0n zhn*eWozkDpoSoZ;w$Rdia7E=gmQ^OA)A00NZTKCQ-@_)Z_m^-Z`;wa;z_2vBC<_-l#n$7FKTt`M)?-7J=ykSA+ zne}^8Ppka=DCaelC`P=heYv_(=W19qFSD+1bhEzf-3OIx-9Lbo(<{GPToB;%eU+-Ba)~@+Y=urDpi6)KNs0FrLcncy*1Vjvj z4}}y+wb^{ze*EplkB_ZGBc*A5@w~s*X+8RC(T#jA%A~(0CaM79^TUu71*QgENOtm) zSd)ixD3J(&;vTw|M#FXR&|K4qO7-wPEL`hMrm>k@^geLyT`Kx+)syLY_vZDxX*c^* zz03L=c02Yx_j}Q>#nHK;NVO19mT_}-qP=SXyGj!dF53pJpPCTIL0UAFdRBia^jDNr zxB3z~B`_#kv)6$4Kggxj7eoK}>tqiqA4)-|#bk}2WZx3i1nujQ-uIrJgox#Oi9bEk zkP4uWbym-pc=%i|q!rtunZv^XtD0oEN7rfeybp*@zOm_tAEW=enzwo(_)xUz-u_(c z_lqqp${Eqel4OGKw4DwBs~QHv*-P(2>~#s3>0SUp?$40Dq`#j0PR{ZB*tOn@m0Xjjn!eNv+I6zEmnf84 zE8obvh4ttJ08@1N^DoW|^mz0(92x zW+7$axI?`+t;wdU#SyxB!UhPH?-(+V@%(&J*LcL(h#?LuP%L~YVh2n?~*6!?~6>7|T$OL4BWyJ9|K!pF!wTdIN@8!(^7!y&9##_s~v0cZ$ZEXS88>^&!RV^+xU!2BPfA#FH zZ;WaFnp*a~jM9_@uPW(mYK&zKVe(?jJa^HH_l&;nq5G9B6p)5h>3%@#3}yDln@^#l z|1sjZ*$J%q*u}+yt4KecaVT2?*DRJa)WBP;380w*P3$tz)6>&lnAKOb@F92aX7c3Xty7?C^tSF*VX=r~s z{u#djUO2G!=C})YFyqV_g<(|Le31p1_;%~>5}c`++u)0AJUV!1;$S!o^rQK9RXn() zo%!pt2G85YF?jSX{c?ehKb!M6cE%cwuANlVGAiEU`8n18+{lV%@1N((bQU^0PdE;~ zaDCTJY2kraH33>`BhoE4)nfZGj-OfGcV`j5QaUoN&~3xVhpOo^ByVI6n`Zho6Ig4T z6hS*B%^FX!7s;%>hmzpG7zS2W@9Ga6ZF?N|&3W`~j8Zhk9{fV9y=uLl1|^MkS7Tzm z^&ii8sh|Hx4IHAW{b?oUA@5vq5*QNf)RAH`0gLp@%}B=aV@#Z}5^eE(Kki9t#K*f$ zDsi|$I~S;h;1beMlGdK`ao9OQSB6UE>{)5y7c59(z7e0+ZduZ?j~KP=xVYN<80-#QNCNAVN`23L3EJA8;}&t zxlryVqhA1Dk;=UBol{5bwPqV^%zT~i?jnZMu_Je1yDH1?`Dk*dwmqTu1PIlM^oDNO*=I` zh?lQ|m{R)M)T8?Ng^R=3HNIYNFC8)+Q-pM%7^$T=>rqZ^i&MElj$W6pAeUx71mvEG z2+p4E2spqr3&WH(B9~Y9rJrvuPeWLQ21;aUH$LkA+R{UuxjUR66KDzO8a1{z%(|rE>peFY#Rso*FSj zW4C<_$5ui7IZ@iTFt+RID0l4nOho8N8H323N? zfj?T*WGtT+&RpK4cfgD~mTB*(!8G2y)>*k6Oy9m@gq8B@5i?`Rvo9WWMD)E?7iw+1 za>+P;py-($4-y>Wk_@|Cv2Ws&v4sSS-j$Kl^909jpvg3s_za zBvu#wvdX_~j#ai&Fj~(-GWulgV{h|4n=MQ-g=yyiu%JIEZpR+@eKZvRNdfFK4cYJB zO?PMEY)w_5^K80kZg}rgA>NGnUe%6d4Zgrno_~TLka7rG0AgeV(^=?Eb32bm`(8RX zutRNrTLKN)gIvaGtH)Wl9XYYnaV#)|%3|d^4`>u2I^X%#!Vs9p%L_{VHf0btGOe0~ zdqQ@(n$B>*!T^pG+>Jw{VEf~iyY^i^_I}~|wF6UxZj)hl>V6VJL%g9Qm@T0*-#OrT z1*@Pd3Wi!GA9R)vjno(xe0(0UPe?IeT+^3wtd31oI#nJ>b_v1rtL%8S({|YL+!Ic2 zhk|$b8_GI>6KF=SV5a3@+Fdou>+xM!zJ-rFi^T>zpWK-9u$V-Zp+1J9p`8s*?E3nx z?E2mK4iu$J*P*2yhBp{HPYL`qF!ElkYD_fYY(L<-86nqPsff5q_6&@F##U5AimG&h z{MUwmV@va+%-r6a5}9>3&Bw1gstavvtQv{Jj)xUb@e;`9+pbm?)J2?!lV6T7i&f=9 z-nYSrc6%oEG{8~QfYB1pFPu3yrIY0vZa2X9QV@(Y;vE(6Fl#JtcW%t@Z;zUidF2*z zUX?|tp$&383~_>n8KOPV2i5KHlDCZf{}ytys*lVRY(lLp`qyvs|2d$!S_trzo-zC z{r)($?ROy0Q-M(kam zSlkpisgGu7WYRV3kUtdX2No+RnOnIx+8}D}5A|@9R-O@=gn@gwD{i4gJBJSOauH%i z8b=d|IY~dJ1>X(HWTF|gqd=S<3hA6{!FUq3MtklxPeY}RlYa952YH%GAjrruGl>Af z37HYN3!AS0ZvMIX8vO6oU+$ET7op*=a~h}2eZ-Vh{fRf$6V6_S6wcd+SP2T(W&L0o z)fk5U)-rRyG&={Pf_I5gwQ8?0$NxKb%V5}q;S+%;L0K$jj#PNUJ!Go&R-LBWRYMY~ z>Bp2)Dy>lMi>wP~B`L8Lp7l7thn0K2=@aV+R~;TUW#99#nf41f!?``mgSHX8SVyn8 zGQcHO`kL!$UU2S}-$H!H$}38`O0jkZOFG8YSxf#j@?P8L$7dJ}BEoD~uTq%fJ)b9? zBxhVhK`sq%;Np>(Y0@64dv7Iix;>7lI7Ld&?m_3>2_Etc4Kr|+@pcxs9 z?UYp7z=P@OoFCDfA)5LfUVfnWPbCCR?|Jh&J?=rbV#0nhjFC(E&6pAgBVx-w1XS*) zC)*&jlUi{Td0-B^Ev%z>abLtX8f8pokKl>sY^Sz5LvP|F3tzJst6EjsweAw(V0@ap zaWqZnnC^1JAMAqPxFS=^x7eBGB3`hAbwZ<`=l=fhIj=tWHVNKgEf9g|l(%*V)m(eJ z6EvGy0uBiRn?Q(FqmXX?Bk3ijkK-VaZ3;aPu@e=?&d#KWy^)+f%Zq;6rrFqvr`j(Rxy9iS(%zl@xmOkz%YxsoCdZl) zW4(VC@54haz`6m4srzpwxau|!*MdsM>#shi`#@8V4pcVyx_pf`^Zz(UIB;FJ4T^_Z z?AY9fm|3N{UW!&i1!5)5=3p)Bsdgwi6l=*X@3x1gxl^sZK{lR`Ozc)b#ycnsMFJX2#@nv>h?PYLA2XbOe3(hflR`jD<`}M!P}@@8>OCVbhfRxjig&DOHvz zaEE}9H75`!i(kp5b8pYS=iwndRBcSw)N!$M)~mZedq4q?%ZXdL^n4d{<7b&(?Cna~ z^{qbvR&I6P)rf?TT%C7uQZE5T{DXD2JrO|bR`4+VQ;zy9tnWcwW^=2x2&|X`_q{m> zcRe~Xt0k!iUn^3`)&d1S7b)&R$yNUc*=WvsDbdrIRto|$qdfXTUz|#})#}@LraR1w z?nAZv$`dxA4s%l95`QTufWm>FBI}!^njjLKWmv05FA%j((jvh~n){XrySdj2@V?bVE_} z&jw0*(caZTQty!4>%r6c6<&~FXOea%Ksg~%Pdg0ntiPQTh1^2F(H8BgIYMD5q+4dO zLkUtoqVQy1I}RK`&`L|Cei=PTLO6@QRMB~I*XSF(6G@Wrvbue^GxcD^Gc@(5+G~a<2iNe;p=K8 zWG1BBaI2<~qun?(`Vwlp&Wzy2Csu8Nf&=Hr(Z(yIWz(4AfT z)#oo?z-pxcXL=~1dzc2HrmAqOa~gS8`CJW2#k!Go9C$b>HX;t4=6YgEm%?KIQgt@V z%fDJZ-J9d)K)5`q*VRqNVR;sAOd43b_j>9Ncs5+W1BMa0Ov)sg7HVQWBI*Sdr`0

    S|O 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 !ROco-wz<*K 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⁡=Nth^vaty*sSn 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ǢE{+6cO{2bBba@)U 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