classes
ValueSpecification
integerValue
booleanValue
stringValue
unlimitedValue
isNull
isComputable
TypedElement
type
NamedElement
allNamespaces
separator
name
visibility
qualifiedName
namespace
Element
allOwnedElements
mustBeOwned
ownedElement
owner
ownedComment
Comment
annotatedElement
body
VisibilityKind
public
public
private
private
protected
protected
package
package
Namespace
member
elementImport
packageImport
importedMember
ownedMember
ElementImport
visibility
alias
importedElement
importingNamespace
PackageableElement
PackageImport
importedPackage
importingNamespace
visibility
Package
packagedElement
ownedType
nestedPackage
nestingPackage
Type
package
StructuralFeature
readOnly
false
Feature
featuringClassifier
static
false
RedefinableElement
leaf
false
redefinedElement
redefinitionContext
Classifier
allFeatures
abstract
false
generalization
feature
inheritedMember
attribute
general
finalSpecialization
false
Generalization
substitutable
general
specific
Property
readOnly
false
derived
false
derivedUnion
false
aggregation
composite
false
owningAssociation
association
datatype
class
opposite
AggregationKind
none
none
shared
shared
composite
composite
Association
derived
false
endType
memberEnd
navigableOwnedEnd
ownedEnd
DataType
ownedAttribute
MultiplicityElement
lowerBound
upperBound
ordered
false
unique
true
upper
1
lower
1
upperValue
lowerValue
BehavioralFeature
ownedParameter
abstract
false
Parameter
direction
ParameterDirectionKind
in
in
inout
inout
out
out
return
return
Operation
returnResult
query
false
ordered
false
unique
true
lower
upper
class
redefinedOperation
type
InstanceSpecification
classifier
slot
Slot
definingFeature
value
owningInstance
InstanceValue
instance
LiteralBoolean
booleanValue
isComputable
value
false
LiteralSpecification
LiteralInteger
integerValue
isComputable
value
0
LiteralNull
isComputable
isNull
LiteralString
isComputable
stringValue
value
LiteralUnlimitedNatural
isComputable
unlimitedValue
value
0
PrimitiveType
Enumeration
ownedLiteral
EnumerationLiteral
enumeration
Class
ownedAttribute
ownedOperation
superClass
active
false
nestedClassifier
Model
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="classes" nsURI="http://classdiagram/1.0" nsPrefix="classes">
  <eAnnotations source="http://www.eclipse.org/OCL/Import">
    <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore#/"/>
  </eAnnotations>
  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
    <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="ValueSpecification" abstract="true"
      eSuperTypes="#//TypedElement">
    <eOperations name="integerValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="Set{}"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="booleanValue" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="Set{}"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="stringValue" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="Set{}"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="unlimitedValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="Set{}"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isNull" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="false"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isComputable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="false"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypedElement" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding property from Basic to derive this information&#xA;from the return result for this Operation.&#xA;The type of the TypedElement."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="visibility_needs_ownership"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="visibility_needs_ownership" value="namespace->isEmpty() implies visibility->isEmpty()"/>
    </eAnnotations>
    <eOperations name="allNamespaces" upperBound="-1" eType="#//Namespace">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;&#x9;&#x9;&#x9;if namespace->isEmpty() then Sequence{}&#xA;&#x9;&#x9;&#x9;&#x9;else namespace.allNamespaces()->prepend(namespace)&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="separator" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="'::'"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The name of the NamedElement."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" eType="#//VisibilityKind"
        unsettable="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines where the NamedElement appears within different Namespaces within&#xA;the overall model, and its accessibility."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
        changeable="false" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A name which allows the NamedElement to be identified within a hierarchy of&#xA;nested Namespaces. It is constructed from the names of the containing namespaces&#xA;starting at the root of the hierarchy and ending with the name of the NamedElement&#xA;itself."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="name"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" eType="#//Namespace"
        changeable="false" volatile="true" transient="true" derived="true" eOpposite="#//Namespace/ownedMember">
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="not_own_self has_owner"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="not_own_self" value="not allOwnedElements()->includes(self)"/>
      <details key="has_owner" value="mustBeOwned() implies owner->notEmpty()"/>
    </eAnnotations>
    <eOperations name="allOwnedElements" ordered="false" upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="mustBeOwned" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedElement" ordered="false"
        upperBound="-1" eType="#//Element" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Element/owner">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Elements owned by this element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//Element"
        changeable="false" volatile="true" transient="true" derived="true" eOpposite="#//Element/ownedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Element that owns this element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedComment" ordered="false"
        upperBound="-1" eType="#//Comment" containment="true">
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Comment">
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" ordered="false"
        upperBound="-1" eType="#//Element"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
    <eLiterals name="public"/>
    <eLiterals name="private" value="1"/>
    <eLiterals name="protected" value="2"/>
    <eLiterals name="package" value="3"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"
        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
        transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="elementImport" ordered="false"
        upperBound="-1" eType="#//ElementImport" containment="true" eOpposite="#//ElementImport/importingNamespace">
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="packageImport" ordered="false"
        upperBound="-1" eType="#//PackageImport" containment="true" eOpposite="#//PackageImport/importingNamespace">
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedMember" ordered="false"
        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMember" ordered="false"
        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
        transient="true" derived="true" eOpposite="#//NamedElement/namespace">
      <eAnnotations source="subsets" references="#//Namespace/member #//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ElementImport" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="visibility_public_or_private imported_element_is_public"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="visibility_public_or_private" value="visibility = VisibilityKind::public or visibility = VisibilityKind::private"/>
      <details key="imported_element_is_public" value="importedElement.visibility &lt;> null implies importedElement.visibility = VisibilityKind::public"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" lowerBound="1"
        eType="#//VisibilityKind"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
        unsettable="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedElement" lowerBound="1"
        eType="#//PackageableElement"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" lowerBound="1"
        eType="#//Namespace" eOpposite="#//Namespace/elementImport">
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"
      eSuperTypes="#//NamedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="PackageImport" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="public_or_private"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="public_or_private" value="visibility = VisibilityKind::public or visibility = VisibilityKind::private"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedPackage" lowerBound="1"
        eType="#//Package"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" lowerBound="1"
        eType="#//Namespace" eOpposite="#//Namespace/packageImport">
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" lowerBound="1"
        eType="#//VisibilityKind"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace #//PackageableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="elements_public_or_private"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="elements_public_or_private" value="ownedElement->select(e | e->oclIsKindOf(NamedElement)) -> forAll( e | e->oclAsType(NamedElement).visibility->notEmpty() implies e->oclAsType(NamedElement).visibility = VisibilityKind::public or e->oclAsType(NamedElement).visibility = VisibilityKind::private)"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="packagedElement" ordered="false"
        upperBound="-1" eType="#//PackageableElement" containment="true">
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" ordered="false"
        upperBound="-1" eType="#//Type" volatile="true" transient="true" derived="true"
        eOpposite="#//Type/package">
      <eAnnotations source="subsets" references="#//Package/packagedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedPackage" ordered="false"
        upperBound="-1" eType="#//Package" volatile="true" transient="true" derived="true"
        eOpposite="#//Package/nestingPackage">
      <eAnnotations source="subsets" references="#//Package/packagedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestingPackage" eType="#//Package"
        volatile="true" transient="true" derived="true" eOpposite="#//Package/nestedPackage">
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//PackageableElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="package" eType="#//Package"
        volatile="true" transient="true" unsettable="true" derived="true" eOpposite="#//Package/ownedType"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//Feature #//MultiplicityElement #//TypedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="States whether the feature's value may be modified by a client."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//RedefinableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="non_static non_leaf"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="non_static" value="static = false"/>
      <details key="non_leaf" value="redefinedElement->forAll(r | r.leaf = false)"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="featuringClassifier" ordered="false"
        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Classifier/feature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding association in Abstractions.&#xA;The Classifiers that have this Feature as a feature."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="static" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether this feature characterizes individual instances classified&#xA;by the classifier (false) or the classifier itself (true)."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true"
      eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="leaf" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether it is possible to further specialize a RedefinableElement.&#xA;If the value is true, then it is not possible to further specialize the&#xA;RedefinableElement."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"
        upperBound="-1" eType="#//RedefinableElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The redefinable element that is being redefined by this element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the contexts that this element may be redefined from."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//Namespace #//Type">
    <eOperations name="allFeatures" upperBound="-1" eType="#//Feature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="member->select(m | m->oclIsKindOf(Feature))"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, the Classifier does not provide a complete declaration and can&#xA;typically not be instantiated. An abstract classifier is intended to be used by&#xA;other classifiers e.g. as the target of general metarelationships or&#xA;generalization relationships."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="generalization" ordered="false"
        upperBound="-1" eType="#//Generalization" containment="true" eOpposite="#//Generalization/specific">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the Generalization relationships for this Classifier. These&#xA;Generalizations navigaten to more general classifiers in the generalization&#xA;hierarchy."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="feature" ordered="false"
        upperBound="-1" eType="#//Feature" changeable="false" volatile="true" transient="true"
        derived="true" eOpposite="#//Feature/featuringClassifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding association in Abstractions. Note that there may&#xA;be members of the Classifier that are of the type Feature but are not included in&#xA;this association, e.g. inherited features.&#xA;Specifies each feature defined in the classifier."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedMember" ordered="false"
        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
        transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies all elements inherited by this classifier from the general&#xA;classifiers."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/member"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" ordered="false"
        upperBound="-1" eType="#//Property" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Refers to all of the Properties that are direct (i.e. not inherited or import&#xA;fUML.Syntax.d) attributes of the classifier."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="general" ordered="false"
        upperBound="-1" eType="#//Classifier" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalSpecialization" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Generalization" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="substitutable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether the specific classifier can be used wherever the general&#xA;classifier can be used. If true, the execution traces of the specific classifier&#xA;will be a superset of the execution traces of the general classifier."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="general" lowerBound="1"
        eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the general classifier in the Generalization relationship."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specific" lowerBound="1"
        eType="#//Classifier" eOpposite="#//Classifier/generalization">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the specializing classifier in the Generalization&#xA;relationship."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//StructuralFeature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="no_derivation multiplicity_of_composite derived_union_is_read_only"/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EAttribute" name="readOnly" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          defaultValueLiteral="false">
        <eAnnotations source="redefines" references="#//StructuralFeature/readOnly"/>
      </contents>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="no_derivation" value="derived = false and derivedUnion = false"/>
      <details key="multiplicity_of_composite" value="composite implies (upperBound()->isEmpty() or upperBound() &lt;= 1)"/>
      <details key="derived_union_is_read_only" value="derivedUnion implies readOnly"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="derived" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isDerived is true, the value of the attribute is derived from information&#xA;elsewhere.&#xA;Specifies whether the Property is derived, i.e., whether its value or values&#xA;can be computed from other information."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="derivedUnion" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the property is derived as the union of all of the&#xA;properties that are constrained to subset it."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="aggregation" lowerBound="1"
        eType="#//AggregationKind">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the kind of aggregation that applies to the Property."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="composite" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" volatile="true"
        transient="true" defaultValueLiteral="false" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isComposite is true, the object containing the attribute is a container for&#xA;the object or value contained in the attribute.&#xA;This is a derived value, indicating whether the aggregation of the Property is&#xA;composite or not."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="aggregation = AggregationKind::composite"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningAssociation" eType="#//Association"
        eOpposite="#//Association/ownedEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the owning association of this property, if any.&#xA;References the owning association of this property."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//Property/association"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="association" eType="#//Association"
        eOpposite="#//Association/memberEnd">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the association of which this property is a member, if any."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" eType="#//DataType"
        eOpposite="#//DataType/ownedAttribute">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The DataType that owns this Operation.&#xA;The DataType that owns this Property."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="class" eType="#//Class"
        eOpposite="#//Class/ownedAttribute">
      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//Property"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="&#xA;&#x9;&#x9;&#x9;if owningAssociation->isEmpty() and association.memberEnd->size() = 2 then&#xA;&#x9;&#x9;&#x9;&#x9;if (association.memberEnd->excluding(self)->first().owningAssociation->isEmpty()) then association.memberEnd->excluding(self)->first()&#xA;&#x9;&#x9;&#x9;&#x9;else Set{}&#xA;&#x9;&#x9;&#x9;&#x9;endif&#xA;&#x9;&#x9;&#x9;else Set{}&#xA;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="AggregationKind">
    <eLiterals name="none">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the property has no aggregation."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="shared" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the property has a shared aggregation."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="composite" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that the property is aggregated compositely, i.e., the composite&#xA;object has responsibility for the existence and storage of the composed objects&#xA;(parts)."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="owns_member_ends no_deriviation binary_associations association_ends binary_associations_only"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="owns_member_ends" value="memberEnd->symmetricDifference(ownedEnd)->isEmpty()"/>
      <details key="no_deriviation" value="derived = false"/>
      <details key="binary_associations" value="memberEnd->exists(e | e.aggregation &lt;> AggregationKind::none) implies memberEnd->size() = 2"/>
      <details key="association_ends" value="&#xA;&#x9;&#x9;&#x9;&#x9;if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)&#xA;&#x9;&#x9;&#x9;&#x9;else true&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      <details key="binary_associations_only" value="memberEnd->size() = 2"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="derived" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether the association is derived from other model elements such as&#xA;other associations or constraints."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="endType" lowerBound="1"
        upperBound="-1" eType="#//Type" changeable="false" volatile="true" transient="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the classifiers that are used as types of the ends of the&#xA;association."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="memberEnd.type"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="memberEnd" lowerBound="2"
        upperBound="-1" eType="#//Property" eOpposite="#//Property/association">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Each end represents participation of instances of the classifier connected to&#xA;the end in links of the association. This is an ordered association.&#xA;Each end represents participation of instances of the classifier connected to&#xA;the end in links of the association."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="navigableOwnedEnd" ordered="false"
        upperBound="-1" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The navigable ends that are owned by the association itself."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Association/ownedEnd"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedEnd" upperBound="-1"
        eType="#//Property" containment="true" eOpposite="#//Property/owningAssociation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ends that are owned by the association itself. This is an ordered&#xA;association.&#xA;The ends that are owned by the association itself."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Association/memberEnd #//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataType" eSuperTypes="#//Classifier">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
        eType="#//Property" containment="true" eOpposite="#//Property/datatype">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Attributes owned by the DataType."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MultiplicityElement" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="upperBoundGreaterZero lowerBoundGreaterOrEqualsZero upperBoundGreaterOrEqualsLowerBound derivedLowerBoundEqualsLower derivedUppoerboundEqualsUpper boundTypes"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="upperBoundGreaterZero" value="upperBound()->notEmpty() implies upperBound() > 0"/>
      <details key="lowerBoundGreaterOrEqualsZero" value="lowerBound()->notEmpty() implies lowerBound() >= 0"/>
      <details key="upperBoundGreaterOrEqualsLowerBound" value="(upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()"/>
      <details key="derivedLowerBoundEqualsLower" value="lower = lowerBound()"/>
      <details key="derivedUppoerboundEqualsUpper" value="upper = upperBound()"/>
      <details key="boundTypes" value="upperValue->notEmpty() and &#xA;&#x9;&#x9;&#x9;upperValue->asSequence()->first().oclIsKindOf(LiteralUnlimitedNatural) and &#xA;&#x9;&#x9;&#x9;lowerValue->notEmpty() and &#xA;&#x9;&#x9;&#x9;lowerValue->asSequence()->first().oclIsKindOf(LiteralInteger)"/>
    </eAnnotations>
    <eOperations name="lowerBound" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;&#x9;&#x9;&#x9;if (lowerValue->isEmpty()) then 1&#xA;&#x9;&#x9;&#x9;&#x9;else lowerValue->asOrderedSet()->first().integerValue()&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="upperBound" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;&#x9;&#x9;&#x9;if (upperValue->isEmpty()) then 1&#xA;&#x9;&#x9;&#x9;&#x9;else upperValue->asOrderedSet()->first().integerValue()&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordered" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For a multivalued multiplicity, this attribute specifies whether the values in&#xA;an instantiation of this element are sequentially ordered..&#xA;For a multivalued multiplicity, this attribute specifies whether the values in&#xA;an instantiation of this element are sequentially ordered."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For a multivalued multiplicity, this attributes specifies whether the values&#xA;in an instantiation of this element are unique."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
        defaultValueLiteral="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the upper bound of the multiplicity interval.&#xA;Specifies the upper bound of the multiplicity interval, if it is expressed as&#xA;an unlimited natural."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
        defaultValueLiteral="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the lower bound of the multiplicity interval.&#xA;Specifies the lower bound of the multiplicity interval, if it is expressed as&#xA;an integer."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="upperValue" eType="#//ValueSpecification"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specification of the upper bound for this multiplicity."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="lowerValue" eType="#//ValueSpecification"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specification of the lower bound for this multiplicity."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BehavioralFeature" abstract="true" eSuperTypes="#//Feature">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
        eType="#//Parameter" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the ordered set of formal parameters of this&#xA;BehavioralFeature.&#xA;Specifies the ordered set of formal parameters owned by this&#xA;BehavioralFeature. The parameter direction can be 'in', 'inout', 'out', pr&#xA;'return' to specify input, output, or return parameters."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If true, then the behavioral feature does not have an implementation, and one&#xA;must be supplied by a more specific element. If false, the behavioral feature must&#xA;have an implementation in the classifier or one must be inherited from a more&#xA;general element."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//MultiplicityElement #//TypedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" lowerBound="1"
        eType="#//ParameterDirectionKind">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates whether a parameter is being sent into or out of a behavioral&#xA;element."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="ParameterDirectionKind">
    <eLiterals name="in">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that parameter values are passed into the behavioral element by the&#xA;caller."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="inout" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that parameter values are passed into a behavioral element by the&#xA;caller and then back out to the caller from the behavioral element."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="out" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that parameter values are passed from a behavioral element out to&#xA;the caller."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="return" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates that parameter values are passed as return values from a behavioral&#xA;element back to the caller."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//BehavioralFeature">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="at_most_one_return"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="at_most_one_return" value="ownedParameter->select( par | par.direction = ParameterDirectionKind::return )->size() &lt;= 1"/>
    </eAnnotations>
    <eOperations name="returnResult" ordered="false" upperBound="-1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedParameter->select( par | par.direction = ParameterDirectionKind::return)"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="query" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies whether an execution of the BehavioralFeature leaves the state of&#xA;the system unchanged (isQuery=true) or whether side effects may occur&#xA;(isQuery=false)."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordered" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding property from Basic to derive this information&#xA;from the return result for this Operation.&#xA;Specifies whether the return parameter is ordered or not, if present."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="&#xA;&#x9;&#x9;&#x9;&#x9;if (returnResult()->notEmpty()) then&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;returnResult()->asSequence()->first().ordered&#xA;&#x9;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;false&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding property from Basic to derive this information&#xA;from the return result for this Operation.&#xA;Specifies whether the return parameter is unique or not, if present."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="&#xA;&#x9;&#x9;&#x9;&#x9;if (returnResult()->notEmpty()) then&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;returnResult()->asSequence()->first().unique&#xA;&#x9;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;true&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding property from Basic to derive this information&#xA;from the return result for this Operation.&#xA;Specifies the lower multiplicity of the return parameter, if present."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="&#xA;&#x9;&#x9;&#x9;&#x9;if (returnResult()->notEmpty()) then&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;returnResult()->asSequence()->first().lower&#xA;&#x9;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Set{}&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
        derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding property from Basic to derive this information&#xA;from the return result for this Operation.&#xA;Specifies the upper multiplicity of the return parameter, if present."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="&#xA;&#x9;&#x9;&#x9;&#x9;if (returnResult()->notEmpty()) then&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;returnResult()->asSequence()->first().upper&#xA;&#x9;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Set{}&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="class" eType="#//Class"
        eOpposite="#//Class/ownedOperation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The class that owns the operation.&#xA;The class that owns this operation."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperation" ordered="false"
        upperBound="-1" eType="#//Operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Operations that are redefined by this Operation."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Type" changeable="false"
        volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Redefines the corresponding property from Basic to derive this information&#xA;from the return result for this Operation.&#xA;Specifies the return result of the operation, if present."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="derivation" value="&#xA;&#x9;&#x9;&#x9;&#x9;if (returnResult()->notEmpty()) then&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;returnResult()->asSequence()->first().type&#xA;&#x9;&#x9;&#x9;&#x9;else&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Set{}&#xA;&#x9;&#x9;&#x9;&#x9;endif"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InstanceSpecification" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="possible_classifiers defining_feature structural_feature"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
      <details key="possible_classifiers" value="classifier->forAll(c | c->oclIsKindOf(Class)) or classifier->size() = 1 and classifier->forAll(c | c->oclIsKindOf(DataType))"/>
      <details key="defining_feature" value="slot->forAll(s | classifier->exists(c | c.allFeatures()->includes(s.definingFeature)))"/>
      <details key="structural_feature" value="classifier->forAll(c | (c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
        upperBound="-1" eType="#//Classifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The classifier or classifiers of the represented instance. If multiple&#xA;classifiers are specified, the instance is classified by all of them."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="slot" ordered="false" upperBound="-1"
        eType="#//Slot" containment="true" eOpposite="#//Slot/owningInstance">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A slot giving the value or values of a structural feature of the instance. An&#xA;instance specification can have one slot per structural feature of its&#xA;classifiers, including inherited features. It is not necessary to model a slot for&#xA;each structural feature, in which case the instance specification is a partial&#xA;description."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Slot" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="definingFeature" lowerBound="1"
        eType="#//StructuralFeature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The structural feature that specifies the values that may be held by the&#xA;slot."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1"
        eType="#//ValueSpecification" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The value or values corresponding to the defining feature for the owning&#xA;instance specification."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningInstance" lowerBound="1"
        eType="#//InstanceSpecification" eOpposite="#//InstanceSpecification/slot">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The instance specification that owns this slot."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Element/owner"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InstanceValue" eSuperTypes="#//ValueSpecification">
    <eStructuralFeatures xsi:type="ecore:EReference" name="instance" lowerBound="1"
        eType="#//InstanceSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The instance that is the specified value."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralBoolean" eSuperTypes="#//LiteralSpecification">
    <eOperations name="booleanValue" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="value"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isComputable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
        defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified Boolean value."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralSpecification" abstract="true"
      eSuperTypes="#//ValueSpecification"/>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralInteger" eSuperTypes="#//LiteralSpecification">
    <eOperations name="integerValue" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="value"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isComputable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
        defaultValueLiteral="0">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified Integer value."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralNull" eSuperTypes="#//LiteralSpecification">
    <eOperations name="isComputable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isNull" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralString" eSuperTypes="#//LiteralSpecification">
    <eOperations name="isComputable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="stringValue" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="value"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified String value."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralUnlimitedNatural" eSuperTypes="#//LiteralSpecification">
    <eOperations name="isComputable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="unlimitedValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="value"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
        defaultValueLiteral="0">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The specified UnlimitedNatural value."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType"/>
  <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//DataType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLiteral" upperBound="-1"
        eType="#//EnumerationLiteral" containment="true" eOpposite="#//EnumerationLiteral/enumeration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered collection of literals for the enumeration.&#xA;The ordered set of literals for this Enumeration."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//InstanceSpecification">
    <eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" eType="#//Enumeration"
        eOpposite="#//Enumeration/ownedLiteral">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The enumeration that this literal belongs to.&#xA;The Enumeration that this EnumerationLiteral is a member of."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Classifier">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Only an active class may specialize an active class.&#xA;Only an abstract class may have abstract behavioral features."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
        eType="#//Property" containment="true" eOpposite="#//Property/class">
      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
        eType="#//Operation" containment="true" eOpposite="#//Operation/class">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operations owned by the class."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superClass" ordered="false"
        upperBound="-1" eType="#//Class" volatile="true" transient="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="This gives the superclasses of a class."/>
      </eAnnotations>
      <eAnnotations source="redefines" references="#//Classifier/general"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="active" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines whether an object specified by this class is active or not. If&#xA;true, then the owning class is referred to as an active class. If false, then such&#xA;a class is referred to as a passive class."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
        eType="#//Classifier" containment="true">
      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//Package"/>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"classes","nsURI":"http://classdiagram/1.0","name":"classes","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ValueSpecification","instanceClass":null,"abstract":true,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedElement","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":true,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Element","instanceClass":null,"abstract":true,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Comment","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"VisibilityKind","instanceClass":null,"id":6,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Namespace","instanceClass":null,"abstract":true,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ElementImport","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PackageableElement","instanceClass":null,"abstract":true,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PackageImport","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Package","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Type","instanceClass":null,"abstract":true,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StructuralFeature","instanceClass":null,"abstract":true,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Feature","instanceClass":null,"abstract":true,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RedefinableElement","instanceClass":null,"abstract":true,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Classifier","instanceClass":null,"abstract":true,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Generalization","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Property","instanceClass":null,"abstract":false,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"AggregationKind","instanceClass":null,"id":19,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Association","instanceClass":null,"abstract":false,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataType","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MultiplicityElement","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BehavioralFeature","instanceClass":null,"abstract":true,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ParameterDirectionKind","instanceClass":null,"id":25,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Operation","instanceClass":null,"abstract":false,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InstanceSpecification","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Slot","instanceClass":null,"abstract":false,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InstanceValue","instanceClass":null,"abstract":false,"id":29,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralBoolean","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralSpecification","instanceClass":null,"abstract":true,"id":31,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralInteger","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralNull","instanceClass":null,"abstract":false,"id":33,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralString","instanceClass":null,"abstract":false,"id":34,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralUnlimitedNatural","instanceClass":null,"abstract":false,"id":35,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"abstract":false,"id":36,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Enumeration","instanceClass":null,"abstract":false,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumerationLiteral","instanceClass":null,"abstract":false,"id":38,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Class","instanceClass":null,"abstract":false,"id":39,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Model","instanceClass":null,"abstract":false,"id":40,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"integerValue","lowerBound":0,"id":41,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"booleanValue","lowerBound":1,"id":42,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"stringValue","lowerBound":1,"id":43,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"unlimitedValue","lowerBound":0,"id":44,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isNull","lowerBound":1,"id":45,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":46,"many":false,"required":true,"eClass":"EOperation"},{"id":47,"eClass":"EGenericType"},{"id":48,"eClass":"EGenericType"},{"id":49,"eClass":"EGenericType"},{"id":50,"eClass":"EGenericType"},{"id":51,"eClass":"EGenericType"},{"id":52,"eClass":"EGenericType"},{"id":53,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"id":54,"derived":false},{"id":55,"eClass":"EGenericType"},{"id":56,"eClass":"EGenericType"},{"ordered":true,"upperBound":-1,"unique":true,"name":"allNamespaces","lowerBound":0,"id":57,"many":true,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"separator","lowerBound":1,"id":58,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":59,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"visibility","changeable":true,"lowerBound":0,"iD":false,"id":60,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"qualifiedName","changeable":false,"lowerBound":0,"iD":false,"id":61,"derived":true},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"namespace","changeable":false,"resolveProxies":true,"lowerBound":0,"id":62,"derived":true},{"id":63,"eClass":"EGenericType"},{"id":64,"eClass":"EGenericType"},{"id":65,"eClass":"EGenericType"},{"id":66,"eClass":"EGenericType"},{"id":67,"eClass":"EGenericType"},{"id":68,"eClass":"EGenericType"},{"id":69,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"ownedMember","changeable":false,"resolveProxies":true,"lowerBound":0,"id":70,"derived":true},{"ordered":false,"upperBound":-1,"unique":true,"name":"allOwnedElements","lowerBound":0,"id":71,"many":true,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"mustBeOwned","lowerBound":1,"id":72,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"ownedElement","changeable":false,"resolveProxies":true,"lowerBound":0,"id":73,"derived":true},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"owner","changeable":false,"resolveProxies":true,"lowerBound":0,"id":74,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedComment","changeable":true,"resolveProxies":true,"lowerBound":0,"id":75,"derived":false},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"id":79,"eClass":"EGenericType"},{"id":80,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"annotatedElement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":81,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"body","changeable":true,"lowerBound":0,"iD":false,"id":82,"derived":false},{"id":83,"eClass":"EGenericType"},{"id":84,"eClass":"EGenericType"},{"name":"public","id":85,"value":0,"literal":"public","eClass":"EEnumLiteral"},{"name":"private","id":86,"value":1,"literal":"private","eClass":"EEnumLiteral"},{"name":"protected","id":87,"value":2,"literal":"protected","eClass":"EEnumLiteral"},{"name":"package","id":88,"value":3,"literal":"package","eClass":"EEnumLiteral"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"member","changeable":false,"resolveProxies":true,"lowerBound":0,"id":89,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"elementImport","changeable":true,"resolveProxies":true,"lowerBound":0,"id":90,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"packageImport","changeable":true,"resolveProxies":true,"lowerBound":0,"id":91,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"importedMember","changeable":false,"resolveProxies":true,"lowerBound":0,"id":92,"derived":true},{"id":93,"eClass":"EGenericType"},{"id":94,"eClass":"EGenericType"},{"id":95,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"importingNamespace","changeable":true,"resolveProxies":true,"lowerBound":1,"id":96,"derived":false},{"id":97,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"importingNamespace","changeable":true,"resolveProxies":true,"lowerBound":1,"id":98,"derived":false},{"id":99,"eClass":"EGenericType"},{"id":100,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"visibility","changeable":true,"lowerBound":1,"iD":false,"id":101,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"alias","changeable":true,"lowerBound":0,"iD":false,"id":102,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"importedElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":103,"derived":false},{"id":104,"eClass":"EGenericType"},{"id":105,"eClass":"EGenericType"},{"id":106,"eClass":"EGenericType"},{"id":107,"eClass":"EGenericType"},{"id":108,"eClass":"EGenericType"},{"id":109,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"importedPackage","changeable":true,"resolveProxies":true,"lowerBound":1,"id":110,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"visibility","changeable":true,"lowerBound":1,"iD":false,"id":111,"derived":false},{"id":112,"eClass":"EGenericType"},{"id":113,"eClass":"EGenericType"},{"id":114,"eClass":"EGenericType"},{"id":115,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"packagedElement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":116,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"ownedType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":117,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"nestedPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":118,"derived":true},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"nestingPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":119,"derived":true},{"id":120,"eClass":"EGenericType"},{"id":121,"eClass":"EGenericType"},{"id":122,"eClass":"EGenericType"},{"id":123,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":true,"transient":true,"unique":true,"name":"package","changeable":true,"resolveProxies":true,"lowerBound":0,"id":124,"derived":true},{"id":125,"eClass":"EGenericType"},{"id":126,"eClass":"EGenericType"},{"id":127,"eClass":"EGenericType"},{"id":128,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"readOnly","changeable":true,"lowerBound":0,"iD":false,"id":129,"derived":false},{"id":130,"eClass":"EGenericType"},{"id":131,"eClass":"EGenericType"},{"id":132,"eClass":"EGenericType"},{"id":133,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"featuringClassifier","changeable":false,"resolveProxies":true,"lowerBound":0,"id":134,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"static","changeable":true,"lowerBound":1,"iD":false,"id":135,"derived":false},{"id":136,"eClass":"EGenericType"},{"id":137,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"feature","changeable":false,"resolveProxies":true,"lowerBound":0,"id":138,"derived":true},{"id":139,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"leaf","changeable":true,"lowerBound":1,"iD":false,"id":140,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"redefinedElement","changeable":false,"resolveProxies":true,"lowerBound":0,"id":141,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"redefinitionContext","changeable":false,"resolveProxies":true,"lowerBound":0,"id":142,"derived":true},{"id":143,"eClass":"EGenericType"},{"id":144,"eClass":"EGenericType"},{"id":145,"eClass":"EGenericType"},{"id":146,"eClass":"EGenericType"},{"ordered":true,"upperBound":-1,"unique":true,"name":"allFeatures","lowerBound":0,"id":147,"many":true,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"abstract","changeable":true,"lowerBound":1,"iD":false,"id":148,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"generalization","changeable":true,"resolveProxies":true,"lowerBound":0,"id":149,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"inheritedMember","changeable":false,"resolveProxies":true,"lowerBound":0,"id":150,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"attribute","changeable":false,"resolveProxies":true,"lowerBound":0,"id":151,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"general","changeable":true,"resolveProxies":true,"lowerBound":0,"id":152,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"finalSpecialization","changeable":true,"lowerBound":1,"iD":false,"id":153,"derived":false},{"id":154,"eClass":"EGenericType"},{"id":155,"eClass":"EGenericType"},{"id":156,"eClass":"EGenericType"},{"id":157,"eClass":"EGenericType"},{"id":158,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"specific","changeable":true,"resolveProxies":true,"lowerBound":1,"id":159,"derived":false},{"id":160,"eClass":"EGenericType"},{"id":161,"eClass":"EGenericType"},{"id":162,"eClass":"EGenericType"},{"id":163,"eClass":"EGenericType"},{"id":164,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"substitutable","changeable":true,"lowerBound":0,"iD":false,"id":165,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"general","changeable":true,"resolveProxies":true,"lowerBound":1,"id":166,"derived":false},{"id":167,"eClass":"EGenericType"},{"id":168,"eClass":"EGenericType"},{"id":169,"eClass":"EGenericType"},{"id":170,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"derived","changeable":true,"lowerBound":1,"iD":false,"id":171,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"derivedUnion","changeable":true,"lowerBound":1,"iD":false,"id":172,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"aggregation","changeable":true,"lowerBound":1,"iD":false,"id":173,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":true,"unique":true,"name":"composite","changeable":true,"lowerBound":1,"iD":false,"id":174,"derived":true},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningAssociation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":175,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"association","changeable":true,"resolveProxies":true,"lowerBound":0,"id":176,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"datatype","changeable":true,"resolveProxies":true,"lowerBound":0,"id":177,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"class","changeable":true,"resolveProxies":true,"lowerBound":0,"id":178,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"opposite","changeable":true,"resolveProxies":true,"lowerBound":0,"id":179,"derived":true},{"id":180,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"readOnly","changeable":true,"lowerBound":1,"iD":false,"id":181,"derived":false},{"id":182,"eClass":"EGenericType"},{"id":183,"eClass":"EGenericType"},{"id":184,"eClass":"EGenericType"},{"id":185,"eClass":"EGenericType"},{"id":186,"eClass":"EGenericType"},{"id":187,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedEnd","changeable":true,"resolveProxies":true,"lowerBound":0,"id":188,"derived":false},{"id":189,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"memberEnd","changeable":true,"resolveProxies":true,"lowerBound":2,"id":190,"derived":false},{"id":191,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedAttribute","changeable":true,"resolveProxies":true,"lowerBound":0,"id":192,"derived":false},{"id":193,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedAttribute","changeable":true,"resolveProxies":true,"lowerBound":0,"id":194,"derived":false},{"id":195,"eClass":"EGenericType"},{"name":"none","id":196,"value":0,"literal":"none","eClass":"EEnumLiteral"},{"name":"shared","id":197,"value":1,"literal":"shared","eClass":"EEnumLiteral"},{"name":"composite","id":198,"value":2,"literal":"composite","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"derived","changeable":true,"lowerBound":1,"iD":false,"id":199,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"endType","changeable":false,"resolveProxies":true,"lowerBound":1,"id":200,"derived":true},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"navigableOwnedEnd","changeable":true,"resolveProxies":true,"lowerBound":0,"id":201,"derived":false},{"id":202,"eClass":"EGenericType"},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"id":205,"eClass":"EGenericType"},{"id":206,"eClass":"EGenericType"},{"id":207,"eClass":"EGenericType"},{"id":208,"eClass":"EGenericType"},{"id":209,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"lowerBound","lowerBound":1,"id":210,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"upperBound","lowerBound":1,"id":211,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"ordered","changeable":true,"lowerBound":1,"iD":false,"id":212,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"unique","changeable":true,"lowerBound":1,"iD":false,"id":213,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"1","unsettable":false,"transient":false,"unique":true,"name":"upper","changeable":true,"lowerBound":0,"iD":false,"id":214,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"1","unsettable":false,"transient":false,"unique":true,"name":"lower","changeable":true,"lowerBound":0,"iD":false,"id":215,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"upperValue","changeable":true,"resolveProxies":true,"lowerBound":0,"id":216,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"lowerValue","changeable":true,"resolveProxies":true,"lowerBound":0,"id":217,"derived":false},{"id":218,"eClass":"EGenericType"},{"id":219,"eClass":"EGenericType"},{"id":220,"eClass":"EGenericType"},{"id":221,"eClass":"EGenericType"},{"id":222,"eClass":"EGenericType"},{"id":223,"eClass":"EGenericType"},{"id":224,"eClass":"EGenericType"},{"id":225,"eClass":"EGenericType"},{"id":226,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":227,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"abstract","changeable":true,"lowerBound":1,"iD":false,"id":228,"derived":false},{"id":229,"eClass":"EGenericType"},{"id":230,"eClass":"EGenericType"},{"id":231,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"direction","changeable":true,"lowerBound":1,"iD":false,"id":232,"derived":false},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"name":"in","id":236,"value":0,"literal":"in","eClass":"EEnumLiteral"},{"name":"inout","id":237,"value":1,"literal":"inout","eClass":"EEnumLiteral"},{"name":"out","id":238,"value":2,"literal":"out","eClass":"EEnumLiteral"},{"name":"return","id":239,"value":3,"literal":"return","eClass":"EEnumLiteral"},{"ordered":false,"upperBound":-1,"unique":true,"name":"returnResult","lowerBound":0,"id":240,"many":true,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"query","changeable":true,"lowerBound":1,"iD":false,"id":241,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"ordered","changeable":true,"lowerBound":1,"iD":false,"id":242,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"unique","changeable":true,"lowerBound":1,"iD":false,"id":243,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"lower","changeable":true,"lowerBound":0,"iD":false,"id":244,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"upper","changeable":true,"lowerBound":0,"iD":false,"id":245,"derived":true},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"class","changeable":true,"resolveProxies":true,"lowerBound":0,"id":246,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":247,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"type","changeable":false,"resolveProxies":true,"lowerBound":0,"id":248,"derived":true},{"id":249,"eClass":"EGenericType"},{"id":250,"eClass":"EGenericType"},{"id":251,"eClass":"EGenericType"},{"id":252,"eClass":"EGenericType"},{"id":253,"eClass":"EGenericType"},{"id":254,"eClass":"EGenericType"},{"id":255,"eClass":"EGenericType"},{"id":256,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":257,"derived":false},{"id":258,"eClass":"EGenericType"},{"id":259,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"classifier","changeable":true,"resolveProxies":true,"lowerBound":0,"id":260,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"slot","changeable":true,"resolveProxies":true,"lowerBound":0,"id":261,"derived":false},{"id":262,"eClass":"EGenericType"},{"id":263,"eClass":"EGenericType"},{"id":264,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningInstance","changeable":true,"resolveProxies":true,"lowerBound":1,"id":265,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"definingFeature","changeable":true,"resolveProxies":true,"lowerBound":1,"id":266,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"resolveProxies":true,"lowerBound":0,"id":267,"derived":false},{"id":268,"eClass":"EGenericType"},{"id":269,"eClass":"EGenericType"},{"id":270,"eClass":"EGenericType"},{"id":271,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"instance","changeable":true,"resolveProxies":true,"lowerBound":1,"id":272,"derived":false},{"id":273,"eClass":"EGenericType"},{"id":274,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"booleanValue","lowerBound":1,"id":275,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":276,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":277,"derived":false},{"id":278,"eClass":"EGenericType"},{"id":279,"eClass":"EGenericType"},{"id":280,"eClass":"EGenericType"},{"id":281,"eClass":"EGenericType"},{"id":282,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"integerValue","lowerBound":1,"id":283,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":284,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":285,"derived":false},{"id":286,"eClass":"EGenericType"},{"id":287,"eClass":"EGenericType"},{"id":288,"eClass":"EGenericType"},{"id":289,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":290,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isNull","lowerBound":1,"id":291,"many":false,"required":true,"eClass":"EOperation"},{"id":292,"eClass":"EGenericType"},{"id":293,"eClass":"EGenericType"},{"id":294,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":295,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"stringValue","lowerBound":1,"id":296,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":0,"iD":false,"id":297,"derived":false},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"id":301,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":302,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"unlimitedValue","lowerBound":0,"id":303,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":304,"derived":false},{"id":305,"eClass":"EGenericType"},{"id":306,"eClass":"EGenericType"},{"id":307,"eClass":"EGenericType"},{"id":308,"eClass":"EGenericType"},{"id":309,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedLiteral","changeable":true,"resolveProxies":true,"lowerBound":0,"id":310,"derived":false},{"id":311,"eClass":"EGenericType"},{"id":312,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"enumeration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":313,"derived":false},{"id":314,"eClass":"EGenericType"},{"id":315,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":true,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"superClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":316,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"active","changeable":true,"lowerBound":1,"iD":false,"id":317,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"nestedClassifier","changeable":true,"resolveProxies":true,"lowerBound":0,"id":318,"derived":false},{"id":319,"eClass":"EGenericType"},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"id":323,"eClass":"EGenericType"},{"id":324,"eClass":"EGenericType"},{"id":325,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":0,"target":17},{"source":0,"target":18},{"source":0,"target":19},{"source":0,"target":20},{"source":0,"target":21},{"source":0,"target":22},{"source":0,"target":23},{"source":0,"target":24},{"source":0,"target":25},{"source":0,"target":26},{"source":0,"target":27},{"source":0,"target":28},{"source":0,"target":29},{"source":0,"target":30},{"source":0,"target":31},{"source":0,"target":32},{"source":0,"target":33},{"source":0,"target":34},{"source":0,"target":35},{"source":0,"target":36},{"source":0,"target":37},{"source":0,"target":38},{"source":0,"target":39},{"source":0,"target":40},{"source":1,"target":0},{"source":1,"target":2},{"source":1,"target":41},{"source":1,"target":42},{"source":1,"target":43},{"source":1,"target":44},{"source":1,"target":45},{"source":1,"target":46},{"source":1,"target":47},{"source":41,"target":48},{"source":41,"target":1},{"source":42,"target":49},{"source":42,"target":1},{"source":43,"target":50},{"source":43,"target":1},{"source":44,"target":51},{"source":44,"target":1},{"source":45,"target":52},{"source":45,"target":1},{"source":46,"target":53},{"source":46,"target":1},{"source":47,"target":2},{"source":2,"target":0},{"source":2,"target":3},{"source":2,"target":54},{"source":2,"target":55},{"source":54,"target":12},{"source":54,"target":56},{"source":54,"target":2},{"source":56,"target":12},{"source":55,"target":3},{"source":3,"target":0},{"source":3,"target":4},{"source":3,"target":57},{"source":3,"target":58},{"source":3,"target":59},{"source":3,"target":60},{"source":3,"target":61},{"source":3,"target":62},{"source":3,"target":63},{"source":57,"target":7},{"source":57,"target":64},{"source":57,"target":3},{"source":64,"target":7},{"source":58,"target":65},{"source":58,"target":3},{"source":59,"target":66},{"source":59,"target":3},{"source":60,"target":6},{"source":60,"target":67},{"source":60,"target":3},{"source":67,"target":6},{"source":61,"target":68},{"source":61,"target":3},{"source":62,"target":7},{"source":62,"target":69},{"source":62,"target":3},{"source":62,"target":70},{"source":69,"target":7},{"source":63,"target":4},{"source":4,"target":0},{"source":4,"target":71},{"source":4,"target":72},{"source":4,"target":73},{"source":4,"target":74},{"source":4,"target":75},{"source":71,"target":4},{"source":71,"target":76},{"source":71,"target":4},{"source":76,"target":4},{"source":72,"target":77},{"source":72,"target":4},{"source":73,"target":4},{"source":73,"target":78},{"source":73,"target":4},{"source":73,"target":74},{"source":78,"target":4},{"source":74,"target":4},{"source":74,"target":79},{"source":74,"target":4},{"source":74,"target":73},{"source":79,"target":4},{"source":75,"target":5},{"source":75,"target":80},{"source":75,"target":4},{"source":80,"target":5},{"source":5,"target":0},{"source":5,"target":81},{"source":5,"target":82},{"source":81,"target":4},{"source":81,"target":83},{"source":81,"target":5},{"source":83,"target":4},{"source":82,"target":84},{"source":82,"target":5},{"source":6,"target":0},{"source":6,"target":85},{"source":6,"target":86},{"source":6,"target":87},{"source":6,"target":88},{"source":85,"target":6},{"source":86,"target":6},{"source":87,"target":6},{"source":88,"target":6},{"source":7,"target":0},{"source":7,"target":3},{"source":7,"target":89},{"source":7,"target":90},{"source":7,"target":91},{"source":7,"target":92},{"source":7,"target":70},{"source":7,"target":93},{"source":89,"target":3},{"source":89,"target":94},{"source":89,"target":7},{"source":94,"target":3},{"source":90,"target":8},{"source":90,"target":95},{"source":90,"target":7},{"source":90,"target":96},{"source":95,"target":8},{"source":91,"target":10},{"source":91,"target":97},{"source":91,"target":7},{"source":91,"target":98},{"source":97,"target":10},{"source":92,"target":9},{"source":92,"target":99},{"source":92,"target":7},{"source":99,"target":9},{"source":70,"target":3},{"source":70,"target":100},{"source":70,"target":7},{"source":70,"target":62},{"source":100,"target":3},{"source":93,"target":3},{"source":8,"target":0},{"source":8,"target":4},{"source":8,"target":101},{"source":8,"target":102},{"source":8,"target":103},{"source":8,"target":96},{"source":8,"target":104},{"source":101,"target":6},{"source":101,"target":105},{"source":101,"target":8},{"source":105,"target":6},{"source":102,"target":106},{"source":102,"target":8},{"source":103,"target":9},{"source":103,"target":107},{"source":103,"target":8},{"source":107,"target":9},{"source":96,"target":7},{"source":96,"target":108},{"source":96,"target":8},{"source":96,"target":90},{"source":108,"target":7},{"source":104,"target":4},{"source":9,"target":0},{"source":9,"target":3},{"source":9,"target":109},{"source":109,"target":3},{"source":10,"target":0},{"source":10,"target":4},{"source":10,"target":110},{"source":10,"target":98},{"source":10,"target":111},{"source":10,"target":112},{"source":110,"target":11},{"source":110,"target":113},{"source":110,"target":10},{"source":113,"target":11},{"source":98,"target":7},{"source":98,"target":114},{"source":98,"target":10},{"source":98,"target":91},{"source":114,"target":7},{"source":111,"target":6},{"source":111,"target":115},{"source":111,"target":10},{"source":115,"target":6},{"source":112,"target":4},{"source":11,"target":0},{"source":11,"target":7},{"source":11,"target":9},{"source":11,"target":116},{"source":11,"target":117},{"source":11,"target":118},{"source":11,"target":119},{"source":11,"target":120},{"source":11,"target":121},{"source":116,"target":9},{"source":116,"target":122},{"source":116,"target":11},{"source":122,"target":9},{"source":117,"target":12},{"source":117,"target":123},{"source":117,"target":11},{"source":117,"target":124},{"source":123,"target":12},{"source":118,"target":11},{"source":118,"target":125},{"source":118,"target":11},{"source":118,"target":119},{"source":125,"target":11},{"source":119,"target":11},{"source":119,"target":126},{"source":119,"target":11},{"source":119,"target":118},{"source":126,"target":11},{"source":120,"target":7},{"source":121,"target":9},{"source":12,"target":0},{"source":12,"target":9},{"source":12,"target":124},{"source":12,"target":127},{"source":124,"target":11},{"source":124,"target":128},{"source":124,"target":12},{"source":124,"target":117},{"source":128,"target":11},{"source":127,"target":9},{"source":13,"target":0},{"source":13,"target":14},{"source":13,"target":22},{"source":13,"target":2},{"source":13,"target":129},{"source":13,"target":130},{"source":13,"target":131},{"source":13,"target":132},{"source":129,"target":133},{"source":129,"target":13},{"source":130,"target":14},{"source":131,"target":22},{"source":132,"target":2},{"source":14,"target":0},{"source":14,"target":15},{"source":14,"target":134},{"source":14,"target":135},{"source":14,"target":136},{"source":134,"target":16},{"source":134,"target":137},{"source":134,"target":14},{"source":134,"target":138},{"source":137,"target":16},{"source":135,"target":139},{"source":135,"target":14},{"source":136,"target":15},{"source":15,"target":0},{"source":15,"target":3},{"source":15,"target":140},{"source":15,"target":141},{"source":15,"target":142},{"source":15,"target":143},{"source":140,"target":144},{"source":140,"target":15},{"source":141,"target":15},{"source":141,"target":145},{"source":141,"target":15},{"source":145,"target":15},{"source":142,"target":16},{"source":142,"target":146},{"source":142,"target":15},{"source":146,"target":16},{"source":143,"target":3},{"source":16,"target":0},{"source":16,"target":7},{"source":16,"target":12},{"source":16,"target":147},{"source":16,"target":148},{"source":16,"target":149},{"source":16,"target":138},{"source":16,"target":150},{"source":16,"target":151},{"source":16,"target":152},{"source":16,"target":153},{"source":16,"target":154},{"source":16,"target":155},{"source":147,"target":14},{"source":147,"target":156},{"source":147,"target":16},{"source":156,"target":14},{"source":148,"target":157},{"source":148,"target":16},{"source":149,"target":17},{"source":149,"target":158},{"source":149,"target":16},{"source":149,"target":159},{"source":158,"target":17},{"source":138,"target":14},{"source":138,"target":160},{"source":138,"target":16},{"source":138,"target":134},{"source":160,"target":14},{"source":150,"target":3},{"source":150,"target":161},{"source":150,"target":16},{"source":161,"target":3},{"source":151,"target":18},{"source":151,"target":162},{"source":151,"target":16},{"source":162,"target":18},{"source":152,"target":16},{"source":152,"target":163},{"source":152,"target":16},{"source":163,"target":16},{"source":153,"target":164},{"source":153,"target":16},{"source":154,"target":7},{"source":155,"target":12},{"source":17,"target":0},{"source":17,"target":4},{"source":17,"target":165},{"source":17,"target":166},{"source":17,"target":159},{"source":17,"target":167},{"source":165,"target":168},{"source":165,"target":17},{"source":166,"target":16},{"source":166,"target":169},{"source":166,"target":17},{"source":169,"target":16},{"source":159,"target":16},{"source":159,"target":170},{"source":159,"target":17},{"source":159,"target":149},{"source":170,"target":16},{"source":167,"target":4},{"source":18,"target":0},{"source":18,"target":13},{"source":18,"target":171},{"source":18,"target":172},{"source":18,"target":173},{"source":18,"target":174},{"source":18,"target":175},{"source":18,"target":176},{"source":18,"target":177},{"source":18,"target":178},{"source":18,"target":179},{"source":18,"target":180},{"source":181,"target":182},{"source":171,"target":183},{"source":171,"target":18},{"source":172,"target":184},{"source":172,"target":18},{"source":173,"target":19},{"source":173,"target":185},{"source":173,"target":18},{"source":185,"target":19},{"source":174,"target":186},{"source":174,"target":18},{"source":175,"target":20},{"source":175,"target":187},{"source":175,"target":18},{"source":175,"target":188},{"source":187,"target":20},{"source":176,"target":20},{"source":176,"target":189},{"source":176,"target":18},{"source":176,"target":190},{"source":189,"target":20},{"source":177,"target":21},{"source":177,"target":191},{"source":177,"target":18},{"source":177,"target":192},{"source":191,"target":21},{"source":178,"target":39},{"source":178,"target":193},{"source":178,"target":18},{"source":178,"target":194},{"source":193,"target":39},{"source":179,"target":18},{"source":179,"target":195},{"source":179,"target":18},{"source":195,"target":18},{"source":180,"target":13},{"source":19,"target":0},{"source":19,"target":196},{"source":19,"target":197},{"source":19,"target":198},{"source":196,"target":19},{"source":197,"target":19},{"source":198,"target":19},{"source":20,"target":0},{"source":20,"target":16},{"source":20,"target":199},{"source":20,"target":200},{"source":20,"target":190},{"source":20,"target":201},{"source":20,"target":188},{"source":20,"target":202},{"source":199,"target":203},{"source":199,"target":20},{"source":200,"target":12},{"source":200,"target":204},{"source":200,"target":20},{"source":204,"target":12},{"source":190,"target":18},{"source":190,"target":205},{"source":190,"target":20},{"source":190,"target":176},{"source":205,"target":18},{"source":201,"target":18},{"source":201,"target":206},{"source":201,"target":20},{"source":206,"target":18},{"source":188,"target":18},{"source":188,"target":207},{"source":188,"target":20},{"source":188,"target":175},{"source":207,"target":18},{"source":202,"target":16},{"source":21,"target":0},{"source":21,"target":16},{"source":21,"target":192},{"source":21,"target":208},{"source":192,"target":18},{"source":192,"target":209},{"source":192,"target":21},{"source":192,"target":177},{"source":209,"target":18},{"source":208,"target":16},{"source":22,"target":0},{"source":22,"target":4},{"source":22,"target":210},{"source":22,"target":211},{"source":22,"target":212},{"source":22,"target":213},{"source":22,"target":214},{"source":22,"target":215},{"source":22,"target":216},{"source":22,"target":217},{"source":22,"target":218},{"source":210,"target":219},{"source":210,"target":22},{"source":211,"target":220},{"source":211,"target":22},{"source":212,"target":221},{"source":212,"target":22},{"source":213,"target":222},{"source":213,"target":22},{"source":214,"target":223},{"source":214,"target":22},{"source":215,"target":224},{"source":215,"target":22},{"source":216,"target":1},{"source":216,"target":225},{"source":216,"target":22},{"source":225,"target":1},{"source":217,"target":1},{"source":217,"target":226},{"source":217,"target":22},{"source":226,"target":1},{"source":218,"target":4},{"source":23,"target":0},{"source":23,"target":14},{"source":23,"target":227},{"source":23,"target":228},{"source":23,"target":229},{"source":227,"target":24},{"source":227,"target":230},{"source":227,"target":23},{"source":230,"target":24},{"source":228,"target":231},{"source":228,"target":23},{"source":229,"target":14},{"source":24,"target":0},{"source":24,"target":22},{"source":24,"target":2},{"source":24,"target":232},{"source":24,"target":233},{"source":24,"target":234},{"source":232,"target":25},{"source":232,"target":235},{"source":232,"target":24},{"source":235,"target":25},{"source":233,"target":22},{"source":234,"target":2},{"source":25,"target":0},{"source":25,"target":236},{"source":25,"target":237},{"source":25,"target":238},{"source":25,"target":239},{"source":236,"target":25},{"source":237,"target":25},{"source":238,"target":25},{"source":239,"target":25},{"source":26,"target":0},{"source":26,"target":23},{"source":26,"target":240},{"source":26,"target":241},{"source":26,"target":242},{"source":26,"target":243},{"source":26,"target":244},{"source":26,"target":245},{"source":26,"target":246},{"source":26,"target":247},{"source":26,"target":248},{"source":26,"target":249},{"source":240,"target":24},{"source":240,"target":250},{"source":240,"target":26},{"source":250,"target":24},{"source":241,"target":251},{"source":241,"target":26},{"source":242,"target":252},{"source":242,"target":26},{"source":243,"target":253},{"source":243,"target":26},{"source":244,"target":254},{"source":244,"target":26},{"source":245,"target":255},{"source":245,"target":26},{"source":246,"target":39},{"source":246,"target":256},{"source":246,"target":26},{"source":246,"target":257},{"source":256,"target":39},{"source":247,"target":26},{"source":247,"target":258},{"source":247,"target":26},{"source":258,"target":26},{"source":248,"target":12},{"source":248,"target":259},{"source":248,"target":26},{"source":259,"target":12},{"source":249,"target":23},{"source":27,"target":0},{"source":27,"target":3},{"source":27,"target":260},{"source":27,"target":261},{"source":27,"target":262},{"source":260,"target":16},{"source":260,"target":263},{"source":260,"target":27},{"source":263,"target":16},{"source":261,"target":28},{"source":261,"target":264},{"source":261,"target":27},{"source":261,"target":265},{"source":264,"target":28},{"source":262,"target":3},{"source":28,"target":0},{"source":28,"target":4},{"source":28,"target":266},{"source":28,"target":267},{"source":28,"target":265},{"source":28,"target":268},{"source":266,"target":13},{"source":266,"target":269},{"source":266,"target":28},{"source":269,"target":13},{"source":267,"target":1},{"source":267,"target":270},{"source":267,"target":28},{"source":270,"target":1},{"source":265,"target":27},{"source":265,"target":271},{"source":265,"target":28},{"source":265,"target":261},{"source":271,"target":27},{"source":268,"target":4},{"source":29,"target":0},{"source":29,"target":1},{"source":29,"target":272},{"source":29,"target":273},{"source":272,"target":27},{"source":272,"target":274},{"source":272,"target":29},{"source":274,"target":27},{"source":273,"target":1},{"source":30,"target":0},{"source":30,"target":31},{"source":30,"target":275},{"source":30,"target":276},{"source":30,"target":277},{"source":30,"target":278},{"source":275,"target":279},{"source":275,"target":30},{"source":276,"target":280},{"source":276,"target":30},{"source":277,"target":281},{"source":277,"target":30},{"source":278,"target":31},{"source":31,"target":0},{"source":31,"target":1},{"source":31,"target":282},{"source":282,"target":1},{"source":32,"target":0},{"source":32,"target":31},{"source":32,"target":283},{"source":32,"target":284},{"source":32,"target":285},{"source":32,"target":286},{"source":283,"target":287},{"source":283,"target":32},{"source":284,"target":288},{"source":284,"target":32},{"source":285,"target":289},{"source":285,"target":32},{"source":286,"target":31},{"source":33,"target":0},{"source":33,"target":31},{"source":33,"target":290},{"source":33,"target":291},{"source":33,"target":292},{"source":290,"target":293},{"source":290,"target":33},{"source":291,"target":294},{"source":291,"target":33},{"source":292,"target":31},{"source":34,"target":0},{"source":34,"target":31},{"source":34,"target":295},{"source":34,"target":296},{"source":34,"target":297},{"source":34,"target":298},{"source":295,"target":299},{"source":295,"target":34},{"source":296,"target":300},{"source":296,"target":34},{"source":297,"target":301},{"source":297,"target":34},{"source":298,"target":31},{"source":35,"target":0},{"source":35,"target":31},{"source":35,"target":302},{"source":35,"target":303},{"source":35,"target":304},{"source":35,"target":305},{"source":302,"target":306},{"source":302,"target":35},{"source":303,"target":307},{"source":303,"target":35},{"source":304,"target":308},{"source":304,"target":35},{"source":305,"target":31},{"source":36,"target":0},{"source":36,"target":21},{"source":36,"target":309},{"source":309,"target":21},{"source":37,"target":0},{"source":37,"target":21},{"source":37,"target":310},{"source":37,"target":311},{"source":310,"target":38},{"source":310,"target":312},{"source":310,"target":37},{"source":310,"target":313},{"source":312,"target":38},{"source":311,"target":21},{"source":38,"target":0},{"source":38,"target":27},{"source":38,"target":313},{"source":38,"target":314},{"source":313,"target":37},{"source":313,"target":315},{"source":313,"target":38},{"source":313,"target":310},{"source":315,"target":37},{"source":314,"target":27},{"source":39,"target":0},{"source":39,"target":16},{"source":39,"target":194},{"source":39,"target":257},{"source":39,"target":316},{"source":39,"target":317},{"source":39,"target":318},{"source":39,"target":319},{"source":194,"target":18},{"source":194,"target":320},{"source":194,"target":39},{"source":194,"target":178},{"source":320,"target":18},{"source":257,"target":26},{"source":257,"target":321},{"source":257,"target":39},{"source":257,"target":246},{"source":321,"target":26},{"source":316,"target":39},{"source":316,"target":322},{"source":316,"target":39},{"source":322,"target":39},{"source":317,"target":323},{"source":317,"target":39},{"source":318,"target":16},{"source":318,"target":324},{"source":318,"target":39},{"source":324,"target":16},{"source":319,"target":16},{"source":40,"target":0},{"source":40,"target":11},{"source":40,"target":325},{"source":325,"target":11}],"multigraph":true}