
(object Petal
    version    	42
    _written   	"Rose 4.5.8054a"
    charSet    	0)

(object Design "Logical View"
    is_unit    	TRUE
    is_loaded  	TRUE
    defaults   	(object defaults
	rightMargin 	0.250000
	leftMargin 	0.250000
	topMargin  	0.250000
	bottomMargin 	0.500000
	pageOverlap 	0.250000
	clipIconLabels 	TRUE
	autoResize 	TRUE
	snapToGrid 	TRUE
	gridX      	16
	gridY      	16
	defaultFont 	(object Font
	    size       	10
	    face       	"Arial"
	    bold       	FALSE
	    italics    	FALSE
	    underline  	FALSE
	    strike     	FALSE
	    color      	0
	    default_color 	TRUE)
	showMessageNum 	1
	showClassOfObject 	TRUE
	notation   	"Unified")
    root_usecase_package 	(object Class_Category "Use Case View"
	quid       	"39E27F080064"
	exportControl 	"Public"
	global     	TRUE
	logical_models 	(list unit_reference_list)
	logical_presentations 	(list unit_reference_list
	    (object UseCaseDiagram "Main"
		quid       	"39E27F080078"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    root_category 	(object Class_Category "Logical View"
	quid       	"39E27F080063"
	exportControl 	"Public"
	global     	TRUE
	subsystem  	"Component View"
	quidu      	"39E27F080065"
	logical_models 	(list unit_reference_list
	    (object Class_Category "wsdl"
		quid       	"3ADFB8E5021E"
		documentation 	
|The WSDL model contains classes for the Web Services Description Language (WSDL).
|
|WSDL describes network services as sets of endpoints operating on messages. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.
|
|WSDL describes the formats of the messages exchanged by the services, and supports the XML Schemas specification as its canonical type system. This package uses an XML Schema Infoset model package (see the XSD package) to describe the abstract message formats.
|
|The model contains the following diagrams, named after the corresponding chapters in the WSDL 1.1 specification (http://www.w3.org/TR/2001/NOTE-wsdl-20010315)
|- 2.1 Definition, shows the WSDL definition element and the WSDL document structure
|- 2.1.1 Naming and Linking, shows the namespace and import mechanism
|- 2.1.3 Extensibility, shows the WSDL extensibility mechanism
|- 2.2 Types, shows the use of XML Schema types in WSDL
|- 2.3 Messages, 2.4 PortTypes, 2.5 Bindings and 2.7 Services, show the major WSDL elements and their relations.
|
|The WSDL classes extend the javax.wsdl interfaces defined by JSR 110. Classes with interface and datatype stereotypes are used to represent these non-MOF interfaces.
		
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "WSDLElement"
			quid       	"3AD5C6A302DD"
			documentation 	"This class represents a WSDL language element."
			operations 	(list Operations
			    (object Operation "getEnclosingDefinition"
				quid       	"3CD1529600C8"
				result     	"Definition"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setEnclosingDefinition"
				quid       	"3CD152B80347"
				parameters 	(list Parameters
				    (object Parameter "definition"
					type       	"Definition"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "documentationElement"
				quid       	"3CCE443602A3"
				type       	"DOMElement")
			    (object ClassAttribute "element"
				quid       	"3F97DBD30207"
				type       	"DOMElement"))
			language   	"Java"
			abstract   	TRUE)
		    (object Class "PortType"
			quid       	"3AD5C7F001A5"
			documentation 	"This class represents a WSDL portType element of the WSDL specification version 1.1 and an Interface component of the WSDL specification version 1.2. A port type or Interface is a named set of abstract operations and the abstract messages involved."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5C9B70150"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F1FD8019F"
				supplier   	"Logical View::wsdl::IPortType"
				quidu      	"3B84A5BE0331"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB488E0023"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1E301E5"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CDEB0316"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D4FD01BA"
				type       	"String"))
			language   	"Java")
		    (object Class "Operation"
			quid       	"3AD5C80D03CE"
			documentation 	"This class represents a WSDL operation element. A WSDL operation is an abstract description of an action supported by a service."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE9DE98003C"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F1FE20171"
				supplier   	"Logical View::wsdl::IOperation"
				quidu      	"3B84A77600D1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "style"
				quid       	"3AEB472601AC"
				type       	"OperationType")
			    (object ClassAttribute "name"
				quid       	"3BDD9643004C"
				type       	"String")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF235003E"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CE2201AD"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D520011B"
				type       	"String"))
			language   	"Java")
		    (object Class "Message"
			quid       	"3AD5C9590078"
			documentation 	"This class represents a WSDL message element. A WSDL message is an abstract, typed definition of the data being communicated."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5D05501C4"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3B84A8D102BA"
				supplier   	"Logical View::wsdl::IMessage"
				quidu      	"3B84A8AF004F"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB487C01FE"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1D20226"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CE4B02B0"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D54200F1"
				type       	"String"))
			language   	"Java")
		    (object Class "Part"
			quid       	"3AD5CE1C032E"
			documentation 	"This class represents a WSDL part element. Parts describe the logical abstract content of a message. Each part is associated with a type from some type system. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84A96D02F1"
				supplier   	"Logical View::wsdl::IPart"
				quidu      	"3B84A93F01BE")
			    (object Inheritance_Relationship
				quid       	"3B897E230237"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3BCE70B703C8"
				type       	"String")
			    (object ClassAttribute "elementName"
				quid       	"3B84B08703DB"
				type       	"QName")
			    (object ClassAttribute "typeName"
				quid       	"3BCE70C303C5"
				type       	"QName"))
			language   	"Java")
		    (object Class "Binding"
			quid       	"3AD5D2860261"
			documentation 	"This class represents a WSDL binding element. A binding defines message format and protocol details for operations and messages defined by a particular portType. There may be any number of bindings for a given portType."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FA0F02F0"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B8595410129"
				supplier   	"Logical View::wsdl::IBinding"
				quidu      	"3B84ABC60219"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB4899014B"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1F401A3"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CE6D0151"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D4DF035C"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingOperation"
			quid       	"3AD5D3CB0145"
			documentation 	"This class represents a WSDL operation element within a binding. An operation element within a binding specifies binding information for the operation with the same name within the binding's portType. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD6009202F7"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84ADE401DC"
				supplier   	"Logical View::wsdl::IBindingOperation"
				quidu      	"3B84ADC00072"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B89C4CB0199"
				type       	"String"))
			language   	"Java")
		    (object Class "Service"
			quid       	"3AD5D8F002F8"
			documentation 	"This class represents a WSDL service element. A service groups a set of related ports together."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FA20025E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B85954E01B4"
				supplier   	"Logical View::wsdl::IService"
				quidu      	"3B84AB490287"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB48A40151"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF20D0203"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18D4810220"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D4C501E2"
				type       	"String"))
			language   	"Java")
		    (object Class "Port"
			quid       	"3AD5D9170286"
			documentation 	"This class represents a WSDL port element. A port defines an individual endpoint by specifying a single address for a binding"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD600CB00AA"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B85954502C9"
				supplier   	"Logical View::wsdl::IPort"
				quidu      	"3B84AB800326"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3AD5D9A00391"
				type       	"String"))
			language   	"Java")
		    (object Class "ExtensibilityElement"
			quid       	"3AD5DBB602A9"
			documentation 	"This class represents a WSDL extensibility element. WSDL allows extensibility elements representing a specific technology under various elements defined by WSDL."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84B14903D0"
				supplier   	"Logical View::wsdl::IExtensibilityElement"
				quidu      	"3B84B12402AB")
			    (object Inheritance_Relationship
				quid       	"3BDDF53502C3"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "required"
				quid       	"3AF9543C0073"
				type       	"boolean")
			    (object ClassAttribute "elementType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B85B21A0271"
				type       	"QName"))
			language   	"Java")
		    (object Class "Definition"
			quid       	"3AD5E43F008E"
			documentation 	"This class represents a WSDL definitions element. The WSDL definitions element is the root element of a WSDL document."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FDB803D4"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84B1F80382"
				supplier   	"Logical View::wsdl::IDefinition"
				quidu      	"3B84B1D90142"))
			operations 	(list Operations
			    (object Operation "getDocument"
				quid       	"3CD14FC2012B"
				result     	"DOMDocument"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setDocument"
				quid       	"3CD150DE01E7"
				parameters 	(list Parameters
				    (object Parameter "document"
					type       	"DOMDocument"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "targetNamespace"
				quid       	"3AD5E474004E"
				type       	"String")
			    (object ClassAttribute "location"
				quid       	"40352B7C0396"
				type       	"String")
			    (object ClassAttribute "qName"
				quid       	"3AEB485702F5"
				type       	"QName")
			    (object ClassAttribute "encoding"
				quid       	"3CADD00D000D"
				type       	"String"))
			language   	"Java")
		    (object Class "Import"
			quid       	"3AD5E4F903DE"
			documentation 	"This class represents WSDL import element. WSDL allows associating a namespace with a document location using an import element."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5EE58037A"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F200D0340"
				supplier   	"Logical View::wsdl::IImport"
				quidu      	"3B84B2020119"))
			operations 	(list Operations
			    (object Operation "getSchema"
				quid       	"3C8672C10379"
				result     	"XSDSchema"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setSchema"
				quid       	"3C8672C10397"
				parameters 	(list Parameters
				    (object Parameter "schema"
					type       	"XSDSchema"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespaceURI"
				quid       	"3AD5E50A0036"
				type       	"String")
			    (object ClassAttribute "locationURI"
				quid       	"3AD5E5140211"
				type       	"String"))
			language   	"Java")
		    (object Class "ExtensibleElement"
			quid       	"3AD5FCFA033A"
			documentation 	" WSDL allows elements representing a specific technology (referred to here as extensibility elements) under various elements defined by WSDL. This class represents a WSDL point of extensibility."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FE3C03D4"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			operations 	(list Operations
			    (object Operation "getExtensibilityElements"
				quid       	"3B85C12C03CD"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addExtensibilityElement"
				quid       	"3B85C1470295"
				parameters 	(list Parameters
				    (object Parameter "extElement"
					type       	"IExtensibilityElement"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			language   	"Java"
			abstract   	TRUE)
		    (object Class "Input"
			quid       	"3AE0789F0059"
			documentation 	"This class represents a WSDL input element. An input element specifies the abstract message format for the input of the operation."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B85C504025F"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67722802E7"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F1FEE031D"
				supplier   	"Logical View::wsdl::IInput"
				quidu      	"3B84A7EE0015"))
			language   	"Java")
		    (object Class "Output"
			quid       	"3AE078B60232"
			documentation 	"This class represents a WSDL output element. An output element specifies the abstract message format for the output of the operation."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B85C50C035B"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67723500DD"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F1FF801CD"
				supplier   	"Logical View::wsdl::IOutput"
				quidu      	"3B84A829027D"))
			language   	"Java")
		    (object Class "Fault"
			quid       	"3AE078BE0108"
			documentation 	"This class represents a WSDL fault element. Fault elements specify the abstract message format for any error messages that may be output as the result of the operation "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE1C82002F2"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67723D0319"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F2002002D"
				supplier   	"Logical View::wsdl::IFault"
				quidu      	"3B84A861031D"))
			language   	"Java")
		    (object Class "BindingInput"
			quid       	"3AE08A8202D4"
			documentation 	"This class represents a WSDL input element within a operation within a binding. An input element within an operation within a binding specifies binding information for the input of the operation. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84AE1B0113"
				supplier   	"Logical View::wsdl::IBindingInput"
				quidu      	"3B84ADEB0100")
			    (object Inheritance_Relationship
				quid       	"3B85B59B0072"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"))
			operations 	(list Operations
			    (object Operation "getInput"
				quid       	"3C8653A40203"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setInput"
				quid       	"3C8653B503A2"
				parameters 	(list Parameters
				    (object Parameter "input"
					type       	"IInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85C1EA020E"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingOutput"
			quid       	"3AE08A8F028C"
			documentation 	"This class represents a WSDL output element within a operation within a binding. An output element within an operation within a binding specifies binding information for the output of the operation. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84AE4302AB"
				supplier   	"Logical View::wsdl::IBindingOutput"
				quidu      	"3B84AE210111")
			    (object Inheritance_Relationship
				quid       	"3B85B5A4027E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"))
			operations 	(list Operations
			    (object Operation "getOutput"
				quid       	"3C8653D900F1"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOutput"
				quid       	"3C8653F10326"
				parameters 	(list Parameters
				    (object Parameter "output"
					type       	"IOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85C20200BE"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingFault"
			quid       	"3AE08A9E03A6"
			documentation 	"This class represents a WSDL fault element within a operation within a binding. A fault element within an operation within a binding specifies binding information for the fault with the same name. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE0938602C9"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84AE710333"
				supplier   	"Logical View::wsdl::IBindingFault"
				quidu      	"3B84AE4F00BD"))
			operations 	(list Operations
			    (object Operation "getFault"
				quid       	"3C865413037F"
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setFault"
				quid       	"3C8654210109"
				parameters 	(list Parameters
				    (object Parameter "fault"
					type       	"IFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85BF9E014A"
				type       	"String"))
			language   	"Java")
		    (object Class "QName"
			quid       	"3AE8ED220140"
			documentation 	"This class represents the javax.wsdl.QName class. A QName is a fully qualified name."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.xml.namespace.QName"
				quid       	"3B849DA9003D"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "Namespace"
			quid       	"3AEA3CD30030"
			documentation 	"This class represents a namespace and the corresponding namespace prefix used in a WSDL document."
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "URI"
				quid       	"3AEA3D2901B1"
				type       	"String")
			    (object ClassAttribute "prefix"
				quid       	"3AEA3D320236"
				type       	"String"))
			language   	"Java")
		    (object Class "OperationType"
			quid       	"3AEB4782024F"
			documentation 	
|ONE_WAY=1
|REQUEST_RESPONSE=2
|SOLICIT_RESPONSE=3
|NOTIFICATION=4
			
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.OperationType"
				quid       	"3B85C35303E3"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "IPortType"
			quid       	"3B84A5BE0331"
			documentation 	"This class represents the javax.wsdl.PortType non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addOperation"
				quid       	"3B896AC101CA"
				parameters 	(list Parameters
				    (object Parameter "operation"
					type       	"IOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperation"
				quid       	"3B896BAF01A4"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String")
				    (object Parameter "inputName"
					type       	"String")
				    (object Parameter "outputName"
					type       	"String"))
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperations"
				quid       	"3B896BF7031A"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.PortType"
				quid       	"3B84A632000D"
				stereotype 	"javaclass")))
		    (object Class "IOperation"
			quid       	"3B84A77600D1"
			documentation 	"This class represents the javax.wsdl.Operation non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addFault"
				quid       	"3B896C420065"
				parameters 	(list Parameters
				    (object Parameter "fault"
					type       	"IFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getFault"
				quid       	"3B896C59028F"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getFaults"
				quid       	"3B896C7102B1"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getParameterOrdering"
				quid       	"3B896C8101B0"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setParameterOrdering"
				quid       	"3B896C99031D"
				parameters 	(list Parameters
				    (object Parameter "parameterOrder"
					type       	"IList"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getInput"
				quid       	"3C8654E5018D"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setInput"
				quid       	"3C8662C40107"
				parameters 	(list Parameters
				    (object Parameter "input"
					type       	"IInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOutput"
				quid       	"3C8662E40094"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOutput"
				quid       	"3C8662F001D2"
				parameters 	(list Parameters
				    (object Parameter "output"
					type       	"IOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Operation"
				quid       	"3B84A799012B"
				stereotype 	"javaclass")))
		    (object Class "IInput"
			quid       	"3B84A7EE0015"
			documentation 	"This class represents the javax.wsdl.Input non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86633100EF"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C8663470277"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Input"
				quid       	"3B84A8000039"
				stereotype 	"javaclass")))
		    (object Class "IOutput"
			quid       	"3B84A829027D"
			documentation 	"This class represents the javax.wsdl.Output non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86643A035D"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C86644501C8"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Output"
				quid       	"3B84A83901D5"
				stereotype 	"javaclass")))
		    (object Class "IFault"
			quid       	"3B84A861031D"
			documentation 	"This class represents the javax.wsdl.Fault non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86646A00BD"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C8664750131"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Fault"
				quid       	"3B84A8710208"
				stereotype 	"javaclass")))
		    (object Class "IMessage"
			quid       	"3B84A8AF004F"
			documentation 	"This class represents the javax.wsdl.Message non-MOF interface"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addPart"
				quid       	"3B8972240273"
				parameters 	(list Parameters
				    (object Parameter "part"
					type       	"IPart"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPart"
				quid       	"3B89723D0233"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IPart"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getParts"
				quid       	"3B897254025E"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOrderedParts"
				quid       	"3B897261020D"
				parameters 	(list Parameters
				    (object Parameter "partOrder"
					type       	"IList"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Message"
				quid       	"3B84A8BC0260"
				stereotype 	"javaclass")))
		    (object Class "IPart"
			quid       	"3B84A93F01BE"
			documentation 	"This class represents the javax.wsdl.Part non-MOF interface"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "setExtensionAttribute"
				quid       	"3C4688450052"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName")
				    (object Parameter "value"
					type       	"QName"))
				exceptions 	"WSDLException"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionAttributeNames"
				quid       	"3C468A0101C3"
				result     	"IIterator"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionAttribute"
				quid       	"3C468A2D02D5"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"QName"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Part"
				quid       	"3B84A9500231"
				stereotype 	"javaclass")))
		    (object Class "IService"
			quid       	"3B84AB490287"
			documentation 	"This class represents the javax.wsdl.Service non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addPort"
				quid       	"3B895D5601D1"
				parameters 	(list Parameters
				    (object Parameter "port"
					type       	"IPort"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPorts"
				quid       	"3B895DA20036"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPort"
				quid       	"3B895DB001BC"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IPort"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Service"
				quid       	"3B84AB5B003E"
				stereotype 	"javaclass")))
		    (object Class "IPort"
			quid       	"3B84AB800326"
			documentation 	"This class represents the javax.wsdl.Port non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getBinding"
				quid       	"3C8651F302B5"
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBinding"
				quid       	"3C86526302F2"
				parameters 	(list Parameters
				    (object Parameter "binding"
					type       	"IBinding"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Port"
				quid       	"3B84AB8C0016"
				stereotype 	"javaclass")))
		    (object Class "IBinding"
			quid       	"3B84ABC60219"
			documentation 	"This class represents the javax.wsdl.Binding non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBindingOperation"
				quid       	"3B895F160153"
				parameters 	(list Parameters
				    (object Parameter "bindingOperation"
					type       	"IBindingOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOperation"
				quid       	"3B895F500066"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String")
				    (object Parameter "inputName"
					type       	"String")
				    (object Parameter "outputName"
					type       	"String"))
				result     	"IBindingOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOperations"
				quid       	"3B895FA401C5"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortType"
				quid       	"3C8652A90284"
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setPortType"
				quid       	"3C8652BE01A8"
				parameters 	(list Parameters
				    (object Parameter "portType"
					type       	"IPortType"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Binding"
				quid       	"3B84ABCF0302"
				stereotype 	"javaclass")))
		    (object Class "IBindingOperation"
			quid       	"3B84ADC00072"
			documentation 	"This class represents the javax.wsdl.BindingOperation non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBindingFault"
				quid       	"3B8960BC0041"
				parameters 	(list Parameters
				    (object Parameter "bindingFault"
					type       	"IBindingFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingFault"
				quid       	"3B8960D9009D"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IBindingFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingFaults"
				quid       	"3B8960FC0061"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperation"
				quid       	"3C86532D0017"
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOperation"
				quid       	"3C86533F037B"
				parameters 	(list Parameters
				    (object Parameter "operation"
					type       	"IOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingInput"
				quid       	"3C86550900DA"
				result     	"IBindingInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBindingInput"
				quid       	"3C86551D007F"
				parameters 	(list Parameters
				    (object Parameter "bindingInput"
					type       	"IBindingInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOutput"
				quid       	"3C8655340349"
				result     	"IBindingOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBindingOutput"
				quid       	"3C86554702A6"
				parameters 	(list Parameters
				    (object Parameter "bindingOutput"
					type       	"IBindingOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingOperation"
				quid       	"3B84ADCB021C"
				stereotype 	"javaclass")))
		    (object Class "IBindingInput"
			quid       	"3B84ADEB0100"
			documentation 	"This class represents the javax.wsdl.BindingInput non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingInput"
				quid       	"3B84ADFE000D"
				stereotype 	"javaclass")))
		    (object Class "IBindingOutput"
			quid       	"3B84AE210111"
			documentation 	"This class represents the javax.wsdl.BindingOutput non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingOutput"
				quid       	"3B84AE2D0050"
				stereotype 	"javaclass")))
		    (object Class "IBindingFault"
			quid       	"3B84AE4F00BD"
			documentation 	"This class represents the javax.wsdl.BindingFault non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingFault"
				quid       	"3B84AE5F002A"
				stereotype 	"javaclass")))
		    (object Class "DOMElement"
			quid       	"3B84AF3203DB"
			documentation 	"This class represents the org.w3c.dom.Element non-MOF interface."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Element"
				quid       	"3B84AF560292"
				stereotype 	"javaclass")))
		    (object Class "IExtensibilityElement"
			quid       	"3B84B12402AB"
			documentation 	"This class represents the javax.wsdl.ExtensibilityElement non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.ExtensibilityElement"
				quid       	"3B84B13503D1"
				stereotype 	"javaclass")))
		    (object Class "IDefinition"
			quid       	"3B84B1D90142"
			documentation 	"This class represents the javax.wsdl.Definition non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBinding"
				quid       	"3B8988F1039D"
				parameters 	(list Parameters
				    (object Parameter "binding"
					type       	"IBinding"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addImport"
				quid       	"3B8989490259"
				parameters 	(list Parameters
				    (object Parameter "importDef"
					type       	"IImport"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addMessage"
				quid       	"3B89896E005E"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addNamespace"
				quid       	"3B898984004B"
				parameters 	(list Parameters
				    (object Parameter "prefix"
					type       	"String")
				    (object Parameter "namespaceURI"
					type       	"String"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addPortType"
				quid       	"3B8989C50045"
				parameters 	(list Parameters
				    (object Parameter "portType"
					type       	"IPortType"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addService"
				quid       	"3B8989E401EE"
				parameters 	(list Parameters
				    (object Parameter "service"
					type       	"IService"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingFault"
				quid       	"3B898A17038C"
				result     	"IBindingFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingInput"
				quid       	"3B898A320286"
				result     	"IBindingInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingOutput"
				quid       	"3B898A46013B"
				result     	"IBindingOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingOperation"
				quid       	"3B898A5C00B0"
				result     	"IBindingOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBinding"
				quid       	"3B8989FE037C"
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createFault"
				quid       	"3B898A7502E7"
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createImport"
				quid       	"3B898A83014C"
				result     	"IImport"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createInput"
				quid       	"3B898A9D033E"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createMessage"
				quid       	"3B898AAF0254"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createOperation"
				quid       	"3B898AC203C4"
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createOutput"
				quid       	"3B898AE800ED"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPart"
				quid       	"3B898AF8026D"
				result     	"IPart"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPort"
				quid       	"3B898B0801DA"
				result     	"IPort"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPortType"
				quid       	"3B898B15039B"
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createService"
				quid       	"3B898B32013A"
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBinding"
				quid       	"3B898B420075"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindings"
				quid       	"3B898B920341"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getImports"
				quid       	"3B898BCD0060"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getImports"
				quid       	"3B898BE70144"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getMessage"
				quid       	"3B898C170107"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getMessages"
				quid       	"3B898C3E001D"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getNamespace"
				quid       	"3B898C62014B"
				parameters 	(list Parameters
				    (object Parameter "prefix"
					type       	"String"))
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getNamespaces"
				quid       	"3B898C740115"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortType"
				quid       	"3B898CBE0071"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortTypes"
				quid       	"3B898CDA01C6"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPrefix"
				quid       	"3B898CFD0017"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getService"
				quid       	"3B898D2300A8"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getServices"
				quid       	"3B898D3B03CE"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionRegistry"
				quid       	"3B89D5B8012B"
				result     	"IExtensionRegistry"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setExtensionRegistry"
				quid       	"3B89D5D703BB"
				parameters 	(list Parameters
				    (object Parameter "extensionRegistry"
					type       	"IExtensionRegistry"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getDocumentBaseURI"
				quid       	"3B89D5FE0208"
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setDocumentBaseURI"
				quid       	"3B89D6180328"
				parameters 	(list Parameters
				    (object Parameter "documentBase"
					type       	"String"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createTypes"
				quid       	"3CADD0560080"
				result     	"ITypes"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeService"
				quid       	"3CADD07E004C"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeBinding"
				quid       	"3CADD0BA0355"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removePortType"
				quid       	"3CADD0D8029A"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeMessage"
				quid       	"3CADD0FA0307"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getTypes"
				quid       	"3C86706F031B"
				result     	"ITypes"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setTypes"
				quid       	"3C86709500EE"
				parameters 	(list Parameters
				    (object Parameter "types"
					type       	"ITypes"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Definition"
				quid       	"3B84B1E702A1"
				stereotype 	"javaclass")))
		    (object Class "IImport"
			quid       	"3B84B2020119"
			documentation 	"This class represents the javax.wsdl.Import non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Import"
				quid       	"3B84B20C02EA"
				stereotype 	"javaclass")))
		    (object Class "IList"
			quid       	"3B85C0A203C5"
			documentation 	"This class represents the non-MOF java.util.List interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.List"
				quid       	"3B85C0AF0297"
				stereotype 	"javaclass")))
		    (object Class "IMap"
			quid       	"3B896B0300D4"
			documentation 	"This class represents the non-MOF java.util.Map interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.Map"
				quid       	"3B896B1102B5"
				stereotype 	"javaclass")))
		    (object Class "IURL"
			quid       	"3B89D5630274"
			documentation 	"This class represents the non-MOF java.net.URL interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.net.URL"
				quid       	"3B89D56E03E2"
				stereotype 	"javaclass")))
		    (object Class "IExtensionRegistry"
			quid       	"3B89D59302A5"
			documentation 	"This class represents the non-MOF javax.wsdl.extensions.ExtensionRegistry interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.ExtensionRegistry"
				quid       	"3B89D59F02E8"
				stereotype 	"javaclass")))
		    (object Class "Types"
			quid       	"3B8BE9A603A8"
			documentation 	"This class represents a WSDL types element. The types element encloses data type definitions that are relevant for the exchanged messages."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B8BEB010311"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3CADCD3B0380"
				supplier   	"Logical View::wsdl::ITypes"
				quidu      	"3CADCBB20050"))
			operations 	(list Operations
			    (object Operation "getSchemas"
				quid       	"3CADCF3803E6"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getSchemas"
				quid       	"3CADCF7E0301"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)))
		    (object Class "IIterator"
			quid       	"3C4687DA0167"
			documentation 	"This class represents the non-MOF java.util.Iterator interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.Iterator"
				quid       	"3C46880800B9"
				stereotype 	"javaclass")))
		    (object Class "WSDLException"
			quid       	"3C4689650313"
			documentation 	"This class represents the javax.wsdl.Exception class."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.WSDLException"
				quid       	"3C4689740315"
				stereotype 	"javaclass")))
		    (object Class "ITypes"
			quid       	"3CADCBB20050"
			documentation 	"This class represents the javax.wsdl.Types non-MOF interface"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Types"
				quid       	"3CADCBF10173"
				stereotype 	"javaclass")))
		    (object Class "UnknownExtensibilityElement"
			quid       	"3CB24AC002AE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3CB24AEC01CB"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")))
		    (object Class "XSDSchemaExtensibilityElement"
			quid       	"3CC360D7039C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3CC3627F00B7"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")))
		    (object Class "DOMDocument"
			quid       	"3CD1502C023B"
			documentation 	"This class represents the org.w3c.dom.Document non-MOF interface."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Document"
				quid       	"3CD150600182"
				stereotype 	"javaclass")))
		    (object Class "MessageReference"
			quid       	"3F6771DB02DC"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3F762A6A0308"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3F6780A001AB"
				type       	"String"
				exportControl 	"Protected"))
			language   	"Java"
			abstract   	TRUE)
		    (object Association "$UNNAMED$0"
			quid       	"3AD5C824018C"
			roles      	(list role_list
			    (object Role "portType"
				quid       	"3AD5C82701C3"
				label      	"portType"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "1..1")
				Containment 	"By Value"
				is_aggregate 	TRUE)
			    (object Role "eOperations"
				quid       	"3AD5C82701CD"
				label      	"eOperations"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$1"
			quid       	"3AD5CEBE00E2"
			roles      	(list role_list
			    (object Role "$UNNAMED$2"
				quid       	"3AD5CEBF0057"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eParts"
				quid       	"3AD5CEBF0061"
				label      	"eParts"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$3"
			quid       	"3AD5D352010F"
			roles      	(list role_list
			    (object Role "ePortType"
				quid       	"3AD5D3540176"
				label      	"ePortType"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$4"
				quid       	"3AD5D3540180"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261")))
		    (object Association "$UNNAMED$5"
			quid       	"3AD5D3E10179"
			roles      	(list role_list
			    (object Role "$UNNAMED$6"
				quid       	"3AD5D3E20225"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eBindingOperations"
				quid       	"3AD5D3E20239"
				label      	"eBindingOperations"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$7"
			quid       	"3AD5D425038A"
			roles      	(list role_list
			    (object Role "eOperation"
				quid       	"3AD5D42602F5"
				label      	"eOperation"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$8"
				quid       	"3AD5D42602FF"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145")))
		    (object Association "$UNNAMED$9"
			quid       	"3AD5D9400393"
			roles      	(list role_list
			    (object Role "ePorts"
				quid       	"3AD5D941031C"
				label      	"ePorts"
				supplier   	"Logical View::wsdl::Port"
				quidu      	"3AD5D9170286"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$10"
				quid       	"3AD5D941031D"
				supplier   	"Logical View::wsdl::Service"
				quidu      	"3AD5D8F002F8"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$11"
			quid       	"3AD5D9B8011F"
			roles      	(list role_list
			    (object Role "eBinding"
				quid       	"3AD5D9B9024D"
				label      	"eBinding"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$12"
				quid       	"3AD5D9B90261"
				supplier   	"Logical View::wsdl::Port"
				quidu      	"3AD5D9170286")))
		    (object Association "$UNNAMED$13"
			quid       	"3AD5E60301E2"
			roles      	(list role_list
			    (object Role "$UNNAMED$14"
				quid       	"3AD5E60400B7"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eMessages"
				quid       	"3AD5E60400C1"
				label      	"eMessages"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$15"
			quid       	"3AD5E6710104"
			roles      	(list role_list
			    (object Role "$UNNAMED$16"
				quid       	"3AD5E672034A"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "ePortTypes"
				quid       	"3AD5E6720354"
				label      	"ePortTypes"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$17"
			quid       	"3AD5E6770095"
			roles      	(list role_list
			    (object Role "$UNNAMED$18"
				quid       	"3AD5E6780371"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eBindings"
				quid       	"3AD5E678037B"
				label      	"eBindings"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$19"
			quid       	"3AD5E67B0311"
			roles      	(list role_list
			    (object Role "$UNNAMED$20"
				quid       	"3AD5E67D007F"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eServices"
				quid       	"3AD5E67D0089"
				label      	"eServices"
				supplier   	"Logical View::wsdl::Service"
				quidu      	"3AD5D8F002F8"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$21"
			quid       	"3AD5FD130079"
			roles      	(list role_list
			    (object Role "eExtensibilityElements"
				quid       	"3AD5FD14019D"
				label      	"eExtensibilityElements"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$22"
				quid       	"3AD5FD14019E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$23"
			quid       	"3ADF2E6401F5"
			roles      	(list role_list
			    (object Role "eBindingInput"
				quid       	"3ADF2E650251"
				label      	"eBindingInput"
				supplier   	"Logical View::wsdl::BindingInput"
				quidu      	"3AE08A8202D4"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$24"
				quid       	"3ADF2E650252"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$25"
			quid       	"3ADF2EB30163"
			roles      	(list role_list
			    (object Role "eBindingOutput"
				quid       	"3ADF2EB4013C"
				label      	"eBindingOutput"
				supplier   	"Logical View::wsdl::BindingOutput"
				quidu      	"3AE08A8F028C"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$26"
				quid       	"3ADF2EB4013D"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$27"
			quid       	"3ADF2F94024D"
			roles      	(list role_list
			    (object Role "eInput"
				quid       	"3ADF2F950190"
				label      	"eInput"
				supplier   	"Logical View::wsdl::Input"
				quidu      	"3AE0789F0059"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$28"
				quid       	"3ADF2F95019A"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$29"
			quid       	"3ADF2FB802F9"
			roles      	(list role_list
			    (object Role "eOutput"
				quid       	"3ADF2FB9020A"
				label      	"eOutput"
				supplier   	"Logical View::wsdl::Output"
				quidu      	"3AE078B60232"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$30"
				quid       	"3ADF2FB9020B"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$31"
			quid       	"3ADF331601A4"
			roles      	(list role_list
			    (object Role "eFaults"
				quid       	"3ADF33180387"
				label      	"eFaults"
				supplier   	"Logical View::wsdl::Fault"
				quidu      	"3AE078BE0108"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$32"
				quid       	"3ADF33180388"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$33"
			quid       	"3ADF340003E5"
			roles      	(list role_list
			    (object Role "eBindingFaults"
				quid       	"3ADF340103AA"
				label      	"eBindingFaults"
				supplier   	"Logical View::wsdl::BindingFault"
				quidu      	"3AE08A9E03A6"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$34"
				quid       	"3ADF340103AB"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$35"
			quid       	"3AE091F402F3"
			roles      	(list role_list
			    (object Role "eFault"
				quid       	"3AE091F801FE"
				label      	"eFault"
				supplier   	"Logical View::wsdl::Fault"
				quidu      	"3AE078BE0108"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$36"
				quid       	"3AE091F801FF"
				supplier   	"Logical View::wsdl::BindingFault"
				quidu      	"3AE08A9E03A6")))
		    (object Association "$UNNAMED$37"
			quid       	"3AEA3D55002D"
			roles      	(list role_list
			    (object Role "$UNNAMED$38"
				quid       	"3AEA3D560328"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eNamespaces"
				quid       	"3AEA3D560332"
				label      	"eNamespaces"
				supplier   	"Logical View::wsdl::Namespace"
				quidu      	"3AEA3CD30030"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$39"
			quid       	"3AEA3E3A002D"
			roles      	(list role_list
			    (object Role "eDefinition"
				quid       	"3AEA3E3C01E8"
				label      	"eDefinition"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$40"
				quid       	"3AEA3E3C01F2"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE")))
		    (object Association "$UNNAMED$41"
			quid       	"3AEA412F0035"
			roles      	(list role_list
			    (object Role "eParameterOrdering"
				quid       	"3AEA41310255"
				label      	"eParameterOrdering"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$42"
				quid       	"3AEA4131025F"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE")))
		    (object Association "$UNNAMED$43"
			quid       	"3B84AD2400BD"
			roles      	(list role_list
			    (object Role "eInput"
				quid       	"3B84AD250083"
				label      	"eInput"
				supplier   	"Logical View::wsdl::Input"
				quidu      	"3AE0789F0059"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$44"
				quid       	"3B84AD250084"
				supplier   	"Logical View::wsdl::BindingInput"
				quidu      	"3AE08A8202D4")))
		    (object Association "$UNNAMED$45"
			quid       	"3B84AD7900F2"
			roles      	(list role_list
			    (object Role "eOutput"
				quid       	"3B84AD7A014D"
				label      	"eOutput"
				supplier   	"Logical View::wsdl::Output"
				quidu      	"3AE078B60232"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$46"
				quid       	"3B84AD7A014E"
				supplier   	"Logical View::wsdl::BindingOutput"
				quidu      	"3AE08A8F028C")))
		    (object Association "$UNNAMED$47"
			quid       	"3B8B1BE900C4"
			roles      	(list role_list
			    (object Role "typeDefinition"
				quid       	"3B8B1BE90327"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$48"
				quid       	"3B8B1BE90331"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$49"
			quid       	"3B8B1C1203B2"
			roles      	(list role_list
			    (object Role "elementDeclaration"
				quid       	"3B8B1C14001C"
				label      	"elementDeclaration"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$50"
				quid       	"3B8B1C140026"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$51"
			quid       	"3B8B1DCC02E5"
			roles      	(list role_list
			    (object Role "eSchema"
				quid       	"3B8B1DCE0270"
				label      	"eSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$52"
				quid       	"3B8B1DCE027A"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE")))
		    (object Association "$UNNAMED$53"
			quid       	"3B8BEA27029F"
			roles      	(list role_list
			    (object Role "$UNNAMED$54"
				quid       	"3B8BEA290356"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eTypes"
				quid       	"3B8BEA29036A"
				label      	"eTypes"
				supplier   	"Logical View::wsdl::Types"
				quidu      	"3B8BE9A603A8"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$55"
			quid       	"3C46829303E5"
			roles      	(list role_list
			    (object Role "eMessage"
				quid       	"3C468296010E"
				label      	"eMessage"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$56"
				quid       	"3C4682960118"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$57"
			quid       	"3C864DFF02EC"
			roles      	(list role_list
			    (object Role "eImports"
				quid       	"3C864DFF02ED"
				label      	"eImports"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$58"
				quid       	"3C864DFF02EE"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$59"
			quid       	"3CC3614500F2"
			roles      	(list role_list
			    (object Role "$UNNAMED$60"
				quid       	"3CC36146023D"
				supplier   	"Logical View::wsdl::XSDSchemaExtensibilityElement"
				quidu      	"3CC360D7039C"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "schema"
				quid       	"3CC36146023E"
				label      	"schema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$61"
			quid       	"3F74E78401B1"
			roles      	(list role_list
			    (object Role "eMessage"
				quid       	"3F74E786000F"
				label      	"eMessage"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$62"
				quid       	"3F74E7860023"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")))
		    (object Association "$UNNAMED$63"
			quid       	"3F7896A2026E"
			roles      	(list role_list
			    (object Role "parent"
				quid       	"3F7896A7012B"
				label      	"parent"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "children"
				quid       	"3F7896A7012C"
				label      	"children"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "2.7 Services"
			quid       	"39AD3EF60127"
			title      	"2.7 Services"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IBinding" @1
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 800)
				label      	(object ItemLabel
				    Parent_View 	@1
				    location   	(1173, 660)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"IBinding")
				stereotype 	(object ItemLabel
				    Parent_View 	@1
				    location   	(1173, 610)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ABC60219"
				width      	520
				height     	404
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IPort" @2
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(816, 528)
				label      	(object ItemLabel
				    Parent_View 	@2
				    location   	(686, 481)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"IPort")
				stereotype 	(object ItemLabel
				    Parent_View 	@2
				    location   	(686, 431)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AB800326"
				width      	278
				height     	218
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IService" @3
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 160)
				label      	(object ItemLabel
				    Parent_View 	@3
				    location   	(126, 90)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"IService")
				stereotype 	(object ItemLabel
				    Parent_View 	@3
				    location   	(126, 40)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AB490287"
				width      	246
				height     	264
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Service" @4
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 528)
				label      	(object ItemLabel
				    Parent_View 	@4
				    location   	(44, 389)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				width      	410
				height     	302
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @5
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85954E01B4"
				client     	@4
				supplier   	@3
				line_style 	3
				origin_attachment 	(240, 377)
				terminal_attachment 	(240, 292))
			    (object ClassView "Class" "Logical View::wsdl::Binding" @6
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1440, 1264)
				label      	(object ItemLabel
				    Parent_View 	@6
				    location   	(1244, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	410
				height     	302
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @7
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8595410129"
				client     	@6
				supplier   	@1
				line_style 	3
				origin_attachment 	(1430, 1113)
				terminal_attachment 	(1430, 1002))
			    (object ClassView "Class" "Logical View::wsdl::Port" @8
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(816, 912)
				label      	(object ItemLabel
				    Parent_View 	@8
				    location   	(675, 840)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	282
				    justify    	0
				    label      	"Port")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D9170286"
				width      	300
				height     	168
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @9
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85954502C9"
				client     	@8
				supplier   	@2
				line_style 	3
				origin_attachment 	(809, 828)
				terminal_attachment 	(809, 637))
			    (object AssociationViewNew "$UNNAMED$9" @10
				location   	(343, 916)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D9400393"
				roleview_list 	(list RoleViews
				    (object RoleView "ePorts" @11
					Parent_View 	@10
					location   	(-121, 644)
					label      	(object SegLabel @12
					    Parent_View 	@11
					    location   	(413, 945)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+ePorts"
					    pctDist    	0.218978
					    height     	29
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D941031C"
					client     	@10
					supplier   	@8
					line_style 	3
					origin_attachment 	(343, 916)
					terminal_attachment 	(666, 916)
					label      	(object SegLabel @13
					    Parent_View 	@11
					    location   	(539, 880)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	160
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.608000
					    height     	37
					    orientation 	0)
					label      	(object SegLabel @14
					    Parent_View 	@11
					    location   	(448, 990)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.328467
					    height     	74
					    orientation 	1))
				    (object RoleView "$UNNAMED$10" @15
					Parent_View 	@10
					location   	(-121, 644)
					label      	(object SegLabel @16
					    Parent_View 	@15
					    location   	(216, 744)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D941031D"
					client     	@10
					supplier   	@4
					vertices   	(list Points
					    (343, 916)
					    (257, 916)
					    (257, 679))
					line_style 	3
					origin_attachment 	(343, 916)
					terminal_attachment 	(257, 679)
					label      	(object SegLabel @17
					    Parent_View 	@15
					    location   	(301, 796)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.637097
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$11" @18
				location   	(886, 1270)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D9B8011F"
				roleview_list 	(list RoleViews
				    (object RoleView "eBinding" @19
					Parent_View 	@18
					location   	(38, 422)
					label      	(object SegLabel @20
					    Parent_View 	@19
					    location   	(1112, 1235)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+eBinding"
					    pctDist    	0.648571
					    height     	36
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D9B9024D"
					client     	@18
					supplier   	@6
					line_style 	3
					origin_attachment 	(886, 1270)
					terminal_attachment 	(1235, 1270)
					label      	(object SegLabel @21
					    Parent_View 	@19
					    location   	(1170, 1313)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.814286
					    height     	43
					    orientation 	1))
				    (object RoleView "$UNNAMED$12" @22
					Parent_View 	@18
					location   	(38, 422)
					label      	(object SegLabel @23
					    Parent_View 	@22
					    location   	(852, 1106)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	156
					    justify    	0
					    label      	""
					    pctDist    	0.687943
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D9B90261"
					client     	@18
					supplier   	@8
					vertices   	(list Points
					    (886, 1270)
					    (812, 1270)
					    (812, 996))
					line_style 	3
					origin_attachment 	(886, 1270)
					terminal_attachment 	(812, 996))))))
		    (object ClassDiagram "2.5 Bindings"
			quid       	"39AD51270252"
			title      	"2.5 Bindings"
			zoom       	85
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IBinding" @24
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 240)
				label      	(object ItemLabel
				    Parent_View 	@24
				    location   	(73, 114)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"IBinding")
				stereotype 	(object ItemLabel
				    Parent_View 	@24
				    location   	(73, 64)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ABC60219"
				width      	480
				height     	376
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingOperation" @25
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(976, 352)
				label      	(object ItemLabel
				    Parent_View 	@25
				    location   	(780, 130)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"IBindingOperation")
				stereotype 	(object ItemLabel
				    Parent_View 	@25
				    location   	(780, 80)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ADC00072"
				width      	410
				height     	568
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingInput" @26
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1360)
				label      	(object ItemLabel
				    Parent_View 	@26
				    location   	(62, 1334)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"IBindingInput")
				stereotype 	(object ItemLabel
				    Parent_View 	@26
				    location   	(62, 1284)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ADEB0100"
				width      	278
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingOutput" @27
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1664)
				label      	(object ItemLabel
				    Parent_View 	@27
				    location   	(61, 1638)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	294
				    justify    	0
				    label      	"IBindingOutput")
				stereotype 	(object ItemLabel
				    Parent_View 	@27
				    location   	(61, 1588)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	294
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AE210111"
				width      	312
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingFault" @28
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1984)
				label      	(object ItemLabel
				    Parent_View 	@28
				    location   	(72, 1958)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"IBindingFault")
				stereotype 	(object ItemLabel
				    Parent_View 	@28
				    location   	(72, 1908)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AE4F00BD"
				width      	290
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @29
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 624)
				label      	(object ItemLabel
				    Parent_View 	@29
				    location   	(1568, 486)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	673
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				width      	691
				height     	301
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Input" @30
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 1360)
				label      	(object ItemLabel
				    Parent_View 	@30
				    location   	(1756, 1283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Input")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE0789F0059"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Output" @31
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 1664)
				label      	(object ItemLabel
				    Parent_View 	@31
				    location   	(1756, 1587)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Output")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078B60232"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Binding" @32
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 688)
				label      	(object ItemLabel
				    Parent_View 	@32
				    location   	(97, 539)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	414
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	432
				height     	322
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @33
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8595410129"
				client     	@32
				supplier   	@24
				line_style 	3
				origin_attachment 	(279, 527)
				terminal_attachment 	(279, 428))
			    (object AssociationViewNew "$UNNAMED$3" @34
				location   	(1039, 742)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D352010F"
				roleview_list 	(list RoleViews
				    (object RoleView "ePortType" @35
					Parent_View 	@34
					location   	(575, 598)
					label      	(object SegLabel @36
					    Parent_View 	@35
					    location   	(1449, 781)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+ePortType"
					    pctDist    	0.789292
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3540176"
					client     	@34
					supplier   	@29
					line_style 	3
					origin_attachment 	(1039, 742)
					terminal_attachment 	(1559, 742)
					label      	(object SegLabel @37
					    Parent_View 	@35
					    location   	(1492, 716)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.872193
					    height     	27
					    orientation 	0))
				    (object RoleView "$UNNAMED$4" @38
					Parent_View 	@34
					location   	(575, 598)
					label      	(object SegLabel @39
					    Parent_View 	@38
					    location   	(776, 697)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	""
					    pctDist    	0.509449
					    height     	46
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3540180"
					client     	@34
					supplier   	@32
					line_style 	3
					origin_attachment 	(1039, 742)
					terminal_attachment 	(520, 742))))
			    (object ClassView "Class" "Logical View::wsdl::Operation" @40
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1024)
				label      	(object ItemLabel
				    Parent_View 	@40
				    location   	(1672, 851)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"Operation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C80D03CE"
				width      	450
				height     	370
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingInput" @41
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(624, 1408)
				label      	(object ItemLabel
				    Parent_View 	@41
				    location   	(476, 1283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingInput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8202D4"
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$43" @42
				location   	(1264, 1359)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AD2400BD"
				roleview_list 	(list RoleViews
				    (object RoleView "eInput" @43
					Parent_View 	@42
					location   	(96, 287)
					label      	(object SegLabel @44
					    Parent_View 	@43
					    location   	(1637, 1316)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+eInput"
					    pctDist    	0.775148
					    height     	44
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD250083"
					client     	@42
					supplier   	@30
					line_style 	3
					origin_attachment 	(1264, 1359)
					terminal_attachment 	(1747, 1359)
					label      	(object SegLabel @45
					    Parent_View 	@43
					    location   	(1694, 1398)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.889546
					    height     	39
					    orientation 	1))
				    (object RoleView "$UNNAMED$44" @46
					Parent_View 	@42
					location   	(96, 287)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD250084"
					client     	@42
					supplier   	@41
					line_style 	3
					origin_attachment 	(1264, 1359)
					terminal_attachment 	(781, 1359))))
			    (object ClassView "Class" "Logical View::wsdl::BindingOutput" @47
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(960, 1664)
				label      	(object ItemLabel
				    Parent_View 	@47
				    location   	(812, 1539)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingOutput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8F028C"
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$45" @48
				location   	(1432, 1654)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AD7900F2"
				roleview_list 	(list RoleViews
				    (object RoleView "eOutput" @49
					Parent_View 	@48
					location   	(-120, 374)
					label      	(object SegLabel @50
					    Parent_View 	@49
					    location   	(1645, 1612)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eOutput"
					    pctDist    	0.674772
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD7A014D"
					client     	@48
					supplier   	@31
					line_style 	3
					origin_attachment 	(1432, 1654)
					terminal_attachment 	(1747, 1654)
					label      	(object SegLabel @51
					    Parent_View 	@49
					    location   	(1681, 1697)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.790274
					    height     	43
					    orientation 	1))
				    (object RoleView "$UNNAMED$46" @52
					Parent_View 	@48
					location   	(-120, 374)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD7A014E"
					client     	@48
					supplier   	@47
					line_style 	3
					origin_attachment 	(1432, 1654)
					terminal_attachment 	(1117, 1654))))
			    (object ClassView "Class" "Logical View::wsdl::BindingOperation" @53
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(992, 1008)
				label      	(object ItemLabel
				    Parent_View 	@53
				    location   	(819, 931)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	346
				    justify    	0
				    label      	"BindingOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D3CB0145"
				width      	364
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @54
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84ADE401DC"
				client     	@53
				supplier   	@25
				line_style 	3
				origin_attachment 	(966, 919)
				terminal_attachment 	(966, 636))
			    (object AssociationViewNew "$UNNAMED$5" @55
				location   	(457, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D3E10179"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$6" @56
					Parent_View 	@55
					location   	(-1319, 494)
					label      	(object SegLabel @57
					    Parent_View 	@56
					    location   	(235, 920)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3E20225"
					client     	@55
					supplier   	@32
					vertices   	(list Points
					    (457, 1022)
					    (276, 1022)
					    (276, 849))
					line_style 	3
					origin_attachment 	(457, 1022)
					terminal_attachment 	(276, 849)
					label      	(object SegLabel @58
					    Parent_View 	@56
					    location   	(330, 884)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "eBindingOperations" @59
					Parent_View 	@55
					location   	(-1319, 494)
					label      	(object SegLabel @60
					    Parent_View 	@59
					    location   	(531, 977)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+eBindingOperations"
					    pctDist    	0.211699
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3E20239"
					client     	@55
					supplier   	@53
					line_style 	3
					origin_attachment 	(457, 1022)
					terminal_attachment 	(810, 1022)
					label      	(object SegLabel @61
					    Parent_View 	@59
					    location   	(769, 980)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.884956
					    height     	43
					    orientation 	0)
					label      	(object SegLabel @62
					    Parent_View 	@59
					    location   	(714, 1067)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.727564
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$7" @63
				location   	(1418, 1040)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D425038A"
				roleview_list 	(list RoleViews
				    (object RoleView "eOperation" @64
					Parent_View 	@63
					location   	(-358, 464)
					label      	(object SegLabel @65
					    Parent_View 	@64
					    location   	(1520, 1079)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	228
					    justify    	0
					    label      	"+eOperation"
					    pctDist    	0.420601
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D42602F5"
					client     	@63
					supplier   	@40
					line_style 	3
					origin_attachment 	(1418, 1040)
					terminal_attachment 	(1663, 1040)
					label      	(object SegLabel @66
					    Parent_View 	@64
					    location   	(1589, 1005)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.696721
					    height     	36
					    orientation 	0))
				    (object RoleView "$UNNAMED$8" @67
					Parent_View 	@63
					location   	(-358, 464)
					label      	(object SegLabel @68
					    Parent_View 	@67
					    location   	(1273, 1070)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	""
					    pctDist    	0.595420
					    height     	30
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D42602FF"
					client     	@63
					supplier   	@53
					line_style 	3
					origin_attachment 	(1418, 1040)
					terminal_attachment 	(1174, 1040))))
			    (object AssociationViewNew "$UNNAMED$23" @69
				location   	(787, 1190)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2E6401F5"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingInput" @70
					Parent_View 	@69
					location   	(-381, 454)
					label      	(object SegLabel @71
					    Parent_View 	@70
					    location   	(669, 1152)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+eBindingInput"
					    pctDist    	0.511905
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2E650251"
					client     	@69
					supplier   	@41
					vertices   	(list Points
					    (787, 1190)
					    (636, 1190)
					    (636, 1271))
					line_style 	3
					origin_attachment 	(787, 1190)
					terminal_attachment 	(636, 1271)
					label      	(object SegLabel @72
					    Parent_View 	@70
					    location   	(685, 1222)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.440476
					    height     	32
					    orientation 	0))
				    (object RoleView "$UNNAMED$24" @73
					Parent_View 	@69
					location   	(-381, 454)
					label      	(object SegLabel @74
					    Parent_View 	@73
					    location   	(885, 1144)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2E650252"
					client     	@69
					supplier   	@53
					vertices   	(list Points
					    (787, 1190)
					    (926, 1190)
					    (926, 1097))
					line_style 	3
					origin_attachment 	(787, 1190)
					terminal_attachment 	(926, 1097)
					label      	(object SegLabel @75
					    Parent_View 	@73
					    location   	(871, 1136)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.837758
					    height     	56
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$25" @76
				location   	(1024, 1312)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2EB30163"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingOutput" @77
					Parent_View 	@76
					location   	(-150, 578)
					label      	(object SegLabel @78
					    Parent_View 	@77
					    location   	(1012, 1429)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	306
					    justify    	0
					    label      	"+eBindingOutput"
					    pctDist    	0.545082
					    height     	13
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2EB4013C"
					client     	@76
					supplier   	@47
					line_style 	3
					origin_attachment 	(1024, 1312)
					terminal_attachment 	(1024, 1527)
					label      	(object SegLabel @79
					    Parent_View 	@77
					    location   	(967, 1479)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.774590
					    height     	58
					    orientation 	1))
				    (object RoleView "$UNNAMED$26" @80
					Parent_View 	@76
					location   	(-150, 578)
					label      	(object SegLabel @81
					    Parent_View 	@80
					    location   	(983, 1140)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2EB4013D"
					client     	@76
					supplier   	@53
					line_style 	3
					origin_attachment 	(1024, 1312)
					terminal_attachment 	(1024, 1097)
					label      	(object SegLabel @82
					    Parent_View 	@80
					    location   	(1031, 1186)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.590164
					    height     	7
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::Fault" @83
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1920, 1984)
				label      	(object ItemLabel
				    Parent_View 	@83
				    location   	(1772, 1907)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Fault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078BE0108"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingFault" @84
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 1984)
				label      	(object ItemLabel
				    Parent_View 	@84
				    location   	(1212, 1859)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingFault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A9E03A6"
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @85
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE710333"
				client     	@84
				supplier   	@28
				line_style 	3
				origin_attachment 	(1203, 2007)
				terminal_attachment 	(353, 2007))
			    (object AssociationViewNew "$UNNAMED$33" @86
				location   	(1356, 1352)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF340003E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingFaults" @87
					Parent_View 	@86
					location   	(188, 616)
					label      	(object SegLabel @88
					    Parent_View 	@87
					    location   	(1382, 1750)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	300
					    justify    	0
					    label      	"+eBindingFaults"
					    pctDist    	0.803150
					    height     	26
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF340103AA"
					client     	@86
					supplier   	@84
					line_style 	3
					origin_attachment 	(1356, 1352)
					terminal_attachment 	(1356, 1847)
					label      	(object SegLabel @89
					    Parent_View 	@87
					    location   	(1409, 1797)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.899194
					    height     	53
					    orientation 	0)
					label      	(object SegLabel @90
					    Parent_View 	@87
					    location   	(1256, 1806)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.919291
					    height     	101
					    orientation 	1))
				    (object RoleView "$UNNAMED$34" @91
					Parent_View 	@86
					location   	(188, 616)
					label      	(object SegLabel @92
					    Parent_View 	@91
					    location   	(1076, 1197)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF340103AB"
					client     	@86
					supplier   	@53
					vertices   	(list Points
					    (1356, 1352)
					    (1356, 1217)
					    (1117, 1217)
					    (1117, 1097))
					line_style 	3
					origin_attachment 	(1356, 1352)
					terminal_attachment 	(1117, 1097)
					label      	(object SegLabel @93
					    Parent_View 	@91
					    location   	(1152, 1164)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.687008
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$35" @94
				location   	(1640, 1970)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE091F402F3"
				roleview_list 	(list RoleViews
				    (object RoleView "eFault" @95
					Parent_View 	@94
					location   	(-344, 818)
					label      	(object SegLabel @96
					    Parent_View 	@95
					    location   	(1674, 1915)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+eFault"
					    pctDist    	0.276423
					    height     	56
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AE091F801FE"
					client     	@94
					supplier   	@83
					line_style 	3
					origin_attachment 	(1640, 1970)
					terminal_attachment 	(1763, 1970)
					label      	(object SegLabel @97
					    Parent_View 	@95
					    location   	(1718, 2012)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.642276
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$36" @98
					Parent_View 	@94
					location   	(-344, 818)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AE091F801FF"
					client     	@94
					supplier   	@84
					line_style 	3
					origin_attachment 	(1640, 1970)
					terminal_attachment 	(1517, 1970))))
			    (object InheritView "" @99
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE4302AB"
				client     	@47
				supplier   	@27
				line_style 	3
				origin_attachment 	(803, 1656)
				terminal_attachment 	(364, 1656))
			    (object InheritView "" @100
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE1B0113"
				client     	@41
				supplier   	@26
				line_style 	3
				origin_attachment 	(467, 1385)
				terminal_attachment 	(331, 1385))))
		    (object ClassDiagram "2.4 PortTypes"
			quid       	"3AD5D1C40366"
			title      	"2.4 PortTypes"
			documentation 	"This class represents the non-MOF java.util.Iterator interface."
			zoom       	80
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IPortType" @101
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 208)
				label      	(object ItemLabel
				    Parent_View 	@101
				    location   	(146, 172)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	700
				    justify    	0
				    label      	"IPortType")
				stereotype 	(object ItemLabel
				    Parent_View 	@101
				    location   	(146, 122)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	700
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A5BE0331"
				width      	718
				height     	196
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::IOperation" @102
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 208)
				label      	(object ItemLabel
				    Parent_View 	@102
				    location   	(1116, 176)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	873
				    justify    	0
				    label      	"IOperation")
				stereotype 	(object ItemLabel
				    Parent_View 	@102
				    location   	(1116, 126)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	873
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A77600D1"
				width      	891
				height     	188
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IInput" @103
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1472)
				label      	(object ItemLabel
				    Parent_View 	@103
				    location   	(55, 1437)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"IInput")
				stereotype 	(object ItemLabel
				    Parent_View 	@103
				    location   	(55, 1387)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A7EE0015"
				width      	644
				height     	194
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IOutput" @104
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 1792)
				label      	(object ItemLabel
				    Parent_View 	@104
				    location   	(56, 1757)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	656
				    justify    	0
				    label      	"IOutput")
				stereotype 	(object ItemLabel
				    Parent_View 	@104
				    location   	(56, 1707)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	656
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A829027D"
				width      	674
				height     	194
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IFault" @105
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 2112)
				label      	(object ItemLabel
				    Parent_View 	@105
				    location   	(55, 2076)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"IFault")
				stereotype 	(object ItemLabel
				    Parent_View 	@105
				    location   	(55, 2026)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A861031D"
				width      	644
				height     	196
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @106
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 800)
				label      	(object ItemLabel
				    Parent_View 	@106
				    location   	(158, 672)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	677
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				width      	695
				height     	281
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Part" @107
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2576, 800)
				label      	(object ItemLabel
				    Parent_View 	@107
				    location   	(2325, 692)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	520
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Fault" @108
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1728, 2112)
				label      	(object ItemLabel
				    Parent_View 	@108
				    location   	(1647, 2060)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Fault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078BE0108"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Input" @109
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1056, 1472)
				label      	(object ItemLabel
				    Parent_View 	@109
				    location   	(870, 1422)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"Input")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE0789F0059"
				width      	390
				height     	125
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Output" @110
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 1792)
				label      	(object ItemLabel
				    Parent_View 	@110
				    location   	(1232, 1742)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"Output")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078B60232"
				width      	274
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Operation" @111
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 784)
				label      	(object ItemLabel
				    Parent_View 	@111
				    location   	(1214, 620)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	677
				    justify    	0
				    label      	"Operation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C80D03CE"
				width      	695
				height     	352
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$0" @112
				location   	(1024, 797)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5C824018C"
				roleview_list 	(list RoleViews
				    (object RoleView "eOperations" @113
					Parent_View 	@112
					location   	(592, 269)
					label      	(object SegLabel @114
					    Parent_View 	@113
					    location   	(1088, 748)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	249
					    justify    	0
					    label      	"+eOperations"
					    pctDist    	0.359649
					    height     	50
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5C82701CD"
					client     	@112
					supplier   	@111
					line_style 	3
					origin_attachment 	(1024, 797)
					terminal_attachment 	(1205, 797)
					label      	(object SegLabel @115
					    Parent_View 	@113
					    location   	(1176, 861)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.840391
					    height     	64
					    orientation 	1)
					label      	(object SegLabel @116
					    Parent_View 	@113
					    location   	(1074, 923)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.276243
					    height     	126
					    orientation 	1))
				    (object RoleView "portType" @117
					Parent_View 	@112
					location   	(592, 269)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5C82701C3"
					client     	@112
					supplier   	@106
					line_style 	3
					origin_attachment 	(1024, 797)
					terminal_attachment 	(843, 797)
					label      	(object SegLabel @118
					    Parent_View 	@117
					    location   	(888, 757)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.753488
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$41" @119
				location   	(2107, 773)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA412F0035"
				roleview_list 	(list RoleViews
				    (object RoleView "eParameterOrdering" @120
					Parent_View 	@119
					location   	(1819, 101)
					label      	(object SegLabel @121
					    Parent_View 	@120
					    location   	(2145, 647)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+eParameterOrdering"
					    pctDist    	0.183333
					    height     	127
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA41310255"
					client     	@119
					supplier   	@107
					line_style 	3
					origin_attachment 	(2107, 773)
					terminal_attachment 	(2316, 773)
					label      	(object SegLabel @122
					    Parent_View 	@120
					    location   	(2272, 822)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.796610
					    height     	49
					    orientation 	1)
					label      	(object SegLabel @123
					    Parent_View 	@120
					    location   	(2171, 888)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.306220
					    height     	115
					    orientation 	1))
				    (object RoleView "$UNNAMED$42" @124
					Parent_View 	@119
					location   	(1819, 101)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA4131025F"
					client     	@119
					supplier   	@111
					line_style 	3
					origin_attachment 	(2107, 773)
					terminal_attachment 	(1899, 773))))
			    (object AssociationViewNew "$UNNAMED$31" @125
				location   	(1702, 1504)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF331601A4"
				roleview_list 	(list RoleViews
				    (object RoleView "eFaults" @126
					Parent_View 	@125
					location   	(1414, 832)
					label      	(object SegLabel @127
					    Parent_View 	@126
					    location   	(1815, 1982)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eFaults"
					    pctDist    	0.878992
					    height     	113
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF33180387"
					client     	@125
					supplier   	@108
					line_style 	3
					origin_attachment 	(1702, 1504)
					terminal_attachment 	(1702, 2048)
					label      	(object SegLabel @128
					    Parent_View 	@126
					    location   	(1644, 2020)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.949580
					    height     	59
					    orientation 	1)
					label      	(object SegLabel @129
					    Parent_View 	@126
					    location   	(1593, 1963)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.845378
					    height     	110
					    orientation 	1))
				    (object RoleView "$UNNAMED$32" @130
					Parent_View 	@125
					location   	(1414, 832)
					label      	(object SegLabel @131
					    Parent_View 	@130
					    location   	(1661, 1069)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF33180388"
					client     	@125
					supplier   	@111
					line_style 	3
					origin_attachment 	(1702, 1504)
					terminal_attachment 	(1702, 960)
					label      	(object SegLabel @132
					    Parent_View 	@130
					    location   	(1821, 1039)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.857362
					    height     	119
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$27" @133
				location   	(1178, 1234)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2F94024D"
				roleview_list 	(list RoleViews
				    (object RoleView "eInput" @134
					Parent_View 	@133
					location   	(890, 562)
					label      	(object SegLabel @135
					    Parent_View 	@134
					    location   	(878, 1343)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+eInput"
					    pctDist    	0.819820
					    height     	103
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2F950190"
					client     	@133
					supplier   	@109
					vertices   	(list Points
					    (1178, 1234)
					    (980, 1234)
					    (980, 1410))
					line_style 	3
					origin_attachment 	(1178, 1234)
					terminal_attachment 	(980, 1410)
					label      	(object SegLabel @136
					    Parent_View 	@134
					    location   	(1046, 1364)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.877660
					    height     	66
					    orientation 	0))
				    (object RoleView "$UNNAMED$28" @137
					Parent_View 	@133
					location   	(890, 562)
					label      	(object SegLabel @138
					    Parent_View 	@137
					    location   	(1236, 1036)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2F95019A"
					client     	@133
					supplier   	@111
					vertices   	(list Points
					    (1178, 1234)
					    (1277, 1234)
					    (1277, 960))
					line_style 	3
					origin_attachment 	(1178, 1234)
					terminal_attachment 	(1277, 960)
					label      	(object SegLabel @139
					    Parent_View 	@137
					    location   	(1197, 1058)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.736413
					    height     	81
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$29" @140
				location   	(1468, 1345)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2FB802F9"
				roleview_list 	(list RoleViews
				    (object RoleView "eOutput" @141
					Parent_View 	@140
					location   	(1180, 673)
					label      	(object SegLabel @142
					    Parent_View 	@141
					    location   	(1362, 1669)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eOutput"
					    pctDist    	0.840909
					    height     	107
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2FB9020A"
					client     	@140
					supplier   	@110
					line_style 	3
					origin_attachment 	(1468, 1345)
					terminal_attachment 	(1468, 1730)
					label      	(object SegLabel @143
					    Parent_View 	@141
					    location   	(1546, 1676)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.863636
					    height     	78
					    orientation 	0))
				    (object RoleView "$UNNAMED$30" @144
					Parent_View 	@140
					location   	(1180, 673)
					label      	(object SegLabel @145
					    Parent_View 	@144
					    location   	(1427, 1037)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2FB9020B"
					client     	@140
					supplier   	@111
					line_style 	3
					origin_attachment 	(1468, 1345)
					terminal_attachment 	(1468, 960)
					label      	(object SegLabel @146
					    Parent_View 	@144
					    location   	(1523, 1080)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.690341
					    height     	55
					    orientation 	1))))
			    (object InheritView "" @147
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FD8019F"
				client     	@106
				supplier   	@101
				line_style 	0)
			    (object InheritView "" @148
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FE20171"
				client     	@111
				supplier   	@102
				line_style 	0)
			    (object InheritView "" @149
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FEE031D"
				client     	@109
				supplier   	@103
				line_style 	0)
			    (object InheritView "" @150
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FF801CD"
				client     	@110
				supplier   	@104
				line_style 	0)
			    (object InheritView "" @151
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F2002002D"
				client     	@108
				supplier   	@105
				line_style 	0)
			    (object ClassView "Class" "Logical View::wsdl::Message" @152
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2224, 1456)
				label      	(object ItemLabel
				    Parent_View 	@152
				    location   	(1937, 1312)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	575
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	593
				height     	312
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::MessageReference" @153
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1520, 2544)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@153
				    location   	(1193, 2466)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	654
				    justify    	0
				    label      	"MessageReference")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3F6771DB02DC"
				width      	672
				height     	180
				annotation 	8)
			    (object InheritTreeView "" @154
				location   	(1524, 2275)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@153
				vertices   	(list Points
				    (1524, 2275)
				    (1524, 2454)))
			    (object InheritView "" @155
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67723D0319"
				client     	@108
				supplier   	@153
				line_style 	3
				origin_attachment 	(1776, 2176)
				terminal_attachment 	(1776, 2275)
				drawSupplier 	@154)
			    (object InheritView "" @156
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67723500DD"
				client     	@110
				supplier   	@153
				line_style 	3
				origin_attachment 	(1371, 1854)
				terminal_attachment 	(1371, 2275)
				drawSupplier 	@154)
			    (object InheritView "" @157
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67722802E7"
				client     	@109
				supplier   	@153
				line_style 	3
				origin_attachment 	(980, 1534)
				terminal_attachment 	(980, 2275)
				drawSupplier 	@154)
			    (object AssociationViewNew "$UNNAMED$61" @158
				location   	(2206, 2259)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F74E78401B1"
				roleview_list 	(list RoleViews
				    (object RoleView "eMessage" @159
					Parent_View 	@158
					location   	(734, -285)
					label      	(object SegLabel @160
					    Parent_View 	@159
					    location   	(2068, 1670)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eMessage"
					    pctDist    	0.912230
					    height     	139
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F74E786000F"
					client     	@158
					supplier   	@152
					line_style 	3
					origin_attachment 	(2206, 2259)
					terminal_attachment 	(2206, 1612)
					label      	(object SegLabel @161
					    Parent_View 	@159
					    location   	(2260, 1678)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "$UNNAMED$62" @162
					Parent_View 	@158
					location   	(734, -285)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F74E7860023"
					client     	@158
					supplier   	@153
					vertices   	(list Points
					    (2206, 2259)
					    (2206, 2556)
					    (1856, 2556))
					line_style 	3
					origin_attachment 	(2206, 2259)
					terminal_attachment 	(1856, 2556))))))
		    (object ClassDiagram "2.1 Definitions"
			quid       	"3AD5E48A0262"
			title      	"2.1 Definitions"
			zoom       	83
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IDefinition" @163
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 192)
				label      	(object ItemLabel
				    Parent_View 	@163
				    location   	(88, 161)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	688
				    justify    	0
				    label      	"IDefinition")
				stereotype 	(object ItemLabel
				    Parent_View 	@163
				    location   	(88, 111)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	688
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B1D90142"
				width      	706
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Types" @164
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1824, 944)
				label      	(object ItemLabel
				    Parent_View 	@164
				    location   	(1686, 896)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	276
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				width      	294
				height     	120
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Import" @165
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 624)
				label      	(object ItemLabel
				    Parent_View 	@165
				    location   	(1910, 545)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"Import")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E4F903DE"
				width      	486
				height     	182
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Message" @166
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(2112, 1184)
				label      	(object ItemLabel
				    Parent_View 	@166
				    location   	(1900, 1056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @167
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(1808, 1488)
				label      	(object ItemLabel
				    Parent_View 	@167
				    location   	(1596, 1360)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Binding" @168
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(2336, 1728)
				label      	(object ItemLabel
				    Parent_View 	@168
				    location   	(2124, 1600)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @169
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 240)
				label      	(object ItemLabel
				    Parent_View 	@169
				    location   	(1073, 39)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	510
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	528
				height     	426
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$53" @170
				location   	(1358, 860)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEA27029F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$54" @171
					Parent_View 	@170
					location   	(62, -36)
					label      	(object SegLabel @172
					    Parent_View 	@171
					    location   	(1317, 535)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA290356"
					client     	@170
					supplier   	@169
					line_style 	3
					origin_attachment 	(1358, 860)
					terminal_attachment 	(1358, 453)
					label      	(object SegLabel @173
					    Parent_View 	@171
					    location   	(1403, 511)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.856649
					    height     	45
					    orientation 	1))
				    (object RoleView "eTypes" @174
					Parent_View 	@170
					location   	(62, -36)
					label      	(object SegLabel @175
					    Parent_View 	@174
					    location   	(1586, 909)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	156
					    justify    	0
					    label      	"+eTypes"
					    pctDist    	0.779097
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA29036A"
					client     	@170
					supplier   	@164
					vertices   	(list Points
					    (1358, 860)
					    (1358, 948)
					    (1677, 948))
					line_style 	3
					origin_attachment 	(1358, 860)
					terminal_attachment 	(1677, 948)
					label      	(object SegLabel @176
					    Parent_View 	@174
					    location   	(1632, 987)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.892655
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$57" @177
				location   	(1612, 595)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C864DFF02EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$58" @178
					Parent_View 	@177
					location   	(12, 227)
					label      	(object SegLabel @179
					    Parent_View 	@178
					    location   	(1423, 512)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02EE"
					client     	@177
					supplier   	@169
					vertices   	(list Points
					    (1612, 595)
					    (1464, 595)
					    (1464, 453))
					line_style 	3
					origin_attachment 	(1612, 595)
					terminal_attachment 	(1464, 453)
					label      	(object SegLabel @180
					    Parent_View 	@178
					    location   	(1524, 495)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.858667
					    height     	60
					    orientation 	1))
				    (object RoleView "eImports" @181
					Parent_View 	@177
					location   	(12, 227)
					label      	(object SegLabel @182
					    Parent_View 	@181
					    location   	(1692, 557)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eImports"
					    pctDist    	0.280335
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02ED"
					client     	@177
					supplier   	@165
					line_style 	3
					origin_attachment 	(1612, 595)
					terminal_attachment 	(1901, 595)
					label      	(object SegLabel @183
					    Parent_View 	@181
					    location   	(1854, 652)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.841004
					    height     	57
					    orientation 	1)
					label      	(object SegLabel @184
					    Parent_View 	@181
					    location   	(1676, 646)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.225941
					    height     	51
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$13" @185
				location   	(1279, 1137)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E60301E2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$14" @186
					Parent_View 	@185
					location   	(271, 273)
					label      	(object SegLabel @187
					    Parent_View 	@186
					    location   	(1238, 591)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E60400B7"
					client     	@185
					supplier   	@169
					line_style 	3
					origin_attachment 	(1279, 1137)
					terminal_attachment 	(1279, 453)
					label      	(object SegLabel @188
					    Parent_View 	@186
					    location   	(1320, 586)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.804974
					    height     	41
					    orientation 	1))
				    (object RoleView "eMessages" @189
					Parent_View 	@185
					location   	(271, 273)
					label      	(object SegLabel @190
					    Parent_View 	@189
					    location   	(1647, 1171)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+eMessages"
					    pctDist    	0.643137
					    height     	38
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E60400C1"
					client     	@185
					supplier   	@166
					vertices   	(list Points
					    (1279, 1137)
					    (1279, 1208)
					    (1891, 1208))
					line_style 	3
					origin_attachment 	(1279, 1137)
					terminal_attachment 	(1891, 1208)
					label      	(object SegLabel @191
					    Parent_View 	@189
					    location   	(1821, 1171)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.899346
					    height     	38
					    orientation 	0)
					label      	(object SegLabel @192
					    Parent_View 	@189
					    location   	(1797, 1244)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.864407
					    height     	36
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$15" @193
				location   	(1212, 1159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E6710104"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$16" @194
					Parent_View 	@193
					location   	(-324, 215)
					label      	(object SegLabel @195
					    Parent_View 	@194
					    location   	(1171, 594)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E672034A"
					client     	@193
					supplier   	@169
					line_style 	3
					origin_attachment 	(1212, 1159)
					terminal_attachment 	(1212, 453)
					label      	(object SegLabel @196
					    Parent_View 	@194
					    location   	(1251, 624)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.757962
					    height     	39
					    orientation 	1))
				    (object RoleView "ePortTypes" @197
					Parent_View 	@193
					location   	(-324, 215)
					label      	(object SegLabel @198
					    Parent_View 	@197
					    location   	(1391, 1451)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+ePortTypes"
					    pctDist    	0.723698
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E6720354"
					client     	@193
					supplier   	@167
					vertices   	(list Points
					    (1212, 1159)
					    (1212, 1490)
					    (1587, 1490))
					line_style 	3
					origin_attachment 	(1212, 1159)
					terminal_attachment 	(1587, 1490)
					label      	(object SegLabel @199
					    Parent_View 	@197
					    location   	(1533, 1451)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.925611
					    height     	40
					    orientation 	0)
					label      	(object SegLabel @200
					    Parent_View 	@197
					    location   	(1512, 1540)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.895855
					    height     	50
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$17" @201
				location   	(1114, 1585)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E6770095"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$18" @202
					Parent_View 	@201
					location   	(-406, 241)
					label      	(object SegLabel @203
					    Parent_View 	@202
					    location   	(1073, 680)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E6780371"
					client     	@201
					supplier   	@169
					line_style 	3
					origin_attachment 	(1114, 1585)
					terminal_attachment 	(1114, 453)
					label      	(object SegLabel @204
					    Parent_View 	@202
					    location   	(1155, 752)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.736704
					    height     	41
					    orientation 	1))
				    (object RoleView "eBindings" @205
					Parent_View 	@201
					location   	(-406, 241)
					label      	(object SegLabel @206
					    Parent_View 	@205
					    location   	(1851, 1674)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eBindings"
					    pctDist    	0.766347
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E678037B"
					client     	@201
					supplier   	@168
					vertices   	(list Points
					    (1114, 1585)
					    (1114, 1716)
					    (2115, 1716))
					line_style 	3
					origin_attachment 	(1114, 1585)
					terminal_attachment 	(2115, 1716)
					label      	(object SegLabel @207
					    Parent_View 	@205
					    location   	(2053, 1677)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.945074
					    height     	40
					    orientation 	0)
					label      	(object SegLabel @208
					    Parent_View 	@205
					    location   	(2014, 1754)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.911072
					    height     	38
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::Service" @209
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(1840, 2048)
				label      	(object ItemLabel
				    Parent_View 	@209
				    location   	(1628, 1920)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$19" @210
				location   	(1066, 1533)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E67B0311"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$20" @211
					Parent_View 	@210
					location   	(-521, -111)
					label      	(object SegLabel @212
					    Parent_View 	@211
					    location   	(1025, 669)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E67D007F"
					client     	@210
					supplier   	@169
					line_style 	3
					origin_attachment 	(1066, 1533)
					terminal_attachment 	(1066, 453)
					label      	(object SegLabel @213
					    Parent_View 	@211
					    location   	(1109, 756)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.719697
					    height     	43
					    orientation 	1))
				    (object RoleView "eServices" @214
					Parent_View 	@210
					location   	(-521, -111)
					label      	(object SegLabel @215
					    Parent_View 	@214
					    location   	(1393, 2028)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eServices"
					    pctDist    	0.791824
					    height     	32
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E67D0089"
					client     	@210
					supplier   	@209
					vertices   	(list Points
					    (1066, 1533)
					    (1066, 2059)
					    (1619, 2059))
					line_style 	3
					origin_attachment 	(1066, 1533)
					terminal_attachment 	(1619, 2059)
					label      	(object SegLabel @216
					    Parent_View 	@214
					    location   	(1554, 2031)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.940197
					    height     	29
					    orientation 	0)
					label      	(object SegLabel @217
					    Parent_View 	@214
					    location   	(1532, 2113)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.920515
					    height     	54
					    orientation 	1))))
			    (object InheritView "" @218
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84B1F80382"
				client     	@169
				supplier   	@163
				line_style 	3
				origin_attachment 	(1064, 263)
				terminal_attachment 	(785, 263))))
		    (object ClassDiagram "2.1.3 Extensibility"
			quid       	"3AD60C510192"
			title      	"2.1.3 Extensibility"
			zoom       	80
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::Binding" @219
				ShowCompartmentStereotypes 	TRUE
				location   	(576, 1584)
				label      	(object ItemLabel
				    Parent_View 	@219
				    location   	(494, 1531)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	164
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	182
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Port" @220
				ShowCompartmentStereotypes 	TRUE
				location   	(1568, 1888)
				label      	(object ItemLabel
				    Parent_View 	@220
				    location   	(1487, 1836)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Port")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D9170286"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Service" @221
				ShowCompartmentStereotypes 	TRUE
				location   	(1424, 1728)
				label      	(object ItemLabel
				    Parent_View 	@221
				    location   	(1342, 1675)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	164
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				width      	182
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingFault" @222
				ShowCompartmentStereotypes 	TRUE
				location   	(1216, 2336)
				label      	(object ItemLabel
				    Parent_View 	@222
				    location   	(1088, 2283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"BindingFault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A9E03A6"
				width      	274
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingOperation" @223
				ShowCompartmentStereotypes 	TRUE
				location   	(736, 1760)
				label      	(object ItemLabel
				    Parent_View 	@223
				    location   	(563, 1707)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	346
				    justify    	0
				    label      	"BindingOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D3CB0145"
				width      	364
				height     	130
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IExtensibilityElement" @224
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 160)
				label      	(object ItemLabel
				    Parent_View 	@224
				    location   	(1495, 136)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	786
				    justify    	0
				    label      	"IExtensibilityElement")
				stereotype 	(object ItemLabel
				    Parent_View 	@224
				    location   	(1495, 86)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	786
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B12402AB"
				width      	804
				height     	172
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingInput" @225
				ShowCompartmentStereotypes 	TRUE
				location   	(928, 1952)
				label      	(object ItemLabel
				    Parent_View 	@225
				    location   	(800, 1899)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"BindingInput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8202D4"
				width      	274
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingOutput" @226
				ShowCompartmentStereotypes 	TRUE
				location   	(1008, 2144)
				label      	(object ItemLabel
				    Parent_View 	@226
				    location   	(863, 2091)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	290
				    justify    	0
				    label      	"BindingOutput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8F028C"
				width      	308
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @227
				ShowCompartmentStereotypes 	TRUE
				location   	(176, 1296)
				label      	(object ItemLabel
				    Parent_View 	@227
				    location   	(74, 1235)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	204
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	222
				height     	146
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Types" @228
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(416, 1408)
				label      	(object ItemLabel
				    Parent_View 	@228
				    location   	(335, 1356)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @229
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(480, 688)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@229
				    location   	(209, 580)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	542
				    justify    	0
				    label      	"ExtensibleElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5FCFA033A"
				width      	560
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @230
				location   	(480, 1039)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@229
				vertices   	(list Points
				    (480, 1039)
				    (480, 808)))
			    (object InheritView "" @231
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD600CB00AA"
				client     	@220
				supplier   	@229
				line_style 	3
				origin_attachment 	(1566, 1824)
				terminal_attachment 	(1566, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @232
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85B5A4027E"
				client     	@226
				supplier   	@229
				line_style 	3
				origin_attachment 	(1097, 2079)
				terminal_attachment 	(1097, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @233
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE0938602C9"
				client     	@222
				supplier   	@229
				line_style 	3
				origin_attachment 	(1219, 2271)
				terminal_attachment 	(1219, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @234
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85B59B0072"
				client     	@225
				supplier   	@229
				line_style 	3
				origin_attachment 	(988, 1887)
				terminal_attachment 	(988, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @235
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD6009202F7"
				client     	@223
				supplier   	@229
				line_style 	3
				origin_attachment 	(797, 1695)
				terminal_attachment 	(797, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @236
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FA0F02F0"
				client     	@219
				supplier   	@229
				line_style 	3
				origin_attachment 	(601, 1519)
				terminal_attachment 	(601, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @237
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FDB803D4"
				client     	@227
				supplier   	@229
				line_style 	3
				origin_attachment 	(211, 1223)
				terminal_attachment 	(211, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @238
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEB010311"
				client     	@228
				supplier   	@229
				line_style 	3
				origin_attachment 	(414, 1344)
				terminal_attachment 	(414, 1039)
				drawSupplier 	@230)
			    (object InheritView "" @239
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FA20025E"
				client     	@221
				supplier   	@229
				line_style 	3
				origin_attachment 	(1429, 1663)
				terminal_attachment 	(1429, 1039)
				drawSupplier 	@230)
			    (object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @240
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 688)
				label      	(object ItemLabel
				    Parent_View 	@240
				    location   	(1632, 583)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	545
				    justify    	0
				    label      	"ExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5DBB602A9"
				width      	563
				height     	234
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$21" @241
				location   	(1191, 672)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FD130079"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$22" @242
					Parent_View 	@241
					location   	(23, 560)
					label      	(object SegLabel @243
					    Parent_View 	@242
					    location   	(847, 631)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019E"
					client     	@241
					supplier   	@229
					line_style 	3
					origin_attachment 	(1191, 672)
					terminal_attachment 	(760, 672)
					label      	(object SegLabel @244
					    Parent_View 	@242
					    location   	(830, 628)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.839695
					    height     	45
					    orientation 	1))
				    (object RoleView "eExtensibilityElements" @245
					Parent_View 	@241
					location   	(23, 560)
					label      	(object SegLabel @246
					    Parent_View 	@245
					    location   	(1355, 522)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	"+eExtensibilityElements"
					    pctDist    	0.379070
					    height     	151
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019D"
					client     	@241
					supplier   	@240
					line_style 	3
					origin_attachment 	(1191, 672)
					terminal_attachment 	(1623, 672)
					label      	(object SegLabel @247
					    Parent_View 	@245
					    location   	(1496, 627)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.709402
					    height     	46
					    orientation 	0)
					label      	(object SegLabel @248
					    Parent_View 	@245
					    location   	(1463, 764)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.632479
					    height     	92
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::WSDLElement" @249
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(1008, 192)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@249
				    location   	(630, 84)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	756
				    justify    	0
				    label      	"WSDLElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C6A302DD"
				width      	774
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @250
				location   	(1008, 402)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@249
				vertices   	(list Points
				    (1008, 402)
				    (1008, 312)))
			    (object InheritView "" @251
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FE3C03D4"
				client     	@229
				supplier   	@249
				line_style 	3
				origin_attachment 	(492, 568)
				terminal_attachment 	(492, 402)
				drawSupplier 	@250)
			    (object InheritView "" @252
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84B14903D0"
				client     	@240
				supplier   	@224
				line_style 	3
				origin_attachment 	(2015, 571)
				terminal_attachment 	(2015, 246))
			    (object InheritView "" @253
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BDDF53502C3"
				client     	@240
				supplier   	@249
				line_style 	3
				origin_attachment 	(1762, 571)
				terminal_attachment 	(1762, 402)
				drawSupplier 	@250)
			    (object ClassView "Class" "Logical View::wsdl::UnknownExtensibilityElement" @254
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2016, 1360)
				label      	(object ItemLabel
				    Parent_View 	@254
				    location   	(1731, 1307)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	570
				    justify    	0
				    label      	"UnknownExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CB24AC002AE"
				width      	588
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @255
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CB24AEC01CB"
				client     	@254
				supplier   	@240
				line_style 	3
				origin_attachment 	(1796, 1295)
				terminal_attachment 	(1796, 805))
			    (object AssociationViewNew "$UNNAMED$63" @256
				location   	(2311, 1686)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F7896A2026E"
				roleview_list 	(list RoleViews
				    (object RoleView "parent" @257
					Parent_View 	@256
					location   	(279, 294)
					label      	(object SegLabel @258
					    Parent_View 	@257
					    location   	(2422, 1333)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+parent"
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F7896A7012B"
					client     	@256
					supplier   	@254
					vertices   	(list Points
					    (2311, 1686)
					    (2432, 1686)
					    (2432, 1374)
					    (2310, 1374))
					line_style 	3
					origin_attachment 	(2311, 1686)
					terminal_attachment 	(2310, 1374)
					label      	(object SegLabel @259
					    Parent_View 	@257
					    location   	(2366, 1428)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	0))
				    (object RoleView "children" @260
					Parent_View 	@256
					location   	(279, 294)
					label      	(object SegLabel @261
					    Parent_View 	@260
					    location   	(1899, 1537)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+children"
					    pctDist    	0.798561
					    height     	118
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F7896A7012C"
					client     	@256
					supplier   	@254
					vertices   	(list Points
					    (2311, 1686)
					    (2016, 1686)
					    (2016, 1425))
					line_style 	3
					origin_attachment 	(2311, 1686)
					terminal_attachment 	(2016, 1425)
					label      	(object SegLabel @262
					    Parent_View 	@260
					    location   	(2070, 1481)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))))))
		    (object ClassDiagram "2.1.1 Naming and Linking"
			quid       	"3AE8ED7201BD"
			title      	"2.1.1 Naming and Linking"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IImport" @263
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1712, 224)
				label      	(object ItemLabel
				    Parent_View 	@263
				    location   	(1422, 177)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	580
				    justify    	0
				    label      	"IImport")
				stereotype 	(object ItemLabel
				    Parent_View 	@263
				    location   	(1422, 127)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	580
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B2020119"
				width      	598
				height     	218
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Namespace" @264
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 1136)
				label      	(object ItemLabel
				    Parent_View 	@264
				    location   	(202, 1041)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	461
				    justify    	0
				    label      	"Namespace")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AEA3CD30030"
				width      	479
				height     	215
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @265
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1632, 1216)
				label      	(object ItemLabel
				    Parent_View 	@265
				    location   	(1294, 1142)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	676
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	694
				height     	173
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @266
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(400, 384)
				label      	(object ItemLabel
				    Parent_View 	@266
				    location   	(164, 236)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	490
				height     	320
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$37" @267
				location   	(309, 786)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA3D55002D"
				roleview_list 	(list RoleViews
				    (object RoleView "eNamespaces" @268
					Parent_View 	@267
					location   	(-91, 258)
					label      	(object SegLabel @269
					    Parent_View 	@268
					    location   	(461, 956)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+eNamespaces"
					    pctDist    	0.698842
					    height     	152
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3D560332"
					client     	@267
					supplier   	@264
					line_style 	3
					origin_attachment 	(309, 786)
					terminal_attachment 	(309, 1029)
					label      	(object SegLabel @270
					    Parent_View 	@268
					    location   	(248, 973)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.768707
					    height     	62
					    orientation 	1)
					label      	(object SegLabel @271
					    Parent_View 	@268
					    location   	(228, 913)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.525097
					    height     	82
					    orientation 	1))
				    (object RoleView "$UNNAMED$38" @272
					Parent_View 	@267
					location   	(-91, 258)
					label      	(object SegLabel @273
					    Parent_View 	@272
					    location   	(268, 592)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3D560328"
					client     	@267
					supplier   	@266
					line_style 	3
					origin_attachment 	(309, 786)
					terminal_attachment 	(309, 544)
					label      	(object SegLabel @274
					    Parent_View 	@272
					    location   	(239, 583)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.844961
					    height     	71
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::wsdl::Import" @275
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1472, 720)
				label      	(object ItemLabel
				    Parent_View 	@275
				    location   	(1255, 580)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	434
				    justify    	0
				    label      	"Import")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E4F903DE"
				width      	452
				height     	304
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$51" @276
				location   	(1486, 1001)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1DCC02E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eSchema" @277
					Parent_View 	@276
					location   	(510, -103)
					label      	(object SegLabel @278
					    Parent_View 	@277
					    location   	(1737, 1018)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eSchema"
					    pctDist    	0.592593
					    height     	105
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1DCE0270"
					client     	@276
					supplier   	@265
					vertices   	(list Points
					    (1486, 1001)
					    (1632, 1001)
					    (1632, 1130))
					line_style 	3
					origin_attachment 	(1486, 1001)
					terminal_attachment 	(1632, 1130)
					label      	(object SegLabel @279
					    Parent_View 	@277
					    location   	(1563, 1018)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.592593
					    height     	70
					    orientation 	1))
				    (object RoleView "$UNNAMED$52" @280
					Parent_View 	@276
					location   	(510, -103)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1DCE027A"
					client     	@276
					supplier   	@275
					line_style 	3
					origin_attachment 	(1486, 1000)
					terminal_attachment 	(1486, 872))))
			    (object AssociationViewNew "$UNNAMED$39" @281
				location   	(1087, 403)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA3E3A002D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$40" @282
					Parent_View 	@281
					location   	(687, -125)
					label      	(object SegLabel @283
					    Parent_View 	@282
					    location   	(1406, 480)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3E3C01F2"
					client     	@281
					supplier   	@275
					vertices   	(list Points
					    (1087, 403)
					    (1364, 403)
					    (1364, 568))
					line_style 	3
					origin_attachment 	(1087, 403)
					terminal_attachment 	(1364, 568))
				    (object RoleView "eDefinition" @284
					Parent_View 	@281
					location   	(687, -125)
					label      	(object SegLabel @285
					    Parent_View 	@284
					    location   	(805, 363)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eDefinition"
					    pctDist    	0.637532
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3E3C01E8"
					client     	@281
					supplier   	@266
					line_style 	3
					origin_attachment 	(1087, 403)
					terminal_attachment 	(645, 403)
					label      	(object SegLabel @286
					    Parent_View 	@284
					    location   	(727, 456)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.814910
					    height     	53
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$57" @287
				location   	(737, 826)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C864DFF02EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$58" @288
					Parent_View 	@287
					location   	(-671, 106)
					label      	(object SegLabel @289
					    Parent_View 	@288
					    location   	(552, 647)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02EE"
					client     	@287
					supplier   	@266
					vertices   	(list Points
					    (737, 826)
					    (510, 826)
					    (510, 544))
					line_style 	3
					origin_attachment 	(737, 826)
					terminal_attachment 	(510, 544)
					label      	(object SegLabel @290
					    Parent_View 	@288
					    location   	(457, 595)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	0))
				    (object RoleView "eImports" @291
					Parent_View 	@287
					location   	(-671, 106)
					label      	(object SegLabel @292
					    Parent_View 	@291
					    location   	(1144, 773)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+eImports"
					    pctDist    	0.799189
					    height     	54
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02ED"
					client     	@287
					supplier   	@275
					line_style 	3
					origin_attachment 	(737, 826)
					terminal_attachment 	(1246, 826)
					label      	(object SegLabel @293
					    Parent_View 	@291
					    location   	(1180, 879)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.872211
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @294
					    Parent_View 	@291
					    location   	(1162, 933)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.837728
					    height     	107
					    orientation 	1))))
			    (object InheritView "" @295
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F200D0340"
				client     	@275
				supplier   	@263
				line_style 	3
				origin_attachment 	(1555, 568)
				terminal_attachment 	(1555, 333))))
		    (object ClassDiagram "2.2 Types"
			quid       	"3B85AE59037E"
			title      	"2.2 Types"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	81
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @296
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1136, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@296
				    location   	(895, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	482
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ECD302A9"
				width      	500
				height     	174
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @297
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1136, 1600)
				label      	(object ItemLabel
				    Parent_View 	@297
				    location   	(906, 1531)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	478
				height     	162
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Message" @298
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1280, 1968)
				label      	(object ItemLabel
				    Parent_View 	@298
				    location   	(1022, 1828)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	517
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	535
				height     	305
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Part" @299
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1184)
				label      	(object ItemLabel
				    Parent_View 	@299
				    location   	(128, 1067)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	448
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	466
				height     	258
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$47" @300
				location   	(735, 1172)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1BE900C4"
				roleview_list 	(list RoleViews
				    (object RoleView "typeDefinition" @301
					Parent_View 	@300
					location   	(143, 676)
					label      	(object SegLabel @302
					    Parent_View 	@301
					    location   	(775, 1133)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	0.269006
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1BE90327"
					client     	@300
					supplier   	@296
					line_style 	3
					origin_attachment 	(735, 1172)
					terminal_attachment 	(886, 1172)
					label      	(object SegLabel @303
					    Parent_View 	@301
					    location   	(839, 1207)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.688705
					    height     	35
					    orientation 	1))
				    (object RoleView "$UNNAMED$48" @304
					Parent_View 	@300
					location   	(143, 676)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1BE90331"
					client     	@300
					supplier   	@299
					line_style 	3
					origin_attachment 	(735, 1172)
					terminal_attachment 	(585, 1172))))
			    (object AssociationViewNew "$UNNAMED$49" @305
				location   	(527, 1592)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1C1203B2"
				roleview_list 	(list RoleViews
				    (object RoleView "elementDeclaration" @306
					Parent_View 	@305
					location   	(-65, 1096)
					label      	(object SegLabel @307
					    Parent_View 	@306
					    location   	(666, 1554)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+elementDeclaration"
					    pctDist    	0.375394
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1C14001C"
					client     	@305
					supplier   	@297
					line_style 	3
					origin_attachment 	(527, 1592)
					terminal_attachment 	(897, 1592)
					label      	(object SegLabel @308
					    Parent_View 	@306
					    location   	(807, 1645)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.755877
					    height     	53
					    orientation 	1))
				    (object RoleView "$UNNAMED$50" @309
					Parent_View 	@305
					location   	(-65, 1096)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1C140026"
					client     	@305
					supplier   	@299
					vertices   	(list Points
					    (527, 1592)
					    (437, 1592)
					    (437, 1313))
					line_style 	3
					origin_attachment 	(527, 1592)
					terminal_attachment 	(437, 1313))))
			    (object AssociationViewNew "$UNNAMED$55" @310
				location   	(322, 1911)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C46829303E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eMessage" @311
					Parent_View 	@310
					location   	(-14, 1191)
					label      	(object SegLabel @312
					    Parent_View 	@311
					    location   	(838, 1872)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eMessage"
					    pctDist    	0.748560
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C468296010E"
					client     	@310
					supplier   	@298
					line_style 	3
					origin_attachment 	(322, 1911)
					terminal_attachment 	(1013, 1911)
					label      	(object SegLabel @313
					    Parent_View 	@311
					    location   	(943, 1965)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "$UNNAMED$56" @314
					Parent_View 	@310
					location   	(-14, 1191)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C4682960118"
					client     	@310
					supplier   	@299
					vertices   	(list Points
					    (322, 1911)
					    (229, 1911)
					    (229, 1313))
					line_style 	3
					origin_attachment 	(322, 1911)
					terminal_attachment 	(229, 1313))))
			    (object ClassView "Class" "Logical View::wsdl::Types" @315
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 608)
				label      	(object ItemLabel
				    Parent_View 	@315
				    location   	(615, 512)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	371
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				width      	389
				height     	216
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @316
				ShowCompartmentStereotypes 	TRUE
				location   	(176, 160)
				label      	(object ItemLabel
				    Parent_View 	@316
				    location   	(74, 107)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	204
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	222
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$53" @317
				location   	(234, 604)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEA27029F"
				roleview_list 	(list RoleViews
				    (object RoleView "eTypes" @318
					Parent_View 	@317
					location   	(-150, 396)
					label      	(object SegLabel @319
					    Parent_View 	@318
					    location   	(480, 640)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	207
					    justify    	0
					    label      	"+eTypes"
					    pctDist    	0.661017
					    height     	36
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA29036A"
					client     	@317
					supplier   	@315
					line_style 	3
					origin_attachment 	(234, 604)
					terminal_attachment 	(606, 604)
					label      	(object SegLabel @320
					    Parent_View 	@318
					    location   	(526, 569)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.783883
					    height     	36
					    orientation 	0))
				    (object RoleView "$UNNAMED$54" @321
					Parent_View 	@317
					location   	(-150, 396)
					label      	(object SegLabel @322
					    Parent_View 	@321
					    location   	(133, 313)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA290356"
					client     	@317
					supplier   	@316
					vertices   	(list Points
					    (234, 604)
					    (174, 604)
					    (174, 225))
					line_style 	3
					origin_attachment 	(234, 604)
					terminal_attachment 	(174, 225)
					label      	(object SegLabel @323
					    Parent_View 	@321
					    location   	(228, 271)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.897729
					    height     	54
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::ITypes" @324
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 224)
				label      	(object ItemLabel
				    Parent_View 	@324
				    location   	(525, 203)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	230
				    justify    	0
				    label      	"ITypes")
				stereotype 	(object ItemLabel
				    Parent_View 	@324
				    location   	(525, 153)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	230
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CADCBB20050"
				width      	248
				height     	166
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::XSDSchemaExtensibilityElement" @325
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1728, 800)
				label      	(object ItemLabel
				    Parent_View 	@325
				    location   	(1359, 753)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	739
				    justify    	0
				    label      	"XSDSchemaExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CC360D7039C"
				width      	757
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @326
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 1216)
				label      	(object ItemLabel
				    Parent_View 	@326
				    location   	(1529, 1103)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	655
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	673
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$59" @327
				location   	(1826, 975)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CC3614500F2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$60" @328
					Parent_View 	@327
					location   	(306, 447)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3CC36146023D"
					client     	@327
					supplier   	@325
					line_style 	3
					origin_attachment 	(1826, 975)
					terminal_attachment 	(1826, 859)
					label      	(object SegLabel @329
					    Parent_View 	@328
					    location   	(1774, 900)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.656489
					    height     	53
					    orientation 	0))
				    (object RoleView "schema" @330
					Parent_View 	@327
					location   	(306, 447)
					label      	(object SegLabel @331
					    Parent_View 	@330
					    location   	(2006, 1033)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+schema"
					    pctDist    	0.507576
					    height     	180
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3CC36146023E"
					client     	@327
					supplier   	@326
					line_style 	3
					origin_attachment 	(1826, 975)
					terminal_attachment 	(1826, 1091)
					label      	(object SegLabel @332
					    Parent_View 	@330
					    location   	(1788, 1050)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.651515
					    height     	39
					    orientation 	1))))
			    (object InheritView "" @333
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CADCD3B0380"
				client     	@315
				supplier   	@324
				line_style 	3
				origin_attachment 	(705, 500)
				terminal_attachment 	(705, 307))
			    (object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @334
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1056, 224)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@334
				    location   	(815, 130)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	482
				    justify    	0
				    label      	"ExtensibleElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5FCFA033A"
				width      	500
				height     	212
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @335
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEB010311"
				client     	@315
				supplier   	@334
				line_style 	3
				origin_attachment 	(854, 500)
				terminal_attachment 	(854, 330))
			    (object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @336
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(1824, 464)
				label      	(object ItemLabel
				    Parent_View 	@336
				    location   	(1490, 368)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	669
				    justify    	0
				    label      	"ExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5DBB602A9"
				width      	687
				height     	216
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$21" @337
				location   	(1206, 493)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FD130079"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$22" @338
					Parent_View 	@337
					location   	(-586, 237)
					label      	(object SegLabel @339
					    Parent_View 	@338
					    location   	(1136, 386)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019E"
					client     	@337
					supplier   	@334
					vertices   	(list Points
					    (1206, 493)
					    (1094, 493)
					    (1094, 330))
					line_style 	3
					origin_attachment 	(1206, 493)
					terminal_attachment 	(1094, 330)
					label      	(object SegLabel @340
					    Parent_View 	@338
					    location   	(1042, 377)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.828326
					    height     	53
					    orientation 	0))
				    (object RoleView "eExtensibilityElements" @341
					Parent_View 	@337
					location   	(-586, 237)
					label      	(object SegLabel @342
					    Parent_View 	@341
					    location   	(1196, 454)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	444
					    justify    	0
					    label      	"+eExtensibilityElements"
					    pctDist    	-0.039711
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019D"
					client     	@337
					supplier   	@336
					line_style 	3
					origin_attachment 	(1206, 493)
					terminal_attachment 	(1481, 493)
					label      	(object SegLabel @343
					    Parent_View 	@341
					    location   	(1415, 546)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.764957
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @344
					    Parent_View 	@341
					    location   	(1396, 392)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.694915
					    height     	102
					    orientation 	0))))
			    (object InheritView "" @345
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CC3627F00B7"
				client     	@325
				supplier   	@336
				line_style 	3
				origin_attachment 	(1812, 741)
				terminal_attachment 	(1812, 572))))
		    (object ClassDiagram "2.3 Messages"
			quid       	"3BCE853D02C8"
			title      	"2.3 Messages"
			zoom       	85
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IMessage" @346
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 224)
				label      	(object ItemLabel
				    Parent_View 	@346
				    location   	(267, 122)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"IMessage")
				stereotype 	(object ItemLabel
				    Parent_View 	@346
				    location   	(267, 72)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A8AF004F"
				width      	380
				height     	328
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IPart" @347
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 224)
				label      	(object ItemLabel
				    Parent_View 	@347
				    location   	(1029, 124)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	599
				    justify    	0
				    label      	"IPart")
				stereotype 	(object ItemLabel
				    Parent_View 	@347
				    location   	(1029, 74)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	599
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A93F01BE"
				width      	617
				height     	324
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Part" @348
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 816)
				label      	(object ItemLabel
				    Parent_View 	@348
				    location   	(1075, 690)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	492
				height     	276
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @349
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84A96D02F1"
				client     	@348
				supplier   	@347
				line_style 	3
				origin_attachment 	(1304, 678)
				terminal_attachment 	(1304, 386))
			    (object ClassView "Class" "Logical View::wsdl::Message" @350
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 656)
				label      	(object ItemLabel
				    Parent_View 	@350
				    location   	(241, 507)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	414
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	432
				height     	322
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @351
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84A8D102BA"
				client     	@350
				supplier   	@346
				line_style 	3
				origin_attachment 	(445, 495)
				terminal_attachment 	(445, 388))
			    (object AssociationViewNew "$UNNAMED$1" @352
				location   	(688, 952)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5CEBE00E2"
				roleview_list 	(list RoleViews
				    (object RoleView "eParts" @353
					Parent_View 	@352
					location   	(176, 328)
					label      	(object SegLabel @354
					    Parent_View 	@353
					    location   	(952, 897)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+eParts"
					    pctDist    	0.697452
					    height     	56
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5CEBF0061"
					client     	@352
					supplier   	@348
					line_style 	3
					origin_attachment 	(688, 952)
					terminal_attachment 	(1066, 952)
					label      	(object SegLabel @355
					    Parent_View 	@353
					    location   	(987, 1005)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.789809
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @356
					    Parent_View 	@353
					    location   	(967, 1061)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.742038
					    height     	109
					    orientation 	1))
				    (object RoleView "$UNNAMED$2" @357
					Parent_View 	@352
					location   	(176, 328)
					label      	(object SegLabel @358
					    Parent_View 	@357
					    location   	(404, 893)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5CEBF0057"
					client     	@352
					supplier   	@350
					vertices   	(list Points
					    (688, 952)
					    (445, 952)
					    (445, 817))
					line_style 	3
					origin_attachment 	(688, 952)
					terminal_attachment 	(445, 817)
					label      	(object SegLabel @359
					    Parent_View 	@357
					    location   	(393, 912)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.747604
					    height     	53
					    orientation 	0))))))))
	    (object Class_Category "soap"
		is_unit    	TRUE
		is_loaded  	FALSE
		file_name  	"$VABASE_PLUGINS_PATH\\com.ibm.etools.wsdl.bindings\\src\\rose\\com.ibm.etools.wsdl.bindings.SOAP.cat"
		quid       	"3A01CF0C01A2")
	    (object Class_Category "xsd"
		attributes 	(list Attribute_Set
		    (object Attribute
			tool       	"Ecore"
			name       	"prefix"
			value      	"XSD")
		    (object Attribute
			tool       	"Ecore"
			name       	"basePackage"
			value      	"org.eclipse")
		    (object Attribute
			tool       	"Ecore"
			name       	"nsPrefix"
			value      	"xsd")
		    (object Attribute
			tool       	"Ecore"
			name       	"nsURI"
			value      	"http://www.eclipse.org/xsd/2002/XSD"))
		quid       	"39ABDC6F01AA"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "XSDAnnotation"
			quid       	"3B66EDC80233"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69E1770116"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029")
			    (object Inheritance_Relationship
				quid       	"3B7FD4E20366"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "applicationInformation"
				quid       	"3BBF7EBF02C8"
				stereotype 	"0..*"
				type       	"DOMElement"
				exportControl 	"Public")
			    (object ClassAttribute "userInformation"
				quid       	"3BBF7EEA0157"
				stereotype 	"0..*"
				type       	"DOMElement"
				exportControl 	"Public")
			    (object ClassAttribute "attributes"
				quid       	"3BBF7F0501E2"
				stereotype 	"0..*"
				type       	"DOMAttr"
				exportControl 	"Public")))
		    (object Class "XSDAttributeDeclaration"
			quid       	"3B66ED2E0192"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69B7DC0193"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")
			    (object Inheritance_Relationship
				quid       	"3B688E6103BE"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "attributeDeclarationReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C287F5202B4"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDAttributeGroupContent"
			quid       	"3B6940200089"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B72D8E200EA"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDAttributeGroupDefinition"
			quid       	"3B66ED840290"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69403A0221"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089")
			    (object Inheritance_Relationship
				quid       	"3B6AE2EB02A8"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B7FCAC800D2"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "attributeGroupDefinitionReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C287F7B0386"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDAttributeUse"
			quid       	"3B68354601A8"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B72D737038F"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089")
			    (object Inheritance_Relationship
				quid       	"3B72D7BB0349"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "required"
				quid       	"3B69CCF3027D"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "value"
				quid       	"3B69CDDB03B7"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "constraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CDE002D8"
				type       	"XSDConstraint"
				exportControl 	"Public")
			    (object ClassAttribute "use"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA7B0220382"
				type       	"XSDAttributeUseCategory"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalValue"
				quid       	"3C2719D90341"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDBoundedFacet"
			quid       	"3B6C751D0344"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C763C0224"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C752A00CC"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDCardinalityFacet"
			quid       	"3B6C755D03D2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C764F0131"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C756C0153"
				type       	"XSDCardinality"
				exportControl 	"Public")))
		    (object Class "XSDComplexTypeContent"
			quid       	"3B683BA00196"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848B80286"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			abstract   	TRUE)
		    (object Class "XSDComplexTypeDefinition"
			quid       	"3B682B82031A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69BAA20310"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2")
			    (object Inheritance_Relationship
				quid       	"3BA0D01901F1"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "derivationMethod"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C6E4020E"
				type       	"XSDDerivationMethod"
				initv      	"restriction"
				exportControl 	"Public")
			    (object ClassAttribute "final"
				quid       	"3B69C71D026A"
				stereotype 	"0..*"
				type       	"XSDComplexFinal"
				exportControl 	"Public")
			    (object ClassAttribute "abstract"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C73800C5"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "contentTypeCategory"
				quid       	"3B69CA4202B8"
				type       	"XSDContentTypeCategory"
				exportControl 	"Public")
			    (object ClassAttribute "prohibitedSubstitutions"
				quid       	"3B69CB8A03E6"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F618014D"
				stereotype 	"0..*"
				type       	"XSDComplexFinal"
				exportControl 	"Public")
			    (object ClassAttribute "block"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0FB97006E"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "mixed"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3C31AF5E03A6"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDComponent"
			quid       	"3B6846E90029"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3BA0CEA903D2"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDConcreteComponent"
			quid       	"3B6AD7B40065"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "element"
				quid       	"3B6ADDB501A5"
				type       	"DOMElement"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDConstrainingFacet"
			quid       	"3B6C6B340093"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C800394"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"))
			abstract   	TRUE)
		    (object Class "XSDDiagnostic"
			quid       	"3BFE5F910046"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3D4C0F4C01A1"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "severity"
				quid       	"3BFE691C005D"
				type       	"XSDDiagnosticSeverity"
				exportControl 	"Public")
			    (object ClassAttribute "message"
				quid       	"3BFE5FDD0280"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "locationURI"
				quid       	"3C063743016B"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "line"
				quid       	"3BFE607E0213"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "column"
				quid       	"3BFE611E0296"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "node"
				quid       	"3C016B6B0200"
				type       	"DOMNode"
				exportControl 	"Public")
			    (object ClassAttribute "annotationURI"
				quid       	"3C06374F0186"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDElementDeclaration"
			quid       	"3B66ED580214"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69EDEE01BF"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")
			    (object Inheritance_Relationship
				quid       	"3B685F17002E"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174")
			    (object Inheritance_Relationship
				quid       	"3B688E660339"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "nillable"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69BFB4029F"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "disallowedSubstitutions"
				quid       	"3B69C4680368"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "substitutionGroupExclusions"
				quid       	"3B69C4A003B9"
				stereotype 	"0..*"
				type       	"XSDSubstitutionGroupExclusions"
				exportControl 	"Public")
			    (object ClassAttribute "abstract"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C4E0000E"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0D14C00B2"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "block"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0D16801C1"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "elementDeclarationReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C289F6203CF"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "circular"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C34DCB00018"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDEnumerationFacet"
			quid       	"3B6C6ACE0141"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C9D03C7"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7C640054"
				stereotype 	"0..*"
				type       	"Value"
				exportControl 	"Public")))
		    (object Class "XSDFacet"
			quid       	"3B6C359403D2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6D25680259"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "lexicalValue"
				quid       	"3B6C73740253"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "facetName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C289FB401EC"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "effectiveValue"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28AAE303B6"
				type       	"Value"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFeature"
			quid       	"3B69B537026C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C290A2C0307"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B69BF81020F"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "constraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69BF8800C5"
				type       	"XSDConstraint"
				exportControl 	"Public")
			    (object ClassAttribute "form"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F902B033E"
				type       	"XSDForm"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalValue"
				quid       	"3C271A1B016F"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "global"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A0070372"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "featureReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A0440185"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFixedFacet"
			quid       	"3B6C699E00C1"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C8801B4"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "fixed"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B6C6A600201"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFractionDigitsFacet"
			quid       	"3B6C79BE02EE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B990016"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C79D2008A"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDFundamentalFacet"
			quid       	"3B6C69E801D6"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C7B0396"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"))
			abstract   	TRUE)
		    (object Class "XSDIdentityConstraintDefinition"
			quid       	"3B682B2603A2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684AA30242"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "identityConstraintCategory"
				quid       	"3B69D1C70143"
				type       	"XSDIdentityConstraintCategory"
				exportControl 	"Public")))
		    (object Class "XSDImport"
			quid       	"3B688C93017F"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8D9003E"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespace"
				quid       	"3B6ADB15036C"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDInclude"
			quid       	"3B688C7D0250"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8DC0381"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE")))
		    (object Class "XSDLengthFacet"
			quid       	"3B6C776200E7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C778002DF"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C776C004B"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDMaxExclusiveFacet"
			quid       	"3B6C789600C2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B8E0309"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E")))
		    (object Class "XSDMaxFacet"
			quid       	"3C0A1CEB010E"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C0A1D3103AD"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3C0A1EE201F7"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "inclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A174027D"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "exclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1930354"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDMaxInclusiveFacet"
			quid       	"3B6C787D00DA"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B8303B8"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E")))
		    (object Class "XSDMaxLengthFacet"
			quid       	"3B6C77C70146"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B7D00FC"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C77DA00F3"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDMinExclusiveFacet"
			quid       	"3B6C792D000A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B590281"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C")))
		    (object Class "XSDMinFacet"
			quid       	"3C0A1CDE037C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C0A1D240098"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3C0A1ED10398"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "inclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1A2008E"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "exclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1BE03E2"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDMinInclusiveFacet"
			quid       	"3B6C788702C9"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B520353"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C")))
		    (object Class "XSDMinLengthFacet"
			quid       	"3B6C778C0065"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C77C400C0"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7799015E"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDModelGroup"
			quid       	"3B6834E00291"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A640279"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "compositor"
				quid       	"3B69CF1D01CF"
				type       	"XSDCompositor"
				exportControl 	"Public")))
		    (object Class "XSDModelGroupDefinition"
			quid       	"3B66ED9A0205"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2E20381"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B6BD2550385"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6")
			    (object Inheritance_Relationship
				quid       	"3B7FCAC40090"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "modelGroupDefinitionReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1F602E8"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDNamedComponent"
			quid       	"3B6846D303A4"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3BA0CEA20197"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B6847000142"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "targetNamespace"
				quid       	"3B684704031E"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "aliasName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A57F0127"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "uRI"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A58700E2"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "aliasURI"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A5AA02AF"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "qName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C290963025E"
				type       	"String"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDNotationDeclaration"
			quid       	"3B66EDAA021C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B68494302F1"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4")
			    (object Inheritance_Relationship
				quid       	"3B688E4F023C"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "systemIdentifier"
				quid       	"3B69D32E00F0"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "publicIdentifier"
				quid       	"3B69D3340397"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDNumericFacet"
			quid       	"3B6C75950206"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C76420074"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C75A30012"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDOrderedFacet"
			quid       	"3B6C74DD0248"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7659012C"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C74F602DA"
				type       	"XSDOrdered"
				exportControl 	"Public")))
		    (object Class "XSDParticle"
			quid       	"3B682BBD01F7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848FC01E7"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "minOccurs"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CF8E03B2"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "maxOccurs"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CF9903AE"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")))
		    (object Class "XSDParticleContent"
			quid       	"3B6BD22300C6"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B780BD90059"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDPatternFacet"
			quid       	"3B6C6ADB026C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6CA5038D"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7C790311"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDRedefinableComponent"
			quid       	"3B7FCA8B020B"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FD4BA023C"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3C290A26036D"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "circular"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A6800216"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDRedefineContent"
			quid       	"3B6AE2060172"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2B301D5"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			abstract   	TRUE)
		    (object Class "XSDRedefine"
			quid       	"3B688C9B02AD"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C21DB640240"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE")))
		    (object Class "XSDRepeatableFacet"
			quid       	"3B6C6AA6031A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C8F002E"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"))
			abstract   	TRUE)
		    (object Class "XSDSchema"
			quid       	"374B182500BB"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FCC4A0182"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "document"
				quid       	"3C2784E503DD"
				type       	"DOMDocument"
				exportControl 	"Public")
			    (object ClassAttribute "schemaLocation"
				quid       	"3B6868EC0226"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "targetNamespace"
				quid       	"3B9F9BFF0180"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "attributeFormDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F904B0102"
				type       	"XSDForm"
				initv      	"unqualified"
				exportControl 	"Public")
			    (object ClassAttribute "elementFormDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F907800AC"
				type       	"XSDForm"
				initv      	"unqualified"
				exportControl 	"Public")
			    (object ClassAttribute "finalDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0C4A70038"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "blockDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F59D02D8"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "version"
				quid       	"3D22D6D80356"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDSchemaCompositor"
			quid       	"3C21DB4102AE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C21DB560092"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"))
			abstract   	TRUE)
		    (object Class "XSDSchemaContent"
			quid       	"3B688CB800BA"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8E60372"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDSchemaDirective"
			quid       	"3B6AD8A202A2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE32102AF"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "schemaLocation"
				quid       	"3B6AD9B30330"
				type       	"String"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDScope"
			quid       	"3B69B54000F2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FCD640231"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			abstract   	TRUE)
		    (object Class "XSDSimpleTypeDefinition"
			quid       	"3B682BA7005D"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A1302A2"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")
			    (object Inheritance_Relationship
				quid       	"3B685F55032B"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "variety"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B6C315800A9"
				type       	"XSDVariety"
				exportControl 	"Public")
			    (object ClassAttribute "final"
				quid       	"3B6D544F0146"
				stereotype 	"0..*"
				type       	"XSDSimpleFinal"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F65E035A"
				stereotype 	"0..*"
				type       	"XSDSimpleFinal"
				exportControl 	"Public")
			    (object ClassAttribute "validFacets"
				quid       	"3C28AB0F00B6"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDTerm"
			quid       	"3B683C5E0174"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848AA01D3"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029")
			    (object Inheritance_Relationship
				quid       	"3B6BD2440069"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6"))
			abstract   	TRUE)
		    (object Class "XSDTotalDigitsFacet"
			quid       	"3B6C79A0020E"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B610337"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C79AB0232"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDTypeDefinition"
			quid       	"3B66ECD302A9"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2F5013A"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B7FCAB1004D"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			abstract   	TRUE)
		    (object Class "XSDWhiteSpaceFacet"
			quid       	"3B6C784601B7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C78620045"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C78500201"
				type       	"XSDWhiteSpace"
				exportControl 	"Public")))
		    (object Class "XSDWildcard"
			quid       	"3B6838370031"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A3A0041"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespaceConstraintCategory"
				quid       	"3B69D0E9019E"
				type       	"XSDNamespaceConstraintCategory"
				exportControl 	"Public")
			    (object ClassAttribute "namespaceConstraint"
				quid       	"3B97CF860223"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "processContents"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69D12E01E4"
				type       	"XSDProcessContents"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalNamespaceConstraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA7BDB701F9"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDXPathDefinition"
			quid       	"3B6D83BB0355"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6D84F70092"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "variety"
				quid       	"3B6D901503DE"
				type       	"XSDXPathVariety"
				exportControl 	"Public")
			    (object ClassAttribute "value"
				quid       	"3B7BBBE101B1"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "DOMAttr"
			quid       	"3BBF8C8901B6"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Attr"
				quid       	"3BBF8CB000D5"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMDocument"
			quid       	"3C27850E0381"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Document"
				quid       	"3C27851B03C6"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMElement"
			quid       	"3B8189790200"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Element"
				quid       	"3B8189DB0374"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMNode"
			quid       	"3BFE64A50117"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Node"
				quid       	"3BFE65BF002D"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "Value"
			quid       	"3C040B5B031F"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.lang.Object"
				quid       	"3C040B8D03D5"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "XSDAttributeUseCategory"
			quid       	"3BA7B0E801A8"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "optional"
				quid       	"3BA7B11502B7"
				exportControl 	"Public")
			    (object ClassAttribute "prohibited"
				quid       	"3BA7B12202D3"
				exportControl 	"Public")
			    (object ClassAttribute "required"
				quid       	"3BA7B12902F0"
				exportControl 	"Public")))
		    (object Class "XSDCardinality"
			quid       	"3BC7715D009B"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "finite"
				quid       	"3BC771DC02ED"
				exportControl 	"Public")
			    (object ClassAttribute "countablyInfinite"
				quid       	"3BC771EC0141"
				exportControl 	"Public")))
		    (object Class "XSDComplexFinal"
			quid       	"3B97C2CA01CB"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C2E700DA"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C2EA016A"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F6D20112"
				exportControl 	"Public")))
		    (object Class "XSDCompositor"
			quid       	"3B869B620037"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "all"
				quid       	"3B869BD00003"
				exportControl 	"Public")
			    (object ClassAttribute "choice"
				quid       	"3B869CB8011E"
				exportControl 	"Public")
			    (object ClassAttribute "sequence"
				quid       	"3B869CE50057"
				exportControl 	"Public")))
		    (object Class "XSDConstraint"
			quid       	"3B869E2601AE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "default"
				quid       	"3B869E8E0258"
				exportControl 	"Public")
			    (object ClassAttribute "fixed"
				quid       	"3B869E990271"
				exportControl 	"Public")))
		    (object Class "XSDContentTypeCategory"
			quid       	"3B86A79F03A2"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "empty"
				quid       	"3B86A7CD02F0"
				exportControl 	"Public")
			    (object ClassAttribute "simple"
				quid       	"3B86A7D100CE"
				exportControl 	"Public")
			    (object ClassAttribute "mixed"
				quid       	"3B86A7D301B7"
				exportControl 	"Public")
			    (object ClassAttribute "elementOnly"
				quid       	"3B86A7D702E9"
				exportControl 	"Public")))
		    (object Class "XSDDerivationMethod"
			quid       	"3B86A0B000CE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B86A0C80329"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B86A0CC0162"
				exportControl 	"Public")))
		    (object Class "XSDDiagnosticSeverity"
			quid       	"3BFE68A7032F"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "fatal"
				quid       	"3BFE68C303D0"
				exportControl 	"Public")
			    (object ClassAttribute "error"
				quid       	"3BFE68E700E3"
				exportControl 	"Public")
			    (object ClassAttribute "warning"
				quid       	"3BFE68EA01FF"
				exportControl 	"Public")
			    (object ClassAttribute "information"
				quid       	"3BFE7FC2019A"
				exportControl 	"Public")))
		    (object Class "XSDDisallowedSubstitutions"
			quid       	"3B97C5A403DF"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "substitution"
				quid       	"3B97C6790045"
				exportControl 	"Public")
			    (object ClassAttribute "extension"
				quid       	"3B97C67F01AC"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C683020B"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F2450069"
				exportControl 	"Public")))
		    (object Class "XSDForm"
			quid       	"3B9F913B01EB"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qualified"
				quid       	"3B9F916F0023"
				exportControl 	"Public")
			    (object ClassAttribute "unqualified"
				quid       	"3B9F918C007F"
				exportControl 	"Public")))
		    (object Class "XSDIdentityConstraintCategory"
			quid       	"3B86A1E00272"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "key"
				quid       	"3B86A2120085"
				exportControl 	"Public")
			    (object ClassAttribute "keyref"
				quid       	"3B86A213014F"
				exportControl 	"Public")
			    (object ClassAttribute "unique"
				quid       	"3B86A2160365"
				exportControl 	"Public")))
		    (object Class "XSDNamespaceConstraintCategory"
			quid       	"3B97C5EA0023"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "any"
				quid       	"3B97D0600034"
				exportControl 	"Public")
			    (object ClassAttribute "not"
				quid       	"3B97D062005F"
				exportControl 	"Public")
			    (object ClassAttribute "set"
				quid       	"3B97D0650117"
				exportControl 	"Public")))
		    (object Class "XSDOrdered"
			quid       	"3BC7715202E4"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "false"
				quid       	"3BC771A90271"
				exportControl 	"Public")
			    (object ClassAttribute "partial"
				quid       	"3BC771BB01FF"
				exportControl 	"Public")
			    (object ClassAttribute "total"
				quid       	"3BC771C401B2"
				exportControl 	"Public")))
		    (object Class "XSDProcessContents"
			quid       	"3B8FF8C70284"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "strict"
				quid       	"3B8FF8F80045"
				exportControl 	"Public")
			    (object ClassAttribute "lax"
				quid       	"3B8FF8F6038B"
				exportControl 	"Public")
			    (object ClassAttribute "skip"
				quid       	"3B8FF8E802BA"
				exportControl 	"Public")))
		    (object Class "XSDProhibitedSubstitutions"
			quid       	"3B97C5BE0272"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C68B00B8"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C6940291"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F2500295"
				exportControl 	"Public")))
		    (object Class "XSDSimpleFinal"
			quid       	"3B97C25D0295"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "list"
				quid       	"3B97C2810230"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C2830138"
				exportControl 	"Public")
			    (object ClassAttribute "union"
				quid       	"3B97C288024E"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F6E00374"
				exportControl 	"Public")))
		    (object Class "XSDSubstitutionGroupExclusions"
			quid       	"3B97C59100AE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C6640231"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C66D0216"
				exportControl 	"Public")))
		    (object Class "XSDVariety"
			quid       	"3B8FF7730249"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "atomic"
				quid       	"3B8FF7A702DF"
				exportControl 	"Public")
			    (object ClassAttribute "list"
				quid       	"3B8FF7AD0139"
				exportControl 	"Public")
			    (object ClassAttribute "union"
				quid       	"3B8FF7AF039F"
				exportControl 	"Public")))
		    (object Class "XSDWhiteSpace"
			quid       	"3BEED0F60342"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "preserve"
				quid       	"3BEED10F0117"
				exportControl 	"Public")
			    (object ClassAttribute "replace"
				quid       	"3BEED127034D"
				exportControl 	"Public")
			    (object ClassAttribute "collapse"
				quid       	"3BEED1290396"
				exportControl 	"Public")))
		    (object Class "XSDXPathVariety"
			quid       	"3B8FFB89033A"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "selector"
				quid       	"3B8FFBAC0192"
				exportControl 	"Public")
			    (object ClassAttribute "field"
				quid       	"3B8FFBB30278"
				exportControl 	"Public")))
		    (object Association "$UNNAMED$64"
			quid       	"3C626EA70102"
			roles      	(list role_list
			    (object Role "$UNNAMED$65"
				quid       	"3C626EA90191"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C626EA90192"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$66"
			quid       	"3B69DADC02F5"
			roles      	(list role_list
			    (object Role "$UNNAMED$67"
				quid       	"3B69DADD0238"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DADD0242"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$68"
			quid       	"3B6890D6006F"
			roles      	(list role_list
			    (object Role "$UNNAMED$69"
				quid       	"3B6890D6030E"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "anonymousTypeDefinition"
				quid       	"3B6890D60318"
				label      	"anonymousTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$70"
			quid       	"3B68356B02CB"
			roles      	(list role_list
			    (object Role "$UNNAMED$71"
				quid       	"3B68356D00A6"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "typeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68356D00A7"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$72"
			quid       	"3B6B426B0194"
			roles      	(list role_list
			    (object Role "$UNNAMED$73"
				quid       	"3B6B426D0309"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "resolvedAttributeDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B426D0313"
				label      	"resolvedAttributeDeclaration"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$74"
			quid       	"3B69DB060291"
			roles      	(list role_list
			    (object Role "$UNNAMED$75"
				quid       	"3B69DB070171"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB070172"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$76"
			quid       	"3B69404E0067"
			roles      	(list role_list
			    (object Role "$UNNAMED$77"
				quid       	"3B694050029B"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B69405002A5"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$78"
			quid       	"3B68359F0086"
			roles      	(list role_list
			    (object Role "$UNNAMED$79"
				quid       	"3B6835A00069"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeUses"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6835A0006A"
				label      	"attributeUses"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$80"
			quid       	"3C275D320220"
			roles      	(list role_list
			    (object Role "$UNNAMED$81"
				quid       	"3C275D3C010C"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcardContent"
				quid       	"3C275D3C010D"
				label      	"attributeWildcardContent"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$82"
			quid       	"3B6887BF0150"
			roles      	(list role_list
			    (object Role "$UNNAMED$83"
				quid       	"3B6887C000A7"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6887C000A8"
				label      	"attributeWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$84"
			quid       	"3B6B425E01F9"
			roles      	(list role_list
			    (object Role "$UNNAMED$85"
				quid       	"3B6B42620046"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "resolvedAttributeGroupDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B42620050"
				label      	"resolvedAttributeGroupDefinition"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$86"
			quid       	"3B683585010D"
			roles      	(list role_list
			    (object Role "$UNNAMED$87"
				quid       	"3B68358600FA"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				is_aggregate 	TRUE)
			    (object Role "attributeDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68358600FB"
				label      	"attributeDeclaration"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$88"
			quid       	"3B6F1DE9018A"
			roles      	(list role_list
			    (object Role "$UNNAMED$89"
				quid       	"3B6F1DEA036C"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6F1DEA0380"
				label      	"content"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$90"
			quid       	"3B90068801C2"
			roles      	(list role_list
			    (object Role "$UNNAMED$91"
				quid       	"3B90068A0111"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "contentAnnotation"
				quid       	"3B90068A011B"
				label      	"contentAnnotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$92"
			quid       	"3B6833350340"
			roles      	(list role_list
			    (object Role "$UNNAMED$93"
				quid       	"3B683336028D"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "baseTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683336028E"
				label      	"baseTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$94"
			quid       	"3B6FDDD70113"
			roles      	(list role_list
			    (object Role "$UNNAMED$95"
				quid       	"3B6FDDDA026B"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6FDDDA0275"
				label      	"content"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$96"
			quid       	"3B6837DF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$97"
				quid       	"3B6837E100FD"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "contentType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6837E100FE"
				label      	"contentType"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$98"
			quid       	"3B683959006E"
			roles      	(list role_list
			    (object Role "$UNNAMED$99"
				quid       	"3B6839590349"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeUses"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683959034A"
				label      	"attributeUses"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$100"
			quid       	"3B698E360386"
			roles      	(list role_list
			    (object Role "$UNNAMED$101"
				quid       	"3B698E380072"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeContents"
				quid       	"3B698E38007C"
				label      	"attributeContents"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$102"
			quid       	"3B6851BA0126"
			roles      	(list role_list
			    (object Role "$UNNAMED$103"
				quid       	"3B6851BB0150"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6851BB0151"
				label      	"attributeWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$104"
			quid       	"3B751B0803C7"
			roles      	(list role_list
			    (object Role "container"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751B0C01CE"
				label      	"container"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$105"
				attributes 	(list Attribute_Set)
				quid       	"3B751B0C01CF"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$106"
			quid       	"3B751B480261"
			roles      	(list role_list
			    (object Role "rootContainer"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751B4C0285"
				label      	"rootContainer"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$107"
				attributes 	(list Attribute_Set)
				quid       	"3B751B4C0286"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$108"
			quid       	"3B751C310356"
			roles      	(list role_list
			    (object Role "$UNNAMED$109"
				attributes 	(list Attribute_Set)
				quid       	"3B751C330331"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")
			    (object Role "schema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751C33033B"
				label      	"schema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$110"
			quid       	"3B69DB0A0066"
			roles      	(list role_list
			    (object Role "$UNNAMED$111"
				quid       	"3B69DB0B023F"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB0B0249"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$112"
			quid       	"3B68911401AF"
			roles      	(list role_list
			    (object Role "$UNNAMED$113"
				quid       	"3B6891150016"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "anonymousTypeDefinition"
				quid       	"3B6891150017"
				label      	"anonymousTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$114"
			quid       	"3B68338C0058"
			roles      	(list role_list
			    (object Role "$UNNAMED$115"
				quid       	"3B68338C03BF"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "typeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68338C03C0"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$116"
			quid       	"3B6833EF0160"
			roles      	(list role_list
			    (object Role "$UNNAMED$117"
				quid       	"3B6833F00298"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "identityConstraintDefinitions"
				quid       	"3B6833F00299"
				label      	"identityConstraintDefinitions"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$118"
			quid       	"3B6B41E60251"
			roles      	(list role_list
			    (object Role "$UNNAMED$119"
				quid       	"3B6B41EA02F7"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "resolvedElementDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B41EA030B"
				label      	"resolvedElementDeclaration"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$120"
			quid       	"3B69C0590198"
			roles      	(list role_list
			    (object Role "$UNNAMED$121"
				quid       	"3B69C05D01E3"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214")
			    (object Role "substitutionGroupAffiliation"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69C05D01ED"
				label      	"substitutionGroupAffiliation"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$122"
			quid       	"3C42DBDD0297"
			roles      	(list role_list
			    (object Role "$UNNAMED$123"
				quid       	"3C42DBE0011E"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "substitutionGroup"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C42DBE00128"
				label      	"substitutionGroup"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$124"
			quid       	"3B6D23B901CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$125"
				quid       	"3B6D23BA01C4"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6D23BA01CE"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$126"
			quid       	"3B6D597102EA"
			roles      	(list role_list
			    (object Role "simpleTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D59750105"
				label      	"simpleTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$127"
				attributes 	(list Attribute_Set)
				quid       	"3B6D59750119"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2")))
		    (object Association "$UNNAMED$128"
			quid       	"3B69B653017A"
			roles      	(list role_list
			    (object Role "scope"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B69B654006D"
				label      	"scope"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$129"
				attributes 	(list Attribute_Set)
				quid       	"3B69B654006E"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$130"
			quid       	"3C29010602D7"
			roles      	(list role_list
			    (object Role "resolvedFeature"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C29010B000E"
				label      	"resolvedFeature"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$131"
				attributes 	(list Attribute_Set)
				quid       	"3C29010B0018"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$132"
			quid       	"3B69DB0D0183"
			roles      	(list role_list
			    (object Role "$UNNAMED$133"
				quid       	"3B69DB0D033C"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB0D0346"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$134"
			quid       	"3B69D29E014D"
			roles      	(list role_list
			    (object Role "referencedKey"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69D2A80165"
				label      	"referencedKey"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$135"
				attributes 	(list Attribute_Set)
				quid       	"3B69D2A8016F"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2")))
		    (object Association "$UNNAMED$136"
			quid       	"3B6D8D3D003E"
			roles      	(list role_list
			    (object Role "$UNNAMED$137"
				quid       	"3B6D8D3E022A"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "selector"
				quid       	"3B6D8D3E0234"
				label      	"selector"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$138"
			quid       	"3B6D8D330025"
			roles      	(list role_list
			    (object Role "$UNNAMED$139"
				quid       	"3B6D8D330365"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "fields"
				quid       	"3B6D8D330379"
				label      	"fields"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				client_cardinality 	(value cardinality "1..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$140"
			quid       	"3B6ADCD802FC"
			roles      	(list role_list
			    (object Role "$UNNAMED$141"
				quid       	"3B6ADCD9018B"
				supplier   	"Logical View::xsd::XSDImport"
				quidu      	"3B688C93017F"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6ADCD9018C"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$142"
			quid       	"3B6ADCC5007E"
			roles      	(list role_list
			    (object Role "$UNNAMED$143"
				quid       	"3B6ADCC6006B"
				supplier   	"Logical View::xsd::XSDInclude"
				quidu      	"3B688C7D0250"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6ADCC6006C"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$144"
			quid       	"3B69DB1702C8"
			roles      	(list role_list
			    (object Role "$UNNAMED$145"
				quid       	"3B69DB1803E2"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB190004"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$146"
			quid       	"3B6BCEB102F8"
			roles      	(list role_list
			    (object Role "$UNNAMED$147"
				quid       	"3B6BCEB6001B"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6BCEB60025"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$148"
			quid       	"3B683606026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$149"
				quid       	"3B6836070221"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "particles"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6836070222"
				label      	"particles"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "1..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$150"
			quid       	"3B69DB15008A"
			roles      	(list role_list
			    (object Role "$UNNAMED$151"
				quid       	"3B69DB160096"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB1600A0"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$152"
			quid       	"3B6837AC025A"
			roles      	(list role_list
			    (object Role "$UNNAMED$153"
				quid       	"3B6837AD0338"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "modelGroup"
				quid       	"3B6837AD0339"
				label      	"modelGroup"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$154"
			quid       	"3B6B42450398"
			roles      	(list role_list
			    (object Role "$UNNAMED$155"
				quid       	"3B6B4249038A"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "resolvedModelGroupDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B4249039E"
				label      	"resolvedModelGroupDefinition"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$156"
			quid       	"3B69DB0F0212"
			roles      	(list role_list
			    (object Role "$UNNAMED$157"
				quid       	"3B69DB1000C9"
				supplier   	"Logical View::xsd::XSDNotationDeclaration"
				quidu      	"3B66EDAA021C"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB1000D3"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$158"
			quid       	"3B6B47150119"
			roles      	(list role_list
			    (object Role "$UNNAMED$159"
				quid       	"3B6B471A03AB"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6B471A03B5"
				label      	"content"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$160"
			quid       	"3B683C890122"
			roles      	(list role_list
			    (object Role "$UNNAMED$161"
				quid       	"3B683C8A0110"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				is_aggregate 	TRUE)
			    (object Role "term"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683C8A0111"
				label      	"term"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$162"
			quid       	"3B6ADE42009A"
			roles      	(list role_list
			    (object Role "$UNNAMED$163"
				quid       	"3B6ADE4302FE"
				supplier   	"Logical View::xsd::XSDRedefine"
				quidu      	"3B688C9B02AD"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6ADE430308"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$164"
			quid       	"3B6AE8240051"
			roles      	(list role_list
			    (object Role "$UNNAMED$165"
				quid       	"3B6AE82602AD"
				supplier   	"Logical View::xsd::XSDRedefine"
				quidu      	"3B688C9B02AD"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6AE82602B7"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$166"
			quid       	"3B688E6B003D"
			roles      	(list role_list
			    (object Role "$UNNAMED$167"
				quid       	"3B688E6C0107"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B688E6C0111"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$168"
			quid       	"3B66EE8D01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$169"
				quid       	"3B66EE8E0198"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "elementDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE8E0199"
				label      	"elementDeclarations"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$170"
			quid       	"3B66FDFA00C3"
			roles      	(list role_list
			    (object Role "$UNNAMED$171"
				quid       	"3B66FDFB027D"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "attributeDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66FDFB027E"
				label      	"attributeDeclarations"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$172"
			quid       	"3B66EE920216"
			roles      	(list role_list
			    (object Role "$UNNAMED$173"
				quid       	"3B66EE93018B"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "attributeGroupDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE93018C"
				label      	"attributeGroupDefinitions"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$174"
			quid       	"3B66EE760049"
			roles      	(list role_list
			    (object Role "$UNNAMED$175"
				quid       	"3B66EE760374"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "typeDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE76037E"
				label      	"typeDefinitions"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$176"
			quid       	"3B66EEFF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$177"
				quid       	"3B66EF00025A"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "modelGroupDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EF000264"
				label      	"modelGroupDefinitions"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$178"
			quid       	"3BFC2A1701ED"
			roles      	(list role_list
			    (object Role "$UNNAMED$179"
				quid       	"3BFC2A1A0273"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "identityConstraintDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFC2A1A027D"
				label      	"identityConstraintDefinitions"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$180"
			quid       	"3B66EEA7023E"
			roles      	(list role_list
			    (object Role "$UNNAMED$181"
				quid       	"3B66EEA8038A"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "notationDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EEA8038B"
				label      	"notationDeclarations"
				supplier   	"Logical View::xsd::XSDNotationDeclaration"
				quidu      	"3B66EDAA021C"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$182"
			quid       	"3B69E4560290"
			roles      	(list role_list
			    (object Role "$UNNAMED$183"
				quid       	"3B69E4570165"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69E457016F"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$184"
			quid       	"3B6D5CA50112"
			roles      	(list role_list
			    (object Role "$UNNAMED$185"
				quid       	"3B6D5CA703B4"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6D5CA703C8"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$186"
			quid       	"3B6C35AD0374"
			roles      	(list role_list
			    (object Role "$UNNAMED$187"
				quid       	"3B6C35AF0006"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "facetContents"
				quid       	"3B6C35AF0010"
				label      	"facetContents"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$188"
			quid       	"3BC8AE0203A8"
			roles      	(list role_list
			    (object Role "$UNNAMED$189"
				quid       	"3BC8AE060051"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "facets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BC8AE060065"
				label      	"facets"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$190"
			quid       	"3B6C34B70208"
			roles      	(list role_list
			    (object Role "$UNNAMED$191"
				quid       	"3B6C34BE0258"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "memberTypeDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6C34BE0259"
				label      	"memberTypeDefinitions"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$192"
			quid       	"3B6C363201DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$193"
				quid       	"3B6C36350059"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "fundamentalFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B6C36350063"
				label      	"fundamentalFacets"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"
				client_cardinality 	(value cardinality "1..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$194"
			quid       	"3B6D35AB0273"
			roles      	(list role_list
			    (object Role "$UNNAMED$195"
				quid       	"3B6D35B20291"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "baseTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D35B202A5"
				label      	"baseTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$196"
			quid       	"3B6D5572016C"
			roles      	(list role_list
			    (object Role "$UNNAMED$197"
				quid       	"3B6D5575022F"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "primitiveTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D55750243"
				label      	"primitiveTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$198"
			quid       	"3B69E2910158"
			roles      	(list role_list
			    (object Role "$UNNAMED$199"
				quid       	"3B69E292019F"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69E29201A9"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$200"
			quid       	"3B9006CF0088"
			roles      	(list role_list
			    (object Role "$UNNAMED$201"
				quid       	"3B9006D1015D"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "derivationAnnotation"
				quid       	"3B9006D10167"
				label      	"derivationAnnotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$202"
			quid       	"3B69DB330264"
			roles      	(list role_list
			    (object Role "$UNNAMED$203"
				quid       	"3B69DB340284"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69DB34028E"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$204"
			quid       	"3B69DB11026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$205"
				quid       	"3B69DB1201F9"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB120203"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$206"
			quid       	"3C626EB30005"
			roles      	(list role_list
			    (object Role "$UNNAMED$207"
				quid       	"3C626EB40327"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C626EB40332"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$208"
			quid       	"3BEBDC870247"
			roles      	(list role_list
			    (object Role "$UNNAMED$209"
				quid       	"3BEBDC8C02F9"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcardContent"
				quid       	"3BEBDC8C0303"
				label      	"attributeWildcardContent"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$210"
			quid       	"3BFE622703CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$211"
				attributes 	(list Attribute_Set)
				quid       	"3BFE622B0061"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046")
			    (object Role "components"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFE622B006C"
				label      	"components"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$212"
			quid       	"3BFE62690165"
			roles      	(list role_list
			    (object Role "$UNNAMED$213"
				quid       	"3BFE626A0026"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				is_aggregate 	TRUE)
			    (object Role "diagnostics"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3BFE626A0027"
				label      	"diagnostics"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$214"
			quid       	"3BFE6431035F"
			roles      	(list role_list
			    (object Role "$UNNAMED$215"
				quid       	"3BFE643201C6"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "allDiagnostics"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFE643201C7"
				label      	"allDiagnostics"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$216"
			quid       	"3C21DCC700EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$217"
				quid       	"3C21DCCE0042"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"
				is_aggregate 	TRUE)
			    (object Role "resolvedSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C21DCCE0043"
				label      	"resolvedSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$218"
			quid       	"3C21DD0C03DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$219"
				quid       	"3C21DD100304"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE"
				is_aggregate 	TRUE)
			    (object Role "incorporatedSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C21DD100305"
				label      	"incorporatedSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$220"
			quid       	"3C239134004F"
			roles      	(list role_list
			    (object Role "$UNNAMED$221"
				quid       	"3C23913600CA"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3C23913600D4"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$222"
			quid       	"3C25D3A60131"
			roles      	(list role_list
			    (object Role "$UNNAMED$223"
				quid       	"3C25D3A90370"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "referencingDirectives"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C25D3A90371"
				label      	"referencingDirectives"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$224"
			quid       	"3C25ECF0005E"
			roles      	(list role_list
			    (object Role "$UNNAMED$225"
				quid       	"3C25ECF4001E"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "rootVersion"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25ECF40028"
				label      	"rootVersion"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$226"
			quid       	"3C25ED0B011B"
			roles      	(list role_list
			    (object Role "$UNNAMED$227"
				quid       	"3C25ED0F0121"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "originalVersion"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25ED0F012B"
				label      	"originalVersion"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$228"
			quid       	"3C25EEAB001F"
			roles      	(list role_list
			    (object Role "$UNNAMED$229"
				quid       	"3C25EEAF010B"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "incorporatedVersions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25EEAF0115"
				label      	"incorporatedVersions"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$230"
			quid       	"3C276DA000DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$231"
				quid       	"3C276DA000DF"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "itemTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C276DA000E0"
				label      	"itemTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$232"
			quid       	"3C2784730194"
			roles      	(list role_list
			    (object Role "$UNNAMED$233"
				quid       	"3C27847501F1"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "schemaForSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C27847501FB"
				label      	"schemaForSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$234"
			quid       	"3C2880F503D9"
			roles      	(list role_list
			    (object Role "rootTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C2880F9003C"
				label      	"rootTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$235"
				attributes 	(list Attribute_Set)
				quid       	"3C2880F90046"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A")))
		    (object Association "$UNNAMED$236"
			quid       	"3C2882C50137"
			roles      	(list role_list
			    (object Role "$UNNAMED$237"
				attributes 	(list Attribute_Set)
				quid       	"3C2882C70112"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046")
			    (object Role "primaryComponent"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C2882C70113"
				label      	"primaryComponent"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$238"
			quid       	"3C28A0F201A4"
			roles      	(list role_list
			    (object Role "type"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A0F302E5"
				label      	"type"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$239"
				attributes 	(list Attribute_Set)
				quid       	"3C28A0F302F0"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$240"
			quid       	"3C28A6DB01E5"
			roles      	(list role_list
			    (object Role "rootType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A6DD03DD"
				label      	"rootType"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$241"
				attributes 	(list Attribute_Set)
				quid       	"3C28A6DD03DE"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$242"
			quid       	"3C28A7120108"
			roles      	(list role_list
			    (object Role "baseType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A7140151"
				label      	"baseType"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$243"
				attributes 	(list Attribute_Set)
				quid       	"3C28A714015B"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$244"
			quid       	"3C28A74B0178"
			roles      	(list role_list
			    (object Role "simpleType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A74D017B"
				label      	"simpleType"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$245"
				attributes 	(list Attribute_Set)
				quid       	"3C28A74D0185"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$246"
			quid       	"3C28A7ED03C0"
			roles      	(list role_list
			    (object Role "complexType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A7F40117"
				label      	"complexType"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$247"
				attributes 	(list Attribute_Set)
				quid       	"3C28A7F40121"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$248"
			quid       	"3C28A994030A"
			roles      	(list role_list
			    (object Role "rootTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A99700DD"
				label      	"rootTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$249"
				attributes 	(list Attribute_Set)
				quid       	"3C28A99700E7"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D")))
		    (object Association "$UNNAMED$250"
			quid       	"3C28B085025B"
			roles      	(list role_list
			    (object Role "$UNNAMED$251"
				quid       	"3C28B0860270"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B086027A"
				label      	"minFacet"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$252"
			quid       	"3C28B08D0252"
			roles      	(list role_list
			    (object Role "$UNNAMED$253"
				quid       	"3C28B08E0091"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B08E009B"
				label      	"maxFacet"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$254"
			quid       	"3C28B0AB0396"
			roles      	(list role_list
			    (object Role "$UNNAMED$255"
				quid       	"3C28B0AC03C9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxInclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0AC03D4"
				label      	"maxInclusiveFacet"
				supplier   	"Logical View::xsd::XSDMaxInclusiveFacet"
				quidu      	"3B6C787D00DA"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$256"
			quid       	"3C28B0AF0338"
			roles      	(list role_list
			    (object Role "$UNNAMED$257"
				quid       	"3C28B0B001F9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minInclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B00203"
				label      	"minInclusiveFacet"
				supplier   	"Logical View::xsd::XSDMinInclusiveFacet"
				quidu      	"3B6C788702C9"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$258"
			quid       	"3C28B0B30207"
			roles      	(list role_list
			    (object Role "$UNNAMED$259"
				quid       	"3C28B0B40190"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minExclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B4019A"
				label      	"minExclusiveFacet"
				supplier   	"Logical View::xsd::XSDMinExclusiveFacet"
				quidu      	"3B6C792D000A"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$260"
			quid       	"3C28B0B6028D"
			roles      	(list role_list
			    (object Role "$UNNAMED$261"
				quid       	"3C28B0B70217"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxExclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B70221"
				label      	"maxExclusiveFacet"
				supplier   	"Logical View::xsd::XSDMaxExclusiveFacet"
				quidu      	"3B6C789600C2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$262"
			quid       	"3C28B0BC0051"
			roles      	(list role_list
			    (object Role "$UNNAMED$263"
				quid       	"3C28B0BC0246"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "lengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0BC0250"
				label      	"lengthFacet"
				supplier   	"Logical View::xsd::XSDLengthFacet"
				quidu      	"3B6C776200E7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$264"
			quid       	"3C28B0BF018C"
			roles      	(list role_list
			    (object Role "$UNNAMED$265"
				quid       	"3C28B0C0006B"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "whiteSpaceFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C00075"
				label      	"whiteSpaceFacet"
				supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
				quidu      	"3B6C784601B7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$266"
			quid       	"3C28B0C2021D"
			roles      	(list role_list
			    (object Role "$UNNAMED$267"
				quid       	"3C28B0C300AB"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "enumerationFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C300AC"
				label      	"enumerationFacets"
				supplier   	"Logical View::xsd::XSDEnumerationFacet"
				quidu      	"3B6C6ACE0141"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$268"
			quid       	"3C28B0C50159"
			roles      	(list role_list
			    (object Role "$UNNAMED$269"
				quid       	"3C28B0C600B0"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "patternFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C600BA"
				label      	"patternFacets"
				supplier   	"Logical View::xsd::XSDPatternFacet"
				quidu      	"3B6C6ADB026C"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$270"
			quid       	"3C28B0C802A7"
			roles      	(list role_list
			    (object Role "$UNNAMED$271"
				quid       	"3C28B0C901EA"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "cardinalityFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C901F5"
				label      	"cardinalityFacet"
				supplier   	"Logical View::xsd::XSDCardinalityFacet"
				quidu      	"3B6C755D03D2"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$272"
			quid       	"3C28B0CB039C"
			roles      	(list role_list
			    (object Role "$UNNAMED$273"
				quid       	"3C28B0CC03D0"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "numericFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0CC03D1"
				label      	"numericFacet"
				supplier   	"Logical View::xsd::XSDNumericFacet"
				quidu      	"3B6C75950206"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$274"
			quid       	"3C28B0CF0199"
			roles      	(list role_list
			    (object Role "$UNNAMED$275"
				quid       	"3C28B0D20085"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D2008F"
				label      	"maxLengthFacet"
				supplier   	"Logical View::xsd::XSDMaxLengthFacet"
				quidu      	"3B6C77C70146"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$276"
			quid       	"3C28B0D500C5"
			roles      	(list role_list
			    (object Role "$UNNAMED$277"
				quid       	"3C28B0D6001D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D60027"
				label      	"minLengthFacet"
				supplier   	"Logical View::xsd::XSDMinLengthFacet"
				quidu      	"3B6C778C0065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$278"
			quid       	"3C28B0D800DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$279"
				quid       	"3C28B0D803CD"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "totalDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D803D7"
				label      	"totalDigitsFacet"
				supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
				quidu      	"3B6C79A0020E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$280"
			quid       	"3C28B0DB0377"
			roles      	(list role_list
			    (object Role "$UNNAMED$281"
				quid       	"3C28B0DC035A"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "fractionDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0DC0364"
				label      	"fractionDigitsFacet"
				supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
				quidu      	"3B6C79BE02EE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$282"
			quid       	"3C28B0DF0048"
			roles      	(list role_list
			    (object Role "$UNNAMED$283"
				quid       	"3C28B0DF03B9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "orderedFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0DF03C3"
				label      	"orderedFacet"
				supplier   	"Logical View::xsd::XSDOrderedFacet"
				quidu      	"3B6C74DD0248"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$284"
			quid       	"3C28B0E300D9"
			roles      	(list role_list
			    (object Role "$UNNAMED$285"
				quid       	"3C28B0E4038E"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "boundedFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0E40398"
				label      	"boundedFacet"
				supplier   	"Logical View::xsd::XSDBoundedFacet"
				quidu      	"3B6C751D0344"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$286"
			quid       	"3C28B44401EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$287"
				quid       	"3C28B4450360"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMaxFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B445036A"
				label      	"effectiveMaxFacet"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$288"
			quid       	"3C28B54F0145"
			roles      	(list role_list
			    (object Role "$UNNAMED$289"
				quid       	"3C28B550038C"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveWhiteSpaceFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B5500396"
				label      	"effectiveWhiteSpaceFacet"
				supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
				quidu      	"3B6C784601B7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$290"
			quid       	"3C28B5C4011C"
			roles      	(list role_list
			    (object Role "$UNNAMED$291"
				quid       	"3C28B5C5020D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMaxLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B5C50217"
				label      	"effectiveMaxLengthFacet"
				supplier   	"Logical View::xsd::XSDMaxLengthFacet"
				quidu      	"3B6C77C70146"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$292"
			quid       	"3C28B62A00AA"
			roles      	(list role_list
			    (object Role "$UNNAMED$293"
				quid       	"3C28B62B0138"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveFractionDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B62B0142"
				label      	"effectiveFractionDigitsFacet"
				supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
				quidu      	"3B6C79BE02EE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$294"
			quid       	"3C28B6B003A6"
			roles      	(list role_list
			    (object Role "$UNNAMED$295"
				quid       	"3C28B6B10311"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectivePatternFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B6B10312"
				label      	"effectivePatternFacet"
				supplier   	"Logical View::xsd::XSDPatternFacet"
				quidu      	"3B6C6ADB026C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$296"
			quid       	"3C28B7CA026B"
			roles      	(list role_list
			    (object Role "$UNNAMED$297"
				quid       	"3C28B7CB0186"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveEnumerationFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B7CB0190"
				label      	"effectiveEnumerationFacet"
				supplier   	"Logical View::xsd::XSDEnumerationFacet"
				quidu      	"3B6C6ACE0141"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$298"
			quid       	"3C28B8400062"
			roles      	(list role_list
			    (object Role "$UNNAMED$299"
				quid       	"3C28B841001D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveTotalDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8410027"
				label      	"effectiveTotalDigitsFacet"
				supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
				quidu      	"3B6C79A0020E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$300"
			quid       	"3C28B898016D"
			roles      	(list role_list
			    (object Role "$UNNAMED$301"
				quid       	"3C28B8990056"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMinLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8990060"
				label      	"effectiveMinLengthFacet"
				supplier   	"Logical View::xsd::XSDMinLengthFacet"
				quidu      	"3B6C778C0065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$302"
			quid       	"3C28B8DC0052"
			roles      	(list role_list
			    (object Role "$UNNAMED$303"
				quid       	"3C28B8DC03B9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8DC03C3"
				label      	"effectiveLengthFacet"
				supplier   	"Logical View::xsd::XSDLengthFacet"
				quidu      	"3B6C776200E7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$304"
			quid       	"3C28B97001DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$305"
				quid       	"3C28B97100CF"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMinFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B97100D9"
				label      	"effectiveMinFacet"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$306"
			quid       	"3D4BB4AE01CC"
			roles      	(list role_list
			    (object Role "$UNNAMED$307"
				quid       	"3D4BB4AF010F"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "syntheticFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4AF011A"
				label      	"syntheticFacets"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$308"
			quid       	"3D4BB4D3028E"
			roles      	(list role_list
			    (object Role "$UNNAMED$309"
				quid       	"3D4BB4D402F3"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "syntheticParticle"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4D402FD"
				label      	"syntheticParticle"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$310"
			quid       	"3D4BB4D901F6"
			roles      	(list role_list
			    (object Role "$UNNAMED$311"
				quid       	"3D4BB4DA0284"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "syntheticWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4DA028E"
				label      	"syntheticWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$312"
			quid       	"3D4C68FF01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$313"
				quid       	"3D4C69020317"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "syntheticWildcard"
				quid       	"3D4C69020318"
				label      	"syntheticWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "1. Component Hierarchy (Part 1: Structures)"
			quid       	"3B6847680138"
			title      	"1. Component Hierarchy (Part 1: Structures)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @360
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@360
				    location   	(766, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @361
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1168, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@361
				    location   	(940, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	474
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @362
				location   	(928, 225)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@360
				vertices   	(list Points
				    (928, 225)
				    (928, 135)))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @363
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@363
				    location   	(1460, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @364
				location   	(1203, 706)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@361
				vertices   	(list Points
				    (1203, 706)
				    (1203, 615)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @365
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(624, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@365
				    location   	(372, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @366
				location   	(444, 709)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@365
				vertices   	(list Points
				    (444, 709)
				    (444, 615)))
			    (object InheritTreeView "" @367
				location   	(1572, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@363
				vertices   	(list Points
				    (1572, 465)
				    (1572, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @368
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 800)
				label      	(object ItemLabel
				    Parent_View 	@368
				    location   	(290, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @369
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 1056)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@369
				    location   	(262, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @370
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1104, 320)
				label      	(object ItemLabel
				    Parent_View 	@370
				    location   	(936, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	336
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	354
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @371
				location   	(453, 1203)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@369
				vertices   	(list Points
				    (453, 1203)
				    (453, 1111)))
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @372
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@372
				    location   	(62, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @373
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@373
				    location   	(1746, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				width      	270
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @374
				location   	(1872, 950)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@373
				vertices   	(list Points
				    (1872, 950)
				    (1872, 855)))
			    (object InheritTreeView "" @375
				location   	(181, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@372
				vertices   	(list Points
				    (181, 465)
				    (181, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @376
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1280)
				label      	(object ItemLabel
				    Parent_View 	@376
				    location   	(1670, 1233)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	550
				height     	118
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @377
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1056)
				label      	(object ItemLabel
				    Parent_View 	@377
				    location   	(1734, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @378
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1488)
				label      	(object ItemLabel
				    Parent_View 	@378
				    location   	(1569, 1444)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	638
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	656
				height     	112
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @379
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1184, 1488)
				label      	(object ItemLabel
				    Parent_View 	@379
				    location   	(903, 1444)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	563
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	581
				height     	112
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @380
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 560)
				label      	(object ItemLabel
				    Parent_View 	@380
				    location   	(1462, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	276
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	294
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @381
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1056)
				label      	(object ItemLabel
				    Parent_View 	@381
				    location   	(778, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @382
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 560)
				label      	(object ItemLabel
				    Parent_View 	@382
				    location   	(1806, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @383
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1296)
				label      	(object ItemLabel
				    Parent_View 	@383
				    location   	(106, 1253)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @384
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 560)
				label      	(object ItemLabel
				    Parent_View 	@384
				    location   	(60, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	264
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	282
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @385
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1280)
				label      	(object ItemLabel
				    Parent_View 	@385
				    location   	(802, 1237)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	558
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @386
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1488)
				label      	(object ItemLabel
				    Parent_View 	@386
				    location   	(30, 1441)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	676
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	694
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @387
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(576, 320)
				label      	(object ItemLabel
				    Parent_View 	@387
				    location   	(426, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	300
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	318
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @388
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 320)
				label      	(object ItemLabel
				    Parent_View 	@388
				    location   	(1808, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	384
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	402
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @389
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@370
				supplier   	@360
				line_style 	3
				origin_attachment 	(1094, 265)
				terminal_attachment 	(1094, 225)
				drawSupplier 	@362)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @390
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(960, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@390
				    location   	(690, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @391
				location   	(962, 947)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@390
				vertices   	(list Points
				    (962, 947)
				    (962, 855)))
			    (object InheritView "" @392
				stereotype 	(object SegLabel @393
				    Parent_View 	@392
				    location   	(218, 1154)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	212
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.163534
				    height     	69
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B685F55032B"
				client     	@383
				supplier   	@365
				line_style 	3
				origin_attachment 	(149, 1241)
				terminal_attachment 	(149, 709)
				drawSupplier 	@366)
			    (object InheritView "" @394
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@383
				supplier   	@369
				line_style 	3
				origin_attachment 	(256, 1241)
				terminal_attachment 	(256, 1203)
				drawSupplier 	@371)
			    (object InheritView "" @395
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@384
				supplier   	@372
				line_style 	3
				origin_attachment 	(284, 505)
				terminal_attachment 	(284, 465)
				drawSupplier 	@375)
			    (object InheritView "" @396
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@382
				supplier   	@363
				line_style 	3
				origin_attachment 	(2002, 505)
				terminal_attachment 	(2002, 465)
				drawSupplier 	@367)
			    (object InheritView "" @397
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@363
				supplier   	@360
				line_style 	3
				origin_attachment 	(1569, 265)
				terminal_attachment 	(1569, 225)
				drawSupplier 	@362)
			    (object InheritView "" @398
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@380
				supplier   	@363
				line_style 	3
				origin_attachment 	(1490, 505)
				terminal_attachment 	(1490, 465)
				drawSupplier 	@367)
			    (object InheritView "" @399
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@368
				supplier   	@365
				line_style 	3
				origin_attachment 	(510, 745)
				terminal_attachment 	(510, 709)
				drawSupplier 	@366)
			    (object InheritView "" @400
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@385
				supplier   	@390
				line_style 	3
				origin_attachment 	(1321, 1225)
				terminal_attachment 	(1321, 947)
				drawSupplier 	@391)
			    (object InheritView "" @401
				stereotype 	(object SegLabel @402
				    Parent_View 	@401
				    location   	(2137, 886)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.215812
				    height     	64
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B685F17002E"
				client     	@377
				supplier   	@363
				line_style 	3
				origin_attachment 	(2200, 1001)
				terminal_attachment 	(2200, 465)
				drawSupplier 	@367)
			    (object InheritView "" @403
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@377
				supplier   	@373
				line_style 	3
				origin_attachment 	(2093, 1001)
				terminal_attachment 	(2093, 950)
				drawSupplier 	@374)
			    (object InheritView "" @404
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@369
				supplier   	@390
				line_style 	3
				origin_attachment 	(450, 1001)
				terminal_attachment 	(450, 947)
				drawSupplier 	@391)
			    (object InheritView "" @405
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@372
				supplier   	@360
				line_style 	3
				origin_attachment 	(147, 265)
				terminal_attachment 	(147, 225)
				drawSupplier 	@362)
			    (object InheritView "" @406
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D84F70092"
				client     	@388
				supplier   	@360
				line_style 	3
				origin_attachment 	(2012, 265)
				terminal_attachment 	(2012, 225)
				drawSupplier 	@362)
			    (object InheritView "" @407
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848B80286"
				client     	@365
				supplier   	@360
				line_style 	3
				origin_attachment 	(834, 505)
				terminal_attachment 	(834, 225)
				drawSupplier 	@362)
			    (object InheritView "" @408
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@361
				supplier   	@360
				line_style 	3
				origin_attachment 	(1350, 505)
				terminal_attachment 	(1350, 225)
				drawSupplier 	@362)
			    (object InheritView "" @409
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@387
				supplier   	@360
				line_style 	3
				origin_attachment 	(572, 265)
				terminal_attachment 	(572, 225)
				drawSupplier 	@362)
			    (object InheritView "" @410
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@376
				supplier   	@373
				line_style 	3
				origin_attachment 	(1693, 1221)
				terminal_attachment 	(1693, 950)
				drawSupplier 	@374)
			    (object InheritView "" @411
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@378
				supplier   	@361
				line_style 	3
				origin_attachment 	(1590, 1432)
				terminal_attachment 	(1590, 706)
				drawSupplier 	@364)
			    (object InheritView "" @412
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@379
				supplier   	@361
				line_style 	3
				origin_attachment 	(1431, 1432)
				terminal_attachment 	(1431, 706)
				drawSupplier 	@364)
			    (object InheritView "" @413
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@390
				supplier   	@361
				line_style 	3
				origin_attachment 	(959, 745)
				terminal_attachment 	(959, 706)
				drawSupplier 	@364)
			    (object InheritView "" @414
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@373
				supplier   	@361
				line_style 	3
				origin_attachment 	(1872, 745)
				terminal_attachment 	(1872, 706)
				drawSupplier 	@364)
			    (object InheritView "" @415
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@381
				supplier   	@390
				line_style 	3
				origin_attachment 	(962, 1001)
				terminal_attachment 	(962, 947)
				drawSupplier 	@391)
			    (object InheritView "" @416
				stereotype 	(object SegLabel @417
				    Parent_View 	@416
				    location   	(95, 1388)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	187
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.042531
				    height     	67
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B69BAA20310"
				client     	@386
				supplier   	@372
				line_style 	3
				origin_attachment 	(28, 1429)
				terminal_attachment 	(28, 465)
				drawSupplier 	@375)
			    (object InheritView "" @418
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@386
				supplier   	@369
				line_style 	3
				origin_attachment 	(656, 1429)
				terminal_attachment 	(656, 1203)
				drawSupplier 	@371)))
		    (object ClassDiagram "2. Component Relations (Part 1 : Structures)"
			quid       	"374B18190028"
			title      	"2. Component Relations (Part 1 : Structures)"
			zoom       	96
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @419
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(784, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@419
				    location   	(670, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @420
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@420
				    location   	(66, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				width      	270
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$128" @421
				location   	(494, 1627)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B653017A"
				roleview_list 	(list RoleViews
				    (object RoleView "scope" @422
					Parent_View 	@421
					location   	(286, -485)
					label      	(object SegLabel @423
					    Parent_View 	@422
					    location   	(555, 1589)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+scope"
					    pctDist    	0.371257
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69B654006D"
					client     	@421
					supplier   	@419
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(661, 1627)
					label      	(object SegLabel @424
					    Parent_View 	@422
					    location   	(576, 1664)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.491018
					    height     	37
					    orientation 	1))
				    (object RoleView "$UNNAMED$129" @425
					Parent_View 	@421
					location   	(286, -485)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69B654006E"
					client     	@421
					supplier   	@420
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(327, 1627))))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @426
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@426
				    location   	(2084, 1191)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @427
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2176, 992)
				label      	(object ItemLabel
				    Parent_View 	@427
				    location   	(2051, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	250
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	268
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$160" @428
				location   	(2229, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683C890122"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$161" @429
					Parent_View 	@428
					location   	(549, -248)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683C8A0110"
					client     	@428
					supplier   	@427
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1045))
				    (object RoleView "term" @430
					Parent_View 	@428
					location   	(549, -248)
					label      	(object SegLabel @431
					    Parent_View 	@430
					    location   	(2157, 1121)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	"+term"
					    pctDist    	0.134328
					    height     	72
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683C8A0111"
					client     	@428
					supplier   	@426
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1179)
					label      	(object SegLabel @432
					    Parent_View 	@430
					    location   	(2274, 1119)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.119403
					    height     	45
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @433
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@433
				    location   	(1076, 1191)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @434
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 768)
				label      	(object ItemLabel
				    Parent_View 	@434
				    location   	(1977, 727)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	352
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$148" @435
				location   	(2219, 880)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683606026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$149" @436
					Parent_View 	@435
					location   	(-357, -240)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6836070221"
					client     	@435
					supplier   	@434
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 821))
				    (object RoleView "particles" @437
					Parent_View 	@435
					location   	(-357, -240)
					label      	(object SegLabel @438
					    Parent_View 	@437
					    location   	(2105, 888)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+particles"
					    pctDist    	0.156627
					    height     	115
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6836070222"
					client     	@435
					supplier   	@427
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 939)
					label      	(object SegLabel @439
					    Parent_View 	@437
					    location   	(2281, 888)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.156627
					    height     	62
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @440
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 992)
				label      	(object ItemLabel
				    Parent_View 	@440
				    location   	(1639, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @441
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1424)
				label      	(object ItemLabel
				    Parent_View 	@441
				    location   	(905, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	352
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @442
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 992)
				label      	(object ItemLabel
				    Parent_View 	@442
				    location   	(187, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	508
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$194" @443
				location   	(590, 1140)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$195" @444
					Parent_View 	@443
					location   	(302, 148)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B20291"
					client     	@443
					supplier   	@442
					vertices   	(list Points
					    (590, 1140)
					    (540, 1140)
					    (540, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(540, 1045))
				    (object RoleView "baseTypeDefinition" @445
					Parent_View 	@443
					location   	(302, 148)
					label      	(object SegLabel @446
					    Parent_View 	@445
					    location   	(643, 1171)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	1.053571
					    height     	31
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B202A5"
					client     	@443
					supplier   	@442
					vertices   	(list Points
					    (590, 1140)
					    (641, 1140)
					    (641, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(641, 1045)
					label      	(object SegLabel @447
					    Parent_View 	@445
					    location   	(584, 1097)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.122449
					    height     	44
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @448
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 992)
				label      	(object ItemLabel
				    Parent_View 	@448
				    location   	(745, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	526
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	544
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$96" @449
				location   	(1119, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837DF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$97" @450
					Parent_View 	@449
					location   	(-1569, -8)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837E100FD"
					client     	@449
					supplier   	@448
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1045))
				    (object RoleView "contentType" @451
					Parent_View 	@449
					location   	(-1569, -8)
					label      	(object SegLabel @452
					    Parent_View 	@451
					    location   	(1259, 1126)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+contentType"
					    pctDist    	0.208955
					    height     	140
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837E100FE"
					client     	@449
					supplier   	@433
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1179)
					label      	(object SegLabel @453
					    Parent_View 	@451
					    location   	(1063, 1126)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.208955
					    height     	57
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$102" @454
				location   	(1455, 982)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6851BA0126"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$103" @455
					Parent_View 	@454
					location   	(159, -570)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6851BB0150"
					client     	@454
					supplier   	@448
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1280, 982))
				    (object RoleView "attributeWildcard" @456
					Parent_View 	@454
					location   	(159, -570)
					label      	(object SegLabel @457
					    Parent_View 	@456
					    location   	(1445, 929)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeWildcard"
					    pctDist    	-0.062857
					    height     	54
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6851BB0151"
					client     	@454
					supplier   	@440
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1630, 982)
					label      	(object SegLabel @458
					    Parent_View 	@456
					    location   	(1550, 1022)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.542857
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$98" @459
				location   	(921, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683959006E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$99" @460
					Parent_View 	@459
					location   	(-871, -376)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6839590349"
					client     	@459
					supplier   	@448
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1045))
				    (object RoleView "attributeUses" @461
					Parent_View 	@459
					location   	(-871, -376)
					label      	(object SegLabel @462
					    Parent_View 	@461
					    location   	(778, 1251)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+attributeUses"
					    pctDist    	0.269939
					    height     	144
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683959034A"
					client     	@459
					supplier   	@441
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1371)
					label      	(object SegLabel @463
					    Parent_View 	@461
					    location   	(979, 1254)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.288344
					    height     	58
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @464
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 768)
				label      	(object ItemLabel
				    Parent_View 	@464
				    location   	(1122, 727)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	380
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	398
				height     	107
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @465
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 1632)
				label      	(object ItemLabel
				    Parent_View 	@465
				    location   	(1623, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	484
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @466
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 448)
				label      	(object ItemLabel
				    Parent_View 	@466
				    location   	(1803, 407)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	508
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$152" @467
				location   	(2216, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$153" @468
					Parent_View 	@467
					location   	(-552, -816)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0338"
					client     	@467
					supplier   	@466
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 501))
				    (object RoleView "modelGroup" @469
					Parent_View 	@467
					location   	(-552, -816)
					label      	(object SegLabel @470
					    Parent_View 	@469
					    location   	(2080, 628)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+modelGroup"
					    pctDist    	0.182609
					    height     	137
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0339"
					client     	@467
					supplier   	@434
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 715)
					label      	(object SegLabel @471
					    Parent_View 	@469
					    location   	(2256, 633)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.233645
					    height     	40
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @472
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1424)
				label      	(object ItemLabel
				    Parent_View 	@472
				    location   	(1619, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	556
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$82" @473
				location   	(1676, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6887BF0150"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$83" @474
					Parent_View 	@473
					location   	(412, -344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6887C000A7"
					client     	@473
					supplier   	@472
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1371))
				    (object RoleView "attributeWildcard" @475
					Parent_View 	@473
					location   	(412, -344)
					label      	(object SegLabel @476
					    Parent_View 	@475
					    location   	(1857, 1106)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeWildcard"
					    pctDist    	0.625767
					    height     	181
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6887C000A8"
					client     	@473
					supplier   	@440
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1045)
					label      	(object SegLabel @477
					    Parent_View 	@475
					    location   	(1618, 1108)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.619632
					    height     	59
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$78" @478
				location   	(1429, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68359F0086"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$79" @479
					Parent_View 	@478
					location   	(-363, -146)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6835A00069"
					client     	@478
					supplier   	@472
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1610, 1438))
				    (object RoleView "attributeUses" @480
					Parent_View 	@478
					location   	(-363, -146)
					label      	(object SegLabel @481
					    Parent_View 	@480
					    location   	(1405, 1506)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+attributeUses"
					    pctDist    	0.132597
					    height     	68
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6835A0006A"
					client     	@478
					supplier   	@441
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1248, 1438)
					label      	(object SegLabel @482
					    Parent_View 	@480
					    location   	(1327, 1391)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.563536
					    height     	48
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @483
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1424)
				label      	(object ItemLabel
				    Parent_View 	@483
				    location   	(183, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	484
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$86" @484
				location   	(777, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683585010D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$87" @485
					Parent_View 	@484
					location   	(-519, -367)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68358600FA"
					client     	@484
					supplier   	@441
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(896, 1425))
				    (object RoleView "attributeDeclaration" @486
					Parent_View 	@484
					location   	(-519, -367)
					label      	(object SegLabel @487
					    Parent_View 	@486
					    location   	(784, 1508)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+attributeDeclaration"
					    pctDist    	-0.059259
					    height     	83
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68358600FB"
					client     	@484
					supplier   	@483
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(658, 1425)
					label      	(object SegLabel @488
					    Parent_View 	@486
					    location   	(721, 1385)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.472441
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$70" @489
				location   	(237, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68356B02CB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$71" @490
					Parent_View 	@489
					location   	(-1043, 72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68356D00A6"
					client     	@489
					supplier   	@483
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1371))
				    (object RoleView "typeDefinition" @491
					Parent_View 	@489
					location   	(-1043, 72)
					label      	(object SegLabel @492
					    Parent_View 	@491
					    location   	(388, 1247)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	-0.239264
					    height     	151
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68356D00A7"
					client     	@489
					supplier   	@442
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1045)
					label      	(object SegLabel @493
					    Parent_View 	@491
					    location   	(195, 1247)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.239264
					    height     	43
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @494
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@494
				    location   	(198, 743)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$92" @495
				location   	(728, 775)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833350340"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$93" @496
					Parent_View 	@495
					location   	(-856, -57)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683336028D"
					client     	@495
					supplier   	@448
					vertices   	(list Points
					    (728, 775)
					    (788, 775)
					    (788, 939))
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(788, 939))
				    (object RoleView "baseTypeDefinition" @497
					Parent_View 	@495
					location   	(-856, -57)
					label      	(object SegLabel @498
					    Parent_View 	@497
					    location   	(558, 883)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	1.140940
					    height     	108
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683336028E"
					client     	@495
					supplier   	@494
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(579, 775)
					label      	(object SegLabel @499
					    Parent_View 	@497
					    location   	(750, 812)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.152439
					    height     	37
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @500
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 448)
				label      	(object ItemLabel
				    Parent_View 	@500
				    location   	(1017, 407)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	590
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	608
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$134" @501
				location   	(1629, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69D29E014D"
				roleview_list 	(list RoleViews
				    (object RoleView "referencedKey" @502
					Parent_View 	@501
					location   	(-83, 94)
					label      	(object SegLabel @503
					    Parent_View 	@502
					    location   	(1761, 608)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+referencedKey"
					    pctDist    	-1.797297
					    height     	34
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69D2A80165"
					client     	@501
					supplier   	@500
					vertices   	(list Points
					    (1629, 574)
					    (1555, 574)
					    (1555, 501))
					line_style 	3
					origin_attachment 	(1629, 574)
					terminal_attachment 	(1555, 501)
					label      	(object SegLabel @504
					    Parent_View 	@502
					    location   	(1622, 539)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.047619
					    height     	36
					    orientation 	1))
				    (object RoleView "$UNNAMED$135" @505
					Parent_View 	@501
					location   	(-83, 94)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69D2A8016F"
					client     	@501
					supplier   	@500
					vertices   	(list Points
					    (1629, 574)
					    (1689, 574)
					    (1689, 444)
					    (1616, 444))
					line_style 	3
					origin_attachment 	(1629, 574)
					terminal_attachment 	(1616, 444))))
			    (object AssociationViewNew "$UNNAMED$138" @506
				location   	(1197, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$139" @507
					Parent_View 	@506
					location   	(-115, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330365"
					client     	@506
					supplier   	@500
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 501))
				    (object RoleView "fields" @508
					Parent_View 	@506
					location   	(-115, 32)
					label      	(object SegLabel @509
					    Parent_View 	@508
					    location   	(1119, 655)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	120
					    justify    	0
					    label      	"+fields"
					    pctDist    	0.439252
					    height     	78
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330379"
					client     	@506
					supplier   	@464
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 715)
					label      	(object SegLabel @510
					    Parent_View 	@508
					    location   	(1253, 654)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.429907
					    height     	56
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$136" @511
				location   	(1415, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$137" @512
					Parent_View 	@511
					location   	(103, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E022A"
					client     	@511
					supplier   	@500
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 501))
				    (object RoleView "selector" @513
					Parent_View 	@511
					location   	(103, 32)
					label      	(object SegLabel @514
					    Parent_View 	@513
					    location   	(1513, 651)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+selector"
					    pctDist    	0.411215
					    height     	98
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E0234"
					client     	@511
					supplier   	@464
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 715)
					label      	(object SegLabel @515
					    Parent_View 	@513
					    location   	(1381, 650)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.392523
					    height     	34
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @516
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1312, 160)
				label      	(object ItemLabel
				    Parent_View 	@516
				    location   	(1022, 68)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	581
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	599
				height     	209
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$180" @517
				location   	(2395, 606)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEA7023E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$181" @518
					Parent_View 	@517
					location   	(-853, 174)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EEA8038A"
					client     	@517
					supplier   	@516
					vertices   	(list Points
					    (2395, 606)
					    (2395, 65)
					    (1611, 65))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(1611, 65))
				    (object RoleView "notationDeclarations" @519
					Parent_View 	@517
					location   	(-853, 174)
					label      	(object SegLabel @520
					    Parent_View 	@519
					    location   	(2089, 104)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+notationDeclarations"
					    pctDist    	-0.489776
					    height     	307
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EEA8038B"
					client     	@517
					supplier   	@465
					vertices   	(list Points
					    (2395, 606)
					    (2395, 1633)
					    (2098, 1633))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(2098, 1633)
					label      	(object SegLabel @521
					    Parent_View 	@519
					    location   	(2344, 105)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.487829
					    height     	52
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$176" @522
				location   	(1772, 249)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEFF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$177" @523
					Parent_View 	@522
					location   	(-948, -327)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EF00025A"
					client     	@522
					supplier   	@516
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1611, 249))
				    (object RoleView "modelGroupDefinitions" @524
					Parent_View 	@522
					location   	(-948, -327)
					label      	(object SegLabel @525
					    Parent_View 	@524
					    location   	(2076, 335)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	432
					    justify    	0
					    label      	"+modelGroupDefinitions"
					    pctDist    	0.713592
					    height     	244
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EF000264"
					client     	@522
					supplier   	@466
					vertices   	(list Points
					    (1772, 249)
					    (1832, 249)
					    (1832, 395))
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1832, 395)
					label      	(object SegLabel @526
					    Parent_View 	@524
					    location   	(1781, 340)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.737864
					    height     	52
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$172" @527
				location   	(2346, 518)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE920216"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$173" @528
					Parent_View 	@527
					location   	(154, 86)
					label      	(object SegLabel @529
					    Parent_View 	@528
					    location   	(1872, 1857)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	-3.630072
					    height     	475
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE93018B"
					client     	@527
					supplier   	@516
					vertices   	(list Points
					    (2346, 518)
					    (2346, 149)
					    (1611, 149))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(1611, 149))
				    (object RoleView "attributeGroupDefinitions" @530
					Parent_View 	@527
					location   	(154, 86)
					label      	(object SegLabel @531
					    Parent_View 	@530
					    location   	(2008, 195)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+attributeGroupDefinitions"
					    pctDist    	-0.349946
					    height     	339
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE93018C"
					client     	@527
					supplier   	@472
					vertices   	(list Points
					    (2346, 518)
					    (2346, 1441)
					    (2166, 1441))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(2166, 1441)
					label      	(object SegLabel @532
					    Parent_View 	@530
					    location   	(2299, 197)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.348862
					    height     	48
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$174" @533
				location   	(203, 159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE760049"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$175" @534
					Parent_View 	@533
					location   	(-485, -273)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE760374"
					client     	@533
					supplier   	@516
					line_style 	3
					origin_attachment 	(203, 159)
					terminal_attachment 	(1013, 159))
				    (object RoleView "typeDefinitions" @535
					Parent_View 	@533
					location   	(-485, -273)
					label      	(object SegLabel @536
					    Parent_View 	@535
					    location   	(349, 196)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+typeDefinitions"
					    pctDist    	-1.475728
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE76037E"
					client     	@533
					supplier   	@494
					vertices   	(list Points
					    (203, 159)
					    (104, 159)
					    (104, 784)
					    (189, 784))
					line_style 	3
					origin_attachment 	(203, 159)
					terminal_attachment 	(189, 784)
					label      	(object SegLabel @537
					    Parent_View 	@535
					    location   	(155, 200)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.059701
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$178" @538
				location   	(1087, 329)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFC2A1701ED"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$179" @539
					Parent_View 	@538
					location   	(-577, -23)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFC2A1A0273"
					client     	@538
					supplier   	@516
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 264))
				    (object RoleView "identityConstraintDefinitions" @540
					Parent_View 	@538
					location   	(-577, -23)
					label      	(object SegLabel @541
					    Parent_View 	@540
					    location   	(1375, 338)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.130952
					    height     	288
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFC2A1A027D"
					client     	@538
					supplier   	@500
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 395)
					label      	(object SegLabel @542
					    Parent_View 	@540
					    location   	(1018, 336)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.107143
					    height     	70
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$170" @543
				location   	(48, 320)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66FDFA00C3"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$171" @544
					Parent_View 	@543
					location   	(-1072, -288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66FDFB027D"
					client     	@543
					supplier   	@516
					vertices   	(list Points
					    (49, 322)
					    (49, 68)
					    (1013, 68))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(1013, 68))
				    (object RoleView "attributeDeclarations" @545
					Parent_View 	@543
					location   	(-1072, -288)
					label      	(object SegLabel @546
					    Parent_View 	@545
					    location   	(338, 106)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+attributeDeclarations"
					    pctDist    	-0.198536
					    height     	289
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66FDFB027E"
					client     	@543
					supplier   	@483
					vertices   	(list Points
					    (49, 322)
					    (49, 1415)
					    (174, 1415))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(174, 1415)
					label      	(object SegLabel @547
					    Parent_View 	@545
					    location   	(91, 108)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.196706
					    height     	42
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @548
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 448)
				label      	(object ItemLabel
				    Parent_View 	@548
				    location   	(175, 412)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	483
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	501
				height     	97
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$120" @549
				location   	(499, 589)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69C0590198"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$121" @550
					Parent_View 	@549
					location   	(-13, 109)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69C05D01E3"
					client     	@549
					supplier   	@548
					vertices   	(list Points
					    (499, 589)
					    (452, 589)
					    (452, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(452, 496))
				    (object RoleView "substitutionGroupAffiliation" @551
					Parent_View 	@549
					location   	(-13, 109)
					label      	(object SegLabel @552
					    Parent_View 	@551
					    location   	(811, 585)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	504
					    justify    	0
					    label      	"+substitutionGroupAffiliation"
					    pctDist    	6.520833
					    height     	5
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69C05D01ED"
					client     	@549
					supplier   	@548
					vertices   	(list Points
					    (499, 589)
					    (547, 589)
					    (547, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(547, 496)
					label      	(object SegLabel @553
					    Parent_View 	@551
					    location   	(499, 559)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.000000
					    height     	31
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$114" @554
				location   	(241, 613)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68338C0058"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$115" @555
					Parent_View 	@554
					location   	(-1343, -219)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68338C03BF"
					client     	@554
					supplier   	@548
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 496))
				    (object RoleView "typeDefinition" @556
					Parent_View 	@554
					location   	(-1343, -219)
					label      	(object SegLabel @557
					    Parent_View 	@556
					    location   	(408, 694)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	0.686441
					    height     	167
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68338C03C0"
					client     	@554
					supplier   	@494
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 731)
					label      	(object SegLabel @558
					    Parent_View 	@556
					    location   	(202, 685)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.610169
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$116" @559
				location   	(837, 460)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$117" @560
					Parent_View 	@559
					location   	(-1819, -68)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00298"
					client     	@559
					supplier   	@548
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(666, 460))
				    (object RoleView "identityConstraintDefinitions" @561
					Parent_View 	@559
					location   	(-1819, -68)
					label      	(object SegLabel @562
					    Parent_View 	@561
					    location   	(880, 528)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.251462
					    height     	68
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00299"
					client     	@559
					supplier   	@500
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(1008, 460)
					label      	(object SegLabel @563
					    Parent_View 	@561
					    location   	(859, 407)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.130435
					    height     	54
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$168" @564
				location   	(541, 246)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE8D01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$169" @565
					Parent_View 	@564
					location   	(-1123, -186)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE8E0198"
					client     	@564
					supplier   	@516
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(1013, 246))
				    (object RoleView "elementDeclarations" @566
					Parent_View 	@564
					location   	(-1123, -186)
					label      	(object SegLabel @567
					    Parent_View 	@566
					    location   	(443, 335)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+elementDeclarations"
					    pctDist    	0.209302
					    height     	89
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE8E0199"
					client     	@564
					supplier   	@548
					vertices   	(list Points
					    (541, 246)
					    (224, 246)
					    (224, 400))
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(224, 400)
					label      	(object SegLabel @568
					    Parent_View 	@566
					    location   	(186, 335)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.864693
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$122" @569
				location   	(353, 621)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C42DBDD0297"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$123" @570
					Parent_View 	@569
					location   	(-63, 173)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C42DBE0011E"
					client     	@569
					supplier   	@548
					vertices   	(list Points
					    (353, 621)
					    (306, 621)
					    (306, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(306, 496))
				    (object RoleView "substitutionGroup" @571
					Parent_View 	@569
					location   	(-63, 173)
					label      	(object SegLabel @572
					    Parent_View 	@571
					    location   	(579, 636)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+substitutionGroup"
					    pctDist    	4.808511
					    height     	15
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C42DBE00128"
					client     	@569
					supplier   	@548
					vertices   	(list Points
					    (353, 621)
					    (400, 621)
					    (400, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(400, 496)
					label      	(object SegLabel @573
					    Parent_View 	@571
					    location   	(350, 583)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.069767
					    height     	39
					    orientation 	0))))))
		    (object ClassDiagram "3. Component Attributes  (Part 1 : Structures)"
			quid       	"3B69E78602C5"
			title      	"3. Component Attributes  (Part 1 : Structures)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @574
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 128)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@574
				    location   	(46, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	516
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				compartment 	(object Compartment
				    Parent_View 	@574
				    location   	(46, 107)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	482
				    compartmentItems 	(list Compartment
					"+ name : String"
					"+ targetNamespace : String"))
				width      	534
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @575
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1648)
				label      	(object ItemLabel
				    Parent_View 	@575
				    location   	(41, 1567)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	512
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @576
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 1680)
				label      	(object ItemLabel
				    Parent_View 	@576
				    location   	(1781, 1524)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1174
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				compartment 	(object Compartment
				    Parent_View 	@576
				    location   	(1781, 1584)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	1139
				    compartmentItems 	(list Compartment
					"+ derivationMethod : XSDDerivationMethod = restriction"
					"<<0..*>> + final : XSDComplexFinal"
					"+ abstract : boolean"
					"+ contentTypeCategory : XSDContentTypeCategory"
					"<<0..*>> + prohibitedSubstitutions : XSDProhibitedSubstitutions"))
				width      	1192
				height     	336
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @577
				location   	(463, 362)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@574
				vertices   	(list Points
				    (463, 362)
				    (463, 221)))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @578
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1600)
				label      	(object ItemLabel
				    Parent_View 	@578
				    location   	(1094, 1519)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	628
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@578
				    location   	(1094, 1579)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	592
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	646
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @579
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 144)
				label      	(object ItemLabel
				    Parent_View 	@579
				    location   	(647, 38)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	530
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				compartment 	(object Compartment
				    Parent_View 	@579
				    location   	(647, 98)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	502
				    compartmentItems 	(list Compartment
					"+ required : boolean"
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	548
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @580
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 1936)
				label      	(object ItemLabel
				    Parent_View 	@580
				    location   	(45, 1830)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1286
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				compartment 	(object Compartment
				    Parent_View 	@580
				    location   	(45, 1890)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	1260
				    compartmentItems 	(list Compartment
					"+ namespaceConstraintCategory : XSDNamespaceConstraintCategory"
					"<<0..*>> + namespaceConstraint : String"
					"+ processContents : XSDProcessContents"))
				width      	1304
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @581
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 1440)
				label      	(object ItemLabel
				    Parent_View 	@581
				    location   	(47, 1384)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	578
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	596
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @582
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@582
				    location   	(36, 431)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@582
				    location   	(36, 491)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	506
				    compartmentItems 	(list Compartment
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	554
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @583
				location   	(294, 697)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@582
				vertices   	(list Points
				    (294, 697)
				    (294, 605)))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @584
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2256, 128)
				label      	(object ItemLabel
				    Parent_View 	@584
				    location   	(1995, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	540
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @585
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@585
				    location   	(2418, 460)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @586
				location   	(2684, 962)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@585
				vertices   	(list Points
				    (2684, 962)
				    (2684, 576)))
			    (object ClassView "Class" "Logical View::xsd::XSDCompositor" @587
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1200)
				label      	(object ItemLabel
				    Parent_View 	@587
				    location   	(45, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDCompositor")
				stereotype 	(object ItemLabel
				    Parent_View 	@587
				    location   	(45, 1066)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B869B620037"
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConstraint" @588
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 528)
				label      	(object ItemLabel
				    Parent_View 	@588
				    location   	(638, 469)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDConstraint")
				stereotype 	(object ItemLabel
				    Parent_View 	@588
				    location   	(638, 419)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B869E2601AE"
				width      	342
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDerivationMethod" @589
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 2272)
				label      	(object ItemLabel
				    Parent_View 	@589
				    location   	(1980, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"XSDDerivationMethod")
				stereotype 	(object ItemLabel
				    Parent_View 	@589
				    location   	(1980, 2163)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A0B000CE"
				width      	442
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintCategory" @590
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 176)
				label      	(object ItemLabel
				    Parent_View 	@590
				    location   	(1281, 88)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	607
				    justify    	0
				    label      	"XSDIdentityConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@590
				    location   	(1281, 38)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	607
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A1E00272"
				width      	625
				height     	300
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDContentTypeCategory" @591
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2704, 2224)
				label      	(object ItemLabel
				    Parent_View 	@591
				    location   	(2456, 2115)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	496
				    justify    	0
				    label      	"XSDContentTypeCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@591
				    location   	(2456, 2065)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	496
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A79F03A2"
				width      	514
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDVariety" @592
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1600)
				label      	(object ItemLabel
				    Parent_View 	@592
				    location   	(708, 1516)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@592
				    location   	(708, 1466)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF7730249"
				width      	362
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProcessContents" @593
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(976, 2240)
				label      	(object ItemLabel
				    Parent_View 	@593
				    location   	(766, 2156)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDProcessContents")
				stereotype 	(object ItemLabel
				    Parent_View 	@593
				    location   	(766, 2106)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF8C70284"
				width      	438
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathVariety" @594
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2768, 160)
				label      	(object ItemLabel
				    Parent_View 	@594
				    location   	(2587, 97)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	363
				    justify    	0
				    label      	"XSDXPathVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@594
				    location   	(2587, 47)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	363
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FFB89033A"
				width      	381
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @595
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 1872)
				label      	(object ItemLabel
				    Parent_View 	@595
				    location   	(1389, 1788)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@595
				    location   	(1389, 1738)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				compartment 	(object Compartment
				    Parent_View 	@595
				    location   	(1389, 1848)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	199
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @596
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 2000)
				label      	(object ItemLabel
				    Parent_View 	@596
				    location   	(1786, 1941)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@596
				    location   	(1786, 1891)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C2CA01CB"
				compartment 	(object Compartment
				    Parent_View 	@596
				    location   	(1786, 2001)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	382
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSubstitutionGroupExclusions" @597
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1184)
				label      	(object ItemLabel
				    Parent_View 	@597
				    location   	(485, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	630
				    justify    	0
				    label      	"XSDSubstitutionGroupExclusions")
				stereotype 	(object ItemLabel
				    Parent_View 	@597
				    location   	(485, 1075)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	630
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C59100AE"
				width      	648
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @598
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1440, 1200)
				label      	(object ItemLabel
				    Parent_View 	@598
				    location   	(1171, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@598
				    location   	(1171, 1066)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5A403DF"
				compartment 	(object Compartment
				    Parent_View 	@598
				    location   	(1171, 1176)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	236
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"))
				width      	556
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @599
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1664, 2272)
				label      	(object ItemLabel
				    Parent_View 	@599
				    location   	(1398, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@599
				    location   	(1398, 2163)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5BE0272"
				compartment 	(object Compartment
				    Parent_View 	@599
				    location   	(1398, 2273)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	550
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamespaceConstraintCategory" @600
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 2240)
				label      	(object ItemLabel
				    Parent_View 	@600
				    location   	(45, 2154)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	678
				    justify    	0
				    label      	"XSDNamespaceConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@600
				    location   	(45, 2104)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	678
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5EA0023"
				width      	696
				height     	296
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @601
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1264, 880)
				label      	(object ItemLabel
				    Parent_View 	@601
				    location   	(571, 749)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1386
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@601
				    location   	(571, 809)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	1357
				    compartmentItems 	(list Compartment
					"+ nillable : boolean"
					"<<0..*>> + disallowedSubstitutions : XSDDisallowedSubstitutions"
					"<<0..*>> + substitutionGroupExclusions : XSDSubstitutionGroupExclusions"
					"+ abstract : boolean"))
				width      	1404
				height     	286
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @602
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@601
				supplier   	@582
				line_style 	3
				origin_attachment 	(681, 737)
				terminal_attachment 	(681, 697)
				drawSupplier 	@583)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @603
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@603
				    location   	(35, 812)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	492
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @604
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 1152)
				label      	(object ItemLabel
				    Parent_View 	@604
				    location   	(2420, 1100)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @605
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@604
				supplier   	@585
				line_style 	3
				origin_attachment 	(2862, 1088)
				terminal_attachment 	(2862, 962)
				drawSupplier 	@586)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @606
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1312)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@606
				    location   	(2168, 1261)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	368
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	386
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @607
				location   	(2375, 1465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@606
				vertices   	(list Points
				    (2375, 1465)
				    (2375, 1375)))
			    (object InheritView "" @608
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@606
				supplier   	@585
				line_style 	3
				origin_attachment 	(2368, 1249)
				terminal_attachment 	(2368, 962)
				drawSupplier 	@586)
			    (object InheritView "" @609
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@576
				supplier   	@606
				line_style 	3
				origin_attachment 	(2818, 1512)
				terminal_attachment 	(2818, 1465)
				drawSupplier 	@607)
			    (object InheritView "" @610
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@578
				supplier   	@606
				line_style 	3
				origin_attachment 	(1406, 1507)
				terminal_attachment 	(1406, 1465)
				drawSupplier 	@607)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @611
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 1152)
				label      	(object ItemLabel
				    Parent_View 	@611
				    location   	(1818, 1101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @612
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@611
				supplier   	@585
				line_style 	3
				origin_attachment 	(2115, 1089)
				terminal_attachment 	(2115, 962)
				drawSupplier 	@586)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @613
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 528)
				label      	(object ItemLabel
				    Parent_View 	@613
				    location   	(1034, 468)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1132
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	1150
				height     	144
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @614
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@613
				supplier   	@574
				line_style 	3
				origin_attachment 	(1568, 456)
				terminal_attachment 	(1568, 362)
				drawSupplier 	@577)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @615
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 784)
				label      	(object ItemLabel
				    Parent_View 	@615
				    location   	(2078, 703)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	484
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	502
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @616
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				label      	(object ItemLabel
				    Parent_View 	@616
				    location   	(43, 268)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	266
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	284
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @617
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@615
				supplier   	@574
				line_style 	3
				origin_attachment 	(2290, 691)
				terminal_attachment 	(2290, 362)
				drawSupplier 	@577)
			    (object InheritView "" @618
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@603
				supplier   	@582
				line_style 	3
				origin_attachment 	(141, 800)
				terminal_attachment 	(141, 697)
				drawSupplier 	@583)
			    (object InheritView "" @619
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@582
				supplier   	@574
				line_style 	3
				origin_attachment 	(372, 419)
				terminal_attachment 	(372, 362)
				drawSupplier 	@577)
			    (object InheritView "" @620
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@585
				supplier   	@574
				line_style 	3
				origin_attachment 	(2687, 448)
				terminal_attachment 	(2687, 362)
				drawSupplier 	@577)))
		    (object ClassDiagram "4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
			quid       	"3B6C3265005F"
			title      	"4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDFixedFacet" @621
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@621
				    location   	(32, 840)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	320
				    justify    	0
				    label      	"XSDFixedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C699E00C1"
				width      	338
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @622
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@622
				    location   	(504, 845)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"XSDRepeatableFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6AA6031A"
				width      	450
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @623
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1168)
				label      	(object ItemLabel
				    Parent_View 	@623
				    location   	(266, 1112)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDEnumerationFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ACE0141"
				width      	478
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @624
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 1168)
				label      	(object ItemLabel
				    Parent_View 	@624
				    location   	(777, 1112)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDPatternFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ADB026C"
				width      	480
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @625
				location   	(718, 1049)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@622
				vertices   	(list Points
				    (718, 1049)
				    (718, 959)))
			    (object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @626
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 928)
				label      	(object ItemLabel
				    Parent_View 	@626
				    location   	(1799, 872)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDOrderedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C74DD0248"
				width      	420
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @627
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 928)
				label      	(object ItemLabel
				    Parent_View 	@627
				    location   	(1383, 872)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	370
				    justify    	0
				    label      	"XSDBoundedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C751D0344"
				width      	388
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @628
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2032, 1104)
				label      	(object ItemLabel
				    Parent_View 	@628
				    location   	(1807, 1048)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDCardinalityFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C755D03D2"
				width      	468
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @629
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 1104)
				label      	(object ItemLabel
				    Parent_View 	@629
				    location   	(1319, 1049)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	370
				    justify    	0
				    label      	"XSDNumericFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C75950206"
				width      	388
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @630
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 1376)
				label      	(object ItemLabel
				    Parent_View 	@630
				    location   	(491, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	330
				    justify    	0
				    label      	"XSDLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C776200E7"
				width      	348
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @631
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(608, 1552)
				label      	(object ItemLabel
				    Parent_View 	@631
				    location   	(405, 1497)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDMinLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C778C0065"
				width      	424
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @632
				location   	(144, 1262)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@621
				vertices   	(list Points
				    (144, 1262)
				    (144, 964)))
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @633
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1216, 1552)
				label      	(object ItemLabel
				    Parent_View 	@633
				    location   	(1007, 1497)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDMaxLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C77C70146"
				width      	436
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @634
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1376)
				label      	(object ItemLabel
				    Parent_View 	@634
				    location   	(880, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	480
				    justify    	0
				    label      	"XSDWhiteSpaceFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C784601B7"
				width      	498
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @635
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 1728)
				label      	(object ItemLabel
				    Parent_View 	@635
				    location   	(1090, 1676)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDMaxInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C787D00DA"
				width      	462
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @636
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 1904)
				label      	(object ItemLabel
				    Parent_View 	@636
				    location   	(1193, 1852)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDMaxExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C789600C2"
				width      	480
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @637
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1728)
				label      	(object ItemLabel
				    Parent_View 	@637
				    location   	(282, 1676)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	428
				    justify    	0
				    label      	"XSDMinInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C788702C9"
				width      	446
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @638
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1904)
				label      	(object ItemLabel
				    Parent_View 	@638
				    location   	(124, 1852)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDMinExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C792D000A"
				width      	474
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @639
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2112)
				label      	(object ItemLabel
				    Parent_View 	@639
				    location   	(52, 2056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDTotalDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79A0020E"
				width      	426
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @640
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 2112)
				label      	(object ItemLabel
				    Parent_View 	@640
				    location   	(1318, 2056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDFractionDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79BE02EE"
				width      	486
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @641
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C9D03C7"
				client     	@623
				supplier   	@622
				line_style 	3
				origin_attachment 	(394, 1100)
				terminal_attachment 	(394, 1049)
				drawSupplier 	@625)
			    (object InheritView "" @642
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C78620045"
				client     	@634
				supplier   	@621
				line_style 	3
				origin_attachment 	(1119, 1308)
				terminal_attachment 	(1119, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @643
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 160)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@643
				    location   	(174, 117)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @644
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6CA5038D"
				client     	@624
				supplier   	@622
				line_style 	3
				origin_attachment 	(1044, 1100)
				terminal_attachment 	(1044, 1049)
				drawSupplier 	@625)
			    (object InheritView "" @645
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C778002DF"
				client     	@630
				supplier   	@621
				line_style 	3
				origin_attachment 	(663, 1308)
				terminal_attachment 	(663, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDOrdered" @646
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1408)
				label      	(object ItemLabel
				    Parent_View 	@646
				    location   	(1835, 1324)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDOrdered")
				stereotype 	(object ItemLabel
				    Parent_View 	@646
				    location   	(1835, 1274)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BC7715202E4"
				width      	444
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinality" @647
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1728)
				label      	(object ItemLabel
				    Parent_View 	@647
				    location   	(1835, 1669)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDCardinality")
				stereotype 	(object ItemLabel
				    Parent_View 	@647
				    location   	(1835, 1619)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BC7715D009B"
				width      	444
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpace" @648
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 2032)
				label      	(object ItemLabel
				    Parent_View 	@648
				    location   	(1861, 1951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDWhiteSpace")
				stereotype 	(object ItemLabel
				    Parent_View 	@648
				    location   	(1861, 1901)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BEED0F60342"
				width      	424
				height     	287
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::Value" @649
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 2096)
				label      	(object ItemLabel
				    Parent_View 	@649
				    location   	(571, 2062)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	618
				    justify    	0
				    label      	"Value")
				stereotype 	(object ItemLabel
				    Parent_View 	@649
				    location   	(571, 2012)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	618
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3C040B5B031F"
				width      	636
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @650
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B610337"
				client     	@639
				supplier   	@621
				line_style 	3
				origin_attachment 	(75, 2044)
				terminal_attachment 	(75, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDMinFacet" @651
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@651
				    location   	(113, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	286
				    justify    	0
				    label      	"XSDMinFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CDE037C"
				compartment 	(object Compartment
				    Parent_View 	@651
				    location   	(113, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	254
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	304
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @652
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@652
				    location   	(1440, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	288
				    justify    	0
				    label      	"XSDMaxFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CEB010E"
				compartment 	(object Compartment
				    Parent_View 	@652
				    location   	(1440, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	258
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	306
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @653
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D240098"
				client     	@651
				supplier   	@621
				line_style 	3
				origin_attachment 	(235, 1308)
				terminal_attachment 	(235, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @654
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D3103AD"
				client     	@652
				supplier   	@621
				line_style 	3
				origin_attachment 	(1581, 1308)
				terminal_attachment 	(1581, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @655
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B520353"
				client     	@637
				supplier   	@651
				line_style 	3
				origin_attachment 	(285, 1664)
				terminal_attachment 	(285, 1444))
			    (object InheritView "" @656
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8303B8"
				client     	@635
				supplier   	@652
				line_style 	3
				origin_attachment 	(1500, 1664)
				terminal_attachment 	(1500, 1444))
			    (object InheritView "" @657
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8E0309"
				client     	@636
				supplier   	@652
				line_style 	3
				origin_attachment 	(1622, 1840)
				terminal_attachment 	(1622, 1444))
			    (object InheritView "" @658
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C77C400C0"
				client     	@631
				supplier   	@621
				line_style 	3
				origin_attachment 	(447, 1485)
				terminal_attachment 	(447, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @659
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B7D00FC"
				client     	@633
				supplier   	@621
				line_style 	3
				origin_attachment 	(1397, 1485)
				terminal_attachment 	(1397, 1262)
				drawSupplier 	@632)
			    (object InheritView "" @660
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B990016"
				client     	@640
				supplier   	@621
				line_style 	3
				origin_attachment 	(1775, 2044)
				terminal_attachment 	(1775, 1262)
				drawSupplier 	@632)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @661
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 368)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@661
				    location   	(174, 318)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	388
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				width      	406
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @662
				location   	(366, 522)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@661
				vertices   	(list Points
				    (366, 522)
				    (366, 430)))
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @663
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@663
				    location   	(34, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	462
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @664
				location   	(272, 781)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@663
				vertices   	(list Points
				    (272, 781)
				    (272, 687)))
			    (object InheritView "" @665
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@622
				supplier   	@663
				line_style 	3
				origin_attachment 	(594, 833)
				terminal_attachment 	(594, 781)
				drawSupplier 	@664)
			    (object ClassView "Class" "Logical View::xsd::XSDFundamentalFacet" @666
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@666
				    location   	(526, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	452
				    justify    	0
				    label      	"XSDFundamentalFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C69E801D6"
				width      	470
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @667
				location   	(768, 789)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@666
				vertices   	(list Points
				    (768, 789)
				    (768, 687)))
			    (object InheritView "" @668
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7659012C"
				client     	@626
				supplier   	@666
				line_style 	3
				origin_attachment 	(2050, 860)
				terminal_attachment 	(2050, 789)
				drawSupplier 	@667)
			    (object InheritView "" @669
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C763C0224"
				client     	@627
				supplier   	@666
				line_style 	3
				origin_attachment 	(1525, 860)
				terminal_attachment 	(1525, 789)
				drawSupplier 	@667)
			    (object InheritView "" @670
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C764F0131"
				client     	@628
				supplier   	@666
				line_style 	3
				origin_attachment 	(2237, 1036)
				terminal_attachment 	(2237, 789)
				drawSupplier 	@667)
			    (object InheritView "" @671
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C76420074"
				client     	@629
				supplier   	@666
				line_style 	3
				origin_attachment 	(1328, 1037)
				terminal_attachment 	(1328, 789)
				drawSupplier 	@667)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @672
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1456, 160)
				label      	(object ItemLabel
				    Parent_View 	@672
				    location   	(1137, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	638
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@672
				    location   	(1137, 107)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	598
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	656
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$126" @673
				location   	(775, 178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D597102EA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$127" @674
					Parent_View 	@673
					location   	(-1209, -46)
					label      	(object SegLabel @675
					    Parent_View 	@674
					    location   	(509, 235)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D59750119"
					client     	@673
					supplier   	@661
					vertices   	(list Points
					    (775, 178)
					    (550, 178)
					    (550, 306))
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(550, 306))
				    (object RoleView "simpleTypeDefinition" @676
					Parent_View 	@673
					location   	(-1209, -46)
					label      	(object SegLabel @677
					    Parent_View 	@676
					    location   	(875, 136)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+simpleTypeDefinition"
					    pctDist    	0.283133
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D59750105"
					client     	@673
					supplier   	@672
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(1128, 178)
					label      	(object SegLabel @678
					    Parent_View 	@676
					    location   	(1061, 215)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.812500
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$188" @679
				location   	(369, 72)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BC8AE0203A8"
				roleview_list 	(list RoleViews
				    (object RoleView "facets" @680
					Parent_View 	@679
					location   	(-1615, -152)
					label      	(object SegLabel @681
					    Parent_View 	@680
					    location   	(187, 496)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+facets"
					    pctDist    	0.913863
					    height     	87
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BC8AE060065"
					client     	@679
					supplier   	@663
					vertices   	(list Points
					    (369, 72)
					    (100, 72)
					    (100, 561))
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(100, 561)
					label      	(object SegLabel @682
					    Parent_View 	@680
					    location   	(60, 498)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.917900
					    height     	41
					    orientation 	1))
				    (object RoleView "$UNNAMED$189" @683
					Parent_View 	@679
					location   	(-1615, -152)
					label      	(object SegLabel @684
					    Parent_View 	@683
					    location   	(976, 31)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BC8AE060051"
					client     	@679
					supplier   	@672
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(1128, 72))))
			    (object AssociationViewNew "$UNNAMED$230" @685
				location   	(1538, 508)
				label      	(object SegLabel @686
				    Parent_View 	@685
				    location   	(1538, 449)
				    font       	(object Font
					italics    	TRUE)
				    hidden     	TRUE
				    anchor     	1
				    anchor_loc 	1
				    nlines     	1
				    max_width  	60
				    justify    	0
				    label      	""
				    pctDist    	0.500000
				    height     	60
				    orientation 	0)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C276DA000DE"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$231" @687
					Parent_View 	@685
					location   	(-446, 284)
					label      	(object SegLabel @688
					    Parent_View 	@687
					    location   	(1446, 340)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C276DA000DF"
					client     	@685
					supplier   	@672
					vertices   	(list Points
					    (1538, 508)
					    (1487, 508)
					    (1487, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1487, 285))
				    (object RoleView "itemTypeDefinition" @689
					Parent_View 	@685
					location   	(-446, 284)
					label      	(object SegLabel @690
					    Parent_View 	@689
					    location   	(1423, 577)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+itemTypeDefinition"
					    pctDist    	-2.211539
					    height     	69
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C276DA000E0"
					client     	@685
					supplier   	@672
					vertices   	(list Points
					    (1538, 508)
					    (1590, 508)
					    (1590, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1590, 285)
					label      	(object SegLabel @691
					    Parent_View 	@689
					    location   	(1539, 468)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.003984
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$190" @692
				location   	(1729, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C34B70208"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$191" @693
					Parent_View 	@692
					location   	(-255, 350)
					label      	(object SegLabel @694
					    Parent_View 	@693
					    location   	(1637, 353)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C34BE0258"
					client     	@692
					supplier   	@672
					vertices   	(list Points
					    (1729, 574)
					    (1678, 574)
					    (1678, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1678, 285))
				    (object RoleView "memberTypeDefinitions" @695
					Parent_View 	@692
					location   	(-255, 350)
					label      	(object SegLabel @696
					    Parent_View 	@695
					    location   	(1559, 654)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	444
					    justify    	0
					    label      	"+memberTypeDefinitions"
					    pctDist    	-3.269231
					    height     	80
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C34BE0259"
					client     	@692
					supplier   	@672
					vertices   	(list Points
					    (1729, 574)
					    (1781, 574)
					    (1781, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1781, 285)
					label      	(object SegLabel @697
					    Parent_View 	@695
					    location   	(1730, 520)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.312121
					    height     	52
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$192" @698
				location   	(748, 269)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C363201DB"
				roleview_list 	(list RoleViews
				    (object RoleView "fundamentalFacets" @699
					Parent_View 	@698
					location   	(-1236, 45)
					label      	(object SegLabel @700
					    Parent_View 	@699
					    location   	(873, 312)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+fundamentalFacets"
					    pctDist    	-1.409091
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C36350063"
					client     	@698
					supplier   	@666
					vertices   	(list Points
					    (748, 269)
					    (659, 269)
					    (659, 561))
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(659, 561)
					label      	(object SegLabel @701
					    Parent_View 	@699
					    location   	(728, 385)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.538028
					    height     	69
					    orientation 	0))
				    (object RoleView "$UNNAMED$193" @702
					Parent_View 	@698
					location   	(-1236, 45)
					label      	(object SegLabel @703
					    Parent_View 	@702
					    location   	(1052, 228)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C36350059"
					client     	@698
					supplier   	@672
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(1128, 269))))
			    (object AssociationViewNew "$UNNAMED$194" @704
				location   	(1175, 396)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$195" @705
					Parent_View 	@704
					location   	(-809, 172)
					label      	(object SegLabel @706
					    Parent_View 	@705
					    location   	(1094, 316)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B20291"
					client     	@704
					supplier   	@672
					vertices   	(list Points
					    (1175, 396)
					    (1135, 396)
					    (1135, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1135, 285))
				    (object RoleView "baseTypeDefinition" @707
					Parent_View 	@704
					location   	(-809, 172)
					label      	(object SegLabel @708
					    Parent_View 	@707
					    location   	(1074, 443)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	-2.533333
					    height     	47
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B202A5"
					client     	@704
					supplier   	@672
					vertices   	(list Points
					    (1175, 396)
					    (1215, 396)
					    (1215, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1215, 285)
					label      	(object SegLabel @709
					    Parent_View 	@707
					    location   	(1172, 359)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.096154
					    height     	38
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$196" @710
				location   	(1360, 446)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5572016C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$197" @711
					Parent_View 	@710
					location   	(-624, 222)
					label      	(object SegLabel @712
					    Parent_View 	@711
					    location   	(1268, 327)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5575022F"
					client     	@710
					supplier   	@672
					vertices   	(list Points
					    (1360, 446)
					    (1309, 446)
					    (1309, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1309, 285))
				    (object RoleView "primitiveTypeDefinition" @713
					Parent_View 	@710
					location   	(-624, 222)
					label      	(object SegLabel @714
					    Parent_View 	@713
					    location   	(1204, 508)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	432
					    justify    	0
					    label      	"+primitiveTypeDefinition"
					    pctDist    	-3.000000
					    height     	62
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D55750243"
					client     	@710
					supplier   	@672
					vertices   	(list Points
					    (1360, 446)
					    (1412, 446)
					    (1412, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1412, 285)
					label      	(object SegLabel @715
					    Parent_View 	@713
					    location   	(1373, 409)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.062147
					    height     	38
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @716
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 512)
				label      	(object ItemLabel
				    Parent_View 	@716
				    location   	(1917, 428)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@716
				    location   	(1917, 378)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				compartment 	(object Compartment
				    Parent_View 	@716
				    location   	(1917, 488)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	3
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDVariety" @717
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 176)
				label      	(object ItemLabel
				    Parent_View 	@717
				    location   	(1918, 92)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@717
				    location   	(1918, 42)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF7730249"
				width      	342
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @718
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C7B0396"
				client     	@666
				supplier   	@661
				line_style 	3
				origin_attachment 	(591, 561)
				terminal_attachment 	(591, 522)
				drawSupplier 	@662)
			    (object InheritView "" @719
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@663
				supplier   	@661
				line_style 	3
				origin_attachment 	(272, 561)
				terminal_attachment 	(272, 522)
				drawSupplier 	@662)
			    (object InheritView "" @720
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@661
				supplier   	@643
				line_style 	3
				origin_attachment 	(366, 306)
				terminal_attachment 	(366, 215))
			    (object InheritView "" @721
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8801B4"
				client     	@621
				supplier   	@663
				line_style 	3
				origin_attachment 	(147, 828)
				terminal_attachment 	(147, 781)
				drawSupplier 	@664)
			    (object InheritView "" @722
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B590281"
				client     	@638
				supplier   	@651
				line_style 	3
				origin_attachment 	(150, 1840)
				terminal_attachment 	(150, 1444))))
		    (object ClassDiagram "5. Component Annotations"
			quid       	"3B69D68D00D2"
			title      	"5. Component Annotations"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @723
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 80)
				label      	(object ItemLabel
				    Parent_View 	@723
				    location   	(88, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	336
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	354
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @724
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1696)
				label      	(object ItemLabel
				    Parent_View 	@724
				    location   	(82, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @725
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 1504)
				label      	(object ItemLabel
				    Parent_View 	@725
				    location   	(1626, 1461)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	510
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @726
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 304)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@726
				    location   	(1663, 261)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	468
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @727
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1360)
				label      	(object ItemLabel
				    Parent_View 	@727
				    location   	(74, 1317)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	588
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	606
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @728
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 704)
				label      	(object ItemLabel
				    Parent_View 	@728
				    location   	(86, 661)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @729
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 1184)
				label      	(object ItemLabel
				    Parent_View 	@729
				    location   	(74, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @730
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 544)
				label      	(object ItemLabel
				    Parent_View 	@730
				    location   	(86, 501)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @731
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 80)
				label      	(object ItemLabel
				    Parent_View 	@731
				    location   	(1068, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	264
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	282
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @732
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1216)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@732
				    location   	(1750, 1173)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @733
				location   	(1994, 1412)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@732
				vertices   	(list Points
				    (1994, 1412)
				    (1994, 1271)))
			    (object InheritView "" @734
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@725
				supplier   	@732
				line_style 	3
				origin_attachment 	(2084, 1449)
				terminal_attachment 	(2084, 1412)
				drawSupplier 	@733)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @735
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@735
				    location   	(80, 821)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	384
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	402
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @736
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@736
				    location   	(1892, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				width      	234
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @737
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 384)
				label      	(object ItemLabel
				    Parent_View 	@737
				    location   	(84, 341)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @738
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 224)
				label      	(object ItemLabel
				    Parent_View 	@738
				    location   	(86, 181)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @739
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1792, 1712)
				label      	(object ItemLabel
				    Parent_View 	@739
				    location   	(1467, 1674)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	651
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	669
				height     	100
				annotation 	8)
			    (object InheritView "" @740
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@739
				supplier   	@732
				line_style 	3
				origin_attachment 	(1572, 1662)
				terminal_attachment 	(1572, 1412)
				drawSupplier 	@733)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @741
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1024)
				label      	(object ItemLabel
				    Parent_View 	@741
				    location   	(78, 981)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @742
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@742
				    location   	(1688, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"XSDRepeatableFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6AA6031A"
				width      	450
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @743
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1536)
				label      	(object ItemLabel
				    Parent_View 	@743
				    location   	(71, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @744
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 944)
				label      	(object ItemLabel
				    Parent_View 	@744
				    location   	(872, 685)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	720
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	738
				height     	543
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$132" @745
				location   	(865, 1359)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0D0183"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$133" @746
					Parent_View 	@745
					location   	(-255, 559)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0D033C"
					client     	@745
					supplier   	@727
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(671, 1359))
				    (object RoleView "annotation" @747
					Parent_View 	@745
					location   	(-255, 559)
					label      	(object SegLabel @748
					    Parent_View 	@747
					    location   	(798, 1321)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-1.116667
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0D0346"
					client     	@745
					supplier   	@744
					vertices   	(list Points
					    (865, 1359)
					    (925, 1359)
					    (925, 1215))
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(925, 1215)
					label      	(object SegLabel @749
					    Parent_View 	@747
					    location   	(987, 1276)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.706422
					    height     	62
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$156" @750
				location   	(713, 709)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0F0212"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$157" @751
					Parent_View 	@750
					location   	(-407, -90)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1000C9"
					client     	@750
					supplier   	@728
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(563, 709))
				    (object RoleView "annotation" @752
					Parent_View 	@750
					location   	(-407, -90)
					label      	(object SegLabel @753
					    Parent_View 	@752
					    location   	(727, 667)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.095238
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1000D3"
					client     	@750
					supplier   	@744
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(863, 709)
					label      	(object SegLabel @754
					    Parent_View 	@752
					    location   	(796, 753)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.553571
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$150" @755
				location   	(719, 1193)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB15008A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$151" @756
					Parent_View 	@755
					location   	(-401, 393)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB160096"
					client     	@755
					supplier   	@729
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(575, 1193))
				    (object RoleView "annotation" @757
					Parent_View 	@755
					location   	(-401, 393)
					label      	(object SegLabel @758
					    Parent_View 	@757
					    location   	(720, 1147)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.006993
					    height     	47
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1600A0"
					client     	@755
					supplier   	@744
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(863, 1193)
					label      	(object SegLabel @759
					    Parent_View 	@757
					    location   	(806, 1240)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.604167
					    height     	47
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$110" @760
				location   	(785, 550)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0A0066"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$111" @761
					Parent_View 	@760
					location   	(-335, -250)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0B023F"
					client     	@760
					supplier   	@730
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(563, 550))
				    (object RoleView "annotation" @762
					Parent_View 	@760
					location   	(-335, -250)
					label      	(object SegLabel @763
					    Parent_View 	@762
					    location   	(779, 516)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.070707
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0B0249"
					client     	@760
					supplier   	@744
					vertices   	(list Points
					    (785, 550)
					    (884, 550)
					    (884, 673))
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(884, 673)
					label      	(object SegLabel @764
					    Parent_View 	@762
					    location   	(935, 612)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.729730
					    height     	51
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$182" @765
				location   	(1184, 404)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E4560290"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$183" @766
					Parent_View 	@765
					location   	(-32, -412)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E4570165"
					client     	@765
					supplier   	@731
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 135))
				    (object RoleView "annotations" @767
					Parent_View 	@765
					location   	(-32, -412)
					label      	(object SegLabel @768
					    Parent_View 	@767
					    location   	(1324, 226)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	249
					    justify    	0
					    label      	"+annotations"
					    pctDist    	-0.665428
					    height     	140
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E457016F"
					client     	@765
					supplier   	@744
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 673)
					label      	(object SegLabel @769
					    Parent_View 	@767
					    location   	(1251, 615)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.784387
					    height     	67
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$198" @770
				location   	(1752, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E2910158"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$199" @771
					Parent_View 	@770
					location   	(536, 218)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E292019F"
					client     	@770
					supplier   	@732
					vertices   	(list Points
					    (1752, 1034)
					    (1812, 1034)
					    (1812, 1161))
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1812, 1161))
				    (object RoleView "annotation" @772
					Parent_View 	@770
					location   	(536, 218)
					label      	(object SegLabel @773
					    Parent_View 	@772
					    location   	(1743, 997)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.059603
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E29201A9"
					client     	@770
					supplier   	@744
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1601, 1034)
					label      	(object SegLabel @774
					    Parent_View 	@772
					    location   	(1684, 1066)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.450331
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$200" @775
				location   	(1896, 881)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B9006CF0088"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$201" @776
					Parent_View 	@775
					location   	(621, 40)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B9006D1015D"
					client     	@775
					supplier   	@732
					vertices   	(list Points
					    (1896, 881)
					    (1956, 881)
					    (1956, 1161))
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1956, 1161))
				    (object RoleView "derivationAnnotation" @777
					Parent_View 	@775
					location   	(621, 40)
					label      	(object SegLabel @778
					    Parent_View 	@777
					    location   	(1821, 842)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	390
					    justify    	0
					    label      	"+derivationAnnotation"
					    pctDist    	0.254237
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B9006D10167"
					client     	@775
					supplier   	@744
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1601, 881)
					label      	(object SegLabel @779
					    Parent_View 	@777
					    location   	(1689, 914)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.705085
					    height     	33
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$202" @780
				location   	(2040, 715)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB330264"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$203" @781
					Parent_View 	@780
					location   	(920, -85)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB340284"
					client     	@780
					supplier   	@732
					vertices   	(list Points
					    (2040, 715)
					    (2100, 715)
					    (2100, 1161))
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(2100, 1161))
				    (object RoleView "annotations" @782
					Parent_View 	@780
					location   	(920, -85)
					label      	(object SegLabel @783
					    Parent_View 	@782
					    location   	(1758, 681)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.643192
					    height     	35
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB34028E"
					client     	@780
					supplier   	@744
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(1601, 715)
					label      	(object SegLabel @784
					    Parent_View 	@782
					    location   	(1685, 746)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.809313
					    height     	31
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$220" @785
				location   	(668, 865)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C239134004F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$221" @786
					Parent_View 	@785
					location   	(-612, 33)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C23913600CA"
					client     	@785
					supplier   	@735
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(473, 865))
				    (object RoleView "annotation" @787
					Parent_View 	@785
					location   	(-612, 33)
					label      	(object SegLabel @788
					    Parent_View 	@787
					    location   	(714, 825)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.234146
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C23913600D4"
					client     	@785
					supplier   	@744
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(863, 865)
					label      	(object SegLabel @789
					    Parent_View 	@787
					    location   	(801, 903)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.682051
					    height     	38
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$124" @790
				location   	(1472, 167)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D23B901CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$125" @791
					Parent_View 	@790
					location   	(256, -649)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D23BA01C4"
					client     	@790
					supplier   	@736
					vertices   	(list Points
					    (1472, 167)
					    (1472, 72)
					    (1883, 72))
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1883, 72))
				    (object RoleView "annotation" @792
					Parent_View 	@790
					location   	(256, -649)
					label      	(object SegLabel @793
					    Parent_View 	@792
					    location   	(1604, 129)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.076305
					    height     	132
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D23BA01CE"
					client     	@790
					supplier   	@744
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1472, 673)
					label      	(object SegLabel @794
					    Parent_View 	@792
					    location   	(1419, 618)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.893574
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$74" @795
				location   	(927, 350)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB060291"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$75" @796
					Parent_View 	@795
					location   	(-193, -450)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB070171"
					client     	@795
					supplier   	@737
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(629, 350))
				    (object RoleView "annotation" @797
					Parent_View 	@795
					location   	(-193, -450)
					label      	(object SegLabel @798
					    Parent_View 	@797
					    location   	(878, 310)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.816667
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB070172"
					client     	@795
					supplier   	@744
					vertices   	(list Points
					    (927, 350)
					    (987, 350)
					    (987, 673))
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(987, 673)
					label      	(object SegLabel @799
					    Parent_View 	@797
					    location   	(1037, 612)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.843342
					    height     	50
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$66" @800
				location   	(1027, 222)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DADC02F5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$67" @801
					Parent_View 	@800
					location   	(-93, -578)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DADD0238"
					client     	@800
					supplier   	@738
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(563, 222))
				    (object RoleView "annotation" @802
					Parent_View 	@800
					location   	(-93, -578)
					label      	(object SegLabel @803
					    Parent_View 	@802
					    location   	(1003, 188)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.406250
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DADD0242"
					client     	@800
					supplier   	@744
					vertices   	(list Points
					    (1027, 222)
					    (1087, 222)
					    (1087, 673))
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(1087, 673)
					label      	(object SegLabel @804
					    Parent_View 	@802
					    location   	(1137, 613)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	100
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.882583
					    height     	50
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$90" @805
				location   	(1494, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B90068801C2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$91" @806
					Parent_View 	@805
					location   	(214, 590)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B90068A0111"
					client     	@805
					supplier   	@739
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1662))
				    (object RoleView "contentAnnotation" @807
					Parent_View 	@805
					location   	(214, 590)
					label      	(object SegLabel @808
					    Parent_View 	@807
					    location   	(1696, 1356)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+contentAnnotation"
					    pctDist    	0.367713
					    height     	202
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B90068A011B"
					client     	@805
					supplier   	@744
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1215)
					label      	(object SegLabel @809
					    Parent_View 	@807
					    location   	(1443, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.713004
					    height     	51
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$144" @810
				location   	(637, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB1702C8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$145" @811
					Parent_View 	@810
					location   	(-483, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1803E2"
					client     	@810
					supplier   	@741
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(411, 1022))
				    (object RoleView "annotation" @812
					Parent_View 	@810
					location   	(-483, 222)
					label      	(object SegLabel @813
					    Parent_View 	@812
					    location   	(710, 979)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.328889
					    height     	44
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB190004"
					client     	@810
					supplier   	@744
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(863, 1022)
					label      	(object SegLabel @814
					    Parent_View 	@812
					    location   	(802, 1062)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.730088
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$64" @815
				location   	(1581, 607)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EA70102"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$65" @816
					Parent_View 	@815
					location   	(301, -225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EA90191"
					client     	@815
					supplier   	@742
					vertices   	(list Points
					    (1581, 607)
					    (1581, 547)
					    (1679, 547))
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1679, 547))
				    (object RoleView "annotations" @817
					Parent_View 	@815
					location   	(301, -225)
					label      	(object SegLabel @818
					    Parent_View 	@817
					    location   	(1669, 462)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	-2.196970
					    height     	88
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EA90192"
					client     	@815
					supplier   	@744
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1581, 673)
					label      	(object SegLabel @819
					    Parent_View 	@817
					    location   	(1539, 620)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.196970
					    height     	42
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$204" @820
				location   	(849, 1496)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB11026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$205" @821
					Parent_View 	@820
					location   	(-271, 696)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1201F9"
					client     	@820
					supplier   	@743
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(354, 1496))
				    (object RoleView "annotation" @822
					Parent_View 	@820
					location   	(-271, 696)
					label      	(object SegLabel @823
					    Parent_View 	@822
					    location   	(942, 1464)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.188259
					    height     	33
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB120203"
					client     	@820
					supplier   	@744
					vertices   	(list Points
					    (849, 1496)
					    (1062, 1496)
					    (1062, 1215))
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(1062, 1215)
					label      	(object SegLabel @824
					    Parent_View 	@822
					    location   	(1115, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.872690
					    height     	53
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$206" @825
				location   	(952, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EB30005"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$207" @826
					Parent_View 	@825
					location   	(-328, 733)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EB40327"
					client     	@825
					supplier   	@743
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(354, 1565))
				    (object RoleView "annotations" @827
					Parent_View 	@825
					location   	(-328, 733)
					label      	(object SegLabel @828
					    Parent_View 	@827
					    location   	(1075, 1538)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.204959
					    height     	28
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EB40332"
					client     	@825
					supplier   	@744
					vertices   	(list Points
					    (952, 1565)
					    (1200, 1565)
					    (1200, 1215))
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(1200, 1215)
					label      	(object SegLabel @829
					    Parent_View 	@827
					    location   	(1254, 1275)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))))
			    (object InheritView "" @830
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@726
				supplier   	@736
				line_style 	3
				origin_attachment 	(1984, 249)
				terminal_attachment 	(1984, 135))
			    (object InheritView "" @831
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@742
				supplier   	@726
				line_style 	3
				origin_attachment 	(1997, 505)
				terminal_attachment 	(1997, 359))))
		    (object ClassDiagram "6. Concrete Components"
			quid       	"3B6AD74D03C4"
			title      	"6. Concrete Components"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @832
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@832
				    location   	(126, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @833
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@833
				    location   	(568, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	528
				    justify    	0
				    label      	"XSDAttributeGroupContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6940200089"
				width      	546
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @834
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@834
				    location   	(991, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDRedefineContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AE2060172"
				width      	436
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @835
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@835
				    location   	(1156, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	426
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @836
				location   	(1360, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@835
				vertices   	(list Points
				    (1360, 561)
				    (1360, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDInclude" @837
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1632, 1200)
				label      	(object ItemLabel
				    Parent_View 	@837
				    location   	(1512, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	240
				    justify    	0
				    label      	"XSDInclude")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C7D0250"
				width      	258
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDImport" @838
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 944)
				label      	(object ItemLabel
				    Parent_View 	@838
				    location   	(1294, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDImport")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C93017F"
				width      	246
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefine" @839
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1200)
				label      	(object ItemLabel
				    Parent_View 	@839
				    location   	(1805, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDRedefine")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C9B02AD"
				width      	280
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @840
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1200)
				label      	(object ItemLabel
				    Parent_View 	@840
				    location   	(375, 1153)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	851
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	869
				height     	119
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$142" @841
				location   	(1368, 1206)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCC5007E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$143" @842
					Parent_View 	@841
					location   	(1160, 406)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCC6006B"
					client     	@841
					supplier   	@837
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1503, 1206))
				    (object RoleView "annotation" @843
					Parent_View 	@841
					location   	(1160, 406)
					label      	(object SegLabel @844
					    Parent_View 	@843
					    location   	(1347, 1154)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.154412
					    height     	53
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCC6006C"
					client     	@841
					supplier   	@840
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1234, 1206)
					label      	(object SegLabel @845
					    Parent_View 	@843
					    location   	(1300, 1253)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	107
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.514706
					    height     	47
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$140" @846
				location   	(1168, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCD802FC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$141" @847
					Parent_View 	@846
					location   	(960, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCD9018B"
					client     	@846
					supplier   	@838
					vertices   	(list Points
					    (1168, 1022)
					    (1168, 962)
					    (1285, 962))
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1285, 962))
				    (object RoleView "annotation" @848
					Parent_View 	@846
					location   	(960, 222)
					label      	(object SegLabel @849
					    Parent_View 	@848
					    location   	(1290, 1075)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.445378
					    height     	122
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCD9018C"
					client     	@846
					supplier   	@840
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1168, 1141)
					label      	(object SegLabel @850
					    Parent_View 	@848
					    location   	(1127, 1074)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.436975
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$162" @851
				location   	(1563, 1353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADE42009A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$163" @852
					Parent_View 	@851
					location   	(1355, 553)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADE4302FE"
					client     	@851
					supplier   	@839
					vertices   	(list Points
					    (1563, 1353)
					    (1940, 1353)
					    (1940, 1255))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1940, 1255))
				    (object RoleView "annotations" @853
					Parent_View 	@851
					location   	(1355, 553)
					label      	(object SegLabel @854
					    Parent_View 	@853
					    location   	(1317, 1322)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.516807
					    height     	32
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADE430308"
					client     	@851
					supplier   	@840
					vertices   	(list Points
					    (1563, 1353)
					    (1181, 1353)
					    (1181, 1259))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1181, 1259)
					label      	(object SegLabel @855
					    Parent_View 	@853
					    location   	(1130, 1326)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.861345
					    height     	52
					    orientation 	0))))
			    (object InheritTreeView "" @856
				location   	(288, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@832
				vertices   	(list Points
				    (288, 561)
				    (288, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @857
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@857
				    location   	(460, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	474
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticleContent" @858
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@858
				    location   	(1658, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	396
				    justify    	0
				    label      	"XSDParticleContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6BD22300C6"
				width      	414
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @859
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 960)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@859
				    location   	(450, 917)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @860
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@860
				    location   	(110, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @861
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@860
				supplier   	@832
				line_style 	3
				origin_attachment 	(221, 617)
				terminal_attachment 	(221, 561)
				drawSupplier 	@856)
			    (object InheritView "" @862
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@857
				supplier   	@832
				line_style 	3
				origin_attachment 	(589, 617)
				terminal_attachment 	(589, 561)
				drawSupplier 	@856)
			    (object InheritView "" @863
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@834
				supplier   	@835
				line_style 	3
				origin_attachment 	(1016, 617)
				terminal_attachment 	(1016, 561)
				drawSupplier 	@836)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @864
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1824, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@864
				    location   	(1590, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	486
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @865
				location   	(1824, 1089)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@864
				vertices   	(list Points
				    (1824, 1089)
				    (1824, 999)))
			    (object InheritView "" @866
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8DC0381"
				client     	@837
				supplier   	@864
				line_style 	3
				origin_attachment 	(1666, 1145)
				terminal_attachment 	(1666, 1089)
				drawSupplier 	@865)
			    (object InheritView "" @867
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@839
				supplier   	@864
				line_style 	3
				origin_attachment 	(1934, 1145)
				terminal_attachment 	(1934, 1089)
				drawSupplier 	@865)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @868
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@868
				    location   	(1630, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	438
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @869
				location   	(1762, 819)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@868
				vertices   	(list Points
				    (1762, 819)
				    (1762, 727)))
			    (object InheritView "" @870
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@838
				supplier   	@868
				line_style 	3
				origin_attachment 	(1416, 889)
				terminal_attachment 	(1416, 819)
				drawSupplier 	@869)
			    (object InheritView "" @871
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@868
				supplier   	@835
				line_style 	3
				origin_attachment 	(1756, 617)
				terminal_attachment 	(1756, 561)
				drawSupplier 	@836)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @872
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1120, 144)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@872
				    location   	(875, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	508
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @873
				location   	(1120, 289)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@872
				vertices   	(list Points
				    (1120, 289)
				    (1120, 199)))
			    (object AssociationViewNew "$UNNAMED$104" @874
				location   	(1485, 215)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B0803C7"
				roleview_list 	(list RoleViews
				    (object RoleView "container" @875
					Parent_View 	@874
					location   	(989, 103)
					label      	(object SegLabel @876
					    Parent_View 	@875
					    location   	(1604, 210)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+container"
					    pctDist    	0.033113
					    height     	119
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B0C01CE"
					client     	@874
					supplier   	@872
					vertices   	(list Points
					    (1485, 215)
					    (1485, 176)
					    (1374, 176))
					line_style 	3
					origin_attachment 	(1485, 215)
					terminal_attachment 	(1374, 176)
					label      	(object SegLabel @877
					    Parent_View 	@875
					    location   	(1435, 226)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	69
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.602649
					    height     	50
					    orientation 	0))
				    (object RoleView "$UNNAMED$105" @878
					Parent_View 	@874
					location   	(989, 103)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B0C01CF"
					client     	@874
					supplier   	@872
					vertices   	(list Points
					    (1485, 215)
					    (1485, 254)
					    (1345, 254)
					    (1345, 199))
					line_style 	3
					origin_attachment 	(1485, 215)
					terminal_attachment 	(1345, 199))))
			    (object AssociationViewNew "$UNNAMED$106" @879
				location   	(773, 216)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B480261"
				roleview_list 	(list RoleViews
				    (object RoleView "rootContainer" @880
					Parent_View 	@879
					location   	(53, 104)
					label      	(object SegLabel @881
					    Parent_View 	@880
					    location   	(614, 217)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+rootContainer"
					    pctDist    	-0.025000
					    height     	160
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B4C0285"
					client     	@879
					supplier   	@872
					vertices   	(list Points
					    (773, 216)
					    (773, 176)
					    (866, 176))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(866, 176)
					label      	(object SegLabel @882
					    Parent_View 	@880
					    location   	(800, 228)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.300000
					    height     	27
					    orientation 	1))
				    (object RoleView "$UNNAMED$107" @883
					Parent_View 	@879
					location   	(53, 104)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B4C0286"
					client     	@879
					supplier   	@872
					vertices   	(list Points
					    (773, 216)
					    (773, 257)
					    (895, 257)
					    (895, 199))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(895, 199))))
			    (object InheritView "" @884
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@835
				supplier   	@872
				line_style 	3
				origin_attachment 	(1367, 361)
				terminal_attachment 	(1367, 289)
				drawSupplier 	@873)
			    (object InheritView "" @885
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D8E200EA"
				client     	@833
				supplier   	@872
				line_style 	3
				origin_attachment 	(752, 361)
				terminal_attachment 	(752, 289)
				drawSupplier 	@873)
			    (object InheritView "" @886
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@832
				supplier   	@872
				line_style 	3
				origin_attachment 	(299, 361)
				terminal_attachment 	(299, 289)
				drawSupplier 	@873)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @887
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1200)
				label      	(object ItemLabel
				    Parent_View 	@887
				    location   	(61, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	280
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @888
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@887
				supplier   	@860
				line_style 	3
				origin_attachment 	(216, 1145)
				terminal_attachment 	(216, 727))
			    (object AssociationViewNew "$UNNAMED$218" @889
				location   	(1382, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$219" @890
					Parent_View 	@889
					location   	(1190, 225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100304"
					client     	@889
					supplier   	@864
					vertices   	(list Points
					    (1382, 1425)
					    (2147, 1425)
					    (2147, 943)
					    (2067, 943))
					line_style 	3
					origin_attachment 	(1382, 1425)
					terminal_attachment 	(2067, 943))
				    (object RoleView "incorporatedSchema" @891
					Parent_View 	@889
					location   	(1190, 225)
					label      	(object SegLabel @892
					    Parent_View 	@891
					    location   	(445, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+incorporatedSchema"
					    pctDist    	0.706546
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100305"
					client     	@889
					supplier   	@887
					vertices   	(list Points
					    (1382, 1425)
					    (225, 1425)
					    (225, 1255))
					line_style 	3
					origin_attachment 	(1382, 1425)
					terminal_attachment 	(225, 1255)
					label      	(object SegLabel @893
					    Parent_View 	@891
					    location   	(183, 1392)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.896915
					    height     	43
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$216" @894
				location   	(1505, 1503)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$217" @895
					Parent_View 	@894
					location   	(1313, 303)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0042"
					client     	@894
					supplier   	@868
					vertices   	(list Points
					    (1505, 1503)
					    (2188, 1503)
					    (2188, 675)
					    (2059, 675))
					line_style 	3
					origin_attachment 	(1505, 1503)
					terminal_attachment 	(2059, 675))
				    (object RoleView "resolvedSchema" @896
					Parent_View 	@894
					location   	(1313, 303)
					label      	(object SegLabel @897
					    Parent_View 	@896
					    location   	(303, 1472)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+resolvedSchema"
					    pctDist    	0.733333
					    height     	32
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0043"
					client     	@894
					supplier   	@887
					vertices   	(list Points
					    (1505, 1503)
					    (113, 1503)
					    (113, 1255))
					line_style 	3
					origin_attachment 	(1505, 1503)
					terminal_attachment 	(113, 1255)
					label      	(object SegLabel @898
					    Parent_View 	@896
					    location   	(73, 1472)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.867683
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$108" @899
				location   	(66, 244)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751C310356"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$109" @900
					Parent_View 	@899
					location   	(-94, -444)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751C330331"
					client     	@899
					supplier   	@872
					vertices   	(list Points
					    (66, 244)
					    (66, 144)
					    (866, 144))
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(866, 144))
				    (object RoleView "schema" @901
					Parent_View 	@899
					location   	(-94, -444)
					label      	(object SegLabel @902
					    Parent_View 	@901
					    location   	(165, 93)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+schema"
					    pctDist    	-0.168113
					    height     	99
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751C33033B"
					client     	@899
					supplier   	@887
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(66, 1145)
					label      	(object SegLabel @903
					    Parent_View 	@901
					    location   	(136, 184)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	113
					    justify    	0
					    label      	"0..1"
					    pctDist    	-0.066593
					    height     	70
					    orientation 	0))))
			    (object InheritView "" @904
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B780BD90059"
				client     	@858
				supplier   	@872
				line_style 	3
				origin_attachment 	(1759, 361)
				terminal_attachment 	(1759, 289)
				drawSupplier 	@873)
			    (object InheritView "" @905
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@840
				supplier   	@832
				line_style 	3
				origin_attachment 	(400, 1141)
				terminal_attachment 	(400, 561)
				drawSupplier 	@856)
			    (object InheritTreeView "" @906
				location   	(1012, 837)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@834
				vertices   	(list Points
				    (1012, 837)
				    (1012, 727)))
			    (object InheritView "" @907
				stereotype 	(object SegLabel @908
				    Parent_View 	@907
				    location   	(1071, 871)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	243
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.888158
				    height     	34
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B7FD4E20366"
				client     	@840
				supplier   	@834
				line_style 	3
				origin_attachment 	(1037, 1141)
				terminal_attachment 	(1037, 837)
				drawSupplier 	@906)
			    (object InheritView "" @909
				stereotype 	(object SegLabel @910
				    Parent_View 	@909
				    location   	(890, 865)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	263
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.581633
				    height     	36
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B7FD4BA023C"
				client     	@859
				supplier   	@834
				line_style 	3
				origin_attachment 	(925, 905)
				terminal_attachment 	(925, 837)
				drawSupplier 	@906)
			    (object InheritView "" @911
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@864
				supplier   	@868
				line_style 	3
				origin_attachment 	(1828, 889)
				terminal_attachment 	(1828, 819)
				drawSupplier 	@869)))
		    (object ClassDiagram "7. Concrete Attributes"
			quid       	"3B9F8F7602C7"
			title      	"7. Concrete Attributes"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @912
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@912
				    location   	(1938, 1359)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	412
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@912
				    location   	(1938, 1419)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	382
				    compartmentItems 	(list Compartment
					"+ form : XSDForm"
					"+ lexicalValue : String"))
				width      	430
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDForm" @913
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2560, 1424)
				label      	(object ItemLabel
				    Parent_View 	@913
				    location   	(2398, 1365)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDForm")
				stereotype 	(object ItemLabel
				    Parent_View 	@913
				    location   	(2398, 1315)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B9F913B01EB"
				width      	342
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @914
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 96)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@914
				    location   	(40, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	657
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				compartment 	(object Compartment
				    Parent_View 	@914
				    location   	(40, 97)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	446
				    compartmentItems 	(list Compartment
					"+ element : DOMElement"))
				width      	675
				height     	143
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @915
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@915
				    location   	(687, 333)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	322
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	340
				height     	126
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @916
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@916
				    location   	(1678, 892)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	452
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	470
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @917
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 1408)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@917
				    location   	(1328, 1356)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	544
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	562
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @918
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(864, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@918
				    location   	(745, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	256
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @919
				location   	(850, 537)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@915
				vertices   	(list Points
				    (850, 537)
				    (850, 447)))
			    (object ClassView "Class" "Logical View::xsd::DOMElement" @920
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1248, 128)
				label      	(object ItemLabel
				    Parent_View 	@920
				    location   	(873, 90)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	751
				    justify    	0
				    label      	"DOMElement")
				stereotype 	(object ItemLabel
				    Parent_View 	@920
				    location   	(873, 40)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	751
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3B8189790200"
				width      	769
				height     	200
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @921
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 640)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@921
				    location   	(41, 584)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	512
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @922
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@922
				    location   	(38, 333)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	422
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @923
				location   	(368, 263)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@914
				vertices   	(list Points
				    (368, 263)
				    (368, 167)))
			    (object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @924
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(992, 1456)
				label      	(object ItemLabel
				    Parent_View 	@924
				    location   	(723, 1347)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@924
				    location   	(723, 1297)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5A403DF"
				compartment 	(object Compartment
				    Parent_View 	@924
				    location   	(723, 1407)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	225
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	556
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @925
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1792)
				label      	(object ItemLabel
				    Parent_View 	@925
				    location   	(614, 1708)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@925
				    location   	(614, 1658)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5BE0272"
				compartment 	(object Compartment
				    Parent_View 	@925
				    location   	(614, 1768)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	198
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	550
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @926
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 2096)
				label      	(object ItemLabel
				    Parent_View 	@926
				    location   	(532, 2040)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	760
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@926
				    location   	(532, 2100)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	723
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDSimpleFinal"))
				width      	778
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @927
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1984)
				label      	(object ItemLabel
				    Parent_View 	@927
				    location   	(45, 1875)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@927
				    location   	(45, 1825)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				width      	344
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @928
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2544, 2016)
				label      	(object ItemLabel
				    Parent_View 	@928
				    location   	(2362, 1932)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@928
				    location   	(2362, 1882)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C2CA01CB"
				width      	382
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @929
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1360)
				label      	(object ItemLabel
				    Parent_View 	@929
				    location   	(41, 1279)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	622
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				compartment 	(object Compartment
				    Parent_View 	@929
				    location   	(41, 1339)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	588
				    compartmentItems 	(list Compartment
					"+ use : XSDAttributeUseCategory"
					"+ lexicalValue : String"))
				width      	640
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUseCategory" @930
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1632)
				label      	(object ItemLabel
				    Parent_View 	@930
				    location   	(41, 1548)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDAttributeUseCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@930
				    location   	(41, 1498)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BA7B0E801A8"
				width      	512
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @931
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2608, 928)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@931
				    location   	(2498, 881)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	220
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	238
				height     	119
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @932
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2240, 1712)
				label      	(object ItemLabel
				    Parent_View 	@932
				    location   	(1757, 1631)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	966
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@932
				    location   	(1757, 1691)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	934
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDProhibitedSubstitutions"
					"<<0..*>> + block : XSDDisallowedSubstitutions"))
				width      	984
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @933
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 1152)
				label      	(object ItemLabel
				    Parent_View 	@933
				    location   	(1828, 1096)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	888
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				compartment 	(object Compartment
				    Parent_View 	@933
				    location   	(1828, 1156)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	852
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalNamespaceConstraint : String"))
				width      	906
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @934
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1008)
				label      	(object ItemLabel
				    Parent_View 	@934
				    location   	(622, 777)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	996
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	1014
				height     	486
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDImport" @935
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 960)
				label      	(object ItemLabel
				    Parent_View 	@935
				    location   	(37, 904)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDImport")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C93017F"
				width      	424
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @936
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1344, 656)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@936
				    location   	(1138, 600)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	412
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				compartment 	(object Compartment
				    Parent_View 	@936
				    location   	(1138, 660)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	378
				    compartmentItems 	(list Compartment
					"+ lexicalValue : String"))
				width      	430
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @937
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 2048)
				label      	(object ItemLabel
				    Parent_View 	@937
				    location   	(1410, 1942)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	860
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				compartment 	(object Compartment
				    Parent_View 	@937
				    location   	(1410, 2002)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	822
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDComplexFinal"
					"<<0..*>> + block : XSDProhibitedSubstitutions"
					"+ mixed : boolean"))
				width      	878
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @938
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1488, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@938
				    location   	(1304, 1644)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	368
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	386
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @939
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@938
				supplier   	@917
				line_style 	3
				origin_attachment 	(1506, 1632)
				terminal_attachment 	(1506, 1472))
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @940
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2208, 704)
				label      	(object ItemLabel
				    Parent_View 	@940
				    location   	(1758, 598)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	900
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	918
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @941
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@931
				supplier   	@915
				line_style 	3
				origin_attachment 	(2696, 869)
				terminal_attachment 	(2696, 537)
				drawSupplier 	@919)
			    (object InheritView "" @942
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@932
				supplier   	@912
				line_style 	3
				origin_attachment 	(2094, 1619)
				terminal_attachment 	(2094, 1533))
			    (object InheritTreeView "" @943
				location   	(1487, 1856)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@938
				vertices   	(list Points
				    (1487, 1856)
				    (1487, 1760)))
			    (object ClassView "Class" "Logical View::xsd::DOMAttr" @944
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2400, 384)
				label      	(object ItemLabel
				    Parent_View 	@944
				    location   	(2080, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"DOMAttr")
				stereotype 	(object ItemLabel
				    Parent_View 	@944
				    location   	(2080, 300)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BBF8C8901B6"
				width      	658
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @945
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@937
				supplier   	@938
				line_style 	3
				origin_attachment 	(1734, 1930)
				terminal_attachment 	(1734, 1856)
				drawSupplier 	@943)
			    (object InheritView "" @946
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@936
				supplier   	@915
				line_style 	3
				origin_attachment 	(1328, 588)
				terminal_attachment 	(1328, 537)
				drawSupplier 	@919)
			    (object InheritView "" @947
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@940
				supplier   	@915
				line_style 	3
				origin_attachment 	(2190, 586)
				terminal_attachment 	(2190, 537)
				drawSupplier 	@919)
			    (object InheritView "" @948
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@921
				supplier   	@922
				line_style 	3
				origin_attachment 	(222, 572)
				terminal_attachment 	(222, 447))
			    (object InheritView "" @949
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@922
				supplier   	@914
				line_style 	3
				origin_attachment 	(260, 321)
				terminal_attachment 	(260, 263)
				drawSupplier 	@923)
			    (object InheritView "" @950
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@935
				supplier   	@921
				line_style 	3
				origin_attachment 	(223, 892)
				terminal_attachment 	(223, 708))
			    (object InheritView "" @951
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@933
				supplier   	@931
				line_style 	3
				origin_attachment 	(2600, 1084)
				terminal_attachment 	(2600, 987))
			    (object ClassView "Class" "Logical View::xsd::DOMDocument" @952
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 128)
				label      	(object ItemLabel
				    Parent_View 	@952
				    location   	(1957, 94)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	758
				    justify    	0
				    label      	"DOMDocument")
				stereotype 	(object ItemLabel
				    Parent_View 	@952
				    location   	(1957, 44)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	758
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3C27850E0381"
				width      	776
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @953
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@915
				supplier   	@914
				line_style 	3
				origin_attachment 	(856, 321)
				terminal_attachment 	(856, 263)
				drawSupplier 	@923)
			    (object ClassView "Class" "Logical View::xsd::DOMNode" @954
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 384)
				label      	(object ItemLabel
				    Parent_View 	@954
				    location   	(1234, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@954
				    location   	(1234, 300)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BFE64A50117"
				width      	686
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @955
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@918
				supplier   	@915
				line_style 	3
				origin_attachment 	(850, 561)
				terminal_attachment 	(850, 537)
				drawSupplier 	@919)
			    (object InheritView "" @956
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@929
				supplier   	@915
				line_style 	3
				origin_attachment 	(575, 1267)
				terminal_attachment 	(575, 537)
				drawSupplier 	@919)
			    (object InheritView "" @957
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@916
				supplier   	@915
				line_style 	3
				origin_attachment 	(1694, 880)
				terminal_attachment 	(1694, 537)
				drawSupplier 	@919)
			    (object InheritView "" @958
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@934
				supplier   	@918
				line_style 	3
				origin_attachment 	(856, 765)
				terminal_attachment 	(856, 687))
			    (object InheritTreeView "" @959
				location   	(1703, 1290)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@916
				vertices   	(list Points
				    (1703, 1290)
				    (1703, 1008)))
			    (object InheritView "" @960
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@917
				supplier   	@916
				line_style 	3
				origin_attachment 	(1503, 1344)
				terminal_attachment 	(1503, 1290)
				drawSupplier 	@959)
			    (object InheritView "" @961
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@912
				supplier   	@916
				line_style 	3
				origin_attachment 	(2093, 1347)
				terminal_attachment 	(2093, 1290)
				drawSupplier 	@959)
			    (object InheritView "" @962
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@926
				supplier   	@938
				line_style 	3
				origin_attachment 	(1253, 2028)
				terminal_attachment 	(1253, 1856)
				drawSupplier 	@943)))
		    (object ClassDiagram "8. Concrete Containment"
			quid       	"3B6A8097027A"
			title      	"8. Concrete Containment"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @963
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2672, 992)
				label      	(object ItemLabel
				    Parent_View 	@963
				    location   	(2439, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	484
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @964
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2640, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@964
				    location   	(2431, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	436
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefine" @965
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 784)
				label      	(object ItemLabel
				    Parent_View 	@965
				    location   	(2013, 741)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDRedefine")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C9B02AD"
				width      	280
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @966
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@966
				    location   	(1854, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDRedefineContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AE2060172"
				width      	438
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @967
				location   	(1943, 868)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@966
				vertices   	(list Points
				    (1943, 868)
				    (1943, 631)))
			    (object AssociationViewNew "$UNNAMED$164" @968
				location   	(2125, 680)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE8240051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$165" @969
					Parent_View 	@968
					location   	(157, 344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6AE82602AD"
					client     	@968
					supplier   	@965
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 729))
				    (object RoleView "contents" @970
					Parent_View 	@968
					location   	(157, 344)
					label      	(object SegLabel @971
					    Parent_View 	@970
					    location   	(2255, 671)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.175439
					    height     	130
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6AE82602B7"
					client     	@968
					supplier   	@966
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 631)
					label      	(object SegLabel @972
					    Parent_View 	@970
					    location   	(2067, 671)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.175439
					    height     	59
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @973
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@973
				    location   	(148, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @974
				location   	(272, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@973
				vertices   	(list Points
				    (272, 465)
				    (272, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @975
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1168)
				label      	(object ItemLabel
				    Parent_View 	@975
				    location   	(2372, 1121)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	569
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	587
				height     	118
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @976
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 576)
				label      	(object ItemLabel
				    Parent_View 	@976
				    location   	(89, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	352
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$152" @977
				location   	(1170, 1356)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "modelGroup" @978
					Parent_View 	@977
					location   	(866, -20)
					label      	(object SegLabel @979
					    Parent_View 	@978
					    location   	(269, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+modelGroup"
					    pctDist    	0.534044
					    height     	33
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0339"
					client     	@977
					supplier   	@976
					vertices   	(list Points
					    (1170, 1356)
					    (206, 1356)
					    (206, 631))
					line_style 	3
					origin_attachment 	(1170, 1356)
					terminal_attachment 	(206, 631)
					label      	(object SegLabel @980
					    Parent_View 	@978
					    location   	(226, 1322)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.559146
					    height     	35
					    orientation 	1))
				    (object RoleView "$UNNAMED$153" @981
					Parent_View 	@977
					location   	(866, -20)
					label      	(object SegLabel @982
					    Parent_View 	@981
					    location   	(2521, 1398)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0338"
					client     	@977
					supplier   	@975
					vertices   	(list Points
					    (1170, 1356)
					    (2731, 1356)
					    (2731, 1227))
					line_style 	3
					origin_attachment 	(1170, 1356)
					terminal_attachment 	(2731, 1227))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @983
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(160, 1696)
				label      	(object ItemLabel
				    Parent_View 	@983
				    location   	(35, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	250
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	268
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$146" @984
				location   	(122, 1136)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6BCEB102F8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$147" @985
					Parent_View 	@984
					location   	(-630, -256)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6BCEB6001B"
					client     	@984
					supplier   	@976
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 631))
				    (object RoleView "contents" @986
					Parent_View 	@984
					location   	(-630, -256)
					label      	(object SegLabel @987
					    Parent_View 	@986
					    location   	(223, 1515)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.750495
					    height     	101
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6BCEB60025"
					client     	@984
					supplier   	@983
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 1641)
					label      	(object SegLabel @988
					    Parent_View 	@986
					    location   	(180, 1581)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.881188
					    height     	58
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticleContent" @989
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@989
				    location   	(41, 42)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	495
				    justify    	0
				    label      	"XSDParticleContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6BD22300C6"
				width      	513
				height     	100
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$158" @990
				location   	(47, 885)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B47150119"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$159" @991
					Parent_View 	@990
					location   	(-289, 821)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B471A03AB"
					client     	@990
					supplier   	@983
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 1641))
				    (object RoleView "content" @992
					Parent_View 	@990
					location   	(-289, 821)
					label      	(object SegLabel @993
					    Parent_View 	@992
					    location   	(142, 189)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.921854
					    height     	95
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B471A03B5"
					client     	@990
					supplier   	@989
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 130)
					label      	(object SegLabel @994
					    Parent_View 	@992
					    location   	(28, 192)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.917881
					    height     	19
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @995
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 896)
				label      	(object ItemLabel
				    Parent_View 	@995
				    location   	(1252, 849)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	345
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	363
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @996
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1168)
				label      	(object ItemLabel
				    Parent_View 	@996
				    location   	(1175, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	484
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$88" @997
				location   	(1319, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6F1DE9018A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$89" @998
					Parent_View 	@997
					location   	(-57, -102)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6F1DEA036C"
					client     	@997
					supplier   	@995
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 955))
				    (object RoleView "content" @999
					Parent_View 	@997
					location   	(-57, -102)
					label      	(object SegLabel @1000
					    Parent_View 	@999
					    location   	(1439, 1039)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.073171
					    height     	120
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6F1DEA0380"
					client     	@997
					supplier   	@996
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 1113)
					label      	(object SegLabel @1001
					    Parent_View 	@999
					    location   	(1279, 1031)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.040816
					    height     	41
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @1002
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1002
				    location   	(1855, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	468
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1003
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1280, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1003
				    location   	(1035, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	508
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$184" @1004
				location   	(1351, 1840)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5CA50112"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$185" @1005
					Parent_View 	@1004
					location   	(-297, 224)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5CA703B4"
					client     	@1004
					supplier   	@1003
					vertices   	(list Points
					    (1351, 1840)
					    (1294, 1840)
					    (1294, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1294, 1751))
				    (object RoleView "contents" @1006
					Parent_View 	@1004
					location   	(-297, 224)
					label      	(object SegLabel @1007
					    Parent_View 	@1006
					    location   	(1517, 1806)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.632653
					    height     	108
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5CA703C8"
					client     	@1004
					supplier   	@1003
					vertices   	(list Points
					    (1351, 1840)
					    (1409, 1840)
					    (1409, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1409, 1751)
					label      	(object SegLabel @1008
					    Parent_View 	@1006
					    location   	(1361, 1801)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.072848
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$68" @1009
				location   	(1190, 1432)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6890D6006F"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1010
					Parent_View 	@1009
					location   	(774, -1832)
					label      	(object SegLabel @1011
					    Parent_View 	@1010
					    location   	(1462, 1525)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+anonymousTypeDefinition"
					    pctDist    	0.444976
					    height     	272
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6890D60318"
					client     	@1009
					supplier   	@1003
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1641)
					label      	(object SegLabel @1012
					    Parent_View 	@1010
					    location   	(1143, 1527)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.454545
					    height     	47
					    orientation 	1))
				    (object RoleView "$UNNAMED$69" @1013
					Parent_View 	@1009
					location   	(774, -1832)
					label      	(object SegLabel @1014
					    Parent_View 	@1013
					    location   	(1149, 1266)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6890D6030E"
					client     	@1009
					supplier   	@996
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1223))))
			    (object AssociationViewNew "$UNNAMED$186" @1015
				location   	(1690, 1684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C35AD0374"
				roleview_list 	(list RoleViews
				    (object RoleView "facetContents" @1016
					Parent_View 	@1015
					location   	(-326, -12)
					label      	(object SegLabel @1017
					    Parent_View 	@1016
					    location   	(1695, 1731)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+facetContents"
					    pctDist    	0.032051
					    height     	47
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C35AF0010"
					client     	@1015
					supplier   	@1002
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1846, 1684)
					label      	(object SegLabel @1018
					    Parent_View 	@1016
					    location   	(1756, 1644)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	94
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.420732
					    height     	41
					    orientation 	0))
				    (object RoleView "$UNNAMED$187" @1019
					Parent_View 	@1015
					location   	(-326, -12)
					label      	(object SegLabel @1020
					    Parent_View 	@1019
					    location   	(1566, 1643)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C35AF0006"
					client     	@1015
					supplier   	@1003
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1534, 1684))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @1021
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2624, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1021
				    location   	(2388, 741)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	490
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @1022
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1022
				    location   	(1108, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	426
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1023
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 320)
				label      	(object ItemLabel
				    Parent_View 	@1023
				    location   	(557, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	280
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$166" @1024
				location   	(963, 319)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B688E6B003D"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1025
					Parent_View 	@1024
					location   	(595, -17)
					label      	(object SegLabel @1026
					    Parent_View 	@1025
					    location   	(974, 361)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.081081
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B688E6C0111"
					client     	@1024
					supplier   	@1022
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(1099, 319)
					label      	(object SegLabel @1027
					    Parent_View 	@1025
					    location   	(1016, 290)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.396396
					    height     	30
					    orientation 	0))
				    (object RoleView "$UNNAMED$167" @1028
					Parent_View 	@1024
					location   	(595, -17)
					label      	(object SegLabel @1029
					    Parent_View 	@1028
					    location   	(855, 361)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B688E6C0107"
					client     	@1024
					supplier   	@1023
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(828, 319))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1030
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1030
				    location   	(1974, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1031
				location   	(2322, 1593)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1030
				vertices   	(list Points
				    (2322, 1593)
				    (2322, 1047)))
			    (object InheritView "" @1032
				stereotype 	(object SegLabel @1033
				    Parent_View 	@1032
				    location   	(2146, 905)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.460000
				    height     	5
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6AE2F5013A"
				client     	@1030
				supplier   	@966
				line_style 	3
				origin_attachment 	(2150, 937)
				terminal_attachment 	(2150, 868)
				drawSupplier 	@967)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1034
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 576)
				label      	(object ItemLabel
				    Parent_View 	@1034
				    location   	(510, 532)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	644
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	662
				height     	112
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$112" @1035
				location   	(1498, 1431)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68911401AF"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1036
					Parent_View 	@1035
					location   	(1038, -1810)
					label      	(object SegLabel @1037
					    Parent_View 	@1036
					    location   	(2027, 1472)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+anonymousTypeDefinition"
					    pctDist    	0.454389
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6891150017"
					client     	@1035
					supplier   	@1030
					vertices   	(list Points
					    (1498, 1431)
					    (2281, 1431)
					    (2281, 1047))
					line_style 	3
					origin_attachment 	(1498, 1431)
					terminal_attachment 	(2281, 1047)
					label      	(object SegLabel @1038
					    Parent_View 	@1036
					    location   	(2204, 1397)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.605419
					    height     	35
					    orientation 	0))
				    (object RoleView "$UNNAMED$113" @1039
					Parent_View 	@1035
					location   	(1038, -1810)
					label      	(object SegLabel @1040
					    Parent_View 	@1039
					    location   	(1090, 866)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6891150016"
					client     	@1035
					supplier   	@1034
					vertices   	(list Points
					    (1498, 1431)
					    (1131, 1431)
					    (1131, 632))
					line_style 	3
					origin_attachment 	(1498, 1431)
					terminal_attachment 	(1131, 632))))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @1041
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1041
				    location   	(655, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	386
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	404
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @1042
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 896)
				label      	(object ItemLabel
				    Parent_View 	@1042
				    location   	(505, 853)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	590
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	608
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$116" @1043
				location   	(534, 736)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "identityConstraintDefinitions" @1044
					Parent_View 	@1043
					location   	(86, -2144)
					label      	(object SegLabel @1045
					    Parent_View 	@1044
					    location   	(820, 748)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	550
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.111111
					    height     	286
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00299"
					client     	@1043
					supplier   	@1042
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 841)
					label      	(object SegLabel @1046
					    Parent_View 	@1044
					    location   	(595, 807)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.675926
					    height     	61
					    orientation 	0))
				    (object RoleView "$UNNAMED$117" @1047
					Parent_View 	@1043
					location   	(86, -2144)
					label      	(object SegLabel @1048
					    Parent_View 	@1047
					    location   	(576, 653)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00298"
					client     	@1043
					supplier   	@1034
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 632))))
			    (object AssociationViewNew "$UNNAMED$136" @1049
				location   	(900, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "selector" @1050
					Parent_View 	@1049
					location   	(84, 120)
					label      	(object SegLabel @1051
					    Parent_View 	@1050
					    location   	(1013, 1042)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+selector"
					    pctDist    	0.123288
					    height     	113
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E0234"
					client     	@1049
					supplier   	@1041
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 1113)
					label      	(object SegLabel @1052
					    Parent_View 	@1050
					    location   	(859, 1040)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.095890
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$137" @1053
					Parent_View 	@1049
					location   	(84, 120)
					label      	(object SegLabel @1054
					    Parent_View 	@1053
					    location   	(859, 968)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E022A"
					client     	@1049
					supplier   	@1042
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 951))))
			    (object AssociationViewNew "$UNNAMED$138" @1055
				location   	(700, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "fields" @1056
					Parent_View 	@1055
					location   	(-116, 120)
					label      	(object SegLabel @1057
					    Parent_View 	@1056
					    location   	(616, 1036)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	120
					    justify    	0
					    label      	"+fields"
					    pctDist    	0.054795
					    height     	85
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330379"
					client     	@1055
					supplier   	@1041
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 1113)
					label      	(object SegLabel @1058
					    Parent_View 	@1056
					    location   	(771, 1042)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.123077
					    height     	71
					    orientation 	0))
				    (object RoleView "$UNNAMED$139" @1059
					Parent_View 	@1055
					location   	(-116, 120)
					label      	(object SegLabel @1060
					    Parent_View 	@1059
					    location   	(659, 968)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330365"
					client     	@1055
					supplier   	@1042
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 951))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @1061
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1061
				    location   	(500, 1397)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1062
				location   	(550, 1590)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1061
				vertices   	(list Points
				    (550, 1590)
				    (550, 1495)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @1063
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1063
				    location   	(1240, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	528
				    justify    	0
				    label      	"XSDAttributeGroupContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6940200089"
				width      	546
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1064
				location   	(1406, 765)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1063
				vertices   	(list Points
				    (1406, 765)
				    (1406, 631)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1065
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1065
				    location   	(2393, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	526
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	544
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$94" @1066
				location   	(1614, 1868)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6FDDD70113"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$95" @1067
					Parent_View 	@1066
					location   	(526, 476)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6FDDDA026B"
					client     	@1066
					supplier   	@1065
					vertices   	(list Points
					    (1614, 1868)
					    (2500, 1868)
					    (2500, 1751))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(2500, 1751))
				    (object RoleView "content" @1068
					Parent_View 	@1066
					location   	(526, 476)
					label      	(object SegLabel @1069
					    Parent_View 	@1068
					    location   	(896, 1787)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.709870
					    height     	89
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6FDDDA0275"
					client     	@1066
					supplier   	@1061
					vertices   	(list Points
					    (1614, 1868)
					    (984, 1868)
					    (984, 1495))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(984, 1495)
					label      	(object SegLabel @1070
					    Parent_View 	@1068
					    location   	(1042, 1824)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.571286
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$100" @1071
				location   	(2927, 387)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B698E360386"
				roleview_list 	(list RoleViews
				    (object RoleView "attributeContents" @1072
					Parent_View 	@1071
					location   	(2463, -3757)
					label      	(object SegLabel @1073
					    Parent_View 	@1072
					    location   	(1915, 357)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeContents"
					    pctDist    	0.773060
					    height     	31
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B698E38007C"
					client     	@1071
					supplier   	@1063
					vertices   	(list Points
					    (2927, 387)
					    (1750, 387)
					    (1750, 521))
					line_style 	3
					origin_attachment 	(2927, 387)
					terminal_attachment 	(1750, 521)
					label      	(object SegLabel @1074
					    Parent_View 	@1072
					    location   	(1804, 425)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.857247
					    height     	38
					    orientation 	0))
				    (object RoleView "$UNNAMED$101" @1075
					Parent_View 	@1071
					location   	(2463, -3757)
					label      	(object SegLabel @1076
					    Parent_View 	@1075
					    location   	(2946, 1448)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B698E380072"
					client     	@1071
					supplier   	@1065
					vertices   	(list Points
					    (2927, 387)
					    (2987, 387)
					    (2987, 1671)
					    (2928, 1671))
					line_style 	3
					origin_attachment 	(2927, 387)
					terminal_attachment 	(2928, 1671))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1077
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1077
				    location   	(1699, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	556
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$76" @1078
				location   	(1750, 872)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69404E0067"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1079
					Parent_View 	@1078
					location   	(1462, -2392)
					label      	(object SegLabel @1080
					    Parent_View 	@1079
					    location   	(1640, 691)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.751037
					    height     	110
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69405002A5"
					client     	@1078
					supplier   	@1063
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 631)
					label      	(object SegLabel @1081
					    Parent_View 	@1079
					    location   	(1814, 695)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.734440
					    height     	64
					    orientation 	1))
				    (object RoleView "$UNNAMED$77" @1082
					Parent_View 	@1078
					location   	(1462, -2392)
					label      	(object SegLabel @1083
					    Parent_View 	@1082
					    location   	(1709, 1065)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B694050029B"
					client     	@1078
					supplier   	@1077
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 1113))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @1084
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1084
				    location   	(279, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$208" @1085
				location   	(1252, 1896)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BEBDC870247"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$209" @1086
					Parent_View 	@1085
					location   	(708, 1288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BEBDC8C02F9"
					client     	@1085
					supplier   	@1065
					vertices   	(list Points
					    (1252, 1896)
					    (2603, 1896)
					    (2603, 1751))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(2603, 1751))
				    (object RoleView "attributeWildcardContent" @1087
					Parent_View 	@1085
					location   	(708, 1288)
					label      	(object SegLabel @1088
					    Parent_View 	@1087
					    location   	(682, 1858)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+attributeWildcardContent"
					    pctDist    	0.381142
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BEBDC8C0303"
					client     	@1085
					supplier   	@1084
					vertices   	(list Points
					    (1252, 1896)
					    (428, 1896)
					    (428, 1223))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(428, 1223)
					label      	(object SegLabel @1089
					    Parent_View 	@1087
					    location   	(382, 1860)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.575033
					    height     	47
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$80" @1090
				location   	(1199, 1321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C275D320220"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$81" @1091
					Parent_View 	@1090
					location   	(655, 713)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C275D3C010C"
					client     	@1090
					supplier   	@1077
					vertices   	(list Points
					    (1199, 1321)
					    (1897, 1321)
					    (1897, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(1897, 1223))
				    (object RoleView "attributeWildcardContent" @1092
					Parent_View 	@1090
					location   	(655, 713)
					label      	(object SegLabel @1093
					    Parent_View 	@1092
					    location   	(857, 1279)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+attributeWildcardContent"
					    pctDist    	0.429569
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C275D3C010D"
					client     	@1090
					supplier   	@1084
					vertices   	(list Points
					    (1199, 1321)
					    (500, 1321)
					    (500, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(500, 1223)
					label      	(object SegLabel @1094
					    Parent_View 	@1092
					    location   	(576, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.782305
					    height     	43
					    orientation 	1))))
			    (object InheritView "" @1095
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1065
				supplier   	@1030
				line_style 	3
				origin_attachment 	(2606, 1641)
				terminal_attachment 	(2606, 1593)
				drawSupplier 	@1031)
			    (object InheritView "" @1096
				stereotype 	(object SegLabel @1097
				    Parent_View 	@1096
				    location   	(759, 495)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	243
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.446429
				    height     	6
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B685F17002E"
				client     	@1034
				supplier   	@973
				line_style 	3
				origin_attachment 	(753, 520)
				terminal_attachment 	(753, 465)
				drawSupplier 	@974)
			    (object InheritView "" @1098
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1003
				supplier   	@1030
				line_style 	3
				origin_attachment 	(1409, 1641)
				terminal_attachment 	(1409, 1593)
				drawSupplier 	@1031)
			    (object InheritView "" @1099
				stereotype 	(object SegLabel @1100
				    Parent_View 	@1099
				    location   	(759, 1591)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	219
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.980392
				    height     	385
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B685F55032B"
				client     	@1003
				supplier   	@1061
				line_style 	3
				origin_attachment 	(1144, 1641)
				terminal_attachment 	(1144, 1590)
				drawSupplier 	@1062)
			    (object InheritView "" @1101
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@976
				supplier   	@973
				line_style 	3
				origin_attachment 	(166, 521)
				terminal_attachment 	(166, 465)
				drawSupplier 	@974)
			    (object InheritTreeView "" @1102
				location   	(431, 222)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@989
				vertices   	(list Points
				    (431, 222)
				    (431, 130)))
			    (object InheritView "" @1103
				stereotype 	(object SegLabel @1104
				    Parent_View 	@1103
				    location   	(361, 224)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	237
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.976744
				    height     	86
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B6BD2440069"
				client     	@973
				supplier   	@989
				line_style 	3
				origin_attachment 	(275, 265)
				terminal_attachment 	(275, 222)
				drawSupplier 	@1102)
			    (object InheritTreeView "" @1105
				location   	(1309, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1022
				vertices   	(list Points
				    (1309, 465)
				    (1309, 375)))
			    (object InheritView "" @1106
				stereotype 	(object SegLabel @1107
				    Parent_View 	@1106
				    location   	(941, 495)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.464286
				    height     	10
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B688E660339"
				client     	@1034
				supplier   	@1022
				line_style 	3
				origin_attachment 	(931, 520)
				terminal_attachment 	(931, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1108
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@983
				supplier   	@1061
				line_style 	3
				origin_attachment 	(250, 1641)
				terminal_attachment 	(250, 1590)
				drawSupplier 	@1062)
			    (object InheritView "" @1109
				stereotype 	(object SegLabel @1110
				    Parent_View 	@1109
				    location   	(1205, 493)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	212
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.958333
				    height     	8
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B688E6103BE"
				client     	@996
				supplier   	@1022
				line_style 	3
				origin_attachment 	(1197, 1113)
				terminal_attachment 	(1197, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1111
				stereotype 	(object SegLabel @1112
				    Parent_View 	@1111
				    location   	(1951, 905)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.848980
				    height     	73
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B6AE2EB02A8"
				client     	@1077
				supplier   	@966
				line_style 	3
				origin_attachment 	(1878, 1113)
				terminal_attachment 	(1878, 868)
				drawSupplier 	@967)
			    (object InheritView "" @1113
				stereotype 	(object SegLabel @1114
				    Parent_View 	@1113
				    location   	(1642, 807)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	187
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.879310
				    height     	61
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B69403A0221"
				client     	@1077
				supplier   	@1063
				line_style 	3
				origin_attachment 	(1703, 1113)
				terminal_attachment 	(1703, 765)
				drawSupplier 	@1064)
			    (object InheritView "" @1115
				stereotype 	(object SegLabel @1116
				    Parent_View 	@1115
				    location   	(1354, 801)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.500000
				    height     	70
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B72D737038F"
				client     	@995
				supplier   	@1063
				line_style 	3
				origin_attachment 	(1284, 837)
				terminal_attachment 	(1284, 765)
				drawSupplier 	@1064)
			    (object InheritView "" @1117
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@965
				supplier   	@1021
				line_style 	3
				origin_attachment 	(2284, 762)
				terminal_attachment 	(2379, 762))
			    (object InheritView "" @1118
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@964
				supplier   	@1022
				line_style 	3
				origin_attachment 	(2637, 521)
				terminal_attachment 	(2637, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1119
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1021
				supplier   	@964
				line_style 	3
				origin_attachment 	(2637, 729)
				terminal_attachment 	(2637, 631))
			    (object InheritView "" @1120
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@966
				supplier   	@1022
				line_style 	3
				origin_attachment 	(1950, 521)
				terminal_attachment 	(1950, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1121
				stereotype 	(object SegLabel @1122
				    Parent_View 	@1121
				    location   	(2821, 897)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	181
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.087719
				    height     	76
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B688E4F023C"
				client     	@963
				supplier   	@1022
				line_style 	3
				origin_attachment 	(2896, 937)
				terminal_attachment 	(2896, 465)
				drawSupplier 	@1105)
			    (object InheritView "" @1123
				stereotype 	(object SegLabel @1124
				    Parent_View 	@1123
				    location   	(2313, 904)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	207
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.850622
				    height     	68
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6AE2E20381"
				client     	@975
				supplier   	@966
				line_style 	3
				origin_attachment 	(2381, 1109)
				terminal_attachment 	(2381, 868)
				drawSupplier 	@967)
			    (object InheritView "" @1125
				stereotype 	(object SegLabel @1126
				    Parent_View 	@1125
				    location   	(2878, 269)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.946667
				    height     	66
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6BD2550385"
				client     	@975
				supplier   	@989
				line_style 	3
				origin_attachment 	(2943, 1109)
				terminal_attachment 	(2943, 222)
				drawSupplier 	@1102)
			    (object InheritView "" @1127
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@1084
				supplier   	@973
				line_style 	3
				origin_attachment 	(462, 1113)
				terminal_attachment 	(462, 465)
				drawSupplier 	@974)))
		    (object ClassDiagram "9. Concrete Schema Composition"
			quid       	"3C25EB7A038C"
			title      	"9. Concrete Schema Composition"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1128
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1128
				    location   	(73, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	480
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$118" @1129
				location   	(228, 1695)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B41E60251"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$119" @1130
					Parent_View 	@1129
					location   	(-476, -385)
					label      	(object SegLabel @1131
					    Parent_View 	@1130
					    location   	(217, 1623)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B41EA02F7"
					client     	@1129
					supplier   	@1128
					vertices   	(list Points
					    (228, 1695)
					    (175, 1695)
					    (175, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(175, 1591))
				    (object RoleView "resolvedElementDeclaration" @1132
					Parent_View 	@1129
					location   	(-476, -385)
					label      	(object SegLabel @1133
					    Parent_View 	@1132
					    location   	(329, 1740)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+resolvedElementDeclaration"
					    pctDist    	1.924528
					    height     	45
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B41EA030B"
					client     	@1129
					supplier   	@1128
					vertices   	(list Points
					    (228, 1695)
					    (281, 1695)
					    (281, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(281, 1591)
					label      	(object SegLabel @1134
					    Parent_View 	@1132
					    location   	(229, 1646)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.005714
					    height     	50
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1135
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1135
				    location   	(790, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	500
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	518
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$154" @1136
				location   	(952, 1698)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B42450398"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$155" @1137
					Parent_View 	@1136
					location   	(-1288, -318)
					label      	(object SegLabel @1138
					    Parent_View 	@1137
					    location   	(860, 1623)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B4249038A"
					client     	@1136
					supplier   	@1135
					vertices   	(list Points
					    (952, 1698)
					    (901, 1698)
					    (901, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(901, 1591))
				    (object RoleView "resolvedModelGroupDefinition" @1139
					Parent_View 	@1136
					location   	(-1288, -318)
					label      	(object SegLabel @1140
					    Parent_View 	@1139
					    location   	(1020, 1739)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	564
					    justify    	0
					    label      	"+resolvedModelGroupDefinition"
					    pctDist    	1.326923
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B4249039E"
					client     	@1136
					supplier   	@1135
					vertices   	(list Points
					    (952, 1698)
					    (1004, 1698)
					    (1004, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(1004, 1591)
					label      	(object SegLabel @1141
					    Parent_View 	@1139
					    location   	(952, 1649)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.000000
					    height     	50
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @1142
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1142
				    location   	(420, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	490
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @1143
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1143
				    location   	(412, 737)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	457
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	475
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1144
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 416)
				label      	(object ItemLabel
				    Parent_View 	@1144
				    location   	(446, 285)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	388
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	406
				height     	287
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$218" @1145
				location   	(1303, 679)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "incorporatedSchema" @1146
					Parent_View 	@1145
					location   	(-41, -857)
					label      	(object SegLabel @1147
					    Parent_View 	@1146
					    location   	(1059, 381)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+incorporatedSchema"
					    pctDist    	0.700384
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100305"
					client     	@1145
					supplier   	@1144
					vertices   	(list Points
					    (1303, 679)
					    (1303, 419)
					    (843, 419))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(843, 419)
					label      	(object SegLabel @1148
					    Parent_View 	@1146
					    location   	(922, 454)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.890746
					    height     	35
					    orientation 	0))
				    (object RoleView "$UNNAMED$219" @1149
					Parent_View 	@1145
					location   	(-41, -857)
					label      	(object SegLabel @1150
					    Parent_View 	@1149
					    location   	(1045, 956)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100304"
					client     	@1145
					supplier   	@1142
					vertices   	(list Points
					    (1303, 679)
					    (1303, 997)
					    (901, 997))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(901, 997))))
			    (object AssociationViewNew "$UNNAMED$216" @1151
				location   	(1216, 649)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedSchema" @1152
					Parent_View 	@1151
					location   	(336, -1399)
					label      	(object SegLabel @1153
					    Parent_View 	@1152
					    location   	(1038, 500)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+resolvedSchema"
					    pctDist    	0.601923
					    height     	35
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0043"
					client     	@1151
					supplier   	@1144
					vertices   	(list Points
					    (1216, 649)
					    (1216, 534)
					    (843, 534))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(843, 534)
					label      	(object SegLabel @1154
					    Parent_View 	@1152
					    location   	(926, 577)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.831643
					    height     	43
					    orientation 	0))
				    (object RoleView "$UNNAMED$217" @1155
					Parent_View 	@1151
					location   	(336, -1399)
					label      	(object SegLabel @1156
					    Parent_View 	@1155
					    location   	(974, 756)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0042"
					client     	@1151
					supplier   	@1143
					vertices   	(list Points
					    (1216, 649)
					    (1216, 797)
					    (877, 797))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(877, 797))))
			    (object AssociationViewNew "$UNNAMED$222" @1157
				location   	(662, 642)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25D3A60131"
				roleview_list 	(list RoleViews
				    (object RoleView "referencingDirectives" @1158
					Parent_View 	@1157
					location   	(-234, 114)
					label      	(object SegLabel @1159
					    Parent_View 	@1158
					    location   	(878, 675)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+referencingDirectives"
					    pctDist    	0.408759
					    height     	216
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25D3A90371"
					client     	@1157
					supplier   	@1143
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 725)
					label      	(object SegLabel @1160
					    Parent_View 	@1158
					    location   	(615, 678)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.430657
					    height     	48
					    orientation 	1))
				    (object RoleView "$UNNAMED$223" @1161
					Parent_View 	@1157
					location   	(-234, 114)
					label      	(object SegLabel @1162
					    Parent_View 	@1161
					    location   	(621, 576)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25D3A90370"
					client     	@1157
					supplier   	@1144
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 559))))
			    (object AssociationViewNew "$UNNAMED$224" @1163
				location   	(75, 188)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ECF0005E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$225" @1164
					Parent_View 	@1163
					location   	(-853, -308)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ECF4001E"
					client     	@1163
					supplier   	@1144
					vertices   	(list Points
					    (75, 188)
					    (75, 128)
					    (510, 128)
					    (510, 273))
					line_style 	3
					origin_attachment 	(75, 188)
					terminal_attachment 	(510, 273))
				    (object RoleView "rootVersion" @1165
					Parent_View 	@1163
					location   	(-853, -308)
					label      	(object SegLabel @1166
					    Parent_View 	@1165
					    location   	(176, 74)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+rootVersion"
					    pctDist    	-0.593750
					    height     	101
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ECF40028"
					client     	@1163
					supplier   	@1144
					vertices   	(list Points
					    (75, 188)
					    (75, 380)
					    (437, 380))
					line_style 	3
					origin_attachment 	(75, 188)
					terminal_attachment 	(437, 380)
					label      	(object SegLabel @1167
					    Parent_View 	@1165
					    location   	(368, 328)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.874755
					    height     	53
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$226" @1168
				location   	(1262, 134)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ED0B011B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$227" @1169
					Parent_View 	@1168
					location   	(334, -362)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ED0F0121"
					client     	@1168
					supplier   	@1144
					vertices   	(list Points
					    (1262, 134)
					    (766, 134)
					    (766, 273))
					line_style 	3
					origin_attachment 	(1262, 134)
					terminal_attachment 	(766, 273))
				    (object RoleView "originalVersion" @1170
					Parent_View 	@1168
					location   	(334, -362)
					label      	(object SegLabel @1171
					    Parent_View 	@1170
					    location   	(1164, 97)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+originalVersion"
					    pctDist    	-1.650000
					    height     	38
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ED0F012B"
					client     	@1168
					supplier   	@1144
					vertices   	(list Points
					    (1262, 134)
					    (1322, 134)
					    (1322, 334)
					    (843, 334))
					line_style 	3
					origin_attachment 	(1262, 134)
					terminal_attachment 	(843, 334)
					label      	(object SegLabel @1172
					    Parent_View 	@1170
					    location   	(919, 279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898108
					    height     	56
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$228" @1173
				location   	(126, 656)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25EEAB001F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$229" @1174
					Parent_View 	@1173
					location   	(-834, 160)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25EEAF010B"
					client     	@1173
					supplier   	@1144
					vertices   	(list Points
					    (126, 656)
					    (513, 656)
					    (513, 559))
					line_style 	3
					origin_attachment 	(126, 656)
					terminal_attachment 	(513, 559))
				    (object RoleView "incorporatedVersions" @1175
					Parent_View 	@1173
					location   	(-834, 160)
					label      	(object SegLabel @1176
					    Parent_View 	@1175
					    location   	(217, 431)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	408
					    justify    	0
					    label      	"+incorporatedVersions"
					    pctDist    	0.643902
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25EEAF0115"
					client     	@1173
					supplier   	@1144
					vertices   	(list Points
					    (126, 656)
					    (66, 656)
					    (66, 472)
					    (437, 472))
					line_style 	3
					origin_attachment 	(126, 656)
					terminal_attachment 	(437, 472)
					label      	(object SegLabel @1177
					    Parent_View 	@1175
					    location   	(356, 526)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.868468
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$232" @1178
				location   	(642, 126)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2784730194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$233" @1179
					Parent_View 	@1178
					location   	(82, -418)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C27847501F1"
					client     	@1178
					supplier   	@1144
					vertices   	(list Points
					    (642, 126)
					    (588, 126)
					    (588, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(588, 273))
				    (object RoleView "schemaForSchema" @1180
					Parent_View 	@1178
					location   	(82, -418)
					label      	(object SegLabel @1181
					    Parent_View 	@1180
					    location   	(639, 74)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+schemaForSchema"
					    pctDist    	-0.055556
					    height     	53
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C27847501FB"
					client     	@1178
					supplier   	@1144
					vertices   	(list Points
					    (642, 126)
					    (697, 126)
					    (697, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(697, 273)
					label      	(object SegLabel @1182
					    Parent_View 	@1180
					    location   	(643, 213)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.701863
					    height     	55
					    orientation 	1))))
			    (object InheritView "" @1183
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1142
				supplier   	@1143
				line_style 	3
				origin_attachment 	(638, 937)
				terminal_attachment 	(638, 843))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1184
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1184
				    location   	(67, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	492
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$72" @1185
				location   	(234, 1340)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B426B0194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$73" @1186
					Parent_View 	@1185
					location   	(-310, -4)
					label      	(object SegLabel @1187
					    Parent_View 	@1186
					    location   	(140, 1271)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B426D0309"
					client     	@1185
					supplier   	@1184
					vertices   	(list Points
					    (234, 1340)
					    (181, 1340)
					    (181, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(181, 1239))
				    (object RoleView "resolvedAttributeDeclaration" @1188
					Parent_View 	@1185
					location   	(-310, -4)
					label      	(object SegLabel @1189
					    Parent_View 	@1188
					    location   	(333, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+resolvedAttributeDeclaration"
					    pctDist    	1.867925
					    height     	49
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B426D0313"
					client     	@1185
					supplier   	@1184
					vertices   	(list Points
					    (234, 1340)
					    (287, 1340)
					    (287, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(287, 1239)
					label      	(object SegLabel @1190
					    Parent_View 	@1188
					    location   	(241, 1295)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.042945
					    height     	46
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1191
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1760, 144)
				label      	(object ItemLabel
				    Parent_View 	@1191
				    location   	(1517, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	486
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	504
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @1192
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1712, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1192
				    location   	(1599, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	226
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C359403D2"
				width      	244
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$306" @1193
				location   	(1668, 280)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4AE01CC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$307" @1194
					Parent_View 	@1193
					location   	(8, -152)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4AF010F"
					client     	@1193
					supplier   	@1191
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 199))
				    (object RoleView "syntheticFacets" @1195
					Parent_View 	@1193
					location   	(8, -152)
					label      	(object SegLabel @1196
					    Parent_View 	@1195
					    location   	(1852, 300)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+syntheticFacets"
					    pctDist    	0.246154
					    height     	184
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4AF011A"
					client     	@1193
					supplier   	@1192
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 361)
					label      	(object SegLabel @1197
					    Parent_View 	@1195
					    location   	(1625, 301)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.276923
					    height     	44
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @1198
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 944)
				label      	(object ItemLabel
				    Parent_View 	@1198
				    location   	(1426, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1199
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 640)
				label      	(object ItemLabel
				    Parent_View 	@1199
				    location   	(1515, 597)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	540
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$308" @1200
				location   	(1508, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D3028E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$309" @1201
					Parent_View 	@1200
					location   	(-12, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4D402F3"
					client     	@1200
					supplier   	@1199
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 695))
				    (object RoleView "syntheticParticle" @1202
					Parent_View 	@1200
					location   	(-12, -280)
					label      	(object SegLabel @1203
					    Parent_View 	@1202
					    location   	(1695, 767)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+syntheticParticle"
					    pctDist    	-0.259259
					    height     	187
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4D402FD"
					client     	@1200
					supplier   	@1198
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 889)
					label      	(object SegLabel @1204
					    Parent_View 	@1202
					    location   	(1454, 829)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.395062
					    height     	55
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1205
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1205
				    location   	(756, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$84" @1206
				location   	(919, 1349)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B425E01F9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$85" @1207
					Parent_View 	@1206
					location   	(-233, -59)
					label      	(object SegLabel @1208
					    Parent_View 	@1207
					    location   	(825, 1273)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B42620046"
					client     	@1206
					supplier   	@1205
					vertices   	(list Points
					    (919, 1349)
					    (866, 1349)
					    (866, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(866, 1239))
				    (object RoleView "resolvedAttributeGroupDefinition" @1209
					Parent_View 	@1206
					location   	(-233, -59)
					label      	(object SegLabel @1210
					    Parent_View 	@1209
					    location   	(993, 1393)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	600
					    justify    	0
					    label      	"+resolvedAttributeGroupDefinition"
					    pctDist    	1.377358
					    height     	44
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B42620050"
					client     	@1206
					supplier   	@1205
					vertices   	(list Points
					    (919, 1349)
					    (973, 1349)
					    (973, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(973, 1239)
					label      	(object SegLabel @1211
					    Parent_View 	@1209
					    location   	(919, 1296)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.014925
					    height     	54
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @1212
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1952, 944)
				label      	(object ItemLabel
				    Parent_View 	@1212
				    location   	(1816, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	290
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$310" @1213
				location   	(2025, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D901F6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$311" @1214
					Parent_View 	@1213
					location   	(153, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4DA0284"
					client     	@1213
					supplier   	@1199
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 695))
				    (object RoleView "syntheticWildcard" @1215
					Parent_View 	@1213
					location   	(153, -280)
					label      	(object SegLabel @1216
					    Parent_View 	@1215
					    location   	(1826, 838)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+syntheticWildcard"
					    pctDist    	0.488095
					    height     	200
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4DA028E"
					client     	@1213
					supplier   	@1212
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 889)
					label      	(object SegLabel @1217
					    Parent_View 	@1215
					    location   	(2098, 840)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.506173
					    height     	73
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$312" @1218
				location   	(1754, 1178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C68FF01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$313" @1219
					Parent_View 	@1218
					location   	(-198, 234)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4C69020317"
					client     	@1218
					supplier   	@1205
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(1301, 1178))
				    (object RoleView "syntheticWildcard" @1220
					Parent_View 	@1218
					location   	(-198, 234)
					label      	(object SegLabel @1221
					    Parent_View 	@1220
					    location   	(1828, 1261)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+syntheticWildcard"
					    pctDist    	0.163355
					    height     	83
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4C69020318"
					client     	@1218
					supplier   	@1212
					vertices   	(list Points
					    (1754, 1178)
					    (2028, 1178)
					    (2028, 999))
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(2028, 999)
					label      	(object SegLabel @1222
					    Parent_View 	@1220
					    location   	(2082, 1098)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.783664
					    height     	54
					    orientation 	1))))))
		    (object ClassDiagram "10. Diagnostics"
			quid       	"3BFE5F0803E2"
			title      	"10. Diagnostics"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::DOMNode" @1223
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(400, 1024)
				label      	(object ItemLabel
				    Parent_View 	@1223
				    location   	(66, 990)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@1223
				    location   	(66, 940)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BFE64A50117"
				width      	686
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnosticSeverity" @1224
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 656)
				label      	(object ItemLabel
				    Parent_View 	@1224
				    location   	(818, 547)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDDiagnosticSeverity")
				stereotype 	(object ItemLabel
				    Parent_View 	@1224
				    location   	(818, 497)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BFE68A7032F"
				width      	462
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1225
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 112)
				label      	(object ItemLabel
				    Parent_View 	@1225
				    location   	(59, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	266
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	284
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @1226
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(896, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1226
				    location   	(540, 62)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	713
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	731
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @1227
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 608)
				label      	(object ItemLabel
				    Parent_View 	@1227
				    location   	(64, 402)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"XSDDiagnostic")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3BFE5F910046"
				width      	658
				height     	436
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$214" @1228
				location   	(144, 283)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE6431035F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$215" @1229
					Parent_View 	@1228
					location   	(-1088, -661)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE643201C6"
					client     	@1228
					supplier   	@1225
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 176))
				    (object RoleView "allDiagnostics" @1230
					Parent_View 	@1228
					location   	(-1088, -661)
					label      	(object SegLabel @1231
					    Parent_View 	@1230
					    location   	(309, 330)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+allDiagnostics"
					    pctDist    	0.448598
					    height     	165
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE643201C7"
					client     	@1228
					supplier   	@1227
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 390)
					label      	(object SegLabel @1232
					    Parent_View 	@1230
					    location   	(96, 327)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.420561
					    height     	49
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$210" @1233
				location   	(1028, 440)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE622703CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$211" @1234
					Parent_View 	@1233
					location   	(-396, -72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE622B0061"
					client     	@1233
					supplier   	@1227
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(713, 440))
				    (object RoleView "components" @1235
					Parent_View 	@1233
					location   	(-396, -72)
					label      	(object SegLabel @1236
					    Parent_View 	@1235
					    location   	(938, 230)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+components"
					    pctDist    	0.829181
					    height     	151
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE622B006C"
					client     	@1233
					supplier   	@1226
					vertices   	(list Points
					    (1028, 440)
					    (1088, 440)
					    (1088, 174))
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(1088, 174)
					label      	(object SegLabel @1237
					    Parent_View 	@1235
					    location   	(1143, 232)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.823848
					    height     	55
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$212" @1238
				location   	(688, 282)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE62690165"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$213" @1239
					Parent_View 	@1238
					location   	(160, -278)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE626A0026"
					client     	@1238
					supplier   	@1226
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 174))
				    (object RoleView "diagnostics" @1240
					Parent_View 	@1238
					location   	(160, -278)
					label      	(object SegLabel @1241
					    Parent_View 	@1240
					    location   	(822, 330)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+diagnostics"
					    pctDist    	0.452632
					    height     	134
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE626A0027"
					client     	@1238
					supplier   	@1227
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 390)
					label      	(object SegLabel @1242
					    Parent_View 	@1240
					    location   	(645, 335)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.494737
					    height     	44
					    orientation 	1))))
			    (object InheritView "" @1243
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C0F4C01A1"
				client     	@1227
				supplier   	@1226
				line_style 	3
				origin_attachment 	(575, 390)
				terminal_attachment 	(575, 174))))
		    (object ClassDiagram "11. Supplemental"
			quid       	"3C287E49019B"
			title      	"11. Supplemental"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1244
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(464, 816)
				label      	(object ItemLabel
				    Parent_View 	@1244
				    location   	(47, 760)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	834
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	852
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1245
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2112, 880)
				label      	(object ItemLabel
				    Parent_View 	@1245
				    location   	(1731, 824)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	762
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	780
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @1246
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1246
				    location   	(48, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	480
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	498
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @1247
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2384, 112)
				label      	(object ItemLabel
				    Parent_View 	@1247
				    location   	(2236, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"XSDDiagnostic")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3BFE5F910046"
				width      	314
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$236" @1248
				location   	(1382, 84)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2882C50137"
				roleview_list 	(list RoleViews
				    (object RoleView "primaryComponent" @1249
					Parent_View 	@1248
					location   	(-250, -508)
					label      	(object SegLabel @1250
					    Parent_View 	@1249
					    location   	(756, 116)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+primaryComponent"
					    pctDist    	0.740828
					    height     	32
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2882C70113"
					client     	@1248
					supplier   	@1246
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(537, 84)
					label      	(object SegLabel @1251
					    Parent_View 	@1249
					    location   	(624, 55)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.897260
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$237" @1252
					Parent_View 	@1248
					location   	(-250, -508)
					label      	(object SegLabel @1253
					    Parent_View 	@1252
					    location   	(2058, 126)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2882C70112"
					client     	@1248
					supplier   	@1247
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(2227, 84))))
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1254
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 688)
				label      	(object ItemLabel
				    Parent_View 	@1254
				    location   	(1778, 607)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	764
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@1254
				    location   	(1778, 667)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	722
				    compartmentItems 	(list Compartment
					"+ elementDeclarationReference : boolean"
					"+ circular : boolean"))
				width      	782
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @1255
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1072)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1255
				    location   	(2100, 991)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	440
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				compartment 	(object Compartment
				    Parent_View 	@1255
				    location   	(2100, 1051)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	423
				    compartmentItems 	(list Compartment
					"+ facetName : String"
					"+ effectiveValue : Value"))
				width      	458
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1256
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 624)
				label      	(object ItemLabel
				    Parent_View 	@1256
				    location   	(47, 568)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	802
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				compartment 	(object Compartment
				    Parent_View 	@1256
				    location   	(47, 628)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	769
				    compartmentItems 	(list Compartment
					"+ modelGroupDefinitionReference : boolean"))
				width      	820
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @1257
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 288)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1257
				    location   	(1005, 157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	454
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				compartment 	(object Compartment
				    Parent_View 	@1257
				    location   	(1005, 217)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	4
				    max_width  	356
				    compartmentItems 	(list Compartment
					"+ aliasName : String"
					"+ uRI : String"
					"+ aliasURI : String"
					"+ qName : String"))
				width      	472
				height     	286
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @1258
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 352)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1258
				    location   	(48, 296)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	544
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	562
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1259
				location   	(320, 510)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1258
				vertices   	(list Points
				    (320, 510)
				    (320, 420)))
			    (object InheritView "" @1260
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@1256
				supplier   	@1258
				line_style 	3
				origin_attachment 	(81, 556)
				terminal_attachment 	(81, 510)
				drawSupplier 	@1259)
			    (object InheritView "" @1261
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@1244
				supplier   	@1258
				line_style 	3
				origin_attachment 	(877, 748)
				terminal_attachment 	(877, 510)
				drawSupplier 	@1259)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @1262
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1808)
				label      	(object ItemLabel
				    Parent_View 	@1262
				    location   	(2101, 1761)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	438
				    justify    	0
				    label      	"XSDMaxInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C787D00DA"
				width      	456
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @1263
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1776)
				label      	(object ItemLabel
				    Parent_View 	@1263
				    location   	(35, 1729)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	475
				    justify    	0
				    label      	"XSDMinInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C788702C9"
				width      	493
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @1264
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1936)
				label      	(object ItemLabel
				    Parent_View 	@1264
				    location   	(35, 1889)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	475
				    justify    	0
				    label      	"XSDMinExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C792D000A"
				width      	493
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @1265
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 1968)
				label      	(object ItemLabel
				    Parent_View 	@1265
				    location   	(2073, 1917)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDMaxExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C789600C2"
				width      	480
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @1266
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1424)
				label      	(object ItemLabel
				    Parent_View 	@1266
				    location   	(2134, 1372)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDCardinalityFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C755D03D2"
				width      	422
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @1267
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1264)
				label      	(object ItemLabel
				    Parent_View 	@1267
				    location   	(2163, 1212)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	378
				    justify    	0
				    label      	"XSDBoundedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C751D0344"
				width      	396
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @1268
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 1392)
				label      	(object ItemLabel
				    Parent_View 	@1268
				    location   	(43, 1340)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"XSDOrderedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C74DD0248"
				width      	380
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @1269
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1232)
				label      	(object ItemLabel
				    Parent_View 	@1269
				    location   	(49, 1178)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	382
				    justify    	0
				    label      	"XSDNumericFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C75950206"
				width      	400
				height     	132
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @1270
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1616)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1270
				    location   	(2135, 1535)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDMaxFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CEB010E"
				compartment 	(object Compartment
				    Parent_View 	@1270
				    location   	(2135, 1595)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	363
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	420
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @1271
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2288)
				label      	(object ItemLabel
				    Parent_View 	@1271
				    location   	(2102, 2236)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	436
				    justify    	0
				    label      	"XSDWhiteSpaceFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C784601B7"
				width      	454
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @1272
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 2624)
				label      	(object ItemLabel
				    Parent_View 	@1272
				    location   	(2074, 2572)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDFractionDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79BE02EE"
				width      	478
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @1273
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 2128)
				label      	(object ItemLabel
				    Parent_View 	@1273
				    location   	(2196, 2076)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"XSDPatternFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ADB026C"
				width      	362
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @1274
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2096)
				label      	(object ItemLabel
				    Parent_View 	@1274
				    location   	(36, 2044)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	440
				    justify    	0
				    label      	"XSDEnumerationFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ACE0141"
				width      	458
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @1275
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 2272)
				label      	(object ItemLabel
				    Parent_View 	@1275
				    location   	(38, 2220)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	340
				    justify    	0
				    label      	"XSDLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C776200E7"
				width      	358
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinFacet" @1276
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1584)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1276
				    location   	(38, 1503)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDMinFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CDE037C"
				compartment 	(object Compartment
				    Parent_View 	@1276
				    location   	(38, 1563)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	363
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	422
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @1277
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2464)
				label      	(object ItemLabel
				    Parent_View 	@1277
				    location   	(2111, 2412)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDMaxLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C77C70146"
				width      	436
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @1278
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2448)
				label      	(object ItemLabel
				    Parent_View 	@1278
				    location   	(39, 2396)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDMinLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C778C0065"
				width      	420
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @1279
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2608)
				label      	(object ItemLabel
				    Parent_View 	@1279
				    location   	(38, 2556)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDTotalDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79A0020E"
				width      	422
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1280
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 1152)
				label      	(object ItemLabel
				    Parent_View 	@1280
				    location   	(667, 1100)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	540
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @1281
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 1072)
				label      	(object ItemLabel
				    Parent_View 	@1281
				    location   	(50, 1020)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1282
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 1360)
				label      	(object ItemLabel
				    Parent_View 	@1282
				    location   	(944, 1304)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	576
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@1282
				    location   	(944, 1364)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	538
				    compartmentItems 	(list Compartment
					"<<0..*>> + validFacets : String"))
				width      	594
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$248" @1283
				location   	(1446, 1218)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A994030A"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1284
					Parent_View 	@1283
					location   	(582, -78)
					label      	(object SegLabel @1285
					    Parent_View 	@1284
					    location   	(1580, 1173)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+rootTypeDefinition"
					    pctDist    	3.268293
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A99700DD"
					client     	@1283
					supplier   	@1282
					vertices   	(list Points
					    (1446, 1218)
					    (1487, 1218)
					    (1487, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1487, 1292)
					label      	(object SegLabel @1286
					    Parent_View 	@1284
					    location   	(1439, 1257)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.184211
					    height     	39
					    orientation 	1))
				    (object RoleView "$UNNAMED$249" @1287
					Parent_View 	@1283
					location   	(582, -78)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A99700E7"
					client     	@1283
					supplier   	@1282
					vertices   	(list Points
					    (1446, 1218)
					    (1405, 1218)
					    (1405, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1405, 1292))))
			    (object AssociationViewNew "$UNNAMED$252" @1288
				location   	(1733, 1575)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B08D0252"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$253" @1289
					Parent_View 	@1288
					location   	(917, 7)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B08E0091"
					client     	@1288
					supplier   	@1282
					vertices   	(list Points
					    (1733, 1575)
					    (1487, 1575)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "maxFacet" @1290
					Parent_View 	@1288
					location   	(917, 7)
					label      	(object SegLabel @1291
					    Parent_View 	@1290
					    location   	(1751, 1541)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+maxFacet"
					    pctDist    	0.046243
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B08E009B"
					client     	@1288
					supplier   	@1270
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(2126, 1575)
					label      	(object SegLabel @1292
					    Parent_View 	@1290
					    location   	(2042, 1536)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.789157
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$254" @1293
				location   	(1587, 1793)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AB0396"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$255" @1294
					Parent_View 	@1293
					location   	(707, -31)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0AC03C9"
					client     	@1293
					supplier   	@1282
					vertices   	(list Points
					    (1587, 1793)
					    (1447, 1793)
					    (1447, 1428))
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(1447, 1428))
				    (object RoleView "maxInclusiveFacet" @1295
					Parent_View 	@1293
					location   	(707, -31)
					label      	(object SegLabel @1296
					    Parent_View 	@1295
					    location   	(1737, 1751)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+maxInclusiveFacet"
					    pctDist    	0.298441
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0AC03D4"
					client     	@1293
					supplier   	@1262
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(2092, 1793)
					label      	(object SegLabel @1297
					    Parent_View 	@1295
					    location   	(2020, 1754)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.859155
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$256" @1298
				location   	(937, 1787)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AF0338"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$257" @1299
					Parent_View 	@1298
					location   	(617, -5)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B001F9"
					client     	@1298
					supplier   	@1282
					vertices   	(list Points
					    (937, 1787)
					    (997, 1787)
					    (997, 1428))
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(997, 1428))
				    (object RoleView "minInclusiveFacet" @1300
					Parent_View 	@1298
					location   	(617, -5)
					label      	(object SegLabel @1301
					    Parent_View 	@1300
					    location   	(792, 1745)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+minInclusiveFacet"
					    pctDist    	0.346062
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B00203"
					client     	@1298
					supplier   	@1263
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(518, 1787)
					label      	(object SegLabel @1302
					    Parent_View 	@1300
					    location   	(575, 1743)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.863962
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$258" @1303
				location   	(981, 1937)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B30207"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$259" @1304
					Parent_View 	@1303
					location   	(677, -79)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B40190"
					client     	@1303
					supplier   	@1282
					vertices   	(list Points
					    (981, 1937)
					    (1041, 1937)
					    (1041, 1428))
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(1041, 1428))
				    (object RoleView "minExclusiveFacet" @1305
					Parent_View 	@1303
					location   	(677, -79)
					label      	(object SegLabel @1306
					    Parent_View 	@1305
					    location   	(823, 1900)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+minExclusiveFacet"
					    pctDist    	0.341253
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B4019A"
					client     	@1303
					supplier   	@1264
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(518, 1937)
					label      	(object SegLabel @1307
					    Parent_View 	@1305
					    location   	(589, 1897)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.846652
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$260" @1308
				location   	(1469, 1953)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B6028D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$261" @1309
					Parent_View 	@1308
					location   	(621, -95)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B70217"
					client     	@1308
					supplier   	@1282
					vertices   	(list Points
					    (1469, 1953)
					    (1400, 1953)
					    (1400, 1428))
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(1400, 1428))
				    (object RoleView "maxExclusiveFacet" @1310
					Parent_View 	@1308
					location   	(621, -95)
					label      	(object SegLabel @1311
					    Parent_View 	@1310
					    location   	(1646, 1913)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+maxExclusiveFacet"
					    pctDist    	0.298097
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B70221"
					client     	@1308
					supplier   	@1265
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(2064, 1953)
					label      	(object SegLabel @1312
					    Parent_View 	@1310
					    location   	(1961, 1913)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.827236
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$262" @1313
				location   	(1122, 2180)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BC0051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$263" @1314
					Parent_View 	@1313
					location   	(-318, 628)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0BC0246"
					client     	@1313
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "lengthFacet" @1315
					Parent_View 	@1313
					location   	(-318, 628)
					label      	(object SegLabel @1316
					    Parent_View 	@1315
					    location   	(804, 2204)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+lengthFacet"
					    pctDist    	0.475472
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0BC0250"
					client     	@1313
					supplier   	@1275
					vertices   	(list Points
					    (1122, 2180)
					    (1122, 2240)
					    (387, 2240))
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(387, 2240)
					label      	(object SegLabel @1317
					    Parent_View 	@1315
					    location   	(471, 2204)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.895597
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$266" @1318
				location   	(1084, 1989)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C2021D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$267" @1319
					Parent_View 	@1318
					location   	(-1380, 437)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C300AB"
					client     	@1318
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "enumerationFacets" @1320
					Parent_View 	@1318
					location   	(-1380, 437)
					label      	(object SegLabel @1321
					    Parent_View 	@1320
					    location   	(837, 2016)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+enumerationFacets"
					    pctDist    	0.465857
					    height     	34
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C300AC"
					client     	@1318
					supplier   	@1274
					vertices   	(list Points
					    (1084, 1989)
					    (1084, 2049)
					    (485, 2049))
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(485, 2049)
					label      	(object SegLabel @1322
					    Parent_View 	@1320
					    location   	(583, 2021)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.851290
					    height     	29
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$268" @1323
				location   	(1451, 2074)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C50159"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$269" @1324
					Parent_View 	@1323
					location   	(-1525, 538)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C600B0"
					client     	@1323
					supplier   	@1282
					vertices   	(list Points
					    (1451, 2074)
					    (1362, 2074)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "patternFacets" @1325
					Parent_View 	@1323
					location   	(-1525, 538)
					label      	(object SegLabel @1326
					    Parent_View 	@1325
					    location   	(1720, 2038)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+patternFacets"
					    pctDist    	0.367223
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C600BA"
					client     	@1323
					supplier   	@1273
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(2187, 2074)
					label      	(object SegLabel @1327
					    Parent_View 	@1325
					    location   	(1972, 2035)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.708649
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$270" @1328
				location   	(1827, 1400)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C802A7"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$271" @1329
					Parent_View 	@1328
					location   	(-1149, -472)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C901EA"
					client     	@1328
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(1529, 1400))
				    (object RoleView "cardinalityFacet" @1330
					Parent_View 	@1328
					location   	(-1149, -472)
					label      	(object SegLabel @1331
					    Parent_View 	@1330
					    location   	(1847, 1358)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+cardinalityFacet"
					    pctDist    	0.071730
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C901F5"
					client     	@1328
					supplier   	@1266
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(2125, 1400)
					label      	(object SegLabel @1332
					    Parent_View 	@1330
					    location   	(2083, 1357)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.863426
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$280" @1333
				location   	(1262, 2413)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DB0377"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$281" @1334
					Parent_View 	@1333
					location   	(-786, 301)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DC035A"
					client     	@1333
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "fractionDigitsFacet" @1335
					Parent_View 	@1333
					location   	(-786, 301)
					label      	(object SegLabel @1336
					    Parent_View 	@1335
					    location   	(1608, 2556)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+fractionDigitsFacet"
					    pctDist    	0.537393
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DC0364"
					client     	@1333
					supplier   	@1272
					vertices   	(list Points
					    (1262, 2413)
					    (1262, 2596)
					    (2065, 2596))
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(2065, 2596)
					label      	(object SegLabel @1337
					    Parent_View 	@1335
					    location   	(1979, 2556)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.913886
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$284" @1338
				location   	(1841, 1306)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0E300D9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$285" @1339
					Parent_View 	@1338
					location   	(-1135, -790)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0E4038E"
					client     	@1338
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(1529, 1306))
				    (object RoleView "boundedFacet" @1340
					Parent_View 	@1338
					location   	(-1135, -790)
					label      	(object SegLabel @1341
					    Parent_View 	@1340
					    location   	(1832, 1270)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+boundedFacet"
					    pctDist    	-0.031746
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0E40398"
					client     	@1338
					supplier   	@1267
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(2154, 1306)
					label      	(object SegLabel @1342
					    Parent_View 	@1340
					    location   	(2077, 1275)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.754717
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$264" @1343
				location   	(1328, 2186)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BF018C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$265" @1344
					Parent_View 	@1343
					location   	(-640, 634)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C0006B"
					client     	@1343
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "whiteSpaceFacet" @1345
					Parent_View 	@1343
					location   	(-640, 634)
					label      	(object SegLabel @1346
					    Parent_View 	@1345
					    location   	(1673, 2207)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+whiteSpaceFacet"
					    pctDist    	0.490909
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C00075"
					client     	@1343
					supplier   	@1271
					vertices   	(list Points
					    (1328, 2186)
					    (1328, 2246)
					    (2093, 2246))
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(2093, 2246)
					label      	(object SegLabel @1347
					    Parent_View 	@1345
					    location   	(2033, 2203)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.926763
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$282" @1348
				location   	(674, 1390)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DF0048"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$283" @1349
					Parent_View 	@1348
					location   	(-1854, -706)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DF03B9"
					client     	@1348
					supplier   	@1282
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(935, 1390))
				    (object RoleView "orderedFacet" @1350
					Parent_View 	@1348
					location   	(-1854, -706)
					label      	(object SegLabel @1351
					    Parent_View 	@1350
					    location   	(658, 1353)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+orderedFacet"
					    pctDist    	0.061538
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DF03C3"
					client     	@1348
					supplier   	@1268
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(414, 1390)
					label      	(object SegLabel @1352
					    Parent_View 	@1350
					    location   	(510, 1355)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.634615
					    height     	36
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$272" @1353
				location   	(687, 1296)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CB039C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$273" @1354
					Parent_View 	@1353
					location   	(-1809, -576)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0CC03D0"
					client     	@1353
					supplier   	@1282
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(935, 1296))
				    (object RoleView "numericFacet" @1355
					Parent_View 	@1353
					location   	(-1809, -576)
					label      	(object SegLabel @1356
					    Parent_View 	@1355
					    location   	(668, 1257)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+numericFacet"
					    pctDist    	0.080972
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0CC03D1"
					client     	@1353
					supplier   	@1269
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(440, 1296)
					label      	(object SegLabel @1357
					    Parent_View 	@1355
					    location   	(506, 1260)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.736842
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$286" @1358
				location   	(1689, 1662)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B44401EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$287" @1359
					Parent_View 	@1358
					location   	(-183, -354)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B4450360"
					client     	@1358
					supplier   	@1282
					vertices   	(list Points
					    (1689, 1662)
					    (1487, 1662)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "effectiveMaxFacet" @1360
					Parent_View 	@1358
					location   	(-183, -354)
					label      	(object SegLabel @1361
					    Parent_View 	@1360
					    location   	(1769, 1623)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+effectiveMaxFacet"
					    pctDist    	0.182051
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B445036A"
					client     	@1358
					supplier   	@1270
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(2126, 1662)
					label      	(object SegLabel @1362
					    Parent_View 	@1360
					    location   	(2044, 1627)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.815385
					    height     	36
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$288" @1363
				location   	(1328, 2258)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B54F0145"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$289" @1364
					Parent_View 	@1363
					location   	(-1072, -462)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B550038C"
					client     	@1363
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "effectiveWhiteSpaceFacet" @1365
					Parent_View 	@1363
					location   	(-1072, -462)
					label      	(object SegLabel @1366
					    Parent_View 	@1365
					    location   	(1685, 2288)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+effectiveWhiteSpaceFacet"
					    pctDist    	0.508541
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5500396"
					client     	@1363
					supplier   	@1271
					vertices   	(list Points
					    (1328, 2258)
					    (1328, 2324)
					    (2093, 2324))
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(2093, 2324)
					label      	(object SegLabel @1367
					    Parent_View 	@1365
					    location   	(2009, 2293)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898817
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$290" @1368
				location   	(1297, 2366)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B5C4011C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$291" @1369
					Parent_View 	@1368
					location   	(-607, -722)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5C5020D"
					client     	@1368
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "effectiveMaxLengthFacet" @1370
					Parent_View 	@1368
					location   	(-607, -722)
					label      	(object SegLabel @1371
					    Parent_View 	@1370
					    location   	(1657, 2463)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+effectiveMaxLengthFacet"
					    pctDist    	0.526906
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5C50217"
					client     	@1368
					supplier   	@1277
					vertices   	(list Points
					    (1297, 2366)
					    (1297, 2499)
					    (2102, 2499))
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(2102, 2499)
					label      	(object SegLabel @1372
					    Parent_View 	@1370
					    location   	(2007, 2471)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.899308
					    height     	29
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$292" @1373
				location   	(1262, 2449)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B62A00AA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$293" @1374
					Parent_View 	@1373
					location   	(-1170, -815)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B62B0138"
					client     	@1373
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "effectiveFractionDigitsFacet" @1375
					Parent_View 	@1373
					location   	(-1170, -815)
					label      	(object SegLabel @1376
					    Parent_View 	@1375
					    location   	(1640, 2634)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+effectiveFractionDigitsFacet"
					    pctDist    	0.585315
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B62B0142"
					client     	@1373
					supplier   	@1272
					vertices   	(list Points
					    (1262, 2449)
					    (1262, 2668)
					    (2065, 2668))
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(2065, 2668)
					label      	(object SegLabel @1377
					    Parent_View 	@1375
					    location   	(1989, 2629)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.926485
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$294" @1378
				location   	(1422, 2159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B6B003A6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$295" @1379
					Parent_View 	@1378
					location   	(-770, -1313)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B6B10311"
					client     	@1378
					supplier   	@1282
					vertices   	(list Points
					    (1422, 2159)
					    (1362, 2159)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "effectivePatternFacet" @1380
					Parent_View 	@1378
					location   	(-770, -1313)
					label      	(object SegLabel @1381
					    Parent_View 	@1380
					    location   	(1727, 2125)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	408
					    justify    	0
					    label      	"+effectivePatternFacet"
					    pctDist    	0.399090
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B6B10312"
					client     	@1378
					supplier   	@1273
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(2187, 2159)
					label      	(object SegLabel @1382
					    Parent_View 	@1380
					    location   	(2102, 2119)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.889226
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$296" @1383
				location   	(1084, 2083)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B7CA026B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$297" @1384
					Parent_View 	@1383
					location   	(828, -1373)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B7CB0186"
					client     	@1383
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "effectiveEnumerationFacet" @1385
					Parent_View 	@1383
					location   	(828, -1373)
					label      	(object SegLabel @1386
					    Parent_View 	@1385
					    location   	(822, 2101)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	504
					    justify    	0
					    label      	"+effectiveEnumerationFacet"
					    pctDist    	0.488619
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B7CB0190"
					client     	@1383
					supplier   	@1274
					vertices   	(list Points
					    (1084, 2083)
					    (1084, 2143)
					    (485, 2143))
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(485, 2143)
					label      	(object SegLabel @1387
					    Parent_View 	@1385
					    location   	(531, 2100)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.931715
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$302" @1388
				location   	(1122, 2241)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8DC0052"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$303" @1389
					Parent_View 	@1388
					location   	(866, -479)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8DC03B9"
					client     	@1388
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "effectiveLengthFacet" @1390
					Parent_View 	@1388
					location   	(866, -479)
					label      	(object SegLabel @1391
					    Parent_View 	@1390
					    location   	(800, 2279)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+effectiveLengthFacet"
					    pctDist    	0.491731
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8DC03C3"
					client     	@1388
					supplier   	@1275
					vertices   	(list Points
					    (1122, 2241)
					    (1122, 2318)
					    (387, 2318))
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(387, 2318)
					label      	(object SegLabel @1392
					    Parent_View 	@1390
					    location   	(470, 2279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898567
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$250" @1393
				location   	(773, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B085025B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$251" @1394
					Parent_View 	@1393
					location   	(469, 13)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0860270"
					client     	@1393
					supplier   	@1282
					vertices   	(list Points
					    (773, 1565)
					    (959, 1565)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(959, 1428))
				    (object RoleView "minFacet" @1395
					Parent_View 	@1393
					location   	(469, 13)
					label      	(object SegLabel @1396
					    Parent_View 	@1395
					    location   	(753, 1532)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+minFacet"
					    pctDist    	0.063091
					    height     	34
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B086027A"
					client     	@1393
					supplier   	@1276
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(451, 1565)
					label      	(object SegLabel @1397
					    Parent_View 	@1395
					    location   	(534, 1523)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.746667
					    height     	43
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$304" @1398
				location   	(816, 1650)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B97001DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$305" @1399
					Parent_View 	@1398
					location   	(496, -334)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B97100CF"
					client     	@1398
					supplier   	@1282
					vertices   	(list Points
					    (816, 1650)
					    (959, 1650)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(959, 1428))
				    (object RoleView "effectiveMinFacet" @1400
					Parent_View 	@1398
					location   	(496, -334)
					label      	(object SegLabel @1401
					    Parent_View 	@1400
					    location   	(764, 1614)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+effectiveMinFacet"
					    pctDist    	0.141618
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B97100D9"
					client     	@1398
					supplier   	@1276
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(451, 1650)
					label      	(object SegLabel @1402
					    Parent_View 	@1400
					    location   	(523, 1606)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.802740
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$274" @1403
				location   	(1297, 2321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CF0199"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$275" @1404
					Parent_View 	@1403
					location   	(-719, 497)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D20085"
					client     	@1403
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "maxLengthFacet" @1405
					Parent_View 	@1403
					location   	(-719, 497)
					label      	(object SegLabel @1406
					    Parent_View 	@1405
					    location   	(1630, 2380)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+maxLengthFacet"
					    pctDist    	0.472255
					    height     	30
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D2008F"
					client     	@1403
					supplier   	@1277
					vertices   	(list Points
					    (1297, 2321)
					    (1297, 2409)
					    (2102, 2409))
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(2102, 2409)
					label      	(object SegLabel @1407
					    Parent_View 	@1405
					    location   	(1994, 2366)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.879208
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$276" @1408
				location   	(1159, 2273)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D500C5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$277" @1409
					Parent_View 	@1408
					location   	(-281, 449)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D6001D"
					client     	@1408
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(1159, 1428))
				    (object RoleView "minLengthFacet" @1410
					Parent_View 	@1408
					location   	(-281, 449)
					label      	(object SegLabel @1411
					    Parent_View 	@1410
					    location   	(857, 2372)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+minLengthFacet"
					    pctDist    	0.519527
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D60027"
					client     	@1408
					supplier   	@1278
					vertices   	(list Points
					    (1159, 2273)
					    (1159, 2409)
					    (450, 2409))
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(450, 2409)
					label      	(object SegLabel @1412
					    Parent_View 	@1410
					    location   	(523, 2369)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.913610
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$300" @1413
				location   	(1197, 2334)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B898016D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$301" @1414
					Parent_View 	@1413
					location   	(941, -610)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8990056"
					client     	@1413
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(1197, 1428))
				    (object RoleView "effectiveMinLengthFacet" @1415
					Parent_View 	@1413
					location   	(941, -610)
					label      	(object SegLabel @1416
					    Parent_View 	@1415
					    location   	(856, 2454)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+effectiveMinLengthFacet"
					    pctDist    	0.552604
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8990060"
					client     	@1413
					supplier   	@1278
					vertices   	(list Points
					    (1197, 2334)
					    (1197, 2493)
					    (450, 2493))
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(450, 2493)
					label      	(object SegLabel @1417
					    Parent_View 	@1415
					    location   	(527, 2451)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.916047
					    height     	43
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$298" @1418
				location   	(1231, 2438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8400062"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$299" @1419
					Parent_View 	@1418
					location   	(863, -746)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B841001D"
					client     	@1418
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "effectiveTotalDigitsFacet" @1420
					Parent_View 	@1418
					location   	(863, -746)
					label      	(object SegLabel @1421
					    Parent_View 	@1420
					    location   	(859, 2632)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+effectiveTotalDigitsFacet"
					    pctDist    	0.597030
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8410027"
					client     	@1418
					supplier   	@1279
					vertices   	(list Points
					    (1231, 2438)
					    (1231, 2668)
					    (451, 2668))
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(451, 2668)
					label      	(object SegLabel @1422
					    Parent_View 	@1420
					    location   	(534, 2631)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.918812
					    height     	38
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$278" @1423
				location   	(1231, 2397)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D800DE"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$279" @1424
					Parent_View 	@1423
					location   	(-209, 253)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D803CD"
					client     	@1423
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "totalDigitsFacet" @1425
					Parent_View 	@1423
					location   	(-209, 253)
					label      	(object SegLabel @1426
					    Parent_View 	@1425
					    location   	(853, 2550)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+totalDigitsFacet"
					    pctDist    	0.585567
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D803D7"
					client     	@1423
					supplier   	@1279
					vertices   	(list Points
					    (1231, 2397)
					    (1231, 2587)
					    (451, 2587))
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(451, 2587)
					label      	(object SegLabel @1427
					    Parent_View 	@1425
					    location   	(535, 2560)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.914647
					    height     	28
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1428
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 768)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1428
				    location   	(1019, 574)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	444
				height     	413
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1429
				location   	(1209, 1065)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1428
				vertices   	(list Points
				    (1209, 1065)
				    (1209, 974)))
			    (object AssociationViewNew "$UNNAMED$234" @1430
				location   	(1090, 1031)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2880F503D9"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1431
					Parent_View 	@1430
					location   	(322, -25)
					label      	(object SegLabel @1432
					    Parent_View 	@1431
					    location   	(897, 1036)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+rootTypeDefinition"
					    pctDist    	-0.098765
					    height     	194
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2880F9003C"
					client     	@1430
					supplier   	@1428
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 974)
					label      	(object SegLabel @1433
					    Parent_View 	@1431
					    location   	(1121, 1034)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.061728
					    height     	31
					    orientation 	1))
				    (object RoleView "$UNNAMED$235" @1434
					Parent_View 	@1430
					location   	(322, -25)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2880F90046"
					client     	@1430
					supplier   	@1280
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 1088))))
			    (object AssociationViewNew "$UNNAMED$240" @1435
				location   	(1538, 873)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A6DB01E5"
				roleview_list 	(list RoleViews
				    (object RoleView "rootType" @1436
					Parent_View 	@1435
					location   	(178, 105)
					label      	(object SegLabel @1437
					    Parent_View 	@1436
					    location   	(1558, 792)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+rootType"
					    pctDist    	-1.760870
					    height     	20
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A6DD03DD"
					client     	@1435
					supplier   	@1428
					vertices   	(list Points
					    (1538, 873)
					    (1538, 919)
					    (1454, 919))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 919)
					label      	(object SegLabel @1438
					    Parent_View 	@1436
					    location   	(1509, 875)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.016667
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$241" @1439
					Parent_View 	@1435
					location   	(178, 105)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A6DD03DE"
					client     	@1435
					supplier   	@1428
					vertices   	(list Points
					    (1538, 873)
					    (1538, 828)
					    (1454, 828))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 828))))
			    (object AssociationViewNew "$UNNAMED$242" @1440
				location   	(1535, 684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7120108"
				roleview_list 	(list RoleViews
				    (object RoleView "baseType" @1441
					Parent_View 	@1440
					location   	(175, -84)
					label      	(object SegLabel @1442
					    Parent_View 	@1441
					    location   	(1559, 597)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+baseType"
					    pctDist    	-1.977273
					    height     	24
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7140151"
					client     	@1440
					supplier   	@1428
					vertices   	(list Points
					    (1535, 684)
					    (1535, 728)
					    (1454, 728))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 728)
					label      	(object SegLabel @1443
					    Parent_View 	@1441
					    location   	(1506, 683)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.027778
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$243" @1444
					Parent_View 	@1440
					location   	(175, -84)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A714015B"
					client     	@1440
					supplier   	@1428
					vertices   	(list Points
					    (1535, 684)
					    (1535, 641)
					    (1454, 641))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 641))))
			    (object AssociationViewNew "$UNNAMED$246" @1445
				location   	(613, 940)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7ED03C0"
				roleview_list 	(list RoleViews
				    (object RoleView "complexType" @1446
					Parent_View 	@1445
					location   	(-747, 172)
					label      	(object SegLabel @1447
					    Parent_View 	@1446
					    location   	(465, 983)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+complexType"
					    pctDist    	0.373057
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7F40117"
					client     	@1445
					supplier   	@1281
					vertices   	(list Points
					    (613, 940)
					    (284, 940)
					    (284, 1008))
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(284, 1008)
					label      	(object SegLabel @1448
					    Parent_View 	@1446
					    location   	(224, 972)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.909320
					    height     	61
					    orientation 	1))
				    (object RoleView "$UNNAMED$247" @1449
					Parent_View 	@1445
					location   	(-747, 172)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7F40121"
					client     	@1445
					supplier   	@1428
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(1010, 940))))
			    (object InheritView "" @1450
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@1428
				supplier   	@1258
				line_style 	3
				origin_attachment 	(1112, 562)
				terminal_attachment 	(1112, 510)
				drawSupplier 	@1259)
			    (object InheritView "" @1451
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1280
				supplier   	@1428
				line_style 	3
				origin_attachment 	(1146, 1088)
				terminal_attachment 	(1146, 1065)
				drawSupplier 	@1429)
			    (object AssociationViewNew "$UNNAMED$244" @1452
				location   	(1362, 1133)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A74B0178"
				roleview_list 	(list RoleViews
				    (object RoleView "simpleType" @1453
					Parent_View 	@1452
					location   	(-158, -163)
					label      	(object SegLabel @1454
					    Parent_View 	@1453
					    location   	(1499, 1094)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+simpleType"
					    pctDist    	-0.246753
					    height     	137
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A74D017B"
					client     	@1452
					supplier   	@1282
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 1292)
					label      	(object SegLabel @1455
					    Parent_View 	@1453
					    location   	(1321, 1097)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	-0.227273
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$245" @1456
					Parent_View 	@1452
					location   	(-158, -163)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A74D0185"
					client     	@1452
					supplier   	@1428
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 974))))
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @1457
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1457
				    location   	(2002, 303)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@1457
				    location   	(2002, 363)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	508
				    compartmentItems 	(list Compartment
					"+ global : boolean"
					"+ featureReference : boolean"))
				width      	558
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1458
				location   	(2262, 568)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1457
				vertices   	(list Points
				    (2262, 568)
				    (2262, 477)))
			    (object InheritView "" @1459
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@1254
				supplier   	@1457
				line_style 	3
				origin_attachment 	(2346, 595)
				terminal_attachment 	(2346, 568)
				drawSupplier 	@1458)
			    (object AssociationViewNew "$UNNAMED$238" @1460
				location   	(1553, 453)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A0F201A4"
				roleview_list 	(list RoleViews
				    (object RoleView "type" @1461
					Parent_View 	@1460
					location   	(801, 293)
					label      	(object SegLabel @1462
					    Parent_View 	@1461
					    location   	(1331, 499)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	"+type"
					    pctDist    	0.506266
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A0F302E5"
					client     	@1460
					supplier   	@1428
					vertices   	(list Points
					    (1553, 453)
					    (1222, 453)
					    (1222, 562))
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1222, 562)
					label      	(object SegLabel @1463
					    Parent_View 	@1461
					    location   	(1185, 479)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.812030
					    height     	38
					    orientation 	1))
				    (object RoleView "$UNNAMED$239" @1464
					Parent_View 	@1460
					location   	(801, 293)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A0F302F0"
					client     	@1460
					supplier   	@1457
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1993, 453))))
			    (object AssociationViewNew "$UNNAMED$130" @1465
				location   	(1908, 353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C29010602D7"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedFeature" @1466
					Parent_View 	@1465
					location   	(-268, -159)
					label      	(object SegLabel @1467
					    Parent_View 	@1466
					    location   	(1729, 352)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+resolvedFeature"
					    pctDist    	-0.029412
					    height     	180
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C29010B000E"
					client     	@1465
					supplier   	@1457
					vertices   	(list Points
					    (1908, 353)
					    (1908, 387)
					    (1993, 387))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 387)
					label      	(object SegLabel @1468
					    Parent_View 	@1466
					    location   	(1945, 354)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.596639
					    height     	34
					    orientation 	0))
				    (object RoleView "$UNNAMED$131" @1469
					Parent_View 	@1465
					location   	(-268, -159)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C29010B0018"
					client     	@1465
					supplier   	@1457
					vertices   	(list Points
					    (1908, 353)
					    (1908, 319)
					    (1993, 319))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 319))))
			    (object InheritView "" @1470
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@1258
				supplier   	@1257
				vertices   	(list Points
				    (494, 284)
				    (494, 244)
				    (996, 244))
				line_style 	3
				origin_attachment 	(494, 284)
				terminal_attachment 	(996, 244))
			    (object InheritView "" @1471
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@1245
				supplier   	@1457
				line_style 	3
				origin_attachment 	(1718, 812)
				terminal_attachment 	(1718, 568)
				drawSupplier 	@1458)
			    (object InheritView "" @1472
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1282
				supplier   	@1428
				line_style 	3
				origin_attachment 	(1265, 1292)
				terminal_attachment 	(1265, 1065)
				drawSupplier 	@1429)
			    (object InheritView "" @1473
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@1457
				supplier   	@1257
				vertices   	(list Points
				    (2147, 291)
				    (2147, 244)
				    (1468, 244))
				line_style 	3
				origin_attachment 	(2147, 291)
				terminal_attachment 	(1468, 244)))))))
	logical_presentations 	(list unit_reference_list
	    (object ClassDiagram "Main"
		quid       	"39E27F080076"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list
		    (object CategoryView "Logical View::wsdl" @1474
			location   	(272, 256)
			label      	(object ItemLabel
			    Parent_View 	@1474
			    location   	(128, 172)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"wsdl")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"3ADFB8E5021E"
			width      	300
			height     	180)
		    (object CategoryView "Logical View::soap" @1475
			location   	(704, 256)
			label      	(object ItemLabel
			    Parent_View 	@1475
			    location   	(560, 172)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"soap")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"3A01CF0C01A2"
			width      	300
			height     	180)
		    (object CategoryView "Logical View::xsd" @1476
			location   	(1152, 256)
			label      	(object ItemLabel
			    Parent_View 	@1476
			    location   	(1008, 172)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"xsd")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"39ABDC6F01AA"
			width      	300
			height     	180)))))
    root_subsystem 	(object SubSystem "Component View"
	quid       	"39E27F080065"
	physical_models 	(list unit_reference_list)
	physical_presentations 	(list unit_reference_list
	    (object Module_Diagram "Main"
		quid       	"39E27F080077"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    process_structure 	(object Processes
	quid       	"39E27F080066"
	ProcsNDevs 	(list
	    (object Process_Diagram "Deployment View"
		quid       	"39E27F080068"
		title      	"Deployment View"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    properties 	(object Properties
	attributes 	(list Attribute_Set
	    (object Attribute
		tool       	"DDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"DDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"DDL"
			name       	"DataBase"
			value      	("DataBaseSet" 800))
		    (object Attribute
			tool       	"DDL"
			name       	"DataBaseSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"DDL"
				name       	"ANSI"
				value      	800)
			    (object Attribute
				tool       	"DDL"
				name       	"Oracle"
				value      	801)
			    (object Attribute
				tool       	"DDL"
				name       	"SQLServer"
				value      	802)
			    (object Attribute
				tool       	"DDL"
				name       	"Sybase"
				value      	803)
			    (object Attribute
				tool       	"DDL"
				name       	"Watcom"
				value      	804)))
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnName"
			value      	"Id")
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5)")
		    (object Attribute
			tool       	"DDL"
			name       	"ViewName"
			value      	"V_")
		    (object Attribute
			tool       	"DDL"
			name       	"TableName"
			value      	"T_")
		    (object Attribute
			tool       	"DDL"
			name       	"InheritSuffix"
			value      	"_V")
		    (object Attribute
			tool       	"DDL"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"BaseViews"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")))
	    (object Attribute
		tool       	"DDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"ColumnType"
			value      	"VARCHAR")
		    (object Attribute
			tool       	"DDL"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"DDL"
			name       	"NullsOK"
			value      	TRUE)
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"Unique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"DDL"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"framework"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"IDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"IDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"StopOnError"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"DefaultSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"IDLElement"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecificationType"
			value      	("IDLSpecSet" 22))
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Interface"
				value      	22)
			    (object Attribute
				tool       	"IDL"
				name       	"Typedef"
				value      	54)
			    (object Attribute
				tool       	"IDL"
				name       	"Enumeration"
				value      	8)
			    (object Attribute
				tool       	"IDL"
				name       	"Const"
				value      	71)
			    (object Attribute
				tool       	"IDL"
				name       	"Exception"
				value      	61)
			    (object Attribute
				tool       	"IDL"
				name       	"Struct"
				value      	51)
			    (object Attribute
				tool       	"IDL"
				name       	"Union"
				value      	81)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.soap/src/rose/soapbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateIDLModule"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.soap/src/rose/soapbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"IDL"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Java"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"Java"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"Java"
			name       	"UsePrefixes"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"InstanceVariablePrefix"
			value      	"m_")
		    (object Attribute
			tool       	"Java"
			name       	"ClassVariablePrefix"
			value      	"s_")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultAttributeDataType"
			value      	"int")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultOperationReturnType"
			value      	"void")
		    (object Attribute
			tool       	"Java"
			name       	"RootDir"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"AutoSync"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ShowCodegenDlg"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocDefaultAuthor"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"JavadocDefaultVersion"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"JavadocDefaultSince"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"JavadocNumAsterisks"
			value      	0)
		    (object Attribute
			tool       	"Java"
			name       	"MaxNumChars"
			value      	80)
		    (object Attribute
			tool       	"Java"
			name       	"Editor"
			value      	("EditorType" 100))
		    (object Attribute
			tool       	"Java"
			name       	"VM"
			value      	("VMType" 200))
		    (object Attribute
			tool       	"Java"
			name       	"ClassPath"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EditorType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"BuiltIn"
				value      	100)
			    (object Attribute
				tool       	"Java"
				name       	"WindowsShell"
				value      	101)))
		    (object Attribute
			tool       	"Java"
			name       	"VMType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Sun"
				value      	200)
			    (object Attribute
				tool       	"Java"
				name       	"Microsoft"
				value      	201)
			    (object Attribute
				tool       	"Java"
				name       	"IBM"
				value      	202)))
		    (object Attribute
			tool       	"Java"
			name       	"NoClassCustomDlg"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GlobalImports"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"OpenBraceClassStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"OpenBraceMethodStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"UseTabs"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"UseSpaces"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"SpacingItems"
			value      	3)
		    (object Attribute
			tool       	"Java"
			name       	"RoseDefaultCommentStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"AsteriskCommentStyle"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavaCommentStyle"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocAuthor"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocSince"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocVersion"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultConstructor"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ConstructorIs"
			value      	("Ctor_Set" 62))
		    (object Attribute
			tool       	"Java"
			name       	"Ctor_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Public"
				value      	62)
			    (object Attribute
				tool       	"Java"
				name       	"Protected"
				value      	63)
			    (object Attribute
				tool       	"Java"
				name       	"Private"
				value      	64)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Static"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateCode"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"DisableAutoSync"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletName"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletContextRef"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"IsSingleThread"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletInitParameter"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletInitParameterNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletIsSecure"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestDispatcher"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestDispatcherPath"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"DispatcherInclude"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"DispatcherForward"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletSecurityRoles"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletgetInfo"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestAttribute"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestAttributesNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForRequestAttributes"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestParameter"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestParameterNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForRequestParameters"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletHeader"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletHeaderNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForHeaders"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletIntHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletDateHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletCookie"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForCookie"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletContentType"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"GenerateHTML"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Generate_XML_DD"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"EJBCmpField"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBEnvironmentProperties"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBCnxFactory"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBReferences"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBSecurityRoles"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBNameInJAR"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBSessionType"
			value      	("EJBSessionType_Set" 200))
		    (object Attribute
			tool       	"Java"
			name       	"EJBSessionType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	""
				value      	200)
			    (object Attribute
				tool       	"Java"
				name       	"Stateless"
				value      	201)
			    (object Attribute
				tool       	"Java"
				name       	"Stateful"
				value      	202)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBTransactionType"
			value      	("EJBTransactionType_Set" 211))
		    (object Attribute
			tool       	"Java"
			name       	"EJBTransactionType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Container"
				value      	211)
			    (object Attribute
				tool       	"Java"
				name       	"Bean"
				value      	212)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBPersistenceType"
			value      	("EJBPersistenceType_Set" 220))
		    (object Attribute
			tool       	"Java"
			name       	"EJBPersistenceType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	""
				value      	220)
			    (object Attribute
				tool       	"Java"
				name       	"Bean"
				value      	221)
			    (object Attribute
				tool       	"Java"
				name       	"Container"
				value      	222)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBReentrant"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"BMP_Extend_CMP"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Abstract"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Static"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Native"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Synchronized"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"PropertyType"
			value      	("BeanProperty_Set" 71))
		    (object Attribute
			tool       	"Java"
			name       	"BeanProperty_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Not A Property"
				value      	71)
			    (object Attribute
				tool       	"Java"
				name       	"Simple"
				value      	72)
			    (object Attribute
				tool       	"Java"
				name       	"Bound"
				value      	73)
			    (object Attribute
				tool       	"Java"
				name       	"Constrained"
				value      	74)))
		    (object Attribute
			tool       	"Java"
			name       	"IndividualChangeMgt"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write"
			value      	("Read/Write_Set" 81))
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Read & Write"
				value      	81)
			    (object Attribute
				tool       	"Java"
				name       	"Read Only"
				value      	82)
			    (object Attribute
				tool       	"Java"
				name       	"Write Only"
				value      	83)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFullyQualifiedTypes"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"InitialValue"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"PropertyType"
			value      	("BeanProperty_Set" 71))
		    (object Attribute
			tool       	"Java"
			name       	"BeanProperty_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Not A Property"
				value      	71)
			    (object Attribute
				tool       	"Java"
				name       	"Simple"
				value      	72)
			    (object Attribute
				tool       	"Java"
				name       	"Bound"
				value      	73)
			    (object Attribute
				tool       	"Java"
				name       	"Constrained"
				value      	74)))
		    (object Attribute
			tool       	"Java"
			name       	"IndividualChangeMgt"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write"
			value      	("Read/Write_Set" 81))
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Read & Write"
				value      	81)
			    (object Attribute
				tool       	"Java"
				name       	"Read Only"
				value      	82)
			    (object Attribute
				tool       	"Java"
				name       	"Write Only"
				value      	83)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFullyQualifiedTypes"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"IsNavigable"
			value      	TRUE)))
	    (object Attribute
		tool       	"Java"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Oracle8"
		name       	"propertyId"
		value      	"360000002")
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")
		    (object Attribute
			tool       	"Oracle8"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnName"
			value      	"_ID")
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5,0)")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNameSuffix"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSchema"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"WhereClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeLength"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypePrecision"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeScale"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionOfREFS"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKind"
			value      	("MethodKindSet" 1903))
		    (object Attribute
			tool       	"Oracle8"
			name       	"OverloadID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSelfish"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerType"
			value      	("TriggerTypeSet" 1801))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEvent"
			value      	("TriggerEventSet" 1601))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerText"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerReferencingNames"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEach"
			value      	("TriggerForEachSet" 1701))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerWhenClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"MapMethod"
				value      	1901)
			    (object Attribute
				tool       	"Oracle8"
				name       	"OrderMethod"
				value      	1902)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Function"
				value      	1903)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Procedure"
				value      	1904)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Operator"
				value      	1905)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Constructor"
				value      	1906)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Destructor"
				value      	1907)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Trigger"
				value      	1908)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Calculated"
				value      	1909)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"AFTER"
				value      	1801)
			    (object Attribute
				tool       	"Oracle8"
				name       	"BEFORE"
				value      	1802)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSTEAD OF"
				value      	1803)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEachSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"ROW"
				value      	1701)
			    (object Attribute
				tool       	"Oracle8"
				name       	"STATEMENT"
				value      	1702)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEventSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT"
				value      	1601)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE"
				value      	1602)
			    (object Attribute
				tool       	"Oracle8"
				name       	"DELETE"
				value      	1603)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE"
				value      	1604)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR DELETE"
				value      	1605)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE OR DELETE"
				value      	1606)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE OR DELETE"
				value      	1607)))))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"NullsAllowed"
			value      	TRUE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Precision"
			value      	"2")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Scale"
			value      	"6")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsIndex"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsPrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Repository"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"cg"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"cg"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"UseMSVC"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileExtension"
			value      	"h")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileBackupExtension"
			value      	"h~")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileTemporaryExtension"
			value      	"h#")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileExtension"
			value      	"cpp")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileBackupExtension"
			value      	"cp~")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileTemporaryExtension"
			value      	"cp#")
		    (object Attribute
			tool       	"cg"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ErrorLimit"
			value      	30)
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"$ROSECPP_SOURCE")
		    (object Attribute
			tool       	"cg"
			name       	"PathSeparator"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"FileNameFormat"
			value      	"128vx_b")
		    (object Attribute
			tool       	"cg"
			name       	"BooleanType"
			value      	"int")
		    (object Attribute
			tool       	"cg"
			name       	"AllowTemplates"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowExplicitInstantiations"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowProtectedInheritance"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CommentWidth"
			value      	60)
		    (object Attribute
			tool       	"cg"
			name       	"OneByValueContainer"
			value      	"$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"OneByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByValueContainer"
			value      	"OptionalByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByValueContainer"
			value      	"BoundedListByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByValueContainer"
			value      	"BoundedSetByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByReferenceContainer"
			value      	"BoundedListByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByReferenceContainer"
			value      	"BoundedSetByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByValueContainer"
			value      	"UnboundedListByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByValueContainer"
			value      	"UnboundedSetByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByReferenceContainer"
			value      	"UnboundedListByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByReferenceContainer"
			value      	"UnboundedSetByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByValueContainer"
			value      	"AssociationByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByValueContainer"
			value      	"DictionaryByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByReferenceContainer"
			value      	"AssociationByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByReferenceContainer"
			value      	"DictionaryByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ClassKey"
			value      	"class")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"PutBodiesInSpec"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"DefaultConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateCopyConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"CopyConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDestructor"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DestructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DestructorKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDestructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssignmentOperation"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssignmentOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEqualityOperations"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineEqualityOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"RelationalVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"RelationalKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StorageMgmtVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StreamVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ThreeKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)))
		    (object Attribute
			tool       	"cg"
			name       	"KindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)))
		    (object Attribute
			tool       	"cg"
			name       	"FriendKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"DeclareAndDefine"
				value      	199)
			    (object Attribute
				tool       	"cg"
				name       	"DeclareOnly"
				value      	205)
			    (object Attribute
				tool       	"cg"
				name       	"DoNotDeclare"
				value      	206)))
		    (object Attribute
			tool       	"cg"
			name       	"VisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)))
		    (object Attribute
			tool       	"cg"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DefaultSpecifier"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.soap/src/rose/soapbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.soap/src/rose/soapbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationKind"
			value      	("OperationKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"OperationKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsExplicit"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Inline"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ExitCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"BodyAnnotations"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Ordered"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Association"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"InstanceArguments"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerGet"
			value      	"$data.get($keys)")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerSet"
			value      	"$data.set($keys,$value)")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedContainer"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassContainer"
			value      	"$supplier *")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassInitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReference"
			value      	("QualifiedGetSetByReferenceSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReferenceSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_GetSetByReference"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassForwardReferenceOnly"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtAttributeVisibility"
				value      	211)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BodyReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"DirectoryIsOnSearchList"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"PrecompiledHeader"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"IsNamespace"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Indent"
			value      	2)
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))))
	    (object Attribute
		tool       	"MSVC"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Version"
			value      	"5.0")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCClassTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCClassTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Interface_Part"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Connection_Part"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Class_Factory"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionality"
			value      	("CObjectFunctionalitySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionalitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dynamic"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dyncreate"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Serial"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOverrideGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDataGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DATA_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateFieldGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_FIELD_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactory"
			value      	("OLEFactorySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactorySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Built_in"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Simple"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Licensed"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEName"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEClassID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLECtlType"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECtlType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLETypeLib"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMajor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMinor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropPageIDs"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEPropPageIDs"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispatchMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockProperties"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockFunctions"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DispatchDefValue"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispIdEnum"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISP_ID_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInterfaceMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"INTERFACE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"InitInterface"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockEvents"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventSinkMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"PropNotifySinks"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ConnectionPointIID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"InheritanceType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECommands"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCDeclares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCImplements"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ATL_Declares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateCOMMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"COM_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionPointMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_POINT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMsgMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropertyMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"PROPERTY_MAP_Entries"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCOperationTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCOperationTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Virtual_Override"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Message_Handler"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dispatch_Handler"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Firing_Function"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Sink_Handler"
				value      	5)
			    (object Attribute
				tool       	"MSVC"
				name       	"Std_OLE_Method"
				value      	6)
			    (object Attribute
				tool       	"MSVC"
				name       	"Command_Parser"
				value      	7)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Get_Function"
				value      	8)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Set_Function"
				value      	9)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Notify_Function"
				value      	10)
			    (object Attribute
				tool       	"MSVC"
				name       	"Macro_Generated_Function"
				value      	11)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"BodyImage"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"SCC"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"TypeLibImporter"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Visual Basic"
		name       	"propertyId"
		value      	"783606378")
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CreatableSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Private"
				value      	221)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"PublicNotCreatable"
				value      	213)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"SingleUse"
				value      	214)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalSingleUse"
				value      	215)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"MultiUse"
				value      	219)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalMultiUse"
				value      	220)))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionBase"
			value      	"0")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionExplicit"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionCompare"
			value      	("CompareSet" 202))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Creatable"
			value      	("CreatableSet" 221))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateInitialization"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateTermination"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CollectionClass"
			value      	"Collection")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CompareSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"None"
				value      	202)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Binary"
				value      	203)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Text"
				value      	204)))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OperationName"
			value      	"$operation")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"LibraryName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"AliasName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsStatic"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ExitCode"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ImplementsDelegation"
			value      	TRUE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ProjectFile"
			value      	"")))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"VisualStudio"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"CORBA"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"CORBA"
			name       	"Editor"
			value      	("EditorType" 100))
		    (object Attribute
			tool       	"CORBA"
			name       	"IncludePath"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"StopOnError"
			value      	TRUE)
		    (object Attribute
			tool       	"CORBA"
			name       	"EditorType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"CORBA"
				name       	"BuiltIn"
				value      	100)
			    (object Attribute
				tool       	"CORBA"
				name       	"WindowsShell"
				value      	101)))))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"ArrayDimensions"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"ImplementationType"
			value      	"")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"CmIdentification"
			value      	(value Text "  %X% %Q% %Z% %W%"))
		    (object Attribute
			tool       	"CORBA"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"CmIdentification"
			value      	(value Text "  %X% %Q% %Z% %W%"))
		    (object Attribute
			tool       	"CORBA"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"OperationIsOneWay"
			value      	FALSE)))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"ArrayDimensions"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"CORBA"
			name       	"Order"
			value      	"")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"ArrayDimensions"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"CORBA"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"CORBA"
			name       	"Order"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"CORBA"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"CORBA"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"CORBA"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"CORBA"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Java"
		name       	"Default_Servlet__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"ServletName"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletContextRef"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"IsSingleThread"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletInitParameter"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletInitParameterNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletIsSecure"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestDispatcher"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestDispatcherPath"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"DispatcherInclude"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"DispatcherForward"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletSecurityRoles"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletgetInfo"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultConstructor"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ConstructorIs"
			value      	("Ctor_Set" 62))
		    (object Attribute
			tool       	"Java"
			name       	"Ctor_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Public"
				value      	62)
			    (object Attribute
				tool       	"Java"
				name       	"Protected"
				value      	63)
			    (object Attribute
				tool       	"Java"
				name       	"Private"
				value      	64)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"Http_Servlet__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestAttribute"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestAttributesNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForRequestAttributes"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestParameter"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestParameterNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForRequestParameters"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletHeader"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletHeaderNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForHeaders"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletIntHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletDateHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletCookie"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForCookie"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletContentType"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"GenerateHTML"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultConstructor"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ConstructorIs"
			value      	("Ctor_Set" 62))
		    (object Attribute
			tool       	"Java"
			name       	"Ctor_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Public"
				value      	62)
			    (object Attribute
				tool       	"Java"
				name       	"Protected"
				value      	63)
			    (object Attribute
				tool       	"Java"
				name       	"Private"
				value      	64)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"Default_EJB__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate_XML_DD"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"EJBCmpField"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBEnvironmentProperties"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBCnxFactory"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBReferences"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBSecurityRoles"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBNameInJAR"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBSessionType"
			value      	("EJBSessionType_Set" 200))
		    (object Attribute
			tool       	"Java"
			name       	"EJBSessionType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	""
				value      	200)
			    (object Attribute
				tool       	"Java"
				name       	"Stateless"
				value      	201)
			    (object Attribute
				tool       	"Java"
				name       	"Stateful"
				value      	202)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBTransactionType"
			value      	("EJBTransactionType_Set" 211))
		    (object Attribute
			tool       	"Java"
			name       	"EJBTransactionType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Container"
				value      	211)
			    (object Attribute
				tool       	"Java"
				name       	"Bean"
				value      	212)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBPersistenceType"
			value      	("EJBPersistenceType_Set" 220))
		    (object Attribute
			tool       	"Java"
			name       	"EJBPersistenceType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	""
				value      	220)
			    (object Attribute
				tool       	"Java"
				name       	"Bean"
				value      	221)
			    (object Attribute
				tool       	"Java"
				name       	"Container"
				value      	222)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBReentrant"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"BMP_Extend_CMP"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultConstructor"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ConstructorIs"
			value      	("Ctor_Set" 62))
		    (object Attribute
			tool       	"Java"
			name       	"Ctor_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Public"
				value      	62)
			    (object Attribute
				tool       	"Java"
				name       	"Protected"
				value      	63)
			    (object Attribute
				tool       	"Java"
				name       	"Private"
				value      	64)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)))
	    (object Attribute
		tool       	"R2Editor"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Rose Model Integrator"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Rose Web Publisher"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Version Control"
		name       	"HiddenTool"
		value      	FALSE))
	quid       	"39E27F080067"))
