uppaal
NTA
globalDeclarations
template
systemDeclarations
int
bool
clock
chan
void
core
NamedElement
name
CommentableElement
comment
types
Type
index
baseType
typeSpecification
PredefinedType
type
BuiltInType
INT
int
CLOCK
clock
CHAN
chan
BOOL
bool
VOID
void
DeclaredType
typeDeclaration
typeDefinition
TypeDefinition
baseType
typeSpecification
TypeReference
referredType
TypeSpecification
ScalarTypeSpecification
sizeExpression
StructTypeSpecification
declaration
RangeTypeSpecification
bounds
IntegerBounds
lowerBound
upperBound
Library
types
declarations
Declarations
declaration
GlobalDeclarations
channelPriority
LocalDeclarations
SystemDeclarations
system
progressMeasure
Declaration
VariableDeclaration
ChannelVariableDeclaration
urgent
false
broadcast
false
ClockVariableDeclaration
DataVariableDeclaration
prefix
DataVariablePrefix
NONE

CONST
const
META
meta
FunctionDeclaration
function
Function
returnType
block
parameter
TypeDeclaration
type
typeDefinition
Variable
index
container
typeDefinition
initializer
Index
ValueIndex
sizeExpression
TypeIndex
typeDefinition
VariableContainer
typeDefinition
variable
Parameter
variableDeclaration
callType
CALL_BY_VALUE
CallType
CALL_BY_VALUE
CALL_BY_VALUE
CALL_BY_REFERENCE
CALL_BY_REFERENCE
Initializer
ExpressionInitializer
expression
ArrayInitializer
initializer
global
ChannelPriority
item
ChannelPriorityItem
ChannelList
channelExpression
DefaultChannelPriority
system
TemplateDeclaration
declaredTemplate
argument
System
instantiationList
InstantiationList
template
ProgressMeasure
expression
templates
AbstractTemplate
parameter
Template
declarations
location
edge
init
RedefinedTemplate
referredTemplate
declaration
Location
parentTemplate
invariant
locationTimeKind
LocationKind
NORMAL
NORMAL
URGENT
URGENT
COMMITED
COMMITED
Edge
source
target
parentTemplate
guard
update
synchronization
selection
Synchronization
channelExpression
kind
SynchronizationKind
RECEIVE
?
SEND
!
Selection
statements
Statement
Block
declarations
statement
EmptyStatement
ForLoop
initialization
condition
iteration
statement
Iteration
statement
WhileLoop
expression
statement
DoWhileLoop
statement
expression
IfStatement
ifExpression
thenStatement
elseStatement
ReturnStatement
returnExpression
ExpressionStatement
expression
expressions
Expression
NegationExpression
negatedExpression
PlusExpression
confirmedExpression
MinusExpression
invertedExpression
BinaryExpression
firstExpr
secondExpr
AssignmentExpression
operator
AssignmentOperator
EQUAL
=
PLUS_EQUAL
+=
MINUS_EQUAL
-=
TIMES_EQUAL
*=
DIVIDE_EQUAL
/=
MODULO_EQUAL
%=
BIT_AND_EQUAL
&=
BIT_OR_EQUAL
|=
BIT_LEFT_EQUAL
<<=
BIT_RIGHT_EQUAL
>>=
BIT_XOR_EQUAL
^=
IdentifierExpression
identifier
index
LiteralExpression
text
ArithmeticExpression
operator
ArithmeticOperator
ADD
+
SUBTRACT
-
MULTIPLICATE
*
DIVIDE
/
MODULO
%
LogicalExpression
operator
LogicalOperator
AND
and
OR
or
IMPLY
imply
FunctionCallExpression
function
argument
CompareExpression
operator
CompareOperator
EQUAL
==
GREATER
>
GREATER_OR_EQUAL
>=
LESS
<
LESS_OR_EQUAL
<=
UNEQUAL
!=
ConditionExpression
ifExpression
thenExpression
elseExpression
ScopedIdentifierExpression
scope
identifier
Quantifier
EXISTENTIAL
∃
UNIVERSAL
∀
QuantificationExpression
quantifier
expression
IncrementDecrementExpression
expression
position
operator
IncrementDecrementOperator
INCREMENT
++
DECREMENT
--
IncrementDecrementPosition
PRE
PRE
POST
POST
BitShiftExpression
operator
BitShiftOperator
LEFT
<<
RIGHT
>>
MinMaxExpression
operator
MinMaxOperator
MIN
<?
MAX
>?
BitwiseExpression
operator
BitwiseOperator
AND
&
XOR
^
OR
|
visuals
ColoredElement
color
colorCode
PlanarElement
position
LinearElement
bendPoint
Point
x
0
y
0
ColorKind
DEFAULT
Default
WHITE
White
LIGHTGREY
LightGrey
DARKGREY
DarkGrey
BLACK
Black
BLUE
Blue
CYAN
Cyan
GREEN
Green
MAGENTA
Magenta
ORANGE
Orange
PINK
Pink
RED
Red
YELLOW
Yellow
SELF_DEFINED
Self_Defined
<?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="uppaal" nsURI="http://www.muml.org/uppaal/1.0.0" nsPrefix="uppaal">
  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
    <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
  </eAnnotations>
  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
    <details key="documentation" value="Contains Uppaal-specific sub-packages."/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" name="NTA" eSuperTypes="#//core/NamedElement #//core/CommentableElement">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="name" value="NTA"/>
      <details key="kind" value="elementOnly"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A 'Network of Timed Automata' as basic input to Uppaal."/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
      <details key="MatchingIntDetails" value="(not self.int.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;((self.int.type = types::BuiltInType::INT) and (self.int.name.equalsIgnoreCase('int')))"/>
      <details key="MatchingBoolDetails" value="(not self.bool.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;((self.bool.type = types::BuiltInType::BOOL) and (self.bool.name.equalsIgnoreCase('bool')))"/>
      <details key="MatchingClockDetails" value="(not self.clock.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;((self.clock.type = types::BuiltInType::CLOCK) and (self.clock.name.equalsIgnoreCase('clock')))"/>
      <details key="MatchingChanDetails" value="(not self.chan.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;((self.chan.type = types::BuiltInType::CHAN) and (self.chan.name.equalsIgnoreCase('chan')))"/>
      <details key="MatchingVoidDetails" value="(not self.void.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;((self.void.type = types::BuiltInType::VOID) and (self.void.name.equalsIgnoreCase('void')))"/>
      <details key="UniqueTemplateNames" value="self.template->isUnique(name)"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="constraints" value="MatchingIntDetails MatchingBoolDetails MatchingClockDetails MatchingChanDetails MatchingVoidDetails UniqueTemplateNames"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="globalDeclarations" eType="#//declarations/GlobalDeclarations"
        containment="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="globalDeclarations"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The global declarations for the NTA."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="template" lowerBound="1"
        upperBound="-1" eType="#//templates/Template" containment="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="template"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Timed Automata templates of the NTA."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="systemDeclarations" lowerBound="1"
        eType="#//declarations/SystemDeclarations" containment="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="systemDeclarations"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The declarations of process instantiations."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="int" lowerBound="1" eType="#//types/PredefinedType"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The predefined type 'int'."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bool" lowerBound="1" eType="#//types/PredefinedType"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The predefined type 'bool'."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="clock" lowerBound="1" eType="#//types/PredefinedType"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The predefined type 'clock'."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="chan" lowerBound="1" eType="#//types/PredefinedType"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The predefined type 'chan'."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="void" lowerBound="1" eType="#//types/PredefinedType"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The predefined dummy type 'void'."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eSubpackages name="core" nsURI="http://www.muml.org/uppaal/core/1.0.0"
      nsPrefix="core">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Contains abstract general purpose classes."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for named model elements."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="NoWhitespace" value="self.name.characters()->excludes(' ')"/>
        <details key="NoDigitStart" value="Set{0..9}->excludes(self.name.characters()->first())"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="NoWhitespace NoDigitStart"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The name of the model element.."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CommentableElement" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for commentable model elements."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The comment for the model element.&#xD;&#xA;\todocg{Change cardinality to 1..1?}"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="types" nsURI="http://www.muml.org/uppaal/types/1.0.0"
      nsPrefix="types">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Provides support for built-in and user-defined types."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//core/NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for all types."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="index" upperBound="-1"
          eType="#//declarations/Index" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A set of array indexes for the type."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="baseType" eType="#//types/BuiltInType"
          changeable="false" volatile="true" transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="derivation" value="if self.oclIsKindOf(DeclaredType)&#xD;&#xA;then &#xD;&#xA;&#x9;if self.oclAsType(DeclaredType).typeDefinition.oclIsUndefined()&#xD;&#xA;&#x9;then null&#xD;&#xA;&#x9;else self.oclAsType(DeclaredType).typeDefinition.baseType&#xD;&#xA;&#x9;endif&#xD;&#xA;else &#xD;&#xA;&#x9;if self.oclIsKindOf(PredefinedType)&#xD;&#xA;&#x9;then self.oclAsType(PredefinedType).type&#xD;&#xA;&#x9;else null&#xD;&#xA;&#x9;endif&#xD;&#xA;endif"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeSpecification" eType="#//types/TypeSpecification"
          changeable="false" volatile="true" transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="derivation" value="if (self.oclIsKindOf(DeclaredType))&#xD;&#xA;then self.oclAsType(DeclaredType).typeDefinition.typeSpecification&#xD;&#xA;else null&#xD;&#xA;endif"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PredefinedType" eSuperTypes="#//types/Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="One of the predefined types 'int', 'bool', 'chan', 'clock' or 'void'."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1"
          eType="#//types/BuiltInType">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Stores the concrete literal that represents the predefined type."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="BuiltInType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="All built-in types."/>
      </eAnnotations>
      <eLiterals name="INT" literal="int"/>
      <eLiterals name="CLOCK" value="1" literal="clock"/>
      <eLiterals name="CHAN" value="2" literal="chan"/>
      <eLiterals name="BOOL" value="3" literal="bool"/>
      <eLiterals name="VOID" value="4" literal="void"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DeclaredType" eSuperTypes="#//types/Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A user-declared type."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeDeclaration" lowerBound="1"
          eType="#//declarations/TypeDeclaration" eOpposite="#//declarations/TypeDeclaration/type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The declaration that declares this type."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinition" lowerBound="1"
          eType="#//types/TypeDefinition" changeable="false" volatile="true" transient="true"
          derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="derivation" value="if self.typeDeclaration.oclIsUndefined()&#xD;&#xA;then null&#xD;&#xA;else self.typeDeclaration.typeDefinition&#xD;&#xA;endif"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The definition of the declared type. Usually a type specification, but can also be a type reference to a &quot;renamed&quot; type."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeDefinition" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for type definitions of all typed elements. Type definitions are either references to types defined elsewhere, or in place specifications of new types."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="baseType" eType="#//types/BuiltInType"
          changeable="false" volatile="true" transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="derivation" value="if self.oclIsKindOf(TypeReference)&#xD;&#xA;then &#xD;&#xA;&#x9;if self.oclAsType(TypeReference).referredType.oclIsUndefined()&#xD;&#xA;&#x9;then null&#xD;&#xA;&#x9;else self.oclAsType(TypeReference).referredType.baseType&#xD;&#xA;&#x9;endif&#xD;&#xA;else &#xD;&#xA;&#x9;if self.oclIsKindOf(ScalarTypeSpecification) or self.oclIsKindOf(RangeTypeSpecification)&#xD;&#xA;&#x9;then BuiltInType::INT&#xD;&#xA;&#x9;else null&#xD;&#xA;&#x9;endif&#xD;&#xA;endif"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The built-in base type this type definition relies on. Can be 'null' in case of a 'struct' type definition involved."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeSpecification" eType="#//types/TypeSpecification"
          changeable="false" volatile="true" transient="true" derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
            <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
              <details key="body" value="if (self.oclIsKindOf(DeclaredType))&#xD;&#xA;then self.oclAsType(DeclaredType).typeDefinition.typeSpecification&#xD;&#xA;else null&#xD;&#xA;endif"/>
            </eAnnotations>
            <details key="body" value="if (self.oclIsKindOf(DeclaredType))&#xD;&#xA;then self.oclAsType(DeclaredType).typeDefinition.typeSpecification&#xD;&#xA;else null&#xD;&#xA;endif"/>
          </eAnnotations>
          <details key="derivation" value="if (self.oclIsKindOf(TypeReference))&#xD;&#xA;then self.oclAsType(TypeReference).referredType.typeSpecification&#xD;&#xA;else&#xD;&#xA;&#x9;if (self.oclIsKindOf(TypeSpecification))&#xD;&#xA;&#x9;then self.oclAsType(TypeSpecification)&#xD;&#xA;&#x9;else null&#xD;&#xA;&#x9;endif&#xD;&#xA;endif"/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeReference" eSuperTypes="#//types/TypeDefinition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A reference to a type defined elsewhere."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredType" lowerBound="1"
          eType="#//types/Type">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The referred type."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeSpecification" abstract="true"
        eSuperTypes="#//types/TypeDefinition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for the specification of new types, using either the 'struct' or 'scalar' keywords, or restricting a type to a range of values."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ScalarTypeSpecification" eSuperTypes="#//types/TypeSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A specification of a 'scalar' type."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="sizeExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An integer-based expression that represents the size of the scalar type."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StructTypeSpecification" eSuperTypes="#//types/TypeSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A specification of a 'struct' type."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="UniqueFieldNames" value="self.declaration->collect(variable)->isUnique(name)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="UniqueFieldNames"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="declaration" lowerBound="1"
          upperBound="-1" eType="#//declarations/DataVariableDeclaration" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The variable declarations representing the fields of the 'struct' type."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RangeTypeSpecification" eSuperTypes="#//types/TypeSpecification">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A type specification restricting the 'int' type to a range of values."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" lowerBound="1"
          eType="#//types/IntegerBounds" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The bounds that restrict the type specification."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IntegerBounds">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="IntegerBounds"/>
        <details key="kind" value="empty"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Used to restrict the 'int' type to a range of values."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An integer-based expression representing the lower bound."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An integer-based expression representing the upper bound."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Library">
      <eStructuralFeatures xsi:type="ecore:EReference" name="types" eType="#//types/PredefinedType"
          containment="true"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="declarations" nsURI="http://www.muml.org/uppaal/declarations/1.0.0"
      nsPrefix="declarations">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Support for all kinds of declarations, e.g. types, functions, or variables."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="Declarations" abstract="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="Declarations"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="UniqueFunctionNames" value="self.declaration->select(oclIsKindOf(FunctionDeclaration)).oclAsType(FunctionDeclaration)->collect(function)->isUnique(name)"/>
        <details key="UniqueVariableNames" value="self.declaration->select(oclIsKindOf(VariableDeclaration)).oclAsType(VariableDeclaration)->collect(variable)->isUnique(name)"/>
        <details key="UniqueTypeNames" value="self.declaration->select(oclIsKindOf(TypeDeclaration)).oclAsType(TypeDeclaration)->collect(type)->isUnique(name)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Represents a set of variable, type, function, or template declarations, that are either global, local to a template, local to a block, or system declarations."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="UniqueFunctionNames UniqueVariableNames UniqueTypeNames"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="declaration" upperBound="-1"
          eType="#//declarations/Declaration" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The single declarations."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="GlobalDeclarations" eSuperTypes="#//declarations/Declarations">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="NoTemplateDeclarations" value="not self.declaration->exists(oclIsKindOf(system::TemplateDeclaration))"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="NoTemplateDeclarations"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Global declarations of an NTA."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="channelPriority" eType="#//declarations/global/ChannelPriority"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The declaration of the synchronization channel priorities."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LocalDeclarations" eSuperTypes="#//declarations/Declarations">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="NoTemplateDeclarations" value="not self.declaration->exists(oclIsKindOf(system::TemplateDeclaration))"/>
        <details key="NoChannelDeclarations" value="not self.declaration->exists(oclIsKindOf(ChannelVariableDeclaration))"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="NoTemplateDeclarations NoChannelDeclarations"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Local declarations inside a template or block of statements."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SystemDeclarations" eSuperTypes="#//declarations/Declarations">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="UniqueTemplateNames" value="self.declaration->select(oclIsKindOf(system::TemplateDeclaration)).oclAsType(system::TemplateDeclaration)->collect(declaredTemplate)->isUnique(name)"/>
        <details key="NoChannelDeclarations" value="not self.declaration->exists(oclIsKindOf(ChannelVariableDeclaration))"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="UniqueTemplateNames NoChannelDeclarations"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="System declarations consisting of process instantiations."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="system" lowerBound="1"
          eType="#//declarations/system/System" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The system section describing the process instantiations."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="progressMeasure" eType="#//declarations/system/ProgressMeasure"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The optional progress measure section."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Declaration" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class representing a variable, function, or type declaration."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VariableDeclaration" abstract="true"
        eSuperTypes="#//declarations/Declaration #//declarations/VariableContainer">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="VariableDeclaration"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A declaration of one or more variables."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ChannelVariableDeclaration" eSuperTypes="#//declarations/VariableDeclaration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="MatchingType" value="(not self.typeDefinition.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.typeDefinition.baseType = types::BuiltInType::CHAN"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A declaration of synchronization channel variables."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="MatchingType"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="urgent" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          defaultValueLiteral="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies the urgency of the declared synchronization channels."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="broadcast" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
          defaultValueLiteral="false">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies whether the declared synchronization channels use broadcast."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ClockVariableDeclaration" eSuperTypes="#//declarations/VariableDeclaration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="MatchingType" value="(not self.typeDefinition.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.typeDefinition.baseType = types::BuiltInType::CLOCK"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A declaration of clock variables."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="MatchingType"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DataVariableDeclaration" eSuperTypes="#//declarations/VariableDeclaration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="MatchingType" value="(not self.typeDefinition.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;(self.typeDefinition.baseType &lt;> types::BuiltInType::CHAN&#xD;&#xA;and&#xD;&#xA;self.typeDefinition.baseType &lt;> types::BuiltInType::CLOCK)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A declaration of data variables."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="MatchingType"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="prefix" lowerBound="1"
          eType="#//declarations/DataVariablePrefix">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The prefix of the data variable declaration."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="DataVariablePrefix">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Prefixes for data variables with base type 'int' or 'bool'."/>
      </eAnnotations>
      <eLiterals name="NONE" literal=""/>
      <eLiterals name="CONST" value="1" literal="const"/>
      <eLiterals name="META" value="2" literal="meta"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FunctionDeclaration" eSuperTypes="#//declarations/Declaration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Declaration of a single function."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="function" lowerBound="1"
          eType="#//declarations/Function" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The return type of this function."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//core/NamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="ValidReturnType" value="(not returnType.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;(returnType.baseType = types::BuiltInType::VOID or&#xD;&#xA; returnType.baseType = types::BuiltInType::INT or&#xD;&#xA; returnType.baseType = types::BuiltInType::BOOL)"/>
        <details key="UniqueParameterNames" value="self.parameter->collect(variableDeclaration)->collect(variable)->isUnique(name)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A function with a return type and optional parameters."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="ValidReturnType UniqueParameterNames"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="returnType" lowerBound="1"
          eType="#//types/TypeDefinition" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The return type of this function."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="block" lowerBound="1"
          eType="#//statements/Block" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The block of statements representing the function body."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
          eType="#//declarations/Parameter" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The function's parameters."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeDeclaration" eSuperTypes="#//declarations/Declaration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A declaration of one or more types."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="UniqueTypeNames" value="self.type->isUnique(name)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="UniqueTypeNames"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1"
          upperBound="-1" eType="#//types/DeclaredType" containment="true" eOpposite="#//types/DeclaredType/typeDeclaration">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The types declared by this type declaration."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinition" lowerBound="1"
          eType="#//types/TypeDefinition" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type definition for declared types."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//core/NamedElement">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="Variable"/>
        <details key="kind" value="empty"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A typed variable."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="NoInitializerForClockAndChannelVariables" value="((not self.typeDefinition.oclIsUndefined()) and&#xD;&#xA;(self.typeDefinition.baseType = types::BuiltInType::CHAN or&#xD;&#xA; self.typeDefinition.baseType = types::BuiltInType::CLOCK))&#xD;&#xA; implies self.initializer.oclIsUndefined()"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="NoInitializerForClockAndChannelVariables"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="index" upperBound="-1"
          eType="#//declarations/Index" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A set of array indexes for the variable."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="container" lowerBound="1"
          eType="#//declarations/VariableContainer" eOpposite="#//declarations/VariableContainer/variable">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The container of this variable."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinition" lowerBound="1"
          eType="#//types/TypeDefinition" changeable="false" volatile="true" transient="true"
          derived="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="derivation" value="if self.container.oclIsUndefined()&#xD;&#xA;then null &#xD;&#xA;else &#xD;&#xA;self.container.typeDefinition &#xD;&#xA;endif"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type definition of this variable."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" eType="#//declarations/Initializer"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Represents the variable's initial value."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Index" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base-class for indexing variables or types."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ValueIndex" eSuperTypes="#//declarations/Index">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An index specified by an expression value."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="sizeExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An integer-based expression representing size and range of the indexed type or variable."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeIndex" eSuperTypes="#//declarations/Index">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An index specified by a bounded integer-based type."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="IntegerBasedIndex" value="(not self.typeDefinition.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.typeDefinition.baseType = types::BuiltInType::INT"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="IntegerBasedIndex"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinition" lowerBound="1"
          eType="#//types/TypeDefinition" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An integer-based type representing size and range of the indexed type or variable."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VariableContainer" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for objects containing variables like variable declarations, iterations, quantifications or selections."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="NoVoidVariables" value="(not self.typeDefinition.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.typeDefinition.baseType &lt;> types::BuiltInType::VOID"/>
        <details key="UniqueVariableNames" value="self.variable->isUnique(name)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="NoVoidVariables UniqueVariableNames"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinition" lowerBound="1"
          eType="#//types/TypeDefinition" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The type definition for the contained variables."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="variable" lowerBound="1"
          upperBound="-1" eType="#//declarations/Variable" containment="true" eOpposite="#//declarations/Variable/container">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="kind" value="element"/>
          <details key="name" value="variable"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The contained variables."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="SingleVariable" value="(not self.variableDeclaration.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.variableDeclaration.variable->size() &lt;= 1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A parameter of a function or template."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="SingleVariable"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="variableDeclaration"
          lowerBound="1" eType="#//declarations/VariableDeclaration" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A variable declaration containing the variable that represents the parameter."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="callType" eType="#//declarations/CallType"
          defaultValueLiteral="CALL_BY_VALUE">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies whether call-by-value or call-by-reference semantics should be applied."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="CallType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Represents call-by-value or call-by-reference parameters."/>
      </eAnnotations>
      <eLiterals name="CALL_BY_VALUE"/>
      <eLiterals name="CALL_BY_REFERENCE" value="1" literal="CALL_BY_REFERENCE"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Initializer" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An initializer specifies a variable's initial value."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExpressionInitializer" eSuperTypes="#//declarations/Initializer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An initializer that represents a single initial value by means of an expression."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The expression representing the initial value."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ArrayInitializer" eSuperTypes="#//declarations/Initializer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An initializer for array variables, referring to multiple sub-initializers."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="initializer" lowerBound="1"
          upperBound="-1" eType="#//declarations/Initializer" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A number of sub-initializers, each one representing the initial value for one array index."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eSubpackages name="global" nsURI="http://www.muml.org/uppaal/declarations/global/1.0.0"
        nsPrefix="global">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
        <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
        <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Contains special classes that are relevant for the global declarations."/>
      </eAnnotations>
      <eClassifiers xsi:type="ecore:EClass" name="ChannelPriority">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A priority ordering for synchronization channels."/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="AtMostOneDefaultItem" value="self.item->select(oclIsKindOf(DefaultChannelPriority))->size() &lt;= 1"/>
          <details key="EachChannelContainedAtMostOnce" value="self.item->select(oclIsKindOf(ChannelList)).oclAsType(ChannelList)->collect(channelExpression)->isUnique(variable)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
          <details key="constraints" value="AtMostOneDefaultItem EachChannelContainedAtMostOnce"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="item" lowerBound="1"
            upperBound="-1" eType="#//declarations/global/ChannelPriorityItem" containment="true">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The items of the channel priority ordering."/>
          </eAnnotations>
        </eStructuralFeatures>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ChannelPriorityItem" abstract="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Abstract base class for items inside a channel priority."/>
        </eAnnotations>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ChannelList" eSuperTypes="#//declarations/global/ChannelPriorityItem">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A list of synchronization channel variables, used to assign these channels a common priority."/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="ChannelVariablesOnly" value="self.channelExpression->forAll(&#xD;&#xA;&#x9;(not identifier.typeDefinition.oclIsUndefined()) implies identifier.typeDefinition.baseType = types::BuiltInType::CHAN&#xD;&#xA;)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
          <details key="constraints" value="ChannelVariablesOnly"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="channelExpression"
            lowerBound="1" upperBound="-1" eType="#//expressions/IdentifierExpression"
            containment="true">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The variable expressions representing the synchronization channels inside the channel list."/>
          </eAnnotations>
        </eStructuralFeatures>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="DefaultChannelPriority" eSuperTypes="#//declarations/global/ChannelPriorityItem">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A 'default' item inside a channel priority, representing all channels not listed explicitly."/>
        </eAnnotations>
      </eClassifiers>
    </eSubpackages>
    <eSubpackages name="system" nsURI="http://www.muml.org/uppaal/declarations/system/1.0.0"
        nsPrefix="system">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
        <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
        <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Contains special classes that are relevant for the system declarations."/>
      </eAnnotations>
      <eClassifiers xsi:type="ecore:EClass" name="TemplateDeclaration" eSuperTypes="#//declarations/Declaration">
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="NumberOfArgumentsMatchesDeclaration" value="(not self.declaredTemplate.oclIsUndefined() and not self.declaredTemplate.referredTemplate.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.argument->size() = self.declaredTemplate.referredTemplate.parameter->size()"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
          <details key="constraints" value="NumberOfArgumentsMatchesDeclaration"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A declaration of a template redefinition."/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="declaredTemplate" lowerBound="1"
            eType="#//templates/RedefinedTemplate" containment="true" eOpposite="#//templates/RedefinedTemplate/declaration">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The template being declared."/>
          </eAnnotations>
        </eStructuralFeatures>
        <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
            eType="#//expressions/Expression" containment="true">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="A number of arguments that describe how the referred template's parameters should be mapped towards the declared template's parameters."/>
          </eAnnotations>
        </eStructuralFeatures>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="System">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="name" value="System"/>
          <details key="kind" value="elementOnly"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A system contains declarations of template instantiations."/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="EachTemplateReferencedAtMostOnce" value="self.instantiationList->collect(template)->isUnique(t : templates::AbstractTemplate | t)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
          <details key="constraints" value="EachTemplateReferencedAtMostOnce"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="instantiationList"
            lowerBound="1" upperBound="-1" eType="#//declarations/system/InstantiationList"
            containment="true">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="A list of process instantiation sublists, ordered by decreasing priority. The templates referenced inside the sublists are instantiated to be part of the system at runtime."/>
          </eAnnotations>
        </eStructuralFeatures>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="InstantiationList">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Represents a list of templates to be instantiated using a common priority."/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
          <details key="OnlyLegalParamsForPartialInstantiation" value="self.template->forAll(&#xD;&#xA;&#x9;parameter->forAll(&#xD;&#xA;&#x9;&#x9;callType = declarations::CallType::CALL_BY_VALUE&#xD;&#xA;&#x9;&#x9;and&#xD;&#xA;&#x9;&#x9;((not variableDeclaration.oclIsUndefined())&#xD;&#xA;&#x9;&#x9;&#x9;implies&#xD;&#xA;&#x9;&#x9; (variableDeclaration.typeDefinition.typeSpecification.oclIsKindOf(types::RangeTypeSpecification) or&#xD;&#xA;&#x9;&#x9;  variableDeclaration.typeDefinition.typeSpecification.oclIsKindOf(types::ScalarTypeSpecification)))&#xD;&#xA;&#x9;)&#xD;&#xA;)"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
          <details key="constraints" value="OnlyLegalParamsForPartialInstantiation"/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="template" lowerBound="1"
            upperBound="-1" eType="#//templates/AbstractTemplate">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The list of instantiations."/>
          </eAnnotations>
        </eStructuralFeatures>
      </eClassifiers>
      <eClassifiers xsi:type="ecore:EClass" name="ProgressMeasure">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A progress measure consisting of monotonically increasing expressions."/>
        </eAnnotations>
        <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
            upperBound="-1" eType="#//expressions/Expression" containment="true">
          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
            <details key="documentation" value="The progress measure expressions."/>
          </eAnnotations>
        </eStructuralFeatures>
      </eClassifiers>
    </eSubpackages>
  </eSubpackages>
  <eSubpackages name="templates" nsURI="http://www.muml.org/uppaal/templates/1.0.0"
      nsPrefix="templates">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Support for Timed Automata templates consisting of locations and edges."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="AbstractTemplate" abstract="true"
        eSuperTypes="#//core/NamedElement #//core/CommentableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for ordinary timed automata templates as well as redefined templates."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="UniqueParameterNames" value="self.parameter->collect(variableDeclaration)->collect(variable)->isUnique(name)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="UniqueParameterNames"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1"
          eType="#//declarations/Parameter" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameter declarations of the template."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Template" eSuperTypes="#//templates/AbstractTemplate">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="Template"/>
        <details key="kind" value="elementOnly"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="UniqueLocationNames" value="self.location->isUnique(name)"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="UniqueLocationNames"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An Uppaal template representing a single timed automaton."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" eType="#//declarations/LocalDeclarations"
          containment="true">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="kind" value="element"/>
          <details key="name" value="declarations"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The local declarations of the template."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="location" lowerBound="1"
          upperBound="-1" eType="#//templates/Location" containment="true" eOpposite="#//templates/Location/parentTemplate">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="kind" value="element"/>
          <details key="name" value="location"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The locations inside this template."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="edge" upperBound="-1"
          eType="#//templates/Edge" containment="true" eOpposite="#//templates/Edge/parentTemplate">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="kind" value="element"/>
          <details key="name" value="edge"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The edges inside this template."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="init" lowerBound="1"
          eType="#//templates/Location">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="kind" value="attribute"/>
          <details key="name" value="init"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The initial location of this template."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RedefinedTemplate" eSuperTypes="#//templates/AbstractTemplate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A template resulting from redefinition of another referred template, altering its name and parametrization."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredTemplate" lowerBound="1"
          eType="#//templates/AbstractTemplate">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The template that serves as basis for redefinition."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="declaration" lowerBound="1"
          eType="#//declarations/system/TemplateDeclaration" eOpposite="#//declarations/system/TemplateDeclaration/declaredTemplate">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The declaration of this template."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Location" eSuperTypes="#//core/NamedElement #//core/CommentableElement #//visuals/PlanarElement #//visuals/ColoredElement">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="Location"/>
        <details key="kind" value="empty"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A location inside a template."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parentTemplate" lowerBound="1"
          eType="#//templates/Template" eOpposite="#//templates/Template/location">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parent template containing the location."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="invariant" eType="#//expressions/Expression"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A boolean expression representing the location's invariant."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="locationTimeKind" lowerBound="1"
          eType="#//templates/LocationKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies the kind of location (default, urgent, or committed)."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="LocationKind">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Location types."/>
      </eAnnotations>
      <eLiterals name="NORMAL"/>
      <eLiterals name="URGENT" value="1"/>
      <eLiterals name="COMMITED" value="2"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Edge" eSuperTypes="#//visuals/LinearElement #//core/CommentableElement #//visuals/ColoredElement">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="Edge"/>
        <details key="kind" value="empty"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An edge connecting two locations inside a template."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="UniqueParentTemplate" value="(not (self.source.oclIsUndefined() or self.target.oclIsUndefined()))&#xD;&#xA;implies&#xD;&#xA;self.source.parentTemplate = self.target.parentTemplate"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="UniqueParentTemplate"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
          eType="#//templates/Location">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="kind" value="attribute"/>
          <details key="name" value="source"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The source location of the edge."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
          eType="#//templates/Location">
        <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
          <details key="kind" value="attribute"/>
          <details key="name" value="target"/>
        </eAnnotations>
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The target location of the edge."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="parentTemplate" lowerBound="1"
          eType="#//templates/Template" eOpposite="#//templates/Template/edge">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parent template containing the edge."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//expressions/Expression"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The guard expression of the edge."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="update" upperBound="-1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A set of update expressions for the edge, evaluated if the edge fires."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="synchronization" eType="#//templates/Synchronization"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A synchronization performed when the edge fires."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="selection" upperBound="-1"
          eType="#//templates/Selection" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A set of non-deterministic value selections."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Synchronization">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A sent or received synchronization between two templates using a specific synchronization channel."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="ChannelVariablesOnly" value="(not self.channelExpression.oclIsUndefined())&#xD;&#xA;and&#xD;&#xA;(not self.channelExpression.identifier.oclIsUndefined())&#xD;&#xA;and&#xD;&#xA;(self.channelExpression.identifier.oclIsKindOf(declarations::Variable))&#xD;&#xA;and&#xD;&#xA;(not self.channelExpression.identifier.oclAsType(declarations::Variable).typeDefinition.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.channelExpression.identifier.oclAsType(declarations::Variable).typeDefinition.baseType = types::BuiltInType::CHAN"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="ChannelVariablesOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="channelExpression" lowerBound="1"
          eType="#//expressions/IdentifierExpression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An expression representing the channel variable used for synchronization."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1"
          eType="#//templates/SynchronizationKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The kind of synchronization (sent or received)."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="SynchronizationKind">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing the type of synchronization."/>
      </eAnnotations>
      <eLiterals name="RECEIVE" literal="?"/>
      <eLiterals name="SEND" value="1" literal="!"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Selection" eSuperTypes="#//declarations/VariableContainer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="SingleVariable" value="self.variable->size() &lt;= 1"/>
        <details key="IntegerBasedType" value="(not self.typeDefinition.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.typeDefinition.baseType = types::BuiltInType::INT"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="SingleVariable IntegerBasedType"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A non-deterministic selection of a value from a range. The range is specified by a bounded type."/>
      </eAnnotations>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="statements" nsURI="http://www.muml.org/uppaal/statements/1.0.0"
      nsPrefix="statements">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Support for statements inside functions."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base-class for all statements inside a function's body."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Block" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A block of one or more statements."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="DataVariableDeclarationsOnly" value="(not self.declarations.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;(self.declarations.declaration->forAll(oclIsKindOf(declarations::DataVariableDeclaration)))"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="DataVariableDeclarationsOnly"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" eType="#//declarations/LocalDeclarations"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The local declarations for the function's body."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
          upperBound="-1" eType="#//statements/Statement" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The statements inside the funtion's body."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EmptyStatement" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An empty statement represented by a semicolon only."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ForLoop" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A for-loop statement."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="initialization" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The initialization expression of the for loop."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The condition of the for loop, represented by a boolean expression."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="iteration" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The iteration statements of the for loop."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
          eType="#//statements/Statement" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The statement to be evaluated for every value."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Iteration" eSuperTypes="#//statements/Statement #//declarations/VariableContainer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="SingleVariable" value="self.variable->size() &lt;= 1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="SingleVariable"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An iteration over all possible values of a bounded type using the 'for' keyword."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
          eType="#//statements/Statement" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The statement to be evaluated for every value."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="WhileLoop" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A while-loop statement."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A boolean expression for the while loop."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
          eType="#//statements/Statement" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The statement to be evaluated for every value."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="DoWhileLoop" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A do-while-loop statement."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1"
          eType="#//statements/Statement" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The statement to be evaluated for every value."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A boolean expression for the while loop."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IfStatement" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An if-then-else statement."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="ifExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The boolean if-expression."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="thenStatement" lowerBound="1"
          eType="#//statements/Statement" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The then-statement."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="elseStatement" eType="#//statements/Statement"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The else-statement."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ReturnStatement" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A statement used to return from a function's body, optionally carrying a return value."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="returnExpression" eType="#//expressions/Expression"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The expression representing the return value."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExpressionStatement" eSuperTypes="#//statements/Statement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A statement that refers to an arbitrary expression."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The expression this statement refers to."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="expressions" nsURI="http://www.muml.org/uppaal/expressions/1.0.0"
      nsPrefix="expressions">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Introduces all kinds of expressions."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for all kinds of expressions."/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NegationExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A negation of an expression."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="negatedExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The expression negated by this negation."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PlusExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A confirmation of an integer-based expression using the '+' token."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="confirmedExpression"
          lowerBound="1" eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The expression negated by this negation."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MinusExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An inversion of an integer-based expression using the '-' token."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="invertedExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The expression negated by this negation."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" abstract="true"
        eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Abstract base class for all binary expressions connecting two sub-expressions."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="firstExpr" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The first sub-expression."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="secondExpr" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The second sub-expression."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AssignmentExpression" eSuperTypes="#//expressions/BinaryExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A binary assignment expression using a specific assignment operator."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/AssignmentOperator">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The operator for the assignment."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="AssignmentOperator">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing all assignment operators."/>
      </eAnnotations>
      <eLiterals name="EQUAL" literal="="/>
      <eLiterals name="PLUS_EQUAL" value="1" literal="+="/>
      <eLiterals name="MINUS_EQUAL" value="2" literal="-="/>
      <eLiterals name="TIMES_EQUAL" value="3" literal="*="/>
      <eLiterals name="DIVIDE_EQUAL" value="4" literal="/="/>
      <eLiterals name="MODULO_EQUAL" value="5" literal="%="/>
      <eLiterals name="BIT_AND_EQUAL" value="6" literal="&amp;="/>
      <eLiterals name="BIT_OR_EQUAL" value="7" literal="|="/>
      <eLiterals name="BIT_LEFT_EQUAL" value="8" literal="&lt;&lt;="/>
      <eLiterals name="BIT_RIGHT_EQUAL" value="9" literal=">>="/>
      <eLiterals name="BIT_XOR_EQUAL" value="10" literal="^="/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IdentifierExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An expression referring to a variable."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" lowerBound="1"
          eType="#//core/NamedElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The referred variable."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="index" upperBound="-1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A set of expressions that refer to the array indexes of the variable."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LiteralExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An expression referring to a literal of any type."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1"
          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The textual description of the literal."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ArithmeticExpression" eSuperTypes="#//expressions/BinaryExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A binary expression representing an arithemtic operation."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/ArithmeticOperator">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The arithmetic operator to be applied."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="ArithmeticOperator">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing all arithmetic operators."/>
      </eAnnotations>
      <eLiterals name="ADD" literal="+"/>
      <eLiterals name="SUBTRACT" value="1" literal="-"/>
      <eLiterals name="MULTIPLICATE" value="2" literal="*"/>
      <eLiterals name="DIVIDE" value="3" literal="/"/>
      <eLiterals name="MODULO" value="4" literal="%"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LogicalExpression" eSuperTypes="#//expressions/BinaryExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A logical expression."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/LogicalOperator"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="LogicalOperator">
      <eLiterals name="AND" literal="and"/>
      <eLiterals name="OR" value="1" literal="or"/>
      <eLiterals name="IMPLY" value="2" literal="imply"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FunctionCallExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An expression representing a call to a function."/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="NumberOfArgumentsMatchesDeclaration" value="(not self.function.oclIsUndefined())&#xD;&#xA;implies&#xD;&#xA;self.argument->size() = self.function.parameter->size()"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="NumberOfArgumentsMatchesDeclaration"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="function" lowerBound="1"
          eType="#//declarations/Function">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The function to be called."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="A set of expressions representing the argument values for the function call. Must conform to the parameters of the function declaration."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CompareExpression" eSuperTypes="#//expressions/BinaryExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A comparison between two expression values using a specific comparison operator."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/CompareOperator">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The comparison operator to be applied."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="CompareOperator">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing all comparison operators."/>
      </eAnnotations>
      <eLiterals name="EQUAL" literal="=="/>
      <eLiterals name="GREATER" value="1" literal=">"/>
      <eLiterals name="GREATER_OR_EQUAL" value="2" literal=">="/>
      <eLiterals name="LESS" value="3" literal="&lt;"/>
      <eLiterals name="LESS_OR_EQUAL" value="4" literal="&lt;="/>
      <eLiterals name="UNEQUAL" value="5" literal="!="/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ConditionExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An expression representing a conditional redirection to one of the sub-expressions. Uses tokens '?' and ':' for delimitation."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="ifExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The boolean if-expression."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="thenExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The then-expression."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="elseExpression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The else-expression."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ScopedIdentifierExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An expression used to access a scoped identifier. Uses a dot for delimination between scope and identifier."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="scope" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An expression that refers to a certain identifier scope."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="identifier" lowerBound="1"
          eType="#//expressions/IdentifierExpression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="An expression that refers to a member of the scope."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="Quantifier">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing existential and universal quantification."/>
      </eAnnotations>
      <eLiterals name="EXISTENTIAL" literal="∃"/>
      <eLiterals name="UNIVERSAL" value="1" literal="∀"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="QuantificationExpression" eSuperTypes="#//expressions/Expression #//declarations/VariableContainer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL">
        <details key="SingleVariable" value="self.variable->size() &lt;= 1"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="SingleVariable"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A quantification expression introducing a quantified variable."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantifier" lowerBound="1"
          eType="#//expressions/Quantifier">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The quantifier to be applied."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The quantified expression."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IncrementDecrementExpression" eSuperTypes="#//expressions/Expression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An expression describing increment (++) or decrement (---) of an integer-based expression. "/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
          eType="#//expressions/Expression" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The expression to be incremented or decremented."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="position" lowerBound="1"
          eType="#//expressions/IncrementDecrementPosition">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies pre- or post-evaluation."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/IncrementDecrementOperator">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Specifies increment or decrement."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="IncrementDecrementOperator">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing increment and decrement operators."/>
      </eAnnotations>
      <eLiterals name="INCREMENT" literal="++"/>
      <eLiterals name="DECREMENT" value="1" literal="--"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="IncrementDecrementPosition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing pre- or post-processing inside increment/decrement expressions."/>
      </eAnnotations>
      <eLiterals name="PRE" literal="PRE"/>
      <eLiterals name="POST" value="1" literal="POST"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BitShiftExpression" eSuperTypes="#//expressions/BinaryExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A binary expression representing an arithemtic operation."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/BitShiftOperator">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The arithmetic operator to be applied."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="BitShiftOperator">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing all arithmetic operators."/>
      </eAnnotations>
      <eLiterals name="LEFT" literal="&lt;&lt;"/>
      <eLiterals name="RIGHT" value="1" literal=">>"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MinMaxExpression" eSuperTypes="#//expressions/BinaryExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A binary expression representing an arithemtic operation."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/MinMaxOperator">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The arithmetic operator to be applied."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="MinMaxOperator">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing all arithmetic operators."/>
      </eAnnotations>
      <eLiterals name="MIN" literal="&lt;?"/>
      <eLiterals name="MAX" value="1" literal=">?"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BitwiseExpression" eSuperTypes="#//expressions/BinaryExpression">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A binary expression representing an arithemtic operation."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1"
          eType="#//expressions/BitwiseOperator">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The arithmetic operator to be applied."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="BitwiseOperator">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Representing all arithmetic operators."/>
      </eAnnotations>
      <eLiterals name="AND" literal="&amp;"/>
      <eLiterals name="XOR" value="1" literal="^"/>
      <eLiterals name="OR" value="2" literal="|"/>
    </eClassifiers>
  </eSubpackages>
  <eSubpackages name="visuals" nsURI="http://www.muml.org/uppaal/visuals/1.0.0"
      nsPrefix="visuals">
    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL"/>
    </eAnnotations>
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Provides support for the visual representation of model elements."/>
    </eAnnotations>
    <eClassifiers xsi:type="ecore:EClass" name="ColoredElement" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A model element that has an optional color."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="color" eType="#//visuals/ColorKind">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The color of the model element. It is either a standard uppaal color (default, white, light grey, dark grey, black, blue, cyan, green, magenta, orange, pink, red, yellow) or a self-defined color. Edges should not be white.&#xD;&#xA;&#xD;&#xA;\todosd{We need an OCL-Constraint: Edges should not be white.}&#xD;&#xA;\todosd{We need an OCL-Constraint: If self defined is choosen then a color code must be specified.}"/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="colorCode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The hexadecimal color code of the model element that must be defined if a self-defined color should be used."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PlanarElement" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A planar model element that has an optional position."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="position" eType="#//visuals/Point"
          containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The planar position of the model element."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LinearElement" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A linear model element that has a set of bend points."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="bendPoint" upperBound="-1"
          eType="#//visuals/Point" containment="true">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The bend points of the linear model element."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Point">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Represents a point in the two-dimensional space."/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          defaultValueLiteral="0">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The horizontal component of the point."/>
        </eAnnotations>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
          defaultValueLiteral="0">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The vertical component of the point."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EEnum" name="ColorKind">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The color kinds of an element. They are the standard colors of uppaal or a self-defined color."/>
      </eAnnotations>
      <eLiterals name="DEFAULT" literal="Default"/>
      <eLiterals name="WHITE" value="1" literal="White"/>
      <eLiterals name="LIGHTGREY" value="2" literal="LightGrey"/>
      <eLiterals name="DARKGREY" value="3" literal="DarkGrey"/>
      <eLiterals name="BLACK" value="4" literal="Black"/>
      <eLiterals name="BLUE" value="5" literal="Blue"/>
      <eLiterals name="CYAN" value="6" literal="Cyan"/>
      <eLiterals name="GREEN" value="7" literal="Green"/>
      <eLiterals name="MAGENTA" value="8" literal="Magenta"/>
      <eLiterals name="ORANGE" value="9" literal="Orange"/>
      <eLiterals name="PINK" value="10" literal="Pink"/>
      <eLiterals name="RED" value="11" literal="Red"/>
      <eLiterals name="YELLOW" value="12" literal="Yellow"/>
      <eLiterals name="SELF_DEFINED" value="13" literal="Self_Defined"/>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"uppaal","nsURI":"http://www.muml.org/uppaal/1.0.0","name":"uppaal","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NTA","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"nsPrefix":"core","nsURI":"http://www.muml.org/uppaal/core/1.0.0","name":"core","id":2,"eClass":"EPackage"},{"nsPrefix":"types","nsURI":"http://www.muml.org/uppaal/types/1.0.0","name":"types","id":3,"eClass":"EPackage"},{"nsPrefix":"declarations","nsURI":"http://www.muml.org/uppaal/declarations/1.0.0","name":"declarations","id":4,"eClass":"EPackage"},{"nsPrefix":"templates","nsURI":"http://www.muml.org/uppaal/templates/1.0.0","name":"templates","id":5,"eClass":"EPackage"},{"nsPrefix":"statements","nsURI":"http://www.muml.org/uppaal/statements/1.0.0","name":"statements","id":6,"eClass":"EPackage"},{"nsPrefix":"expressions","nsURI":"http://www.muml.org/uppaal/expressions/1.0.0","name":"expressions","id":7,"eClass":"EPackage"},{"nsPrefix":"visuals","nsURI":"http://www.muml.org/uppaal/visuals/1.0.0","name":"visuals","id":8,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":true,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CommentableElement","instanceClass":null,"abstract":true,"id":10,"interface":false,"eClass":"EClass"},{"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":"globalDeclarations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":11,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"template","changeable":true,"resolveProxies":true,"lowerBound":1,"id":12,"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":"systemDeclarations","changeable":true,"resolveProxies":true,"lowerBound":1,"id":13,"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":"int","changeable":true,"resolveProxies":true,"lowerBound":1,"id":14,"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":"bool","changeable":true,"resolveProxies":true,"lowerBound":1,"id":15,"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":"clock","changeable":true,"resolveProxies":true,"lowerBound":1,"id":16,"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":"chan","changeable":true,"resolveProxies":true,"lowerBound":1,"id":17,"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":"void","changeable":true,"resolveProxies":true,"lowerBound":1,"id":18,"derived":false},{"id":19,"eClass":"EGenericType"},{"id":20,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GlobalDeclarations","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"id":22,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Template","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"id":24,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SystemDeclarations","instanceClass":null,"abstract":false,"id":25,"interface":false,"eClass":"EClass"},{"id":26,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PredefinedType","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"id":28,"eClass":"EGenericType"},{"id":29,"eClass":"EGenericType"},{"id":30,"eClass":"EGenericType"},{"id":31,"eClass":"EGenericType"},{"id":32,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":33,"derived":false},{"id":34,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"comment","changeable":true,"lowerBound":0,"iD":false,"id":35,"derived":false},{"id":36,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Type","instanceClass":null,"abstract":true,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"BuiltInType","instanceClass":null,"id":38,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DeclaredType","instanceClass":null,"abstract":false,"id":39,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeDefinition","instanceClass":null,"abstract":true,"id":40,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeReference","instanceClass":null,"abstract":false,"id":41,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeSpecification","instanceClass":null,"abstract":true,"id":42,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ScalarTypeSpecification","instanceClass":null,"abstract":false,"id":43,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StructTypeSpecification","instanceClass":null,"abstract":false,"id":44,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RangeTypeSpecification","instanceClass":null,"abstract":false,"id":45,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IntegerBounds","instanceClass":null,"abstract":false,"id":46,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Library","instanceClass":null,"abstract":false,"id":47,"interface":false,"eClass":"EClass"},{"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":"index","changeable":true,"resolveProxies":true,"lowerBound":0,"id":48,"derived":false},{"ordered":true,"upperBound":1,"volatile":true,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"baseType","changeable":false,"lowerBound":0,"iD":false,"id":49,"derived":true},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"typeSpecification","changeable":false,"resolveProxies":true,"lowerBound":0,"id":50,"derived":true},{"id":51,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Index","instanceClass":null,"abstract":true,"id":52,"interface":false,"eClass":"EClass"},{"id":53,"eClass":"EGenericType"},{"id":54,"eClass":"EGenericType"},{"id":55,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"lowerBound":1,"iD":false,"id":56,"derived":false},{"id":57,"eClass":"EGenericType"},{"id":58,"eClass":"EGenericType"},{"name":"INT","id":59,"value":0,"literal":"int","eClass":"EEnumLiteral"},{"name":"CLOCK","id":60,"value":1,"literal":"clock","eClass":"EEnumLiteral"},{"name":"CHAN","id":61,"value":2,"literal":"chan","eClass":"EEnumLiteral"},{"name":"BOOL","id":62,"value":3,"literal":"bool","eClass":"EEnumLiteral"},{"name":"VOID","id":63,"value":4,"literal":"void","eClass":"EEnumLiteral"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"typeDeclaration","changeable":true,"resolveProxies":true,"lowerBound":1,"id":64,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"typeDefinition","changeable":false,"resolveProxies":true,"lowerBound":1,"id":65,"derived":true},{"id":66,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeDeclaration","instanceClass":null,"abstract":false,"id":67,"interface":false,"eClass":"EClass"},{"id":68,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":1,"id":69,"derived":false},{"id":70,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":true,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"baseType","changeable":false,"lowerBound":0,"iD":false,"id":71,"derived":true},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"typeSpecification","changeable":false,"resolveProxies":true,"lowerBound":0,"id":72,"derived":true},{"id":73,"eClass":"EGenericType"},{"id":74,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":75,"derived":false},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"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":"sizeExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":79,"derived":false},{"id":80,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Expression","instanceClass":null,"abstract":true,"id":81,"interface":false,"eClass":"EClass"},{"id":82,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"declaration","changeable":true,"resolveProxies":true,"lowerBound":1,"id":83,"derived":false},{"id":84,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataVariableDeclaration","instanceClass":null,"abstract":false,"id":85,"interface":false,"eClass":"EClass"},{"id":86,"eClass":"EGenericType"},{"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":"bounds","changeable":true,"resolveProxies":true,"lowerBound":1,"id":87,"derived":false},{"id":88,"eClass":"EGenericType"},{"id":89,"eClass":"EGenericType"},{"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":"lowerBound","changeable":true,"resolveProxies":true,"lowerBound":1,"id":90,"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":"upperBound","changeable":true,"resolveProxies":true,"lowerBound":1,"id":91,"derived":false},{"id":92,"eClass":"EGenericType"},{"id":93,"eClass":"EGenericType"},{"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":"types","changeable":true,"resolveProxies":true,"lowerBound":0,"id":94,"derived":false},{"id":95,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Declarations","instanceClass":null,"abstract":true,"id":96,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LocalDeclarations","instanceClass":null,"abstract":false,"id":97,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Declaration","instanceClass":null,"abstract":true,"id":98,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableDeclaration","instanceClass":null,"abstract":true,"id":99,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ChannelVariableDeclaration","instanceClass":null,"abstract":false,"id":100,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ClockVariableDeclaration","instanceClass":null,"abstract":false,"id":101,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"DataVariablePrefix","instanceClass":null,"id":102,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FunctionDeclaration","instanceClass":null,"abstract":false,"id":103,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Function","instanceClass":null,"abstract":false,"id":104,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Variable","instanceClass":null,"abstract":false,"id":105,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ValueIndex","instanceClass":null,"abstract":false,"id":106,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeIndex","instanceClass":null,"abstract":false,"id":107,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableContainer","instanceClass":null,"abstract":true,"id":108,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":109,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"CallType","instanceClass":null,"id":110,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Initializer","instanceClass":null,"abstract":true,"id":111,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpressionInitializer","instanceClass":null,"abstract":false,"id":112,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ArrayInitializer","instanceClass":null,"abstract":false,"id":113,"interface":false,"eClass":"EClass"},{"nsPrefix":"global","nsURI":"http://www.muml.org/uppaal/declarations/global/1.0.0","name":"global","id":114,"eClass":"EPackage"},{"nsPrefix":"system","nsURI":"http://www.muml.org/uppaal/declarations/system/1.0.0","name":"system","id":115,"eClass":"EPackage"},{"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":"declaration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":116,"derived":false},{"id":117,"eClass":"EGenericType"},{"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":"channelPriority","changeable":true,"resolveProxies":true,"lowerBound":0,"id":118,"derived":false},{"id":119,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ChannelPriority","instanceClass":null,"abstract":false,"id":120,"interface":false,"eClass":"EClass"},{"id":121,"eClass":"EGenericType"},{"id":122,"eClass":"EGenericType"},{"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":"system","changeable":true,"resolveProxies":true,"lowerBound":1,"id":123,"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":"progressMeasure","changeable":true,"resolveProxies":true,"lowerBound":0,"id":124,"derived":false},{"id":125,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"System","instanceClass":null,"abstract":false,"id":126,"interface":false,"eClass":"EClass"},{"id":127,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ProgressMeasure","instanceClass":null,"abstract":false,"id":128,"interface":false,"eClass":"EClass"},{"id":129,"eClass":"EGenericType"},{"id":130,"eClass":"EGenericType"},{"id":131,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"urgent","changeable":true,"lowerBound":1,"iD":false,"id":132,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"broadcast","changeable":true,"lowerBound":1,"iD":false,"id":133,"derived":false},{"id":134,"eClass":"EGenericType"},{"id":135,"eClass":"EGenericType"},{"id":136,"eClass":"EGenericType"},{"id":137,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"prefix","changeable":true,"lowerBound":1,"iD":false,"id":138,"derived":false},{"id":139,"eClass":"EGenericType"},{"id":140,"eClass":"EGenericType"},{"name":"NONE","id":141,"value":0,"literal":"","eClass":"EEnumLiteral"},{"name":"CONST","id":142,"value":1,"literal":"const","eClass":"EEnumLiteral"},{"name":"META","id":143,"value":2,"literal":"meta","eClass":"EEnumLiteral"},{"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":"function","changeable":true,"resolveProxies":true,"lowerBound":1,"id":144,"derived":false},{"id":145,"eClass":"EGenericType"},{"id":146,"eClass":"EGenericType"},{"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":"returnType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":147,"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":"block","changeable":true,"resolveProxies":true,"lowerBound":1,"id":148,"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":"parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":149,"derived":false},{"id":150,"eClass":"EGenericType"},{"id":151,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Block","instanceClass":null,"abstract":false,"id":152,"interface":false,"eClass":"EClass"},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"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":"typeDefinition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":155,"derived":false},{"id":156,"eClass":"EGenericType"},{"id":157,"eClass":"EGenericType"},{"id":158,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"index","changeable":true,"resolveProxies":true,"lowerBound":0,"id":159,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"container","changeable":true,"resolveProxies":true,"lowerBound":1,"id":160,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"typeDefinition","changeable":false,"resolveProxies":true,"lowerBound":1,"id":161,"derived":true},{"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":"initializer","changeable":true,"resolveProxies":true,"lowerBound":0,"id":162,"derived":false},{"id":163,"eClass":"EGenericType"},{"id":164,"eClass":"EGenericType"},{"id":165,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"variable","changeable":true,"resolveProxies":true,"lowerBound":1,"id":166,"derived":false},{"id":167,"eClass":"EGenericType"},{"id":168,"eClass":"EGenericType"},{"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":"sizeExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":169,"derived":false},{"id":170,"eClass":"EGenericType"},{"id":171,"eClass":"EGenericType"},{"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":"typeDefinition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":172,"derived":false},{"id":173,"eClass":"EGenericType"},{"id":174,"eClass":"EGenericType"},{"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":"typeDefinition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":175,"derived":false},{"id":176,"eClass":"EGenericType"},{"id":177,"eClass":"EGenericType"},{"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":"variableDeclaration","changeable":true,"resolveProxies":true,"lowerBound":1,"id":178,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"CALL_BY_VALUE","unsettable":false,"transient":false,"unique":true,"name":"callType","changeable":true,"lowerBound":0,"iD":false,"id":179,"derived":false},{"id":180,"eClass":"EGenericType"},{"id":181,"eClass":"EGenericType"},{"name":"CALL_BY_VALUE","id":182,"value":0,"literal":"CALL_BY_VALUE","eClass":"EEnumLiteral"},{"name":"CALL_BY_REFERENCE","id":183,"value":1,"literal":"CALL_BY_REFERENCE","eClass":"EEnumLiteral"},{"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":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":184,"derived":false},{"id":185,"eClass":"EGenericType"},{"id":186,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"initializer","changeable":true,"resolveProxies":true,"lowerBound":1,"id":187,"derived":false},{"id":188,"eClass":"EGenericType"},{"id":189,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ChannelPriorityItem","instanceClass":null,"abstract":true,"id":190,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ChannelList","instanceClass":null,"abstract":false,"id":191,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DefaultChannelPriority","instanceClass":null,"abstract":false,"id":192,"interface":false,"eClass":"EClass"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"item","changeable":true,"resolveProxies":true,"lowerBound":1,"id":193,"derived":false},{"id":194,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"channelExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":195,"derived":false},{"id":196,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IdentifierExpression","instanceClass":null,"abstract":false,"id":197,"interface":false,"eClass":"EClass"},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateDeclaration","instanceClass":null,"abstract":false,"id":200,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InstantiationList","instanceClass":null,"abstract":false,"id":201,"interface":false,"eClass":"EClass"},{"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":"declaredTemplate","changeable":true,"resolveProxies":true,"lowerBound":1,"id":202,"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":203,"derived":false},{"id":204,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RedefinedTemplate","instanceClass":null,"abstract":false,"id":205,"interface":false,"eClass":"EClass"},{"id":206,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"declaration","changeable":true,"resolveProxies":true,"lowerBound":1,"id":207,"derived":false},{"id":208,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"instantiationList","changeable":true,"resolveProxies":true,"lowerBound":1,"id":209,"derived":false},{"id":210,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"template","changeable":true,"resolveProxies":true,"lowerBound":1,"id":211,"derived":false},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AbstractTemplate","instanceClass":null,"abstract":true,"id":212,"interface":false,"eClass":"EClass"},{"id":213,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":214,"derived":false},{"id":215,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Location","instanceClass":null,"abstract":false,"id":216,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"LocationKind","instanceClass":null,"id":217,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Edge","instanceClass":null,"abstract":false,"id":218,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Synchronization","instanceClass":null,"abstract":false,"id":219,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"SynchronizationKind","instanceClass":null,"id":220,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Selection","instanceClass":null,"abstract":false,"id":221,"interface":false,"eClass":"EClass"},{"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":"parameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":222,"derived":false},{"id":223,"eClass":"EGenericType"},{"id":224,"eClass":"EGenericType"},{"id":225,"eClass":"EGenericType"},{"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":"declarations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":226,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"location","changeable":true,"resolveProxies":true,"lowerBound":1,"id":227,"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":"edge","changeable":true,"resolveProxies":true,"lowerBound":0,"id":228,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"init","changeable":true,"resolveProxies":true,"lowerBound":1,"id":229,"derived":false},{"id":230,"eClass":"EGenericType"},{"id":231,"eClass":"EGenericType"},{"id":232,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parentTemplate","changeable":true,"resolveProxies":true,"lowerBound":1,"id":233,"derived":false},{"id":234,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parentTemplate","changeable":true,"resolveProxies":true,"lowerBound":1,"id":235,"derived":false},{"id":236,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredTemplate","changeable":true,"resolveProxies":true,"lowerBound":1,"id":237,"derived":false},{"id":238,"eClass":"EGenericType"},{"id":239,"eClass":"EGenericType"},{"id":240,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PlanarElement","instanceClass":null,"abstract":true,"id":241,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ColoredElement","instanceClass":null,"abstract":true,"id":242,"interface":false,"eClass":"EClass"},{"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":"invariant","changeable":true,"resolveProxies":true,"lowerBound":0,"id":243,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"locationTimeKind","changeable":true,"lowerBound":1,"iD":false,"id":244,"derived":false},{"id":245,"eClass":"EGenericType"},{"id":246,"eClass":"EGenericType"},{"id":247,"eClass":"EGenericType"},{"id":248,"eClass":"EGenericType"},{"id":249,"eClass":"EGenericType"},{"id":250,"eClass":"EGenericType"},{"id":251,"eClass":"EGenericType"},{"name":"NORMAL","id":252,"value":0,"literal":"NORMAL","eClass":"EEnumLiteral"},{"name":"URGENT","id":253,"value":1,"literal":"URGENT","eClass":"EEnumLiteral"},{"name":"COMMITED","id":254,"value":2,"literal":"COMMITED","eClass":"EEnumLiteral"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LinearElement","instanceClass":null,"abstract":true,"id":255,"interface":false,"eClass":"EClass"},{"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":"source","changeable":true,"resolveProxies":true,"lowerBound":1,"id":256,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"target","changeable":true,"resolveProxies":true,"lowerBound":1,"id":257,"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":"guard","changeable":true,"resolveProxies":true,"lowerBound":0,"id":258,"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":"update","changeable":true,"resolveProxies":true,"lowerBound":0,"id":259,"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":"synchronization","changeable":true,"resolveProxies":true,"lowerBound":0,"id":260,"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":"selection","changeable":true,"resolveProxies":true,"lowerBound":0,"id":261,"derived":false},{"id":262,"eClass":"EGenericType"},{"id":263,"eClass":"EGenericType"},{"id":264,"eClass":"EGenericType"},{"id":265,"eClass":"EGenericType"},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"id":268,"eClass":"EGenericType"},{"id":269,"eClass":"EGenericType"},{"id":270,"eClass":"EGenericType"},{"id":271,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"channelExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":272,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":1,"iD":false,"id":273,"derived":false},{"id":274,"eClass":"EGenericType"},{"id":275,"eClass":"EGenericType"},{"name":"RECEIVE","id":276,"value":0,"literal":"?","eClass":"EEnumLiteral"},{"name":"SEND","id":277,"value":1,"literal":"!","eClass":"EEnumLiteral"},{"id":278,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Statement","instanceClass":null,"abstract":true,"id":279,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EmptyStatement","instanceClass":null,"abstract":false,"id":280,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ForLoop","instanceClass":null,"abstract":false,"id":281,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Iteration","instanceClass":null,"abstract":false,"id":282,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"WhileLoop","instanceClass":null,"abstract":false,"id":283,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DoWhileLoop","instanceClass":null,"abstract":false,"id":284,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IfStatement","instanceClass":null,"abstract":false,"id":285,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReturnStatement","instanceClass":null,"abstract":false,"id":286,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpressionStatement","instanceClass":null,"abstract":false,"id":287,"interface":false,"eClass":"EClass"},{"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":"declarations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":288,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"statement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":289,"derived":false},{"id":290,"eClass":"EGenericType"},{"id":291,"eClass":"EGenericType"},{"id":292,"eClass":"EGenericType"},{"id":293,"eClass":"EGenericType"},{"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":"initialization","changeable":true,"resolveProxies":true,"lowerBound":1,"id":294,"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":"condition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":295,"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":"iteration","changeable":true,"resolveProxies":true,"lowerBound":1,"id":296,"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":"statement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":297,"derived":false},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"id":301,"eClass":"EGenericType"},{"id":302,"eClass":"EGenericType"},{"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":"statement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":303,"derived":false},{"id":304,"eClass":"EGenericType"},{"id":305,"eClass":"EGenericType"},{"id":306,"eClass":"EGenericType"},{"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":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":307,"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":"statement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":308,"derived":false},{"id":309,"eClass":"EGenericType"},{"id":310,"eClass":"EGenericType"},{"id":311,"eClass":"EGenericType"},{"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":"statement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":312,"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":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":313,"derived":false},{"id":314,"eClass":"EGenericType"},{"id":315,"eClass":"EGenericType"},{"id":316,"eClass":"EGenericType"},{"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":"ifExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":317,"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":"thenStatement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":318,"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":"elseStatement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":319,"derived":false},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"id":323,"eClass":"EGenericType"},{"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":"returnExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":324,"derived":false},{"id":325,"eClass":"EGenericType"},{"id":326,"eClass":"EGenericType"},{"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":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":327,"derived":false},{"id":328,"eClass":"EGenericType"},{"id":329,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NegationExpression","instanceClass":null,"abstract":false,"id":330,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PlusExpression","instanceClass":null,"abstract":false,"id":331,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MinusExpression","instanceClass":null,"abstract":false,"id":332,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BinaryExpression","instanceClass":null,"abstract":true,"id":333,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssignmentExpression","instanceClass":null,"abstract":false,"id":334,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"AssignmentOperator","instanceClass":null,"id":335,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralExpression","instanceClass":null,"abstract":false,"id":336,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ArithmeticExpression","instanceClass":null,"abstract":false,"id":337,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ArithmeticOperator","instanceClass":null,"id":338,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LogicalExpression","instanceClass":null,"abstract":false,"id":339,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"LogicalOperator","instanceClass":null,"id":340,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FunctionCallExpression","instanceClass":null,"abstract":false,"id":341,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CompareExpression","instanceClass":null,"abstract":false,"id":342,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"CompareOperator","instanceClass":null,"id":343,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ConditionExpression","instanceClass":null,"abstract":false,"id":344,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ScopedIdentifierExpression","instanceClass":null,"abstract":false,"id":345,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"Quantifier","instanceClass":null,"id":346,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"QuantificationExpression","instanceClass":null,"abstract":false,"id":347,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IncrementDecrementExpression","instanceClass":null,"abstract":false,"id":348,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"IncrementDecrementOperator","instanceClass":null,"id":349,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"IncrementDecrementPosition","instanceClass":null,"id":350,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BitShiftExpression","instanceClass":null,"abstract":false,"id":351,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"BitShiftOperator","instanceClass":null,"id":352,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MinMaxExpression","instanceClass":null,"abstract":false,"id":353,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"MinMaxOperator","instanceClass":null,"id":354,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BitwiseExpression","instanceClass":null,"abstract":false,"id":355,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"BitwiseOperator","instanceClass":null,"id":356,"serializable":true,"eClass":"EEnum"},{"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":"negatedExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":357,"derived":false},{"id":358,"eClass":"EGenericType"},{"id":359,"eClass":"EGenericType"},{"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":"confirmedExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":360,"derived":false},{"id":361,"eClass":"EGenericType"},{"id":362,"eClass":"EGenericType"},{"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":"invertedExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":363,"derived":false},{"id":364,"eClass":"EGenericType"},{"id":365,"eClass":"EGenericType"},{"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":"firstExpr","changeable":true,"resolveProxies":true,"lowerBound":1,"id":366,"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":"secondExpr","changeable":true,"resolveProxies":true,"lowerBound":1,"id":367,"derived":false},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"id":370,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":371,"derived":false},{"id":372,"eClass":"EGenericType"},{"id":373,"eClass":"EGenericType"},{"name":"EQUAL","id":374,"value":0,"literal":"=","eClass":"EEnumLiteral"},{"name":"PLUS_EQUAL","id":375,"value":1,"literal":"+=","eClass":"EEnumLiteral"},{"name":"MINUS_EQUAL","id":376,"value":2,"literal":"-=","eClass":"EEnumLiteral"},{"name":"TIMES_EQUAL","id":377,"value":3,"literal":"*=","eClass":"EEnumLiteral"},{"name":"DIVIDE_EQUAL","id":378,"value":4,"literal":"/=","eClass":"EEnumLiteral"},{"name":"MODULO_EQUAL","id":379,"value":5,"literal":"%=","eClass":"EEnumLiteral"},{"name":"BIT_AND_EQUAL","id":380,"value":6,"literal":"&=","eClass":"EEnumLiteral"},{"name":"BIT_OR_EQUAL","id":381,"value":7,"literal":"|=","eClass":"EEnumLiteral"},{"name":"BIT_LEFT_EQUAL","id":382,"value":8,"literal":"<<=","eClass":"EEnumLiteral"},{"name":"BIT_RIGHT_EQUAL","id":383,"value":9,"literal":">>=","eClass":"EEnumLiteral"},{"name":"BIT_XOR_EQUAL","id":384,"value":10,"literal":"^=","eClass":"EEnumLiteral"},{"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":"identifier","changeable":true,"resolveProxies":true,"lowerBound":1,"id":385,"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":"index","changeable":true,"resolveProxies":true,"lowerBound":0,"id":386,"derived":false},{"id":387,"eClass":"EGenericType"},{"id":388,"eClass":"EGenericType"},{"id":389,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"text","changeable":true,"lowerBound":1,"iD":false,"id":390,"derived":false},{"id":391,"eClass":"EGenericType"},{"id":392,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":393,"derived":false},{"id":394,"eClass":"EGenericType"},{"id":395,"eClass":"EGenericType"},{"name":"ADD","id":396,"value":0,"literal":"+","eClass":"EEnumLiteral"},{"name":"SUBTRACT","id":397,"value":1,"literal":"-","eClass":"EEnumLiteral"},{"name":"MULTIPLICATE","id":398,"value":2,"literal":"*","eClass":"EEnumLiteral"},{"name":"DIVIDE","id":399,"value":3,"literal":"/","eClass":"EEnumLiteral"},{"name":"MODULO","id":400,"value":4,"literal":"%","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":401,"derived":false},{"id":402,"eClass":"EGenericType"},{"id":403,"eClass":"EGenericType"},{"name":"AND","id":404,"value":0,"literal":"and","eClass":"EEnumLiteral"},{"name":"OR","id":405,"value":1,"literal":"or","eClass":"EEnumLiteral"},{"name":"IMPLY","id":406,"value":2,"literal":"imply","eClass":"EEnumLiteral"},{"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":"function","changeable":true,"resolveProxies":true,"lowerBound":1,"id":407,"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":408,"derived":false},{"id":409,"eClass":"EGenericType"},{"id":410,"eClass":"EGenericType"},{"id":411,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":412,"derived":false},{"id":413,"eClass":"EGenericType"},{"id":414,"eClass":"EGenericType"},{"name":"EQUAL","id":415,"value":0,"literal":"==","eClass":"EEnumLiteral"},{"name":"GREATER","id":416,"value":1,"literal":">","eClass":"EEnumLiteral"},{"name":"GREATER_OR_EQUAL","id":417,"value":2,"literal":">=","eClass":"EEnumLiteral"},{"name":"LESS","id":418,"value":3,"literal":"<","eClass":"EEnumLiteral"},{"name":"LESS_OR_EQUAL","id":419,"value":4,"literal":"<=","eClass":"EEnumLiteral"},{"name":"UNEQUAL","id":420,"value":5,"literal":"!=","eClass":"EEnumLiteral"},{"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":"ifExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":421,"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":"thenExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":422,"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":"elseExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":423,"derived":false},{"id":424,"eClass":"EGenericType"},{"id":425,"eClass":"EGenericType"},{"id":426,"eClass":"EGenericType"},{"id":427,"eClass":"EGenericType"},{"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":"scope","changeable":true,"resolveProxies":true,"lowerBound":1,"id":428,"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":"identifier","changeable":true,"resolveProxies":true,"lowerBound":1,"id":429,"derived":false},{"id":430,"eClass":"EGenericType"},{"id":431,"eClass":"EGenericType"},{"id":432,"eClass":"EGenericType"},{"name":"EXISTENTIAL","id":433,"value":0,"literal":"∃","eClass":"EEnumLiteral"},{"name":"UNIVERSAL","id":434,"value":1,"literal":"∀","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"quantifier","changeable":true,"lowerBound":1,"iD":false,"id":435,"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":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":436,"derived":false},{"id":437,"eClass":"EGenericType"},{"id":438,"eClass":"EGenericType"},{"id":439,"eClass":"EGenericType"},{"id":440,"eClass":"EGenericType"},{"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":"expression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":441,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"position","changeable":true,"lowerBound":1,"iD":false,"id":442,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":443,"derived":false},{"id":444,"eClass":"EGenericType"},{"id":445,"eClass":"EGenericType"},{"id":446,"eClass":"EGenericType"},{"id":447,"eClass":"EGenericType"},{"name":"INCREMENT","id":448,"value":0,"literal":"++","eClass":"EEnumLiteral"},{"name":"DECREMENT","id":449,"value":1,"literal":"--","eClass":"EEnumLiteral"},{"name":"PRE","id":450,"value":0,"literal":"PRE","eClass":"EEnumLiteral"},{"name":"POST","id":451,"value":1,"literal":"POST","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":452,"derived":false},{"id":453,"eClass":"EGenericType"},{"id":454,"eClass":"EGenericType"},{"name":"LEFT","id":455,"value":0,"literal":"<<","eClass":"EEnumLiteral"},{"name":"RIGHT","id":456,"value":1,"literal":">>","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":457,"derived":false},{"id":458,"eClass":"EGenericType"},{"id":459,"eClass":"EGenericType"},{"name":"MIN","id":460,"value":0,"literal":"<?","eClass":"EEnumLiteral"},{"name":"MAX","id":461,"value":1,"literal":">?","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"operator","changeable":true,"lowerBound":1,"iD":false,"id":462,"derived":false},{"id":463,"eClass":"EGenericType"},{"id":464,"eClass":"EGenericType"},{"name":"AND","id":465,"value":0,"literal":"&","eClass":"EEnumLiteral"},{"name":"XOR","id":466,"value":1,"literal":"^","eClass":"EEnumLiteral"},{"name":"OR","id":467,"value":2,"literal":"|","eClass":"EEnumLiteral"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Point","instanceClass":null,"abstract":false,"id":468,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"instanceClassName":null,"name":"ColorKind","instanceClass":null,"id":469,"serializable":true,"eClass":"EEnum"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"color","changeable":true,"lowerBound":0,"iD":false,"id":470,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"colorCode","changeable":true,"lowerBound":0,"iD":false,"id":471,"derived":false},{"id":472,"eClass":"EGenericType"},{"id":473,"eClass":"EGenericType"},{"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":"position","changeable":true,"resolveProxies":true,"lowerBound":0,"id":474,"derived":false},{"id":475,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bendPoint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":476,"derived":false},{"id":477,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"x","changeable":true,"lowerBound":1,"iD":false,"id":478,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"y","changeable":true,"lowerBound":1,"iD":false,"id":479,"derived":false},{"id":480,"eClass":"EGenericType"},{"id":481,"eClass":"EGenericType"},{"name":"DEFAULT","id":482,"value":0,"literal":"Default","eClass":"EEnumLiteral"},{"name":"WHITE","id":483,"value":1,"literal":"White","eClass":"EEnumLiteral"},{"name":"LIGHTGREY","id":484,"value":2,"literal":"LightGrey","eClass":"EEnumLiteral"},{"name":"DARKGREY","id":485,"value":3,"literal":"DarkGrey","eClass":"EEnumLiteral"},{"name":"BLACK","id":486,"value":4,"literal":"Black","eClass":"EEnumLiteral"},{"name":"BLUE","id":487,"value":5,"literal":"Blue","eClass":"EEnumLiteral"},{"name":"CYAN","id":488,"value":6,"literal":"Cyan","eClass":"EEnumLiteral"},{"name":"GREEN","id":489,"value":7,"literal":"Green","eClass":"EEnumLiteral"},{"name":"MAGENTA","id":490,"value":8,"literal":"Magenta","eClass":"EEnumLiteral"},{"name":"ORANGE","id":491,"value":9,"literal":"Orange","eClass":"EEnumLiteral"},{"name":"PINK","id":492,"value":10,"literal":"Pink","eClass":"EEnumLiteral"},{"name":"RED","id":493,"value":11,"literal":"Red","eClass":"EEnumLiteral"},{"name":"YELLOW","id":494,"value":12,"literal":"Yellow","eClass":"EEnumLiteral"},{"name":"SELF_DEFINED","id":495,"value":13,"literal":"Self_Defined","eClass":"EEnumLiteral"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":1,"target":0},{"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":18},{"source":1,"target":19},{"source":1,"target":20},{"source":11,"target":21},{"source":11,"target":22},{"source":11,"target":1},{"source":22,"target":21},{"source":12,"target":23},{"source":12,"target":24},{"source":12,"target":1},{"source":24,"target":23},{"source":13,"target":25},{"source":13,"target":26},{"source":13,"target":1},{"source":26,"target":25},{"source":14,"target":27},{"source":14,"target":28},{"source":14,"target":1},{"source":28,"target":27},{"source":15,"target":27},{"source":15,"target":29},{"source":15,"target":1},{"source":29,"target":27},{"source":16,"target":27},{"source":16,"target":30},{"source":16,"target":1},{"source":30,"target":27},{"source":17,"target":27},{"source":17,"target":31},{"source":17,"target":1},{"source":31,"target":27},{"source":18,"target":27},{"source":18,"target":32},{"source":18,"target":1},{"source":32,"target":27},{"source":19,"target":9},{"source":20,"target":10},{"source":2,"target":9},{"source":2,"target":10},{"source":2,"target":0},{"source":9,"target":2},{"source":9,"target":33},{"source":33,"target":34},{"source":33,"target":9},{"source":10,"target":2},{"source":10,"target":35},{"source":35,"target":36},{"source":35,"target":10},{"source":3,"target":37},{"source":3,"target":27},{"source":3,"target":38},{"source":3,"target":39},{"source":3,"target":40},{"source":3,"target":41},{"source":3,"target":42},{"source":3,"target":43},{"source":3,"target":44},{"source":3,"target":45},{"source":3,"target":46},{"source":3,"target":47},{"source":3,"target":0},{"source":37,"target":3},{"source":37,"target":9},{"source":37,"target":48},{"source":37,"target":49},{"source":37,"target":50},{"source":37,"target":51},{"source":48,"target":52},{"source":48,"target":53},{"source":48,"target":37},{"source":53,"target":52},{"source":49,"target":38},{"source":49,"target":54},{"source":49,"target":37},{"source":54,"target":38},{"source":50,"target":42},{"source":50,"target":55},{"source":50,"target":37},{"source":55,"target":42},{"source":51,"target":9},{"source":27,"target":3},{"source":27,"target":37},{"source":27,"target":56},{"source":27,"target":57},{"source":56,"target":38},{"source":56,"target":58},{"source":56,"target":27},{"source":58,"target":38},{"source":57,"target":37},{"source":38,"target":3},{"source":38,"target":59},{"source":38,"target":60},{"source":38,"target":61},{"source":38,"target":62},{"source":38,"target":63},{"source":59,"target":38},{"source":60,"target":38},{"source":61,"target":38},{"source":62,"target":38},{"source":63,"target":38},{"source":39,"target":3},{"source":39,"target":37},{"source":39,"target":64},{"source":39,"target":65},{"source":39,"target":66},{"source":64,"target":67},{"source":64,"target":68},{"source":64,"target":39},{"source":64,"target":69},{"source":68,"target":67},{"source":65,"target":40},{"source":65,"target":70},{"source":65,"target":39},{"source":70,"target":40},{"source":66,"target":37},{"source":40,"target":3},{"source":40,"target":71},{"source":40,"target":72},{"source":71,"target":38},{"source":71,"target":73},{"source":71,"target":40},{"source":73,"target":38},{"source":72,"target":42},{"source":72,"target":74},{"source":72,"target":40},{"source":74,"target":42},{"source":41,"target":3},{"source":41,"target":40},{"source":41,"target":75},{"source":41,"target":76},{"source":75,"target":37},{"source":75,"target":77},{"source":75,"target":41},{"source":77,"target":37},{"source":76,"target":40},{"source":42,"target":3},{"source":42,"target":40},{"source":42,"target":78},{"source":78,"target":40},{"source":43,"target":3},{"source":43,"target":42},{"source":43,"target":79},{"source":43,"target":80},{"source":79,"target":81},{"source":79,"target":82},{"source":79,"target":43},{"source":82,"target":81},{"source":80,"target":42},{"source":44,"target":3},{"source":44,"target":42},{"source":44,"target":83},{"source":44,"target":84},{"source":83,"target":85},{"source":83,"target":86},{"source":83,"target":44},{"source":86,"target":85},{"source":84,"target":42},{"source":45,"target":3},{"source":45,"target":42},{"source":45,"target":87},{"source":45,"target":88},{"source":87,"target":46},{"source":87,"target":89},{"source":87,"target":45},{"source":89,"target":46},{"source":88,"target":42},{"source":46,"target":3},{"source":46,"target":90},{"source":46,"target":91},{"source":90,"target":81},{"source":90,"target":92},{"source":90,"target":46},{"source":92,"target":81},{"source":91,"target":81},{"source":91,"target":93},{"source":91,"target":46},{"source":93,"target":81},{"source":47,"target":3},{"source":47,"target":94},{"source":94,"target":27},{"source":94,"target":95},{"source":94,"target":47},{"source":95,"target":27},{"source":4,"target":96},{"source":4,"target":21},{"source":4,"target":97},{"source":4,"target":25},{"source":4,"target":98},{"source":4,"target":99},{"source":4,"target":100},{"source":4,"target":101},{"source":4,"target":85},{"source":4,"target":102},{"source":4,"target":103},{"source":4,"target":104},{"source":4,"target":67},{"source":4,"target":105},{"source":4,"target":52},{"source":4,"target":106},{"source":4,"target":107},{"source":4,"target":108},{"source":4,"target":109},{"source":4,"target":110},{"source":4,"target":111},{"source":4,"target":112},{"source":4,"target":113},{"source":4,"target":114},{"source":4,"target":115},{"source":4,"target":0},{"source":96,"target":4},{"source":96,"target":116},{"source":116,"target":98},{"source":116,"target":117},{"source":116,"target":96},{"source":117,"target":98},{"source":21,"target":4},{"source":21,"target":96},{"source":21,"target":118},{"source":21,"target":119},{"source":118,"target":120},{"source":118,"target":121},{"source":118,"target":21},{"source":121,"target":120},{"source":119,"target":96},{"source":97,"target":4},{"source":97,"target":96},{"source":97,"target":122},{"source":122,"target":96},{"source":25,"target":4},{"source":25,"target":96},{"source":25,"target":123},{"source":25,"target":124},{"source":25,"target":125},{"source":123,"target":126},{"source":123,"target":127},{"source":123,"target":25},{"source":127,"target":126},{"source":124,"target":128},{"source":124,"target":129},{"source":124,"target":25},{"source":129,"target":128},{"source":125,"target":96},{"source":98,"target":4},{"source":99,"target":4},{"source":99,"target":98},{"source":99,"target":108},{"source":99,"target":130},{"source":99,"target":131},{"source":130,"target":98},{"source":131,"target":108},{"source":100,"target":4},{"source":100,"target":99},{"source":100,"target":132},{"source":100,"target":133},{"source":100,"target":134},{"source":132,"target":135},{"source":132,"target":100},{"source":133,"target":136},{"source":133,"target":100},{"source":134,"target":99},{"source":101,"target":4},{"source":101,"target":99},{"source":101,"target":137},{"source":137,"target":99},{"source":85,"target":4},{"source":85,"target":99},{"source":85,"target":138},{"source":85,"target":139},{"source":138,"target":102},{"source":138,"target":140},{"source":138,"target":85},{"source":140,"target":102},{"source":139,"target":99},{"source":102,"target":4},{"source":102,"target":141},{"source":102,"target":142},{"source":102,"target":143},{"source":141,"target":102},{"source":142,"target":102},{"source":143,"target":102},{"source":103,"target":4},{"source":103,"target":98},{"source":103,"target":144},{"source":103,"target":145},{"source":144,"target":104},{"source":144,"target":146},{"source":144,"target":103},{"source":146,"target":104},{"source":145,"target":98},{"source":104,"target":4},{"source":104,"target":9},{"source":104,"target":147},{"source":104,"target":148},{"source":104,"target":149},{"source":104,"target":150},{"source":147,"target":40},{"source":147,"target":151},{"source":147,"target":104},{"source":151,"target":40},{"source":148,"target":152},{"source":148,"target":153},{"source":148,"target":104},{"source":153,"target":152},{"source":149,"target":109},{"source":149,"target":154},{"source":149,"target":104},{"source":154,"target":109},{"source":150,"target":9},{"source":67,"target":4},{"source":67,"target":98},{"source":67,"target":69},{"source":67,"target":155},{"source":67,"target":156},{"source":69,"target":39},{"source":69,"target":157},{"source":69,"target":67},{"source":69,"target":64},{"source":157,"target":39},{"source":155,"target":40},{"source":155,"target":158},{"source":155,"target":67},{"source":158,"target":40},{"source":156,"target":98},{"source":105,"target":4},{"source":105,"target":9},{"source":105,"target":159},{"source":105,"target":160},{"source":105,"target":161},{"source":105,"target":162},{"source":105,"target":163},{"source":159,"target":52},{"source":159,"target":164},{"source":159,"target":105},{"source":164,"target":52},{"source":160,"target":108},{"source":160,"target":165},{"source":160,"target":105},{"source":160,"target":166},{"source":165,"target":108},{"source":161,"target":40},{"source":161,"target":167},{"source":161,"target":105},{"source":167,"target":40},{"source":162,"target":111},{"source":162,"target":168},{"source":162,"target":105},{"source":168,"target":111},{"source":163,"target":9},{"source":52,"target":4},{"source":106,"target":4},{"source":106,"target":52},{"source":106,"target":169},{"source":106,"target":170},{"source":169,"target":81},{"source":169,"target":171},{"source":169,"target":106},{"source":171,"target":81},{"source":170,"target":52},{"source":107,"target":4},{"source":107,"target":52},{"source":107,"target":172},{"source":107,"target":173},{"source":172,"target":40},{"source":172,"target":174},{"source":172,"target":107},{"source":174,"target":40},{"source":173,"target":52},{"source":108,"target":4},{"source":108,"target":175},{"source":108,"target":166},{"source":175,"target":40},{"source":175,"target":176},{"source":175,"target":108},{"source":176,"target":40},{"source":166,"target":105},{"source":166,"target":177},{"source":166,"target":108},{"source":166,"target":160},{"source":177,"target":105},{"source":109,"target":4},{"source":109,"target":178},{"source":109,"target":179},{"source":178,"target":99},{"source":178,"target":180},{"source":178,"target":109},{"source":180,"target":99},{"source":179,"target":110},{"source":179,"target":181},{"source":179,"target":109},{"source":181,"target":110},{"source":110,"target":4},{"source":110,"target":182},{"source":110,"target":183},{"source":182,"target":110},{"source":183,"target":110},{"source":111,"target":4},{"source":112,"target":4},{"source":112,"target":111},{"source":112,"target":184},{"source":112,"target":185},{"source":184,"target":81},{"source":184,"target":186},{"source":184,"target":112},{"source":186,"target":81},{"source":185,"target":111},{"source":113,"target":4},{"source":113,"target":111},{"source":113,"target":187},{"source":113,"target":188},{"source":187,"target":111},{"source":187,"target":189},{"source":187,"target":113},{"source":189,"target":111},{"source":188,"target":111},{"source":114,"target":120},{"source":114,"target":190},{"source":114,"target":191},{"source":114,"target":192},{"source":114,"target":4},{"source":120,"target":114},{"source":120,"target":193},{"source":193,"target":190},{"source":193,"target":194},{"source":193,"target":120},{"source":194,"target":190},{"source":190,"target":114},{"source":191,"target":114},{"source":191,"target":190},{"source":191,"target":195},{"source":191,"target":196},{"source":195,"target":197},{"source":195,"target":198},{"source":195,"target":191},{"source":198,"target":197},{"source":196,"target":190},{"source":192,"target":114},{"source":192,"target":190},{"source":192,"target":199},{"source":199,"target":190},{"source":115,"target":200},{"source":115,"target":126},{"source":115,"target":201},{"source":115,"target":128},{"source":115,"target":4},{"source":200,"target":115},{"source":200,"target":98},{"source":200,"target":202},{"source":200,"target":203},{"source":200,"target":204},{"source":202,"target":205},{"source":202,"target":206},{"source":202,"target":200},{"source":202,"target":207},{"source":206,"target":205},{"source":203,"target":81},{"source":203,"target":208},{"source":203,"target":200},{"source":208,"target":81},{"source":204,"target":98},{"source":126,"target":115},{"source":126,"target":209},{"source":209,"target":201},{"source":209,"target":210},{"source":209,"target":126},{"source":210,"target":201},{"source":201,"target":115},{"source":201,"target":211},{"source":211,"target":212},{"source":211,"target":213},{"source":211,"target":201},{"source":213,"target":212},{"source":128,"target":115},{"source":128,"target":214},{"source":214,"target":81},{"source":214,"target":215},{"source":214,"target":128},{"source":215,"target":81},{"source":5,"target":212},{"source":5,"target":23},{"source":5,"target":205},{"source":5,"target":216},{"source":5,"target":217},{"source":5,"target":218},{"source":5,"target":219},{"source":5,"target":220},{"source":5,"target":221},{"source":5,"target":0},{"source":212,"target":5},{"source":212,"target":9},{"source":212,"target":10},{"source":212,"target":222},{"source":212,"target":223},{"source":212,"target":224},{"source":222,"target":109},{"source":222,"target":225},{"source":222,"target":212},{"source":225,"target":109},{"source":223,"target":9},{"source":224,"target":10},{"source":23,"target":5},{"source":23,"target":212},{"source":23,"target":226},{"source":23,"target":227},{"source":23,"target":228},{"source":23,"target":229},{"source":23,"target":230},{"source":226,"target":97},{"source":226,"target":231},{"source":226,"target":23},{"source":231,"target":97},{"source":227,"target":216},{"source":227,"target":232},{"source":227,"target":23},{"source":227,"target":233},{"source":232,"target":216},{"source":228,"target":218},{"source":228,"target":234},{"source":228,"target":23},{"source":228,"target":235},{"source":234,"target":218},{"source":229,"target":216},{"source":229,"target":236},{"source":229,"target":23},{"source":236,"target":216},{"source":230,"target":212},{"source":205,"target":5},{"source":205,"target":212},{"source":205,"target":237},{"source":205,"target":207},{"source":205,"target":238},{"source":237,"target":212},{"source":237,"target":239},{"source":237,"target":205},{"source":239,"target":212},{"source":207,"target":200},{"source":207,"target":240},{"source":207,"target":205},{"source":207,"target":202},{"source":240,"target":200},{"source":238,"target":212},{"source":216,"target":5},{"source":216,"target":9},{"source":216,"target":10},{"source":216,"target":241},{"source":216,"target":242},{"source":216,"target":233},{"source":216,"target":243},{"source":216,"target":244},{"source":216,"target":245},{"source":216,"target":246},{"source":216,"target":247},{"source":216,"target":248},{"source":233,"target":23},{"source":233,"target":249},{"source":233,"target":216},{"source":233,"target":227},{"source":249,"target":23},{"source":243,"target":81},{"source":243,"target":250},{"source":243,"target":216},{"source":250,"target":81},{"source":244,"target":217},{"source":244,"target":251},{"source":244,"target":216},{"source":251,"target":217},{"source":245,"target":9},{"source":246,"target":10},{"source":247,"target":241},{"source":248,"target":242},{"source":217,"target":5},{"source":217,"target":252},{"source":217,"target":253},{"source":217,"target":254},{"source":252,"target":217},{"source":253,"target":217},{"source":254,"target":217},{"source":218,"target":5},{"source":218,"target":255},{"source":218,"target":10},{"source":218,"target":242},{"source":218,"target":256},{"source":218,"target":257},{"source":218,"target":235},{"source":218,"target":258},{"source":218,"target":259},{"source":218,"target":260},{"source":218,"target":261},{"source":218,"target":262},{"source":218,"target":263},{"source":218,"target":264},{"source":256,"target":216},{"source":256,"target":265},{"source":256,"target":218},{"source":265,"target":216},{"source":257,"target":216},{"source":257,"target":266},{"source":257,"target":218},{"source":266,"target":216},{"source":235,"target":23},{"source":235,"target":267},{"source":235,"target":218},{"source":235,"target":228},{"source":267,"target":23},{"source":258,"target":81},{"source":258,"target":268},{"source":258,"target":218},{"source":268,"target":81},{"source":259,"target":81},{"source":259,"target":269},{"source":259,"target":218},{"source":269,"target":81},{"source":260,"target":219},{"source":260,"target":270},{"source":260,"target":218},{"source":270,"target":219},{"source":261,"target":221},{"source":261,"target":271},{"source":261,"target":218},{"source":271,"target":221},{"source":262,"target":255},{"source":263,"target":10},{"source":264,"target":242},{"source":219,"target":5},{"source":219,"target":272},{"source":219,"target":273},{"source":272,"target":197},{"source":272,"target":274},{"source":272,"target":219},{"source":274,"target":197},{"source":273,"target":220},{"source":273,"target":275},{"source":273,"target":219},{"source":275,"target":220},{"source":220,"target":5},{"source":220,"target":276},{"source":220,"target":277},{"source":276,"target":220},{"source":277,"target":220},{"source":221,"target":5},{"source":221,"target":108},{"source":221,"target":278},{"source":278,"target":108},{"source":6,"target":279},{"source":6,"target":152},{"source":6,"target":280},{"source":6,"target":281},{"source":6,"target":282},{"source":6,"target":283},{"source":6,"target":284},{"source":6,"target":285},{"source":6,"target":286},{"source":6,"target":287},{"source":6,"target":0},{"source":279,"target":6},{"source":152,"target":6},{"source":152,"target":279},{"source":152,"target":288},{"source":152,"target":289},{"source":152,"target":290},{"source":288,"target":97},{"source":288,"target":291},{"source":288,"target":152},{"source":291,"target":97},{"source":289,"target":279},{"source":289,"target":292},{"source":289,"target":152},{"source":292,"target":279},{"source":290,"target":279},{"source":280,"target":6},{"source":280,"target":279},{"source":280,"target":293},{"source":293,"target":279},{"source":281,"target":6},{"source":281,"target":279},{"source":281,"target":294},{"source":281,"target":295},{"source":281,"target":296},{"source":281,"target":297},{"source":281,"target":298},{"source":294,"target":81},{"source":294,"target":299},{"source":294,"target":281},{"source":299,"target":81},{"source":295,"target":81},{"source":295,"target":300},{"source":295,"target":281},{"source":300,"target":81},{"source":296,"target":81},{"source":296,"target":301},{"source":296,"target":281},{"source":301,"target":81},{"source":297,"target":279},{"source":297,"target":302},{"source":297,"target":281},{"source":302,"target":279},{"source":298,"target":279},{"source":282,"target":6},{"source":282,"target":279},{"source":282,"target":108},{"source":282,"target":303},{"source":282,"target":304},{"source":282,"target":305},{"source":303,"target":279},{"source":303,"target":306},{"source":303,"target":282},{"source":306,"target":279},{"source":304,"target":279},{"source":305,"target":108},{"source":283,"target":6},{"source":283,"target":279},{"source":283,"target":307},{"source":283,"target":308},{"source":283,"target":309},{"source":307,"target":81},{"source":307,"target":310},{"source":307,"target":283},{"source":310,"target":81},{"source":308,"target":279},{"source":308,"target":311},{"source":308,"target":283},{"source":311,"target":279},{"source":309,"target":279},{"source":284,"target":6},{"source":284,"target":279},{"source":284,"target":312},{"source":284,"target":313},{"source":284,"target":314},{"source":312,"target":279},{"source":312,"target":315},{"source":312,"target":284},{"source":315,"target":279},{"source":313,"target":81},{"source":313,"target":316},{"source":313,"target":284},{"source":316,"target":81},{"source":314,"target":279},{"source":285,"target":6},{"source":285,"target":279},{"source":285,"target":317},{"source":285,"target":318},{"source":285,"target":319},{"source":285,"target":320},{"source":317,"target":81},{"source":317,"target":321},{"source":317,"target":285},{"source":321,"target":81},{"source":318,"target":279},{"source":318,"target":322},{"source":318,"target":285},{"source":322,"target":279},{"source":319,"target":279},{"source":319,"target":323},{"source":319,"target":285},{"source":323,"target":279},{"source":320,"target":279},{"source":286,"target":6},{"source":286,"target":279},{"source":286,"target":324},{"source":286,"target":325},{"source":324,"target":81},{"source":324,"target":326},{"source":324,"target":286},{"source":326,"target":81},{"source":325,"target":279},{"source":287,"target":6},{"source":287,"target":279},{"source":287,"target":327},{"source":287,"target":328},{"source":327,"target":81},{"source":327,"target":329},{"source":327,"target":287},{"source":329,"target":81},{"source":328,"target":279},{"source":7,"target":81},{"source":7,"target":330},{"source":7,"target":331},{"source":7,"target":332},{"source":7,"target":333},{"source":7,"target":334},{"source":7,"target":335},{"source":7,"target":197},{"source":7,"target":336},{"source":7,"target":337},{"source":7,"target":338},{"source":7,"target":339},{"source":7,"target":340},{"source":7,"target":341},{"source":7,"target":342},{"source":7,"target":343},{"source":7,"target":344},{"source":7,"target":345},{"source":7,"target":346},{"source":7,"target":347},{"source":7,"target":348},{"source":7,"target":349},{"source":7,"target":350},{"source":7,"target":351},{"source":7,"target":352},{"source":7,"target":353},{"source":7,"target":354},{"source":7,"target":355},{"source":7,"target":356},{"source":7,"target":0},{"source":81,"target":7},{"source":330,"target":7},{"source":330,"target":81},{"source":330,"target":357},{"source":330,"target":358},{"source":357,"target":81},{"source":357,"target":359},{"source":357,"target":330},{"source":359,"target":81},{"source":358,"target":81},{"source":331,"target":7},{"source":331,"target":81},{"source":331,"target":360},{"source":331,"target":361},{"source":360,"target":81},{"source":360,"target":362},{"source":360,"target":331},{"source":362,"target":81},{"source":361,"target":81},{"source":332,"target":7},{"source":332,"target":81},{"source":332,"target":363},{"source":332,"target":364},{"source":363,"target":81},{"source":363,"target":365},{"source":363,"target":332},{"source":365,"target":81},{"source":364,"target":81},{"source":333,"target":7},{"source":333,"target":81},{"source":333,"target":366},{"source":333,"target":367},{"source":333,"target":368},{"source":366,"target":81},{"source":366,"target":369},{"source":366,"target":333},{"source":369,"target":81},{"source":367,"target":81},{"source":367,"target":370},{"source":367,"target":333},{"source":370,"target":81},{"source":368,"target":81},{"source":334,"target":7},{"source":334,"target":333},{"source":334,"target":371},{"source":334,"target":372},{"source":371,"target":335},{"source":371,"target":373},{"source":371,"target":334},{"source":373,"target":335},{"source":372,"target":333},{"source":335,"target":7},{"source":335,"target":374},{"source":335,"target":375},{"source":335,"target":376},{"source":335,"target":377},{"source":335,"target":378},{"source":335,"target":379},{"source":335,"target":380},{"source":335,"target":381},{"source":335,"target":382},{"source":335,"target":383},{"source":335,"target":384},{"source":374,"target":335},{"source":375,"target":335},{"source":376,"target":335},{"source":377,"target":335},{"source":378,"target":335},{"source":379,"target":335},{"source":380,"target":335},{"source":381,"target":335},{"source":382,"target":335},{"source":383,"target":335},{"source":384,"target":335},{"source":197,"target":7},{"source":197,"target":81},{"source":197,"target":385},{"source":197,"target":386},{"source":197,"target":387},{"source":385,"target":9},{"source":385,"target":388},{"source":385,"target":197},{"source":388,"target":9},{"source":386,"target":81},{"source":386,"target":389},{"source":386,"target":197},{"source":389,"target":81},{"source":387,"target":81},{"source":336,"target":7},{"source":336,"target":81},{"source":336,"target":390},{"source":336,"target":391},{"source":390,"target":392},{"source":390,"target":336},{"source":391,"target":81},{"source":337,"target":7},{"source":337,"target":333},{"source":337,"target":393},{"source":337,"target":394},{"source":393,"target":338},{"source":393,"target":395},{"source":393,"target":337},{"source":395,"target":338},{"source":394,"target":333},{"source":338,"target":7},{"source":338,"target":396},{"source":338,"target":397},{"source":338,"target":398},{"source":338,"target":399},{"source":338,"target":400},{"source":396,"target":338},{"source":397,"target":338},{"source":398,"target":338},{"source":399,"target":338},{"source":400,"target":338},{"source":339,"target":7},{"source":339,"target":333},{"source":339,"target":401},{"source":339,"target":402},{"source":401,"target":340},{"source":401,"target":403},{"source":401,"target":339},{"source":403,"target":340},{"source":402,"target":333},{"source":340,"target":7},{"source":340,"target":404},{"source":340,"target":405},{"source":340,"target":406},{"source":404,"target":340},{"source":405,"target":340},{"source":406,"target":340},{"source":341,"target":7},{"source":341,"target":81},{"source":341,"target":407},{"source":341,"target":408},{"source":341,"target":409},{"source":407,"target":104},{"source":407,"target":410},{"source":407,"target":341},{"source":410,"target":104},{"source":408,"target":81},{"source":408,"target":411},{"source":408,"target":341},{"source":411,"target":81},{"source":409,"target":81},{"source":342,"target":7},{"source":342,"target":333},{"source":342,"target":412},{"source":342,"target":413},{"source":412,"target":343},{"source":412,"target":414},{"source":412,"target":342},{"source":414,"target":343},{"source":413,"target":333},{"source":343,"target":7},{"source":343,"target":415},{"source":343,"target":416},{"source":343,"target":417},{"source":343,"target":418},{"source":343,"target":419},{"source":343,"target":420},{"source":415,"target":343},{"source":416,"target":343},{"source":417,"target":343},{"source":418,"target":343},{"source":419,"target":343},{"source":420,"target":343},{"source":344,"target":7},{"source":344,"target":81},{"source":344,"target":421},{"source":344,"target":422},{"source":344,"target":423},{"source":344,"target":424},{"source":421,"target":81},{"source":421,"target":425},{"source":421,"target":344},{"source":425,"target":81},{"source":422,"target":81},{"source":422,"target":426},{"source":422,"target":344},{"source":426,"target":81},{"source":423,"target":81},{"source":423,"target":427},{"source":423,"target":344},{"source":427,"target":81},{"source":424,"target":81},{"source":345,"target":7},{"source":345,"target":81},{"source":345,"target":428},{"source":345,"target":429},{"source":345,"target":430},{"source":428,"target":81},{"source":428,"target":431},{"source":428,"target":345},{"source":431,"target":81},{"source":429,"target":197},{"source":429,"target":432},{"source":429,"target":345},{"source":432,"target":197},{"source":430,"target":81},{"source":346,"target":7},{"source":346,"target":433},{"source":346,"target":434},{"source":433,"target":346},{"source":434,"target":346},{"source":347,"target":7},{"source":347,"target":81},{"source":347,"target":108},{"source":347,"target":435},{"source":347,"target":436},{"source":347,"target":437},{"source":347,"target":438},{"source":435,"target":346},{"source":435,"target":439},{"source":435,"target":347},{"source":439,"target":346},{"source":436,"target":81},{"source":436,"target":440},{"source":436,"target":347},{"source":440,"target":81},{"source":437,"target":81},{"source":438,"target":108},{"source":348,"target":7},{"source":348,"target":81},{"source":348,"target":441},{"source":348,"target":442},{"source":348,"target":443},{"source":348,"target":444},{"source":441,"target":81},{"source":441,"target":445},{"source":441,"target":348},{"source":445,"target":81},{"source":442,"target":350},{"source":442,"target":446},{"source":442,"target":348},{"source":446,"target":350},{"source":443,"target":349},{"source":443,"target":447},{"source":443,"target":348},{"source":447,"target":349},{"source":444,"target":81},{"source":349,"target":7},{"source":349,"target":448},{"source":349,"target":449},{"source":448,"target":349},{"source":449,"target":349},{"source":350,"target":7},{"source":350,"target":450},{"source":350,"target":451},{"source":450,"target":350},{"source":451,"target":350},{"source":351,"target":7},{"source":351,"target":333},{"source":351,"target":452},{"source":351,"target":453},{"source":452,"target":352},{"source":452,"target":454},{"source":452,"target":351},{"source":454,"target":352},{"source":453,"target":333},{"source":352,"target":7},{"source":352,"target":455},{"source":352,"target":456},{"source":455,"target":352},{"source":456,"target":352},{"source":353,"target":7},{"source":353,"target":333},{"source":353,"target":457},{"source":353,"target":458},{"source":457,"target":354},{"source":457,"target":459},{"source":457,"target":353},{"source":459,"target":354},{"source":458,"target":333},{"source":354,"target":7},{"source":354,"target":460},{"source":354,"target":461},{"source":460,"target":354},{"source":461,"target":354},{"source":355,"target":7},{"source":355,"target":333},{"source":355,"target":462},{"source":355,"target":463},{"source":462,"target":356},{"source":462,"target":464},{"source":462,"target":355},{"source":464,"target":356},{"source":463,"target":333},{"source":356,"target":7},{"source":356,"target":465},{"source":356,"target":466},{"source":356,"target":467},{"source":465,"target":356},{"source":466,"target":356},{"source":467,"target":356},{"source":8,"target":242},{"source":8,"target":241},{"source":8,"target":255},{"source":8,"target":468},{"source":8,"target":469},{"source":8,"target":0},{"source":242,"target":8},{"source":242,"target":470},{"source":242,"target":471},{"source":470,"target":469},{"source":470,"target":472},{"source":470,"target":242},{"source":472,"target":469},{"source":471,"target":473},{"source":471,"target":242},{"source":241,"target":8},{"source":241,"target":474},{"source":474,"target":468},{"source":474,"target":475},{"source":474,"target":241},{"source":475,"target":468},{"source":255,"target":8},{"source":255,"target":476},{"source":476,"target":468},{"source":476,"target":477},{"source":476,"target":255},{"source":477,"target":468},{"source":468,"target":8},{"source":468,"target":478},{"source":468,"target":479},{"source":478,"target":480},{"source":478,"target":468},{"source":479,"target":481},{"source":479,"target":468},{"source":469,"target":8},{"source":469,"target":482},{"source":469,"target":483},{"source":469,"target":484},{"source":469,"target":485},{"source":469,"target":486},{"source":469,"target":487},{"source":469,"target":488},{"source":469,"target":489},{"source":469,"target":490},{"source":469,"target":491},{"source":469,"target":492},{"source":469,"target":493},{"source":469,"target":494},{"source":469,"target":495},{"source":482,"target":469},{"source":483,"target":469},{"source":484,"target":469},{"source":485,"target":469},{"source":486,"target":469},{"source":487,"target":469},{"source":488,"target":469},{"source":489,"target":469},{"source":490,"target":469},{"source":491,"target":469},{"source":492,"target":469},{"source":493,"target":469},{"source":494,"target":469},{"source":495,"target":469}],"multigraph":true}