
(object Petal
    version    	50
    _written   	"Rose 2006.0.0.060314"
    charSet    	0)

(object Class_Category "SQLQueryModel"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	(value Text "org.eclipse.datatools.modelbase.sql"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"packageName"
	    value      	(value Text "query"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	(value Text "SQLQueryModel"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	(value Text "http:///org/eclipse/datatools/modelbase/sql/query/SQLQueryModel.ecore")))
    quid       	"40467E9F03A6"
    visible_categories 	(list visibility_relationship_list
	(object Visibility_Relationship
	    quid       	"3B38F6F300A9"
	    supplier   	"Logical View::rdbschema"
	    quidu      	"3738A5FB0023")
	(object Visibility_Relationship
	    quid       	"3B9D19DC01B5"
	    supplier   	"Logical View::rlogic"
	    quidu      	"3947FCCA01F9")
	(object Visibility_Relationship
	    quid       	"404E1CF70346"
	    supplier   	"Logical View::SQLModel"
	    quidu      	"3E9B1F8201C1"))
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "QueryStatement"
	    quid       	"3B3785180139"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404683B4025D"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")
		(object Inheritance_Relationship
		    quid       	"40490B870362"
		    supplier   	"Logical View::SQLModel::Statements::SQLDataStatement"
		    quidu      	"4049092B0395"))
	    abstract   	TRUE)
	(object Class "QueryDeleteStatement"
	    quid       	"3B378546017C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40490F1701B4"
		    supplier   	"Logical View::SQLQueryModel::QueryChangeStatement"
		    quidu      	"40490E600298")))
	(object Class "QueryInsertStatement"
	    quid       	"3B3785520223"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40490F1301D7"
		    supplier   	"Logical View::SQLQueryModel::QueryChangeStatement"
		    quidu      	"40490E600298")))
	(object Class "QuerySelectStatement"
	    quid       	"3B37856000BB"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B3785C7018B"
		    supplier   	"Logical View::SQLQueryModel::QueryStatement"
		    quidu      	"3B3785180139")))
	(object Class "QueryUpdateStatement"
	    quid       	"3B3785760076"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40490F090074"
		    supplier   	"Logical View::SQLQueryModel::QueryChangeStatement"
		    quidu      	"40490E600298")))
	(object Class "UpdateAssignmentExpression"
	    quid       	"3B378BF6015F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404CFC4100D1"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "CursorReference"
	    quid       	"3B378C08021A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404CFC3B01B9"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "QuerySearchCondition"
	    quid       	"3B378C160224"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404C48A2002A"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")
		(object Inheritance_Relationship
		    quid       	"404CD97202A5"
		    supplier   	"Logical View::SQLModel::Expressions::SearchCondition"
		    quidu      	"3FABEC590086"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "negatedCondition"
		    quid       	"3BE32A19004F"
		    documentation 	"This represents NOT ( <searchCondition> ).  This attribute and paren can not both be true at the same time."
		    type       	"boolean"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "QueryExpressionBody"
	    quid       	"3B37924A01CC"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37EF4C0061"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "rowFetchLimit"
		    quid       	"49D166C4029F"
		    type       	"int"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "QueryValueExpression"
	    quid       	"3B3792520160"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404CDEDD0137"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")
		(object Inheritance_Relationship
		    quid       	"404CDF0500DA"
		    supplier   	"Logical View::SQLModel::Expressions::ValueExpression"
		    quidu      	"3F4D273D00A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "unaryOperator"
		    quid       	"3B3A5FE902E7"
		    type       	"ValueExpressionUnaryOperator"
		    quidu      	"3B3A5E0F015F"
		    exportControl 	"Public")
		(object ClassAttribute "dataType"
		    quid       	"41647AC1029F"
		    type       	"DataType"
		    quidu      	"3E9B3F3400BF"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "QueryExpressionRoot"
	    quid       	"3B37968301D1"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4049122F007D"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")
		(object Inheritance_Relationship
		    quid       	"404CD86A02F5"
		    supplier   	"Logical View::SQLModel::Expressions::QueryExpression"
		    quidu      	"3F392200019B")))
	(object Class "ValuesRow"
	    quid       	"3B3796910130"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404E4A8F00C1"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "QueryValues"
	    quid       	"3B37969E01ED"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37F45F0131"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC")))
	(object Class "TableReference"
	    quid       	"3B37EE200178"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404922A50195"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    abstract   	TRUE)
	(object Class "TableExpression"
	    quid       	"3B37EE600288"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C1FB7ED00E8"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178"))
	    abstract   	TRUE)
	(object Class "TableJoined"
	    quid       	"3B37EEB00323"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C1FB7EA0080"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "joinOperator"
		    quid       	"3B3A113D0369"
		    type       	"TableJoinedOperator"
		    quidu      	"3B3A10F70322"
		    exportControl 	"Public")))
	(object Class "WithTableSpecification"
	    quid       	"3B37EEBD019C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"41F9707402EF"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "Predicate"
	    quid       	"3B37F1C2039C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37F1EE03E5"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "negatedPredicate"
		    quid       	"3DEE9E260007"
		    documentation 	
|This attribute adds the NOT keyword in front of a predicate, so when true you have NOT <predicate>.  If attribute "paren" in the superclass is also true, you get ( NOT <predicate> ).  If attribute "notParen" in the superclass is true, you get NOT ( NOT <predicate> ).
		    
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "hasSelectivity"
		    quid       	"3B3B7EF800D1"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "selectivityValue"
		    quid       	"3B3B7F0F017E"
		    type       	"Integer"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "SearchConditionCombined"
	    quid       	"3B37F1CF032C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37F1F101C3"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "combinedOperator"
		    quid       	"3B3A0FFB0316"
		    type       	"SearchConditionCombinedOperator"
		    quidu      	"3B3A0FC50214"
		    exportControl 	"Public")))
	(object Class "OrderByValueExpression"
	    quid       	"3B37F35A0212"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D165700D4"
		    supplier   	"Logical View::SQLQueryModel::OrderBySpecification"
		    quidu      	"404D14E20381")))
	(object Class "QueryCombined"
	    quid       	"3B37F42D0189"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37F464012E"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "combinedOperator"
		    quid       	"3B3A1FAD0237"
		    type       	"QueryCombinedOperator"
		    quidu      	"3B3A1F54022F"
		    exportControl 	"Public")))
	(object Class "QuerySelect"
	    quid       	"3B37F44F02C8"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37F4610260"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "distinct"
		    quid       	"3B3A0DA101EE"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "GroupingSpecification"
	    quid       	"3B37F63D0369"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404CF96100D3"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    abstract   	TRUE)
	(object Class "QueryResultSpecification"
	    quid       	"3B37F66102FD"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404E2B7E0181"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    abstract   	TRUE)
	(object Class "ResultTableAllColumns"
	    quid       	"3B37F93B0085"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37F953033D"
		    supplier   	"Logical View::SQLQueryModel::QueryResultSpecification"
		    quidu      	"3B37F66102FD")))
	(object Class "ResultColumn"
	    quid       	"3B37F947006F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37F95502F0"
		    supplier   	"Logical View::SQLQueryModel::QueryResultSpecification"
		    quidu      	"3B37F66102FD")))
	(object Class "PredicateBasic"
	    quid       	"3B37FA6F011F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FAEB00EB"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "comparisonOperator"
		    quid       	"3B3A0B9200B0"
		    type       	"PredicateComparisonOperator"
		    quidu      	"3B3A0A6F00D9"
		    exportControl 	"Public")))
	(object Class "PredicateQuantified"
	    quid       	"3B37FA7E008A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FAED0039"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C"))
	    abstract   	TRUE)
	(object Class "PredicateBetween"
	    quid       	"3B37FA98004B"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FAF0028D"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "notBetween"
		    quid       	"3B3A0C65015D"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "PredicateExists"
	    quid       	"3B37FAA50158"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FAF302C3"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C")))
	(object Class "PredicateIn"
	    quid       	"3B37FAB303B1"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FAF90376"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "notIn"
		    quid       	"3B3A0C83000C"
		    type       	"boolean"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "PredicateLike"
	    quid       	"3B37FAC702A2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FAFC0095"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "notLike"
		    quid       	"3B3A0CA5019B"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "PredicateIsNull"
	    quid       	"3B37FAD50324"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FAFF02CA"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "notNull"
		    quid       	"3B3A0CE2026B"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "PredicateQuantifiedValueSelect"
	    quid       	"3B37FB9C03C0"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FBCF0360"
		    supplier   	"Logical View::SQLQueryModel::PredicateQuantified"
		    quidu      	"3B37FA7E008A"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "quantifiedType"
		    quid       	"3B3A0AE50025"
		    type       	"PredicateQuantifiedType"
		    quidu      	"3B3A0500009D"
		    exportControl 	"Public")
		(object ClassAttribute "comparisonOperator"
		    quid       	"3B3A0B0C02F2"
		    type       	"PredicateComparisonOperator"
		    quidu      	"3B3A0A6F00D9"
		    exportControl 	"Public")))
	(object Class "PredicateQuantifiedRowSelect"
	    quid       	"3B37FBB7024D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FBD201F1"
		    supplier   	"Logical View::SQLQueryModel::PredicateQuantified"
		    quidu      	"3B37FA7E008A"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "quantifiedType"
		    quid       	"3B3A0BC60123"
		    type       	"PredicateQuantifiedType"
		    quidu      	"3B3A0500009D"
		    exportControl 	"Public")))
	(object Class "PredicateInValueSelect"
	    quid       	"3B37FBE4017F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FC2D01A2"
		    supplier   	"Logical View::SQLQueryModel::PredicateIn"
		    quidu      	"3B37FAB303B1")))
	(object Class "PredicateInValueList"
	    quid       	"3B37FBF403E5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FC2A039C"
		    supplier   	"Logical View::SQLQueryModel::PredicateIn"
		    quidu      	"3B37FAB303B1")))
	(object Class "PredicateInValueRowSelect"
	    quid       	"3B37FC0B03C0"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B37FC31016C"
		    supplier   	"Logical View::SQLQueryModel::PredicateIn"
		    quidu      	"3B37FAB303B1")))
	(object Class "ValueExpressionSimple"
	    quid       	"3B389E9103C5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D00100110"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"3B3A11EB01F7"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "ValueExpressionColumn"
	    quid       	"3B389EAF00BB"
	    documentation 	"This is a VEC"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D003D00C4"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4")))
	(object Class "ValueExpressionVariable"
	    quid       	"3B389EC5029D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D00350311"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4")))
	(object Class "ValueExpressionScalarSelect"
	    quid       	"3B389EE1015D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D0046023A"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4")))
	(object Class "ValueExpressionLabeledDuration"
	    quid       	"3B389EF70385"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D00230320"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "labeledDurationType"
		    quid       	"3B3A625801E8"
		    type       	"ValueExpressionLabeledDurationType"
		    quidu      	"3B3A62830230"
		    exportControl 	"Public")))
	(object Class "ValueExpressionCase"
	    quid       	"3B389F19026C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D0086030E"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4"))
	    abstract   	TRUE)
	(object Class "ValueExpressionCast"
	    quid       	"3B389F33029B"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D005E0021"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4")))
	(object Class "ValueExpressionNullValue"
	    quid       	"3B389F460086"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D00650216"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4")))
	(object Class "ValueExpressionDefaultValue"
	    quid       	"3B389F5E013E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D007200FC"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4")))
	(object Class "ValueExpressionFunction"
	    quid       	"3B389F78002D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D0054037A"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionAtomic"
		    quidu      	"404CFF9003B4"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "specialRegister"
		    quid       	"3B3A167402DD"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "distinct"
		    quid       	"3C5F00D1036B"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "columnFunction"
		    quid       	"3C5F011003C6"
		    type       	"boolean"
		    exportControl 	"Public")))
	(object Class "ValueExpressionCombined"
	    quid       	"3B389F8603D1"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A03D0153"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "combinedOperator"
		    quid       	"3B3A601100FA"
		    type       	"ValueExpressionCombinedOperator"
		    quidu      	"3B3A5E3B0357"
		    exportControl 	"Public")))
	(object Class "GroupingSets"
	    quid       	"3B38A4DC01A4"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A50302FF"
		    supplier   	"Logical View::SQLQueryModel::GroupingSpecification"
		    quidu      	"3B37F63D0369")))
	(object Class "Grouping"
	    quid       	"3B38A4EC0266"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A506030D"
		    supplier   	"Logical View::SQLQueryModel::GroupingSpecification"
		    quidu      	"3B37F63D0369"))
	    abstract   	TRUE)
	(object Class "GroupingSetsElement"
	    quid       	"3B38A510018B"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404CF96B0377"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    abstract   	TRUE)
	(object Class "GroupingSetsElementSublist"
	    quid       	"3B38A54D0297"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A57C03CB"
		    supplier   	"Logical View::SQLQueryModel::GroupingSetsElement"
		    quidu      	"3B38A510018B")))
	(object Class "GroupingSetsElementExpression"
	    quid       	"3B38A56901C5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A57F0040"
		    supplier   	"Logical View::SQLQueryModel::GroupingSetsElement"
		    quidu      	"3B38A510018B")))
	(object Class "SuperGroup"
	    quid       	"3B38A6570326"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A67601B8"
		    supplier   	"Logical View::SQLQueryModel::Grouping"
		    quidu      	"3B38A4EC0266"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "superGroupType"
		    quid       	"3B39FDB60343"
		    type       	"SuperGroupType"
		    quidu      	"3B39FEAC03A1"
		    exportControl 	"Public")))
	(object Class "GroupingExpression"
	    quid       	"3B38A6670094"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A679000E"
		    supplier   	"Logical View::SQLQueryModel::Grouping"
		    quidu      	"3B38A4EC0266")))
	(object Class "SuperGroupElement"
	    quid       	"3B38A6870389"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404CF9D0014B"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    abstract   	TRUE)
	(object Class "SuperGroupElementSublist"
	    quid       	"3B38A6A1037C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A6C40391"
		    supplier   	"Logical View::SQLQueryModel::SuperGroupElement"
		    quidu      	"3B38A6870389")))
	(object Class "SuperGroupElementExpression"
	    quid       	"3B38A6AF026E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A6C70074"
		    supplier   	"Logical View::SQLQueryModel::SuperGroupElement"
		    quidu      	"3B38A6870389")))
	(object Class "ValueExpressionCaseSearch"
	    quid       	"3B38A8D00055"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A92E00B4"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCase"
		    quidu      	"3B389F19026C")))
	(object Class "ValueExpressionCaseSimple"
	    quid       	"3B38A8EF0082"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3B38A93003BA"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCase"
		    quidu      	"3B389F19026C")))
	(object Class "ValueExpressionCaseElse"
	    quid       	"3B38A90D01A7"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D07300361"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "ValueExpressionCaseSearchContent"
	    quid       	"3B38A9A7034D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D08840021"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "ValueExpressionCaseSimpleContent"
	    quid       	"3B38A9C1019C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D086F0338"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "SuperGroupType"
	    quid       	"3B39FEAC03A1"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "CUBE"
		    quid       	"404C388500E6"
		    exportControl 	"Public")
		(object ClassAttribute "GRANDTOTAL"
		    quid       	"404C388F01F9"
		    exportControl 	"Public")
		(object ClassAttribute "ROLLUP"
		    quid       	"404C393003E5"
		    exportControl 	"Public")))
	(object Class "PredicateQuantifiedType"
	    quid       	"3B3A0500009D"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "SOME"
		    quid       	"404C4FBA0266"
		    exportControl 	"Public")
		(object ClassAttribute "ANY"
		    quid       	"404C4FBF00BE"
		    exportControl 	"Public")
		(object ClassAttribute "ALL"
		    quid       	"404C4FC30060"
		    exportControl 	"Public")))
	(object Class "PredicateComparisonOperator"
	    quid       	"3B3A0A6F00D9"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "EQUAL"
		    quid       	"404C4FFB0038"
		    exportControl 	"Public")
		(object ClassAttribute "NOT_EQUAL"
		    quid       	"404C4FFF02BF"
		    exportControl 	"Public")
		(object ClassAttribute "LESS_THAN"
		    quid       	"404C500D019D"
		    exportControl 	"Public")
		(object ClassAttribute "GREATER_THAN"
		    quid       	"404C5013035E"
		    exportControl 	"Public")
		(object ClassAttribute "LESS_THAN_OR_EQUAL"
		    quid       	"404C501E027E"
		    exportControl 	"Public")
		(object ClassAttribute "GREATER_THAN_OR_EQUAL"
		    quid       	"404C5025013D"
		    exportControl 	"Public")))
	(object Class "SearchConditionCombinedOperator"
	    quid       	"3B3A0FC50214"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "AND"
		    quid       	"404C519C004C"
		    exportControl 	"Public")
		(object ClassAttribute "OR"
		    quid       	"404C51A002B5"
		    exportControl 	"Public")))
	(object Class "TableJoinedOperator"
	    quid       	"3B3A10F70322"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "DEFAULT_INNER"
		    quid       	"4049232D006E"
		    exportControl 	"Public")
		(object ClassAttribute "EXPLICIT_INNER"
		    quid       	"4049233501BA"
		    exportControl 	"Public")
		(object ClassAttribute "LEFT_OUTER"
		    quid       	"404923460218"
		    exportControl 	"Public")
		(object ClassAttribute "RIGHT_OUTER"
		    quid       	"4049234B0284"
		    exportControl 	"Public")
		(object ClassAttribute "FULL_OUTER"
		    quid       	"40492353025D"
		    exportControl 	"Public")))
	(object Class "QueryCombinedOperator"
	    quid       	"3B3A1F54022F"
	    documentation 	
|UNION=1
|UNION_ALL=2
|INTERSECT=3
|INTERSECT_ALL=4
|EXCEPT=5
|EXCEPT_ALL=6
	    
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "UNION"
		    quid       	"4049175800CC"
		    exportControl 	"Public")
		(object ClassAttribute "UNION_ALL"
		    quid       	"4049177101D7"
		    exportControl 	"Public")
		(object ClassAttribute "INTERSECT"
		    quid       	"4049178B02ED"
		    exportControl 	"Public")
		(object ClassAttribute "INTERSECT_ALL"
		    quid       	"404917940028"
		    exportControl 	"Public")
		(object ClassAttribute "EXCEPT"
		    quid       	"4049179D01E4"
		    exportControl 	"Public")
		(object ClassAttribute "EXCEPT_ALL"
		    quid       	"404917A20213"
		    exportControl 	"Public")))
	(object Class "ValueExpressionUnaryOperator"
	    quid       	"3B3A5E0F015F"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "NONE"
		    quid       	"404D097D0065"
		    exportControl 	"Public")
		(object ClassAttribute "PLUS"
		    quid       	"404D0987015A"
		    exportControl 	"Public")
		(object ClassAttribute "MINUS"
		    quid       	"404D098B00DD"
		    exportControl 	"Public")))
	(object Class "ValueExpressionCombinedOperator"
	    quid       	"3B3A5E3B0357"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "ADD"
		    quid       	"404CE20400FB"
		    exportControl 	"Public")
		(object ClassAttribute "SUBTRACT"
		    quid       	"404CE20800D9"
		    exportControl 	"Public")
		(object ClassAttribute "MULTIPLY"
		    quid       	"404CE20C037D"
		    exportControl 	"Public")
		(object ClassAttribute "DIVIDE"
		    quid       	"404CE2120209"
		    exportControl 	"Public")
		(object ClassAttribute "CONCATENATE"
		    quid       	"404CE2160183"
		    exportControl 	"Public")))
	(object Class "ValueExpressionLabeledDurationType"
	    quid       	"3B3A62830230"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "YEARS"
		    quid       	"404CE14E0153"
		    exportControl 	"Public")
		(object ClassAttribute "MONTHS"
		    quid       	"404CE143011B"
		    exportControl 	"Public")
		(object ClassAttribute "DAYS"
		    quid       	"404CE12301F2"
		    exportControl 	"Public")
		(object ClassAttribute "HOURS"
		    quid       	"404CE12900F6"
		    exportControl 	"Public")
		(object ClassAttribute "MINUTES"
		    quid       	"404CE13E01B5"
		    exportControl 	"Public")
		(object ClassAttribute "SECONDS"
		    quid       	"404CE148010F"
		    exportControl 	"Public")
		(object ClassAttribute "MICROSECONDS"
		    quid       	"404CE1320398"
		    exportControl 	"Public")))
	(object Class "TableInDatabase"
	    quid       	"3BF3D3560327"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3BF3D3DA011E"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288")))
	(object Class "TableFunction"
	    quid       	"3BF3D3E801A0"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3BF3D3F70129"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288")))
	(object Class "SQLQueryObject"
	    quid       	"4046839E02AB"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404683B902A0"
		    supplier   	"Logical View::SQLModel::Schema::SQLObject"
		    quidu      	"3E9B3EB5002B"))
	    operations 	(list Operations
		(object Operation "getSQL"
		    quid       	"404776F300CD"
		    result     	"String"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setSQL"
		    quid       	"4193EFDF01E7"
		    parameters 	(list Parameters
			(object Parameter "sqlText"
			    quid       	"4193EFF503DE"
			    type       	"String"))
		    result     	"void"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    abstract   	TRUE)
	(object Class "QueryChangeStatement"
	    quid       	"40490E600298"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40490EDD0342"
		    supplier   	"Logical View::SQLQueryModel::QueryStatement"
		    quidu      	"3B3785180139")
		(object Inheritance_Relationship
		    quid       	"40490F930040"
		    supplier   	"Logical View::SQLModel::Statements::SQLDataChangeStatement"
		    quidu      	"40490973001D"))
	    abstract   	TRUE)
	(object Class "ColumnName"
	    quid       	"4049226F035A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404923E20186"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "TableNested"
	    quid       	"404924F0038D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40492517032F"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178")))
	(object Class "QueryMergeStatement"
	    quid       	"404C2AAB0232"
	    documentation 	
|SQL syntax:
|MERGE INTO <target table> [ [ AS] <merge correlation name> ]
|USING <table reference>
|ON <search condition> 
|<merge operation specificaion list>
|
|where:
|<merge operation specification list> ::=
|    <merge operation specification> [<merge operation specification ...]
|<merge operation specification> ::=
|    <merge update specification>  |  <merge insert specification>
|
|Note: a non-syntactic rule is that the operation specification list can contain at most one update specification and one insert specification.
|
|Example:
|MERGE INTO inventory AS in
|USING 
|  (SELECT partno, description, count 
|   FROM shipment
|   WHERE shipment.partno IS NOT NULL) AS sh
|ON (in.partno = sh.partno)
|WHEN MATCHED THEN
|   UPDATE SET
|        description = sh.description,
|        quantity = in.quantity + sh.count
|WHEN NOT MATCHED THEN
|    INSERT (partno, description, quantity)
|    VALUES (sh.partno, sh.description, sh.count) 
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404C2AD802CD"
		    supplier   	"Logical View::SQLQueryModel::QueryChangeStatement"
		    quidu      	"40490E600298")))
	(object Class "SearchConditionNested"
	    quid       	"404C491D033E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404C4949003E"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224")))
	(object Class "ValueExpressionNested"
	    quid       	"404CFF7601CC"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D00AA0067"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "ValueExpressionAtomic"
	    quid       	"404CFF9003B4"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D00B20108"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"))
	    abstract   	TRUE)
	(object Class "OrderBySpecification"
	    quid       	"404D14E20381"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D177802CE"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "descending"
		    quid       	"404D15D90390"
		    type       	"boolean"
		    exportControl 	"Public")
		(object ClassAttribute "OrderingSpecOption"
		    quid       	"435960AB0302"
		    type       	"OrderingSpecType"
		    quidu      	"43596054009A"
		    exportControl 	"Public")
		(object ClassAttribute "NullOrderingOption"
		    quid       	"435960E503C4"
		    type       	"NullOrderingType"
		    quidu      	"43595F9F031B"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "OrderByOrdinal"
	    quid       	"404D1615021A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"404D164E0244"
		    supplier   	"Logical View::SQLQueryModel::OrderBySpecification"
		    quidu      	"404D14E20381"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "ordinalValue"
		    quid       	"404D18240069"
		    type       	"int"
		    exportControl 	"Public")))
	(object Class "TableCorrelation"
	    quid       	"412F8BD80253"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"412F9AEA0288"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "UpdateSource"
	    quid       	"4176D9920095"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"417D47620183"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "UpdateSourceExprList"
	    quid       	"4176DB070150"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4176DB1E0118"
		    supplier   	"Logical View::SQLQueryModel::UpdateSource"
		    quidu      	"4176D9920095")))
	(object Class "UpdateSourceQuery"
	    quid       	"4176DB2502C7"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4176DB3500B8"
		    supplier   	"Logical View::SQLQueryModel::UpdateSource"
		    quidu      	"4176D9920095")))
	(object Class "OrderByResultColumn"
	    quid       	"41AB8B39017F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"41AB8B390193"
		    supplier   	"Logical View::SQLQueryModel::OrderBySpecification"
		    quidu      	"404D14E20381")))
	(object Class "WithTableReference"
	    quid       	"41F971470060"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"41F9736403D7"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288")))
	(object Class "NullOrderingType"
	    quid       	"43595F9F031B"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "NONE"
		    quid       	"4359602403C6"
		    exportControl 	"Public")
		(object ClassAttribute "NULLS_FIRST"
		    quid       	"4359600E02FC"
		    exportControl 	"Public")
		(object ClassAttribute "NULLS_LAST"
		    quid       	"4359601A03CC"
		    exportControl 	"Public")))
	(object Class "OrderingSpecType"
	    quid       	"43596054009A"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "NONE"
		    quid       	"435960820349"
		    exportControl 	"Public")
		(object ClassAttribute "ASC"
		    quid       	"435960720075"
		    exportControl 	"Public")
		(object ClassAttribute "DESC"
		    quid       	"4359607903BE"
		    exportControl 	"Public")))
	(object Class "QueryNested"
	    quid       	"4445534B01A5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4445535D0014"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC")))
	(object Class "ValueExpressionRow"
	    quid       	"486BD0B001FE"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"486BD0EC01DE"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "MergeTargetTable"
	    quid       	"49717CEF01B5"
	    documentation 	
|SQL syntax:
|<target table> [[AS] <merge correlation name>]
|
|where:
|<target table> is a simple or qualified table name.
|<merge correlation name> is a simple identifier
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"49718C4D0119"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "MergeSourceTable"
	    quid       	"49717F4B0271"
	    documentation 	
|SQL syntax:
|<table reference>
|
|The source table reference can be a table name, a query (SELECT expression), a joined table, a table function...
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"49718C5002FD"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "MergeOnCondition"
	    quid       	"4971822C0148"
	    documentation 	
|SQL syntax:
|<search condition>
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"49718C5501E4"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "MergeUpdateSpecification"
	    quid       	"4971844B003E"
	    documentation 	
|SQL syntax:
|WHEN MATCHED THEN UPDATE SET <set clause list>
|
|where
|<set clause list> is a list of assignement expressions, such as 
|  description = sh.description
|
|The assignment expression list is modelled as a list of UpdateAssignementExpression objects, which in the general case can have a query exrpession as the assignement source, but for Merge only simple assignment list is allowed.
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"498A42D50148"
		    supplier   	"Logical View::SQLQueryModel::MergeOperationSpecification"
		    quidu      	"498A415902FD")))
	(object Class "MergeInsertSpecification"
	    quid       	"497185E60242"
	    documentation 	
|SQL syntax:
|WHEN NOT MATCHED THEN 
|INSERT <target column list> 
|VALUES <insert value list>
|
|where
|<target column list> is a simple list of column names
|<insert value list> is a list of value expressions
|
|Note that the MergeInsertSpecification object does not "own" the column objects in the target column list.  They are "owned" by the table object in the MergeTargetTable
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"498A42D90271"
		    supplier   	"Logical View::SQLQueryModel::MergeOperationSpecification"
		    quidu      	"498A415902FD")))
	(object Class "MergeOperationSpecification"
	    quid       	"498A415902FD"
	    documentation 	
|SQL syntax:
|<merge update specification>  |  <merge insert specification>
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"498A4354034B"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "UpdateOfColumn"
	    quid       	"49C49424033C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"49C4946702FD"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "UpdatabilityType"
	    quid       	"49C6948D0242"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "READ_ONLY"
		    quid       	"49C6956500DA"
		    exportControl 	"Public")
		(object ClassAttribute "UPDATE"
		    quid       	"49C695890000"
		    exportControl 	"Public")))
	(object Class "UpdatabilityExpression"
	    quid       	"49C69615004E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"49C6965C000F"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "updatabilityType"
		    quid       	"49C6967C0213"
		    type       	"UpdatabilityType"
		    quidu      	"49C6948D0242"
		    exportControl 	"Public")))
	(object Class "CallStatement"
	    quid       	"4B50CD41004E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4B50CD550213"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")
		(object Inheritance_Relationship
		    quid       	"4B50CD59037A"
		    supplier   	"Logical View::SQLModel::Statements::SQLControlStatement"
		    quidu      	"4049095A0220")))
	(object Class "ProcedureReference"
	    quid       	"4BC79E0202DE"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4BC79E290203"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "TableQueryLateral"
	    quid       	"4E98855000BB"
	    documentation 	
|A "lateral" table query is a query that appears in the FROM clause.  However it is semantically different from a regular FROM clause query in that the lateral table query can itself contain references to other tables defined before (that is, to the left of it) in the same FROM clause.  Regular FROM clause queries can only refer to tables defined at a higher level in the statement.  In ISO SQL a lateral table query expression is prefixed by the keyword LATERAL.  (The DB2 SQL dialects prefix the lateral query table with the keyword TABLE.)
|
|For example, here is a statement containing a lateral table query expression:
|
|SELECT d.dept_name, e.emp_name
|  FROM dept d, LATERAL( 
|    SELECT emp_id, emp_name
|    FROM emp
|    WHERE emp_dept = d.dept_id ) as e
|
|The reference to d.dept_id is legal in a lateral table query, but would not be legal in a regular table query expression.
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4E98856A034B"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288")))
	(object Association "$UNNAMED$0"
	    quid       	"3B37928901A5"
	    roles      	(list role_list
		(object Role "updateStatement"
		    quid       	"3B37928A002A"
		    label      	"updateStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryUpdateStatement"
		    quidu      	"3B3785760076"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "assignmentClause"
		    quid       	"3B37928A0034"
		    label      	"assignmentClause"
		    supplier   	"Logical View::SQLQueryModel::UpdateAssignmentExpression"
		    quidu      	"3B378BF6015F"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$1"
	    quid       	"3B37928B0298"
	    roles      	(list role_list
		(object Role "updateStatement"
		    quid       	"3B37928C009B"
		    label      	"updateStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryUpdateStatement"
		    quidu      	"3B3785760076"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "whereCurrentOfClause"
		    quid       	"3B37928C00A5"
		    label      	"whereCurrentOfClause"
		    supplier   	"Logical View::SQLQueryModel::CursorReference"
		    quidu      	"3B378C08021A"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$2"
	    quid       	"3B37928F0153"
	    roles      	(list role_list
		(object Role "updateStatement"
		    quid       	"3B37928F0352"
		    label      	"updateStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryUpdateStatement"
		    quidu      	"3B3785760076"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "whereClause"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B37928F035C"
		    label      	"whereClause"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$3"
	    quid       	"3B3792910387"
	    roles      	(list role_list
		(object Role "updateStatement"
		    attributes 	(list Attribute_Set)
		    quid       	"3B379292028E"
		    label      	"updateStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryUpdateStatement"
		    quidu      	"3B3785760076"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "targetTable"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B3792920298"
		    label      	"targetTable"
		    supplier   	"Logical View::SQLQueryModel::TableInDatabase"
		    quidu      	"3BF3D3560327"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$4"
	    quid       	"3B37935D03C6"
	    roles      	(list role_list
		(object Role "assignmentExprTarget"
		    quid       	"3B37935E01D3"
		    label      	"assignmentExprTarget"
		    supplier   	"Logical View::SQLQueryModel::UpdateAssignmentExpression"
		    quidu      	"3B378BF6015F"
		    is_navigable 	TRUE)
		(object Role "targetColumnList"
		    quid       	"3B37935E01DD"
		    label      	"targetColumnList"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionColumn"
		    quidu      	"3B389EAF00BB"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$5"
	    quid       	"3B3795650049"
	    roles      	(list role_list
		(object Role "deleteStatement"
		    quid       	"3B379565025C"
		    label      	"deleteStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryDeleteStatement"
		    quidu      	"3B378546017C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "whereCurrentOfClause"
		    quid       	"3B3795650266"
		    label      	"whereCurrentOfClause"
		    supplier   	"Logical View::SQLQueryModel::CursorReference"
		    quidu      	"3B378C08021A"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$6"
	    quid       	"3B3795670010"
	    roles      	(list role_list
		(object Role "deleteStatement"
		    quid       	"3B379567018C"
		    label      	"deleteStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryDeleteStatement"
		    quidu      	"3B378546017C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "whereClause"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B3795670196"
		    label      	"whereClause"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$7"
	    quid       	"3B379568031E"
	    roles      	(list role_list
		(object Role "deleteStatement"
		    quid       	"3B3795690167"
		    label      	"deleteStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryDeleteStatement"
		    quidu      	"3B378546017C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "targetTable"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B3795690171"
		    label      	"targetTable"
		    supplier   	"Logical View::SQLQueryModel::TableInDatabase"
		    quidu      	"3BF3D3560327"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$8"
	    quid       	"3B37973E0021"
	    roles      	(list role_list
		(object Role "insertStatement"
		    quid       	"3B37973E02AC"
		    label      	"insertStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryInsertStatement"
		    quidu      	"3B3785520223"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "sourceQuery"
		    quid       	"3B37973E02B6"
		    label      	"sourceQuery"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$9"
	    quid       	"3B37974000CE"
	    roles      	(list role_list
		(object Role "insertStatement"
		    quid       	"3B3797400309"
		    label      	"insertStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryInsertStatement"
		    quidu      	"3B3785520223"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "sourceValuesRowList"
		    quid       	"3B379740030B"
		    label      	"sourceValuesRowList"
		    supplier   	"Logical View::SQLQueryModel::ValuesRow"
		    quidu      	"3B3796910130"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$10"
	    quid       	"3B3797480120"
	    roles      	(list role_list
		(object Role "insertStatement"
		    attributes 	(list Attribute_Set)
		    quid       	"3B3797480396"
		    label      	"insertStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryInsertStatement"
		    quidu      	"3B3785520223"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "targetTable"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B37974803AB"
		    label      	"targetTable"
		    supplier   	"Logical View::SQLQueryModel::TableInDatabase"
		    quidu      	"3BF3D3560327"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$11"
	    quid       	"3B37974E00C4"
	    roles      	(list role_list
		(object Role "valuesRow"
		    quid       	"3B37974E02D7"
		    label      	"valuesRow"
		    supplier   	"Logical View::SQLQueryModel::ValuesRow"
		    quidu      	"3B3796910130"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "exprList"
		    quid       	"3B37974E02D9"
		    label      	"exprList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$12"
	    quid       	"3B37EF760210"
	    roles      	(list role_list
		(object Role "tableJoined"
		    quid       	"3B37EF770117"
		    label      	"tableJoined"
		    supplier   	"Logical View::SQLQueryModel::TableJoined"
		    quidu      	"3B37EEB00323"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "joinCondition"
		    quid       	"3B37EF770121"
		    label      	"joinCondition"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$13"
	    quid       	"3B37EFFB0315"
	    roles      	(list role_list
		(object Role "tableJoinedRight"
		    quid       	"3B37EFFD01CE"
		    label      	"tableJoinedRight"
		    supplier   	"Logical View::SQLQueryModel::TableJoined"
		    quidu      	"3B37EEB00323"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "tableRefRight"
		    quid       	"3B37EFFD01D8"
		    label      	"tableRefRight"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$14"
	    quid       	"3B37F011008C"
	    roles      	(list role_list
		(object Role "tableJoinedLeft"
		    quid       	"3B37F01200E8"
		    label      	"tableJoinedLeft"
		    supplier   	"Logical View::SQLQueryModel::TableJoined"
		    quidu      	"3B37EEB00323"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "tableRefLeft"
		    quid       	"3B37F01200F2"
		    label      	"tableRefLeft"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$15"
	    quid       	"3B37F2020023"
	    roles      	(list role_list
		(object Role "combinedLeft"
		    quid       	"3B37F203013C"
		    label      	"combinedLeft"
		    supplier   	"Logical View::SQLQueryModel::SearchConditionCombined"
		    quidu      	"3B37F1CF032C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "leftCondition"
		    quid       	"3B37F2030147"
		    label      	"leftCondition"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$16"
	    quid       	"3B37F20B027E"
	    roles      	(list role_list
		(object Role "combinedRight"
		    quid       	"3B37F20C0262"
		    label      	"combinedRight"
		    supplier   	"Logical View::SQLQueryModel::SearchConditionCombined"
		    quidu      	"3B37F1CF032C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "rightCondition"
		    quid       	"3B37F20C0264"
		    label      	"rightCondition"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$17"
	    quid       	"3B37F3F302B2"
	    roles      	(list role_list
		(object Role "selectStatement"
		    quid       	"3B37F3F400A1"
		    label      	"selectStatement"
		    supplier   	"Logical View::SQLQueryModel::QuerySelectStatement"
		    quidu      	"3B37856000BB"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "queryExpr"
		    quid       	"3B37F3F400A3"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$18"
	    quid       	"3B37F3F503CD"
	    roles      	(list role_list
		(object Role "selectStatement"
		    quid       	"3B37F3F6018A"
		    label      	"selectStatement"
		    supplier   	"Logical View::SQLQueryModel::QuerySelectStatement"
		    quidu      	"3B37856000BB"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "orderByClause"
		    quid       	"3B37F3F60194"
		    label      	"orderByClause"
		    supplier   	"Logical View::SQLQueryModel::OrderBySpecification"
		    quidu      	"404D14E20381"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$19"
	    quid       	"3B37F3F80183"
	    roles      	(list role_list
		(object Role "orderByValueExpr"
		    quid       	"3B37F3F80350"
		    label      	"orderByValueExpr"
		    supplier   	"Logical View::SQLQueryModel::OrderByValueExpression"
		    quidu      	"3B37F35A0212"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B37F3F80352"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$20"
	    quid       	"3B37F3FB0368"
	    roles      	(list role_list
		(object Role "queryExpressionRoot "
		    quid       	"3B37F3FC0189"
		    label      	"queryExpressionRoot "
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "withClause"
		    quid       	"3B37F3FC0193"
		    label      	"withClause"
		    supplier   	"Logical View::SQLQueryModel::WithTableSpecification"
		    quidu      	"3B37EEBD019C"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$21"
	    quid       	"3B37F408023A"
	    roles      	(list role_list
		(object Role "queryExpression"
		    quid       	"3B37F40900F1"
		    label      	"queryExpression"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "query"
		    quid       	"3B37F40900FB"
		    label      	"query"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$22"
	    quid       	"3B37F67B01C4"
	    roles      	(list role_list
		(object Role "querySelectHaving"
		    quid       	"3B37F67C007B"
		    label      	"querySelectHaving"
		    supplier   	"Logical View::SQLQueryModel::QuerySelect"
		    quidu      	"3B37F44F02C8"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "havingClause"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B37F67C0085"
		    label      	"havingClause"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$23"
	    quid       	"3B37F67E0204"
	    roles      	(list role_list
		(object Role "querySelectWhere"
		    quid       	"3B37F67F013D"
		    label      	"querySelectWhere"
		    supplier   	"Logical View::SQLQueryModel::QuerySelect"
		    quidu      	"3B37F44F02C8"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "whereClause"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B37F67F013F"
		    label      	"whereClause"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$24"
	    quid       	"3B37F6880259"
	    roles      	(list role_list
		(object Role "querySelect"
		    quid       	"3B37F6890174"
		    label      	"querySelect"
		    supplier   	"Logical View::SQLQueryModel::QuerySelect"
		    quidu      	"3B37F44F02C8"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "groupByClause"
		    quid       	"3B37F6890176"
		    label      	"groupByClause"
		    supplier   	"Logical View::SQLQueryModel::GroupingSpecification"
		    quidu      	"3B37F63D0369"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$25"
	    quid       	"3B37F6900264"
	    roles      	(list role_list
		(object Role "querySelect"
		    quid       	"3B37F69102CA"
		    label      	"querySelect"
		    supplier   	"Logical View::SQLQueryModel::QuerySelect"
		    quidu      	"3B37F44F02C8"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "selectClause"
		    quid       	"3B37F69102CC"
		    label      	"selectClause"
		    supplier   	"Logical View::SQLQueryModel::QueryResultSpecification"
		    quidu      	"3B37F66102FD"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$26"
	    quid       	"3B37F69401CA"
	    roles      	(list role_list
		(object Role "querySelect"
		    quid       	"3B37F69403B4"
		    label      	"querySelect"
		    supplier   	"Logical View::SQLQueryModel::QuerySelect"
		    quidu      	"3B37F44F02C8"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "fromClause"
		    quid       	"3B37F69403BE"
		    label      	"fromClause"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$27"
	    quid       	"3B37F9D90051"
	    roles      	(list role_list
		(object Role "resultColumn"
		    quid       	"3B37F9D901AF"
		    label      	"resultColumn"
		    supplier   	"Logical View::SQLQueryModel::ResultColumn"
		    quidu      	"3B37F947006F"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B37F9D901B1"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$28"
	    quid       	"3B37FB2D01EA"
	    roles      	(list role_list
		(object Role "basicRight"
		    quid       	"3B37FB2D03A3"
		    label      	"basicRight"
		    supplier   	"Logical View::SQLQueryModel::PredicateBasic"
		    quidu      	"3B37FA6F011F"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "rightValueExpr"
		    quid       	"3B37FB2D03A5"
		    label      	"rightValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$29"
	    quid       	"3B37FB2F0215"
	    roles      	(list role_list
		(object Role "basicLeft"
		    quid       	"3B37FB2F03CE"
		    label      	"basicLeft"
		    supplier   	"Logical View::SQLQueryModel::PredicateBasic"
		    quidu      	"3B37FA6F011F"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "leftValueExpr"
		    quid       	"3B37FB2F03D0"
		    label      	"leftValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$30"
	    quid       	"3B37FB5501D4"
	    roles      	(list role_list
		(object Role "likePattern"
		    quid       	"3B37FB550396"
		    label      	"likePattern"
		    supplier   	"Logical View::SQLQueryModel::PredicateLike"
		    quidu      	"3B37FAC702A2"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "patternValueExpr"
		    quid       	"3B37FB550398"
		    label      	"patternValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$31"
	    quid       	"3B37FB580282"
	    roles      	(list role_list
		(object Role "likeMatching"
		    quid       	"3B37FB59003F"
		    label      	"likeMatching"
		    supplier   	"Logical View::SQLQueryModel::PredicateLike"
		    quidu      	"3B37FAC702A2"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "matchingValueExpr"
		    quid       	"3B37FB590049"
		    label      	"matchingValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$32"
	    quid       	"3B37FB600107"
	    roles      	(list role_list
		(object Role "predicateNull"
		    quid       	"3B37FB6002E8"
		    label      	"predicateNull"
		    supplier   	"Logical View::SQLQueryModel::PredicateIsNull"
		    quidu      	"3B37FAD50324"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B37FB6002F2"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$33"
	    quid       	"3B37FCD10176"
	    roles      	(list role_list
		(object Role "inValueListRight"
		    quid       	"3B37FCD20005"
		    label      	"inValueListRight"
		    supplier   	"Logical View::SQLQueryModel::PredicateInValueList"
		    quidu      	"3B37FBF403E5"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExprList"
		    quid       	"3B37FCD20007"
		    label      	"valueExprList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$34"
	    quid       	"3B37FCD40044"
	    roles      	(list role_list
		(object Role "inValueListLeft"
		    quid       	"3B37FCD401AC"
		    label      	"inValueListLeft"
		    supplier   	"Logical View::SQLQueryModel::PredicateInValueList"
		    quidu      	"3B37FBF403E5"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B37FCD401AE"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$35"
	    quid       	"3B37FD6F00A1"
	    roles      	(list role_list
		(object Role "inValueRowSelectLeft"
		    quid       	"3B37FD6F0259"
		    label      	"inValueRowSelectLeft"
		    supplier   	"Logical View::SQLQueryModel::PredicateInValueRowSelect"
		    quidu      	"3B37FC0B03C0"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExprList"
		    quid       	"3B37FD6F0263"
		    label      	"valueExprList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$36"
	    quid       	"3B37FD710234"
	    roles      	(list role_list
		(object Role "inValueRowSelectRight"
		    quid       	"3B37FD7103A7"
		    label      	"inValueRowSelectRight"
		    supplier   	"Logical View::SQLQueryModel::PredicateInValueRowSelect"
		    quidu      	"3B37FC0B03C0"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "queryExpr"
		    quid       	"3B37FD7103B1"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$37"
	    quid       	"3B37FD7702A1"
	    roles      	(list role_list
		(object Role "inValueSelectRight"
		    quid       	"3B37FD780090"
		    label      	"inValueSelectRight"
		    supplier   	"Logical View::SQLQueryModel::PredicateInValueSelect"
		    quidu      	"3B37FBE4017F"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "queryExpr"
		    quid       	"3B37FD78009A"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$38"
	    quid       	"3B37FD79036C"
	    roles      	(list role_list
		(object Role "inValueSelectLeft"
		    quid       	"3B37FD7A0165"
		    label      	"inValueSelectLeft"
		    supplier   	"Logical View::SQLQueryModel::PredicateInValueSelect"
		    quidu      	"3B37FBE4017F"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B37FD7A016F"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$39"
	    quid       	"3B37FD810255"
	    roles      	(list role_list
		(object Role "quantifiedRowSelectRight"
		    quid       	"3B37FD820044"
		    label      	"quantifiedRowSelectRight"
		    supplier   	"Logical View::SQLQueryModel::PredicateQuantifiedRowSelect"
		    quidu      	"3B37FBB7024D"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "queryExpr"
		    quid       	"3B37FD820046"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$40"
	    quid       	"3B37FD83038F"
	    roles      	(list role_list
		(object Role "quantifiedRowSelectLeft"
		    quid       	"3B37FD840173"
		    label      	"quantifiedRowSelectLeft"
		    supplier   	"Logical View::SQLQueryModel::PredicateQuantifiedRowSelect"
		    quidu      	"3B37FBB7024D"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExprList"
		    quid       	"3B37FD840175"
		    label      	"valueExprList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$41"
	    quid       	"3B37FD8502FB"
	    roles      	(list role_list
		(object Role "quantifiedValueSelectRight"
		    quid       	"3B37FD8600D6"
		    label      	"quantifiedValueSelectRight"
		    supplier   	"Logical View::SQLQueryModel::PredicateQuantifiedValueSelect"
		    quidu      	"3B37FB9C03C0"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "queryExpr"
		    quid       	"3B37FD8600E0"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$42"
	    quid       	"3B37FD87024A"
	    roles      	(list role_list
		(object Role "quantifiedValueSelectLeft"
		    quid       	"3B37FD880010"
		    label      	"quantifiedValueSelectLeft"
		    supplier   	"Logical View::SQLQueryModel::PredicateQuantifiedValueSelect"
		    quidu      	"3B37FB9C03C0"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B37FD880012"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$43"
	    quid       	"3B37FE4D00D2"
	    roles      	(list role_list
		(object Role "betweenLeft"
		    quid       	"3B37FE4E0110"
		    label      	"betweenLeft"
		    supplier   	"Logical View::SQLQueryModel::PredicateBetween"
		    quidu      	"3B37FA98004B"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "leftValueExpr"
		    quid       	"3B37FE4E011A"
		    label      	"leftValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$44"
	    quid       	"3B37FE530185"
	    roles      	(list role_list
		(object Role "betweenRight1"
		    quid       	"3B37FE540078"
		    label      	"betweenRight1"
		    supplier   	"Logical View::SQLQueryModel::PredicateBetween"
		    quidu      	"3B37FA98004B"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "rightValueExpr1"
		    quid       	"3B37FE540083"
		    label      	"rightValueExpr1"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$45"
	    quid       	"3B37FE560229"
	    roles      	(list role_list
		(object Role "betweenRight2"
		    quid       	"3B37FE570068"
		    label      	"betweenRight2"
		    supplier   	"Logical View::SQLQueryModel::PredicateBetween"
		    quidu      	"3B37FA98004B"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "rightValueExpr2"
		    quid       	"3B37FE570072"
		    label      	"rightValueExpr2"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$46"
	    quid       	"3B38A0AF031A"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"3B38A0B00343"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueExprCast"
		    quid       	"3B38A0B00375"
		    label      	"valueExprCast"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCast"
		    quidu      	"3B389F33029B"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$47"
	    quid       	"3B38A10F0282"
	    roles      	(list role_list
		(object Role "parameterList"
		    quid       	"3B38A11800D6"
		    label      	"parameterList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueExprFunction"
		    quid       	"3B38A1180108"
		    label      	"valueExprFunction"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionFunction"
		    quidu      	"3B389F78002D"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$48"
	    quid       	"3B38A1D3032E"
	    roles      	(list role_list
		(object Role "leftValueExpr"
		    quid       	"3B38A1DD011F"
		    label      	"leftValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueExprCombinedLeft"
		    quid       	"3B38A1DD015B"
		    label      	"valueExprCombinedLeft"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCombined"
		    quidu      	"3B389F8603D1"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$49"
	    quid       	"3B38A25500FA"
	    roles      	(list role_list
		(object Role "valueExprCombinedRight"
		    quid       	"3B38A25C01FE"
		    label      	"valueExprCombinedRight"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCombined"
		    quidu      	"3B389F8603D1"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "rightValueExpr"
		    quid       	"3B38A25C0208"
		    label      	"rightValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$50"
	    quid       	"3B38A5230323"
	    roles      	(list role_list
		(object Role "groupingSets"
		    quid       	"3B38A5240112"
		    label      	"groupingSets"
		    supplier   	"Logical View::SQLQueryModel::GroupingSets"
		    quidu      	"3B38A4DC01A4"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "groupingSetsElementList"
		    quid       	"3B38A524011C"
		    label      	"groupingSetsElementList"
		    supplier   	"Logical View::SQLQueryModel::GroupingSetsElement"
		    quidu      	"3B38A510018B"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$51"
	    quid       	"3B38A5C0021A"
	    roles      	(list role_list
		(object Role "groupingSetsElementExprList"
		    quid       	"3B38A5C20368"
		    label      	"groupingSetsElementExprList"
		    supplier   	"Logical View::SQLQueryModel::GroupingSetsElementExpression"
		    quidu      	"3B38A56901C5"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "groupingSetsElementSublist"
		    quid       	"3B38A5C20372"
		    label      	"groupingSetsElementSublist"
		    supplier   	"Logical View::SQLQueryModel::GroupingSetsElementSublist"
		    quidu      	"3B38A54D0297"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$52"
	    quid       	"3B38A62A029F"
	    roles      	(list role_list
		(object Role "groupingSetsElementExpr"
		    quid       	"3B38A62C005D"
		    label      	"groupingSetsElementExpr"
		    supplier   	"Logical View::SQLQueryModel::GroupingSetsElementExpression"
		    quidu      	"3B38A56901C5"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "grouping "
		    quid       	"3B38A62C0067"
		    label      	"grouping "
		    supplier   	"Logical View::SQLQueryModel::Grouping"
		    quidu      	"3B38A4EC0266"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$53"
	    quid       	"3B38A70101E0"
	    roles      	(list role_list
		(object Role "superGroupElementSublist"
		    quid       	"3B38A7020340"
		    label      	"superGroupElementSublist"
		    supplier   	"Logical View::SQLQueryModel::SuperGroupElementSublist"
		    quidu      	"3B38A6A1037C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "superGroupElementExprList"
		    quid       	"3B38A7020342"
		    label      	"superGroupElementExprList"
		    supplier   	"Logical View::SQLQueryModel::SuperGroupElementExpression"
		    quidu      	"3B38A6AF026E"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$54"
	    quid       	"3B38A731009E"
	    roles      	(list role_list
		(object Role "superGroup"
		    quid       	"3B38A7310289"
		    label      	"superGroup"
		    supplier   	"Logical View::SQLQueryModel::SuperGroup"
		    quidu      	"3B38A6570326"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "superGroupElementList"
		    quid       	"3B38A7310293"
		    label      	"superGroupElementList"
		    supplier   	"Logical View::SQLQueryModel::SuperGroupElement"
		    quidu      	"3B38A6870389"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$55"
	    quid       	"3B38A78A002E"
	    roles      	(list role_list
		(object Role "groupingExpr"
		    quid       	"3B38A78A01FB"
		    label      	"groupingExpr"
		    supplier   	"Logical View::SQLQueryModel::GroupingExpression"
		    quidu      	"3B38A6670094"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B38A78A0205"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$56"
	    quid       	"3B38A7A50376"
	    roles      	(list role_list
		(object Role "groupingExpr"
		    quid       	"3B38A7A9015F"
		    label      	"groupingExpr"
		    supplier   	"Logical View::SQLQueryModel::GroupingExpression"
		    quidu      	"3B38A6670094"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "superGroupElementExpr"
		    quid       	"3B38A7A90169"
		    label      	"superGroupElementExpr"
		    supplier   	"Logical View::SQLQueryModel::SuperGroupElementExpression"
		    quidu      	"3B38A6AF026E"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$57"
	    quid       	"3B38A97000B9"
	    roles      	(list role_list
		(object Role "valueExprCase"
		    quid       	"3B38A9700362"
		    label      	"valueExprCase"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCase"
		    quidu      	"3B389F19026C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "caseElse"
		    quid       	"3B38A970036C"
		    label      	"caseElse"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseElse"
		    quidu      	"3B38A90D01A7"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$58"
	    quid       	"3B38AA3102F2"
	    roles      	(list role_list
		(object Role "valueExprCaseSimple"
		    quid       	"3B38AA3200EA"
		    label      	"valueExprCaseSimple"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSimple"
		    quidu      	"3B38A8EF0082"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "contentList"
		    quid       	"3B38AA3200EC"
		    label      	"contentList"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSimpleContent"
		    quidu      	"3B38A9C1019C"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$59"
	    quid       	"3B38AAA4013E"
	    roles      	(list role_list
		(object Role "valueExprCaseElse"
		    quid       	"3B38AAA50077"
		    label      	"valueExprCaseElse"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseElse"
		    quidu      	"3B38A90D01A7"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B38AAA50081"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$60"
	    quid       	"3B38AACF019A"
	    roles      	(list role_list
		(object Role "valueExprCaseSimple"
		    quid       	"3B38AAD000E7"
		    label      	"valueExprCaseSimple"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSimple"
		    quidu      	"3B38A8EF0082"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B38AAD000E9"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$61"
	    quid       	"3B38AB040128"
	    roles      	(list role_list
		(object Role "valueExprCaseSimpleContentWhen"
		    quid       	"3B38AB0800CA"
		    label      	"valueExprCaseSimpleContentWhen"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSimpleContent"
		    quidu      	"3B38A9C1019C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "whenValueExpr"
		    quid       	"3B38AB0800D4"
		    label      	"whenValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$62"
	    quid       	"3B38AB0F02BF"
	    roles      	(list role_list
		(object Role "valueExprCaseSimpleContentResult"
		    quid       	"3B38AB1201DD"
		    label      	"valueExprCaseSimpleContentResult"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSimpleContent"
		    quidu      	"3B38A9C1019C"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "resultValueExpr"
		    quid       	"3B38AB1201DF"
		    label      	"resultValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$63"
	    quid       	"3B38AB1701C6"
	    roles      	(list role_list
		(object Role "valueExprCaseSearchContent"
		    quid       	"3B38AB1903B3"
		    label      	"valueExprCaseSearchContent"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSearchContent"
		    quidu      	"3B38A9A7034D"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "valueExpr"
		    quid       	"3B38AB1903B5"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$64"
	    quid       	"3B38ABC6011D"
	    roles      	(list role_list
		(object Role "valueExprCaseSearchContent"
		    quid       	"3B38ABC60330"
		    label      	"valueExprCaseSearchContent"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSearchContent"
		    quidu      	"3B38A9A7034D"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "searchCondition"
		    quid       	"3B38ABC60332"
		    label      	"searchCondition"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$65"
	    quid       	"3B3A0F03019D"
	    roles      	(list role_list
		(object Role "combinedLeft"
		    quid       	"3B3A0F060101"
		    label      	"combinedLeft"
		    supplier   	"Logical View::SQLQueryModel::QueryCombined"
		    quidu      	"3B37F42D0189"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "leftQuery"
		    quid       	"3B3A0F06011F"
		    label      	"leftQuery"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$66"
	    quid       	"3B3A0F090214"
	    roles      	(list role_list
		(object Role "combinedRight"
		    quid       	"3B3A0F0C00CD"
		    label      	"combinedRight"
		    supplier   	"Logical View::SQLQueryModel::QueryCombined"
		    quidu      	"3B37F42D0189"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "rightQuery"
		    quid       	"3B3A0F0C00E1"
		    label      	"rightQuery"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$67"
	    quid       	"3B3A5AE7026B"
	    roles      	(list role_list
		(object Role "predicateExists"
		    quid       	"3B3A5AE800C8"
		    label      	"predicateExists"
		    supplier   	"Logical View::SQLQueryModel::PredicateExists"
		    quidu      	"3B37FAA50158"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "queryExpr"
		    quid       	"3B3A5AE800D2"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$68"
	    quid       	"3B3A5B53039D"
	    roles      	(list role_list
		(object Role "likeEscape"
		    quid       	"3B3A5B54018C"
		    label      	"likeEscape"
		    supplier   	"Logical View::SQLQueryModel::PredicateLike"
		    quidu      	"3B37FAC702A2"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "escapeValueExpr"
		    quid       	"3B3A5B54018E"
		    label      	"escapeValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$69"
	    quid       	"3B3A5BBF0226"
	    roles      	(list role_list
		(object Role "querySelect"
		    quid       	"3B3A5BC0003C"
		    label      	"querySelect"
		    supplier   	"Logical View::SQLQueryModel::QuerySelect"
		    quidu      	"3B37F44F02C8"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "intoClause"
		    quid       	"3B3A5BC00046"
		    label      	"intoClause"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionVariable"
		    quidu      	"3B389EC5029D"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$70"
	    quid       	"3B3A684C0244"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"3B3A684F0176"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueExprLabeledDuration"
		    quid       	"3B3A684F01D0"
		    label      	"valueExprLabeledDuration"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionLabeledDuration"
		    quidu      	"3B389EF70385"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$71"
	    quid       	"3B8C1E7D0239"
	    roles      	(list role_list
		(object Role "parentTableExpr"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"3B8C1E7E0168"
		    label      	"parentTableExpr"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "columnList"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"eCore"
			    name       	"isTransient"
			    value      	FALSE))
		    quid       	"3B8C1E7E0172"
		    label      	"columnList"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionColumn"
		    quidu      	"3B389EAF00BB"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$72"
	    quid       	"3BDE1A410126"
	    roles      	(list role_list
		(object Role "valueExprCaseSearch"
		    quid       	"3BDE1A4103C5"
		    label      	"valueExprCaseSearch"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSearch"
		    quidu      	"3B38A8D00055"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)
		(object Role "searchContentList"
		    quid       	"3BDE1A4103D0"
		    label      	"searchContentList"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCaseSearchContent"
		    quidu      	"3B38A9A7034D"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$73"
	    quid       	"404925200025"
	    roles      	(list role_list
		(object Role "nestedTableRef"
		    quid       	"404925230029"
		    label      	"nestedTableRef"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "nest"
		    quid       	"404925230034"
		    label      	"nest"
		    supplier   	"Logical View::SQLQueryModel::TableNested"
		    quidu      	"404924F0038D"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$74"
	    quid       	"404C4A000222"
	    roles      	(list role_list
		(object Role "nestedCondition"
		    quid       	"404C4A030384"
		    label      	"nestedCondition"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "nest"
		    quid       	"404C4A030398"
		    label      	"nest"
		    supplier   	"Logical View::SQLQueryModel::SearchConditionNested"
		    quidu      	"404C491D033E"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$75"
	    quid       	"404D1D93022C"
	    roles      	(list role_list
		(object Role "nestedValueExpr"
		    quid       	"404D1D9602EE"
		    label      	"nestedValueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "nest"
		    quid       	"404D1D960316"
		    label      	"nest"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionNested"
		    quidu      	"404CFF7601CC"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$76"
	    quid       	"412F75A3032D"
	    roles      	(list role_list
		(object Role "databaseTable "
		    quid       	"412F75A50055"
		    label      	"databaseTable "
		    supplier   	"Logical View::SQLModel::Tables::Table"
		    quidu      	"3E9B1FB60047"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$77"
		    quid       	"412F75A50073"
		    supplier   	"Logical View::SQLQueryModel::TableInDatabase"
		    quidu      	"3BF3D3560327")))
	(object Association "$UNNAMED$78"
	    quid       	"412F8CBC0208"
	    roles      	(list role_list
		(object Role "tableCorrelation"
		    quid       	"412F8CBE0297"
		    label      	"tableCorrelation"
		    supplier   	"Logical View::SQLQueryModel::TableCorrelation"
		    quidu      	"412F8BD80253"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "tableExpr"
		    quid       	"412F8CBE02BF"
		    label      	"tableExpr"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$79"
	    quid       	"412F8DAA01C1"
	    roles      	(list role_list
		(object Role "columnNameList"
		    quid       	"412F8DAB02BD"
		    label      	"columnNameList"
		    supplier   	"Logical View::SQLQueryModel::ColumnName"
		    quidu      	"4049226F035A"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "tableCorrelation"
		    quid       	"412F8DAB02C7"
		    label      	"tableCorrelation"
		    supplier   	"Logical View::SQLQueryModel::TableCorrelation"
		    quidu      	"412F8BD80253"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$80"
	    quid       	"412F99C002F9"
	    roles      	(list role_list
		(object Role "targetColumnList"
		    quid       	"412F99C102FA"
		    label      	"targetColumnList"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionColumn"
		    quidu      	"3B389EAF00BB"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "insertStatement"
		    quid       	"412F99C1030F"
		    label      	"insertStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryInsertStatement"
		    quidu      	"3B3785520223"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$81"
	    quid       	"4176D9FF033E"
	    roles      	(list role_list
		(object Role "updateSource"
		    quid       	"4176DA000335"
		    label      	"updateSource"
		    supplier   	"Logical View::SQLQueryModel::UpdateSource"
		    quidu      	"4176D9920095"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "updateAssignmentExpr"
		    quid       	"4176DA000337"
		    label      	"updateAssignmentExpr"
		    supplier   	"Logical View::SQLQueryModel::UpdateAssignmentExpression"
		    quidu      	"3B378BF6015F"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$82"
	    quid       	"4176DB4E0000"
	    roles      	(list role_list
		(object Role "valueExprList"
		    quid       	"4176DB4F03C3"
		    label      	"valueExprList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "updateSourceExprList"
		    quid       	"4176DB4F03D7"
		    label      	"updateSourceExprList"
		    supplier   	"Logical View::SQLQueryModel::UpdateSourceExprList"
		    quidu      	"4176DB070150"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$83"
	    quid       	"4176DC0C01E0"
	    roles      	(list role_list
		(object Role "queryExpr"
		    quid       	"4176DC0D0245"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "updateSourceQuery"
		    quid       	"4176DC0D0247"
		    label      	"updateSourceQuery"
		    supplier   	"Logical View::SQLQueryModel::UpdateSourceQuery"
		    quidu      	"4176DB2502C7"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$84"
	    quid       	"41990B8303E2"
	    roles      	(list role_list
		(object Role "queryExpr"
		    quid       	"41990B85012A"
		    label      	"queryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionRoot"
		    quidu      	"3B37968301D1"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valExprScalarSelect"
		    quid       	"41990B85012C"
		    label      	"valExprScalarSelect"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionScalarSelect"
		    quidu      	"3B389EE1015D"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$85"
	    quid       	"41AB8B960230"
	    roles      	(list role_list
		(object Role "resultCol"
		    quid       	"41AB8B970246"
		    label      	"resultCol"
		    supplier   	"Logical View::SQLQueryModel::ResultColumn"
		    quidu      	"3B37F947006F"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "orderByResultCol"
		    quid       	"41AB8B970248"
		    label      	"orderByResultCol"
		    supplier   	"Logical View::SQLQueryModel::OrderByResultColumn"
		    quidu      	"41AB8B39017F"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$86"
	    quid       	"41B8F9BD01F7"
	    roles      	(list role_list
		(object Role "tableExpr"
		    quid       	"41B8F9BE01AF"
		    label      	"tableExpr"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "resultTableAllColumns"
		    quid       	"41B8F9BE01B1"
		    label      	"resultTableAllColumns"
		    supplier   	"Logical View::SQLQueryModel::ResultTableAllColumns"
		    quidu      	"3B37F93B0085"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$87"
	    quid       	"41F971E90098"
	    roles      	(list role_list
		(object Role "withTableQueryExpr"
		    quid       	"41F971EA0088"
		    label      	"withTableQueryExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "withTableSpecification"
		    quid       	"41F971EA0092"
		    label      	"withTableSpecification"
		    supplier   	"Logical View::SQLQueryModel::WithTableSpecification"
		    quidu      	"3B37EEBD019C"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$88"
	    quid       	"41F973BA0398"
	    roles      	(list role_list
		(object Role "withTableSpecification"
		    quid       	"41F973BD01CC"
		    label      	"withTableSpecification"
		    supplier   	"Logical View::SQLQueryModel::WithTableSpecification"
		    quidu      	"3B37EEBD019C"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "withTableReferences"
		    quid       	"41F973BD01CE"
		    label      	"withTableReferences"
		    supplier   	"Logical View::SQLQueryModel::WithTableReference"
		    quidu      	"41F971470060"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$89"
	    quid       	"41F9748E0122"
	    roles      	(list role_list
		(object Role "columnNameList"
		    quid       	"41F9748F0099"
		    label      	"columnNameList"
		    supplier   	"Logical View::SQLQueryModel::ColumnName"
		    quidu      	"4049226F035A"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "withTableSpecification"
		    quid       	"41F9748F009B"
		    label      	"withTableSpecification"
		    supplier   	"Logical View::SQLQueryModel::WithTableSpecification"
		    quidu      	"3B37EEBD019C"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$90"
	    quid       	"41FA8D26028E"
	    roles      	(list role_list
		(object Role "function"
		    quid       	"41FA8D2800F6"
		    label      	"function"
		    supplier   	"Logical View::SQLModel::Routines::Function"
		    quidu      	"3F3D3B50012C"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$91"
		    quid       	"41FA8D28010A"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionFunction"
		    quidu      	"3B389F78002D")))
	(object Association "$UNNAMED$92"
	    quid       	"42029BB0019B"
	    roles      	(list role_list
		(object Role "valuesRowList"
		    quid       	"42029BB100A2"
		    label      	"valuesRowList"
		    supplier   	"Logical View::SQLQueryModel::ValuesRow"
		    quidu      	"3B3796910130"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "queryValues"
		    quid       	"42029BB100A4"
		    label      	"queryValues"
		    supplier   	"Logical View::SQLQueryModel::QueryValues"
		    quidu      	"3B37969E01ED"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$93"
	    quid       	"421269CE0197"
	    roles      	(list role_list
		(object Role "tableExpr"
		    quid       	"421269D003C2"
		    label      	"tableExpr"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "valueExprColumns"
		    quid       	"421269D003CC"
		    label      	"valueExprColumns"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionColumn"
		    quidu      	"3B389EAF00BB"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$94"
	    quid       	"4238889402F3"
	    documentation 	"Associates a <code>TableInDatabase</code> with the columns in the statement that are derived from it."
	    roles      	(list role_list
		(object Role "tableInDatabase"
		    quid       	"4238889502A4"
		    documentation 	"Gets the <code>TableInDatabase</code> from which this column is ulitimately derived, if any."
		    label      	"tableInDatabase"
		    supplier   	"Logical View::SQLQueryModel::TableInDatabase"
		    quidu      	"3BF3D3560327"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "derivedColumnList"
		    quid       	"4238889502A6"
		    documentation 	"Gets the list of columns used anywhere in the statement that are derived from this table."
		    label      	"derivedColumnList"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionColumn"
		    quidu      	"3B389EAF00BB"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$95"
	    quid       	"4445749A0364"
	    roles      	(list role_list
		(object Role "nestedQuery"
		    quid       	"4445749C0399"
		    label      	"nestedQuery"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "queryNest"
		    quid       	"4445749C039B"
		    label      	"queryNest"
		    supplier   	"Logical View::SQLQueryModel::QueryNested"
		    quidu      	"4445534B01A5"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$96"
	    quid       	"486BCF040297"
	    roles      	(list role_list
		(object Role "function"
		    quid       	"486BCF060041"
		    label      	"function"
		    supplier   	"Logical View::SQLModel::Routines::Function"
		    quidu      	"3F3D3B50012C"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$97"
		    quid       	"486BCF060055"
		    supplier   	"Logical View::SQLQueryModel::TableFunction"
		    quidu      	"3BF3D3E801A0")))
	(object Association "$UNNAMED$98"
	    quid       	"486BCF89034A"
	    roles      	(list role_list
		(object Role "parameterList"
		    quid       	"486BCF8B0036"
		    label      	"parameterList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "tableFunction"
		    quid       	"486BCF8B0054"
		    label      	"tableFunction"
		    supplier   	"Logical View::SQLQueryModel::TableFunction"
		    quidu      	"3BF3D3E801A0"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$99"
	    quid       	"486BD3F20001"
	    roles      	(list role_list
		(object Role "valueExprList"
		    quid       	"486BD3F300A3"
		    label      	"valueExprList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueExprRow"
		    quid       	"486BD3F300D5"
		    label      	"valueExprRow"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionRow"
		    quidu      	"486BD0B001FE"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$100"
	    quid       	"49717D6901B5"
	    roles      	(list role_list
		(object Role "targetTable"
		    quid       	"49717D6A0109"
		    label      	"targetTable"
		    supplier   	"Logical View::SQLQueryModel::MergeTargetTable"
		    quidu      	"49717CEF01B5"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeStatement"
		    quid       	"49717D6A0119"
		    label      	"mergeStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryMergeStatement"
		    quidu      	"404C2AAB0232"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$101"
	    quid       	"49717F570148"
	    roles      	(list role_list
		(object Role "$UNNAMED$102"
		    quid       	"49717F58008C"
		    supplier   	"Logical View::SQLQueryModel::QueryMergeStatement"
		    quidu      	"404C2AAB0232"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$103"
		    quid       	"49717F58008E"
		    supplier   	"Logical View::SQLQueryModel::MergeSourceTable"
		    quidu      	"49717F4B0271")))
	(object Association "$UNNAMED$104"
	    quid       	"49717F5F009C"
	    roles      	(list role_list
		(object Role "sourceTable"
		    quid       	"49717F5F037A"
		    label      	"sourceTable"
		    supplier   	"Logical View::SQLQueryModel::MergeSourceTable"
		    quidu      	"49717F4B0271"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeStatement"
		    quid       	"49717F5F038A"
		    label      	"mergeStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryMergeStatement"
		    quidu      	"404C2AAB0232"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$105"
	    quid       	"49717FDB008C"
	    roles      	(list role_list
		(object Role "tableRef"
		    quid       	"49717FDC0148"
		    label      	"tableRef"
		    supplier   	"Logical View::SQLQueryModel::TableReference"
		    quidu      	"3B37EE200178"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeSourceTable"
		    quid       	"49717FDC014A"
		    label      	"mergeSourceTable"
		    supplier   	"Logical View::SQLQueryModel::MergeSourceTable"
		    quidu      	"49717F4B0271"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$106"
	    quid       	"4971824601C5"
	    roles      	(list role_list
		(object Role "onCondition"
		    quid       	"497182470203"
		    label      	"onCondition"
		    supplier   	"Logical View::SQLQueryModel::MergeOnCondition"
		    quidu      	"4971822C0148"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeStatement"
		    quid       	"497182470205"
		    label      	"mergeStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryMergeStatement"
		    quidu      	"404C2AAB0232"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$107"
	    quid       	"497182B402FD"
	    roles      	(list role_list
		(object Role "searchCondition"
		    quid       	"497182B501A5"
		    label      	"searchCondition"
		    supplier   	"Logical View::SQLQueryModel::QuerySearchCondition"
		    quidu      	"3B378C160224"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeOnCondition"
		    quid       	"497182B501A7"
		    label      	"mergeOnCondition"
		    supplier   	"Logical View::SQLQueryModel::MergeOnCondition"
		    quidu      	"4971822C0148"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$108"
	    quid       	"497184D0035B"
	    roles      	(list role_list
		(object Role "assignementExprList"
		    quid       	"497184D10251"
		    label      	"assignementExprList"
		    supplier   	"Logical View::SQLQueryModel::UpdateAssignmentExpression"
		    quidu      	"3B378BF6015F"
		    client_cardinality 	(value cardinality "1..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeUpdateSpec"
		    quid       	"497184D10253"
		    label      	"mergeUpdateSpec"
		    supplier   	"Logical View::SQLQueryModel::MergeUpdateSpecification"
		    quidu      	"4971844B003E"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$109"
	    quid       	"4971885002BF"
	    roles      	(list role_list
		(object Role "targetColumnList"
		    quid       	"497188510196"
		    label      	"targetColumnList"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionColumn"
		    quidu      	"3B389EAF00BB"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    is_navigable 	TRUE)
		(object Role "mergeInsertSpec"
		    quid       	"497188510198"
		    label      	"mergeInsertSpec"
		    supplier   	"Logical View::SQLQueryModel::MergeInsertSpecification"
		    quidu      	"497185E60242"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$110"
	    quid       	"497188C0001F"
	    roles      	(list role_list
		(object Role "sourceValuesRow"
		    quid       	"497188C003B9"
		    label      	"sourceValuesRow"
		    supplier   	"Logical View::SQLQueryModel::ValuesRow"
		    quidu      	"3B3796910130"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$111"
		    quid       	"497188C003BB"
		    supplier   	"Logical View::SQLQueryModel::MergeInsertSpecification"
		    quidu      	"497185E60242"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$112"
	    quid       	"498BA98501C5"
	    roles      	(list role_list
		(object Role "operationSpecList"
		    quid       	"498BA98600CB"
		    label      	"operationSpecList"
		    supplier   	"Logical View::SQLQueryModel::MergeOperationSpecification"
		    quidu      	"498A415902FD"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeStatement"
		    quid       	"498BA98600CD"
		    label      	"mergeStatement"
		    supplier   	"Logical View::SQLQueryModel::QueryMergeStatement"
		    quidu      	"404C2AAB0232"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$113"
	    quid       	"498E982B029F"
	    roles      	(list role_list
		(object Role "tableExpr"
		    quid       	"498E982D0119"
		    label      	"tableExpr"
		    supplier   	"Logical View::SQLQueryModel::TableExpression"
		    quidu      	"3B37EE600288"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "mergeTargetTable"
		    quid       	"498E982D0128"
		    label      	"mergeTargetTable"
		    supplier   	"Logical View::SQLQueryModel::MergeTargetTable"
		    quidu      	"49717CEF01B5"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$114"
	    quid       	"49C696C1000F"
	    roles      	(list role_list
		(object Role "updateOfColumnList"
		    quid       	"49C696C102AF"
		    label      	"updateOfColumnList"
		    supplier   	"Logical View::SQLQueryModel::UpdateOfColumn"
		    quidu      	"49C49424033C"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "updatabilityExpr"
		    quid       	"49C696C102B1"
		    label      	"updatabilityExpr"
		    supplier   	"Logical View::SQLQueryModel::UpdatabilityExpression"
		    quidu      	"49C69615004E"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$115"
	    quid       	"49C697180167"
	    roles      	(list role_list
		(object Role "updatabilityExpr"
		    quid       	"49C69719001F"
		    label      	"updatabilityExpr"
		    supplier   	"Logical View::SQLQueryModel::UpdatabilityExpression"
		    quidu      	"49C69615004E"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "selectStatement"
		    quid       	"49C697190021"
		    label      	"selectStatement"
		    supplier   	"Logical View::SQLQueryModel::QuerySelectStatement"
		    quidu      	"3B37856000BB"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$116"
	    quid       	"49D404D0038A"
	    roles      	(list role_list
		(object Role "sortSpecList"
		    quid       	"49D404D10261"
		    label      	"sortSpecList"
		    supplier   	"Logical View::SQLQueryModel::OrderBySpecification"
		    quidu      	"404D14E20381"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "query"
		    quid       	"49D404D10271"
		    label      	"query"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$117"
	    quid       	"4B50D0F40196"
	    roles      	(list role_list
		(object Role "argumentList"
		    quid       	"4B50D0F50290"
		    label      	"argumentList"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "callStatement"
		    quid       	"4B50D0F502EE"
		    label      	"callStatement"
		    supplier   	"Logical View::SQLQueryModel::CallStatement"
		    quidu      	"4B50CD41004E"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$118"
	    quid       	"4BC79E530271"
	    roles      	(list role_list
		(object Role "procedureRef"
		    quid       	"4BC79E5401D4"
		    label      	"procedureRef"
		    supplier   	"Logical View::SQLQueryModel::ProcedureReference"
		    quidu      	"4BC79E0202DE"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "callStatement"
		    quid       	"4BC79E5401D6"
		    label      	"callStatement"
		    supplier   	"Logical View::SQLQueryModel::CallStatement"
		    quidu      	"4B50CD41004E"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$119"
	    quid       	"4BC79ECF02BF"
	    roles      	(list role_list
		(object Role "procedure"
		    quid       	"4BC79ED00213"
		    label      	"procedure"
		    supplier   	"Logical View::SQLModel::Routines::Procedure"
		    quidu      	"3F3D3B200263"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$120"
		    quid       	"4BC79ED00215"
		    supplier   	"Logical View::SQLQueryModel::ProcedureReference"
		    quidu      	"4BC79E0202DE")))
	(object Association "$UNNAMED$121"
	    quid       	"4E9885A3001F"
	    roles      	(list role_list
		(object Role "query"
		    quid       	"4E9885A5005D"
		    label      	"query"
		    supplier   	"Logical View::SQLQueryModel::QueryExpressionBody"
		    quidu      	"3B37924A01CC"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$122"
		    quid       	"4E9885A5005F"
		    supplier   	"Logical View::SQLQueryModel::TableQueryLateral"
		    quidu      	"4E98855000BB"
		    is_aggregate 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "QueryStatement"
	    quid       	"3B37846A01BB"
	    title      	"QueryStatement"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryDeleteStatement" @1
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(2106, 1885)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(1865, 1835)
			fill_color 	13434879
			nlines     	1
			max_width  	482
			justify    	0
			label      	"QueryDeleteStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B378546017C"
		    width      	500
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryInsertStatement" @2
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(403, 1885)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(153, 1838)
			fill_color 	13434879
			nlines     	1
			max_width  	501
			justify    	0
			label      	"QueryInsertStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3785520223"
		    width      	519
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySelectStatement" @3
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(838, 1340)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(601, 1293)
			fill_color 	13434879
			nlines     	1
			max_width  	475
			justify    	0
			label      	"QuerySelectStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37856000BB"
		    width      	493
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryUpdateStatement" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(962, 1885)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(721, 1838)
			fill_color 	13434879
			nlines     	1
			max_width  	483
			justify    	0
			label      	"QueryUpdateStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3785760076"
		    width      	501
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryStatement" @5
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(1222, 520)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@5
			location   	(1019, 442)
			fill_color 	13434879
			nlines     	1
			max_width  	407
			justify    	0
			label      	"QueryStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3785180139"
		    width      	425
		    height     	181
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLModel::Schema::SQLObject" @6
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(378, 183)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(181, 54)
			fill_color 	13434879
			nlines     	1
			max_width  	394
			justify    	0
			label      	"SQLObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3E9B3EB5002B"
		    width      	412
		    height     	282
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @7
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(378, 519)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@7
			location   	(206, 413)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	362
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @8
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404683B4025D"
		    client     	@5
		    supplier   	@7
		    vertices   	(list Points
			(1009, 519)
			(559, 519))
		    line_style 	0)
		(object InheritView "" @9
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404683B902A0"
		    client     	@7
		    supplier   	@6
		    vertices   	(list Points
			(378, 400)
			(378, 324))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLModel::Statements::SQLDataStatement" @10
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2043, 524)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@10
			location   	(1814, 472)
			fill_color 	13434879
			nlines     	1
			max_width  	458
			justify    	0
			label      	"SQLDataStatement")
		    stereotype 	(object ItemLabel
			Parent_View 	@10
			location   	(1814, 422)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	458
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14597606
		    quidu      	"4049092B0395"
		    width      	476
		    height     	228
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryChangeStatement" @11
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1548, 1338)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@11
			location   	(1313, 1287)
			fill_color 	13434879
			nlines     	1
			max_width  	470
			justify    	0
			label      	"QueryChangeStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"40490E600298"
		    width      	488
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @12
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40490B870362"
		    client     	@5
		    supplier   	@10
		    vertices   	(list Points
			(1434, 521)
			(1804, 522))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLModel::Statements::SQLDataChangeStatement" @13
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2048, 983)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@13
			location   	(1738, 931)
			fill_color 	13434879
			nlines     	1
			max_width  	620
			justify    	0
			label      	"SQLDataChangeStatement")
		    stereotype 	(object ItemLabel
			Parent_View 	@13
			location   	(1738, 881)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	620
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14597606
		    quidu      	"40490973001D"
		    width      	638
		    height     	228
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @14
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40490A210226"
		    client     	@13
		    supplier   	@10
		    vertices   	(list Points
			(2046, 868)
			(2044, 638))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryMergeStatement" @15
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1533, 1884)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@15
			location   	(1314, 1833)
			fill_color 	13434879
			nlines     	1
			max_width  	438
			justify    	0
			label      	"QueryMergeStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"404C2AAB0232"
		    width      	456
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @16
		    location   	(1548, 1641)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@11
		    vertices   	(list Points
			(1548, 1641)
			(1548, 1401)))
		(object InheritView "" @17
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40490F090074"
		    client     	@4
		    supplier   	@11
		    vertices   	(list Points
			(965, 1826)
			(965, 1641))
		    line_style 	3
		    origin_attachment 	(965, 1826)
		    terminal_attachment 	(965, 1641)
		    drawSupplier 	@16)
		(object InheritView "" @18
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40490F1301D7"
		    client     	@2
		    supplier   	@11
		    vertices   	(list Points
			(381, 1825)
			(381, 1641))
		    line_style 	3
		    origin_attachment 	(381, 1825)
		    terminal_attachment 	(381, 1641)
		    drawSupplier 	@16)
		(object InheritView "" @19
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40490F1701B4"
		    client     	@1
		    supplier   	@11
		    vertices   	(list Points
			(2128, 1823)
			(2128, 1641))
		    line_style 	3
		    origin_attachment 	(2128, 1823)
		    terminal_attachment 	(2128, 1641)
		    drawSupplier 	@16)
		(object InheritView "" @20
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404C2AD802CD"
		    client     	@15
		    supplier   	@11
		    vertices   	(list Points
			(1531, 1821)
			(1531, 1641))
		    line_style 	3
		    origin_attachment 	(1531, 1821)
		    terminal_attachment 	(1531, 1641)
		    drawSupplier 	@16)
		(object InheritView "" @21
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40490F930040"
		    client     	@11
		    supplier   	@13
		    vertices   	(list Points
			(1635, 1274)
			(1884, 1097))
		    line_style 	0)
		(object InheritTreeView "" @22
		    location   	(1209, 1131)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@5
		    vertices   	(list Points
			(1209, 1131)
			(1209, 610)))
		(object InheritView "" @23
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3785C7018B"
		    client     	@3
		    supplier   	@5
		    vertices   	(list Points
			(853, 1280)
			(853, 1131))
		    line_style 	3
		    origin_attachment 	(853, 1280)
		    terminal_attachment 	(853, 1131)
		    drawSupplier 	@22)
		(object InheritView "" @24
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40490EDD0342"
		    client     	@11
		    supplier   	@5
		    vertices   	(list Points
			(1541, 1275)
			(1541, 1131))
		    line_style 	3
		    origin_attachment 	(1541, 1275)
		    terminal_attachment 	(1541, 1131)
		    drawSupplier 	@22)))
	(object ClassDiagram "UpdateStatement"
	    quid       	"3B378BA00346"
	    title      	"UpdateStatement"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	812
	    items      	(list diagram_item_list
		(object NoteView @25
		    location   	(1991, 1190)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(1756, 1081)
			fill_color 	13434879
			nlines     	4
			max_width  	434
			justify    	1
			label      	"Cannot have both a WHERE clause and a WHERE CURRENT OF clause.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	494
		    height     	231)
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @26
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2002, 130)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@26
			location   	(1830, 24)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	362
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::CursorReference" @27
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1998, 523)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@27
			location   	(1764, 473)
			fill_color 	13434879
			nlines     	2
			max_width  	469
			justify    	0
			label      	"CursorReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B378C08021A"
		    width      	487
		    height     	125
		    annotation 	8)
		(object AttachView "" @28
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@27
		    supplier   	@25
		    vertices   	(list Points
			(1997, 585)
			(1991, 1074))
		    line_style 	0)
		(object InheritView "" @29
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CFC3B01B9"
		    client     	@27
		    supplier   	@26
		    vertices   	(list Points
			(1998, 460)
			(2000, 248))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySearchCondition" @30
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1611, 772)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@30
			location   	(1389, 725)
			fill_color 	13434879
			nlines     	1
			max_width  	445
			justify    	0
			label      	"QuerySearchCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B378C160224"
		    width      	463
		    height     	119
		    annotation 	8)
		(object AttachView "" @31
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@30
		    supplier   	@25
		    vertices   	(list Points
			(1665, 831)
			(1886, 1074))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableInDatabase" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(303, 775)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@32
			location   	(87, 728)
			fill_color 	13434879
			nlines     	1
			max_width  	432
			justify    	0
			label      	"TableInDatabase")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3BF3D3560327"
		    width      	450
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryUpdateStatement" @33
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(958, 187)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@33
			location   	(673, 130)
			fill_color 	13434879
			nlines     	1
			max_width  	570
			justify    	0
			label      	"QueryUpdateStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3785760076"
		    width      	588
		    height     	138
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$1" @34
		    location   	(1489, 358)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37928B0298"
		    roleview_list 	(list RoleViews
			(object RoleView "updateStatement" @35
			    Parent_View 	@34
			    location   	(70, -819)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @36
				Parent_View 	@35
				location   	(1456, 275)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	342
				justify    	0
				label      	"+updateStatement"
				pctDist    	0.172284
				height     	69
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37928C009B"
			    client     	@34
			    supplier   	@33
			    vertices   	(list Points
				(1489, 358)
				(1176, 256))
			    line_style 	0)
			(object RoleView "whereCurrentOfClause" @37
			    Parent_View 	@34
			    location   	(70, -819)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @38
				Parent_View 	@37
				location   	(1963, 353)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	437
				justify    	0
				label      	"+whereCurrentOfClause"
				pctDist    	1.350383
				height     	150
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37928C00A5"
			    client     	@34
			    supplier   	@27
			    vertices   	(list Points
				(1489, 358)
				(1809, 460))
			    line_style 	0
			    label      	(object SegLabel @39
				Parent_View 	@37
				location   	(1860, 417)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.115813
				height     	59
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$2" @40
		    location   	(1289, 484)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37928F0153"
		    roleview_list 	(list RoleViews
			(object RoleView "updateStatement" @41
			    Parent_View 	@40
			    location   	(-761, -693)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @42
				Parent_View 	@41
				location   	(1165, 334)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	342
				justify    	0
				label      	"+updateStatement"
				pctDist    	0.568085
				height     	30
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37928F0352"
			    client     	@40
			    supplier   	@33
			    vertices   	(list Points
				(1289, 484)
				(1034, 256))
			    line_style 	0)
			(object RoleView "whereClause" @43
			    Parent_View 	@40
			    location   	(-761, -693)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @44
				Parent_View 	@43
				location   	(1683, 674)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	272
				justify    	0
				label      	"+whereClause"
				pctDist    	1.226907
				height     	121
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37928F035C"
			    client     	@40
			    supplier   	@30
			    vertices   	(list Points
				(1289, 484)
				(1544, 712))
			    line_style 	0
			    label      	(object SegLabel @45
				Parent_View 	@43
				location   	(1414, 668)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.627393
				height     	55
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$3" @46
		    location   	(622, 485)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3792910387"
		    roleview_list 	(list RoleViews
			(object RoleView "updateStatement" @47
			    Parent_View 	@46
			    location   	(-2119, -677)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @48
				Parent_View 	@47
				location   	(609, 293)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	342
				justify    	0
				label      	"+updateStatement"
				pctDist    	0.344465
				height     	153
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B379292028E"
			    client     	@46
			    supplier   	@33
			    vertices   	(list Points
				(622, 485)
				(879, 256))
			    line_style 	0)
			(object RoleView "targetTable" @49
			    Parent_View 	@46
			    location   	(-2119, -677)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @50
				Parent_View 	@49
				location   	(187, 680)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	233
				justify    	0
				label      	"+targetTable"
				pctDist    	1.320831
				height     	146
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3792920298"
			    client     	@46
			    supplier   	@32
			    vertices   	(list Points
				(622, 485)
				(366, 715))
			    line_style 	0
			    label      	(object SegLabel @51
				Parent_View 	@49
				location   	(348, 679)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.971322
				height     	41
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionColumn" @52
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(429, 1209)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@52
			location   	(193, 1158)
			fill_color 	13434879
			nlines     	1
			max_width  	472
			justify    	0
			label      	"ValueExpressionColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EAF00BB"
		    width      	490
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdateSource" @53
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 1079)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@53
			location   	(1031, 1028)
			fill_color 	13434879
			nlines     	1
			max_width  	304
			justify    	0
			label      	"UpdateSource")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4176D9920095"
		    width      	322
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdateAssignmentExpression" @54
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(956, 778)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@54
			location   	(684, 731)
			fill_color 	13434879
			nlines     	1
			max_width  	544
			justify    	0
			label      	"UpdateAssignmentExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B378BF6015F"
		    width      	562
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$0" @55
		    location   	(956, 487)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37928901A5"
		    roleview_list 	(list RoleViews
			(object RoleView "updateStatement" @56
			    Parent_View 	@55
			    location   	(172, -715)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @57
				Parent_View 	@56
				location   	(760, 382)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	419
				justify    	0
				label      	"+updateStatement"
				pctDist    	0.455903
				height     	197
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37928A002A"
			    client     	@55
			    supplier   	@33
			    vertices   	(list Points
				(956, 487)
				(957, 256))
			    line_style 	0)
			(object RoleView "assignmentClause" @58
			    Parent_View 	@55
			    location   	(172, -715)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @59
				Parent_View 	@58
				location   	(755, 681)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	361
				justify    	0
				label      	"+assignmentClause"
				pctDist    	0.839827
				height     	201
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37928A0034"
			    client     	@55
			    supplier   	@54
			    vertices   	(list Points
				(956, 487)
				(956, 718))
			    line_style 	0
			    label      	(object SegLabel @60
				Parent_View 	@58
				location   	(1034, 678)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.826840
				height     	78
				orientation 	0)
			    label      	(object SegLabel @61
				Parent_View 	@58
				location   	(1187, 675)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	0.819839
				height     	231
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$4" @62
		    location   	(693, 991)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37935D03C6"
		    roleview_list 	(list RoleViews
			(object RoleView "assignmentExprTarget" @63
			    Parent_View 	@62
			    location   	(298, -639)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @64
				Parent_View 	@63
				location   	(695, 881)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	433
				justify    	0
				label      	"+assignmentExprTarget"
				pctDist    	0.291846
				height     	85
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37935E01D3"
			    client     	@62
			    supplier   	@54
			    vertices   	(list Points
				(693, 991)
				(881, 837))
			    line_style 	0)
			(object RoleView "targetColumnList" @65
			    Parent_View 	@62
			    location   	(298, -639)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @66
				Parent_View 	@65
				location   	(369, 1107)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	339
				justify    	0
				label      	"+targetColumnList"
				pctDist    	1.338992
				height     	117
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37935E01DD"
			    client     	@62
			    supplier   	@52
			    vertices   	(list Points
				(693, 991)
				(505, 1145))
			    line_style 	0
			    label      	(object SegLabel @67
				Parent_View 	@65
				location   	(632, 1108)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.507479
				height     	52
				orientation 	0)
			    label      	(object SegLabel @68
				Parent_View 	@65
				location   	(775, 1101)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	0.027161
				height     	137
				orientation 	0))))
		(object InheritView "" @69
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CFC4100D1"
		    client     	@54
		    supplier   	@26
		    vertices   	(list Points
			(1050, 718)
			(1820, 241))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$81" @70
		    location   	(1067, 926)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4176D9FF033E"
		    roleview_list 	(list RoleViews
			(object RoleView "updateSource" @71
			    Parent_View 	@70
			    location   	(105, 146)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @72
				Parent_View 	@71
				location   	(1012, 972)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	281
				justify    	0
				label      	"+updateSource"
				pctDist    	0.022798
				height     	73
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4176DA000335"
			    client     	@70
			    supplier   	@53
			    vertices   	(list Points
				(1067, 926)
				(1134, 1015))
			    line_style 	0
			    label      	(object SegLabel @73
				Parent_View 	@71
				location   	(1171, 974)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "updateAssignmentExpr" @74
			    Parent_View 	@70
			    location   	(105, 146)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @75
				Parent_View 	@74
				location   	(1280, 881)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	454
				justify    	0
				label      	"+updateAssignmentExpr"
				pctDist    	-0.832635
				height     	198
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4176DA000337"
			    client     	@70
			    supplier   	@54
			    vertices   	(list Points
				(1067, 926)
				(1000, 837))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @76
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(884, 1729)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@76
			location   	(662, 1679)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	462
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdateSourceExprList" @77
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(884, 1417)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@77
			location   	(664, 1366)
			fill_color 	13434879
			nlines     	1
			max_width  	440
			justify    	0
			label      	"UpdateSourceExprList")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4176DB070150"
		    width      	458
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$82" @78
		    location   	(884, 1573)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4176DB4E0000"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprList" @79
			    Parent_View 	@78
			    location   	(0, 156)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @80
				Parent_View 	@79
				location   	(651, 1635)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	400
				justify    	0
				label      	"+valueExprList"
				pctDist    	0.663158
				height     	234
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4176DB4F03C3"
			    client     	@78
			    supplier   	@76
			    vertices   	(list Points
				(884, 1573)
				(884, 1666))
			    line_style 	0
			    label      	(object SegLabel @81
				Parent_View 	@79
				location   	(937, 1642)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.747368
				height     	53
				orientation 	0)
			    label      	(object SegLabel @82
				Parent_View 	@79
				location   	(1058, 1642)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	159
				justify    	0
				label      	"{ordered}"
				pctDist    	0.747368
				height     	174
				orientation 	0))
			(object RoleView "updateSourceExprList" @83
			    Parent_View 	@78
			    location   	(0, 156)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @84
				Parent_View 	@83
				location   	(646, 1523)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	431
				justify    	0
				label      	"+updateSourceExprList"
				pctDist    	0.536842
				height     	239
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4176DB4F03D7"
			    client     	@78
			    supplier   	@77
			    vertices   	(list Points
				(884, 1573)
				(884, 1480))
			    line_style 	0)))
		(object InheritTreeView "" @85
		    location   	(1183, 1232)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@53
		    vertices   	(list Points
			(1183, 1232)
			(1183, 1142)))
		(object InheritView "" @86
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4176DB1E0118"
		    client     	@77
		    supplier   	@53
		    vertices   	(list Points
			(885, 1354)
			(885, 1232))
		    line_style 	3
		    origin_attachment 	(885, 1354)
		    terminal_attachment 	(885, 1232)
		    drawSupplier 	@85)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionBody" @87
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1521, 1729)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@87
			location   	(1252, 1679)
			fill_color 	13434879
			nlines     	1
			max_width  	538
			justify    	0
			label      	"QueryExpressionBody")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37924A01CC"
		    width      	556
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdateSourceQuery" @88
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1521, 1430)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@88
			location   	(1315, 1379)
			fill_color 	13434879
			nlines     	1
			max_width  	412
			justify    	0
			label      	"UpdateSourceQuery")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4176DB2502C7"
		    width      	430
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @89
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4176DB3500B8"
		    client     	@88
		    supplier   	@53
		    vertices   	(list Points
			(1513, 1367)
			(1513, 1232))
		    line_style 	3
		    origin_attachment 	(1513, 1367)
		    terminal_attachment 	(1513, 1232)
		    drawSupplier 	@85)
		(object AssociationViewNew "$UNNAMED$83" @90
		    location   	(1521, 1579)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4176DC0C01E0"
		    roleview_list 	(list RoleViews
			(object RoleView "queryExpr" @91
			    Parent_View 	@90
			    location   	(39, 162)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @92
				Parent_View 	@91
				location   	(1384, 1625)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	0.540230
				height     	138
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4176DC0D0245"
			    client     	@90
			    supplier   	@87
			    vertices   	(list Points
				(1521, 1579)
				(1521, 1666))
			    line_style 	0
			    label      	(object SegLabel @93
				Parent_View 	@91
				location   	(1575, 1657)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "updateSourceQuery" @94
			    Parent_View 	@90
			    location   	(39, 162)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @95
				Parent_View 	@94
				location   	(1302, 1532)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	385
				justify    	0
				label      	"+updateSourceQuery"
				pctDist    	0.551724
				height     	220
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4176DC0D0247"
			    client     	@90
			    supplier   	@88
			    vertices   	(list Points
				(1521, 1579)
				(1521, 1493))
			    line_style 	0
			    label      	(object SegLabel @96
				Parent_View 	@94
				location   	(1583, 1527)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.618529
				height     	62
				orientation 	1))))
		(object InheritView "" @97
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"417D47620183"
		    client     	@53
		    supplier   	@26
		    vertices   	(list Points
			(1207, 1015)
			(1363, 634)
			(1852, 248))
		    line_style 	0)))
	(object ClassDiagram "DeleteStatement"
	    quid       	"3B37953400C0"
	    title      	"DeleteStatement"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	1088
	    origin_y   	176
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::CursorReference" @98
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1889, 903)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@98
			location   	(1645, 853)
			fill_color 	13434879
			nlines     	1
			max_width  	489
			justify    	0
			label      	"CursorReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B378C08021A"
		    width      	507
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySearchCondition" @99
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1228, 897)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@99
			location   	(984, 850)
			fill_color 	13434879
			nlines     	1
			max_width  	489
			justify    	0
			label      	"QuerySearchCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B378C160224"
		    width      	507
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryDeleteStatement" @100
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(1232, 432)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@100
			location   	(988, 379)
			fill_color 	13434879
			nlines     	1
			max_width  	489
			justify    	0
			label      	"QueryDeleteStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B378546017C"
		    width      	507
		    height     	131
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$5" @101
		    location   	(1562, 668)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3795650049"
		    roleview_list 	(list RoleViews
			(object RoleView "deleteStatement" @102
			    Parent_View 	@101
			    location   	(955, -292)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @103
				Parent_View 	@102
				location   	(1504, 555)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	322
				justify    	0
				label      	"+deleteStatement"
				pctDist    	0.384967
				height     	59
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B379565025C"
			    client     	@101
			    supplier   	@100
			    vertices   	(list Points
				(1562, 668)
				(1322, 497))
			    line_style 	0)
			(object RoleView "whereCurrentOfClause" @104
			    Parent_View 	@101
			    location   	(955, -292)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @105
				Parent_View 	@104
				location   	(1993, 797)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	437
				justify    	0
				label      	"+whereCurrentOfClause"
				pctDist    	1.447067
				height     	148
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3795650266"
			    client     	@101
			    supplier   	@98
			    vertices   	(list Points
				(1562, 668)
				(1801, 840))
			    line_style 	0
			    label      	(object SegLabel @106
				Parent_View 	@104
				location   	(1683, 813)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.617556
				height     	47
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$6" @107
		    location   	(1229, 667)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3795670010"
		    roleview_list 	(list RoleViews
			(object RoleView "deleteStatement" @108
			    Parent_View 	@107
			    location   	(-9, -293)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @109
				Parent_View 	@108
				location   	(1229, 634)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	322
				justify    	0
				label      	"+deleteStatement"
				pctDist    	0.196979
				height     	1
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B379567018C"
			    client     	@107
			    supplier   	@100
			    vertices   	(list Points
				(1229, 667)
				(1230, 497))
			    line_style 	0)
			(object RoleView "whereClause" @110
			    Parent_View 	@107
			    location   	(-9, -293)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @111
				Parent_View 	@110
				location   	(1386, 800)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	272
				justify    	0
				label      	"+whereClause"
				pctDist    	0.781065
				height     	158
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3795670196"
			    client     	@107
			    supplier   	@99
			    vertices   	(list Points
				(1229, 667)
				(1228, 837))
			    line_style 	0
			    label      	(object SegLabel @112
				Parent_View 	@110
				location   	(1155, 797)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.763676
				height     	74
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::TableInDatabase" @113
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(537, 906)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@113
			location   	(284, 856)
			fill_color 	13434879
			nlines     	1
			max_width  	507
			justify    	0
			label      	"TableInDatabase")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3BF3D3560327"
		    width      	525
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$7" @114
		    location   	(880, 670)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B379568031E"
		    roleview_list 	(list RoleViews
			(object RoleView "deleteStatement" @115
			    Parent_View 	@114
			    location   	(-1049, -275)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @116
				Parent_View 	@115
				location   	(1027, 562)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	322
				justify    	0
				label      	"+deleteStatement"
				pctDist    	0.587895
				height     	8
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3795690167"
			    client     	@114
			    supplier   	@100
			    vertices   	(list Points
				(880, 670)
				(1134, 497))
			    line_style 	0)
			(object RoleView "targetTable" @117
			    Parent_View 	@114
			    location   	(-1049, -275)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @118
				Parent_View 	@117
				location   	(509, 798)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	233
				justify    	0
				label      	"+targetTable"
				pctDist    	1.236916
				height     	104
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3795690171"
			    client     	@114
			    supplier   	@113
			    vertices   	(list Points
				(880, 670)
				(626, 843))
			    line_style 	0
			    label      	(object SegLabel @119
				Parent_View 	@117
				location   	(747, 812)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.622931
				height     	42
				orientation 	0))))
		(object NoteView @120
		    location   	(1567, 1313)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@120
			location   	(1311, 1226)
			fill_color 	13434879
			nlines     	3
			max_width  	477
			justify    	1
			label      	"Cannot have both WHERE clause and WHERE CURRENT OF clause.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	537
		    height     	187)
		(object AttachView "" @121
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@98
		    supplier   	@120
		    vertices   	(list Points
			(1838, 965)
			(1639, 1219))
		    line_style 	0)
		(object AttachView "" @122
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@99
		    supplier   	@120
		    vertices   	(list Points
			(1276, 956)
			(1489, 1219))
		    line_style 	0)))
	(object ClassDiagram "InsertStatement"
	    quid       	"3B37965B0042"
	    title      	"InsertStatement"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	144
	    items      	(list diagram_item_list
		(object NoteView @123
		    location   	(2064, 334)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@123
			location   	(1842, 247)
			fill_color 	13434879
			nlines     	3
			max_width  	408
			justify    	1
			label      	"Cannot have both a source values row list and a source query.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	468
		    height     	187)
		(object NoteView @124
		    location   	(334, 1159)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@124
			location   	(131, 1078)
			fill_color 	13434879
			nlines     	3
			max_width  	371
			justify    	1
			label      	"The insert target table cannot have a correlation name.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	431
		    height     	175)
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @125
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2145, 1158)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@125
			location   	(1973, 1052)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	362
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @126
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1508, 1183)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@126
			location   	(1277, 1133)
			fill_color 	13434879
			nlines     	1
			max_width  	463
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	481
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @127
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1964, 821)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@127
			location   	(1751, 771)
			fill_color 	13434879
			nlines     	1
			max_width  	426
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37968301D1"
		    width      	444
		    height     	125
		    annotation 	8)
		(object AttachView "" @128
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@123
		    supplier   	@127
		    vertices   	(list Points
			(2044, 427)
			(1976, 758))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValuesRow" @129
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1508, 819)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@129
			location   	(1330, 763)
			fill_color 	13434879
			nlines     	1
			max_width  	356
			justify    	0
			label      	"ValuesRow")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3796910130"
		    width      	374
		    height     	137
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$11" @130
		    location   	(1508, 1003)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37974E00C4"
		    roleview_list 	(list RoleViews
			(object RoleView "valuesRow" @131
			    Parent_View 	@130
			    location   	(361, -413)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @132
				Parent_View 	@131
				location   	(1671, 949)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	230
				justify    	0
				label      	"+valuesRow"
				pctDist    	0.469027
				height     	163
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37974E02D7"
			    client     	@130
			    supplier   	@129
			    vertices   	(list Points
				(1508, 1003)
				(1508, 887))
			    line_style 	0)
			(object RoleView "exprList" @133
			    Parent_View 	@130
			    location   	(361, -413)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @134
				Parent_View 	@133
				location   	(1339, 1091)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	174
				justify    	0
				label      	"+exprList"
				pctDist    	0.752212
				height     	170
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37974E02D9"
			    client     	@130
			    supplier   	@126
			    vertices   	(list Points
				(1508, 1003)
				(1508, 1120))
			    line_style 	0
			    label      	(object SegLabel @135
				Parent_View 	@133
				location   	(1561, 1088)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.728517
				height     	53
				orientation 	0)
			    label      	(object SegLabel @136
				Parent_View 	@133
				location   	(1715, 1089)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.734513
				height     	207
				orientation 	0))))
		(object AttachView "" @137
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@123
		    supplier   	@129
		    vertices   	(list Points
			(1954, 427)
			(1585, 750))
		    line_style 	0)
		(object InheritView "" @138
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404E4A8F00C1"
		    client     	@129
		    supplier   	@125
		    vertices   	(list Points
			(1637, 887)
			(1963, 1061))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableInDatabase" @139
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(338, 819)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@139
			location   	(94, 772)
			fill_color 	13434879
			nlines     	1
			max_width  	489
			justify    	0
			label      	"TableInDatabase")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3BF3D3560327"
		    width      	507
		    height     	119
		    annotation 	8)
		(object AttachView "" @140
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@124
		    supplier   	@139
		    vertices   	(list Points
			(335, 1071)
			(337, 878))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionColumn" @141
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(963, 819)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@141
			location   	(727, 768)
			fill_color 	13434879
			nlines     	1
			max_width  	472
			justify    	0
			label      	"ValueExpressionColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EAF00BB"
		    width      	490
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryInsertStatement" @142
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(1270, 300)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@142
			location   	(983, 250)
			fill_color 	13434879
			nlines     	1
			max_width  	575
			justify    	0
			label      	"QueryInsertStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3785520223"
		    width      	593
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$8" @143
		    location   	(1617, 560)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37973E0021"
		    roleview_list 	(list RoleViews
			(object RoleView "insertStatement" @144
			    Parent_View 	@143
			    location   	(1264, -287)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @145
				Parent_View 	@144
				location   	(1645, 438)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	327
				justify    	0
				label      	"+insertStatement"
				pctDist    	0.158378
				height     	115
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37973E02AC"
			    client     	@143
			    supplier   	@142
			    vertices   	(list Points
				(1617, 560)
				(1353, 362))
			    line_style 	0)
			(object RoleView "sourceQuery" @146
			    Parent_View 	@143
			    location   	(1264, -287)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @147
				Parent_View 	@146
				location   	(2094, 722)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	255
				justify    	0
				label      	"+sourceQuery"
				pctDist    	1.450980
				height     	158
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37973E02B6"
			    client     	@143
			    supplier   	@127
			    vertices   	(list Points
				(1617, 560)
				(1881, 758))
			    line_style 	0
			    label      	(object SegLabel @148
				Parent_View 	@146
				location   	(1906, 726)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.003181
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$9" @149
		    location   	(1387, 556)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37974000CE"
		    roleview_list 	(list RoleViews
			(object RoleView "insertStatement" @150
			    Parent_View 	@149
			    location   	(543, -262)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @151
				Parent_View 	@150
				location   	(1354, 474)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	316
				justify    	0
				label      	"+insertStatement"
				pctDist    	0.422275
				height     	4
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3797400309"
			    client     	@149
			    supplier   	@142
			    vertices   	(list Points
				(1387, 556)
				(1298, 362))
			    line_style 	0)
			(object RoleView "sourceValuesRowList" @152
			    Parent_View 	@149
			    location   	(543, -262)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @153
				Parent_View 	@152
				location   	(1487, 664)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	423
				justify    	0
				label      	"+sourceValuesRowList"
				pctDist    	0.658584
				height     	46
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B379740030B"
			    client     	@149
			    supplier   	@129
			    vertices   	(list Points
				(1387, 556)
				(1476, 750))
			    line_style 	0
			    label      	(object SegLabel @154
				Parent_View 	@152
				location   	(1533, 719)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.975322
				height     	65
				orientation 	0)
			    label      	(object SegLabel @155
				Parent_View 	@152
				location   	(1659, 716)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	1.207854
				height     	181
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$10" @156
		    location   	(799, 560)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3797480120"
		    roleview_list 	(list RoleViews
			(object RoleView "insertStatement" @157
			    Parent_View 	@156
			    location   	(-1187, -271)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @158
				Parent_View 	@157
				location   	(790, 436)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	316
				justify    	0
				label      	"+insertStatement"
				pctDist    	0.129412
				height     	114
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3797480396"
			    client     	@156
			    supplier   	@142
			    vertices   	(list Points
				(799, 560)
				(1155, 362))
			    line_style 	0)
			(object RoleView "targetTable" @159
			    Parent_View 	@156
			    location   	(-1187, -271)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @160
				Parent_View 	@159
				location   	(277, 721)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	233
				justify    	0
				label      	"+targetTable"
				pctDist    	1.310104
				height     	116
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37974803AB"
			    client     	@156
			    supplier   	@139
			    vertices   	(list Points
				(799, 560)
				(442, 759))
			    line_style 	0
			    label      	(object SegLabel @161
				Parent_View 	@159
				location   	(444, 727)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.959609
				height     	29
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$80" @162
		    location   	(1116, 558)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"412F99C002F9"
		    roleview_list 	(list RoleViews
			(object RoleView "targetColumnList" @163
			    Parent_View 	@162
			    location   	(-158, 259)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @164
				Parent_View 	@163
				location   	(833, 709)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	351
				justify    	0
				label      	"+targetColumnList"
				pctDist    	1.197456
				height     	168
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F99C102FA"
			    client     	@162
			    supplier   	@141
			    vertices   	(list Points
				(1116, 558)
				(999, 755))
			    line_style 	0
			    label      	(object SegLabel @165
				Parent_View 	@163
				location   	(1099, 707)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.604079
				height     	61
				orientation 	0)
			    label      	(object SegLabel @166
				Parent_View 	@163
				location   	(1229, 711)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	182
				justify    	0
				label      	"{ordered}"
				pctDist    	0.322264
				height     	175
				orientation 	0))
			(object RoleView "insertStatement" @167
			    Parent_View 	@162
			    location   	(-158, 259)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @168
				Parent_View 	@167
				location   	(1146, 424)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	326
				justify    	0
				label      	"+insertStatement"
				pctDist    	0.579908
				height     	44
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F99C1030F"
			    client     	@162
			    supplier   	@142
			    vertices   	(list Points
				(1116, 558)
				(1232, 362))
			    line_style 	0)))))
	(object ClassDiagram "TableReference"
	    quid       	"3B37EE12005F"
	    title      	"TableReference"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	913
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @169
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(390, 169)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@169
			location   	(218, 63)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    compartment 	(object Compartment
			Parent_View 	@169
			location   	(218, 124)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	TRUE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	221
			justify    	1)
		    width      	362
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableJoinedOperator" @170
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1963, 2561)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@170
			location   	(1726, 2402)
			fill_color 	13434879
			nlines     	1
			max_width  	474
			justify    	0
			label      	"TableJoinedOperator")
		    stereotype 	(object ItemLabel
			Parent_View 	@170
			location   	(1726, 2352)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	474
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A10F70322"
		    compartment 	(object Compartment
			Parent_View 	@170
			location   	(1726, 2463)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	6
			max_width  	384
			justify    	1)
		    width      	492
		    height     	442
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySearchCondition" @171
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1890, 1416)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@171
			location   	(1618, 1363)
			fill_color 	13434879
			nlines     	1
			max_width  	544
			justify    	0
			label      	"QuerySearchCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B378C160224"
		    width      	562
		    height     	131
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableJoined" @172
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1654, 1056)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@172
			location   	(1316, 978)
			fill_color 	13434879
			nlines     	1
			max_width  	676
			justify    	0
			label      	"TableJoined")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37EEB00323"
		    compartment 	(object Compartment
			Parent_View 	@172
			location   	(1316, 1039)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	684
			justify    	1)
		    width      	694
		    height     	181
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$12" @173
		    location   	(1779, 1248)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37EF760210"
		    roleview_list 	(list RoleViews
			(object RoleView "tableJoined" @174
			    Parent_View 	@173
			    location   	(1460, -312)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @175
				Parent_View 	@174
				location   	(1896, 1203)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	235
				justify    	0
				label      	"+tableJoined"
				pctDist    	-0.222655
				height     	123
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37EF770117"
			    client     	@173
			    supplier   	@172
			    vertices   	(list Points
				(1779, 1248)
				(1712, 1146))
			    line_style 	0)
			(object RoleView "joinCondition" @176
			    Parent_View 	@173
			    location   	(1460, -312)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @177
				Parent_View 	@176
				location   	(2087, 1321)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	258
				justify    	0
				label      	"+joinCondition"
				pctDist    	1.891403
				height     	218
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37EF770121"
			    client     	@173
			    supplier   	@171
			    vertices   	(list Points
				(1779, 1248)
				(1846, 1350))
			    line_style 	0
			    label      	(object SegLabel @178
				Parent_View 	@176
				location   	(1896, 1317)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.993213
				height     	61
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::TableReference" @179
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1110, 169)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@179
			location   	(888, 119)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"TableReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37EE200178"
		    width      	462
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$13" @180
		    location   	(1851, 389)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37EFFB0315"
		    roleview_list 	(list RoleViews
			(object RoleView "tableJoinedRight" @181
			    Parent_View 	@180
			    location   	(863, -11)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @182
				Parent_View 	@181
				location   	(1926, 926)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	319
				justify    	0
				label      	"+tableJoinedRight"
				pctDist    	0.746478
				height     	108
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37EFFD01CE"
			    client     	@180
			    supplier   	@172
			    vertices   	(list Points
				(1851, 389)
				(1851, 847)
				(1737, 965))
			    line_style 	0
			    label      	(object SegLabel @183
				Parent_View 	@181
				location   	(1862, 900)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.784375
				height     	45
				orientation 	0))
			(object RoleView "tableRefRight" @184
			    Parent_View 	@180
			    location   	(863, -11)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @185
				Parent_View 	@184
				location   	(1559, 283)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+tableRefRight"
				pctDist    	0.635631
				height     	46
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37EFFD01D8"
			    client     	@180
			    supplier   	@179
			    vertices   	(list Points
				(1851, 389)
				(1851, 282)
				(1341, 204))
			    line_style 	0
			    label      	(object SegLabel @186
				Parent_View 	@184
				location   	(1390, 171)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.929236
				height     	41
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$14" @187
		    location   	(1654, 469)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F011008C"
		    roleview_list 	(list RoleViews
			(object RoleView "tableJoinedLeft" @188
			    Parent_View 	@187
			    location   	(666, 69)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @189
				Parent_View 	@188
				location   	(1536, 895)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	299
				justify    	0
				label      	"+tableJoinedLeft"
				pctDist    	0.859642
				height     	119
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F01200E8"
			    client     	@187
			    supplier   	@172
			    vertices   	(list Points
				(1654, 469)
				(1654, 965))
			    line_style 	0
			    label      	(object SegLabel @190
				Parent_View 	@188
				location   	(1700, 890)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.847958
				height     	46
				orientation 	0))
			(object RoleView "tableRefLeft" @191
			    Parent_View 	@187
			    location   	(666, 69)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @192
				Parent_View 	@191
				location   	(1371, 362)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+tableRefLeft"
				pctDist    	0.712183
				height     	83
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F01200F2"
			    client     	@187
			    supplier   	@179
			    vertices   	(list Points
				(1654, 469)
				(1654, 388)
				(1269, 231))
			    line_style 	0
			    label      	(object SegLabel @193
				Parent_View 	@191
				location   	(1321, 296)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.856248
				height     	41
				orientation 	0))))
		(object InheritView "" @194
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404922A50195"
		    client     	@179
		    supplier   	@169
		    vertices   	(list Points
			(878, 169)
			(571, 169))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableNested" @195
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 845)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@195
			location   	(1052, 794)
			fill_color 	13434879
			nlines     	1
			max_width  	262
			justify    	0
			label      	"TableNested")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"404924F0038D"
		    width      	280
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$73" @196
		    location   	(1250, 501)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404925200025"
		    roleview_list 	(list RoleViews
			(object RoleView "nestedTableRef" @197
			    Parent_View 	@196
			    location   	(248, -479)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @198
				Parent_View 	@197
				location   	(1065, 351)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	306
				justify    	0
				label      	"+nestedTableRef"
				pctDist    	0.721742
				height     	112
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"404925230029"
			    client     	@196
			    supplier   	@179
			    vertices   	(list Points
				(1250, 501)
				(1135, 231))
			    line_style 	0
			    label      	(object SegLabel @199
				Parent_View 	@197
				location   	(1197, 239)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "nest" @200
			    Parent_View 	@196
			    location   	(248, -479)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @201
				Parent_View 	@200
				location   	(1359, 720)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	260
				justify    	0
				label      	"+nest"
				pctDist    	0.645115
				height     	131
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"404925230034"
			    client     	@196
			    supplier   	@195
			    vertices   	(list Points
				(1250, 501)
				(1273, 556)
				(1202, 781))
			    line_style 	0)))
		(object NoteView @202
		    location   	(221, 1677)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@202
			location   	(71, 1486)
			fill_color 	13434879
			nlines     	7
			max_width  	265
			justify    	1
			label      	"Acts as a query model representation (proxy) for a table or view in a relational database")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	325
		    height     	394)
		(object ClassView "Class" "Logical View::SQLQueryModel::WithTableSpecification" @203
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1742, 2223)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@203
			location   	(1520, 2171)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"WithTableSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37EEBD019C"
		    width      	462
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::WithTableReference" @204
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1742, 1924)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@204
			location   	(1543, 1873)
			fill_color 	13434879
			nlines     	1
			max_width  	398
			justify    	0
			label      	"WithTableReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"41F971470060"
		    width      	416
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$88" @205
		    location   	(1742, 2072)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41F973BA0398"
		    roleview_list 	(list RoleViews
			(object RoleView "withTableSpecification" @206
			    Parent_View 	@205
			    location   	(0, 148)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @207
				Parent_View 	@206
				location   	(1506, 2115)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	434
				justify    	0
				label      	"+withTableSpecification"
				pctDist    	0.503192
				height     	237
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41F973BD01CC"
			    client     	@205
			    supplier   	@203
			    vertices   	(list Points
				(1742, 2072)
				(1742, 2158))
			    line_style 	0
			    label      	(object SegLabel @208
				Parent_View 	@206
				location   	(1796, 2149)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "withTableReferences" @209
			    Parent_View 	@205
			    location   	(0, 148)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @210
				Parent_View 	@209
				location   	(1506, 2013)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	399
				justify    	0
				label      	"+withTableReferences"
				pctDist    	0.696619
				height     	237
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41F973BD01CE"
			    client     	@205
			    supplier   	@204
			    vertices   	(list Points
				(1742, 2072)
				(1742, 1987))
			    line_style 	0
			    label      	(object SegLabel @211
				Parent_View 	@209
				location   	(1809, 2024)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.564706
				height     	67
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::ColumnName" @212
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(388, 469)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@212
			location   	(163, 422)
			fill_color 	13434879
			nlines     	1
			max_width  	451
			justify    	0
			label      	"ColumnName")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4049226F035A"
		    width      	469
		    height     	119
		    annotation 	8)
		(object InheritView "" @213
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404923E20186"
		    client     	@212
		    supplier   	@169
		    vertices   	(list Points
			(390, 410)
			(390, 287))
		    line_style 	3
		    origin_attachment 	(390, 410)
		    terminal_attachment 	(390, 287))
		(object InheritTreeView "" @214
		    location   	(1104, 613)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@179
		    vertices   	(list Points
			(1104, 613)
			(1104, 231)))
		(object InheritView "" @215
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40492517032F"
		    client     	@195
		    supplier   	@179
		    vertices   	(list Points
			(1166, 781)
			(1166, 613))
		    line_style 	3
		    origin_attachment 	(1166, 781)
		    terminal_attachment 	(1166, 613)
		    drawSupplier 	@214)
		(object InheritView "" @216
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C1FB7EA0080"
		    client     	@172
		    supplier   	@179
		    vertices   	(list Points
			(1551, 966)
			(1551, 613))
		    line_style 	3
		    origin_attachment 	(1551, 966)
		    terminal_attachment 	(1551, 613)
		    drawSupplier 	@214)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableCorrelation" @217
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(390, 741)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@217
			location   	(230, 690)
			fill_color 	13434879
			nlines     	1
			max_width  	320
			justify    	0
			label      	"TableCorrelation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"412F8BD80253"
		    width      	338
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$79" @218
		    location   	(388, 602)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"412F8DAA01C1"
		    roleview_list 	(list RoleViews
			(object RoleView "columnNameList" @219
			    Parent_View 	@218
			    location   	(-2, -139)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @220
				Parent_View 	@219
				location   	(202, 555)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	346
				justify    	0
				label      	"+columnNameList"
				pctDist    	0.653333
				height     	187
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F8DAB02BD"
			    client     	@218
			    supplier   	@212
			    vertices   	(list Points
				(388, 602)
				(388, 528))
			    line_style 	0
			    label      	(object SegLabel @221
				Parent_View 	@219
				location   	(455, 565)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.520000
				height     	67
				orientation 	1)
			    label      	(object SegLabel @222
				Parent_View 	@219
				location   	(599, 564)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	176
				justify    	0
				label      	"{ordered}"
				pctDist    	0.533333
				height     	211
				orientation 	1))
			(object RoleView "tableCorrelation" @223
			    Parent_View 	@218
			    location   	(-2, -139)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @224
				Parent_View 	@223
				location   	(209, 650)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	330
				justify    	0
				label      	"+tableCorrelation"
				pctDist    	0.607892
				height     	181
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F8DAB02C7"
			    client     	@218
			    supplier   	@217
			    vertices   	(list Points
				(388, 602)
				(389, 677))
			    line_style 	0)))
		(object InheritView "" @225
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"412F9AEA0288"
		    client     	@217
		    supplier   	@169
		    vertices   	(list Points
			(559, 707)
			(713, 677)
			(713, 262)
			(571, 220))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLModel::Tables::Table" @226
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(351, 2132)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@226
			location   	(256, 2057)
			fill_color 	13434879
			nlines     	1
			max_width  	190
			justify    	0
			label      	"Table")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3E9B1FB60047"
		    width      	208
		    height     	174
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableExpression" @227
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(858, 1053)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@227
			location   	(533, 978)
			fill_color 	13434879
			nlines     	1
			max_width  	651
			justify    	0
			label      	"TableExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37EE600288"
		    width      	669
		    height     	175
		    annotation 	8)
		(object InheritView "" @228
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C1FB7ED00E8"
		    client     	@227
		    supplier   	@179
		    vertices   	(list Points
			(847, 966)
			(847, 613))
		    line_style 	3
		    origin_attachment 	(847, 966)
		    terminal_attachment 	(847, 613)
		    drawSupplier 	@214)
		(object AssociationViewNew "$UNNAMED$78" @229
		    location   	(605, 884)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"412F8CBC0208"
		    roleview_list 	(list RoleViews
			(object RoleView "tableCorrelation" @230
			    Parent_View 	@229
			    location   	(-123, -169)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @231
				Parent_View 	@230
				location   	(310, 853)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	330
				justify    	0
				label      	"+tableCorrelation"
				pctDist    	1.832925
				height     	138
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F8CBE0297"
			    client     	@229
			    supplier   	@217
			    vertices   	(list Points
				(605, 884)
				(484, 804))
			    line_style 	0
			    label      	(object SegLabel @232
				Parent_View 	@230
				location   	(619, 834)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.117820
				height     	50
				orientation 	1))
			(object RoleView "tableExpr" @233
			    Parent_View 	@229
			    location   	(-123, -169)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @234
				Parent_View 	@233
				location   	(520, 943)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	207
				justify    	0
				label      	"+tableExpr"
				pctDist    	-0.277770
				height     	97
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F8CBE02BF"
			    client     	@229
			    supplier   	@227
			    vertices   	(list Points
				(605, 884)
				(726, 965))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::TableInDatabase" @235
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(689, 1716)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@235
			location   	(524, 1665)
			fill_color 	13434879
			nlines     	1
			max_width  	330
			justify    	0
			label      	"TableInDatabase")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3BF3D3560327"
		    width      	348
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$76" @236
		    location   	(528, 1911)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"412F75A3032D"
		    roleview_list 	(list RoleViews
			(object RoleView "databaseTable " @237
			    Parent_View 	@236
			    location   	(125, 442)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @238
				Parent_View 	@237
				location   	(271, 2005)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	307
				justify    	0
				label      	"+databaseTable "
				pctDist    	1.371920
				height     	142
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F75A50055"
			    client     	@236
			    supplier   	@226
			    vertices   	(list Points
				(528, 1911)
				(421, 2044))
			    line_style 	0
			    label      	(object SegLabel @239
				Parent_View 	@237
				location   	(502, 2012)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.556490
				height     	43
				orientation 	0))
			(object RoleView "$UNNAMED$77" @240
			    Parent_View 	@236
			    location   	(125, 442)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @241
				Parent_View 	@240
				location   	(582, 1780)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	259
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"412F75A50073"
			    client     	@236
			    supplier   	@235
			    vertices   	(list Points
				(528, 1911)
				(636, 1779))
			    line_style 	0)))
		(object AttachView "" @242
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@235
		    supplier   	@202
		    vertices   	(list Points
			(514, 1701)
			(383, 1689))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionColumn" @243
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(390, 1352)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@243
			location   	(154, 1301)
			fill_color 	13434879
			nlines     	1
			max_width  	472
			justify    	0
			label      	"ValueExpressionColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EAF00BB"
		    width      	490
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$71" @244
		    location   	(602, 1214)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8C1E7D0239"
		    roleview_list 	(list RoleViews
			(object RoleView "columnList" @245
			    Parent_View 	@244
			    location   	(-256, 161)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @246
				Parent_View 	@245
				location   	(309, 1252)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	354
				justify    	0
				label      	"+columnList"
				pctDist    	1.970590
				height     	128
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8C1E7E0172"
			    client     	@244
			    supplier   	@243
			    vertices   	(list Points
				(602, 1214)
				(487, 1288))
			    line_style 	0
			    label      	(object SegLabel @247
				Parent_View 	@245
				location   	(620, 1261)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.081439
				height     	49
				orientation 	0)
			    label      	(object SegLabel @248
				Parent_View 	@245
				location   	(749, 1258)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	176
				justify    	0
				label      	"{ordered}"
				pctDist    	-0.739960
				height     	117
				orientation 	0))
			(object RoleView "parentTableExpr" @249
			    Parent_View 	@244
			    location   	(-256, 161)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @250
				Parent_View 	@249
				location   	(504, 1175)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	319
				justify    	0
				label      	"+parentTableExpr"
				pctDist    	-0.450243
				height     	87
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8C1E7E0168"
			    client     	@244
			    supplier   	@227
			    vertices   	(list Points
				(602, 1214)
				(718, 1140))
			    line_style 	0
			    label      	(object SegLabel @251
				Parent_View 	@249
				location   	(737, 1180)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.953940
				height     	44
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$94" @252
		    location   	(538, 1533)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4238889402F3"
		    roleview_list 	(list RoleViews
			(object RoleView "tableInDatabase" @253
			    Parent_View 	@252
			    location   	(148, 181)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @254
				Parent_View 	@253
				location   	(791, 1615)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	316
				justify    	0
				label      	"+tableInDatabase"
				pctDist    	1.458027
				height     	144
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4238889502A4"
			    client     	@252
			    supplier   	@235
			    vertices   	(list Points
				(538, 1533)
				(636, 1652))
			    line_style 	0
			    label      	(object SegLabel @255
				Parent_View 	@253
				location   	(549, 1619)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.481001
				height     	47
				orientation 	1))
			(object RoleView "derivedColumnList" @256
			    Parent_View 	@252
			    location   	(148, 181)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @257
				Parent_View 	@256
				location   	(677, 1455)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	359
				justify    	0
				label      	"+derivedColumnList"
				pctDist    	-0.178331
				height     	158
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4238889502A6"
			    client     	@252
			    supplier   	@243
			    vertices   	(list Points
				(538, 1533)
				(441, 1415))
			    line_style 	0
			    label      	(object SegLabel @258
				Parent_View 	@256
				location   	(403, 1447)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	1.005357
				height     	50
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLModel::Routines::Function" @259
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1261, 2431)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@259
			location   	(1149, 2356)
			fill_color 	13434879
			nlines     	1
			max_width  	224
			justify    	0
			label      	"Function")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3F3D3B50012C"
		    width      	242
		    height     	174
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @260
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(689, 2405)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@260
			location   	(467, 2353)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	462
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableFunction" @261
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1001, 1924)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@261
			location   	(859, 1872)
			fill_color 	13434879
			nlines     	1
			max_width  	284
			justify    	0
			label      	"TableFunction")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3BF3D3E801A0"
		    width      	302
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$96" @262
		    location   	(1125, 2165)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"486BCF040297"
		    roleview_list 	(list RoleViews
			(object RoleView "function" @263
			    Parent_View 	@262
			    location   	(124, 241)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @264
				Parent_View 	@263
				location   	(1318, 2319)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	182
				justify    	0
				label      	"+function"
				pctDist    	1.116452
				height     	102
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"486BCF060041"
			    client     	@262
			    supplier   	@259
			    vertices   	(list Points
				(1125, 2165)
				(1216, 2343))
			    line_style 	0
			    label      	(object SegLabel @265
				Parent_View 	@263
				location   	(1153, 2311)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.716202
				height     	43
				orientation 	1))
			(object RoleView "$UNNAMED$97" @266
			    Parent_View 	@262
			    location   	(124, 241)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"486BCF060055"
			    client     	@262
			    supplier   	@261
			    vertices   	(list Points
				(1125, 2165)
				(1034, 1988))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$98" @267
		    location   	(844, 2164)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"486BCF89034A"
		    roleview_list 	(list RoleViews
			(object RoleView "parameterList" @268
			    Parent_View 	@267
			    location   	(-157, 240)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @269
				Parent_View 	@268
				location   	(574, 2296)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	279
				justify    	0
				label      	"+parameterList"
				pctDist    	1.230920
				height     	156
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"486BCF8B0036"
			    client     	@267
			    supplier   	@260
			    vertices   	(list Points
				(844, 2164)
				(730, 2340))
			    line_style 	0
			    label      	(object SegLabel @270
				Parent_View 	@268
				location   	(828, 2301)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.589830
				height     	61
				orientation 	0)
			    label      	(object SegLabel @271
				Parent_View 	@268
				location   	(965, 2303)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	160
				justify    	0
				label      	"{ordered}"
				pctDist    	0.242654
				height     	177
				orientation 	0))
			(object RoleView "tableFunction" @272
			    Parent_View 	@267
			    location   	(-157, 240)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @273
				Parent_View 	@272
				location   	(757, 2027)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	269
				justify    	0
				label      	"+tableFunction"
				pctDist    	0.324206
				height     	149
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"486BCF8B0054"
			    client     	@267
			    supplier   	@261
			    vertices   	(list Points
				(844, 2164)
				(958, 1988))
			    line_style 	0
			    label      	(object SegLabel @274
				Parent_View 	@272
				location   	(991, 2035)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object InheritTreeView "" @275
		    location   	(879, 1572)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@227
		    vertices   	(list Points
			(879, 1572)
			(879, 1140)))
		(object InheritView "" @276
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41F9736403D7"
		    client     	@204
		    supplier   	@227
		    vertices   	(list Points
			(1742, 1861)
			(1742, 1572))
		    line_style 	3
		    origin_attachment 	(1742, 1861)
		    terminal_attachment 	(1742, 1572)
		    drawSupplier 	@275)
		(object InheritView "" @277
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BF3D3DA011E"
		    client     	@235
		    supplier   	@227
		    vertices   	(list Points
			(689, 1653)
			(689, 1572))
		    line_style 	3
		    origin_attachment 	(689, 1653)
		    terminal_attachment 	(689, 1572)
		    drawSupplier 	@275)
		(object InheritView "" @278
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BF3D3F70129"
		    client     	@261
		    supplier   	@227
		    vertices   	(list Points
			(1001, 1860)
			(1001, 1572))
		    line_style 	3
		    origin_attachment 	(1001, 1860)
		    terminal_attachment 	(1001, 1572)
		    drawSupplier 	@275)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionBody" @279
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1378, 1716)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@279
			location   	(1134, 1666)
			fill_color 	13434879
			nlines     	1
			max_width  	488
			justify    	0
			label      	"QueryExpressionBody")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37924A01CC"
		    compartment 	(object Compartment
			Parent_View 	@279
			location   	(1134, 1727)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	TRUE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	390
			justify    	1)
		    width      	506
		    height     	125
		    annotation 	8)
		(object InheritView "" @280
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37EF4C0061"
		    client     	@279
		    supplier   	@227
		    vertices   	(list Points
			(1378, 1654)
			(1378, 1572))
		    line_style 	3
		    origin_attachment 	(1378, 1654)
		    terminal_attachment 	(1378, 1572)
		    drawSupplier 	@275)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableQueryLateral" @281
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2015, 1716)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@281
			location   	(1831, 1665)
			fill_color 	13434879
			nlines     	1
			max_width  	368
			justify    	0
			label      	"TableQueryLateral")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4E98855000BB"
		    width      	386
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @282
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4E98856A034B"
		    client     	@281
		    supplier   	@227
		    vertices   	(list Points
			(2010, 1653)
			(2010, 1572))
		    line_style 	3
		    origin_attachment 	(2010, 1653)
		    terminal_attachment 	(2010, 1572)
		    drawSupplier 	@275)
		(object AssociationViewNew "$UNNAMED$121" @283
		    location   	(1726, 1716)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4E9885A3001F"
		    roleview_list 	(list RoleViews
			(object RoleView "query" @284
			    Parent_View 	@283
			    location   	(-289, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @285
				Parent_View 	@284
				location   	(1701, 1675)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	138
				justify    	0
				label      	"+query"
				pctDist    	0.270833
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4E9885A5005D"
			    client     	@283
			    supplier   	@279
			    vertices   	(list Points
				(1726, 1716)
				(1631, 1716))
			    line_style 	0
			    label      	(object SegLabel @286
				Parent_View 	@284
				location   	(1642, 1770)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$122" @287
			    Parent_View 	@283
			    location   	(-289, 0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4E9885A5005F"
			    client     	@283
			    supplier   	@281
			    vertices   	(list Points
				(1726, 1716)
				(1821, 1716))
			    line_style 	0)))))
	(object ClassDiagram "QueryExpression"
	    quid       	"3B37F312024A"
	    title      	"QueryExpression"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	13
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySelect" @288
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(904, 1941)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@288
			location   	(713, 1869)
			fill_color 	13434879
			nlines     	1
			max_width  	382
			justify    	0
			label      	"QuerySelect")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F44F02C8"
		    width      	400
		    height     	169
		    annotation 	8)
		(object NoteView @289
		    location   	(453, 177)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@289
			location   	(106, 46)
			fill_color 	13434879
			nlines     	5
			max_width  	658
			justify    	1
			label      	"The SQL representation of a query expression may begin with either the SELECT or WITH keywords (indicating the presence of a WITH clause).")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	718
		    height     	275)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryCombinedOperator" @290
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1794, 2361)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@290
			location   	(1509, 2177)
			fill_color 	13434879
			nlines     	1
			max_width  	570
			justify    	0
			label      	"QueryCombinedOperator")
		    stereotype 	(object ItemLabel
			Parent_View 	@290
			location   	(1509, 2127)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	570
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A1F54022F"
		    width      	588
		    height     	492
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLModel::Expressions::QueryExpression" @291
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2145, 221)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@291
			location   	(1974, 114)
			fill_color 	13434879
			nlines     	1
			max_width  	342
			justify    	0
			label      	"QueryExpression")
		    stereotype 	(object ItemLabel
			Parent_View 	@291
			location   	(1974, 64)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	342
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14597606
		    quidu      	"3F392200019B"
		    width      	360
		    height     	338
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValues" @292
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(441, 1920)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@292
			location   	(260, 1870)
			fill_color 	13434879
			nlines     	1
			max_width  	363
			justify    	0
			label      	"QueryValues")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37969E01ED"
		    width      	381
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @293
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(442, 2496)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@293
			location   	(220, 2444)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	462
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValuesRow" @294
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(442, 2197)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@294
			location   	(320, 2146)
			fill_color 	13434879
			nlines     	1
			max_width  	244
			justify    	0
			label      	"ValuesRow")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3796910130"
		    width      	262
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$92" @295
		    location   	(441, 2057)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"42029BB0019B"
		    roleview_list 	(list RoleViews
			(object RoleView "valuesRowList" @296
			    Parent_View 	@295
			    location   	(-300, 614)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @297
				Parent_View 	@296
				location   	(257, 2096)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	284
				justify    	0
				label      	"+valuesRowList"
				pctDist    	0.518954
				height     	185
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"42029BB100A2"
			    client     	@295
			    supplier   	@294
			    vertices   	(list Points
				(441, 2057)
				(441, 2133))
			    line_style 	0
			    label      	(object SegLabel @298
				Parent_View 	@296
				location   	(493, 2095)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.504241
				height     	52
				orientation 	0)
			    label      	(object SegLabel @299
				Parent_View 	@296
				location   	(639, 2090)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	159
				justify    	0
				label      	"{ordered}"
				pctDist    	0.452484
				height     	198
				orientation 	0))
			(object RoleView "queryValues" @300
			    Parent_View 	@295
			    location   	(-300, 614)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @301
				Parent_View 	@300
				location   	(256, 2006)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	250
				justify    	0
				label      	"+queryValues"
				pctDist    	0.681612
				height     	186
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"42029BB100A4"
			    client     	@295
			    supplier   	@292
			    vertices   	(list Points
				(441, 2057)
				(441, 1982))
			    line_style 	0
			    label      	(object SegLabel @302
				Parent_View 	@300
				location   	(494, 1997)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.795327
				height     	53
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$11" @303
		    location   	(442, 2345)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37974E00C4"
		    roleview_list 	(list RoleViews
			(object RoleView "exprList" @304
			    Parent_View 	@303
			    location   	(-299, 629)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @305
				Parent_View 	@304
				location   	(326, 2400)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	174
				justify    	0
				label      	"+exprList"
				pctDist    	0.639535
				height     	117
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37974E02D9"
			    client     	@303
			    supplier   	@293
			    vertices   	(list Points
				(442, 2345)
				(442, 2431))
			    line_style 	0
			    label      	(object SegLabel @306
				Parent_View 	@304
				location   	(498, 2402)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.662791
				height     	56
				orientation 	0)
			    label      	(object SegLabel @307
				Parent_View 	@304
				location   	(644, 2396)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	159
				justify    	0
				label      	"{ordered}"
				pctDist    	0.604651
				height     	202
				orientation 	0))
			(object RoleView "valuesRow" @308
			    Parent_View 	@303
			    location   	(-299, 629)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @309
				Parent_View 	@308
				location   	(283, 2290)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	230
				justify    	0
				label      	"+valuesRow"
				pctDist    	0.647059
				height     	160
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37974E02D7"
			    client     	@303
			    supplier   	@294
			    vertices   	(list Points
				(442, 2345)
				(442, 2260))
			    line_style 	0)))
		(object NoteView @310
		    location   	(2040, 855)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@310
			location   	(1887, 664)
			fill_color 	13434879
			nlines     	7
			max_width  	271
			justify    	1
			label      	"The rowFetchLimit attribute is for the SQL clause FETCH FIRST n ROWS ONLY")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	331
		    height     	394)
		(object ClassView "Class" "Logical View::SQLQueryModel::ColumnName" @311
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 936)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@311
			location   	(279, 885)
			fill_color 	13434879
			nlines     	1
			max_width  	274
			justify    	0
			label      	"ColumnName")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4049226F035A"
		    width      	292
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryCombined" @312
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1791, 1944)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@312
			location   	(1591, 1872)
			fill_color 	13434879
			nlines     	1
			max_width  	401
			justify    	0
			label      	"QueryCombined")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F42D0189"
		    width      	419
		    height     	169
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @313
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1256, 220)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@313
			location   	(1025, 173)
			fill_color 	13434879
			nlines     	1
			max_width  	463
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37968301D1"
		    width      	481
		    height     	119
		    annotation 	8)
		(object AttachView "" @314
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@289
		    supplier   	@313
		    vertices   	(list Points
			(812, 195)
			(1015, 206))
		    line_style 	0)
		(object InheritView "" @315
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CD86A02F5"
		    client     	@313
		    supplier   	@291
		    vertices   	(list Points
			(1496, 220)
			(1964, 220))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::WithTableSpecification" @316
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(414, 567)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@316
			location   	(167, 520)
			fill_color 	13434879
			nlines     	1
			max_width  	494
			justify    	0
			label      	"WithTableSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37EEBD019C"
		    width      	512
		    height     	118
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$20" @317
		    location   	(829, 393)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F3FB0368"
		    roleview_list 	(list RoleViews
			(object RoleView "queryExpressionRoot " @318
			    Parent_View 	@317
			    location   	(582, -607)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @319
				Parent_View 	@318
				location   	(881, 347)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	424
				justify    	0
				label      	"+queryExpressionRoot "
				pctDist    	0.218980
				height     	23
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3FC0189"
			    client     	@317
			    supplier   	@313
			    vertices   	(list Points
				(829, 393)
				(1104, 279))
			    line_style 	0)
			(object RoleView "withClause" @320
			    Parent_View 	@317
			    location   	(582, -607)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @321
				Parent_View 	@320
				location   	(342, 471)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	226
				justify    	0
				label      	"+withClause"
				pctDist    	1.607051
				height     	113
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3FC0193"
			    client     	@317
			    supplier   	@316
			    vertices   	(list Points
				(829, 393)
				(551, 507))
			    line_style 	0
			    label      	(object SegLabel @322
				Parent_View 	@320
				location   	(521, 471)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	1.053957
				height     	47
				orientation 	1)
			    label      	(object SegLabel @323
				Parent_View 	@320
				location   	(683, 474)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.555443
				height     	19
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$89" @324
		    location   	(414, 749)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41F9748E0122"
		    roleview_list 	(list RoleViews
			(object RoleView "columnNameList" @325
			    Parent_View 	@324
			    location   	(-2, 8)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @326
				Parent_View 	@325
				location   	(231, 835)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	338
				justify    	0
				label      	"+columnNameList"
				pctDist    	0.691667
				height     	185
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41F9748F0099"
			    client     	@324
			    supplier   	@311
			    vertices   	(list Points
				(414, 749)
				(415, 872))
			    line_style 	0
			    label      	(object SegLabel @327
				Parent_View 	@325
				location   	(469, 836)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.716667
				height     	54
				orientation 	0)
			    label      	(object SegLabel @328
				Parent_View 	@325
				location   	(602, 832)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	159
				justify    	0
				label      	"{ordered}"
				pctDist    	0.694215
				height     	187
				orientation 	0))
			(object RoleView "withTableSpecification" @329
			    Parent_View 	@324
			    location   	(-2, 8)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @330
				Parent_View 	@329
				location   	(288, 704)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	434
				justify    	0
				label      	"+withTableSpecification"
				pctDist    	0.366667
				height     	127
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41F9748F009B"
			    client     	@324
			    supplier   	@316
			    vertices   	(list Points
				(414, 749)
				(414, 626))
			    line_style 	0
			    label      	(object SegLabel @331
				Parent_View 	@329
				location   	(529, 704)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.366667
				height     	115
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryNested" @332
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1326, 1924)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@332
			location   	(1191, 1873)
			fill_color 	13434879
			nlines     	1
			max_width  	270
			justify    	0
			label      	"QueryNested")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4445534B01A5"
		    width      	288
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderBySpecification" @333
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(663, 1443)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@333
			location   	(268, 1312)
			fill_color 	13434879
			nlines     	1
			max_width  	790
			justify    	0
			label      	"OrderBySpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"404D14E20381"
		    width      	808
		    height     	286
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionBody" @334
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1257, 855)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@334
			location   	(1004, 783)
			fill_color 	13434879
			nlines     	1
			max_width  	507
			justify    	0
			label      	"QueryExpressionBody")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37924A01CC"
		    width      	525
		    height     	169
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$65" @335
		    location   	(1744, 1274)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3A0F03019D"
		    roleview_list 	(list RoleViews
			(object RoleView "combinedLeft" @336
			    Parent_View 	@335
			    location   	(290, 278)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @337
				Parent_View 	@336
				location   	(1614, 1826)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	274
				justify    	0
				label      	"+combinedLeft"
				pctDist    	0.945545
				height     	176
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A0F060101"
			    client     	@335
			    supplier   	@312
			    vertices   	(list Points
				(1744, 1274)
				(1790, 1313)
				(1790, 1859))
			    line_style 	0)
			(object RoleView "leftQuery" @338
			    Parent_View 	@335
			    location   	(290, 278)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @339
				Parent_View 	@338
				location   	(1428, 1017)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	186
				justify    	0
				label      	"+leftQuery"
				pctDist    	0.791961
				height     	11
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A0F06011F"
			    client     	@335
			    supplier   	@334
			    vertices   	(list Points
				(1744, 1274)
				(1354, 939))
			    line_style 	0
			    label      	(object SegLabel @340
				Parent_View 	@338
				location   	(1701, 974)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.443658
				height     	199
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$66" @341
		    location   	(1908, 1283)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3A0F090214"
		    roleview_list 	(list RoleViews
			(object RoleView "combinedRight" @342
			    Parent_View 	@341
			    location   	(454, 287)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @343
				Parent_View 	@342
				location   	(2001, 1829)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	296
				justify    	0
				label      	"+combinedRight"
				pctDist    	0.873000
				height     	172
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A0F0C00CD"
			    client     	@341
			    supplier   	@312
			    vertices   	(list Points
				(1908, 1283)
				(1965, 1320)
				(1813, 1859))
			    line_style 	0)
			(object RoleView "rightQuery" @344
			    Parent_View 	@341
			    location   	(454, 287)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @345
				Parent_View 	@344
				location   	(1554, 974)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	220
				justify    	0
				label      	"+rightQuery"
				pctDist    	0.742963
				height     	65
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A0F0C00E1"
			    client     	@341
			    supplier   	@334
			    vertices   	(list Points
				(1908, 1283)
				(1385, 939))
			    line_style 	0
			    label      	(object SegLabel @346
				Parent_View 	@344
				location   	(1513, 1085)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.700636
				height     	52
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$21" @347
		    location   	(1256, 524)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F408023A"
		    roleview_list 	(list RoleViews
			(object RoleView "queryExpression" @348
			    Parent_View 	@347
			    location   	(-198, -472)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @349
				Parent_View 	@348
				location   	(1478, 329)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	330
				justify    	0
				label      	"+queryExpression"
				pctDist    	0.795918
				height     	222
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F40900F1"
			    client     	@347
			    supplier   	@313
			    vertices   	(list Points
				(1256, 524)
				(1256, 279))
			    line_style 	0)
			(object RoleView "query" @350
			    Parent_View 	@347
			    location   	(-198, -472)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @351
				Parent_View 	@350
				location   	(1348, 743)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	138
				justify    	0
				label      	"+query"
				pctDist    	0.890244
				height     	92
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F40900FB"
			    client     	@347
			    supplier   	@334
			    vertices   	(list Points
				(1256, 524)
				(1256, 770))
			    line_style 	0
			    label      	(object SegLabel @352
				Parent_View 	@350
				location   	(1448, 748)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.910569
				height     	192
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$87" @353
		    location   	(799, 698)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41F971E90098"
		    roleview_list 	(list RoleViews
			(object RoleView "withTableQueryExpr" @354
			    Parent_View 	@353
			    location   	(383, -43)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @355
				Parent_View 	@354
				location   	(925, 743)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	463
				justify    	0
				label      	"+withTableQueryExpr"
				pctDist    	0.597510
				height     	2
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41F971EA0088"
			    client     	@353
			    supplier   	@334
			    vertices   	(list Points
				(799, 698)
				(1012, 770))
			    line_style 	0
			    label      	(object SegLabel @356
				Parent_View 	@354
				location   	(1157, 752)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	1.591606
				height     	65
				orientation 	0))
			(object RoleView "withTableSpecification" @357
			    Parent_View 	@353
			    location   	(383, -43)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @358
				Parent_View 	@357
				location   	(887, 640)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	434
				justify    	0
				label      	"+withTableSpecification"
				pctDist    	-0.293783
				height     	84
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41F971EA0092"
			    client     	@353
			    supplier   	@316
			    vertices   	(list Points
				(799, 698)
				(591, 626))
			    line_style 	0
			    label      	(object SegLabel @359
				Parent_View 	@357
				location   	(1136, 639)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-1.340488
				height     	165
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$95" @360
		    location   	(1474, 1383)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4445749A0364"
		    roleview_list 	(list RoleViews
			(object RoleView "nestedQuery" @361
			    Parent_View 	@360
			    location   	(148, -60)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @362
				Parent_View 	@361
				location   	(1358, 1078)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+nestedQuery"
				pctDist    	0.699109
				height     	15
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4445749C0399"
			    client     	@360
			    supplier   	@334
			    vertices   	(list Points
				(1474, 1383)
				(1494, 1310)
				(1301, 939))
			    line_style 	0
			    label      	(object SegLabel @363
				Parent_View 	@361
				location   	(1546, 1032)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.608232
				height     	175
				orientation 	1))
			(object RoleView "queryNest" @364
			    Parent_View 	@360
			    location   	(148, -60)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @365
				Parent_View 	@364
				location   	(1196, 1823)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	214
				justify    	0
				label      	"+queryNest"
				pctDist    	1.006490
				height     	151
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4445749C039B"
			    client     	@360
			    supplier   	@332
			    vertices   	(list Points
				(1474, 1383)
				(1342, 1860))
			    line_style 	0)))
		(object AttachView "" @366
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@310
		    supplier   	@334
		    vertices   	(list Points
			(1874, 855)
			(1519, 855))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$116" @367
		    location   	(988, 1119)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"49D404D0038A"
		    roleview_list 	(list RoleViews
			(object RoleView "sortSpecList" @368
			    Parent_View 	@367
			    location   	(-269, 264)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @369
				Parent_View 	@368
				location   	(618, 1258)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	393
				justify    	0
				label      	"+sortSpecList"
				pctDist    	1.413446
				height     	164
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49D404D10261"
			    client     	@367
			    supplier   	@333
			    vertices   	(list Points
				(988, 1119)
				(805, 1299))
			    line_style 	0
			    label      	(object SegLabel @370
				Parent_View 	@368
				location   	(937, 1260)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.532449
				height     	64
				orientation 	0)
			    label      	(object SegLabel @371
				Parent_View 	@368
				location   	(1092, 1266)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	174
				justify    	0
				label      	"{ordered}"
				pctDist    	0.117087
				height     	177
				orientation 	0))
			(object RoleView "query" @372
			    Parent_View 	@367
			    location   	(-269, 264)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @373
				Parent_View 	@372
				location   	(1032, 966)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	138
				justify    	0
				label      	"+query"
				pctDist    	0.543836
				height     	79
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49D404D10271"
			    client     	@367
			    supplier   	@334
			    vertices   	(list Points
				(988, 1119)
				(1169, 939))
			    line_style 	0)))
		(object InheritTreeView "" @374
		    location   	(1259, 1714)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@334
		    vertices   	(list Points
			(1259, 1714)
			(1259, 939)))
		(object InheritView "" @375
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F464012E"
		    client     	@312
		    supplier   	@334
		    vertices   	(list Points
			(1769, 1859)
			(1769, 1714))
		    line_style 	3
		    origin_attachment 	(1769, 1859)
		    terminal_attachment 	(1769, 1714)
		    drawSupplier 	@374)
		(object InheritView "" @376
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F45F0131"
		    client     	@292
		    supplier   	@334
		    vertices   	(list Points
			(451, 1857)
			(451, 1714))
		    line_style 	3
		    origin_attachment 	(451, 1857)
		    terminal_attachment 	(451, 1714)
		    drawSupplier 	@374)
		(object InheritView "" @377
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4445535D0014"
		    client     	@332
		    supplier   	@334
		    vertices   	(list Points
			(1322, 1861)
			(1322, 1714))
		    line_style 	3
		    origin_attachment 	(1322, 1861)
		    terminal_attachment 	(1322, 1714)
		    drawSupplier 	@374)
		(object InheritView "" @378
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F4610260"
		    client     	@288
		    supplier   	@334
		    vertices   	(list Points
			(900, 1857)
			(900, 1714))
		    line_style 	3
		    origin_attachment 	(900, 1857)
		    terminal_attachment 	(900, 1714)
		    drawSupplier 	@374)))
	(object ClassDiagram "QuerySelect"
	    quid       	"3B37F5D70218"
	    title      	"QuerySelect"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySearchCondition" @379
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1822, 849)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@379
			location   	(1594, 802)
			fill_color 	13434879
			nlines     	1
			max_width  	457
			justify    	0
			label      	"QuerySearchCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B378C160224"
		    width      	475
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::GroupingSpecification" @380
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1993, 1180)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@380
			location   	(1727, 1130)
			fill_color 	13434879
			nlines     	1
			max_width  	532
			justify    	0
			label      	"GroupingSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37F63D0369"
		    width      	550
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryResultSpecification" @381
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(375, 849)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@381
			location   	(62, 799)
			fill_color 	13434879
			nlines     	1
			max_width  	626
			justify    	0
			label      	"QueryResultSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37F66102FD"
		    width      	644
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionVariable" @382
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(666, 1115)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@382
			location   	(394, 1065)
			fill_color 	13434879
			nlines     	1
			max_width  	545
			justify    	0
			label      	"ValueExpressionVariable")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EC5029D"
		    width      	563
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySelect" @383
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1256, 353)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@383
			location   	(1015, 272)
			fill_color 	13434879
			nlines     	1
			max_width  	482
			justify    	0
			label      	"QuerySelect")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F44F02C8"
		    width      	500
		    height     	187
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$22" @384
		    location   	(1672, 588)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F67B01C4"
		    roleview_list 	(list RoleViews
			(object RoleView "querySelectHaving" @385
			    Parent_View 	@384
			    location   	(1278, -96)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @386
				Parent_View 	@385
				location   	(1652, 492)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	364
				justify    	0
				label      	"+querySelectHaving"
				pctDist    	0.224277
				height     	73
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F67C007B"
			    client     	@384
			    supplier   	@383
			    vertices   	(list Points
				(1672, 588)
				(1423, 446))
			    line_style 	0)
			(object RoleView "havingClause" @387
			    Parent_View 	@384
			    location   	(1278, -96)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @388
				Parent_View 	@387
				location   	(1965, 737)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	262
				justify    	0
				label      	"+havingClause"
				pctDist    	0.820205
				height     	144
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F67C0085"
			    client     	@384
			    supplier   	@379
			    vertices   	(list Points
				(1672, 588)
				(1821, 672)
				(1821, 789))
			    line_style 	0
			    label      	(object SegLabel @389
				Parent_View 	@387
				location   	(1903, 709)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.721776
				height     	82
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$23" @390
		    location   	(1557, 617)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F67E0204"
		    roleview_list 	(list RoleViews
			(object RoleView "querySelectWhere" @391
			    Parent_View 	@390
			    location   	(1163, -67)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @392
				Parent_View 	@391
				location   	(1591, 582)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	373
				justify    	0
				label      	"+querySelectWhere"
				pctDist    	-0.010036
				height     	49
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F67F013D"
			    client     	@390
			    supplier   	@383
			    vertices   	(list Points
				(1557, 617)
				(1361, 446))
			    line_style 	0)
			(object RoleView "whereClause" @393
			    Parent_View 	@390
			    location   	(1163, -67)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @394
				Parent_View 	@393
				location   	(1715, 750)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	272
				justify    	0
				label      	"+whereClause"
				pctDist    	0.790456
				height     	4
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F67F013F"
			    client     	@390
			    supplier   	@379
			    vertices   	(list Points
				(1557, 617)
				(1752, 789))
			    line_style 	0
			    label      	(object SegLabel @395
				Parent_View 	@393
				location   	(1737, 712)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.750524
				height     	48
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$24" @396
		    location   	(2068, 605)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F6880259"
		    roleview_list 	(list RoleViews
			(object RoleView "querySelect" @397
			    Parent_View 	@396
			    location   	(940, -45)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @398
				Parent_View 	@397
				location   	(1704, 420)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	245
				justify    	0
				label      	"+querySelect"
				pctDist    	0.683879
				height     	68
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F6890174"
			    client     	@396
			    supplier   	@383
			    vertices   	(list Points
				(2068, 605)
				(1506, 430))
			    line_style 	0)
			(object RoleView "groupByClause" @399
			    Parent_View 	@396
			    location   	(940, -45)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @400
				Parent_View 	@399
				location   	(2238, 1082)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	298
				justify    	0
				label      	"+groupByClause"
				pctDist    	0.754846
				height     	151
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F6890176"
			    client     	@396
			    supplier   	@380
			    vertices   	(list Points
				(2068, 605)
				(2132, 625)
				(2132, 969)
				(2032, 1117))
			    line_style 	0
			    label      	(object SegLabel @401
				Parent_View 	@399
				location   	(1772, 1082)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	1.652583
				height     	235
				orientation 	0)
			    label      	(object SegLabel @402
				Parent_View 	@399
				location   	(1918, 1081)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	1.190321
				height     	115
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$25" @403
		    location   	(788, 616)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F6900264"
		    roleview_list 	(list RoleViews
			(object RoleView "querySelect" @404
			    Parent_View 	@403
			    location   	(-1043, -27)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @405
				Parent_View 	@404
				location   	(861, 491)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	245
				justify    	0
				label      	"+querySelect"
				pctDist    	0.361867
				height     	75
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F69102CA"
			    client     	@403
			    supplier   	@383
			    vertices   	(list Points
				(788, 616)
				(1087, 446))
			    line_style 	0)
			(object RoleView "selectClause" @406
			    Parent_View 	@403
			    location   	(-1043, -27)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @407
				Parent_View 	@406
				location   	(311, 754)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	257
				justify    	0
				label      	"+selectClause"
				pctDist    	1.399770
				height     	115
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F69102CC"
			    client     	@403
			    supplier   	@381
			    vertices   	(list Points
				(788, 616)
				(483, 786))
			    line_style 	0
			    label      	(object SegLabel @408
				Parent_View 	@406
				location   	(615, 759)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.638830
				height     	40
				orientation 	0)
			    label      	(object SegLabel @409
				Parent_View 	@406
				location   	(748, 759)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.305502
				height     	104
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$69" @410
		    location   	(948, 749)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3A5BBF0226"
		    roleview_list 	(list RoleViews
			(object RoleView "querySelect" @411
			    Parent_View 	@410
			    location   	(636, 587)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @412
				Parent_View 	@411
				location   	(1054, 567)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	245
				justify    	0
				label      	"+querySelect"
				pctDist    	0.544473
				height     	28
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A5BC0003C"
			    client     	@410
			    supplier   	@383
			    vertices   	(list Points
				(948, 749)
				(1182, 446))
			    line_style 	0)
			(object RoleView "intoClause" @413
			    Parent_View 	@410
			    location   	(636, 587)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @414
				Parent_View 	@413
				location   	(599, 1026)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	226
				justify    	0
				label      	"+intoClause"
				pctDist    	1.130962
				height     	107
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A5BC00046"
			    client     	@410
			    supplier   	@382
			    vertices   	(list Points
				(948, 749)
				(712, 1052))
			    line_style 	0
			    label      	(object SegLabel @415
				Parent_View 	@413
				location   	(825, 1024)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.765953
				height     	71
				orientation 	0)
			    label      	(object SegLabel @416
				Parent_View 	@413
				location   	(962, 1020)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.540037
				height     	177
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::TableReference" @417
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1253, 846)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@417
			location   	(1009, 799)
			fill_color 	13434879
			nlines     	1
			max_width  	489
			justify    	0
			label      	"TableReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37EE200178"
		    width      	507
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$26" @418
		    location   	(1254, 616)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F69401CA"
		    roleview_list 	(list RoleViews
			(object RoleView "querySelect" @419
			    Parent_View 	@418
			    location   	(-740, 385)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @420
				Parent_View 	@419
				location   	(1286, 528)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	245
				justify    	0
				label      	"+querySelect"
				pctDist    	0.516234
				height     	31
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F69403B4"
			    client     	@418
			    supplier   	@383
			    vertices   	(list Points
				(1254, 616)
				(1255, 446))
			    line_style 	0)
			(object RoleView "fromClause" @421
			    Parent_View 	@418
			    location   	(-740, 385)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @422
				Parent_View 	@421
				location   	(1120, 752)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	233
				justify    	0
				label      	"+fromClause"
				pctDist    	0.805966
				height     	134
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F69403BE"
			    client     	@418
			    supplier   	@417
			    vertices   	(list Points
				(1254, 616)
				(1253, 786))
			    line_style 	0
			    label      	(object SegLabel @423
				Parent_View 	@421
				location   	(1314, 750)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.792899
				height     	61
				orientation 	0)
			    label      	(object SegLabel @424
				Parent_View 	@421
				location   	(1440, 749)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.775148
				height     	187
				orientation 	0))))
		(object NoteView @425
		    location   	(376, 519)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@425
			location   	(151, 444)
			fill_color 	13434879
			nlines     	3
			max_width  	414
			justify    	1
			label      	
|"SELECT *" is implied if the select clause is empty.
			)
		    line_color 	3342489
		    fill_color 	16777088
		    width      	474
		    height     	162)
		(object AttachView "" @426
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@425
		    supplier   	@381
		    vertices   	(list Points
			(375, 600)
			(375, 786))
		    line_style 	0)))
	(object ClassDiagram "SearchCondition"
	    quid       	"3B37FA440267"
	    title      	"SearchCondition"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	1532
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::Predicate" @427
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 597)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@427
			location   	(963, 465)
			fill_color 	13434879
			nlines     	2
			max_width  	570
			justify    	0
			label      	"Predicate")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37F1C2039C"
		    width      	588
		    height     	288
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateQuantified" @428
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(976, 1077)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@428
			location   	(754, 1024)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"PredicateQuantified")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37FA7E008A"
		    width      	462
		    height     	131
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateIn" @429
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2635, 1091)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@429
			location   	(2422, 1019)
			fill_color 	13434879
			nlines     	1
			max_width  	426
			justify    	0
			label      	"PredicateIn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37FAB303B1"
		    width      	444
		    height     	168
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateBasic" @430
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(354, 1099)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@430
			location   	(57, 1018)
			fill_color 	13434879
			nlines     	1
			max_width  	594
			justify    	0
			label      	"PredicateBasic")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FA6F011F"
		    width      	612
		    height     	187
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @431
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(366, 1523)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@431
			location   	(144, 1476)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	462
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$28" @432
		    location   	(510, 1331)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FB2D01EA"
		    roleview_list 	(list RoleViews
			(object RoleView "basicRight" @433
			    Parent_View 	@432
			    location   	(207, 346)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @434
				Parent_View 	@433
				location   	(639, 1236)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	223
				justify    	0
				label      	"+basicRight"
				pctDist    	1.283784
				height     	129
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB2D03A3"
			    client     	@432
			    supplier   	@430
			    vertices   	(list Points
				(510, 1331)
				(510, 1257)
				(446, 1192))
			    line_style 	0)
			(object RoleView "rightValueExpr" @435
			    Parent_View 	@432
			    location   	(207, 346)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @436
				Parent_View 	@435
				location   	(683, 1429)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	293
				justify    	0
				label      	"+rightValueExpr"
				pctDist    	1.139535
				height     	173
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB2D03A5"
			    client     	@432
			    supplier   	@431
			    vertices   	(list Points
				(510, 1331)
				(510, 1417)
				(445, 1463))
			    line_style 	0
			    label      	(object SegLabel @437
				Parent_View 	@435
				location   	(568, 1370)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.237179
				height     	58
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$29" @438
		    location   	(359, 1327)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FB2F0215"
		    roleview_list 	(list RoleViews
			(object RoleView "basicLeft" @439
			    Parent_View 	@438
			    location   	(56, 342)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @440
				Parent_View 	@439
				location   	(225, 1233)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	191
				justify    	0
				label      	"+basicLeft"
				pctDist    	0.725568
				height     	133
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB2F03CE"
			    client     	@438
			    supplier   	@430
			    vertices   	(list Points
				(359, 1327)
				(355, 1192))
			    line_style 	0)
			(object RoleView "leftValueExpr" @441
			    Parent_View 	@438
			    location   	(56, 342)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @442
				Parent_View 	@441
				location   	(218, 1430)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	277
				justify    	0
				label      	"+leftValueExpr"
				pctDist    	0.734848
				height     	145
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB2F03D0"
			    client     	@438
			    supplier   	@431
			    vertices   	(list Points
				(359, 1327)
				(363, 1463))
			    line_style 	0
			    label      	(object SegLabel @443
				Parent_View 	@441
				location   	(317, 1369)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.310606
				height     	44
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateIsNull" @444
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3776, 1093)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@444
			location   	(3573, 1012)
			fill_color 	13434879
			nlines     	1
			max_width  	407
			justify    	0
			label      	"PredicateIsNull")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FAD50324"
		    width      	425
		    height     	187
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @445
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3776, 1530)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@445
			location   	(3548, 1477)
			fill_color 	13434879
			nlines     	1
			max_width  	457
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	475
		    height     	131
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$32" @446
		    location   	(3776, 1325)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FB600107"
		    roleview_list 	(list RoleViews
			(object RoleView "predicateNull" @447
			    Parent_View 	@446
			    location   	(35, 328)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @448
				Parent_View 	@447
				location   	(3946, 1235)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	259
				justify    	0
				label      	"+predicateNull"
				pctDist    	0.647482
				height     	170
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB6002E8"
			    client     	@446
			    supplier   	@444
			    vertices   	(list Points
				(3776, 1325)
				(3776, 1186))
			    line_style 	0)
			(object RoleView "valueExpr" @449
			    Parent_View 	@446
			    location   	(35, 328)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @450
				Parent_View 	@449
				location   	(3952, 1430)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.755396
				height     	176
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB6002F2"
			    client     	@446
			    supplier   	@445
			    vertices   	(list Points
				(3776, 1325)
				(3776, 1464))
			    line_style 	0
			    label      	(object SegLabel @451
				Parent_View 	@449
				location   	(3804, 1413)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.639219
				height     	28
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateInValueList" @452
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2688, 1957)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@452
			location   	(2400, 1904)
			fill_color 	13434879
			nlines     	2
			max_width  	576
			justify    	0
			label      	"PredicateInValueList")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FBF403E5"
		    width      	594
		    height     	131
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @453
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2684, 2322)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@453
			location   	(2456, 2272)
			fill_color 	13434879
			nlines     	1
			max_width  	457
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	475
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$33" @454
		    location   	(2802, 2162)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FCD10176"
		    roleview_list 	(list RoleViews
			(object RoleView "inValueListRight" @455
			    Parent_View 	@454
			    location   	(175, 559)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @456
				Parent_View 	@455
				location   	(2915, 2059)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	316
				justify    	0
				label      	"+inValueListRight"
				pctDist    	2.503333
				height     	29
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FCD20005"
			    client     	@454
			    supplier   	@452
			    vertices   	(list Points
				(2802, 2162)
				(2838, 2114)
				(2750, 2022))
			    line_style 	0)
			(object RoleView "valueExprList" @457
			    Parent_View 	@454
			    location   	(175, 559)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @458
				Parent_View 	@457
				location   	(2920, 2194)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	275
				justify    	0
				label      	"+valueExprList"
				pctDist    	-0.389587
				height     	113
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FCD20007"
			    client     	@454
			    supplier   	@453
			    vertices   	(list Points
				(2802, 2162)
				(2729, 2259))
			    line_style 	0
			    label      	(object SegLabel @459
				Parent_View 	@457
				location   	(2829, 2234)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.343136
				height     	65
				orientation 	0)
			    label      	(object SegLabel @460
				Parent_View 	@457
				location   	(2964, 2240)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	-0.315082
				height     	176
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$34" @461
		    location   	(2685, 2140)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FCD40044"
		    roleview_list 	(list RoleViews
			(object RoleView "inValueListLeft" @462
			    Parent_View 	@461
			    location   	(58, 537)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @463
				Parent_View 	@462
				location   	(2580, 2064)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	292
				justify    	0
				label      	"+inValueListLeft"
				pctDist    	0.637134
				height     	107
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FCD401AC"
			    client     	@461
			    supplier   	@452
			    vertices   	(list Points
				(2685, 2140)
				(2686, 2022))
			    line_style 	0)
			(object RoleView "valueExpr" @464
			    Parent_View 	@461
			    location   	(58, 537)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @465
				Parent_View 	@464
				location   	(2532, 2238)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.827586
				height     	153
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FCD401AE"
			    client     	@461
			    supplier   	@453
			    vertices   	(list Points
				(2685, 2140)
				(2684, 2259))
			    line_style 	0
			    label      	(object SegLabel @466
				Parent_View 	@464
				location   	(2636, 2190)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.420690
				height     	50
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @467
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3361, 2310)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@467
			location   	(3158, 2263)
			fill_color 	13434879
			nlines     	1
			max_width  	407
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	425
		    height     	118
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateInValueRowSelect" @468
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3360, 1957)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@468
			location   	(3060, 1904)
			fill_color 	13434879
			nlines     	1
			max_width  	600
			justify    	0
			label      	"PredicateInValueRowSelect")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FC0B03C0"
		    width      	618
		    height     	131
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$35" @469
		    location   	(3360, 2136)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD6F00A1"
		    roleview_list 	(list RoleViews
			(object RoleView "inValueRowSelectLeft" @470
			    Parent_View 	@469
			    location   	(185, 526)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @471
				Parent_View 	@470
				location   	(3293, 2120)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	424
				justify    	0
				label      	"+inValueRowSelectLeft"
				pctDist    	0.140351
				height     	67
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD6F0259"
			    client     	@469
			    supplier   	@468
			    vertices   	(list Points
				(3360, 2136)
				(3360, 2022))
			    line_style 	0)
			(object RoleView "valueExprList" @472
			    Parent_View 	@469
			    location   	(185, 526)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @473
				Parent_View 	@472
				location   	(3223, 2223)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	275
				justify    	0
				label      	"+valueExprList"
				pctDist    	0.763158
				height     	138
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD6F0263"
			    client     	@469
			    supplier   	@467
			    vertices   	(list Points
				(3360, 2136)
				(3360, 2250))
			    line_style 	0
			    label      	(object SegLabel @474
				Parent_View 	@472
				location   	(3431, 2219)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.736842
				height     	71
				orientation 	0)
			    label      	(object SegLabel @475
				Parent_View 	@472
				location   	(3569, 2214)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.692982
				height     	209
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @476
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3934, 2296)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@476
			location   	(3728, 2246)
			fill_color 	13434879
			nlines     	1
			max_width  	413
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37968301D1"
		    width      	431
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$36" @477
		    location   	(3650, 2127)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD710234"
		    roleview_list 	(list RoleViews
			(object RoleView "inValueRowSelectRight" @478
			    Parent_View 	@477
			    location   	(20, 533)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @479
				Parent_View 	@478
				location   	(3815, 2053)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	"+inValueRowSelectRight"
				pctDist    	-0.505387
				height     	147
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD7103A7"
			    client     	@477
			    supplier   	@468
			    vertices   	(list Points
				(3650, 2127)
				(3472, 2022))
			    line_style 	0)
			(object RoleView "queryExpr" @480
			    Parent_View 	@477
			    location   	(20, 533)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @481
				Parent_View 	@480
				location   	(3951, 2194)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	1.413222
				height     	96
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD7103B1"
			    client     	@477
			    supplier   	@476
			    vertices   	(list Points
				(3650, 2127)
				(3830, 2233))
			    line_style 	0
			    label      	(object SegLabel @482
				Parent_View 	@480
				location   	(3801, 2253)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.928068
				height     	32
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @483
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2337, 2517)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@483
			location   	(2134, 2470)
			fill_color 	13434879
			nlines     	1
			max_width  	407
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37968301D1"
		    width      	425
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateInValueSelect" @484
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2048, 1957)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@484
			location   	(1789, 1907)
			fill_color 	13434879
			nlines     	1
			max_width  	519
			justify    	0
			label      	"PredicateInValueSelect")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FBE4017F"
		    width      	537
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$37" @485
		    location   	(2336, 2205)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD7702A1"
		    roleview_list 	(list RoleViews
			(object RoleView "inValueSelectRight" @486
			    Parent_View 	@485
			    location   	(-51, 580)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @487
				Parent_View 	@486
				location   	(2272, 2090)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	372
				justify    	0
				label      	"+inValueSelectRight"
				pctDist    	0.495897
				height     	11
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD780090"
			    client     	@485
			    supplier   	@484
			    vertices   	(list Points
				(2336, 2205)
				(2336, 2145)
				(2144, 2019))
			    line_style 	0)
			(object RoleView "queryExpr" @488
			    Parent_View 	@485
			    location   	(-51, 580)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @489
				Parent_View 	@488
				location   	(2463, 2424)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	0.867544
				height     	127
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD78009A"
			    client     	@485
			    supplier   	@483
			    vertices   	(list Points
				(2336, 2205)
				(2336, 2457))
			    line_style 	0
			    label      	(object SegLabel @490
				Parent_View 	@488
				location   	(2292, 2428)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.883439
				height     	45
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @491
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2047, 2314)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@491
			location   	(1844, 2267)
			fill_color 	13434879
			nlines     	1
			max_width  	407
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	425
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$38" @492
		    location   	(2047, 2136)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD79036C"
		    roleview_list 	(list RoleViews
			(object RoleView "inValueSelectLeft" @493
			    Parent_View 	@492
			    location   	(88, 493)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @494
				Parent_View 	@493
				location   	(1897, 2068)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	347
				justify    	0
				label      	"+inValueSelectLeft"
				pctDist    	0.581197
				height     	150
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD7A0165"
			    client     	@492
			    supplier   	@484
			    vertices   	(list Points
				(2047, 2136)
				(2047, 2019))
			    line_style 	0)
			(object RoleView "valueExpr" @495
			    Parent_View 	@492
			    location   	(88, 493)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @496
				Parent_View 	@495
				location   	(1922, 2218)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.694915
				height     	125
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD7A016F"
			    client     	@492
			    supplier   	@491
			    vertices   	(list Points
				(2047, 2136)
				(2047, 2254))
			    line_style 	0
			    label      	(object SegLabel @497
				Parent_View 	@495
				location   	(2086, 2227)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.775624
				height     	39
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @498
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1485, 2514)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@498
			location   	(1282, 2467)
			fill_color 	13434879
			nlines     	1
			max_width  	407
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37968301D1"
		    width      	425
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateQuantifiedRowSelect" @499
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1341, 1977)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@499
			location   	(966, 1905)
			fill_color 	13434879
			nlines     	1
			max_width  	750
			justify    	0
			label      	"PredicateQuantifiedRowSelect")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FBB7024D"
		    width      	768
		    height     	168
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$39" @500
		    location   	(1459, 2219)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD810255"
		    roleview_list 	(list RoleViews
			(object RoleView "quantifiedRowSelectRight" @501
			    Parent_View 	@500
			    location   	(-72, 595)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @502
				Parent_View 	@501
				location   	(1663, 2118)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	492
				justify    	0
				label      	"+quantifiedRowSelectRight"
				pctDist    	0.001482
				height     	228
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD820044"
			    client     	@500
			    supplier   	@499
			    vertices   	(list Points
				(1459, 2219)
				(1382, 2061))
			    line_style 	0)
			(object RoleView "queryExpr" @503
			    Parent_View 	@500
			    location   	(-72, 595)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @504
				Parent_View 	@503
				location   	(1634, 2421)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	0.863300
				height     	149
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD820046"
			    client     	@500
			    supplier   	@498
			    vertices   	(list Points
				(1459, 2219)
				(1485, 2273)
				(1485, 2454))
			    line_style 	0
			    label      	(object SegLabel @505
				Parent_View 	@503
				location   	(1434, 2411)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.827158
				height     	52
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @506
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1066, 2323)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@506
			location   	(860, 2276)
			fill_color 	13434879
			nlines     	1
			max_width  	413
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	431
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$40" @507
		    location   	(1192, 2162)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD83038F"
		    roleview_list 	(list RoleViews
			(object RoleView "quantifiedRowSelectLeft" @508
			    Parent_View 	@507
			    location   	(111, 516)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @509
				Parent_View 	@508
				location   	(1140, 2109)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	460
				justify    	0
				label      	"+quantifiedRowSelectLeft"
				pctDist    	0.068071
				height     	74
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD840173"
			    client     	@507
			    supplier   	@499
			    vertices   	(list Points
				(1192, 2162)
				(1271, 2061))
			    line_style 	0)
			(object RoleView "valueExprList" @510
			    Parent_View 	@507
			    location   	(111, 516)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @511
				Parent_View 	@510
				location   	(969, 2228)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	275
				justify    	0
				label      	"+valueExprList"
				pctDist    	1.495824
				height     	134
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD840175"
			    client     	@507
			    supplier   	@506
			    vertices   	(list Points
				(1192, 2162)
				(1112, 2263))
			    line_style 	0
			    label      	(object SegLabel @512
				Parent_View 	@510
				location   	(1197, 2229)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.379549
				height     	46
				orientation 	0)
			    label      	(object SegLabel @513
				Parent_View 	@510
				location   	(1328, 2233)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	-0.246271
				height     	150
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateBetween" @514
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1545, 1095)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@514
			location   	(1304, 1020)
			fill_color 	13434879
			nlines     	1
			max_width  	482
			justify    	0
			label      	"PredicateBetween")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FA98004B"
		    width      	500
		    height     	175
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @515
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1535, 1523)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@515
			location   	(1307, 1473)
			fill_color 	13434879
			nlines     	1
			max_width  	457
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	475
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$43" @516
		    location   	(1317, 1326)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FE4D00D2"
		    roleview_list 	(list RoleViews
			(object RoleView "betweenLeft" @517
			    Parent_View 	@516
			    location   	(-161, 316)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @518
				Parent_View 	@517
				location   	(1217, 1214)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	244
				justify    	0
				label      	"+betweenLeft"
				pctDist    	1.287356
				height     	100
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FE4E0110"
			    client     	@516
			    supplier   	@514
			    vertices   	(list Points
				(1317, 1326)
				(1317, 1239)
				(1405, 1182))
			    line_style 	0)
			(object RoleView "leftValueExpr" @519
			    Parent_View 	@516
			    location   	(-161, 316)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @520
				Parent_View 	@519
				location   	(1225, 1426)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	277
				justify    	0
				label      	"+leftValueExpr"
				pctDist    	1.666667
				height     	92
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FE4E011A"
			    client     	@516
			    supplier   	@515
			    vertices   	(list Points
				(1317, 1326)
				(1317, 1386)
				(1436, 1460))
			    line_style 	0
			    label      	(object SegLabel @521
				Parent_View 	@519
				location   	(1367, 1389)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.521983
				height     	25
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$44" @522
		    location   	(1539, 1321)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FE530185"
		    roleview_list 	(list RoleViews
			(object RoleView "betweenRight1" @523
			    Parent_View 	@522
			    location   	(61, 311)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @524
				Parent_View 	@523
				location   	(1552, 1266)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	298
				justify    	0
				label      	"+betweenRight1"
				pctDist    	0.397517
				height     	12
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FE540078"
			    client     	@522
			    supplier   	@514
			    vertices   	(list Points
				(1539, 1321)
				(1542, 1182))
			    line_style 	0)
			(object RoleView "rightValueExpr1" @525
			    Parent_View 	@522
			    location   	(61, 311)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @526
				Parent_View 	@525
				location   	(1565, 1393)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	312
				justify    	0
				label      	"+rightValueExpr1"
				pctDist    	0.520900
				height     	28
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FE540083"
			    client     	@522
			    supplier   	@515
			    vertices   	(list Points
				(1539, 1321)
				(1536, 1460))
			    line_style 	0
			    label      	(object SegLabel @527
				Parent_View 	@525
				location   	(1509, 1437)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.836863
				height     	28
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$45" @528
		    location   	(1785, 1335)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FE560229"
		    roleview_list 	(list RoleViews
			(object RoleView "betweenRight2" @529
			    Parent_View 	@528
			    location   	(307, 325)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @530
				Parent_View 	@529
				location   	(1918, 1245)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	298
				justify    	0
				label      	"+betweenRight2"
				pctDist    	0.441176
				height     	133
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FE570068"
			    client     	@528
			    supplier   	@514
			    vertices   	(list Points
				(1785, 1335)
				(1785, 1236)
				(1695, 1182))
			    line_style 	0)
			(object RoleView "rightValueExpr2" @531
			    Parent_View 	@528
			    location   	(307, 325)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @532
				Parent_View 	@531
				location   	(1813, 1436)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	312
				justify    	0
				label      	"+rightValueExpr2"
				pctDist    	1.683333
				height     	28
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FE570072"
			    client     	@528
			    supplier   	@515
			    vertices   	(list Points
				(1785, 1335)
				(1785, 1395)
				(1657, 1460))
			    line_style 	0
			    label      	(object SegLabel @533
				Parent_View 	@531
				location   	(1627, 1436)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	1.082537
				height     	36
				orientation 	1))))
		(object InheritTreeView "" @534
		    location   	(976, 1755)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@428
		    vertices   	(list Points
			(976, 1755)
			(976, 1142)))
		(object InheritView "" @535
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FBD201F1"
		    client     	@499
		    supplier   	@428
		    vertices   	(list Points
			(1325, 1893)
			(1325, 1755))
		    line_style 	3
		    origin_attachment 	(1325, 1893)
		    terminal_attachment 	(1325, 1755)
		    drawSupplier 	@534)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @536
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(638, 2520)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@536
			location   	(426, 2473)
			fill_color 	13434879
			nlines     	1
			max_width  	425
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37968301D1"
		    width      	443
		    height     	118
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateQuantifiedValueSelect" @537
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(464, 2005)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@537
			location   	(61, 1905)
			fill_color 	13434879
			nlines     	1
			max_width  	807
			justify    	0
			label      	"PredicateQuantifiedValueSelect")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FB9C03C0"
		    width      	825
		    height     	225
		    annotation 	8)
		(object InheritView "" @538
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FBCF0360"
		    client     	@537
		    supplier   	@428
		    vertices   	(list Points
			(451, 1892)
			(451, 1755))
		    line_style 	3
		    origin_attachment 	(451, 1892)
		    terminal_attachment 	(451, 1755)
		    drawSupplier 	@534)
		(object AssociationViewNew "$UNNAMED$41" @539
		    location   	(638, 2333)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD8502FB"
		    roleview_list 	(list RoleViews
			(object RoleView "quantifiedValueSelectRight" @540
			    Parent_View 	@539
			    location   	(4, 715)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @541
				Parent_View 	@540
				location   	(794, 2152)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	518
				justify    	0
				label      	"+quantifiedValueSelectRight"
				pctDist    	3.016667
				height     	156
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD8600D6"
			    client     	@539
			    supplier   	@537
			    vertices   	(list Points
				(638, 2333)
				(638, 2273)
				(537, 2117))
			    line_style 	0)
			(object RoleView "queryExpr" @542
			    Parent_View 	@539
			    location   	(4, 715)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @543
				Parent_View 	@542
				location   	(770, 2443)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	0.866442
				height     	132
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD8600E0"
			    client     	@539
			    supplier   	@536
			    vertices   	(list Points
				(638, 2333)
				(638, 2460))
			    line_style 	0
			    label      	(object SegLabel @544
				Parent_View 	@542
				location   	(594, 2444)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.874494
				height     	45
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @545
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(273, 2332)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@545
			location   	(60, 2282)
			fill_color 	13434879
			nlines     	1
			max_width  	426
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	444
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$42" @546
		    location   	(352, 2193)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FD87024A"
		    roleview_list 	(list RoleViews
			(object RoleView "quantifiedValueSelectLeft" @547
			    Parent_View 	@546
			    location   	(149, 553)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @548
				Parent_View 	@547
				location   	(245, 2143)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	480
				justify    	0
				label      	"+quantifiedValueSelectLeft"
				pctDist    	-0.155475
				height     	119
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD880010"
			    client     	@546
			    supplier   	@537
			    vertices   	(list Points
				(352, 2193)
				(396, 2117))
			    line_style 	0)
			(object RoleView "valueExpr" @549
			    Parent_View 	@546
			    location   	(149, 553)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @550
				Parent_View 	@549
				location   	(206, 2233)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	1.228734
				height     	108
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FD880012"
			    client     	@546
			    supplier   	@545
			    vertices   	(list Points
				(352, 2193)
				(307, 2269))
			    line_style 	0
			    label      	(object SegLabel @551
				Parent_View 	@549
				location   	(400, 2244)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.244295
				height     	67
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateExists" @552
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2128, 1077)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@552
			location   	(1928, 1024)
			fill_color 	13434879
			nlines     	1
			max_width  	400
			justify    	0
			label      	"PredicateExists")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FAA50158"
		    width      	418
		    height     	131
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionBody" @553
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2128, 1521)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@553
			location   	(1859, 1471)
			fill_color 	13434879
			nlines     	1
			max_width  	538
			justify    	0
			label      	"QueryExpressionBody")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37924A01CC"
		    width      	556
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$67" @554
		    location   	(2128, 1300)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3A5AE7026B"
		    roleview_list 	(list RoleViews
			(object RoleView "predicateExists" @555
			    Parent_View 	@554
			    location   	(111, 297)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @556
				Parent_View 	@555
				location   	(2302, 1212)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	305
				justify    	0
				label      	"+predicateExists"
				pctDist    	0.566038
				height     	174
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A5AE800C8"
			    client     	@554
			    supplier   	@552
			    vertices   	(list Points
				(2128, 1300)
				(2128, 1142))
			    line_style 	0)
			(object RoleView "queryExpr" @557
			    Parent_View 	@554
			    location   	(111, 297)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @558
				Parent_View 	@557
				location   	(2278, 1417)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	0.743590
				height     	150
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A5AE800D2"
			    client     	@554
			    supplier   	@553
			    vertices   	(list Points
				(2128, 1300)
				(2128, 1458))
			    line_style 	0
			    label      	(object SegLabel @559
				Parent_View 	@557
				location   	(2084, 1411)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.708333
				height     	45
				orientation 	1))))
		(object InheritTreeView "" @560
		    location   	(1244, 875)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@427
		    vertices   	(list Points
			(1244, 875)
			(1244, 741)))
		(object InheritView "" @561
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FAED0039"
		    client     	@428
		    supplier   	@427
		    vertices   	(list Points
			(976, 1012)
			(976, 875))
		    line_style 	3
		    origin_attachment 	(976, 1012)
		    terminal_attachment 	(976, 875)
		    drawSupplier 	@560)
		(object InheritView "" @562
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FAF90376"
		    client     	@429
		    supplier   	@427
		    vertices   	(list Points
			(2629, 1007)
			(2629, 875))
		    line_style 	3
		    origin_attachment 	(2629, 1007)
		    terminal_attachment 	(2629, 875)
		    drawSupplier 	@560)
		(object InheritView "" @563
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FAEB00EB"
		    client     	@430
		    supplier   	@427
		    vertices   	(list Points
			(494, 1005)
			(494, 875))
		    line_style 	3
		    origin_attachment 	(494, 1005)
		    terminal_attachment 	(494, 875)
		    drawSupplier 	@560)
		(object InheritView "" @564
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FAFF02CA"
		    client     	@444
		    supplier   	@427
		    vertices   	(list Points
			(3757, 999)
			(3757, 875))
		    line_style 	3
		    origin_attachment 	(3757, 999)
		    terminal_attachment 	(3757, 875)
		    drawSupplier 	@560)
		(object InheritView "" @565
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FAF0028D"
		    client     	@514
		    supplier   	@427
		    vertices   	(list Points
			(1517, 1007)
			(1517, 875))
		    line_style 	3
		    origin_attachment 	(1517, 1007)
		    terminal_attachment 	(1517, 875)
		    drawSupplier 	@560)
		(object InheritView "" @566
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FAF302C3"
		    client     	@552
		    supplier   	@427
		    vertices   	(list Points
			(2104, 1012)
			(2104, 875))
		    line_style 	3
		    origin_attachment 	(2104, 1012)
		    terminal_attachment 	(2104, 875)
		    drawSupplier 	@560)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateLike" @567
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3216, 1093)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@567
			location   	(3007, 1018)
			fill_color 	13434879
			nlines     	1
			max_width  	419
			justify    	0
			label      	"PredicateLike")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37FAC702A2"
		    width      	437
		    height     	175
		    annotation 	8)
		(object InheritView "" @568
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FAFC0095"
		    client     	@567
		    supplier   	@427
		    vertices   	(list Points
			(3204, 1006)
			(3204, 875))
		    line_style 	3
		    origin_attachment 	(3204, 1006)
		    terminal_attachment 	(3204, 875)
		    drawSupplier 	@560)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @569
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3218, 1526)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@569
			location   	(2987, 1473)
			fill_color 	13434879
			nlines     	1
			max_width  	463
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	481
		    height     	131
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$30" @570
		    location   	(3216, 1320)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FB5501D4"
		    roleview_list 	(list RoleViews
			(object RoleView "likePattern" @571
			    Parent_View 	@570
			    location   	(63, 323)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @572
				Parent_View 	@571
				location   	(2900, 1228)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	226
				justify    	0
				label      	"+likePattern"
				pctDist    	0.657143
				height     	317
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB550396"
			    client     	@570
			    supplier   	@567
			    vertices   	(list Points
				(3216, 1320)
				(3216, 1180))
			    line_style 	0)
			(object RoleView "patternValueExpr" @573
			    Parent_View 	@570
			    location   	(63, 323)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @574
				Parent_View 	@573
				location   	(2972, 1430)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	343
				justify    	0
				label      	"+patternValueExpr"
				pctDist    	0.771429
				height     	246
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB550398"
			    client     	@570
			    supplier   	@569
			    vertices   	(list Points
				(3216, 1320)
				(3217, 1460))
			    line_style 	0
			    label      	(object SegLabel @575
				Parent_View 	@573
				location   	(3245, 1393)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.521429
				height     	28
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$31" @576
		    location   	(3000, 1326)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FB580282"
		    roleview_list 	(list RoleViews
			(object RoleView "likeMatching" @577
			    Parent_View 	@576
			    location   	(-153, 329)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @578
				Parent_View 	@577
				location   	(3204, 1256)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	269
				justify    	0
				label      	"+likeMatching"
				pctDist    	1.276894
				height     	130
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB59003F"
			    client     	@576
			    supplier   	@567
			    vertices   	(list Points
				(3000, 1326)
				(3000, 1242)
				(3087, 1180))
			    line_style 	0)
			(object RoleView "matchingValueExpr" @579
			    Parent_View 	@576
			    location   	(-153, 329)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @580
				Parent_View 	@579
				location   	(3420, 1432)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	384
				justify    	0
				label      	"+matchingValueExpr"
				pctDist    	2.764772
				height     	189
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37FB590049"
			    client     	@576
			    supplier   	@569
			    vertices   	(list Points
				(3000, 1326)
				(3000, 1386)
				(3115, 1460))
			    line_style 	0
			    label      	(object SegLabel @581
				Parent_View 	@579
				location   	(3103, 1398)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.783147
				height     	46
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$68" @582
		    location   	(3401, 1326)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3A5B53039D"
		    roleview_list 	(list RoleViews
			(object RoleView "likeEscape" @583
			    Parent_View 	@582
			    location   	(248, 329)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @584
				Parent_View 	@583
				location   	(3480, 1242)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	230
				justify    	0
				label      	"+likeEscape"
				pctDist    	0.464088
				height     	79
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A5B54018C"
			    client     	@582
			    supplier   	@567
			    vertices   	(list Points
				(3401, 1326)
				(3401, 1241)
				(3325, 1180))
			    line_style 	0)
			(object RoleView "escapeValueExpr" @585
			    Parent_View 	@582
			    location   	(248, 329)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @586
				Parent_View 	@585
				location   	(3572, 1391)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	356
				justify    	0
				label      	"+escapeValueExpr"
				pctDist    	0.364641
				height     	171
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A5B54018E"
			    client     	@582
			    supplier   	@569
			    vertices   	(list Points
				(3401, 1326)
				(3401, 1401)
				(3312, 1460))
			    line_style 	0
			    label      	(object SegLabel @587
				Parent_View 	@585
				location   	(3456, 1356)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	69
				justify    	0
				label      	"0..1"
				pctDist    	0.167630
				height     	55
				orientation 	0))))
		(object NoteView @588
		    location   	(1757, 1781)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@588
			location   	(1541, 1722)
			fill_color 	13434879
			nlines     	2
			max_width  	396
			justify    	1
			label      	"Quantifier ALL is not allowed.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	456
		    height     	131)
		(object AttachView "" @589
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@588
		    supplier   	@499
		    vertices   	(list Points
			(1617, 1846)
			(1518, 1892))
		    line_style 	0)
		(object InheritTreeView "" @590
		    location   	(2635, 1780)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@429
		    vertices   	(list Points
			(2635, 1780)
			(2635, 1175)))
		(object InheritView "" @591
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FC31016C"
		    client     	@468
		    supplier   	@429
		    vertices   	(list Points
			(3359, 1892)
			(3359, 1780))
		    line_style 	3
		    origin_attachment 	(3359, 1892)
		    terminal_attachment 	(3359, 1780)
		    drawSupplier 	@590)
		(object InheritView "" @592
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FC2D01A2"
		    client     	@484
		    supplier   	@429
		    vertices   	(list Points
			(2038, 1895)
			(2038, 1780))
		    line_style 	3
		    origin_attachment 	(2038, 1895)
		    terminal_attachment 	(2038, 1780)
		    drawSupplier 	@590)
		(object InheritView "" @593
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37FC2A039C"
		    client     	@452
		    supplier   	@429
		    vertices   	(list Points
			(2637, 1891)
			(2637, 1780))
		    line_style 	3
		    origin_attachment 	(2637, 1891)
		    terminal_attachment 	(2637, 1780)
		    drawSupplier 	@590)
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @594
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3225, 168)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@594
			location   	(3053, 62)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	362
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::SearchConditionCombined" @595
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2982, 568)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@595
			location   	(2526, 471)
			fill_color 	13434879
			nlines     	2
			max_width  	913
			justify    	0
			label      	"SearchConditionCombined")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F1CF032C"
		    width      	931
		    height     	219
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySearchCondition" @596
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2042, 165)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@596
			location   	(1770, 80)
			fill_color 	13434879
			nlines     	1
			max_width  	545
			justify    	0
			label      	"QuerySearchCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B378C160224"
		    width      	563
		    height     	194
		    annotation 	8)
		(object InheritTreeView "" @597
		    location   	(2042, 372)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@596
		    vertices   	(list Points
			(2042, 372)
			(2042, 262)))
		(object InheritView "" @598
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F1F101C3"
		    client     	@595
		    supplier   	@596
		    vertices   	(list Points
			(2830, 458)
			(2830, 372))
		    line_style 	3
		    origin_attachment 	(2830, 458)
		    terminal_attachment 	(2830, 372)
		    drawSupplier 	@597)
		(object AssociationViewNew "$UNNAMED$15" @599
		    location   	(2650, 287)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F2020023"
		    roleview_list 	(list RoleViews
			(object RoleView "combinedLeft" @600
			    Parent_View 	@599
			    location   	(1606, 34)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @601
				Parent_View 	@600
				location   	(2713, 417)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	284
				justify    	0
				label      	"+combinedLeft"
				pctDist    	0.262193
				height     	114
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F203013C"
			    client     	@599
			    supplier   	@595
			    vertices   	(list Points
				(2650, 287)
				(2816, 321)
				(2908, 458))
			    line_style 	0)
			(object RoleView "leftCondition" @602
			    Parent_View 	@599
			    location   	(1606, 34)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @603
				Parent_View 	@602
				location   	(2498, 295)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	246
				justify    	0
				label      	"+leftCondition"
				pctDist    	0.444038
				height     	39
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F2030147"
			    client     	@599
			    supplier   	@596
			    vertices   	(list Points
				(2650, 287)
				(2323, 221))
			    line_style 	0
			    label      	(object SegLabel @604
				Parent_View 	@602
				location   	(2364, 270)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.855370
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$16" @605
		    location   	(2727, 265)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F20B027E"
		    roleview_list 	(list RoleViews
			(object RoleView "combinedRight" @606
			    Parent_View 	@605
			    location   	(1683, 12)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @607
				Parent_View 	@606
				location   	(3163, 416)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	296
				justify    	0
				label      	"+combinedRight"
				pctDist    	0.905766
				height     	185
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F20C0262"
			    client     	@605
			    supplier   	@595
			    vertices   	(list Points
				(2727, 265)
				(2976, 302)
				(2979, 458))
			    line_style 	0)
			(object RoleView "rightCondition" @608
			    Parent_View 	@605
			    location   	(1683, 12)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @609
				Parent_View 	@608
				location   	(2527, 202)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	285
				justify    	0
				label      	"+rightCondition"
				pctDist    	0.506173
				height     	34
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F20C0264"
			    client     	@605
			    supplier   	@596
			    vertices   	(list Points
				(2727, 265)
				(2323, 205))
			    line_style 	0
			    label      	(object SegLabel @610
				Parent_View 	@608
				location   	(2372, 179)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	38
				justify    	0
				label      	"1"
				pctDist    	0.895062
				height     	34
				orientation 	1))))
		(object InheritView "" @611
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F1EE03E5"
		    client     	@427
		    supplier   	@596
		    vertices   	(list Points
			(1241, 452)
			(1241, 372))
		    line_style 	3
		    origin_attachment 	(1241, 452)
		    terminal_attachment 	(1241, 372)
		    drawSupplier 	@597)
		(object ClassView "Class" "Logical View::SQLQueryModel::SearchConditionNested" @612
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2028, 519)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@612
			location   	(1801, 468)
			fill_color 	13434879
			nlines     	1
			max_width  	454
			justify    	0
			label      	"SearchConditionNested")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"404C491D033E"
		    width      	472
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @613
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404C4949003E"
		    client     	@612
		    supplier   	@596
		    vertices   	(list Points
			(2029, 456)
			(2029, 372))
		    line_style 	3
		    origin_attachment 	(2029, 456)
		    terminal_attachment 	(2029, 372)
		    drawSupplier 	@597)
		(object AssociationViewNew "$UNNAMED$74" @614
		    location   	(2165, 374)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404C4A000222"
		    roleview_list 	(list RoleViews
			(object RoleView "nestedCondition" @615
			    Parent_View 	@614
			    location   	(146, -535)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @616
				Parent_View 	@615
				location   	(2036, 0)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	332
				justify    	0
				label      	"+nestedCondition"
				pctDist    	2.704954
				height     	124
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"404C4A030384"
			    client     	@614
			    supplier   	@596
			    vertices   	(list Points
				(2165, 374)
				(2207, 331)
				(2138, 262))
			    line_style 	0
			    label      	(object SegLabel @617
				Parent_View 	@615
				location   	(2220, 289)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.510090
				height     	40
				orientation 	1))
			(object RoleView "nest" @618
			    Parent_View 	@614
			    location   	(146, -535)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @619
				Parent_View 	@618
				location   	(2297, 421)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	447
				justify    	0
				label      	"+nest"
				pctDist    	-0.539508
				height     	127
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"404C4A030398"
			    client     	@614
			    supplier   	@612
			    vertices   	(list Points
				(2165, 374)
				(2087, 455))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateQuantifiedType" @620
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1352, 2795)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@620
			location   	(1075, 2686)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"PredicateQuantifiedType")
		    stereotype 	(object ItemLabel
			Parent_View 	@620
			location   	(1075, 2636)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	554
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A0500009D"
		    width      	572
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::PredicateComparisonOperator" @621
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3445, 2704)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@621
			location   	(3084, 2520)
			fill_color 	13434879
			nlines     	1
			max_width  	722
			justify    	0
			label      	"PredicateComparisonOperator")
		    stereotype 	(object ItemLabel
			Parent_View 	@621
			location   	(3084, 2470)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	722
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A0A6F00D9"
		    width      	740
		    height     	492
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::SearchConditionCombinedOperator" @622
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2379, 2808)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@622
			location   	(1988, 2724)
			fill_color 	13434879
			nlines     	1
			max_width  	782
			justify    	0
			label      	"SearchConditionCombinedOperator")
		    stereotype 	(object ItemLabel
			Parent_View 	@622
			location   	(1988, 2674)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	782
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A0FC50214"
		    width      	800
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLModel::Expressions::SearchCondition" @623
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1158, 168)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@623
			location   	(993, 61)
			fill_color 	13434879
			nlines     	1
			max_width  	330
			justify    	0
			label      	"SearchCondition")
		    stereotype 	(object ItemLabel
			Parent_View 	@623
			location   	(993, 11)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	330
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14597606
		    quidu      	"3FABEC590086"
		    width      	348
		    height     	338
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @624
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404C48A2002A"
		    client     	@596
		    supplier   	@594
		    vertices   	(list Points
			(2323, 165)
			(3043, 167))
		    line_style 	0)
		(object InheritView "" @625
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CD97202A5"
		    client     	@596
		    supplier   	@623
		    vertices   	(list Points
			(1760, 165)
			(1332, 167))
		    line_style 	0)))
	(object ClassDiagram "ValueExpression"
	    quid       	"3B389E6B0366"
	    title      	"ValueExpression"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	282
	    origin_y   	1050
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionSimple" @626
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(520, 1066)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@626
			location   	(248, 988)
			fill_color 	13434879
			nlines     	1
			max_width  	544
			justify    	0
			label      	"ValueExpressionSimple")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389E9103C5"
		    width      	562
		    height     	181
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionVariable" @627
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(878, 1759)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@627
			location   	(593, 1712)
			fill_color 	13434879
			nlines     	1
			max_width  	570
			justify    	0
			label      	"ValueExpressionVariable")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EC5029D"
		    width      	588
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionNullValue" @628
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2834, 1027)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@628
			location   	(2597, 980)
			fill_color 	13434879
			nlines     	2
			max_width  	475
			justify    	0
			label      	"ValueExpressionNullValue")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F460086"
		    width      	493
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionDefaultValue" @629
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3146, 1235)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@629
			location   	(2871, 1188)
			fill_color 	13434879
			nlines     	2
			max_width  	551
			justify    	0
			label      	"ValueExpressionDefaultValue")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F5E013E"
		    width      	569
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCase" @630
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3588, 1027)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@630
			location   	(3238, 980)
			fill_color 	13434879
			nlines     	1
			max_width  	700
			justify    	0
			label      	"ValueExpressionCase")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B389F19026C"
		    width      	718
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCaseElse" @631
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4349, 1352)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@631
			location   	(4018, 1305)
			fill_color 	13434879
			nlines     	1
			max_width  	663
			justify    	0
			label      	"ValueExpressionCaseElse")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A90D01A7"
		    width      	681
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$57" @632
		    location   	(3970, 1189)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A97000B9"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCase" @633
			    Parent_View 	@632
			    location   	(-392, 58)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @634
				Parent_View 	@633
				location   	(3777, 1180)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	302
				justify    	0
				label      	"+valueExprCase"
				pctDist    	0.699348
				height     	69
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A9700362"
			    client     	@632
			    supplier   	@630
			    vertices   	(list Points
				(3970, 1189)
				(3729, 1086))
			    line_style 	0)
			(object RoleView "caseElse" @635
			    Parent_View 	@632
			    location   	(-392, 58)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @636
				Parent_View 	@635
				location   	(4349, 1278)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	210
				justify    	0
				label      	"+caseElse"
				pctDist    	1.448063
				height     	66
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A970036C"
			    client     	@632
			    supplier   	@631
			    vertices   	(list Points
				(3970, 1189)
				(4214, 1292))
			    line_style 	0
			    label      	(object SegLabel @637
				Parent_View 	@635
				location   	(4009, 1239)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.202493
				height     	32
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCaseSimple" @638
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3965, 1744)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@638
			location   	(3640, 1694)
			fill_color 	13434879
			nlines     	1
			max_width  	651
			justify    	0
			label      	"ValueExpressionCaseSimple")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A8EF0082"
		    width      	669
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCaseSimpleContent" @639
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3656, 2162)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@639
			location   	(3271, 2112)
			fill_color 	13434879
			nlines     	2
			max_width  	770
			justify    	0
			label      	"ValueExpressionCaseSimpleContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A9C1019C"
		    width      	788
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$58" @640
		    location   	(3808, 1952)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38AA3102F2"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseSimple" @641
			    Parent_View 	@640
			    location   	(55, 409)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @642
				Parent_View 	@641
				location   	(3817, 1871)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	432
				justify    	0
				label      	"+valueExprCaseSimple"
				pctDist    	0.390186
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AA3200EA"
			    client     	@640
			    supplier   	@638
			    vertices   	(list Points
				(3808, 1952)
				(3916, 1806))
			    line_style 	0)
			(object RoleView "contentList" @643
			    Parent_View 	@640
			    location   	(55, 409)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @644
				Parent_View 	@643
				location   	(3563, 2063)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	228
				justify    	0
				label      	"+contentList"
				pctDist    	1.292129
				height     	133
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AA3200EC"
			    client     	@640
			    supplier   	@639
			    vertices   	(list Points
				(3808, 1952)
				(3700, 2099))
			    line_style 	0
			    label      	(object SegLabel @645
				Parent_View 	@643
				location   	(3785, 2069)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.595979
				height     	51
				orientation 	0)
			    label      	(object SegLabel @646
				Parent_View 	@643
				location   	(3928, 2072)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.143900
				height     	167
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @647
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4346, 2162)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@647
			location   	(4099, 2112)
			fill_color 	13434879
			nlines     	1
			max_width  	494
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	512
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$59" @648
		    location   	(4347, 1755)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38AAA4013E"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseElse" @649
			    Parent_View 	@648
			    location   	(-319, 168)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @650
				Parent_View 	@649
				location   	(4118, 1451)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	376
				justify    	0
				label      	"+valueExprCaseElse"
				pctDist    	0.885017
				height     	231
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AAA50077"
			    client     	@648
			    supplier   	@631
			    vertices   	(list Points
				(4347, 1755)
				(4348, 1411))
			    line_style 	0)
			(object RoleView "valueExpr" @651
			    Parent_View 	@648
			    location   	(-319, 168)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @652
				Parent_View 	@651
				location   	(4570, 2040)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.829861
				height     	224
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AAA50081"
			    client     	@648
			    supplier   	@647
			    vertices   	(list Points
				(4347, 1755)
				(4346, 2099))
			    line_style 	0
			    label      	(object SegLabel @653
				Parent_View 	@651
				location   	(4407, 2052)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.867521
				height     	61
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$60" @654
		    location   	(4155, 1952)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38AACF019A"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseSimple" @655
			    Parent_View 	@654
			    location   	(-492, 352)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @656
				Parent_View 	@655
				location   	(4286, 1857)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	432
				justify    	0
				label      	"+valueExprCaseSimple"
				pctDist    	-0.093807
				height     	161
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AAD000E7"
			    client     	@654
			    supplier   	@638
			    vertices   	(list Points
				(4155, 1952)
				(4021, 1806))
			    line_style 	0)
			(object RoleView "valueExpr" @657
			    Parent_View 	@654
			    location   	(-492, 352)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @658
				Parent_View 	@657
				location   	(4215, 2057)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.593327
				height     	27
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AAD000E9"
			    client     	@654
			    supplier   	@647
			    vertices   	(list Points
				(4155, 1952)
				(4289, 2099))
			    line_style 	0
			    label      	(object SegLabel @659
				Parent_View 	@657
				location   	(4338, 2068)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	1.054078
				height     	58
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$61" @660
		    location   	(3941, 2581)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38AB040128"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseSimpleContentWhen" @661
			    Parent_View 	@660
			    location   	(-706, 981)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @662
				Parent_View 	@661
				location   	(3353, 2354)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	672
				justify    	0
				label      	"+valueExprCaseSimpleContentWhen"
				pctDist    	0.797823
				height     	303
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AB0800CA"
			    client     	@660
			    supplier   	@639
			    vertices   	(list Points
				(3941, 2581)
				(3655, 2581)
				(3655, 2224))
			    line_style 	0)
			(object RoleView "whenValueExpr" @663
			    Parent_View 	@660
			    location   	(-706, 981)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @664
				Parent_View 	@663
				location   	(4158, 2528)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	318
				justify    	0
				label      	"+whenValueExpr"
				pctDist    	0.472464
				height     	65
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AB0800D4"
			    client     	@660
			    supplier   	@647
			    vertices   	(list Points
				(3941, 2581)
				(4208, 2581)
				(4323, 2224))
			    line_style 	0
			    label      	(object SegLabel @665
				Parent_View 	@663
				location   	(4257, 2251)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	362
				justify    	0
				label      	"1"
				pctDist    	0.932027
				height     	56
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$62" @666
		    location   	(3966, 2468)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38AB0F02BF"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseSimpleContentResult" @667
			    Parent_View 	@666
			    location   	(-681, 868)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @668
				Parent_View 	@667
				location   	(4044, 2322)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	680
				justify    	0
				label      	"+valueExprCaseSimpleContentResult"
				pctDist    	-0.412698
				height     	146
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AB1201DD"
			    client     	@666
			    supplier   	@639
			    vertices   	(list Points
				(3966, 2468)
				(3777, 2468)
				(3680, 2224))
			    line_style 	0)
			(object RoleView "resultValueExpr" @669
			    Parent_View 	@666
			    location   	(-681, 868)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @670
				Parent_View 	@669
				location   	(4085, 2258)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	318
				justify    	0
				label      	"+resultValueExpr"
				pctDist    	0.658897
				height     	149
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AB1201DF"
			    client     	@666
			    supplier   	@647
			    vertices   	(list Points
				(3966, 2468)
				(4111, 2468)
				(4296, 2224))
			    line_style 	0
			    label      	(object SegLabel @671
				Parent_View 	@669
				location   	(4303, 2267)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.933558
				height     	32
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySearchCondition" @672
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2562, 2436)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@672
			location   	(2324, 2389)
			fill_color 	13434879
			nlines     	1
			max_width  	476
			justify    	0
			label      	"QuerySearchCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B378C160224"
		    width      	494
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCaseSearch" @673
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3249, 1744)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@673
			location   	(2946, 1697)
			fill_color 	13434879
			nlines     	2
			max_width  	607
			justify    	0
			label      	"ValueExpressionCaseSearch")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A8D00055"
		    width      	625
		    height     	119
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCaseSearchContent" @674
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2765, 2162)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@674
			location   	(2377, 2115)
			fill_color 	13434879
			nlines     	1
			max_width  	776
			justify    	0
			label      	"ValueExpressionCaseSearchContent")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A9A7034D"
		    width      	794
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$63" @675
		    location   	(3717, 2678)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38AB1701C6"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseSearchContent" @676
			    Parent_View 	@675
			    location   	(-930, 1078)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @677
				Parent_View 	@676
				location   	(3001, 2276)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	570
				justify    	0
				label      	"+valueExprCaseSearchContent"
				pctDist    	0.848515
				height     	86
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AB1903B3"
			    client     	@675
			    supplier   	@674
			    vertices   	(list Points
				(3717, 2678)
				(3280, 2678)
				(2824, 2221))
			    line_style 	0)
			(object RoleView "valueExpr" @678
			    Parent_View 	@675
			    location   	(-930, 1078)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @679
				Parent_View 	@678
				location   	(4522, 2266)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.961219
				height     	176
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38AB1903B5"
			    client     	@675
			    supplier   	@647
			    vertices   	(list Points
				(3717, 2678)
				(4346, 2678)
				(4346, 2224))
			    line_style 	0
			    label      	(object SegLabel @680
				Parent_View 	@678
				location   	(4389, 2282)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.947247
				height     	43
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$64" @681
		    location   	(2662, 2298)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38ABC6011D"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseSearchContent" @682
			    Parent_View 	@681
			    location   	(-50, 89)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @683
				Parent_View 	@682
				location   	(2367, 2266)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	570
				justify    	0
				label      	"+valueExprCaseSearchContent"
				pctDist    	-1.563650
				height     	258
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38ABC60330"
			    client     	@681
			    supplier   	@674
			    vertices   	(list Points
				(2662, 2298)
				(2719, 2221))
			    line_style 	0)
			(object RoleView "searchCondition" @684
			    Parent_View 	@681
			    location   	(-50, 89)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @685
				Parent_View 	@684
				location   	(2429, 2342)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	331
				justify    	0
				label      	"+searchCondition"
				pctDist    	1.814141
				height     	162
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38ABC60332"
			    client     	@681
			    supplier   	@672
			    vertices   	(list Points
				(2662, 2298)
				(2604, 2376))
			    line_style 	0
			    label      	(object SegLabel @686
				Parent_View 	@684
				location   	(2675, 2348)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.355631
				height     	41
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$72" @687
		    location   	(3004, 1952)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BDE1A410126"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCaseSearch" @688
			    Parent_View 	@687
			    location   	(94, 399)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @689
				Parent_View 	@688
				location   	(3360, 1863)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	428
				justify    	0
				label      	"+valueExprCaseSearch"
				pctDist    	1.433104
				height     	165
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BDE1A4103C5"
			    client     	@687
			    supplier   	@673
			    vertices   	(list Points
				(3004, 1952)
				(3177, 1803))
			    line_style 	0)
			(object RoleView "searchContentList" @690
			    Parent_View 	@687
			    location   	(94, 399)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @691
				Parent_View 	@690
				location   	(2630, 2062)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	359
				justify    	0
				label      	"+searchContentList"
				pctDist    	1.551660
				height     	162
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3BDE1A4103D0"
			    client     	@687
			    supplier   	@674
			    vertices   	(list Points
				(3004, 1952)
				(2830, 2102))
			    line_style 	0
			    label      	(object SegLabel @692
				Parent_View 	@690
				location   	(2967, 2063)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.442961
				height     	60
				orientation 	0)
			    label      	(object SegLabel @693
				Parent_View 	@690
				location   	(3118, 2063)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	-0.058594
				height     	159
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @694
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3562, 195)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@694
			location   	(3390, 89)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	362
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLModel::Expressions::ValueExpression" @695
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(858, 208)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@695
			location   	(682, 101)
			fill_color 	13434879
			nlines     	1
			max_width  	352
			justify    	0
			label      	"ValueExpression")
		    stereotype 	(object ItemLabel
			Parent_View 	@695
			location   	(682, 51)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	352
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14597606
		    quidu      	"3F4D273D00A9"
		    width      	370
		    height     	338
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionLabeledDurationType" @696
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(481, 2678)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@696
			location   	(60, 2469)
			fill_color 	13434879
			nlines     	1
			max_width  	842
			justify    	0
			label      	"ValueExpressionLabeledDurationType")
		    stereotype 	(object ItemLabel
			Parent_View 	@696
			location   	(60, 2419)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	842
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A62830230"
		    width      	860
		    height     	542
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCombinedOperator" @697
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1508, 2717)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@697
			location   	(1107, 2558)
			fill_color 	13434879
			nlines     	1
			max_width  	802
			justify    	0
			label      	"ValueExpressionCombinedOperator")
		    stereotype 	(object ItemLabel
			Parent_View 	@697
			location   	(1107, 2508)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	802
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A5E3B0357"
		    width      	820
		    height     	442
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionAtomic" @698
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(988, 611)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@698
			location   	(750, 560)
			fill_color 	13434879
			nlines     	1
			max_width  	476
			justify    	0
			label      	"ValueExpressionAtomic")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"404CFF9003B4"
		    width      	494
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @699
		    location   	(3584, 1595)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@630
		    vertices   	(list Points
			(3584, 1595)
			(3584, 1086)))
		(object InheritView "" @700
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A93003BA"
		    client     	@638
		    supplier   	@630
		    vertices   	(list Points
			(3975, 1681)
			(3975, 1595))
		    line_style 	3
		    origin_attachment 	(3975, 1681)
		    terminal_attachment 	(3975, 1595)
		    drawSupplier 	@699)
		(object InheritView "" @701
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A92E00B4"
		    client     	@673
		    supplier   	@630
		    vertices   	(list Points
			(3250, 1685)
			(3250, 1595))
		    line_style 	3
		    origin_attachment 	(3250, 1685)
		    terminal_attachment 	(3250, 1595)
		    drawSupplier 	@699)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionUnaryOperator" @702
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2444, 2756)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@702
			location   	(2089, 2658)
			fill_color 	13434879
			nlines     	1
			max_width  	710
			justify    	0
			label      	"ValueExpressionUnaryOperator")
		    stereotype 	(object ItemLabel
			Parent_View 	@702
			location   	(2089, 2608)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	710
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B3A5E0F015F"
		    width      	728
		    height     	320
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @703
		    location   	(3562, 416)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@694
		    vertices   	(list Points
			(3562, 416)
			(3562, 313)))
		(object InheritView "" @704
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D086F0338"
		    client     	@639
		    supplier   	@694
		    vertices   	(list Points
			(3655, 2100)
			(3655, 416))
		    line_style 	3
		    origin_attachment 	(3655, 2100)
		    terminal_attachment 	(3655, 416)
		    drawSupplier 	@703)
		(object InheritView "" @705
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D08840021"
		    client     	@674
		    supplier   	@694
		    vertices   	(list Points
			(2765, 2103)
			(2765, 416))
		    line_style 	3
		    origin_attachment 	(2765, 2103)
		    terminal_attachment 	(2765, 416)
		    drawSupplier 	@703)
		(object InheritView "" @706
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D07300361"
		    client     	@631
		    supplier   	@694
		    vertices   	(list Points
			(4323, 1293)
			(4323, 416))
		    line_style 	3
		    origin_attachment 	(4323, 1293)
		    terminal_attachment 	(4323, 416)
		    drawSupplier 	@703)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @707
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1700, 2111)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@707
			location   	(1485, 2059)
			fill_color 	13434879
			nlines     	1
			max_width  	430
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37968301D1"
		    width      	448
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionScalarSelect" @708
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1700, 1759)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@708
			location   	(1384, 1712)
			fill_color 	13434879
			nlines     	2
			max_width  	632
			justify    	0
			label      	"ValueExpressionScalarSelect")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EE1015D"
		    width      	650
		    height     	119
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$84" @709
		    location   	(1700, 1932)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41990B8303E2"
		    roleview_list 	(list RoleViews
			(object RoleView "queryExpr" @710
			    Parent_View 	@709
			    location   	(-3, 177)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @711
				Parent_View 	@710
				location   	(1557, 2008)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	0.678571
				height     	144
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41990B85012A"
			    client     	@709
			    supplier   	@707
			    vertices   	(list Points
				(1700, 1932)
				(1700, 2046))
			    line_style 	0
			    label      	(object SegLabel @712
				Parent_View 	@710
				location   	(1754, 2021)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.782609
				height     	54
				orientation 	0))
			(object RoleView "valExprScalarSelect" @713
			    Parent_View 	@709
			    location   	(-3, 177)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @714
				Parent_View 	@713
				location   	(1450, 1856)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	453
				justify    	0
				label      	"+valExprScalarSelect"
				pctDist    	0.675676
				height     	251
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41990B85012C"
			    client     	@709
			    supplier   	@708
			    vertices   	(list Points
				(1700, 1932)
				(1700, 1818))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::TableExpression" @715
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1300, 1404)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@715
			location   	(1134, 1353)
			fill_color 	13434879
			nlines     	1
			max_width  	332
			justify    	0
			label      	"TableExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37EE600288"
		    width      	350
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionColumn" @716
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1300, 1040)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@716
			location   	(984, 993)
			fill_color 	13434879
			nlines     	1
			max_width  	632
			justify    	0
			label      	"ValueExpressionColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EAF00BB"
		    width      	650
		    height     	118
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$93" @717
		    location   	(1300, 1219)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"421269CE0197"
		    roleview_list 	(list RoleViews
			(object RoleView "tableExpr" @718
			    Parent_View 	@717
			    location   	(0, 179)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @719
				Parent_View 	@718
				location   	(1170, 1304)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+tableExpr"
				pctDist    	0.702479
				height     	131
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421269D003C2"
			    client     	@717
			    supplier   	@715
			    vertices   	(list Points
				(1300, 1219)
				(1300, 1340))
			    line_style 	0
			    label      	(object SegLabel @720
				Parent_View 	@718
				location   	(1342, 1301)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.685950
				height     	42
				orientation 	0))
			(object RoleView "valueExprColumns" @721
			    Parent_View 	@717
			    location   	(0, 179)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @722
				Parent_View 	@721
				location   	(1102, 1150)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	374
				justify    	0
				label      	"+valueExprColumns"
				pctDist    	0.583333
				height     	199
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421269D003CC"
			    client     	@717
			    supplier   	@716
			    vertices   	(list Points
				(1300, 1219)
				(1300, 1099))
			    line_style 	0
			    label      	(object SegLabel @723
				Parent_View 	@721
				location   	(1365, 1137)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.691667
				height     	65
				orientation 	1))))
		(object InheritTreeView "" @724
		    location   	(988, 778)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@698
		    vertices   	(list Points
			(988, 778)
			(988, 674)))
		(object InheritView "" @725
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D00350311"
		    client     	@627
		    supplier   	@698
		    vertices   	(list Points
			(881, 1700)
			(881, 778))
		    line_style 	3
		    origin_attachment 	(881, 1700)
		    terminal_attachment 	(881, 778)
		    drawSupplier 	@724)
		(object InheritView "" @726
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D00650216"
		    client     	@628
		    supplier   	@698
		    vertices   	(list Points
			(2828, 967)
			(2828, 778))
		    line_style 	3
		    origin_attachment 	(2828, 967)
		    terminal_attachment 	(2828, 778)
		    drawSupplier 	@724)
		(object InheritView "" @727
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D007200FC"
		    client     	@629
		    supplier   	@698
		    vertices   	(list Points
			(3154, 1176)
			(3154, 778))
		    line_style 	3
		    origin_attachment 	(3154, 1176)
		    terminal_attachment 	(3154, 778)
		    drawSupplier 	@724)
		(object InheritView "" @728
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D0086030E"
		    client     	@630
		    supplier   	@698
		    vertices   	(list Points
			(3592, 968)
			(3592, 778))
		    line_style 	3
		    origin_attachment 	(3592, 968)
		    terminal_attachment 	(3592, 778)
		    drawSupplier 	@724)
		(object InheritView "" @729
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D00100110"
		    client     	@626
		    supplier   	@698
		    vertices   	(list Points
			(510, 976)
			(510, 778))
		    line_style 	3
		    origin_attachment 	(510, 976)
		    terminal_attachment 	(510, 778)
		    drawSupplier 	@724)
		(object InheritView "" @730
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D0046023A"
		    client     	@708
		    supplier   	@698
		    vertices   	(list Points
			(1694, 1700)
			(1694, 778))
		    line_style 	3
		    origin_attachment 	(1694, 1700)
		    terminal_attachment 	(1694, 778)
		    drawSupplier 	@724)
		(object InheritView "" @731
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D003D00C4"
		    client     	@716
		    supplier   	@698
		    vertices   	(list Points
			(1294, 980)
			(1294, 778))
		    line_style 	3
		    origin_attachment 	(1294, 980)
		    terminal_attachment 	(1294, 778)
		    drawSupplier 	@724)
		(object ClassView "Class" "Logical View::SQLModel::Routines::Function" @732
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2106, 1534)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@732
			location   	(1994, 1459)
			fill_color 	13434879
			nlines     	1
			max_width  	224
			justify    	0
			label      	"Function")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	12187127
		    quidu      	"3F3D3B50012C"
		    width      	242
		    height     	174
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCast" @733
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2493, 1748)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@733
			location   	(2258, 1698)
			fill_color 	13434879
			nlines     	2
			max_width  	470
			justify    	0
			label      	"ValueExpressionCast")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F33029B"
		    width      	488
		    height     	125
		    annotation 	8)
		(object InheritView "" @734
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D005E0021"
		    client     	@733
		    supplier   	@698
		    vertices   	(list Points
			(2494, 1686)
			(2494, 778))
		    line_style 	3
		    origin_attachment 	(2494, 1686)
		    terminal_attachment 	(2494, 778)
		    drawSupplier 	@724)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCombined" @735
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3205, 605)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@735
			location   	(2821, 533)
			fill_color 	13434879
			nlines     	1
			max_width  	769
			justify    	0
			label      	"ValueExpressionCombined")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F8603D1"
		    width      	787
		    height     	169
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionLabeledDuration" @736
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(650, 2106)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@736
			location   	(53, 2031)
			fill_color 	13434879
			nlines     	1
			max_width  	1194
			justify    	0
			label      	"ValueExpressionLabeledDuration")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EF70385"
		    width      	1212
		    height     	175
		    annotation 	8)
		(object InheritView "" @737
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D00230320"
		    client     	@736
		    supplier   	@698
		    vertices   	(list Points
			(141, 2019)
			(141, 778))
		    line_style 	3
		    origin_attachment 	(141, 2019)
		    terminal_attachment 	(141, 778)
		    drawSupplier 	@724)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionNested" @738
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2223, 611)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@738
			location   	(1991, 560)
			fill_color 	13434879
			nlines     	1
			max_width  	464
			justify    	0
			label      	"ValueExpressionNested")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"404CFF7601CC"
		    width      	482
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionFunction" @739
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2106, 1118)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@739
			location   	(1796, 990)
			fill_color 	13434879
			nlines     	1
			max_width  	620
			justify    	0
			label      	"ValueExpressionFunction")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F78002D"
		    width      	638
		    height     	281
		    annotation 	8)
		(object InheritView "" @740
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D0054037A"
		    client     	@739
		    supplier   	@698
		    vertices   	(list Points
			(2088, 977)
			(2088, 778))
		    line_style 	3
		    origin_attachment 	(2088, 977)
		    terminal_attachment 	(2088, 778)
		    drawSupplier 	@724)
		(object AssociationViewNew "$UNNAMED$90" @741
		    location   	(2106, 1352)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41FA8D26028E"
		    roleview_list 	(list RoleViews
			(object RoleView "function" @742
			    Parent_View 	@741
			    location   	(0, 234)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @743
				Parent_View 	@742
				location   	(1987, 1401)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	182
				justify    	0
				label      	"+function"
				pctDist    	0.531915
				height     	120
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41FA8D2800F6"
			    client     	@741
			    supplier   	@732
			    vertices   	(list Points
				(2106, 1352)
				(2106, 1446))
			    line_style 	0
			    label      	(object SegLabel @744
				Parent_View 	@742
				location   	(2161, 1399)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.500000
				height     	55
				orientation 	0))
			(object RoleView "$UNNAMED$91" @745
			    Parent_View 	@741
			    location   	(0, 234)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41FA8D28010A"
			    client     	@741
			    supplier   	@739
			    vertices   	(list Points
				(2106, 1352)
				(2106, 1258))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @746
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2252, 201)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@746
			location   	(1802, 95)
			fill_color 	13434879
			nlines     	1
			max_width  	900
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3792520160"
		    width      	918
		    height     	237
		    annotation 	8)
		(object InheritTreeView "" @747
		    location   	(2222, 472)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@746
		    vertices   	(list Points
			(2222, 472)
			(2222, 319)))
		(object AssociationViewNew "$UNNAMED$46" @748
		    location   	(2579, 949)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A0AF031A"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @749
			    Parent_View 	@748
			    location   	(-1624, 302)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @750
				Parent_View 	@749
				location   	(2584, 352)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.773000
				height     	103
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A0B00343"
			    client     	@748
			    supplier   	@746
			    vertices   	(list Points
				(2579, 949)
				(2625, 522)
				(2389, 319))
			    line_style 	0
			    label      	(object SegLabel @751
				Parent_View 	@749
				location   	(2388, 357)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.970496
				height     	30
				orientation 	0))
			(object RoleView "valueExprCast" @752
			    Parent_View 	@748
			    location   	(-1624, 302)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @753
				Parent_View 	@752
				location   	(2681, 1651)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	290
				justify    	0
				label      	"+valueExprCast"
				pctDist    	0.927779
				height     	177
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A0B00375"
			    client     	@748
			    supplier   	@733
			    vertices   	(list Points
				(2579, 949)
				(2499, 1685))
			    line_style 	0)))
		(object InheritView "" @754
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A03D0153"
		    client     	@735
		    supplier   	@746
		    vertices   	(list Points
			(3206, 521)
			(3206, 472))
		    line_style 	3
		    origin_attachment 	(3206, 521)
		    terminal_attachment 	(3206, 472)
		    drawSupplier 	@747)
		(object AssociationViewNew "$UNNAMED$49" @755
		    location   	(3063, 326)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A25500FA"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprCombinedRight" @756
			    Parent_View 	@755
			    location   	(1541, 101)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @757
				Parent_View 	@756
				location   	(2922, 500)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	482
				justify    	0
				label      	"+valueExprCombinedRight"
				pctDist    	-0.589562
				height     	194
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A25C01FE"
			    client     	@755
			    supplier   	@735
			    vertices   	(list Points
				(3063, 326)
				(3250, 356)
				(3250, 450)
				(3228, 520))
			    line_style 	0)
			(object RoleView "rightValueExpr" @758
			    Parent_View 	@755
			    location   	(1541, 101)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @759
				Parent_View 	@758
				location   	(2964, 244)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	293
				justify    	0
				label      	"+rightValueExpr"
				pctDist    	0.310079
				height     	66
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A25C0208"
			    client     	@755
			    supplier   	@746
			    vertices   	(list Points
				(3063, 326)
				(2711, 270))
			    line_style 	0
			    label      	(object SegLabel @760
				Parent_View 	@758
				location   	(2730, 246)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.958753
				height     	27
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$48" @761
		    location   	(3108, 302)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A1D3032E"
		    roleview_list 	(list RoleViews
			(object RoleView "leftValueExpr" @762
			    Parent_View 	@761
			    location   	(-3433, -370)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @763
				Parent_View 	@762
				location   	(2902, 356)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	277
				justify    	0
				label      	"+leftValueExpr"
				pctDist    	0.498029
				height     	79
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A1DD011F"
			    client     	@761
			    supplier   	@746
			    vertices   	(list Points
				(3108, 302)
				(2711, 254))
			    line_style 	0
			    label      	(object SegLabel @764
				Parent_View 	@762
				location   	(2728, 322)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.941719
				height     	65
				orientation 	0))
			(object RoleView "valueExprCombinedLeft" @765
			    Parent_View 	@761
			    location   	(-3433, -370)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @766
				Parent_View 	@765
				location   	(2969, 448)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	"+valueExprCombinedLeft"
				pctDist    	-0.623914
				height     	161
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A1DD015B"
			    client     	@761
			    supplier   	@735
			    vertices   	(list Points
				(3108, 302)
				(3300, 325)
				(3300, 450)
				(3255, 520))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$70" @767
		    location   	(136, 608)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B3A684C0244"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @768
			    Parent_View 	@767
			    location   	(-648, -1579)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @769
				Parent_View 	@768
				location   	(1635, 269)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.910156
				height     	50
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A684F0176"
			    client     	@767
			    supplier   	@746
			    vertices   	(list Points
				(136, 608)
				(1792, 288))
			    line_style 	0
			    label      	(object SegLabel @770
				Parent_View 	@768
				location   	(1762, 264)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.984766
				height     	31
				orientation 	0))
			(object RoleView "valueExprLabeledDuration" @771
			    Parent_View 	@767
			    location   	(-648, -1579)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @772
				Parent_View 	@771
				location   	(298, 1964)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	490
				justify    	0
				label      	"+valueExprLabeledDuration"
				pctDist    	0.866891
				height     	131
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B3A684F01D0"
			    client     	@767
			    supplier   	@736
			    vertices   	(list Points
				(136, 608)
				(63, 622)
				(63, 1575)
				(552, 2018))
			    line_style 	0)))
		(object InheritView "" @773
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CDEDD0137"
		    client     	@746
		    supplier   	@694
		    vertices   	(list Points
			(2711, 198)
			(3380, 195))
		    line_style 	0)
		(object InheritView "" @774
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CDF0500DA"
		    client     	@746
		    supplier   	@695
		    vertices   	(list Points
			(1792, 202)
			(1043, 206))
		    line_style 	0)
		(object InheritView "" @775
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D00B20108"
		    client     	@698
		    supplier   	@746
		    vertices   	(list Points
			(987, 548)
			(987, 472))
		    line_style 	3
		    origin_attachment 	(987, 548)
		    terminal_attachment 	(987, 472)
		    drawSupplier 	@747)
		(object InheritView "" @776
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D00AA0067"
		    client     	@738
		    supplier   	@746
		    vertices   	(list Points
			(2222, 548)
			(2222, 472))
		    line_style 	3
		    origin_attachment 	(2222, 548)
		    terminal_attachment 	(2222, 472)
		    drawSupplier 	@747)
		(object AssociationViewNew "$UNNAMED$75" @777
		    location   	(2342, 383)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D1D93022C"
		    roleview_list 	(list RoleViews
			(object RoleView "nestedValueExpr" @778
			    Parent_View 	@777
			    location   	(121, -223)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @779
				Parent_View 	@778
				location   	(2413, 428)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	346
				justify    	0
				label      	"+nestedValueExpr"
				pctDist    	-1.025000
				height     	44
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"404D1D9602EE"
			    client     	@777
			    supplier   	@746
			    vertices   	(list Points
				(2342, 383)
				(2310, 319))
			    line_style 	0
			    label      	(object SegLabel @780
				Parent_View 	@778
				location   	(2296, 354)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.656250
				height     	29
				orientation 	0))
			(object RoleView "nest" @781
			    Parent_View 	@777
			    location   	(121, -223)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @782
				Parent_View 	@781
				location   	(2392, 517)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	343
				justify    	0
				label      	"+nest"
				pctDist    	0.514169
				height     	70
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"404D1D960316"
			    client     	@777
			    supplier   	@738
			    vertices   	(list Points
				(2342, 383)
				(2369, 437)
				(2274, 547))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$47" @783
		    location   	(1897, 616)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A10F0282"
		    roleview_list 	(list RoleViews
			(object RoleView "parameterList" @784
			    Parent_View 	@783
			    location   	(-4012, -49)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @785
				Parent_View 	@784
				location   	(1868, 396)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	279
				justify    	0
				label      	"+parameterList"
				pctDist    	0.398471
				height     	120
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A11800D6"
			    client     	@783
			    supplier   	@746
			    vertices   	(list Points
				(1897, 616)
				(1897, 531)
				(2121, 319))
			    line_style 	0
			    label      	(object SegLabel @786
				Parent_View 	@784
				location   	(2039, 391)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.723590
				height     	6
				orientation 	0)
			    label      	(object SegLabel @787
				Parent_View 	@784
				location   	(2172, 399)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.959727
				height     	93
				orientation 	1))
			(object RoleView "valueExprFunction" @788
			    Parent_View 	@783
			    location   	(-4012, -49)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @789
				Parent_View 	@788
				location   	(2184, 933)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	358
				justify    	0
				label      	"+valueExprFunction"
				pctDist    	1.656004
				height     	178
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A1180108"
			    client     	@783
			    supplier   	@739
			    vertices   	(list Points
				(1897, 616)
				(1897, 869)
				(1988, 977))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionRow" @790
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1599, 611)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@790
			location   	(1382, 560)
			fill_color 	13434879
			nlines     	1
			max_width  	434
			justify    	0
			label      	"ValueExpressionRow")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"486BD0B001FE"
		    width      	452
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @791
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"486BD0EC01DE"
		    client     	@790
		    supplier   	@746
		    vertices   	(list Points
			(1600, 548)
			(1600, 472))
		    line_style 	3
		    origin_attachment 	(1600, 548)
		    terminal_attachment 	(1600, 472)
		    drawSupplier 	@747)
		(object AssociationViewNew "$UNNAMED$99" @792
		    location   	(1878, 433)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"486BD3F20001"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExprList" @793
			    Parent_View 	@792
			    location   	(279, -178)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @794
				Parent_View 	@793
				location   	(1799, 349)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	275
				justify    	0
				label      	"+valueExprList"
				pctDist    	-0.113487
				height     	115
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"486BD3F300A3"
			    client     	@792
			    supplier   	@746
			    vertices   	(list Points
				(1878, 433)
				(2060, 319))
			    line_style 	0
			    label      	(object SegLabel @795
				Parent_View 	@793
				location   	(1981, 352)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.609150
				height     	15
				orientation 	0)
			    label      	(object SegLabel @796
				Parent_View 	@793
				location   	(2107, 351)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	158
				justify    	0
				label      	"{ordered}"
				pctDist    	1.112793
				height     	52
				orientation 	1))
			(object RoleView "valueExprRow" @797
			    Parent_View 	@792
			    location   	(279, -178)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @798
				Parent_View 	@797
				location   	(1531, 516)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	289
				justify    	0
				label      	"+valueExprRow"
				pctDist    	1.579785
				height     	116
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"486BD3F300D5"
			    client     	@792
			    supplier   	@790
			    vertices   	(list Points
				(1878, 433)
				(1696, 547))
			    line_style 	0
			    label      	(object SegLabel @799
				Parent_View 	@797
				location   	(1704, 504)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.870287
				height     	34
				orientation 	1))))))
	(object ClassDiagram "GroupingSpecification"
	    quid       	"3B38A4B001BF"
	    title      	"GroupingSpecification"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::GroupingSpecification" @800
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1166, 100)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@800
			location   	(910, 53)
			fill_color 	13434879
			nlines     	1
			max_width  	513
			justify    	0
			label      	"GroupingSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37F63D0369"
		    width      	531
		    height     	118
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::GroupingSets" @801
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1718, 433)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@801
			location   	(1518, 383)
			fill_color 	13434879
			nlines     	1
			max_width  	401
			justify    	0
			label      	"GroupingSets")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A4DC01A4"
		    width      	419
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::GroupingSetsElement" @802
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1718, 750)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@802
			location   	(1465, 700)
			fill_color 	13434879
			nlines     	1
			max_width  	507
			justify    	0
			label      	"GroupingSetsElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B38A510018B"
		    width      	525
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$50" @803
		    location   	(1718, 591)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A5230323"
		    roleview_list 	(list RoleViews
			(object RoleView "groupingSets" @804
			    Parent_View 	@803
			    location   	(759, -565)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @805
				Parent_View 	@804
				location   	(1557, 533)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	274
				justify    	0
				label      	"+groupingSets"
				pctDist    	0.619424
				height     	162
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A5240112"
			    client     	@803
			    supplier   	@801
			    vertices   	(list Points
				(1718, 591)
				(1718, 495))
			    line_style 	0)
			(object RoleView "groupingSetsElementList" @806
			    Parent_View 	@803
			    location   	(759, -565)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @807
				Parent_View 	@806
				location   	(1968, 651)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	480
				justify    	0
				label      	"+groupingSetsElementList"
				pctDist    	0.624824
				height     	250
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A524011C"
			    client     	@803
			    supplier   	@802
			    vertices   	(list Points
				(1718, 591)
				(1718, 687))
			    line_style 	0
			    label      	(object SegLabel @808
				Parent_View 	@806
				location   	(1655, 646)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.575257
				height     	64
				orientation 	1)
			    label      	(object SegLabel @809
				Parent_View 	@806
				location   	(1514, 643)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	175
				justify    	0
				label      	"{ordered}"
				pctDist    	0.544025
				height     	205
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::GroupingSetsElementSublist" @810
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2020, 1485)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@810
			location   	(1717, 1435)
			fill_color 	13434879
			nlines     	1
			max_width  	607
			justify    	0
			label      	"GroupingSetsElementSublist")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A54D0297"
		    width      	625
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::GroupingSetsElementExpression" @811
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1733, 1193)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@811
			location   	(1377, 1143)
			fill_color 	13434879
			nlines     	1
			max_width  	713
			justify    	0
			label      	"GroupingSetsElementExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A56901C5"
		    width      	731
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$51" @812
		    location   	(1876, 1338)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A5C0021A"
		    roleview_list 	(list RoleViews
			(object RoleView "groupingSetsElementExprList" @813
			    Parent_View 	@812
			    location   	(1445, -174)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @814
				Parent_View 	@813
				location   	(1518, 1292)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	561
				justify    	0
				label      	"+groupingSetsElementExprList"
				pctDist    	2.436935
				height     	222
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A5C20368"
			    client     	@812
			    supplier   	@811
			    vertices   	(list Points
				(1876, 1338)
				(1794, 1255))
			    line_style 	0
			    label      	(object SegLabel @815
				Parent_View 	@813
				location   	(1910, 1294)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	68
				justify    	0
				label      	"1..n"
				pctDist    	0.063469
				height     	55
				orientation 	1)
			    label      	(object SegLabel @816
				Parent_View 	@813
				location   	(2060, 1298)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	-0.864468
				height     	159
				orientation 	1))
			(object RoleView "groupingSetsElementSublist" @817
			    Parent_View 	@812
			    location   	(1445, -174)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @818
				Parent_View 	@817
				location   	(1610, 1392)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	543
				justify    	0
				label      	"+groupingSetsElementSublist"
				pctDist    	-1.253701
				height     	228
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A5C20372"
			    client     	@812
			    supplier   	@810
			    vertices   	(list Points
				(1876, 1338)
				(1959, 1422))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::Grouping" @819
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(629, 434)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@819
			location   	(515, 383)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"Grouping")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B38A4EC0266"
		    width      	246
		    height     	126
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$52" @820
		    location   	(1251, 690)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A62A029F"
		    roleview_list 	(list RoleViews
			(object RoleView "groupingSetsElementExpr" @821
			    Parent_View 	@820
			    location   	(-252, -119)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @822
				Parent_View 	@821
				location   	(1940, 1097)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	504
				justify    	0
				label      	"+groupingSetsElementExpr"
				pctDist    	1.264884
				height     	217
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A62C005D"
			    client     	@820
			    supplier   	@811
			    vertices   	(list Points
				(1251, 690)
				(1672, 1130))
			    line_style 	0)
			(object RoleView "grouping " @823
			    Parent_View 	@820
			    location   	(-252, -119)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @824
				Parent_View 	@823
				location   	(873, 475)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	"+grouping "
				pctDist    	0.801061
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A62C0067"
			    client     	@820
			    supplier   	@819
			    vertices   	(list Points
				(1251, 690)
				(1007, 434)
				(752, 434))
			    line_style 	0
			    label      	(object SegLabel @825
				Parent_View 	@823
				location   	(813, 381)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::SuperGroup" @826
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(975, 871)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@826
			location   	(615, 820)
			fill_color 	13434879
			nlines     	1
			max_width  	720
			justify    	0
			label      	"SuperGroup")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A6570326"
		    width      	738
		    height     	126
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::SuperGroupElement" @827
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(962, 1192)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@827
			location   	(730, 1136)
			fill_color 	13434879
			nlines     	1
			max_width  	464
			justify    	0
			label      	"SuperGroupElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B38A6870389"
		    width      	482
		    height     	137
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$54" @828
		    location   	(967, 1028)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A731009E"
		    roleview_list 	(list RoleViews
			(object RoleView "superGroup" @829
			    Parent_View 	@828
			    location   	(-892, -487)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @830
				Parent_View 	@829
				location   	(818, 961)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	235
				justify    	0
				label      	"+superGroup"
				pctDist    	0.659769
				height     	153
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A7310289"
			    client     	@828
			    supplier   	@826
			    vertices   	(list Points
				(967, 1028)
				(971, 934))
			    line_style 	0)
			(object RoleView "superGroupElementList" @831
			    Parent_View 	@828
			    location   	(-892, -487)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @832
				Parent_View 	@831
				location   	(931, 1042)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	453
				justify    	0
				label      	"+superGroupElementList"
				pctDist    	0.161290
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A7310293"
			    client     	@828
			    supplier   	@827
			    vertices   	(list Points
				(967, 1028)
				(963, 1123))
			    line_style 	0
			    label      	(object SegLabel @833
				Parent_View 	@831
				location   	(1034, 1089)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	119
				justify    	0
				label      	"0..n"
				pctDist    	0.634409
				height     	69
				orientation 	0)
			    label      	(object SegLabel @834
				Parent_View 	@831
				location   	(1169, 1096)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.666667
				height     	204
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @835
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(331, 1191)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@835
			location   	(115, 1141)
			fill_color 	13434879
			nlines     	1
			max_width  	432
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	450
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::SuperGroupElementSublist" @836
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1256, 1621)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@836
			location   	(971, 1571)
			fill_color 	13434879
			nlines     	2
			max_width  	570
			justify    	0
			label      	"SuperGroupElementSublist")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A6A1037C"
		    width      	588
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::GroupingExpression" @837
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(334, 871)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@837
			location   	(106, 821)
			fill_color 	13434879
			nlines     	1
			max_width  	457
			justify    	0
			label      	"GroupingExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A6670094"
		    width      	475
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$55" @838
		    location   	(332, 1030)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A78A002E"
		    roleview_list 	(list RoleViews
			(object RoleView "groupingExpr" @839
			    Parent_View 	@838
			    location   	(-2071, -457)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @840
				Parent_View 	@839
				location   	(499, 973)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	269
				justify    	0
				label      	"+groupingExpr"
				pctDist    	0.616638
				height     	166
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A78A01FB"
			    client     	@838
			    supplier   	@837
			    vertices   	(list Points
				(332, 1030)
				(333, 933))
			    line_style 	0)
			(object RoleView "valueExpr" @841
			    Parent_View 	@838
			    location   	(-2071, -457)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @842
				Parent_View 	@841
				location   	(521, 1094)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.643564
				height     	190
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A78A0205"
			    client     	@838
			    supplier   	@835
			    vertices   	(list Points
				(332, 1030)
				(331, 1128))
			    line_style 	0
			    label      	(object SegLabel @843
				Parent_View 	@841
				location   	(377, 1088)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.587500
				height     	46
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::SuperGroupElementExpression" @844
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(544, 1634)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@844
			location   	(209, 1571)
			fill_color 	13434879
			nlines     	1
			max_width  	670
			justify    	0
			label      	"SuperGroupElementExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B38A6AF026E"
		    width      	688
		    height     	150
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$53" @845
		    location   	(910, 1856)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A70101E0"
		    roleview_list 	(list RoleViews
			(object RoleView "superGroupElementSublist" @846
			    Parent_View 	@845
			    location   	(-1578, -63)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @847
				Parent_View 	@846
				location   	(1565, 1729)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	515
				justify    	0
				label      	"+superGroupElementSublist"
				pctDist    	0.914339
				height     	311
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A7020340"
			    client     	@845
			    supplier   	@836
			    vertices   	(list Points
				(910, 1856)
				(1253, 1856)
				(1254, 1683))
			    line_style 	0)
			(object RoleView "superGroupElementExprList" @848
			    Parent_View 	@845
			    location   	(-1578, -63)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @849
				Parent_View 	@848
				location   	(301, 1747)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	538
				justify    	0
				label      	"+superGroupElementExprList"
				pctDist    	0.923183
				height     	241
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A7020342"
			    client     	@845
			    supplier   	@844
			    vertices   	(list Points
				(910, 1856)
				(541, 1856)
				(542, 1709))
			    line_style 	0
			    label      	(object SegLabel @850
				Parent_View 	@848
				location   	(619, 1747)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.927375
				height     	77
				orientation 	1)
			    label      	(object SegLabel @851
				Parent_View 	@848
				location   	(756, 1751)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.298450
				height     	105
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$56" @852
		    location   	(50, 1302)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A7A50376"
		    roleview_list 	(list RoleViews
			(object RoleView "groupingExpr" @853
			    Parent_View 	@852
			    location   	(-2438, -617)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @854
				Parent_View 	@853
				location   	(156, 975)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	269
				justify    	0
				label      	"+groupingExpr"
				pctDist    	0.799876
				height     	14
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A7A9015F"
			    client     	@852
			    supplier   	@837
			    vertices   	(list Points
				(50, 1302)
				(50, 1066)
				(241, 933))
			    line_style 	0
			    label      	(object SegLabel @855
				Parent_View 	@853
				location   	(195, 916)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.938279
				height     	41
				orientation 	0))
			(object RoleView "superGroupElementExpr" @856
			    Parent_View 	@852
			    location   	(-2438, -617)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @857
				Parent_View 	@856
				location   	(597, 1501)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	472
				justify    	0
				label      	"+superGroupElementExpr"
				pctDist    	1.494266
				height     	141
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B38A7A90169"
			    client     	@852
			    supplier   	@844
			    vertices   	(list Points
				(50, 1302)
				(50, 1413)
				(378, 1558))
			    line_style 	0)))
		(object InheritTreeView "" @858
		    location   	(631, 713)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@819
		    vertices   	(list Points
			(631, 713)
			(631, 497)))
		(object InheritView "" @859
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A679000E"
		    client     	@837
		    supplier   	@819
		    vertices   	(list Points
			(334, 809)
			(334, 713))
		    line_style 	3
		    origin_attachment 	(334, 809)
		    terminal_attachment 	(334, 713)
		    drawSupplier 	@858)
		(object InheritView "" @860
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A67601B8"
		    client     	@826
		    supplier   	@819
		    vertices   	(list Points
			(947, 808)
			(947, 713))
		    line_style 	3
		    origin_attachment 	(947, 808)
		    terminal_attachment 	(947, 713)
		    drawSupplier 	@858)
		(object InheritTreeView "" @861
		    location   	(1163, 281)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@800
		    vertices   	(list Points
			(1163, 281)
			(1163, 159)))
		(object InheritView "" @862
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A506030D"
		    client     	@819
		    supplier   	@800
		    vertices   	(list Points
			(628, 371)
			(628, 281))
		    line_style 	3
		    origin_attachment 	(628, 371)
		    terminal_attachment 	(628, 281)
		    drawSupplier 	@861)
		(object InheritView "" @863
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A50302FF"
		    client     	@801
		    supplier   	@800
		    vertices   	(list Points
			(1723, 370)
			(1723, 281))
		    line_style 	3
		    origin_attachment 	(1723, 370)
		    terminal_attachment 	(1723, 281)
		    drawSupplier 	@861)
		(object ClassView "Class" "Logical View::SQLQueryModel::SuperGroupType" @864
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(962, 2119)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@864
			location   	(765, 2010)
			fill_color 	13434879
			nlines     	1
			max_width  	394
			justify    	0
			label      	"SuperGroupType")
		    stereotype 	(object ItemLabel
			Parent_View 	@864
			location   	(765, 1960)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	394
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"3B39FEAC03A1"
		    width      	412
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @865
		    location   	(1707, 985)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@802
		    vertices   	(list Points
			(1707, 985)
			(1707, 812)))
		(object InheritView "" @866
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A57C03CB"
		    client     	@810
		    supplier   	@802
		    vertices   	(list Points
			(2126, 1423)
			(2126, 985))
		    line_style 	3
		    origin_attachment 	(2126, 1423)
		    terminal_attachment 	(2126, 985)
		    drawSupplier 	@865)
		(object InheritView "" @867
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A57F0040"
		    client     	@811
		    supplier   	@802
		    vertices   	(list Points
			(1504, 1131)
			(1504, 985))
		    line_style 	3
		    origin_attachment 	(1504, 1131)
		    terminal_attachment 	(1504, 985)
		    drawSupplier 	@865)
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @868
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2015, 117)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@868
			location   	(1813, 11)
			fill_color 	13434879
			nlines     	1
			max_width  	404
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	422
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @869
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CF96100D3"
		    client     	@800
		    supplier   	@868
		    vertices   	(list Points
			(1431, 105)
			(1803, 112))
		    line_style 	0)
		(object InheritView "" @870
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CF96B0377"
		    client     	@802
		    supplier   	@868
		    vertices   	(list Points
			(1787, 687)
			(2010, 488)
			(2012, 235))
		    line_style 	0)
		(object InheritView "" @871
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404CF9D0014B"
		    client     	@827
		    supplier   	@868
		    vertices   	(list Points
			(1093, 1123)
			(1379, 978)
			(1379, 344)
			(1803, 191))
		    line_style 	0)
		(object InheritTreeView "" @872
		    location   	(953, 1403)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@827
		    vertices   	(list Points
			(953, 1403)
			(953, 1260)))
		(object InheritView "" @873
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A6C40391"
		    client     	@836
		    supplier   	@827
		    vertices   	(list Points
			(1253, 1559)
			(1253, 1403))
		    line_style 	3
		    origin_attachment 	(1253, 1559)
		    terminal_attachment 	(1253, 1403)
		    drawSupplier 	@872)
		(object InheritView "" @874
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B38A6C70074"
		    client     	@844
		    supplier   	@827
		    vertices   	(list Points
			(538, 1559)
			(538, 1403))
		    line_style 	3
		    origin_attachment 	(538, 1559)
		    terminal_attachment 	(538, 1403)
		    drawSupplier 	@872)))
	(object ClassDiagram "SelectStatement"
	    quid       	"4047870800B9"
	    title      	"SelectStatement"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	56
	    items      	(list diagram_item_list
		(object NoteView @875
		    location   	(384, 357)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@875
			location   	(93, 248)
			fill_color 	13434879
			nlines     	4
			max_width  	546
			justify    	1
			label      	"The SQL representation of a Select statement may begin with either the SELECT or WITH keywords.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	606
		    height     	231)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdatabilityType" @876
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1971, 1440)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@876
			location   	(1807, 1356)
			fill_color 	13434879
			nlines     	1
			max_width  	328
			justify    	0
			label      	"UpdatabilityType")
		    stereotype 	(object ItemLabel
			Parent_View 	@876
			location   	(1807, 1306)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	328
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	15329769
		    quidu      	"49C6948D0242"
		    width      	346
		    height     	292
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdateOfColumn" @877
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1962, 1110)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@877
			location   	(1793, 1059)
			fill_color 	13434879
			nlines     	1
			max_width  	338
			justify    	0
			label      	"UpdateOfColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"49C49424033C"
		    width      	356
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderBySpecification" @878
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1127, 1053)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@878
			location   	(811, 1003)
			fill_color 	13434879
			nlines     	1
			max_width  	632
			justify    	0
			label      	"OrderBySpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"404D14E20381"
		    width      	650
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryExpressionRoot" @879
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(555, 747)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@879
			location   	(340, 696)
			fill_color 	13434879
			nlines     	1
			max_width  	430
			justify    	0
			label      	"QueryExpressionRoot")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37968301D1"
		    width      	448
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdatabilityExpression" @880
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1962, 732)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@880
			location   	(1620, 651)
			fill_color 	13434879
			nlines     	1
			max_width  	684
			justify    	0
			label      	"UpdatabilityExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"49C69615004E"
		    width      	702
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$114" @881
		    location   	(1962, 935)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"49C696C1000F"
		    roleview_list 	(list RoleViews
			(object RoleView "updateOfColumnList" @882
			    Parent_View 	@881
			    location   	(-39, 200)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @883
				Parent_View 	@882
				location   	(1737, 1013)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	410
				justify    	0
				label      	"+updateOfColumnList"
				pctDist    	0.714149
				height     	226
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49C696C102AF"
			    client     	@881
			    supplier   	@877
			    vertices   	(list Points
				(1962, 935)
				(1962, 1046))
			    line_style 	0
			    label      	(object SegLabel @884
				Parent_View 	@882
				location   	(2025, 1019)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.755042
				height     	63
				orientation 	0))
			(object RoleView "updatabilityExpr" @885
			    Parent_View 	@881
			    location   	(-39, 200)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @886
				Parent_View 	@885
				location   	(1773, 867)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	325
				justify    	0
				label      	"+updatabilityExpr"
				pctDist    	0.614012
				height     	190
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49C696C102B1"
			    client     	@881
			    supplier   	@880
			    vertices   	(list Points
				(1962, 935)
				(1962, 825))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySelectStatement" @887
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    ShowOperationSignature 	TRUE
		    location   	(1125, 357)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@887
			location   	(856, 303)
			fill_color 	13434879
			nlines     	1
			max_width  	538
			justify    	0
			label      	"QuerySelectStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37856000BB"
		    width      	556
		    height     	132
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$18" @888
		    location   	(1125, 706)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F3F503CD"
		    roleview_list 	(list RoleViews
			(object RoleView "selectStatement" @889
			    Parent_View 	@888
			    location   	(-141, 25)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @890
				Parent_View 	@889
				location   	(1128, 531)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	321
				justify    	0
				label      	"+selectStatement"
				pctDist    	0.618849
				height     	3
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3F6018A"
			    client     	@888
			    supplier   	@887
			    vertices   	(list Points
				(1125, 706)
				(1125, 423))
			    line_style 	0)
			(object RoleView "orderByClause" @891
			    Parent_View 	@888
			    location   	(-141, 25)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @892
				Parent_View 	@891
				location   	(949, 952)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	299
				justify    	0
				label      	"+orderByClause"
				pctDist    	0.867411
				height     	178
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3F60194"
			    client     	@888
			    supplier   	@878
			    vertices   	(list Points
				(1125, 706)
				(1126, 990))
			    line_style 	0
			    label      	(object SegLabel @893
				Parent_View 	@891
				location   	(1180, 955)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.879046
				height     	54
				orientation 	0)
			    label      	(object SegLabel @894
				Parent_View 	@891
				location   	(1313, 954)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	162
				justify    	0
				label      	"{ordered}"
				pctDist    	0.878472
				height     	187
				orientation 	0))))
		(object AttachView "" @895
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@875
		    supplier   	@887
		    vertices   	(list Points
			(687, 357)
			(846, 357))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$17" @896
		    location   	(835, 553)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F3F302B2"
		    roleview_list 	(list RoleViews
			(object RoleView "queryExpr" @897
			    Parent_View 	@896
			    location   	(294, 403)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @898
				Parent_View 	@897
				location   	(524, 658)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	219
				justify    	0
				label      	"+queryExpr"
				pctDist    	1.376779
				height     	90
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3F400A3"
			    client     	@896
			    supplier   	@879
			    vertices   	(list Points
				(835, 553)
				(645, 683))
			    line_style 	0
			    label      	(object SegLabel @899
				Parent_View 	@897
				location   	(759, 646)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.502277
				height     	34
				orientation 	0))
			(object RoleView "selectStatement" @900
			    Parent_View 	@896
			    location   	(294, 403)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @901
				Parent_View 	@900
				location   	(909, 478)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	333
				justify    	0
				label      	"+selectStatement"
				pctDist    	0.446674
				height     	22
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3F400A1"
			    client     	@896
			    supplier   	@887
			    vertices   	(list Points
				(835, 553)
				(1026, 423))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$115" @902
		    location   	(1514, 530)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"49C697180167"
		    roleview_list 	(list RoleViews
			(object RoleView "updatabilityExpr" @903
			    Parent_View 	@902
			    location   	(320, 182)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @904
				Parent_View 	@903
				location   	(1497, 600)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	325
				justify    	0
				label      	"+updatabilityExpr"
				pctDist    	0.045885
				height     	71
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49C69719001F"
			    client     	@902
			    supplier   	@880
			    vertices   	(list Points
				(1514, 530)
				(1756, 638))
			    line_style 	0
			    label      	(object SegLabel @905
				Parent_View 	@903
				location   	(1806, 604)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.127520
				height     	53
				orientation 	0))
			(object RoleView "selectStatement" @906
			    Parent_View 	@902
			    location   	(320, 182)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @907
				Parent_View 	@906
				location   	(1318, 477)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	327
				justify    	0
				label      	"+selectStatement"
				pctDist    	0.770557
				height     	32
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49C697190021"
			    client     	@902
			    supplier   	@887
			    vertices   	(list Points
				(1514, 530)
				(1276, 423))
			    line_style 	0)))
		(object NoteView @908
		    location   	(1962, 264)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@908
			location   	(1603, 98)
			fill_color 	13434879
			nlines     	6
			max_width  	683
			justify    	1
			label      	
|In SQL, the UpdatabilityExpression can be one of:
|- FOR READ ONLY
|- FOR UPDATE
|- FOR UPDATE OF <column name list>
			)
		    line_color 	3342489
		    fill_color 	16777088
		    width      	743
		    height     	344)
		(object AttachView "" @909
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@908
		    supplier   	@880
		    vertices   	(list Points
			(1962, 436)
			(1962, 638))
		    line_style 	0)))
	(object ClassDiagram "MergeStatement"
	    quid       	"404C2A670298"
	    title      	"MergeStatement"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object NoteView @910
		    location   	(1822, 1976)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@910
			location   	(1265, 1916)
			fill_color 	13434879
			nlines     	2
			max_width  	1078
			justify    	1
			label      	
|The Update Spec is for WHEN MATCHED expressions.  
|The Insert Spec is for WHEN NOT MATCHED expressions.
			)
		    line_color 	3342489
		    fill_color 	16777088
		    width      	1138
		    height     	132)
		(object NoteView @911
		    location   	(1508, 1612)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@911
			location   	(1211, 1434)
			fill_color 	13434879
			nlines     	7
			max_width  	558
			justify    	1
			label      	"In a Merge statement the UpdateSource of the UpdateAssignmentExpression can only be a UpdateSourceExprList.  (A query expr source is not allowed.)")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	618
		    height     	368)
		(object ClassView "Class" "Logical View::SQLQueryModel::UpdateAssignmentExpression" @912
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1509, 1104)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@912
			location   	(1222, 1053)
			fill_color 	13434879
			nlines     	1
			max_width  	574
			justify    	0
			label      	"UpdateAssignmentExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B378BF6015F"
		    width      	592
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AttachView "" @913
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@911
		    supplier   	@912
		    vertices   	(list Points
			(1508, 1427)
			(1508, 1167))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::MergeUpdateSpecification" @914
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1509, 702)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@914
			location   	(1258, 651)
			fill_color 	13434879
			nlines     	1
			max_width  	502
			justify    	0
			label      	"MergeUpdateSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4971844B003E"
		    width      	520
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$108" @915
		    location   	(1509, 902)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"497184D0035B"
		    roleview_list 	(list RoleViews
			(object RoleView "assignementExprList" @916
			    Parent_View 	@915
			    location   	(15, 269)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @917
				Parent_View 	@916
				location   	(1279, 1009)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	411
				justify    	0
				label      	"+assignementExprList"
				pctDist    	0.783440
				height     	231
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497184D10251"
			    client     	@915
			    supplier   	@912
			    vertices   	(list Points
				(1509, 902)
				(1509, 1040))
			    line_style 	0
			    label      	(object SegLabel @918
				Parent_View 	@916
				location   	(1578, 1009)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.783440
				height     	69
				orientation 	0)
			    label      	(object SegLabel @919
				Parent_View 	@916
				location   	(1717, 1006)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	171
				justify    	0
				label      	"{ordered}"
				pctDist    	0.764331
				height     	208
				orientation 	0))
			(object RoleView "mergeUpdateSpec" @920
			    Parent_View 	@915
			    location   	(15, 269)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @921
				Parent_View 	@920
				location   	(1496, 842)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	359
				justify    	0
				label      	"+mergeUpdateSpec"
				pctDist    	0.437956
				height     	13
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497184D10253"
			    client     	@915
			    supplier   	@914
			    vertices   	(list Points
				(1509, 902)
				(1509, 765))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionColumn" @922
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2133, 1107)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@922
			location   	(1896, 1056)
			fill_color 	13434879
			nlines     	1
			max_width  	474
			justify    	0
			label      	"ValueExpressionColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389EAF00BB"
		    width      	492
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValuesRow" @923
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2418, 909)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@923
			location   	(2296, 858)
			fill_color 	13434879
			nlines     	1
			max_width  	244
			justify    	0
			label      	"ValuesRow")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B3796910130"
		    width      	262
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::MergeInsertSpecification" @924
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2133, 702)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@924
			location   	(1889, 651)
			fill_color 	13434879
			nlines     	1
			max_width  	488
			justify    	0
			label      	"MergeInsertSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"497185E60242"
		    width      	506
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$109" @925
		    location   	(2133, 904)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4971885002BF"
		    roleview_list 	(list RoleViews
			(object RoleView "targetColumnList" @926
			    Parent_View 	@925
			    location   	(378, 466)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @927
				Parent_View 	@926
				location   	(2330, 1012)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	339
				justify    	0
				label      	"+targetColumnList"
				pctDist    	0.776978
				height     	197
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497188510196"
			    client     	@925
			    supplier   	@922
			    vertices   	(list Points
				(2133, 904)
				(2133, 1043))
			    line_style 	0
			    label      	(object SegLabel @928
				Parent_View 	@926
				location   	(1914, 1010)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.762590
				height     	220
				orientation 	1)
			    label      	(object SegLabel @929
				Parent_View 	@926
				location   	(2048, 1010)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	171
				justify    	0
				label      	"{ordered}"
				pctDist    	0.762590
				height     	86
				orientation 	1))
			(object RoleView "mergeInsertSpec" @930
			    Parent_View 	@925
			    location   	(378, 466)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @931
				Parent_View 	@930
				location   	(1924, 805)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	341
				justify    	0
				label      	"+mergeInsertSpec"
				pctDist    	0.712230
				height     	209
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497188510198"
			    client     	@925
			    supplier   	@924
			    vertices   	(list Points
				(2133, 904)
				(2133, 765))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$110" @932
		    location   	(2274, 805)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"497188C0001F"
		    roleview_list 	(list RoleViews
			(object RoleView "sourceValuesRow" @933
			    Parent_View 	@932
			    location   	(519, 367)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @934
				Parent_View 	@933
				location   	(2473, 808)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	365
				justify    	0
				label      	"+sourceValuesRow"
				pctDist    	2.387793
				height     	114
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497188C003B9"
			    client     	@932
			    supplier   	@923
			    vertices   	(list Points
				(2274, 805)
				(2330, 845))
			    line_style 	0
			    label      	(object SegLabel @935
				Parent_View 	@933
				location   	(2243, 828)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.184122
				height     	37
				orientation 	1))
			(object RoleView "$UNNAMED$111" @936
			    Parent_View 	@932
			    location   	(519, 367)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497188C003BB"
			    client     	@932
			    supplier   	@924
			    vertices   	(list Points
				(2274, 805)
				(2218, 765))
			    line_style 	0)))
		(object NoteView @937
		    location   	(2132, 1612)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@937
			location   	(1866, 1443)
			fill_color 	13434879
			nlines     	6
			max_width  	496
			justify    	1
			label      	
|Note the MergeInsertSpec does not "own" the targetColumnList objects.  The column objects are "owned" by the targetTable table expression.
			)
		    line_color 	3342489
		    fill_color 	16777088
		    width      	556
		    height     	350)
		(object AttachView "" @938
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@937
		    supplier   	@922
		    vertices   	(list Points
			(2132, 1436)
			(2132, 1170))
		    line_style 	0)
		(object NoteView @939
		    location   	(585, 1651)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@939
			location   	(207, 1520)
			fill_color 	13434879
			nlines     	5
			max_width  	721
			justify    	1
			label      	"Note: the clauses of the Merge statement are modelled as separate objects (such as MergeTargetTable) in order to make it easier to override or extend parts of the statement.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	781
		    height     	275)
		(object NoteView @940
		    location   	(2392, 429)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@940
			location   	(2192, 301)
			fill_color 	13434879
			nlines     	5
			max_width  	365
			justify    	1
			label      	"The operation spec list can contain at most one update spec and one insert spec,")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	425
		    height     	269)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableReference" @941
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 990)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@941
			location   	(266, 939)
			fill_color 	13434879
			nlines     	1
			max_width  	332
			justify    	0
			label      	"TableReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37EE200178"
		    width      	350
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QuerySearchCondition" @942
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(843, 1299)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@942
			location   	(571, 1218)
			fill_color 	13434879
			nlines     	1
			max_width  	544
			justify    	0
			label      	"QuerySearchCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B378C160224"
		    width      	562
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::MergeSourceTable" @943
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(819, 654)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@943
			location   	(629, 603)
			fill_color 	13434879
			nlines     	1
			max_width  	380
			justify    	0
			label      	"MergeSourceTable")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"49717F4B0271"
		    width      	398
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$105" @944
		    location   	(625, 821)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"49717FDB008C"
		    roleview_list 	(list RoleViews
			(object RoleView "tableRef" @945
			    Parent_View 	@944
			    location   	(-281, 179)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @946
				Parent_View 	@945
				location   	(383, 895)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	244
				justify    	0
				label      	"+tableRef"
				pctDist    	1.452754
				height     	104
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49717FDC0148"
			    client     	@944
			    supplier   	@941
			    vertices   	(list Points
				(625, 821)
				(503, 926))
			    line_style 	0
			    label      	(object SegLabel @947
				Parent_View 	@945
				location   	(607, 900)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.412823
				height     	48
				orientation 	0))
			(object RoleView "mergeSourceTable" @948
			    Parent_View 	@944
			    location   	(-281, 179)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @949
				Parent_View 	@948
				location   	(472, 782)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	371
				justify    	0
				label      	"+mergeSourceTable"
				pctDist    	-0.578416
				height     	131
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49717FDC014A"
			    client     	@944
			    supplier   	@943
			    vertices   	(list Points
				(625, 821)
				(744, 717))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::MergeOnCondition" @950
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1041, 897)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@950
			location   	(852, 846)
			fill_color 	13434879
			nlines     	1
			max_width  	378
			justify    	0
			label      	"MergeOnCondition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4971822C0148"
		    width      	396
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$107" @951
		    location   	(947, 1082)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"497182B402FD"
		    roleview_list 	(list RoleViews
			(object RoleView "searchCondition" @952
			    Parent_View 	@951
			    location   	(-142, 245)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @953
				Parent_View 	@952
				location   	(680, 1179)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	331
				justify    	0
				label      	"+searchCondition"
				pctDist    	1.489606
				height     	199
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497182B501A5"
			    client     	@951
			    supplier   	@942
			    vertices   	(list Points
				(947, 1082)
				(886, 1205))
			    line_style 	0
			    label      	(object SegLabel @954
				Parent_View 	@952
				location   	(957, 1175)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.582547
				height     	50
				orientation 	0))
			(object RoleView "mergeOnCondition" @955
			    Parent_View 	@951
			    location   	(-142, 245)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @956
				Parent_View 	@955
				location   	(861, 1037)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	363
				justify    	0
				label      	"+mergeOnCondition"
				pctDist    	0.013170
				height     	98
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497182B501A7"
			    client     	@951
			    supplier   	@950
			    vertices   	(list Points
				(947, 1082)
				(1008, 960))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::MergeOperationSpecification" @957
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1782, 429)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@957
			location   	(1507, 378)
			fill_color 	13434879
			nlines     	1
			max_width  	550
			justify    	0
			label      	"MergeOperationSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"498A415902FD"
		    width      	568
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @958
		    location   	(1782, 582)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@957
		    vertices   	(list Points
			(1782, 582)
			(1782, 492)))
		(object InheritView "" @959
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"498A42D90271"
		    client     	@924
		    supplier   	@957
		    vertices   	(list Points
			(2112, 639)
			(2112, 582))
		    line_style 	3
		    origin_attachment 	(2112, 639)
		    terminal_attachment 	(2112, 582)
		    drawSupplier 	@958)
		(object InheritView "" @960
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"498A42D50148"
		    client     	@914
		    supplier   	@957
		    vertices   	(list Points
			(1503, 639)
			(1503, 582))
		    line_style 	3
		    origin_attachment 	(1503, 639)
		    terminal_attachment 	(1503, 582)
		    drawSupplier 	@958)
		(object AttachView "" @961
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@940
		    supplier   	@957
		    vertices   	(list Points
			(2179, 429)
			(2066, 429))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryMergeStatement" @962
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1338, 105)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@962
			location   	(1119, 53)
			fill_color 	13434879
			nlines     	1
			max_width  	438
			justify    	0
			label      	"QueryMergeStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"404C2AAB0232"
		    width      	456
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$104" @963
		    location   	(1077, 379)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"49717F5F009C"
		    roleview_list 	(list RoleViews
			(object RoleView "sourceTable" @964
			    Parent_View 	@963
			    location   	(-171, 211)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @965
				Parent_View 	@964
				location   	(749, 555)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	253
				justify    	0
				label      	"+sourceTable"
				pctDist    	1.219773
				height     	119
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49717F5F037A"
			    client     	@963
			    supplier   	@943
			    vertices   	(list Points
				(1077, 379)
				(878, 590))
			    line_style 	0
			    label      	(object SegLabel @966
				Parent_View 	@964
				location   	(964, 558)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.716738
				height     	41
				orientation 	0))
			(object RoleView "mergeStatement" @967
			    Parent_View 	@963
			    location   	(-171, 211)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @968
				Parent_View 	@967
				location   	(1092, 260)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	335
				justify    	0
				label      	"+mergeStatement"
				pctDist    	0.332900
				height     	72
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49717F5F038A"
			    client     	@963
			    supplier   	@962
			    vertices   	(list Points
				(1077, 379)
				(1275, 169))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$106" @969
		    location   	(1187, 501)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4971824601C5"
		    roleview_list 	(list RoleViews
			(object RoleView "onCondition" @970
			    Parent_View 	@969
			    location   	(-61, 333)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @971
				Parent_View 	@970
				location   	(934, 800)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+onCondition"
				pctDist    	1.042484
				height     	133
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497182470203"
			    client     	@969
			    supplier   	@950
			    vertices   	(list Points
				(1187, 501)
				(1063, 833))
			    line_style 	0
			    label      	(object SegLabel @972
				Parent_View 	@970
				location   	(1121, 793)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.840393
				height     	41
				orientation 	0))
			(object RoleView "mergeStatement" @973
			    Parent_View 	@969
			    location   	(-61, 333)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @974
				Parent_View 	@973
				location   	(1235, 312)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	335
				justify    	0
				label      	"+mergeStatement"
				pctDist    	0.548234
				height     	24
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"497182470205"
			    client     	@969
			    supplier   	@962
			    vertices   	(list Points
				(1187, 501)
				(1312, 169))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$112" @975
		    location   	(1561, 267)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"498BA98501C5"
		    roleview_list 	(list RoleViews
			(object RoleView "operationSpecList" @976
			    Parent_View 	@975
			    location   	(222, 163)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @977
				Parent_View 	@976
				location   	(1880, 325)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	363
				justify    	0
				label      	"+operationSpecList"
				pctDist    	1.758836
				height     	142
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"498BA98600CB"
			    client     	@975
			    supplier   	@957
			    vertices   	(list Points
				(1561, 267)
				(1695, 365))
			    line_style 	0
			    label      	(object SegLabel @978
				Parent_View 	@976
				location   	(1580, 328)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.310181
				height     	39
				orientation 	1))
			(object RoleView "mergeStatement" @979
			    Parent_View 	@975
			    location   	(222, 163)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @980
				Parent_View 	@979
				location   	(1430, 223)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	337
				justify    	0
				label      	"+mergeStatement"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"498BA98600CD"
			    client     	@975
			    supplier   	@962
			    vertices   	(list Points
				(1561, 267)
				(1427, 169))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::TableExpression" @981
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(219, 681)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@981
			location   	(54, 630)
			fill_color 	13434879
			nlines     	1
			max_width  	330
			justify    	0
			label      	"TableExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37EE600288"
		    width      	348
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::MergeTargetTable" @982
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(714, 417)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@982
			location   	(532, 366)
			fill_color 	13434879
			nlines     	1
			max_width  	364
			justify    	0
			label      	"MergeTargetTable")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"49717CEF01B5"
		    width      	382
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$100" @983
		    location   	(1023, 261)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"49717D6901B5"
		    roleview_list 	(list RoleViews
			(object RoleView "targetTable" @984
			    Parent_View 	@983
			    location   	(-225, 93)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @985
				Parent_View 	@984
				location   	(671, 315)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	234
				justify    	0
				label      	"+targetTable"
				pctDist    	1.644346
				height     	110
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49717D6A0109"
			    client     	@983
			    supplier   	@982
			    vertices   	(list Points
				(1023, 261)
				(836, 353))
			    line_style 	0
			    label      	(object SegLabel @986
				Parent_View 	@984
				location   	(816, 324)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	1.039966
				height     	37
				orientation 	1))
			(object RoleView "mergeStatement" @987
			    Parent_View 	@983
			    location   	(-225, 93)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @988
				Parent_View 	@987
				location   	(940, 200)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	335
				justify    	0
				label      	"+mergeStatement"
				pctDist    	-0.235294
				height     	93
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"49717D6A0119"
			    client     	@983
			    supplier   	@962
			    vertices   	(list Points
				(1023, 261)
				(1206, 169))
			    line_style 	0)))
		(object AssociationViewNew "$UNNAMED$113" @989
		    location   	(465, 548)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"498E982B029F"
		    roleview_list 	(list RoleViews
			(object RoleView "tableExpr" @990
			    Parent_View 	@989
			    location   	(-249, 131)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @991
				Parent_View 	@990
				location   	(182, 594)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+tableExpr"
				pctDist    	1.881088
				height     	95
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"498E982D0119"
			    client     	@989
			    supplier   	@981
			    vertices   	(list Points
				(465, 548)
				(335, 617))
			    line_style 	0
			    label      	(object SegLabel @992
				Parent_View 	@990
				location   	(349, 580)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.812955
				height     	28
				orientation 	1))
			(object RoleView "mergeTargetTable" @993
			    Parent_View 	@989
			    location   	(-249, 131)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @994
				Parent_View 	@993
				location   	(351, 498)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	358
				justify    	0
				label      	"+mergeTargetTable"
				pctDist    	-0.532749
				height     	98
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"498E982D0128"
			    client     	@989
			    supplier   	@982
			    vertices   	(list Points
				(465, 548)
				(590, 480))
			    line_style 	0)))
		(object NoteView @995
		    location   	(220, 1299)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@995
			location   	(36, 1164)
			fill_color 	13434879
			nlines     	5
			max_width  	333
			justify    	1
			label      	"ISO SQL allows only a Table or View (TableInDatabase) here.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	393
		    height     	282)
		(object AttachView "" @996
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@981
		    supplier   	@995
		    vertices   	(list Points
			(219, 744)
			(219, 1157))
		    line_style 	0)))
	(object ClassDiagram "OrderBySpecification"
	    quid       	"404D17B30193"
	    title      	"OrderBySpecification"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	362
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderBySpecification" @997
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1247, 260)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@997
			location   	(819, 150)
			fill_color 	13434879
			nlines     	1
			max_width  	857
			justify    	0
			label      	"OrderBySpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"404D14E20381"
		    width      	875
		    height     	244
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderByOrdinal" @998
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 702)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@998
			location   	(446, 621)
			fill_color 	13434879
			nlines     	1
			max_width  	356
			justify    	0
			label      	"OrderByOrdinal")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"404D1615021A"
		    width      	374
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderByValueExpression" @999
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1899, 675)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@999
			location   	(1656, 624)
			fill_color 	13434879
			nlines     	1
			max_width  	486
			justify    	0
			label      	"OrderByValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F35A0212"
		    width      	504
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @1000
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1898, 1105)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1000
			location   	(1673, 1055)
			fill_color 	13434879
			nlines     	1
			max_width  	450
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	468
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$19" @1001
		    location   	(1898, 890)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F3F80183"
		    roleview_list 	(list RoleViews
			(object RoleView "orderByValueExpr" @1002
			    Parent_View 	@1001
			    location   	(-99, 206)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1003
				Parent_View 	@1002
				location   	(1699, 796)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	364
				justify    	0
				label      	"+orderByValueExpr"
				pctDist    	0.615942
				height     	200
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3F80350"
			    client     	@1001
			    supplier   	@999
			    vertices   	(list Points
				(1898, 890)
				(1898, 738))
			    line_style 	0)
			(object RoleView "valueExpr" @1004
			    Parent_View 	@1001
			    location   	(-99, 206)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1005
				Parent_View 	@1004
				location   	(1766, 1003)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	217
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.741007
				height     	133
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F3F80352"
			    client     	@1001
			    supplier   	@1000
			    vertices   	(list Points
				(1898, 890)
				(1898, 1042))
			    line_style 	0
			    label      	(object SegLabel @1006
				Parent_View 	@1004
				location   	(1942, 1004)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.755396
				height     	44
				orientation 	0))))
		(object InheritTreeView "" @1007
		    location   	(1247, 503)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@997
		    vertices   	(list Points
			(1247, 503)
			(1247, 382)))
		(object InheritView "" @1008
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D165700D4"
		    client     	@999
		    supplier   	@997
		    vertices   	(list Points
			(1898, 612)
			(1898, 503))
		    line_style 	3
		    origin_attachment 	(1898, 612)
		    terminal_attachment 	(1898, 503)
		    drawSupplier 	@1007)
		(object InheritView "" @1009
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404D164E0244"
		    client     	@998
		    supplier   	@997
		    vertices   	(list Points
			(615, 608)
			(615, 503))
		    line_style 	3
		    origin_attachment 	(615, 608)
		    terminal_attachment 	(615, 503)
		    drawSupplier 	@1007)
		(object ClassView "Class" "Logical View::SQLQueryModel::ResultColumn" @1010
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 1104)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1010
			location   	(1107, 1053)
			fill_color 	13434879
			nlines     	1
			max_width  	282
			justify    	0
			label      	"ResultColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F947006F"
		    width      	300
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderByResultColumn" @1011
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 675)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1011
			location   	(1032, 624)
			fill_color 	13434879
			nlines     	1
			max_width  	432
			justify    	0
			label      	"OrderByResultColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"41AB8B39017F"
		    width      	450
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @1012
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41AB8B390193"
		    client     	@1011
		    supplier   	@997
		    vertices   	(list Points
			(1246, 612)
			(1246, 503))
		    line_style 	3
		    origin_attachment 	(1246, 612)
		    terminal_attachment 	(1246, 503)
		    drawSupplier 	@1007)
		(object AssociationViewNew "$UNNAMED$85" @1013
		    location   	(1248, 889)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41AB8B960230"
		    roleview_list 	(list RoleViews
			(object RoleView "resultCol" @1014
			    Parent_View 	@1013
			    location   	(0, 213)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1015
				Parent_View 	@1014
				location   	(1117, 1007)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	194
				justify    	0
				label      	"+resultCol"
				pctDist    	0.788922
				height     	132
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41AB8B970246"
			    client     	@1013
			    supplier   	@1010
			    vertices   	(list Points
				(1248, 889)
				(1248, 1040))
			    line_style 	0
			    label      	(object SegLabel @1016
				Parent_View 	@1014
				location   	(1302, 999)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.730857
				height     	54
				orientation 	0))
			(object RoleView "orderByResultCol" @1017
			    Parent_View 	@1013
			    location   	(0, 213)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1018
				Parent_View 	@1017
				location   	(1233, 782)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	347
				justify    	0
				label      	"+orderByResultCol"
				pctDist    	0.715946
				height     	16
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41AB8B970248"
			    client     	@1013
			    supplier   	@1011
			    vertices   	(list Points
				(1248, 889)
				(1248, 738))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::SQLQueryModel::NullOrderingType" @1019
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1560, 1495)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1019
			location   	(1359, 1386)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"NullOrderingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@1019
			location   	(1359, 1336)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	402
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"43595F9F031B"
		    width      	420
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderingSpecType" @1020
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(871, 1495)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1020
			location   	(652, 1386)
			fill_color 	13434879
			nlines     	1
			max_width  	438
			justify    	0
			label      	"OrderingSpecType")
		    stereotype 	(object ItemLabel
			Parent_View 	@1020
			location   	(652, 1336)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	438
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"43596054009A"
		    width      	456
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "ResultColumnSpecification"
	    quid       	"404E2B3003B9"
	    title      	"ResultColumnSpecification"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	850
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryResultSpecification" @1021
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1117, 380)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1021
			location   	(804, 330)
			fill_color 	13434879
			nlines     	1
			max_width  	626
			justify    	0
			label      	"QueryResultSpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37F66102FD"
		    width      	644
		    height     	125
		    annotation 	8)
		(object NoteView @1022
		    location   	(1922, 587)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1022
			location   	(1741, 524)
			fill_color 	13434879
			nlines     	2
			max_width  	327
			justify    	1
			label      	"Represents <tablename>.*")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	387
		    height     	138)
		(object ClassView "Class" "Logical View::SQLQueryModel::ResultColumn" @1023
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(756, 846)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1023
			location   	(556, 796)
			fill_color 	13434879
			nlines     	1
			max_width  	401
			justify    	0
			label      	"ResultColumn")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F947006F"
		    width      	419
		    height     	125
		    annotation 	8)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @1024
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(756, 1187)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1024
			location   	(553, 1137)
			fill_color 	13434879
			nlines     	1
			max_width  	406
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	424
		    height     	125
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$27" @1025
		    location   	(756, 1016)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F9D90051"
		    roleview_list 	(list RoleViews
			(object RoleView "resultColumn" @1026
			    Parent_View 	@1025
			    location   	(-1767, -387)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1027
				Parent_View 	@1026
				location   	(915, 973)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	278
				justify    	0
				label      	"+resultColumn"
				pctDist    	0.406250
				height     	159
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F9D901AF"
			    client     	@1025
			    supplier   	@1023
			    vertices   	(list Points
				(756, 1016)
				(756, 908))
			    line_style 	0)
			(object RoleView "valueExpr" @1028
			    Parent_View 	@1025
			    location   	(-1767, -387)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1029
				Parent_View 	@1028
				location   	(903, 1086)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.660971
				height     	147
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B37F9D901B1"
			    client     	@1025
			    supplier   	@1024
			    vertices   	(list Points
				(756, 1016)
				(756, 1124))
			    line_style 	0
			    label      	(object SegLabel @1030
				Parent_View 	@1028
				location   	(724, 1066)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.469455
				height     	33
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @1031
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(351, 377)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1031
			location   	(149, 271)
			fill_color 	13434879
			nlines     	1
			max_width  	404
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	422
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @1032
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404E2B7E0181"
		    client     	@1021
		    supplier   	@1031
		    vertices   	(list Points
			(794, 378)
			(562, 377))
		    line_style 	0)
		(object InheritTreeView "" @1033
		    location   	(1116, 639)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@1021
		    vertices   	(list Points
			(1116, 639)
			(1116, 442)))
		(object InheritView "" @1034
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F95502F0"
		    client     	@1023
		    supplier   	@1021
		    vertices   	(list Points
			(763, 783)
			(763, 639))
		    line_style 	3
		    origin_attachment 	(763, 783)
		    terminal_attachment 	(763, 639)
		    drawSupplier 	@1033)
		(object ClassView "Class" "Logical View::SQLQueryModel::TableExpression" @1035
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1509, 1182)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1035
			location   	(1343, 1131)
			fill_color 	13434879
			nlines     	1
			max_width  	332
			justify    	0
			label      	"TableExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37EE600288"
		    width      	350
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ResultTableAllColumns" @1036
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1508, 845)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1036
			location   	(1224, 792)
			fill_color 	13434879
			nlines     	1
			max_width  	569
			justify    	0
			label      	"ResultTableAllColumns")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B37F93B0085"
		    width      	587
		    height     	131
		    annotation 	8)
		(object AttachView "" @1037
		    stereotype 	TRUE
		    line_color 	3342489
		    client     	@1022
		    supplier   	@1036
		    vertices   	(list Points
			(1809, 656)
			(1612, 779))
		    line_style 	0)
		(object InheritView "" @1038
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B37F953033D"
		    client     	@1036
		    supplier   	@1021
		    vertices   	(list Points
			(1496, 780)
			(1496, 639))
		    line_style 	3
		    origin_attachment 	(1496, 780)
		    terminal_attachment 	(1496, 639)
		    drawSupplier 	@1033)
		(object AssociationViewNew "$UNNAMED$86" @1039
		    location   	(1508, 1014)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41B8F9BD01F7"
		    roleview_list 	(list RoleViews
			(object RoleView "tableExpr" @1040
			    Parent_View 	@1039
			    location   	(0, 169)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1041
				Parent_View 	@1040
				location   	(1376, 1084)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	204
				justify    	0
				label      	"+tableExpr"
				pctDist    	0.685714
				height     	133
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41B8F9BE01AF"
			    client     	@1039
			    supplier   	@1035
			    vertices   	(list Points
				(1508, 1014)
				(1508, 1118))
			    line_style 	0
			    label      	(object SegLabel @1042
				Parent_View 	@1040
				location   	(1563, 1081)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.647619
				height     	55
				orientation 	0))
			(object RoleView "resultTableAllColumns" @1043
			    Parent_View 	@1039
			    location   	(0, 169)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1044
				Parent_View 	@1043
				location   	(1274, 944)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	442
				justify    	0
				label      	"+resultTableAllColumns"
				pctDist    	0.673077
				height     	235
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41B8F9BE01B1"
			    client     	@1039
			    supplier   	@1036
			    vertices   	(list Points
				(1508, 1014)
				(1508, 910))
			    line_style 	0
			    label      	(object SegLabel @1045
				Parent_View 	@1043
				location   	(1586, 945)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.663462
				height     	78
				orientation 	1))))))
	(object ClassDiagram "CallStatement"
	    quid       	"4B50CA4200EA"
	    title      	"CallStatement"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLModel::Schema::SQLObject" @1046
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(408, 273)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1046
			location   	(211, 144)
			fill_color 	13434879
			nlines     	1
			max_width  	394
			justify    	0
			label      	"SQLObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3E9B3EB5002B"
		    width      	412
		    height     	282
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @1047
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(403, 663)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1047
			location   	(231, 611)
			fill_color 	13434879
			nlines     	1
			max_width  	344
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	362
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @1048
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"404683B902A0"
		    client     	@1047
		    supplier   	@1046
		    vertices   	(list Points
			(403, 598)
			(405, 414))
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLModel::Statements::SQLControlStatement" @1049
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1911, 663)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1049
			location   	(1696, 611)
			fill_color 	13434879
			nlines     	1
			max_width  	430
			justify    	0
			label      	"SQLControlStatement")
		    stereotype 	(object ItemLabel
			Parent_View 	@1049
			location   	(1696, 561)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	430
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14532070
		    quidu      	"4049095A0220"
		    width      	448
		    height     	228
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @1050
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1534, 1040)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1050
			location   	(1312, 988)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	462
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::CallStatement" @1051
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1144, 663)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1051
			location   	(1000, 612)
			fill_color 	13434879
			nlines     	1
			max_width  	288
			justify    	0
			label      	"CallStatement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4B50CD41004E"
		    width      	306
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @1052
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4B50CD550213"
		    client     	@1051
		    supplier   	@1047
		    vertices   	(list Points
			(990, 663)
			(584, 663))
		    line_style 	0)
		(object InheritView "" @1053
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4B50CD59037A"
		    client     	@1051
		    supplier   	@1049
		    vertices   	(list Points
			(1297, 663)
			(1686, 663))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$117" @1054
		    location   	(1338, 850)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4B50D0F40196"
		    roleview_list 	(list RoleViews
			(object RoleView "argumentList" @1055
			    Parent_View 	@1054
			    location   	(276, 199)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1056
				Parent_View 	@1055
				location   	(1259, 943)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	269
				justify    	0
				label      	"+argumentList"
				pctDist    	0.036571
				height     	122
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4B50D0F50290"
			    client     	@1054
			    supplier   	@1050
			    vertices   	(list Points
				(1338, 850)
				(1467, 975))
			    line_style 	0
			    label      	(object SegLabel @1057
				Parent_View 	@1055
				location   	(1510, 942)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	1.044071
				height     	54
				orientation 	0))
			(object RoleView "callStatement" @1058
			    Parent_View 	@1054
			    location   	(276, 199)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1059
				Parent_View 	@1058
				location   	(1464, 745)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	280
				justify    	0
				label      	"+callStatement"
				pctDist    	-0.105038
				height     	163
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4B50D0F502EE"
			    client     	@1054
			    supplier   	@1051
			    vertices   	(list Points
				(1338, 850)
				(1210, 726))
			    line_style 	0
			    label      	(object SegLabel @1060
				Parent_View 	@1058
				location   	(1282, 745)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.639993
				height     	37
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLModel::Routines::Procedure" @1061
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(741, 1352)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1061
			location   	(626, 1277)
			fill_color 	13434879
			nlines     	1
			max_width  	230
			justify    	0
			label      	"Procedure")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3F3D3B200263"
		    width      	248
		    height     	174
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ProcedureReference" @1062
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(741, 1040)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1062
			location   	(539, 989)
			fill_color 	13434879
			nlines     	1
			max_width  	404
			justify    	0
			label      	"ProcedureReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4BC79E0202DE"
		    width      	422
		    height     	126
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$118" @1063
		    location   	(940, 851)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4BC79E530271"
		    roleview_list 	(list RoleViews
			(object RoleView "procedureRef" @1064
			    Parent_View 	@1063
			    location   	(-204, 188)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1065
				Parent_View 	@1064
				location   	(601, 932)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	271
				justify    	0
				label      	"+procedureRef"
				pctDist    	1.662220
				height     	173
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4BC79E5401D4"
			    client     	@1063
			    supplier   	@1062
			    vertices   	(list Points
				(940, 851)
				(805, 976))
			    line_style 	0
			    label      	(object SegLabel @1066
				Parent_View 	@1064
				location   	(784, 936)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.942884
				height     	45
				orientation 	1))
			(object RoleView "callStatement" @1067
			    Parent_View 	@1063
			    location   	(-204, 188)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1068
				Parent_View 	@1067
				location   	(822, 750)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	277
				justify    	0
				label      	"+callStatement"
				pctDist    	-0.102886
				height     	156
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4BC79E5401D6"
			    client     	@1063
			    supplier   	@1051
			    vertices   	(list Points
				(940, 851)
				(1073, 726))
			    line_style 	0
			    label      	(object SegLabel @1069
				Parent_View 	@1067
				location   	(1006, 756)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.620440
				height     	26
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$119" @1070
		    location   	(741, 1183)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4BC79ECF02BF"
		    roleview_list 	(list RoleViews
			(object RoleView "procedure" @1071
			    Parent_View 	@1070
			    location   	(0, 143)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @1072
				Parent_View 	@1071
				location   	(597, 1222)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	216
				justify    	0
				label      	"+procedure"
				pctDist    	0.481481
				height     	144
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4BC79ED00213"
			    client     	@1070
			    supplier   	@1061
			    vertices   	(list Points
				(741, 1183)
				(741, 1264))
			    line_style 	0
			    label      	(object SegLabel @1073
				Parent_View 	@1071
				location   	(796, 1214)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.382716
				height     	55
				orientation 	0))
			(object RoleView "$UNNAMED$120" @1074
			    Parent_View 	@1070
			    location   	(0, 143)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4BC79ED00215"
			    client     	@1070
			    supplier   	@1062
			    vertices   	(list Points
				(741, 1183)
				(741, 1103))
			    line_style 	0)))))))
