Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext')
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/AbstractUmlStateRuntimeModule.java21
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.ecore4
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.genmodel8
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.xtextbinbin4018 -> 4073 bytes
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g34
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.tokens40
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateLexer.java1346
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateParser.java520
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSemanticSequencer.java132
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSyntacticSequencer.java6
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/services/UmlStateGrammarAccess.java157
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/BehaviorKind.java115
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/DoRule.java19
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/EntryRule.java19
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/ExitRule.java19
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/QualifiedName.java19
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/StateRule.java40
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/SubmachineRule.java19
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStateFactory.java21
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStatePackage.java164
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/DoRuleImpl.java95
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/EntryRuleImpl.java95
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/ExitRuleImpl.java95
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/QualifiedNameImpl.java132
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/StateRuleImpl.java256
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/SubmachineRuleImpl.java132
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStateFactoryImpl.java108
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStatePackageImpl.java221
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateAdapterFactory.java149
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceFactoryImpl.java55
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceImpl.java32
-rwxr-xr-xplugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateSwitch.java87
-rw-r--r--plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateXMLProcessor.java54
33 files changed, 1775 insertions, 2439 deletions
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/AbstractUmlStateRuntimeModule.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/AbstractUmlStateRuntimeModule.java
index 07074c0ad33..6ebf43a45dc 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/AbstractUmlStateRuntimeModule.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/AbstractUmlStateRuntimeModule.java
@@ -6,7 +6,6 @@ package org.eclipse.papyrus.uml.textedit.state.xtext;
import java.util.Properties;
import org.eclipse.xtext.Constants;
-import org.eclipse.xtext.service.DefaultRuntimeModule;
import com.google.inject.Binder;
import com.google.inject.name.Names;
@@ -15,7 +14,7 @@ import com.google.inject.name.Names;
* Manual modifications go to {org.eclipse.papyrus.uml.textedit.state.xtext.UmlStateRuntimeModule}
*/
@SuppressWarnings("all")
-public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule {
+public abstract class AbstractUmlStateRuntimeModule extends org.eclipse.xtext.service.DefaultRuntimeModule {
protected Properties properties = null;
@@ -30,9 +29,8 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
public void configureFileExtensions(Binder binder) {
- if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) {
+ if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("umlstate");
- }
}
// contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
@@ -46,7 +44,6 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
- @Override
public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
return org.eclipse.papyrus.uml.textedit.state.xtext.serializer.UmlStateSemanticSequencer.class;
}
@@ -57,7 +54,6 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
- @Override
public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
return org.eclipse.xtext.serializer.impl.Serializer.class;
}
@@ -68,7 +64,6 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
- @Override
public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
}
@@ -95,7 +90,6 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
- @Override
public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
}
@@ -112,7 +106,6 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
- @Override
public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
return org.eclipse.papyrus.uml.textedit.state.xtext.scoping.UmlStateScopeProvider.class;
}
@@ -124,7 +117,6 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
- @Override
public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
return org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider.class;
}
@@ -135,13 +127,11 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
- @Override
public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
}
// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
- @Override
public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
}
@@ -152,15 +142,13 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
- @Override
public void configureIResourceDescriptions(com.google.inject.Binder binder) {
binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
}
// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
- @Override
- public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
- binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE))
+ public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS))
.to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
}
@@ -170,7 +158,6 @@ public abstract class AbstractUmlStateRuntimeModule extends DefaultRuntimeModule
}
// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
- @Override
public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
return org.eclipse.papyrus.uml.textedit.state.xtext.formatting.UmlStateFormatter.class;
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.ecore b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.ecore
index 2c3f1c372fb..1ebaba6029c 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.ecore
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.ecore
@@ -15,10 +15,10 @@
<eClassifiers xsi:type="ecore:EClass" name="SubmachineRule">
<eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//QualifiedName"
containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" eType="ecore:EClass ../../../../../../../../../org.eclipse.uml2.uml/model/UML.ecore#//StateMachine"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" eType="ecore:EClass platform:/resource/org.eclipse.uml2.uml/model/UML.ecore#//StateMachine"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="QualifiedName">
- <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="ecore:EClass ../../../../../../../../../org.eclipse.uml2.uml/model/UML.ecore#//Namespace"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="ecore:EClass platform:/resource/org.eclipse.uml2.uml/model/UML.ecore#//Namespace"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="remaining" eType="#//QualifiedName"
containment="true"/>
</eClassifiers>
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.genmodel b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.genmodel
index 7840239026d..407a6669671 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.genmodel
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.genmodel
@@ -4,11 +4,11 @@
editDirectory="/org.eclipse.papyrus.uml.textedit.state.xtext.edit/src" editorDirectory="/org.eclipse.papyrus.uml.textedit.state.xtext.editor/src"
modelPluginID="org.eclipse.papyrus.uml.textedit.state.xtext" forceOverwrite="true"
modelName="UmlState" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
- complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.papyrus.uml.textedit.state.xtext.edit"
- editorPluginID="org.eclipse.papyrus.uml.textedit.state.xtext.editor" runtimeVersion="2.9"
- usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../../../../../../../../org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ complianceLevel="6.0" copyrightFields="false" editPluginID="org.eclipse.papyrus.uml.textedit.state.xtext.edit"
+ editorPluginID="org.eclipse.papyrus.uml.textedit.state.xtext.editor" runtimeVersion="2.14"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/resource/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
<genPackages prefix="UmlState" basePackage="org.eclipse.papyrus.uml.textedit.state.xtext"
- resource="XML" disposableProviderFactory="true" ecorePackage="UmlState.ecore#/">
+ disposableProviderFactory="true" ecorePackage="UmlState.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="UmlState.ecore#//BehaviorKind">
<genEnumLiterals ecoreEnumLiteral="UmlState.ecore#//BehaviorKind/ACTIVITY"/>
<genEnumLiterals ecoreEnumLiteral="UmlState.ecore#//BehaviorKind/STATE_MACHINE"/>
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.xtextbin b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.xtextbin
index 11592d527e6..ac8f7e77228 100644
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.xtextbin
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/UmlState.xtextbin
Binary files differ
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g
index c0ac5ebdeb6..dd9e48f328f 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g
@@ -1,6 +1,6 @@
/*
-* generated by Xtext
-*/
+ * generated by Xtext
+ */
grammar InternalUmlState;
options {
@@ -92,7 +92,7 @@ ruleStateRule returns [EObject current=null]
$current,
"name",
lv_name_0_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
)
@@ -113,7 +113,7 @@ ruleStateRule returns [EObject current=null]
$current,
"submachine",
lv_submachine_2_0,
- "SubmachineRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.SubmachineRule");
afterParserOrEnumRuleCall();
}
@@ -145,7 +145,7 @@ ruleStateRule returns [EObject current=null]
$current,
"entry",
lv_entry_4_0,
- "EntryRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.EntryRule");
afterParserOrEnumRuleCall();
}
@@ -175,7 +175,7 @@ ruleStateRule returns [EObject current=null]
$current,
"do",
lv_do_5_0,
- "DoRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.DoRule");
afterParserOrEnumRuleCall();
}
@@ -205,7 +205,7 @@ ruleStateRule returns [EObject current=null]
$current,
"exit",
lv_exit_6_0,
- "ExitRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.ExitRule");
afterParserOrEnumRuleCall();
}
@@ -258,7 +258,7 @@ ruleSubmachineRule returns [EObject current=null]
$current,
"path",
lv_path_0_0,
- "QualifiedName");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.QualifiedName");
afterParserOrEnumRuleCall();
}
@@ -327,7 +327,7 @@ ruleQualifiedName returns [EObject current=null]
$current,
"remaining",
lv_remaining_2_0,
- "QualifiedName");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.QualifiedName");
afterParserOrEnumRuleCall();
}
@@ -370,7 +370,7 @@ ruleEntryRule returns [EObject current=null]
$current,
"kind",
lv_kind_1_0,
- "BehaviorKind");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.BehaviorKind");
afterParserOrEnumRuleCall();
}
@@ -389,7 +389,7 @@ ruleEntryRule returns [EObject current=null]
$current,
"behaviorName",
lv_behaviorName_2_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
)
@@ -431,7 +431,7 @@ ruleDoRule returns [EObject current=null]
$current,
"kind",
lv_kind_1_0,
- "BehaviorKind");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.BehaviorKind");
afterParserOrEnumRuleCall();
}
@@ -450,7 +450,7 @@ ruleDoRule returns [EObject current=null]
$current,
"behaviorName",
lv_behaviorName_2_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
)
@@ -492,7 +492,7 @@ ruleExitRule returns [EObject current=null]
$current,
"kind",
lv_kind_1_0,
- "BehaviorKind");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.BehaviorKind");
afterParserOrEnumRuleCall();
}
@@ -511,7 +511,7 @@ ruleExitRule returns [EObject current=null]
$current,
"behaviorName",
lv_behaviorName_2_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
)
@@ -547,8 +547,6 @@ ruleBehaviorKind returns [Enumerator current=null]
-RULE_INTEGER_VALUE : (('0'|'1'..'9' ('_'? '0'..'9')*)|('0b'|'0B') '0'..'1' ('_'? '0'..'1')*|('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F') ('_'? ('0'..'9'|'a'..'f'|'A'..'F'))*|'0' '_'? '0'..'7' ('_'? '0'..'7')*);
-
RULE_ID : (('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*|'\'' ( options {greedy=false;} : . )*'\'');
RULE_STRING : '"' ('\\' ('b'|'t'|'n'|'f'|'r'|'"'|'\''|'\\')|~(('\\'|'"')))* '"';
@@ -559,6 +557,8 @@ RULE_SL_COMMENT : '//' ~(('\n'|'\r'|'@'))* ('\r'? '\n')?;
RULE_INT : ('0'..'9')+;
+RULE_INTEGER_VALUE : (('0'|'1'..'9' ('_'? '0'..'9')*)|('0b'|'0B') '0'..'1' ('_'? '0'..'1')*|('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F') ('_'? ('0'..'9'|'a'..'f'|'A'..'F'))*|'0' '_'? '0'..'7' ('_'? '0'..'7')*);
+
RULE_WS : (' '|'\t'|'\r'|'\n')+;
RULE_ANY_OTHER : .;
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.tokens b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.tokens
index aede8f9ee7e..f761001cae4 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.tokens
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.tokens
@@ -1,24 +1,24 @@
-RULE_ID=4
-RULE_ANY_OTHER=11
-RULE_INTEGER_VALUE=5
-RULE_SL_COMMENT=8
-RULE_ML_COMMENT=7
-T__19=19
-RULE_STRING=6
-T__16=16
-T__15=15
-T__18=18
-T__17=17
-T__12=12
-T__14=14
-T__13=13
-RULE_INT=9
-RULE_WS=10
':'=12
-'OpaqueBehavior'=19
-'exit'=16
'::'=13
-'entry'=14
-'StateMachine'=18
'Activity'=17
+'OpaqueBehavior'=19
+'StateMachine'=18
'do'=15
+'entry'=14
+'exit'=16
+RULE_ANY_OTHER=11
+RULE_ID=4
+RULE_INT=8
+RULE_INTEGER_VALUE=9
+RULE_ML_COMMENT=6
+RULE_SL_COMMENT=7
+RULE_STRING=5
+RULE_WS=10
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateLexer.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateLexer.java
index 84dc2c442bd..41403a8815d 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateLexer.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateLexer.java
@@ -1,7 +1,5 @@
package org.eclipse.papyrus.uml.textedit.state.xtext.parser.antlr.internal;
-// Hack: Use our own Lexer superclass by means of import.
-// Currently there is no other way to specify the superclass for the lexer.
import org.antlr.runtime.BaseRecognizer;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.DFA;
@@ -11,27 +9,29 @@ import org.antlr.runtime.MismatchedSetException;
import org.antlr.runtime.NoViableAltException;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.RecognizerSharedState;
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.parser.antlr.Lexer;
@SuppressWarnings("all")
public class InternalUmlStateLexer extends Lexer {
- public static final int RULE_ID = 4;
- public static final int RULE_ANY_OTHER = 11;
- public static final int RULE_INTEGER_VALUE = 5;
- public static final int RULE_SL_COMMENT = 8;
- public static final int EOF = -1;
- public static final int RULE_ML_COMMENT = 7;
+ public static final int RULE_STRING = 5;
+ public static final int RULE_SL_COMMENT = 7;
public static final int T__19 = 19;
- public static final int RULE_STRING = 6;
- public static final int T__16 = 16;
public static final int T__15 = 15;
- public static final int T__18 = 18;
+ public static final int T__16 = 16;
public static final int T__17 = 17;
+ public static final int T__18 = 18;
public static final int T__12 = 12;
- public static final int T__14 = 14;
public static final int T__13 = 13;
- public static final int RULE_INT = 9;
+ public static final int T__14 = 14;
+ public static final int EOF = -1;
+ public static final int RULE_ID = 4;
public static final int RULE_WS = 10;
+ public static final int RULE_ANY_OTHER = 11;
+ public static final int RULE_INT = 8;
+ public static final int RULE_ML_COMMENT = 6;
+ public static final int RULE_INTEGER_VALUE = 9;
// delegates
// delegators
@@ -49,9 +49,8 @@ public class InternalUmlStateLexer extends Lexer {
}
- @Override
public String getGrammarFileName() {
- return "../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g";
+ return "InternalUmlState.g";
}
// $ANTLR start "T__12"
@@ -59,8 +58,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__12;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:11:7: ( ':' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:11:9: ':'
+ // InternalUmlState.g:11:7: ( ':' )
+ // InternalUmlState.g:11:9: ':'
{
match(':');
@@ -71,7 +70,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__12"
// $ANTLR start "T__13"
@@ -79,8 +77,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__13;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:12:7: ( '::' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:12:9: '::'
+ // InternalUmlState.g:12:7: ( '::' )
+ // InternalUmlState.g:12:9: '::'
{
match("::");
@@ -92,7 +90,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__13"
// $ANTLR start "T__14"
@@ -100,8 +97,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__14;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:13:7: ( 'entry' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:13:9: 'entry'
+ // InternalUmlState.g:13:7: ( 'entry' )
+ // InternalUmlState.g:13:9: 'entry'
{
match("entry");
@@ -113,7 +110,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__14"
// $ANTLR start "T__15"
@@ -121,8 +117,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__15;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:14:7: ( 'do' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:14:9: 'do'
+ // InternalUmlState.g:14:7: ( 'do' )
+ // InternalUmlState.g:14:9: 'do'
{
match("do");
@@ -134,7 +130,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__15"
// $ANTLR start "T__16"
@@ -142,8 +137,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__16;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:15:7: ( 'exit' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:15:9: 'exit'
+ // InternalUmlState.g:15:7: ( 'exit' )
+ // InternalUmlState.g:15:9: 'exit'
{
match("exit");
@@ -155,7 +150,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__16"
// $ANTLR start "T__17"
@@ -163,8 +157,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__17;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:16:7: ( 'Activity' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:16:9: 'Activity'
+ // InternalUmlState.g:16:7: ( 'Activity' )
+ // InternalUmlState.g:16:9: 'Activity'
{
match("Activity");
@@ -176,7 +170,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__17"
// $ANTLR start "T__18"
@@ -184,8 +177,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__18;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:17:7: ( 'StateMachine' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:17:9: 'StateMachine'
+ // InternalUmlState.g:17:7: ( 'StateMachine' )
+ // InternalUmlState.g:17:9: 'StateMachine'
{
match("StateMachine");
@@ -197,7 +190,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__18"
// $ANTLR start "T__19"
@@ -205,8 +197,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = T__19;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:18:7: ( 'OpaqueBehavior' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:18:9: 'OpaqueBehavior'
+ // InternalUmlState.g:18:7: ( 'OpaqueBehavior' )
+ // InternalUmlState.g:18:9: 'OpaqueBehavior'
{
match("OpaqueBehavior");
@@ -218,496 +210,60 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "T__19"
- // $ANTLR start "RULE_INTEGER_VALUE"
- public final void mRULE_INTEGER_VALUE() throws RecognitionException {
- try {
- int _type = RULE_INTEGER_VALUE;
- int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:20: ( ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0'
- // .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )* | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:22: ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' ..
- // '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )* | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* )
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:22: ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0'
- // .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )* | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* )
- int alt13 = 4;
- int LA13_0 = input.LA(1);
-
- if ((LA13_0 == '0')) {
- switch (input.LA(2)) {
- case 'B':
- case 'b': {
- alt13 = 2;
- }
- break;
- case 'X':
- case 'x': {
- alt13 = 3;
- }
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '_': {
- alt13 = 4;
- }
- break;
- default:
- alt13 = 1;
- }
-
- }
- else if (((LA13_0 >= '1' && LA13_0 <= '9'))) {
- alt13 = 1;
- }
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 13, 0, input);
-
- throw nvae;
- }
- switch (alt13) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:23: ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* )
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:23: ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* )
- int alt3 = 2;
- int LA3_0 = input.LA(1);
-
- if ((LA3_0 == '0')) {
- alt3 = 1;
- }
- else if (((LA3_0 >= '1' && LA3_0 <= '9'))) {
- alt3 = 2;
- }
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 3, 0, input);
-
- throw nvae;
- }
- switch (alt3) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:24: '0'
- {
- match('0');
-
- }
- break;
- case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:28: '1' .. '9' ( ( '_' )? '0' .. '9' )*
- {
- matchRange('1', '9');
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:37: ( ( '_' )? '0' .. '9' )*
- loop2: do {
- int alt2 = 2;
- int LA2_0 = input.LA(1);
-
- if (((LA2_0 >= '0' && LA2_0 <= '9') || LA2_0 == '_')) {
- alt2 = 1;
- }
-
-
- switch (alt2) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:38: ( '_' )? '0' .. '9'
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:38: ( '_' )?
- int alt1 = 2;
- int LA1_0 = input.LA(1);
-
- if ((LA1_0 == '_')) {
- alt1 = 1;
- }
- switch (alt1) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:38: '_'
- {
- match('_');
-
- }
- break;
-
- }
-
- matchRange('0', '9');
-
- }
- break;
-
- default:
- break loop2;
- }
- } while (true);
-
-
- }
- break;
-
- }
-
-
- }
- break;
- case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:55: ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )*
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:55: ( '0b' | '0B' )
- int alt4 = 2;
- int LA4_0 = input.LA(1);
-
- if ((LA4_0 == '0')) {
- int LA4_1 = input.LA(2);
-
- if ((LA4_1 == 'b')) {
- alt4 = 1;
- }
- else if ((LA4_1 == 'B')) {
- alt4 = 2;
- }
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 4, 1, input);
-
- throw nvae;
- }
- }
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 4, 0, input);
-
- throw nvae;
- }
- switch (alt4) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:56: '0b'
- {
- match("0b");
-
-
- }
- break;
- case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:61: '0B'
- {
- match("0B");
-
-
- }
- break;
-
- }
-
- matchRange('0', '1');
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:76: ( ( '_' )? '0' .. '1' )*
- loop6: do {
- int alt6 = 2;
- int LA6_0 = input.LA(1);
-
- if (((LA6_0 >= '0' && LA6_0 <= '1') || LA6_0 == '_')) {
- alt6 = 1;
- }
-
-
- switch (alt6) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:77: ( '_' )? '0' .. '1'
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:77: ( '_' )?
- int alt5 = 2;
- int LA5_0 = input.LA(1);
-
- if ((LA5_0 == '_')) {
- alt5 = 1;
- }
- switch (alt5) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:77: '_'
- {
- match('_');
-
- }
- break;
-
- }
-
- matchRange('0', '1');
-
- }
- break;
-
- default:
- break loop6;
- }
- } while (true);
-
-
- }
- break;
- case 3:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:93: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' ..
- // 'f' | 'A' .. 'F' ) )*
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:93: ( '0x' | '0X' )
- int alt7 = 2;
- int LA7_0 = input.LA(1);
-
- if ((LA7_0 == '0')) {
- int LA7_1 = input.LA(2);
-
- if ((LA7_1 == 'x')) {
- alt7 = 1;
- }
- else if ((LA7_1 == 'X')) {
- alt7 = 2;
- }
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 7, 1, input);
-
- throw nvae;
- }
- }
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 7, 0, input);
-
- throw nvae;
- }
- switch (alt7) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:94: '0x'
- {
- match("0x");
-
-
- }
- break;
- case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:99: '0X'
- {
- match("0X");
-
-
- }
- break;
-
- }
-
- if ((input.LA(1) >= '0' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'F') || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
- input.consume();
-
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null, input);
- recover(mse);
- throw mse;
- }
-
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:134: ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )*
- loop9: do {
- int alt9 = 2;
- int LA9_0 = input.LA(1);
-
- if (((LA9_0 >= '0' && LA9_0 <= '9') || (LA9_0 >= 'A' && LA9_0 <= 'F') || LA9_0 == '_' || (LA9_0 >= 'a' && LA9_0 <= 'f'))) {
- alt9 = 1;
- }
-
-
- switch (alt9) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:135: ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:135: ( '_' )?
- int alt8 = 2;
- int LA8_0 = input.LA(1);
-
- if ((LA8_0 == '_')) {
- alt8 = 1;
- }
- switch (alt8) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:135: '_'
- {
- match('_');
-
- }
- break;
-
- }
-
- if ((input.LA(1) >= '0' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'F') || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
- input.consume();
-
- }
- else {
- MismatchedSetException mse = new MismatchedSetException(null, input);
- recover(mse);
- throw mse;
- }
-
-
- }
- break;
-
- default:
- break loop9;
- }
- } while (true);
-
-
- }
- break;
- case 4:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:171: '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )*
- {
- match('0');
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:175: ( '_' )?
- int alt10 = 2;
- int LA10_0 = input.LA(1);
-
- if ((LA10_0 == '_')) {
- alt10 = 1;
- }
- switch (alt10) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:175: '_'
- {
- match('_');
-
- }
- break;
-
- }
-
- matchRange('0', '7');
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:189: ( ( '_' )? '0' .. '7' )*
- loop12: do {
- int alt12 = 2;
- int LA12_0 = input.LA(1);
-
- if (((LA12_0 >= '0' && LA12_0 <= '7') || LA12_0 == '_')) {
- alt12 = 1;
- }
-
-
- switch (alt12) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:190: ( '_' )? '0' .. '7'
- {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:190: ( '_' )?
- int alt11 = 2;
- int LA11_0 = input.LA(1);
-
- if ((LA11_0 == '_')) {
- alt11 = 1;
- }
- switch (alt11) {
- case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:550:190: '_'
- {
- match('_');
-
- }
- break;
-
- }
-
- matchRange('0', '7');
-
- }
- break;
-
- default:
- break loop12;
- }
- } while (true);
-
-
- }
- break;
-
- }
-
-
- }
-
- state.type = _type;
- state.channel = _channel;
- } finally {
- }
- }
-
- // $ANTLR end "RULE_INTEGER_VALUE"
-
// $ANTLR start "RULE_ID"
public final void mRULE_ID() throws RecognitionException {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:9: ( ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' (
- // options {greedy=false; } : . )* '\\'' ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:11: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' (
- // options {greedy=false; } : . )* '\\'' )
+ // InternalUmlState.g:550:9: ( ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' ( options {greedy=false; } : . )* '\\'' ) )
+ // InternalUmlState.g:550:11: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' ( options {greedy=false; } : . )* '\\'' )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:11: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\''
- // ( options {greedy=false; } : . )* '\\'' )
- int alt16 = 2;
- int LA16_0 = input.LA(1);
-
- if (((LA16_0 >= 'A' && LA16_0 <= 'Z') || LA16_0 == '_' || (LA16_0 >= 'a' && LA16_0 <= 'z'))) {
- alt16 = 1;
- }
- else if ((LA16_0 == '\'')) {
- alt16 = 2;
- }
- else {
- NoViableAltException nvae =
- new NoViableAltException("", 16, 0, input);
+ // InternalUmlState.g:550:11: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* | '\\'' ( options {greedy=false; } : . )* '\\'' )
+ int alt3 = 2;
+ int LA3_0 = input.LA(1);
+
+ if (((LA3_0 >= 'A' && LA3_0 <= 'Z') || LA3_0 == '_' || (LA3_0 >= 'a' && LA3_0 <= 'z'))) {
+ alt3 = 1;
+ } else if ((LA3_0 == '\'')) {
+ alt3 = 2;
+ } else {
+ NoViableAltException nvae = new NoViableAltException("", 3, 0, input);
throw nvae;
}
- switch (alt16) {
+ switch (alt3) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:12: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // InternalUmlState.g:550:12: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{
if ((input.LA(1) >= 'A' && input.LA(1) <= 'Z') || input.LA(1) == '_' || (input.LA(1) >= 'a' && input.LA(1) <= 'z')) {
input.consume();
- }
- else {
+ } else {
MismatchedSetException mse = new MismatchedSetException(null, input);
recover(mse);
throw mse;
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:36: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
- loop14: do {
- int alt14 = 2;
- int LA14_0 = input.LA(1);
+ // InternalUmlState.g:550:36: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop1: do {
+ int alt1 = 2;
+ int LA1_0 = input.LA(1);
- if (((LA14_0 >= '0' && LA14_0 <= '9') || (LA14_0 >= 'A' && LA14_0 <= 'Z') || LA14_0 == '_' || (LA14_0 >= 'a' && LA14_0 <= 'z'))) {
- alt14 = 1;
+ if (((LA1_0 >= '0' && LA1_0 <= '9') || (LA1_0 >= 'A' && LA1_0 <= 'Z') || LA1_0 == '_' || (LA1_0 >= 'a' && LA1_0 <= 'z'))) {
+ alt1 = 1;
}
- switch (alt14) {
+ switch (alt1) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:
+ // InternalUmlState.g:
{
if ((input.LA(1) >= '0' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'Z') || input.LA(1) == '_' || (input.LA(1) >= 'a' && input.LA(1) <= 'z')) {
input.consume();
- }
- else {
+ } else {
MismatchedSetException mse = new MismatchedSetException(null, input);
recover(mse);
throw mse;
@@ -718,7 +274,7 @@ public class InternalUmlStateLexer extends Lexer {
break;
default:
- break loop14;
+ break loop1;
}
} while (true);
@@ -726,25 +282,24 @@ public class InternalUmlStateLexer extends Lexer {
}
break;
case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:70: '\\'' ( options {greedy=false; } : . )* '\\''
+ // InternalUmlState.g:550:70: '\\'' ( options {greedy=false; } : . )* '\\''
{
match('\'');
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:75: ( options {greedy=false; } : . )*
- loop15: do {
- int alt15 = 2;
- int LA15_0 = input.LA(1);
-
- if ((LA15_0 == '\'')) {
- alt15 = 2;
- }
- else if (((LA15_0 >= '\u0000' && LA15_0 <= '&') || (LA15_0 >= '(' && LA15_0 <= '\uFFFF'))) {
- alt15 = 1;
+ // InternalUmlState.g:550:75: ( options {greedy=false; } : . )*
+ loop2: do {
+ int alt2 = 2;
+ int LA2_0 = input.LA(1);
+
+ if ((LA2_0 == '\'')) {
+ alt2 = 2;
+ } else if (((LA2_0 >= '\u0000' && LA2_0 <= '&') || (LA2_0 >= '(' && LA2_0 <= '\uFFFF'))) {
+ alt2 = 1;
}
- switch (alt15) {
+ switch (alt2) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:552:103: .
+ // InternalUmlState.g:550:103: .
{
matchAny();
@@ -752,7 +307,7 @@ public class InternalUmlStateLexer extends Lexer {
break;
default:
- break loop15;
+ break loop2;
}
} while (true);
@@ -771,7 +326,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "RULE_ID"
// $ANTLR start "RULE_STRING"
@@ -779,36 +333,31 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:554:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' )
- // ) )* '\"' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:554:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) )
- // )* '\"'
+ // InternalUmlState.g:552:13: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+ // InternalUmlState.g:552:15: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:554:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) )
- // )*
- loop17: do {
- int alt17 = 3;
- int LA17_0 = input.LA(1);
-
- if ((LA17_0 == '\\')) {
- alt17 = 1;
- }
- else if (((LA17_0 >= '\u0000' && LA17_0 <= '!') || (LA17_0 >= '#' && LA17_0 <= '[') || (LA17_0 >= ']' && LA17_0 <= '\uFFFF'))) {
- alt17 = 2;
+ // InternalUmlState.g:552:19: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop4: do {
+ int alt4 = 3;
+ int LA4_0 = input.LA(1);
+
+ if ((LA4_0 == '\\')) {
+ alt4 = 1;
+ } else if (((LA4_0 >= '\u0000' && LA4_0 <= '!') || (LA4_0 >= '#' && LA4_0 <= '[') || (LA4_0 >= ']' && LA4_0 <= '\uFFFF'))) {
+ alt4 = 2;
}
- switch (alt17) {
+ switch (alt4) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:554:20: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
+ // InternalUmlState.g:552:20: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
{
match('\\');
if (input.LA(1) == '\"' || input.LA(1) == '\'' || input.LA(1) == '\\' || input.LA(1) == 'b' || input.LA(1) == 'f' || input.LA(1) == 'n' || input.LA(1) == 'r' || input.LA(1) == 't') {
input.consume();
- }
- else {
+ } else {
MismatchedSetException mse = new MismatchedSetException(null, input);
recover(mse);
throw mse;
@@ -818,13 +367,12 @@ public class InternalUmlStateLexer extends Lexer {
}
break;
case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:554:61: ~ ( ( '\\\\' | '\"' ) )
+ // InternalUmlState.g:552:61: ~ ( ( '\\\\' | '\"' ) )
{
if ((input.LA(1) >= '\u0000' && input.LA(1) <= '!') || (input.LA(1) >= '#' && input.LA(1) <= '[') || (input.LA(1) >= ']' && input.LA(1) <= '\uFFFF')) {
input.consume();
- }
- else {
+ } else {
MismatchedSetException mse = new MismatchedSetException(null, input);
recover(mse);
throw mse;
@@ -835,7 +383,7 @@ public class InternalUmlStateLexer extends Lexer {
break;
default:
- break loop17;
+ break loop4;
}
} while (true);
@@ -848,7 +396,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "RULE_STRING"
// $ANTLR start "RULE_ML_COMMENT"
@@ -856,46 +403,43 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:556:17: ( '/*' ~ ( '@' ) ( options {greedy=false; } : . )* '*/' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:556:19: '/*' ~ ( '@' ) ( options {greedy=false; } : . )* '*/'
+ // InternalUmlState.g:554:17: ( '/*' ~ ( '@' ) ( options {greedy=false; } : . )* '*/' )
+ // InternalUmlState.g:554:19: '/*' ~ ( '@' ) ( options {greedy=false; } : . )* '*/'
{
match("/*");
if ((input.LA(1) >= '\u0000' && input.LA(1) <= '?') || (input.LA(1) >= 'A' && input.LA(1) <= '\uFFFF')) {
input.consume();
- }
- else {
+ } else {
MismatchedSetException mse = new MismatchedSetException(null, input);
recover(mse);
throw mse;
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:556:31: ( options {greedy=false; } : . )*
- loop18: do {
- int alt18 = 2;
- int LA18_0 = input.LA(1);
+ // InternalUmlState.g:554:31: ( options {greedy=false; } : . )*
+ loop5: do {
+ int alt5 = 2;
+ int LA5_0 = input.LA(1);
- if ((LA18_0 == '*')) {
- int LA18_1 = input.LA(2);
+ if ((LA5_0 == '*')) {
+ int LA5_1 = input.LA(2);
- if ((LA18_1 == '/')) {
- alt18 = 2;
- }
- else if (((LA18_1 >= '\u0000' && LA18_1 <= '.') || (LA18_1 >= '0' && LA18_1 <= '\uFFFF'))) {
- alt18 = 1;
+ if ((LA5_1 == '/')) {
+ alt5 = 2;
+ } else if (((LA5_1 >= '\u0000' && LA5_1 <= '.') || (LA5_1 >= '0' && LA5_1 <= '\uFFFF'))) {
+ alt5 = 1;
}
- }
- else if (((LA18_0 >= '\u0000' && LA18_0 <= ')') || (LA18_0 >= '+' && LA18_0 <= '\uFFFF'))) {
- alt18 = 1;
+ } else if (((LA5_0 >= '\u0000' && LA5_0 <= ')') || (LA5_0 >= '+' && LA5_0 <= '\uFFFF'))) {
+ alt5 = 1;
}
- switch (alt18) {
+ switch (alt5) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:556:59: .
+ // InternalUmlState.g:554:59: .
{
matchAny();
@@ -903,7 +447,7 @@ public class InternalUmlStateLexer extends Lexer {
break;
default:
- break loop18;
+ break loop5;
}
} while (true);
@@ -917,7 +461,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "RULE_ML_COMMENT"
// $ANTLR start "RULE_SL_COMMENT"
@@ -925,30 +468,29 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:17: ( '//' (~ ( ( '\\n' | '\\r' | '@' ) ) )* ( ( '\\r' )? '\\n' )? )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:19: '//' (~ ( ( '\\n' | '\\r' | '@' ) ) )* ( ( '\\r' )? '\\n' )?
+ // InternalUmlState.g:556:17: ( '//' (~ ( ( '\\n' | '\\r' | '@' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // InternalUmlState.g:556:19: '//' (~ ( ( '\\n' | '\\r' | '@' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:24: (~ ( ( '\\n' | '\\r' | '@' ) ) )*
- loop19: do {
- int alt19 = 2;
- int LA19_0 = input.LA(1);
+ // InternalUmlState.g:556:24: (~ ( ( '\\n' | '\\r' | '@' ) ) )*
+ loop6: do {
+ int alt6 = 2;
+ int LA6_0 = input.LA(1);
- if (((LA19_0 >= '\u0000' && LA19_0 <= '\t') || (LA19_0 >= '\u000B' && LA19_0 <= '\f') || (LA19_0 >= '\u000E' && LA19_0 <= '?') || (LA19_0 >= 'A' && LA19_0 <= '\uFFFF'))) {
- alt19 = 1;
+ if (((LA6_0 >= '\u0000' && LA6_0 <= '\t') || (LA6_0 >= '\u000B' && LA6_0 <= '\f') || (LA6_0 >= '\u000E' && LA6_0 <= '?') || (LA6_0 >= 'A' && LA6_0 <= '\uFFFF'))) {
+ alt6 = 1;
}
- switch (alt19) {
+ switch (alt6) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:24: ~ ( ( '\\n' | '\\r' | '@' ) )
+ // InternalUmlState.g:556:24: ~ ( ( '\\n' | '\\r' | '@' ) )
{
if ((input.LA(1) >= '\u0000' && input.LA(1) <= '\t') || (input.LA(1) >= '\u000B' && input.LA(1) <= '\f') || (input.LA(1) >= '\u000E' && input.LA(1) <= '?') || (input.LA(1) >= 'A' && input.LA(1) <= '\uFFFF')) {
input.consume();
- }
- else {
+ } else {
MismatchedSetException mse = new MismatchedSetException(null, input);
recover(mse);
throw mse;
@@ -959,31 +501,31 @@ public class InternalUmlStateLexer extends Lexer {
break;
default:
- break loop19;
+ break loop6;
}
} while (true);
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:44: ( ( '\\r' )? '\\n' )?
- int alt21 = 2;
- int LA21_0 = input.LA(1);
+ // InternalUmlState.g:556:44: ( ( '\\r' )? '\\n' )?
+ int alt8 = 2;
+ int LA8_0 = input.LA(1);
- if ((LA21_0 == '\n' || LA21_0 == '\r')) {
- alt21 = 1;
+ if ((LA8_0 == '\n' || LA8_0 == '\r')) {
+ alt8 = 1;
}
- switch (alt21) {
+ switch (alt8) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:45: ( '\\r' )? '\\n'
+ // InternalUmlState.g:556:45: ( '\\r' )? '\\n'
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:45: ( '\\r' )?
- int alt20 = 2;
- int LA20_0 = input.LA(1);
+ // InternalUmlState.g:556:45: ( '\\r' )?
+ int alt7 = 2;
+ int LA7_0 = input.LA(1);
- if ((LA20_0 == '\r')) {
- alt20 = 1;
+ if ((LA7_0 == '\r')) {
+ alt7 = 1;
}
- switch (alt20) {
+ switch (alt7) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:558:45: '\\r'
+ // InternalUmlState.g:556:45: '\\r'
{
match('\r');
@@ -1007,7 +549,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "RULE_SL_COMMENT"
// $ANTLR start "RULE_INT"
@@ -1015,23 +556,23 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:560:10: ( ( '0' .. '9' )+ )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:560:12: ( '0' .. '9' )+
+ // InternalUmlState.g:558:10: ( ( '0' .. '9' )+ )
+ // InternalUmlState.g:558:12: ( '0' .. '9' )+
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:560:12: ( '0' .. '9' )+
- int cnt22 = 0;
- loop22: do {
- int alt22 = 2;
- int LA22_0 = input.LA(1);
-
- if (((LA22_0 >= '0' && LA22_0 <= '9'))) {
- alt22 = 1;
+ // InternalUmlState.g:558:12: ( '0' .. '9' )+
+ int cnt9 = 0;
+ loop9: do {
+ int alt9 = 2;
+ int LA9_0 = input.LA(1);
+
+ if (((LA9_0 >= '0' && LA9_0 <= '9'))) {
+ alt9 = 1;
}
- switch (alt22) {
+ switch (alt9) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:560:13: '0' .. '9'
+ // InternalUmlState.g:558:13: '0' .. '9'
{
matchRange('0', '9');
@@ -1039,14 +580,12 @@ public class InternalUmlStateLexer extends Lexer {
break;
default:
- if (cnt22 >= 1) {
- break loop22;
- }
- EarlyExitException eee =
- new EarlyExitException(22, input);
+ if (cnt9 >= 1)
+ break loop9;
+ EarlyExitException eee = new EarlyExitException(9, input);
throw eee;
}
- cnt22++;
+ cnt9++;
} while (true);
@@ -1057,18 +596,424 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "RULE_INT"
+ // $ANTLR start "RULE_INTEGER_VALUE"
+ public final void mRULE_INTEGER_VALUE() throws RecognitionException {
+ try {
+ int _type = RULE_INTEGER_VALUE;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalUmlState.g:560:20: ( ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )*
+ // | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* ) )
+ // InternalUmlState.g:560:22: ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )* |
+ // '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* )
+ {
+ // InternalUmlState.g:560:22: ( ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* ) | ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )* | ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
+ // )* | '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )* )
+ int alt22 = 4;
+ int LA22_0 = input.LA(1);
+
+ if ((LA22_0 == '0')) {
+ switch (input.LA(2)) {
+ case 'B':
+ case 'b': {
+ alt22 = 2;
+ }
+ break;
+ case 'X':
+ case 'x': {
+ alt22 = 3;
+ }
+ break;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '_': {
+ alt22 = 4;
+ }
+ break;
+ default:
+ alt22 = 1;
+ }
+
+ } else if (((LA22_0 >= '1' && LA22_0 <= '9'))) {
+ alt22 = 1;
+ } else {
+ NoViableAltException nvae = new NoViableAltException("", 22, 0, input);
+
+ throw nvae;
+ }
+ switch (alt22) {
+ case 1:
+ // InternalUmlState.g:560:23: ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* )
+ {
+ // InternalUmlState.g:560:23: ( '0' | '1' .. '9' ( ( '_' )? '0' .. '9' )* )
+ int alt12 = 2;
+ int LA12_0 = input.LA(1);
+
+ if ((LA12_0 == '0')) {
+ alt12 = 1;
+ } else if (((LA12_0 >= '1' && LA12_0 <= '9'))) {
+ alt12 = 2;
+ } else {
+ NoViableAltException nvae = new NoViableAltException("", 12, 0, input);
+
+ throw nvae;
+ }
+ switch (alt12) {
+ case 1:
+ // InternalUmlState.g:560:24: '0'
+ {
+ match('0');
+
+ }
+ break;
+ case 2:
+ // InternalUmlState.g:560:28: '1' .. '9' ( ( '_' )? '0' .. '9' )*
+ {
+ matchRange('1', '9');
+ // InternalUmlState.g:560:37: ( ( '_' )? '0' .. '9' )*
+ loop11: do {
+ int alt11 = 2;
+ int LA11_0 = input.LA(1);
+
+ if (((LA11_0 >= '0' && LA11_0 <= '9') || LA11_0 == '_')) {
+ alt11 = 1;
+ }
+
+
+ switch (alt11) {
+ case 1:
+ // InternalUmlState.g:560:38: ( '_' )? '0' .. '9'
+ {
+ // InternalUmlState.g:560:38: ( '_' )?
+ int alt10 = 2;
+ int LA10_0 = input.LA(1);
+
+ if ((LA10_0 == '_')) {
+ alt10 = 1;
+ }
+ switch (alt10) {
+ case 1:
+ // InternalUmlState.g:560:38: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0', '9');
+
+ }
+ break;
+
+ default:
+ break loop11;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2:
+ // InternalUmlState.g:560:55: ( '0b' | '0B' ) '0' .. '1' ( ( '_' )? '0' .. '1' )*
+ {
+ // InternalUmlState.g:560:55: ( '0b' | '0B' )
+ int alt13 = 2;
+ int LA13_0 = input.LA(1);
+
+ if ((LA13_0 == '0')) {
+ int LA13_1 = input.LA(2);
+
+ if ((LA13_1 == 'b')) {
+ alt13 = 1;
+ } else if ((LA13_1 == 'B')) {
+ alt13 = 2;
+ } else {
+ NoViableAltException nvae = new NoViableAltException("", 13, 1, input);
+
+ throw nvae;
+ }
+ } else {
+ NoViableAltException nvae = new NoViableAltException("", 13, 0, input);
+
+ throw nvae;
+ }
+ switch (alt13) {
+ case 1:
+ // InternalUmlState.g:560:56: '0b'
+ {
+ match("0b");
+
+
+ }
+ break;
+ case 2:
+ // InternalUmlState.g:560:61: '0B'
+ {
+ match("0B");
+
+
+ }
+ break;
+
+ }
+
+ matchRange('0', '1');
+ // InternalUmlState.g:560:76: ( ( '_' )? '0' .. '1' )*
+ loop15: do {
+ int alt15 = 2;
+ int LA15_0 = input.LA(1);
+
+ if (((LA15_0 >= '0' && LA15_0 <= '1') || LA15_0 == '_')) {
+ alt15 = 1;
+ }
+
+
+ switch (alt15) {
+ case 1:
+ // InternalUmlState.g:560:77: ( '_' )? '0' .. '1'
+ {
+ // InternalUmlState.g:560:77: ( '_' )?
+ int alt14 = 2;
+ int LA14_0 = input.LA(1);
+
+ if ((LA14_0 == '_')) {
+ alt14 = 1;
+ }
+ switch (alt14) {
+ case 1:
+ // InternalUmlState.g:560:77: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0', '1');
+
+ }
+ break;
+
+ default:
+ break loop15;
+ }
+ } while (true);
+
+
+ }
+ break;
+ case 3:
+ // InternalUmlState.g:560:93: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )*
+ {
+ // InternalUmlState.g:560:93: ( '0x' | '0X' )
+ int alt16 = 2;
+ int LA16_0 = input.LA(1);
+
+ if ((LA16_0 == '0')) {
+ int LA16_1 = input.LA(2);
+
+ if ((LA16_1 == 'x')) {
+ alt16 = 1;
+ } else if ((LA16_1 == 'X')) {
+ alt16 = 2;
+ } else {
+ NoViableAltException nvae = new NoViableAltException("", 16, 1, input);
+
+ throw nvae;
+ }
+ } else {
+ NoViableAltException nvae = new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+ switch (alt16) {
+ case 1:
+ // InternalUmlState.g:560:94: '0x'
+ {
+ match("0x");
+
+
+ }
+ break;
+ case 2:
+ // InternalUmlState.g:560:99: '0X'
+ {
+ match("0X");
+
+
+ }
+ break;
+
+ }
+
+ if ((input.LA(1) >= '0' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'F') || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
+ input.consume();
+
+ } else {
+ MismatchedSetException mse = new MismatchedSetException(null, input);
+ recover(mse);
+ throw mse;
+ }
+
+ // InternalUmlState.g:560:134: ( ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )*
+ loop18: do {
+ int alt18 = 2;
+ int LA18_0 = input.LA(1);
+
+ if (((LA18_0 >= '0' && LA18_0 <= '9') || (LA18_0 >= 'A' && LA18_0 <= 'F') || LA18_0 == '_' || (LA18_0 >= 'a' && LA18_0 <= 'f'))) {
+ alt18 = 1;
+ }
+
+
+ switch (alt18) {
+ case 1:
+ // InternalUmlState.g:560:135: ( '_' )? ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
+ {
+ // InternalUmlState.g:560:135: ( '_' )?
+ int alt17 = 2;
+ int LA17_0 = input.LA(1);
+
+ if ((LA17_0 == '_')) {
+ alt17 = 1;
+ }
+ switch (alt17) {
+ case 1:
+ // InternalUmlState.g:560:135: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ if ((input.LA(1) >= '0' && input.LA(1) <= '9') || (input.LA(1) >= 'A' && input.LA(1) <= 'F') || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
+ input.consume();
+
+ } else {
+ MismatchedSetException mse = new MismatchedSetException(null, input);
+ recover(mse);
+ throw mse;
+ }
+
+
+ }
+ break;
+
+ default:
+ break loop18;
+ }
+ } while (true);
+
+
+ }
+ break;
+ case 4:
+ // InternalUmlState.g:560:171: '0' ( '_' )? '0' .. '7' ( ( '_' )? '0' .. '7' )*
+ {
+ match('0');
+ // InternalUmlState.g:560:175: ( '_' )?
+ int alt19 = 2;
+ int LA19_0 = input.LA(1);
+
+ if ((LA19_0 == '_')) {
+ alt19 = 1;
+ }
+ switch (alt19) {
+ case 1:
+ // InternalUmlState.g:560:175: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0', '7');
+ // InternalUmlState.g:560:189: ( ( '_' )? '0' .. '7' )*
+ loop21: do {
+ int alt21 = 2;
+ int LA21_0 = input.LA(1);
+
+ if (((LA21_0 >= '0' && LA21_0 <= '7') || LA21_0 == '_')) {
+ alt21 = 1;
+ }
+
+
+ switch (alt21) {
+ case 1:
+ // InternalUmlState.g:560:190: ( '_' )? '0' .. '7'
+ {
+ // InternalUmlState.g:560:190: ( '_' )?
+ int alt20 = 2;
+ int LA20_0 = input.LA(1);
+
+ if ((LA20_0 == '_')) {
+ alt20 = 1;
+ }
+ switch (alt20) {
+ case 1:
+ // InternalUmlState.g:560:190: '_'
+ {
+ match('_');
+
+ }
+ break;
+
+ }
+
+ matchRange('0', '7');
+
+ }
+ break;
+
+ default:
+ break loop21;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ } finally {
+ }
+ }
+ // $ANTLR end "RULE_INTEGER_VALUE"
+
// $ANTLR start "RULE_WS"
public final void mRULE_WS() throws RecognitionException {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:562:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:562:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // InternalUmlState.g:562:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // InternalUmlState.g:562:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:562:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // InternalUmlState.g:562:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt23 = 0;
loop23: do {
int alt23 = 2;
@@ -1081,13 +1026,12 @@ public class InternalUmlStateLexer extends Lexer {
switch (alt23) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:
+ // InternalUmlState.g:
{
if ((input.LA(1) >= '\t' && input.LA(1) <= '\n') || input.LA(1) == '\r' || input.LA(1) == ' ') {
input.consume();
- }
- else {
+ } else {
MismatchedSetException mse = new MismatchedSetException(null, input);
recover(mse);
throw mse;
@@ -1098,11 +1042,9 @@ public class InternalUmlStateLexer extends Lexer {
break;
default:
- if (cnt23 >= 1) {
+ if (cnt23 >= 1)
break loop23;
- }
- EarlyExitException eee =
- new EarlyExitException(23, input);
+ EarlyExitException eee = new EarlyExitException(23, input);
throw eee;
}
cnt23++;
@@ -1116,7 +1058,6 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "RULE_WS"
// $ANTLR start "RULE_ANY_OTHER"
@@ -1124,8 +1065,8 @@ public class InternalUmlStateLexer extends Lexer {
try {
int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:564:16: ( . )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:564:18: .
+ // InternalUmlState.g:564:16: ( . )
+ // InternalUmlState.g:564:18: .
{
matchAny();
@@ -1136,123 +1077,120 @@ public class InternalUmlStateLexer extends Lexer {
} finally {
}
}
-
// $ANTLR end "RULE_ANY_OTHER"
- @Override
public void mTokens() throws RecognitionException {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | RULE_INTEGER_VALUE | RULE_ID |
- // RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_INT | RULE_WS | RULE_ANY_OTHER )
+ // InternalUmlState.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_INT | RULE_INTEGER_VALUE | RULE_WS | RULE_ANY_OTHER )
int alt24 = 16;
alt24 = dfa24.predict(input);
switch (alt24) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:10: T__12
+ // InternalUmlState.g:1:10: T__12
{
mT__12();
}
break;
case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:16: T__13
+ // InternalUmlState.g:1:16: T__13
{
mT__13();
}
break;
case 3:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:22: T__14
+ // InternalUmlState.g:1:22: T__14
{
mT__14();
}
break;
case 4:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:28: T__15
+ // InternalUmlState.g:1:28: T__15
{
mT__15();
}
break;
case 5:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:34: T__16
+ // InternalUmlState.g:1:34: T__16
{
mT__16();
}
break;
case 6:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:40: T__17
+ // InternalUmlState.g:1:40: T__17
{
mT__17();
}
break;
case 7:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:46: T__18
+ // InternalUmlState.g:1:46: T__18
{
mT__18();
}
break;
case 8:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:52: T__19
+ // InternalUmlState.g:1:52: T__19
{
mT__19();
}
break;
case 9:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:58: RULE_INTEGER_VALUE
+ // InternalUmlState.g:1:58: RULE_ID
{
- mRULE_INTEGER_VALUE();
+ mRULE_ID();
}
break;
case 10:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:77: RULE_ID
+ // InternalUmlState.g:1:66: RULE_STRING
{
- mRULE_ID();
+ mRULE_STRING();
}
break;
case 11:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:85: RULE_STRING
+ // InternalUmlState.g:1:78: RULE_ML_COMMENT
{
- mRULE_STRING();
+ mRULE_ML_COMMENT();
}
break;
case 12:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:97: RULE_ML_COMMENT
+ // InternalUmlState.g:1:94: RULE_SL_COMMENT
{
- mRULE_ML_COMMENT();
+ mRULE_SL_COMMENT();
}
break;
case 13:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:113: RULE_SL_COMMENT
+ // InternalUmlState.g:1:110: RULE_INT
{
- mRULE_SL_COMMENT();
+ mRULE_INT();
}
break;
case 14:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:129: RULE_INT
+ // InternalUmlState.g:1:119: RULE_INTEGER_VALUE
{
- mRULE_INT();
+ mRULE_INTEGER_VALUE();
}
break;
case 15:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:138: RULE_WS
+ // InternalUmlState.g:1:138: RULE_WS
{
mRULE_WS();
}
break;
case 16:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:1:146: RULE_ANY_OTHER
+ // InternalUmlState.g:1:146: RULE_ANY_OTHER
{
mRULE_ANY_OTHER();
@@ -1265,50 +1203,26 @@ public class InternalUmlStateLexer extends Lexer {
protected DFA24 dfa24 = new DFA24(this);
- static final String DFA24_eotS =
- "\1\uffff\1\20\5\23\2\30\1\uffff\3\16\4\uffff\2\23\1\uffff\1\42" +
- "\3\23\1\uffff\1\30\1\uffff\1\30\4\uffff\2\23\1\uffff\3\23\1\30\1" +
- "\23\1\55\3\23\1\61\1\uffff\3\23\1\uffff\6\23\1\73\2\23\1\uffff\6" +
- "\23\1\104\1\23\1\uffff\1\23\1\107\1\uffff";
- static final String DFA24_eofS =
- "\110\uffff";
- static final String DFA24_minS =
- "\1\0\1\72\1\156\1\157\1\143\1\164\1\160\2\60\1\uffff\2\0\1\52\4" +
- "\uffff\1\164\1\151\1\uffff\1\60\1\164\2\141\1\uffff\1\60\1\uffff" +
- "\1\60\4\uffff\1\162\1\164\1\uffff\1\151\1\164\1\161\1\60\1\171\1" +
- "\60\1\166\1\145\1\165\1\60\1\uffff\1\151\1\115\1\145\1\uffff\1\164" +
- "\1\141\1\102\1\171\1\143\1\145\1\60\2\150\1\uffff\1\151\1\141\1" +
- "\156\1\166\1\145\1\151\1\60\1\157\1\uffff\1\162\1\60\1\uffff";
- static final String DFA24_maxS =
- "\1\uffff\1\72\1\170\1\157\1\143\1\164\1\160\2\71\1\uffff\2\uffff" +
- "\1\57\4\uffff\1\164\1\151\1\uffff\1\172\1\164\2\141\1\uffff\1\71" +
- "\1\uffff\1\71\4\uffff\1\162\1\164\1\uffff\1\151\1\164\1\161\1\71" +
- "\1\171\1\172\1\166\1\145\1\165\1\172\1\uffff\1\151\1\115\1\145\1" +
- "\uffff\1\164\1\141\1\102\1\171\1\143\1\145\1\172\2\150\1\uffff\1" +
- "\151\1\141\1\156\1\166\1\145\1\151\1\172\1\157\1\uffff\1\162\1\172" +
- "\1\uffff";
- static final String DFA24_acceptS =
- "\11\uffff\1\12\3\uffff\1\17\1\20\1\2\1\1\2\uffff\1\12\4\uffff\1" +
- "\11\1\uffff\1\16\1\uffff\1\13\1\14\1\15\1\17\2\uffff\1\4\12\uffff" +
- "\1\5\3\uffff\1\3\11\uffff\1\6\10\uffff\1\7\2\uffff\1\10";
- static final String DFA24_specialS =
- "\1\1\11\uffff\1\0\1\2\74\uffff}>";
+ static final String DFA24_eotS = "\1\uffff\1\20\5\23\1\uffff\3\16\2\35\4\uffff\2\23\1\uffff\1\42\3\23\4\uffff\1\35\1\uffff\1\35\1\uffff\2\23\1\uffff\3\23\1\35\1\23\1\55\3\23\1\61\1\uffff\3\23\1\uffff\6\23\1\73\2\23\1\uffff\6\23\1\104\1\23\1\uffff\1\23\1\107\1\uffff";
+ static final String DFA24_eofS = "\110\uffff";
+ static final String DFA24_minS = "\1\0\1\72\1\156\1\157\1\143\1\164\1\160\1\uffff\2\0\1\52\2\60\4\uffff\1\164\1\151\1\uffff\1\60\1\164\2\141\4\uffff\1\60\1\uffff\1\60\1\uffff\1\162\1\164\1\uffff\1\151\1\164\1\161\1\60\1\171\1\60\1\166\1\145\1\165\1\60\1\uffff\1\151\1\115\1\145\1\uffff\1\164\1\141\1\102\1\171\1\143\1\145\1\60\2\150\1\uffff\1\151\1\141\1\156\1\166\1\145\1\151\1\60\1\157\1\uffff\1\162\1\60\1\uffff";
+ static final String DFA24_maxS = "\1\uffff\1\72\1\170\1\157\1\143\1\164\1\160\1\uffff\2\uffff\1\57\1\170\1\137\4\uffff\1\164\1\151\1\uffff\1\172\1\164\2\141\4\uffff\1\137\1\uffff\1\137\1\uffff\1\162\1\164\1\uffff\1\151\1\164\1\161\1\137\1\171\1\172\1\166\1\145\1\165\1\172\1\uffff\1\151\1\115\1\145\1\uffff\1\164\1\141\1\102\1\171\1\143\1\145\1\172\2\150\1\uffff\1\151\1\141\1\156\1\166\1\145\1\151\1\172\1\157\1\uffff\1\162\1\172\1\uffff";
+ static final String DFA24_acceptS = "\7\uffff\1\11\5\uffff\1\17\1\20\1\2\1\1\2\uffff\1\11\4\uffff\1\12\1\13\1\14\1\16\1\uffff\1\15\1\uffff\1\17\2\uffff\1\4\12\uffff\1\5\3\uffff\1\3\11\uffff\1\6\10\uffff\1\7\2\uffff\1\10";
+ static final String DFA24_specialS = "\1\2\7\uffff\1\1\1\0\76\uffff}>";
static final String[] DFA24_transitionS = {
- "\11\16\2\15\2\16\1\15\22\16\1\15\1\16\1\13\4\16\1\12\7\16\1" +
- "\14\1\7\11\10\1\1\6\16\1\4\15\11\1\6\3\11\1\5\7\11\4\16\1\11" +
- "\1\16\3\11\1\3\1\2\25\11\uff85\16",
+ "\11\16\2\15\2\16\1\15\22\16\1\15\1\16\1\11\4\16\1\10\7\16\1\12\1\13\11\14\1\1\6\16\1\4\15\7\1\6\3\7\1\5\7\7\4\16\1\7\1\16\3\7\1\3\1\2\25\7\uff85\16",
"\1\17",
"\1\21\11\uffff\1\22",
"\1\24",
"\1\25",
"\1\26",
"\1\27",
- "\10\31\2\32",
- "\12\33",
"",
"\0\23",
- "\0\34",
- "\1\35\4\uffff\1\36",
+ "\0\30",
+ "\1\31\4\uffff\1\32",
+ "\10\34\12\uffff\1\33\25\uffff\1\33\6\uffff\1\33\2\uffff\1\33\25\uffff\1\33",
+ "\12\36\45\uffff\1\33",
"",
"",
"",
@@ -1321,12 +1235,12 @@ public class InternalUmlStateLexer extends Lexer {
"\1\44",
"\1\45",
"",
- "\10\46\2\32",
"",
- "\12\33",
"",
"",
+ "\10\46\47\uffff\1\33",
"",
+ "\12\36\45\uffff\1\33",
"",
"\1\47",
"\1\50",
@@ -1334,7 +1248,7 @@ public class InternalUmlStateLexer extends Lexer {
"\1\51",
"\1\52",
"\1\53",
- "\10\46\2\32",
+ "\10\46\47\uffff\1\33",
"\1\54",
"\12\23\7\uffff\32\23\4\uffff\1\23\1\uffff\32\23",
"\1\56",
@@ -1400,31 +1314,43 @@ public class InternalUmlStateLexer extends Lexer {
this.transition = DFA24_transition;
}
- @Override
public String getDescription() {
- return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | RULE_INTEGER_VALUE | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_INT | RULE_WS | RULE_ANY_OTHER );";
+ return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_INT | RULE_INTEGER_VALUE | RULE_WS | RULE_ANY_OTHER );";
}
- @Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input;
int _s = s;
switch (s) {
case 0:
- int LA24_10 = input.LA(1);
+ int LA24_9 = input.LA(1);
s = -1;
- if (((LA24_10 >= '\u0000' && LA24_10 <= '\uFFFF'))) {
- s = 19;
- } else {
- s = 14;
+ if (((LA24_9 >= '\u0000' && LA24_9 <= '\uFFFF'))) {
+ s = 24;
}
- if (s >= 0) {
+ else
+ s = 14;
+
+ if (s >= 0)
return s;
- }
break;
case 1:
+ int LA24_8 = input.LA(1);
+
+ s = -1;
+ if (((LA24_8 >= '\u0000' && LA24_8 <= '\uFFFF'))) {
+ s = 19;
+ }
+
+ else
+ s = 14;
+
+ if (s >= 0)
+ return s;
+ break;
+ case 2:
int LA24_0 = input.LA(1);
s = -1;
@@ -1452,27 +1378,27 @@ public class InternalUmlStateLexer extends Lexer {
s = 6;
}
- else if ((LA24_0 == '0')) {
+ else if (((LA24_0 >= 'B' && LA24_0 <= 'N') || (LA24_0 >= 'P' && LA24_0 <= 'R') || (LA24_0 >= 'T' && LA24_0 <= 'Z') || LA24_0 == '_' || (LA24_0 >= 'a' && LA24_0 <= 'c') || (LA24_0 >= 'f' && LA24_0 <= 'z'))) {
s = 7;
}
- else if (((LA24_0 >= '1' && LA24_0 <= '9'))) {
+ else if ((LA24_0 == '\'')) {
s = 8;
}
- else if (((LA24_0 >= 'B' && LA24_0 <= 'N') || (LA24_0 >= 'P' && LA24_0 <= 'R') || (LA24_0 >= 'T' && LA24_0 <= 'Z') || LA24_0 == '_' || (LA24_0 >= 'a' && LA24_0 <= 'c') || (LA24_0 >= 'f' && LA24_0 <= 'z'))) {
+ else if ((LA24_0 == '\"')) {
s = 9;
}
- else if ((LA24_0 == '\'')) {
+ else if ((LA24_0 == '/')) {
s = 10;
}
- else if ((LA24_0 == '\"')) {
+ else if ((LA24_0 == '0')) {
s = 11;
}
- else if ((LA24_0 == '/')) {
+ else if (((LA24_0 >= '1' && LA24_0 <= '9'))) {
s = 12;
}
@@ -1485,27 +1411,11 @@ public class InternalUmlStateLexer extends Lexer {
s = 14;
}
- if (s >= 0) {
+ if (s >= 0)
return s;
- }
- break;
- case 2:
- int LA24_11 = input.LA(1);
-
- s = -1;
- if (((LA24_11 >= '\u0000' && LA24_11 <= '\uFFFF'))) {
- s = 28;
- } else {
- s = 14;
- }
-
- if (s >= 0) {
- return s;
- }
break;
}
- NoViableAltException nvae =
- new NoViableAltException(getDescription(), 24, _s, input);
+ NoViableAltException nvae = new NoViableAltException(getDescription(), 24, _s, input);
error(nvae);
throw nvae;
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateParser.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateParser.java
index 5334109a256..c3fa49161da 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateParser.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlStateParser.java
@@ -15,26 +15,26 @@ import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
@SuppressWarnings("all")
public class InternalUmlStateParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INTEGER_VALUE", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_INT", "RULE_WS", "RULE_ANY_OTHER", "':'", "'::'", "'entry'", "'do'", "'exit'", "'Activity'", "'StateMachine'",
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_INT", "RULE_INTEGER_VALUE", "RULE_WS", "RULE_ANY_OTHER", "':'", "'::'", "'entry'", "'do'", "'exit'", "'Activity'", "'StateMachine'",
"'OpaqueBehavior'"
};
- public static final int RULE_ID = 4;
- public static final int RULE_ANY_OTHER = 11;
- public static final int RULE_INTEGER_VALUE = 5;
- public static final int EOF = -1;
- public static final int RULE_SL_COMMENT = 8;
- public static final int RULE_ML_COMMENT = 7;
+ public static final int RULE_STRING = 5;
+ public static final int RULE_SL_COMMENT = 7;
public static final int T__19 = 19;
- public static final int RULE_STRING = 6;
- public static final int T__16 = 16;
public static final int T__15 = 15;
- public static final int T__18 = 18;
+ public static final int T__16 = 16;
public static final int T__17 = 17;
+ public static final int T__18 = 18;
public static final int T__12 = 12;
- public static final int T__14 = 14;
public static final int T__13 = 13;
- public static final int RULE_INT = 9;
+ public static final int T__14 = 14;
+ public static final int EOF = -1;
+ public static final int RULE_ID = 4;
public static final int RULE_WS = 10;
+ public static final int RULE_ANY_OTHER = 11;
+ public static final int RULE_INT = 8;
+ public static final int RULE_ML_COMMENT = 6;
+ public static final int RULE_INTEGER_VALUE = 9;
// delegates
// delegators
@@ -50,12 +50,10 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- @Override
public String[] getTokenNames() {
return InternalUmlStateParser.tokenNames;
}
- @Override
public String getGrammarFileName() {
return "../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g";
}
@@ -83,7 +81,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
// $ANTLR start "entryRuleStateRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:68:1: entryRuleStateRule returns [EObject current=null] : iv_ruleStateRule= ruleStateRule EOF ;
+ // InternalUmlState.g:68:1: entryRuleStateRule returns [EObject current=null] : iv_ruleStateRule= ruleStateRule EOF ;
public final EObject entryRuleStateRule() throws RecognitionException {
EObject current = null;
@@ -91,17 +89,17 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:69:2: (iv_ruleStateRule= ruleStateRule EOF )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:70:2: iv_ruleStateRule= ruleStateRule EOF
+ // InternalUmlState.g:69:2: (iv_ruleStateRule= ruleStateRule EOF )
+ // InternalUmlState.g:70:2: iv_ruleStateRule= ruleStateRule EOF
{
newCompositeNode(grammarAccess.getStateRuleRule());
- pushFollow(FOLLOW_ruleStateRule_in_entryRuleStateRule75);
+ pushFollow(FOLLOW_1);
iv_ruleStateRule = ruleStateRule();
state._fsp--;
current = iv_ruleStateRule;
- match(input, EOF, FOLLOW_EOF_in_entryRuleStateRule85);
+ match(input, EOF, FOLLOW_2);
}
@@ -114,14 +112,12 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "entryRuleStateRule"
// $ANTLR start "ruleStateRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:77:1: ruleStateRule returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' (
- // (lv_submachine_2_0= ruleSubmachineRule ) ) )? ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) )
- // ) ;
+ // InternalUmlState.g:77:1: ruleStateRule returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )? ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => (
+ // ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) ) ) ;
public final EObject ruleStateRule() throws RecognitionException {
EObject current = null;
@@ -139,23 +135,23 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
enterRule();
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:80:28: ( ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )?
- // ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:81:1: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )? ( (
- // ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) ) )
+ // InternalUmlState.g:80:28: ( ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )? ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule
+ // ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) ) ) )
+ // InternalUmlState.g:81:1: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )? ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule )
+ // ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:81:1: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )?
- // ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:81:2: ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )? (
- // ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) )
+ // InternalUmlState.g:81:1: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )? ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0=
+ // ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) ) )
+ // InternalUmlState.g:81:2: ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )? ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule
+ // ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:81:2: ( (lv_name_0_0= RULE_ID ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:82:1: (lv_name_0_0= RULE_ID )
+ // InternalUmlState.g:81:2: ( (lv_name_0_0= RULE_ID ) )
+ // InternalUmlState.g:82:1: (lv_name_0_0= RULE_ID )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:82:1: (lv_name_0_0= RULE_ID )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:83:3: lv_name_0_0= RULE_ID
+ // InternalUmlState.g:82:1: (lv_name_0_0= RULE_ID )
+ // InternalUmlState.g:83:3: lv_name_0_0= RULE_ID
{
- lv_name_0_0 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_ruleStateRule127);
+ lv_name_0_0 = (Token) match(input, RULE_ID, FOLLOW_3);
newLeafNode(lv_name_0_0, grammarAccess.getStateRuleAccess().getNameIDTerminalRuleCall_0_0());
@@ -167,7 +163,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"name",
lv_name_0_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
@@ -175,7 +171,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:99:2: (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )?
+ // InternalUmlState.g:99:2: (otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) ) )?
int alt1 = 2;
int LA1_0 = input.LA(1);
@@ -184,22 +180,22 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
switch (alt1) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:99:4: otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) )
+ // InternalUmlState.g:99:4: otherlv_1= ':' ( (lv_submachine_2_0= ruleSubmachineRule ) )
{
- otherlv_1 = (Token) match(input, 12, FOLLOW_12_in_ruleStateRule145);
+ otherlv_1 = (Token) match(input, 12, FOLLOW_4);
newLeafNode(otherlv_1, grammarAccess.getStateRuleAccess().getColonKeyword_1_0());
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:103:1: ( (lv_submachine_2_0= ruleSubmachineRule ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:104:1: (lv_submachine_2_0= ruleSubmachineRule )
+ // InternalUmlState.g:103:1: ( (lv_submachine_2_0= ruleSubmachineRule ) )
+ // InternalUmlState.g:104:1: (lv_submachine_2_0= ruleSubmachineRule )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:104:1: (lv_submachine_2_0= ruleSubmachineRule )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:105:3: lv_submachine_2_0= ruleSubmachineRule
+ // InternalUmlState.g:104:1: (lv_submachine_2_0= ruleSubmachineRule )
+ // InternalUmlState.g:105:3: lv_submachine_2_0= ruleSubmachineRule
{
newCompositeNode(grammarAccess.getStateRuleAccess().getSubmachineSubmachineRuleParserRuleCall_1_1_0());
- pushFollow(FOLLOW_ruleSubmachineRule_in_ruleStateRule166);
+ pushFollow(FOLLOW_5);
lv_submachine_2_0 = ruleSubmachineRule();
state._fsp--;
@@ -212,7 +208,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"submachine",
lv_submachine_2_0,
- "SubmachineRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.SubmachineRule");
afterParserOrEnumRuleCall();
@@ -227,73 +223,64 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:121:4: ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => (
- // ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:123:1: ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => (
- // ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) )
+ // InternalUmlState.g:121:4: ( ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) ) )
+ // InternalUmlState.g:123:1: ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:123:1: ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? =>
- // ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:124:2: ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => (
- // ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* )
+ // InternalUmlState.g:123:1: ( ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* ) )
+ // InternalUmlState.g:124:2: ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getStateRuleAccess().getUnorderedGroup_2());
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:127:2: ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}?
- // => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:128:3: ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? =>
- // ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )*
+ // InternalUmlState.g:127:2: ( ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )* )
+ // InternalUmlState.g:128:3: ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )*
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:128:3: ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}?
- // => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )*
+ // InternalUmlState.g:128:3: ( ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) ) )*
loop2: do {
int alt2 = 4;
int LA2_0 = input.LA(1);
if (LA2_0 == 14 && getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 0)) {
alt2 = 1;
- }
- else if (LA2_0 == 15 && getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 1)) {
+ } else if (LA2_0 == 15 && getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 1)) {
alt2 = 2;
- }
- else if (LA2_0 == 16 && getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 2)) {
+ } else if (LA2_0 == 16 && getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 2)) {
alt2 = 3;
}
switch (alt2) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:130:4: ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) )
+ // InternalUmlState.g:130:4: ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:130:4: ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:131:5: {...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) )
+ // InternalUmlState.g:130:4: ({...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) ) )
+ // InternalUmlState.g:131:5: {...}? => ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) )
{
if (!getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 0)) {
throw new FailedPredicateException(input, "ruleStateRule", "getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 0)");
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:131:106: ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:132:6: ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) )
+ // InternalUmlState.g:131:106: ( ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) ) )
+ // InternalUmlState.g:132:6: ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 0);
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:135:6: ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:135:7: {...}? => ( (lv_entry_4_0= ruleEntryRule ) )
+ // InternalUmlState.g:135:6: ({...}? => ( (lv_entry_4_0= ruleEntryRule ) ) )
+ // InternalUmlState.g:135:7: {...}? => ( (lv_entry_4_0= ruleEntryRule ) )
{
if (!((true))) {
throw new FailedPredicateException(input, "ruleStateRule", "true");
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:135:16: ( (lv_entry_4_0= ruleEntryRule ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:136:1: (lv_entry_4_0= ruleEntryRule )
+ // InternalUmlState.g:135:16: ( (lv_entry_4_0= ruleEntryRule ) )
+ // InternalUmlState.g:136:1: (lv_entry_4_0= ruleEntryRule )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:136:1: (lv_entry_4_0= ruleEntryRule )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:137:3: lv_entry_4_0= ruleEntryRule
+ // InternalUmlState.g:136:1: (lv_entry_4_0= ruleEntryRule )
+ // InternalUmlState.g:137:3: lv_entry_4_0= ruleEntryRule
{
newCompositeNode(grammarAccess.getStateRuleAccess().getEntryEntryRuleParserRuleCall_2_0_0());
- pushFollow(FOLLOW_ruleEntryRule_in_ruleStateRule234);
+ pushFollow(FOLLOW_5);
lv_entry_4_0 = ruleEntryRule();
state._fsp--;
@@ -306,7 +293,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"entry",
lv_entry_4_0,
- "EntryRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.EntryRule");
afterParserOrEnumRuleCall();
@@ -331,36 +318,36 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
break;
case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:160:4: ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) )
+ // InternalUmlState.g:160:4: ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:160:4: ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:161:5: {...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) )
+ // InternalUmlState.g:160:4: ({...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) ) )
+ // InternalUmlState.g:161:5: {...}? => ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) )
{
if (!getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 1)) {
throw new FailedPredicateException(input, "ruleStateRule", "getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 1)");
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:161:106: ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:162:6: ({...}? => ( (lv_do_5_0= ruleDoRule ) ) )
+ // InternalUmlState.g:161:106: ( ({...}? => ( (lv_do_5_0= ruleDoRule ) ) ) )
+ // InternalUmlState.g:162:6: ({...}? => ( (lv_do_5_0= ruleDoRule ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 1);
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:165:6: ({...}? => ( (lv_do_5_0= ruleDoRule ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:165:7: {...}? => ( (lv_do_5_0= ruleDoRule ) )
+ // InternalUmlState.g:165:6: ({...}? => ( (lv_do_5_0= ruleDoRule ) ) )
+ // InternalUmlState.g:165:7: {...}? => ( (lv_do_5_0= ruleDoRule ) )
{
if (!((true))) {
throw new FailedPredicateException(input, "ruleStateRule", "true");
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:165:16: ( (lv_do_5_0= ruleDoRule ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:166:1: (lv_do_5_0= ruleDoRule )
+ // InternalUmlState.g:165:16: ( (lv_do_5_0= ruleDoRule ) )
+ // InternalUmlState.g:166:1: (lv_do_5_0= ruleDoRule )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:166:1: (lv_do_5_0= ruleDoRule )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:167:3: lv_do_5_0= ruleDoRule
+ // InternalUmlState.g:166:1: (lv_do_5_0= ruleDoRule )
+ // InternalUmlState.g:167:3: lv_do_5_0= ruleDoRule
{
newCompositeNode(grammarAccess.getStateRuleAccess().getDoDoRuleParserRuleCall_2_1_0());
- pushFollow(FOLLOW_ruleDoRule_in_ruleStateRule309);
+ pushFollow(FOLLOW_5);
lv_do_5_0 = ruleDoRule();
state._fsp--;
@@ -373,7 +360,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"do",
lv_do_5_0,
- "DoRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.DoRule");
afterParserOrEnumRuleCall();
@@ -398,36 +385,36 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
break;
case 3:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:190:4: ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) )
+ // InternalUmlState.g:190:4: ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:190:4: ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:191:5: {...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) )
+ // InternalUmlState.g:190:4: ({...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) ) )
+ // InternalUmlState.g:191:5: {...}? => ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) )
{
if (!getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 2)) {
throw new FailedPredicateException(input, "ruleStateRule", "getUnorderedGroupHelper().canSelect(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 2)");
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:191:106: ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:192:6: ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) )
+ // InternalUmlState.g:191:106: ( ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) ) )
+ // InternalUmlState.g:192:6: ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getStateRuleAccess().getUnorderedGroup_2(), 2);
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:195:6: ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:195:7: {...}? => ( (lv_exit_6_0= ruleExitRule ) )
+ // InternalUmlState.g:195:6: ({...}? => ( (lv_exit_6_0= ruleExitRule ) ) )
+ // InternalUmlState.g:195:7: {...}? => ( (lv_exit_6_0= ruleExitRule ) )
{
if (!((true))) {
throw new FailedPredicateException(input, "ruleStateRule", "true");
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:195:16: ( (lv_exit_6_0= ruleExitRule ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:196:1: (lv_exit_6_0= ruleExitRule )
+ // InternalUmlState.g:195:16: ( (lv_exit_6_0= ruleExitRule ) )
+ // InternalUmlState.g:196:1: (lv_exit_6_0= ruleExitRule )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:196:1: (lv_exit_6_0= ruleExitRule )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:197:3: lv_exit_6_0= ruleExitRule
+ // InternalUmlState.g:196:1: (lv_exit_6_0= ruleExitRule )
+ // InternalUmlState.g:197:3: lv_exit_6_0= ruleExitRule
{
newCompositeNode(grammarAccess.getStateRuleAccess().getExitExitRuleParserRuleCall_2_2_0());
- pushFollow(FOLLOW_ruleExitRule_in_ruleStateRule384);
+ pushFollow(FOLLOW_5);
lv_exit_6_0 = ruleExitRule();
state._fsp--;
@@ -440,7 +427,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"exit",
lv_exit_6_0,
- "ExitRule");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.ExitRule");
afterParserOrEnumRuleCall();
@@ -498,12 +485,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "ruleStateRule"
// $ANTLR start "entryRuleSubmachineRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:235:1: entryRuleSubmachineRule returns [EObject current=null] : iv_ruleSubmachineRule= ruleSubmachineRule EOF ;
+ // InternalUmlState.g:235:1: entryRuleSubmachineRule returns [EObject current=null] : iv_ruleSubmachineRule= ruleSubmachineRule EOF ;
public final EObject entryRuleSubmachineRule() throws RecognitionException {
EObject current = null;
@@ -511,17 +497,17 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:236:2: (iv_ruleSubmachineRule= ruleSubmachineRule EOF )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:237:2: iv_ruleSubmachineRule= ruleSubmachineRule EOF
+ // InternalUmlState.g:236:2: (iv_ruleSubmachineRule= ruleSubmachineRule EOF )
+ // InternalUmlState.g:237:2: iv_ruleSubmachineRule= ruleSubmachineRule EOF
{
newCompositeNode(grammarAccess.getSubmachineRuleRule());
- pushFollow(FOLLOW_ruleSubmachineRule_in_entryRuleSubmachineRule460);
+ pushFollow(FOLLOW_1);
iv_ruleSubmachineRule = ruleSubmachineRule();
state._fsp--;
current = iv_ruleSubmachineRule;
- match(input, EOF, FOLLOW_EOF_in_entryRuleSubmachineRule470);
+ match(input, EOF, FOLLOW_2);
}
@@ -534,13 +520,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "entryRuleSubmachineRule"
// $ANTLR start "ruleSubmachineRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:244:1: ruleSubmachineRule returns [EObject current=null] : ( ( (lv_path_0_0= ruleQualifiedName ) )? (
- // (otherlv_1= RULE_ID ) ) ) ;
+ // InternalUmlState.g:244:1: ruleSubmachineRule returns [EObject current=null] : ( ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) ) ) ;
public final EObject ruleSubmachineRule() throws RecognitionException {
EObject current = null;
@@ -551,13 +535,13 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
enterRule();
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:247:28: ( ( ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:248:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) ) )
+ // InternalUmlState.g:247:28: ( ( ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) ) ) )
+ // InternalUmlState.g:248:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:248:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:248:2: ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) )
+ // InternalUmlState.g:248:1: ( ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) ) )
+ // InternalUmlState.g:248:2: ( (lv_path_0_0= ruleQualifiedName ) )? ( (otherlv_1= RULE_ID ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:248:2: ( (lv_path_0_0= ruleQualifiedName ) )?
+ // InternalUmlState.g:248:2: ( (lv_path_0_0= ruleQualifiedName ) )?
int alt3 = 2;
int LA3_0 = input.LA(1);
@@ -570,15 +554,15 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
switch (alt3) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:249:1: (lv_path_0_0= ruleQualifiedName )
+ // InternalUmlState.g:249:1: (lv_path_0_0= ruleQualifiedName )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:249:1: (lv_path_0_0= ruleQualifiedName )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:250:3: lv_path_0_0= ruleQualifiedName
+ // InternalUmlState.g:249:1: (lv_path_0_0= ruleQualifiedName )
+ // InternalUmlState.g:250:3: lv_path_0_0= ruleQualifiedName
{
newCompositeNode(grammarAccess.getSubmachineRuleAccess().getPathQualifiedNameParserRuleCall_0_0());
- pushFollow(FOLLOW_ruleQualifiedName_in_ruleSubmachineRule516);
+ pushFollow(FOLLOW_4);
lv_path_0_0 = ruleQualifiedName();
state._fsp--;
@@ -591,7 +575,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"path",
lv_path_0_0,
- "QualifiedName");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.QualifiedName");
afterParserOrEnumRuleCall();
@@ -603,18 +587,18 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:266:3: ( (otherlv_1= RULE_ID ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:267:1: (otherlv_1= RULE_ID )
+ // InternalUmlState.g:266:3: ( (otherlv_1= RULE_ID ) )
+ // InternalUmlState.g:267:1: (otherlv_1= RULE_ID )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:267:1: (otherlv_1= RULE_ID )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:268:3: otherlv_1= RULE_ID
+ // InternalUmlState.g:267:1: (otherlv_1= RULE_ID )
+ // InternalUmlState.g:268:3: otherlv_1= RULE_ID
{
if (current == null) {
current = createModelElement(grammarAccess.getSubmachineRuleRule());
}
- otherlv_1 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_ruleSubmachineRule537);
+ otherlv_1 = (Token) match(input, RULE_ID, FOLLOW_2);
newLeafNode(otherlv_1, grammarAccess.getSubmachineRuleAccess().getSubmachineStateMachineCrossReference_1_0());
@@ -640,12 +624,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "ruleSubmachineRule"
// $ANTLR start "entryRuleQualifiedName"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:287:1: entryRuleQualifiedName returns [EObject current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
+ // InternalUmlState.g:287:1: entryRuleQualifiedName returns [EObject current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
public final EObject entryRuleQualifiedName() throws RecognitionException {
EObject current = null;
@@ -653,17 +636,17 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:288:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:289:2: iv_ruleQualifiedName= ruleQualifiedName EOF
+ // InternalUmlState.g:288:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
+ // InternalUmlState.g:289:2: iv_ruleQualifiedName= ruleQualifiedName EOF
{
newCompositeNode(grammarAccess.getQualifiedNameRule());
- pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName573);
+ pushFollow(FOLLOW_1);
iv_ruleQualifiedName = ruleQualifiedName();
state._fsp--;
current = iv_ruleQualifiedName;
- match(input, EOF, FOLLOW_EOF_in_entryRuleQualifiedName583);
+ match(input, EOF, FOLLOW_2);
}
@@ -676,13 +659,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "entryRuleQualifiedName"
// $ANTLR start "ruleQualifiedName"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:296:1: ruleQualifiedName returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' (
- // (lv_remaining_2_0= ruleQualifiedName ) )? ) ;
+ // InternalUmlState.g:296:1: ruleQualifiedName returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? ) ;
public final EObject ruleQualifiedName() throws RecognitionException {
EObject current = null;
@@ -694,24 +675,24 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
enterRule();
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:299:28: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:300:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? )
+ // InternalUmlState.g:299:28: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? ) )
+ // InternalUmlState.g:300:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:300:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:300:2: ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )?
+ // InternalUmlState.g:300:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )? )
+ // InternalUmlState.g:300:2: ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' ( (lv_remaining_2_0= ruleQualifiedName ) )?
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:300:2: ( (otherlv_0= RULE_ID ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:301:1: (otherlv_0= RULE_ID )
+ // InternalUmlState.g:300:2: ( (otherlv_0= RULE_ID ) )
+ // InternalUmlState.g:301:1: (otherlv_0= RULE_ID )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:301:1: (otherlv_0= RULE_ID )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:302:3: otherlv_0= RULE_ID
+ // InternalUmlState.g:301:1: (otherlv_0= RULE_ID )
+ // InternalUmlState.g:302:3: otherlv_0= RULE_ID
{
if (current == null) {
current = createModelElement(grammarAccess.getQualifiedNameRule());
}
- otherlv_0 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_ruleQualifiedName628);
+ otherlv_0 = (Token) match(input, RULE_ID, FOLLOW_6);
newLeafNode(otherlv_0, grammarAccess.getQualifiedNameAccess().getPathNamespaceCrossReference_0_0());
@@ -721,11 +702,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- otherlv_1 = (Token) match(input, 13, FOLLOW_13_in_ruleQualifiedName640);
+ otherlv_1 = (Token) match(input, 13, FOLLOW_7);
newLeafNode(otherlv_1, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1());
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:317:1: ( (lv_remaining_2_0= ruleQualifiedName ) )?
+ // InternalUmlState.g:317:1: ( (lv_remaining_2_0= ruleQualifiedName ) )?
int alt4 = 2;
int LA4_0 = input.LA(1);
@@ -738,15 +719,15 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
switch (alt4) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:318:1: (lv_remaining_2_0= ruleQualifiedName )
+ // InternalUmlState.g:318:1: (lv_remaining_2_0= ruleQualifiedName )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:318:1: (lv_remaining_2_0= ruleQualifiedName )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:319:3: lv_remaining_2_0= ruleQualifiedName
+ // InternalUmlState.g:318:1: (lv_remaining_2_0= ruleQualifiedName )
+ // InternalUmlState.g:319:3: lv_remaining_2_0= ruleQualifiedName
{
newCompositeNode(grammarAccess.getQualifiedNameAccess().getRemainingQualifiedNameParserRuleCall_2_0());
- pushFollow(FOLLOW_ruleQualifiedName_in_ruleQualifiedName661);
+ pushFollow(FOLLOW_2);
lv_remaining_2_0 = ruleQualifiedName();
state._fsp--;
@@ -759,7 +740,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"remaining",
lv_remaining_2_0,
- "QualifiedName");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.QualifiedName");
afterParserOrEnumRuleCall();
@@ -787,12 +768,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "ruleQualifiedName"
// $ANTLR start "entryRuleEntryRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:343:1: entryRuleEntryRule returns [EObject current=null] : iv_ruleEntryRule= ruleEntryRule EOF ;
+ // InternalUmlState.g:343:1: entryRuleEntryRule returns [EObject current=null] : iv_ruleEntryRule= ruleEntryRule EOF ;
public final EObject entryRuleEntryRule() throws RecognitionException {
EObject current = null;
@@ -800,17 +780,17 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:344:2: (iv_ruleEntryRule= ruleEntryRule EOF )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:345:2: iv_ruleEntryRule= ruleEntryRule EOF
+ // InternalUmlState.g:344:2: (iv_ruleEntryRule= ruleEntryRule EOF )
+ // InternalUmlState.g:345:2: iv_ruleEntryRule= ruleEntryRule EOF
{
newCompositeNode(grammarAccess.getEntryRuleRule());
- pushFollow(FOLLOW_ruleEntryRule_in_entryRuleEntryRule698);
+ pushFollow(FOLLOW_1);
iv_ruleEntryRule = ruleEntryRule();
state._fsp--;
current = iv_ruleEntryRule;
- match(input, EOF, FOLLOW_EOF_in_entryRuleEntryRule708);
+ match(input, EOF, FOLLOW_2);
}
@@ -823,13 +803,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "entryRuleEntryRule"
// $ANTLR start "ruleEntryRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:352:1: ruleEntryRule returns [EObject current=null] : (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) )
- // ( (lv_behaviorName_2_0= RULE_ID ) ) ) ;
+ // InternalUmlState.g:352:1: ruleEntryRule returns [EObject current=null] : (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) ) ;
public final EObject ruleEntryRule() throws RecognitionException {
EObject current = null;
@@ -841,28 +819,26 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
enterRule();
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:355:28: ( (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
- // ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:356:1: (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
+ // InternalUmlState.g:355:28: ( (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) ) )
+ // InternalUmlState.g:356:1: (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:356:1: (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
- // )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:356:3: otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
+ // InternalUmlState.g:356:1: (otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
+ // InternalUmlState.g:356:3: otherlv_0= 'entry' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
{
- otherlv_0 = (Token) match(input, 14, FOLLOW_14_in_ruleEntryRule745);
+ otherlv_0 = (Token) match(input, 14, FOLLOW_8);
newLeafNode(otherlv_0, grammarAccess.getEntryRuleAccess().getEntryKeyword_0());
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:360:1: ( (lv_kind_1_0= ruleBehaviorKind ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:361:1: (lv_kind_1_0= ruleBehaviorKind )
+ // InternalUmlState.g:360:1: ( (lv_kind_1_0= ruleBehaviorKind ) )
+ // InternalUmlState.g:361:1: (lv_kind_1_0= ruleBehaviorKind )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:361:1: (lv_kind_1_0= ruleBehaviorKind )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:362:3: lv_kind_1_0= ruleBehaviorKind
+ // InternalUmlState.g:361:1: (lv_kind_1_0= ruleBehaviorKind )
+ // InternalUmlState.g:362:3: lv_kind_1_0= ruleBehaviorKind
{
newCompositeNode(grammarAccess.getEntryRuleAccess().getKindBehaviorKindEnumRuleCall_1_0());
- pushFollow(FOLLOW_ruleBehaviorKind_in_ruleEntryRule766);
+ pushFollow(FOLLOW_4);
lv_kind_1_0 = ruleBehaviorKind();
state._fsp--;
@@ -875,7 +851,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"kind",
lv_kind_1_0,
- "BehaviorKind");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.BehaviorKind");
afterParserOrEnumRuleCall();
@@ -884,13 +860,13 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:378:2: ( (lv_behaviorName_2_0= RULE_ID ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:379:1: (lv_behaviorName_2_0= RULE_ID )
+ // InternalUmlState.g:378:2: ( (lv_behaviorName_2_0= RULE_ID ) )
+ // InternalUmlState.g:379:1: (lv_behaviorName_2_0= RULE_ID )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:379:1: (lv_behaviorName_2_0= RULE_ID )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:380:3: lv_behaviorName_2_0= RULE_ID
+ // InternalUmlState.g:379:1: (lv_behaviorName_2_0= RULE_ID )
+ // InternalUmlState.g:380:3: lv_behaviorName_2_0= RULE_ID
{
- lv_behaviorName_2_0 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_ruleEntryRule783);
+ lv_behaviorName_2_0 = (Token) match(input, RULE_ID, FOLLOW_2);
newLeafNode(lv_behaviorName_2_0, grammarAccess.getEntryRuleAccess().getBehaviorNameIDTerminalRuleCall_2_0());
@@ -902,7 +878,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"behaviorName",
lv_behaviorName_2_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
@@ -926,12 +902,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "ruleEntryRule"
// $ANTLR start "entryRuleDoRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:404:1: entryRuleDoRule returns [EObject current=null] : iv_ruleDoRule= ruleDoRule EOF ;
+ // InternalUmlState.g:404:1: entryRuleDoRule returns [EObject current=null] : iv_ruleDoRule= ruleDoRule EOF ;
public final EObject entryRuleDoRule() throws RecognitionException {
EObject current = null;
@@ -939,17 +914,17 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:405:2: (iv_ruleDoRule= ruleDoRule EOF )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:406:2: iv_ruleDoRule= ruleDoRule EOF
+ // InternalUmlState.g:405:2: (iv_ruleDoRule= ruleDoRule EOF )
+ // InternalUmlState.g:406:2: iv_ruleDoRule= ruleDoRule EOF
{
newCompositeNode(grammarAccess.getDoRuleRule());
- pushFollow(FOLLOW_ruleDoRule_in_entryRuleDoRule824);
+ pushFollow(FOLLOW_1);
iv_ruleDoRule = ruleDoRule();
state._fsp--;
current = iv_ruleDoRule;
- match(input, EOF, FOLLOW_EOF_in_entryRuleDoRule834);
+ match(input, EOF, FOLLOW_2);
}
@@ -962,13 +937,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "entryRuleDoRule"
// $ANTLR start "ruleDoRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:413:1: ruleDoRule returns [EObject current=null] : (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) (
- // (lv_behaviorName_2_0= RULE_ID ) ) ) ;
+ // InternalUmlState.g:413:1: ruleDoRule returns [EObject current=null] : (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) ) ;
public final EObject ruleDoRule() throws RecognitionException {
EObject current = null;
@@ -980,26 +953,26 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
enterRule();
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:416:28: ( (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:417:1: (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
+ // InternalUmlState.g:416:28: ( (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) ) )
+ // InternalUmlState.g:417:1: (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:417:1: (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:417:3: otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
+ // InternalUmlState.g:417:1: (otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
+ // InternalUmlState.g:417:3: otherlv_0= 'do' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
{
- otherlv_0 = (Token) match(input, 15, FOLLOW_15_in_ruleDoRule871);
+ otherlv_0 = (Token) match(input, 15, FOLLOW_8);
newLeafNode(otherlv_0, grammarAccess.getDoRuleAccess().getDoKeyword_0());
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:421:1: ( (lv_kind_1_0= ruleBehaviorKind ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:422:1: (lv_kind_1_0= ruleBehaviorKind )
+ // InternalUmlState.g:421:1: ( (lv_kind_1_0= ruleBehaviorKind ) )
+ // InternalUmlState.g:422:1: (lv_kind_1_0= ruleBehaviorKind )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:422:1: (lv_kind_1_0= ruleBehaviorKind )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:423:3: lv_kind_1_0= ruleBehaviorKind
+ // InternalUmlState.g:422:1: (lv_kind_1_0= ruleBehaviorKind )
+ // InternalUmlState.g:423:3: lv_kind_1_0= ruleBehaviorKind
{
newCompositeNode(grammarAccess.getDoRuleAccess().getKindBehaviorKindEnumRuleCall_1_0());
- pushFollow(FOLLOW_ruleBehaviorKind_in_ruleDoRule892);
+ pushFollow(FOLLOW_4);
lv_kind_1_0 = ruleBehaviorKind();
state._fsp--;
@@ -1012,7 +985,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"kind",
lv_kind_1_0,
- "BehaviorKind");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.BehaviorKind");
afterParserOrEnumRuleCall();
@@ -1021,13 +994,13 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:439:2: ( (lv_behaviorName_2_0= RULE_ID ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:440:1: (lv_behaviorName_2_0= RULE_ID )
+ // InternalUmlState.g:439:2: ( (lv_behaviorName_2_0= RULE_ID ) )
+ // InternalUmlState.g:440:1: (lv_behaviorName_2_0= RULE_ID )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:440:1: (lv_behaviorName_2_0= RULE_ID )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:441:3: lv_behaviorName_2_0= RULE_ID
+ // InternalUmlState.g:440:1: (lv_behaviorName_2_0= RULE_ID )
+ // InternalUmlState.g:441:3: lv_behaviorName_2_0= RULE_ID
{
- lv_behaviorName_2_0 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_ruleDoRule909);
+ lv_behaviorName_2_0 = (Token) match(input, RULE_ID, FOLLOW_2);
newLeafNode(lv_behaviorName_2_0, grammarAccess.getDoRuleAccess().getBehaviorNameIDTerminalRuleCall_2_0());
@@ -1039,7 +1012,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"behaviorName",
lv_behaviorName_2_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
@@ -1063,12 +1036,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "ruleDoRule"
// $ANTLR start "entryRuleExitRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:465:1: entryRuleExitRule returns [EObject current=null] : iv_ruleExitRule= ruleExitRule EOF ;
+ // InternalUmlState.g:465:1: entryRuleExitRule returns [EObject current=null] : iv_ruleExitRule= ruleExitRule EOF ;
public final EObject entryRuleExitRule() throws RecognitionException {
EObject current = null;
@@ -1076,17 +1048,17 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:466:2: (iv_ruleExitRule= ruleExitRule EOF )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:467:2: iv_ruleExitRule= ruleExitRule EOF
+ // InternalUmlState.g:466:2: (iv_ruleExitRule= ruleExitRule EOF )
+ // InternalUmlState.g:467:2: iv_ruleExitRule= ruleExitRule EOF
{
newCompositeNode(grammarAccess.getExitRuleRule());
- pushFollow(FOLLOW_ruleExitRule_in_entryRuleExitRule950);
+ pushFollow(FOLLOW_1);
iv_ruleExitRule = ruleExitRule();
state._fsp--;
current = iv_ruleExitRule;
- match(input, EOF, FOLLOW_EOF_in_entryRuleExitRule960);
+ match(input, EOF, FOLLOW_2);
}
@@ -1099,13 +1071,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "entryRuleExitRule"
// $ANTLR start "ruleExitRule"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:474:1: ruleExitRule returns [EObject current=null] : (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) (
- // (lv_behaviorName_2_0= RULE_ID ) ) ) ;
+ // InternalUmlState.g:474:1: ruleExitRule returns [EObject current=null] : (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) ) ;
public final EObject ruleExitRule() throws RecognitionException {
EObject current = null;
@@ -1117,28 +1087,26 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
enterRule();
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:477:28: ( (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
- // )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:478:1: (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
+ // InternalUmlState.g:477:28: ( (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) ) )
+ // InternalUmlState.g:478:1: (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:478:1: (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
- // )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:478:3: otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
+ // InternalUmlState.g:478:1: (otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) ) )
+ // InternalUmlState.g:478:3: otherlv_0= 'exit' ( (lv_kind_1_0= ruleBehaviorKind ) ) ( (lv_behaviorName_2_0= RULE_ID ) )
{
- otherlv_0 = (Token) match(input, 16, FOLLOW_16_in_ruleExitRule997);
+ otherlv_0 = (Token) match(input, 16, FOLLOW_8);
newLeafNode(otherlv_0, grammarAccess.getExitRuleAccess().getExitKeyword_0());
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:482:1: ( (lv_kind_1_0= ruleBehaviorKind ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:483:1: (lv_kind_1_0= ruleBehaviorKind )
+ // InternalUmlState.g:482:1: ( (lv_kind_1_0= ruleBehaviorKind ) )
+ // InternalUmlState.g:483:1: (lv_kind_1_0= ruleBehaviorKind )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:483:1: (lv_kind_1_0= ruleBehaviorKind )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:484:3: lv_kind_1_0= ruleBehaviorKind
+ // InternalUmlState.g:483:1: (lv_kind_1_0= ruleBehaviorKind )
+ // InternalUmlState.g:484:3: lv_kind_1_0= ruleBehaviorKind
{
newCompositeNode(grammarAccess.getExitRuleAccess().getKindBehaviorKindEnumRuleCall_1_0());
- pushFollow(FOLLOW_ruleBehaviorKind_in_ruleExitRule1018);
+ pushFollow(FOLLOW_4);
lv_kind_1_0 = ruleBehaviorKind();
state._fsp--;
@@ -1151,7 +1119,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"kind",
lv_kind_1_0,
- "BehaviorKind");
+ "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.BehaviorKind");
afterParserOrEnumRuleCall();
@@ -1160,13 +1128,13 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:500:2: ( (lv_behaviorName_2_0= RULE_ID ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:501:1: (lv_behaviorName_2_0= RULE_ID )
+ // InternalUmlState.g:500:2: ( (lv_behaviorName_2_0= RULE_ID ) )
+ // InternalUmlState.g:501:1: (lv_behaviorName_2_0= RULE_ID )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:501:1: (lv_behaviorName_2_0= RULE_ID )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:502:3: lv_behaviorName_2_0= RULE_ID
+ // InternalUmlState.g:501:1: (lv_behaviorName_2_0= RULE_ID )
+ // InternalUmlState.g:502:3: lv_behaviorName_2_0= RULE_ID
{
- lv_behaviorName_2_0 = (Token) match(input, RULE_ID, FOLLOW_RULE_ID_in_ruleExitRule1035);
+ lv_behaviorName_2_0 = (Token) match(input, RULE_ID, FOLLOW_2);
newLeafNode(lv_behaviorName_2_0, grammarAccess.getExitRuleAccess().getBehaviorNameIDTerminalRuleCall_2_0());
@@ -1178,7 +1146,7 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
current,
"behaviorName",
lv_behaviorName_2_0,
- "ID");
+ "org.eclipse.papyrus.uml.alf.Common.ID");
}
@@ -1202,13 +1170,11 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "ruleExitRule"
// $ANTLR start "ruleBehaviorKind"
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:526:1: ruleBehaviorKind returns [Enumerator current=null] : ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1=
- // 'StateMachine' ) | (enumLiteral_2= 'OpaqueBehavior' ) ) ;
+ // InternalUmlState.g:526:1: ruleBehaviorKind returns [Enumerator current=null] : ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1= 'StateMachine' ) | (enumLiteral_2= 'OpaqueBehavior' ) ) ;
public final Enumerator ruleBehaviorKind() throws RecognitionException {
Enumerator current = null;
@@ -1218,13 +1184,10 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
enterRule();
try {
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:528:28: ( ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1= 'StateMachine' ) | (enumLiteral_2=
- // 'OpaqueBehavior' ) ) )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:529:1: ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1= 'StateMachine' ) | (enumLiteral_2=
- // 'OpaqueBehavior' ) )
+ // InternalUmlState.g:528:28: ( ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1= 'StateMachine' ) | (enumLiteral_2= 'OpaqueBehavior' ) ) )
+ // InternalUmlState.g:529:1: ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1= 'StateMachine' ) | (enumLiteral_2= 'OpaqueBehavior' ) )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:529:1: ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1= 'StateMachine' ) | (enumLiteral_2=
- // 'OpaqueBehavior' ) )
+ // InternalUmlState.g:529:1: ( (enumLiteral_0= 'Activity' ) | (enumLiteral_1= 'StateMachine' ) | (enumLiteral_2= 'OpaqueBehavior' ) )
int alt5 = 3;
switch (input.LA(1)) {
case 17: {
@@ -1240,20 +1203,19 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
break;
default:
- NoViableAltException nvae =
- new NoViableAltException("", 5, 0, input);
+ NoViableAltException nvae = new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:529:2: (enumLiteral_0= 'Activity' )
+ // InternalUmlState.g:529:2: (enumLiteral_0= 'Activity' )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:529:2: (enumLiteral_0= 'Activity' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:529:4: enumLiteral_0= 'Activity'
+ // InternalUmlState.g:529:2: (enumLiteral_0= 'Activity' )
+ // InternalUmlState.g:529:4: enumLiteral_0= 'Activity'
{
- enumLiteral_0 = (Token) match(input, 17, FOLLOW_17_in_ruleBehaviorKind1090);
+ enumLiteral_0 = (Token) match(input, 17, FOLLOW_2);
current = grammarAccess.getBehaviorKindAccess().getACTIVITYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getBehaviorKindAccess().getACTIVITYEnumLiteralDeclaration_0());
@@ -1265,12 +1227,12 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
break;
case 2:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:535:6: (enumLiteral_1= 'StateMachine' )
+ // InternalUmlState.g:535:6: (enumLiteral_1= 'StateMachine' )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:535:6: (enumLiteral_1= 'StateMachine' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:535:8: enumLiteral_1= 'StateMachine'
+ // InternalUmlState.g:535:6: (enumLiteral_1= 'StateMachine' )
+ // InternalUmlState.g:535:8: enumLiteral_1= 'StateMachine'
{
- enumLiteral_1 = (Token) match(input, 18, FOLLOW_18_in_ruleBehaviorKind1107);
+ enumLiteral_1 = (Token) match(input, 18, FOLLOW_2);
current = grammarAccess.getBehaviorKindAccess().getSTATE_MACHINEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getBehaviorKindAccess().getSTATE_MACHINEEnumLiteralDeclaration_1());
@@ -1282,12 +1244,12 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
break;
case 3:
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:541:6: (enumLiteral_2= 'OpaqueBehavior' )
+ // InternalUmlState.g:541:6: (enumLiteral_2= 'OpaqueBehavior' )
{
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:541:6: (enumLiteral_2= 'OpaqueBehavior' )
- // ../org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/parser/antlr/internal/InternalUmlState.g:541:8: enumLiteral_2= 'OpaqueBehavior'
+ // InternalUmlState.g:541:6: (enumLiteral_2= 'OpaqueBehavior' )
+ // InternalUmlState.g:541:8: enumLiteral_2= 'OpaqueBehavior'
{
- enumLiteral_2 = (Token) match(input, 19, FOLLOW_19_in_ruleBehaviorKind1124);
+ enumLiteral_2 = (Token) match(input, 19, FOLLOW_2);
current = grammarAccess.getBehaviorKindAccess().getOPAQUE_BEHAVIOREnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getBehaviorKindAccess().getOPAQUE_BEHAVIOREnumLiteralDeclaration_2());
@@ -1314,7 +1276,6 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
}
return current;
}
-
// $ANTLR end "ruleBehaviorKind"
// Delegated rules
@@ -1322,40 +1283,13 @@ public class InternalUmlStateParser extends AbstractInternalAntlrParser {
- public static final BitSet FOLLOW_ruleStateRule_in_entryRuleStateRule75 = new BitSet(new long[] { 0x0000000000000000L });
- public static final BitSet FOLLOW_EOF_in_entryRuleStateRule85 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_RULE_ID_in_ruleStateRule127 = new BitSet(new long[] { 0x000000000001D002L });
- public static final BitSet FOLLOW_12_in_ruleStateRule145 = new BitSet(new long[] { 0x0000000000000010L });
- public static final BitSet FOLLOW_ruleSubmachineRule_in_ruleStateRule166 = new BitSet(new long[] { 0x000000000001C002L });
- public static final BitSet FOLLOW_ruleEntryRule_in_ruleStateRule234 = new BitSet(new long[] { 0x000000000001C002L });
- public static final BitSet FOLLOW_ruleDoRule_in_ruleStateRule309 = new BitSet(new long[] { 0x000000000001C002L });
- public static final BitSet FOLLOW_ruleExitRule_in_ruleStateRule384 = new BitSet(new long[] { 0x000000000001C002L });
- public static final BitSet FOLLOW_ruleSubmachineRule_in_entryRuleSubmachineRule460 = new BitSet(new long[] { 0x0000000000000000L });
- public static final BitSet FOLLOW_EOF_in_entryRuleSubmachineRule470 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_ruleQualifiedName_in_ruleSubmachineRule516 = new BitSet(new long[] { 0x0000000000000010L });
- public static final BitSet FOLLOW_RULE_ID_in_ruleSubmachineRule537 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName573 = new BitSet(new long[] { 0x0000000000000000L });
- public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName583 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName628 = new BitSet(new long[] { 0x0000000000002000L });
- public static final BitSet FOLLOW_13_in_ruleQualifiedName640 = new BitSet(new long[] { 0x0000000000000012L });
- public static final BitSet FOLLOW_ruleQualifiedName_in_ruleQualifiedName661 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_ruleEntryRule_in_entryRuleEntryRule698 = new BitSet(new long[] { 0x0000000000000000L });
- public static final BitSet FOLLOW_EOF_in_entryRuleEntryRule708 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_14_in_ruleEntryRule745 = new BitSet(new long[] { 0x00000000000E0000L });
- public static final BitSet FOLLOW_ruleBehaviorKind_in_ruleEntryRule766 = new BitSet(new long[] { 0x0000000000000010L });
- public static final BitSet FOLLOW_RULE_ID_in_ruleEntryRule783 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_ruleDoRule_in_entryRuleDoRule824 = new BitSet(new long[] { 0x0000000000000000L });
- public static final BitSet FOLLOW_EOF_in_entryRuleDoRule834 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_15_in_ruleDoRule871 = new BitSet(new long[] { 0x00000000000E0000L });
- public static final BitSet FOLLOW_ruleBehaviorKind_in_ruleDoRule892 = new BitSet(new long[] { 0x0000000000000010L });
- public static final BitSet FOLLOW_RULE_ID_in_ruleDoRule909 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_ruleExitRule_in_entryRuleExitRule950 = new BitSet(new long[] { 0x0000000000000000L });
- public static final BitSet FOLLOW_EOF_in_entryRuleExitRule960 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_16_in_ruleExitRule997 = new BitSet(new long[] { 0x00000000000E0000L });
- public static final BitSet FOLLOW_ruleBehaviorKind_in_ruleExitRule1018 = new BitSet(new long[] { 0x0000000000000010L });
- public static final BitSet FOLLOW_RULE_ID_in_ruleExitRule1035 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_17_in_ruleBehaviorKind1090 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_18_in_ruleBehaviorKind1107 = new BitSet(new long[] { 0x0000000000000002L });
- public static final BitSet FOLLOW_19_in_ruleBehaviorKind1124 = new BitSet(new long[] { 0x0000000000000002L });
+ public static final BitSet FOLLOW_1 = new BitSet(new long[] { 0x0000000000000000L });
+ public static final BitSet FOLLOW_2 = new BitSet(new long[] { 0x0000000000000002L });
+ public static final BitSet FOLLOW_3 = new BitSet(new long[] { 0x000000000001D002L });
+ public static final BitSet FOLLOW_4 = new BitSet(new long[] { 0x0000000000000010L });
+ public static final BitSet FOLLOW_5 = new BitSet(new long[] { 0x000000000001C002L });
+ public static final BitSet FOLLOW_6 = new BitSet(new long[] { 0x0000000000002000L });
+ public static final BitSet FOLLOW_7 = new BitSet(new long[] { 0x0000000000000012L });
+ public static final BitSet FOLLOW_8 = new BitSet(new long[] { 0x00000000000E0000L });
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSemanticSequencer.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSemanticSequencer.java
index da104e33035..6d6a2e283ae 100644
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSemanticSequencer.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSemanticSequencer.java
@@ -1,6 +1,12 @@
+/*
+ * generated by Xtext
+ */
package org.eclipse.papyrus.uml.textedit.state.xtext.serializer;
+import java.util.Set;
+
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
import org.eclipse.papyrus.uml.textedit.state.xtext.services.UmlStateGrammarAccess;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule;
@@ -9,9 +15,12 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
+import org.eclipse.xtext.Action;
+import org.eclipse.xtext.Parameter;
+import org.eclipse.xtext.ParserRule;
+import org.eclipse.xtext.serializer.ISerializationContext;
import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
-import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
import com.google.inject.Inject;
@@ -23,73 +32,51 @@ public class UmlStateSemanticSequencer extends AbstractDelegatingSemanticSequenc
private UmlStateGrammarAccess grammarAccess;
@Override
- public void createSequence(EObject context, EObject semanticObject) {
- if (semanticObject.eClass().getEPackage() == UmlStatePackage.eINSTANCE) {
+ public void sequence(ISerializationContext context, EObject semanticObject) {
+ EPackage epackage = semanticObject.eClass().getEPackage();
+ ParserRule rule = context.getParserRule();
+ Action action = context.getAssignedAction();
+ Set<Parameter> parameters = context.getEnabledBooleanParameters();
+ if (epackage == UmlStatePackage.eINSTANCE)
switch (semanticObject.eClass().getClassifierID()) {
case UmlStatePackage.DO_RULE:
- if (context == grammarAccess.getDoRuleRule()) {
- sequence_DoRule(context, (DoRule) semanticObject);
- return;
- } else {
- break;
- }
+ sequence_DoRule(context, (DoRule) semanticObject);
+ return;
case UmlStatePackage.ENTRY_RULE:
- if (context == grammarAccess.getEntryRuleRule()) {
- sequence_EntryRule(context, (EntryRule) semanticObject);
- return;
- } else {
- break;
- }
+ sequence_EntryRule(context, (EntryRule) semanticObject);
+ return;
case UmlStatePackage.EXIT_RULE:
- if (context == grammarAccess.getExitRuleRule()) {
- sequence_ExitRule(context, (ExitRule) semanticObject);
- return;
- } else {
- break;
- }
+ sequence_ExitRule(context, (ExitRule) semanticObject);
+ return;
case UmlStatePackage.QUALIFIED_NAME:
- if (context == grammarAccess.getQualifiedNameRule()) {
- sequence_QualifiedName(context, (QualifiedName) semanticObject);
- return;
- } else {
- break;
- }
+ sequence_QualifiedName(context, (QualifiedName) semanticObject);
+ return;
case UmlStatePackage.STATE_RULE:
- if (context == grammarAccess.getStateRuleRule()) {
- sequence_StateRule(context, (StateRule) semanticObject);
- return;
- } else {
- break;
- }
+ sequence_StateRule(context, (StateRule) semanticObject);
+ return;
case UmlStatePackage.SUBMACHINE_RULE:
- if (context == grammarAccess.getSubmachineRuleRule()) {
- sequence_SubmachineRule(context, (SubmachineRule) semanticObject);
- return;
- } else {
- break;
- }
+ sequence_SubmachineRule(context, (SubmachineRule) semanticObject);
+ return;
}
- }
- if (errorAcceptor != null) {
+ if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
- }
}
/**
+ * Contexts:
+ * DoRule returns DoRule
+ *
* Constraint:
* (kind=BehaviorKind behaviorName=ID)
*/
- protected void sequence_DoRule(EObject context, DoRule semanticObject) {
+ protected void sequence_DoRule(ISerializationContext context, DoRule semanticObject) {
if (errorAcceptor != null) {
- if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.DO_RULE__KIND) == ValueTransient.YES) {
+ if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.DO_RULE__KIND) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, UmlStatePackage.Literals.DO_RULE__KIND));
- }
- if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.DO_RULE__BEHAVIOR_NAME) == ValueTransient.YES) {
+ if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.DO_RULE__BEHAVIOR_NAME) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, UmlStatePackage.Literals.DO_RULE__BEHAVIOR_NAME));
- }
}
- INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
- SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getDoRuleAccess().getKindBehaviorKindEnumRuleCall_1_0(), semanticObject.getKind());
feeder.accept(grammarAccess.getDoRuleAccess().getBehaviorNameIDTerminalRuleCall_2_0(), semanticObject.getBehaviorName());
feeder.finish();
@@ -97,20 +84,20 @@ public class UmlStateSemanticSequencer extends AbstractDelegatingSemanticSequenc
/**
+ * Contexts:
+ * EntryRule returns EntryRule
+ *
* Constraint:
* (kind=BehaviorKind behaviorName=ID)
*/
- protected void sequence_EntryRule(EObject context, EntryRule semanticObject) {
+ protected void sequence_EntryRule(ISerializationContext context, EntryRule semanticObject) {
if (errorAcceptor != null) {
- if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.ENTRY_RULE__KIND) == ValueTransient.YES) {
+ if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.ENTRY_RULE__KIND) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, UmlStatePackage.Literals.ENTRY_RULE__KIND));
- }
- if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.ENTRY_RULE__BEHAVIOR_NAME) == ValueTransient.YES) {
+ if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.ENTRY_RULE__BEHAVIOR_NAME) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, UmlStatePackage.Literals.ENTRY_RULE__BEHAVIOR_NAME));
- }
}
- INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
- SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getEntryRuleAccess().getKindBehaviorKindEnumRuleCall_1_0(), semanticObject.getKind());
feeder.accept(grammarAccess.getEntryRuleAccess().getBehaviorNameIDTerminalRuleCall_2_0(), semanticObject.getBehaviorName());
feeder.finish();
@@ -118,20 +105,20 @@ public class UmlStateSemanticSequencer extends AbstractDelegatingSemanticSequenc
/**
+ * Contexts:
+ * ExitRule returns ExitRule
+ *
* Constraint:
* (kind=BehaviorKind behaviorName=ID)
*/
- protected void sequence_ExitRule(EObject context, ExitRule semanticObject) {
+ protected void sequence_ExitRule(ISerializationContext context, ExitRule semanticObject) {
if (errorAcceptor != null) {
- if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.EXIT_RULE__KIND) == ValueTransient.YES) {
+ if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.EXIT_RULE__KIND) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, UmlStatePackage.Literals.EXIT_RULE__KIND));
- }
- if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.EXIT_RULE__BEHAVIOR_NAME) == ValueTransient.YES) {
+ if (transientValues.isValueTransient(semanticObject, UmlStatePackage.Literals.EXIT_RULE__BEHAVIOR_NAME) == ValueTransient.YES)
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, UmlStatePackage.Literals.EXIT_RULE__BEHAVIOR_NAME));
- }
}
- INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
- SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getExitRuleAccess().getKindBehaviorKindEnumRuleCall_1_0(), semanticObject.getKind());
feeder.accept(grammarAccess.getExitRuleAccess().getBehaviorNameIDTerminalRuleCall_2_0(), semanticObject.getBehaviorName());
feeder.finish();
@@ -139,28 +126,39 @@ public class UmlStateSemanticSequencer extends AbstractDelegatingSemanticSequenc
/**
+ * Contexts:
+ * QualifiedName returns QualifiedName
+ *
* Constraint:
* (path=[Namespace|ID] remaining=QualifiedName?)
*/
- protected void sequence_QualifiedName(EObject context, QualifiedName semanticObject) {
+ protected void sequence_QualifiedName(ISerializationContext context, QualifiedName semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
+ * Contexts:
+ * StateRule returns StateRule
+ *
* Constraint:
- * (name=ID submachine=SubmachineRule? entry=EntryRule? do=DoRule? exit=ExitRule?)
+ * (name=ID submachine=SubmachineRule? (entry=EntryRule | do=DoRule | exit=ExitRule)*)
*/
- protected void sequence_StateRule(EObject context, StateRule semanticObject) {
+ protected void sequence_StateRule(ISerializationContext context, StateRule semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
+ * Contexts:
+ * SubmachineRule returns SubmachineRule
+ *
* Constraint:
* (path=QualifiedName? submachine=[StateMachine|ID])
*/
- protected void sequence_SubmachineRule(EObject context, SubmachineRule semanticObject) {
+ protected void sequence_SubmachineRule(ISerializationContext context, SubmachineRule semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
+
+
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSyntacticSequencer.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSyntacticSequencer.java
index 510a1a865c9..2168762ac82 100644
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSyntacticSequencer.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/serializer/UmlStateSyntacticSequencer.java
@@ -1,3 +1,6 @@
+/*
+ * generated by Xtext
+ */
package org.eclipse.papyrus.uml.textedit.state.xtext.serializer;
import java.util.List;
@@ -31,9 +34,8 @@ public class UmlStateSyntacticSequencer extends AbstractSyntacticSequencer {
@Override
protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
- if (transition.getAmbiguousSyntaxes().isEmpty()) {
+ if (transition.getAmbiguousSyntaxes().isEmpty())
return;
- }
List<INode> transitionNodes = collectNodes(fromNode, toNode);
for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/services/UmlStateGrammarAccess.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/services/UmlStateGrammarAccess.java
index 927fa0fdd55..e9f51a03311 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/services/UmlStateGrammarAccess.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/services/UmlStateGrammarAccess.java
@@ -19,6 +19,7 @@ import org.eclipse.xtext.ParserRule;
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.TerminalRule;
import org.eclipse.xtext.UnorderedGroup;
+import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
import org.eclipse.xtext.service.GrammarProvider;
@@ -30,7 +31,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
public class StateRuleElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateRule");
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.StateRule");
private final Group cGroup = (Group) rule.eContents().get(1);
private final Assignment cNameAssignment_0 = (Assignment) cGroup.eContents().get(0);
private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall) cNameAssignment_0.eContents().get(0);
@@ -47,14 +48,13 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cExitExitRuleParserRuleCall_2_2_0 = (RuleCall) cExitAssignment_2_2.eContents().get(0);
// StateRule:
- //
- // name=ID (":" submachine=SubmachineRule)? (entry=EntryRule? & do=DoRule? & exit=ExitRule?);
+ // name=ID (':' submachine=SubmachineRule)? (entry=EntryRule? & do=DoRule? & exit=ExitRule?);
@Override
public ParserRule getRule() {
return rule;
}
- // name=ID (":" submachine=SubmachineRule)? (entry=EntryRule? & do=DoRule? & exit=ExitRule?)
+ // name=ID (':' submachine=SubmachineRule)? (entry=EntryRule? & do=DoRule? & exit=ExitRule?)
public Group getGroup() {
return cGroup;
}
@@ -69,12 +69,12 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
return cNameIDTerminalRuleCall_0_0;
}
- // (":" submachine=SubmachineRule)?
+ // (':' submachine=SubmachineRule)?
public Group getGroup_1() {
return cGroup_1;
}
- // ":"
+ // ':'
public Keyword getColonKeyword_1_0() {
return cColonKeyword_1_0;
}
@@ -126,7 +126,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
public class SubmachineRuleElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubmachineRule");
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.SubmachineRule");
private final Group cGroup = (Group) rule.eContents().get(1);
private final Assignment cPathAssignment_0 = (Assignment) cGroup.eContents().get(0);
private final RuleCall cPathQualifiedNameParserRuleCall_0_0 = (RuleCall) cPathAssignment_0.eContents().get(0);
@@ -135,7 +135,6 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cSubmachineStateMachineIDTerminalRuleCall_1_0_1 = (RuleCall) cSubmachineStateMachineCrossReference_1_0.eContents().get(1);
// SubmachineRule:
- //
// path=QualifiedName? submachine=[uml::StateMachine];
@Override
public ParserRule getRule() {
@@ -174,7 +173,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
public class QualifiedNameElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedName");
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.QualifiedName");
private final Group cGroup = (Group) rule.eContents().get(1);
private final Assignment cPathAssignment_0 = (Assignment) cGroup.eContents().get(0);
private final CrossReference cPathNamespaceCrossReference_0_0 = (CrossReference) cPathAssignment_0.eContents().get(0);
@@ -184,14 +183,13 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cRemainingQualifiedNameParserRuleCall_2_0 = (RuleCall) cRemainingAssignment_2.eContents().get(0);
// QualifiedName:
- //
- // path=[uml::Namespace] "::" remaining=QualifiedName?;
+ // path=[uml::Namespace] '::' remaining=QualifiedName?;
@Override
public ParserRule getRule() {
return rule;
}
- // path=[uml::Namespace] "::" remaining=QualifiedName?
+ // path=[uml::Namespace] '::' remaining=QualifiedName?
public Group getGroup() {
return cGroup;
}
@@ -211,7 +209,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
return cPathNamespaceIDTerminalRuleCall_0_0_1;
}
- // "::"
+ // '::'
public Keyword getColonColonKeyword_1() {
return cColonColonKeyword_1;
}
@@ -228,7 +226,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
public class EntryRuleElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntryRule");
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.EntryRule");
private final Group cGroup = (Group) rule.eContents().get(1);
private final Keyword cEntryKeyword_0 = (Keyword) cGroup.eContents().get(0);
private final Assignment cKindAssignment_1 = (Assignment) cGroup.eContents().get(1);
@@ -237,7 +235,6 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cBehaviorNameIDTerminalRuleCall_2_0 = (RuleCall) cBehaviorNameAssignment_2.eContents().get(0);
// EntryRule:
- //
// "entry" kind=BehaviorKind behaviorName=ID;
@Override
public ParserRule getRule() {
@@ -276,7 +273,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
public class DoRuleElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DoRule");
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.DoRule");
private final Group cGroup = (Group) rule.eContents().get(1);
private final Keyword cDoKeyword_0 = (Keyword) cGroup.eContents().get(0);
private final Assignment cKindAssignment_1 = (Assignment) cGroup.eContents().get(1);
@@ -285,7 +282,6 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cBehaviorNameIDTerminalRuleCall_2_0 = (RuleCall) cBehaviorNameAssignment_2.eContents().get(0);
// DoRule:
- //
// "do" kind=BehaviorKind behaviorName=ID;
@Override
public ParserRule getRule() {
@@ -324,7 +320,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
public class ExitRuleElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExitRule");
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.ExitRule");
private final Group cGroup = (Group) rule.eContents().get(1);
private final Keyword cExitKeyword_0 = (Keyword) cGroup.eContents().get(0);
private final Assignment cKindAssignment_1 = (Assignment) cGroup.eContents().get(1);
@@ -333,7 +329,6 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cBehaviorNameIDTerminalRuleCall_2_0 = (RuleCall) cBehaviorNameAssignment_2.eContents().get(0);
// ExitRule:
- //
// "exit" kind=BehaviorKind behaviorName=ID;
@Override
public ParserRule getRule() {
@@ -373,7 +368,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
public class BehaviorKindElements extends AbstractEnumRuleElementFinder {
- private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "BehaviorKind");
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.papyrus.uml.textedit.state.xtext.UmlState.BehaviorKind");
private final Alternatives cAlternatives = (Alternatives) rule.eContents().get(1);
private final EnumLiteralDeclaration cACTIVITYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration) cAlternatives.eContents().get(0);
private final Keyword cACTIVITYActivityKeyword_0_0 = (Keyword) cACTIVITYEnumLiteralDeclaration_0.eContents().get(0);
@@ -383,9 +378,7 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
private final Keyword cOPAQUE_BEHAVIOROpaqueBehaviorKeyword_2_0 = (Keyword) cOPAQUE_BEHAVIOREnumLiteralDeclaration_2.eContents().get(0);
// enum BehaviorKind:
- //
// ACTIVITY="Activity" | STATE_MACHINE="StateMachine" | OPAQUE_BEHAVIOR="OpaqueBehavior";
- @Override
public EnumRule getRule() {
return rule;
}
@@ -426,23 +419,34 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
}
- private StateRuleElements pStateRule;
- private SubmachineRuleElements pSubmachineRule;
- private QualifiedNameElements pQualifiedName;
- private EntryRuleElements pEntryRule;
- private DoRuleElements pDoRule;
- private ExitRuleElements pExitRule;
- private BehaviorKindElements unknownRuleBehaviorKind;
+ private final StateRuleElements pStateRule;
+ private final SubmachineRuleElements pSubmachineRule;
+ private final QualifiedNameElements pQualifiedName;
+ private final EntryRuleElements pEntryRule;
+ private final DoRuleElements pDoRule;
+ private final ExitRuleElements pExitRule;
+ private final BehaviorKindElements eBehaviorKind;
private final Grammar grammar;
- private CommonGrammarAccess gaCommon;
+ private final CommonGrammarAccess gaCommon;
+
+ private final TerminalsGrammarAccess gaTerminals;
@Inject
public UmlStateGrammarAccess(GrammarProvider grammarProvider,
- CommonGrammarAccess gaCommon) {
+ CommonGrammarAccess gaCommon,
+ TerminalsGrammarAccess gaTerminals) {
this.grammar = internalFindGrammar(grammarProvider);
this.gaCommon = gaCommon;
+ this.gaTerminals = gaTerminals;
+ this.pStateRule = new StateRuleElements();
+ this.pSubmachineRule = new SubmachineRuleElements();
+ this.pQualifiedName = new QualifiedNameElements();
+ this.pEntryRule = new EntryRuleElements();
+ this.pDoRule = new DoRuleElements();
+ this.pExitRule = new ExitRuleElements();
+ this.eBehaviorKind = new BehaviorKindElements();
}
protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -461,7 +465,6 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
return grammar;
}
-
@Override
public Grammar getGrammar() {
return grammar;
@@ -472,12 +475,15 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
return gaCommon;
}
+ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+ return gaTerminals;
+ }
+
// StateRule:
- //
- // name=ID (":" submachine=SubmachineRule)? (entry=EntryRule? & do=DoRule? & exit=ExitRule?);
+ // name=ID (':' submachine=SubmachineRule)? (entry=EntryRule? & do=DoRule? & exit=ExitRule?);
public StateRuleElements getStateRuleAccess() {
- return (pStateRule != null) ? pStateRule : (pStateRule = new StateRuleElements());
+ return pStateRule;
}
public ParserRule getStateRuleRule() {
@@ -485,10 +491,9 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
// SubmachineRule:
- //
// path=QualifiedName? submachine=[uml::StateMachine];
public SubmachineRuleElements getSubmachineRuleAccess() {
- return (pSubmachineRule != null) ? pSubmachineRule : (pSubmachineRule = new SubmachineRuleElements());
+ return pSubmachineRule;
}
public ParserRule getSubmachineRuleRule() {
@@ -496,10 +501,9 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
// QualifiedName:
- //
- // path=[uml::Namespace] "::" remaining=QualifiedName?;
+ // path=[uml::Namespace] '::' remaining=QualifiedName?;
public QualifiedNameElements getQualifiedNameAccess() {
- return (pQualifiedName != null) ? pQualifiedName : (pQualifiedName = new QualifiedNameElements());
+ return pQualifiedName;
}
public ParserRule getQualifiedNameRule() {
@@ -507,10 +511,9 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
// EntryRule:
- //
// "entry" kind=BehaviorKind behaviorName=ID;
public EntryRuleElements getEntryRuleAccess() {
- return (pEntryRule != null) ? pEntryRule : (pEntryRule = new EntryRuleElements());
+ return pEntryRule;
}
public ParserRule getEntryRuleRule() {
@@ -518,10 +521,9 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
// DoRule:
- //
// "do" kind=BehaviorKind behaviorName=ID;
public DoRuleElements getDoRuleAccess() {
- return (pDoRule != null) ? pDoRule : (pDoRule = new DoRuleElements());
+ return pDoRule;
}
public ParserRule getDoRuleRule() {
@@ -529,10 +531,9 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
// ExitRule:
- //
// "exit" kind=BehaviorKind behaviorName=ID;
public ExitRuleElements getExitRuleAccess() {
- return (pExitRule != null) ? pExitRule : (pExitRule = new ExitRuleElements());
+ return pExitRule;
}
public ParserRule getExitRuleRule() {
@@ -540,91 +541,61 @@ public class UmlStateGrammarAccess extends AbstractGrammarElementFinder {
}
// enum BehaviorKind:
- //
// ACTIVITY="Activity" | STATE_MACHINE="StateMachine" | OPAQUE_BEHAVIOR="OpaqueBehavior";
public BehaviorKindElements getBehaviorKindAccess() {
- return (unknownRuleBehaviorKind != null) ? unknownRuleBehaviorKind : (unknownRuleBehaviorKind = new BehaviorKindElements());
+ return eBehaviorKind;
}
public EnumRule getBehaviorKindRule() {
return getBehaviorKindAccess().getRule();
}
- // terminal INTEGER_VALUE:
- //
- // ("0" | "1".."9" ("_"? "0".."9")*) //DECIMAL
- //
- // // BINARY
- //
- // // HEX
- //
- // // OCT
- //
- // | ("0b" | "0B") "0".."1" ("_"? "0".."1")* | ("0x" | "0X") ("0".."9" | "a".."f" | "A".."F") ("_"? ("0".."9" | "a".."f" |
- //
- // "A".."F"))* | "0" "_"? "0".."7" ("_"? "0".."7")*;
- public TerminalRule getINTEGER_VALUERule() {
- return gaCommon.getINTEGER_VALUERule();
- }
-
// terminal ID:
- //
- // ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")* | "\'"->"\'";
+ // ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')* | '\''->'\'';
public TerminalRule getIDRule() {
return gaCommon.getIDRule();
}
// terminal STRING:
- //
- // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"";
+ // '"' ('\\' ('b' | 't' | 'n' | 'f' | 'r' | '"' | "'" | '\\') | !('\\' | '"'))* '"';
public TerminalRule getSTRINGRule() {
return gaCommon.getSTRINGRule();
}
// terminal ML_COMMENT:
- //
- // "/ *" !"@"->"* /";
+ // '/*' !'@'->'*/';
public TerminalRule getML_COMMENTRule() {
return gaCommon.getML_COMMENTRule();
}
- // //terminal DOUBLE_COLON : '::' ;
- //
- // //terminal IDENTIFIER : ID ;
- //
- // //terminal IDENTIFIER : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')* | ('\'' -> '\'') ;
- //
- // //terminal DOCUMENTATION_COMMENT : '/ *' -> '* /' ;
- //
- // //terminal ML_COMMENT : '/' -> '/';
- //
- // //terminal SL_COMMENT : '' !('\n'|'\r')* ('\r'? '\n')?;
- //
- // //terminal WS : (' '|'\t'|'\r'|'\n')+; terminal SL_COMMENT:
- //
- // "//" !("\n" | "\r" | "@")* ("\r"? "\n")?;
+ // terminal SL_COMMENT:
+ // '//' !('\n' | '\r' | '@')* ('\r'? '\n')?;
public TerminalRule getSL_COMMENTRule() {
return gaCommon.getSL_COMMENTRule();
}
// terminal INT returns ecore::EInt:
- //
- // "0".."9"+;
+ // '0'..'9'+;
public TerminalRule getINTRule() {
return gaCommon.getINTRule();
}
+ // terminal INTEGER_VALUE:
+ // ('0' | '1'..'9' ('_'? '0'..'9')*) | ('0b' | '0B') '0'..'1' ('_'? '0'..'1')* | ('0x' | '0X') ('0'..'9' | 'a'..'f' |
+ // 'A'..'F') ('_'? ('0'..'9' | 'a'..'f' | 'A'..'F'))* | '0' '_'? '0'..'7' ('_'? '0'..'7')*;
+ public TerminalRule getINTEGER_VALUERule() {
+ return gaCommon.getINTEGER_VALUERule();
+ }
+
// terminal WS:
- //
- // (" " | "\t" | "\r" | "\n")+;
+ // ' ' | '\t' | '\r' | '\n'+;
public TerminalRule getWSRule() {
- return gaCommon.getWSRule();
+ return gaTerminals.getWSRule();
}
// terminal ANY_OTHER:
- //
// .;
public TerminalRule getANY_OTHERRule() {
- return gaCommon.getANY_OTHERRule();
+ return gaTerminals.getANY_OTHERRule();
}
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/BehaviorKind.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/BehaviorKind.java
index 14efa851f21..1a1f8816991 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/BehaviorKind.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/BehaviorKind.java
@@ -13,18 +13,17 @@ import org.eclipse.emf.common.util.Enumerator;
* A representation of the literals of the enumeration '<em><b>Behavior Kind</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getBehaviorKind()
* @model
* @generated
*/
-public enum BehaviorKind implements Enumerator
-{
+public enum BehaviorKind implements Enumerator {
/**
* The '<em><b>ACTIVITY</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #ACTIVITY_VALUE
* @generated
* @ordered
@@ -35,7 +34,7 @@ public enum BehaviorKind implements Enumerator
* The '<em><b>STATE MACHINE</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #STATE_MACHINE_VALUE
* @generated
* @ordered
@@ -46,7 +45,7 @@ public enum BehaviorKind implements Enumerator
* The '<em><b>OPAQUE BEHAVIOR</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #OPAQUE_BEHAVIOR_VALUE
* @generated
* @ordered
@@ -57,10 +56,11 @@ public enum BehaviorKind implements Enumerator
* The '<em><b>ACTIVITY</b></em>' literal value.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of '<em><b>ACTIVITY</b></em>' literal object isn't clear, there really should be more of a description here...
+ * If the meaning of '<em><b>ACTIVITY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @see #ACTIVITY
* @model literal="Activity"
* @generated
@@ -72,10 +72,11 @@ public enum BehaviorKind implements Enumerator
* The '<em><b>STATE MACHINE</b></em>' literal value.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of '<em><b>STATE MACHINE</b></em>' literal object isn't clear, there really should be more of a description here...
+ * If the meaning of '<em><b>STATE MACHINE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @see #STATE_MACHINE
* @model literal="StateMachine"
* @generated
@@ -87,10 +88,11 @@ public enum BehaviorKind implements Enumerator
* The '<em><b>OPAQUE BEHAVIOR</b></em>' literal value.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of '<em><b>OPAQUE BEHAVIOR</b></em>' literal object isn't clear, there really should be more of a description here...
+ * If the meaning of '<em><b>OPAQUE BEHAVIOR</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @see #OPAQUE_BEHAVIOR
* @model literal="OpaqueBehavior"
* @generated
@@ -102,22 +104,20 @@ public enum BehaviorKind implements Enumerator
* An array of all the '<em><b>Behavior Kind</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- private static final BehaviorKind[] VALUES_ARRAY =
- new BehaviorKind[]
- {
- ACTIVITY,
- STATE_MACHINE,
- OPAQUE_BEHAVIOR,
- };
+ private static final BehaviorKind[] VALUES_ARRAY = new BehaviorKind[] {
+ ACTIVITY,
+ STATE_MACHINE,
+ OPAQUE_BEHAVIOR,
+ };
/**
* A public read-only list of all the '<em><b>Behavior Kind</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
public static final List<BehaviorKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
@@ -126,16 +126,16 @@ public enum BehaviorKind implements Enumerator
* Returns the '<em><b>Behavior Kind</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
+ * @param literal
+ * the literal.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
- public static BehaviorKind get(String literal)
- {
- for (int i = 0; i < VALUES_ARRAY.length; ++i)
- {
+ public static BehaviorKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
BehaviorKind result = VALUES_ARRAY[i];
- if (result.toString().equals(literal))
- {
+ if (result.toString().equals(literal)) {
return result;
}
}
@@ -146,16 +146,16 @@ public enum BehaviorKind implements Enumerator
* Returns the '<em><b>Behavior Kind</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
+ * @param name
+ * the name.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
- public static BehaviorKind getByName(String name)
- {
- for (int i = 0; i < VALUES_ARRAY.length; ++i)
- {
+ public static BehaviorKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
BehaviorKind result = VALUES_ARRAY[i];
- if (result.getName().equals(name))
- {
+ if (result.getName().equals(name)) {
return result;
}
}
@@ -166,13 +166,14 @@ public enum BehaviorKind implements Enumerator
* Returns the '<em><b>Behavior Kind</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
+ * @param value
+ * the integer value.
+ * @return the matching enumerator or <code>null</code>.
* @generated
*/
- public static BehaviorKind get(int value)
- {
- switch (value)
- {
+ public static BehaviorKind get(int value) {
+ switch (value) {
case ACTIVITY_VALUE:
return ACTIVITY;
case STATE_MACHINE_VALUE:
@@ -186,7 +187,7 @@ public enum BehaviorKind implements Enumerator
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private final int value;
@@ -194,7 +195,7 @@ public enum BehaviorKind implements Enumerator
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private final String name;
@@ -202,7 +203,7 @@ public enum BehaviorKind implements Enumerator
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private final String literal;
@@ -211,11 +212,10 @@ public enum BehaviorKind implements Enumerator
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- private BehaviorKind(int value, String name, String literal)
- {
+ private BehaviorKind(int value, String name, String literal) {
this.value = value;
this.name = name;
this.literal = literal;
@@ -224,36 +224,30 @@ public enum BehaviorKind implements Enumerator
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public int getValue()
- {
+ public int getValue() {
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public String getName()
- {
+ public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public String getLiteral()
- {
+ public String getLiteral() {
return literal;
}
@@ -261,12 +255,11 @@ public enum BehaviorKind implements Enumerator
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public String toString()
- {
+ public String toString() {
return literal;
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/DoRule.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/DoRule.java
index bbc25c03555..d735e2477bb 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/DoRule.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/DoRule.java
@@ -11,27 +11,27 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getKind <em>Kind</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getBehaviorName <em>Behavior Name</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getDoRule()
* @model
* @generated
*/
-public interface DoRule extends EObject
-{
+public interface DoRule extends EObject {
/**
* Returns the value of the '<em><b>Kind</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Kind</em>' attribute isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Kind</em>' attribute.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
* @see #setKind(BehaviorKind)
@@ -45,7 +45,7 @@ public interface DoRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getKind <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Kind</em>' attribute.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
@@ -58,10 +58,11 @@ public interface DoRule extends EObject
* Returns the value of the '<em><b>Behavior Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Behavior Name</em>' attribute isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Behavior Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Behavior Name</em>' attribute.
* @see #setBehaviorName(String)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getDoRule_BehaviorName()
@@ -74,7 +75,7 @@ public interface DoRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getBehaviorName <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Behavior Name</em>' attribute.
* @see #getBehaviorName()
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/EntryRule.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/EntryRule.java
index 36c778feb3e..640dbe955cd 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/EntryRule.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/EntryRule.java
@@ -11,27 +11,27 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getKind <em>Kind</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getBehaviorName <em>Behavior Name</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getEntryRule()
* @model
* @generated
*/
-public interface EntryRule extends EObject
-{
+public interface EntryRule extends EObject {
/**
* Returns the value of the '<em><b>Kind</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Kind</em>' attribute isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Kind</em>' attribute.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
* @see #setKind(BehaviorKind)
@@ -45,7 +45,7 @@ public interface EntryRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getKind <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Kind</em>' attribute.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
@@ -58,10 +58,11 @@ public interface EntryRule extends EObject
* Returns the value of the '<em><b>Behavior Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Behavior Name</em>' attribute isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Behavior Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Behavior Name</em>' attribute.
* @see #setBehaviorName(String)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getEntryRule_BehaviorName()
@@ -74,7 +75,7 @@ public interface EntryRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getBehaviorName <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Behavior Name</em>' attribute.
* @see #getBehaviorName()
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/ExitRule.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/ExitRule.java
index 67fabb4d2bd..44b243ff717 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/ExitRule.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/ExitRule.java
@@ -11,27 +11,27 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getKind <em>Kind</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getBehaviorName <em>Behavior Name</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getExitRule()
* @model
* @generated
*/
-public interface ExitRule extends EObject
-{
+public interface ExitRule extends EObject {
/**
* Returns the value of the '<em><b>Kind</b></em>' attribute.
* The literals are from the enumeration {@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Kind</em>' attribute isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Kind</em>' attribute.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
* @see #setKind(BehaviorKind)
@@ -45,7 +45,7 @@ public interface ExitRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getKind <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Kind</em>' attribute.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
@@ -58,10 +58,11 @@ public interface ExitRule extends EObject
* Returns the value of the '<em><b>Behavior Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Behavior Name</em>' attribute isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Behavior Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Behavior Name</em>' attribute.
* @see #setBehaviorName(String)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getExitRule_BehaviorName()
@@ -74,7 +75,7 @@ public interface ExitRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getBehaviorName <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Behavior Name</em>' attribute.
* @see #getBehaviorName()
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/QualifiedName.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/QualifiedName.java
index 8f6caf310b8..2d124386bf0 100644
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/QualifiedName.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/QualifiedName.java
@@ -12,26 +12,26 @@ import org.eclipse.uml2.uml.Namespace;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getPath <em>Path</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getRemaining <em>Remaining</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getQualifiedName()
* @model
* @generated
*/
-public interface QualifiedName extends EObject
-{
+public interface QualifiedName extends EObject {
/**
* Returns the value of the '<em><b>Path</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Path</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Path</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Path</em>' reference.
* @see #setPath(Namespace)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getQualifiedName_Path()
@@ -44,7 +44,7 @@ public interface QualifiedName extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getPath <em>Path</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Path</em>' reference.
* @see #getPath()
@@ -56,10 +56,11 @@ public interface QualifiedName extends EObject
* Returns the value of the '<em><b>Remaining</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Remaining</em>' containment reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Remaining</em>' containment reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Remaining</em>' containment reference.
* @see #setRemaining(QualifiedName)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getQualifiedName_Remaining()
@@ -72,7 +73,7 @@ public interface QualifiedName extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getRemaining <em>Remaining</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Remaining</em>' containment reference.
* @see #getRemaining()
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/StateRule.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/StateRule.java
index fef57b2a79b..77a760c1d4c 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/StateRule.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/StateRule.java
@@ -11,6 +11,7 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getSubmachine <em>Submachine</em>}</li>
@@ -18,22 +19,21 @@ import org.eclipse.emf.ecore.EObject;
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getDo <em>Do</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getExit <em>Exit</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getStateRule()
* @model
* @generated
*/
-public interface StateRule extends EObject
-{
+public interface StateRule extends EObject {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getStateRule_Name()
@@ -46,7 +46,7 @@ public interface StateRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Name</em>' attribute.
* @see #getName()
@@ -58,10 +58,11 @@ public interface StateRule extends EObject
* Returns the value of the '<em><b>Submachine</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Submachine</em>' containment reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Submachine</em>' containment reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Submachine</em>' containment reference.
* @see #setSubmachine(SubmachineRule)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getStateRule_Submachine()
@@ -74,7 +75,7 @@ public interface StateRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getSubmachine <em>Submachine</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Submachine</em>' containment reference.
* @see #getSubmachine()
@@ -86,10 +87,11 @@ public interface StateRule extends EObject
* Returns the value of the '<em><b>Entry</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Entry</em>' containment reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Entry</em>' containment reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Entry</em>' containment reference.
* @see #setEntry(EntryRule)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getStateRule_Entry()
@@ -102,7 +104,7 @@ public interface StateRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getEntry <em>Entry</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Entry</em>' containment reference.
* @see #getEntry()
@@ -114,10 +116,11 @@ public interface StateRule extends EObject
* Returns the value of the '<em><b>Do</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Do</em>' containment reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Do</em>' containment reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Do</em>' containment reference.
* @see #setDo(DoRule)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getStateRule_Do()
@@ -130,7 +133,7 @@ public interface StateRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getDo <em>Do</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Do</em>' containment reference.
* @see #getDo()
@@ -142,10 +145,11 @@ public interface StateRule extends EObject
* Returns the value of the '<em><b>Exit</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Exit</em>' containment reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Exit</em>' containment reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Exit</em>' containment reference.
* @see #setExit(ExitRule)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getStateRule_Exit()
@@ -158,7 +162,7 @@ public interface StateRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getExit <em>Exit</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Exit</em>' containment reference.
* @see #getExit()
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/SubmachineRule.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/SubmachineRule.java
index b0415863028..2cde1950585 100644
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/SubmachineRule.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/SubmachineRule.java
@@ -12,26 +12,26 @@ import org.eclipse.uml2.uml.StateMachine;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getPath <em>Path</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getSubmachine <em>Submachine</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getSubmachineRule()
* @model
* @generated
*/
-public interface SubmachineRule extends EObject
-{
+public interface SubmachineRule extends EObject {
/**
* Returns the value of the '<em><b>Path</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Path</em>' containment reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Path</em>' containment reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Path</em>' containment reference.
* @see #setPath(QualifiedName)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getSubmachineRule_Path()
@@ -44,7 +44,7 @@ public interface SubmachineRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getPath <em>Path</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Path</em>' containment reference.
* @see #getPath()
@@ -56,10 +56,11 @@ public interface SubmachineRule extends EObject
* Returns the value of the '<em><b>Submachine</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Submachine</em>' reference isn't clear, there really should be more of a description here...
+ * If the meaning of the '<em>Submachine</em>' reference isn't clear,
+ * there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- *
+ *
* @return the value of the '<em>Submachine</em>' reference.
* @see #setSubmachine(StateMachine)
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#getSubmachineRule_Submachine()
@@ -72,7 +73,7 @@ public interface SubmachineRule extends EObject
* Sets the value of the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getSubmachine <em>Submachine</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param value
* the new value of the '<em>Submachine</em>' reference.
* @see #getSubmachine()
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStateFactory.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStateFactory.java
index bf2e1efba85..dccedb66669 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStateFactory.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStateFactory.java
@@ -9,17 +9,16 @@ import org.eclipse.emf.ecore.EFactory;
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage
* @generated
*/
-public interface UmlStateFactory extends EFactory
-{
+public interface UmlStateFactory extends EFactory {
/**
* The singleton instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
UmlStateFactory eINSTANCE = org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStateFactoryImpl.init();
@@ -28,7 +27,7 @@ public interface UmlStateFactory extends EFactory
* Returns a new object of class '<em>State Rule</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return a new object of class '<em>State Rule</em>'.
* @generated
*/
@@ -38,7 +37,7 @@ public interface UmlStateFactory extends EFactory
* Returns a new object of class '<em>Submachine Rule</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return a new object of class '<em>Submachine Rule</em>'.
* @generated
*/
@@ -48,7 +47,7 @@ public interface UmlStateFactory extends EFactory
* Returns a new object of class '<em>Qualified Name</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return a new object of class '<em>Qualified Name</em>'.
* @generated
*/
@@ -58,7 +57,7 @@ public interface UmlStateFactory extends EFactory
* Returns a new object of class '<em>Entry Rule</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return a new object of class '<em>Entry Rule</em>'.
* @generated
*/
@@ -68,7 +67,7 @@ public interface UmlStateFactory extends EFactory
* Returns a new object of class '<em>Do Rule</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return a new object of class '<em>Do Rule</em>'.
* @generated
*/
@@ -78,7 +77,7 @@ public interface UmlStateFactory extends EFactory
* Returns a new object of class '<em>Exit Rule</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return a new object of class '<em>Exit Rule</em>'.
* @generated
*/
@@ -88,7 +87,7 @@ public interface UmlStateFactory extends EFactory
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the package supported by this factory.
* @generated
*/
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStatePackage.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStatePackage.java
index cbaed6d397a..c09d40d177f 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStatePackage.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/UmlStatePackage.java
@@ -19,18 +19,17 @@ import org.eclipse.emf.ecore.EReference;
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStateFactory
* @model kind="package"
* @generated
*/
-public interface UmlStatePackage extends EPackage
-{
+public interface UmlStatePackage extends EPackage {
/**
* The package name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
String eNAME = "umlState";
@@ -39,7 +38,7 @@ public interface UmlStatePackage extends EPackage
* The package namespace URI.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
String eNS_URI = "http://www.eclipse.org/papyrus/uml/textedit/state/xtext/UmlState";
@@ -48,7 +47,7 @@ public interface UmlStatePackage extends EPackage
* The package namespace name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
String eNS_PREFIX = "umlState";
@@ -57,7 +56,7 @@ public interface UmlStatePackage extends EPackage
* The singleton instance of the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
UmlStatePackage eINSTANCE = org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl.init();
@@ -66,7 +65,7 @@ public interface UmlStatePackage extends EPackage
* The meta object id for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl <em>State Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getStateRule()
* @generated
@@ -77,7 +76,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -87,7 +86,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Submachine</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -97,7 +96,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Entry</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -107,7 +106,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Do</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -117,7 +116,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Exit</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -127,7 +126,7 @@ public interface UmlStatePackage extends EPackage
* The number of structural features of the '<em>State Rule</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -137,7 +136,7 @@ public interface UmlStatePackage extends EPackage
* The meta object id for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.SubmachineRuleImpl <em>Submachine Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.SubmachineRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getSubmachineRule()
* @generated
@@ -148,7 +147,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Path</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -158,7 +157,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Submachine</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -168,7 +167,7 @@ public interface UmlStatePackage extends EPackage
* The number of structural features of the '<em>Submachine Rule</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -178,7 +177,7 @@ public interface UmlStatePackage extends EPackage
* The meta object id for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.QualifiedNameImpl <em>Qualified Name</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.QualifiedNameImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getQualifiedName()
* @generated
@@ -189,7 +188,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Path</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -199,7 +198,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Remaining</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -209,7 +208,7 @@ public interface UmlStatePackage extends EPackage
* The number of structural features of the '<em>Qualified Name</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -219,7 +218,7 @@ public interface UmlStatePackage extends EPackage
* The meta object id for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.EntryRuleImpl <em>Entry Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.EntryRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getEntryRule()
* @generated
@@ -230,7 +229,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Kind</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -240,7 +239,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Behavior Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -250,7 +249,7 @@ public interface UmlStatePackage extends EPackage
* The number of structural features of the '<em>Entry Rule</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -260,7 +259,7 @@ public interface UmlStatePackage extends EPackage
* The meta object id for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.DoRuleImpl <em>Do Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.DoRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getDoRule()
* @generated
@@ -271,7 +270,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Kind</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -281,7 +280,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Behavior Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -291,7 +290,7 @@ public interface UmlStatePackage extends EPackage
* The number of structural features of the '<em>Do Rule</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -301,7 +300,7 @@ public interface UmlStatePackage extends EPackage
* The meta object id for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.ExitRuleImpl <em>Exit Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.ExitRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getExitRule()
* @generated
@@ -312,7 +311,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Kind</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -322,7 +321,7 @@ public interface UmlStatePackage extends EPackage
* The feature id for the '<em><b>Behavior Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -332,7 +331,7 @@ public interface UmlStatePackage extends EPackage
* The number of structural features of the '<em>Exit Rule</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
* @ordered
*/
@@ -342,7 +341,7 @@ public interface UmlStatePackage extends EPackage
* The meta object id for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind <em>Behavior Kind</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getBehaviorKind()
* @generated
@@ -354,7 +353,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for class '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule <em>State Rule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for class '<em>State Rule</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule
* @generated
@@ -365,7 +364,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getName <em>Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Name</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getName()
* @see #getStateRule()
@@ -377,7 +376,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getSubmachine <em>Submachine</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the containment reference '<em>Submachine</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getSubmachine()
* @see #getStateRule()
@@ -389,7 +388,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getEntry <em>Entry</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the containment reference '<em>Entry</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getEntry()
* @see #getStateRule()
@@ -401,7 +400,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getDo <em>Do</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the containment reference '<em>Do</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getDo()
* @see #getStateRule()
@@ -413,7 +412,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getExit <em>Exit</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the containment reference '<em>Exit</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule#getExit()
* @see #getStateRule()
@@ -425,7 +424,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for class '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule <em>Submachine Rule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for class '<em>Submachine Rule</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule
* @generated
@@ -436,7 +435,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getPath <em>Path</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the containment reference '<em>Path</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getPath()
* @see #getSubmachineRule()
@@ -448,7 +447,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getSubmachine <em>Submachine</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the reference '<em>Submachine</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule#getSubmachine()
* @see #getSubmachineRule()
@@ -460,7 +459,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for class '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName <em>Qualified Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for class '<em>Qualified Name</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName
* @generated
@@ -471,7 +470,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getPath <em>Path</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the reference '<em>Path</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getPath()
* @see #getQualifiedName()
@@ -483,7 +482,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the containment reference '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getRemaining <em>Remaining</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the containment reference '<em>Remaining</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName#getRemaining()
* @see #getQualifiedName()
@@ -495,7 +494,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for class '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule <em>Entry Rule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for class '<em>Entry Rule</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule
* @generated
@@ -506,7 +505,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getKind <em>Kind</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Kind</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getKind()
* @see #getEntryRule()
@@ -518,7 +517,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getBehaviorName <em>Behavior Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Behavior Name</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule#getBehaviorName()
* @see #getEntryRule()
@@ -530,7 +529,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for class '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule <em>Do Rule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for class '<em>Do Rule</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule
* @generated
@@ -541,7 +540,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getKind <em>Kind</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Kind</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getKind()
* @see #getDoRule()
@@ -553,7 +552,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getBehaviorName <em>Behavior Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Behavior Name</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule#getBehaviorName()
* @see #getDoRule()
@@ -565,7 +564,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for class '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule <em>Exit Rule</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for class '<em>Exit Rule</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule
* @generated
@@ -576,7 +575,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getKind <em>Kind</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Kind</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getKind()
* @see #getExitRule()
@@ -588,7 +587,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for the attribute '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getBehaviorName <em>Behavior Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for the attribute '<em>Behavior Name</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule#getBehaviorName()
* @see #getExitRule()
@@ -600,7 +599,7 @@ public interface UmlStatePackage extends EPackage
* Returns the meta object for enum '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind <em>Behavior Kind</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the meta object for enum '<em>Behavior Kind</em>'.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
* @generated
@@ -611,7 +610,7 @@ public interface UmlStatePackage extends EPackage
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the factory that creates the instances of the model.
* @generated
*/
@@ -627,16 +626,15 @@ public interface UmlStatePackage extends EPackage
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- interface Literals
- {
+ interface Literals {
/**
* The meta object literal for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl <em>State Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getStateRule()
* @generated
@@ -647,7 +645,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Name</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute STATE_RULE__NAME = eINSTANCE.getStateRule_Name();
@@ -656,7 +654,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Submachine</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference STATE_RULE__SUBMACHINE = eINSTANCE.getStateRule_Submachine();
@@ -665,7 +663,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Entry</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference STATE_RULE__ENTRY = eINSTANCE.getStateRule_Entry();
@@ -674,7 +672,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Do</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference STATE_RULE__DO = eINSTANCE.getStateRule_Do();
@@ -683,7 +681,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Exit</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference STATE_RULE__EXIT = eINSTANCE.getStateRule_Exit();
@@ -692,7 +690,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.SubmachineRuleImpl <em>Submachine Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.SubmachineRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getSubmachineRule()
* @generated
@@ -703,7 +701,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Path</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference SUBMACHINE_RULE__PATH = eINSTANCE.getSubmachineRule_Path();
@@ -712,7 +710,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Submachine</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference SUBMACHINE_RULE__SUBMACHINE = eINSTANCE.getSubmachineRule_Submachine();
@@ -721,7 +719,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.QualifiedNameImpl <em>Qualified Name</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.QualifiedNameImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getQualifiedName()
* @generated
@@ -732,7 +730,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Path</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference QUALIFIED_NAME__PATH = eINSTANCE.getQualifiedName_Path();
@@ -741,7 +739,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Remaining</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EReference QUALIFIED_NAME__REMAINING = eINSTANCE.getQualifiedName_Remaining();
@@ -750,7 +748,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.EntryRuleImpl <em>Entry Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.EntryRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getEntryRule()
* @generated
@@ -761,7 +759,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute ENTRY_RULE__KIND = eINSTANCE.getEntryRule_Kind();
@@ -770,7 +768,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Behavior Name</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute ENTRY_RULE__BEHAVIOR_NAME = eINSTANCE.getEntryRule_BehaviorName();
@@ -779,7 +777,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.DoRuleImpl <em>Do Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.DoRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getDoRule()
* @generated
@@ -790,7 +788,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute DO_RULE__KIND = eINSTANCE.getDoRule_Kind();
@@ -799,7 +797,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Behavior Name</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute DO_RULE__BEHAVIOR_NAME = eINSTANCE.getDoRule_BehaviorName();
@@ -808,7 +806,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.ExitRuleImpl <em>Exit Rule</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.ExitRuleImpl
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getExitRule()
* @generated
@@ -819,7 +817,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute EXIT_RULE__KIND = eINSTANCE.getExitRule_Kind();
@@ -828,7 +826,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '<em><b>Behavior Name</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
EAttribute EXIT_RULE__BEHAVIOR_NAME = eINSTANCE.getExitRule_BehaviorName();
@@ -837,7 +835,7 @@ public interface UmlStatePackage extends EPackage
* The meta object literal for the '{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind <em>Behavior Kind</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.BehaviorKind
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.UmlStatePackageImpl#getBehaviorKind()
* @generated
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/DoRuleImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/DoRuleImpl.java
index 6ac2a3e9a79..656f79d357f 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/DoRuleImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/DoRuleImpl.java
@@ -16,21 +16,20 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.DoRuleImpl#getKind <em>Kind</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.DoRuleImpl#getBehaviorName <em>Behavior Name</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
-{
+public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule {
/**
* The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getKind()
* @generated
* @ordered
@@ -41,7 +40,7 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
* The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getKind()
* @generated
* @ordered
@@ -52,7 +51,7 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
* The default value of the '{@link #getBehaviorName() <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getBehaviorName()
* @generated
* @ordered
@@ -63,7 +62,7 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
* The cached value of the '{@link #getBehaviorName() <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getBehaviorName()
* @generated
* @ordered
@@ -73,93 +72,79 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- protected DoRuleImpl()
- {
+ protected DoRuleImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UmlStatePackage.Literals.DO_RULE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public BehaviorKind getKind()
- {
+ public BehaviorKind getKind() {
return kind;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setKind(BehaviorKind newKind)
- {
+ public void setKind(BehaviorKind newKind) {
BehaviorKind oldKind = kind;
kind = newKind == null ? KIND_EDEFAULT : newKind;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.DO_RULE__KIND, oldKind, kind));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public String getBehaviorName()
- {
+ public String getBehaviorName() {
return behaviorName;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setBehaviorName(String newBehaviorName)
- {
+ public void setBehaviorName(String newBehaviorName) {
String oldBehaviorName = behaviorName;
behaviorName = newBehaviorName;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.DO_RULE__BEHAVIOR_NAME, oldBehaviorName, behaviorName));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UmlStatePackage.DO_RULE__KIND:
return getKind();
case UmlStatePackage.DO_RULE__BEHAVIOR_NAME:
@@ -171,14 +156,12 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UmlStatePackage.DO_RULE__KIND:
setKind((BehaviorKind) newValue);
return;
@@ -192,14 +175,12 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UmlStatePackage.DO_RULE__KIND:
setKind(KIND_EDEFAULT);
return;
@@ -213,14 +194,12 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UmlStatePackage.DO_RULE__KIND:
return kind != KIND_EDEFAULT;
case UmlStatePackage.DO_RULE__BEHAVIOR_NAME:
@@ -232,17 +211,15 @@ public class DoRuleImpl extends MinimalEObjectImpl.Container implements DoRule
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public String toString()
- {
- if (eIsProxy()) {
+ public String toString() {
+ if (eIsProxy())
return super.toString();
- }
- StringBuffer result = new StringBuffer(super.toString());
+ StringBuilder result = new StringBuilder(super.toString());
result.append(" (kind: ");
result.append(kind);
result.append(", behaviorName: ");
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/EntryRuleImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/EntryRuleImpl.java
index 34bf3be55e1..fc3a191138b 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/EntryRuleImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/EntryRuleImpl.java
@@ -16,21 +16,20 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.EntryRuleImpl#getKind <em>Kind</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.EntryRuleImpl#getBehaviorName <em>Behavior Name</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class EntryRuleImpl extends MinimalEObjectImpl.Container implements EntryRule
-{
+public class EntryRuleImpl extends MinimalEObjectImpl.Container implements EntryRule {
/**
* The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getKind()
* @generated
* @ordered
@@ -41,7 +40,7 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
* The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getKind()
* @generated
* @ordered
@@ -52,7 +51,7 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
* The default value of the '{@link #getBehaviorName() <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getBehaviorName()
* @generated
* @ordered
@@ -63,7 +62,7 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
* The cached value of the '{@link #getBehaviorName() <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getBehaviorName()
* @generated
* @ordered
@@ -73,93 +72,79 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- protected EntryRuleImpl()
- {
+ protected EntryRuleImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UmlStatePackage.Literals.ENTRY_RULE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public BehaviorKind getKind()
- {
+ public BehaviorKind getKind() {
return kind;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setKind(BehaviorKind newKind)
- {
+ public void setKind(BehaviorKind newKind) {
BehaviorKind oldKind = kind;
kind = newKind == null ? KIND_EDEFAULT : newKind;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.ENTRY_RULE__KIND, oldKind, kind));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public String getBehaviorName()
- {
+ public String getBehaviorName() {
return behaviorName;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setBehaviorName(String newBehaviorName)
- {
+ public void setBehaviorName(String newBehaviorName) {
String oldBehaviorName = behaviorName;
behaviorName = newBehaviorName;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.ENTRY_RULE__BEHAVIOR_NAME, oldBehaviorName, behaviorName));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UmlStatePackage.ENTRY_RULE__KIND:
return getKind();
case UmlStatePackage.ENTRY_RULE__BEHAVIOR_NAME:
@@ -171,14 +156,12 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UmlStatePackage.ENTRY_RULE__KIND:
setKind((BehaviorKind) newValue);
return;
@@ -192,14 +175,12 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UmlStatePackage.ENTRY_RULE__KIND:
setKind(KIND_EDEFAULT);
return;
@@ -213,14 +194,12 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UmlStatePackage.ENTRY_RULE__KIND:
return kind != KIND_EDEFAULT;
case UmlStatePackage.ENTRY_RULE__BEHAVIOR_NAME:
@@ -232,17 +211,15 @@ public class EntryRuleImpl extends MinimalEObjectImpl.Container implements Entry
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public String toString()
- {
- if (eIsProxy()) {
+ public String toString() {
+ if (eIsProxy())
return super.toString();
- }
- StringBuffer result = new StringBuffer(super.toString());
+ StringBuilder result = new StringBuilder(super.toString());
result.append(" (kind: ");
result.append(kind);
result.append(", behaviorName: ");
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/ExitRuleImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/ExitRuleImpl.java
index 224347465ad..8198710189c 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/ExitRuleImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/ExitRuleImpl.java
@@ -16,21 +16,20 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.ExitRuleImpl#getKind <em>Kind</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.ExitRuleImpl#getBehaviorName <em>Behavior Name</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRule
-{
+public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRule {
/**
* The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getKind()
* @generated
* @ordered
@@ -41,7 +40,7 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
* The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getKind()
* @generated
* @ordered
@@ -52,7 +51,7 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
* The default value of the '{@link #getBehaviorName() <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getBehaviorName()
* @generated
* @ordered
@@ -63,7 +62,7 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
* The cached value of the '{@link #getBehaviorName() <em>Behavior Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getBehaviorName()
* @generated
* @ordered
@@ -73,93 +72,79 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- protected ExitRuleImpl()
- {
+ protected ExitRuleImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UmlStatePackage.Literals.EXIT_RULE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public BehaviorKind getKind()
- {
+ public BehaviorKind getKind() {
return kind;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setKind(BehaviorKind newKind)
- {
+ public void setKind(BehaviorKind newKind) {
BehaviorKind oldKind = kind;
kind = newKind == null ? KIND_EDEFAULT : newKind;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.EXIT_RULE__KIND, oldKind, kind));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public String getBehaviorName()
- {
+ public String getBehaviorName() {
return behaviorName;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setBehaviorName(String newBehaviorName)
- {
+ public void setBehaviorName(String newBehaviorName) {
String oldBehaviorName = behaviorName;
behaviorName = newBehaviorName;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.EXIT_RULE__BEHAVIOR_NAME, oldBehaviorName, behaviorName));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UmlStatePackage.EXIT_RULE__KIND:
return getKind();
case UmlStatePackage.EXIT_RULE__BEHAVIOR_NAME:
@@ -171,14 +156,12 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UmlStatePackage.EXIT_RULE__KIND:
setKind((BehaviorKind) newValue);
return;
@@ -192,14 +175,12 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UmlStatePackage.EXIT_RULE__KIND:
setKind(KIND_EDEFAULT);
return;
@@ -213,14 +194,12 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UmlStatePackage.EXIT_RULE__KIND:
return kind != KIND_EDEFAULT;
case UmlStatePackage.EXIT_RULE__BEHAVIOR_NAME:
@@ -232,17 +211,15 @@ public class ExitRuleImpl extends MinimalEObjectImpl.Container implements ExitRu
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public String toString()
- {
- if (eIsProxy()) {
+ public String toString() {
+ if (eIsProxy())
return super.toString();
- }
- StringBuffer result = new StringBuffer(super.toString());
+ StringBuilder result = new StringBuilder(super.toString());
result.append(" (kind: ");
result.append(kind);
result.append(", behaviorName: ");
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/QualifiedNameImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/QualifiedNameImpl.java
index a66c23e0b10..01625a8d068 100644
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/QualifiedNameImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/QualifiedNameImpl.java
@@ -18,21 +18,20 @@ import org.eclipse.uml2.uml.Namespace;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.QualifiedNameImpl#getPath <em>Path</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.QualifiedNameImpl#getRemaining <em>Remaining</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements QualifiedName
-{
+public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements QualifiedName {
/**
* The cached value of the '{@link #getPath() <em>Path</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getPath()
* @generated
* @ordered
@@ -43,7 +42,7 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
* The cached value of the '{@link #getRemaining() <em>Remaining</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getRemaining()
* @generated
* @ordered
@@ -53,44 +52,37 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- protected QualifiedNameImpl()
- {
+ protected QualifiedNameImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UmlStatePackage.Literals.QUALIFIED_NAME;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public Namespace getPath()
- {
- if (path != null && path.eIsProxy())
- {
+ public Namespace getPath() {
+ if (path != null && path.eIsProxy()) {
InternalEObject oldPath = (InternalEObject) path;
path = (Namespace) eResolveProxy(oldPath);
- if (path != oldPath)
- {
- if (eNotificationRequired()) {
+ if (path != oldPath) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UmlStatePackage.QUALIFIED_NAME__PATH, oldPath, path));
- }
}
}
return path;
@@ -99,60 +91,51 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public Namespace basicGetPath()
- {
+ public Namespace basicGetPath() {
return path;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setPath(Namespace newPath)
- {
+ public void setPath(Namespace newPath) {
Namespace oldPath = path;
path = newPath;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.QUALIFIED_NAME__PATH, oldPath, path));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public QualifiedName getRemaining()
- {
+ public QualifiedName getRemaining() {
return remaining;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public NotificationChain basicSetRemaining(QualifiedName newRemaining, NotificationChain msgs)
- {
+ public NotificationChain basicSetRemaining(QualifiedName newRemaining, NotificationChain msgs) {
QualifiedName oldRemaining = remaining;
remaining = newRemaining;
- if (eNotificationRequired())
- {
+ if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UmlStatePackage.QUALIFIED_NAME__REMAINING, oldRemaining, newRemaining);
- if (msgs == null) {
+ if (msgs == null)
msgs = notification;
- } else {
+ else
msgs.add(notification);
- }
}
return msgs;
}
@@ -160,42 +143,32 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setRemaining(QualifiedName newRemaining)
- {
- if (newRemaining != remaining)
- {
+ public void setRemaining(QualifiedName newRemaining) {
+ if (newRemaining != remaining) {
NotificationChain msgs = null;
- if (remaining != null) {
+ if (remaining != null)
msgs = ((InternalEObject) remaining).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.QUALIFIED_NAME__REMAINING, null, msgs);
- }
- if (newRemaining != null) {
+ if (newRemaining != null)
msgs = ((InternalEObject) newRemaining).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.QUALIFIED_NAME__REMAINING, null, msgs);
- }
msgs = basicSetRemaining(newRemaining, msgs);
- if (msgs != null) {
+ if (msgs != null)
msgs.dispatch();
- }
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.QUALIFIED_NAME__REMAINING, newRemaining, newRemaining));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
case UmlStatePackage.QUALIFIED_NAME__REMAINING:
return basicSetRemaining(null, msgs);
}
@@ -205,18 +178,15 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UmlStatePackage.QUALIFIED_NAME__PATH:
- if (resolve) {
+ if (resolve)
return getPath();
- }
return basicGetPath();
case UmlStatePackage.QUALIFIED_NAME__REMAINING:
return getRemaining();
@@ -227,14 +197,12 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UmlStatePackage.QUALIFIED_NAME__PATH:
setPath((Namespace) newValue);
return;
@@ -248,14 +216,12 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UmlStatePackage.QUALIFIED_NAME__PATH:
setPath((Namespace) null);
return;
@@ -269,14 +235,12 @@ public class QualifiedNameImpl extends MinimalEObjectImpl.Container implements Q
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UmlStatePackage.QUALIFIED_NAME__PATH:
return path != null;
case UmlStatePackage.QUALIFIED_NAME__REMAINING:
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/StateRuleImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/StateRuleImpl.java
index f48111932b1..01d6d4f7f08 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/StateRuleImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/StateRuleImpl.java
@@ -21,6 +21,7 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl#getSubmachine <em>Submachine</em>}</li>
@@ -28,17 +29,15 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl#getDo <em>Do</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.StateRuleImpl#getExit <em>Exit</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class StateRuleImpl extends MinimalEObjectImpl.Container implements StateRule
-{
+public class StateRuleImpl extends MinimalEObjectImpl.Container implements StateRule {
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getName()
* @generated
* @ordered
@@ -49,7 +48,7 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getName()
* @generated
* @ordered
@@ -60,7 +59,7 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
* The cached value of the '{@link #getSubmachine() <em>Submachine</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getSubmachine()
* @generated
* @ordered
@@ -71,7 +70,7 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
* The cached value of the '{@link #getEntry() <em>Entry</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getEntry()
* @generated
* @ordered
@@ -82,7 +81,7 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
* The cached value of the '{@link #getDo() <em>Do</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getDo()
* @generated
* @ordered
@@ -93,7 +92,7 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
* The cached value of the '{@link #getExit() <em>Exit</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getExit()
* @generated
* @ordered
@@ -103,84 +102,72 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- protected StateRuleImpl()
- {
+ protected StateRuleImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UmlStatePackage.Literals.STATE_RULE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public String getName()
- {
+ public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setName(String newName)
- {
+ public void setName(String newName) {
String oldName = name;
name = newName;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__NAME, oldName, name));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public SubmachineRule getSubmachine()
- {
+ public SubmachineRule getSubmachine() {
return submachine;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public NotificationChain basicSetSubmachine(SubmachineRule newSubmachine, NotificationChain msgs)
- {
+ public NotificationChain basicSetSubmachine(SubmachineRule newSubmachine, NotificationChain msgs) {
SubmachineRule oldSubmachine = submachine;
submachine = newSubmachine;
- if (eNotificationRequired())
- {
+ if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__SUBMACHINE, oldSubmachine, newSubmachine);
- if (msgs == null) {
+ if (msgs == null)
msgs = notification;
- } else {
+ else
msgs.add(notification);
- }
}
return msgs;
}
@@ -188,61 +175,48 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setSubmachine(SubmachineRule newSubmachine)
- {
- if (newSubmachine != submachine)
- {
+ public void setSubmachine(SubmachineRule newSubmachine) {
+ if (newSubmachine != submachine) {
NotificationChain msgs = null;
- if (submachine != null) {
+ if (submachine != null)
msgs = ((InternalEObject) submachine).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__SUBMACHINE, null, msgs);
- }
- if (newSubmachine != null) {
+ if (newSubmachine != null)
msgs = ((InternalEObject) newSubmachine).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__SUBMACHINE, null, msgs);
- }
msgs = basicSetSubmachine(newSubmachine, msgs);
- if (msgs != null) {
+ if (msgs != null)
msgs.dispatch();
- }
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__SUBMACHINE, newSubmachine, newSubmachine));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EntryRule getEntry()
- {
+ public EntryRule getEntry() {
return entry;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public NotificationChain basicSetEntry(EntryRule newEntry, NotificationChain msgs)
- {
+ public NotificationChain basicSetEntry(EntryRule newEntry, NotificationChain msgs) {
EntryRule oldEntry = entry;
entry = newEntry;
- if (eNotificationRequired())
- {
+ if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__ENTRY, oldEntry, newEntry);
- if (msgs == null) {
+ if (msgs == null)
msgs = notification;
- } else {
+ else
msgs.add(notification);
- }
}
return msgs;
}
@@ -250,61 +224,48 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setEntry(EntryRule newEntry)
- {
- if (newEntry != entry)
- {
+ public void setEntry(EntryRule newEntry) {
+ if (newEntry != entry) {
NotificationChain msgs = null;
- if (entry != null) {
+ if (entry != null)
msgs = ((InternalEObject) entry).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__ENTRY, null, msgs);
- }
- if (newEntry != null) {
+ if (newEntry != null)
msgs = ((InternalEObject) newEntry).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__ENTRY, null, msgs);
- }
msgs = basicSetEntry(newEntry, msgs);
- if (msgs != null) {
+ if (msgs != null)
msgs.dispatch();
- }
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__ENTRY, newEntry, newEntry));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public DoRule getDo()
- {
+ public DoRule getDo() {
return do_;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public NotificationChain basicSetDo(DoRule newDo, NotificationChain msgs)
- {
+ public NotificationChain basicSetDo(DoRule newDo, NotificationChain msgs) {
DoRule oldDo = do_;
do_ = newDo;
- if (eNotificationRequired())
- {
+ if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__DO, oldDo, newDo);
- if (msgs == null) {
+ if (msgs == null)
msgs = notification;
- } else {
+ else
msgs.add(notification);
- }
}
return msgs;
}
@@ -312,61 +273,48 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setDo(DoRule newDo)
- {
- if (newDo != do_)
- {
+ public void setDo(DoRule newDo) {
+ if (newDo != do_) {
NotificationChain msgs = null;
- if (do_ != null) {
+ if (do_ != null)
msgs = ((InternalEObject) do_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__DO, null, msgs);
- }
- if (newDo != null) {
+ if (newDo != null)
msgs = ((InternalEObject) newDo).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__DO, null, msgs);
- }
msgs = basicSetDo(newDo, msgs);
- if (msgs != null) {
+ if (msgs != null)
msgs.dispatch();
- }
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__DO, newDo, newDo));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public ExitRule getExit()
- {
+ public ExitRule getExit() {
return exit;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public NotificationChain basicSetExit(ExitRule newExit, NotificationChain msgs)
- {
+ public NotificationChain basicSetExit(ExitRule newExit, NotificationChain msgs) {
ExitRule oldExit = exit;
exit = newExit;
- if (eNotificationRequired())
- {
+ if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__EXIT, oldExit, newExit);
- if (msgs == null) {
+ if (msgs == null)
msgs = notification;
- } else {
+ else
msgs.add(notification);
- }
}
return msgs;
}
@@ -374,42 +322,32 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setExit(ExitRule newExit)
- {
- if (newExit != exit)
- {
+ public void setExit(ExitRule newExit) {
+ if (newExit != exit) {
NotificationChain msgs = null;
- if (exit != null) {
+ if (exit != null)
msgs = ((InternalEObject) exit).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__EXIT, null, msgs);
- }
- if (newExit != null) {
+ if (newExit != null)
msgs = ((InternalEObject) newExit).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.STATE_RULE__EXIT, null, msgs);
- }
msgs = basicSetExit(newExit, msgs);
- if (msgs != null) {
+ if (msgs != null)
msgs.dispatch();
- }
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.STATE_RULE__EXIT, newExit, newExit));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
case UmlStatePackage.STATE_RULE__SUBMACHINE:
return basicSetSubmachine(null, msgs);
case UmlStatePackage.STATE_RULE__ENTRY:
@@ -425,14 +363,12 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UmlStatePackage.STATE_RULE__NAME:
return getName();
case UmlStatePackage.STATE_RULE__SUBMACHINE:
@@ -450,14 +386,12 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UmlStatePackage.STATE_RULE__NAME:
setName((String) newValue);
return;
@@ -480,14 +414,12 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UmlStatePackage.STATE_RULE__NAME:
setName(NAME_EDEFAULT);
return;
@@ -510,14 +442,12 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UmlStatePackage.STATE_RULE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case UmlStatePackage.STATE_RULE__SUBMACHINE:
@@ -535,17 +465,15 @@ public class StateRuleImpl extends MinimalEObjectImpl.Container implements State
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public String toString()
- {
- if (eIsProxy()) {
+ public String toString() {
+ if (eIsProxy())
return super.toString();
- }
- StringBuffer result = new StringBuffer(super.toString());
+ StringBuilder result = new StringBuilder(super.toString());
result.append(" (name: ");
result.append(name);
result.append(')');
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/SubmachineRuleImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/SubmachineRuleImpl.java
index 97ee8c1c09f..1258ca21be8 100644
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/SubmachineRuleImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/SubmachineRuleImpl.java
@@ -19,21 +19,20 @@ import org.eclipse.uml2.uml.StateMachine;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.SubmachineRuleImpl#getPath <em>Path</em>}</li>
* <li>{@link org.eclipse.papyrus.uml.textedit.state.xtext.umlState.impl.SubmachineRuleImpl#getSubmachine <em>Submachine</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
-public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements SubmachineRule
-{
+public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements SubmachineRule {
/**
* The cached value of the '{@link #getPath() <em>Path</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getPath()
* @generated
* @ordered
@@ -44,7 +43,7 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
* The cached value of the '{@link #getSubmachine() <em>Submachine</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @see #getSubmachine()
* @generated
* @ordered
@@ -54,56 +53,49 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- protected SubmachineRuleImpl()
- {
+ protected SubmachineRuleImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- protected EClass eStaticClass()
- {
+ protected EClass eStaticClass() {
return UmlStatePackage.Literals.SUBMACHINE_RULE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public QualifiedName getPath()
- {
+ public QualifiedName getPath() {
return path;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public NotificationChain basicSetPath(QualifiedName newPath, NotificationChain msgs)
- {
+ public NotificationChain basicSetPath(QualifiedName newPath, NotificationChain msgs) {
QualifiedName oldPath = path;
path = newPath;
- if (eNotificationRequired())
- {
+ if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, UmlStatePackage.SUBMACHINE_RULE__PATH, oldPath, newPath);
- if (msgs == null) {
+ if (msgs == null)
msgs = notification;
- } else {
+ else
msgs.add(notification);
- }
}
return msgs;
}
@@ -111,49 +103,36 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setPath(QualifiedName newPath)
- {
- if (newPath != path)
- {
+ public void setPath(QualifiedName newPath) {
+ if (newPath != path) {
NotificationChain msgs = null;
- if (path != null) {
+ if (path != null)
msgs = ((InternalEObject) path).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.SUBMACHINE_RULE__PATH, null, msgs);
- }
- if (newPath != null) {
+ if (newPath != null)
msgs = ((InternalEObject) newPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - UmlStatePackage.SUBMACHINE_RULE__PATH, null, msgs);
- }
msgs = basicSetPath(newPath, msgs);
- if (msgs != null) {
+ if (msgs != null)
msgs.dispatch();
- }
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.SUBMACHINE_RULE__PATH, newPath, newPath));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public StateMachine getSubmachine()
- {
- if (submachine != null && submachine.eIsProxy())
- {
+ public StateMachine getSubmachine() {
+ if (submachine != null && submachine.eIsProxy()) {
InternalEObject oldSubmachine = (InternalEObject) submachine;
submachine = (StateMachine) eResolveProxy(oldSubmachine);
- if (submachine != oldSubmachine)
- {
- if (eNotificationRequired()) {
+ if (submachine != oldSubmachine) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, UmlStatePackage.SUBMACHINE_RULE__SUBMACHINE, oldSubmachine, submachine));
- }
}
}
return submachine;
@@ -162,41 +141,35 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public StateMachine basicGetSubmachine()
- {
+ public StateMachine basicGetSubmachine() {
return submachine;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public void setSubmachine(StateMachine newSubmachine)
- {
+ public void setSubmachine(StateMachine newSubmachine) {
StateMachine oldSubmachine = submachine;
submachine = newSubmachine;
- if (eNotificationRequired()) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, UmlStatePackage.SUBMACHINE_RULE__SUBMACHINE, oldSubmachine, submachine));
- }
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
case UmlStatePackage.SUBMACHINE_RULE__PATH:
return basicSetPath(null, msgs);
}
@@ -206,20 +179,17 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
case UmlStatePackage.SUBMACHINE_RULE__PATH:
return getPath();
case UmlStatePackage.SUBMACHINE_RULE__SUBMACHINE:
- if (resolve) {
+ if (resolve)
return getSubmachine();
- }
return basicGetSubmachine();
}
return super.eGet(featureID, resolve, coreType);
@@ -228,14 +198,12 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
case UmlStatePackage.SUBMACHINE_RULE__PATH:
setPath((QualifiedName) newValue);
return;
@@ -249,14 +217,12 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
+ public void eUnset(int featureID) {
+ switch (featureID) {
case UmlStatePackage.SUBMACHINE_RULE__PATH:
setPath((QualifiedName) null);
return;
@@ -270,14 +236,12 @@ public class SubmachineRuleImpl extends MinimalEObjectImpl.Container implements
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
case UmlStatePackage.SUBMACHINE_RULE__PATH:
return path != null;
case UmlStatePackage.SUBMACHINE_RULE__SUBMACHINE:
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStateFactoryImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStateFactoryImpl.java
index dcbe6d1f26f..68500654709 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStateFactoryImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStateFactoryImpl.java
@@ -22,29 +22,24 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
-public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
-{
+public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public static UmlStateFactory init()
- {
- try
- {
+ public static UmlStateFactory init() {
+ try {
UmlStateFactory theUmlStateFactory = (UmlStateFactory) EPackage.Registry.INSTANCE.getEFactory(UmlStatePackage.eNS_URI);
- if (theUmlStateFactory != null)
- {
+ if (theUmlStateFactory != null) {
return theUmlStateFactory;
}
- } catch (Exception exception)
- {
+ } catch (Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new UmlStateFactoryImpl();
@@ -54,25 +49,22 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public UmlStateFactoryImpl()
- {
+ public UmlStateFactoryImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public EObject create(EClass eClass)
- {
- switch (eClass.getClassifierID())
- {
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
case UmlStatePackage.STATE_RULE:
return createStateRule();
case UmlStatePackage.SUBMACHINE_RULE:
@@ -93,14 +85,12 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public Object createFromString(EDataType eDataType, String initialValue)
- {
- switch (eDataType.getClassifierID())
- {
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
case UmlStatePackage.BEHAVIOR_KIND:
return createBehaviorKindFromString(eDataType, initialValue);
default:
@@ -111,14 +101,12 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
@Override
- public String convertToString(EDataType eDataType, Object instanceValue)
- {
- switch (eDataType.getClassifierID())
- {
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
case UmlStatePackage.BEHAVIOR_KIND:
return convertBehaviorKindToString(eDataType, instanceValue);
default:
@@ -129,12 +117,10 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public StateRule createStateRule()
- {
+ public StateRule createStateRule() {
StateRuleImpl stateRule = new StateRuleImpl();
return stateRule;
}
@@ -142,12 +128,10 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public SubmachineRule createSubmachineRule()
- {
+ public SubmachineRule createSubmachineRule() {
SubmachineRuleImpl submachineRule = new SubmachineRuleImpl();
return submachineRule;
}
@@ -155,12 +139,10 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public QualifiedName createQualifiedName()
- {
+ public QualifiedName createQualifiedName() {
QualifiedNameImpl qualifiedName = new QualifiedNameImpl();
return qualifiedName;
}
@@ -168,12 +150,10 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EntryRule createEntryRule()
- {
+ public EntryRule createEntryRule() {
EntryRuleImpl entryRule = new EntryRuleImpl();
return entryRule;
}
@@ -181,12 +161,10 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public DoRule createDoRule()
- {
+ public DoRule createDoRule() {
DoRuleImpl doRule = new DoRuleImpl();
return doRule;
}
@@ -194,12 +172,10 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public ExitRule createExitRule()
- {
+ public ExitRule createExitRule() {
ExitRuleImpl exitRule = new ExitRuleImpl();
return exitRule;
}
@@ -207,51 +183,45 @@ public class UmlStateFactoryImpl extends EFactoryImpl implements UmlStateFactory
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public BehaviorKind createBehaviorKindFromString(EDataType eDataType, String initialValue)
- {
+ public BehaviorKind createBehaviorKindFromString(EDataType eDataType, String initialValue) {
BehaviorKind result = BehaviorKind.get(initialValue);
- if (result == null) {
+ if (result == null)
throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
- }
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public String convertBehaviorKindToString(EDataType eDataType, Object instanceValue)
- {
+ public String convertBehaviorKindToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public UmlStatePackage getUmlStatePackage()
- {
+ public UmlStatePackage getUmlStatePackage() {
return (UmlStatePackage) getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @deprecated
* @generated
*/
@Deprecated
- public static UmlStatePackage getPackage()
- {
+ public static UmlStatePackage getPackage() {
return UmlStatePackage.eINSTANCE;
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStatePackageImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStatePackageImpl.java
index cfdcf1fafef..1046f9bef48 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStatePackageImpl.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/impl/UmlStatePackageImpl.java
@@ -18,21 +18,21 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStateFactory;
import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
+import org.eclipse.uml2.types.TypesPackage;
import org.eclipse.uml2.uml.UMLPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
-public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
-{
+public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EClass stateRuleEClass = null;
@@ -40,7 +40,7 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EClass submachineRuleEClass = null;
@@ -48,7 +48,7 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EClass qualifiedNameEClass = null;
@@ -56,7 +56,7 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EClass entryRuleEClass = null;
@@ -64,7 +64,7 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EClass doRuleEClass = null;
@@ -72,7 +72,7 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EClass exitRuleEClass = null;
@@ -80,31 +80,36 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private EEnum behaviorKindEEnum = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage#eNS_URI
* @see #init()
* @generated
*/
- private UmlStatePackageImpl()
- {
+ private UmlStatePackageImpl() {
super(eNS_URI, UmlStateFactory.eINSTANCE);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private static boolean isInited = false;
@@ -113,26 +118,30 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link UmlStatePackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
+ * This method is used to initialize {@link UmlStatePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
* @generated
*/
- public static UmlStatePackage init()
- {
- if (isInited) {
+ public static UmlStatePackage init() {
+ if (isInited)
return (UmlStatePackage) EPackage.Registry.INSTANCE.getEPackage(UmlStatePackage.eNS_URI);
- }
// Obtain or create and register package
- UmlStatePackageImpl theUmlStatePackage = (UmlStatePackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof UmlStatePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new UmlStatePackageImpl());
+ Object registeredUmlStatePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ UmlStatePackageImpl theUmlStatePackage = registeredUmlStatePackage instanceof UmlStatePackageImpl ? (UmlStatePackageImpl) registeredUmlStatePackage : new UmlStatePackageImpl();
isInited = true;
// Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
UMLPackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
// Create package meta-data objects
theUmlStatePackage.createPackageContents();
@@ -143,7 +152,6 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
// Mark meta-data to indicate it can't be changed
theUmlStatePackage.freeze();
-
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(UmlStatePackage.eNS_URI, theUmlStatePackage);
return theUmlStatePackage;
@@ -152,283 +160,237 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EClass getStateRule()
- {
+ public EClass getStateRule() {
return stateRuleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EAttribute getStateRule_Name()
- {
+ public EAttribute getStateRule_Name() {
return (EAttribute) stateRuleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getStateRule_Submachine()
- {
+ public EReference getStateRule_Submachine() {
return (EReference) stateRuleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getStateRule_Entry()
- {
+ public EReference getStateRule_Entry() {
return (EReference) stateRuleEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getStateRule_Do()
- {
+ public EReference getStateRule_Do() {
return (EReference) stateRuleEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getStateRule_Exit()
- {
+ public EReference getStateRule_Exit() {
return (EReference) stateRuleEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EClass getSubmachineRule()
- {
+ public EClass getSubmachineRule() {
return submachineRuleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getSubmachineRule_Path()
- {
+ public EReference getSubmachineRule_Path() {
return (EReference) submachineRuleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getSubmachineRule_Submachine()
- {
+ public EReference getSubmachineRule_Submachine() {
return (EReference) submachineRuleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EClass getQualifiedName()
- {
+ public EClass getQualifiedName() {
return qualifiedNameEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getQualifiedName_Path()
- {
+ public EReference getQualifiedName_Path() {
return (EReference) qualifiedNameEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EReference getQualifiedName_Remaining()
- {
+ public EReference getQualifiedName_Remaining() {
return (EReference) qualifiedNameEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EClass getEntryRule()
- {
+ public EClass getEntryRule() {
return entryRuleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EAttribute getEntryRule_Kind()
- {
+ public EAttribute getEntryRule_Kind() {
return (EAttribute) entryRuleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EAttribute getEntryRule_BehaviorName()
- {
+ public EAttribute getEntryRule_BehaviorName() {
return (EAttribute) entryRuleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EClass getDoRule()
- {
+ public EClass getDoRule() {
return doRuleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EAttribute getDoRule_Kind()
- {
+ public EAttribute getDoRule_Kind() {
return (EAttribute) doRuleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EAttribute getDoRule_BehaviorName()
- {
+ public EAttribute getDoRule_BehaviorName() {
return (EAttribute) doRuleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EClass getExitRule()
- {
+ public EClass getExitRule() {
return exitRuleEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EAttribute getExitRule_Kind()
- {
+ public EAttribute getExitRule_Kind() {
return (EAttribute) exitRuleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EAttribute getExitRule_BehaviorName()
- {
+ public EAttribute getExitRule_BehaviorName() {
return (EAttribute) exitRuleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public EEnum getBehaviorKind()
- {
+ public EEnum getBehaviorKind() {
return behaviorKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- @Override
- public UmlStateFactory getUmlStateFactory()
- {
+ public UmlStateFactory getUmlStateFactory() {
return (UmlStateFactory) getEFactoryInstance();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private boolean isCreated = false;
@@ -438,14 +400,12 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
* guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public void createPackageContents()
- {
- if (isCreated) {
+ public void createPackageContents() {
+ if (isCreated)
return;
- }
isCreated = true;
// Create classes and their features
@@ -483,7 +443,7 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
private boolean isInitialized = false;
@@ -493,14 +453,12 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
* method is guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public void initializePackageContents()
- {
- if (isInitialized) {
+ public void initializePackageContents() {
+ if (isInitialized)
return;
- }
isInitialized = true;
// Initialize package
@@ -528,12 +486,13 @@ public class UmlStatePackageImpl extends EPackageImpl implements UmlStatePackage
initEClass(submachineRuleEClass, SubmachineRule.class, "SubmachineRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubmachineRule_Path(), this.getQualifiedName(), null, "path", null, 0, 1, SubmachineRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getSubmachineRule_Submachine(), theUMLPackage.getStateMachine(), null, "submachine", null, 0, 1, SubmachineRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
- !IS_DERIVED, IS_ORDERED);
+ initEReference(getSubmachineRule_Submachine(), theUMLPackage.getStateMachine(), null, "submachine", null, 0, 1, SubmachineRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
initEClass(qualifiedNameEClass, QualifiedName.class, "QualifiedName", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getQualifiedName_Path(), theUMLPackage.getNamespace(), null, "path", null, 0, 1, QualifiedName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getQualifiedName_Remaining(), this.getQualifiedName(), null, "remaining", null, 0, 1, QualifiedName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getQualifiedName_Remaining(), this.getQualifiedName(), null, "remaining", null, 0, 1, QualifiedName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
initEClass(entryRuleEClass, EntryRule.class, "EntryRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getEntryRule_Kind(), this.getBehaviorKind(), "kind", null, 0, 1, EntryRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateAdapterFactory.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateAdapterFactory.java
index 141ddb3512f..4bcf121fd29 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateAdapterFactory.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateAdapterFactory.java
@@ -19,17 +19,16 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
* The <b>Adapter Factory</b> for the model.
* It provides an adapter <code>createXXX</code> method for each class of the model.
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage
* @generated
*/
-public class UmlStateAdapterFactory extends AdapterFactoryImpl
-{
+public class UmlStateAdapterFactory extends AdapterFactoryImpl {
/**
* The cached model package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
protected static UmlStatePackage modelPackage;
@@ -38,13 +37,11 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* Creates an instance of the adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public UmlStateAdapterFactory()
- {
- if (modelPackage == null)
- {
+ public UmlStateAdapterFactory() {
+ if (modelPackage == null) {
modelPackage = UmlStatePackage.eINSTANCE;
}
}
@@ -54,19 +51,16 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* <!-- begin-user-doc -->
* This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
* <!-- end-user-doc -->
- *
+ *
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@Override
- public boolean isFactoryForType(Object object)
- {
- if (object == modelPackage)
- {
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
return true;
}
- if (object instanceof EObject)
- {
+ if (object instanceof EObject) {
return ((EObject) object).eClass().getEPackage() == modelPackage;
}
return false;
@@ -76,68 +70,58 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* The switch that delegates to the <code>createXXX</code> methods.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- protected UmlStateSwitch<Adapter> modelSwitch =
- new UmlStateSwitch<Adapter>()
- {
- @Override
- public Adapter caseStateRule(StateRule object)
- {
- return createStateRuleAdapter();
- }
-
- @Override
- public Adapter caseSubmachineRule(SubmachineRule object)
- {
- return createSubmachineRuleAdapter();
- }
-
- @Override
- public Adapter caseQualifiedName(QualifiedName object)
- {
- return createQualifiedNameAdapter();
- }
-
- @Override
- public Adapter caseEntryRule(EntryRule object)
- {
- return createEntryRuleAdapter();
- }
-
- @Override
- public Adapter caseDoRule(DoRule object)
- {
- return createDoRuleAdapter();
- }
-
- @Override
- public Adapter caseExitRule(ExitRule object)
- {
- return createExitRuleAdapter();
- }
-
- @Override
- public Adapter defaultCase(EObject object)
- {
- return createEObjectAdapter();
- }
- };
+ protected UmlStateSwitch<Adapter> modelSwitch = new UmlStateSwitch<Adapter>() {
+ @Override
+ public Adapter caseStateRule(StateRule object) {
+ return createStateRuleAdapter();
+ }
+
+ @Override
+ public Adapter caseSubmachineRule(SubmachineRule object) {
+ return createSubmachineRuleAdapter();
+ }
+
+ @Override
+ public Adapter caseQualifiedName(QualifiedName object) {
+ return createQualifiedNameAdapter();
+ }
+
+ @Override
+ public Adapter caseEntryRule(EntryRule object) {
+ return createEntryRuleAdapter();
+ }
+
+ @Override
+ public Adapter caseDoRule(DoRule object) {
+ return createDoRuleAdapter();
+ }
+
+ @Override
+ public Adapter caseExitRule(ExitRule object) {
+ return createExitRuleAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @param target
* the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@Override
- public Adapter createAdapter(Notifier target)
- {
+ public Adapter createAdapter(Notifier target) {
return modelSwitch.doSwitch((EObject) target);
}
@@ -148,13 +132,12 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
- *
+ *
* @return the new adapter.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.StateRule
* @generated
*/
- public Adapter createStateRuleAdapter()
- {
+ public Adapter createStateRuleAdapter() {
return null;
}
@@ -164,13 +147,12 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
- *
+ *
* @return the new adapter.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.SubmachineRule
* @generated
*/
- public Adapter createSubmachineRuleAdapter()
- {
+ public Adapter createSubmachineRuleAdapter() {
return null;
}
@@ -180,13 +162,12 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
- *
+ *
* @return the new adapter.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.QualifiedName
* @generated
*/
- public Adapter createQualifiedNameAdapter()
- {
+ public Adapter createQualifiedNameAdapter() {
return null;
}
@@ -196,13 +177,12 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
- *
+ *
* @return the new adapter.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.EntryRule
* @generated
*/
- public Adapter createEntryRuleAdapter()
- {
+ public Adapter createEntryRuleAdapter() {
return null;
}
@@ -212,13 +192,12 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
- *
+ *
* @return the new adapter.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.DoRule
* @generated
*/
- public Adapter createDoRuleAdapter()
- {
+ public Adapter createDoRuleAdapter() {
return null;
}
@@ -228,13 +207,12 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
- *
+ *
* @return the new adapter.
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.ExitRule
* @generated
*/
- public Adapter createExitRuleAdapter()
- {
+ public Adapter createExitRuleAdapter() {
return null;
}
@@ -243,12 +221,11 @@ public class UmlStateAdapterFactory extends AdapterFactoryImpl
* <!-- begin-user-doc -->
* This default implementation returns null.
* <!-- end-user-doc -->
- *
+ *
* @return the new adapter.
* @generated
*/
- public Adapter createEObjectAdapter()
- {
+ public Adapter createEObjectAdapter() {
return null;
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceFactoryImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceFactoryImpl.java
deleted file mode 100644
index e1d37a87b6d..00000000000
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceFactoryImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- */
-package org.eclipse.papyrus.uml.textedit.state.xtext.umlState.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource Factory</b> associated with the package.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.util.UmlStateResourceImpl
- * @generated
- */
-public class UmlStateResourceFactoryImpl extends ResourceFactoryImpl
-{
- /**
- * Creates an instance of the resource factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public UmlStateResourceFactoryImpl()
- {
- super();
- }
-
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public Resource createResource(URI uri)
- {
- XMLResource result = new UmlStateResourceImpl(uri);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
- result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
- result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
- result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
-
- result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
- return result;
- }
-
-} // UmlStateResourceFactoryImpl
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceImpl.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceImpl.java
deleted file mode 100644
index e05f8c552f6..00000000000
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateResourceImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- */
-package org.eclipse.papyrus.uml.textedit.state.xtext.umlState.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.util.UmlStateResourceFactoryImpl
- * @generated
- */
-public class UmlStateResourceImpl extends XMLResourceImpl
-{
- /**
- * Creates an instance of the resource.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @param uri
- * the URI of the new resource.
- * @generated
- */
- public UmlStateResourceImpl(URI uri)
- {
- super(uri);
- }
-
-} // UmlStateResourceImpl
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateSwitch.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateSwitch.java
index 9037d7c87a9..45718dceb14 100755
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateSwitch.java
+++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateSwitch.java
@@ -16,23 +16,23 @@ import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
* which is the result of the switch.
* <!-- end-user-doc -->
- *
+ *
* @see org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage
* @generated
*/
-public class UmlStateSwitch<T> extends Switch<T>
-{
+public class UmlStateSwitch<T> extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
protected static UmlStatePackage modelPackage;
@@ -41,13 +41,11 @@ public class UmlStateSwitch<T> extends Switch<T>
* Creates an instance of the switch.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @generated
*/
- public UmlStateSwitch()
- {
- if (modelPackage == null)
- {
+ public UmlStateSwitch() {
+ if (modelPackage == null) {
modelPackage = UmlStatePackage.eINSTANCE;
}
}
@@ -56,14 +54,14 @@ public class UmlStateSwitch<T> extends Switch<T>
* Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
- * @parameter ePackage the package in question.
+ *
+ * @param ePackage
+ * the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
@Override
- protected boolean isSwitchFor(EPackage ePackage)
- {
+ protected boolean isSwitchFor(EPackage ePackage) {
return ePackage == modelPackage;
}
@@ -71,61 +69,53 @@ public class UmlStateSwitch<T> extends Switch<T>
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ *
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@Override
- protected T doSwitch(int classifierID, EObject theEObject)
- {
- switch (classifierID)
- {
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
case UmlStatePackage.STATE_RULE: {
StateRule stateRule = (StateRule) theEObject;
T result = caseStateRule(stateRule);
- if (result == null) {
+ if (result == null)
result = defaultCase(theEObject);
- }
return result;
}
case UmlStatePackage.SUBMACHINE_RULE: {
SubmachineRule submachineRule = (SubmachineRule) theEObject;
T result = caseSubmachineRule(submachineRule);
- if (result == null) {
+ if (result == null)
result = defaultCase(theEObject);
- }
return result;
}
case UmlStatePackage.QUALIFIED_NAME: {
QualifiedName qualifiedName = (QualifiedName) theEObject;
T result = caseQualifiedName(qualifiedName);
- if (result == null) {
+ if (result == null)
result = defaultCase(theEObject);
- }
return result;
}
case UmlStatePackage.ENTRY_RULE: {
EntryRule entryRule = (EntryRule) theEObject;
T result = caseEntryRule(entryRule);
- if (result == null) {
+ if (result == null)
result = defaultCase(theEObject);
- }
return result;
}
case UmlStatePackage.DO_RULE: {
DoRule doRule = (DoRule) theEObject;
T result = caseDoRule(doRule);
- if (result == null) {
+ if (result == null)
result = defaultCase(theEObject);
- }
return result;
}
case UmlStatePackage.EXIT_RULE: {
ExitRule exitRule = (ExitRule) theEObject;
T result = caseExitRule(exitRule);
- if (result == null) {
+ if (result == null)
result = defaultCase(theEObject);
- }
return result;
}
default:
@@ -139,15 +129,14 @@ public class UmlStateSwitch<T> extends Switch<T>
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
- *
+ *
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of '<em>State Rule</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseStateRule(StateRule object)
- {
+ public T caseStateRule(StateRule object) {
return null;
}
@@ -157,15 +146,14 @@ public class UmlStateSwitch<T> extends Switch<T>
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
- *
+ *
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Submachine Rule</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseSubmachineRule(SubmachineRule object)
- {
+ public T caseSubmachineRule(SubmachineRule object) {
return null;
}
@@ -175,15 +163,14 @@ public class UmlStateSwitch<T> extends Switch<T>
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
- *
+ *
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Qualified Name</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseQualifiedName(QualifiedName object)
- {
+ public T caseQualifiedName(QualifiedName object) {
return null;
}
@@ -193,15 +180,14 @@ public class UmlStateSwitch<T> extends Switch<T>
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
- *
+ *
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Entry Rule</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseEntryRule(EntryRule object)
- {
+ public T caseEntryRule(EntryRule object) {
return null;
}
@@ -211,15 +197,14 @@ public class UmlStateSwitch<T> extends Switch<T>
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
- *
+ *
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Do Rule</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseDoRule(DoRule object)
- {
+ public T caseDoRule(DoRule object) {
return null;
}
@@ -229,15 +214,14 @@ public class UmlStateSwitch<T> extends Switch<T>
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
- *
+ *
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Exit Rule</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseExitRule(ExitRule object)
- {
+ public T caseExitRule(ExitRule object) {
return null;
}
@@ -247,7 +231,7 @@ public class UmlStateSwitch<T> extends Switch<T>
* This implementation returns null;
* returning a non-null result will terminate the switch, but this is the last case anyway.
* <!-- end-user-doc -->
- *
+ *
* @param object
* the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
@@ -255,8 +239,7 @@ public class UmlStateSwitch<T> extends Switch<T>
* @generated
*/
@Override
- public T defaultCase(EObject object)
- {
+ public T defaultCase(EObject object) {
return null;
}
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateXMLProcessor.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateXMLProcessor.java
deleted file mode 100644
index 36162150591..00000000000
--- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.state.xtext/src-gen/org/eclipse/papyrus/uml/textedit/state/xtext/umlState/util/UmlStateXMLProcessor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- */
-package org.eclipse.papyrus.uml.textedit.state.xtext.umlState.util;
-
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
-import org.eclipse.papyrus.uml.textedit.state.xtext.umlState.UmlStatePackage;
-
-/**
- * This class contains helper methods to serialize and deserialize XML documents
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class UmlStateXMLProcessor extends XMLProcessor
-{
-
- /**
- * Public constructor to instantiate the helper.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- public UmlStateXMLProcessor()
- {
- super((EPackage.Registry.INSTANCE));
- UmlStatePackage.eINSTANCE.eClass();
- }
-
- /**
- * Register for "*" and "xml" file extensions the UmlStateResourceFactoryImpl factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected Map<String, Resource.Factory> getRegistrations()
- {
- if (registrations == null)
- {
- super.getRegistrations();
- registrations.put(XML_EXTENSION, new UmlStateResourceFactoryImpl());
- registrations.put(STAR_EXTENSION, new UmlStateResourceFactoryImpl());
- }
- return registrations;
- }
-
-} // UmlStateXMLProcessor

Back to the top

|MV~̥MuXXZIzfkfixĆųm.v;t߭_z[ol[?],&Dž2mLÆ!;D+"罪TUq/T\Cp>RL~djQ}s*9#oxmN.~|ū@}UVxu;TL16;G߻Ѵ;aJWJ tXa?lx~,A!y'ai}$l a#yT)3#lE==ޯ15GT΢E N?amҏbfBAZx3{C?19%T 2YAUusڍJB-,gv-4pC >8HTlr"4[4TԄV*yMܦlO2ۀMYFS2! zƧeEQ+I.To,Re?-]3]P=+NnWmk14?y*X=;Jkxצua䫯iIJŊD*R]wE~%{ɁĹ,&tK s\Ei VrMq,,;Tu#-e/Tu\{?5B o+O= üY;=A dX})j0_A 58װdĶ&%vf[Rlk;\NBR4> xxd@\`l%Mvfr#<CʚB6HE t<$G3m WmmJ;m|Bzvou1^'j#m8J"q^9CbiFQ=>M|{?,5{+S┕1Y6c:F-4Ԝؽ+Mqˡ7zT|a<ǮqswCs%ifݾ~2'e~^`;?V3&8t{uxvLUa4e*=rSLua9_9z,y,ZA3"`4=ogh|>KOhnʘm`n$ЅׇV0>gr /pD$S˿A=[D8t)knI'׳ O׮=? GD[}V?rK8hϿ$vE]Y,A̕OVDc$ թʙ"1Jҫ*'ԭ0ԓδePGKKT1IzMI4!~jswo/? )#Ͽ) %Y츥>Q0* 6峜6%]#/7ٛȦ.g;su}q P> @gʆ9|/MD{mUwx$?i$5E PF i17 @u9ј\_ NКWeUy Iq-k W#3{f,彚gY $S]xcSs izpH)H/Sv`A`PO{'wNjoa|W~[4+T ĆbМ(\z}'5$B*AϚ:~V4hs/y2,vT0ݪYۗVpoE-=l,i䦅rmJU%FVN /hE)nnȂ]1B!?ų|6`W/XUcxXHI3D3i0cYJA>2oe3vs)Im0nLjb=ٔhF7F⸱7yrN"ep*0|-څ^ ^ ,.;`%88U_1y^\zSb)W޵`w@-Z9c7D 'm@Ⱥϭo`;׵ZKZ;3#%u-6a0Q oWj]Jtf}!W}Yzr/vg DN.}/6UTx46HU`l!׊8gɪKԿXQ:JDcVt+2Ve*Y$OegX0I5XT@"e C5ՌyC~b7٫ȗΆ YtTsrP>f|أjduRVL4ъ ddA94a}BX/,EhsSwL6toCOUak@GyZ$rJ=aDeK9[Vb(Ok-!U =..wU7Cױ*^X.LYC#6Ud "8J"*%~#F0eW͡NepcB/o2zwhPNA ~xˡ(5pTb$P.-HeJtg:Gg~6{۔&H>fTgk :w]/N˷Njo7af_<Ŋu,b%6`k*yǚq/>gV`{tR][P׸(gG]z]x0ϫF/9R.N4 7hB /a^E|>sAQ|PҤ6(C8Po"GsہZ]#:JbNMћ#{y}%<ъ}=~uGV|\n ڱ91=K߃rëKYBc @>XL}k&,E-&!+|cqJ zL5齸eD@BD'4rm G" W |/ְA+HfbgZce( Ɔ^k ه/c-1) QAy's'2DdþY "Db|tRt"Q)L$Dg8F1O,xW@6;Щ z?>/}kPn0bĠ$vl^;rnL5@@f9E ._R)Z*'}e+СXڒ&qw/35Lt _5cc `E4tJ\\>1d5BBזՙ5/h1xS 嫕d (M\JOm3cG600-b;{Qb!1;|C{Zί&tSh 92զ8W0^< 'ucjW]Cȑ]yza}r`B_#4+7ҸJqO*u8H#K"DUztZT7Lx Hf@=W;_9++;˄LS4YѨ r"Iⶶ/!l%&4 )>W-|,$?|&%g+X$3T`g4`>m}J ‘hbX{Ts&3bJk_3>N)ic?I4:):YBhl֟&_qfS=o7dv9sNvj;qR{t-~0M.LugSh$c;Ytw,~\plh_VAb:9S;⓰Nk?zj? )ym6 FsfN0So*l!P @lhR\̫㗾ٳ<7E@`˺| D~RXrpu%d:W*se">Ode}̀GrgЖ:xHrKy0%5ϑ@5sLJF~|1$L6S~&aZ\7?:˜|N8yg4k7οxy3>ZMY& vX9 ¡r˿Ubdiݩi+i霠1s)~V &'~ϡR0? 먿77=ho2|a7ز(ؓn{!:h s#[3+(S?hJvIu?\ɽ2iA{a弭 x]{=(Z0FxFpWBР\ D{4:b9H^"o#EՕJ*PN*nHKwz+QQ yWQq[QzuR"Dn[`S)x-/6-`<ygW!z.#?Se1X9qJDwrRB@j/yY ?WY9ӄ5}NK)y|w3ʞB5=zCˁM|g]pNpfWLI`>F++卬j͢tI;od8?C~OMUK> oMA<0>2hCcev,6ANP+L4.)ή*FYsV4rޱJ? fwI+U6"/Аu4j hWkƞNw.ze\(/˭UAS|@:O4fqqw7"ơ2M(V0rVDXɓئ Rk?a1Dh`RĵMc_2ӊǪ!Z.+a{aX oH`Ne+g;.y-i.vj.Qː H jZ,WGV)gʶ E„j+DSIsҞqREa(hߨ&[ 8(|S!̄9Mb悇jdzT/xm ^|.$rqiO( a9 4~HpXDž0C6@ vU9%D>V3]{LM//Ԁw4c=ާ>6"zܾ#~r²w x!dzͮ0.MܚoΆ [1_I (J?xЈ@g(`jW"}-VLlӸVL3dA/ǐ-ˤJIe a/i} $1%"!^WO;1, M&4F-Kj%ǿ9q8mKA~ӌ*iq7GR'ݚkCoo2R+a: ImrXd5wT-o e?ytf#Ɋ0^, u'P~P|B; w8 EotG!X2Ҳ5'ɡPr~.oX$׺-lr/! )dr7$N4I/LUjtx =y0>ņ,˭S Nz-]5Bb4ֹugZ&} Ybi)^IZQ P$b /+1+d9?6i>zm:B,?7Ls(Yn2SGȸeޢT}+"bUS h"5]ˑY8ű-<| 2ޕ2Hѿ㦻A5uY~A +'ppY7$?5e1ګ̝k rdDk1rF 7X>Д'YvO_2-?qri+&|8v c|oUR%f9?T7.:|%bȧD U"ðgE~WcqsfWsP^{F)]6ʭ b4 w57bϽwKj We}L@Q7Zy Fa)q" \s\r͏ہGrR}=""" J&ZZ`3L[P%"1bs3Ȁ Ea4:R(=&KS>(A9;MvRFNڀ~YAUjLXl eoS0\[jE {]{J,|nM_(1d _A֕V!hd^dM< ҙS6cSTpFQVʠOY%i hS, >m N-ޏov.oaҰY#Spqo3pΫl0# :2\91I/VR85d+a$@nhZpVO\m?p]Mj_肵FXRS&FMR3-5 _+{p$4O0%2kK:~3U4~ N" 0appLt.F~KhxbL>gERώqEnK|q&x?՚,`gl6t܄ Fu86XSX%UcijY m0x19UKdJ$+}*7JQu ԣ{"Wac?gޘ)zYgc8 QTR dZm.:`t(kF0 =p*B`m귉qӻ8s,-$xwJH-K*5z< PQU60gB`$Q#᳼Q4BJD~`U{;cgߡcO0`42Fd=-;rN 6$)bv(Eˣ) |\υ9[ͷOXA!\A`;]y%iQg蘰?$uU/݃H#w{§)j@gÅņy cUD@]}0rnD;%4ɏq#2^,`pDkɰ-UəWKؤwc8LQA;'S Z?,qW[㉅#z Aj60sY"H=BƤ{_Z/' bD=yhl52c6%5r<`*֍GBK 2_+'юso+qCۈJn-Y2a]bL3+ W=pH5,1NW1}fZְ߬)$Zpã)ZH""H$[[u+fͩgAb2өZT=PxnY/_K.}rA#7lj2bnX<N#V`xIW܎tǪv1=tsikf<{^"pڮڴMPa=\Fx5qD!{H2tpw2jII `,oOEk">$ }c0720{V*PT꽳fCųz^F`ΒI{a=9ΨcYUg5P;xY4@7E8+6*-UNɔ>nT˔5 JSAˡw^֘Biycpu dKmo߰њ7*\}jvQ$ 1C  t-?Nlp46V&0W&XV3uRaiTis62$ VSne1fwZ\kx٥ZE>parp>@cniD40l)_| yjP*ANA"ޙK}lOm?5иO8K˼bCH xKDRIKǍHfk"zwYmNH7\M{l~$:Zz/Woۺ)A(1Z(9?pw:M1$wΞ6q{Òd9+X Q}锗0>mv8||ڍ3k9O2 >b XLl GKXBAҟ\PZ]:>W9h4C.^'V^)+`k! A^' KIv8k~l{v m5%źqN0I;#*d kʩl:RY-{&+1CD ˨YLT0K# gCų P"@ag=5uLc O<AA+yj<ΙULL祴zmvҊ(i٠&;^1Jj,32 Fuc=90€Cd~˽ueV*|a-m&U#Tƌ&cY/E-J ^$̤vMe {5nc^'H"3ӛuw\>QnGD_SyCYvEp欳j20`W{nGHpVVSҎ]^2d[&f3l~`4&F$To?啡XXzJ23[i3oltNTޚؼįڃ͗k* E־zY GT9vD<"ѮjVeuu5,;RZTB'tʎA:ѐP]6 BZERtώ9xpi,$ngN T+GKL Gpp—[k݄&7:OCBؐm%vDZ̽e)khY ݥoSnv]PQI(j9 [_ Ce ]1pHz 6%_aZjpƱ%Tks߾^x[P+Emka 8C h Z^/@ngC k\P GHk"dD.{ڬ@bAݲ`-2?ՎLW԰p4ME-;^YOBs_:PVV D4|gYZ+_`8x$My!\lա@sOzљW}eRm:r+ȫծ>@K" Tc1nluKq.L! f,k䩘6_.W4wIF1UKo\`#{͘vS ,g<6#3|Ie',t>6A>w:NedriwFs0Q8oQA[ RIOj۾%`OfmD`9S/~$ѼHQ뻚ʠǕ{VzfMveD2  } U=i2GMG!)@K,av@YT MJXnDV{ؑ ڽɭEq|f@nCH6e-ՊK6PsTҗ6Caoc>gMoSQ^aѩy(ά-H0ݕr)(yM8*NsY 58M;&O]PG%R!P)O:`8 mN(y;x v[jF@0 #0|}FϑV}/1SC|"܏bNKōd3KOla}{q2 [wB&*}=q` d)lo$6ma;.F2S r&l^V7=DZY93ĜLn,HG"$r&DImM=D\8#5:+bB1#_G?ж m'gٷ< uA=~Gtv\R̞h0H!4s*X&mѠ@6t&t-&!XnהTZ$:+[rLH-aoM3;1SX?݈1dU)yQv"W!"D*Ʃ/Bx:ļHbC/UfK͒L%#,QT' *Vuא\xS9[d{ˆYm1|> S8ÐI%`ޱp&=\ :C2ZfpG_󆄎T>ђsыY[jXCԭn⮄+h)fq^oDYk>{1D`̥MӀ+BQ@%wӬyҍDV*1uy$! ++cA3yKٗ _WpIE`(dcMV̺mq<ϯ:fÚMW%ݾ`&Y_6Ѯ<"0NFEV nIrBHhDc>p'I0`\rš I@gɎ#N5_:ay_ȁ1b)+yj^/~LC6+BH=Dp4(Ym!iz 5i^@ y|"l6[n6Z,%` ofLjfv]p6OEuf{)p OMv?4Ym6yOԘg;[yanaQLud;*8RN1OG!z-M'k™ &/[YR&5\Ci#GWf[<,Sz3oqbȁ8:@P̅>P2~v]bۄ!Lnrgqy"BPDR3Fua3$ z/. n,)B19MI87;XJvp1{G2A^)|9AwF 8Hˏqcr$!+CY϶mrZaзu\2hĥU Ĩy\n փwrG>x22y (/҅ jwsqtihݣ$ntE:ׁZl/#j=KdEP5E~ڎO@,^h<(m#C aێ *WnyQ!_\**T=7W1Ȋ~qTD^A6i2eh\Nد3nh;A u_v4L}/xoL&:eU{6oL-N;g 9r~ 7T&\zSLֽ|)_jk 0aUx=G\3\oZ}K 1X ݦ6ou_x.CL! h5{%΍.QW% "tb4}x4i˥{%`('{|nFf<2$pE3® k GJGT{"z'zo/wYшп)~g94vt҅F~^ Ц .Hh:۾,rv _ǡ2EQ-WWDiL#aM{ԨOfflδ+:vDH)jEDzR30+7:fk3<&FAYfա@'V/JRڳ'-^7xjVpζ|F~ }(C;r,{v>g"4o?0*zh>B`3qrQR25(q&ۀ*~ma$2} gh}sՕXbH=d>+1N@&OT]tԯϯ';#O@CD@y^ytJC]2H[ ӉA0\Rm-y6J yy`wp&EeCI3mDxb5RqyjN.b!߀Z*<%ܬ_BA!|"J6IRc=Q+ "MSJtzK\ęz^~^6 ELI<GB7tC0içvl8(=ٽ wHwTm͒Jxڸ_=$D$-|w*xiKv*rk'c8lIoCh(0;̢V6"nu 4"ZΫX6e 㑭oYG(UX`M/PnAeÏ&DoѫzdWPJ5lacg*x T r Z(}ă?x%Nlg e ^>8o$F& md5[ Ě] zLjdn4PQ gǞBEfY(T:/ lQHAkZ #续NPе:r<ٚeB, d-z)NVHiS&ꕥ(*rG(Â@jִ#YQ%"7~<61W!Ip32P+;#~wDLAht}s NRF!FnZWܛ5 }FjWߝ$"H9fܠwFn[!8RRD%:On U4Re8ӖЕ.99r@}I"m;EU405z Cu TOQjFtcf0Rgƌ%7TcG~]K*?MJ\ jM]ŭI䎙b3N]%> a]8꩝2-' ~oF8KzG7{D$DGf`PkyO~,hF{ťlF ^pDM@CW"wgf|KNQ/ZL@4`.ߍR~0Z|"A8siG0De3!8dņb*dN^~~SSx801|=oo0v5XVj_d28#bpfV') Cw!ĮYgÑE8^\%? Hvr#dbDV+u&]v+_x9.S=y28#LrF#@2S<&JL@c*]N*}ގTohdlt}PoXĢ`];ܠwL\ ,Z"BYb YaD(0C7|x v<yˆ'reUy1~PS!k f:!i^ y !6g}؄;wIXa擁 KNM]:ʙbR;LfjżA}-bM$\mWb %}Rǁ菾A?b-V*K^6&qZyYaW+IwW(* |cKU$S,,rF'FaeӨfLѺ(^-^؁R=b1vBS$(q槏!U,{iH,m̰j坒*@*%sjpNuukrz>&|--#>˛CġX)6in'?+gyQ\(Qܢ7{xC:Xé$h 3p. Uuo+ro.g l5"ȓť8Txs+Qi]{څBwE%bw j$4>^ W簐PGݏBJ]+Y%C:h̸`JizLS۵\,1!XlVM ΢X7oRyd]e~=n1HG_)!{^ܞ;w Oİ*+TsX*b9 륽(䇌/ .,Bjn!+E=od6*5miբʫ)۶ĿjP:]mdrΙaMWҤ&;fiR偕|KVԵ}s1rqHt'1I:Kr3TQx|);zlAilk9_α#""]Cpĺ^4-;~54$}Y1ĕa9H| C%+F{$_C$+c͗TfFvโ<])wXq+]'YkZ$DC  ]SmA>5Pw?x52bl>d7@k34&X8*YA5#>C֦۫@3aJq0Qt 6K [^VQ"6JnGսF\y>>MUٖVzG̛lkYaܵrqz d=3˚.u$Qʈ!57i6?񤈙Q  M.]EK?_4kr^؇@#wqaq_DbXf0f #?h$Mӥ~b#T'e6*\^[V+v1м#܀Fa e,־#-/9Ķf.u8Jyۘ(Κy:@Y zWv>&EjY. '{bg?'HoD@Ys! $&1v"@IP) W?-a'XnW?t`;hD:=4f-{x_(18zDu wgnF i<۴k,@1qJ orH:eq5-.{3ƅ~6Q;@?S]P GSJIYhhɒ=x,8>b>2v\w/^|xJR+SOX@ԝ`Ʋ,2 ;&˝PM>iNm^e/&iݴ1:d\ r֔wFϴT3 C6D/ӻ=eǠ6VWG0qD,BB7͋-= s4 s*:2E!$l?hys,G!G3"h HZ.|6^l˚ؖgc"Tz4B,Srˬ-Y.lQ_]xX:*K)°; pHi?l^.S#Bt3>hЪf'#^eܯӑt/x\1\L<3o°& `y WQ\4w >ŽېF~ yGiN㒂j@U|.nsXs^+:}V#0&Uݼ l@zY-~Gn2Jp6X%z&^u6 \&/"k)L;O5P)~uճC:oJ*I_2IiDR,'aHk: h&;Ŷ]V C!Լ!V-3Z : H(6;~bupOzDp.YGunitB#pP0B#~'CFJހ8wa& 57Np͵wuMmApamp>u@l0^%C2( (^ ow"ŭ{\X0zɀ3n(9 :iѮPz^[6 RD ^2Us|]Z֥Zիf )ܡoMz>CRa"+!PQ5i_o>rc}fj5?Pڳ̋[")EV` 1|l3& 묵FS<u)K"5d*;V9_8UᄘBцKĽm+d-n XYf{ !$ڹiCO*񤭀xJm|S^NJd8]@M/Iq_ J`XyPV, #6<6)HWG ~_QR0A9vaZ1O8v*2Gˤ,$)(Ff*n9 cW5K5Yr89}|)Igi<~C cn>no k  />NP$kHqAdw 5]L~@R{,w͎tЍ{ݾsj£tSkXոb/|~IK$rN0r,gl4iG |Y9ֿ;V z@Ljq JCQ^i.8#K6! ‰d#LrbB+2a _}]ʼ YupV'G y7Ql߄|y]6׺mo9yqArL 0'%\yx-g&+2uڦ 28vtI8\,kɥ@dK>EާZ_KzfeNtsKk._c8E/Q)0W~PHaMxs_Cgv!,ر5|Sx{wA0mJ?UBe0f*ѧ5+L&7UP-A_6&eI0 H_x!4K22ߏw >HVFۄrw\1 Dp6L|x}aa-oPj?t.Etdt̖,0y^VVqHYRΉ Kh?u&ܕE423kPn5WfU^Ե"Z '[H*A奰]$̸6Bk_S/'\n0XLjR}n,1}5 P.g2G)]UpY|ijw12eF7%\D.yLW:6p@̊n~'(3+(W/n:1h%ՀN9L9Npȅק.<_*|pBgcy)(Rm[k}qD?g]\@85+6h+ Z7]ME-w\X'BSd:ЉTÐ-Sj etA@p%,D{ǒp/oǰ,Z2M23byHJd wy,\IAlmfK[yW;6SӌMM/kb1[%JzmtYYg%xn]qFcwaM!D FAI~r*.z"\Z|$jT5Oh.|hc5}ܫ]Vy]%9yIWSGn[DELo5ee#Xni2ŭ.!S]rGw{^/ *CfUMMZtmhN_~N!ѣ2dMPK?{pV7'OԧݾvfNb f(wcBX@%@#VqT4 UiqEN2QK̝:<U"a#eB@Zw`i?LmV}Q4[` :UMLuHIuY{n;H1C_S20u+-ͣ:mppʓ3Do4WwAP@26mѡ-(0_ERHt~xqeFYr!;Ml.I>~[04»4*p (B653*@%mh9Fi;a~,2fw"B(G'q2k"o"ٻe\E Ri0NGM'^t VG0\%hڜ 1*LÀ8cR4ѱSȑ<%cҘ'n*{Aj]#?A dz8~L/s\nFuL\^+x Eh ܹ0# ᖝw,_,@ iz\Y!X>);WR j*|rϢ5B]97dh$𑑤VEmtk@ 3)_=1UY,hylSNY1|R}ZrWVsd4PR<]_tRP?B /MBL.ɂݲZPēCgJweUݧeSOdN'R6LQu(k d'#yBR!:H`vQM|^dJ`S>oSXsUغ̤cFMK>;#๥Yoi0Bh sUoTltK uF LE;ajPS$p>Q&cV+ ZZ`\ TXو \ 5J-A|sFѝj=IЄ> ,rz/~פ<{[;Sn)"äyp RIvOK0eGV"#/< rk NFgĨ_jWrkdX {JJҺy<=8lK:E= Mfh0H?~O-Aa`V{G> =蠪% ڑ.kBYIvѼdujLXD?Ē;5ɒk9j֫{)-WNr*zaS8l]dޤ# x-_\44[.D[8T7)`H k5ty\E^¸2=u|r1S:p>[rE ɒ^#Tn9 )w-h"F|LԴ6Uj^(N|nNa 5n4f̆nY]9M=Nr.u>|}FRwoJ%k4WrGsl!WXʺ~7/%~YE#m4⫅< 'M&srC6xdCy`~GjZJtfR;y~0A"#N4!c)$z@;}]<2zEMB>ne,e ,@"nٷ#}!X%ӲFLSO#~x=uɴoC `[~e(4T*p`J `ţE]6Rz { R`ovpWCT{q?2)a)djhfcLX% fM+dtV2 !`~e2~p*{+| 'Tg\EHիݛ1UBzKSzc эt4L]lDHHwKltR3#_-d<uZǑz4*o߹;W.s`ֈE.hy豏Oί6X3Ys 詳KkK.q|ױnp hzLT~bEllax@ mӣ-qMYQĔ=eW02bRE`)͑5䕸"[,Q;SC WGJl8+?FrDp:~*)UclTJiNH[I/A:CAN}{N9oH]u(ЏhkOXIZ_L'\ecDg7nh'bQG441kȮ7QT1Q)P5ݙ4J\JvLR::>&ZN.lG+J_{Fkev.]nE[ k8hqY(OA)>fRwSO_b nqxdkw\%xܾ^6-|2/ s.S#Ͱdw]LEˎD^!R=egW+>hlsMMv617&AI@_p꒶u x3he` 61)dz>Y'(D5xN唔2Ft޹wJwWzmeeʭ-!d:[G/lNw* vA1X;pQ$ dBރ9Cd4n`TȠB_:8qLj(@Sw|#[aKW~Nv>Gk;5eAf;^C_qDG{ܹ";7x52xK~p˄D+Cص-h#iJP%aPf'ϡ؂sv@:λ^V^ NW'=3`R[ NMtt}s aȄni?Zt݈0YTT%.u=rK(b Z (UyHyp&RFܜRa]x)L{u2]e `8Hͷ/aʸi< _Ңg0)䧘?T oMvȬQ؎d~jYS|iWTy"Lmk~ek wg/HwǏ~2&o-fuw;n`>ED6 l9ԿK 22sUE:-3#x+oҳ@׮.vݮދU` ~/BdcE JS{WDPARa@Yz<95F Mׂo WƘDZ:"<TL Qdire"g(e.NvfrSMqnh8R1*Pb#R>- k:AzCVQ_h'b% TOm>1N$T @ ^Q1<DzG05ՇΌ̅fcOK1w=㕹Pofoqh^T8Nmx?EP)SݱaR}*;m&M1n&"zUVS ٰؓʝnE=̠3&|yDr(uw9jZ3K00U%Ǯ0 MBɿjP.D1.3#E_Y>L¶9%@ с8敡Hdj-Cʈ ޣ?gF剂9GT𪚏[*V_0慏C:_P'R@e7ޗaϹit_Dʽ:6-cS߿xs\~xW(/fa^(L s%F4]j/4%w\(ߠӆsg6*>&2j4?O PNw51gxkmھno;1[>~K0ۈjS2ro3I.4c.]0}\v?h/8Fĭ'~rN}Np0*bgg)(<8FoHLQ:b&}U@&5Pt'd3ȑ#U5#8u?iij8 q"AK:[#f=$: Eabl@H;ޫm#)GNkFAo>F}p6 { ?(EWS9"ʎ45Z9~ @>Ch[b8Jov<< =4b'"Ha{5]kٖ տ]\ډi.fIF4: s@禽2[\ԏ)UŪ=[NCϷH>ϘL<~fgԼ&`AsדDOfe]n洲lG6Y"'r)> ix, =uR pr | 2hT9X~w`9QVF _k& wSu55~*!O9L#GrKf+4W,^5g7x"P#p7!vTCoY~AI4]T6b]Q*]uO|(=1%@heP+4e!U q+U.S;N˭\@1(|iT:Hb2Tpp[dJb.*ehI+?fN\iS-4@azk㘊rUC e&YDUwܙjFSn b_wH]v h'40.(q:3.Rv![t FE /gP}/B.%iUJ}zW˱򦂮 ]zvɺPةs# H]"qf;u;^m[pĒAK±'5Ll3$ֆ=߈A[ ?FLp/OT]ԃ5&j|hYTEq w3PeiM~Nm~DXI}qgVbl%>y-yG8r|~2Jw \HZյp)J3}.sb}u_̟uG^6'3j]jⴝkKRӜ{ r[QmRCkI:Oqha֮w@h4{;XLg qNt 6pEK1%A@~[d?(Ed=\Gi8j#US 1z [VN>z7iSF 蛔XBn"*)&*3'yf#T)`;_*̗v)Td/3B,QbLWt\z'2.9 g9G56WfӋ`v,ycPLV7iӮHu%$6YO.k6!t&XDE{g6Zې!@)Z@4VupZ}tD&vpinob`;AESʥf&N$Ғt/ǶP ɂcɻ0xܵeN$9o$L$B6+]=#5ԣE |ZNUA0H>\N+Cֿtv}ѽ=_2T{mY7r?-\}sz+$qdSaW#bmuy2j#-`E@Bg J*~DlZbPN1euIytMx7-5 %*nbRBKj$_ّx5gIB&tϚ0ԭvFG(;G,xj&ScXD9~r!*x7:_ خH1I/v\B%4ac{}"ۀu sSG\s gk2 9G0frΧϝTı-P D`o~3v8|^0a,}})eSSC廌x7>&ڀj")>[j+Efv467HE #ݵ: lYyӷSV=!ؒ_):w*kGĠP1&q񾙢U޿J!Kȼ hp71G݆ F ժJ; foĄZ eS{& Fy<% wz[U$1G~zxP5-n q9RPRj;cp$dBx{y }y c':D-r *9s.M#ws1Dp"FT7]게J$s_xJqFnC us>p uIJfTB%U}|qpJtSc>IN Dr/z~^TVz{جK6P|Nz=7ASl@@{ ^OId/rnL(nR%Xd;'Y;a 7C0FE> g.w{O!Et4l@;Q{NR㺱Z՚VgCdp9nZy{<3Ic_H8[݊ [PlB!44Aْ(^}N~w]f E)libBDե6@+lM~t\DvaطУln 걺*hrCqK qK {7Rbr67"5X*(d̗ 0A - ܅˓=9VՉ D!gZ 'h8.OfJPm" K*jmNVn(Ô (`e y5ohdiz|u #jHէ_p"mo@.?]W-廍apZ=K>Qr  ;%NB>kI4&AUC54 G[TjL?tZFX;8GN4^WL_ تTq CL( i#(o>0_ ܝV*^ܜ8~owo$lh L$ܚpAlζo 8Vq1fN2zH%B}j9_ٖu[{-_\o_%-KU5= 2_ksF$&Idi J굆\dJ_1.7??qD-}~C+eleA 4>iP{W"Lc!5m|ќsf*%mX`a7w͓аR1'ˈ' &| -*|mWeJ 0]:2Τ\zb#JKˈd\RM*@1Hu3Ș]ெ&@92-yVB86$XT8J0oFqN nǏr{%()8iU)CFIptB} )A.#hW0qqlg5F~B- GA!Y ?o+9x> X҅w1co5Q{IC7l&I ;!PSDaw #LT3P^~ B:lRAѦ7$ψ+S PG9T`[a(~˪SG.3 W:U_RZ`7ZD09 ә/Iy|&%I^fBJXȱLex"UVAv$fgݱM *t _*#|Q;_>>hazkhwPFgɳXO+yC Ttw/{>v=\ՄuCTEGB'-Ne,Cv ӻiRj܏Q_*kpW{׏hcc8N3 ASQ)Q1@,<2,M :TRj$XvԤ(g5I'R [~kI$IJO + f:Z.Rܥwp'И‚ mCT{YVR4Oћ?;ð&dLhN>S(Xk4bjc(V,eBr&Q9lhJNwuWHp`2[xyY ;^$$7n-\gSSTiOL'˚i}ITn) #rC8 Qܗ[sԒ hTWxM?#r_gd5f=1|W8x:EvAKdE"sA'61Cǿhg [zJˉ}a'S= g~P v@Q_g X?WHS\ķ BՌHbտ{eCN=}u'(ۖ@_EW`#P"^}s>0zK7')#ጘ1v䨈d4PӲ'1msO7ŽID3g9A󌬟S5%X/G5~טЃ끯%Ĥ0oU.|<78fd<\0.lsH2Y-;%GuS4˼XH-hL7 0 Amwm-_@w#8p~aqd12s*WyeRΎ{*Lt !_(R ӧY H:T0oE󘦰ɚ x2eP'ѫaKإ^"V,aҚ6頉~YK^C1l NT=T)=OQ{LR OkP} Zf9>6$rz*hTce+8t_xꕥ9'*@ _Y|QڦB /VӴi֛XaC  2>D lr LBC)<-y I4ЈH'I#*tWM={RɶLj~ B̗} \3 #ivquo$d]÷lAẤfȌCܒdęm3쐼uf^V"%|MqHH VsIDıM5jŊ˝+5nk`Gn,53k݀LvHQX|팹K,2*]=Ƽ?!^hySod॑ti{^8B ;,%7|25Ɯ.:'FyZ"϶&jDuiC:~Wv }GnrC&ʕThJ6+SsڧAאbBvʘjEg5I_ $ E`X$n9YXDk4Ƅ>) q^cfMŸx@vF)ߞhF0lC>toq/YS>AD%hɡ%a2r"$xªДf=>k0D?$OT2fS猭:ɥZ(`4SPNq4~[/.!D# Ku{:~*8J폮K Eƿ+r%ai k!.f$ѱ.]'^cm aFGwY3I2s]VXW2_&sKm:KȳRp8%xݿ7ȸYc%.)NmwfD&Ͳa0h Xrњg)7ypmG__Eo0AT?Pk9Z0 R4B|ֺ{CPdHy,+G 'ԅJr]>n)Y_>HU0%p#>fXrJ.sGC[l &rXDqcaEIdnⴼ(ߒ YuUjg% ,j8stAj;tR ʅ,_d*?5$EXjXK >a@YM 2Ϫ*wBRh2)TV^nU7 03sA8IlP=[{ ۭth3λX9]u0Yw bWbNX=!/oҔ5W!)L{tt] >$ۣS+{. Id^/U7zTrYP7Q1J%|Hau)PTO80Rl傰>t CqJOn M%m Zr:թJ(󮿬c; PU#?paHB>y/^Cx؃zϖ@]crH*) AGV5_7H=vdg׳N#_XlwSJpvMζGqXoỲvt@d҃JY%cCpQ b2 /FpGoGkʲw/VDEȰ Nn {@_^}bŅə`lOCuؼXe;آK;$I 57X!؀  *K! 8l^83 OܫGʼnd8XmNj@V+đ (>aH4(E(KJӆv4+*ZϞA^9ʥZ٤o%(&a wLޱ_2{׉~1  VǔRAoy#ljf Cyțב(v9N˦};3I5V\JhQ~U_%?ne'Hh^)LS4 ,eTUURڑP?(eQa*5?CT5͏(Xr P&.f%$llw c}N0 BAA#׌ 2髅XjatLc*FKJeinWILLdž&}8Z=H?b^l!ZV qRW0]znjrnZ0B5WL0`aT %%O$pӳf|NglHNMyUw ͯ¿u=Lڇt*1Xq,"t^wwi>I͕,s ,9:´͵Z4[L BVn^WbbpCfd[*n>#Fh*0}Гm+3zx6w(8ef&qR4YʎҶ1it8ˑ^M0A Lp?L ΟllwL.Lp!- H~OwC0IUJ9gw w,oIXf*yLtlVs-3 Uf1L%vGWm[>ly7PPEU,>^JF ]mZF￉7XE\Sn=)ee-V2?MC zKLQmZ߯J*O`g3YqVR flN+Y($ӈLؚȋwoXȆ*L`0ݳ1ZBu/rc&%~6.*Ն=2o.;32 i"%(0RQy!.`s;'ȕp͝ᙕ0Qq ?"gCklؗ6$pqax1qXIq v 2P嶅o.ёӈz!bv^3qX4 3 (бXrMTl}R+c7mzDamyJї7 pa]h^-g9>MƇ 6(nmZ/Ӭr rٷ>Ⱦv"׬Tڬ .# Bkr*k$t ;H\0Y}/% FgTޔWrrM-4㴯SK^LzD}a i,)>-T0e5(Kd|tYM#> Gޝ$bxsS5Y/2+uT OMzMj%'f2`I ,T7IP2ų^i4;-Vx4Y0*rB{l.3T{os;D.;_eŏZʻ6NwU3"/ {ͬV֣zJҪ7!!eLŪAMg8oTN iDu^8Ljq&[`lJ.; DZU4'ݝMET_1\4k8u\oլ C›p'-];W =[|X/NC$(M' atzQ_hN9WYuz*n@hɆ%ܥ $onimڃh7qfC0R2)*ؿ.Vq7Œ gXd7mY em FJϑ5bHK9a1ɖ&'2s}w7DYR \hx ƎI|:$5R{tpʗN |LJYF:LrLQb%*پ:;p2vM#YE]ž(6FVZ,k\!VcT;{V膛rbg/p$x!P_9B(-Q)03S;WಏS z\Bgɘ<ֲx:b XL:Qe'e/"RsXCm\,N{N/zǫ".Oʗs%4Ii*RBgn>8|gv, 3v24cb&>juu!h0; РUzI$wUMΫk_U~vtjX |kot G hkSw[^v,}WA/ D l .P9EŦ^.x$Ddx|o;\uΐ5Iqb&Lyf⎯٨04;9i]qNG'.'r~ x1k< Z`, , nގonv~9sxLNSWxױ5v2*&/ i~4 ̫[ ۠jbsT)YH."Wbc{9R*؉8l7w9 niz:WӾ weeُqf@,@SEY_cM52ʝdI8C Ef, X!Ļ-:&IhND 6 `E'co?^I*hfWZ%{I 3F–N=WǃHb<HfQjXjČ=3f"&эܸwGM$(4Q#$R~e>ѽ6ڙ:uɥg5&Uqߵw8!vϵ.k}~6];ҙLst]v %ҭ3z_k4̬TSj1QX!!|xЕ#ZZ:8$z03b+Z+L~M?g@~/W`B`3Nn'(SȪ'(sIVx l5p}m NO-y?=wv_ˣw&k%&Q%CYJ;52ë$$.Pd奁ZljOY||9z^Y\=vh 9բ1H=vTGuy=X]>/Puw-ީ@E0.kP~p!2#!χ}xpLrE]'SZ1$/BB|zž 4 F"׆5Iά=Zvm5"Q; Ek6R|,6)m GAv ת7&/(ŵ`!ۑygb IP/"RK~3iƄ%xdD3|C I>>{}p qRzW}an"pA8~U'Aܬ_XB^wO&8  $a<1yD~xUwW7|zYwZ\1RTMSEkw0qGEEbCuTwxEwZRT[A环?<UZ:/% |XE_~Ro!`?E^xQ$_bށeWw2ߍ;<[ӫb! M+[{u$溕fF Q?5ln Z(0c+- #ȨиS9xQ{OT ߺxT%q#8QO$)l9{!GƄ0F6;^ΝHI,ߢ0"^sdz|}bt?1srl'α%Ӊg|"3XsA>Vmk,6$ #a~fׯ"ԣz|8ޕnk'FX5a.AlϩણϠ*1ljz `"Nܨ4xFܜ%2٬&-Hy'薍gfwҸ |\c4kٵ;PʕV j{ k{ >0+E+ (& / aiӳS2,I)KiÔ&i&7Џlr&׾J AT!av-%a,FܗALmCVV6/UǓ/rǬ~/;=-+yK<eMY!Ң7@_`ed?PH!G{jtRE4fg3ΊDnyxBYŧ1ܥ#{WptjМZ_JH)0L괒賉9l_[IPmC\P>R*C "agl SShB0z|pa:*y4ޣqGJuUsDPau&Ddjz ex\;g{iw86;לC^E(gps{ic^k✶JHuo(mV9kmtBKA+b/>J¿6ʏ] %QwaM#ZcG7M1]2iNH SvatfCAڪq9D!*,++BBB `ل(+|SҿdlK|j]޾K bA 8-ˍSH~>NEȟE+;k5>j& {@i;ә 郝L m)2$q7/@2 iFWZҡIoXkZUN-a4xeV YJx bcaEhmPwr>W/j& :1% oK?L6ʹϡ "IےKqP;ͅψG)sW7?0ŷ';9%qSG{*\am;V&8ȫ8 ;}zDi2+`N/UmoK_9 *6ӽdw$eNV$p# Tq@D%|%eB6e%iggJ{`=Ä{]RE丽A;<~s$WTCr!pIй_и 1/ǞمIw`Nd?zC<<]cb`krQ]~Tx=VjX6XBxP^ҵS[ %һ SUg;S5Q}'{ƜWK8'K@SeC6UaǯYa gJԧ!;,þ_HXG$H҄.P] (pYx>%"+7J]2B"ڱx#tu d1U=/-Nj~pYO 72~e!R- + CW~Jo[Z~.m7jYa/IfOViF~#p#q]M#z9oٟȧppINc?}pXV_Pu$)#c=5 Rg{; \@0X^TT%=$0eVfQ7W}xgw(MV\N"L |,p J<{KPN+$eUPh?b(m7h5GrLY}Y|a^S>!4:$mIibipc5~SruUD\zc.+ Pj][Ϩ| GT W7<s ҙ`.ejʒ< vY9Ij.NIzɜi'8G02&sd^ T>C|oYwrZ(DWZs;+xD,Yb-'\;A7 @o߁֢D%V{|*R) Pȸ3g}჎GFpq;=Mm[jgzƕC 9NȡѰ?hZ~ݔ,%*։ k;JS Պfy W=l.04C7ڽ_'OQ(.?kHd즷?; UAf6{V l1*ͻc6GbأqeY,b8vxݫAI yǞG nAg^K,97KDjV 0e4l.qQ6Ik븯Nz<~vINԎJJ`/ ڛPBQ-SJ.F6/9Խ(W-pw \[cy{|a[f)[p)9TjdSM[t(il'kŷۄ! H #(%'`6'B.P:Muʹ`CUFqJp|}!T: G=Smޅ &S rV‣Đa!ɟ1ҞE&DLX^^1?8ddƕ6!&W\;{gqt)e9>Sr|e8N;ɏ˱MFTwB,fœyO^]|+Hy9jW8>ł2RrV՚z l+Xì0R'ZDyDx%dq?D ɽ :b)rVQ'-H|K4[jf&۪"۷,'_$ HK/v-m[/'8&ckdΚ7\.n89<ҰF3g!ݷ{l-G6()9Bڹ*#Ѵdڷ1MoU nvBA y: ==."ei o- d%CIb+좜"Ȇ6Ն\8kAl$зT(Y:Xz5_ŔMFJBMI~vAxa6S͓qxL_2 }70UC0^ï yKɧG:6܆gڞ~V~Nx˶\Gk6d e2';kzkK͏+":mkW{,gn=fAeћ(%#'%6"@|WR=Iߘ$nQe?;!s֚0ONSʎ-Q|:V]GSA]m䲚]X{qF鋸G'\}+}e j|PxdEْ8)ٓ`E6U}0b$釆9ҳ 5d]uVCqXo#B4E(!p˯pE=R i` 0; ΆaY1o`AAPZ =jt56D|fi<|m,z?Gq}ڇZV lYZ k{_Rob`-O͈v‹__4qEf=m5 He:teh% 6"VRJxTjDKdCvP0R+Q=l_&ɎPBj:WbgFQKyƤܻox+T{Fi(,1wmV\YϩU9ƌ4gL-ɅqVfr ['d?sSp|λegbpmtv//EԱ]"LGO+gl%9"l;FghwꬲeΌ$µm@8Tc;2_(^s_ G`Vt1/\3z}/vt,sn>z\\ VVh(# 'yY-Bʧ44bIgrϦC5sFA}2HlOG=7 cT iYt՚)`+EXj\\˹pI1*W}$~q%ѷ>nB`ncyXio69# ; )7~c[6Epknɓ|:GăYz8 S$Fֱͥ9|9@I]Wm3\L^wNBЎ3>jP}h)l̢a92HR;T" lѝ!1vfBIi´˲It @iC)_/K׾nȄӽdǬyh8Vh֖u*ܡD}h&CqR7-i+g+>)$TF߹J#-Hpn#b,:X 4hM&L~s]16D/"wp֚n ʨb#ikD+!Rn #ʣ|{fw^ZevGaEgWeIMgw$Q 󖧐0K$|q.9~rs}xŵ΁>Y.bX/3= h̏2{]2Z#K{x#r;I 9\T>.kse,f=<8Eu QauV~~;Ɖ?G)Y|R 8iq)n=:;}_/Zyc%>=ͪ oޭ;鋋l1d`v}g'b*V/ò@l@.  @j#kHoWVbF",'zl+(d;f]=gfvR`e*u]t@l7 @-kcN V2WڒoӝJK*0!gGRo)dBTV:RkvaҠq8>h㚥='*Ehuc@L.0NJSyUE@$ZQ:\{x&,|p.)^O:Y48ֳ5 UyRR0[U v(hVHk߬ TV:MK'57TC0Wr3չu &Y/ A Ca\8 gx4q v?LܲTc7G7ΡW"7DўH{^q!lWQRP(Iuj\qyн`PWŌd0ili>-6tF*#/PKg}_q! 0q>ї^e{cPufD1ܦMThcы lf+5?׈[Y ̍UP(lNsk͌lHAWrw4_R<̃]Tᖞ3D |{I?.Q:.ko̫ynF*[ lWrĺ#8g""4GΜO㜩StbDR"O:bg&MD|F].!o)0Y*;"dg=ؗ=ko$-h.LJh{'f ( W ӕZ}-O.g+pS*fi~;)}8\[Քd-5D]ؐގ;xj;IQMI57 ]hݦc8,,ȹ/RO3c\Me6&&?zc%a>BӂYi-Ԁ`02$Rw,Yf:IG xbp iδm`> ;Z/d-C(R:nX&iOHk^>\Զ&IlWquJ<0"FlKntk *qA5+-1a* YhIW\H@u+^\ޒJ)er` k߯:Ρ][d.aYIf\{C3izh$xgY ^ ;k>.'^d*jT^_Db.|Z֚H~L%ݗK* ]$46Ǥh:3ůZbfΊJ^Kn ͑qI4.BJ=R\\5njs5Vشhil^#t~$u D/6@%.X,A%ggpxTrU ʹ`ls%9Z >a~KW|yǏg* ==)BJ7.4FŮrgR iibGi%{7z=BlK5'8u> 99)ҝ L4ݗcJdRL`P%0` ?êzi/%#BZ9۔f}\xVvjXAW=E=owU{!հ+ TtjCغ4^la/Kb{a^HMTɡ#JK ?XB#dPZ"|Fx8i)0aD Ln#8L2'dRg+ uWHA3B{p9iA2b︂#%&[+6ɞ=YeM"7"7-A!`2Uhisd+pغ6ĠnP̸D{fC^XMl7(cבexRB%M%꩏FF 6q/p@R),TGm/ة6y`5Rv[QtK$3.{_v,-n#CP>*1Dcy ݙXrۇFoe|R<;6Zpܓ"V/p7-Z;5+ i)+fҗCRXI5o@ 2a U\>[KA*hlR3]Dod'2pv렷KP}uႊr=aBD|۹n|4!gAOt(D/ދ/}??\{'+@S'E4M'{hs5҈ܻz&&hZ*$ ȓs($™,Q_JB8 L+\rzm\*& ;D`q%Ρ:EcJ69 oiіP6Iݓc ՍNm(xASm0t'sic[yCPB:F҇doft]wIʸI9mTWf(Q lߒS%ǫVv_ez ~H (B4}&[٪0@ E1y , 2hrXY9dbvU CҊ$:#nN}4{Ԕ (+QMq\bARm, @>I3>&cލ:'E1 ~HHE X( ݻN4>WqhSҩ ANk՚[$A5K&09"Iܔ@z{vJ<ȰYPl^rXt`v'!0^8R)K !@0@yAe(XURHK8us|&~ǦB "!>CS%Qou@n}E+v+ߍo[B[3SPTn ۄ %'e,?2X`#l4kG0^#Px1w%Ur XX4ED#);?E8QQ(X MW;䝯K߁wRf0 ;H{ĴQw~]) hR/dµm7q&6Sq,L(y]pGP/ nBё* MMH[AZDBW[k<#7!w)p6{~fkbM"a_lopߖhpJWK*FU̹收|hdn(ep@N\f>*ׯON֫ cd[Ȣ"CxQ$U%7Ǚ wz2y7KcH)/p#jVh}tӺf cfbΛD[n52#u,HБ|'(;K8CRᵇ%9wse6 E3̒a @6 TBkqGx1! uTQI{+S߻"dfCHS36WRܫWKd=bCp>趦ϤvhugTn$ 2a[IQWѼ4\S͸pR'Bp~"_rgK rg1)TO3^=tFGbC;P}Ucs11C"He)Xq*bdpقFPZF3n ,Rfv)-l/~3Z nTv+xP 0n1TjifJW E?n~9WeI4WlgCͳBEQ# j)r<~p})%L+y0+ka _y(#'3J o.T池*gX@\zK"gMC-?@z$NL, I4kaoU#3І˺6ʹ' (eSxܫP 5ZlK ߚEka*wrix0 @q `UFUr9n¿`#b˾s*Qک*euwvNn"}C;-~{ʞEH}=TQJ=Ruf&6qHF6l? 46:NF9r[42 %N6B鴫E)F*^+,i3r2}oGB Y+w(Mݲ pd<"21Moi䠗f[ #\Ղ/#DYM1Uc/} <:JU~˔)C7 a1.%""waC׌ntYŇxws&'[A8Hv:cNH^lՁע$I^x& Cs@G*T%z#V$.װnYHX\c%ЛX>`S9 n|wIQ+ I4jM4b dߴlK/g ^ L_wYy['#z&@Y~ߞϡۭ*d,y%MKcDb #9JwCM_"'nܾ"$c4Ҹ}Yk8jXAh da2ImUir"xr(fA1AlA :#3 `AA ˡOQTAcsc98(zQG U*rQuJt8Ҵ*sϹ,qb[,nQg1!t~cd@PpxE e5T1IʄЙ # po'jL9mدIE}Vb 󰱿;ҔJCC DZW7h ya_ieeO?3.>04#k`aoiW?Y|\2&È187%YF˘N8OeNfʴ.WZ6O*_aY7}JGSZ̹[O&{r4b%2ܛy)(;Mwj6OJCpνįOcku:^X邩hQ'!W>ix,We^'5Jup$Hp9{k_kVH"FrWs~K?L ;sP D (W<65gA Njؾja&c:KWnt_D5YA޾)YɅk`'G9z6W559)g}?a$d7%?L"U{E0<#=tBRf(,W#ϙ-X ǀmV:?h^xSr0ET!XIy<ֵ6S:;cy(vʉV,@ǻG6ygAMK*R1K(Xb1'vDt+YPMl8"$R=7-Q +<4r\F^gfsVt&`v\4WܩopSn.jS>/Qy|?ke"@\L/з]}Cu#Na~;iz1h >l>O G4`O^_$?KDD+hYٱ 2:#k`#dÅ6OtaE(ie]g_uOօWaiƽ-VW2~RKjʢWdШKlWS^!mi2+*Pcjnu=I*.j< yqc|FaWZ򄨢8oX%|FH."(5Dd[;+9<:ثvhrF/C1 ͽ:?)rh.SV%~9U =wS`Fhvh~BL ʳx{y⨥*n? /p{Ǵ!CaG82(uVUimg -U ҶdtMcqEwպF5&M]+3U*jֿpzrziPPP٭ܰM=+y11IBEV*}&zG%$S YgWI~F?txbTP wTv BYx_7bf4Cѧai,T΄Dn]; s?(:5H3j?+!fqi-ՎdIj-y:'}EQ=լeIaTqdxSL|5\ bհnTr5' W Rt1eDh{8 l!AW|=5OK'Ŭ . =h jKnrc~rO]!_.-0`M]o,n5e/,05 C,852cg]/ru9 tIZ &a.f@  Q^TcV8gfsy<=%hw03I"ߩB`jE {< (BЂ&О֌Ww`'@xr4*sn$ضv+Q%BJޞJOcr\:Wq$;igۂs7W}.MŭaG5_^ngg^mr57xWh@/%9wPӈ|n7^֞.I[ P"}$G15j/U =dむ7l)j>MF!??׹%Fg.L:a[n*4X$y}jѶYo"z_~H0C*j*A:dfsNd'4:@qQMkPbJ! Y"2$+rH4OD S *rzJPjdy;pecB:-B9fkfnP-\4DrfMġEF%E抃b+|1 J.۫aJr).  2 1)3g+0vuc%j}m~ yn.P2.x>B *q. D&Qߎ~<y0~9=7d"'3,+ =< f/V oa<ī;3w,U7DEzN7 UZt'!݄mQD.OVUkuےID\C* mILo7f=&>`/m019~j߸лbP}ME=4o1d8CJ`q6c.Q%SSQ%j,;w3n`XE9hD} <k>E9Pk.0пgH ,]8,C-q_ģbl5<:kӚZFp)Me\@=VS \`D@><0V 118MMƬu_a0UWnmi{]rP?yxnv|*e4c=<OzxؘRfWZUj6h18 tZ#d“#E):+~wP#֣V0.! 1і=wń^ RvoAS RLa01XTR_Ө# @ U&nɫMoNZERhb+_O t&tUA5ҨvMPN/0 C᳭.I՘OLTZC/Ww5,C/b~0| p ]5f$0^ m{-hsr&Ƈ^ E)` { EN)D(&k 4H8>U*Y=]Zon4ɈDt/$ߵYBF?.d/7iNWWIraPvl\+nþLei;9%=Tڃ"cַ _ƝK¯̹P|5cp`F_ ;1~brS9$7]CIgccàݟϓzqPta?A G8[ddց۬~R\P]k*DJp?jY8Ԋ ?T EJ+mq~ht!.э'SL8(3u}wM459q12{,IyRFWRlj_L=_KNhD}-,WSlwDZGꈽ)ˢ5z5O ȐBzMݏ AŘx#aVŽ : Q?l]uk-?& \6LYUٺ|Qts>w4]eTw>8ۦS%zhv/\ĉ;6<9Z} K2; k65٘h8D'#,h@~uOv0Y&mL{WOiW^#H5,D%*| |r*nKf(hβeyF?c}^>ӓ~0/9gTV}ط%x63sw4uZQ?{!;bKMu]RnbttɃ/crרUQ&^sAPD3d-G mJ'aX<8a?_?[k?hÇM܁fi-Ǣ%M Vq<ʀ0ܥٖh-h|%Sau.pCab#RL+ѻֺ=B[l}c =٢4*q 0smF;m}t;WZ.\!SՐB Z%̜ǺY7NRN:lb$s~~dDٴl Lu&4@f(c-(1đGL@j ~hªlĥ%>ܪUCJA7[c,4>myOӥavCE!ɥ(ٸ3>ϦtpBA[Sn `|u$7w]>D?n4Z'by ܇kK7Plqq9vVҎTx~^dO#oPѩ_Jy[c3ޞgD:ezƆ{[yا+>=VZ<7!-EnJ!m$?-{kv? _K,mIuPiCwS.1a*q"G;wB tbxjW)Ig:qϙ{g'MOʉ $̏8`eYt3VH#Fit JZ 8[H]Uւpr|/s\1 O2$>ǒy90ksu%,RsX -MB᡺F{qPLՆ|%sҦ_a"?M3zy2c,_g mԆc\斗mm_=#NJFJZv|F\g [>ò}:˷p xTpGͅ@@d$Q+K*i=N?@N3[t#ePF* sK2(n<2\A**Dk)@v'嘒yF%7ֆ{&[E)|GU@Ҝ߶@c*#΅'4psڐT65XkR^ NB]9}{L.4ˋKa)aRJՂud 9,ĆiTfՀ˺}<*fm?MyGbmdtp^!T+Ye,holw:c![ÍHbVJ…[yBVV ?27ޫl#dXsH{//ًn̹'=qz'󳀢mKB d.+eYIFsCêu,ne^w3H<‘Aב+{P3[H Za}'W~Q)MmPPN)8Xr79xcs4N(`*Y.UQJ~4sK3x`e<Чq'J~WZMoON:g!31aZ,S5B28ՄJHN 7:* ꈘ1ݹ]`>rϔ<³i)]_{7)/x\FI-V,tH0 ||ܹYvoSY=4@X:lm?x2 c>o"ǣp'>-0pi|-Kb~2+tH]Rb/{˶jTD!CoNu}-2>pM=(gD+/]EPD~7 >Mi'Z%gN릴َca40I<<[*x6'P`W#QA5W0j{Fރ[Ә̋qKdblp9!Û\G+O@lglx}=|QH+HwoYEh,g0 rp 9k*Y vV!F3I_$|삙VQ td'1%=P@J7ncG0f~F)+w><vJɬd6l|]½fKWߴ?PJ#DoVh0ij c0~ .)`#*!LRYڊDЇ"QDZVpSUvڐhw=vpC aeV 6򈋼JA\0Ȝyi3w%;z}Ws18Ciscey&'JkhWOӟz%a+v2:/ai !2sd"zDhsso Ve%?=u|bf 8~:~9Pſ_ M&zt|,ѩ3M=f5R.KDȔD q <=WKlYgZ§ȑ~_#\ͲFR+!%AƠCl92Dj&c}rޖŃ`~̖xsuW[e)rxW:ICP7.9u7Wh<\o$9}F>w~< i3nDފ,vr5āZ; /-20kD>Lqk+VW-WXwp l=_ DQ 9jp M;L{Wم_<]#w:"ZT@ѹ(L ^2zx( sxV& klb,3H,_1[}*p%hFą07(S9V"5v CD{DGxPf|䢫!>JWj-7 o^?%H]_;8ۚ<^ͦR15؝r]K:-]"3tMai ]6> m"Jr+in]ztDÝW԰ @z'Du47Ov@=VkQT?t `až//[5sc: l|"==& \ߢ21ܝ(w>/ U*ֲSn}Z9[Un> Drfl[͵{<>|^:؄_ޮ ˍwqfQ#:>`]}V/QQ4rpet^H)v$jIA'ºc/nɩHbXqlLK *,JƿM! < ׃r]*E5X"G6K;q4Ddf-bx hm]ƫ _ t,nJG_{̥=1@GmqtpRըnxVӯ 6/)>0Qgp9@5 9ebO/MnT1L{ <w%*%Lsv+_eM8eB4Yگ !sO;\U &s^OW ًDےvۃz ھ1B0`Zn4s>qam,53n' 1PM+m67Xت#lOY 婢ײ9@tCʕXc T5hof tM$#W%7]C\ MZ(B1ͳ{β1&WiFX<~Wxz[_}XcjO_o0rfu3Ȇ) i93['gYs& %U܍;5_c$'{h ,D@*%Βfo\<ƺ&9 <_8@:AUUs(:!{d]j ׆S&r:?QmOn# ~*E+?Cyט؛P/8Zr1<].i*>u̚-.>gB遹gVy$ 9fLZ~PCdͦ/+<;e-MB;ݯ\,6ƟtknGn3W< `y;` \F/`Ze? ITyOJ>%Z9^i5^N(8P27\t&àx-׹q8-yVB=>u+AkpwPhI!+m|HDi&Ug,TRbɤ, RL A^WQF^Ic@6~:: px#(N#T[S\s Ӵh7P>9P_5[x[$ EZh|ǭO3²@toū:EHUCܷOCOw޼U8Yw%8F#òn;ՙ)[m&l9o/L(T!)Gz~]iZhc'L3}@\йQEN"Igx6#ފKhLHVVL0K<+{\%=KXhfL C.CIUs螤cvyIxn}$GEU-%PiEfR{p'ڍaRhxYi|3ȺOf~d)]_f4͡IaIbLz’.;Y4D=rZĹ*ᵠ"2%H4}zUI4Bz0Q 7^t돚1BȊzXzRvȑDI)ʔTljvHAuM7ǻ{s!wq#oVSvimU;* J*1Z 6CkIEB0T}Ң$-Ryz!o(h}$ k17*58`qpd~j޹]%x(98 EVr8n-.iuuBZ,!+Y2%l֪]l55 eԷ>GVM{@>(MF,Hĺ_B ) jm! `(ҙ|5 (` &d&4|nnet?}k~ y @xa񍍶ֆH;hP0gP(&Ǵ>M31u8Km8O5_X``hٵO@:\[iX@h ;O7fXu*xV`;t6 6fN L51MXyQCb XZ%mMy5$XNưΔ{{7[l)a f+Gt뷜L(ˠ.B#B @Horvi `Ɠ,y |#Ԋг !800&]s|ȗ 0 Us,=ƚPP.FV [u+8\'ܘR Zee+wp#١mhr/w*D+X G')lYu;APUB#Fa!ˬ\_(vď)ZoG0V$FC8zӋld2,MK?Ps4CɑXS+lhBQ_o52}P?Ǧ'UR_Qڎ0& ~;47xdEէDgX.Nar&d_rRDHe^Fǘ ;5~gG΁&>n]5i.m_/yNßw"SY6]`#t`BU:]v;WҰH %qN|>۟TX nh;ea,y.&5Nh@'[CA}*~ RmG؇B6&.MD {.^»:z &S!GMgNul&0AXgHJGMG3pf)%'nh r޾ġ%BViĵ% ow3Ev@EM#{\v ȟѢL4S1N6^6Dnr[(* tVSrt M:E~B 0$%o~98bQʜ&蔦:tئ|~g4j?*(Dٕ?,<{z!TvnisF/a*yp'k|z̔]?qew/U_]\\6Kin7iMBr(r_9kxiL#5lwg~aPЂ ͺnc!=)&'F0xVD/sYf\I#:y.~&ŵ \nxeAY:$ϕ5Ӥ8v z Ii`_h0tDQÚ/ "I`0eX w1ܒmA!#{;#nq&xjx#B)eo%3Xy70ϛa>6\GFE.M/KX ekWdtaR'UtZڻ8ؑ˥2is!i1}C:FY1B8[K#p˦ӓZi*W{~zB60fP\9%p~n8L£`JMV&V- >LN"f cQ=805{P-p˩ }K0Od<XF~g$b C9H}Tޓ.u_if#L5/dOC 1[H[5z^!=<)sQ@BB^LyZ͢cR}}RDBK.^囙D [$Za R*Vh׿NANX#F'/)3sƜ^"A%&reӃAjo֝ C0O0qz" +K> Pjۏw$IJKٝY&3 vx&2sX 嶸46Bx ?ݒ3VG X$zەhK$+HtYɂ+G.'8%j^'sb].W#3#3gı&-Wh=vh)ۨ@~ʣNi:&<ٴqŭ'!Lvrڜ4\]ZwI иLV34DLљUuK&PAͻj4>[VE9 9 yDzdSԓT!!kA !X9%BsU)Jn6?xYpܹ@^vq\?RHћ_ {de"NI,3G' ;<\5 yO} 첚[ϲ[j?5zPvݸ05SeRIxof#B!N g9 Ml#qb& U3*6;Ϯњfĩ1<غk$9`(I`cr P,ѣy\E~+3TWNMPY"a6Y6RtVFI՞M-~uMվ6bv GP"䩴0}-Ujah'ܷS#d_D9=LʹxUqAU5@p*:( I(u%P+GZ Eteno% Hr4iCԿ o@}+wk5b1 -JgtӒܜ^8SY?& G ިiD(Di(xZZm2 Cx9* ffÈ"L[Drigd~R& 4ޢ sV>:#_ٓ1dnRy8e;_1O@ѝ۱6taoN [քc$${;卅Md=>BvU! ^S~O3n$gDĝj)= A@yԟOT ,AGJaNl {Re#{C-B22Hk3YMgmph1h*鰶kdmLik(- _`ټzٙ>?qOvtH*VMHPV[C`.GE ֵHɆ3 P\ou;f4K()mL)2Nw`p[KiH /Fn[V0rAh}'i 9T6pKbZ C|H;gͅ# bסHUit4? 3[қV E6|f~„k i$Xg$WV748P p2L0ӶQ= 'eQVؙV2Mj+uO8m3xDѲR$$t'O _kǵf’FyeM c܍*b)\Vou߯gvJ2v/^$(ͽs MllH7XyJ(B AiVM`GBcMyޅ5CoO>ʧ6CMy"޻%Wj'˕.OCj63ll7$fLvβYoTwf;&Sާ|X)pXLDQ vxv۹t[0YG!RHCU:F9 /{WF jxCcYiplIz ,Ϫؑ/ڿ#GIԹ);qj*O/bAf,5F`[:'/8qX$|CqɌr2Xq{qRf:~I7zۭ/G[̿GmyQ^diAq _Q;kBOPޜke^Tqj]4 (i7Ӗ9h?>V^:q T[Rwȼ#@ 20ȞT)q} O9F$A/0a*x{2ޑU@W~U ;M2CX呚[~V;n*~g&N:eMoDI4Yѯn1ˁ0{L"F?`Y EW2s5"K.F?d2S E3 RwʀQ1\VvT8AS-^Jo"yzl4lL;ݫN&X^uW#_t?+T6D;\ʾطE(ӬgA-QVׂ^?X^p;Pǿ]kԅ|D}hAK%A9 V`aBDu[4kqA~44ɴMW3~Kݯ3hܷ1o? -~[#y=?=`7xt2g&w#AZ` ~|'6]>Y#ѴXb(ZDZ_-hSnͦLoO!Z@r#IN^rzYÛv=5y'|j'>LjzkaF^"!}vyzWJ4eG&IC4\^?&>8d0r+Eozz/ӳW(Ug3aЀ%YƉ5 h.~Fbh V0vo3Ӡv:Y|;hX-޺d)/3mYPv'iwqn.@QZ]'ƴ%,!bYJJF3.g4 ڇR% wK@TgunA5؆c0G߭Naa37ԭ?(M IH!qGB==Vÿ Z7Iecj ^><z/د #)>8Ӆ8w0M@ݣ6&2Hۄd+襺6m.NRvF>-< $PEA}DRQ̳xM3g;JV~j @U-ë e/FR!,g|rWzV%Rk,@5z%SĸS?8!Ni 8t)m}Q]3To0?/C-$^ gU#ziG#fAYM<1:ON\(В:z\_"ZsI\T7Ͻ#~tGŌV3%׌5M& jWڣ%apG}-1YefvU1S,ٚm RB&'Y(|) \sie\슫C#o2TQi)6Om|kn/q*߉D)t?,nl䵈M4JX|0LceBQHhպ:6=r%?Md<,Cp`u?=z$X"eι H hkP!bHS=-(= &rAMc=CU?CL4B$P<~㶖5Lk#u>0b4 BFJ@x9ΠTϟ<"04~b|SF(* ;ϒI3$ғ۽ܼF+SQsq)Ci"؛E¢Gؔ@e=>qC \ĺ,tZgNGP\39#Cc CI%S [ b9xND&cKl0!mP5-N.VMNfQZl _NV35`CZ S1;fNmVKPWZoy#~*L\S|۶Lh9x<(+7eL 2ˮGDRQnRR I~|7_Of!Z髞30[\U^w7%bޛ%OLp܆+ehA<#ܿPpb% wMD1niѦnD$W=Jֲۅm]q&^s[Z=<3= +\]g '`K*[u!!-ȩy7Є sBORn=(d߀<,r @B)GNLq*Ehh8L/`~+Yҥ@()W-@·+W;ܨ D}k,q5@ |L<",JPyR!}mr#*DŦB$!s@W ݃}oc<\a1,QJwaP~մ5jgZ|,=\"`raTuOmQ%WsOA=ٺ鷰L}fnKA\$Y+O1ǎۋI»eLDv{H#w1$z6*\9ď-;| 7?z_\S[=g|:bx$r}R2Wc%^4]%WI+3Zy.%ғ=>2R*?g=CXB쨪.bނ'JaSc_q%k T s' T҅X;eQ[J9mH2zI1BQI1Fƺ Dؓ߱o3rS Mz\V1˰׊0h ֙2O;8^1I.Cg{ 7D A>nݾ*[̤ BZ]#mb]4^oz Nq3)x #$Э܏5& -s:@Dzi-5pm**s5X_ ҦDk?w D%,"o};`U-kae'9ݨ&̶hS̲iV,l~ '7P_F VD|ǝLo܋9T710ӆ<X6tx%bܙ43zd qC\Wfb?m<j؛l2NgͬՎ"[{EDkȕ8ta#dA =fXnI7%gg]%!3j0 sH!'eoP:rŵ?jOX]ݍba1'6y+©tV Dkىw@\F^cx٘x>ơn48s޵ n(EG-2 ^J $˝{M`'1_'/"h9J>"Z(QO(ENO5\vΜ{Dp&df˗lj r{"Rr#x q>tc!rsXSx!ی{Gz+3ܓ;#Ghe\N.^a{r烻c 2;.yPU <3IK<Z8б˟UؗIՇӈF͗ߪHGsl\V&I74jv*M.f3:$'qSذ>K{U`|+Nh'qHwt,\ã3`4'.+3=2Q&u6N(gJh f`ZF |V~).-r_ 'f!%ɿ];0Q-Ebm8<}w\).^/_䛉|)۔MX=m'bG.[0%eILRp^kGP`-(7 e졟r{)^-#X uҏl~m|M`[zkxfO?[i—' &}塸tOy #jk< 7^Q&,ϓ6t0FKkL9NH^9QA5gi>t5bumhP>`wi~Q4̓W(z@ܰN”z~}RF up;5\ :;=(T"ˏODC{w-9,{Խjn2T|A5iZH5b7T; {;חԯ Ze|s[ 5cӒƛoHm:aLVX@ 7p2긨wBș|.Q^|M7l ˃2 2 㒍,Ps ƤuQdxArS"KqRtm A< D' lTWNE<%X]Fymk/MU74d/A\v]u_Lc_!>:a,l̀_Ðjбӿw:EZſ yuj!A+_KZ\rC]Ou &&/EdxI /\@BUmG5 !]7WYMWQ3[5CHːJ\$wwC{eTcǣFa&-e!k`ma2n<Β ˄xֻi6`[q[{}.EZP 8gP)50Opdɇ3ZApb(Nu)Fg]W,Y%9cXRVS68Z5dRGmn3G$$e% &s?(tPq s 8dD'QE>N*Gc -e̱Exǰzl2'x,h+gK e#MeaZc bQ]-S@nkhh8qm mf;0uªa3ۋgZI&y2+g`f^DaTDEa]r f-AM&γ|W( yR-o#SS-|S%}7GDvl Ϸ Tr&<:cӪ3ӹFBŻ#TD*ܹwAl`w @50GI0aONWlVj\бqUyIDt=ޠSd9FD]}e Vkю~cCje<-B@`ɋFoU;e1W>dQQp6֩MӒ^&4|fp8 gbt(JKyzʑ(^{*b@K'É BL'Wunz/ *3 FE ^67@畯^IUC:Sʚ)hCf+ |œoj1+sqO8**mps=-jqqĴh ;5H<`5"þ0&/'=%3ary% ]Ê ՙБ{3bg2B#t{ gՋy2 4E!:1Q'=9j?e+8W= tn &-Vf`}`!%儋?S[AY >*\jI וӽ7%[zʂQzxzuȀR^H=5AMu0-H 5ԠiC7i7hwj\PdНMR$2ǁ$p>}=(xU{f]nzbV=hoj3,Hg ]QD% ,>*djc9{|v$l[H)+CF}2O6]\8P܆WBپ vo~G_amN~vqԏ-o[pHj$~'V) nŏz'-x?+nbUխmj⾣)7"=%%(,x`y3ya1U!,wCPs1o-u~6&WqE&U }- #q]QB$)T([k?i-/[4;KU҆+gD}1gaˌm5n]nL.ot6Us :s{lwbH_h|&,¬Pv$#E5EpE`t4d mSA5:fii=Bs XgL=|И߅N{lԀ@#@D5ZӪXʌ(kф`9Wg!7=FYǚ?K'PGyhW`dhWHW$ ;X T6zU-M:p{{fUS>= 8[<-47Ei``/ЖeJ6f8!cHoܮ~N~ĵ@zpt0%Lu.M`J܄q3՟~z>kWd%ǬfH%NC_u`!u#F K=XH޵x^i@g^~h&& kšdH7{bYe%x5g!Ul=NT|c hLځ}r@dN-nX!cX|`~ez܇?+QtkG`hZ/p9q0׬rr}6MCӘik|^rEWAm@^O7i(AtSNoWqA1Tp0\ nu`P0JDR(}@/"E~mMSsYTy`1řh/칂Yb5f 0TQZytvL%dЗ¤xp#,v3EWInP eQth}1_t.&=RV90l3aՐǰū;hwjעW@2z3l2L|T3. 綯3 g 4w4-(c5c6wGbkQ?_}+5/튓3LDn8,ɲ_EvEpt*rZ@>~:8ҪϯG,]78T2űZbDIt|@Ed]/%#G7RAnX$r]yV5 Y%L򊈢e·52bdR_kMyxQzwW]>!#:DEBKh\ X6ِdm p]%kb.n!WY "s 1/4N}ЋuF!#V><.D_ WI"h,rZ/bՓi%?=@ ༛R lUomfu-n N5c^*!M[Y( P/m\<%*ȐgYt<]RvJm-V% ch:+Ua_s6X5ÙW_sD8|yB`FQm#~Lt2.+]WQ$:DJoiIl2 2o$0'1K\ /m;sZ~'v\ݔjj,?N ?w||,S4{Z,Ne% Jk ר,LY<^WTڏ+(Rځ7kPr꫖jDj3d #ğ~߳X"(.>oW7~P#A< N50P6<1eVr Su +.e_eqNG#mV^pdZ?زOL)$z{#FGLukx1hO\r/7|T=}]1:`\;0C91ej<'[PU RSUG2az0- ] Z lђ3s6 ~@'ͺ>I<6GjAq"EEy礿1⋝^ p*E*_onW T+H_5z$*]B l55T6|V/"5r U ^7_/j0^ 񻎁'rPI1zar@#V\+zE É Y͊)˜ߞi"OPT:~тTē62ficuq1`A 3Lde㬔):e_~TovQXj7_C4'X }Qb["κ%dp3I]~Rgrz9lSh@[@KfE3JFxP{]Ko]kՃ#H=:y)Mh9".yVrtK@~B ,@Ɛ [ 4щgh?|N3BUlm]후`8rB2N[`v)W2uWn{5ǣ½AkzR/=/K|uل! [ro#a<7<,yW f?8 [Kq (o57D$IPӛ|j0T† J`2` 0  x@Bfm ݷRok@~" a3!&tSH: F+&Ę0f9+2Dz&=NP[}j[d{j2+Xl 4L,`ܱc5m0ͪCpo Ǎ׵j+Hʪ#(#Nt5`KFK7r:_\$u%he+:WvjC{Km:JPX%=Ojmtl*2)s$a+ &xk2ol\]X5>Uk^8Y{|BaIq{rFy}+Px }z4l!\+~KH67wi [Mr:ڪ" c4Q˦Nx *V QELb>6GS"u&lI` [i+`?\nԸcEK8 9TG%~1"qLUr6}Vn^ `E>rB?@d  C3$w;?{rKLTd:}l as2X9{a@>7we8ɒ+][WTuD&lH8Ƅ}y'9u $GP=*g6 60Wh^jfr]Lޕg EDPW|ISgw~?Z<U{Ƕ@ k2Dl_c14?H^E Ҡ `IIӊ=V-ڎXm46GAZJjD= kHl"'"my4[״Ň_6ъO>l 2<݌~$ΩE0v~ 41MWhȖ&Sp9p#86P;Y~2v@|p7W Y?cHIҲFNP(Boo4)r'f86)SDrG[h8`O:="]pmyU`ݧJڦ;2ZVQɮH6)eޖWrKإ<*fTxPdfg+-j'5_Aq#ŃaXTANc1P#䆹:&hGE=2G:fOzY,|n\l Fa)HDoI@{O6j}1<4ucG>ɣҫ.+WJ4CܶOhLi~r*OOԑxbgrأYprq]iE%mP*fM|gz2D4] =^!%) vSV[9&>$`'~%@u7UZ4m% diy2u9Q޲@컷auҬ>.{2Zc.I̺v5+=&+#7[\ZPьf=(b}+\#y|'رψRҷLƮ}qWD{HeV?LA*ASrBcLMF ;mQWM־3e(R.zr7UJ 0Xvτn=(> RSFсII>SHh #qxfNtKzjs(q2f@];tS>2 úQ pOs&:w徳w.ӳZI[/^\a>`y6vdn$9(\v (i/-HJαX }%ڨt~wy|V &]fL܏k8ŅX$!؄ۈ|o>B5 K&}K N#;̵ɪaDa:T) .FG7o`cS$#9, /S>mQX`Z6-Lgdpsg\!1CW8;'RGbkv%_rC6^Kc5e?;PoOzh#ߎے3 $YAp)_UW\5ڢ[)♶1g;Xplc~SŖ4,NiOzuD{/Ń8ێ!s5p+1'JB@'X|۶G$ *x:$%G2dOߵB-Ҝwp˛ w.^JO!2O`}xZúL*rƌ.񯘝C_p3r {][KE}s)[E-Ҋ‘_wƶ/ g\_d+'>HV?. -[t/`%҆o'ZLGO$c&ਫ਼vU.)25ltxni[K9wEҼB  Gp{s5҉Gp rsr{nh*C1rcFD,Uic'=J Q Nh{+V3pZ4?M3 [$P 1 5WX|̊2huh=r=_ v P'21dyZ,e$O-,٩tA!*8I"R#燁.`ɯ0q!a\eփwund(X`? V4!ַMfݼ-}+" cAH/|UyPNgk9z92L-}VLʛJU?9C\/Lo=.N`:K=<3[I %5dsdRkqabNvqI^Wt=r Ĝ|syKhLDwV[_1guH{Lrw}D8)W'˃[LK9֕j9MzŞqS°h:@*pXW42 ]9Ă(똵ƱV\nYe7[EyuMУR9K%b]X=n F*-d5~ D JWڟPZ)oA$hi&wVf"'* L㱁b2cp*"(|ؤ@b"IdT?e餚oVvT/5ץC72\ ?Ȳ_ťJH-C -ZCHM>;tz {QY逤p(bgbhgU`3fɆF ' C>ѿ zMnW #c~$ Md O㮂_Na % Jc L]ro[YK3^FIʫ]U֫W0ƬQ_z4KZh<]|ewO] "=u|<T8t8}(z U7Equ˩v $]fd~[`xE(|2[[/j1j 8FG@kN65) ybyYz<#" Yw[T9ұP 1rAC3fV>̜jIOaHD : <3`Gu z\?buD+j'|Jk0 6W5dk7 dRLayw]AmFLkb|=c%3xbC}.'yx4TЅQ*RVV\/&y %]/R?ADH;ᷡU#I[݈<Ɠ/LQu(__.ZF]=psگbPHZLl6{_W] Su_\7Z?h;E 'zQkDB]K(bv[sᬍP\P2B"<&cӎa?rvmv@i\U@x]ST& 8G%_ #ZylGb{ģGyqդ;̷W%o^(mm MWzC鹄^Rx3 l:`Q>T,ܙz;E3JsT8(A(L؅|Ǹzc*!rȱ(_l8HߡxNVyi\O&z\*wL~-oDn2(8nd儅wD'741xf.Dۤ ג3*D"{,>nra4ew6@U\_\ʟcTȭgƆfjx6MFAD+hb`ںbeޘΕG/i%&|2P^L!Ek+p* dq%s`:j)]ݻdže}cihe$Z ﺏ_ k\̟7p eLz=2 0(icWm+y"=ɧ{1:w_?͉[(Q4[)T֡Ěۢ RjŃ`BQ -Up#+Ƚᚊ]!Sܫ}IӤ&酴 G̋E_60Ft"m\n%D}s_,.%?jk{Ū,:l2C~;E.0G=k/ֺ*V8 _ء%g/rG.`Lъ#9@&SyӢ4\"iOmuIaU6It m[H=VYx"҆L ge`i])HO?\/ R)()-me{j4ķωN<.N!"gc=d@ Us,9-%*  Ӧs%SHbS쭋7E8F/S#^WQ^B 6;qӔ"y栴uqAhGh5n\r0I1!>cLO)p w{Cgϩbpq#_z{coq`}R*ybn,XiX\AmHBHa嵮?XH0I9Cb\WF:4rZ@IwYa0`:>Ջ("~)eE[~;c쵪uc,tv72=4G,*?\-`&π57`A4u FIh1)M\JdVV*kko'sGb,Ysc^Tr/@_sAL̺;er1˃4z*:74XSvq^l35m/MoJ^l *)z߾7wg#1jQIɀd v5o GCz!v0TG.>1u f^s݌3D<^Q U`nì?8O 1@w*h7I9%hZ`#gb̳ҸZ`,hJSo|djRk4 QLy3O$P,GL7KNP>I2՟$q52bڤE`3xR L8( jσ\XP[av X>J_Mersg~IWo؅mSR XZ_DY\ c5hESA;\gOX lVrĢYo ^p}4ZyX+ ^O~ȿ5$Hlt}z;e1Lv[&A'IO)m} Ri[c7f{R|jUr(saƬ`JX UblB9F%g*M7 ^qKGYD(Zi>mw({ qm 'A-,!z¹CW%ᒴLʳj'mtlWE6R!FsX?kC*QaCIW9G}=gcܢc+8fY~:YPazΏQ [e5@a1 sу&ǻڂc4f d RTFh58gv8P@~*[M#Y0j1[$jÖ-iB z$n]~aZz4% f#Y]Aq"т%R3aq(N\吽_{tyaǽ{m) -"{j):Ơ @BD÷(Y% i_W *%&)Ϩ)#fyq¢McN/l!匐B c8J&*Fܘb̎65yaԹ%D6#G0JW25ŽzE^+ڟ@P9(&c,CG_[-rAv "+p_׋NEyUm[eXonū6vCM^ ?#{"fDٱM#adc2 5ܺd0kFȎǢGq^*'fYMs<p˭U?ys/@lFC2ĢTwpLR̝P.f4FG(u.ÒOu.fފ{Ҟȇ9TD)6TF)"z{)KlwV2osZG ȳطQ$Fڰum&4 vI޶d* lV/ m[r2DlD1F!l'O=!/ȿ08%t}S'NjM_`t0RJqm{GOiN\x߬>9![8|x`M}GI"!JC_q3y޿.!#o/,7)Οm-a:H\(n4kN͎RZH)~q_c DIKɌ핗W5&._ܼ%O$(3+0$ EM Z /EZtoU72#ܺ\_CR;ڇ $|0@=bGw/[=*Ql@<{( n5mNu[d5l@̐4, օ}7Y/އǰ&2͑ ʢW;qz g KxWBרٞI/2R.&5VsnggVO@+r/'L{$;SWZ.؆c)a@8 v"vUuhY!7aFX&|tOBK[8P:ߣzTV0i0$ (lyy:ыk.pv(Jc\m$Z=H( 3S*m-~5_ϴ_Lr5!|1ڸ W]tuf1^xܦўpFZE{OD!H;rD \gKmn7ߴn7`Yj)mҲ%,B ky5~I>x $rfXcx5NӔIaU@:SVТe+t:m'xGP_ihu/q^Imv,yG=JH,:?9H25yM1;О[{jxA]R&Jʮ2ȳŲUDԱ$xƨV  ~eÉz.#5!1~]8!9 ٟE}t.J7M`1tzBO@c2&Tng)1>WZ :wtûЗ): LI3U+V?jXKbSv@Mi^F$^,}Z6\ì_۲?nI#ZRy_{`-*,6c#>JzM?#sS*=;u icχ^;!JrT8p"QқϹ昁q@MFb !(-9%_:FDS*$ZfG' b^uhVuZF =GzXұPmbD W~Ӭ Jh6\V3{k-@;]zNA v0e?ƜVZb%R_sB.~Hu`5ӊOAQtWo9O7an&t`pH[$ܩ:> @szVhX>oJYhuF!(n4فb ,ݠqY5@MC nH9}A"~% U^mTl2_fTvZgGNN:ėXgvInz$ Jnt2$"KƤRŹL)32z{w~bS7s5ipU6G ܈h^Hsm|m?^'qzr/Vٿ.3{G_6P^nBd-p>2R#& H؅#eQ/DN܃p HYµIUyKkSܴvwl9oCS4G +V5K*9 :Qt, *K&rmaчNqpg_퐲i?n8NQ#g(a_3do[F#O(3<мàط)+T$Rv8d7,NaK| iQI#Y Ss1qwdc6NVn?#!7>F[o/=U}HqAc7(S(7mZ;HWg7Ϥd}~/&46H3H*J/yu *MԼ̒;vȽDsxW+$*`go ?uȺF`Qbo*J<n7Q@w>s]qپ#$ 4Ih6/s5pi;2HT~7O!WQ {cQ،9Oj gP|Ɖh>dRCgFPސgF)-]!&dv/T x0d4J%%1TVf9k@cc%;nƅ81܋]wJ_%*UiRqп'qwce9@hH#3n"i*KJ!huq/п=ɜ+ޫ ?dmh$+1ZKteAen!TEnQ@+1&2a$;x~hIE0,\ w-?sg7,+P6RFXh,#MO L,d XIV$ OSft䬪wM習FPoHNDH >P 5z{ +$ T~L*QMh4^ ra1Z{_?^ 2A95Gb$fr12bX6/ ;09l'SMG 7e ĜzYal)C9$$QdvZ>__c3VDRԄh޶L(fz@\ԭc*^h8)a<IJga^Do%3O +xmlDxofwg+5+&e \NӐa۰]irDQ > jqv6[F0;;wWfl&ToOMhOM!wmQ0U5ʟ]&lEkoӜ|&}k8fZxRDq+ iUHs-P\߆ <&]1L\f)g^7~a&%n_vJ3 lpMpS*Eډ4@rN ,R[9~'gX6.ݹXW_FfS>><Ψ2FagoBfk?dצ#(&ǀ?լ,Y'k'nJb掝j#[*;M 9WU;PR4?h`uV΢w%X Ǎ\#ob'ǀtBZu8,a.j7eqgQwa `hF?nwœV>ϵwN: ??qэѭڻ)= (P.vO]Os8ynGv4/؀Rn֖/#6߈OJrمQ  +0ό_2nyQhL  "I)!ofڢ7A`ZWr|M'畋s>u"&jB #%@ܙsw$?uK8 oM*Ι RSR@Sr q~'힑Ɏ"}f1:^">X:Em;:anmhݤKv=2GQSݰ\cLYC u{SNx钤5uZO7 ~ЊqqϣҜx !4k[O~FT; LTI؏=*gcL6 !h훯]fӿYRڥg/Gz`EqYve|? ͏WCKY:74X!/O^;ŗ ABp&\,hvK#z$ Wa:Z.aZ Hh9|Q||(Η3ֳU3I!kZ>k)jH9'[B-UV !~\L ͩ6x w 4EHD/d[7ٹy-g%a`Q`gR<V|L À;-o7R}RM U]j RҝF|Q*n:2JSgV @=c0^8FX41IO@r1=!M*/3Mcx)'Z46sJ#h0Ih?V1=V1JBcTIQ&aq(Nsu^_Syz Yp7h_G8+e+K ldnT%Jj# Ƕߝ`|^kq#ꃺJYpr&]}I_\@}qj7Y#DBX*z 5i2&ܗjQܨ~bN\Ά)lvV:nz9-Lp@fhAWIZ4s <fG6P&n=͸ONĵw x1҆.x+MuKqo^l|40EɛW{H;[*sk4d zAː30F2]y f䲻Rkކ {wʳƃQO²i/G@CrПٯ*_kUDePi~43Bvz4W6۹$z2'T1>N4ܗI)qfs+$KhLGŪcw)umcCgc~6UoYOhn""{&OGE3Q.GE|^o)GHXEewv؏{VKs(Rp1SM/ BgO_ pmcU} ͵mv'^Bt$#%o&85?&ېKN%p7ýd%Y>W,Gz3*LYW+밆BŚI8!3:GVMvӰD-l79p'1+z`aTCM ŻŮ_+vI2J]UZ xgyMx<إ4j<#LFE,,ᐁlwy(G~;`f˫ko@I]s*PE r;!ؼƳ}HHK Cb(k\Es}^$355 {jK9i>"@ !A28"M lJljX~Hft7JP4N火(}UvG{<5 `er0WlG町ka5L㊖|)"-;9ζ0?qPZ#j\'dGM.<|d}ՌvR#ǴjaƲ&/>r6d.l] e/&lZkϸ?ZF:9lldD.4;G(Wo2]V}4\G,\)0%Vvd,G 3ak ߷qfVʕA<.~+x<06ܨ֗LulE@YZrHBhau8 }ખ ~Ջohy[ؠZ;޶Jw3Ndz$"9mQc9z$<)64#voC2v/aT-9^-)}Ģu=7Id֛n4[qGmC.U:Z3," 柟wk T:yU/Ttрt3bM.XIϓW*)T5e?^C%AG6 wGp4m*޼x'tK%23O6-1[ t)-_3 b*-nso#E(ggu/<]5a!TKҔa"ݮQM{([8g"<hGQ|ěh>tme_>BK_3sDNJp5csG[\HZD+MB0LTx9t!G3vJpBh_f jkA?Gw ȪR+w?>UTKIS ťPnr@j/-|Q :$:,gMs;niƈ1{ꢺ(OoV%"MTZ?\+G?|+"VC &׈ѪpVG|ri_9 0e)Y.*Wt,?;yqLK1-*qf;f'ş08[]b zn|:IN.It/LZcd4ݑԁ/gvJ`7T4Z;Vn w =y%'/LA^:s$~1u`DoR) qټF{+~v<Yctv#"Rt#qB Í՟os,ȋB }6y۩Ǒ!꣇pK3U gvy4ٺ=Ⱥy2&Iv  .D,5ozH !YR^ߘ~qM^Tw i3ǭEo`&M@m9%*[,LQ1 %jڀ޺3斦?= dP-@ܾbƅVDK'FamNk갇c"oRSc?a258kم"@ ؉4T _ҒHŦ/%2$aFQnXME\`~(>r8@pm^x |ˑ=>+~[ aU 9wI ;9l(ݺ}ǭ.MH(V@umHą] t10DURرVU&U̢u̲^Oy%勺aC>b9=|.Ho#ua("s{U K*K5l$Le4,nW49 niKժ $jD%%S"Х$W 4 L,'nPѝ TSF4)3~ u{y%/;sIpɤYL* !چ<:KUTn41]+5كDՃ|Nxȫ6ڢ Κ2|{apxIv *.GSy*$/,Lnh#ekG2fbm 3[Hvd*{d6~2l~^O8d3<"S׏ppI)QˎaXKBbo|xSJEED ~9i_@xؗ3z^:_u4* P9srSClaoat=,\+gF2ĞjUf 1 Lr5Apy00'o0CyEeOx0<al Mm]ۏa2YH&gv%-~]E IGK%:[ŗetE痂+s}4< @0ƀפm DEU{U'ķ/NSKaPM.]T%@ %MNФk.[v[7mJfϸ^ % %9l!4a܊jA`- zc>n 9X}*Z#NdJ4_w2;UeVyPl[ewzD_EwrkfŶӀ9l;}jodCH#Onr5p5V *]͞<>AkB' {xhwQ70M`ӕZV>蕛{^LRE/Y R,JYV4:zʖ92/:\+ A:o`hBCqw 5~Qx&KbM.,yڌJSG}3Fr1tA a#D oz@g6('VxXp~z g7J2唹T|dCDcSzp0 :~rd%?|G=̋jj^B36Ldˉ1]}lH YiG>l-ҕt;;1;fTkDcM:ĥ[Z{"=agA]?.?EW2|,쥡׏TDi`܀C3Azu\C€ҩؽ޽D"R`F2J.wF[v3y~qK"LI53b=6C ?\}J)JjaBv ,p9o7~+|a2Q vl[R1Aedy;#jtNTP ; of|/!uAi{.eɣu$gYHք Ssi.otjέ}[ (VU55" [)vbڿD!=| .U ]DfG9+ғ=+A JNig7  ( 5Pb N$Ž9EZLM7ҿа(IrRp9Xډc܇/v9Q 8wIbSQ VA h}H i$+UHv/:^YV;MOwrpWƦu!K5oLƺg<}^h`^=V|{º ԕ0e߀Qee ^i:K }\ɒ65_o 3R&酣3ÿib3a$DlUci]^σ:H&["}4 Bz')<;Vqc dni`ǷKXݑBWH?$a1Zu-&4`Y}YlhEY8BkWc}IPLރ1MMw4 B9TWɣq&\SD>Ud2eI%9, oLE<^~_UjZ &dt F&Yq3 E߸oUWjԉ)kRny7dF%97f>){TUTGH9s(S$~U kRS(4~9=]yD'R݌GK1`  ,$ k0مd붞AUc#PDMy9YȜ`wB\#sdm? E4ie쿖KX7Gٙ-gc]An`{&K$9jh/mw꧳37im\JSYeNoM_Alo~ͨ75ץѾ~C{o5Ve\NTYa820 }yL V#djs+nsRLTϟ[5c 1T'ϏngP D̯7J)ٽEY'Ĺ8QkiOI cX} *LaAVJ6l2ˀ]luPRs4VDhTf6ʭE/ qo43e릱 qVSiLnΑ+p~DCx'Mf(^0 G#%4jsd巽8xg;Z/[`񝧚,=ΕI.,!by-PAN?[qv=~ G3>e+w0~a5U@Ҵb2UT_,8M57 dTybYLa5dF]O*/1}̥}[ʞ`e%\ %6/%zCU$wJb.T+k,m3![|? LdFHS0x˛ǎB[옅~ dˣۏ2&/;sQ?,n5[O^hY}vb|)sb^|RxQHe /I. 78;{ 0)n'Xp-doSLz>|UX*47<7Qw޷-!]ĖŇȚÃxh 4hœ@U];AKN4y'xG'^=جgƤ@RxHLƈ?n8Um-y{3&+Gl7޷@ ISG({8ȾEY |KE2L(pVNwaz`{5lb61#L+|T&+osͯt]yWIV7m28Z`h~.ĉT_@^f$oTLMeM*_4-jZGoKi FoQu9,հ׫)o\.Jkx(OK7$ɏC;?,>E{YkFو膯|x@g˿QSRW?ng^{54LO>E܍M{siDh/-i`DMKC2)yeN f1 ;/O3q~@Rvp&SU=709mr|!ٸ1X\WIf:39<;5o%~b;Zh́NJt qUP=^7<1%~NSH9˔~6{s82Na#z+&/hr! Pn2XkzVPч۹/J@B8fJ_rXT Mc_ڃXȳ/ :yPi5f|U?̹/32^=j"%ge3 xFb3kgCK{R&; pd%.q v7SyMpdi".#j/Pn4|K0}:fTZx1xCŸKwr ;-ݔyȸ!l( ;3#H-a:7:m};ҵ&9 ,CFa}MČx$Lj@ZiRE/31!4_}T׀C& nKH\*d25s,9l2aAx= <g%d\nn#p԰'Xܜyy?>Q&c*'REmY $kamƕLuG`BCFFf[ GSJsZc+v C^s|.m!":{D{T]#VfcGh|~Qd2 yKcF`8 /-=a fX1Pg0t8M+s~^`CDWmV2NyS&! ϖMXtRz r(a"J!s\@* F\~Yu(Y`\L_#o:d1@jV@줯F=ҽ~#6yI`"⯩b4}* %i13r2M6,R;:Q|ϴ;{65h0,bL0 WBlm ȍ_Sgmhƴa&Oj)*&vmNo߼"18ԡT²7Ll4y=0|}[7޲`g+4Zow-7Ja,cZ㛤>hd;*E.y$ Ϭ4S5k/c=yq^YbXFZ8B ·-S%o}畗qYF(_~|^`Li,bd4)bb{Z@}ZC[E9Dͱbl-mWYO0$#"3CQ֊F/5r:4t$ vGB6^"~c˷+ͷ֒i\ y hb!U5֕օVV4+!^B~؄J&&z//s?r4];IVI5Z4YOEje{o|ޠܙs‘yUX9b䎯ݿ\u< 4;. Kj[m.vIWo+[BK5Pȏ0[\?3$mo*'Ux! *ruzoIRWL"`n,]fX;H|MlY`f&2 A+gZZa0$הX$diJpy>5Vlv42$Cd-N3uYi] 0 ])_#z>RM}kTIYt{|H"0 5Iј k`WKXt7F K'W e$=j1HҶg8?s/d_ᣥ}"+\OD'em |6 0 !cd}hisxO7ta,U\X5O>Vz|#'Nřn[8Wő+@;[!!^fh2h^A3XaFNH;˶Zh )G "RoU"1xDو4ݤZ0 ͐G?+yn^*{L1VHYxCh=J%#R![3I:U;[22ƆfvKU9;CRԘLA¿Ypt/:XFah;F1{ddE?דIz#`t.J % !uvNΫ Rr!9^DT&es 0lCO7U潪)ap53`]^wghuݶ i5gBMWQXsA=uՊai놂p ]G8ޞtʏbGga[wԂEeG3XkX9JRN ϗ;;T8&G*dG I80ta5G kh}e/]6 Z$j2bȹ}e 1U[xr)lre( X*`~NDEOz=IêF,JVX5s2)ncC=!d[Br&g !ۃ.xEk,ҧg b~==ݨgQ^*$TOE+HE6%wHNj6ސ& SNXq֨O9g a-1(;63ӛ'c~F P@Hŕp6蕠>db/XwB yFZ2ߎ>isSn4;m{C:^`{8Xd:Fljِ -pV;oz~K_#  w$vGb8³gYg炪 [d I Ohu$ް/m\*j+6ƿi+ Ocd.&6QgD#a FA}mY Lʔ?I r9*N.'jAIq8).T ]i+d*(R E1ZؙUxNcl]wI vJki(([C:ȐYGi8r[^\fNEA{VVu "rI?E*']+>ꜥeOqXEKW$ZDYCդel J2[YtJBiϷkQO ',axJV辤 "1'C~fD3P&@ kUJbsc uIā эǀGފ3O8rX aW`8"ޭB# '0[jܻHb5 fԝ6h@ijL^e[vdQ! K`f'AxF(}63x/S T@8Yza﫱xF BViUB~u!pt֜/2 u `eIr&]U/?0<97.b.be[ mߩ\Խ|\xe@!3%U6% 0cyHo~Uv=|ˆJQ{Eל/N @M1nOtTY;h y @.tPgn񍱤ʏ+!ʸimBBSF,%35͑ؒhn w`Q;p A̕*RZ/"odIG6`mC_4"Ո K>Hz2X0Ѽ1h}}@`$@_X=6P<^ (Z y3vpC2|`B)mt;\ !ң 8XmPsW@Ql*:`SUMwͫ&v+6([d"n01~0rs=k$AB\^kmn1>̡½ƏJH0Фkx/U@[3i>%žc!ҕHAFy,& ~1[j &gkHwh!6#~5?W&|i9NqRn}W!m+)jne|$|o3a(f7UiPK`I/uE 9bOPcHilVH-do<9!,he(Ca\ jU{9<:>30H;/lJfxnm4Hǽj@)d(t6HQ 3@5}t4ܿ fi N7 1ʑp:vG]QLOVV\,e@GPѷHirc|҅qz!"Ý&ľSjȦAwҶŷ]5S+ʲwo"m>dmm d(7 /*jQH43 G>-bغXժeiyPIR'JeCʂm9ѱORᐚ2ݢst?5K 5/߇`=8bSO_||m͐ټzW{2Ze\dxr5oS`I^u+~5oi;@^߄GVTF!"_t OV X?`8dOsU (Ů:13՞ 7UAiHVCI0I(F"9o[2租X Tyh[ڭӷt;J/Kc-;$vab⡼jvvL1p -ǫF6+jX76AZоR;Ĩ*\̧x2t> W|*/6ć޴Ăq4@Nkr'F<+|H3ꧫ;Cٱ^iP RbHeVEL0"tQZ$pP5\Ck/PN#뻈I5kMV,#=uJQ'v%R 8ܟ} /OqSS?\LKXqupztZR߶<|h.)= *ngŀ Z Mww#&4l\ >vx]cs+L 2X#[gR.'yN;qVr〛+_@"H{ؑ0)Z!WDEztx4%1[GKnMVz#zSZj9:JZDŽ]P eMՏEpQԥP%[r?Ue2B4okٲlӫ*,ֻE݄xY0>A2Ї\D1Ϸ1k|EccN?^yUS-9KD{/pucD~:$ćM;)%'Ԍ*o#9>RYI49-j]hfuR⒊oQ^ |L>l=]͂ԋÝ"hPr{Nt655 It]~x-T?]Q$%(0$ۓ˻w!$.áW{4MF [~K>GwIC$0U(]\EaQQsq0ƌnQIAbJ82ЊFjAlRP W(3JR2^'=n2:wP7kf @/ya50'hw#!!P -?Y : '-4BuJz?a~JKx =NEZ K'~~K:qN]D649R.Υ% v.J,1iNFaOG >j6rY=x"H7bܜ|ٛkR9c+;22d:-f .f(W0yz7Zn=r 9A.>ѠN,d7fTa \kKpBBNfVΙ^( lb1^lJ1',GaSN+,Ęm!.spBI 40 ڰF6g@0r5Nrs?֣4b+,C8z7c/r' Qo`VYc3 vB{x~Id&͚ÚP>ΦoȮ<7XpPbQH؏u׃7%QzTC i<-} DVҴ{b"[ϩMKʭgGjfyWbɾ-tv.F4EtǡA|$W,8a4g|Tj zn^qVxR+Enz3rcT5ZRwx8툺q jޞZƙ RdJwIα5܀RC ӒB9(?p؝S,~L-e@9f6OqjHfA7ډշq)_|*di1f4E$H<Ȥ9E~OK5!2gSHd/ȹt0-J;%$F l>wH~X &P@ +@> Y .=$B,IBX٤C8f wKws]F15JyBDU߬a_7 \Yן&dwɐ M\S[دJr4ѵ 3Z)Kn=r W5mMc#lP^"J^| lȎ:8%Jb;黝Z{oՈT@Mܢ [sձB2ONЬλg6U"(5q6c feRp-C+KVt )|Q ! 9}~$zMcH$ VZy.J hrdS΀BUzrc -Q/7zI>a QT򕳆_(p)Snsu=:nͨPp s}MF9oSs!j EXa9 4ma"p&N]p7{OElƍBR]>.xU{$<$y4-G4l YCfVlJT WE8 ݅4a0<+҂ 97h#&)%Aw <¥nɀ e|]ژ[({G^H}Ct30BZ E|ŽRGlq}JIlDJ J\quܧ.^I]jn)qwm_FzD-!{0C^۬hi`̻K- CPPBCLxlPu/s,6uasӛ1.#'F&4ؿRƬNQg (3DJ%-_ݛ />> T"{;:/6"6 4C_=<١+C.ilT-pμB.Ӈ.(xɴQ%_AT,̂i$[!k-IȊlNT/P(k -bl1c!VfX Ar7}wHl|Yo>FFB|ɤMr%k' ea8YJB=ܘO- `~ǚ_"\]wt;1PO&L2rHW)>!Z"K·0p4AYH=T ]vL2j<>c|Aٴ^>ģO@)EXc 9֐U`bp_"#)2 u d ;GhV l TWW 8AvM7j"`Br'fixhk4hH&sOeP]vO^kDfѻ)ƭvFOpβ\=͞r)/58袤PvCn[}@^Ȁ&j `/xΉ+4fͽ(5Xl>-fxVWЛVU%7dsM3lRrXʌYS 3ǾZ4*ڶ3P0uy'ɦrԩd#4OOqm.-dxT +dUW0Ɂ`)Ǩ{dl h+q+&8!esz; ־(C)L0CL޹* |4ieZ3x>pқM,I2P}-?Q\s㻻$P8Je;MM9Waq^B6r4%J[7etWT5yՋ E Wc19#txIuY 9.î+X R_?:8dn!ǐ{| %nw^f8JZ@0Nsy.Kl.}1<Ϡx A8 =dzVlM0pw(*S$؊cOa6? 0&2*Қv{uM0ّw Bsg`<"yP  #i}zuWqd_ A|t:Cg=M'eՒ2 58h*ci9ewI~ ä^M9T >e<Ů<9nk~ᰏpͯPz/eѾݚ;yPC#mʧb6ĈJ1s눸Re5Rh}hgi'ZL~ֹEz9D:lvX2r&rcTÆzjȔVe<^geTe#x[cB}7MIBxGȭQ ,xgdY%Α q;؆^e—wɀjM؝d*6ۉCB\+O:nCnn6.dw)u!K/@}tS+T-͔ڻ}?[9hٽ-Zh_:i׸~v`t겉jTsAw*C<^Ds x`gXٵ#LR%\ZmTf"M~OcXUK6V ziCȟ6I2g_.gmmcwiHdRf!13&BC#h&q=*DsМBsؖߙlƱzU7qe/t%9XiKR]3jК%ίՎРBA"U!15`'ai@Fh-PvbwN7禚u6 ʁgq̑aQVUj&zsC~֎T󡽛G7jwK/~+'2='47D~ȷd"t4ٛs#f##%rjF%s(ݫ*ٕRBG6g"wS3!@`>#WRxsh`vΏ٬P45o+^m=ue PUL-r鱚Itֲ`:ս'-`d_mOӜ/?/̎ig*[:j+H]#i? ^k:m` e[iG&,[jJ䩎.P0ĩe1++Cziq-% 9/5\t4UZݠ :4Ԁ h\.&A(KOH⠗:T NIj otyA{Zi\%}vaHzfHI؇VI}஬#k]_C0*1DEi$"?kڵvzGzgd6rPPFGƔL%B,F$suzI?rQ].ʒmcc@   t4DHMz(BPJdb']Eg><_q@Ѭ_W/Q?֐-!T S-Q8ʁpE!ɱHO- 3g87[da`ݕE1k[޸X'ӃٗsJ4-• X\VQ+yr:PQ^J}:/$8~ CiIjV!`T# e/?Dx]n !ъ_%;2|E->pgg͊=*3<'jYĵ%rpv0O& Ds=3%d^m ͌&i)^J!4cD.lhnա mhWT -"K(] ̇\ 'JlB`{[[{(O^ُ翨z ڲ:ƨ؟ֆ5Lu}RܿhoBv{&؊CŬ{Y9߼^kGΆW?d~`&A+eDdE|9I ?}Ŷ;'tGk ܠm_pwg=(&" nہwF64K5mΘj wn{mW/iJdѸ㔸2ꅔVyC\COԤ+;6˟dcgh(2p@а0 R@$҆b lV4iG9?m(pSkLb˙Y]NŖ=>G+%`@ hk8q]׼ Y䦔 -*eOIl+=XYqc*VT-,_sGoq3.) 6%3`M$vAp}#h `c[)l]WD'.uݹ%7L"U*dbsWޣvP)]#XPS d|%K=7zTdרzB$ O 0}0\um8 b qorbL`\% ]ifs<| G+8Aý&2#*2? oj9Z5w2~5EL[0T5XO2%Q<)fm*C2_>Nk'aT,rkRM3IvfGw<-\Wk \+) WטÁ5H )u_R2g~'iHi%]}kK/)ȆǘmOJ /h@#wy <_CJcB}?ʝ,d zb7LƭIl[c6qYƳ ,-k(p_PSRWG߀uܳi*8V6*pAd}SͿKH`?)A#ŲP9> DaJc5ăf#)3KMy{nD `$P/Y7 =ESp,XX-T'tY y(ZW*-GB5VRs զ .)+sUvS9cNy7DX 83a'Oicpz}@XAڂDeT:ÀʹkMVu]uSQ|t"Ae95ӤJUl< ̇o֚pҶY2`*gd#Ojd2CVMA E C&ᩙlZM zÃYGٶ|\ E[{RL @.rmb'e cv!|TK\풺J]y=)x} 0Ĵd#&0-5eݖ>oayըn R+pQVG|U  Oﮜ@S;Dd+:XmAۯM%`-aqLuR 8r!ٷ+E"iZIǘe'?0PSW멟7VB)m]lcuyHʒA%g#{I#aL}71n1![~CA!g0- *\7yxPFMHKL A_FYߠrl)͘]xL*rxAh_V`B Q vD_%)%E-!DZ`#jbleiq¿1LޡuZ$gP5P ,z?3xz%РZqw&k Kf^0_GϊG= ;4-rM~yr"+}ޙ @)~]yP+?a$C~#OcAV+zTF֭NG@J l&P阑3@ `j-/tvBoK)|d-k n"BВ::zgrUv1eLuvfE,pgO>1da:t]MYS0 i˱TV}KjqYAyvBɭI{J`WkaKm[{WJ`Q;cpwnN5,_팑j a0I@cfØ%` :d*طnn_o-z!\^RՀ7ر%+L\KA%% vWכxYtWEVMIIiy%TVɴ 4l{e1Ks:8~ksqFl% Te wMq&H*D$taN4kQA v.Ym= !+|ZV5O-#94. 7@EEJ^a9&f+<2{Br1{ B+%(<)u޳鏧Y 8ݲ:{eOsӌIg &+Yݑ?` R)fzKeq-5lJxtb?t1U!PYNPXTk"B2&5ԬWF2tcͶf=2_&߱{U)(E/Ng׻ -PiST =i.IhhďE`*ʶO. ~>3mn62 c_-Y|ߪ~L (t p`+Msn܆ZjMY 1Z=Ajlڕ RIRS5gc)5_$mYVκ0|ǭ;Pl i9wݛ# QR*#n)nºa.CA4u\?evBu\Q9-#" 捽Hq+'\H&*R&r+;6?dK5a6V-Pz[n;Y51v|ܫѼ :BKO6Nh$.dȏTZ(wG1+թME;(:_7f\׌9kr+b)3ۅX~C ?ȩхvHRY= 2kKR-\&x{|kp]Эۖv3YZ|IoͳբEPc@ҷz>m6i֤ mFj{'+5!{T e݇e:OS p9Fۭyr!z_LW98S" o swǐ(x~╣9u?u`r5DW EC_vR FtΫz<ȫJ1nϼA?|^塐Gt<^~./c:MÃai歎PE"-z<#[Q{Sy=C^4 q =TPѻH|ȡG$Mqxw L()0{&B7p:WyȱWq W}X5 exא8U`Y:>hhD5?ip>DFSVc-CN*Ɏ밷2PC*#[FRdm e_{TDxa䥲i0oH q]?2 .bUD!F |&a V}`[烙FėINjs4#xnq"k^À[og]2:b;|_w]ګ5}?[^VL1 /DYIчrd'5I?q~k[T 2vt5lM5OBL1R]Ʉ*m#Q[iDR)3þxv_7[y@J^%IsRY>ڕEr}J|>ߓ_-硢P׀0R"}I+YwԅxIέ'V}+Ɋfirʈ1 j{->hS4Gʿ }ĦJ?32CS;Xob#@Ʒ  | UM*o̙h:jh~qFdm q\ Mk\,4Ty`!*WJ t 0 ~^N,|>哴y=环ڦBZ' ["' ^&Y` E78, <;s؟Zm뼚]{oe- &joqK):WM[hs dlrV,9 ƹZǃunjDvӈHiٷrYdQIA;$w0wa1;rXhTFCt7,6_1^Fp*L1: /_P;1yrisd:QQNoFǧ9iMDC-dWd1# ,hט2v͝`k%Q&TRUgMZ7FXeX 3gC2 5:}WZM /]D' uqN`RM;a %#{!)D<fX$Nc$X4X}48Qa89N^ O4"=?_ ZZ^VdJȘCPz+͝|bԮN,Sj(tɬ+.GJVeֆS.MZmnyYiq( ٳE%r"V` :q YM"xzg X]?e}7ñm9*VZk&0ذs&c[G~{M 0@k+1"K7X˜t?a֐d9~ve!б; "5uqcϐj#_/mݶOOZ4sdcC4/|H4çTcZwJo!+>Y:]V80 .G;lH/(F_E݀a/#Nӂ{L0e'h6G`;&s 3u~h%JB)GJS ިHEPJd*•Y=-dRgV5%ocHӾa=B"f : %z}Eԃ6Ⱥ״0rKcb )T'kcM8~PD:*PR&oƞ>3ʌu@ɬ}fby.*o ឍPM }!>YMф=tA8H D6.ې)|;&%Dojz~fFot猌Ș.rAL=JAߔ"j%aLRG_ \M-Z< &ϳT)?g#Si+4csj(F[Yʞ,iTZxjF6vیR6F^(i](~2tӆz]lg#FjpE8ݽ7ϗ I@2uw?u@&3FuKh v0s&"Og`akt-dwՃgyz8lN&x }lzVkrC^RR"H93ME]DN%7ܨίMSZ">%&<ɶui.٢@ԖET[[R^#oOzmFqk<,J~hd68sgߔ–b+b:`d%7 S*5ganb^b(]o.Jw[!qY%mʒ9r-vÚ({R}*"dMኼg%_uV倌[q{ز}#ȝ[ɔp0՛ SRŨ^[de?=pSB!%_FA8W=Pѕi\3:-Fi wtZ'8͙3#{DI˜ '7:K$m|XWܯ4~Ե q>l *kY=Uciw5F+3u$o40z m.qǔ%ڙ>.G9¸ޛ ⨀L^!:Zj)'$^H'YGŭim/1|&6/Š]Af/qv>{>~qSB7Kµ@*=c& ͤ[uʱM jd)fnQ/Nj{_-9\o,P+ƾPBcZpBxw'euQ+!=E 3uq~vW{ D ϑj.p*/nI)>AI =uC"L<=Sh$+Nq g ܧ#X|M^3--Ca}ҧBXxQb -ψԇўYfDlK.28P ɚXyDEz~DAn(㎞uX9>yV)Q/>g3z"$cپzZ!SAi8F3n:vlO,߶s[=/;Yk"K[f[NVFW,,b?^y*%:ljuiyc~h w\yFg!xkpڇb K3]W'& E&UJr]Hvtc\t.jOPW?͠<782߱F:}NlmظVLt"_bUj]!GzRZM1Ag7݊aJg W&k*4 < 3$%.'lU SvI ?O7"t%t[о6/"g8Z|-@rѪp9Ҩzx% A{Qf GI1LQy{1%=78/'b{͛Q =MjC\op4Bk m^`=H>TWҷ\)x)MK}QJfF1!~lZyWX"QnXs+9 CBjRJ UzHfnSW X^dǔ=.>>GYOt0DdyHsq/zu㇬Y.xXH%o I2<Vx#nB0M̍E!^6$6iy@zl#3Z>- d`RN>\A>AlK%۰lܩhڞ*]u+.ىkvv+Jp(gt #PncXΥ<y R|t^VyL0񻽪aCww хVo=d?7 FU,myeKE:&o<P"sojT3S@GϘUhsoY-4h}f_,tl9㡓-G؇yzd 4Z%ӭm)t Zh (P.k9Bƙ(LԖKpOei~|MZco]]}P1U+Ҟf=%_/<@Qn8E%r&$ۚ،c+"J[Y,f*2pŝ-McE]R4F<" 0YG7I%ݩNRҖ4ne43TI+䶅f9qh{@'*Dne06OF_>s2G=?/鳭=!i1xʉ:;R8z RPX29ov}Ebikr0RpLŠhmKt= МDR6=HoȢ]ݖ}x2`c;3:P gX]*B.(f*L/7#Hc\G l wlk7!Bo[.A~1\Łqzޙxע6?|"#bb^kk1X= rqJH}_cTQ)/g)Ac]6*fII˩SwRne@d8DIOnr0NSo%iZjBSWqNX`u '/P^r% D6JyٗZ3l4u}u3wRXKK`ŀ'D<,B}eUEò.ץTT}tLꡱ>PzW,i*^`+S<齰ouLcOS]c̕x762jdSW_r8Ĺw4$'S̯ByD4hgRLwcF72nv!} ECXj= fY]Q4l6B\\F2'kkcM \JvE2|!y-TcrڽhP x#`±1oJ;9CZ>(]Oy)uWb~Q4 wK%%Pb0=tbHz/Ur+0[4EpD\|{BiW O+K֒U0 @o"^];%:W:X{3 kiiUő -}cI"$B7[}~ܓ΢WBg&RF!MZ*; ~`kFs ֥bqW# a=]M iBp$T=+K}Í]Ə460 Vl>),>TŦf"Isf:Yc IPWA1f6p{bNh]ll"2 YfgP}+ͅNodΜ2j*3WS%<")Ī $=ϚH5~FUÎDM7|ߊs0jO/jX>%=.MG\/o'|O>_Gˆ ^$ g-sX ^_8i/wіMS&Fܻ6rtzB?pJJ}@2RZ}KRfqIlFn=Ec #3֦JJQrʼuA_u~co75^&[IkmMBz/cCmP%n狜5D!S Ma /K%ńgQŠ>d^[E%#HQE[ҍ:H@7KrtY|sf~N, h-\#CX?N1'f2yIvnǩ6ePLg0O _CIsS!Ys櫟al d;_G0Of" pS䴦zH.Yj% QXZ^?j ]SIQAey sx' b_<4Zu%kވT|ߑe9r#ّǔ /!P߀ˢ"&poviOI"UUA0.pk:ʤ3:sS*vx땋fa&q}eى܆P(-'Xoݙh$cȁ+z-g Er; 0E_%KJ-82 0Of& _b03|VFmUd>YUk!\qf#@']̦'$N.]`*:1!j$B 2ќٸ"HK".!/ XohLְxfUgJ{h5;AMqgwM Ag"}uX$K3'E{FDp|:[=7?-d$Bu6`nv ˳ n|,,0g/ 6`|@3[ J/  ֶڅ~$MpTu +BQţ]a^OKKFԅ;Lǯ5[ *in=ѵ0KNCRvUF?][.6w0N3{oׯ$@%1\z]m<,(+*L74 KQcyfg[FgSnF]NZF m#̀T-2nDA]ާ4o/o4#\/y"+C|5!f)xōK Ec$:ET\ pkdzٸ]|e\%0bX;3: &O)NמծhKEe@kV)g[52=z9q>Ei? "gH6oҥy}=U8DY& r8/Ic{u7l#l5X 'C=TjTP~n\S ;|ÙhE1!iʸs`X1g 1Y 3vۼqdRA nj9ͱ\-/MrH~bxJu 3i(F'dLcN7zܬ5C ;M &ޝo#\ S)b]8@ʦj!C‰qCv3'uIC熢~3S i̒ K{2loެR# ^{yIоqk ~b VŚ6 PuQARoPϥM8P΁jejR,B(o il`SwKasفT݉c^;rWx&.0 R׵a\T۹Hxd&a[_p?<Ӑ&dlVesrD5z$l]SZsY2LE-hY1Z!S9F}Ge]"S^7KunV0,^G[!sԌ佺R+<HZd ] K GFTӮÄo4tcD;tކ(otGj9?)a}NkAs@ {k,&faMT"]+.HְI2ۃuW~g$ .=04Vz> {%K¿mwf;&¬؏rXg{09U>RiPMCwv 3^&# qF=q^ԕ[_::eX3iG^)5h1Y@q fxbr$7S8c;M/'~%?0}`N1J~UV1P %n}BuC뚊[}mCptE:XJyq -Ϫ\c1Ufl[]K',"I0j_YPu6:C~?h;'PQj6%gRLdEk#[إ YRؔ ?qdvLcGi9ڋ:F6€}`1"Y?n~4w]>\"^U#B'7mu J|\мYhSOx "xeP©JHAv?Su}"[* 8h=-cMHz8 >Q=ZD%[6"~Cy>|A)Ee h 7!9@( *8+EC?ᨀtb#l jN!SeZkl̦6b 3)&;%ߏ{|\7-3K%^/%}롮a!,g{hη:3V3&}D息[7 X%Ԋ$9;>8\$3GX3B0MWʝkϼ hF4*j?fШAk=b ?/"r ]AՒn T-ssq:JqiKFvpMD= \=NB"&Bx_3h9AkYf Iϯ@=/Nkx1J_G:p?u,թ -HM|o$8m#V/lQmzy } >i ce-{,쥰r}?vBMҦ7͡[ߍFSX^  II*ۦ^N*b`/jvⴼ@: ʎ\Xds ɩopP{`I (B帓."ygA`eQ# 7 yϒnғk|]J9*:a!uvKA(-$1Ԫ anH-,,:߸,BlL0G'+~=U')q2b&C?A鷼0|])0j8ΠwM0.F-؀/O3W[A]ͬL}iHPx gf-}no/Q4NQQ=DuiGAySM{;3W4]E ǶWmDԍ9F_o&Iӧ;XRgSE盛 tj!<US2Л/nRfNio-h;T'=1阝Đ_{%񳛜xQYhcj#2dK`68IUOb,:'b=Tb,/yيkfa-}e;[~ y-W@eVky WVJ,RgdYK~4Tl [Vwx(T \^ vu3 8|cK^՗<d)6JC"mg:+gѕ9wW W[ŧ%w`|bC9)0ѴnLJ QR9=W66h'zJ@V-4I 5lPOO*t,: P%bmL]xevV v7PiL$?UT E 쩲qMs2^Oo"WNqe֊:$4v\.QX7QWj6=^ę8ߦԍ?]G}A+T[2ِBĿXqP|H &?) );[аPK+(I+yQUDA A!5_B_KBDlf;73Ag\d6Cœ1sT%~1͆!(OlV`e> qiz,ٍ(`2pU@C%%['ıMluTW>2V1RF,JE_o\,b&{[>t맣 SбU U$At-C{ߵG[]Eb4 Yny w\LщU؞NQ3LK'WRH}E˂0|a~%nwFm*Y4k_M%Weu<%wD dH2o@; B%U+dOȡd@^\ov)?>ZWƭWT]^mZ ddlq_H칋FUۘ7! "|l+31%˸Q,ƬKɨx:nI/ kM {W)J1BB5?Ԗ ;̢b@4+y|H༭wIٜيSy>VT$"Fvf}1ѽ+.n4o\n3A+}7Kp!{z9շΥ#XݍyLiD\n#v"0P`a]Z5_ wM\(oR򇿺H\.CX$I/f-f2LorTMqBf׳♱c-9 >Ntڥj?Ī#k$.dyC3MP8_y;m[:FJODjC<B:JM)/ubiD ,m"k__\X"w8Z5mv O# Mۥ=L1|SҦe .9;J 1RJjQxQ~/!@f1|. IXn [_Ѡ[s[~ L%O'M*5 Re댸iT+W*gPV6_5W"%΂5jf0>goۮ u|Lb_Q ZQrqrv6͊W!C>2aFRټHrHax[D哃('E%MW@Lj3܃-!nDFam;ȯk{qIF;[P#Եބ7e|  Us[ pzW6<&PClV ω_Kg<چ*ëA:]byPkQ!DY~itH1<[V=+Cu_|E.qX\8_!^ms^z;?ɛwޒCz 7x 49Ң Ÿr0.C)kA@Ļ_ٺүjf?$ Ǖ["Wo01ZC; D Y,y 6͛2!(KTAŵ jHPZitGTD0c\n(&eX%}֒56/O8!Ad1  +OfC4 /d{XcKv͊4jQ&Ul/f֓IP/9=Qg߆mNгK=B}4WNt@A00덡Bq 97Ⴖ=7MMh 2J=S`ФPź3¥ ;5G.Jht[N t'R+r!vY;Uͫ)WQxIcQkzKjg QWJb703Т~ mm)aWt0|p[!q vV6Ҏ |RVNg舽N[c}Ǝ9:C?1nȶ儌 u")Tt.@͍B,5,1ת؝ qWvGmOVLƴ ZzX>tl2t@1A;"Es~7|R+oO!mnǓm`zggngňm\pbb_EBL͂D D#t 9♔W`mZ0#1? -ZCNv.ǨfBtsEc_=qZ c L,\zF5KZM"QK,A20a|4܈)BxmN! tHkr hv>rл \ pߋm#<LBj5!^v tݫ,6f@0EY s#*IK]RA.439{!}*"CMcԁnVx<2Jo>r>RlBCLF2L׎pU{M)o`cN\SPѪڥKcť PTtN5S)%8=/WuN?1@+]^AXb.pR[v?n.N-q=+WtaӚֳGbNij5UiXt']3{m2* cn+v3Ӿ &vq2Dj()mvMZ_ В-z Cn^cn%A$R! zCSQKR(K-욠ZuFfl*J9.HJ̣4%#R+[!U^Ɖ]9XԄ(Mi{7aQ-/:3>%󪟙Z>vIIOy- c|ե_dӬcлZ)tqt]GRyB91!0G@ 8F;g_ $BvC8Yx{bgW1U\A=. bؽ 8lL}E)fDGnV#h:.-%"07s*8>^2MAZy‹-nmֵ׶]=4o@On[@8{D9 ' R(G'Hr4~=ntH/kіogln\6<Z/.8(OxSvK'WZ|x,ݾrFz$8JʼnRvrC6!qҼrAhԇW?rpf ZF'-6S9K+@s@Xt}_P]EMڿXԭзH A16~hF7g5'yY_׶7MIn6C"Šw΢.~9zBvVOſ(f2*'"EK(e -'lkNH#)aXzV}q: ^z[ڭ֓zHTNN *J%9Jc(hH74ǩ>`aOj8D4>C `}F0S"䇌yc|NKI~UN޹r>%!,.gpx4EUs.A ޝbΔ1i8NGe+ ^?f3eCuZPfk[?Cે/*h24-Z"z`Sob9zwƪgM&֪Y2TuyT)ܵ;F"M]f:U)iKC^W,\r1_!$_wF1~b'_|uR*KmRG5#UϮ7 SXeJ k^z@\@X=4u6,x>P;JoqZu_'0 L=<=+Ê7vkS=f*ڧiۚIs^G KU3{t+Nw,dھFfJ!ac% &&$吴ektm;̀Ie 7Lx2Xuz%#>x| s!LW  `LGahaǛ_:"*JfCRVJ"Q;S&jwq|[jsc-k#~|ibEO! m}LVl"1a\ fݺnQuZxXFLoog? y#t9ˬ'c2EqC17>R?(!%*<D6W=޻*nf~vih1jYa32CUm* !)pG*p7p3h P&W:'6&’o͚fH䍆8e]SBwNGdB8s؃.v@"[@W$)</f~&W+dqЦ,VUKs ӫ\ J cl{Q4n>vkԒ:$Fy'U njk+}cόX~`Xh L -Ɲ~p{G)סjBF}M 1GaD7V n/fl $zܯݞ8Gw c!F|ezBa~\Qk#>wxYݖ~Sur|Gt˂BNlW1"w@jQ[|3OIseow_ #uDC%nvFm$3){scfbl9a^ʹ vp] : ׉Sʳ7H]j~4d}kAМa'L5lGr./߅6(a |-)XepZE"jCwkorSJ2aխwr1I|F[ZA)c vl &=So0y9U5nF٘wh+[),+%i,ڡGMYk]GG?qZ`Ɯk䝦UcYW%USixXwc<)(mjʊYaaU|Ӷ9`Z@p KEs@)w+4RTSOqbXcʳvBEQ5>} a:<<@^Jzq 9Y:N,57 گLKc6vSsUyU=K]\"&eJ@_9zSNC5.jR3̽䵲cfI]fk -uvǗ`I`Wؙ|wC6n*jr/8λ ģ%yqPXWE=ƓZ0=l .C |< Tv0%!o% ~OW1{O'ιa%yϻNA< C?TJP IC]?,=횠Ǭ9Үр&Qƣ31jhc$೉$nNX2܍3K KSEܸ[~?} %GWOJ:M# s e ljC% pIV8Ɵ?峜]8{mX`d̃Ka3~5R[4h+6Zf5Am^eDQuA?8I$M䦔=U,aE^b~kCfP b8|O\+;Aw ö%oJ|i؃_׀ ,,m2Lv]|d]Ц]B\;&[e~5 +>a(aDח} B_ j(GqX N)6S7$0RBlx9ߔa'D7jRgi&PƸ[D߶DD"e5w eDhY^$3@܄1Bqskn%^yʬٕ&H5v/ר75an} ^[]^gE;Mb%;mR=P$ R=cElf,N71꘴ 1q;X@A锍fScM`'wK;U ! bȿՈ4Ƚ(հH"!o/MW{?u.uk3|y ާ>#1+weKb<_u\!` SC* .ʓX#4H|c?(i ]$WtVVA黢2F?Ib1ICY#گz)B@GR 7YEHf^EQ>3f0,TdН,VV /O{O[rYJk+ziF`[5f ۳.\xPNBAmHL{eOS1ЋʽRx8laW* k`,a3@\\]Oct*ߘlX-Qz>%1%~je0׍h2|;}yحՑŻ/t{=OɵE!(TT30@{yS>VHF%q;rֹ'7O7W]Yz5O,|o mci-/F?xߺ>{æf3x¶Tz̲XE?;[)^VNU,(/Ffɣ9K*W-GbBPiQó.I Cq22Vw$D޸$)FYtSl =XIm9% Nsa;p_`i9|YKL`X1dwNx;e5A,5Uz#BG#|&a`Z}+!ފNIF+ծ+kPe"J-N޲)^(Ms= ʦ=[9/3^J$<"fNc ;Cv)A;n&v$nm,9i=%p_f?&$6}r!2{-%^PGL?*԰ƺoīF sCSte>ybvu ä;ht]ԹgRge8G3 -em`z K? ^ޝ3He ;?raVӇw{> S}xOv9E#hE ad$T\~Yt S]W0}͢57?<>!~G"mK7b7>\'L/1pisT{>B/‘FC;E~|%eM@K/ggsE%6k@ʋUP42Q'! #|\vTK{us(SzA@F$=ֻ& :gg+DcZP~4vGJ3_:آ un͏>inj"OdAlO丧H@7'[”e34T>^6%>pνPVk/ dpQ m ,.dɮ64w2*rf ۹'h1 1^oÂ%81(U@ 1\cޮ- sUǷ#!-m~TaZiq3.o3+nnmfg]9rGBßlM߇K;@x$o|~EvJ$_#[>V'> Aso0 u ;|<,ssj""]T7u_eBYY$* UI|%K7%3C2w!sK~ q#^Tf 3$ý L'ыX%_Wha686)ؤ%F"B\RGzmv:nex؇+b??j'b,PU,0:/; $`Xb m_0tSn TN_fGz/ҌIvz`T qc#LU.b'ZRW>#YyTqٷqOZ.qVKn[@\EߔP,q.6=}]Xmg~]kBOϝkh[Na.XB|A`āOKiߛ4䨼=p02ٛ2s1\ v|f:4b"lbOQm8Ku/!]=p mA_2m");ſ?@Ǩx|Xd"7iYStN'<ǻcRPWF}+JnX(19 ڛb6$Fg0W`t֛T\& ZGm|=qbxFuo^Iy,ݸDkG9ԙS :vX0S[I]C.U^\%l%`jhaک7=)1_<$' 2VP9)i&0)S2tT"dYbASUk^fat~s(xQ_l5QJgvlYGk^ WtGr*!]r([p,u7xr6Ɨ۰֭gn!' UxNgc! 2*6Nf51Rs(Rx"Vqkxw; wAK)urDV/xrQ ^q*m :L-{ < w) :RLrks4VT8LO`6|  ,>Rs?ESa@??OP*=mI&IYJI=F8tsWul$m_CTq:fW Uc$.UG#bNE*j_19hl-JSfKhKShJ6~dW:$* k?j7Jq(y# {j7"K‚]`m߃r&Yf!'m󮸀. $A4upkD#\z$r:Ӥ:}SyY?nV?Y, Q"m%6C>}:jh8 o"]QV@Ɔ k2ɗaL[I|P<瓇rr$cku856UvKDIlAͫ6jF1(OAsz4qn3q5xFÆjU@*|r$-u! q,Al9Vk4xx/]r^łvsDp둘7b' XZwNKSӚ*78WXWԐ2I#э")?3W3^ih Q0h]b,o3s 5]I^k1GzǏtS\}_>E.m & ,J>DyloPo_%?02±*CSEX aqKwm3r$$xwg-q/2XYil^Hr`9EOMQ"XYS6%g tl#Z]m_-q,kCzs&V?%F>8Uqa/-\Xz2(bt}m]X^#=Raj*R 5QS xW7^HBMAWVglܙ<GXK+o4>Uߎq$".sӌcN- ^. hIYJQw}UI/n7P`푵^.;cs#% fNTb>/*yQ#0]$-*uOfǟ>-^5[r:;2k'X)c ]ie_U"B-Y~N6v#7  X6d۰;hH5n0O*]GsWBZwg$~ KzB g 3fv<(!;:7Y>*)թ֨<Ft|%8[ 3*Oe_"'ڟtA()5pMl;pL\@km@ej5EdC3%ÆBޑ ʏ54[a}pShL|`HV;4M1]DE &nt6gD(䷉oV'z-c5ϹYmե>j"U۟>Uͪ[\:˙}]SPoSI5p9n'QR|B\pCF ֎^* 2mxW Gj }MJ$*,3 FuDAP+"73m[s`* rpQflR*æ!(rɋ"7;yH~H9_S"AoíTU@}nvPA sqȖ޸ EcKzrڊ3q[|DmhtD6Dj+Ke^qPbӷ )  `oCvLӥ)BxVG80xM $㔼-־灄DT&~!`X쫾QIQyUH4Nv>dj54'.,j|=:{Zuf$ h7d)0VQcQDnǴopii1 y0amJUz[5"K""ƥ/ waD OJk%a|Z65#^\PJ&anֺ/chkDbi;X$0Mcƀ+Ԁ3T[p70kxx%UXp|IRPvHO eߏ'}-yI_kj~@/*Ts.Cְ7#%#Af@άǦt2$ C:&eWKtb5v=pN.k, CgV \iyOi/bQtL#W2e;LﺕG{93Y11mzCh\Uvr_un!d7GDfim9zK5.S[hIiuxQg5 mݨp9Hi(YQn 킝)kC* b,6dhM(kE ChFŋt*ɉk7żue&Xj@;dѹr &=Me0j\`X݊?;yf#(M\։:1 Ʃs'-F RGܬ*8=ts?q7j#f Vf*?Q@|`m.3@7b8>t͉HY#''fڟSGO Tzi>)j&OS w%B!^AzBAoeYfA 2Dwwaᘸsz-a#5PZSWOK C띣AO簟`Ŗx)$)q̻Fx`F*4aNaZq,Q~ʦ=\<9gF,)`'5pp]m۾=v'Y+Xj21̀{1SV]~ԛrd; wiW߶|qAAʿ 8*NBe?6f% (@8ao@L0GD:/ k/ M4߮tYٙY.ڟ b_O1k>H$܆y 噸@@7&D%EUD5ԂmPGo][%> c">SvW "OM`٭Fod~) gT \eZ#u@1ۧ'O[FwPSVoH$68&8tgAwCᢘ/MYZo:R(feLl9fO}e{8_q+ i ӛRuFBs0iIf {`Hb@aUT)5:l9F&zJNߧbz>^)ҕ%ӗ+(|8)8xE]:N\A&a˓M n3P-T+'CvDӳxo!aBS媎4It$EimBlXA|8!.)~E{ਦ\RXd|v?AFrWt 65`GAx_ sTN2(K(uyQL4sft#S&30:nVJ۠q 1ˇXe|BcYۈvnsD7qO)ce8L~Y Y7q^6{vNe T}ǽr{LxܸB([%fe~mՍYq/[c-Q`N>O絵seaG$wi BDN\PcOdI:\u#=H^"55EĎ5L<WZ# o. @R@ Y7LC!x[|zAd'Os$mqDž1+RM<)JWMO}njA+m@pV/DL}\C&Fv'`.B-K H不-qH݌>PaDM!ضN1=ؐ{6]b*;qo]|; XJ2Ȩa }n9z3Pp":9-xxIۥaHm8 ǚ(+8(}2 p&>_IW.9 seӛ#X4 =9Ϸ7XJ[?5 n&Sa&@Jh6N:7a|oh')5MA ŔLS\=A.YowWSx;:Mѫb c-_ZLƎE":Ks"?C4lh؀DхL,>p(?ч^cRJ a >|o\_;- fiB=6*m_5ibRff'3KK[Փ.'wԝWc4+hh~Y縹"E r X{L~8$ j"&sWz>|xt4T&ۈmr]7 IOD^b(* i[ʌ!6lN0i]9r$[sd\ؑ pG[_aE2@73OE=s؀@XzWվ<ͱH?7:;e.8WwWvG24cӚaȣT%_<(Y.<r4UE9Tc(`E8ڽh*Ai i@^AuRnvJĀ)[X^ٱ[O;wjh5մ.Qc=)/Aɓ{:*F'E{qeK1(4KQ1FgqH\Lj|GbĨ7$(VlcPLOa&L WujH× FṀs"$Q $5s)?<\Q2bѓ }V1\h¦f!FZi4T׶Āː 6>էbDYk#6&efA+;fU]_H!;7:xem'O+!SPL7w(Ob[B>]%z  =w X{3n`~/&hVBjALFQ?זXCP:!d^O/rexF@mzkq4zB}?Oň1"iޯ+ף U|C^>*?ҊB$7%* )fOe_ 'BgjL|[)<fV:n3F?0KNmCŬ]7dsW6)_=:C] jֵBBQwh,,_ԡlE&iwց u ?\zY(\i,덽Jep=ᆨϞhF;朡@{4E٨ *` ~ oAFA`O:d@!ywxz9 1A$'DžYl_yW-u˭-!4E\)Z,p`p# d,i5 [*] H"ZTJ3a|V6 ˸ԓ]4B^XI4E* DX`Y{l%=q aFKgp8UG.s&3_MP=|z?{}נeTaEzt69]DGBΰi ` Iꨒ&g էAƧ(F6I`j.q%l4ߏjz9B+wY#Q4A~zkCsypSkۉ\N(`fOdUȳy}tVDTX\r%m jad.RJj*{W90x2@rO (d_#W w7 dˬXcg؏ʜJjl8d)H> Eٽ 9Q|/iy?`=>q"R1 tNZso@g$2ῧfمMc@jAIt2ּj5Rce{XOd:r"- "N~ʷ(l)Tha;7w;RA5x \ {+*gw)Z-/- i:~CŹFX6SLIQNfU6JX=2Cs6hN-2I,I9J`Z_ @9U(" _;W ;jM38Rz K+K0ՈТix]3: )fN"PA$y^z rs7 E6McQENt1wM;$gr_uTgU#_8.(|^>S&M@;1J ^C;+#3& hF1N3ytAQ;㝙>TrdehqߕtnJDq=fkK<8ٻz ]ϤD9A,'R퍁 T%B%%8Ǖ(~c \eqvS|{!vS}Y |Iv( d]}ۜīw1X %. MpFn?|x6H!HQB R7޹sFP9B{ Z>(>@PVݻi. g4p:]ص|L`2|r_#S˒UkTDO礲Kl| cM8pebYR:5AwYw9ٸJcCޗ+`i Js6M7BKN{Қ'Q F9G- ϰՂ\=nTWرq+z*v)xKnwvP-Lx]u6UR ϙ?A%2X88tQ~5h_TB5Nr>,r{k7:e$qǨ.fE2fgdy٘cҹ1+T,zg^ n2({KdP}܃;bh s$0n\Vá sQU&MK>`=ܝźi]oW*3>_:1Ո`޲7i4+v.s4͵ust'+?^ɬ޻:F4z΄ .((utz`H .t\\{p{()qx"XOssnw%09 ޚw_έ vd@5^"QZlP*2Tۢʢ߹e$. ǐE'%Xt؛gt +[L((5q veβ jE bj7"GU*xv)eDFvA`B'h Ź^>#4H>7JTgn\x<~[{>jE#-%x-}qJݝzI儂:qI8G-:hy0g8 \vb7/6'Ԩ'P̸,:U`Q"v˟%*sW脕S ѭ΁e8"| @,jb5EU!}O"W$ B>NQ:8G9RgnNDŽHL3A)'nmWjs bHI}="ڭhi ڌf-*PS+00#zN/=^ne &u-֖}ݬC@錵sAC )Ijc,F@/K̤$yf}Hւ"٫n60eZ˻<::]ZB k!G`QnyET{5 ƛF~3.O1hcMu|'XҺQyAiF9B]@ޏ賖Υdv&US0"#t!=|ΦrҼuXރqwMhdUϾO:yMnK=Bصwv#RG`_iI.} LzJtd5lX l%x( ܍v=*X452&q=;b6SqPkAɍb@?K{vj1X*Ա -N-W0cXh#д4D}^DV? RX~٨z4Wpbޒob@ f(zeΑǸ =#7E1)YZ6.N>&ƣr7 j% ['% 9n k'8'aR/%%3#jj=80#:üQW?\R[o]T:H2z;CW~$zcaKd7&%+ό&E=Ł9צVd"'/C<}g)[5 `Mu9co]+RrQ,C9`S2jzrf^vVuʘ3qg"2C<)QIzu?pŋ$?"d$ɩfSWN[UY$ K*.a9+ ӃߟMt델)[:h/=ob>K 0Z'Fbk5KQ i挤Pլ/5 80!,P^J:x  ˯A' 7np+4]Pt\YtNH.)cG3W-ۃ0]>=AUS3Nw'j."߾uǪ:]Yz=P|ykBr u-< Lñ?n`>!?:{FGͲaV^g;IiJnx&A[yդ vO2mȿQJ@~uLDv˿s ꊴ@^"DjYLջy{$Blilf6fe 85&:ƜOq)+J #*f᪵?or`lgy@YH@sVD=Y!}C*ďųfF<̰30IЯ&4yhxʩGvC̡:Lv aU .&xZ`y<m\&.sdCvU!&rf4_0N&SetB8GB܅xڵzF/C>%f%sq"_OR,cW>A7d9~ެG,ehMRJ /qDb|- (PA;6OBQYLoD_9XQ%XZT v\ix_IjOf:_{h7 t; ua) v–>zy=T- d_dqZx)D– ~҄9[<,-3GHps675I6LW <QHQ쬄J  9"bg0j3ʩ:\h&uC:[_|dh-GcyԞAF+WBq]i>%*8W(('>kc/^\4,&eYwZ[S#6eBu} fb!q-x 2~^Pu\&a3}s 1&h=tA"Qarњ_7O *tmxe-P.oh ^[.e.<$slƻ?` r☜U0*~uGyO&N1r[VR>%YǺ82Xu.Lgi~ۿxNLP?LJ =q@<^&D;<8$kg*J $"}䒼> .άt3Ya3]=4 ѪFtE;4޼/oSa~˭LO-x'itYhTN#fT6~ˢڴ(t3잉VJɀU_+deo뽐ڴbC'Yo3og䆚R U$$J]t1z8$tYJ=,-%7hN󰍯KH]߉!q& 5#Lx$ +C׵H"=eOydehؙ]V_<ߕ`#VՒ@8/P5Qy0Bp [= I. x k]8;>Oq+ Q6q֗aşJ_ x )|@nvr*OmKS甝e 7*(1}"xkWi?Fkrg{'K)GX~gٲyIwli?\?fyv,Q RZY%vbʓޞ$ZA$` [ + J;exN-ID/LDM*tц9st\aGJA)STngA- ^f;srJ>f9νx~, H7wr_pƒ/3dIIyA`0\$\4~d*?5AFKV/2@tk.\4HzlJq"IB/2(c{8*gul؁N6]pwSȦ3[zpYM'Qw%4B6K$3A$Q S qkBPggg )+OE7sI+~yh{ e>c6l8{\Vv`)o96k @.-h+>s,xQ{zOB%ado8Gʈ nVULh>[0ڧo.II{>!veB {:͈;*Gb(0 2lƥP6so-sbZ%(e?11tOݩj`=,`Q]-D=!Wr^R\/1bKFHy@mcbH%J2OLt,Q:y*xa'$`kÉqbV(xS[*n'1}pa@=,sI/C=|\U Kt$c^ߞLla[@+dGD BT" pnLoe|՝7Tz_8>X>a o*R&\&T7Æ#;NP*ܬžϽ*iP gXHjQǵ5Daذυ**lSxu4[:]&&9ц E+*X*Qm6aF'):d6Rjx. ,wی]uH8tvw--)`!܍S L L>O+t i.AwBisϮã t~Iu$ zzr쵁47W]@|Ny8Y' h׏x < ࠧ' `&ZDi߯j9{JJckͥN82I0u Aͧ Od4.,RL8WW`k+b/F=VHD 1 e>,2}?j%k_PA$5p34 ksz0%„ { HE魙 umfyx@B0^g۪ۧj`# 5| Me~ xw,+[io^P&zy o N=!1e'?N6o>ZL1w>k ` yǾE>f@jNS3| dVԓ[z Zbs ݈zï.6N~*[lJ(>"F]T'4uzs񗿅H{D'[yb;ļɥ eٰ{Wdf2Q(VIx=| j0&*f]1,#ݑQ'͕٘9d~+{f,=ǛoGQCflZ&Iih\9Yha;E؆>9C@ Ky}!Vdڶ^@E%`!]!ypT.Ks7Ntvtϡ:,G$Dj26,fM1Iܡ? ARF'洛)*[}kږS+]f$(ꁹͱx~* {8qF0\ȉ}Cż9;:ЂKX3+'UڲszP{ '(L1;c"VV"LnSab99eVײַy~d9G /t},sI-V#KWeX`L,$m; \gXTq-`ѲnyUUռjn#?a+q֮#FdiI5UTeMaO+N҇S0q,oPq%[wH?,|Ejl5gʠm$뉳XVOleBt2$ 8{)ia`3Fs5[kRJ`l6()boj}+[,2`<-Gi&a{CmwZb"4 8ؾu:?:; itLl]54I5Q~´8 tqr*QcA?"٤X /sR $S߃~lr9u5odz" 0E5 -(}r(i6 ߮:5x{v_;uyXvn boκy [1Y p+S~{p;_e!npwnQ[s4 *Xl$P4R C-Ky %@IgbxUrocHy ,^rp ~$ \'@ӝlӽ-!uw+,Ӧ檀NE7%m1Q8CV<|q T F x C'” SX*N+Coޜ€7*B $kI=+Z3)XR` ]&|b:LO(͙R4G. cR@yCB`XCCM 613foQ5z2@;ʟKoR笧Յ!h^Rl&J9KNLlVAQGf7xʹdBYQRcncͰ&vXx2"ƼpaW.Á !$ :wJWq'WTkU1߯nSB{i&Xu&' c}"PYS`YhQXb)WR\Mb3Eܖ~Sz_R0J{l@j}Z4i糨7i[vIH;FogYBdS*u)loDBQpƭ~ ِgc1ؤDDO j1r;_pGa4+#rjÈ'7'T5c\La>IwH}tP0ES+⌏;(q~9yUwb-97Z~gL9+~' $t;D.s[Y,ײ8v>?DUcJg%)! Lcoq㳳;GgslX4J2\6 `E{uذj[bo mww씁Jx {F+bgtO.D K{:<"$&HK}w&OÙg4e]O4a$Euw!V1M4gTkGr_cX:b{Bܧ5K.Ƕ9 FA/DZkO}7&hՕ#M!|4(yV T@i-/H9?( Wf.b ᬘ-G]@_wtthBTJY R0b`y*$QAL<,6Ч_3#qq*A+nVT;RlEϾQ}%i*1o(PdrYPC r# 3b{(O;m+:ԘjB!Apet+ (T8R6})BTSG\8#[$XrjkĬowTH˼_N_e.*㨜r+K#R6': h4phjL@68S ̏sIr٬n v+3qweq7`|wؙjާP`\p_`olԹlY _tLhFi19A˶boHmz2ur߉fzX@Py)E-vY8y!),M|X͍r羁r#HFc10 up ݁(cUd>,zlDFx8^Z㋇m@ PNUekS-[ǥ4Sub*6A@ą(Krݻ+ٷBw2>;rj/ҷpyL ð#5}a&J>9g mo4? D**SVg@]N,  Y4t]!e{USiC,n'Iѽ@\B ւ^{.~S2؋quA{UW_Y DžUHQ;s߱LV&XWw"gpAVl@zcM0EWV菔w^x'Pm3 ݎuMu*s (4Yï7XB۱xur~A=Y,5:0Y]ٓ:M;u:,Y̋h>ضvgM-"v,o;%hJ)*S0IG$%Xs{o(fX`r-ڍ$Ut$n3~! )vӑ?J\l%(?ҭz%\agnІYP#R M^ W(+o³G'I\P_TbaFwO٧DMbj\2=ʖ),=(Du*#ʷdP&/c5d~Nz) :3+@lǺ۶W4(P7~E ~Se1qY <ܙEOUL,jE3[|nL\T(tq$Fo/%3~FfF=gQl>BVj@lmwѣwRvQ; fr+,: 4R0FkUa4pfj0Uw$3?;L %ԉ$'g5A=e}Y2um4f+y،,輸Ukj?h7{썺430>gg0+9NΔ?L2UvVaE¶UD!ړ[ٻB[?? IB :R!8XsV5%Т1mjKt>,c>\"%~+$Ir˱/)lIQ](uJ!<M*:>C嫌udI)bNPf>!Jk&Wrˑ)@)P{{nL`9U*q_K `D}*G|9 ?B@{SA*OFp- K|r8:0*N_pPrpJ%- AS`'֤Dq1=7;iм$:(3&ଊ8[ۼ GuWyoOy0SfT>E~~w6p8\UE-14G#d5oΣxH4oJ!}pʚӾCf۵:X(fM5ChɈBxlcNR[Cb"͓K>&U,U㦡Bl2R(8^GBYT7^nqmRW"-eƊH9Z; a{ڛ-(gbK{kW{ݽػʝШ3:Z*?ky2!W@1qNcj1ѡG_Y=>! 1ݘb 8+xhuFL4&~V5m$M b2@#)piyK ]fmaVb%;bqx% E=:eAL[<قd~ƘSj)! ƴ;m~Xy>YO\ޕC4qɬX@vjc?(zGd%9Qzzq R0nL5BCv3/㢑)srXw@M.pcӢhS hٓ^r\@)S;O)r'/* |OC^ԾG*UmwkT|2"}_\t1\}:Gfh0qzdqDҘĖCNhlkl%6I̡z Bw>Q3PˍY3\Ӻ sg ~U 13p]aA.նZ{SАTx[>8" y{gLpjż`jZ)6z.'6;U>ʉ4W"(IaƼM6IM:Mvk^ʈ jfζȹJe 춆5 6Xu%d/^ ='㋈:n헐)B&űPF^/!'BxڻnWׅ!*>59G~`Cƶ+SȚQӚl'13Zm4agܱytJDvE `[ʼ˟bibp>S:[k.ҐQ;P0&Sodޢf2Z9 =mX4Eȓ@ry&J 7Y1zJ;Gal}v 52;Ψ b".i")O-g'6LǏ`Oep5>f _FZzණXSu+'LB9zr4q[Ӂ54\>{9]GԣeCm =f '/𧧷>d  3d=yA3O>IBHRƶy\H#P#?R!)w?s wj 3 aM!2MZUŁ/>ٹb|ۧX.OJy -iiNeHC2'50~tI JO9 =3fD4̌[kY5IԢ 9ֽ1Ŗ65-Δj?zX0}<УD}ܢ&7 +ѣ=Y,1ҘK|;y@OXbUOZ[1S.NnH@W;߸:'KW\*2Gz|"C}Zj.I@MLGBi\gśs{_κr 7Aΐ&]? X7%{x,ϔeLՂx1\jȴUQv{} k.pByzuVS_t[\7}AXű۝U, ?$z?| 6A*y|jRWc 1et-&ėKR=?, dOUl:E\w Ç`b#pQufr j?p5ξ C  O˷y0d8)5\B2RFu/4ط4EH}@lM4ɨʡ+UYA g`ZUzm_4ܗA:؅G>Rue9 31\j/V|T68Y@[vSEppJ,Pbe`(Ǧ{e60?)7ïpWcQpHCt.qwEl?d\ȔjȋhY^Yfj:0yUQ.N7F2.`(|ɃQkaL/V|ܘB! !HYm9udʖK. l|êZj=B G7Qx.t/)$3g%Yb]~VB[205cj>W jn/@pGT~ʖp΅64@~GzaZ"o #t04=קS%<{PdmGN{>|4 _9mqEw8xEWIj7\%ugVAw0J^[!:is,mI$gvN13&uܑM7[4I&r 㗚]x㋁y_ 0s)CGD*|Vj7nءyR?A\y)0'sE6*wQQi[Z1GxtWYيIsDWʼ7L%w1tvJY/zW68G<;V`3'KF(tjG>lpvԍBUu_UQ:{:gu Kf~/2QO/{Z[cu@C[SJ#$U9;\u=v$>aQu=bE-chZbOoGc'*e Ġ|v~yQl#Fx-qcėL>fȯ5Q;W`}J#2GQaDgA ݔ2(ֶKMƦ)K8oj]"^M+EG^p?@cMSCP [>^#ϝ{[̇e~'IQ՚1·(SVh̏BpVH{pP\9s}5%'ԾxnxH(B2όY-"ap&b㔗|1 V)0޻?nݖ9@w ]F}䰧#A6(5cf/sP$|4nH6~8'8ſu%s^cZ[D7Ђ=ʞ<.֗ Eɸ2Ro6auKeܓIstCz9:^Re4[O}YQsr*ۃ.Rӯjm !0UD\oZWoPK &rG"R1f9VJX3sY^&ϣ8?.RQ;ՙ(GԕJx}@A23NfNGHjrIH\47UU 1_[rRXrV_j(QXV)RE}+0fM~O8; Uk^C;]|ek5:@!{(nm卷K|Ph+Cv'VMIlZ^.a(D"5a?.延ٌiD /b{וT QdLAo[2[KmhwaFLUqKmk,8n(8~rT>/$5g`uQ ҳ 9ĕ "NaET=:в0df<"0k Kc"-RJyۊ9?w k \ȩwW7Is`o>5DmoO3gU?q,КG\8Q4hayfO~P:@^݃{xcًN̖[ Mur{D 6z Z)IV>H|p Ԋk)CdrJmT+nաmH-ol9.k TF{N8al81Cѭv_~egVaOo«I#Bj#kwtnMPeeDq84ON};ejbAtM(dZp.u()#{!?`e](´\pdjl_PxzD$Q[Mii)W(M-\}WGhr@Y0C1a~DP.=]Ԙ +૰re/3u R7+C ~nb{ǗSν7dhhQnO !;yËΨ3\8grn(-_0>m{Zi-ٽ%4!%Ӹ> ӯEB'xBs~m3bGaW\+[,',"BDESf+ hwx[^n5S&r E񘓘'%)E:~|9;)fi&7nNԹGcHb(CDV.V @$Zyg-)엪8>d+5 y\SW'ƘOnYz!oS`:Qb@ҿLrxO6NPBɪQ8~vph~7b+@%Kҹ$nKjVD-q ;ة3SOփh\*y8L #!U,ԵsQ`>uo+^?$ԍLѵcfc ؇A!'IB:t{y,&OJy1;ޗ #4o26 \pPhriaaeW˄=uMsk]"XWFRԚA{if3K=dEͳs/25}ad+YYQk`kc5$kK0M R"8:W#$.:F-3A R[˶ /M9d9Pv%.bBR7L쩝+Ҏ\1cEϚNjEM%V{#H4 CSPi)֔tQB{sc)AsE 1cߴFɄf)ȡ[2HlX̥'Dw|@Ng7$r+3|SPΔ\HXkۑ\ <DŽ= +٣m|2N1ck]yJQ`ւmyctWGޗ>8c9%G!_<%5cZ*_Yy4.{ay`z.&F dJ[; :ၢ5w8 ~fJϣU:KD䖿ꔜG|% p3 )e& Աnm,idMGVŀy]u!Ce>W!g(OPS ~8H)RciªMɭ́ҦDaLx1ś;$%C,> ~y;^n5?jzqY^7Ym(wppȉ<=jd܏Y{mTn@܁ dW:R. K>,J1T=Mei+ i^ZC1& ?#yȘm(RL{"n} ѳq eu;TCu% wq2U~m"z։Sv 3P5HQ%u=gh<mϢZחM DD\Q(4{vy^]c!f/8.=R=`^<^ 4"ؼ8|2zg{cCGOM ,r#/$.Jer+ng&ia0Jid*rE'͈{/kJuBj]ow.YsmZj&τȇH,kY97g>YT6̝H"Ux8PFԫ[t7[7]ey/oF]C^ITe/)^NR+n)/SuߺPՄW4Q_HNFġ^nCWU-K]rW7񐂇Pr8 MaYuqfvȐ̺xHڦ'~ ߬95y,:ͫd ?LS]T!3nh(v ao2{鯟)n̹rׁVd%e!Fq$0<@IH'L8/(G SCTN:AjY0e>eGJIAlVj$pK@@"XNn΋ni =:8U>^-]#岷MRچӎslwgl ='H=C6ץ;DRrxBİx0?>M<]:])1ItA|FU唋zUc` vҠxmg觩\sh[1alriBw>Z^w:f _|iyfTz(0Jdǂ%aYxu֚T e-@oxsvNxp+iР7ٟԇ0X3*\xyء[uke/)6dy 1Q*~o32} b4+X>| g}~kN7{ra,V%B<ԑOiD6tS%`]ײ[ef!>cW-^#( &!`7kGH*n7S?{NFI6JqTi*8_r N=DX6_X8#r0ɾ 7X0_!54#27r8ف 9>HՆ rZzs=[ 'OeFoYzʋn fB%|ހfHt)c5\]FT(jΉ ,bo9!a,M8lz>iN³S]^'sazQ0 xExL7(ke 迣̌"@xb=H Lb 2z c{5PSբI) 2(hs&lrn^@O+ A ` d.%U|6U.n)z mfiB\w)qH;{ٵm53·URE(Y{-cOr "T@ze%ȏ= +\;>[ +ŕTPOmD CzD\J3]+hp9%IfѥzlvՎ?:Yj.5 'cڒqcJ E~p{D4K7n?ĄFA/<9}hI1?% F 'w{@E2xw/5>7-p{@I ,׎b6dAol*^tĞz̩<%\$ֵ'`1fC+^K;UEnfUS,w 0/vJ8p@kyP|4304T!Wރh?+Sw^{g3j:B@-.}*5Y*a[ȵV V64}J[[fptZYW}3!8(DK=VrթG_waED&lq˝.epC$&FTmC&Fhs=P\ʹF0D8ޮCI\8>z&z#͝q*PMaZ0Q͵GxQϽ4M$2B{XiCzY &n ˔:qc¸%0Z0f3-pfhr4Ta5 >Dƿ5Rcωk{IHLd,ZmLp.TM*|L+v\ >rS:iH BrP__> 5`v9ɞgw]J38Ö8(9]VjEg#KA]yF 11DnS{ݯԖ>F>ךxc^!3Q/C\qJݟ99"JI\bӒGkZ^A"x1CxE1ӂ%W?DfehA9r%E~u;͎IJ"[҇t|ƻ+?̒e!awIxNG.zTiKW%x8u ]]tAzlx pܰSl[ȒYuX:J^:wɵy.'g=V2K&]qg }=p>ƹ ?/ /).P̍^<Ӵ%OEOJ,@$>fثϓb\u9` %.C&ǘpЕ݈B:% ;GZ=KW~]ỈȆN 5C?!{Ehۇ*nZPp{=YY#cXa\vR4[x,o~FYױlk q)X-&{xŀV'F(. ^azOfNwHn=n*i"3!n^̆{4x%pSbSO Ue&dl= 1R^v'ѺKt{,d)e3~UP/'K%;bBo(ntʑ~\=u%ɚʏ/U;? 68gӞ|u&8 |R~<:e ](B9>ec}"됏 r j-r\;vh&G̗9j7c'hL?k~IS`bɮ18VK/ztscyql\>N>]jKa-/! )~oTzD#Q WIP/\9h=b#a=D1'i0g+Í;뻾RɁ B-Z~2aXoo4Dq(&‘m cs geYr۱w`;W$n10aFLlRajF@*lnǙ0Lʖ/_q`=hKum]α"CSTϲNotj+LdV` 25Y>)3),uc@o"S [!W~9צ;MҢy|C5J6Ϝ2oDA8ƌJT)+i밤`Vqf!*' @PoȲفplC~H7ǯGWX%}s~.!e#ƀҐ\dC-@#bEYїMv!K?o5JP/,g4E륃>ţ)[2Ʀ?(&QL͵NL7㣝x ָQ9b Td9ds:6,+q}"H)ŷcd[pM2ؤ(1 x[ׇ[;ŵ%"RfBxdrCh"?=j$LuV O<4ƃ1Ut}Ry6t-2"k&H|^cI1uvd'߁lɑYJC/sw^Ub9ic.{ qP|q!3z& QhlSJN°sX$ 1 Y&NuĎ?'}AC8:\ Bx:;F!x;p 6AXpUj<.:|m{B:h̀5zژ+Bpe3Qr(Y;ӕ٘;ĵKYhZ9cC )::Qd;$ \X<'(? %?Ã*YI܉7>*[MBD F7aDSUu@ᶟ[{w))bAĹn_.Ha;|t#et{EV zD $l^_cQ?K1em+K$@LҖ~rj5ooǏB\;y7-F' pi+qشU\/\~iTڨ9m̤'|]Z`#ߟ,,23%Ρ*hr}S1L[t\|.hR!iwM0&%!eڹA|?◘0g>W\"~L3=~\  nOj{c0k795=νlˏKc=^վsaPILF9 K&ݣ۸>pѵeT1eoœW<^6%iHIGMI)GBlmels%JHE?qVs@֨{hx@(i}ptâ;ԩW7UQr!CVHoioEoqd1/WՒZ3bg?|ԤwmR&QzX_җsn[>[E^NHT?Q,6G9'*WqSв2Om_qP!c1L~[ =lEIx4'Ij.Z[3֦8L閏mMR~E>ʂTwpR+ Gd[iUӷ,WLiLuLBh.ٵ@k"{V㴽qksŠc <IbVcZ j2BD.5R2[$ThW Rmh?ۂ[QM(4)_]ݶIkAf1jE `IQm=yB H!wżҢ.Rz*p ɟ'}X5rw11m1ڰ;|?RD[{jqV?kV SwTdNJWHeƻC~}\Z6X*,@no>je"I>?pwl_?BG`q(r=jfǕ D{t E+h S0ݾPTil< cDmɍ^@o۫kl`D$> rSsAKf{*Q2M6tU pyϡZ! *;D#2r\WjI{LJB1!pW uۉS&߯ü0{?EC:JScԸ"v]7G(pNU O G9/ z xU w,g/s㩝lS0t,>8Ej-(cr{,]\ c{eձCcrR!ԢyIyq"t d](s,.q>6=Ѩ/3Ƞ܃ [9E%JEĄ{sʂ7T jYN_ *$(KG`١mVN+h_w]oC}w^S9$|g'[޼NkÛЏ^hl^)VދRD xiLjv+ Yυʝ]"& ~RkkB3֭ )c83/E"`}`]! /i$0ch\  ›2قdް'|5_JBqM2 H\+Pc!}X=e.rh,08YLE8:^O"_ulNX¦mÝWoK#,* ˨MJSYwaS#zqL%|K;:h]"g(8gM:` ]}˅?Sl>RJ< !a*!v?ϨAUf%Inzџ)у 16[W\zNR1_'1\bq!za%# fa4&4Q[(oh]Ri{p/+ȹӇXnh2P7 IW#;6ڔUxA -߆$a^)-#_ɢ( b]) "Y+hzz+|ZD_53rT]Kh}^wa=pCsW5ymlSd U]8cE LgH_Vαf̐j~> <[G~b­@ƺیo K(`Gg7UFqt˺(j#-]Ds6q<,& ,43ƙ e2Su^0˙5[Dl62m^[_1[cLg_;/AFv`$s0YgAv\ھ*_*;jj` mmAޯ8#a;,I^،dmTC!5RVyƝ}"6/2n$~/T'ޥ@5lħ{vR7zݧȌ3`@%EMyƮ¤86vo\JEh|W+Bkò;Z^NTO+n5>̷W B}DJo#b3+܇}v.-G"KY̆7ov6(p~-Ty(G ((Q*0o?GהZsQ`J"-9Gg#'3RǛP|5tT%(Nv(+G嚽zxnJ뀠P iЈ˝|wSk ߩWY 5)$ޖِDO%E -xj{03.2..m[ /7i5- ʁxؿʀ rNp޿m20k>Os̜3 /7T:Yv>&3D0yiM+CfYy=G, XLp[עjcEE5cK%;7*A[P.J@|u6 &bpJekVJyӂ4 G:ATPgD}KYFĈ(7D[4YQd!p A֨o~VV)yJA% "m!؜ONR0©J[WO2D$aLF8]Rz#hm=Od4\Z kܤp/9,*xxVmtyX鈭JŔoo^-(4wc+'!8P5ZL _#ȃ$e`˟;htvwTjl>qqNI =x K뜞?U'-p@ToУH8g;Ke,\,GL͈+j_&0LR} T"ځV6eyo",^ܷj0' UnjgTfJH3@|Kƴ.y)&X!+U\8l 6p6Rerb??Z9s^5V[QlqB5IAۻ9s 6XQG |2/xn+;Uz\6E"X %D=h5P.Δ_nwPG/GYGdo!,HD6f_fE`Q R nN!s2C$})k3Vb|pnvgfح5KK{ .v[&Io޸./u_?Ϻ^$-h''((He%Kٌ& J5fNO}${<ňUe`W@S^vdZXP[㌒E_=1$~5&ܶQU)Bڹ~|+ TYCή^ &3Fұ'ڸ呠ÖxmsK۹qOYN 6S,EJ֛~z I˒ f^JqD|!Jڔj2܌TO#[:kw>>܂0K3l6XQQe =75N6r*D[4ku={BD,Mw՞aM}܅_LÖwx\Y if-<-s T3, ;pջ~ |yC==QN-.1tChG1tA.>)6ͭ&jgl*)ԑTHG$fn>[ٻu#EF^ v_lL؉4N4Y}A^tJ.HK_Mt=ZR"UՆT [1u^G+Rc!(x>n.ꈾsÙv`z,ܚ*"i6w&?F|ئ&PwB8(e'M[]!6*aAa#Bl:3[`[@=(Ta(B>~g]C.Ǘ40g y7 yФM_O®0!DDyfRJ:}0n_WZRVVʉBq*7-%jZps k,+m7X(=As~YJD>X}}H| I?ɪ,{tXmhe%1;znGfOE̊'יbWy"n\]rYW>WH%k(f* $Urǯg'[M~ w2њ]I^5j~ 4իRN: /잹vH2*DɁߤl OfR}v^etCY9 yi ]WB:8ґP-Χ=E#.re?pW1U {[zsB <ߧ}yEo1#Lg'%} (zq[!?YmtVady[caTH_ *ظ,SGeZHaamÃֵ92>M_d>&r?!=߻GN 8kx_@c dG4z8b{ 6bwb7MHx=_p2eG,2qV劐;QJA{IW9,8<ӄ'VXgΖ5O'g8թr`Gar~0(!SLR*  7i|j;0~U;Y%WGKpb%֗0g'6Nj3#{qr,i w]g޳90@3[C ҭW?o/׳?Ot5_Nv""h&v/q3a2c-$rMRZ_0U=?`<n԰Ȇ_t4-{QF& SvQw$#Jkmα)F3bNEP#+kF<ڎ/;QEwϽ<~ie{ q_C~\m央Lਨ]F<<>ljă0yO:Ӏ ˼D7&:8`y6&o>E .t]-sG !fkRk :rN$SsជsJ.obqVښŤ2kJw@ZQ`l{b|FvQ>\ Iآ$Mr)BNL^ oW uFUǛ VA"_aOCԬp<4Rf(z1FD;qbl xxh:)kiۭ8&Vqi5xԊVa*8?)9"QG1;IȍlR}u87xM(mגZ% %|4,mUc S|1NyL9zO[gD:u}y8B*I}P, ֺs3ŋ4{!"!OU5,Y ?YO)H>T. [!@S2,>K6!ok4'*tS8f,둻x!&x#G_UvscQXp&;--c¤ R"_!C-Ua%K3 Ԫ;({/ PJoۤa(nJY&{TK;n}B$3ص+GË́9O*דj[\=Cup$>F{~o:QnݸpjF3 Ϛ3tQnuv"j0Đ/ 6ǽ1^n4mݦ6"`Jm;L x$v S_-$E?>O NWV'iy=CrH+cZ5+&^-Au?c} #e1re+ 3v9(z;UE F$[x[/POOv.ӭBl/ѯ[ׇDkwJqY2 <|ޙ(gݷ`,5XJSJ'm3yHS8:#v3/YIuחĕF8={x4t,SǷHϠǂOuAZQ :g+D_< p|u0x < rr#HxR~ Sw+N߰\'vBq- / 64.ٛXfH\|0lLEE'`zl_@ 6 ME (TC8 vJiTXT?rix$ sx/=ʞ2J= #܎ @\M2rOe.b¢9^we{6^Y@ܞszDǕ$Yhp a5/YMag%@`[GVev`c*]elPcx%I4F*w,4x7& :~SKup=P{H T#C%h~PmK}߈;"G- f' v`=!,AV3T?ү@p#qMxiuj Aיh qjɁrλoI %FodGaO!Ь癝vD+>-{u﨩t[~# BkrڞPJAiAzƥʌ ygAD[n-^ʱ`f_(*6}F'rGTAy-IMŨBZNJ@+̵//ϔ~髞 =U_!/N6.^9SA3v0]AjzY}IbWa( ].e*W95[>>M )S,PdKEZ"0͡F5 7+8\%=aT.fȽrfyhw mSWD7*  U@5 i7=<۸AdtX,k⁛^W ]kT=~Rz 5M"j/w }2YK!B`>)w+w6ug y8|_{8 A2Pe2z<ۊI C71VFfM}Fu|( ͊@e:hmW8՞xCD7U6E)A7|e|{0bm-L"?]W+^BV 8:(e q")weoAA#Qu @ DZ:ǡq&|b0InK􁟍8iJygZ_@ZRMcQDf|*fNx> ҆^QOCP<}1߬[L3C0p ZdGepu+MSTk;Ƚ)#LtVx8ݔZ[F%1TeudTJ$S3!s䎉Xap%mNg˚~Gn_xڢϸqj0'`ͺh/ >R񛫅d30%K2=q%b)E2W2~D$sSu} (ljZsA s֗bF\t7jЗSjlNX\xA;@ua>ؖIM”/;|6̘w;9Qcx-&膐fோ&Oݏ.0!''?&u6>1qɅ `3ތԑ#dx+w/cޘ,֓cɯk'U ` {T=^C@#1H8IE[QJK5+YL^ qdQ\!z n??$:_JXp-ڷj"g&Gܵ^E7e oS9d.%nmCMYt)UP{vBaf rOߘ,}cûOku1_28A;Zף73R\˟0?W>!_D!6|^"ݸ2DkC޲la7L~NԧodVN${_Ԗt;?! 0߫ S0,]4YM.\;:/vS~ ԄcEZ4p!rZ>'Pz=d(Ь0ASXh7ƈpP S@cf#7Kʑkh!+=!uCXx =%/X"V4D^?~0SUlǔHpz gMp{E׀Ǥĸå*uKn43Qd4zyZ@CH%lswMiz`Q( C!53fJAQSTq %uIY΍"BƨjĦxUk( s6< :׬6~}|nkH ;yۼݞq6*,s\L"9F2eZړT9]JF-_+7M$Kyn5gξ?K4<4*. oa/Z@eɦH|Suzq"mИ.HakxEjۡ(kTeGtLCOQ~ʼn>Dب~s,53Me=ov  {ktI;l 8u:H{"2Ty qnPR wpx׍[x3޸͌x:0g++dU^WzBw`:`P*Ʉ|a5~f(0r3&~d=Vԏs^$cD;mo]KߘK@4J҉A5p8g!$<ȪhaPQSD wQqdM^w" 4}MNޚ~ Q# h=!'<1v aݸZْGLU~kurӝ_ %.EB ^"hl*U _u/Ӵ=X,Lmfl8g{\gc{6s#=kv4nmQDzU< L^ pڗ.;8 )(:o,(ЎF$Q)PFLmpçȀx|rϠ([޳./VK4L:ȟfIWc%J(=_jj !~ .-&-ԗWRdsDVU޹C\B-nh,K OOֿgw, 5W5_ٮLOo`\ˬJ墾ږD3j5'JOd (p:((ՅCf>.}1w#D=:Mo NFR-<`mlDvRu|_L*V*AI~vu깓f7z ޵ #M`|,2z>RIi;i85x C'XpԮ4rʸdJoק1bd幟;EYA-SfRLv+Wg}f7P%ݒvc,'.M TH&c༟T7@nsx?|EnPɐD `0?Qd-:;hʊ@wx_ZOcFD}@e4m*/? snMSuGը G4N}=fBA"Hfh)2^h7=2*w* H9ǪN,DzaK':8<\/.{x,/Zp BJnMkAw?6%թc,u1{d/:9,|wB ?Adĥ˥C+x)kрP0hJ\lجK"H:qIKp;GB^Wڅc"\6zсu߃x,X:*HI M Ь ij8k٘Р=ۢJ,EU,AҋMlط: fO쇣FH4+&DO";Y4B 4<{u4skc !EL m&솱&"NKɖq cc-~\`Vp/L;V! NdIq6\T}P`rtb!XP6hY J}0Q%>P ^ڋb5$ Ji6Qwb5ĵFޑrjluAm75*\97}E(z}r+?U4:0SrJW =jbwWxJXE8P mdp nj?k؄I?Oz9ɑɈSYaߧ.4k N盝b/[D'mnN&HG?/RG۳Wؗ ` ZZm-`T#,e>1rLE]g~FE_5uO(sLzHrNH~jɪy^(.jLmfL"j ճGқ??l$/_=Li~J0R,_~ _}@Iuz8_t@|ȀO;pӬaWZ iy&aenrP ZGYځ̊_Ro5+dhi=]G6+w%=ncqRѬ"&T$f7l^|uCoz/öxM ^e~e\\U ?ד^ -ۘxa 04Q/~CoU 6Z[djzaЉ3#]]ƣTC(Xl Ę TzGjqoZ ҲoGfP²~3 :V݈АEfVpThSSA a9! &]!NૼgnD p=^+I%E10ZQ>Vq,L=T'vg)D- |Tt$gy (!簸𫻫;fmc+1ņ)+`ډ6e/mo `ٖioh?" _g/3p*PKQ&ګ[fv}|)%Ͱ345fnoSfz QРs-IiFhR1$ ޮK;ȩgxtK0!?6KCUt4ԚVF3Rf{1bPhrpO-o.gkhk?RKxרa=ɥܵJ_BeLn7IZy/ E3}7—HoYN$@>OnB-B~X2y>j/f:hԘ^tLl]N~: J57d5΢oF2YJ4Qvba6bWwϲTAށH4<](V׳,7uU:t̜jC Q"10B|~eY) 2:ط}7-Syз$T]VL)(?;*o#$xH_#kd[H42)}"twh- Av/~7FZ.u0go+:e^N3@6ɼMA_ʦg]0XwlNnkdR4y Р.m9O/єz!w滾=P{n}Q{cSPA""y t8+o!p9p A\W7v(3E ]HVȾTBGMjJ^D+Dnt8ll *2W"Ƽo#4k :zxWvt{yeS`jU xeo _D4XQu{qcBb.HX-# -"u|!QDK1 ^GՎ1[R=:K<"BŹخGoPd ?)\F%N p !=ݎ2Z{h68H#dˆ⶙t݆' p ٕLBgMXW|:ו7qdU񔐐`sb'%/˱[PXǰjcc l*M0d1Dد]iEy`x2ڣb3vGϷtYT8Ӄo9%2B (h=02 `2i)7nw h&^j ʫɇv201.Ďx­'kpA"Ov̸/ r3B)6E׆GIzefXJ>A?r,tdFcm>jKҙѪptpL*|zmxCM!)tx"ejbR6ޒٍr5ZjOQP`ڜ)Xusx(PX@E[w=&V+E\jK۷/Փ)()En>\i+2bۄGr&&VR/)n)ZudWgl^u{;S@^ &ڋ:,P۳h(L*Hd͟Jn=dZCS -YoqvXy[QP.6SV4`$95r#6{4'^vƽ) 3OBmf#O$OxM W<^ U>els L4.V,(T)'>py(IZ኱jü;L^@O 'LJg̋VveMW3͏-hZ-Ƅexn2b8-Rfz |]zO)^T:[{^/ƕDjb*'o kRuQL@Wb{q(~^r2|$B+!qĝڪ_ac$ Vۚ6,R?OSvYqbA6PSem cyՁg%pwӉ܁+-.s{ En;2jI5: GsgTF/h>a;| ޷[0{UD:"$%3Y9f&:ވPqԀ)z6x m7?A*CzBH_jŖ_Ν.a3Qg̲ʨ<$ۚˉ5 [Wg,51NZq_ޢV~T/{1 # +J=+!HobIJ@ބ㏁G֓O]s̵.(mXKAJT`-Y %LI;Lpu*[e-uMLs@RB~ jG=Pq> 4kP9LjО dL-N,W͐Cl&1z jiO()!m_T ]")*%Yk/cfr^v s?Ɣ̀zY@B!_).92Oؾ8<&_h#ų̌IPZgmzf0v]18wCFH}V`=)"jV0Wc`{#mosM> \Y1+R2V39o%_O2Sj-FmBPzF#rTkTS|_(ى _6A;spfݙh-& V&PmG/E/띵}0+ ֚UjNФShWٻEQyT- ۗ/S[3k>MʹJ>t3W!+\eGi~*"҃q!*jr!?D"\cTϭ>[$p{%@RH=,2aʖCkf4τ%_BeEcIr'BmA|^o+j3|:fGcH-5$.ӠL |*qF\pXuU"HiO}?l3plv$=|W_>#frRڳIB\%aal7{E]6˱m_:hx +ɘIm>(k7v? v O2mO%4+pu6:9=5~5K`Ha9sxNsZ6D>f?ӊ| u=0C+D_d IajZ^1ez;wTTӮz86 ;b̼p 9+*-NQRߝr`ಗ7%o!9 /0H a6gEl (,OfOݷeizOƏ98!]My22ݘSBc"exA'uuJV4\9stp;kH?^+#pKCqhjN}nxC +V+zzB00R3ǁ.Ia7&SMr0/ީl2IK 'E#, &4VŎ@~E(uD}uA.b|xRUhHCxmR80IGMEj_WDgL=! }ϖ)Ak3SG%6. ;ݿ&֕O-ܲ yKmrBq P*0ܹ)'M+b ۲X01(?iչ%?rNw7\,ʘ4I>D/aE9]L$āyC ]]}ލDALw.v¹9 ̻Elc]?_H!ggې#:NfɅ6w.~5^ ajc>* J>؀d6cS9n␐ G6;J|8I7%'?z1Z> P^sA9Hs2{?GY`7ZF*DC)w.@Tw/ ,fxVm4e3a2 ʨ!X2a[}Aq|0DIڵ7:!i3I5ʈ0%k|% JlRVbI7AF-83yߍb0^b'W)Obt{c% cK`|^'SE]q1'MMG1-~R1qܺfQ`R_u`l|i3/]"I9F2?#ݰJt26rdh_8vA/}YlWI^0f^ɘ@$| M~iٺ 'B+x~a;9K=Q%_@sȣ> ~LxH#&f@W7? :! ֙\n(ayĴʪ镂!زׁ C( AyNb2e=zBC(`*MVe(:*&lrS|_U*~;!0\ yq')+F?"ǣ(^Ig/y;Gpp'9$1(f+3BڊB8~tl)?~x{VlUccG쯂J1OiIuʙʥmdɪ7%(l7??j%xobSŇϜ'@ .wtS㿩PZ8[V'bf4d+py"L㘳P|Kg؟Z ]3e|^ܣ)@vV lRr/*l{:z+E֜VULؽ}KO#> f"$UiY:kL8c2+:U&:ȾHtՖB_~4n4#tYQoxvv& ϳ5̙+c\+@*T%(BS)KFU)yR)|$PzUܻL/*pJj;(I5 tBu 1 uBS aq&'I\kt kj/[xG,mO7ua0n^[ 6K+A۲3'ᵭ .1t^C*` 5yAY Gow컟4pl1Ip  A_S g5p˿Hѱo5Fas~pkHi{|~U08%_} 01:wf^ccA@ )D]~*3R_#ZCo= u"+z r,E8Zs^+0a+Ш:PӾ-kNJ.'3m}\@*u9),ŞUA2AI?xHeKacUOZ㮰qK_~Dij(C]$R'HnݗF2Aշi` |#tDD.}x5.b "Cż!0cUw,?T| L;# P@вJ" ^\+`~ yf|L+ul.OUH[EFŔ~}P@S3/l.Nv63cU}ylWrP_ <&cآ5.?&jP9 ViwT'V&\(o ۤfT#WRH_fswt5} {x`e3%ε&ن9j_}!]K%ѧi$y3A?~qg,@ vlLBװUa4 ]5QaY=CnCb-5b"YgnVa_R*ZlʢʋrЊC ix0 nHf@"t#,2,<R7 xڦJg^4+Xޖ7q`݅Q=O60 !ak6v.2kZMdze #Kr웺 7 o2h`2ַMn(ɨd6nu4@*ZۡNPF>uAˏ_c֘,qVaVaJ+v (t<__jIO:0dqK;7E썱2LC3]B b2u 6A&u[Ϯ+4ZS! 3"La4DeP]M&h[ឞ[}!ׁS򕛆ɇUƑ x_dX+ lj{pLjKm>'yn'H= K`xM_z2EGiXkG.@⮻$H|qd&Vц2p%V'_Nƿf~rhVJ3r:!٫t`X(/}sdu6u蛞/hXIcaGi0\ї;~k`K{eCse{Tm4[TyJivy~dWR{sZaW2uv%92uo2C~v4cZ,tS=CW5CzrWJ5KY7e0Vʎ }Od|`*b6N6ƒH~HDZ[]+5s+vNi[uHI f>zmPL7]\=I#mh6{v \0Ba!ZFW@sG=U`r؆zIPա,1QR2ʺ:/S]O4K t65¬i膗 ΀XLVv}tBg _hp#;v\ܣ0, $glO\?Q7eWCu_Tܨ+ 3ZTMp,GvNՅF%]{6/6yuz"O9k57g둗TLŧ`(#];q'\D9'V#[~'fBLه֕C)_za%@G/}2RQ{˧vPh6>/d̵&f}yPBq3"y =Td1gA΅ ^-Z*R]%r HgahՖdÖ9uD?3.b6m]\G( Ɂ5[SkxX@#JK?od%!:" ]΄GnK]>5E+Ux$ͬ`,yvbD-wۀ!`eW>a^qYsII XW"t!*"5;#Q>\{Ǔ=&\t:B5_@L? V1ڋ ->Ǩݴh[Z21:ㅸ9LB 9[ g#q(be1x奔Z/WAFP_`Ӣd d1=_kHG),[hń3F<яMk<l9#\r氲=ʂtٔV?9KXrf$w_G\މ[~fU"܃6͇8T/Ӣ㠆,qJbe>4R~7?k:E=tqbTMHKMOHZ_ֿT`tOv3d(ϩ{J@_Rߔ-*TVq눾֎CkֿۚdBfQ0T>k/Z}eKjNd[ ̍NW|Zx-Zr;D%mWuPD|b nZcȎŽ8LuY tǵatVTwNN>;:[cE,na,ޚ\=Qd/\2&n]>$ϰa¡+ -qQ7ʷ1 d}K.BF )bD?t =[SP\q kmى )LE@^9v I&SB\t]c4!I,<+4䣱dH{VcYF 1>N^XGqTJVl5ưC5`Z\\3nR;,d㿺$?UƔW a{2/'9To_}6XDhgbh\VR1͵Mu`7CFJ"Bת T:ZۦjFLglcaBLTZrfԀxg^gvM'xB!Yke֯hy=N$rvqAz2MhV6?3፧>TT Wb @5Ҹm&؀[Ip1Bʈv\cd.WRhwADnC-߹x$^ohcڢ snFPU0vl%"d / ZtU)FX%[˔*5XfU>T_7n 6tpb7t-G6Ziwx2 tȯi[!!N q-R]Ub0 #)҅>;a(:bZh| GT@قk gFf 5` nS늾P dh3|WO^Ȱg&x,O=6 X#$钰Ei&]rjLNz]B8 ZGwO{Y;VZҎ@X7 w1DYi?lѝ$P]:yȋ_@J ?߭XBq Kg!b`{m}Y]mu׃bX[w`*݊ 33U95 L m/ ^Xmj| kS6ne=u% mɼpŸtl" ÚOL_ڜAeSY~n%7lv{LM 4h₯l:/|ٻ]ːjyo/x,?<>^;'r[!!~Nr[J-@H  rhD)yzm]8j Gp4]67 ״Ot< ,G]-}|F6K5C͌EeyNeTh.^]{"+Kwסv\Vج^]x|>EZKL s@b`|ؚl,,)Ÿ(grGPm̊vrBDvm o8zh76H=3@_ʰ؋8 9MqSQtɎFKu.Xf?mZ $*x/gD/y|g)X8af2_:&Ir\'ռ"DֲXݚ1}h;%]e.-եpO (FuŞDJX'Xtfg R=WW7mlåKpzH(@](ޭ[}oG5bݶܼmm~7xmog 1MCoNE &ͦ9z5qMH=E=b XRyeQpM0VFg}`^Zԫ.\%|́;'>!|h9pBr5'T^9yvp*ɤw*p<:],w.%ja3Y9Ȁi 8STUX clQ+ֽA)HiicІ 0sWfv0Ov9J';[Y݂8G+=0#WR{>(%}{ZޠPKE[&_qHӗ{e /S%2[Lշ^S/$$sVx͙1#T=Ǽ4R0EFsan޼yP'zLxH4(X7J(P3XRYNCaC+_Gږҫv'Ti@h"ݎլ142ޙ\{+'X8 ݨߡwD_:#ą:Q_N;Z8ס2bwgs){Z`-h6e?z\&:zM?G*vSako{zՔU1KKΥӹpLOK|џD+YDo{((t2d#`>|x!"J +?5egVVaU;uKI+M'm>><%MTյnDںg]Ɖы" t!'Ǐ$nV3AG\,H =(cCh\wAL+/:N}ye4P\SpRQ}uVJ(47KSA^$KHb"&l$Sv</z3a gq!Y_`6dK+QۈE$HhHmG 5F?*2‡=6jtD|}3A8Բnhɬ"NeXr-Pf`iekǹZ?nj.oS6 RC0l&v m gO p%%#GMI)Yy5%0dzwu# 0S-n擄1vA.f`4r°bgcN"YJg֓Yў8a$|ͪzՅ+ fhJ O7K^2MD9TPXG/vv ~YgpK_L^jDH:!쯝 E6B"s,3SqM ӻs eWIGEkÉ6/ub@ _ cd~ eV/ ~b泓{_T I:ް#3K_W=J(wT F5mDr'j m9v:q)M dGsC0wM0|~ "s OoTxbi]ޑ啸x) W^([濾{L(:Ñ-vOy5Ԫ[YM 1AQ?4 ^=JK3la@<ͦacG/1dSџ)Ǐ Di氓'M{wG7I."o}`Yj1Ƹy["ˎSr7㹐Z)B #!4cL z%}QO[X%ۥb޼zyKc.d w@$ߚeةPv|ab~wj5ǕOA2`@<69uN?Tnjc P܉>O!o<N8Th"+E6D͎c̳R 3և;,J5nV 2CPeؕruD+a}cI{;ܲ}]7z^gRE,u S90aadfr Z'&!Q*?я\l *b6r rT`px^J3I݊*e+/ p Uĉ6, |u3nٟtl=-2nu4wn6?qP#^ج&#gZ(5:^Wlu|R 7{BUC8%& Sp04ˡO@4FI _'٠Bԋ;5q R6fa{]$334\ȍ=]Nv7dv'>mHa\0)…dH|@7:lcTGaOP%9\*BD=|LUCBJr8_;0al]$ SeWŒ^55o!/Yc=˚q4()X h.Z>g;.X&AđV s4W-4 R 5DQq,-l}fe11hp|e|8*9h},,"6&q˦\aY8*}j \in&C>8mGE0{KKpпGY@gѹ4ŭkZ^ʇG0K,OH}C\JHQ[| 7aB;txP@6:..Eڡ+{&P VbX)WVn B(3bn[u,0|0̌`J(P޷sW.Cw{T?8X{_A&T]`Y#UoP"ϭHbZe^bc^<(:7]ZҲh4- gwW<1KD ͋' JTIjs̵eIV`rٲL7[&2$\!-@X;HO,=@^(u҄)nH6KZ(.cch)gU[hщ+TR[pR)Y4Z BUxq,MӣvW蚍v$6+S\u6͕E[A85 Aa4AT+ۺ4oLPvE)ƋiD#a4']sq>J(bivQ'60e=&%\yy-߼` F'38wGh>/=!b/s-Lm)umqgؤԓUUC'}%O?[6̒t'Pz?gH8CfݻI! w{{3g0 xE@kS اv@t_!@+IRm_:w_r(u,a"lfRyχ6]`&v}*@kBrBQ\~?bj\UZfWɓ?`?6~;sbZ yP:ӵXlڄ0]EM]:X_Y^ҫTqks:p&l#~ P?<&DmoR%3蜝%m%ϟvǀTS&.ݘ0'Z+qiI %0p;PmD) w:9vT i+/}!y؀?IfN01` SP 6PX o] Y(C$#h"J=?v~޼ A?QpcJi*omB}dz! NuKn''3 @V(Н鷉I-szV0E3wWl5"-he T/ -Aq]| i\eD^q̕DE,Nʑ`sqC}`m-Oꢏ1{p- 1)2S_,Ў+҂ByHkTFkzsܲHW V_(Ũ@m< 4+|:t}To}ݞ4uͫ &OUn,d X qIV'lG&gccB5CP4%\$2%p)Em\0n[=ܢGpa,x;H:%=[~ "b+ Fq9`6<ò(MMB__R$zdJ`/dvF>a U2Gch3 0"ůy YN"h #OÙ4JiVoW H3"%K2' . ;tN:ri9Ia80x+N9쪂;Ó1݀*y,H\f,4n>ڟ]G(4jM(9;,5[;H @щWڽ sP+bzi`)4S+;oy\p+Noz3!&/Ɉ*LJ>!XFHK%rG) .ږ1U)Bͼ p3D]D[e lBur _M`%ڗ<"̑Uu_N;wDΕ/L˟X=TleH3ES(U{ =.sڹȹ:Am%yE KO|]׹㪗.ժ(jI1ͽ2d^`~(!;VIX%31IJ[=b7"W=)!WYm=tݜWlc^]ǿ c m5n& I$r OB!czJGVMWFge1N%9]zj7Pj&2؟C/à[ S8]|N[H-r끀*"0VUTc SuLRTmC/Clk=*6,y4PH>unGjgS8uTB`i:+(O4PF#N>< GZ`v# P6u[/j< dVbtҵ!jR]^f>[T\q rf J{bT;biȍ1?8ͯpmCꍩ2ɈH}"fDʾìU"ڂQ!JYv'/6Xmu,&4(k] ^,Aqd Xv k?viւF<< O w+żG ?)Ԭ)Gc,*`38@@;bm"0T^+wjH5jm4EZIB7>QOI5Ux.y/e* >؄:ZB$jֵB8n\ 1p|%d:=--w,|b}Xr ЎԮx4V!c ȉ &6BIUNofŏ c4cy-q秵25_}c MdSJ]ej]ZgP\ޅEiSin='cKsp<(!ff:ʠmo`c/\#tRʇ]_U#8I0*eP7pt֊m g,vBȔr3}EƩ[@E%0íC] *[R-2܊t ķj-K|T7U(Ir ,}mPT"< ^VfQɗeEU-*CQvzw6Ie7,s''Gء8RC{Hs63\G4y qTm'}sX Sn0@:Iӊ=Ӻz}ڞs m./V :ol1 $WsGlSA\~S+q>lsN4!~Nm)װ 0ftl԰){f|`]@t: Nt #r*MV=+wԫz5n2 >=!bPy+NebL+TmPM1s\z37s7>/V ѲPijZJ) ꆜv9l* I2̈e⠈<yFOuATI&pć' XZ+IDOFiE&pNW'!.K#Ȣ3Gl6:bj9L L `>U%ѥlf;Nfa1)Qo4<ljqrHIeb^!rǬYs˱, U.ܸ Y3< Ϫi n u1hh.[p{!o"ήK8QH;aHR }|8N3w. tZ.GHuaw 聄|oOđmpB _p(Pu$ TIq_ 6$:JWkz!H6ٴ4RG7Cu1w_uEEw|ʉ>dұ鋒6j/J(IXkgz5f )Q\Demh2Ȱ$X@xrY>|r>ACw<Ό,6Oŷ|z6q`~0[%iJ0Or⮂kV$KMNv<'r/yznGTU_Fen4Ș_)X1T}5lf˒1\6w{VQbseԄG!´<4fkυTO&Y*̽\ @ N'CTqG@ʐ)um`$ Lx?>~L^4K{mMvlpٮG+wH1W}xE/S0E`ݚ ô򣕖&Ұ.d+yAtPxVTCٻEv>'7~MT〨xQB3qW sǵ . bu56s'E<4nw1y\ȒN3+_l?+/f9Xڣ?̹x_N%,MBس@a-K>O+CmHf&DxUWGyOUDHYD$>T.YtD(D zq30vi^Ԗ~fݟo0+or=!SފIqfO3;wnA01O-0mpMNd/Zju2zFM|`*;7w)jADZ 2&}x[|ήbLe[,cy% :XBB%!(H;n݀Slϭ`eP%zJ bˇK70]җq M߲7`i$bMD)9"2R"AmJ`D*H߭'UP6}>u",XBBmp xy&ȗ1.-ҜGaY}ֳҨ'rg־;IZ8#*N*ΌtycX&Pr >1S݁X5R1Q[&cR]m)I 'G0Ky;ϧm4 /S32Y(ʅ0Ďfv FoFcdOz0H`%2IhxoA砯󥞟pE=|6^.b3Ӥ?(EHWQ\v(H)M#y'B$ܼE^P WJ!Kƃ N$av;+ޒ/QA6X/Pey VoY#%;­})70ۧ.sT}ev BURArR-Cl-rE٬I&mPlyr>ڇeXC jTo}{s=V(ok#8î)bf93=U*foRb~!=֩p|c2FfTto|-GeeUvG9D2 Z=fhA,DԚf̂aa}{tãÅ숐c.$W НɒTԒ', TЗEk~)*@Of#~]E*(mZpfj0Occ50BZHJDш鳎زzǶDOn{b^{0EoVK?HlyXҘB^y.JSl+(YsĨ[}ؚ |^V4u>0+-ۛpd8~̟yyQEfB`PWHV]h0cha{OwRSVXҀ(kJz KI(h`/rW}R/1!ׇgkr^h;ߞ N!Dl!4~2Z=p)d ߝIO[ V H~zOXK")0euI-W#v9\0ګ~! -d'SN,L/owҠtNx$9քuĐ*v5P汏ܿs#:5[MJy, 鲌KӃmem< К-Ӽߢ{ȵ^KrJ\V0aqJ7Et'Zo<@b7+@siQcB}*?ּ{ϦAg@/uD汛5ȄR"?icbїVo;}*<꩞⍊n}-3־#Q"C׻]A̮ͯ6Om&`JD ΙǍlhdܢ!RfڊbtQ.. R~-gFX 4(T:8 x%i| e@zdMv#֩&˄H Oّݩx#' Y8eL#jrT2EY!/J< lUcU+Լz 7+3Ѡ7(gFUcvE؍#C/g g;K&1jX?x$MЩ t8"D>;K1B gZ7hRǤ[(eV uulv=~2`p"EܤNmZc[z3=VPd-]Yi2%oM'rej2;s߁[DS]ݗ)Ꝣ(rƷܐaC>MgkQ'Eb WIC~D hpb:es[`*J4R#Z7"U5o*K k? Aׯbr2oB:|Yl"&G6.%`Za- m(5۸nد ϶~*2C RH @m|0SDpI% @c@ҴA.Da%OБ/wfJǮ;ӹܟ1#EWC0D.,VΌ?glI0Q4%d9H5Rv,Y M1 a_8^!\sEm;iPRh<:=7ۮ_mK\w];2<Яn)C ؀b)Gueb~;>iP8wʄP(gh)sd,Nh"ʍYrμow[;sWAcP1U d\}세 9ӫ4 2M6yTxY>&)-K%E>8ͪ+ܐK *{Fc:`mSi컒:0lTV*9H7(;KD>n˕mٳi"wc u#9I@񥚸wr&؈9#'hL=h o~̵rF>B(ht$֤OUAL8#~3`)!\Վ}wKq&O׮[{x!2 j^er6ƙ4JrqHB~ElϓzsL00>fyMI|i˜‡1wyhLƬ͑/kso,%YȿtKy 8ZF0w8$t8eˀ:$,YQ Ca(].gmA:`Nc*<& rɨ3iEqZ YyFfv6d49f}doAR<n19\e* 0_ L&-+udbÂ3_E|p;U.F$W[t΂dثXw/YB,XEBӣdk~BcYrIѣ٠J3[9Epo(fDɀ* 1pU$&prz]k$Ha1S4W״ުR]᥆5AKf8_:82ueJ%,]s9cnN |>ȼv)oʅ_0~t63xb-B_v2wu󵃩Ol zIwO=. D l"OW8 ܗ7On'I''A lYqhcO9R> Wu/Nwܞ>~H%2LjuIMX#&te7rނBfwXCcd"VM+O-DRtZ[mWSoL?nr2}L+bSoo9'Փ^Jn]c*fy6q*g1!1o .1فOkD-/t'pNӅ ddێ4%!$AHmar 椑~͔naͷP#Mwe`+ywurLyUj2lWdPzZ\ 23M9 !iJ$>p:Ʌt7s%U#̓\ux!c&+C2-F9 vo9T5@@8A#^-a2QxgȓYzЀL˦ ;|ل!NRR4^M'4>W { |2:H~dXFDc8e(%dSZw{y!~ZMiꏦS}b}?7["uy$=QE KKv5ZE"vؾ4 ?>6hf -mݞ\jqXBGۊ>Ix`+x 5ɺRN5IoMFU *v7>:gXo47* hikb[eC;s(} l$e/LHy4E >N6묅AɴB|&.2i%wrR *Dvw֠Hqq)p,;e`t:LL+4A|4۱~\Zf{y+b=Z"H, `gOf∯}c<4X^wj')scXHG媻)wzkd1t?gG#Kb`2[ONA&>N)Bz{>%dy>P{ 7Zُ@b(O!+`ZtV$`!0勭[$;6̑+ݪu悎*EO"|<{8b]~.4X,9mf:v%\K=_E&|dpȣ vi FTagZ6 V:ʓj=BYv\L<7D̢z;QgSAyb?1O}yU/զߝ?4K" y7aLmc%IڪSr -]2guH4|!o0Ll s“:ƫlPy ݚX^ܙ7{&@"jdAuU.n#X}7]YܴoܴW%ouiWëD =8MA +E7ϝ7)(oqgT£*qurM B'UW]Y+hs=lEw=M֒G@!d-IPQ6廖dވ(VKV8BzZMYՉ YHf9JgfCY5.t#M)">#X%Y" M+|g->áKΞ("ߧ0:dDh0~aG-O/T ͪӞJ;8HCU+` b߭هC :1zC)ױol\ 6 =۽Mteo/ ښ1/'hje[ 2'b$gQտLH$멗0gܕ.ZM|W*xŌN ʢn7nSEM`ؤu[Lry8*5P4{2HV+5>Y=Guٙ<_ LkV!YPIjeYGoe;oy 9 mn!dׄm)>ԑ /kzVO]ɦ`ESq8S^2d9ͩ1Hk1-DC0 M@" G (ւ9rm*p6w@ %8KR2Pxv8#,MMZm#]RJQ8t0<\൛L;'$TN\=PI7ESW 9 wLe/|ܐuIo=/jLX4:IK~t[ ;bRMegY*O|gwV<11׹7"escC$D4Dx#n'wZ &O)nʷw(ݲ%EY޻OJ ,m±7V,VmJpEm:-TB*eU+U>Wm3ǨM@QdhKs~a# |fGxdOi@TD02v`K"~-ߡ6V`軜f*)h gx)<Pb'0\xMh"5`6!Vqn`߰-1xzmΰ PTN1's?5fM J˛E|ů}BNXb0xۤ;&x.T\hf{2= EC"C!D~7ej:k>rXD=:lksKy =";̭)V>*ɑ-uArk4/q?eLLgīZ$:daK~.Nlk`Ovt CT˹ש/DocZ\qAOa\{pyZ"zVNzs$;\8Ij0gn<q͋(ʥ>QCVɧ]Np7dpqAHa8Okr#AtD{G*.k"%[ySj7[4o̍X=x/'1E/Sp"wØK{}yHbzJ=r+e왶] k.z#СƐ}@ #̺e-@琢Vy ~Tte3PO& A_%{lkmCώ|…,Aa$}B+-oF![lyCeSsqz<<BFgRwWP!^/Y/{0>SSC5C@OLcxsWEr,;/(u+mx wK2Bk;%oݐ=j-zHAdNif(Pmj  DR.r|cVExOEMd/j#5P ,Թd=u(=8YzOgoĔ,@BnYDƧ^;$)>B됎$Mt$Xjn Ç;/a;H+^_E-\oh >=[C> `#an'f@Q$|8JW[LvJ9KȐR%^}!#5'PDpךFf+#st=*U~muKBsR/;2W) Sɑr+xhףɣfc4v5I^euN;D& X7tgDp@FamX LMD_e MI{4Ӡ6]rHhwEJRN ׮9b:0'.f_^:A|%,HXL5rq.W:n'JJ gTd(D1si3eS>O$,C.繀TQF?J c{ǜ=mU2 (yH?F80 <>M¢2mw^zWԸjdXt/Jjܯr4\îK(yJaէz5O 3~Cx z\2QBz 8L$dZR$[ uD!'eFM%FuhA*Jْ [c<-4B6ܝɦ#cG1ƬDRF&Ҏ+'?mcv?UqIkʵ ɠU XqyuH"}(k̑{jcRV/J%%t0\}Gۋ``% ̂yQS/p\t٠Z<6.C~(џSc5N2uV1($>OɥݡiqgEjQf{>Aξ{f2E-hzqa^5;+~&b7'x`s0TJQbtr޴?mi9"+,/FL腃[.?lOx3ʹ4yĘqLnk>O}Z[|xO qzŽ\nyy-ʱZsTLUѴ;9Vr81ꦋ_ԉFG܊";ϖ?qC%uQل+FE9R,A]Ḟlt*j?mj҂MYd`atI2yRPӽiWs>7:?=^rU,V|in{vfki:bqޘ|6O9^gBf Axt T NGȩ,qCݶےUgaɭGv?3Ö$FsC 5^EX eK kT;fu=_[g|0a FkBB_͎t8ٜ%r65 ܦO6غvCusÇ#엇FVȕjam\~[JV1H4ҋ,;O KH(7(PR)٣k7RۏɌ><OHTf7fgJB#l{JƉ!ߩHjX ?P19!&@&:?E :LgmK%t]5G+=h,U cRpL}Hmp(c*|~O#^yS]{+E*Eu>ͱM 2cH\ꋫ\AP.V~&1rJxE" 磙5W9vZ.YQ8F(jc ,V+d5x]'H-uCiF+{(HGuf,RU yh380|"]V"W:ÂqC=JwEAoDky#oHO#LiF iB`xL༶ {j”*hշ$PIfYc+ i]]/,£!vJ}mT#kt99nx Fˉ7m_Fk 9%lht>WlK^`u}qMݮu x="#C El^ʠE$kuL@&p'Swmc5$8 |D,SORIޝ{, HȒDy۬jCdsT^m0%ļˡ2$Xv h [nCfk8-obKLٙ /IHDZp%U><.<%>>=ғǖzbzb[irN9xˡ4֏oij4b$Ng|VˍQHvt?cK^"ufh &].I_F%KgsAƲ)Rm-I^̜<}n fD UH5TMf #5[+i5b'@-vKі6Tp)M u\@wʞGej@XHt;F`14 sʝIF2'I黌h{ΓTf?Z;E9(M7 (ekoTc0ohDDUIGUάɠ!DrʵC jNf- (,W R00Z.0jZf /bcnPO=SU \rGf?)rNKRtH뭷RPC\ƦQu7$t8ZhʨY=6Qvt5LzdY9g?]rTXɮ{v6q_d8 _Q0urh32ZgH _/<7ST~ˆWrJ }ڌ [״ t`^I"U%b {g?`Q# [ﵤ>CMGVlW* A JIL!-_j?iȀ꺼 {^Vߢ;Pn9noD dYчi)EO,yQKϹ7$̈́IbM衮Eļx.Tt ".r^թAE~7Pó$?R=4,D`~=T.qK#v}5gE~7#5@6k2R%hq!UU^О0F{Oe#vP7ԒĂz\u^$#?]("bŁ2|1Z٧:A HŹp;?%i;~?2OCgk3"h?}cIJ+hqx'%6Zz>lݬZByz5 6"םc4?[Y(~5"!Jayxtppi r#,@NPTzCե pqWcwra{έtGtQz)Cܗ6XsM*:8|j.2-7M};~(~m;jF??,ZQT7&Nߎ&.s M}Gm W =h`;Y`@4KW\dWB1e4`MhZuN#ϋWx-kr3뿊'$g >ږ}F=ڍx9y/_jB*y9T.`⮲\\9~;/ASܩB6s%n (KK /zQV~fEBeyHŘ7\ٜgR B"1LMAchDFH% M)#"F#tAGB_>k }!X.d,lU9]͡Zo(/߼`.y0f_G\^|79Զ#jN۸"\؀hB-.%? 7G9m,) >2>sG K_\UD@unxk BT+XI8bj*£cfε=' x[d(3Ţsג\6I"2ԯóNьAR1A՝JDbR8L8T_30Fkk-]D, %%x}Wk5֘cN 1oYF[.~ -8䄾1P&zH66-HO@TH{H 9PѪlK Va:::lѲ'. $+F'W{N?t'Q>Y-%wy7b 汔u[#3M- Q,2HFAG;ſŕC5 31Mʿ3HZB|)chV ͌e"d! B"*-g]@0VPFAR4*V7m< 0*QSPv}&c|%o v\j(E}-Sb&>xGGhK2옂+x] |2nMw/"Eu#_l=VWs#`EzoĶJI2[XB&)9r]L Ο5~DE^#(u'p^lS%"hRQ0r "VEn:-sfDZPc^"]XErA  F\Oz%1݂e=$o2Cv}\ ڿBrVLP=CZR]1@jS9o('yxy~n1H؂I(Hp!9p^@2BItƸձ;x%ĭ/ò=Vڿak? [8)hee ,@P%a"sJF?+\Ib;En mBxx4Ǒeb;sYϖ׍As"-I(F^52*䎪 lo*/=:;e}]~()" p{!m"v4Kk*X+mC| q&LQvUQ~@TC1@MB4wS.ADJ1%kY'HLQ;q"JcY@T?8 'ۚ9/CA?錍qu2JAyXd4Tj-IQuT舀pfbOIPߋ3$ 9i9z FǼ4 4زz0'ܣQB#/k :2qrI EuN׉l.]x6n~ũxA~-pG-,J}-TkKBW'opD+? }y%ҩ3,77#>.Vn]C~7"M=8<.G>% ]!"oa/T2Ne\BһK>Z aVO֍"#/bY$|EO j15 ^G' % RlؽR'^dp;-:%%%[waģ/&j^XQ7zҷKZrzbvςp4]_#ׅo; JȞ36wK&%Av@$53tuBV\8c?͠rQ`;/@5YCͦ:nB1MLs2\NƤu=9Q駋(EGY Fe.YEA#q1 Sp]@/2AyW ZMsM*%Uؙ2~+ɡL~ڝ<)ԩIbT,蛟5Cht88v[{) F-W'+uEƞ2>*70TALźfXxrh<͐?c}) i:a޹Ϡ߃1&DJY' j%P<(1JO81ꘂ<wK+ߩڗcm+)f0Ul1g&27q`hQ[>31ew6#eD&io"XzoH|nwB^Vf ZQ]y٧}W%נh,g,L )8/.s6_TAz4Lc;šk˞ n9 b$vj|o7 fe,`(ղyP(7!Ixo_K#y&bE2Dơ:KLBjGTLLə Jb;ui41y/V,ii:3 tu-dZ'|>HNaE0j4>'9zNK2m~cG>4~bzF|l[ͳ98/;]42˿zP{/Q9:#p+D yoqًG&8D^N=BqxV"llV+5c39*NOZ*HrHE;8 ݲR" I+zw=z+50PqY N)n0۷]6t ֏7e$ f>S+2?%3QTnF˻@ZYz3r1uGB"bVѠ/3Ğd9+>]|/&oPuR dE-=$VФ/A!^tBHuVvwR%DX'1Q C]f&@.=l6G|zM2eLݢ­OpB^&N4V%$;H+rNX9;Uk`.AiD1gWd+_|~<ɊVjUs"ǶtC:@Rs2{ i,I[*Ho~pQFJ)Na֯[U勇{ѮU6_E'l6& 9kW,m1]gBlFyxjctjK>*W*l:wH?~!Tz_-k<JG#;Y)ll{#lӝ+b5KށR{qOSs;bvد\,-E&loקB!GjGs}'vBߣ3Z1hUFm8]E|#e1O~Zb& M9Sbnlydň?XBaExK;^J`GT)|AU=ߡ"KkI4^Q O<I?/MN&` t?:Mb@v}] h% :}!:SG@/5Fi9=~WxzE\O8P&E76U)Lh\1G-ekϒuVi{. V%`Xf(H1vώ0iG $q=(*OнgM%7p$h.Cnr^4a/K$1z*n*̠ kϹ D?ͩVE0Ym .;FY@zؑtsI 3Jg&P&n"hY;A`ZA?9"twC B,ԖVH|B3x_1w#(Psؑzƪ %-;snl.ȩ/[U~Ake*@b:(*Ai5B$,F#K4="d|N 5 !TH #m?GOVu!oU#1,m"SSa(k#x%ϱ¿(QUP[_̴XP}a=o\"+[VtDT쉘 YQ']Bm|(OCc}=~jQOB-Sf 0~ϗhp:s]nEIx]Cj~߽Fʞq|L1mY[WUі Lc-Ƌ!CWbÓV""۲5VW^&ڥ1.(yS"QTTGDN{8>ʨ[pV=s(3:1 ׄP nyϫǏ⸟@s 2U6ny3zEBG{Sv(L#&'u)"ƬuQLRm˵A"ܠ#puO#Lyų63t*++HŠ",jۖ VH#h b> ,X2ꓼz 覔̧;iБ _`޶Hir%z=f)?+)ʲpD%kUc* LfBDA+^G̱$Fn?l-LpoÍMj,*ߚS GTtofJGiA*oi1 aNg@T/Bb'>Z^;R~!st!-{Ļ$)'>eZQW\St#ْ']ten,$-*!^t 辫٦;ׁs vJ9jM^@#ڱDVSsU%Brb%ÿ[_X%{9';?:.%$H: )`{QD|]/GoՐh\B^KFIofV5G%׃q\!<40EH2?p\~jP^$n74B k ϭH+zH0t.-α9T4t`X͎'TZ[j@S ڙFD[$!w -x{䱬a.YcbtjS7Rhaևl+&'řӷ@.'?L4>G8 d@wcw 6LaxJfnRdo~\*nPj%!]BCP)×N{{v,NZ9~RM!a{` tZ0dmm bhL"> Uq}!Ugl@.Jc$=*@ QG`uh61 GT@C\4g* ؓPn#cS=Ru m=n >1H'ʮU1w>N_a)DֱŇo}"EY2˕=Gs6 ?Ԇx~8/S)86Q3݇Vʽ=fF BO6"I? 9)M,T6/,>(yi.T Hp#wTJYXel Ċ ̖G`2rK+i~SG<_/AЇAEH{]$ S)fҶ%u{$aVLi^c*n,O/ۢ8zs /B}W_kQ$GJB -83|{#ĺצ8O[[pDvq?P){U 8d9!d8c&PYK%^m36YYy{N.gxB WbBv4$7z'If)i9<8̹k9傈 x$IWA`EI*\/V 1}i=d 3Cr@5q4gb4_.':-GMiNNBJ$t\'33Coq!sb~b) 0!clǝ8(yEʜ}Ǐ7ҧMȗ2 (}l31v}%dI7pugz8左M߱iUڡy~Gdg02zjl.1f<eSds!bH{tHa;tÕ%|;쑦ƓH)>1oQ-z s5ԢQ >N~v5p9D =d>ԴZӐ3b#!iC YkwXą_KU#7RyIrVyel*TH`Wc#$E|PLeۛx{EuK )AZ_'㨏B&(~O9he+ $hSb3@&TFX9vPflgE KbaG! E * J+BY҈4hX@ӑw!Z.r<@5Q_3.]%_b:zs[f"=z7:JIqAqm>ZPO?R_߲_px;"X1CGOmsW/=Mꌬ*fS8H;x5\K>yz0V eBS(Y4Ɗw*TTC%DVbkue-ȥ*/4l^2Ex0^a͘6|K+ VСm8az&ИU+J"zF/=Uuz&XWo<]ᦚ*|J,qo2&ơ)WAdcӒMx͘>WYШd5!K}*^D*S]&\BR ;4?A.R0V@++bӗzF{9ڱ?"@jͬ\v8`*"Tlcp&lH8,:4K)I==QI8#q@h6 TT摮Xb$I}&O%Vᤡ-TJ}eY{헆k H|6bRH@=BUcV#K^I1 s+FÎD69#BYitnҡ3B.J lm)31ڲw>r#?E9E@p"OixlY "1 8'uxCdG,8/%b=, Zne&e6}qy(ғiNdMZihN."ڡ $Dke*+*d1at&(J}p(aOάı܇y{x6-xl`H%ܫa.ݫ/ҔJMWJh܏{*Ψ}pU۶"jQ$IUCŒW|(.4\f*nZL4,E85Q_#´H{c'=-5ݖ,LgcB}$0Zz@59N]WrYKof-^h4 ^M؇lr}KЂX NQ-I}־`+<ŔܶU |oYom?Pin" "DJ|Q;fJ&dTp^ܻh5!(|aMKNx'-ؐʻLzD1۸Zv"_k0M N`pJnz6ťɿT-6f'%f&4 HlQѴif;AFgT%/i~Hoe=ObXn#cRo7/,N+@nwS ѺHhmew j'}lҩ)hSʼn ݛP⍽VR2,7,&bEU]aScUqm NAv#/¸Ere+xijҴ{\'šbQK+CY Z *KY뛃6O`O)ߜ[/sx -2*ozDzpC\ns{m\| z?ΈЕК*_9c/7`@W1{ɫPa;~RZ ݛ֟HMXz/#ܩ߁׸yU\@XׯTjꀶ+эwT"'<2+1V& Rl<Ġ*@ŵZOW]Sq+vK凛M1n2PJ;|A'Y.jeP-ʛvp~1"/BPqS:X[ZɾKCok,x\g9d@A ԑݗ"Q90mԒ3p׮:OM$`ylc=%-`t>9>\=S7_kteSK1f{z@4z'44GN wI2j9prؗH?<i㪄n'PDDSy MM~[ z/Wk١Ir?;e/Mv0]8J8]VT4Csx"1#(&Tޤ5ٔ/9"ʲw?3A+N[D|#Ʒ;5dc2 *A>磻me5K'_ :SNZMU eO200U[Ӫ`ЏZ2M5,%D)KǠ͆Ho\Ǎ"ŕ~TZ9wkɂcV&# o0'Ճ\OaPdy%RQ_["&_e9M^OJKFC!mܸN+, x%Cf΢'6q ]6dX]^\S|!,]$f2]ހ8aҍm2qٳl/蓁qO]Hq)۲ Ɵ7۳f{m0 st`+ö=ڲKP/BQvL/PW 7.o<\MHmqq[rl"~yD yAS.)quͼ ejM8J/8O:3Pžg7/k0(Lu8Bg2Q"E|qG R|}kڐ$ޭ:I4gTÓJ,an O? #7+h٩mڸDrU7d-^:oٓZVզd ;-3Ugs?ܞ܁HŎx[Pq~%np4,>Y_5`h@CSPƝweTXzc>$ҝB /~/[[$O` /HCpⅹeH:jDr84c^1owο2Nܷ~LSq 7"]^Qy0 >%R/P0 }SOó".KwR )<ޯsOG L| yʿE+^n/)~J|->ϼq}tU}? {sݹaJHO1sc.B7wLc{P M؛8hN`.[S1VԓpKYOFP=q G}|Fl2޴֠">%ZNwѦha6ntQΊDInn ) VU\fz"`@`vY~k3 6jOP}z@%@ysAEz]`Ía#ĶHM4y%`fݵ5S&$O,%`߽r;Y#2D HT.Uqk@f5b%d~ xY3cS :̥ߑoLR$kU{@;0=~ϒ"(2*# -ɸnݐܸliن2~h37lƌ$ud v5.[ J!.37c_^8r00:E 䫧1S6t93 / [4+RH #2;L!lmBtOJ6nih*`()ejia>| */zp* N׵vUhqa!=e͹2`ܙ,pwҠ8RfEJՈo5rv2I`s\4%Ɏ LL b#Yo`ˌ)?ʆsbbv3T5BL T:RYPvs~72=e_y7kD.#lwNA"4X )̖]GbЌlbax*ݪ{Zṯ2U{IX:S[WJ)ubN1F >-6^k@F"YQafW=x[|ꓞL2 ޘx߂\ Blͩy )ʖ9x)/_~@y,~tg)L|ehuP{? O޸&of?N>|={F_HOD0u_gtsFWy!Î>$経dJs-Qseq &4njD;@U!/.?:0"BTPc ;C}i$*C=!Ӧ#Ti)SA+ Z?xTk?i v0}i=_'8~]RwM pbШ-rn1i>H{4i(ɞV_ M:nL!Xa:Lrv'{ME 0ia XKu 鮇pTaC#'1a @OP^%p~!A6 Gc|@5WF߉$!VhDY{g[].'VUt %jSmJo}I((Mb/قA` cr+>Ef)|sDx8j@ʬʜ\}Zanp&QH4]҅zs}dvN Xs'ϴ21%;Nkr&\1X@YcS̖OA`P ~Ta{5z.+KAgˡ) (MrM%6&3ÆN{>5cUѢc0B*2OnH6Q-+Jjpn 9Gzݽ *Ygd"U)SyLؙt|+H/PFd\ht9H/1[ǒB ɗfuF LD"{WN,m8S'_jRPM;^ƖxvSj~p0#4.eFs2M`@2~I(S mF!l'_V#Ha0ä6x 7=zJe*`MHUbo-UV` ;~Ԍk&^|/E龛v]~e% [6`DԷWHepP!TǓ6y(MA 39!CDh(D$Gl+x/<^>ڜx ej%%X@bQ/ nA Ȝ>y!r=EyhBD}T~ F)"šn, yWz䀯L܎lB OxHpJQv.RjY KٜGQ`cp^ApL@aAT+d~q3.O(,o˩_6T~7$(985%Vg;$džurMpmRm,"GHmS`)%R#0b W8 [-uz9%mqF,HfӒ5NIc]xs<6:kly ~O@6umO=`yJLqNFdeGGV4R1MF?kO ZC|OGiegm(a}g7Af5@FN.?zFr,d~Ēӣ6BVe/6:$0PD{lRzMW;μ2٭.Vw ̰d1,J H?作 ⷖQSgT0Ya,0Po]fgT85,[#ڿC쮜 R^JEaEZve;;ʼcXr~b W8g [R\bA~9|tl~ق@#' E .*,jQ) ߇×LN!)rSVk,4+{,^'Kiغ{ 7d~V"Lj~x)V G8';>m̲ Ty{⹒XQAdtC]s,e#;REH, n]΋'\a;zQmDb6[+apooa.PUrcMm#YUf\r^~"U?DBT9u@Pqaibxg4@V0+ZL3 qDx|86~Њd ̘ c ՛m4QD> v*Um%c_~N-M'z(DRJV 3:sN&PA_ ^難wܩM\Pw(A᧜-[n֔܇dRfsxt[;+i/o+#Mf%UZ|ƭ&_-V̛~.9ߋH@Y; Cݻeg#xEHJ5IiBp hk%Ed49լwRaZ`e]HHuycXzCZ-&EnU] ^Fsoo!2~~CǚIͅ WFJ`R'uxϐә=]2*'VTsul|)弄3L -.oͬ(e܅kAg™9HY*]I!V V]#+b81%@7s.?zG-ha8 ߀I )j:hȌIOaJF-,!RYorRςS ru/._} 2>>on$3QOQqC*y;&.¢uHN83ar3"p/IhNU@X:}SyxW# cCYhU52aXbbtI ~Q!+~vBf/RRF^?_z&Y30fw8F=8LY?2n[ ߖR"*U֩ $jso/eiϝE(MJSd={3)H+{wAgq7]C?UXWhR_LZ((w58Z_ !cgq`BHE)&VP &m]'28 +Od /\粹 GkWKN' T`l..KO ŧo =-]%MQ9o(#Z*_> Q# )LiGȏg /vhij@W"vA\?a9z<g;'*&ג mD$ & ~ m或ȄP(Ǯ^'[O`y\Vo0(ps:IEQcO܋uzFP c{Lx<; T0èO8I&yoiNd\gl뫖YXXV9D(>&0Of%4Q:&e+'T ߽˲˃>Q&)TIIXŶ~u=87ۅ(N{Ke\v!#xc5rhx9FԚ=\.Q{IFmM`rE+4 $yZ^dOd⏡G0ٱ(XslC$С,f,$}ԇ>H@ Kܮ9>y\ 6 P 6@[߅K#!H@~6/){Ј_.~Hmk5ΣI[ZQy:Z$2^-HV|2$LfSilS P<eB؋sʴ$d@>c']p]x?8Z)J&2_ߡ9 S2gWiZא#ٝkZzoGʜBuo}ru>᭕WyJY^b6JR\*lW1i?gݍD,uwWl5t[}W$pGc Nfpfo DXڼ`& F@;zj^UD+; dmhԒ C C +66$ {TX}z V:=ool}A=X껱Sf- D*LɸRެF_9K }9'\B *_9Їyqzvh(L p7+rLs}YK"o%%p&( #-[3y}E*3]H#خ$bv['eFZeR0|!PxҪ z4v"C? bpn~NkJd3zlH3A[>V V {t3ЮQL?T tVhq_&bbmGw,iDqA^J9 ~{1< @٫~[wJ0w^Q4 ;K^}ek!)JC|5iǭV?L꽯 v`gg/cC[_΅LZ"D#!^Lɋ . [Z5_^)Ssp [gKۦIn_Fl: w$ y R[p?rG~Oln/](}bB1,vp O85kr?wn!gP'c|<45edWrIXħxtױ{&)RaF/@cSG+/5+W^psgH .S?쁜 ].z^_43d4,%x4-~oQ|c>8i%'\q0~1i"^gLB XǮ2,`Let",Oztquq D>lPylc~)ʪ^0יñm+:f&]J Fkܳ]C!U+Pb``SjKЛ'z:[JF<Ɵ2U)ct j:?m7~ng2^u_ϊ\o )wn#_NUVޝӧ5^cx8BWOXܖ7Ext.,7~>[ _VF,ݦ8@J^%j֒lc^A*qǺ,c/DBZ`c|[cĬ-©PSXĵlPdɏt{2m54$QrA4o$ !mWaU2]1L랐< mޅHTE,=s6=N!4:H $&<:~II,=W0Ԡyݷ5" r-5r}G%k[}0 lmUУ+!3p#L^9 -n%J%4Mt=o/ 87?$jx)0p0oP./ ſ[9eKq2^fS7K6 /xo"1UL&޿Pq<_Y"2D0/P_ - IfM*'sc0.<__/&M)C8Bf<ˁܡ :WR9-m"hQA?%{`_X΋W˰}֖YlCh| hv(-R$)6L4PC}ܠ#jB,jIbbHݐ cV8 +ᚃ|(kfpLKnDY=-Y$hD!I½I9|$CEpSAǧ76y2SUt&E';El{Uis֋vo%k{r? !)v2Iaf*{^$|ow C얯G{/89]sLN;C$@FY()tjC9#c ?dEW( 8?zlJ&bES\Ԍ~uv])}dDbhL:9zHKT kgn̊3X8an,)))u MF~I2$0$d: }S8{lcK*OX?hOW6Xn  \J$E:vkDHl)Y \ |0ӆxkT9)t'A`Heu (w!I!bX͖c\pexNU K߰Y:8RvOVsr+n9 XSmzDޝE}X친n@hE.'濿D 6sČ^d;q:{wOq# %{N^νݫ3Ewj)Wq!W~` FKd~̚Gk']噺cTK68HsU({D7譻.%sjOhG OlVA`4gCHs~ |yϘE \9;9\X'cpѱ!؜@iR)YOwnMr+WӍ~p!_Ej_ሂ'Ь/Q`rGk,hcoC2=hɝ*&ڈ Tai0;F\P A"or6Ue{$|b`$txR $b/wz& A^բ^?P1zGRNnc(ӡ:`^UgjU9#km!&Ӑ8ffBaIȳ?W >sf  {ҹ}Xq!S=;&~ְޏ:=}pW̻\jLb ̢'ŪCؕhf㐔7$`[B5FVV/& (enOm00N#@[;qtS3-<):W=&U°9̱1s+#1nMFM<2u$b7>MRk) E d y=a Ξ! Kcg͈ 5_kXbxY0f )zc3\|)l8shS븭-nuŏhmrH ϕIS3#W>ѯ6)Ӝ-%89~ zZ"@Y?ccO@gߚ#CwO04F!(m^Os?yw3:Ȋ;E9sϡ=\ONS!4,ϳ.CR(A]O=hDq.$|  +,HWj:}x<]ѕm1D;z] .p[ND@؏pjA8u[O:AEH$TW^wo:ſWJT]~^Ҳ=MꠡGl;\5C0m p`.E>|tGG˕_lR*pF!5m^5,zG31RUx] ;dK Fj[iRk֤ A|$jPX%':AϜtNQsOqvaR䲵RUk\U Cql<|=z|w=pTrk cTmKq0L`#cet,hwk2ᕄ8f+U#&Zpڻ(+ cOM!"79>IN1[VV-A`|-F {;;4Padޥ"#0$Ϳˀk}." +! QI 9Ps* O3$LP&Iӗԭ}hha@\^c #+M䢥1u<9V77DŽOn:IR6Pq#BΤ7C`fkPcZU@H1)t:o! 66LʘYؠlc s0uP)!]g 9skl/1N: F"4A0Rަ< fuFQ<4"mz8mUyj\~fK.BOMƋA1ODphmLy˟}V)Fn!kۍ VGq=yΧxyȏJHV(h45SxZBF@Β"Q>J&Js؁%73@av67 m&,`oqpMίl܇n~?mQ!v.wPрMk }ebt ',XBfQdXJk JR#HRNC}qa;yQ4h*&#N:4ₑ82k^Wr$ٚ:;o)2XC"R3m긞B̺'+_2!C˼cU}"}IgWZX?}e.QSazQ[-ʻ5sP9Ku6I ! 츚ʠh'dxSV ;7|Dt/jS}HV'[kWemqsW{NXǔHpsg;%Pxl*5wm5Nm EN@ŮaR@Qo{iPڤ;]j\`!:iB]@-I# EɦQ.chv8j:n{@ք 5U^K5SJ$U%; x6wdǡz`e01˾:%Yjùf?ͽalGw`ئx0nΓ@2usIK(@,# F~M>џުyp)hp8>G\OڈA%Op古ě޶VPV3,69[T).R^ 5[ ޓߝ|nv<ҵt__osa+  pc5Jd/ytB!Mn,y/Do.B;6bM[zszl`e63c&g6q/:`Vp E4*aFM?g2b:1B:q>uQb*|c|.W IfsgV\*(SXiHq`e2z:Tq_ ?wyjol3{Ϛ1;D:pp7<;*./'\[C#Ҡ@SWʶ-kC6PY[()#u2^/2: B5i$K`6Y{kxWXm~Q4cz0I S3` +`&U]gjVҢVmlG]鸟;|ڦc$x =^\/dYugSEuбjnf#%I"|A Wn?f{NV͝ o?rafs,#(钍e)uMn{41 7$E1Ox_<LzRϔ.vzJo>ڐ}g^TIjȾ7螝&C:;52ikE(eu Lv 2xdޠ:"eq HElenmbƧz,薏VcJ ^5Ip-~I:Jٓܫ/xϧ'Z.vAa ͟NΥA*Ga?%W&k>sY2fLBB^)q:jM7ͯ$m_*j չ >Ohrt Z* -LLδ6?fIoczڭ qտHFkj*6`mE.`nK4q}5V ^¾RaV.%r*O 5U- &!w yXALM,yE_ؼ<ْ5GU?s @5YZiSABrt[2i0 Bߌ־! ?zZ!IZ1yAu%+$CKgњ&39~*fk ӑsrtWJU +Zu1E[IZsE,.!E]b@\1-]4+4Brz5ɑƟ l,[4j?@/lO99PNn2 WB7KN jfŌ$Oxm$ny%?P5u4}SמNSFԟ7繏W:O7Pe_=4uZl5#;1X pxY־MH(-N]C12-z9U7F㨜xԉӛ7m?pH{n3\iDĞ*O#:miDɃRtj 2$G^w!7F}5 mXֺ+Ey eJmpXzFP'6mW Hhii1GSy`*RL$@He aNJIn #7O)`_av ^=Zi| 3$ GCP P1\Buc|TP:WV)ٲ>f2Lp&'jaG,ߌQΐj0pY#7k愁qQjh[.oW 0kX"TgEGaΥ+Y^ox(bhKP+sgM͆F%ܬ6,Գ]4˃:' E3 б3@+|-bf@DzVγ:MX-#-?ՑAB98 1u=e-$a)}IxLMl 7池p\Dž?7 ̑ʳL qsMߜI:yye}Z[^N+zBQc٦qE%aXuW'M˦ƈdb%7XhHiG(f#C#HK)F-:-NQ̱X_́Ed$I$v g; & D]f+pZπ WDXx_dVex9W HYw,=9X x eUR[7hJd#xh(y 8)殬N&? }p@YMR3#$~C(۫8u@vы'ɖ9l`ȏlRB(%vLe䀹`UP&W{T}gZ<1q2𷘠ж^t{Ej6p7&c$:(M{g~jQ!OhhED6Y.~7/ih,\K)b8=J9`KeeS?Y(ۆpB "z}ɾU+6% ݫNގ==d3Gf3K ȃl5}Q'Qý4Ok]kq.4>RNVʩnн#8y[ $9Vn)JWe.>NBƕ)N -gJh[q6zA[;h.pnlj? M< ߫9GmJ*X[):6)wm%UflBÏ="ȓէF?@L B^@mp"4ɛs-yR!8 xV7!R{a PQ)$ؔ)! 53y0E\ hW@U݌yBdf"j_ u+աhijNR:ⅺ>Z5zo'x%lǗm-]L{aOb$ ܿ]kfvYA3T„Ms6(VK|)HFBO>3}bcJN*Y"U_2P*x4yDL8xBlޥyT[ՎZbVPm8+J+"(:%"y nʉ%v$YW"{Fv Y3*%I!t*N^_\ 1:N8Y=IL5k͍Ym~16Q$.uJ \{"N+7j'H;R'K>1qI7T*T,ϲDSCR[bHU^j]]i!DŽ@Y1|OQthSY\{vy-'6| ,t}Q]-ow xP/Tu=ea8~m5Dp 4&x3WޤNMBB!l}T(z)pEQT:v2]|?\#$𕈅Զx؊{0bj^!q-!݁74ҿҧxc?Lp93ak2_!&hMhG ~~s|N^s#~E K/{ @\O¹Vme'?=:p8Qr2l%wgHW0T7Z8pvMQȋdWL^u/u3zݴiL(BPڝl~ vWB#q#@dAoGfïi1Mi WI T6 ep'EğTs-lJYo.l]j!R-,T+\ 7|q=G_Б*!e+00IH!ri471/yQR/lTܩs=#5ɷ;M_N#26 ;R@Y!oLAFh5q.㊪cbzkjX*z:u&ۅSg!),mCoh@)~̅>yp/c&o]c949.^pηW]uӑ,پș! }y1b eӡӎjcT(L‘AzPZ4J3Ѯ/G`v۠>ZI 0FX~mpq$0^A_n#&a8QFyw&'RQ(Qj%\;~ڡ`¢Gc@cVC.ubýxiZ5Hbo qfxq]EIY@k0;}P:KJ(=HLwaq47?sύx)l!Y\jwrS!5+ ɊRxL.|fXqOӑZvJ}!<~z`M5${T ͸dP-Nˊ}<+S[S d$U{t: \kJȫ:=sNAV;' El^s0}4е=U&6TPqS`F ^kO>΍"YҴLkV/PM !;E"\۱0gެTXIȑc껦%ZCjk4a"竲׈*y`0W?vplCRf,@("|k] hL8n^ opuxq#%0f"~\^#YNC4Hxh,WE ~Q"N?ښ-LÕb,ok;g[f4u^s%xk-G?ɞ G Ѻާ%n' ]㡝+[NkHl@d]u4fa0|7򝣆Q8WʵcvxS0 ʥeɗ+t;EqOK88`p 9dN\ݕ'XUaRQ^J8u^"ޖ"G* ;/d1kSaCp87F`Q@~#ث#5RCN; Ч`%E8xzHD vB#؄78SPxHA(HW&H wXi ~Sc$hJG71'yٙk$34=B \砵k͈̝z߬bŅ;;_)kż̄V-/KD]桅h۳Gb N^ 5GExpDF {.f'H+kRd{L"Lya:)8+Ƶ]yd$kg`v 議7ڹ "xmttT4d(qYm(YR=JIEoQ F-߫/|(W5LdtlE:FS](pfUKo5e!diA*Cݴ]vݢ Xy!;%pb;LJtqNY?ɯgd8v/aMI\B%/nU{m :)r]KQ]u i$LbV"nƀw?u9h ZXz+)s.,lFG9F ?;? _ M!{nD@< G3*N Z 6 ,2r'2,b|tVa>F9焮Fqn?/kϦ%okV^P@R ZTd;}Qh>}PZ"Kr ubbŏ[ud)LVQR4~grm嬀-C5̦ݖfAޏ eH f }RA\hRn}*BD"mx}2 )o~bf%$M/ӟnt jnX3Ijyuk "kƒ6#-ـai)J=廑Pv|jGYWƶHQ$!w\tBrJHpT{xE՚L p@ a#EFZiQS#BkןmOΰѰ#BsMoz>770ʢ8I 6\(j KjfL[6Njn"گnK64T z:68/7\zy>9|sZZF)i؉F`HT#(g7U"j>޵\%+Sy(hxt1J)W 09}'f:@m+C @[V9׭&6!'Ctee~81ȠHDl=l#mO<@4@ނYt!-A1;/pVXnRGUk"n`I_!̺g=:5ܨ91Vz[uP7YVDb0rP`o)Qt;/;ׁ˰ހ0 b㖟1`[ o`-8 6e%,mt_b?G{\V{8)W [W7K:*]F[0L5;PdހVҴ3!5YL6I lI+N-N3`+0$_\?(:9i~#å(ALeppN:cAJYUX]a=eCL8_NLМ" \oo 1d*]]!SIq\AR4z$QSsqZ3ZgPJWcg*G*YyJc!m'm]d!յ=.RDhM,TpgF< _z)(PaZwn/\l#\UmhwʰךD̝zx9|7l]ͪkl?b?J=ȐOfҦ=<|ߧ{髸i1,!ƠC{V{[\i2Tm 됔 EX(iJ&=,oF[HcvM,IlB|9ްi$'A_8Upqx93oMt/nZW242ndw612*d] S\3h6CZv_abJݲgIDU;…/e曄Fz-6@VP^O]κj;!6Ʀ}?77>6c0 ?cc#|x"*Frp`E1T~DWi8{^ϵI-$ұSfOJkFZaΘciey%[Qn&I*\H+_]g"ki,49;2[?xu)SH,F7 |ץ{hh9qTL|9>*Tw$3弬ܬ/ 1ǙӬ3['pV*u8^&tǙʺ bfyQzxѮl~\^,`qp*V` ۆƑjQj RˍwAL{ Z ԰Lqrb9BK.SrIRvpp)V/,pdDH{4#cy})hۨlx^3E!{PAW]3!&oHڰ`} }dKQcַ|1$pj=e8u҈#?>bŤang*ki¸];va7,i!g]N- K+OQ5GCJCAd:Da3N4u_*y$8&=6du(+9x> =KD @Rꚡw{D՚;Sȶj#e8|a5+tdq7!Y#RǾV|{S‰wR|JβĜmE7T1%r$>(f%x2t5,O˗D!O$bk>t'mt`7Q訶:߯(VRy,!աT&=a'%=m/s b0H2ZyKp!k-KپM<- jy jk{zO "տkATm8q^U+?Πaʁ`< qVڛM>d}.Xq/a0/>BH@픥͚s+jW F%L,e@:һ8~*? 9[w.щ1g;"/քl:6` ZMl_p_sˣf[[xHsolH1>Hch5Wשoo5@|{C5T1UF'X+2b.iʢ4Wvq8bu=%|A>vrÚqA ]|6Nk/R*֎j\":(]$,J@OUfS W+sJHpp:P-jо֎PR07_E5ۨj WuWH%Cח8HEJNc6SS1IزsܾqmhbElGZ)\0.FLښ#<6S?ao -?+ _{<8Xf>oƉQR O2%A}n(w9:uy6lo |`@+xNVv*jL:ϒvp̰yM )4!RKqH EU mA* { #]&Jw]~Ièb2)Gd. *K4%pW\(m[3iבsͭFO 퍷~HJ\ s LB =Y = =wsG=ij} cДz܋z- 'C#UmߣrHߑo)ה,F*;qƏSP$P}%(`Wֺ 7A|p>[ 3bdE"fkSbUKθByC[>c~wj1 $Y#l_47?̟Zn(;;[L\o) /FLElKOq%"1V0"I{M U?@lI'ʥQR06l(yvGhk< 2ՅwP_:n.)/ڥr J[ NY48K\*)l\E0m-8Ph]fut Rc4fxr4+]"p$kqXQ& Iw0t~>p3|q)Omǝ3UݦҼ{Ǵac%ߺ/jlwO HXۿʋ-sw=D|1"w<'}Vk@悂= m`Dzy,`-W h<5cHμO*[>}Qbd$XI$9ڪL$Vʐ_;|FSEGS5Cvgj`lt5䠶2v:o3%ʧ`0ta(ΰnM^ixN4h.0g)y `rE`Xspܶ ΤQk 3/U$ "exe+&dbi: N2h1O+QCUTi5"+h }F5.YMfȔ:cmg}hي{[RW\5HR@s2-:2l!vf*8t]ا"-f֌QGڸӚ!%tol4Ss3lF~7XM҂+_∨&yfgﯫǎAyGSCX/BPNa8tpnk;Wqή- h@Zv#sӮ?.D0tːE5܏zuۂz/̨><݆EAZN;Q?񪓘gku#B+Kқ`~ DWp,f2CVa.v [0Xh@X 8N lvs7e]ڡG[lqUJo -yĀWu#Yٞ8N~=9A]rQ,nSrjO fmuƋ? & $Db/P3&PÑc { 7G'<0muS:Eibz_>/ IjeݜC'h^+72}"g32%7D,90⽩dو|GCJuϵ!)~Ѣ'4aMb7f0_[]5 MtfuYz!I H<ϩ7HgPw5UQ > CUrx:徻7q)(+8vLc=;XK*rm"Ptr@o\\>-j:x@^zLR5 FTqNVhvƹ%igf۱rpFp)([ؾ6ŀ@$C :S T^/BȹEY svg7K TwS/;UhVJx44r{'d @ki: Dyi˫M ^>@"#9|D|dfy6)p~oR.l#Pr~*GT*ʖCWEv/|k7!X|W)WVoY6O4u6IviX4Ă ]sPd:cNsc uFZ;?|Dkctb6V#evXN/VQvj[ m 8%4TnE(JI) 8 Tf( 3r%\Kc¸}@Zם7V2GwǴgΜY~ O2e%,C2Bj:%9 TE"Iimv}BZ <'rۯo,+p;Tn@lo_^-^/b&дHDoEBB䗔Dŵ Z>^>eF1})'gm?sZ#-cQC5ߍ a᧼4 :Δ* E'6PzK6 o.BNtXjބm& sXMD$x3$rtz5F%\͂,'M8WC?jpoeRn{[e>%2ۛtF_!c7+T RD%JJMa\(pA@u7[%0 P_`;>؝iC(E2e3ڗe&ziJ?g3MU3ÞUQaA O?zYAuy4_!! $yxR]O/xT';'E?4ָ- c ~B< ܷǝ|ED=\eU_\0!{H_5ha]U b9'{=+bEMNa̋fXؔR[Ѣ<"c9!Wvkthhx[f 7Җy(2"-u1P.Ycnj!Lpkn){cKI-ljR>lͱmVoF$Y9RH5LM>j;l4ʽj'pWr%hm.<-!1@PjnD?$ aw4W,"ORgܷOl>|څ]l6+"pH0grC"GT7W3<`k A~MxzU!z3jjdlY#=?pIMMgqm ]|BHK^œE?* CCGC%))>,ڍĔ (`B" w|%]dy\ Am| @khGeɠ ОÅ`l'ZÕqoDˀZ f^)0dnI`~ܘkq%U;hSj*HZiܽj 9ʳl#|4/[79kK*4!9UEl8G0AT'Wx: mee3}esm<>Yr!RSc7՚;(zNGŅ~}sg]:&ak>0uAqή^wBy[;.urMe !i'Xjr aͬi>_Δ[le2tS,\5mS,U9f'tj?92e'tcѻ 넔K[‘:*nh'(oŭϙY_oL!01adh+M z9v i{1"W(]$ gjXM* ~K912DH2 _,Zv'z?\Wz?0u˷?6s+K?#YalVh}Y&k^ |O5N-&yr]I@HCVM63I&-{<#vHna9s}ڜrT;?NɞUX@Js7qʹDک[Ij"@a)ocÜgnj} *2M)# INXZ$&,Sd̒;`fĜ2^puzٝ<I 9(T+!sWZ4.@-wwKmU}1Eq+]Ƞt0R2( \|`SHv #@bh"}BjCtp \\KYM^=ۿ{ȹ X4%,=CD`9Bv b-.60Su*mp&:=Ӥ/9Wd(pz}χgBw~cփNi}@ [Ek+*0HգIܠp9t/1Y ;1#[bs{Jw_y9sI21T%kcH|;~sO͉@5.R dȅ p_9џ87Qn}d8}gka2k)|ɥM|"q22O۱q,llXgbL2Ov/37Yp!(Mn~ ,'3S l8,x灷 S6QU{Ѿ%@>pt<P}Ǽ$dL YDz5:Pƴ0TRB) :^'*덄XI: uWf>~PB#e.3!?YuTl&%#hA7|:mE"PMuLLBtY!)ik· i#L EC©FQ|m(Sjq7^M@ùXĩ#'*&Xv^- wFHۍ%᤮6^j>bEsǨlAON(u;Y2̫a.=mxY2Fi&S t9+gTNޫ3h/x^.D N/$(aj:ekX-%e6Avzd~>m$0O4?K0Tmę? ñ5iB;[ 5DUWKJAK Jp\fD 48"`އ/bAi'K' !ҟKe4uqӇMϤ.p,A1f5kjHi`1T@|%&FӻD[~7'{5tL·kwBѤuI 3p 2#퀑#+bYpx M#P:țj][K R;&J[f1^X#aD؉Z%3*&&Se{㮪bu:+7'[E.Q?1u=T+EoꬱB@"f=u_ީTyD}sF@YE\jBS3#AF"\P sgϐm@wc8sӱ<C]eOGUCHj02YEbߖF4BZv !iLd3KHR@xoK+M$ZJa6v̳v37qG£OgF\<;p]PdH4`%*Os\l.|OU- j쫭7GDGH)`KExYu9Bâ41j r^׀t~6g w~ŖT%n F{\4Rh:2, J_0WPrmYpU_VSDOڬYyfj9P=6 bb=dʛ^>h|IsZӮ?Q;}r9]wbپEFvD`绫މ6Ͽr ڙ6b9<%@ Z\KTP4- 6ۥ֤˂(ǟaWWUVi~*p8M|t}4R[2^t̢m% `}60_;'[B ',I%m"uh{՞ĨVkgRbC*_{#J1 <,TWbBI(V<0S梈;" DݺL#HkCRGZvRjc:LD:0Xt_ ԡYCsշ_\`= 6@!gBPGo Q< jv܄S,3L1{3NdW'^ͤnɚ;9#>;ߺ{%nxėwlfL"RrtihUNkAaZ?: FDKn8VU&OF^e,}٭>IZ#O%t!\*/j GW4wM*B o%i=w:ZN,rg7Ƙb !3²#Yn٨LxFTHW'# F*}x4(3*9WN ^wm{kI WGV|h2nj>.MѳȱG_r6̨|lƣO /*M ޝƴDJ fOr 4gE yY`C{[K[Lmm.^@Nc4~2B>owJ(EV,yeӘb9?-FDۭQyHE"_>N$0v ^-W1͂2-7 @jߍF϶K{k!xO*i%^cm^ B$ZtPk%eu(DxLvD,W /QXV#+I]Q kkIJsP|3p S'|@fюQ!s&SiHryNQVш!Ҡ`Wa2< ͪ[y@+o-ATAF2%V`g҉I?%h_ͬMaf|NW?$V .fCKc-i;/l OEϩ{OHtU^SƑѭBL3 l@H!r!촅EhdV?pkYZ`U4cRYϳ uSdI?VHpL$ =SH'&ÔXnjC3x^ru,N޹ëj˺<(?u.+**yX>7whT9l1^s!# 9/.a{ޥ"* ȁdK8gd}V|' x-JGtOX&LT 5Fm4,懖ur Vb6H_SFBCH-7[d7a:ΏAD9﹑$@3Eq:F`o݁mwZcwP%d^:' @agUV$[T "#@qA{f80U#t$G.u5Bl/)C~\}81D/b>]Ы/Cw^๺t2O3 `loꎃb>ܢNt"RS7H,WfU Նg_} XUx4Oef))᣷14Nt^qе17d* .مT0&Y9,%¢ [sرxBx ")2WDƥ PĴ~M!r}{7G'n\5**W%2?+먢d,}sₙs&ah.m֬kuETWMDOo(y5%IAgP,U ٌre'q@Bz};^cEyex!_@/rxBH-{vw<4 zN3P$kz8Bh1dzII_}GGiody2[=Yt m!C^8:/d۷FO[UnU`TuؠŒ.ʘIJ2 iJ^a-Y|uYl{4U}RZB Rhm׊?޵aĖ6;Z0Ej7S6 G&v̱ 6$r 3>)P*N*/ wL =sθ0Z)P;)/ _`nc6GZ$%dب CRt5ΜCyqΏ^˃f4*Ce{zh*=HCmS56CrL BIp@%.p=Xm|$u͝d h |9cjc*%^p 6"Ǖ=W0ڧ$kihc4Kݶs5'q%zRB3AG_j,JUhE|l"KA줽>@ƫ#9Z[ Vm%Acr0Vr~.>" 6N\.,ZLpU]14aMT1chhdP^B! l˓#JaȶOTJxLD^Ŋ|ֱsR1畈-mG8*52)„[Ybjv{ :LKWz!q5M;I,'.0&mֆ0 bI`S]Mn0(r;qO F*s}J|3[=Czd2C.2-#n̕IbCT{wd ~Ep1LfR`T\MWRJ\ha;DuHeLO"5@>-<){Pٔ5ّ)}_pq^ @-~3[Y]&7<Dhĉy' 376NècŽ>DA7r6H8@cZpFq(7 O:|扱ÖANLhR]jR_wSB;֡l4Ϫ5'Igtp3<,e&]M`GBnEUVgg]j-zBj.wszX5 lDҲOUa'"i'n湿pi["ȂC2T0t+>\ q"S)yE0q-}޴tǜT{D0cקDFHMåzY(w`h`T,m2mm$o6hXfL0V R0 U5EB#@>nS *R8 g0odiUa]W u*fJDĚIlH x$1ҵ4{>/VRm%}u5C7}uko|Uh-(A(.bW޾).gl.IEHQEUsel䃡Ҩ_$3D}@|WGX`268lw0ӛxpc4>}E~t@(Q2IA"jaSI/fpl<PŒ}'% ^~S' @T[NKev,G+XeJП0,,H4l[4xYONLۙ1 H"A-A!r#m$n ')E#QxA6eJ01v@ Ҡr^Ql+Wv ÂR ķ*v !7Q{ P ~ N"' ;| X!z ƹ& w*)exM7 (]/0vGQ,O,2-xK*yd8j.|KK >v2J9T6\N=նh%ú K2ʢrޚ>J*ҍ3I;"v _k,oDN𞘝ke>/P ;"˕ Z_1}3%eDa0oГ`p2@>5f!}ļvQzRט%Cdt4nZbw TRdSY#Nm>=E3!9gC&^VUD,6!bwBwnc)ИIWY,8|p_8 [ָJI/E$s)Wպk$OԷ=Q".OQU+:?&Rڶkj(q{A$NJ'jtShEqn6 {V]ꑶzz$qcLXDS*I & |>l~ tdĿdJ*T}1@Zf!!D{n`} r`-!({=[\+W] tYuOϘσYh!M5mn2k[&k>77iݛN(tr;;L0tyB Cw? llPB&%#(8Q9peygXSx".B095ҵ` IKo˲U v&W=R.dnQ5)H']N6\kbBO"kcrS"%%46X;e瓿9b2dbJšIك^u@IӃS͵Z)p[rG= ^!K %>Q krx}S8f>G~(DpuMv(rKWoJ ~gtt)n4ijG$r8-b{x3?|\)b9 :@FC"J| w^UU Mb=:o/tX0i>Kf( ;EhVP(6r12!i wJTgի; &ء0m3vHe6KVFQ:J'l09x{(C>u N5HoEfu: Hgb-B!}O(=DK3] A6IM 5v^lvM\+OmAud>خt2XsC|S! 'آ޵4n$טoCɆ~i(ȗމD>i[slbk&x-u'!8?Z-aRjS}縎X"rM*,"hz8`Bs3Q)*hfl?;mKU3 ;p_#?Ҷi |3EB}QYl{ hmr3؃wB+Uu'SCc8YXtMf570R% '_bo^ۥ"T+8:OClZɎoiQ΅ 'jl=~X= LL)([ałFNC%U^q_M.이;i'O)0֐&'L # B x6A-P{wmЦ9Ylq~mIM<դDԜ0\6⡆npUħ&nYEG8f: Wl^v3Rb"ZySն6n8O9R? rk՟ڭy"zL~'V/5 -3NuOFؘxE6wG~y0M]k~~,W^|&xrj̪n_LFO=p@]چxPh$#4%L4#5`lb;& BIK%N((eIoA˟?z^3ҍ=Ջk$UhF#W3=fHHV<+#B{/Pl(\Y%ހw{ڋD%9nv׍*Ok;FX v@< `fYiRFPbC>wFy<LDXPNRzLGK!*!xzT3P)KM'8=~i"x(&⽇PV \7vS+;3 uIftq_ISqC"Yb HXJ%,g} ~U¢c]_Si]J 22=k,@5yjE8tCletn*J@-Aac :>Kp.BJrbqw quq'wTs[N,Y1 ZCȮ"G>?6˸7@`4瀀$ݢxqGy FpQvqPF%lNG C8_Y<X8;6>a+wN>ŵC OXP M).)a͏H-zGìb9T2o["3;6Pމm^d KAsN8SNmG=>A]cMOY~`R6YMu5{KFHۋ!w1˯j4E{'d4YxS' {ڄGcᜍ`iBd*Lv&"Njh [6ɦGZ+~A ښ?aAeҤT,f#hұ0x D`)į-Xb>L.B7}^Sl0_ wS8f&xϺ[!$-Q*;fI;,ѽةt؝֋8! 4d*[ #K79W .{p<"Mgzܴ;F6o?&.PZјrAY=6|Wsqϑ=)ףej0XV4,DΧ;{C96D)TQS|9ۡYn<͉+YpRGZcd\#\xCy -Ze6xf\Eu9|V/nsmeJ^N]Clh_~ylɠX9Z($=@GkTe& 5.Ǡe]'bK'7"j3 RH.l?w[ l)Q]8CK;@2& A / &'9/[[ua⛗@EtyBA *9?>{ͷǛjAJT:$¥3Mpko@gaa(CѪy䠠8KR%+_5}~屳s Yt< _\ /lYU3*AHVS< FT'uR2Y]nSj:CIz n*m q\>vaoĎI67Η /,ܔ&ߵ`pcVqA&Α'"[~Aq`1ī$n,Z4*8NT(Qj`]jDбmi?J&5fCh} d.ZuE/&FKTF]*&2t3IH%*e;mtzDT=qKM:.XBf5 t0 Ō97 $,JaƸc3d.] ]c1AaVvͧmȭ0app?c\.38U}k\U=:ܰ&E! eVHhD`dScr* RJ́Qld³|.&%D1c&z4_C`پӲ!6Op >c{ [Md7//sA\L9cS1ǫ]Jes~>Ă7SۻP);*h@VvL'x<,6"N5:kec ֋`1ef_2DW%h=zLךC+%,[][=vvh0X7q(ƈ〼~[T%WC'Ue]!DK ~϶7h_ E. Z ds{ #?HqQ Waui%x+^$?V7#ưRHݒ ({<M|*BN!`_A?#eY3(X1~ u"2oqҼz+k1߀/@!͹pmx=$< ڿ`k6(A@[I}^8Kkzױ:.tv`SjD HR :iMzl;qeٻcx{"1Ge4k r,bä}9ZhxkOQ<T'CccTzɩ];{tdf%ؽ2>mE)XG28yl5 cNVNۋejk-zó8vPTS oȪ\5}ўJւI|j٥N쥪KU|#1|KCmy$,T51.`5g-S#ɩԙ*)}t@/s~2fCp,277hM-h.x0C[: Jz_V8~ ɞ 70A e*6 PS)#s0^k/o4tp \faD6 lUBuUP;ߜ]QQJUfICuC9W.9GEY3\2at(!﵇L~WT~>a?PI,QQ1HF%a<ب؟Z'2FOaz(n_}4/*mNL|S7E"zi UOs0t*3IZ/YJre|+t$;msW-Mv(c1 |ҫa1i1%0*M8믉]KWﯼ\DcD%'SL65-Ǻk汚Ka ٮ-21@]{_kl I8@i,h8u[VoTe(]&7g^j ЇʬR'V4mËJeL]or D&CeʉQ E֧Ia b]BnEdVk G,0#yc@7⬉8oܮD)F&`i}r~h4l3ti(W#<F+p5^E%1#J8)h.<75\̡ U1{ׇ-$/xᖬ+Ff_6YUf8=],?/]=*aDHҌDg8)H&d?0bb&q4Sz_ bN^7O!+p FU gyaaL!J90KJB;Qڤ#^cen ,Zo'1Ѻꃛ7ډw-Ec+ sZ=ߌ[lҡ)YL4I+AŽg-jYf7=cSoi[3 vHLJ:"Z#˫f"Oxo%;XTEHf"Id `2NX%_Nac+P = gG]\/5)3YҤЁ4HρE0%ܳ.dy}g w i۵3{ړʻ$G*%|m!,j #KDz`Pai_<dъt)WDdD:OܺB-w)+Х y,.~"Ě`rW4zZANyh֯XF3 ɲ`ByJO@_]l'cX(rdPLxcЪz@.i`6vti|"\seᾩ{8諪\.O /<̵+rrbFJG@x L!$}\`0:,^%jd@W[_d':ݼ9 WtуD2 6NmO]5;f9 cX垊W0dy‡,\ ?\'' _" 54!=V }𜶌|.*'yb ɟi< KOܟ RQ|[J:cL :9WQ 9N:I\s0^E`lTJ;C9Jx'K.l[yM_be(AyekVjsno hل Qlh .-{c+t$ iah`qqp6VY =8=iᇕwt@hP܌^DHjHg9T q%X#iC $?W=| I / JIC\uJ#,ά^oYFڎmIẝ]$Şn%y80ڑG h ᕽ !%4O(>;bK^Y[#-}亸!bȸI#ff\-rz5 h@QmYt=ҋ[Lvi't?j)P^AEo>йjA*VUb9egrNRvlE@!*w!yS1J>tT gAp64 x[2`ےԽA!)qּ.lUc7[HL#")R\tQJװTy]&l'> /tI]@@9 5{#N]h3"%  L 9rzg&oE0ד0Rl{>Jw u|T͂bq0őbd4p5X5K{K\l\(:F( @i\)gD2*Jh7P^#UEVpFO/0v*k@KriWW+45w1- ڤVޮ ЅmvȤd~J[m[qMߥkڛ|}nNYk)/9]%ϮGRqZ6+豢{_j^ED@4m&:0I.̂lRb)\W@ՙ^db1o-|'1Kt>}l_ICGƒEy#@#  Ģt;x 9IkLm4 ZE3?73-=9[Kju$40<;:3֚]gwzEIV{tyPl47p5hje89oNwN ,v濭yex+E6dZsWyE'_usC1wcI0} "PG)_-d蓑&ɋw0QtJ%Mj^ӂ8t 際< |ɏrpdL&ַWHUai+E'|L:AQa7"&c8\rxOCkhaG) `6ֻl*d'O `H:qP ΁"%%~؅b䎽,m ɒ_a0\NL/䩊= Rm^n\9+ih,qowx'2D'9ty?A.K1GpEx&+(QrAdDž"ˏ쉿u-eTqa  `wA6ܨLnE$V T3;IgaTm#כhC)wmKJ*6%{M5!6aےg !vVUE !͉z(o"j5_ )V(*53LP o/ר"tL[i-f]kPdk`t 7n^xkS\N^xk}ʐ@dWBU Νk_>F㎳ֶ׼.?D>Wh{ӳUܑ]GwOtߺ~[q1Xh8y?(f* OE7Ry#o[p06#pUFe$ںL'5(8-FgYwa7FtGK|K$V/Db m)]TM@XAzIW'ˍ?V'S 0Ȑ1kK5걒7G-@Ϊ^|<9pBr9fc}P-bLA`fv&x@1buRCQ7~-~CY xo{mJѳBKp=зIqfjgázn (DME|Nݒ+dLuuTmN6L }I޳;SG4ãKFp1IV^\y"1`{S"M&쏃E!x'?r\чF'5/h׾dU)sȺ{q0/a=zOA{`epPUi̴"y }2jjeE9 HJ ڢg (QMoA\Y0?jsL)?}b-m%α=y 1! zAcu@VJd W]H}G(JӆɌ/BkR5aR5S!x]Y.|Ҭxu$ZK`e/t#),~T<#«w\f~+&ϼY8266X ԥC27C*޴%XqcaDfGh9iX|.5$ }*#=).ki~wBKQ`"vA>¾Tu%Г. *u%(K%idT7l5V'^r+p7_ _[(CoH?IG!waL /߹Z4LOЯiN|O5ct?泥Lϟ)3C V0ފ@n/b Ɉ1^g2;ߞ\1^Uu MBrkmҟR]L xrV>_g<cݯ9jħ'\@P `$qA44C ow ŷsp+@ 醬2t<bx_8ikTW$j& \ׇL)n'v'HPaH $C5|N*Xo$/ R]-Dzہ&酉lGp39iۂe F[bޖp?Ԫ̋U67U@ڄv!-TLjvMO-v6SH͍>FpU%hKKzu*Mŕ}'̶K@圄+Qxh Y<5t_N54`^`*[f!7Lr^ܻc~|Cphjuj5 ǛEAj&'=&M-dbƚOJ򎨒f} JW{<:Qt32gJl:Q^ANG5 nUFHdoYOh"`@C\^^C i׈  ~O΢LV?1E)m>}g5HiSgErVj1I3W&TmsH.w*~]+S"(JRk~]bes?oEL%MLlٖ HOZUMf{^1Xg/CH"99N}o*m(XG]Ȼ]TvzU/Ҧ"Vٴ\xV\N!_xGN8p#&@d_ Km*$|%_2 nuDUCkc{N$ +XO^j4i$NAP"GՍx=X`-9 !Rv %e hԛ4\Ejtũ#MH<>@\ !RƗ3dCqcPo'dM=}BpYaRjC"s)˲% h i7SORٴ~$.ƞ(7XFR`6\:mjnyj9^82:F`@ 䩌j36cL[Hhʧ: , >jDg e"?%>PR|cu~jJC.vCa_3vB̤<Scﶋ:FV>!"u|]UR\2Bހ7ZnPA`Ie%?Ҟ$]^ڌs&O;8`c{Eo|A~5 [pt#U`_zP ŖsXcYB@wd>Zx5CLmj5SLaR ~_>sgU"6$xlZ =6Yʺ54cb!g^27cP:ұQy5IWUXd<%=YS "`<԰nCvIiY嘙k:Ǔ$Ҫ(1" 8,yԠ'ca waC%TeU4$$ /*z ^AK~)$=[ 4+ip©:4m -w{ KULUsrd#aK?pt.6^T!Hlo,^1"&.qSI#JOrB 2g~ǻwsSVAQL@vл+6P%2LOw>D"ԉfiYSzGT}t9;ѻǧRDŹֆ-uIcQK$8eM?XI{>4Mna8w[Xҳ*-"8VtwZ=+I8FQGHNgRoO=91V)#[2 @il@lcnrw;Ņ,g*{QC,M^O7fth`OTc<᪖v[0oΧ*|xё6Cmg፭b$.S |Ү"q*j >ygx,iA3p.m] Sq?m2C 1b(؆ ZW#Vk./ i1Y3Q _2P 4 ljm> /?ʢվØK'~3OXSZ[6h#}!>PݾZ+@O ~9qq>ۥ>t /LP* v6/v1$Xɂ X&l<9DFOy}!Ұ {]q I!, Zdyޙ1hIe7ׯ{iݢUaT4o-yz*FyzG!b 6#+TVb;cL8pdHX^-A1S!ņ aWV(=>qCNՇE"J +kQ슶9Q?DniPxgAhðp6ux[alVbBq5[#{uUnJЀRn JH-DۢG$YP#9גWgתM6rTHW NUC=Ru|2q0U-Ҝ{A۬jq#1gJWI&Ig7D*2F Z/R!n4;%'dDD7M_ZI: iP''3'*MxaY7k!zZ,%N$z{S Y l \_LF iKr caT-*Pwy2iwkIaー.ʌ{ʓHbISe$I  eز @ &Hj8 qjbXj⥕ OJ&O6xՉO©`/o5,LynëwUkDJuR~)sϐHo |0pOJYԴc} kmӵpw[Icӱ6>؏2=C0cЛ?lԄ/7()Rj4F&J.mD;b;o'o>c\ʑh\pR#uLlA %jfN }^=5$Ch:G]FaEH2Xp;Y5dD\֓ă=#jC =9 R#i_Ӷ-)i*:@8`]z"ﳁ0a ^R o쯕Cаl*sSi3D=Hs籙N?rnX ;-?^*)HHuW[6BE->K^<L=:<ùTԖ 7}yP;\f3i䛚 _>3 ak纬PIL4qhPj[鈊&X; (~rPJ{dtV^A(ri{Ķ)R1<$ەb$~I76b|8‚\H4iDD㿹{B=aKk4N`0Phm0ZV[V)t 0+=U/o>$Q C ]>J3*%8{qDbF- @Nk sU޲MTQ BaܸA^}諲m5j^N¥y"lz4GKҲ!fFZownyՉ{ã#^y =Ԁ8eoXqm ~:}hFRDly!AupmE [4a-yM Hu8u 5cbjTJ!43/&z)~v!zIuԾSfmPbw^R/}id Z2Kw՛9tjm,\Pʏ;t_ F*TL1/W@wʼ͒ 宋"gzz`b]enũBr#w<$gƥE>PzEnP%Ay<|Xav8|-&zWEDJ)Jc->W9=%ܪ ^d VuNDXaԎ:Z} @hL:|RRne^'lLӲYDJz4| .M_O̥kZ{Ǻb\;L&fq&5]+D5 6NVͩzpπ9lxCL V89~{M0mTl"hDy9T%:8rܲ սN~ڲ6RA2;?ߙ& v%{O4F X@}J MWLP>KPu5AObxy9fv:[[U{Ջ{!֥dqi)@kVK}2-WShmj::jit5f .k2TL(zӇFrcieNCGmPI2us)B \x`}uۢ&Je"CEBl*őa.Sʿ?\tgiysϽWU@{bfrZCtq{䛺qꞫi轁H}Nsڏ{i'[^I/sBIze$j׊@C0 ᢏ#㝏ނ&R+}ӂTc+>=(Wt%Cz=Z)O_ŹF}@Z$$>PJ=˵4׷Ī%PQɗl+[:7J},"bڹs,`%(scZOm7?@SQC~͹1vHEӟ` :db]y`ݬ'v꘵{<O0AFlө\ LiᣙCB禬-pT)W-RaF ,ZJ쐈{X5xmal(fCodR}𷡤kO,~MW쁫8_(nrŎc\0%92!{kALy ?tqCJv{kS˿ގsTC8YSbH;>ALAT:?&kxU{ h19DC CI1-C0f.^0 L}o0㱐hn;υxDdԀ<2 7qƓ;G-UϖR&X, ΁㧐(!U24#̠d/ cv)zPΤVD"FŸQE~'bQ%R[B̖VXW C^P npN[/*!69W"K`M*ȿbq.8f\[3MbN^3`ADObLGD+<5s^Z8YNT93BWQfl5ط87$2yE|Lq/Y1 ^v2~|q^z܄mdA%wqnNwE1 -H"=w1M=CҎ~$F:^.*l}-y]2T$hb!J$8j zn+؅FPE=|-v?ΎzzD× Y^ g@}2l>Ku|˵^2vNCa-&Q<]&&Tsq+X-c̫W}7EvXbI+#zwOU&DDu>rB0_8}&\\f`.,0.V~;q#A9=gPK\7 ꫦ5ASz&X=0 yhE.7&BN?92޼h$1% =~)䏸nd%C3Z xg7aظr0Ap6U'Vm1sŤRMMzڣ fx,[g۷TI٤ՔW4mdy_UOGܢMįlXUAȵq>|]\䫘gm1ݤkfڇF1MQ]IL|acq'dIR fO%8-r'Dյ=D=P,uJsiҝ4KNjQ1tjjbyu\CUB\=Xʋ .x~^}U,gmj I=k$d@fw @M3ԝTcbAM.A 0b-LIN-QNpjZT44J  -/Iv@k@`u1놘{E\3>*k[rc3EA6*-_Y~zl;qe;ʟ ag_IphqW6c>̢DS|+ V!)^&aO=V+ ?7*̩|箣ꤲAZu2јGt,2gƍR$"omnuMPY>?a{it[qq) [Uc0~C~@5]L-HTHhߛY3/61D?#iVR&.V+Cg)Di_!U-vE9f=a7c3mDxʀiF*tj݁jZx GU+N u͜fͫnC"@Ҥ+媅2q&} 39k#3rg4zdM\RZ?G&&!(;g2._`A n2߿JǟЌ@CY7ġ-99M uap@xڦ1kH1V;n|V{3# OA}zّ̈Ѵ06a>'f Gg"%{|5ᰅ o s< 42ƟY/xtt?P/؁HROa^1kEz#[Nq؅ʺ*ے3CGD_MէJCCV,9HF\Awv,Ml[;!U.K3Rr,#U:%ݮ`ʊ< (p 4)#*tt747&>7]SW:Md` |>S޷34OlC1NBB7G?s<{Xzcp$۫,Zr-lc6?W}kNR'{$%M9[,bU}l!_Hot-8qh{!ֈ> HW @1Lkxf&KD SxݯWOJ+Ԓ|W쾍+:ӹb49})G(4 =.Ew2n$ifȜvJ*P1t.O]WNcCq=gqڻ*0/W4@5I}g,Ind3GsEYz$JY"=&[.xjkFFzm:-{C.\1;:(VXoSʇQG$hTɉmfCF| rv}2K_QP(%Ηqή EJ"Ģ ^ ZژýɠA#hGˑŕh/(u8C ^b͏b¡$t{}~`>蚋%Q;|/-䨙&^J /?wt\Y+\P^8*oa?/ XU+q_4*4Ē`YOWG/Iy`p)o+E29*osa"'E| 5K4kzkw$bҫ74=Cٿ. BwZZ0<%QD_^DHP)pTAm!僞n9* ".Wp)K\'_ aPazl17ѦfYN)$b@vRJ{NP&#'nn8vJ19'S,f$7۬9 $rQ,b`nYD!ɾДǂ;Cm$iNKMf^= ƂHJ={zO xpAЀ픟QTsGc=xC -9M4C˚@ +K|{N;G#2F~P6D|RZ XZgT!Q]"?չ? QsBBe ffwv?az.:1-B |7*`oWw;tL(+#y{K`2 ٬P^S~#&Y5^ڕDGЧbhlY ZzMKGeYp袿%ϟx"mm}ޣׄ]7bƇ5|ǭDaei sh>e#!JcOMx(v4>pU+:-B5#-=^w=Sv A^JNAF"&$=TpsK,!v"b?o_%yS!y<= } Vb7rZUZ/W"gw#[mƷ#{&-5=c j]FP̽&sll̠HI>Ob䇂a25 yJ:Rj9 |oe[HXP1;.]RuƏ=K|=2?3`,D0NgJ͝'Ծp՗)8H fL\4v):ix'OzqKakaK-s;8/_pwMQYTV:@`먌s- |ֆk_T#)UiDj`Z@Aʙ<4o[#`^D{5  _m,l}#Y_uۏvN൮)V&n/I2fKdp} -IP^rqxla\n[U/h qHc {:C/2 jMb!!SS! <kbw͂ 45W77wJOwP-(E8x̃* .WEb+?jK<&+drxr(jzRqeVZ#DڒmJ-Hj#ygBt{NE9X.%M8~NO90Tʎh&?t찭meI ͕F 4-6@U'6u*>;q^-=q0Oo$-.6)ī)v/4 o],NTLxph>x 3=Cigox (FN6^>ދ^icD/f^Aǭ%!.8>e$ O96L`̒T콪/M>bY[ Dvly)3f!Ks~q4)ec%~A)'zUW8)2Ku0&, "~)(};W1bePM=;8 m+p~: p. va#B!c2(6 auҟhgX&u d曷uCx]{˟1Ά3eIeB*!;-"dյ>\ۮݽhH^Cuz]RSx hZ4%^]:OFR3mmF!iѕHcYyݦjބڱ%;? g@ 0L5,G. "YK~1 սJZ}}1q vo%7PB85F]%W< .1FJYma%i` _+ !RMm4EN7בu<ЩC3L_6[~BH"Q{jNhjÉ;%D MbL'*̰|@]Tޜ c8It`C6foaZO :cIbFXspuU2k:N[oZB$hHZ=]n _jė ,Kc6Y>lJ :l^O[ڦ'ktEhL^F*-(Ʃ{Q#iEA?ԗz+USVP<?zÓ21ڊ"fxD43.hǵQ6񋓑?Hڭ&gIYIYUP uOq=[cVݨ #BM r/ٳL(kk -Nj%3p7Gš`߁3]v^]$w*7I{b٤;ʒH\)78'D3 CWRwomhŻpk6{KtT 1a~Nc<{L 3‚U'7Ӂ^?@Х`cmr(yW($i!ErK#)qq|UcHgnU)b;mqDZ2 +Ty4xF]Oe"-դ#r- τTf WߟHR{g<[m'!cLu4ezʯ{צJG)˛{1rʩ{}AW|[JK˦Χ͍9oT#/f6pޅar fy ڝP F ĥWuM hL9$ܶK edMoqc~Z-=B"”ug }MZB 5N!ovBVow.ʧUh E/#DQj 3sqj|,RdƸ_|2p$D RE|`U+{2Q'ZS1BT! VJ #lZPnZRɖR\5mخWnF y߶xq9"|?M)b>Ǩ" ݊"6跪?t6q(x\quܙ؊cQij tOqjhC1e~LK˞F=u# nP,asp,%1>Iw5wY[Qn-KzB]ddfrQzivˏ" oIw\_Q,۹/EAtnn? QK[*cK?KaZdv+M!@0Cq6f@h)6L07AAMV0e`)i v{sp6;Ֆ.^R2[l59T~(vsԳ>3Zv,nlSZ0xCq᧗5H0 qvrmp(p*g&D](OkNԫ=-y_3#Pz1.k^ӏf!kWRO_=͗Peh(Oxgȋ=/z7!r}T##p6 Q Dco~\G-nxHkvY3j<^ eͰn$ӉM+ǖ 6y`Q1@%3B*i&4E3]If9p/Vzave}(ܱԎ=lj60LWZNEIȅjI3珥H'8Q&Oߴw4EkVˇڏ(=9jt2(ĩ[WY~RmOa(/D0#$``$"ZOh-P6BBk2^>g = Y"q@-/J>w)}d^VDuWnmf '0"uC?hjklDsY E7#=GS5ӑhur8EF}@TZ<[GA([)H֝Ug}LJLN0snnԡFRpZЀ0]2F(v9Md2h.K'{4X|x79~[%4E0`r$SVo%W._YBx[MTp{EVz/p|[S MW7)wT>Iwm7]MX'qo8TM⯝΃w貑0hn3J!0WDᢀaDem2:sᏸv a9h'DT1Uɋҙr&mˊ!MFJ7ԣ96wq]*G1|זi3b὜>ZZ\K4~1_kĴ"뛕U nwuY'o/]ZEr.o_F0¨qa!$hY3Jm-&zIU$Zz!"' U0w5F&|kT+;iMLHE2bs16נ^iE g pògNEx:z!-x41~N׀؉hsN-48'XɆB$S_kк)g{m\>id&Q1Z5ma4ܼZYgDX*&دve[m6={k<18v@2Qi&K)k` q6O#oL: Hd5`gPR[ݤ&$9fbah)Be=ˍ,Oܠ0*,6uE̬BSn#JXyA2Т4K؉aJ]7|S-F-㑒ꈤt ι".mt({m| _Ng_ujgKV߁l&B?Lӡsihx+N?+_?fGӤmN?'eFW"Ds>ѕ-G102`p|.?JL(p8ԛ yLmu.kհ-hv87YUo!0AI]=l"ҫb3ĄWy67e0qIɁhwʅ_5XtPKrv[{MFE6ifOւAeBVuѡ4^ܸ5 islfxmPgݱ:aԌDM<-+<.Gvj=pE[)m|ocF}I9i T͖CB+k~mX"ts!EFJӊ4«QVF(GFIg2EZ94KmyųLD;F.~]t'rl"v-^ۣtx9ƚG6ZXH?{/OcqSZ{n++xOG#Ѳ%\Լ[ л[* M:N^{t"d7_1PV$*覞6^f]뙙t)|pO U ^cO3a룢+wWE<]ߔK&z|^EO8r?氶QdĎG9{ ‘fQ^gZkyZswglY;x$QO.. 6{aՁ\P;H7x3<c@t5TIXM?-W]^[S(0 =L hKN؉\H.^5r]#%>slW#4NG5蚨UI4OT-*3]{~_gRquj,q-[Κ6;tpaӉnhXmqޔUɺ-}oy_pXŰ>|<lA5 N8"*|`rMmoR<cTpPiUӼi T.ҕ !":(oڢ:ٚAgw/[eO7FgsBpz4!ۯ o^ZA1oC/yeuٹ]F `li-Sز^W詫VnoJm0M+ep)q7%`EyrQ} 2)'UʆD!/`ft}Tc`ڕT^ϑQaDDVp "3ų?9=0h`6e bm)R}k.'rG*dzxZ: ,C ڵ7d 7XJUyB0\$OD}ZdSN}R:3(L[7cM0wQpoҾcn W\ sΎ0+g" 0‰ڕh[t8SOb! noB8Ȅ1bJºSk*GS7[hxI*!QZ|I؂Y2N\ް >vvUz2_(}EsXYrs} T0C{*I  %EYB8ӄf]дY5`bT3GIErnb2(67ue(QmJqIq&*qs8mt;h dkpWg*"pbayp (\rN4|TٴoArAk_MQgdKC*l Я W_Mk!km }$..t%#W/~1R:*N=;-J(myV QPhD0ej$g:Я 8޻ی=DՊV>T,_;[g  ˓$YC#AZ5]?ْ$^*&FGŐJuC6L2.}2Dsi-vn:CjpAI1LՓнSc/nND:Wfa'"<2X2{HP#%@ȷ`Uiz+?9Ϩł{q5*m(jufu&n`wi%t/f008]hӁ%nE7$RE,o6hISL^d6A[D9 v_'^d^^ X|[G hc{v^I\)蘿t|A2]"!Qch F$X-r|: 1ԼLFJ Pj>з/*HbA[Wx"C`vI=!V.S 9^cG s *]"5l/=[8c[ѪwH"D~7uwU7=tlȼ`AԐB}pJFiZcl ŞjOAUaFB'.G )>5~xJg!P= /* Ūn`yU"Ֆ%.{s9YMJAl O֤(==Kǜ X0ylB d(ծy7*N~K(; Y7]K r-5g&ǡwZ7AmMn1BERoX0@e(, HN_ ⷭN-Z(jKо ҒGvY 7u7FdM*9Oi|Ie žu_hQ6DqePBbet΁nsӀPsG^,_e/N'/̒g2$=z\`b3Mdm=e}oѻ/N],e]GRchSBˋxmrtS2mG6W~4-HSWW@|A"^ָN4F*7Þ6֖%YT`ICm58Eg\XPv~W)}375#N~6w4dY5ÊK*L TN.(4W_0! oY*^UW{WTgt`]6)Сݜ(:aˊ ܞZP@:i@]16K)&nvW~%ǮRf9?@yʇ9=mh_ q+ Mo(DŽTϵ0jxְ`vbHG^uH3HƷ2kQ\(x{3XYN@)9YsJW0_WҴ2@$BICB4bLϭ Otn/p 7r3ZD\I>PYejEMPmI6Z-5˂^(ЙN'd3g+R7<qukD7Y&ȣxuFGlI fZ 2]?Q NbF՝3ȡV6 XWX0"W'K*Uۭ_ɋ񬌖#9 Oƞ70qm}A34 gJ;kހ6D'fe+gkVMh(̐X4odTs4}R]2oL[˴スްEzP+~CB,Z6`eڞAXԱKI޸856MhJ.kRU9+23"nn>jQ$zF ./Sq|tlx4R|haK1M޷ze>&k}؛" a:2 l MJmQޯħvK3XvdEOW00ӎ+8'wt&]j+ս6D_54;ݻ7YS8I0#4\l30BKye)h%-c,u<ۮ=S ֈ?bΞspNTu\("Tbj1I 3!eÜ'VM(g~b%gJ<##_͈"ІRx(f *>X$iM}6Ggc|J4ؠJL%f%? Y_6{39Ŝ7=e7UX5&Ǽ܄6f9h}2Q :i 'A LXAM%?h`t' tXd9pwy8_Ơ cve'lh`*G:sf2NbQq uv_5eDkuSH&E ()9y/w@O~Cj=O4 CݽmL*4K^D 跌M2FiKl圯`[6cHJ 9H}#Sk6Y?u2J8jeX=lM CyUEцkA*+k f6=ƞWH״ӀFD\ ,>_C(}Γ (ߊu^"͞y-v%p@6ݻoOIrmUε#k>+ޖd`SOHB H*jRv9[WDr:񔑏Aq O6$T6 QG#F~ne UP(=Vg Lw8|@ppf*s]f˷4T_}Fq8XTrp(kب5q.N;y[TTp5K6z.vE9CK-j<)ת؀>Ŵ˪H 0?{PҮg6aFct+[.HdO7%LsoO'm40'f\”V~T4c)EAScjcuP'[ȿ3 (Q>ڣJ}hRD lPy?ːvjbFC]\tcP$?:DCVC`kݹ%u?¹ y*M06`~3툘P$ ezq^cJȇ[.˰U Ԍ60!Di RIBR{̐ᛊKnǂo{?u@F @1A6?Q;BQ8I.S.ҋk_U,D*h8c:A?/eIFrJ7Ta}EkK}ꠛ bpwBt`?Õ~\\ գ9ݓF # KXjq`Ӥ!۠f2k㗑}1S%2_x#!aYRGѶ ]~%3=YokojPږvo|Ҳ&vR+x-Uŀ3lN`[<Ekڲb%yeOyƴт :"o_ pRP wAa:i34Q'\ډ]8g#Q,SۄF0`Ċ=Dۍ"4Q5z"UaW(S &P7!uz#d))}U2s.Gaxwϐ])qKgªO-`>֭Q<``5vj]ә/P ;8t'yR{Bd ?Nz t?{r2[i|{5i*5j"֋ŷ̴ary KalXt/3#g I# j=<;kE֬~Xɪ6`GRJǟz "7 ?:sp"^gi^R.꿋z@5!6 r vH4`v_.r~Jy߄w+-K>=ߧsǸ3@s >J~<4ZW!5yBM9V67U@zE) xQ JqnG?J8¯f4=bf-ā~VH?!Y&`"oY.(3_~ckU8!P!9;䁩5Iű@aD^Fա饖c_Ghppt't!&٤3lI'?1+| dg;EEim JcDaҦiͭyԘ= :)kˀF 6D>rr]^U%\i{հwWR x;?4xtF)|s'PqKS˞ ٤IG?( >>dD*$.@/44Q8\$[ƸV?~Y^Lj= ="9M_@葒Kpg5ai=g' -hQZkB.omc'q̟YQSka_g}wT\WF^6a j8W<VZk$f &.~q=Mړ/bT~k ]V6‹OJDtF n='OG#^PC|7>*{Q↊z6bjb]>J5@}C hjL`޺SϭS`M x+b2`La*@d`Q0)6E--5.04V(}3Q~+8tXtH :n (0=::i#:e=*EϦ%w D!gA^ xo.Z.Wnhb)^+GXp&k4\&tbIhBNPɷ?WߢUlJɺ/ELNbHiW\Ux dC3x&!ozt0'Rr# {]!`DS`hO O (,:߼[9kN Vf8قz)t?b?t;*EB8O0!NA}#n@!Q{" zbE9Xr- 6c쳴/i}(z U[JE+ЄkSn$͢w#` AUq}h8Wm^O_ ɖ(%u46i}F`@8&*^(Xs̜O AJI=$%0`"rS`H)m}b+%s֤q(yeyFe[gK /JAO(M%P;%dMHhz%J߯uG-f1~b<;k Rg&+#å:gکADWx/GeM.4C7=-BMya0D8PmP@  g|d\}i$wYFl8)M>*  i<:ݼ-,q Z\W):dvcXL3+ħi/Itt52# *ug\=×J4-׊ l}H;,6  U$HiבidooP|\y3 CptgEHfǕ`U,̹G)B̷DS^M)˶,;:% SBMs#E&v2@dNe(vcG-Ή+6\Kl 逭-;擧rV=%>zv Ҵ2Yά$O9sKǜ w"2gZzhɉئZ`Ϡr8?%ЅfK;4,SSj5c >d^}NDd%bAP˦cCWkDMXnE}(nq)YKQיL6ĆS n~cN7;r5w(ް:/ $CzVۚ$= h[G8#PY 'TIw^TQVu=Ʊﰊ*qL&>u4^XTH>;:.2ڽVTܪ_LAԞH5-Xi6i"7ضU^@K J ; p_sVh]s_MJBjҊlf6N+ ODRS{-d[EeA?zG[s?S!>sR+K?fbt=1Yn`AӚW ca9^fu#jmƄ9<p$c4|9֩cJԈm,paqd2Cp]5 PjؼIte̙qDk,6ވa>"]}Z1r=F.bEQxī>EB:x]>9ٻJk4~܋揂(1^k<9CCe}OؖG(_V\sڏq䛻fƌªE.}#[)=JW]^}S[\v\T'CZ4=gom+}eꙻ7k#Pϲ%X tDO獢''GNӄa; _3;s> ot^]ԐV[b;pu_LY6zzHK-ݭFN3L&fړ1#J;b\g 7Y;CFƴqNW2JA?a'$v;K~bӬqj|#3BiyGr >?ZrP#/"sO+bjfl}Fyq9MlHVs\6ぉZ !\bgT*>?ov I'eq@Z x-ţipCsL?8QPZZZ)8?j*;&nkaP~$l xٲԱ@ Y*"?v^AxГ pBlPom`Y2cȮk41أfbk]SЫ~eW,"$(+KT=hҰJSMH`ނn}Xir|ŏQg:< N[um_+AqX֠FO_GZ:j< 66ϧtxS=L+d R*)qt<`+4fpmڠDjզd&lWM"j9]}S1 {/&Voq@=L ^f E{Q`Z;C{@_m'/Ƴ#$,PF!DY@<^2%Q.7z^JHŧ+\o.1ixY7x5D6 eiK?vn}A/&V#wٷVKI! ԟmϞVnѴ,_1l 4 : C[%eV·e(44(2kyqRYB01uRю&[shz#hsŏmb6:Vw&"/n<4Ǝ5`r|T\,PxFa;,uS'k;yy+(_?Z&J!Qyv?>Ty^'@n,P{7z78H`ĮO-wܽ((HطR'. |C}GF8N%ή6p^_s<(e;$2YتCv\-{- f¾q;)N3`!H^?dI>'u^])N y% hhz Z!a+f|gtYnݘF(:OɄV lYS P󃬙AEKP;|JK3B :!F^PA|ކ@]7vxD4Eiѓ/D$Zΐr@lOMü"aܥVYV>C\9 RL΂:,8Ø\f[ÜKIu^ FxCW AB}e)YEzOcxS58}/E0j)'.6( V*>hoTOܲMQ4X2zӸ1qT:oU9\t1i}U %~; Xpo7~k6KY0.'2y͂?3qawYO41mS6kO--jwV!n=k}Qvz>J;*fko ЀRPo) ƅBP yrM/Ǡ`z)@ϣWJ@/ˉXV#_Q$d ?^]j/B@k>}~"4u<}|28'B[Q4>[5ւ^'\|L&;% p'e79Dx]a^y}:t -1i{] Xs:\T&3C&kpr9:=;ikr9G>;g;EM %EńՐ^[k[/)u,(M]CHKs]]dMb)[ÝZ]%0Ph 1E*S{7z{OSRo01m Adai0os . hcҘ47(өs&Mbg?Wy@ur:Wj@Z~]ړx?%J7PVh9kQ/4]S\m#GȔ;ʥ>!xD-]yiCwS' mY_i߼Jj/b5('p&000CU2leRin@!j |'pؙ+ D:P`CFa%vozDX/1eЦ Uv̕9Mi/@cǭdjeXK ߏjv Nc1r^(mtRdX -tT eW(h a9hqF_Ƚ ɿw㻶hXLM!g2Y,V+XGSXps +?N`ggtVڌxRr!XaNrsMל̷UNk^U n%S]T͒./!461Dp$*ZK~X=Hې#9NFo8*s%("qЇԉzKJGKy}sqX9 r0ѷ?r=7QNbۄH-A\U{b0C]|%XzD?i~ubr4c  _@Zx]-jo:sIՌє1ˇ.b5eJu..`X 5?i0OyVۢȘjy'2,{OېHgf3%;c2t8c_~!/n3[®2A~- ?SͲa;נ3u I]Յ*^$w(u&Rs7Ʌa>Zy|IU ?T9WĹ}ؾf )1~O =CDcx%s:ݴFz/09տ`/jIOMRqO}{ӣ[s/Y1'~QYl Z yRV\QdENŖLOvc3T)(@sC;2 $="c!i4;$fz $P$r0 nj}X ɫqWA,FlL HzB%6P4[S,WZ w{v$'dH!/n$] dydsH7.rź;0 N̪͒vwͻo0J"2j!Y%{i<)>WNK=[̙v*MZ@;IΨr>A;N! ̀-P1%6Nvt?7Y]nb<w/lxz m a@MQ8^Z6 KkO/[Sv5D!W-(jEhZ"kP|5WVW\~"#gq(82BTYS$}?a=cCDd̎u8Xt ;X0='h@ZQNL)efxXg(Rrau0)$ָԫ [&˅>*^op=3`[AJR(]MgvX<7H@ Gج*"d"mnV,]~}کqy[f#ۿ6H1ͺ%$4+Vltn($*3\F nG"j9ړHHtRW5l]#R+Hѧ)ɍjX]TRT^wQ.H=}3sNJ{҅4@0f_âz\:zh> Z(R d8~~f.ux V=OhQPTq6twƀvFp^VC F[A:by/(ѷ e6JLƝg/KÒ;jUT/1!7_Bk/[!!d7_;SsjMOkjDme <^W:mz'rxfyN3l/,p7rr#s?^Se ruơi9|c 5D\RJD!}__ Ft wLa[ڄt55-xIUْT.THK[Չ6rEʊ۰,$vtݖ5m&= .&Xu~d2@Ԍk0eT]>L]ЃYE+"}24Š1ji[ћReie+QSzsg!~*4޽!4J.Q)Jn -Aқ?ha<%&P|ٴ=rsV ĵV: TWc[vkCn;lo'&'\ɃU6]i9+Z YƌpJ#(xwQXߟM ?KYF1K \=MoNYM+|ʌX쬘gƈ ]jst(vu}֥%T Ӈcpb=戠ѿDckZf |y KBYUBW+_XTX)ͺ*QU2q[rI*^#d%pB-6s}7;$My2edz4z gA mǂ#h5.:\B/5j^w*dUKbgdYhe':[ՈP偷X{h(X&@26[ L`<9:"UY.0 \أ>gwH_ԎbkS]Pl&1jO 7T̝\tv\4BhGUS-%/[M:~riGC969ncc2~߈~hQ&oqey8; ?@0Tb}k9#x$ӷ7z=@1c>SBTD@.(Ҏby(Eհ{ nPqJ~?P$Z3?xIaZ.RSSOӉ'JĤEAy;.׸uuq8?tδ, w ?NC;W]IT͞2:H*%jc`MLX\ͷw\DpIPz;C'4l|@ay}j\\{!6mnmӔHL"ҭ~ѐ >u6rӆ?Z\wZ&\/3ֻ:6f<_QÀ7;E0b|n"2vySBsd-UJ_q#iC[KuN\),Mk6v[NxD:=uڠ蚝daF "#4^[ŧQ<}zaWۏv2Ec񲍎sYZ.muKgpƓW)~<^CO\mU}l9.}|;^`܆lK'j3ҠMY_JX&ޟNwN΢y7OYggW(Pa! .a(\WPn%Q>Ddθtq2]X˪ұ h7;,TΙѦ7i@R:C1lvCJHSR,tNib nMݠH0^PdC:aP4}k,#2|3i4`kn߰ yCcxB}M^.v91T Pp>sʲ =su{.3iUBϱIӁ _64\AOZ@3j!OI:ixɹ%Z^u1Խ!0wAOЖ5;#v";7n$_Yo=Qk}) h"rPa8+ń^Hc]q o3wZZ6k׵x[FO5{[++ | &X/bW|ħQDN+8dCf}?6O.P42q4=ũ1aU)!u"a#y~o:vŘ=%mIx&{aD,󱑐Ndh<{tQmw_fфR[TG0nX);=o84P*#Fhٖ}ɝUP[Y5sq~Lz7^G;@uoLGRJQ}6sPp},w, s.{lZlᶯc\m%M}T zv>ӕoRh1o} InsBX{ H it`ﲓ% 嶈(6V9E՝F=Gy׎[PG#h bPV'5C.wOQpUKSj ؗ0f=o1@c3ĘߖF2 I?G#8@j A}ivR y2%ق@2w1y;)d="g7$'Θ5v*]zNs ѴM)J2)",G]rWv.Wb)_9M!$lyҷ3X8߼u:mF2SY>=ZSH\?UA@/yEc;cŌS'5-9 F{9>D7vm_fۄ弫UƹK(EMϴm[Qq5vٰEϭΜzu(`*K7z 4LPhk7w͎^xd^}*rnK5M7q]+|^ƙ[$gUj#n(~]zбx7c\;'{YWDh{dǧ杴ဒZ_ɌgN]ԙ?IQp~2+mjSA*R\:_w{LGgظ1&8B=Fp̲PF0vuL0`#"tAYQ=_>_;IxˆN\$xjͤ)@㿢ǧ9 bmdXoʇ [\guXYWH՝CUv{_sZN]Ơ6n:Y lNezTZ Q<^#֦49ͦgƲLĭS2WV[A`h^@'(\+FҖh0cH JΧMC$12+7M{3fH*#ޚ=e KQKʱ=ލKl{ Wx_Nj}yB$jF(::rA#MSd]xu.{%ɺP|f_8;ݞUEI:I:0 C4<j]L\Y6&`|"] )-uVD(77EBqC#P#mrQTj;>m*ehMw3 dNR˭GćV[{b@``,u~}fI0FsV ?Xt:b,ad:Ez+ 0S-vhCƸ` Ҋ1کʼn.{K<,ښsTme+Ą \.n '< a+tqCcx%Up;UDEE7%E5 ldtvbb%SixS_3꾃kk`?4 ˃WS<*HkbWw`(B(_zVevu0ɹ5sr3/S*6 e#.,޿o_kJ߫GHhGZOC|a= J+.r?i팬U7{rֻϫJTW͡.K{a"Y u[!Fжq SL!ϭ4`#Зw]i[pF~l$d]Ε6D['#}C53XkӪ0 YV]ME.p9N1;@KOYGϚ)V=_\%)(whd渓?f\K:jf8JÍH7Gg] =Hչ@g%sQb'qb-EȐQW=NX:Ylm`'0pђj0 Yovl<9/Az6PRK2\Ps{.ǭ9"C->F >0hǧGxޯ<9dh-k\.s>]nm$cfԛ&;ңczlcp@ )?b:2I`CU5F諐 gѶ<;Ӣ^rAʉ(*9Y^õ?n"XpUcB'(VpO] ])=T Z9UGr!`K,{—*[46`*-x*? ~.$3 qzlr[`]MثqaԢ1({9 @lB/o` qݔѢl/?|E(KS;{Ny1 %EFHڬep!*S ?k4$ֻba0S"n&eyMϗ~?Zs'T7 0!Űxk,y4r-lzߦbBkBjvCI k E8KxIŊ5OZ7:Ta$3I@N^!JпAڭ)(.ǀא!8mPG/-g+|z˷0 5Yθ 썎CRcR­3R9&4/5wߗ,sTpE>^<.TP%h7jA4)5@VyAAk py |}Z  pg9Vxl+<hs]nAdre w1T9ӵBC튨vC\W:"J)Pq,b?)3ܰ%Qt 3ZYQV$CU۞9`m,&5FXO@ ^&27%h2#ǙEq'ޢ:$$yNFP`'bBK.- u Z.u,cɯepѮ%if<2X.TGM*)xν &<1z2O@=$Hm|fwB+-^@!\gcbAVޣ0І5_.L`]dȈH v|pwӘfZIQ-E+]Ob7CL} o4i 9!ldR{xf/ jJ#gT3LFʫ;\셻ct>wk{S@'77a\!rjW}Y:ZŪU!_#Ǖsw[\?O@;P:x9TcDh?K?ʑے<*oα?<'0~mz*f[xd7(~4UAN$a ϼl:0pAOʔz/OghE`>^H1𜤵!\"Yjq8Eu>Vsn>n25_]ȷw_lnNIf|jlYT1q6f_DBw5 bj}M̼,- IԁG/_EX|S],<_} 9atUi8FŘMnNzfnN"ūy.#: #02[ҞJjqfɫC i'W}=*_ Oq,ſӱCʾD\kI?O_*sB4LuXgR5׭~ԓzT:mݸR 4i۽|8$KGeM BNRafìtVR`{0ө+*^Gs GK˕?NuA#.}Y0XRB?"¶Iq0:a\7JAA4{ P"Lдs"l}帵jœ,}?}PKI]އ]iQmXnR,=@YQ0"Z-yYm9 ic{ϩ2+C|%c+Ahե@5frAȀȸjWxx:Q T]'C >nMkKcz0yi18qž5o[r'(\)6ny)=u(#~2ube(E 6[xSRA<=:{vImj٦H^3Ow Hx 8Fo=G)Pfp;ҵ 1iD9 O ]VId=||2 P cĈZxɓM k_n+;K< ru0&bm:DvՆ{Y:*Za~ȸ6 GeaOU C)IfѺ/^~w=i8|Si/@˛5(#u'{.ri! FfZ 9k<ᗞ 0tDY#vdYʑCdD6?=t*IBڱ⩫E5(m LPDeMK[O`64'`]MZV\% 9jjq5WN [rTnL} ۤ9f ױ+Xl7ݓ9ulՈ9 VQ1o_ NRV0ulQB.bZ8dl!c V$*"lIykE-(zG];!'ƒ_Y٦`8"7̘B,A GµSrͮ7-ocGf`gߊ; I&J8c`\8R-Ү3:NnѱRK(_h= dZ,|՝" 6fQ4ХZBDZ݃9syfz$LoLr([RՈ|n֮pꇳ,v'.ge )QW]x$IKZ.:+*ZH  DCОY*m wY ;yh뿌?3}(ҙAx#Hճڷ`5_9Y~߻ _\IϚ%510dQ9"\ח7Qȑ׋=t\Ttx&sWטTD;O{:B]W;0zsolO$FI'@#cjjN50[ژ1`i~:*|i#?VV-vE~>i0#5 sotڵKukZGsC:8&#DD8Xr7ٺ׽7ַbw@=~ G 1O%z#jH,XLy@PW3 -{ wھ$^ʁh?eXuG\v4DJm(> wZf LxBP0|'v7iFcd\2̃ݞ̐產F<L,u r9KTys1K\`O]\ژHYYr ܵ$$"ڐrR1sIcfcf$cs{j}rVo4V IU5NXtH~~2n=h R.' {GAS=Awq)͜tŕ5u#`,V`ct(w"6@A,WQ;\)5`R "RtZ۠mXW0R<aZdV8LM%Ob{1U{YdWKV$J"PQo -4Ekf .$4sIl(]4mslU2%fzԻ'40`;^ng.i,I8=.CeEyze]Zrϱ r-ӑ.x뀳p"%o-+T8> x0Bq)0_Ld,! L)>i8RۿwN)<+xsֆ~!1y3 ]!G=~`q[K.`kk"t.X>zܧĬ+a鲹P);ރ) Nڧ {HM5p^Ps0l_*~*`{!,JPwM#R_Dsis,SsVaP:*wfrj]Z1_wbT[MQ09<}]ճݙJjfHkvkXԥpn.yQJj)Oٞp iHY:`&R hK "-m8(Ⱥ?qU&󾠈K6"$_!yQaU]As4dfF MEVկfUg-7˄\n$st{v:ltqձh-<퉻Kn_s#r9u1C+sXibbZ]HB>}en[@ G_T+dxƛHcW#K0+ ;R4Tk> co6͞#cZj<~USJ̄38fՀ8:uwR؂7H@U+tE` |l0̬POr}RnZ GNb@/m|;m7+8 FmNb B|Uaɮ  'ޱl.lU$|%> l"yl{GbQ0>f6Z;o8([)D0G`*e单/g}zQ]AylXM,I5:op{Zkd^}ݾ( 5g9wzH|H-Α³@|vUfR?L IN^q82,)s?@ݍ"I7r4~.Jz(--lk efP].W(Y)$o8GKi"l|;7 Wz MJqV4{{lAg?G=:RTt ⴲ28937!I=%g>}zƱiuvxΟĕkFy7ppyMgshSS ΁l$$WbhM$Pr͵v'}LpS9<ʃ:M{(v`[ZozIFLp5D# '{:Rkۼdzɦڇ8e_ZeγUEج kqDV_"1޿.'ESg/%e |J[0Ĺ0NM\w%*2Bfr7) 4ڣfQE@$wטmV M?}2$YUEG9^7s9ntxp>H;'-^ ']`;$%U4bžMz|3uw$@SLj}Q&:P,[%u=G:8R yFom5^T֡Ib<~j7d /!׎/Dm14I;Df[J"JΚ#̿C:m3f7 gFH#L7;~z]CouDX< x>Txˋ,g^m6ƍ`/}vk)HRq=B;u}9q\%bBU8|GHpq1D1&Y內7GA/?u_g_FoMvN7jҪ »_k4^P4* E0yGy|OQp ?p3&Exv,&Iհ:HǠw裏E*D l]&KN.naoá0BF @tO,3v]Ը?RYSȔ>(SYpcmƦJZpc&s*o/(:p$[sl lb ]*\.gzacK rH/m:LNG)u(͵@SB5"t\\MC}XG^[QP 8nŅ`ؽ:N])(:ŷyɕBg Hx {NH T'd6~Ȏ`șc&PPwHmrTj Vj;zNjU1&M [ Dj`|j*͚=+RJ5eMd.I_\% /!6j/*0v&'VұR2bP:vj{48}5@&ZփwSpX"p>(S+=&s9(i X>/.i5A\2T%pAd%cd;ՎCwY9LTԥ(İ%Ҳ0}h,Qx./MURGE  [XJ/P}?OY)1sbKj IZ &˰\ bb$uzX0j&z]XhR$s(78{Uf-1J/O3E|s20{>+/{{2zW"*'FdP?{03dq NuT6c ʾPHeW*0"|Z|h歫nygGC;$G$zGpX5MǣK;CI'#'eO#F7bdFkGԓZW;q1g͸`w8dA 6H{a*f*D6ĐHuUhf0GٌץGob4?0Pm*ON(w֕I5C}fK&aj36I\\@=;4p`^OHf|M\Ŏ\ŷMD Ϟ؎"a28ZmGbs=) 0-78\(5)%кϼ4V_ՖiE\-qߑ;E6blR41jf]F{o* չ+9k;bD]G}ڹ-L1$@0ǠUgTСR^/ߛb i+D+v/dE6A48[fiO}BÃm8K is6!+xžڟXk> ~rf QTi7j |rs)@d8xk{UP'&,Jmy5M@$B댕u7IBFrjSIz :aY>sB&'bZqL wLUǴ Z4݅d"h8p dԟGCjk "`ʏݿ,_C4ch? E.=ifv>  er+Ur;6 SߵIAs4?ũyVaiձj=/Unf̬1P^DmUCʞ&r>pii@J# 'F\8N;&w̼ucDGr70|R~//HE)}H&b>f?9)("Ҙս{5+@&4 fSzY. rl<[+ZO({:9-gIzw2X4ԡYL 4%٭i>qܙ|qYPKC+@XH(n6A{|"aP_6,)p21jeɅWYKa'G3@°\h 9j(}-T. 4:isx 5y"#ϫ]!2;UznĒtaךke0]f-U?+ckO bZeHUI+kq{ڳH=Ef}X,/;ab ̰Q"֊pgדrFPV~ \PH-j6 8ḃaE/ϲtrVZ#HN+M=]6o<33!W)`#֯'(-xVBX=ao 1ܠ 5MfoJ((NE%4,;L锤 O{7rD3KnH Ų0!wwsY1 fKC؏ӅDɒFIbq.|k›FXo0pZl}EKmlӽ>64M xHр|CR c> I:)( WjQc'ݼ@q !3Dp- j݇Xly2GPND\1Lg}` j~Eq][a=ufX9aV͢s Ydd4Mr)=) bm`RY'TgX-;@a'd_N3AX)GJ |]3fqljT:T$~6|5VNCz;P7&! t{4sEx밻/z.sE, 6M߆^z7dAt7:Či!=NEݱ:hRGdnfZ@FnUn6jb݊_olYO]S2xyUI=0!nsC*\Z[axPDTzݐlHhC4{HF W2Mymll,XWd VMŜɥXWaJ9TYշ1/3m!CF۟\#mb*J[Mݔ}86E_ՃC-P4 w.uZ1["Y鿹X Ix`pЗO_>2Ʒ'Ǝfm~|7" w%܆cSa0🥰yqxp­M~I;箒D-igiUw)1Wy"?jpm7hW FtkBNX}YbR!zQUF+_c?G GQW LY9[tSڌ-W 3ciGn$bbTxg#UC;ap?r?B C;0⃤W]3SM|Z*ktdy$\z &|&{$ބ З)ߟ 4Г3卭noT^Ce#=uQc5$>n &8LUU 失E"j`}`͜=׼$r7p#+wCH/We)I hIa ڬF ?'Rt5]V=V=,ͼ0㟳ˆaM涩my*3|jJݷhf{[s D&9BWr/6kOW%3ܞݬ=QX97_zMIQ^G-܆" Cs=G VN|ujk,iNYal,[AId.GteLVWE-ӫ(fFHN墥Y=1օrᅓ$ MM 0-=6ip hi5_X]x- _ h\M E} @9݅ u`B*)ן,G1i4My^xSW܀ ΖtAP&cЅI:3K:lO@5EܞUJz㺶|05if0AN8 o=P4آv1wiD p ]j8/܀K N.ڧA]aKعk] %vC+؅-"2 c}P=s+>q/#'h{ +x`a7 frrY8/$x}԰'D5h\sGO@>2{;|8eߣ|)n>8m*M5sm>^Rnظȶ߼CgEزzqﴉu㵔`xhu'@\( %V@ٟC` ܸd6N|Q.1װ;B9ɨNFDPa!8^yWټۮAOUg5&{ BB,IZW% gN {1o 6܀5,Pk6D-wD&(Du6c1AlÐhZjMs}'^ݐGwOa}ԻXk͵#k 9Nm$;[9=F+P"Ͼu% +? N,~J=[|>Y dG>ٞnu- ""n>˃ #*Rx yl5w9&>+Td(2m~c}6)ȡZ|mJo qܱ &cALmq[vl HEO2cD#E](֦N&:=ICuZKCocPe^'pV6/ʭ hpHL%g؟w6"WV!ApGSy 'n6˭:ElmՁ/@ +2)/J4AV^O.=g+YX[wH"U/kpԢҤe:o֊;ϓ# P<$ł|*skVނoL݄ъxO7}&7,㺓sZ2@Jx T.mŘt,h+%ӵ&Ȯͤk_O?p`W֪/cG0YܑJ'A0Z:,懐mc_!%k)\E_+U0@tjd/FofFP'S]Z9kjʹ¸ߺiMT_1%)v NyߡE"ojW8RS3C+M&KNgR{Ӎ>s$To]Eꏝ/)wlh%xL54A'gՀ3૯v뾽%+˦Zz*,Wݝ!wU .DZQ CSl/~z&r$A1H5eVA&}H5@z'}LtTV eb*i]! \םEZlI%Ԑ(B TC;ىcSӃ7ׄ"3%-FAWŋ}R 30,a WAdv8_{0X$&8($QW#@OoXEJSY1Us^*&ѫmF9-~ L nxMcԤ]%/5N^}'sncf|Jԓs3Ci8^L*owC=qo=if mO>aL'ַn, 9x3B@TA o DkJ˄LEێ1~Nyӎj<(P&-p=Ѭq8h'_r>COKGƝvoF t!goHR@/(ܟQ4',ݘ FNG' sq`WB(j1aUZK%CVQߴ?d}gjIPo0mQUPjkV%ѳ3' pr`ܠp;RE_s'qd2غϑm.̕ F5KcSbtUПNc ]hHf~"V _ [*]eQpUgC8VOKv?Ҩߨ|$Tr [6 XyZlI=_akMmov!; l KTe4S)1NuM#XD'sEcrYoѸHJXxEj!sk!~/`P9"Xl_tNK\EaBp iZی#@ i NҥZڰ)IV2@U},6H/l4 {~{es >>:XO wHq<=^;ڼqt882R>Y36`R `flnoNKp+)%iPq>A5J"fհԋ|?܋"6S8BPռz+5*UYЀeXBx';ƽMlus5O4XztTKF|P7*i^dSblʐ"=?-E Oe>sL;m;93aeU:U>7Kֹ'%45KHsdi-7]kLVW{ #Ԇ|0Ƒ_Iw ÷L%@q!x5k7C gL!&ZW23lfЖ$7X K^At5㔆ٸ0QQ{:?X RXfa G?u!l<@3e_4+Cyr"ɤ⩁՝ф$<^ͼFF}UW\Oii)B0@T$:bGW"Hrdzd"1]rh|Ӄ8/KƠr #{9҃DՙU2{caĬ[M Їv[E*k5[?{=~2:Τy@ao^:f1yV2Fxm{o1ml򻁗rBMW x=&e֒tYN5HpL|7(M+T> #/yb׌hZ35S[ELޔV\ڋGD4D#kP-1W5@U2$MxJ8і0GU&[DaذfOt7(;77,2u0 qj\7 ZӀ yox2j36e(}WL5#n.TfG<JMz?ж&l-Pp 0Ϫ#aQޕr; },5Q1IrsS%rF Z\£ Ɨ="Wt u܇DWjDfS1uOYkIkGA+HOc]X|U`qb~b6!ٓV"ULiIˍijnc.,'Gn%4<}` <__Ѐz&hH>lA)Hv}e#"(yeݝDҔ ;`INWq9b6bw+2vOrTJ, VýEMVyb>q 8꺀g6Ra"zN o64;_|X8 hqo3Gݩx9B8N^ڢ@N"ITԓ2 @"Aؼ6Ԍ,!QܛlJwyZ lg^6K_84ၜHPM#vEs+W1h,-cD}gn\aj[aqi hKbǵ:"֊FK3 E*7"!yw^{q>`KU2^ϝP@̂I:y^P> h$ƈ&LڪYxqT"me86:&UsC.fg޲e2jBXwK}[233"O;>1(]uo44+ [a%̍<'vE{Etr;:=63,8LC%T^u٪ zͤEaVfzMd=$1/ C8) dFSmgS &).]Ҝ< y\; VOgqȫv ٤$A)׉M1n^+/ǎ]i^W\a9M2ŽAvFV*\o#%^+43՘$a,ԑ(tДg|WSkVPlKpe,}p=Eh^;5bH<e) ^E? VWf5^@Uk/e0>}*@O\e) ~ AT!奦mjʵOQp ukri_X挆6ޚR? cՈtl}1tCuС5,DJ="'5yQI(g @@4GoKEo7j^~`81l,p̹o)(9hiCunؽN2.͝`HNXM(Xc$2!cʮe~IzRk~R;!YhHb1)װe!qz ku=i& ̀|_;`SEĽ>$8ݞgUo85Aڈ04i p +Y N 6\CGD dždT3׳=pV.(/w T  q(H~*# eai8JFǑ<`͂$?zo,C: 7k:i\өWly%A"~Y+xߚ_OqrtzQn!W7Gvgw(`*ܮk& YS7f# JyY}'{_Nb+܎莝ǻ:! W\5 ̳!@7ǯi5%}BUh]ּ8AX0֠\-dQb)>|G*^PCΠ[pjLl3ӉNXt ]OMծ[cc4ؚm:eWH$p[dbg~g_1[@'4/ 8jp5Z%|x;w^+_ jO (nAQhmq-.V%R{ k5D5\y5U=h57ǸH?l10w3~FR%XT_Uƶe1ԖGV2Q<} *JN֔)^Ɗ(1wug9on.;/ # vNSh,T@إzwUpvYM_B<Ǯ"rjwLsn4%yBABԽ~ӻ4čKAp0d{q4;dWrJ{d!͜H՘FspڄkcƮÿr$%>U'x6'+'pl.t FK&2ZbyH}9r}h,!gq2SBkm.,Nl<P&ÉZО+$x5`($[Ɉc,_ % O~۸+ox#? ݍQ5\#DBUSinhbq%WB*ע΢7A`XM#v"DAc8xm:]3i Mb.hGJ*^2fQp.3k=B#Cg=3Nw&_>4- ?=rhX%B ] m'ys\qNW̝~Wk)t*;Y>k|i 8VڎKIhEu?19ȂX5/e2mšTq zh'%w^ho8+&_Ħ]/իѸ`&^~X~xuĽ0d3{v,F7q`r4lXIhR@'6NVŤ7xKXYq]kW4%զ*s"ˬhwB^`ke19wDg{cr\ssxLx֓b??u5 x$EaIY9zlѺ"r殪JwCZ{_l&bPjŏgk% 6*'k,)ȣ\mQRAo|,(*+vv63# w4hA\5ZB^w=ӯt#H6Z?}$ŀ^.ËlfԽJ!BIيںz@챦0@vz3C J6K9Qfl^/dt# 9Knib:؎w^\b#|."L2=JmdFY@#1'\U'$aBm׭d|BF YY t O5=q Dy(+8BV1{NJ#>G;ˑ .[*JVf+"𠿎Ѣ׽47QY|;a>+ r{ ڇBz?H􃢽>~pi(رA\z.V*1j=9u]O"%t!mN]tLxn*ms2tHk6|caD \ӄ]F±zwVS6!VT1m%Җ!ۻ- 3"\4Є1~!M00#BFHN 7ei7Z-D^%>@UZ +pP "D4CI3`aE Op 4*5T_>·y#3c {PxjݝdSV#F8B˃,lDZhSwБMq\afR^N5+R^+V?r#c;ȾdzmlC 7C0 Y\,rj؅t1v@oj݃s @2O16 Ίإf,Yh gY^hB4`gu&"zEV_WF5]7s|.mXn 嘖#'/?g6|d YW~7w*ct)@43lղKU Ҕcp1)6ۘx /W!tBxLa0_S 8,Y2mk~ϥ;lk8 -yoU5#?PfHxYRB 9vpdVJCq}gcJeU,ׯ%T?-cR5.g-& yhEc}?ti<-P'}y嶼ГW &(8ZlLCnT)D+ [f+6Hjb l=aNyr<:ŽOji< m~7,x~Ac~Bq$(ڝr㌟"dyL_[h^@kth%e6ܽ7Wp9y?T2./{Ϙc^K}׊{ ES Dڠ1Yp"Y 6rɐa2>%#N҄zU] W(_/Lf5\Rz1Ό>-?҅ US/]*, uTDI!z996x8 /2tMj#˽6I1H})n֤rYR~ O4d ,;.n}D{m݂,cѕtΔ?y*1b&5P- e KS~GPy^ w#B{߳S\ӛ12.ܔ|HU)^x}OPYTδY dK!YUh: w_Lݴ| wjsXmHrDӝ0g@{&7r^%',zIq& zM:YIؘPuuv}!њrIv\ēi!lUv]KN$\r!px(8: AM {ڃd({KzNuDՌ orY pT*+. r]a^`x;|sUß+V n#-HB^Khaag2(Svr!^@9?~A>Y w [M}iZj<$(&Y~ :c_)x y_.m9t[b^m)zħs?A|+nSl^QWfQO.b-!6cF~7mu''zPK%( * $Ē!S/^[0YO&Ԏ=bIćN3G;":+ 4 #S0MNȊ"o$m. eov;,^@^?] 4r\Jˣ8-z7gq@*rq(TK$"+j)Z'n|SZӦw.N79gEW8`/7oEDSլݜI @ R LF9.rSagIBR 8s{*a>5 a5ٟ/dyYr_[v@7~4VQe)옟p-q.)9."LB^jm߸I{J?{ ǯJft fRͬ^SLAJ*ɚ^88+iysi(_yB?vF3>a|mk lg 0#|81_:xu`<֨c xІGtdB|Ohȕ#ڳ/w3U *'c2&o$e]N,DҀT킉ךwr/ lw,ys/ bVs{ ) L>}^L,cxw6/̻B4-"x;CV&B -nY%I߲֣_NW$stCJrX6+j{V`9aGt]B"YJ0TF!o[Nls0?*S.')Kn@]4eU78g@\497չݬfB 5?&+ b!m|ҧ/u7s;#T;ȬSxɻWr =h{/<1-Nҋ On7y҇\"6ax@UfRiYF/-wbf9#Lq?JE_,ʕdZHƓhqG[Qzj08vuI_Rv(HR\%~, Bx3h&ah1۱٫(ldV*"5l*_L87$+P:dp jd$,9F8ɎPj:И,k%V:4"r@)9U75X:JOKLѷ=1};- G hؚ *tu4fYR2X">6uR κER N%GY]{.Z2>ϚYh;MrgF):SoEEG4V,jPmN-xqF'ۣ/.Aġ~?[ehp #/2}s o4}no.$F=߷_Kës*JKnV3oeQ q,_C_> BV.РOOchG/l!Oqhϧu\rsDi@Jm^o;DvmrMFlJUp "UgIl3!QìL0CFrOҪ 76AXa&q\ {E}㞹H F#oy#KҨ1m< G-|Îhm%EQF3cEav<evS4a{︋kCd {d "YW/7; -I/Y[ !=rtHY{ZC׊2q{q䬢D!f^tY(| ȓW *ihV^;< :]:Cə)nUS&3 C<%g1Qe޳1SAԲ^?`0ѧ2'Dt`tt 5GU {dn)U#ˍ$?o]f!SVHuV<]E0M nS)  ="!=J=veW˫ &Ljޣd<羂Od?\`5 vݒxN$V0ZRρђ[MGBQ/ (݁2@(m}- S+:djŘLGSËE+rq7q &du!FiGD xG?2Q;;[jybf YZd&>`mf XΓ7$K VG5V[{H۬Z s(9F4s09E}y9Gȓu׆R~L`R} WWފThD6=r$nSf3.SFD#xgܪ猂M5*մIG2Bw',KX&ojWlҟgGoȀx1d^,Yކ) xWȅK'T!c<~ |tL@\@u'ږ$. YSkE*μsH5tߧPqRDij!d }R0$L;16zGg"YyY*Jc@6G@(һ뫯PEYUXYg_#>b̋nK˥UjH&bjyW}bš2iI lz*S}u}c ѺꌞR9ε" LxP}tv#8Q./zF0xPpV޵p}ҡ m ~~d>|qkE:oLc9+W?TÈb >4^>KEҊC'K(;TH6z̈́u%/ud،HIE$ui q c^iAZی' QYWTy0P/J{)NJf+5oi݁T&*Z>KL% A;33Qn1DʻYfO 0ńJ֊;f*SF,{z~ _1HMrYc1Y 7r5NE"Yĺ=H=hPlI6;D<bX;[WƘ?>Fgy{@&UBVS<*Ԗdym97,Ԭ-xnu6$س%(Z"d5rqW,>鼜j hgsREӆTe>膥 8fh.!,wjDG9 M )TҊ6'0fZC6~Ũ\e+5P3Ej{nw|EI+$kK1|]יO{Leۆe pOuYmZOh,}M}rR5Sd*rBjj۹8 }_Xaf[U-m؁3lxu\0 !$DoDld.҃4uAoXc߅楥r(:"dKnXIfo3'vjh_Z9o 7 7SU1Dw|Bx1)W.tTrOK , .0P;zWؕ#1|SU^!J !RiAd>V9A18]O6rtemk -Vn銇8,A&H_} W 'wFc%#K縔X߹S} DS% VB@ޙ\Zᱯr)7x`SKVt)^+ɧͶ?}Att?nE>\D[kʾQ NgN xj,'1NE Fݱ^ug]ãf,- CRQKYZH$irmov0[`6UayST5һQ/A%R@ndQA@ 8 ͍"%a܄Iap`ؠh:"(:ݗǁZ{""~eHX@\lNSˬ9fՂCJv30k@D\l4V@.] >V`0+7*]߸xl5:Q}06H^t+(XY7TF+]J8OsE]#]HFQZ pnx /+ʥ/ϑ07xvuO +5"~N6pYarMZ(%\ܰ'F]0dP%d=t(~Cdw%)ƩN"̷ ^n=2suoZ/$}co)K>҇?w[VX!=if%'#=E7z^``Ynwc.i/~q^JN&ƏE6n5[&\Lpl QiפC kmꀂO\ڀ2b|Eu} }ė̴BTV6=0c*Y1c: cMx4pc?ս9،^G :K$6+3nj,s#CEB`L| W1wϰFv9놨d?0$bR`g9RUwuOi.,:J#mr9wMNj㩡$߳$OM9{[L"6]%Ӂ"tA"?ʳ1*` >"ƢҼ.W'? N(裥>RGA '"2l} d^03c ) -hcSN+E)w){pΜ2vR.М[ML%[ \PYݗ3l ٱe p M[Vit~N# ˞Aϵ>-lʹ< Azxwq:@}E'ܟW8(iUmeVr}O̴gF,DJ<Κg9 6Ur`!e" #VԦ)lo'T WZrZlP<0^wW7ߜLvzL `6q^J8q> z`