ocl
types
AnyType
O
BagType
collection_type_name
diagnostics
context
C
O
CollectionType
C
O
collection_type_name
diagnostics
context
no_invalid_values
diagnostics
context
oclIterators
elementType
kind
ElementType
InvalidType
O
MessageType
C
O
P
exclusive_signature
diagnostics
context
operation_parameters
diagnostics
context
signal_attributes
diagnostics
context
oclProperties
referredOperation
referredSignal
OrderedSetType
collection_type_name
diagnostics
context
C
O
PrimitiveType
O
SequenceType
collection_type_name
diagnostics
context
C
O
SetType
collection_type_name
diagnostics
context
C
O
TemplateParameterType
O
specification
TupleType
O
P
tuple_type_name
diagnostics
context
part_names_unique
diagnostics
context
features_only_properties
diagnostics
context
oclProperties
TypeType
C
O
referredType
VoidType
O
utilities
ASTNode
startPosition
-1
endPosition
-1
CallingASTNode
propertyStartPosition
-1
propertyEndPosition
-1
TypedASTNode
typeStartPosition
-1
typeEndPosition
-1
Visitable
accept
T
U
v
Visitor
T
C
O
P
EL
PM
S
COA
SSA
CT
visitVariableExp
variableExp
visitLetExp
letExp
visitIfExp
ifExp
visitTypeExp
typeExp
visitPropertyCallExp
callExp
visitOperationCallExp
callExp
visitAssociationClassCallExp
callExp
visitIteratorExp
callExp
visitIterateExp
callExp
visitUnspecifiedValueExp
unspecExp
visitIntegerLiteralExp
literalExp
visitUnlimitedNaturalLiteralExp
literalExp
visitRealLiteralExp
literalExp
visitStringLiteralExp
literalExp
visitBooleanLiteralExp
literalExp
visitEnumLiteralExp
literalExp
visitCollectionLiteralExp
literalExp
visitCollectionItem
item
visitCollectionRange
range
visitTupleLiteralExp
literalExp
visitTupleLiteralPart
part
visitInvalidLiteralExp
literalExp
visitNullLiteralExp
literalExp
visitStateExp
stateExp
visitMessageExp
messageExp
visitVariable
variable
visitExpressionInOCL
expression
visitConstraint
constraint
TypedElement
C
getName
getType
setName
name
setType
type
ExpressionInOCL
C
PM
bodyExpression
contextVariable
resultVariable
parameterVariable
generatedType
PredefinedType
O
getName
oclOperations
expressions
AssociationClassCallExp
C
P
referredAssociationClass
NavigationCallExp
C
P
qualifier
navigationSource
FeatureCallExp
C
markedPre
CallExp
C
source
OCLExpression
C
BooleanLiteralExp
C
boolean_type
diagnostics
context
booleanSymbol
PrimitiveLiteralExp
C
LiteralExp
C
CollectionItem
C
item_type
diagnostics
context
item
CollectionLiteralPart
C
CollectionKind
Set
Set
OrderedSet
OrderedSet
Bag
Bag
Sequence
Sequence
Collection
Collection
CollectionLiteralExp
C
no_collection_instances
diagnostics
context
set_kind
diagnostics
context
sequence_kind
diagnostics
context
bag_kind
diagnostics
context
element_type
diagnostics
context
kind
part
simpleRange
CollectionRange
C
range_type
diagnostics
context
first
last
EnumLiteralExp
C
EL
enum_type
diagnostics
context
referredEnumLiteral
IfExp
C
boolean_condition
diagnostics
context
if_type
diagnostics
context
condition
thenExpression
elseExpression
IntegerLiteralExp
C
integer_type
diagnostics
context
integerSymbol
NumericLiteralExp
C
UnlimitedNaturalLiteralExp
C
natural_type
diagnostics
context
integerSymbol
unlimited
InvalidLiteralExp
C
IterateExp
C
PM
iterate_type
diagnostics
context
body_type
diagnostics
context
result_init
diagnostics
context
result
LoopExp
C
PM
source_collection
diagnostics
context
loop_variable_init
diagnostics
context
loop_variable_type
diagnostics
context
body
iterator
Variable
C
PM
init_type
diagnostics
context
initExpression
representedParameter
IteratorExp
C
PM
boolean_type
diagnostics
context
collect_type
diagnostics
context
select_reject_type
diagnostics
context
boolean_body_type
diagnostics
context
LetExp
C
PM
let_type
diagnostics
context
in
variable
MessageExp
C
COA
SSA
operation_arguments
diagnostics
context
signal_arguments
diagnostics
context
target_defines_operation
diagnostics
context
has_operation_or_signal
diagnostics
context
target_not_collection
diagnostics
context
target
argument
calledOperation
sentSignal
NullLiteralExp
C
OperationCallExp
C
O
arguments_conform
diagnostics
context
argument_count
diagnostics
context
argument
referredOperation
operationCode
PropertyCallExp
C
P
property_type
diagnostics
context
referredProperty
RealLiteralExp
C
real_type
diagnostics
context
realSymbol
StateExp
C
S
referredState
StringLiteralExp
C
string_type
diagnostics
context
stringSymbol
TupleLiteralExp
C
P
tuple_type
diagnostics
context
parts_unique
diagnostics
context
part
TupleLiteralPart
C
P
value_type
diagnostics
context
value
attribute
TypeExp
C
referredType
UnspecifiedValueExp
C
VariableExp
C
PM
var_type
diagnostics
context
referredVariable
<?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="ocl" nsURI="http://www.eclipse.org/ocl/1.1.0/OCL" nsPrefix="ocl">
  <eSubpackages name="types" nsURI="http://www.eclipse.org/ocl/1.1.0/OCL/Types" nsPrefix="ocl.types">
    <eClassifiers xsi:type="ecore:EClass" name="AnyType">
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/AnyType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BagType">
      <eAnnotations source="duplicates">
        <contents xsi:type="ecore:EOperation" name="collection_type_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="self.name = 'Bag(' + self.elementType.name + ')'"/>
          </eAnnotations>
          <eAnnotations source="redefines" references="#//types/CollectionType/collection_type_name"/>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            </eGenericType>
          </eParameters>
        </contents>
      </eAnnotations>
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//types/CollectionType">
        <eTypeArguments eTypeParameter="#//types/BagType/C"/>
        <eTypeArguments eTypeParameter="#//types/BagType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionType">
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eOperations name="collection_type_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.name = 'Collection(' + self.elementType.name + ')'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="no_invalid_values" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self->forAll(not oclIsInvalid())"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="oclIterators" upperBound="-1">
        <eGenericType eTypeParameter="#//types/CollectionType/O"/>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="elementType">
        <eGenericType eTypeParameter="#//types/CollectionType/C"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1"
          eType="#//expressions/CollectionKind" changeable="false" volatile="true"
          transient="true"/>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/CollectionType/O"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/TypedASTNode"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ElementType"/>
    <eClassifiers xsi:type="ecore:EClass" name="InvalidType">
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/InvalidType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MessageType">
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eTypeParameters name="P"/>
      <eOperations name="exclusive_signature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="referredOperation->size() + referredSignal->size() = 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="operation_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="referredOperation->size()=1 implies&#xD;&#xA;Set{1..self.ownedAttribute->size()}->forAll(i | self.ownedAttribute.at(i).cmpSlots(&#xD;&#xA;referredOperation.ownedParameter.asProperty()->at(i)))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="signal_attributes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="referredSignal->size() = 1 implies&#xD;&#xA;Set{1..self.ownedAttribute->size()}->forAll(i | self.ownedAttribute.asOrderedSet().at(i).cmpSlots(&#xD;&#xA;referredSignal.ownedAttribute.asOrderedSet()->at(i)))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="oclProperties" upperBound="-1">
        <eGenericType eTypeParameter="#//types/MessageType/P"/>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredOperation">
        <eGenericType eTypeParameter="#//types/MessageType/O"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredSignal">
        <eGenericType eTypeParameter="#//types/MessageType/C"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/MessageType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OrderedSetType">
      <eAnnotations source="duplicates">
        <contents xsi:type="ecore:EOperation" name="collection_type_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="self.name = 'OrderedSet(' + self.elementType.name + ')'"/>
          </eAnnotations>
          <eAnnotations source="redefines" references="#//types/CollectionType/collection_type_name"/>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            </eGenericType>
          </eParameters>
        </contents>
      </eAnnotations>
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//types/CollectionType">
        <eTypeArguments eTypeParameter="#//types/OrderedSetType/C"/>
        <eTypeArguments eTypeParameter="#//types/OrderedSetType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType">
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/PrimitiveType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SequenceType">
      <eAnnotations source="duplicates">
        <contents xsi:type="ecore:EOperation" name="collection_type_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="self.name = 'Sequence(' + self.elementType.name + ')'"/>
          </eAnnotations>
          <eAnnotations source="redefines" references="#//types/CollectionType/collection_type_name"/>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            </eGenericType>
          </eParameters>
        </contents>
      </eAnnotations>
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//types/CollectionType">
        <eTypeArguments eTypeParameter="#//types/SequenceType/C"/>
        <eTypeArguments eTypeParameter="#//types/SequenceType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SetType">
      <eAnnotations source="duplicates">
        <contents xsi:type="ecore:EOperation" name="collection_type_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="self.name = 'Set(' + self.elementType.name + ')'"/>
          </eAnnotations>
          <eAnnotations source="redefines" references="#//types/CollectionType/collection_type_name"/>
          <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
            </eAnnotations>
          </eParameters>
          <eParameters name="context">
            <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
              <details key="documentation" value="The cache of context-specific information."/>
            </eAnnotations>
            <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            </eGenericType>
          </eParameters>
        </contents>
      </eAnnotations>
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//types/CollectionType">
        <eTypeArguments eTypeParameter="#//types/SetType/C"/>
        <eTypeArguments eTypeParameter="#//types/SetType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterType">
      <eTypeParameters name="O"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="specification" ordered="false"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleType">
      <eTypeParameters name="O"/>
      <eTypeParameters name="P"/>
      <eOperations name="tuple_type_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="name =&#xA;'Tuple('.concat (&#xA;Sequence{1..allProperties()->size()}->iterate (pn; s: String = '' |&#xA;let p: Property = allProperties()->at (pn) in (&#xA;s.concat (&#xA;(if (pn>1) then ',' else '' endif)&#xA;.concat (p.name).concat (': ')&#xA;.concat (p.type.name)&#xA;)&#xA;)&#xA;)&#xA;).concat (')')"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="part_names_unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="true"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="features_only_properties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="feature->forAll (f | f.oclIsTypeOf(Property))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="oclProperties" upperBound="-1">
        <eGenericType eTypeParameter="#//types/TupleType/P"/>
      </eOperations>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/TupleType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeType">
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredType" lowerBound="1">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="suppressedSetVisibility" value="true"/>
        </eAnnotations>
        <eGenericType eTypeParameter="#//types/TypeType/C"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/TypeType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VoidType">
      <eTypeParameters name="O"/>
      <eGenericSuperTypes eClassifier="#//utilities/PredefinedType">
        <eTypeArguments eTypeParameter="#//types/VoidType/O"/>
      </eGenericSuperTypes>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="utilities" nsURI="http://www.eclipse.org/ocl/1.1.0/OCL/Utilities"
      nsPrefix="ocl.util">
    <eClassifiers xsi:type="ecore:EClass" name="ASTNode" abstract="true" interface="true">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="startPosition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          transient="true" defaultValueLiteral="-1"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="endPosition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          transient="true" defaultValueLiteral="-1"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CallingASTNode" abstract="true" interface="true"
        eSuperTypes="#//utilities/ASTNode">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="propertyStartPosition"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" transient="true"
          defaultValueLiteral="-1"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="propertyEndPosition"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" transient="true"
          defaultValueLiteral="-1"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypedASTNode" abstract="true" interface="true"
        eSuperTypes="#//utilities/ASTNode">
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeStartPosition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          transient="true" defaultValueLiteral="-1"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeEndPosition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          transient="true" defaultValueLiteral="-1"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Visitable" abstract="true" interface="true">
      <eOperations name="accept">
        <eGenericType eTypeParameter="#//utilities/Visitable/accept/T"/>
        <eTypeParameters name="T"/>
        <eTypeParameters name="U">
          <eBounds eClassifier="#//utilities/Visitor">
            <eTypeArguments eTypeParameter="#//utilities/Visitable/accept/T"/>
            <eTypeArguments/>
            <eTypeArguments/>
            <eTypeArguments/>
            <eTypeArguments/>
            <eTypeArguments/>
            <eTypeArguments/>
            <eTypeArguments/>
            <eTypeArguments/>
            <eTypeArguments/>
          </eBounds>
        </eTypeParameters>
        <eParameters name="v">
          <eGenericType eTypeParameter="#//utilities/Visitable/accept/U"/>
        </eParameters>
      </eOperations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Visitor" abstract="true" interface="true">
      <eTypeParameters name="T"/>
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eTypeParameters name="P"/>
      <eTypeParameters name="EL"/>
      <eTypeParameters name="PM"/>
      <eTypeParameters name="S"/>
      <eTypeParameters name="COA"/>
      <eTypeParameters name="SSA"/>
      <eTypeParameters name="CT"/>
      <eOperations name="visitVariableExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="variableExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/VariableExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/PM"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitLetExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="letExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/LetExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/PM"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitIfExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="ifExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/IfExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitTypeExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="typeExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/TypeExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitPropertyCallExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="callExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/PropertyCallExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/P"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitOperationCallExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="callExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/OperationCallExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/O"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitAssociationClassCallExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="callExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/AssociationClassCallExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/P"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitIteratorExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="callExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/IteratorExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/PM"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitIterateExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="callExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/IterateExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/PM"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitUnspecifiedValueExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="unspecExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/UnspecifiedValueExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitIntegerLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/IntegerLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitUnlimitedNaturalLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/UnlimitedNaturalLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitRealLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/RealLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitStringLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/StringLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitBooleanLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/BooleanLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitEnumLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/EnumLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/EL"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitCollectionLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/CollectionLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitCollectionItem">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="item" lowerBound="1">
          <eGenericType eClassifier="#//expressions/CollectionItem">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitCollectionRange">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="range" lowerBound="1">
          <eGenericType eClassifier="#//expressions/CollectionRange">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitTupleLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/TupleLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/P"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitTupleLiteralPart">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="part" lowerBound="1">
          <eGenericType eClassifier="#//expressions/TupleLiteralPart">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/P"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitInvalidLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/InvalidLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitNullLiteralExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="literalExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/NullLiteralExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitStateExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="stateExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/StateExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/S"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitMessageExp">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="messageExp" lowerBound="1">
          <eGenericType eClassifier="#//expressions/MessageExp">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/COA"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/SSA"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitVariable">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="variable" lowerBound="1">
          <eGenericType eClassifier="#//expressions/Variable">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/PM"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitExpressionInOCL">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="expression" lowerBound="1">
          <eGenericType eClassifier="#//utilities/ExpressionInOCL">
            <eTypeArguments eTypeParameter="#//utilities/Visitor/C"/>
            <eTypeArguments eTypeParameter="#//utilities/Visitor/PM"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="visitConstraint">
        <eGenericType eTypeParameter="#//utilities/Visitor/T"/>
        <eParameters name="constraint" lowerBound="1">
          <eGenericType eTypeParameter="#//utilities/Visitor/CT"/>
        </eParameters>
      </eOperations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" interface="true">
      <eTypeParameters name="C"/>
      <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eOperations name="getType">
        <eGenericType eTypeParameter="#//utilities/TypedElement/C"/>
      </eOperations>
      <eOperations name="setName" ordered="false" lowerBound="1">
        <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      </eOperations>
      <eOperations name="setType" ordered="false" lowerBound="1">
        <eParameters name="type" ordered="false" lowerBound="1">
          <eGenericType eTypeParameter="#//utilities/TypedElement/C"/>
        </eParameters>
      </eOperations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExpressionInOCL" abstract="true" interface="true"
        eSuperTypes="#//utilities/Visitable">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="ExpressionInOcl"/>
      </eAnnotations>
      <eTypeParameters name="C"/>
      <eTypeParameters name="PM"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="bodyExpression" lowerBound="1"
          containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//utilities/ExpressionInOCL/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="contextVariable" lowerBound="1"
          containment="true">
        <eGenericType eClassifier="#//expressions/Variable">
          <eTypeArguments eTypeParameter="#//utilities/ExpressionInOCL/C"/>
          <eTypeArguments eTypeParameter="#//utilities/ExpressionInOCL/PM"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="resultVariable" containment="true">
        <eGenericType eClassifier="#//expressions/Variable">
          <eTypeArguments eTypeParameter="#//utilities/ExpressionInOCL/C"/>
          <eTypeArguments eTypeParameter="#//utilities/ExpressionInOCL/PM"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameterVariable" upperBound="-1"
          containment="true">
        <eGenericType eClassifier="#//expressions/Variable">
          <eTypeArguments eTypeParameter="#//utilities/ExpressionInOCL/C"/>
          <eTypeArguments eTypeParameter="#//utilities/ExpressionInOCL/PM"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="generatedType" ordered="false"
          upperBound="-1" containment="true">
        <eGenericType eTypeParameter="#//utilities/ExpressionInOCL/C"/>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PredefinedType" abstract="true" interface="true">
      <eTypeParameters name="O"/>
      <eOperations name="getName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eOperations name="oclOperations" upperBound="-1">
        <eGenericType eTypeParameter="#//utilities/PredefinedType/O"/>
      </eOperations>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="expressions" nsURI="http://www.eclipse.org/ocl/1.1.0/OCL/Expressions"
      nsPrefix="ocl.expr">
    <eClassifiers xsi:type="ecore:EClass" name="AssociationClassCallExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="P"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredAssociationClass">
        <eGenericType eTypeParameter="#//expressions/AssociationClassCallExp/C"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/NavigationCallExp">
        <eTypeArguments eTypeParameter="#//expressions/AssociationClassCallExp/C"/>
        <eTypeArguments eTypeParameter="#//expressions/AssociationClassCallExp/P"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NavigationCallExp" abstract="true">
      <eTypeParameters name="C"/>
      <eTypeParameters name="P"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" upperBound="-1"
          containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/NavigationCallExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="navigationSource">
        <eGenericType eTypeParameter="#//expressions/NavigationCallExp/P"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/FeatureCallExp">
        <eTypeArguments eTypeParameter="#//expressions/NavigationCallExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureCallExp" abstract="true">
      <eTypeParameters name="C"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="markedPre" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eGenericSuperTypes eClassifier="#//expressions/CallExp">
        <eTypeArguments eTypeParameter="#//expressions/FeatureCallExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CallExp" abstract="true">
      <eTypeParameters name="C"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="source" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/CallExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/CallExp/C"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/CallingASTNode"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OCLExpression" abstract="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="OclExpression"/>
      </eAnnotations>
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//utilities/TypedElement">
        <eTypeArguments eTypeParameter="#//expressions/OCLExpression/C"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/Visitable"/>
      <eGenericSuperTypes eClassifier="#//utilities/ASTNode"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExp">
      <eTypeParameters name="C"/>
      <eOperations name="boolean_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.type.name = 'Boolean'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanSymbol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
      <eGenericSuperTypes eClassifier="#//expressions/PrimitiveLiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/BooleanLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveLiteralExp" abstract="true">
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//expressions/LiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/PrimitiveLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LiteralExp" abstract="true">
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/LiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionItem">
      <eTypeParameters name="C"/>
      <eOperations name="item_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type = item.type"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="item" lowerBound="1"
          containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/CollectionItem/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/CollectionLiteralPart">
        <eTypeArguments eTypeParameter="#//expressions/CollectionItem/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralPart" abstract="true">
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//utilities/TypedElement">
        <eTypeArguments eTypeParameter="#//expressions/CollectionLiteralPart/C"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/Visitable"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="CollectionKind">
      <eLiterals name="Set"/>
      <eLiterals name="OrderedSet" value="1"/>
      <eLiterals name="Bag" value="2"/>
      <eLiterals name="Sequence" value="3"/>
      <eLiterals name="Collection" value="4"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralExp">
      <eTypeParameters name="C"/>
      <eOperations name="no_collection_instances" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="kind &lt;> CollectionKind::Collection"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="set_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="kind = CollectionKind::Set implies type.oclIsKindOf(SetType)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="sequence_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="kind = CollectionKind::Sequence implies type.oclIsKindOf(SequenceType)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="bag_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="kind = CollectionKind::Bag implies type.oclIsKindOf(BagType)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="element_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type.oclAsType(CollectionType).elementType = part->iterate(p; c : Classifier = OclVoid | c.commonSuperType(p.type))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//expressions/CollectionKind"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="part" upperBound="-1"
          containment="true">
        <eGenericType eClassifier="#//expressions/CollectionLiteralPart">
          <eTypeArguments eTypeParameter="#//expressions/CollectionLiteralExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="simpleRange" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          changeable="false" volatile="true" transient="true"/>
      <eGenericSuperTypes eClassifier="#//expressions/LiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/CollectionLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionRange">
      <eTypeParameters name="C"/>
      <eOperations name="range_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type = first.type.commonSuperType(last.type)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="first" lowerBound="1"
          containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/CollectionRange/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="last" lowerBound="1"
          containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/CollectionRange/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/CollectionLiteralPart">
        <eTypeArguments eTypeParameter="#//expressions/CollectionRange/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EnumLiteralExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="EL"/>
      <eOperations name="enum_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.type = referredEnumLiteral.enumeration"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredEnumLiteral">
        <eGenericType eTypeParameter="#//expressions/EnumLiteralExp/EL"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/LiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/EnumLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IfExp">
      <eTypeParameters name="C"/>
      <eOperations name="boolean_condition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.condition.type.oclIsKindOf(PrimitiveType) and self.condition.type.name = 'Boolean'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="if_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.type = thenExpression.type.commonSuperType(elseExpression.type)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="condition" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/IfExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="thenExpression" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/IfExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="elseExpression" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/IfExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/IfExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralExp">
      <eTypeParameters name="C"/>
      <eOperations name="integer_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.type.name = 'Integer'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="integerSymbol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
      <eGenericSuperTypes eClassifier="#//expressions/NumericLiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/IntegerLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NumericLiteralExp" abstract="true">
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//expressions/PrimitiveLiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/NumericLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UnlimitedNaturalLiteralExp">
      <eTypeParameters name="C"/>
      <eOperations name="natural_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.type.name = 'UnlimitedNatural'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="integerSymbol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="unlimited" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          changeable="false" volatile="true" transient="true" derived="true"/>
      <eGenericSuperTypes eClassifier="#//expressions/NumericLiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/UnlimitedNaturalLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InvalidLiteralExp">
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//expressions/LiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/InvalidLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IterateExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="PM"/>
      <eOperations name="iterate_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type = result.type"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="body_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="body.type.conformsTo(result.type)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="result_init" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.result.initExpression->size() = 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="result" containment="true">
        <eGenericType eClassifier="#//expressions/Variable">
          <eTypeArguments eTypeParameter="#//expressions/IterateExp/C"/>
          <eTypeArguments eTypeParameter="#//expressions/IterateExp/PM"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/LoopExp">
        <eTypeArguments eTypeParameter="#//expressions/IterateExp/C"/>
        <eTypeArguments eTypeParameter="#//expressions/IterateExp/PM"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LoopExp" abstract="true">
      <eTypeParameters name="C"/>
      <eTypeParameters name="PM"/>
      <eOperations name="source_collection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="source.type.oclIsKindOf(CollectionType)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="loop_variable_init" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.iterator->forAll(initExpression->isEmpty())"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="loop_variable_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.iterator->forAll(type = source.type.oclAsType(CollectionType).elementType)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="body" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/LoopExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="iterator" upperBound="-1"
          containment="true">
        <eGenericType eClassifier="#//expressions/Variable">
          <eTypeArguments eTypeParameter="#//expressions/LoopExp/C"/>
          <eTypeArguments eTypeParameter="#//expressions/LoopExp/PM"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/CallExp">
        <eTypeArguments eTypeParameter="#//expressions/LoopExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Variable">
      <eTypeParameters name="C"/>
      <eTypeParameters name="PM"/>
      <eOperations name="init_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="initExpression->notEmpty() implies initExpression.type.conformsTo (type)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/Variable/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="representedParameter">
        <eGenericType eTypeParameter="#//expressions/Variable/PM"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//utilities/TypedElement">
        <eTypeArguments eTypeParameter="#//expressions/Variable/C"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/Visitable"/>
      <eGenericSuperTypes eClassifier="#//utilities/TypedASTNode"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IteratorExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="PM"/>
      <eOperations name="boolean_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="name = 'exists' or name = 'forAll' or name = 'isUnique'&#xA;implies type.oclIsKindOf(PrimitiveType) and type.name = 'Boolean'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="collect_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="name = 'collect' implies&#xA;if source.type.oclIsKindOf(SequenceType) then&#xA;type = expression.type.collectionType->select(oclIsTypeOf(SequenceType))->first()&#xA;else&#xA;type = expression.type.collectionType->select(oclIsTypeOf(BagType))->first()&#xA;endif"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="select_reject_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="name = 'select' or name = 'reject' implies type = source.type"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="boolean_body_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="name = 'exists' or name = 'forAll' or name = 'select' or name = 'reject'&#xA;implies body.type.name = 'Boolean'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eGenericSuperTypes eClassifier="#//expressions/LoopExp">
        <eTypeArguments eTypeParameter="#//expressions/IteratorExp/C"/>
        <eTypeArguments eTypeParameter="#//expressions/IteratorExp/PM"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LetExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="PM"/>
      <eOperations name="let_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type = _'in'.type"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="in" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/LetExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="variable" containment="true">
        <eGenericType eClassifier="#//expressions/Variable">
          <eTypeArguments eTypeParameter="#//expressions/LetExp/C"/>
          <eTypeArguments eTypeParameter="#//expressions/LetExp/PM"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/LetExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MessageExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="COA"/>
      <eTypeParameters name="SSA"/>
      <eOperations name="operation_arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="calledOperation->notEmpty() implies&#xD;&#xA;argument->forall (a | a.type.conformsTo&#xD;&#xA;(self.calledOperation.operation.ownedParameter->&#xD;&#xA;select( kind = ParameterDirectionKind::_'in' )&#xD;&#xA;->at (argument->indexOf (a)).type))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="signal_arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="sentSignal->notEmpty() implies&#xA;argument->forall (a | a.type.conformsTo&#xA;(self.sentSignal.signal.ownedAttribute&#xA;->at (argument->indexOf (a)).type))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="target_defines_operation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="calledOperation->notEmpty() implies&#xA;target.type.allOperations()->includes(calledOperation.operation)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="has_operation_or_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="calledOperation->size() + sentSignal->size() = 1"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="target_not_collection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="not target.type.oclIsKindOf(CollectionType)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="target" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/MessageExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
          containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/MessageExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="calledOperation" containment="true">
        <eGenericType eTypeParameter="#//expressions/MessageExp/COA"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="sentSignal" containment="true">
        <eGenericType eTypeParameter="#//expressions/MessageExp/SSA"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/MessageExp/C"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/CallingASTNode"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NullLiteralExp">
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//expressions/LiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/NullLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OperationCallExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="O"/>
      <eOperations name="arguments_conform" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="arguments->forall (a | a.type.conformsTo&#xA;(self.refParams->at (arguments->indexOf (a)).type))"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="argument_count" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="arguments->size() = refParams->size()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
          containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/OperationCallExp/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredOperation">
        <eGenericType eTypeParameter="#//expressions/OperationCallExp/O"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operationCode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          volatile="true" transient="true"/>
      <eGenericSuperTypes eClassifier="#//expressions/FeatureCallExp">
        <eTypeArguments eTypeParameter="#//expressions/OperationCallExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PropertyCallExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="P"/>
      <eOperations name="property_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type = referredProperty.type"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty">
        <eGenericType eTypeParameter="#//expressions/PropertyCallExp/P"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/NavigationCallExp">
        <eTypeArguments eTypeParameter="#//expressions/PropertyCallExp/C"/>
        <eTypeArguments eTypeParameter="#//expressions/PropertyCallExp/P"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RealLiteralExp">
      <eTypeParameters name="C"/>
      <eOperations name="real_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.type.name = 'Real'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="realSymbol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
      <eGenericSuperTypes eClassifier="#//expressions/NumericLiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/RealLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StateExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="S"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredState">
        <eGenericType eTypeParameter="#//expressions/StateExp/S"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/StateExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StringLiteralExp">
      <eTypeParameters name="C"/>
      <eOperations name="string_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="self.type.name = 'String'"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringSymbol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eGenericSuperTypes eClassifier="#//expressions/PrimitiveLiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/StringLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="P"/>
      <eOperations name="tuple_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type.oclIsKindOf (TupleType)&#xA;and&#xA;part->forAll (tlep |&#xA;type.oclAsType (TupleType).allProperties()->exists (tp | tlep.attribute = tp))&#xA;and&#xA;part->size() = type.oclAsType (TupleType).allProperties()->size()"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eOperations name="parts_unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="part->isUnique (attribute.name)"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="part" upperBound="-1"
          containment="true">
        <eGenericType eClassifier="#//expressions/TupleLiteralPart">
          <eTypeArguments eTypeParameter="#//expressions/TupleLiteralExp/C"/>
          <eTypeArguments eTypeParameter="#//expressions/TupleLiteralExp/P"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/LiteralExp">
        <eTypeArguments eTypeParameter="#//expressions/TupleLiteralExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralPart">
      <eTypeParameters name="C"/>
      <eTypeParameters name="P"/>
      <eOperations name="value_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="attribute.type = value.type"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="value" containment="true">
        <eGenericType eClassifier="#//expressions/OCLExpression">
          <eTypeArguments eTypeParameter="#//expressions/TupleLiteralPart/C"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="attribute">
        <eGenericType eTypeParameter="#//expressions/TupleLiteralPart/P"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//utilities/TypedElement">
        <eTypeArguments eTypeParameter="#//expressions/TupleLiteralPart/C"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/Visitable"/>
      <eGenericSuperTypes eClassifier="#//utilities/TypedASTNode"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeExp">
      <eTypeParameters name="C"/>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredType">
        <eGenericType eTypeParameter="#//expressions/TypeExp/C"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/TypeExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UnspecifiedValueExp">
      <eTypeParameters name="C"/>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/UnspecifiedValueExp/C"/>
      </eGenericSuperTypes>
      <eGenericSuperTypes eClassifier="#//utilities/TypedASTNode"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VariableExp">
      <eTypeParameters name="C"/>
      <eTypeParameters name="PM"/>
      <eOperations name="var_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="type = referredVariable.type"/>
        </eAnnotations>
        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
          </eAnnotations>
        </eParameters>
        <eParameters name="context">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The cache of context-specific information."/>
          </eAnnotations>
          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          </eGenericType>
        </eParameters>
      </eOperations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredVariable">
        <eGenericType eClassifier="#//expressions/Variable">
          <eTypeArguments eTypeParameter="#//expressions/VariableExp/C"/>
          <eTypeArguments eTypeParameter="#//expressions/VariableExp/PM"/>
        </eGenericType>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="#//expressions/OCLExpression">
        <eTypeArguments eTypeParameter="#//expressions/VariableExp/C"/>
      </eGenericSuperTypes>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"ocl","nsURI":"http://www.eclipse.org/ocl/1.1.0/OCL","name":"ocl","id":0,"eClass":"EPackage"},{"nsPrefix":"ocl.types","nsURI":"http://www.eclipse.org/ocl/1.1.0/OCL/Types","name":"types","id":1,"eClass":"EPackage"},{"nsPrefix":"ocl.util","nsURI":"http://www.eclipse.org/ocl/1.1.0/OCL/Utilities","name":"utilities","id":2,"eClass":"EPackage"},{"nsPrefix":"ocl.expr","nsURI":"http://www.eclipse.org/ocl/1.1.0/OCL/Expressions","name":"expressions","id":3,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AnyType","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BagType","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionType","instanceClass":null,"abstract":false,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ElementType","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidType","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageType","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OrderedSetType","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SequenceType","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SetType","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateParameterType","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleType","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeType","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VoidType","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"name":"O","id":18,"eClass":"ETypeParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PredefinedType","instanceClass":null,"abstract":true,"id":19,"interface":true,"eClass":"EClass"},{"id":20,"eClass":"EGenericType"},{"id":21,"eClass":"EGenericType"},{"name":"C","id":22,"eClass":"ETypeParameter"},{"name":"O","id":23,"eClass":"ETypeParameter"},{"id":24,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"collection_type_name","lowerBound":0,"id":25,"many":false,"required":false,"eClass":"EOperation"},{"id":26,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":27,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":28,"many":false,"required":false,"eClass":"EParameter"},{"id":29,"eClass":"EGenericType"},{"id":30,"eClass":"EGenericType"},{"id":31,"eClass":"EGenericType"},{"id":32,"eClass":"EGenericType"},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"name":"C","id":35,"eClass":"ETypeParameter"},{"name":"O","id":36,"eClass":"ETypeParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedASTNode","instanceClass":null,"abstract":true,"id":37,"interface":true,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"collection_type_name","lowerBound":0,"id":38,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"no_invalid_values","lowerBound":0,"id":39,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":-1,"unique":true,"name":"oclIterators","lowerBound":0,"id":40,"many":true,"required":false,"eClass":"EOperation"},{"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":"elementType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":41,"derived":false},{"ordered":true,"upperBound":1,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"kind","changeable":false,"lowerBound":1,"iD":false,"id":42,"derived":false},{"id":43,"eClass":"EGenericType"},{"id":44,"eClass":"EGenericType"},{"id":45,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":46,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":47,"many":false,"required":false,"eClass":"EParameter"},{"id":48,"eClass":"EGenericType"},{"id":49,"eClass":"EGenericType"},{"id":50,"eClass":"EGenericType"},{"id":51,"eClass":"EGenericType"},{"id":52,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":53,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":54,"many":false,"required":false,"eClass":"EParameter"},{"id":55,"eClass":"EGenericType"},{"id":56,"eClass":"EGenericType"},{"id":57,"eClass":"EGenericType"},{"id":58,"eClass":"EGenericType"},{"id":59,"eClass":"EGenericType"},{"id":60,"eClass":"EGenericType"},{"instanceTypeName":null,"instanceClassName":null,"name":"CollectionKind","instanceClass":null,"id":61,"serializable":true,"eClass":"EEnum"},{"id":62,"eClass":"EGenericType"},{"id":63,"eClass":"EGenericType"},{"name":"O","id":64,"eClass":"ETypeParameter"},{"id":65,"eClass":"EGenericType"},{"id":66,"eClass":"EGenericType"},{"name":"C","id":67,"eClass":"ETypeParameter"},{"name":"O","id":68,"eClass":"ETypeParameter"},{"name":"P","id":69,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"exclusive_signature","lowerBound":0,"id":70,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"operation_parameters","lowerBound":0,"id":71,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"signal_attributes","lowerBound":0,"id":72,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":-1,"unique":true,"name":"oclProperties","lowerBound":0,"id":73,"many":true,"required":false,"eClass":"EOperation"},{"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":"referredOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":74,"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":"referredSignal","changeable":true,"resolveProxies":true,"lowerBound":0,"id":75,"derived":false},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":78,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":79,"many":false,"required":false,"eClass":"EParameter"},{"id":80,"eClass":"EGenericType"},{"id":81,"eClass":"EGenericType"},{"id":82,"eClass":"EGenericType"},{"id":83,"eClass":"EGenericType"},{"id":84,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":85,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":86,"many":false,"required":false,"eClass":"EParameter"},{"id":87,"eClass":"EGenericType"},{"id":88,"eClass":"EGenericType"},{"id":89,"eClass":"EGenericType"},{"id":90,"eClass":"EGenericType"},{"id":91,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":92,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":93,"many":false,"required":false,"eClass":"EParameter"},{"id":94,"eClass":"EGenericType"},{"id":95,"eClass":"EGenericType"},{"id":96,"eClass":"EGenericType"},{"id":97,"eClass":"EGenericType"},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"id":100,"eClass":"EGenericType"},{"id":101,"eClass":"EGenericType"},{"name":"C","id":102,"eClass":"ETypeParameter"},{"name":"O","id":103,"eClass":"ETypeParameter"},{"id":104,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"collection_type_name","lowerBound":0,"id":105,"many":false,"required":false,"eClass":"EOperation"},{"id":106,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":107,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":108,"many":false,"required":false,"eClass":"EParameter"},{"id":109,"eClass":"EGenericType"},{"id":110,"eClass":"EGenericType"},{"id":111,"eClass":"EGenericType"},{"id":112,"eClass":"EGenericType"},{"id":113,"eClass":"EGenericType"},{"id":114,"eClass":"EGenericType"},{"name":"O","id":115,"eClass":"ETypeParameter"},{"id":116,"eClass":"EGenericType"},{"id":117,"eClass":"EGenericType"},{"name":"C","id":118,"eClass":"ETypeParameter"},{"name":"O","id":119,"eClass":"ETypeParameter"},{"id":120,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"collection_type_name","lowerBound":0,"id":121,"many":false,"required":false,"eClass":"EOperation"},{"id":122,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":123,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":124,"many":false,"required":false,"eClass":"EParameter"},{"id":125,"eClass":"EGenericType"},{"id":126,"eClass":"EGenericType"},{"id":127,"eClass":"EGenericType"},{"id":128,"eClass":"EGenericType"},{"id":129,"eClass":"EGenericType"},{"id":130,"eClass":"EGenericType"},{"name":"C","id":131,"eClass":"ETypeParameter"},{"name":"O","id":132,"eClass":"ETypeParameter"},{"id":133,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"collection_type_name","lowerBound":0,"id":134,"many":false,"required":false,"eClass":"EOperation"},{"id":135,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":136,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":137,"many":false,"required":false,"eClass":"EParameter"},{"id":138,"eClass":"EGenericType"},{"id":139,"eClass":"EGenericType"},{"id":140,"eClass":"EGenericType"},{"id":141,"eClass":"EGenericType"},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"},{"name":"O","id":144,"eClass":"ETypeParameter"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"specification","changeable":true,"lowerBound":0,"iD":false,"id":145,"derived":false},{"id":146,"eClass":"EGenericType"},{"name":"O","id":147,"eClass":"ETypeParameter"},{"name":"P","id":148,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"tuple_type_name","lowerBound":0,"id":149,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"part_names_unique","lowerBound":0,"id":150,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"features_only_properties","lowerBound":0,"id":151,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":-1,"unique":true,"name":"oclProperties","lowerBound":0,"id":152,"many":true,"required":false,"eClass":"EOperation"},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":155,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":156,"many":false,"required":false,"eClass":"EParameter"},{"id":157,"eClass":"EGenericType"},{"id":158,"eClass":"EGenericType"},{"id":159,"eClass":"EGenericType"},{"id":160,"eClass":"EGenericType"},{"id":161,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":162,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":163,"many":false,"required":false,"eClass":"EParameter"},{"id":164,"eClass":"EGenericType"},{"id":165,"eClass":"EGenericType"},{"id":166,"eClass":"EGenericType"},{"id":167,"eClass":"EGenericType"},{"id":168,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":169,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":170,"many":false,"required":false,"eClass":"EParameter"},{"id":171,"eClass":"EGenericType"},{"id":172,"eClass":"EGenericType"},{"id":173,"eClass":"EGenericType"},{"id":174,"eClass":"EGenericType"},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"name":"C","id":177,"eClass":"ETypeParameter"},{"name":"O","id":178,"eClass":"ETypeParameter"},{"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":"referredType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":179,"derived":false},{"id":180,"eClass":"EGenericType"},{"id":181,"eClass":"EGenericType"},{"id":182,"eClass":"EGenericType"},{"name":"O","id":183,"eClass":"ETypeParameter"},{"id":184,"eClass":"EGenericType"},{"id":185,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ASTNode","instanceClass":null,"abstract":true,"id":186,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallingASTNode","instanceClass":null,"abstract":true,"id":187,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Visitable","instanceClass":null,"abstract":true,"id":188,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Visitor","instanceClass":null,"abstract":true,"id":189,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedElement","instanceClass":null,"abstract":true,"id":190,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpressionInOCL","instanceClass":null,"abstract":true,"id":191,"interface":true,"eClass":"EClass"},{"ordered":true,"upperBound":1,"defaultValue":-1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"-1","unsettable":false,"transient":true,"unique":true,"name":"startPosition","changeable":true,"lowerBound":0,"iD":false,"id":192,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":-1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"-1","unsettable":false,"transient":true,"unique":true,"name":"endPosition","changeable":true,"lowerBound":0,"iD":false,"id":193,"derived":false},{"id":194,"eClass":"EGenericType"},{"id":195,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":-1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"-1","unsettable":false,"transient":true,"unique":true,"name":"propertyStartPosition","changeable":true,"lowerBound":0,"iD":false,"id":196,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":-1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"-1","unsettable":false,"transient":true,"unique":true,"name":"propertyEndPosition","changeable":true,"lowerBound":0,"iD":false,"id":197,"derived":false},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"id":200,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":-1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"-1","unsettable":false,"transient":true,"unique":true,"name":"typeStartPosition","changeable":true,"lowerBound":0,"iD":false,"id":201,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":-1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"-1","unsettable":false,"transient":true,"unique":true,"name":"typeEndPosition","changeable":true,"lowerBound":0,"iD":false,"id":202,"derived":false},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"id":205,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"accept","lowerBound":0,"id":206,"many":false,"required":false,"eClass":"EOperation"},{"id":207,"eClass":"EGenericType"},{"name":"T","id":208,"eClass":"ETypeParameter"},{"name":"U","id":209,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"v","lowerBound":0,"id":210,"many":false,"required":false,"eClass":"EParameter"},{"id":211,"eClass":"EGenericType"},{"id":212,"eClass":"EGenericType"},{"id":213,"eClass":"EGenericType"},{"id":214,"eClass":"EGenericType"},{"id":215,"eClass":"EGenericType"},{"id":216,"eClass":"EGenericType"},{"id":217,"eClass":"EGenericType"},{"id":218,"eClass":"EGenericType"},{"id":219,"eClass":"EGenericType"},{"id":220,"eClass":"EGenericType"},{"id":221,"eClass":"EGenericType"},{"id":222,"eClass":"EGenericType"},{"name":"T","id":223,"eClass":"ETypeParameter"},{"name":"C","id":224,"eClass":"ETypeParameter"},{"name":"O","id":225,"eClass":"ETypeParameter"},{"name":"P","id":226,"eClass":"ETypeParameter"},{"name":"EL","id":227,"eClass":"ETypeParameter"},{"name":"PM","id":228,"eClass":"ETypeParameter"},{"name":"S","id":229,"eClass":"ETypeParameter"},{"name":"COA","id":230,"eClass":"ETypeParameter"},{"name":"SSA","id":231,"eClass":"ETypeParameter"},{"name":"CT","id":232,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitVariableExp","lowerBound":0,"id":233,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitLetExp","lowerBound":0,"id":234,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitIfExp","lowerBound":0,"id":235,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitTypeExp","lowerBound":0,"id":236,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitPropertyCallExp","lowerBound":0,"id":237,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitOperationCallExp","lowerBound":0,"id":238,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitAssociationClassCallExp","lowerBound":0,"id":239,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitIteratorExp","lowerBound":0,"id":240,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitIterateExp","lowerBound":0,"id":241,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitUnspecifiedValueExp","lowerBound":0,"id":242,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitIntegerLiteralExp","lowerBound":0,"id":243,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitUnlimitedNaturalLiteralExp","lowerBound":0,"id":244,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitRealLiteralExp","lowerBound":0,"id":245,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitStringLiteralExp","lowerBound":0,"id":246,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitBooleanLiteralExp","lowerBound":0,"id":247,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitEnumLiteralExp","lowerBound":0,"id":248,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitCollectionLiteralExp","lowerBound":0,"id":249,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitCollectionItem","lowerBound":0,"id":250,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitCollectionRange","lowerBound":0,"id":251,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitTupleLiteralExp","lowerBound":0,"id":252,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitTupleLiteralPart","lowerBound":0,"id":253,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitInvalidLiteralExp","lowerBound":0,"id":254,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitNullLiteralExp","lowerBound":0,"id":255,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitStateExp","lowerBound":0,"id":256,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitMessageExp","lowerBound":0,"id":257,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitVariable","lowerBound":0,"id":258,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitExpressionInOCL","lowerBound":0,"id":259,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"visitConstraint","lowerBound":0,"id":260,"many":false,"required":false,"eClass":"EOperation"},{"id":261,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"variableExp","lowerBound":1,"id":262,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableExp","instanceClass":null,"abstract":false,"id":263,"interface":false,"eClass":"EClass"},{"id":264,"eClass":"EGenericType"},{"id":265,"eClass":"EGenericType"},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"letExp","lowerBound":1,"id":268,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LetExp","instanceClass":null,"abstract":false,"id":269,"interface":false,"eClass":"EClass"},{"id":270,"eClass":"EGenericType"},{"id":271,"eClass":"EGenericType"},{"id":272,"eClass":"EGenericType"},{"id":273,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ifExp","lowerBound":1,"id":274,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IfExp","instanceClass":null,"abstract":false,"id":275,"interface":false,"eClass":"EClass"},{"id":276,"eClass":"EGenericType"},{"id":277,"eClass":"EGenericType"},{"id":278,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"typeExp","lowerBound":1,"id":279,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeExp","instanceClass":null,"abstract":false,"id":280,"interface":false,"eClass":"EClass"},{"id":281,"eClass":"EGenericType"},{"id":282,"eClass":"EGenericType"},{"id":283,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"callExp","lowerBound":1,"id":284,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PropertyCallExp","instanceClass":null,"abstract":false,"id":285,"interface":false,"eClass":"EClass"},{"id":286,"eClass":"EGenericType"},{"id":287,"eClass":"EGenericType"},{"id":288,"eClass":"EGenericType"},{"id":289,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"callExp","lowerBound":1,"id":290,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationCallExp","instanceClass":null,"abstract":false,"id":291,"interface":false,"eClass":"EClass"},{"id":292,"eClass":"EGenericType"},{"id":293,"eClass":"EGenericType"},{"id":294,"eClass":"EGenericType"},{"id":295,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"callExp","lowerBound":1,"id":296,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssociationClassCallExp","instanceClass":null,"abstract":false,"id":297,"interface":false,"eClass":"EClass"},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"id":301,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"callExp","lowerBound":1,"id":302,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IteratorExp","instanceClass":null,"abstract":false,"id":303,"interface":false,"eClass":"EClass"},{"id":304,"eClass":"EGenericType"},{"id":305,"eClass":"EGenericType"},{"id":306,"eClass":"EGenericType"},{"id":307,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"callExp","lowerBound":1,"id":308,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IterateExp","instanceClass":null,"abstract":false,"id":309,"interface":false,"eClass":"EClass"},{"id":310,"eClass":"EGenericType"},{"id":311,"eClass":"EGenericType"},{"id":312,"eClass":"EGenericType"},{"id":313,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"unspecExp","lowerBound":1,"id":314,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnspecifiedValueExp","instanceClass":null,"abstract":false,"id":315,"interface":false,"eClass":"EClass"},{"id":316,"eClass":"EGenericType"},{"id":317,"eClass":"EGenericType"},{"id":318,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":319,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IntegerLiteralExp","instanceClass":null,"abstract":false,"id":320,"interface":false,"eClass":"EClass"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"id":323,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":324,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnlimitedNaturalLiteralExp","instanceClass":null,"abstract":false,"id":325,"interface":false,"eClass":"EClass"},{"id":326,"eClass":"EGenericType"},{"id":327,"eClass":"EGenericType"},{"id":328,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":329,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RealLiteralExp","instanceClass":null,"abstract":false,"id":330,"interface":false,"eClass":"EClass"},{"id":331,"eClass":"EGenericType"},{"id":332,"eClass":"EGenericType"},{"id":333,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":334,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StringLiteralExp","instanceClass":null,"abstract":false,"id":335,"interface":false,"eClass":"EClass"},{"id":336,"eClass":"EGenericType"},{"id":337,"eClass":"EGenericType"},{"id":338,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":339,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BooleanLiteralExp","instanceClass":null,"abstract":false,"id":340,"interface":false,"eClass":"EClass"},{"id":341,"eClass":"EGenericType"},{"id":342,"eClass":"EGenericType"},{"id":343,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":344,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumLiteralExp","instanceClass":null,"abstract":false,"id":345,"interface":false,"eClass":"EClass"},{"id":346,"eClass":"EGenericType"},{"id":347,"eClass":"EGenericType"},{"id":348,"eClass":"EGenericType"},{"id":349,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":350,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralExp","instanceClass":null,"abstract":false,"id":351,"interface":false,"eClass":"EClass"},{"id":352,"eClass":"EGenericType"},{"id":353,"eClass":"EGenericType"},{"id":354,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"item","lowerBound":1,"id":355,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionItem","instanceClass":null,"abstract":false,"id":356,"interface":false,"eClass":"EClass"},{"id":357,"eClass":"EGenericType"},{"id":358,"eClass":"EGenericType"},{"id":359,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"range","lowerBound":1,"id":360,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionRange","instanceClass":null,"abstract":false,"id":361,"interface":false,"eClass":"EClass"},{"id":362,"eClass":"EGenericType"},{"id":363,"eClass":"EGenericType"},{"id":364,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":365,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralExp","instanceClass":null,"abstract":false,"id":366,"interface":false,"eClass":"EClass"},{"id":367,"eClass":"EGenericType"},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"id":370,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"part","lowerBound":1,"id":371,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralPart","instanceClass":null,"abstract":false,"id":372,"interface":false,"eClass":"EClass"},{"id":373,"eClass":"EGenericType"},{"id":374,"eClass":"EGenericType"},{"id":375,"eClass":"EGenericType"},{"id":376,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":377,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidLiteralExp","instanceClass":null,"abstract":false,"id":378,"interface":false,"eClass":"EClass"},{"id":379,"eClass":"EGenericType"},{"id":380,"eClass":"EGenericType"},{"id":381,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"literalExp","lowerBound":1,"id":382,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NullLiteralExp","instanceClass":null,"abstract":false,"id":383,"interface":false,"eClass":"EClass"},{"id":384,"eClass":"EGenericType"},{"id":385,"eClass":"EGenericType"},{"id":386,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"stateExp","lowerBound":1,"id":387,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateExp","instanceClass":null,"abstract":false,"id":388,"interface":false,"eClass":"EClass"},{"id":389,"eClass":"EGenericType"},{"id":390,"eClass":"EGenericType"},{"id":391,"eClass":"EGenericType"},{"id":392,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"messageExp","lowerBound":1,"id":393,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageExp","instanceClass":null,"abstract":false,"id":394,"interface":false,"eClass":"EClass"},{"id":395,"eClass":"EGenericType"},{"id":396,"eClass":"EGenericType"},{"id":397,"eClass":"EGenericType"},{"id":398,"eClass":"EGenericType"},{"id":399,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"variable","lowerBound":1,"id":400,"many":false,"required":true,"eClass":"EParameter"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Variable","instanceClass":null,"abstract":false,"id":401,"interface":false,"eClass":"EClass"},{"id":402,"eClass":"EGenericType"},{"id":403,"eClass":"EGenericType"},{"id":404,"eClass":"EGenericType"},{"id":405,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"expression","lowerBound":1,"id":406,"many":false,"required":true,"eClass":"EParameter"},{"id":407,"eClass":"EGenericType"},{"id":408,"eClass":"EGenericType"},{"id":409,"eClass":"EGenericType"},{"id":410,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"constraint","lowerBound":1,"id":411,"many":false,"required":true,"eClass":"EParameter"},{"id":412,"eClass":"EGenericType"},{"name":"C","id":413,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":0,"id":414,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getType","lowerBound":0,"id":415,"many":false,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"setName","lowerBound":1,"id":416,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"setType","lowerBound":1,"id":417,"many":false,"required":true,"eClass":"EOperation"},{"id":418,"eClass":"EGenericType"},{"id":419,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":420,"many":false,"required":true,"eClass":"EParameter"},{"id":421,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"type","lowerBound":1,"id":422,"many":false,"required":true,"eClass":"EParameter"},{"id":423,"eClass":"EGenericType"},{"name":"C","id":424,"eClass":"ETypeParameter"},{"name":"PM","id":425,"eClass":"ETypeParameter"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bodyExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":426,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"contextVariable","changeable":true,"resolveProxies":true,"lowerBound":1,"id":427,"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":"resultVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":428,"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":"parameterVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":429,"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":"generatedType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":430,"derived":false},{"id":431,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OCLExpression","instanceClass":null,"abstract":true,"id":432,"interface":false,"eClass":"EClass"},{"id":433,"eClass":"EGenericType"},{"id":434,"eClass":"EGenericType"},{"id":435,"eClass":"EGenericType"},{"id":436,"eClass":"EGenericType"},{"id":437,"eClass":"EGenericType"},{"id":438,"eClass":"EGenericType"},{"id":439,"eClass":"EGenericType"},{"id":440,"eClass":"EGenericType"},{"id":441,"eClass":"EGenericType"},{"id":442,"eClass":"EGenericType"},{"id":443,"eClass":"EGenericType"},{"id":444,"eClass":"EGenericType"},{"name":"O","id":445,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":446,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":-1,"unique":true,"name":"oclOperations","lowerBound":0,"id":447,"many":true,"required":false,"eClass":"EOperation"},{"id":448,"eClass":"EGenericType"},{"id":449,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NavigationCallExp","instanceClass":null,"abstract":true,"id":450,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FeatureCallExp","instanceClass":null,"abstract":true,"id":451,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallExp","instanceClass":null,"abstract":true,"id":452,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveLiteralExp","instanceClass":null,"abstract":true,"id":453,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralExp","instanceClass":null,"abstract":true,"id":454,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralPart","instanceClass":null,"abstract":true,"id":455,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NumericLiteralExp","instanceClass":null,"abstract":true,"id":456,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LoopExp","instanceClass":null,"abstract":true,"id":457,"interface":false,"eClass":"EClass"},{"name":"C","id":458,"eClass":"ETypeParameter"},{"name":"P","id":459,"eClass":"ETypeParameter"},{"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":"referredAssociationClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":460,"derived":false},{"id":461,"eClass":"EGenericType"},{"id":462,"eClass":"EGenericType"},{"id":463,"eClass":"EGenericType"},{"id":464,"eClass":"EGenericType"},{"name":"C","id":465,"eClass":"ETypeParameter"},{"name":"P","id":466,"eClass":"ETypeParameter"},{"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":"qualifier","changeable":true,"resolveProxies":true,"lowerBound":0,"id":467,"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":"navigationSource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":468,"derived":false},{"id":469,"eClass":"EGenericType"},{"id":470,"eClass":"EGenericType"},{"id":471,"eClass":"EGenericType"},{"id":472,"eClass":"EGenericType"},{"id":473,"eClass":"EGenericType"},{"name":"C","id":474,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"markedPre","changeable":true,"lowerBound":0,"iD":false,"id":475,"derived":false},{"id":476,"eClass":"EGenericType"},{"id":477,"eClass":"EGenericType"},{"id":478,"eClass":"EGenericType"},{"name":"C","id":479,"eClass":"ETypeParameter"},{"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":"source","changeable":true,"resolveProxies":true,"lowerBound":0,"id":480,"derived":false},{"id":481,"eClass":"EGenericType"},{"id":482,"eClass":"EGenericType"},{"id":483,"eClass":"EGenericType"},{"id":484,"eClass":"EGenericType"},{"id":485,"eClass":"EGenericType"},{"name":"C","id":486,"eClass":"ETypeParameter"},{"id":487,"eClass":"EGenericType"},{"id":488,"eClass":"EGenericType"},{"id":489,"eClass":"EGenericType"},{"id":490,"eClass":"EGenericType"},{"name":"C","id":491,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"boolean_type","lowerBound":0,"id":492,"many":false,"required":false,"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":"booleanSymbol","changeable":true,"lowerBound":0,"iD":false,"id":493,"derived":false},{"id":494,"eClass":"EGenericType"},{"id":495,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":496,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":497,"many":false,"required":false,"eClass":"EParameter"},{"id":498,"eClass":"EGenericType"},{"id":499,"eClass":"EGenericType"},{"id":500,"eClass":"EGenericType"},{"id":501,"eClass":"EGenericType"},{"id":502,"eClass":"EGenericType"},{"id":503,"eClass":"EGenericType"},{"name":"C","id":504,"eClass":"ETypeParameter"},{"id":505,"eClass":"EGenericType"},{"id":506,"eClass":"EGenericType"},{"name":"C","id":507,"eClass":"ETypeParameter"},{"id":508,"eClass":"EGenericType"},{"id":509,"eClass":"EGenericType"},{"name":"C","id":510,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"item_type","lowerBound":0,"id":511,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"item","changeable":true,"resolveProxies":true,"lowerBound":1,"id":512,"derived":false},{"id":513,"eClass":"EGenericType"},{"id":514,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":515,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":516,"many":false,"required":false,"eClass":"EParameter"},{"id":517,"eClass":"EGenericType"},{"id":518,"eClass":"EGenericType"},{"id":519,"eClass":"EGenericType"},{"id":520,"eClass":"EGenericType"},{"id":521,"eClass":"EGenericType"},{"id":522,"eClass":"EGenericType"},{"id":523,"eClass":"EGenericType"},{"name":"C","id":524,"eClass":"ETypeParameter"},{"id":525,"eClass":"EGenericType"},{"id":526,"eClass":"EGenericType"},{"id":527,"eClass":"EGenericType"},{"name":"Set","id":528,"value":0,"literal":"Set","eClass":"EEnumLiteral"},{"name":"OrderedSet","id":529,"value":1,"literal":"OrderedSet","eClass":"EEnumLiteral"},{"name":"Bag","id":530,"value":2,"literal":"Bag","eClass":"EEnumLiteral"},{"name":"Sequence","id":531,"value":3,"literal":"Sequence","eClass":"EEnumLiteral"},{"name":"Collection","id":532,"value":4,"literal":"Collection","eClass":"EEnumLiteral"},{"name":"C","id":533,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"no_collection_instances","lowerBound":0,"id":534,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"set_kind","lowerBound":0,"id":535,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"sequence_kind","lowerBound":0,"id":536,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"bag_kind","lowerBound":0,"id":537,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"element_type","lowerBound":0,"id":538,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":0,"iD":false,"id":539,"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":"part","changeable":true,"resolveProxies":true,"lowerBound":0,"id":540,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"simpleRange","changeable":false,"lowerBound":0,"iD":false,"id":541,"derived":false},{"id":542,"eClass":"EGenericType"},{"id":543,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":544,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":545,"many":false,"required":false,"eClass":"EParameter"},{"id":546,"eClass":"EGenericType"},{"id":547,"eClass":"EGenericType"},{"id":548,"eClass":"EGenericType"},{"id":549,"eClass":"EGenericType"},{"id":550,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":551,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":552,"many":false,"required":false,"eClass":"EParameter"},{"id":553,"eClass":"EGenericType"},{"id":554,"eClass":"EGenericType"},{"id":555,"eClass":"EGenericType"},{"id":556,"eClass":"EGenericType"},{"id":557,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":558,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":559,"many":false,"required":false,"eClass":"EParameter"},{"id":560,"eClass":"EGenericType"},{"id":561,"eClass":"EGenericType"},{"id":562,"eClass":"EGenericType"},{"id":563,"eClass":"EGenericType"},{"id":564,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":565,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":566,"many":false,"required":false,"eClass":"EParameter"},{"id":567,"eClass":"EGenericType"},{"id":568,"eClass":"EGenericType"},{"id":569,"eClass":"EGenericType"},{"id":570,"eClass":"EGenericType"},{"id":571,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":572,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":573,"many":false,"required":false,"eClass":"EParameter"},{"id":574,"eClass":"EGenericType"},{"id":575,"eClass":"EGenericType"},{"id":576,"eClass":"EGenericType"},{"id":577,"eClass":"EGenericType"},{"id":578,"eClass":"EGenericType"},{"id":579,"eClass":"EGenericType"},{"id":580,"eClass":"EGenericType"},{"id":581,"eClass":"EGenericType"},{"id":582,"eClass":"EGenericType"},{"name":"C","id":583,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"range_type","lowerBound":0,"id":584,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"first","changeable":true,"resolveProxies":true,"lowerBound":1,"id":585,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"last","changeable":true,"resolveProxies":true,"lowerBound":1,"id":586,"derived":false},{"id":587,"eClass":"EGenericType"},{"id":588,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":589,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":590,"many":false,"required":false,"eClass":"EParameter"},{"id":591,"eClass":"EGenericType"},{"id":592,"eClass":"EGenericType"},{"id":593,"eClass":"EGenericType"},{"id":594,"eClass":"EGenericType"},{"id":595,"eClass":"EGenericType"},{"id":596,"eClass":"EGenericType"},{"id":597,"eClass":"EGenericType"},{"id":598,"eClass":"EGenericType"},{"id":599,"eClass":"EGenericType"},{"name":"C","id":600,"eClass":"ETypeParameter"},{"name":"EL","id":601,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"enum_type","lowerBound":0,"id":602,"many":false,"required":false,"eClass":"EOperation"},{"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":"referredEnumLiteral","changeable":true,"resolveProxies":true,"lowerBound":0,"id":603,"derived":false},{"id":604,"eClass":"EGenericType"},{"id":605,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":606,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":607,"many":false,"required":false,"eClass":"EParameter"},{"id":608,"eClass":"EGenericType"},{"id":609,"eClass":"EGenericType"},{"id":610,"eClass":"EGenericType"},{"id":611,"eClass":"EGenericType"},{"id":612,"eClass":"EGenericType"},{"id":613,"eClass":"EGenericType"},{"name":"C","id":614,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"boolean_condition","lowerBound":0,"id":615,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"if_type","lowerBound":0,"id":616,"many":false,"required":false,"eClass":"EOperation"},{"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":"condition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":617,"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":"thenExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":618,"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":"elseExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":619,"derived":false},{"id":620,"eClass":"EGenericType"},{"id":621,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":622,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":623,"many":false,"required":false,"eClass":"EParameter"},{"id":624,"eClass":"EGenericType"},{"id":625,"eClass":"EGenericType"},{"id":626,"eClass":"EGenericType"},{"id":627,"eClass":"EGenericType"},{"id":628,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":629,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":630,"many":false,"required":false,"eClass":"EParameter"},{"id":631,"eClass":"EGenericType"},{"id":632,"eClass":"EGenericType"},{"id":633,"eClass":"EGenericType"},{"id":634,"eClass":"EGenericType"},{"id":635,"eClass":"EGenericType"},{"id":636,"eClass":"EGenericType"},{"id":637,"eClass":"EGenericType"},{"id":638,"eClass":"EGenericType"},{"id":639,"eClass":"EGenericType"},{"id":640,"eClass":"EGenericType"},{"id":641,"eClass":"EGenericType"},{"name":"C","id":642,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"integer_type","lowerBound":0,"id":643,"many":false,"required":false,"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":"integerSymbol","changeable":true,"lowerBound":0,"iD":false,"id":644,"derived":false},{"id":645,"eClass":"EGenericType"},{"id":646,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":647,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":648,"many":false,"required":false,"eClass":"EParameter"},{"id":649,"eClass":"EGenericType"},{"id":650,"eClass":"EGenericType"},{"id":651,"eClass":"EGenericType"},{"id":652,"eClass":"EGenericType"},{"id":653,"eClass":"EGenericType"},{"id":654,"eClass":"EGenericType"},{"name":"C","id":655,"eClass":"ETypeParameter"},{"id":656,"eClass":"EGenericType"},{"id":657,"eClass":"EGenericType"},{"name":"C","id":658,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"natural_type","lowerBound":0,"id":659,"many":false,"required":false,"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":"integerSymbol","changeable":true,"lowerBound":0,"iD":false,"id":660,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"unlimited","changeable":false,"lowerBound":1,"iD":false,"id":661,"derived":true},{"id":662,"eClass":"EGenericType"},{"id":663,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":664,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":665,"many":false,"required":false,"eClass":"EParameter"},{"id":666,"eClass":"EGenericType"},{"id":667,"eClass":"EGenericType"},{"id":668,"eClass":"EGenericType"},{"id":669,"eClass":"EGenericType"},{"id":670,"eClass":"EGenericType"},{"id":671,"eClass":"EGenericType"},{"id":672,"eClass":"EGenericType"},{"name":"C","id":673,"eClass":"ETypeParameter"},{"id":674,"eClass":"EGenericType"},{"id":675,"eClass":"EGenericType"},{"name":"C","id":676,"eClass":"ETypeParameter"},{"name":"PM","id":677,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"iterate_type","lowerBound":0,"id":678,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"body_type","lowerBound":0,"id":679,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"result_init","lowerBound":0,"id":680,"many":false,"required":false,"eClass":"EOperation"},{"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":"result","changeable":true,"resolveProxies":true,"lowerBound":0,"id":681,"derived":false},{"id":682,"eClass":"EGenericType"},{"id":683,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":684,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":685,"many":false,"required":false,"eClass":"EParameter"},{"id":686,"eClass":"EGenericType"},{"id":687,"eClass":"EGenericType"},{"id":688,"eClass":"EGenericType"},{"id":689,"eClass":"EGenericType"},{"id":690,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":691,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":692,"many":false,"required":false,"eClass":"EParameter"},{"id":693,"eClass":"EGenericType"},{"id":694,"eClass":"EGenericType"},{"id":695,"eClass":"EGenericType"},{"id":696,"eClass":"EGenericType"},{"id":697,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":698,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":699,"many":false,"required":false,"eClass":"EParameter"},{"id":700,"eClass":"EGenericType"},{"id":701,"eClass":"EGenericType"},{"id":702,"eClass":"EGenericType"},{"id":703,"eClass":"EGenericType"},{"id":704,"eClass":"EGenericType"},{"id":705,"eClass":"EGenericType"},{"id":706,"eClass":"EGenericType"},{"id":707,"eClass":"EGenericType"},{"id":708,"eClass":"EGenericType"},{"name":"C","id":709,"eClass":"ETypeParameter"},{"name":"PM","id":710,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"source_collection","lowerBound":0,"id":711,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"loop_variable_init","lowerBound":0,"id":712,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"loop_variable_type","lowerBound":0,"id":713,"many":false,"required":false,"eClass":"EOperation"},{"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":"body","changeable":true,"resolveProxies":true,"lowerBound":0,"id":714,"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":"iterator","changeable":true,"resolveProxies":true,"lowerBound":0,"id":715,"derived":false},{"id":716,"eClass":"EGenericType"},{"id":717,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":718,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":719,"many":false,"required":false,"eClass":"EParameter"},{"id":720,"eClass":"EGenericType"},{"id":721,"eClass":"EGenericType"},{"id":722,"eClass":"EGenericType"},{"id":723,"eClass":"EGenericType"},{"id":724,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":725,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":726,"many":false,"required":false,"eClass":"EParameter"},{"id":727,"eClass":"EGenericType"},{"id":728,"eClass":"EGenericType"},{"id":729,"eClass":"EGenericType"},{"id":730,"eClass":"EGenericType"},{"id":731,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":732,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":733,"many":false,"required":false,"eClass":"EParameter"},{"id":734,"eClass":"EGenericType"},{"id":735,"eClass":"EGenericType"},{"id":736,"eClass":"EGenericType"},{"id":737,"eClass":"EGenericType"},{"id":738,"eClass":"EGenericType"},{"id":739,"eClass":"EGenericType"},{"id":740,"eClass":"EGenericType"},{"id":741,"eClass":"EGenericType"},{"id":742,"eClass":"EGenericType"},{"id":743,"eClass":"EGenericType"},{"name":"C","id":744,"eClass":"ETypeParameter"},{"name":"PM","id":745,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"init_type","lowerBound":0,"id":746,"many":false,"required":false,"eClass":"EOperation"},{"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":"initExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":747,"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":"representedParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":748,"derived":false},{"id":749,"eClass":"EGenericType"},{"id":750,"eClass":"EGenericType"},{"id":751,"eClass":"EGenericType"},{"id":752,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":753,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":754,"many":false,"required":false,"eClass":"EParameter"},{"id":755,"eClass":"EGenericType"},{"id":756,"eClass":"EGenericType"},{"id":757,"eClass":"EGenericType"},{"id":758,"eClass":"EGenericType"},{"id":759,"eClass":"EGenericType"},{"id":760,"eClass":"EGenericType"},{"id":761,"eClass":"EGenericType"},{"id":762,"eClass":"EGenericType"},{"name":"C","id":763,"eClass":"ETypeParameter"},{"name":"PM","id":764,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"boolean_type","lowerBound":0,"id":765,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"collect_type","lowerBound":0,"id":766,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"select_reject_type","lowerBound":0,"id":767,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"boolean_body_type","lowerBound":0,"id":768,"many":false,"required":false,"eClass":"EOperation"},{"id":769,"eClass":"EGenericType"},{"id":770,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":771,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":772,"many":false,"required":false,"eClass":"EParameter"},{"id":773,"eClass":"EGenericType"},{"id":774,"eClass":"EGenericType"},{"id":775,"eClass":"EGenericType"},{"id":776,"eClass":"EGenericType"},{"id":777,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":778,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":779,"many":false,"required":false,"eClass":"EParameter"},{"id":780,"eClass":"EGenericType"},{"id":781,"eClass":"EGenericType"},{"id":782,"eClass":"EGenericType"},{"id":783,"eClass":"EGenericType"},{"id":784,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":785,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":786,"many":false,"required":false,"eClass":"EParameter"},{"id":787,"eClass":"EGenericType"},{"id":788,"eClass":"EGenericType"},{"id":789,"eClass":"EGenericType"},{"id":790,"eClass":"EGenericType"},{"id":791,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":792,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":793,"many":false,"required":false,"eClass":"EParameter"},{"id":794,"eClass":"EGenericType"},{"id":795,"eClass":"EGenericType"},{"id":796,"eClass":"EGenericType"},{"id":797,"eClass":"EGenericType"},{"id":798,"eClass":"EGenericType"},{"id":799,"eClass":"EGenericType"},{"name":"C","id":800,"eClass":"ETypeParameter"},{"name":"PM","id":801,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"let_type","lowerBound":0,"id":802,"many":false,"required":false,"eClass":"EOperation"},{"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":"in","changeable":true,"resolveProxies":true,"lowerBound":0,"id":803,"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":"variable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":804,"derived":false},{"id":805,"eClass":"EGenericType"},{"id":806,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":807,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":808,"many":false,"required":false,"eClass":"EParameter"},{"id":809,"eClass":"EGenericType"},{"id":810,"eClass":"EGenericType"},{"id":811,"eClass":"EGenericType"},{"id":812,"eClass":"EGenericType"},{"id":813,"eClass":"EGenericType"},{"id":814,"eClass":"EGenericType"},{"id":815,"eClass":"EGenericType"},{"id":816,"eClass":"EGenericType"},{"id":817,"eClass":"EGenericType"},{"id":818,"eClass":"EGenericType"},{"name":"C","id":819,"eClass":"ETypeParameter"},{"name":"COA","id":820,"eClass":"ETypeParameter"},{"name":"SSA","id":821,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"operation_arguments","lowerBound":0,"id":822,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"signal_arguments","lowerBound":0,"id":823,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"target_defines_operation","lowerBound":0,"id":824,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"has_operation_or_signal","lowerBound":0,"id":825,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"target_not_collection","lowerBound":0,"id":826,"many":false,"required":false,"eClass":"EOperation"},{"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":"target","changeable":true,"resolveProxies":true,"lowerBound":0,"id":827,"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":"argument","changeable":true,"resolveProxies":true,"lowerBound":0,"id":828,"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":"calledOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":829,"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":"sentSignal","changeable":true,"resolveProxies":true,"lowerBound":0,"id":830,"derived":false},{"id":831,"eClass":"EGenericType"},{"id":832,"eClass":"EGenericType"},{"id":833,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":834,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":835,"many":false,"required":false,"eClass":"EParameter"},{"id":836,"eClass":"EGenericType"},{"id":837,"eClass":"EGenericType"},{"id":838,"eClass":"EGenericType"},{"id":839,"eClass":"EGenericType"},{"id":840,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":841,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":842,"many":false,"required":false,"eClass":"EParameter"},{"id":843,"eClass":"EGenericType"},{"id":844,"eClass":"EGenericType"},{"id":845,"eClass":"EGenericType"},{"id":846,"eClass":"EGenericType"},{"id":847,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":848,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":849,"many":false,"required":false,"eClass":"EParameter"},{"id":850,"eClass":"EGenericType"},{"id":851,"eClass":"EGenericType"},{"id":852,"eClass":"EGenericType"},{"id":853,"eClass":"EGenericType"},{"id":854,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":855,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":856,"many":false,"required":false,"eClass":"EParameter"},{"id":857,"eClass":"EGenericType"},{"id":858,"eClass":"EGenericType"},{"id":859,"eClass":"EGenericType"},{"id":860,"eClass":"EGenericType"},{"id":861,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":862,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":863,"many":false,"required":false,"eClass":"EParameter"},{"id":864,"eClass":"EGenericType"},{"id":865,"eClass":"EGenericType"},{"id":866,"eClass":"EGenericType"},{"id":867,"eClass":"EGenericType"},{"id":868,"eClass":"EGenericType"},{"id":869,"eClass":"EGenericType"},{"id":870,"eClass":"EGenericType"},{"id":871,"eClass":"EGenericType"},{"id":872,"eClass":"EGenericType"},{"id":873,"eClass":"EGenericType"},{"id":874,"eClass":"EGenericType"},{"name":"C","id":875,"eClass":"ETypeParameter"},{"id":876,"eClass":"EGenericType"},{"id":877,"eClass":"EGenericType"},{"name":"C","id":878,"eClass":"ETypeParameter"},{"name":"O","id":879,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"arguments_conform","lowerBound":0,"id":880,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"argument_count","lowerBound":0,"id":881,"many":false,"required":false,"eClass":"EOperation"},{"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":"argument","changeable":true,"resolveProxies":true,"lowerBound":0,"id":882,"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":"referredOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":883,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":true,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"operationCode","changeable":true,"lowerBound":0,"iD":false,"id":884,"derived":false},{"id":885,"eClass":"EGenericType"},{"id":886,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":887,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":888,"many":false,"required":false,"eClass":"EParameter"},{"id":889,"eClass":"EGenericType"},{"id":890,"eClass":"EGenericType"},{"id":891,"eClass":"EGenericType"},{"id":892,"eClass":"EGenericType"},{"id":893,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":894,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":895,"many":false,"required":false,"eClass":"EParameter"},{"id":896,"eClass":"EGenericType"},{"id":897,"eClass":"EGenericType"},{"id":898,"eClass":"EGenericType"},{"id":899,"eClass":"EGenericType"},{"id":900,"eClass":"EGenericType"},{"id":901,"eClass":"EGenericType"},{"id":902,"eClass":"EGenericType"},{"id":903,"eClass":"EGenericType"},{"id":904,"eClass":"EGenericType"},{"name":"C","id":905,"eClass":"ETypeParameter"},{"name":"P","id":906,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"property_type","lowerBound":0,"id":907,"many":false,"required":false,"eClass":"EOperation"},{"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":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":908,"derived":false},{"id":909,"eClass":"EGenericType"},{"id":910,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":911,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":912,"many":false,"required":false,"eClass":"EParameter"},{"id":913,"eClass":"EGenericType"},{"id":914,"eClass":"EGenericType"},{"id":915,"eClass":"EGenericType"},{"id":916,"eClass":"EGenericType"},{"id":917,"eClass":"EGenericType"},{"id":918,"eClass":"EGenericType"},{"id":919,"eClass":"EGenericType"},{"name":"C","id":920,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"real_type","lowerBound":0,"id":921,"many":false,"required":false,"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":"realSymbol","changeable":true,"lowerBound":0,"iD":false,"id":922,"derived":false},{"id":923,"eClass":"EGenericType"},{"id":924,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":925,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":926,"many":false,"required":false,"eClass":"EParameter"},{"id":927,"eClass":"EGenericType"},{"id":928,"eClass":"EGenericType"},{"id":929,"eClass":"EGenericType"},{"id":930,"eClass":"EGenericType"},{"id":931,"eClass":"EGenericType"},{"id":932,"eClass":"EGenericType"},{"name":"C","id":933,"eClass":"ETypeParameter"},{"name":"S","id":934,"eClass":"ETypeParameter"},{"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":"referredState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":935,"derived":false},{"id":936,"eClass":"EGenericType"},{"id":937,"eClass":"EGenericType"},{"id":938,"eClass":"EGenericType"},{"name":"C","id":939,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"string_type","lowerBound":0,"id":940,"many":false,"required":false,"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":"stringSymbol","changeable":true,"lowerBound":0,"iD":false,"id":941,"derived":false},{"id":942,"eClass":"EGenericType"},{"id":943,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":944,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":945,"many":false,"required":false,"eClass":"EParameter"},{"id":946,"eClass":"EGenericType"},{"id":947,"eClass":"EGenericType"},{"id":948,"eClass":"EGenericType"},{"id":949,"eClass":"EGenericType"},{"id":950,"eClass":"EGenericType"},{"id":951,"eClass":"EGenericType"},{"name":"C","id":952,"eClass":"ETypeParameter"},{"name":"P","id":953,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"tuple_type","lowerBound":0,"id":954,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"parts_unique","lowerBound":0,"id":955,"many":false,"required":false,"eClass":"EOperation"},{"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":"part","changeable":true,"resolveProxies":true,"lowerBound":0,"id":956,"derived":false},{"id":957,"eClass":"EGenericType"},{"id":958,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":959,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":960,"many":false,"required":false,"eClass":"EParameter"},{"id":961,"eClass":"EGenericType"},{"id":962,"eClass":"EGenericType"},{"id":963,"eClass":"EGenericType"},{"id":964,"eClass":"EGenericType"},{"id":965,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":966,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":967,"many":false,"required":false,"eClass":"EParameter"},{"id":968,"eClass":"EGenericType"},{"id":969,"eClass":"EGenericType"},{"id":970,"eClass":"EGenericType"},{"id":971,"eClass":"EGenericType"},{"id":972,"eClass":"EGenericType"},{"id":973,"eClass":"EGenericType"},{"id":974,"eClass":"EGenericType"},{"id":975,"eClass":"EGenericType"},{"name":"C","id":976,"eClass":"ETypeParameter"},{"name":"P","id":977,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"value_type","lowerBound":0,"id":978,"many":false,"required":false,"eClass":"EOperation"},{"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":"value","changeable":true,"resolveProxies":true,"lowerBound":0,"id":979,"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":"attribute","changeable":true,"resolveProxies":true,"lowerBound":0,"id":980,"derived":false},{"id":981,"eClass":"EGenericType"},{"id":982,"eClass":"EGenericType"},{"id":983,"eClass":"EGenericType"},{"id":984,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":985,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":986,"many":false,"required":false,"eClass":"EParameter"},{"id":987,"eClass":"EGenericType"},{"id":988,"eClass":"EGenericType"},{"id":989,"eClass":"EGenericType"},{"id":990,"eClass":"EGenericType"},{"id":991,"eClass":"EGenericType"},{"id":992,"eClass":"EGenericType"},{"id":993,"eClass":"EGenericType"},{"id":994,"eClass":"EGenericType"},{"name":"C","id":995,"eClass":"ETypeParameter"},{"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":"referredType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":996,"derived":false},{"id":997,"eClass":"EGenericType"},{"id":998,"eClass":"EGenericType"},{"id":999,"eClass":"EGenericType"},{"name":"C","id":1000,"eClass":"ETypeParameter"},{"id":1001,"eClass":"EGenericType"},{"id":1002,"eClass":"EGenericType"},{"id":1003,"eClass":"EGenericType"},{"name":"C","id":1004,"eClass":"ETypeParameter"},{"name":"PM","id":1005,"eClass":"ETypeParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"var_type","lowerBound":0,"id":1006,"many":false,"required":false,"eClass":"EOperation"},{"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":"referredVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1007,"derived":false},{"id":1008,"eClass":"EGenericType"},{"id":1009,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1010,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1011,"many":false,"required":false,"eClass":"EParameter"},{"id":1012,"eClass":"EGenericType"},{"id":1013,"eClass":"EGenericType"},{"id":1014,"eClass":"EGenericType"},{"id":1015,"eClass":"EGenericType"},{"id":1016,"eClass":"EGenericType"},{"id":1017,"eClass":"EGenericType"},{"id":1018,"eClass":"EGenericType"},{"id":1019,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":1,"target":4},{"source":1,"target":5},{"source":1,"target":6},{"source":1,"target":7},{"source":1,"target":8},{"source":1,"target":9},{"source":1,"target":10},{"source":1,"target":11},{"source":1,"target":12},{"source":1,"target":13},{"source":1,"target":14},{"source":1,"target":15},{"source":1,"target":16},{"source":1,"target":17},{"source":1,"target":0},{"source":4,"target":1},{"source":4,"target":18},{"source":4,"target":19},{"source":4,"target":20},{"source":20,"target":21},{"source":20,"target":19},{"source":21,"target":18},{"source":5,"target":1},{"source":5,"target":22},{"source":5,"target":23},{"source":5,"target":6},{"source":5,"target":24},{"source":25,"target":26},{"source":25,"target":27},{"source":25,"target":28},{"source":27,"target":29},{"source":27,"target":25},{"source":28,"target":30},{"source":28,"target":25},{"source":30,"target":31},{"source":30,"target":32},{"source":24,"target":33},{"source":24,"target":34},{"source":24,"target":6},{"source":33,"target":22},{"source":34,"target":23},{"source":6,"target":1},{"source":6,"target":35},{"source":6,"target":36},{"source":6,"target":19},{"source":6,"target":37},{"source":6,"target":38},{"source":6,"target":39},{"source":6,"target":40},{"source":6,"target":41},{"source":6,"target":42},{"source":6,"target":43},{"source":6,"target":44},{"source":38,"target":45},{"source":38,"target":6},{"source":38,"target":46},{"source":38,"target":47},{"source":46,"target":48},{"source":46,"target":38},{"source":47,"target":49},{"source":47,"target":38},{"source":49,"target":50},{"source":49,"target":51},{"source":39,"target":52},{"source":39,"target":6},{"source":39,"target":53},{"source":39,"target":54},{"source":53,"target":55},{"source":53,"target":39},{"source":54,"target":56},{"source":54,"target":39},{"source":56,"target":57},{"source":56,"target":58},{"source":40,"target":59},{"source":40,"target":6},{"source":59,"target":36},{"source":41,"target":60},{"source":41,"target":6},{"source":60,"target":35},{"source":42,"target":61},{"source":42,"target":62},{"source":42,"target":6},{"source":62,"target":61},{"source":43,"target":63},{"source":43,"target":19},{"source":63,"target":36},{"source":44,"target":37},{"source":7,"target":1},{"source":8,"target":1},{"source":8,"target":64},{"source":8,"target":19},{"source":8,"target":65},{"source":65,"target":66},{"source":65,"target":19},{"source":66,"target":64},{"source":9,"target":1},{"source":9,"target":67},{"source":9,"target":68},{"source":9,"target":69},{"source":9,"target":19},{"source":9,"target":70},{"source":9,"target":71},{"source":9,"target":72},{"source":9,"target":73},{"source":9,"target":74},{"source":9,"target":75},{"source":9,"target":76},{"source":70,"target":77},{"source":70,"target":9},{"source":70,"target":78},{"source":70,"target":79},{"source":78,"target":80},{"source":78,"target":70},{"source":79,"target":81},{"source":79,"target":70},{"source":81,"target":82},{"source":81,"target":83},{"source":71,"target":84},{"source":71,"target":9},{"source":71,"target":85},{"source":71,"target":86},{"source":85,"target":87},{"source":85,"target":71},{"source":86,"target":88},{"source":86,"target":71},{"source":88,"target":89},{"source":88,"target":90},{"source":72,"target":91},{"source":72,"target":9},{"source":72,"target":92},{"source":72,"target":93},{"source":92,"target":94},{"source":92,"target":72},{"source":93,"target":95},{"source":93,"target":72},{"source":95,"target":96},{"source":95,"target":97},{"source":73,"target":98},{"source":73,"target":9},{"source":98,"target":69},{"source":74,"target":99},{"source":74,"target":9},{"source":99,"target":68},{"source":75,"target":100},{"source":75,"target":9},{"source":100,"target":67},{"source":76,"target":101},{"source":76,"target":19},{"source":101,"target":68},{"source":10,"target":1},{"source":10,"target":102},{"source":10,"target":103},{"source":10,"target":6},{"source":10,"target":104},{"source":105,"target":106},{"source":105,"target":107},{"source":105,"target":108},{"source":107,"target":109},{"source":107,"target":105},{"source":108,"target":110},{"source":108,"target":105},{"source":110,"target":111},{"source":110,"target":112},{"source":104,"target":113},{"source":104,"target":114},{"source":104,"target":6},{"source":113,"target":102},{"source":114,"target":103},{"source":11,"target":1},{"source":11,"target":115},{"source":11,"target":19},{"source":11,"target":116},{"source":116,"target":117},{"source":116,"target":19},{"source":117,"target":115},{"source":12,"target":1},{"source":12,"target":118},{"source":12,"target":119},{"source":12,"target":6},{"source":12,"target":120},{"source":121,"target":122},{"source":121,"target":123},{"source":121,"target":124},{"source":123,"target":125},{"source":123,"target":121},{"source":124,"target":126},{"source":124,"target":121},{"source":126,"target":127},{"source":126,"target":128},{"source":120,"target":129},{"source":120,"target":130},{"source":120,"target":6},{"source":129,"target":118},{"source":130,"target":119},{"source":13,"target":1},{"source":13,"target":131},{"source":13,"target":132},{"source":13,"target":6},{"source":13,"target":133},{"source":134,"target":135},{"source":134,"target":136},{"source":134,"target":137},{"source":136,"target":138},{"source":136,"target":134},{"source":137,"target":139},{"source":137,"target":134},{"source":139,"target":140},{"source":139,"target":141},{"source":133,"target":142},{"source":133,"target":143},{"source":133,"target":6},{"source":142,"target":131},{"source":143,"target":132},{"source":14,"target":1},{"source":14,"target":144},{"source":14,"target":145},{"source":145,"target":146},{"source":145,"target":14},{"source":15,"target":1},{"source":15,"target":147},{"source":15,"target":148},{"source":15,"target":19},{"source":15,"target":149},{"source":15,"target":150},{"source":15,"target":151},{"source":15,"target":152},{"source":15,"target":153},{"source":149,"target":154},{"source":149,"target":15},{"source":149,"target":155},{"source":149,"target":156},{"source":155,"target":157},{"source":155,"target":149},{"source":156,"target":158},{"source":156,"target":149},{"source":158,"target":159},{"source":158,"target":160},{"source":150,"target":161},{"source":150,"target":15},{"source":150,"target":162},{"source":150,"target":163},{"source":162,"target":164},{"source":162,"target":150},{"source":163,"target":165},{"source":163,"target":150},{"source":165,"target":166},{"source":165,"target":167},{"source":151,"target":168},{"source":151,"target":15},{"source":151,"target":169},{"source":151,"target":170},{"source":169,"target":171},{"source":169,"target":151},{"source":170,"target":172},{"source":170,"target":151},{"source":172,"target":173},{"source":172,"target":174},{"source":152,"target":175},{"source":152,"target":15},{"source":175,"target":148},{"source":153,"target":176},{"source":153,"target":19},{"source":176,"target":147},{"source":16,"target":1},{"source":16,"target":177},{"source":16,"target":178},{"source":16,"target":19},{"source":16,"target":179},{"source":16,"target":180},{"source":179,"target":181},{"source":179,"target":16},{"source":181,"target":177},{"source":180,"target":182},{"source":180,"target":19},{"source":182,"target":178},{"source":17,"target":1},{"source":17,"target":183},{"source":17,"target":19},{"source":17,"target":184},{"source":184,"target":185},{"source":184,"target":19},{"source":185,"target":183},{"source":2,"target":186},{"source":2,"target":187},{"source":2,"target":37},{"source":2,"target":188},{"source":2,"target":189},{"source":2,"target":190},{"source":2,"target":191},{"source":2,"target":19},{"source":2,"target":0},{"source":186,"target":2},{"source":186,"target":192},{"source":186,"target":193},{"source":192,"target":194},{"source":192,"target":186},{"source":193,"target":195},{"source":193,"target":186},{"source":187,"target":2},{"source":187,"target":186},{"source":187,"target":196},{"source":187,"target":197},{"source":187,"target":198},{"source":196,"target":199},{"source":196,"target":187},{"source":197,"target":200},{"source":197,"target":187},{"source":198,"target":186},{"source":37,"target":2},{"source":37,"target":186},{"source":37,"target":201},{"source":37,"target":202},{"source":37,"target":203},{"source":201,"target":204},{"source":201,"target":37},{"source":202,"target":205},{"source":202,"target":37},{"source":203,"target":186},{"source":188,"target":2},{"source":188,"target":206},{"source":206,"target":207},{"source":206,"target":188},{"source":206,"target":208},{"source":206,"target":209},{"source":206,"target":210},{"source":207,"target":208},{"source":209,"target":211},{"source":211,"target":212},{"source":211,"target":213},{"source":211,"target":214},{"source":211,"target":215},{"source":211,"target":216},{"source":211,"target":217},{"source":211,"target":218},{"source":211,"target":219},{"source":211,"target":220},{"source":211,"target":221},{"source":211,"target":189},{"source":212,"target":208},{"source":210,"target":189},{"source":210,"target":222},{"source":210,"target":206},{"source":222,"target":209},{"source":189,"target":2},{"source":189,"target":223},{"source":189,"target":224},{"source":189,"target":225},{"source":189,"target":226},{"source":189,"target":227},{"source":189,"target":228},{"source":189,"target":229},{"source":189,"target":230},{"source":189,"target":231},{"source":189,"target":232},{"source":189,"target":233},{"source":189,"target":234},{"source":189,"target":235},{"source":189,"target":236},{"source":189,"target":237},{"source":189,"target":238},{"source":189,"target":239},{"source":189,"target":240},{"source":189,"target":241},{"source":189,"target":242},{"source":189,"target":243},{"source":189,"target":244},{"source":189,"target":245},{"source":189,"target":246},{"source":189,"target":247},{"source":189,"target":248},{"source":189,"target":249},{"source":189,"target":250},{"source":189,"target":251},{"source":189,"target":252},{"source":189,"target":253},{"source":189,"target":254},{"source":189,"target":255},{"source":189,"target":256},{"source":189,"target":257},{"source":189,"target":258},{"source":189,"target":259},{"source":189,"target":260},{"source":233,"target":261},{"source":233,"target":189},{"source":233,"target":262},{"source":261,"target":223},{"source":262,"target":263},{"source":262,"target":264},{"source":262,"target":233},{"source":264,"target":265},{"source":264,"target":266},{"source":264,"target":263},{"source":265,"target":224},{"source":266,"target":228},{"source":234,"target":267},{"source":234,"target":189},{"source":234,"target":268},{"source":267,"target":223},{"source":268,"target":269},{"source":268,"target":270},{"source":268,"target":234},{"source":270,"target":271},{"source":270,"target":272},{"source":270,"target":269},{"source":271,"target":224},{"source":272,"target":228},{"source":235,"target":273},{"source":235,"target":189},{"source":235,"target":274},{"source":273,"target":223},{"source":274,"target":275},{"source":274,"target":276},{"source":274,"target":235},{"source":276,"target":277},{"source":276,"target":275},{"source":277,"target":224},{"source":236,"target":278},{"source":236,"target":189},{"source":236,"target":279},{"source":278,"target":223},{"source":279,"target":280},{"source":279,"target":281},{"source":279,"target":236},{"source":281,"target":282},{"source":281,"target":280},{"source":282,"target":224},{"source":237,"target":283},{"source":237,"target":189},{"source":237,"target":284},{"source":283,"target":223},{"source":284,"target":285},{"source":284,"target":286},{"source":284,"target":237},{"source":286,"target":287},{"source":286,"target":288},{"source":286,"target":285},{"source":287,"target":224},{"source":288,"target":226},{"source":238,"target":289},{"source":238,"target":189},{"source":238,"target":290},{"source":289,"target":223},{"source":290,"target":291},{"source":290,"target":292},{"source":290,"target":238},{"source":292,"target":293},{"source":292,"target":294},{"source":292,"target":291},{"source":293,"target":224},{"source":294,"target":225},{"source":239,"target":295},{"source":239,"target":189},{"source":239,"target":296},{"source":295,"target":223},{"source":296,"target":297},{"source":296,"target":298},{"source":296,"target":239},{"source":298,"target":299},{"source":298,"target":300},{"source":298,"target":297},{"source":299,"target":224},{"source":300,"target":226},{"source":240,"target":301},{"source":240,"target":189},{"source":240,"target":302},{"source":301,"target":223},{"source":302,"target":303},{"source":302,"target":304},{"source":302,"target":240},{"source":304,"target":305},{"source":304,"target":306},{"source":304,"target":303},{"source":305,"target":224},{"source":306,"target":228},{"source":241,"target":307},{"source":241,"target":189},{"source":241,"target":308},{"source":307,"target":223},{"source":308,"target":309},{"source":308,"target":310},{"source":308,"target":241},{"source":310,"target":311},{"source":310,"target":312},{"source":310,"target":309},{"source":311,"target":224},{"source":312,"target":228},{"source":242,"target":313},{"source":242,"target":189},{"source":242,"target":314},{"source":313,"target":223},{"source":314,"target":315},{"source":314,"target":316},{"source":314,"target":242},{"source":316,"target":317},{"source":316,"target":315},{"source":317,"target":224},{"source":243,"target":318},{"source":243,"target":189},{"source":243,"target":319},{"source":318,"target":223},{"source":319,"target":320},{"source":319,"target":321},{"source":319,"target":243},{"source":321,"target":322},{"source":321,"target":320},{"source":322,"target":224},{"source":244,"target":323},{"source":244,"target":189},{"source":244,"target":324},{"source":323,"target":223},{"source":324,"target":325},{"source":324,"target":326},{"source":324,"target":244},{"source":326,"target":327},{"source":326,"target":325},{"source":327,"target":224},{"source":245,"target":328},{"source":245,"target":189},{"source":245,"target":329},{"source":328,"target":223},{"source":329,"target":330},{"source":329,"target":331},{"source":329,"target":245},{"source":331,"target":332},{"source":331,"target":330},{"source":332,"target":224},{"source":246,"target":333},{"source":246,"target":189},{"source":246,"target":334},{"source":333,"target":223},{"source":334,"target":335},{"source":334,"target":336},{"source":334,"target":246},{"source":336,"target":337},{"source":336,"target":335},{"source":337,"target":224},{"source":247,"target":338},{"source":247,"target":189},{"source":247,"target":339},{"source":338,"target":223},{"source":339,"target":340},{"source":339,"target":341},{"source":339,"target":247},{"source":341,"target":342},{"source":341,"target":340},{"source":342,"target":224},{"source":248,"target":343},{"source":248,"target":189},{"source":248,"target":344},{"source":343,"target":223},{"source":344,"target":345},{"source":344,"target":346},{"source":344,"target":248},{"source":346,"target":347},{"source":346,"target":348},{"source":346,"target":345},{"source":347,"target":224},{"source":348,"target":227},{"source":249,"target":349},{"source":249,"target":189},{"source":249,"target":350},{"source":349,"target":223},{"source":350,"target":351},{"source":350,"target":352},{"source":350,"target":249},{"source":352,"target":353},{"source":352,"target":351},{"source":353,"target":224},{"source":250,"target":354},{"source":250,"target":189},{"source":250,"target":355},{"source":354,"target":223},{"source":355,"target":356},{"source":355,"target":357},{"source":355,"target":250},{"source":357,"target":358},{"source":357,"target":356},{"source":358,"target":224},{"source":251,"target":359},{"source":251,"target":189},{"source":251,"target":360},{"source":359,"target":223},{"source":360,"target":361},{"source":360,"target":362},{"source":360,"target":251},{"source":362,"target":363},{"source":362,"target":361},{"source":363,"target":224},{"source":252,"target":364},{"source":252,"target":189},{"source":252,"target":365},{"source":364,"target":223},{"source":365,"target":366},{"source":365,"target":367},{"source":365,"target":252},{"source":367,"target":368},{"source":367,"target":369},{"source":367,"target":366},{"source":368,"target":224},{"source":369,"target":226},{"source":253,"target":370},{"source":253,"target":189},{"source":253,"target":371},{"source":370,"target":223},{"source":371,"target":372},{"source":371,"target":373},{"source":371,"target":253},{"source":373,"target":374},{"source":373,"target":375},{"source":373,"target":372},{"source":374,"target":224},{"source":375,"target":226},{"source":254,"target":376},{"source":254,"target":189},{"source":254,"target":377},{"source":376,"target":223},{"source":377,"target":378},{"source":377,"target":379},{"source":377,"target":254},{"source":379,"target":380},{"source":379,"target":378},{"source":380,"target":224},{"source":255,"target":381},{"source":255,"target":189},{"source":255,"target":382},{"source":381,"target":223},{"source":382,"target":383},{"source":382,"target":384},{"source":382,"target":255},{"source":384,"target":385},{"source":384,"target":383},{"source":385,"target":224},{"source":256,"target":386},{"source":256,"target":189},{"source":256,"target":387},{"source":386,"target":223},{"source":387,"target":388},{"source":387,"target":389},{"source":387,"target":256},{"source":389,"target":390},{"source":389,"target":391},{"source":389,"target":388},{"source":390,"target":224},{"source":391,"target":229},{"source":257,"target":392},{"source":257,"target":189},{"source":257,"target":393},{"source":392,"target":223},{"source":393,"target":394},{"source":393,"target":395},{"source":393,"target":257},{"source":395,"target":396},{"source":395,"target":397},{"source":395,"target":398},{"source":395,"target":394},{"source":396,"target":224},{"source":397,"target":230},{"source":398,"target":231},{"source":258,"target":399},{"source":258,"target":189},{"source":258,"target":400},{"source":399,"target":223},{"source":400,"target":401},{"source":400,"target":402},{"source":400,"target":258},{"source":402,"target":403},{"source":402,"target":404},{"source":402,"target":401},{"source":403,"target":224},{"source":404,"target":228},{"source":259,"target":405},{"source":259,"target":189},{"source":259,"target":406},{"source":405,"target":223},{"source":406,"target":191},{"source":406,"target":407},{"source":406,"target":259},{"source":407,"target":408},{"source":407,"target":409},{"source":407,"target":191},{"source":408,"target":224},{"source":409,"target":228},{"source":260,"target":410},{"source":260,"target":189},{"source":260,"target":411},{"source":410,"target":223},{"source":411,"target":412},{"source":411,"target":260},{"source":412,"target":232},{"source":190,"target":2},{"source":190,"target":413},{"source":190,"target":414},{"source":190,"target":415},{"source":190,"target":416},{"source":190,"target":417},{"source":414,"target":418},{"source":414,"target":190},{"source":415,"target":419},{"source":415,"target":190},{"source":419,"target":413},{"source":416,"target":190},{"source":416,"target":420},{"source":420,"target":421},{"source":420,"target":416},{"source":417,"target":190},{"source":417,"target":422},{"source":422,"target":423},{"source":422,"target":417},{"source":423,"target":413},{"source":191,"target":2},{"source":191,"target":424},{"source":191,"target":425},{"source":191,"target":188},{"source":191,"target":426},{"source":191,"target":427},{"source":191,"target":428},{"source":191,"target":429},{"source":191,"target":430},{"source":191,"target":431},{"source":426,"target":432},{"source":426,"target":433},{"source":426,"target":191},{"source":433,"target":434},{"source":433,"target":432},{"source":434,"target":424},{"source":427,"target":401},{"source":427,"target":435},{"source":427,"target":191},{"source":435,"target":436},{"source":435,"target":437},{"source":435,"target":401},{"source":436,"target":424},{"source":437,"target":425},{"source":428,"target":401},{"source":428,"target":438},{"source":428,"target":191},{"source":438,"target":439},{"source":438,"target":440},{"source":438,"target":401},{"source":439,"target":424},{"source":440,"target":425},{"source":429,"target":401},{"source":429,"target":441},{"source":429,"target":191},{"source":441,"target":442},{"source":441,"target":443},{"source":441,"target":401},{"source":442,"target":424},{"source":443,"target":425},{"source":430,"target":444},{"source":430,"target":191},{"source":444,"target":424},{"source":431,"target":188},{"source":19,"target":2},{"source":19,"target":445},{"source":19,"target":446},{"source":19,"target":447},{"source":446,"target":448},{"source":446,"target":19},{"source":447,"target":449},{"source":447,"target":19},{"source":449,"target":445},{"source":3,"target":297},{"source":3,"target":450},{"source":3,"target":451},{"source":3,"target":452},{"source":3,"target":432},{"source":3,"target":340},{"source":3,"target":453},{"source":3,"target":454},{"source":3,"target":356},{"source":3,"target":455},{"source":3,"target":61},{"source":3,"target":351},{"source":3,"target":361},{"source":3,"target":345},{"source":3,"target":275},{"source":3,"target":320},{"source":3,"target":456},{"source":3,"target":325},{"source":3,"target":378},{"source":3,"target":309},{"source":3,"target":457},{"source":3,"target":401},{"source":3,"target":303},{"source":3,"target":269},{"source":3,"target":394},{"source":3,"target":383},{"source":3,"target":291},{"source":3,"target":285},{"source":3,"target":330},{"source":3,"target":388},{"source":3,"target":335},{"source":3,"target":366},{"source":3,"target":372},{"source":3,"target":280},{"source":3,"target":315},{"source":3,"target":263},{"source":3,"target":0},{"source":297,"target":3},{"source":297,"target":458},{"source":297,"target":459},{"source":297,"target":450},{"source":297,"target":460},{"source":297,"target":461},{"source":460,"target":462},{"source":460,"target":297},{"source":462,"target":458},{"source":461,"target":463},{"source":461,"target":464},{"source":461,"target":450},{"source":463,"target":458},{"source":464,"target":459},{"source":450,"target":3},{"source":450,"target":465},{"source":450,"target":466},{"source":450,"target":451},{"source":450,"target":467},{"source":450,"target":468},{"source":450,"target":469},{"source":467,"target":432},{"source":467,"target":470},{"source":467,"target":450},{"source":470,"target":471},{"source":470,"target":432},{"source":471,"target":465},{"source":468,"target":472},{"source":468,"target":450},{"source":472,"target":466},{"source":469,"target":473},{"source":469,"target":451},{"source":473,"target":465},{"source":451,"target":3},{"source":451,"target":474},{"source":451,"target":452},{"source":451,"target":475},{"source":451,"target":476},{"source":475,"target":477},{"source":475,"target":451},{"source":476,"target":478},{"source":476,"target":452},{"source":478,"target":474},{"source":452,"target":3},{"source":452,"target":479},{"source":452,"target":432},{"source":452,"target":187},{"source":452,"target":480},{"source":452,"target":481},{"source":452,"target":482},{"source":480,"target":432},{"source":480,"target":483},{"source":480,"target":452},{"source":483,"target":484},{"source":483,"target":432},{"source":484,"target":479},{"source":481,"target":485},{"source":481,"target":432},{"source":485,"target":479},{"source":482,"target":187},{"source":432,"target":3},{"source":432,"target":486},{"source":432,"target":190},{"source":432,"target":188},{"source":432,"target":186},{"source":432,"target":487},{"source":432,"target":488},{"source":432,"target":489},{"source":487,"target":490},{"source":487,"target":190},{"source":490,"target":486},{"source":488,"target":188},{"source":489,"target":186},{"source":340,"target":3},{"source":340,"target":491},{"source":340,"target":453},{"source":340,"target":492},{"source":340,"target":493},{"source":340,"target":494},{"source":492,"target":495},{"source":492,"target":340},{"source":492,"target":496},{"source":492,"target":497},{"source":496,"target":498},{"source":496,"target":492},{"source":497,"target":499},{"source":497,"target":492},{"source":499,"target":500},{"source":499,"target":501},{"source":493,"target":502},{"source":493,"target":340},{"source":494,"target":503},{"source":494,"target":453},{"source":503,"target":491},{"source":453,"target":3},{"source":453,"target":504},{"source":453,"target":454},{"source":453,"target":505},{"source":505,"target":506},{"source":505,"target":454},{"source":506,"target":504},{"source":454,"target":3},{"source":454,"target":507},{"source":454,"target":432},{"source":454,"target":508},{"source":508,"target":509},{"source":508,"target":432},{"source":509,"target":507},{"source":356,"target":3},{"source":356,"target":510},{"source":356,"target":455},{"source":356,"target":511},{"source":356,"target":512},{"source":356,"target":513},{"source":511,"target":514},{"source":511,"target":356},{"source":511,"target":515},{"source":511,"target":516},{"source":515,"target":517},{"source":515,"target":511},{"source":516,"target":518},{"source":516,"target":511},{"source":518,"target":519},{"source":518,"target":520},{"source":512,"target":432},{"source":512,"target":521},{"source":512,"target":356},{"source":521,"target":522},{"source":521,"target":432},{"source":522,"target":510},{"source":513,"target":523},{"source":513,"target":455},{"source":523,"target":510},{"source":455,"target":3},{"source":455,"target":524},{"source":455,"target":190},{"source":455,"target":188},{"source":455,"target":525},{"source":455,"target":526},{"source":525,"target":527},{"source":525,"target":190},{"source":527,"target":524},{"source":526,"target":188},{"source":61,"target":3},{"source":61,"target":528},{"source":61,"target":529},{"source":61,"target":530},{"source":61,"target":531},{"source":61,"target":532},{"source":528,"target":61},{"source":529,"target":61},{"source":530,"target":61},{"source":531,"target":61},{"source":532,"target":61},{"source":351,"target":3},{"source":351,"target":533},{"source":351,"target":454},{"source":351,"target":534},{"source":351,"target":535},{"source":351,"target":536},{"source":351,"target":537},{"source":351,"target":538},{"source":351,"target":539},{"source":351,"target":540},{"source":351,"target":541},{"source":351,"target":542},{"source":534,"target":543},{"source":534,"target":351},{"source":534,"target":544},{"source":534,"target":545},{"source":544,"target":546},{"source":544,"target":534},{"source":545,"target":547},{"source":545,"target":534},{"source":547,"target":548},{"source":547,"target":549},{"source":535,"target":550},{"source":535,"target":351},{"source":535,"target":551},{"source":535,"target":552},{"source":551,"target":553},{"source":551,"target":535},{"source":552,"target":554},{"source":552,"target":535},{"source":554,"target":555},{"source":554,"target":556},{"source":536,"target":557},{"source":536,"target":351},{"source":536,"target":558},{"source":536,"target":559},{"source":558,"target":560},{"source":558,"target":536},{"source":559,"target":561},{"source":559,"target":536},{"source":561,"target":562},{"source":561,"target":563},{"source":537,"target":564},{"source":537,"target":351},{"source":537,"target":565},{"source":537,"target":566},{"source":565,"target":567},{"source":565,"target":537},{"source":566,"target":568},{"source":566,"target":537},{"source":568,"target":569},{"source":568,"target":570},{"source":538,"target":571},{"source":538,"target":351},{"source":538,"target":572},{"source":538,"target":573},{"source":572,"target":574},{"source":572,"target":538},{"source":573,"target":575},{"source":573,"target":538},{"source":575,"target":576},{"source":575,"target":577},{"source":539,"target":61},{"source":539,"target":578},{"source":539,"target":351},{"source":578,"target":61},{"source":540,"target":455},{"source":540,"target":579},{"source":540,"target":351},{"source":579,"target":580},{"source":579,"target":455},{"source":580,"target":533},{"source":541,"target":581},{"source":541,"target":351},{"source":542,"target":582},{"source":542,"target":454},{"source":582,"target":533},{"source":361,"target":3},{"source":361,"target":583},{"source":361,"target":455},{"source":361,"target":584},{"source":361,"target":585},{"source":361,"target":586},{"source":361,"target":587},{"source":584,"target":588},{"source":584,"target":361},{"source":584,"target":589},{"source":584,"target":590},{"source":589,"target":591},{"source":589,"target":584},{"source":590,"target":592},{"source":590,"target":584},{"source":592,"target":593},{"source":592,"target":594},{"source":585,"target":432},{"source":585,"target":595},{"source":585,"target":361},{"source":595,"target":596},{"source":595,"target":432},{"source":596,"target":583},{"source":586,"target":432},{"source":586,"target":597},{"source":586,"target":361},{"source":597,"target":598},{"source":597,"target":432},{"source":598,"target":583},{"source":587,"target":599},{"source":587,"target":455},{"source":599,"target":583},{"source":345,"target":3},{"source":345,"target":600},{"source":345,"target":601},{"source":345,"target":454},{"source":345,"target":602},{"source":345,"target":603},{"source":345,"target":604},{"source":602,"target":605},{"source":602,"target":345},{"source":602,"target":606},{"source":602,"target":607},{"source":606,"target":608},{"source":606,"target":602},{"source":607,"target":609},{"source":607,"target":602},{"source":609,"target":610},{"source":609,"target":611},{"source":603,"target":612},{"source":603,"target":345},{"source":612,"target":601},{"source":604,"target":613},{"source":604,"target":454},{"source":613,"target":600},{"source":275,"target":3},{"source":275,"target":614},{"source":275,"target":432},{"source":275,"target":615},{"source":275,"target":616},{"source":275,"target":617},{"source":275,"target":618},{"source":275,"target":619},{"source":275,"target":620},{"source":615,"target":621},{"source":615,"target":275},{"source":615,"target":622},{"source":615,"target":623},{"source":622,"target":624},{"source":622,"target":615},{"source":623,"target":625},{"source":623,"target":615},{"source":625,"target":626},{"source":625,"target":627},{"source":616,"target":628},{"source":616,"target":275},{"source":616,"target":629},{"source":616,"target":630},{"source":629,"target":631},{"source":629,"target":616},{"source":630,"target":632},{"source":630,"target":616},{"source":632,"target":633},{"source":632,"target":634},{"source":617,"target":432},{"source":617,"target":635},{"source":617,"target":275},{"source":635,"target":636},{"source":635,"target":432},{"source":636,"target":614},{"source":618,"target":432},{"source":618,"target":637},{"source":618,"target":275},{"source":637,"target":638},{"source":637,"target":432},{"source":638,"target":614},{"source":619,"target":432},{"source":619,"target":639},{"source":619,"target":275},{"source":639,"target":640},{"source":639,"target":432},{"source":640,"target":614},{"source":620,"target":641},{"source":620,"target":432},{"source":641,"target":614},{"source":320,"target":3},{"source":320,"target":642},{"source":320,"target":456},{"source":320,"target":643},{"source":320,"target":644},{"source":320,"target":645},{"source":643,"target":646},{"source":643,"target":320},{"source":643,"target":647},{"source":643,"target":648},{"source":647,"target":649},{"source":647,"target":643},{"source":648,"target":650},{"source":648,"target":643},{"source":650,"target":651},{"source":650,"target":652},{"source":644,"target":653},{"source":644,"target":320},{"source":645,"target":654},{"source":645,"target":456},{"source":654,"target":642},{"source":456,"target":3},{"source":456,"target":655},{"source":456,"target":453},{"source":456,"target":656},{"source":656,"target":657},{"source":656,"target":453},{"source":657,"target":655},{"source":325,"target":3},{"source":325,"target":658},{"source":325,"target":456},{"source":325,"target":659},{"source":325,"target":660},{"source":325,"target":661},{"source":325,"target":662},{"source":659,"target":663},{"source":659,"target":325},{"source":659,"target":664},{"source":659,"target":665},{"source":664,"target":666},{"source":664,"target":659},{"source":665,"target":667},{"source":665,"target":659},{"source":667,"target":668},{"source":667,"target":669},{"source":660,"target":670},{"source":660,"target":325},{"source":661,"target":671},{"source":661,"target":325},{"source":662,"target":672},{"source":662,"target":456},{"source":672,"target":658},{"source":378,"target":3},{"source":378,"target":673},{"source":378,"target":454},{"source":378,"target":674},{"source":674,"target":675},{"source":674,"target":454},{"source":675,"target":673},{"source":309,"target":3},{"source":309,"target":676},{"source":309,"target":677},{"source":309,"target":457},{"source":309,"target":678},{"source":309,"target":679},{"source":309,"target":680},{"source":309,"target":681},{"source":309,"target":682},{"source":678,"target":683},{"source":678,"target":309},{"source":678,"target":684},{"source":678,"target":685},{"source":684,"target":686},{"source":684,"target":678},{"source":685,"target":687},{"source":685,"target":678},{"source":687,"target":688},{"source":687,"target":689},{"source":679,"target":690},{"source":679,"target":309},{"source":679,"target":691},{"source":679,"target":692},{"source":691,"target":693},{"source":691,"target":679},{"source":692,"target":694},{"source":692,"target":679},{"source":694,"target":695},{"source":694,"target":696},{"source":680,"target":697},{"source":680,"target":309},{"source":680,"target":698},{"source":680,"target":699},{"source":698,"target":700},{"source":698,"target":680},{"source":699,"target":701},{"source":699,"target":680},{"source":701,"target":702},{"source":701,"target":703},{"source":681,"target":401},{"source":681,"target":704},{"source":681,"target":309},{"source":704,"target":705},{"source":704,"target":706},{"source":704,"target":401},{"source":705,"target":676},{"source":706,"target":677},{"source":682,"target":707},{"source":682,"target":708},{"source":682,"target":457},{"source":707,"target":676},{"source":708,"target":677},{"source":457,"target":3},{"source":457,"target":709},{"source":457,"target":710},{"source":457,"target":452},{"source":457,"target":711},{"source":457,"target":712},{"source":457,"target":713},{"source":457,"target":714},{"source":457,"target":715},{"source":457,"target":716},{"source":711,"target":717},{"source":711,"target":457},{"source":711,"target":718},{"source":711,"target":719},{"source":718,"target":720},{"source":718,"target":711},{"source":719,"target":721},{"source":719,"target":711},{"source":721,"target":722},{"source":721,"target":723},{"source":712,"target":724},{"source":712,"target":457},{"source":712,"target":725},{"source":712,"target":726},{"source":725,"target":727},{"source":725,"target":712},{"source":726,"target":728},{"source":726,"target":712},{"source":728,"target":729},{"source":728,"target":730},{"source":713,"target":731},{"source":713,"target":457},{"source":713,"target":732},{"source":713,"target":733},{"source":732,"target":734},{"source":732,"target":713},{"source":733,"target":735},{"source":733,"target":713},{"source":735,"target":736},{"source":735,"target":737},{"source":714,"target":432},{"source":714,"target":738},{"source":714,"target":457},{"source":738,"target":739},{"source":738,"target":432},{"source":739,"target":709},{"source":715,"target":401},{"source":715,"target":740},{"source":715,"target":457},{"source":740,"target":741},{"source":740,"target":742},{"source":740,"target":401},{"source":741,"target":709},{"source":742,"target":710},{"source":716,"target":743},{"source":716,"target":452},{"source":743,"target":709},{"source":401,"target":3},{"source":401,"target":744},{"source":401,"target":745},{"source":401,"target":190},{"source":401,"target":188},{"source":401,"target":37},{"source":401,"target":746},{"source":401,"target":747},{"source":401,"target":748},{"source":401,"target":749},{"source":401,"target":750},{"source":401,"target":751},{"source":746,"target":752},{"source":746,"target":401},{"source":746,"target":753},{"source":746,"target":754},{"source":753,"target":755},{"source":753,"target":746},{"source":754,"target":756},{"source":754,"target":746},{"source":756,"target":757},{"source":756,"target":758},{"source":747,"target":432},{"source":747,"target":759},{"source":747,"target":401},{"source":759,"target":760},{"source":759,"target":432},{"source":760,"target":744},{"source":748,"target":761},{"source":748,"target":401},{"source":761,"target":745},{"source":749,"target":762},{"source":749,"target":190},{"source":762,"target":744},{"source":750,"target":188},{"source":751,"target":37},{"source":303,"target":3},{"source":303,"target":763},{"source":303,"target":764},{"source":303,"target":457},{"source":303,"target":765},{"source":303,"target":766},{"source":303,"target":767},{"source":303,"target":768},{"source":303,"target":769},{"source":765,"target":770},{"source":765,"target":303},{"source":765,"target":771},{"source":765,"target":772},{"source":771,"target":773},{"source":771,"target":765},{"source":772,"target":774},{"source":772,"target":765},{"source":774,"target":775},{"source":774,"target":776},{"source":766,"target":777},{"source":766,"target":303},{"source":766,"target":778},{"source":766,"target":779},{"source":778,"target":780},{"source":778,"target":766},{"source":779,"target":781},{"source":779,"target":766},{"source":781,"target":782},{"source":781,"target":783},{"source":767,"target":784},{"source":767,"target":303},{"source":767,"target":785},{"source":767,"target":786},{"source":785,"target":787},{"source":785,"target":767},{"source":786,"target":788},{"source":786,"target":767},{"source":788,"target":789},{"source":788,"target":790},{"source":768,"target":791},{"source":768,"target":303},{"source":768,"target":792},{"source":768,"target":793},{"source":792,"target":794},{"source":792,"target":768},{"source":793,"target":795},{"source":793,"target":768},{"source":795,"target":796},{"source":795,"target":797},{"source":769,"target":798},{"source":769,"target":799},{"source":769,"target":457},{"source":798,"target":763},{"source":799,"target":764},{"source":269,"target":3},{"source":269,"target":800},{"source":269,"target":801},{"source":269,"target":432},{"source":269,"target":802},{"source":269,"target":803},{"source":269,"target":804},{"source":269,"target":805},{"source":802,"target":806},{"source":802,"target":269},{"source":802,"target":807},{"source":802,"target":808},{"source":807,"target":809},{"source":807,"target":802},{"source":808,"target":810},{"source":808,"target":802},{"source":810,"target":811},{"source":810,"target":812},{"source":803,"target":432},{"source":803,"target":813},{"source":803,"target":269},{"source":813,"target":814},{"source":813,"target":432},{"source":814,"target":800},{"source":804,"target":401},{"source":804,"target":815},{"source":804,"target":269},{"source":815,"target":816},{"source":815,"target":817},{"source":815,"target":401},{"source":816,"target":800},{"source":817,"target":801},{"source":805,"target":818},{"source":805,"target":432},{"source":818,"target":800},{"source":394,"target":3},{"source":394,"target":819},{"source":394,"target":820},{"source":394,"target":821},{"source":394,"target":432},{"source":394,"target":187},{"source":394,"target":822},{"source":394,"target":823},{"source":394,"target":824},{"source":394,"target":825},{"source":394,"target":826},{"source":394,"target":827},{"source":394,"target":828},{"source":394,"target":829},{"source":394,"target":830},{"source":394,"target":831},{"source":394,"target":832},{"source":822,"target":833},{"source":822,"target":394},{"source":822,"target":834},{"source":822,"target":835},{"source":834,"target":836},{"source":834,"target":822},{"source":835,"target":837},{"source":835,"target":822},{"source":837,"target":838},{"source":837,"target":839},{"source":823,"target":840},{"source":823,"target":394},{"source":823,"target":841},{"source":823,"target":842},{"source":841,"target":843},{"source":841,"target":823},{"source":842,"target":844},{"source":842,"target":823},{"source":844,"target":845},{"source":844,"target":846},{"source":824,"target":847},{"source":824,"target":394},{"source":824,"target":848},{"source":824,"target":849},{"source":848,"target":850},{"source":848,"target":824},{"source":849,"target":851},{"source":849,"target":824},{"source":851,"target":852},{"source":851,"target":853},{"source":825,"target":854},{"source":825,"target":394},{"source":825,"target":855},{"source":825,"target":856},{"source":855,"target":857},{"source":855,"target":825},{"source":856,"target":858},{"source":856,"target":825},{"source":858,"target":859},{"source":858,"target":860},{"source":826,"target":861},{"source":826,"target":394},{"source":826,"target":862},{"source":826,"target":863},{"source":862,"target":864},{"source":862,"target":826},{"source":863,"target":865},{"source":863,"target":826},{"source":865,"target":866},{"source":865,"target":867},{"source":827,"target":432},{"source":827,"target":868},{"source":827,"target":394},{"source":868,"target":869},{"source":868,"target":432},{"source":869,"target":819},{"source":828,"target":432},{"source":828,"target":870},{"source":828,"target":394},{"source":870,"target":871},{"source":870,"target":432},{"source":871,"target":819},{"source":829,"target":872},{"source":829,"target":394},{"source":872,"target":820},{"source":830,"target":873},{"source":830,"target":394},{"source":873,"target":821},{"source":831,"target":874},{"source":831,"target":432},{"source":874,"target":819},{"source":832,"target":187},{"source":383,"target":3},{"source":383,"target":875},{"source":383,"target":454},{"source":383,"target":876},{"source":876,"target":877},{"source":876,"target":454},{"source":877,"target":875},{"source":291,"target":3},{"source":291,"target":878},{"source":291,"target":879},{"source":291,"target":451},{"source":291,"target":880},{"source":291,"target":881},{"source":291,"target":882},{"source":291,"target":883},{"source":291,"target":884},{"source":291,"target":885},{"source":880,"target":886},{"source":880,"target":291},{"source":880,"target":887},{"source":880,"target":888},{"source":887,"target":889},{"source":887,"target":880},{"source":888,"target":890},{"source":888,"target":880},{"source":890,"target":891},{"source":890,"target":892},{"source":881,"target":893},{"source":881,"target":291},{"source":881,"target":894},{"source":881,"target":895},{"source":894,"target":896},{"source":894,"target":881},{"source":895,"target":897},{"source":895,"target":881},{"source":897,"target":898},{"source":897,"target":899},{"source":882,"target":432},{"source":882,"target":900},{"source":882,"target":291},{"source":900,"target":901},{"source":900,"target":432},{"source":901,"target":878},{"source":883,"target":902},{"source":883,"target":291},{"source":902,"target":879},{"source":884,"target":903},{"source":884,"target":291},{"source":885,"target":904},{"source":885,"target":451},{"source":904,"target":878},{"source":285,"target":3},{"source":285,"target":905},{"source":285,"target":906},{"source":285,"target":450},{"source":285,"target":907},{"source":285,"target":908},{"source":285,"target":909},{"source":907,"target":910},{"source":907,"target":285},{"source":907,"target":911},{"source":907,"target":912},{"source":911,"target":913},{"source":911,"target":907},{"source":912,"target":914},{"source":912,"target":907},{"source":914,"target":915},{"source":914,"target":916},{"source":908,"target":917},{"source":908,"target":285},{"source":917,"target":906},{"source":909,"target":918},{"source":909,"target":919},{"source":909,"target":450},{"source":918,"target":905},{"source":919,"target":906},{"source":330,"target":3},{"source":330,"target":920},{"source":330,"target":456},{"source":330,"target":921},{"source":330,"target":922},{"source":330,"target":923},{"source":921,"target":924},{"source":921,"target":330},{"source":921,"target":925},{"source":921,"target":926},{"source":925,"target":927},{"source":925,"target":921},{"source":926,"target":928},{"source":926,"target":921},{"source":928,"target":929},{"source":928,"target":930},{"source":922,"target":931},{"source":922,"target":330},{"source":923,"target":932},{"source":923,"target":456},{"source":932,"target":920},{"source":388,"target":3},{"source":388,"target":933},{"source":388,"target":934},{"source":388,"target":432},{"source":388,"target":935},{"source":388,"target":936},{"source":935,"target":937},{"source":935,"target":388},{"source":937,"target":934},{"source":936,"target":938},{"source":936,"target":432},{"source":938,"target":933},{"source":335,"target":3},{"source":335,"target":939},{"source":335,"target":453},{"source":335,"target":940},{"source":335,"target":941},{"source":335,"target":942},{"source":940,"target":943},{"source":940,"target":335},{"source":940,"target":944},{"source":940,"target":945},{"source":944,"target":946},{"source":944,"target":940},{"source":945,"target":947},{"source":945,"target":940},{"source":947,"target":948},{"source":947,"target":949},{"source":941,"target":950},{"source":941,"target":335},{"source":942,"target":951},{"source":942,"target":453},{"source":951,"target":939},{"source":366,"target":3},{"source":366,"target":952},{"source":366,"target":953},{"source":366,"target":454},{"source":366,"target":954},{"source":366,"target":955},{"source":366,"target":956},{"source":366,"target":957},{"source":954,"target":958},{"source":954,"target":366},{"source":954,"target":959},{"source":954,"target":960},{"source":959,"target":961},{"source":959,"target":954},{"source":960,"target":962},{"source":960,"target":954},{"source":962,"target":963},{"source":962,"target":964},{"source":955,"target":965},{"source":955,"target":366},{"source":955,"target":966},{"source":955,"target":967},{"source":966,"target":968},{"source":966,"target":955},{"source":967,"target":969},{"source":967,"target":955},{"source":969,"target":970},{"source":969,"target":971},{"source":956,"target":372},{"source":956,"target":972},{"source":956,"target":366},{"source":972,"target":973},{"source":972,"target":974},{"source":972,"target":372},{"source":973,"target":952},{"source":974,"target":953},{"source":957,"target":975},{"source":957,"target":454},{"source":975,"target":952},{"source":372,"target":3},{"source":372,"target":976},{"source":372,"target":977},{"source":372,"target":190},{"source":372,"target":188},{"source":372,"target":37},{"source":372,"target":978},{"source":372,"target":979},{"source":372,"target":980},{"source":372,"target":981},{"source":372,"target":982},{"source":372,"target":983},{"source":978,"target":984},{"source":978,"target":372},{"source":978,"target":985},{"source":978,"target":986},{"source":985,"target":987},{"source":985,"target":978},{"source":986,"target":988},{"source":986,"target":978},{"source":988,"target":989},{"source":988,"target":990},{"source":979,"target":432},{"source":979,"target":991},{"source":979,"target":372},{"source":991,"target":992},{"source":991,"target":432},{"source":992,"target":976},{"source":980,"target":993},{"source":980,"target":372},{"source":993,"target":977},{"source":981,"target":994},{"source":981,"target":190},{"source":994,"target":976},{"source":982,"target":188},{"source":983,"target":37},{"source":280,"target":3},{"source":280,"target":995},{"source":280,"target":432},{"source":280,"target":996},{"source":280,"target":997},{"source":996,"target":998},{"source":996,"target":280},{"source":998,"target":995},{"source":997,"target":999},{"source":997,"target":432},{"source":999,"target":995},{"source":315,"target":3},{"source":315,"target":1000},{"source":315,"target":432},{"source":315,"target":37},{"source":315,"target":1001},{"source":315,"target":1002},{"source":1001,"target":1003},{"source":1001,"target":432},{"source":1003,"target":1000},{"source":1002,"target":37},{"source":263,"target":3},{"source":263,"target":1004},{"source":263,"target":1005},{"source":263,"target":432},{"source":263,"target":1006},{"source":263,"target":1007},{"source":263,"target":1008},{"source":1006,"target":1009},{"source":1006,"target":263},{"source":1006,"target":1010},{"source":1006,"target":1011},{"source":1010,"target":1012},{"source":1010,"target":1006},{"source":1011,"target":1013},{"source":1011,"target":1006},{"source":1013,"target":1014},{"source":1013,"target":1015},{"source":1007,"target":401},{"source":1007,"target":1016},{"source":1007,"target":263},{"source":1016,"target":1017},{"source":1016,"target":1018},{"source":1016,"target":401},{"source":1017,"target":1004},{"source":1018,"target":1005},{"source":1008,"target":1019},{"source":1008,"target":432},{"source":1019,"target":1004}],"multigraph":true}